CN102035502B - 一种fir滤波器的实现结构装置 - Google Patents

一种fir滤波器的实现结构装置 Download PDF

Info

Publication number
CN102035502B
CN102035502B CN 200910196884 CN200910196884A CN102035502B CN 102035502 B CN102035502 B CN 102035502B CN 200910196884 CN200910196884 CN 200910196884 CN 200910196884 A CN200910196884 A CN 200910196884A CN 102035502 B CN102035502 B CN 102035502B
Authority
CN
China
Prior art keywords
counter
multiplier
data
input
timeticks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200910196884
Other languages
English (en)
Other versions
CN102035502A (zh
Inventor
金小龙
吴亚军
王乃博
山珊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Telecom Technology Industry Holding Co., Ltd.
Original Assignee
Leadcore Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leadcore Technology Co Ltd filed Critical Leadcore Technology Co Ltd
Priority to CN 200910196884 priority Critical patent/CN102035502B/zh
Publication of CN102035502A publication Critical patent/CN102035502A/zh
Application granted granted Critical
Publication of CN102035502B publication Critical patent/CN102035502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了FIR滤波器的实现结构,包括:第一多路选择器用于选择输入数据并将输入数据提供给寄存器;寄存器用于存储输入数据;输入控制模块用于在模四计数器的控制下,控制寄存器中存储的数据每四个时钟节拍移位更新一次;模四计数器用于控制数据选通生成矩阵模块在不同的时钟节拍选取不同的寄存器和滤波参数,并通过乘法器进行乘法运算;寄存器组用于存储乘法器的运算结果,并将运算结果通过第二多路选择器提供给加法器作为输入;第二多路选择器用于在模四计数器的控制下,将不同时钟节拍的乘法器的输出结果送到加法器作为输入,由加法器进行加法计算并输出最终结果。本发明能够大幅度减少元器件的个数,降低实现成本;同时能够灵活可靠的自动适配不同数据码率。

Description

一种FIR滤波器的实现结构装置
技术领域
本发明涉及通信技术领域,尤其涉及一种FIR滤波器的实现结构装置。
背景技术
一般而言,FIR滤波器的算法原理总可以表示为:
y ( k ) = Σ n = 0 N h - 1 h ( n ) x ( k - n ) , k = 0,1 , · · · , N x - 1
其中x(n)为输入信号序列,h(n)为FIR滤波器的抽头系数,Nx为输入序列长度,Nh为滤波器长度。
在长期演进项目(LTE,Long Time Evolution)系统中为了满足邻道泄漏功率比(ACLR)指标,以及发射信号符合频谱泄漏模板,终端的发送通道必须配置一个数字低通滤波器,它与接收成形滤波器构成一对匹配滤波器。发送滤波器将数据按照1∶4进行插值,即每个数据之后插入3个零,插零位置不参加运算。为了满足恒定的群延迟,这种滤波器具有镜像对称的系数。使用接收滤波器的目的是消除或降低邻道干扰和对接收信号进行匹配滤波。A/D变换采用4倍速采样,并对滤波后数据进行4∶1抽取。这样,每四个点中有三个点不需要计算,因此可以很大程度地降低运算量。
如图1所示,为现有技术提供的传统线性相位FIR滤波器的实现结构示意图。以65阶FIR滤波器为例,现有技术提供的传统实现方法需要33个乘法器。由上可知,尽管现有技术已经可以节省32个乘法器了,但是其仍然需要33个乘法器,显然,其由于需要的元器件个数比较多,故实现成本较高。另外,多采样率数字信号处理中,现有技术采用根据传输码率改变工作时钟的方式自动适配数据处理的流量,这种方式的优点是设计简单,只要能改变工作时钟就能正常工作,如图2所示。但是当前数字设计领域中,时钟随输入数据输入是非常普遍的(比如lvds,Serdes就是采用随路数据时钟,如果没有有效数据,就没有时钟),所以,得到稳定的可根据输入数据码率配置改变的时钟显然是不现实的。
发明内容
本发明实施例提供一种FIR滤波器的实现结构装置,能够大幅度减少元器件的个数,降低实现成本;同时能够灵活可靠的自动适配不同数据码率。
本发明实施例提供以下技术方案:
一种发送FIR滤波器的实现结构装置,包括:第一多路选择器、若干个寄存器、输入控制模块、模四计数器、数据选通生成矩阵模块、若干个乘法器、寄存器组、第二多路选择器、若干个加法器组成的加法器树;其中,
所述第一多路选择器,用于选择输入数据并将所述输入数据提供给寄存器;
所述寄存器,用于存储输入数据;
所述输入控制模块,用于在所述模四计数器的控制下,控制所述寄存器中存储的数据每四个时钟节拍移位更新一次;
所述模四计数器,用于控制所述数据选通生成矩阵模块在不同的时钟节拍选取不同的寄存器和滤波参数,并通过所述乘法器进行乘法运算;
所述寄存器组,用于存储所述乘法器的运算结果,并将所述运算结果通过第二多路选择器提供给所述加法器作为输入;
所述第二多路选择器,用于在所述模四计数器的控制下,将不同时钟节拍的所述乘法器的输出结果送到所述加法器作为输入,由所述加法器进行加法计算并输出最终结果。
优选的,所述寄存器的个数为17个;所述加法器树为4级15个加法器;所述乘法器的个数为13个,其中,每一时钟节拍中未用到的乘法器用于计算下一个时钟节拍中未计算过的数据或者轮空空闲。
优选的,所述模四计数器在时钟节拍的控制中,通过随路数据传输结束标志和随路数据有效标志控制滤波器内部流水线的暂停和恢复。
本发明还提供另一种发送FIR滤波器的实现结构装置,包括:第一多路选择器、若干个寄存器、输入控制模块、模四计数器、数据选通生成矩阵模块、若干个乘法器、第二多路选择器、若干个加法器组成的加法器树;其中,
所述第一多路选择器,用于选择输入数据并将所述输入数据提供给寄存器;
所述寄存器,用于存储输入数据;
所述输入控制模块,用于在所述模四计数器的控制下,控制所述寄存器中存储的数据每四个时钟节拍移位更新一次;
所述模四计数器,用于控制所述数据选通生成矩阵模块在不同的时钟节拍选取不同的寄存器和滤波参数,并通过所述乘法器进行乘法运算;
所述第二多路选择器,用于在所述模四计数器的控制下,将不同时钟节拍的所述乘法器的输出结果送到所述加法器作为输入,由所述加法器进行加法计算并输出最终结果。
优选的,所述寄存器的个数为17个;所述加法器树为4级15个加法器;所述乘法器的个数为16个,其中,每一时钟节拍中未用到的乘法器轮空空闲。
优选的,所述模四计数器在时钟节拍的控制中,通过随路数据传输结束标志和随路数据有效标志控制滤波器内部流水线的暂停和恢复。
同时,本发明还提供一种接收FIR滤波器的实现结构装置,包括:第一多路选择器、若干个寄存器、输入控制模块、模四计数器、数据选通生成矩阵模块、所述若干个乘法器、第二多路选择器、若干个加法器组成的加法器树;其中,
所述第一多路选择器,用于选择输入数据并将所述输入数据提供给寄存器;
所述寄存器,用于存储输入数据;
所述输入控制模块,用于在所述模四计数器的控制下,控制所述寄存器中存储的数据每四个时钟节拍移位更新一次;
所述模四计数器,用于控制所述数据选通生成矩阵模块在不同的时钟节拍选取不同的寄存器和滤波参数,并通过所述乘法器进行乘法运算;
所述第二多路选择器,用于在所述模四计数器的控制下,将不同时钟节拍的所述乘法器的输出结果送到所述加法器作为输入,由所述加法器用四个时钟节拍分四步计算全部时钟节拍的累加结果,并输出最终结果。
优选的,所述寄存器的个数为65个;所述加法器树为4级15个加法器;所述乘法器的个数为9个,其中,每一时钟节拍中未用到的乘法器轮空空闲。
优选的,所述模四计数器在时钟节拍的控制中,通过随路数据传输结束标志和随路数据有效标志控制滤波器内部流水线的暂停和恢复。
本发明实施例提供的FIR滤波器的实现结构装置,能够大幅度减少元器件的个数,降低实现成本;同时能够灵活可靠的自动适配不同数据码率。具体而言,本发明根据FIR发送、接收滤波器系数镜像的特点,把传统FIR滤波和数字信号的插值和抽取过程结合起来,提出并设计了具有较为优化实现结构,最大效率复用最少的乘法器和加法器,试验结果表明,该滤波器的优化结构能够大量减少硬件成本,达到设计性能指标。另外,本发明采用了随路数据传输结束标志和随路数据有效标志这两个随滤波器输入信号同步输入的指示信号,其中,前者标识一个数据帧传输结束,后者标志当前有效输入数据。当一个数据帧没有结束,而下一个有效的数据没有到达时,本发明提供的滤波器将暂停流水线直到有效数据到来。本发明通过采用这样的机制,能够满足滤波器传输码率随时改变的应用需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的传统线性相位FIR滤波器的实现结构示意图;
图2是现有技术工作时钟的实现示意图;
图3是本发明实施例发送滤波器实现结构示意图;
图4是本发明实施例发送滤波器工作原理图;
图5是本发明实施例接收滤波器实现结构示意图;
图6是本发明实施例接收滤波器工作原理图。
具体实施方式
本发明实施例提供一种FIR滤波器的实现结构,能够大幅度减少元器件的个数,降低实现成本;同时能够灵活可靠的自动适配不同数据码率。为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明进一步详细说明。
首先,阐述一下发送滤波器的设计原理。按照LTE设计指标要求,发送滤波器采用65阶1:4补零插值FIR滤波器,详细阐述如下:
65阶滤波器,2N+1=65,N=32,系数镜像对称;输出表达式: y ( n ) = A N * x ( n ) + Σ i = 1 N A N - i * x ( n + i ) + Σ i = 1 N A N + i * x ( n - i ) ;
因为系数对称(AN-i=AN+i),
所以有 y ( n ) = A N * x ( n ) + Σ i = 1 N A N - i [ x ( n + i ) + x ( n - i ) ] . 输入表达式:
Figure GDA00002345022700053
输出表达成如下形式:
y ( n ) = y ( 4 k ) y ( 4 k + 1 ) y ( 4 k + 2 ) y ( 4 k + 3 ) , 其中(k=0,1,2,...)。
这里y(k),y(k+1),y(k+2)以及y(k+3)可以用四个处理阶段分别计算。具体说明如下:
1、y(4k)
y ( 4 k ) = A N * x ( 4 k ) + Σ i = 1 N A N - i * x ( 4 k + i ) + Σ i = 1 N A N + i * x ( 4 k - i ) ;
当i=4,8,12,16,20,24,28,32时,中间的求和表达式等于非零值,它的系数A序号为:N-i=28,24,20,16,12,8,4,0。同样当i=4,8,12,16,20,24,28,32时,右边的求和表达式等于非零值,它的系数A序号为:N-i=28,24,20,16,12,8,4,0,所以可以折叠合并两个求和项:
y ( 4 k ) = A N * x ( 4 k ) + Σ i = 1 N A N - i * [ x ( 4 k - i ) + x ( 4 k + i ) ]
= A 32 * x ( 4 k ) + Σ i = 1 8 A N - 4 i * [ x ( 4 k - 4 i ) + x ( 4 k + 4 i ) ]
= A 32 * x ( 4 k )
+ A 28 * [ x ( 4 k - 4 ) + x ( 4 k + 4 ) ] + A 24 * [ x ( 4 k - 8 ) + x ( 4 k + 8 ) ]
+ A 20 * [ x ( 4 k - 12 ) + x ( 4 k + 12 ) ] + A 16 * [ x ( 4 k - 16 ) + x ( 4 k + 16 ) ]
+ A 12 * [ x ( 4 k - 20 ) + x ( 4 k + 20 ) ] + A 8 * [ x ( 4 k - 24 ) + x ( 4 k + 24 ) ]
+ A 4 * [ x ( 4 k - 28 ) + x ( 4 k + 28 ) ] + A 0 * [ x ( 4 k - 32 ) + x ( 4 k + 32 ) ]
2、y(4k+1)
y ( 4 k + 1 ) = A N * x ( 4 k + 1 ) + Σ i = 1 N A N - i * x ( 4 k + 1 + i ) + Σ i = 1 N A N + i * x ( 4 k + 1 - i ) ;
当i=1,5,9,13,17,21,25,29时,右边的求和表达式等于非零值,它的系数A序号为:N-i=31,27,23,19,15,11,7,3。而当i=3,7,11,15,19,23,27,31时,中间的求和表达式等于非零值,它的系数A序号为:N-i=29,25,21,17,13,9,5,1,二者系数A序号不同,不能折叠,展开求和表达式:
y ( 4 k + 1 ) = Σ i = 0 7 A 32 - ( 4 i + 3 ) * x ( 4 k + 4 i + 4 ) + Σ i = 0 7 A 32 - ( 4 i + 1 ) * x ( 4 k - 4 i )
= A 29 * x ( 4 k + 4 ) + A 25 * x ( 4 k + 8 ) + A 21 * x ( 4 k + 12 ) + A 17 * x ( 4 k + 16 )
+ A 13 * x ( 4 k + 20 ) + A 9 * x ( 4 k + 24 ) + A 5 * x ( 4 k + 28 ) + A 1 * x ( 4 k + 32 )
+ A 31 * x ( 4 k ) + A 27 * x ( 4 k - 4 ) + A 23 * x ( 4 k - 8 ) + A 19 * x ( 4 k - 12 )
+ A 15 * x ( 4 k - 16 ) + A 11 * x ( 4 k - 20 ) + A 7 * x ( 4 k - 24 ) + A 3 * x ( 4 k - 28 )
3、y(4k+2)
y ( 4 k + 2 ) = A N * x ( 4 k + 2 ) + Σ i = 1 N A N - i * x ( 4 k + 2 + i ) + Σ i = 1 N A N + i * x ( 4 k + 2 - i )
当i=2,6,10,14,18,22,26,30时,中间的求和表达式等于非零值,它的系数A序号为:N-i=30,26,22,18,14,10,6,2。同样当i=2,6,10,14,18,22,26,30时,右边的求和表达式等于非零值,它的系数A序号为:N-i=30,26,22,18,14,10,6,2,所以可以折叠合并两个求和项:
y ( 4 k + 2 ) = Σ i = 0 7 A N - ( 4 i + 2 ) * x ( 4 k - 4 i ) + Σ i = 0 7 A N - ( 4 i + 2 ) * x ( 4 k + 4 i + 4 )
= Σ i = 0 7 A N - ( 4 i + 2 ) * [ x ( 4 k - 4 i ) + x ( 4 k + 4 i + 4 ) ]
= A 30 * [ x ( 4 k ) + x ( 4 k + 4 ) ] + A 26 * [ x ( 4 k - 4 ) + x ( 4 k + 8 ) ]
+ A 22 * [ x ( 4 k - 8 ) + x ( 4 k + 12 ) ] + A 18 * [ x ( 4 k - 12 ) + x ( 4 k + 16 ) ]
+ A 14 * [ x ( 4 k - 16 ) + x ( 4 k + 20 ) ] + A 10 * [ x ( 4 k - 20 ) + x ( 4 k + 24 ) ]
+ A 6 * [ x ( 4 k - 24 ) + x ( 4 k + 28 ) ] + A 2 * [ x ( 4 k - 28 ) + x ( 4 k + 32 ) ]
4、y(4k+3)
y ( 4 k + 3 ) = A N * x ( 4 k + 3 ) + Σ i = 1 N A N - i * x ( 4 k + 3 + i ) + Σ i = 1 N A N + i * x ( 4 k + 3 - i )
当i=3,7,11,15,19,23,27,31时,右边的求和表达式等于非零值,它的系数A序号为:N-i=29,25,21,17,13,9,5,1。而当i=1,5,9,13,17,21,25,29时,中间的求和表达式等于非零值,它的系数A序号为:N-i=31,27,23,19,15,11,7,3,二者系数A序号不同,不能折叠,展开求和表达式:
y ( 4 k + 3 ) = Σ i = 0 7 A 32 - ( 4 i + 1 ) * x ( 4 k + 4 i + 4 ) + Σ i = 0 7 A 32 - ( 4 i + 3 ) * x ( 4 k - 4 i )
= A 31 * x ( 4 k + 4 ) + A 27 * x ( 4 k + 8 ) + A 23 * x ( 4 k + 12 ) + A 19 * x ( 4 k + 16 )
+ A 15 * x ( 4 k + 20 ) + A 11 * x ( 4 k + 24 ) + A 7 * x ( 4 k + 28 ) + A 3 * x ( 4 k + 32 )
+ A 29 * x ( 4 k ) + A 25 * x ( 4 k - 4 ) + A 21 * x ( 4 k - 8 ) + A 17 * x ( 4 k - 12 )
+ A 13 * x ( 4 k - 16 ) + A 9 * x ( 4 k - 20 ) + A 5 * x ( 4 k - 24 ) + A 1 * x ( 4 k - 28 )
综上,因为y(4k),y(4k+1),y(4k+2),y(4k+3)连续四拍循环输出,所以,第1拍计算y(4k),需要9个乘法器;第2拍计算y(4k+1),需要16个乘法器;第3拍计算y(4k+2),需要8个乘法器;第4拍计算y(4k+3),需要16个乘法器。第1拍和第3拍所用到的乘法器较少,如果按照四拍复用16个乘法器,则第1拍乘法器利用率56.25%,第3拍乘法器利用率50%。本发明采用13个乘法器实现该滤波器,并在第1拍和第3拍用空闲的4个乘法器计算第2拍和第4拍的后四个数据,具体为:在第1拍,乘法器0~8被分配用于计算y(4k),而乘法器9~12被分配用于计算y(4k+1)中的因子A29*x[4k+4],A25*x[4k+8],A21*x[4k+12]以及A17*x[4k+16];在第2拍,乘法器0~11被分配用于计算y(4k+1)中剩下的12个因子,乘法器12轮空空闲;同理,在第3拍,乘法器0~7被分配用于计算y(4k+2)的8个因子,乘法器8轮空空闲,而乘法器9~12被分配用于计算y(4k+3)中的因子A31*x[4k+4],A27*x[4k+8],A23*x[4k+12]以及A19*x[4k+16],在第4拍,乘法器0~11被分配用于计算y(4k+3)中剩下的12个因子,乘法器12轮空空闲。这样,每个阶段乘法器的利用率分别为100%、92.3%、92.3%、92.3%。
如图3所示,为本发明实施例发送滤波器实现结构示意图。其中,寄存器f32至寄存器f4用作保存输入信号x[4k+32]到x[4k+4],寄存器0保存输入信号x[4k],寄存器p4至p32保存输入信号x[4k-4]到x[4k-32],共17个寄存器。在模四计数器和输入控制模块的共同作用下,每4个节拍移位更新一次。在模四计数器的控制下,数据选通生成矩阵在不同的节拍选取不同的寄存器和滤波参数(A0~32)参与乘法运算,例如在节拍2,选取A29和寄存器p4(x[4k+4])作为乘法器0的两个输入,选取A25和寄存器p8(x[4k+8])作为乘法器0的两个输入,依次类推。多路选择器(MUX)的四路输入,从上到下,依次来自第1,2,3,4节拍的乘法器输出。在图3中可以看到,第1拍的输入来自乘法器0~8的输出;第2拍的输入除了来自乘法器0~11,还有(在第1拍提前计算并保存)寄存器组中的乘法器9~12的乘积;第3拍的输入来自乘法器0~7的输出;第4拍的输入除了来自乘法器0~11,还有(在第3拍提前计算并保存)寄存器组中的乘法器9~12的乘积。在模四计数器的控制下,不同的节拍的输入将被选中送到加法器的输入,由加法器计算输出最终结果。
如4所示,为本发明实施例发送滤波器工作原理图。发送滤波器根据时钟节拍,循环地工作在节拍4k,节拍4k+1,节拍4k+2以及节拍4k+3四个状态,每经过一个时钟节拍,如果输入数据有效,就切换到下一个工作状态,否则暂停,在暂停状态下,所有流水线轮空而中间计算数据保存。每个状态向共享乘法器流水线输出一组操作数。对应地,共享乘法器向节拍4k加法流水线,节拍4k+1加法流水线,节拍4k+2加法流水线以及节拍4k+3加法流水线输出一组相乘结果。输出选择循环地把节拍4k加法流水线,节拍4k+1加法流水线,节拍4k+2加法流水线以及节拍4k+3加法流水线的输出结果输出到外部下游模块。
下面,再阐述一下接收滤波器的设计原理。按照LTE设计指标要求,接收滤波器采用65阶4:1抽取FIR滤波器,详细阐述如下:
65阶滤波器,2N+1=65,N=32,系数镜像对称;
输出表达式: y ( n ) = Σ i = 0 N - 1 A i * [ x ( n - i ) + x ( n - 2 N + i ) ] + A N * x ( n - N ) .
抽取表示如下:
y ( 4 k ) = Σ i = 0 N - 1 A i * [ x ( 4 k - i ) + x ( 4 k - 2 N + i ) ] + A N * x ( 4 k - N ) , 并且每4个时钟节拍计算一次y(4k),所以y(4k)可以用连续四个时钟节拍计算获得:
y ( 4 k ) =
Σ j = 0 N 4 - 1 A 4 j * [ x ( 4 k - 4 j ) + x ( 4 k - 2 N + 4 j ) ] + A N * x ( 4 k - N ) : : : step _ 1
+ Σ j = 0 N 4 - 1 A 4 j + 1 * [ x ( 4 k - 4 j - 1 ) + x ( 4 k - 2 N + 4 j + 1 ) ] : : : step _ 2
+ Σ j = 0 N 4 - 1 A 4 j + 2 * [ x ( 4 k - 4 j - 2 ) + x ( 4 k - 2 N + 4 j + 2 ) ] : : : step _ 3
+ Σ j = 0 N 4 - 1 A 4 j + 3 * [ x ( 4 k - 4 j - 3 ) + x ( 4 k - 2 N + 4 j + 3 ) ] : : : step _ 4
其中step_1用到9个乘法器,step_2,step_3,step_4用到8个乘法器。代入N=32,下行抽取滤波器需要9个乘法器。
如图5所示,为本发明实施例接收滤波器实现结构示意图。其中,寄存器f32至寄存器p32,共计65个寄存器用作缓存输入信号,每1个节拍移位更新一次;数据选通矩阵和滤波参数(A0~32)和发送滤波器实现原理一致,此处不再赘述。多路选择器(MUX)的四路输入,从上到下,依次来自第1,2,3,4节拍的乘法器输出。在图5中可以看到,第1拍的输入来自乘法器0~8的输出;第2,3和4拍的输入来自乘法器0~7。在模四计数器的控制下,不同的节拍的输入将被选中送到加法器的输入,由加法器用4拍分4步计算全部节拍的累加结果。
如图6所示,为本发明实施例接收滤波器工作原理图。接收滤波器根据时钟节拍,循环地工作在节拍4k,节拍4k+1,节拍4k+2以及节拍4k+3四个状态,每经过一个时钟节拍,如果输入数据有效,就切换到下一个工作状态,否则暂停,在暂停状态下,所有流水线轮空而中间计算数据保存。每个状态向共享乘法器流水线输出一组操作数。对应地,共享乘法器向节拍4k加法流水线,节拍4k+1加法流水线,节拍4k+2加法流水线以及节拍4k+3加法流水线输出一组相乘结果。和发送滤波器不同的是,节拍4k+1加法流水线,节拍4k+2加法流水线以及节拍4k+3加法流水线分别累加了节拍4k加法流水线,节拍4k+1加法流水线,节拍4k+2加法流水线的加法运算结果。而节拍4k+3加法流水线的输出结果直接输出到外部下游模块。
本领域普通技术人员可以理解实现上述实施方法携带的全部或部分步骤是可以通过与程序指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
综上所述,本发明提供了FIR滤波器的实现结构,能够大幅度减少元器件的个数,降低实现成本;同时能够灵活可靠的自动适配不同数据码率。具体而言,本发明采用的FIR滤波器实现结构不仅融入了现有技术的传统方法,并结合发送滤波器将输入数据1∶4插值、接收滤波器对数据进行4∶1抽取的特点,将滤波处理分为四个处理阶段,每个阶段仅提取有效输入数据,对无效数据不作运算,并通过四个处理阶段复用乘法器进一步减少了乘法器数目;最后通过将本处理阶段空闲的乘法器用于后续阶段数据计算,从而提高了每个阶段中乘法器的利用率,进一步减少了乘法器的数目。采用本发明的实现方法,发送滤波器需要13个乘法器,比现有方法节省20个;接收滤波器需要9个乘法器,比现有方法节省24个。此外如果都采用图4所示的加法器树对乘法器输出结果进行计算,则现有方法需要6级流水线,32个加法器。采用本发明的实现方法,发送滤波器加法树需要4级流水线,15个加法器,比现有方法节省17个;接收滤波器加法树需要4级流水线,8个加法器,比现有方法节省24个。另外,本发明在滤波器上增加额外的控制逻辑,使滤波器流水线相应地根据输入数据暂停而暂停,能够灵活可靠的自动适配不同数据码率。
以上对本发明所提供的FIR滤波器的实现方法及结构进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方案;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种发送FIR滤波器的实现结构装置,其特征在于,包括:第一多路选择器、若干个寄存器、输入控制模块、模四计数器、数据选通生成矩阵模块、若干个乘法器、寄存器组、第二多路选择器、若干个加法器组成的加法器树;其中,
所述第一多路选择器,用于选择输入数据并将所述输入数据提供给寄存器;
所述寄存器,用于存储输入数据;
所述输入控制模块,用于在所述模四计数器的控制下,控制所述寄存器中存储的数据每四个时钟节拍移位更新一次;
所述模四计数器,用于控制所述数据选通生成矩阵模块在不同的时钟节拍选取不同的寄存器和滤波参数,并通过所述乘法器进行乘法运算;
所述寄存器组,用于存储所述乘法器的运算结果,并将所述运算结果通过第二多路选择器提供给所述加法器作为输入;
所述第二多路选择器,用于在所述模四计数器的控制下,将不同时钟节拍的所述乘法器的输出结果送到所述加法器作为输入,由所述加法器进行加法计算并输出最终结果。
2.根据权利要求1所述的发送FIR滤波器的实现结构装置,其特征在于,所述寄存器的个数为17个;所述加法器树为4级15个加法器;所述乘法器的个数为13个,其中,每一时钟节拍中未用到的乘法器用于计算下一个时钟节拍中未计算过的数据或者轮空空闲。
3.根据权利要求1所述的发送FIR滤波器的实现结构装置,其特征在于,所述模四计数器在时钟节拍的控制中,通过随路数据传输结束标志和随路数据有效标志控制滤波器内部流水线的暂停和恢复。
4.一种发送FIR滤波器的实现结构装置,其特征在于,包括:第一多路选择器、若干个寄存器、输入控制模块、模四计数器、数据选通生成矩阵模块、若干个乘法器、第二多路选择器、若干个加法器组成的加法器树;其中,
所述第一多路选择器,用于选择输入数据并将所述输入数据提供给寄存器;
所述寄存器,用于存储输入数据;
所述输入控制模块,用于在所述模四计数器的控制下,控制所述寄存器中存储的数据每四个时钟节拍移位更新一次;
所述模四计数器,用于控制所述数据选通生成矩阵模块在不同的时钟节拍选取不同的寄存器和滤波参数,并通过所述乘法器进行乘法运算;
所述第二多路选择器,用于在所述模四计数器的控制下,将不同时钟节拍的所述乘法器的输出结果送到所述加法器作为输入,由所述加法器进行加法计算并输出最终结果。
5.根据权利要求4所述的发送FIR滤波器的实现结构装置,其特征在于,所述寄存器的个数为17个;所述加法器树为4级15个加法器;所述乘法器的个数为16个,其中,每一时钟节拍中未用到的乘法器轮空空闲。
6.根据权利要求4所述的发送FIR滤波器的实现结构装置,其特征在于,所述模四计数器在时钟节拍的控制中,通过随路数据传输结束标志和随路数据有效标志控制滤波器内部流水线的暂停和恢复。
7.一种接收FIR滤波器的实现结构装置,其特征在于,包括:第一多路选择器、若干个寄存器、输入控制模块、模四计数器、数据选通生成矩阵模块、所述若干个乘法器、第二多路选择器、若干个加法器组成的加法器树;其中,
所述第一多路选择器,用于选择输入数据并将所述输入数据提供给寄存器;
所述寄存器,用于存储输入数据;
所述输入控制模块,用于在所述模四计数器的控制下,控制所述寄存器中存储的数据每四个时钟节拍移位更新一次;
所述模四计数器,用于控制所述数据选通生成矩阵模块在不同的时钟节拍选取不同的寄存器和滤波参数,并通过所述乘法器进行乘法运算;
所述第二多路选择器,用于在所述模四计数器的控制下,将不同时钟节拍的所述乘法器的输出结果送到所述加法器作为输入,由所述加法器用四个时钟节拍分四步计算全部时钟节拍的累加结果,并输出最终结果。
8.根据权利要求7所述的接收FIR滤波器的实现结构装置,其特征在于,所述寄存器的个数为65个;所述加法器树为4级15个加法器;所述乘法器的个数为9个,其中,每一时钟节拍中未用到的乘法器轮空空闲。
9.根据权利要求7所述的接收FIR滤波器的实现结构装置,其特征在于,所述模四计数器在时钟节拍的控制中,通过随路数据传输结束标志和随路数据有效标志控制滤波器内部流水线的暂停和恢复。
CN 200910196884 2009-09-28 2009-09-28 一种fir滤波器的实现结构装置 Active CN102035502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910196884 CN102035502B (zh) 2009-09-28 2009-09-28 一种fir滤波器的实现结构装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910196884 CN102035502B (zh) 2009-09-28 2009-09-28 一种fir滤波器的实现结构装置

Publications (2)

Publication Number Publication Date
CN102035502A CN102035502A (zh) 2011-04-27
CN102035502B true CN102035502B (zh) 2013-04-03

Family

ID=43887930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910196884 Active CN102035502B (zh) 2009-09-28 2009-09-28 一种fir滤波器的实现结构装置

Country Status (1)

Country Link
CN (1) CN102035502B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739195B (zh) * 2012-06-06 2015-12-09 华为技术有限公司 一种fir滤波器的处理方法、装置和系统
CN105281708B (zh) * 2015-11-05 2017-12-15 中国船舶重工集团公司第七二四研究所 一种基于分段并行处理的高速fir滤波实现方法
CN105720944B (zh) * 2016-01-22 2019-04-12 深圳市紫光同创电子有限公司 通用fir滤波器及其配置方法
CN105846794B (zh) * 2016-03-24 2018-12-18 中国人民解放军国防科学技术大学 一种具有启动停止控制位的插值fir滤波实现方法
CN106803750B (zh) * 2017-01-12 2020-01-10 中国电子科技集团公司第十四研究所 一种多通道流水fir滤波器
CN106920573B (zh) * 2017-03-01 2019-11-05 江苏卓胜微电子股份有限公司 基于低功耗数字电路的信号处理装置
US10425267B2 (en) * 2017-04-27 2019-09-24 Qualcomm Incorporated Techniques for reducing adjacent channel leakage-power ratio
CN107508575B (zh) * 2017-08-11 2021-02-26 西安电子科技大学 模拟有限脉冲响应滤波器
CN108228480B (zh) * 2017-12-29 2020-11-03 京信通信系统(中国)有限公司 一种数字滤波器及数据处理方法
CN111510110B (zh) * 2020-04-30 2023-10-20 上海大学 一种并行处理的插值匹配滤波方法及滤波器
CN113556101B (zh) * 2021-07-27 2023-03-14 展讯通信(上海)有限公司 Iir滤波器及其数据处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1338149A (zh) * 1998-12-14 2002-02-27 高通股份有限公司 低功率可编程数字滤波器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1338149A (zh) * 1998-12-14 2002-02-27 高通股份有限公司 低功率可编程数字滤波器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2006-136480A 2006.06.01

Also Published As

Publication number Publication date
CN102035502A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
CN102035502B (zh) 一种fir滤波器的实现结构装置
CN110688158B (zh) 计算装置以及神经网络的处理系统
US7353243B2 (en) Reconfigurable filter node for an adaptive computing machine
US6754805B1 (en) Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration
CN100562076C (zh) 时域自适应均衡器及其包含的判决反馈滤波器
US8239442B2 (en) Computing module for efficient FFT and FIR hardware accelerator
JP2003016051A (ja) 複素ベクトル演算プロセッサ
CA2861299C (en) Low delay real-to-complex conversion in overlapping filter banks for partially complex processing
CN112836813B (zh) 一种用于混合精度神经网络计算的可重构脉动阵列系统
WO2022199459A1 (zh) 一种可重构处理器及配置方法
CN101207372B (zh) 一种可实现固定小数采样率转换的方法及其装置
US8024686B2 (en) Retiming of multirate system
US5826100A (en) Digital signal processor for executing multiple instruction words
CN107092462B (zh) 一种基于fpga的64位异步乘法器
JPH04503720A (ja) デジタル信号処理装置のフレキシブル制御装置及び方法
CN101547018B (zh) 一种实现多天线系统抽取滤波的方法及装置
CN101840322B (zh) 滤波器运算单元复用的方法和滤波器的运算系统
CN103997355A (zh) 一种插值滤波方法及插值滤波器
CN101076011B (zh) 插值器串行处理装置及方法
US6401106B1 (en) Methods and apparatus for performing correlation operations
CN1330089C (zh) 有限脉冲响应滤波与欠采样相结合的方法
KR102063557B1 (ko) 시간할당 알고리즘 기반의 인터폴레이션 필터
JP4630056B2 (ja) 畳み込み演算回路
KR100905153B1 (ko) 디지털 업다운 컨버터용 필터, 인터폴레이션 필터, 및데시메이션 필터
CN200976573Y (zh) 采样率转换器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: DATANG TELECOM TECHNOLOGY INDUSTRY HOLDING CO., LT

Free format text: FORMER OWNER: LEADCORE TECHNOLOGY CO., LTD.

Effective date: 20141219

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 200233 XUHUI, SHANGHAI TO: 100191 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20141219

Address after: 100191 Haidian District, Xueyuan Road, No. 1, No. 40,

Patentee after: Datang Telecom Technology Industry Holding Co., Ltd.

Address before: 200233 Shanghai, Jiang Road, No. 41, building 4, building 333

Patentee before: Leadcore Technology Co., Ltd.