Xilinx器件CIC滤波器设计实现

合集下载

基于FPGA的CIC滤波器的设计与实现

基于FPGA的CIC滤波器的设计与实现

设输 入序列 为 ( m) , 输 出序 列为 Y ( m) , 若输 入
采样 率为_ 厂 =1 / T , 输 出采 样率为_ 厂 = , / 。内插后 的序
列为
以单级 C I C抽 取 滤 波器 为例 , 积分 部 分 的积 分
程 为
I R滤波器 , 并且反 馈系数为 1 , 状态 方 y ( m ) : f ( 予 ) , , = 0 , ± , , ± 2 , , … ( ) 器是单 级点 的 I
符合设计 的要 求 。故 在 系统 中根据 需要 而设 计信 号 的速率非常重 要 , 而通 过 内插 和抽取 就可 以改变数 字 信号 的速率 , 故研 究 内插 和抽 取 对 于 软 件 无 线 电 的
设计 非常 有 必 要 。运 用 内插 和抽 取 的 就是 多 速 率 滤波 器 … , 这 种 常 用 的多 速 率 滤 波 器 有 C I C 滤 波 器、 H B滤 波 器 、 F I R滤 波器 。本 文设 计 的是 C I C滤

( G u i l i n U n i v e r s i t y o f E l e c t r o n i c T e c h n o l o g y , G u i l i n G u a n g x i 5 4 1 0 0 4, C h i n a )
【 A b s t r a c t 】 T h e d e s i g n a n d i m p l e m e n t ar a t o r c o m b( C I C ) i f l t e r a r e d e s c r i b e d . T h e v e i f l o g l a n g u a g e
2 内插 理论

改进型CIC抽取滤波器设计与FPGA实现

改进型CIC抽取滤波器设计与FPGA实现

改进型CIC抽取滤波器设计与FPGA实现摘要:为了改善级联积分梳状(CIC)滤波器通带不平和阻带衰减不足的缺点,给出一种改进型CIC 滤波器。

该滤波器在采用COSINE 滤波器提高阻带特性的基础上,级联了一个SINE 滤波器,补偿了其通带衰减。

硬件实现时,采用新的多相分解方法结合非递归结构,不仅大大减少了存储单元数量,还使电路结构更加规则。

经仿真和FPGA 验证,改进型CIC 滤波器使用较少硬件,实现了阻带衰减100.3 dB,通带衰减仅为O.000 1 dB 。

关键词:CIC 抽取滤波器;COSINE 滤波器;SINE 滤波器;设计优化;FPGA抽取滤波器是∑-△模/数转换器中的重要组成部分,积分梳状滤波器经常作为第一级滤波器,用以实现抽取和低通滤波。

其优点是实现时不需要乘法器电路,且系数为整数,不需要电路来存储系数,同时通过置换抽取可以使部分电路工作在较低频率,与相同滤波性能的其他FIR 滤波器相比,节约了硬件开销。

经过仿真,抽取率为32 的一阶积分梳状滤波器第一旁瓣相对于主瓣的衰减最大约为15 dB,这样的阻带衰减根本达不到实用滤波器的设计要求。

为了改变滤波性能,一般采用级联积分梳状滤波器(CIC)。

但经过CIC 降频滤波系统降频后会产生信号混叠现象,并且主瓣曲线不平,需要用新的算法或新结构来修正改善这些特性。

1 CIC 抽取滤波器原理经典的抽取滤波器为Hogenauer CIC 滤波器,其传输函数表达式为:式中:参数M 为降频因子,决定了CIC 的通带大小;K 为滤波器的阶数,对阻带衰减起到加深作用。

频率响应为:滤波电路由积分模块与差分模块组成,根据置换原则将抽取因子提到差分模块之前,使其工作在较低频率,并节省了M-1 个存储单元,框图如图1 所示。

采用cic的frm滤波器的system generator实现

采用cic的frm滤波器的system generator实现

62

杰等:采用 CIC 的 FRM 滤波器的 System generato,通过在 Matlab 的 Simulink 环境中搭
插因子,θ和φ分别为滤波器的通带截止频率和阻带
模型转换成 FPGA 可执行的模型,直接生成 FPGA
FRM 滤波器形成的两种情况。图(a)表示由插值后
建模型,然后调用 System generator 自动将 Simulink
可执行的代码,然后经过综合、仿真以及相应芯片
的配置后下载到硬件环境中进行测试。
本 文 通 过 使 用 ISE 软 件 中 的 System generator
工具库,结合 Matlab/Simulink 库搭建相应的模块来
验证采用 CIC 的 FRM 低通滤波器设计方法的硬件
波器,进一步降低 FRM 滤波器所需乘法器的数量,
进而降低了复杂度,且 CIC 多应用在窄过渡带低通
FRM 滤波器中。
System generator[10~12]是 Xilinx 公司推出的 DSP
收稿日期:2019 年 9 月 15 日,修回日期:2019 年 10 月 20 日
作者简介:李杰,男,硕士研究生,研究方向:水声对抗技术。汪海涛,男,研究员,研究方向:水声对抗技术。
系统级设计,可产生硬件可执行的模型,进而在相应的芯片上进行测试。通过使用 System generator 对采用 CIC 滤波器设计
的 FRM 低通滤波器进行验证,提出了一种新的降低 FRM 滤波器复杂度的方法,可将其应用于窄过渡带低通滤波器的设
计中。
关键词
FRM 技术;CIC 滤波器;System generator;复杂度
FRM 技术是目前常用的设计窄过渡带滤波器的方法,在满足窄过渡带要求的同时,降低了设计所需要的复杂

CIC滤波器的原理与设计

CIC滤波器的原理与设计

CIC滤波器的原理与设计CIC 的冲击响应{1,010,()n D h n ≤≤-=其他,D 为CIC 滤波器的阶数(即抽取因子), Z 变换后11()1Dz H z z ---=-,当积分梳状滤波器的阶数不等于抽取器的抽取倍数时,令N=DM(N 为滤波器的 阶数,D 为抽取倍数)则积分梳状滤波器的传递函数为:)1(11)(1DM z zz H ----=M 是梳状滤波器中的延时因子,故称M 为差分延时因子;其频率总响应为12()()()jw jw jw H e H e H e ==sin(/2)sin(/2)wDM w=1()()22wDM w DM Sa Sa-⋅⋅x x x Sa /)sin()(=为抽样函数,且1)0(=Sa ,所以CIC 滤波器在0=ω处的幅度值为N ,即:DM e H j =)(0; 一般数字滤波器的指标:即:CIC 幅频特性响应曲线图由其频率响应函数可以看出其主瓣电平最大为D,旁瓣电平为21.51()sin(3/2)/sin(3/2)sin(3/2)j DMH e DM DM ωπωπππ=⋅==,()20lg()()20lg ()a pa p a s a s H j H j H j H j ααΩ=ΩΩ=Ω通带最大衰减阻带最小衰减00()20lg ()()20lg ()ps j a p jw a j a s jw a H e H eH e H e αα==旁瓣与主瓣的差值 (用dB 数表示)为: dB A DM s 46.1323lg 20lg201===πα 可计算出旁瓣与主瓣的差值约为13.46,意味着阻带衰减很差,单级级联时旁瓣电平很大,为降低旁瓣电平,增加阻带衰减采用级联的方式,N 级频率响应为:)2()2()()2/sin()2/sin()(ωωωωωQ Q Q Qj Q Sa DM Sa DM DM e H -⋅⋅=⎥⎦⎤⎢⎣⎡=,可得到N 级CIC 的旁瓣抑制dB Q Q A DM Q Q s )46.13(23lg 20)lg(201⨯=⋅==πα 分析一下发现在Q 级联时多出了Q DM 这个处理增益,因此分析一下尽量减少带内容差(通带衰减),即,在通带内,幅度应尽量平缓;下面就它的幅平响应曲线来分析:1、设在红线w1处抽取的信号带宽很窄,为无混叠信号的带宽,能很好的对窄带信号进行滤波,去除掉高频信号噪声;且在绿线w2=2pi/DM-w1处衰减值足够大,则在其信号带宽内,红线到绿线,信号给CIC 滤 波器带来的混叠就可以忽略,计算此时阻带衰减:)2/sin()2/sin(lg20()(lg 2022012w DM w DMe H e H A jw j ==·引入带宽比例因子b=B/(fs/DM ), B 为抽取信号的带宽,D 为抽取因子,M 为延时因子;fs 为输入端采样率,则w1=b*2pi/DM ;带入可化简得:b A lg 201-≈; (假设b=0.01;即fs=100MHz ,D=20,信号带宽为50khz,此时衰减为40dB);可见单级的CIC 滤波器的无混叠信号带宽内的阻带衰减能达到40dB;;并不怎么大,适用于较粗略的滤波,适合放在第一级抽取;如果采用级联的方式可以加大无混叠信号带宽;但是满足的通带不够窄;2、在红线w1处幅度不能下降太多,通带内幅值容差不能太大,否则会引起高频失真;设该带内容差为sδ,则,)()(lg 2010jw j s e H e H =δ将w1带入可简化得)sin(lg20b b s ππδ≈,当N 级时,其带内容差也会增大;由上面分析可知,阻带衰减和带内容差,只与带宽比例因子b 有关,Df B b s /=,分析可知,在信号带宽一定的前提下,应尽可能采用小的抽取因子,或增大输入采样率;故一般把它放在抽取系统的第一级,所以在配置CIC 时,信号带宽,采样率,抽取因子,综合考虑,下面是阻带衰减和通带衰减的一个表:带宽比例因子b在w1处的通带衰减(dB )级数(N )12 3 4 5 6 1/128 0.00 0.00 0.00 0.00 0.00 0.01 1/64 0.00 0.01 0.01 0.01 0.02 0.02 1/32 0.01 0.03 0.04 0.06 0.07 0.08 1/16 0.06 0.11 0.17 0.22 0.28 0.34 1/8 0.22 0.45 0.67 0.90 1.12 1.35 1/40.911.822.743.654.565.47差分延迟M带宽比例因子b 在w2处的混叠衰减(dB ) 级数(N ) 1 2 3 4 5 6 1 1/128 42.1 84.2 126.2 168.3 210.4 252.5 1 1/64 36.0 72.0 108.0 144.0 180.0 215.9 1 1/32 29.8 59.7 89.5 119.4 149.2 179.0 1 1/16 23.6 47.2 70.7 94.3 117.9 141.5 1 1/8 17.1 34.3 51.4 68.5 85.6 102.8 1 1/4 10.5 20.9 31.4 42.8 52.3 62.7 2 1/128 48.1 96.3 144.4 192.5 240.7 288.8 2 1/64 42.1 84.2 126.2 168.3 210.4 252.5 2 1/32 36.0 72.0 108.0 144.0 180.0 216.0 2 1/16 29.9 59.8 89.6 119.5 149.4 179.3 2 1/8 23.7 47.5 71.2 95.0 118.7 142.5 21/417.835.653.471.389.1106.9表1:大抽取因子表2:大抽取因子下由CIC 频幅响应图可以发现,幅频特性的零点位于1/M 处(M 取值为整数),这说明差分因子M 决定了零点的位置;抽取因子D 狭定了抽取后信号的采样频率,它同差分延时因子M 一起还决定了主瓣和旁瓣的宽度;级数Q 可以用来控制阻带衰减,Q 越大阻带衰减越大,通带内的混叠就越小,但Q 越大,通带内主瓣衰减也越大,所以Q 不可太大,不宜超过5级。

cic滤波器的fpga实现

cic滤波器的fpga实现

cic滤波器的FPGA实现发布时间:2016-01-26 15:07:21技术类别:CPLD/FPGA一、关于多采样率数字滤波器很明显从字面意思上可以理解,多采样率嘛,就是有多个采样率呗。

前面所说的FIR,IIR滤波器都是只有一个采样频率,是固定不变的采样率,然而有些情况下需要不同采样频率下的信号,具体例子我也不解释了,我们大学课本上多速率数字信号处理这一章也都举了不少的例子。

按照传统的速率转换理论,我们要实现采样速率的转换,可以这样做,假如有一个有用的正弦波模拟信号,AD采样速率是f1,现在我需要用到的是采样频率是f2的信号,传统做法是将这个经过f1采样后的信号进行DA转换,再将转换后的模拟信号进行以f2采样频率的抽样,得到采样率为f2的数字信号,至此完成采样频率的转换但是这样的做法不仅麻烦,而且处理不好的话会使信号受到损伤,所以这种思想就被淘汰了,现在我们用到的采样率转换的方法就是抽取与内插的思想。

二、抽取先来总体来解释一下抽取的含义:前面不是说,一个有用的正弦波模拟信号经采样频率为f1的抽样信号抽样后得到了数字信号,很明显这个数字信号序列是在f1频率下得到的,现在,假如我隔几个点抽取一个信号,比如就是5吧,我隔5个点抽取一个信号,是不是就是相当于我采用了1/5倍f1的采样频率对模拟信号进行采样了?所以,抽取的过程就是降低抽样率的过程,但是我们知道,这是在时域的抽样,时域的抽样等于信号在频域波形的周期延拓,周期就是采样频率,所以,为了避免在频域发生频谱混叠,抽样定理也是我们要考虑的因素下面来具体来介绍如上图所示,假如上面就是某一有用信号经采样频率f1抽样得到的频谱,假设这时候的采样频率为8Khz ,可以通过数格子得到,从0到F1处有8个空格,每个空格代表1Khz,有些朋友可能会问,这不是在数字频域吗,单位不是π吗,哪来的hz?是的,这里是数字频域,采样频率F1处对应的是2π,这里只是为了好解释,我们用模拟频率来对应数字频率。

CIC滤波器的原理与设计

CIC滤波器的原理与设计

CIC 的冲击响应{1,010,()n D h n ≤≤-=其他,D 为CIC 滤波器的阶数(即抽取因子),Z 变换后11()1Dz H z z ---=-,当积分梳状滤波器的阶数不等于抽取器的抽取倍数时,令N=DM(N 为滤波器的 阶数,D 为抽取倍数)则积分梳状滤波器的传递函数为:)1(11)(1DM z zz H ----=M 是梳状滤波器中的延时因子,故称M 为差分延时因子;其频率总响应为12()()()jw jw jwH e H e H e ==sin(/2)sin(/2)wDM w =1()()22wDM wDM Sa Sa -⋅⋅x x x Sa /)sin()(=为抽样函数,且1)0(=Sa ,所以CIC 滤波器在0=ω处的幅度值为N ,即:DM e H j =)(0; 一般数字滤波器的指标:()20lg()()20lg ()a pa p a s a s H j H j H j H j ααΩ=ΩΩ=Ω通带最大衰减阻带最小衰减即:CIC 幅频特性响应曲线图由其频率响应函数可以看出其主瓣电平最大为D ,旁瓣电平为21.51()sin(3/2)/sin(3/2)sin(3/2)j DMH e DM DM ωπωπππ=⋅==,旁瓣与主瓣的差值 (用dB 数表示)为: dB A DM s 46.1323lg 20lg201===πα 可计算出旁瓣与主瓣的差值约为13.46,意味着阻带衰减很差,单级级联时旁瓣电平很大,为降低旁瓣电平,增加阻带衰减采用级联的方式,N 级频率响应为:)2()2()()2/sin()2/sin()(ωωωωωQ Q Q Qj Q Sa DM Sa DM DM e H -⋅⋅=⎥⎦⎤⎢⎣⎡=, 可得到N 级CIC 的旁瓣抑制 dB Q Q A DM Q Qs )46.13(23lg 20)lg(201⨯=⋅==πα 分析一下发现在Q 级联时多出了Q DM 这个处理增益,因此分析一下尽量减少带容差(通带衰减),即,在通带,幅度应尽量平缓;下面就它的幅平响应曲线来分析:00()20lg ()()20lg()ps j a p jw a j a s jw a H e H eH e H e αα==1、设在红线w1处抽取的信号带宽很窄,为无混叠信号的带宽,能很好的对窄带信号进行滤波,去除掉高频信号噪声;且在绿线w2=2pi/DM-w1处衰减值足够大,则在其信号带宽,红线到绿线,信号给CIC 滤 波器带来的混叠就可以忽略,计算此时阻带衰减:)2/sin()2/sin(lg 20()(lg 2022012w DM w DM e H e H A jw j ==·引入带宽比例因子b=B/(fs/DM ), B 为抽取信号的带宽,D 为抽取因子,M 为延时因子;fs 为输入端采样率,则w1=b*2pi/DM ;带入可化简得:b A lg 201-≈; (假设b=0.01;即fs=100MHz ,D=20,信号带宽为50khz,此时衰减为40dB);可见单级的CIC 滤波器的无混叠信号带宽的阻带衰减能达到40dB;;并不怎么大,适用于较粗略的滤波,适合放在第一级抽取;如果采用级联的方式可以加大无混叠信号带宽;但是满足的通带不够窄;2、在红线w1处幅度不能下降太多,通带幅值容差不能太大,否则会引起高频失真;设该带容差为s δ,则,)()(lg 2010jw j s e H e H =δ将w1带入可简化得)sin(lg 20b bs ππδ≈,当N 级时,其带容差也会增大;由上面分析可知,阻带衰减和带容差,只与带宽比例因子b 有关,Df Bb s /=,分析可知,在信号带宽一定的前提下,应尽可能采用小的抽取因子,或增大输入采样率;故一般把它放在抽取系统的第一级,所以在配置CIC 时,信号带宽,采样率,抽取因子,综合考虑,下面是阻带衰减和通带衰减的一个表:表1:大抽取因子下的通带衰减由CIC频幅响应图可以发现,幅频特性的零点位于1/M处(M取值为整数),这说明差分因子M决定了零点的位置;抽取因子D狭定了抽取后信号的采样频率,它同差分延时因子M一起还决定了主瓣和旁瓣的宽度;级数Q可以用来控制阻带衰减,Q越大阻带衰减越大,通带的混叠就越小,但Q越大,通带主瓣衰减也越大,所以Q不可太大,不宜超过5级。

CIC滤波器的原理及FPGA实现

CIC滤波器的原理及FPGA实现
3. 3 梳状滤波器的 FPGA 实现 由式 (3) 推出单级梳状滤波器的差分方程 y (n) = x (n) - y (n - 1) , 可以看出用减法器即可实现。 对于C IC 滤波器来说, 正常的输出字宽一般都明显 比W 小, 比如 9 位。V HDL 代码示例如下:
com ber: p rocess (clk_ com b) b eg in if (clk_ com b’even t and clk_ com b= ’1’) then
x ≤x_ in; - - x_ in 是 8 位输入 i0 ≤i0+ conv_ in teger (sx tx) ; i1 ≤i1+ i0; - - 累加 i2 ≤i2+ i1; i3 ≤i3+ i2; - - i3 为第四级积分器输出
……… End if; End p rocess in tegra to r;
大。鉴于此, 当前的专用DDC 芯片中, 都采用了一种 高 效的滤波器—— C IC 滤波器 (C IC 滤 波 器 是 由 Hogenauer E. B. 于 1981 年提出的, 因此又被称为 Hogenauer 滤波器) 作为第一级滤波器, 实现抽取、 低 通滤波; 第二级则采用一般的 F IR 或者 F IR 实现 的特殊滤波器 (如半带滤波器) , 此时它们工作在较 低的频率下, 且滤波器的参数得到了优化, 因此更容 易以较低的阶数实现, 节省资源, 降低功耗。 本文在研究C IC 滤波器基本原理的基础上, 对 其进行了 FPGA 仿真、综合, 并最终应用在工程中, 达到了设计要求。
resou rces and can p lay w ell in h igher frequency. B a sed on the theo ry of C IC filter, I have

FPGA的CIC滤波器的设计

FPGA的CIC滤波器的设计

FPGA的CIC滤波器的设计1.原理概述CIC滤波器由差分器、积分器和组合器三部分组成,可有效实现信号的重采样和滤波功能。

其基本原理是将输入信号通过差分器进行差分运算,然后经过积分器进行累积运算,最后通过组合器实现滤波和重采样。

CIC滤波器的特点是具有高的通带增益和截止频率,且不需要乘法器和存储器,适合在FPGA中实现。

2.设计步骤(1)确定CIC滤波器的设计参数,包括增益因子、积分阶数、截止频率等。

(2)根据设计参数计算滤波器的结构参数,包括输入和输出数据宽度、积分器的阶数和阶间差值等。

(3)根据计算结果,设计CIC滤波器的硬件结构,包括差分器、积分器和组合器的实现方法。

(4) 使用HDL语言(如Verilog或VHDL)编写FPGA的CIC滤波器的代码,同时进行功能仿真和波形仿真。

(5)在FPGA开发板上进行综合、布局布线和验证,实现CIC滤波器的硬件设计。

3.设计关键技术(1)差分器设计:差分器实现差分运算,可以简单采用异或门或加减器实现。

需要注意输入信号的幅度范围和差分器的输出范围。

(2)积分器设计:积分器实现累积运算,需要考虑积分阶数、数据宽度和溢出等问题。

可以采用寄存器与加法器的串行或并行结构实现。

(3)组合器设计:组合器实现滤波和重采样功能,需要根据设计参数确定组合器的截止频率和增益系数。

可以采用多级组合器结构实现。

(4)输入输出接口设计:FPGA的CIC滤波器需要与外部系统进行数据交换,因此需要设计合适的输入输出接口,包括数据接口、时钟接口和控制接口等。

4.实现优化技术(1)折叠积分器:为了减少资源占用和延迟,可以采用折叠积分器结构,将多级积分器合并为一个积分器实现。

(2)级联结构:为了增加滤波器的阶数和降低截止频率,可以采用级联结构,将多个CIC滤波器级联实现。

(3)变系数设计:为了实现可调节的滤波参数,可以设计可变系数的CIC滤波器,在运行时动态调整增益因子和积分阶数。

综上所述,FPGA的CIC滤波器设计是一项复杂的数字信号处理任务,需要深入理解CIC滤波器的原理和设计方法,结合FPGA的硬件实现技术进行设计和优化。

CIC插值滤波器的FPGA设计与实现资料

CIC插值滤波器的FPGA设计与实现资料

CIC插值滤波器的FPGA设计与实现摘要:基于多速率信号处理原理,设计了用于下变频的CIC插值滤波器,由于CIC 滤波器结构只用到加法器和延迟器,没有乘法器,很适合用FPGA来实现,所以本文分析了CIC滤波器的原理,性能及影响参数,借助MATLAB设计符合系统要求CIC 滤波器,并利用Modelsim软件建模仿真,验证CIC滤波器性能是否达到要求。

(一)CIC滤波器基本原理A.CIC滤波器的基本单元CIC滤波器主要由积分滤波Integrator和梳状滤波Comb两个基本单元部分构成。

典型的CIC滤波器的结构,它由两个基本单元I(积分滤波器)和C(梳状滤波器)级联构成。

本设计主要针对插值滤波器,所以插值滤波器的结构示意图如图1-1所示:图 1-1 3级级联的CIC插值滤波器结构示意图积分器和梳状滤波器之间是一个采样率转换器,对于CIC插值器而言,它完成在每一个样值后补上R-1个0值的工作,,对于CIC抽取器来说,它完成在实际的抽取工作,每R个样值中取样一个。

R(插值倍数),M(延迟因子,一般取1或者2)以及N(级联级数)是影响CIC 滤波器的三个参数,它们的值需根据通带性能的需求而设定。

(二)CIC插值滤波器的设计流程根据CIC滤波器的原理,本设计的流程如图2-1所示:图2-1 CIC 插值滤波器的设计流程图(三)模型的建立和测试A .位宽策略对于数字滤波器,一个不得不考虑的问题是为防止溢出每一级所需的位宽。

对于抽取器来说,CIC 滤波器的输出增益为(*)NG R M = (3-1)所以,在全精度的情况下,最后一级输出的位宽为2log (*)out in B B N R M =+ (3-2)其中in B 表示输入数据的宽度,为了保证精度,每一个积分器和梳状滤波器的输入输出位宽都为out B 。

对于插值器而言,输出增益为212,1,2,....2(*)/,1, 2......2i i N i N i N G R M R i N N N --⎛⎫== ⎪ ⎪=++⎝⎭ (3-3)因此,第i 级为避免溢出所需要的位宽为2log ()i in i W B G =+ (3-4)最后一级输出位宽为22log (*)log out in B B N R M R=+- (3-5)在实际当中,当差分延时M=1时,为保证稳定,所有积分器的位宽在理论值的基础上加一。

FPGA的CIC滤波器的设计.

FPGA的CIC滤波器的设计.

基于FPGA的CIC数字滤波器的设计摘要:级联积分梳状(Cascade Integrator Comb,CIC)滤波器是数字系统中实现大采样率变化的多速率滤波器,已经证明是在高速抽取和插值系统中非常有效的单元,在数字下变频(DDC)和数字上变频(DUC)系统中有广泛的应用。

它不包含乘法器,只是由加法器,减法器和寄存器组成,而且需要的加法器的数目也减少了许多,因此CIC滤波器比FIR和IIR滤波器更节省资源,并且实现简单而高速。

本文主要讨论了CIC滤波器的基本原理和基于FPGA的仿真实现方法,具体是采用Verilog HDL语言编程,将滤波器分为积分器模块和梳状器模块2个部分,对每个模块进行具体的功能分析和设计实现,最后通过Modelsim 仿真对滤波器的性能进行分析,验证了设计的正确性。

关键词:CIC滤波器;抽取;FPGA;Verilog HDLthe Design of Cascade Integrator Comb Filter Based on FPGAAbstract:CIC (Cascade Integrator Comb, CIC) filter is a digital system to achieve large changes in multi-rate sampling rate filter, which has been proven to be a very effective unit in the high-speed extraction and interpolation system. It is widely used in the digital down conversion (DDC ) and digital up conversion (DUC) systems. It does not contain the multiplier, but just composes by adders, subtractors and registers, and the number of needing adders is reduced a lot. So it takes fewer resources than FIR filter and IIR filter. And the speed of CIC filter is very high and it is also very convenient to realize.This article discusses the basic principles of CIC filter and the simulation way based on FPGA. The modules were described with Verilog HDL. Firstly, the filter was divided into two parts which were integration module and the comb module. Then the function of each module were analyzed and designed. Finally the performance of the filter was analyzed under ModelSim and the correctness of the design was verified. Keywords:CIC filter; Decimation; FPGA; Verilog HDL1. 引言:数字滤波是数字信号分析中最重要的组成部分之一,数字滤波与模拟滤波相比,具有精度和稳定性高,系统函数容易改变,灵活性高,不存在阻抗匹配问题,便于大规模集成,可实现多维滤波等优点。

CIC滤波器的原理及设计

CIC滤波器的原理及设计

CIC 的冲击响应{1,010,()n D h n ≤≤-=其他,D 为CIC 滤波器的阶数〔即抽取因子〕,Z 变换后11()1Dz H z z ---=-,当积分梳状滤波器的阶数不等于抽取器的抽取倍数时,令N=DM(N 为滤波器的 阶数,D 为抽取倍数)那么积分梳状滤波器的传递函数为:)1(11)(1DM z zz H ----=M 是梳状滤波器中的延时因子,故称M 为差分延时因子;其频率总响应为12()()()jw jw jw H e H e H e ==sin(/2)sin(/2)wDM w =1()()22wDM w DM Sa Sa -⋅⋅ x x x Sa /)sin()(=为抽样函数,且1)0(=Sa ,所以CIC 滤波器在0=ω处的幅度值为N ,即:DM e H j =)(0; 一般数字滤波器的指标:()20lg()a p a p H j H j αΩ=Ω通带最大衰减即:CIC 幅频特性响应曲线图由其频率响应函数可以看出其主瓣电平最大为D ,旁瓣电平为21.51()sin(3/2)/sin(3/2)sin(3/2)j DMH e DM DM ωπωπππ=⋅==,旁瓣与主瓣的差值 〔用dB 数表示〕为:dB A DM s 46.1323lg 20lg201===πα 00()20lg ()()20lg()ps j a p jw a j a s jw a H e H eH e H e αα==可计算出旁瓣与主瓣的差值约为13.46,意味着阻带衰减很差,单级级联时旁瓣电平很大,为降低旁瓣电平,增加阻带衰减采用级联的方式,N 级频率响应为:)2()2()()2/sin()2/sin()(ωωωωωQ Q Q Qj Q Sa DM Sa DM DM e H -⋅⋅=⎥⎦⎤⎢⎣⎡=, 可得到N 级CIC 的旁瓣抑制dB Q Q A DM Q Q s )46.13(23lg 20)lg(201⨯=⋅==πα 分析一下发现在Q 级联时多出了Q DM 这个处理增益,因此分析一下尽量减少带内容差(通带衰减〕,即,在通带内,幅度应尽量平缓;下面就它的幅平响应曲线来分析:1、设在红线w1处抽取的信号带宽很窄,为无混叠信号的带宽,能很好的对窄带信号进展滤波,去除掉高频信号噪声;且在绿线w2=2pi/DM-w1处衰减值足够大,那么在其信号带宽内,红线到绿线,信号给CIC 滤波器带来的混叠就可以忽略,计算此时阻带衰减:)2/sin()2/sin(lg 20()(lg 2022012w DM w DM e H e H A jw j ==·引入带宽比例因子b=B/〔fs/DM 〕, B 为抽取信号的带宽,D 为抽取因子,M 为延时因子;fs 为输入端采样率,那么w1=b*2pi/DM ;带入可化简得:b A lg 201-≈; 〔假设b=0.01;即fs=100MHz ,D=20,信号带宽为50khz,此时衰减为40dB);可见单级的CIC 滤波器的无混叠信号带宽内的阻带衰减能到达40dB;;并不怎么大,适用于较粗略的滤波,适合放在第一级抽取;如果采用级联的方式可以加大无混叠信号带宽;但是满足的通带不够窄;2、在红线w1处幅度不能下降太多,通带内幅值容差不能太大,否那么会引起高频失真;设该带内容差为s δ,那么,)()(lg 2010jw j s e H e H =δ将w1带入可简化得)sin(lg 20b b s ππδ≈,当N 级时,其带内容差也会增大;由上面分析可知,阻带衰减和带内容差,只与带宽比例因子b 有关,Df Bb s /=,分析可知,在信号带宽一定的前提下,应尽可能采用小的抽取因子,或增大输入采样率;故一般把它放在抽取系统的第一级,所以在配置CIC 时,信号带宽,采样率,抽取因子,综合考虑,下面是阻带衰减和通带衰减的一个表:表1:大抽取因子下的通带衰减表2:大抽取因子下的阻带衰减由CIC频幅响应图可以发现,幅频特性的零点位于1/M处(M取值为整数),这说明差分因子M决定了零点的位置;抽取因子D狭定了抽取后信号的采样频率,它同差分延时因子M一起还决定了主瓣和旁瓣的宽度;级数Q可以用来控制阻带衰减,Q越大阻带衰减越大,通带内的混叠就越小,但Q越大,通带内主瓣衰减也越大,所以Q不可太大,不宜超过5级。

累积梳状(CIC)滤波器分析与设计1

累积梳状(CIC)滤波器分析与设计1

累积梳状(CIC )滤波器分析与设计1、累积梳状(CIC )滤波器的分析所谓累积梳状滤波器,是指该滤波器的冲激响应具有如下形式:⎩⎨⎧-≤≤=其它,010,1)(N n n h (1)式中N 为梳状滤波器的系数长度(后面将会看到这里的N 也就是抽取因子)。

根据Z 变换的定义,滤波器的Z 变换为:∑-=-⋅=1)()(N n nz n h z H111----=zz N)1(111Nzz---⋅-=)()(21z H z H ⋅= (2) 式中,1111)(--=zz H (3)N z z H --=1)(2 (4) 其实现框图如图1所示:可见,CIC 滤波器是由两部分组成:累积器)(1z H 和梳状滤波器)(2z H 的级联,这就是为什么称之为累积梳状滤波器的原因。

下面分析一下梳状滤波器的幅频特性。

把ωj e z =代入可得)(2z H 的频率响应为: N j j e e H ωω--=1)(2 ]2[22/2/2/N j N j N j e e eωωω-⋅⋅--⋅=)2/s i n (22/N e N j ωω⋅=⋅- (5))(2z H)(1z H图1、累积梳状滤波器的实现框图其幅频特性为:)2/s i n (2)(2N e H j ωω⋅= (6) 若设N =7,就可以得到如图2所示的相应的频谱特性曲线:由图2可以清楚地看到:)(2ωj eH 的形状犹如一把梳子,故把其形象地称之为梳状滤波器。

同样可以求得累积器)(1z H 的频率响应为: ωj ez H --=11)(112/2/2/]2[2---=ωωωj j j e ee12/)2(s i n 2-⋅=ωωj e(7)故CIC 滤波器的总频率响应为:)()()(21ωωωj j j e H e H e H ⋅=)2/s i n (/)2/s i n (ωωN = )2()2(1ωω-⋅⋅=SaNSa N (8)式中,x x x Sa /)sin()(=为抽样函数,且1)0(=Sa ,所以CIC 滤波器在0=ω处的幅度值为N ,即: N e H j =)(0 (9) CIC 滤波器的幅频特性如图3所示:图2、N=7的梳状滤波器幅频特性曲线图3、CIC 滤波器的幅频特性曲线在)~0(π区间上称)/2~0(N π的区间为CIC 滤波器的主瓣,而其它区间称为旁瓣。

基于FPGA的CIC抽取滤波器设计与实现

基于FPGA的CIC抽取滤波器设计与实现

( ) 4
C I C 抽取滤波器的幅频特性如图 2 所示 。 / 其中 [ 为其 主 瓣, 其 它 的 区 间 为 旁 瓣。由 图 0. 2 DM ] π 可见 , 随着频率的增 大 , 旁 瓣 电 平 不 断 减 小, 但旁瓣电平相 对主瓣电平较大 , 阻带衰减较差 。 为降低 旁 瓣 电 平 , 可以采 用多级 C I C 滤波器级联的办法来实现 。
总第 2 6 7期 2 0 1 2 年第 1 期
计算机与数字工程 C o m u t e r &D i i t a l E n i n e e r i n p g g g
V o l . 4 0N o . 1 1 3 7
基于 F P G A的C I C 抽取滤波器设计与实现
雷能芳
( ) 渭南师范学院物理与电气工程学院 渭南 7 1 4 0 0 0
[ 2] / 可以由 F P GA C P L D 开发工具 Q u a r t u s Ⅱ来完成 。采用 比直接采用 该方法进行数字信 号 处 理 系 统 的 F P GA 设 计 ,
图 5 测试电路
在Q 对测试电路进行编译 , 下载到 c u a r t u s Ⅱ 环境中 , - y 就可以对硬件进行测 c l o n e系列 E P 1 C 1 2 Q 2 4 0 C 8 器 件 后, / 经D 试 。 调制器 的 输 出 信 号 为 数 字 信 号 , A 转换后可以通 过示波器进行测试 , 也可以直接采用 Q u a r t u s Ⅱ 软件中的 嵌
图 3 3 级 C I C 抽取滤波器模型图
滤波器常结合半带滤波器来完成采样速 率 的 抽 取 功 能 。 滤 波时只做加法运算 , 大大简化了计算量 , 从而降低后续电路 的处理速度 。 本文的创新之 处 在 于 : 应用现代 D S P技术设计 C I C抽 取滤波 器 , 图 形 化 界 面 使 设 计 简 单 易 行, 避免了繁琐的 设计者甚至 不 需 要 了 解 F VHD L 语言编程 ; P GA 和 硬 件 描 述语言 , 真正实现了电子系统设计的黑盒 子 化 、 积木化和简

CIC实现讲解学习

CIC实现讲解学习

C I C实现CIC抽取插值滤波器HDL实现CIC(Cascaded Integrator-Comb)滤波器分为抽取滤波器和插值滤波器两大类,总体来说该滤波器带内平坦度一般、通带较窄、过渡带较宽,但该滤波器结构非常简单且仅使用加减法器,资源使用量非常少,数字信号处理系统往往在最前端和最后端使用CIC滤波器完成抽取和插值。

下文分抽取滤波器和插值滤波器分析CIC的HDL实现。

1、CIC抽取滤波器(x n()n图1 CIC抽取滤波器结构如图1所示,抽取因子D的三阶CIC抽取滤波器,由积分器、抽取器和梳状器三个功能模块级联而成,这样是积分梳状滤波器名称的来源。

积分器和抽取器无优化的空间,重点放在梳状器设计。

由于是抽取器,输入()x n的数据率是输出信号()y n的D倍,这使得后级梳状器单元每D给时钟周期处理一个数据,基于这个特点复用CIC抽取滤波器梳状器中的加减法器单元,实现结构如图2所示。

图2 CIC抽取滤波器梳状器实现设计有限状态机(FSM)控制加法器的输入和输出,以及RAM的读写操作,复用空闲时钟,保证时序仍和图1中一致。

FSM跳转图:flag==0图3 FSM跳转结构RST状态接收数据有效信号(data_in_v)后,将状态跳转标志位flag置位,状态机开始向ST_1状态跳转。

以后每个状态持续一个周期,也即单周期状态跳转,这样便于代码书写,当然可以依据状态的数量选择使用多周期跳转模式。

跳转到最后一个ST_N状态时,判断数据输入有效信号(data_in_v)是否置位,若数据无效,则在该状态等待直至接收到有效信号,跳转到ST_1状态循环工作。

FSM的在每个状态内,需要完成向加法器赋值、生成RAM的读写地址和有效位、控制输出信号和输出有效位、状态转移标志位等工作。

2、CIC插值滤波器(x n()n图3 CIC插值滤波器如图3所示,插值因子为I 的三阶CIC 插值滤波器,结构和CIC 抽取滤波器恰好相反,依次有梳状器、插值器和积分器三个功能模块级联而成。

FPGA的CIC滤波器的设计

FPGA的CIC滤波器的设计

FPGA的CIC滤波器的设计CIC滤波器的设计主要涉及滤波器的参数确定、级联结构的设计、数据格式的选择和实现细节。

首先,CIC滤波器的参数包括滤波器阶数、滤波器响应和抽取/插值比例。

滤波器阶数决定了滤波器的截止频率和滤波器的响应速度。

滤波器响应可以是低通、高通或带通响应,根据实际需求选择。

抽取/插值比例决定了滤波器的抽取/插值功能,可以根据需要选择。

其次,CIC滤波器采用级联结构,每个级联包括一个积分器和一个信号延迟器。

级联结构的数量决定了滤波器的阶数,阶数越高滤波器的性能越好。

级联结构还可以根据需求进行扩展或压缩。

然后,对于FPGA的CIC滤波器设计,数据格式的选择非常重要。

常见的数据格式有定点(Fixed-Point)和浮点(Floating-Point)两种。

定点数据格式可以节省硬件资源,但需要进行定点数的运算和溢出处理。

浮点数据格式计算精度高,但需要更多的硬件资源。

根据实际需求选择合适的数据格式。

最后,实现细节包括CIC滤波器的硬件资源分配、时钟分配和时序约束等。

硬件资源分配需要根据滤波器的参数确定所需要的积分器、延迟器和加法器等硬件资源。

时钟分配需要合理分配时钟信号,以满足滤波器的运算速度和性能需求。

时序约束能够帮助设计人员解决时序问题,确保滤波器的正确性和稳定性。

总的来说,FPGA的CIC滤波器设计涉及滤波器参数选择、级联结构设计、数据格式选择和实现细节。

通过合理的设计和优化,可以实现快速、高效的滤波功能,满足各种信号处理需求。

CIC滤波器设计

CIC滤波器设计

CIC滤波器设计报告
拟制
日期2012-01-15
一、CIC 抽取滤波器 1、原理概述
(x n ()
n
图1.1 系统流程图
2、模块实现 2.1 积分器
2.2 抽取单元
2.3 微分器
二、CIC 插值滤波器 1、 原理概述
2、 模块实现
模块说明
1、 交织模块
交织模块负责将连续数据在时间上打散,取得时间增益,并将突发错误变为卷积码可以纠错的随机错误,CC 编码输出为16bit 的编码信息。

交织块尺寸为600*15*16=9000*16,其中位宽为16,9000为16位字的个数(扩频因子为8)
,或者68*15*16=1020*16,即1020个16位字;表1给出了不同扩频因子时交织块的几个重要参数。

表1 数据载荷扩频方式与每子帧中比特交织块的关系
交织采用行入列出的形式,输入数据位宽为16bit ,输出数据位宽为1bit ,整个交织模
块需要两块RAM ,采用乒乓的形式对数据进行交织处理。

该模块的接口示意图(草图)如图4所示。

clk
图4、交织模块接口示意草图表2给出了该模块的接口说明
表2、交织模块接口说明
(二)CIC插值。

[精品]CIC积分梳状滤波器的设计

[精品]CIC积分梳状滤波器的设计

cic滤波器的阻带衰减和过渡带特性不是很好可以通过级联的方法来实现加大过渡带和阻带的衰减还可以通过在cic滤波器后加补偿滤波器的方法来实现对cic滤波器性能的改veriloghdl代码实现veriloghdl是一种硬件描述语言用它可以表示逻辑电路图逻辑表达式还可以表示数字逻辑系统所完成的逻辑功能
CIC积分梳状滤波器的设计
3.CIC滤波器的简单介绍
CIC(Cascaded Integral Comb)抽取滤 波器,最初由Hogenauer提出,因为它结构 简单,而且实现时无需乘法器和系数的存 储,所以作为一种简单有效的抽样率转换 方法,CIC已被广泛的应用于通信和信号处 理领域。CIC滤波器通常是由一个积分梳状 滤波器和一个抽取滤波器级联组合而成, 其中级联的积分梳状滤波器又分为积分部 分和梳状部分。
1.课题的写作ห้องสมุดไป่ตู้的和思路
本课题的任务就是了解CIC滤波器的基 本原理、特点。对CIC滤波器出现的几个问 题给出了解决方案,以及对其进行改善。 最后用采用Quartus II仿真软件对三级CIC 滤波器代码进行测试仿真。
2.CIC滤波器的发展史
随着信息时代和数字世界的到来,数 字信号处理在通信、语音、图像、自动控 制、雷达、军事、航空航天、医疗和家用 电器等众多领域得到了广泛的应用。在数 字信号处理应用中,数字滤波器十分重要 并已获得广泛应用。数字信号处理中多采 样率的应用非常普遍,尤其在软件无线电中 应用广泛。 CIC滤波器就是多采样处理常 用的器件之一。
Verilog HDL开发流程如下图:
设计规范
文本编辑
功能仿真
逻辑综合
布局布线
时序仿真
编程下载
6.仿真综合
Quartus II 是Altera公司的综合性PLD开发软件, 支持原理图、VHDL、VerilogHDL以及AHDL (Altera Hardware Description Language)等多 种设计输入形式,内嵌自有的综合器以及仿真器, 可以完成从设计输入到硬件配置的完整PLD设计 流程。 Quartus II 通过和DSP Builder工具与 Matlab/Simulink相结合,可以方便地实现各种 DSP应用系统;支持Altera的片上可编程系统 (SOPC)开发,集系统级设计、嵌入式软件开 发、可编程逻辑设计于一体,是一种综合性的开 发平台。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DS613 March 24, 2008

1
Product Specification
CIC Compiler v1.1
Frequency Response Characteristics
The frequency response of a CIC filter is obtained by evaluating Equation 1 at:
implementations • Optional mapping to DSP48/E/A primitives • Synchronous clear input • Clock enable input
General Description
The Xilinx LogicCORETM IP CIC Compiler core v1.1 provides the ability to design and implement Cascaded Integrator-Comb (CIC) filters for a variety of Xilinx FPGA devices. CIC filters, also known as Hogenauer filters, are multi-rate filters often used for implementing large sample rate changes in digital systems. They are typically employed in applications that have a large excess sample rate. That is, the system sample rate is much larger than the bandwidth occupied by the processed signal as in digital down converters (DDCs) and digital up converters (DUCs). Implementations of CIC filters have structures that use only adders, subtractors, and delay elements. These structures make CIC filters appealing for their hardware-efficient implementations of multi-rate filtering.
• Any filter structure that is required to efficiently effect a large sample rate change
Theory of Operation
The following description of the CIC decimator and interpolator is based closely on that provided in [Ref 1]. The general concept of a CIC filter is the low-pass response that results from filtering an input signal with a cascade of N unit-amplitude, rectangular windows of length R*M. The system response of such filter is
The implementation of this filter response with a clever combination of comb filter sections, integrator sections, and upsampling (for interpolation) and downsampling (for decimation) give rise to the hardware-efficient implementation of CIC filters.
H(
f
ห้องสมุดไป่ตู้
)
=
⎡sin(πRMf ⎢⎣ sin(πf )
)⎤N ⎥⎦
Equation 3
This magnitude response is low-pass. In the design process of a CIC filter implementation, the parameters R, M, and N are selected to provide adequate pass-band characteristics over the frequency range from zero to a predetermined cutoff frequency fc. This pass-band frequency range is typically the bandwidth of interest occupied by the signal undergoing processing by the CIC filter. Figure 1 shows the frequency response of a 3-stage (N = 3) CIC filter with unity differential delay (M = 1) and a sample rate change R = 7.
CIC Compiler v1.1
DS613 March 24, 2008
Product Specification
Features
• Parameterizable drop-in module for Virtex™-5, Virtex-4, Virtex-II Pro, Virtex-II, Spartan™-3E, Spartan-3A, and Spartan-3A DSP FPGAs
© 2007-2008 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, the Brand Window, and other designated brands included herein are trademarks of Xilinx, Inc. All other trademarks are the property of their respective owners.
Applications
• Channelization functions in a digital radio or MODEM
• Digital up-conversion or down-conversion signal processing chains in digital transmitters or receivers
from 2 bits to 20 bits • Full or limited precision output data up to 48 bits • Single or multi-channel support for up to 16
channels • Hardware folding for small foot-print
X-Ref Target - Figure 1
Figure 1: CIC Magnitude Response
According to Equation 3 and as seen in Figure 1, there are nulls in the magnitude response (transfer functions zeros) at integer multiples of f =1/(RM). Thus, the differential delay parameter, M, can be used as a design parameter to control the placement of the nulls. Figure 2 shows the effect of the differential delay M on the magnitude response of a filter with 3 stages (N = 3) and a sample rate change
2

DS613 March 24, 2008
Product Specification
CIC Compiler v1.1
R = 7. Besides the effect on the placement of the response nulls, increasing M also increases the amount of attenuation in side lobes of the magnitude response.
R*M −1
∑ H (z) = [ z −k ]N k =0
Or
H (z)
=
(1 − z −R*M ) N (1 − z −1 ) N
Equation 1
Where
N is the number of CIC stages R is the rate change (decimation or interpolation) M is the differential delay in the comb section stages of the filter
X-Ref Target - Figure 2
Figure 2: CIC Magnitude Response – Effect of Differential Delay M
The rate change parameter R can also be used to control the frequency response of the CIC filter. The effect of R on the magnitude response can be seen in Figure 3. In essence, increasing the rate change increases the length of the cascaded unit-amplitude, rectangular window of length R*M. This results in an increase in attenuation and decrease of the width of the response side lobes.
相关文档
最新文档