改进型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所示。
2 改进的CIC结构
为了改善CIC抽取滤波器阻带衰减不足的缺点,采用一种新型COSINE滤波器,其传输函数为:
当N取不同值时,幅频响应如图2(a)所示。
把不同N值的COSINE滤波器级联,幅频响应会呈现低通特性,因此文献[4]采用CIC滤波器级联COSINE滤波器的结构来改善传统CIC滤波器的幅频特性。令Ni=M/2i+1,此时COSINE滤波器第一个零点与CIC滤波器的第一个零点重合,增加了第一个零点附近旁瓣的衰减。取M=32,传输函数为:
图2(b)为M=32的四阶CIC滤波器与新结构的滤波器(CCOS)幅频响应对比。式(5)中取k1=4,k2=k3=2;n1=2,n2=n3=4。从图2中可以看出CIC滤波器第一旁瓣相对于主瓣衰减为52.94 dB,而CCOS的旁瓣衰减则达到101.9 dB。如果达到相同的阻带衰减,CIC至少高达8阶,其实现电路将会非常庞大。
图2(c)对上述两种滤波器主瓣曲线放大,从图中明显可以看出CCOS滤波器通带特性比CIC变差。取滤波器的通带截止频率为fc=1/8M(Fs为归一化值),CIC通带衰减为O.129 3 dB;CCOS为0.286 7 dB。
为了进一步提高CCOS的通带特性,对文献[4]提出的CCOS进行改进,在其后级联一个SINE滤波器,其幅频特性与传输函数如下:
式中:M必须为偶数,这样才能避免分数延时。出于节省功耗的目的,取M为抽取值的2倍,这样SINE滤波器即可在提取到抽取之后,将计算量降为原来的 1/M,该结构通过移位和加法即可实现,无需乘法器。图3为改进型CIC(取M=64)与CCOS,CIC的幅频特性曲线比较,可以看出改进的CIC滤波器的通带特性得到明显改善。由于补偿滤波器的引入,阻带衰减为100.3 dB,但通带衰减仅为O.000 1 dB.
3 改进型CIC的FPGA实现
按照式(5)中CCOS各级联部分的关系,文献[4]中给出一种电路实现结构图,通过抽取使部分电路工作在更低频率。为了进一步提高滤波器设计的功耗使用效率,减小占用芯片的面积,对文献[4]的结构进行再次改进和优化。通过改变算法运算的具体步骤,来减少运算的步数,从而提高滤波器的效率。
首先把递归结构实现的部分改为非递归算法结构,降低功耗;
其次把CCOS滤波器的部分电路再次抽取降频,处理后每级表达式都可以与非递归算法结构的表达式合并,既可以使CCOS滤波器部分电路工作在低频降低功耗又可以大大减少存储单元数量。CCOS滤波器实现结构如图4(a)所示,图4(b)为对CCoS滤波器抽取改讲后整体改进型滤波器的结构。
最后,非递归结构中每一级再采用多相技术进一步降低功耗。考虑到中间第二、三、四级阶数比较高,因此将每级分解实现,相当于引进流水线技术,提高电路速率。第二级与第四级均为10阶,分解为2个5阶级联的结构,第三级为14阶,分解为5阶、4阶、5阶。这样除了SINE滤波器,整个改进型滤波器只有(1 +z-1)4与(1+z-1)5两种结构。这种高度规则的结构使电路设计和版图设计变得更加容易。SINE滤波器放在最后一级如图5所示。
4 仿真结果
为了快速有效地验证滤波器性能,使用Matlab的simulink工具搭建了三阶sigma-delta调制器,输入各种频率的正弦波产生高速1,0信号,作为CIC滤波器的输入。改进型CIC滤波器FPGA实现是采用Xilinx公司SPARTAN-3系列开发板,在ISE 6.3环境下进行的。为了进行比较,分别采用文献[4]中给出的转换抽取结构与图4、图5给出的改进结构实现。顶层结构与仿真结果如图6所示(其中clk 为输入时钟;rst_n为复位信号,也可视为使能信号,低电平有效;data_in为1 b的输人数据;data_out为47 b补码输出;data_en为输出数据变化指示信号)。
根据FPGA综合报告,采用文献[4]中电路结构实现的改进型CIC,使用的逻辑资源为1 704.个,占器件总资源的88%,而采用图4、图5中的优化电路结构时,在滤波性能不变的前提下,使用的逻辑资源减少为1 261个,占器件总资源的65% ,说明对结构的改进与优化大大节省了硬件资源。
5 结 语
这里在文献[4]的基础上提出一种改进型的CIC滤波器,大大提高了其通带特性,相较于传统CIC滤波器,无论在阻带还是通带特性都有明显改善,适合应用于高精度∑-△模数转换器中。在FPGA实现的过程中,对文献[4]中的结构进行优化,使部分电路工作在更低的频率下,大大降低了功耗;采用非递归结构,结合传输函数自身的特性合并部分分式,降低了电路复杂性;在每级处理时仅采用加法器和延时单元,节省了硬件资源,提高了实用性。