4倍内插积分梳状CIC滤波器高速并行算法的制作方法

文档序号:17983647发布日期:2019-06-22 00:15阅读:1270来源:国知局
4倍内插积分梳状CIC滤波器高速并行算法的制作方法

本发明属于通信信号处理的数字滤波器技术,涉及多速率信号处理系统中的多相内插滤波方法。



背景技术:

在多速率数字信号处理中,积分梳状(cic)滤波器由于其结构简单,性能高效,在硬件实现中得到广泛的使用。cic滤波器可以用来实现内插器和抽取器,它具有结构简单、性能优良及实现方便等的优点,非常适用于高速采样和采样率转换比值很大的场合。高速采样率转换往往在fpga硬件实现中所需要的乘法器个数太多,而cic滤波器在fpga硬件实现中则不需要乘法器,并且滤波器的所有系数均为1,这样cic滤波器的优势在同类高效数字滤波器中就非常明显了。除此之外,cic滤波器的积分结构部分减少了一些中间过程的存储量,这也是高速采样率转换设计中非常重要的优势。

在高速多速率数字信号处理过程中,要将基带模块的采样速率250mbps的信号上采样到1gbps的采样速率,在使用cic内插滤波器对原输入序列进行4倍插值后,数据采样率变为原来的4倍,即1gbps。在现有的fpga资源下,超过300mbps采样速率的信号是无法直接处理的,cic内插滤波算法中的加法器要也无法达到1gbps的处理速度。因此,此种cic内插滤波器无法满足对250mbps的高速率信号进行4倍升采样的内插滤波处理。由于受fpga加法器的工作速率限制,因而传统的cic内插滤波器无法工作在高速多速率数字信号处理中。



技术实现要素:

要解决的技术问题

为了避免现有技术的不足之处,本发明提出一种4倍内插积分梳状cic滤波器高速并行算法。将串行高速率数据的内插滤波用多路并行结构来实现,由此可以通过相对较低的时钟信号处理高采样速率的数据信号。

技术方案

一种4倍内插积分梳状cic滤波器高速并行算法,其特征在于步骤如下:

步骤1:将输入序列x(m)进行一个时钟周期延时产生x(m-1),两个时钟周期延时产生x(m-2);

步骤2:将生成序列x(m)、x(m-1)、x(m-2)分别送入四路并行支路,与4条并行支路的4组滤波系数一起送入乘法器进行相乘,保证4组乘法运算在同一个时钟周期内进行;其中第1路的x(m)经过一个延时器,x(m-1)与系数12相乘,x(m-2)与系数3相乘;第2路的x(m)与系数3倍相乘,x(m-1)与系数12相乘,x(m-2)经过一个延时器;第3路的x(m)与系数6相乘,x(m-1)与系数10相乘;第4路的x(m)与系数10相乘,x(m-1)与系数6相乘;

步骤3:将4条支并行之路的乘法器输出结果分别送入4路加法器进行相加运算,需要保证4组加法器运算在同一个时钟周期内进行;其中第1路的x(m)与12x(m-1)相加,3x(m-2)经过一个延时器与x(m)和12x(m-1)相加;第2路的3x(m)与12x(m-1)相加,x(m-2)与3x(m)和12x(m-1)相加;第3路的6x(m)与10x(m-1)相加;第4路的10x(m)与6x(m-1)相加;

步骤4:4条支路并行滤波处理结果送入da进行并串转换采样,从而得到4倍cic内插滤波升采样数据。

有益效果

本发明所提出的cic内插滤波器的高速并行算法与传统的cic内插滤波器算法相比具有如下优点:

传统的4倍内插cic内插滤波器结构的实现总共需要6个加法器和3个延时单元。4倍内插cic滤波器4路并行算法结构实现如图1所示,本发明采用fpga设计中面积换速度的转换原则,增加使用了乘法器,结构看似复杂,但是4路数据并行处理的方法却可以使乘法器和加法器均在原速率的四分之一的速率下进行运算,这就有效地提高了内插滤波器的工作速度。

附图说明

图14倍内插cic滤波器三级级联结构

图24倍内插cic滤波多相滤波并行结构

图34倍内插cic滤波器4路并行处理原理框图

图44倍内插cic滤波器4路并行fpga实现数据结构图:(a)、(b)、(c)、(d)分别代表4倍

具体实施方式

现结合实施例、附图对本发明作进一步描述:

本发明的工作原理为:

以3级级联的cic内插滤波器为例,对数据进行4倍内插采样。

由图1可得如下8个关系式

x1(m)=x(m)-x(m-1)(1)

x2(m)=x1(m)-x1(m-1)(2)

x3(m)=x2(m)-x2(m-1)(3)

x1(n)=x(n)+x1(n-1)(5)

x2(n)=x1(n)+x2(n-1)(6)

x3(n)=x2(n)+x3(n-1)(7)

y(n)=x3(n)(8)

假设输入序列x(m)依次为0、a1、a2、a3、a4、a5、a6、a7、…,则由式(1-7)可得:

x1(m)依次为0、a2-a1、a3-a2、a4-a3、a5-a4、a6-a5、a7-a6、…

x2(m)依次为0、a2-2a1、a3-2a2+a1、a4-2a3+a2、a5-2a4+a3、a6-2a5+a4、a7-2a6+a5、…

x3(m)依次为0、a1、a2-3a1、a3-3a2+3a1、a4-3a3+3a2-a1、a5-3a4+3a3-a2、a6-3a5+3a4-a3、a7-3a6+3a5-a4、…

x1(n)依次为0、0、0、0、a1、a1、a1、a1、a2-2a1、a2-2a1、a2-2a1、a2-2a1、a3-2a2+a1、a3-2a2+a1、a3-2a2+a1、a3-2a2+a1、a4-2a3+a2、a4-2a3+a2、a4-2a3+a2、a4-2a3+a2、a5-2a4+a3、a5-2a4+a3、a5-2a4+a3、a5-2a4+a3、a6-2a5+a4、a6-2a5+a4、a6-2a5+a4、a6-2a5+a4、a7-2a6+a5、a7-2a6+a5、a7-2a6+a5、a7-2a6+a5、…

x2(n)依次为0、0、0、0、a1、2a1、3a1、4a1、a2+2a1、2a2、3a2-2a1、4a2-4a1、a3+2a2-3a1、2a3-2a1、3a3-2a2-a1、4a3-4a2、a4+2a3-3a2、2a4-2a2、3a4-2a3-a2、4a4-4a3、a5+2a4-3a3、2a5-2a3、3a5-2a4-a3、4a5-4a4、a6+2a5-3a4、2a6-2a4、3a6-2a5-a4、4a6-4a5、a7+2a6-3a5、2a7-2a5、3a7-2a6-a5、4a7-4a6、…

x3(n)依次为0、0、0、0、a1、3a1、6a1、10a1、a2+12a1、3a2+12a1、6a2+10a1、10a2+6a1、a3+12a2+3a1、3a3+12a2+a1、6a3+10a2、10a3+6a2、a4+12a3+3a2、3a4+12a3+a2、6a4+10a3、10a4+6a3、a5+12a4+3a3、3a5+12a4+a3、6a5+10a4、10a5+6a4、a6+12a5+3a4、3a6+12a5+a4、6a6+10a5、10a6+6a5、a7+12a6+3a5、3a7+12a6+a5、6a7+10a6、10a7+6a6、…

根据式(8)得:

y(n)依次为0、0、0、0、a1、3a1、6a1、10a1、a2+12a1、3a2+12a1、6a2+10a1、10a2+6a1、a3+12a2+3a1、3a3+12a2+a1、6a3+10a2、10a3+6a2、a4+12a3+3a2、3a4+12a3+a2、6a4+10a3、10a4+6a3、a5+12a4+3a3、3a5+12a4+a3、6a5+10a4、10a5+6a4、a6+12a5+3a4、3a6+12a5+a4、6a6+10a5、10a6+6a5、a7+12a6+3a5、3a7+12a6+a5、6a7+10a6、10a7+6a6、…

由于进行4倍插值,将输出序列y(n)进行4路拆分,可得如下4路序列

y1(m)依次为0、a1、a2+12a1、a3+12a2+3a1、a4+12a3+3a2、a5+12a4+3a3、a6+12a5+3a4、a7+12a6+3a5、…

y2(m)依次为0、3a1、3a2+12a1、3a3+12a2+a1、3a4+12a3+a2、3a5+12a4+a3、3a6+12a5+a4、a7+12a6+3a5、…

y3(m)依次为0、6a1、6a2+10a1、6a3+10a2、6a4+10a3、6a5+10a4、6a6+10a5、6a7+10a6、…

y4(m)依次为0、10a1、10a2+6a1、10a3+6a2、10a4+6a3、10a5+6a4、10a6+6a5、10a7+6a6、…

通过观察上面的四路数据,可以归纳出4倍内插cic滤波器算法的公式为

通过上面的算法,可以将输入一路原始数列进行4倍内插后4路并行输出。

对图1的4倍内插cic进行多项结构转换成多相滤波得到该4倍内插cic滤波的并行结构,如图2所示,其中y0(n)、y1(n)、y2(n)、y3(n)是4路采样速率为250mbps的数据,最终合并为一路应为1gbps。

参照图4,同一条虚线上的数据处理处于同一个时钟周期上。

步骤a:将输入序列x(m)进行一个时钟周期延时产生x(m-1),两个时钟周期延时产生x(m-2)。

步骤b:将生成序列x(m)、x(m-1)、x(m-2)分别送入四路并行支路,与4条并行支路的4组滤波系数一起送入乘法器进行相乘,保证4组乘法运算在同一个时钟周期内进行。滤波系数为1的乘法器可以使用一个延时数据代替,减少乘法器的使用个数。

步骤c:将4条支并行之路的乘法器输出结果分别送入4路加法器进行相加运算,保证4组加法器运算在同一个时钟周期内进行。以第1条并行支路为例,由于加法器自带一个时钟周期的延时。mult11与与mult12的值相加得出add11,此时add11已经处于第三个周期,接下来add11要和mult13进行相加,但是由于mult13还处于第二个时钟周期,所以也需要对mult13进行一个时钟周期的延时,得到正确的相加结果。

步骤d:4条支路并行滤波处理结果送入da进行并串转换采样,从而得到4倍cic内插滤波升采样数据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1