CN105720944B - 通用fir滤波器及其配置方法 - Google Patents
通用fir滤波器及其配置方法 Download PDFInfo
- Publication number
- CN105720944B CN105720944B CN201610046237.2A CN201610046237A CN105720944B CN 105720944 B CN105720944 B CN 105720944B CN 201610046237 A CN201610046237 A CN 201610046237A CN 105720944 B CN105720944 B CN 105720944B
- Authority
- CN
- China
- Prior art keywords
- module
- filtering processing
- processing module
- target
- road
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
- H03H17/0635—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种通用FIR滤波器及其配置方法,先设置FIR滤波器的通用模块库,该通用模块库包括多路滤波处理模块,每路滤波处理模块包括数据输入模块和运算模块;然后在实际使用时获取当前需求的目标FIR滤波器设计参数,进而根据获取的设计参数计算得到当前目标FIR滤波器需要滤波处理模块的路数k,然后从通用模块库中选择、并根据设计参数启用k路目标滤波处理模块即可实现当前需要的目标FIR滤波器。本发明提供通用模块库然后根据当前实际需求灵活选用,可以提升资源利用率,且可提升设计人员的设计效率和使用体验的满意度。
Description
技术领域
本发明涉及通信领域,具体涉及一种通用FIR(Finite Impulse Response,有限长单位冲激响应)滤波器及其配置方法。
背景技术
随着雷达、图像、通信等领域对数字信号处理的要求越来越高,研究人员正寻找一种高速数字信号处理的方法,以满足这种高速信号处理的要求。FPGA(Field-Programmable Gate Array,即现场可编程门阵列)具有灵活的可编程逻辑,可以方便的实现高速数字信号处理,突破了并行处理、流水级数的限制,有效的利用了片上资源。
有限长单位冲激响应FIR滤波器,其h(n)具有中心对称性。对于单通道FIR滤波器每完成一次滤波需要N/2(N为偶数)或(N+1)/2(N为奇数)次乘法和N-1或N次加法(N为滤波器阶数)。单通道FIR滤波器乘加运算次数与N直接相关;对于高阶FIR滤波器,如无线通信中使用的成型滤波器(N=96,复滤波),需要消耗乘法器个数为48*2=96个;如果涉及M种载波带宽(映射到滤波器也就是M个通道),则消耗的乘法器硬件资源为M*96。因此,随着FIR滤波器阶数和通道数的增加,FPGA硬件资源将成为实现高阶多通道FIR滤波器的瓶颈。因此如何合理利用FPGA硬件资源,使硬件资源利用率到达最优是目前亟需解决的技术问题。
发明内容
本发明要解决的主要技术问题是,提供一种通用FIR滤波器及其配置方法,解决如何提升FPGA硬件资源利用率的问题。
为解决上述技术问题,本发明提供一种通用FIR滤波器,包括:
通用模块库,所述通用模块库包括多路滤波处理模块,每路滤波处理模块包括数据输入模块和运算模块;
控制模块,用于获取当前目标FIR滤波器设计参数,根据所述设计参数计算得到所述目标FIR滤波器需要的滤波处理模块的路数k,从所述通用模块库中选择、并根据所述设计参数启用k路目标滤波处理模块;所述k为大于等于1的整数。
在本发明的一种实施例中,所述设计参数包括通道数M、各通道的滤波器阶数Ni和时钟数据速率比Ri,所述i大于等于0,小于等于M-1;所述控制模块根据所述设计参数计算得到所述目标FIR滤波器需要滤波处理模块的路数k包括:
从所述M个通道中选择出最小的时钟数据速率比Ri作为Rmin;
根据各通道的滤波器阶数Ni计算得到各通道的乘法次数,并将各通道的乘法次数相加得到SUM;
将所述SUM除以所述Rmin并向上取整得到路数k。
在本发明的一种实施例中,所述控制模块从所述通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断分配到该路目标滤波处理模块的通道数是否大于所述Rmin,如是,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
在本发明的一种实施例中,所述控制模块从所述通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断所述Rmin是否大于等于该路目标滤波处理模块上分配的各通道的乘法次数总和,如否,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
在本发明的一种实施例中,所述运算模块包括乘法运算单元;所述控制模块在启用目标滤波处理模块上的乘法运算单元时,包括:
包括获取该路目标滤波处理模块上各通道的滤波器阶数Ni,对应各通道启用的乘法运算单元个数Fi等于滤波器阶数Ni除以2向上取整的值。
在本发明的一种实施例中,还包括与所述控制模块连接的系数存储模块,用于存储所述设计参数。
在本发明的一种实施例中,还包括数据输出模块,与所述各路滤波处理模块的运算模块输出端连接,将所述各路滤波处理模块滤波处理后的数据输出。
在本发明的一种实施例中,所述数据输入模块为并串转换数据输入模块,所述数据输出模块为串并转换数据输出模块。
为了解决上述问题,本发明还提供了一种通用FIR滤波器配置方法,包括:
设置FIR滤波器的通用模块库,所述通用模块库包括多路滤波处理模块,每路滤波处理模块包括数据输入模块和运算模块;
获取当前需求的目标FIR滤波器设计参数,根据所述设计参数计算得到所述目标FIR滤波器需要滤波处理模块的路数k,所述k为大于等于1的整数;
从所述通用模块库中选择、并根据所述设计参数启用k路目标滤波处理模块得到所述目标FIR滤波器。
在本发明的一种实施例中,所述设计参数包括通道数M、各通道的滤波器阶数Ni和时钟数据速率比Ri,所述i大于等于0,小于等于M-1;根据所述设计参数计算得到所述目标FIR滤波器需要滤波处理模块的路数k包括:
从所述M个通道中选择出最小的时钟数据速率比Ri作为Rmin;
根据各通道的滤波器阶数Ni计算得到各通道的乘法次数,并将各通道的乘法次数相加得到SUM;
将所述SUM除以所述Rmin并向上取整得到路数k。
在本发明的一种实施例中,从所述通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断分配到该路目标滤波处理模块的通道数是否大于所述Rmin,如是,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
在本发明的一种实施例中,从所述通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断所述Rmin是否大于等于该路目标滤波处理模块上分配的各通道的乘法次数总和,如否,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
在本发明的一种实施例中,所述运算模块包括乘法运算单元;在启用目标滤波处理模块上的乘法运算单元时,包括:
包括获取该路目标滤波处理模块上各通道的滤波器阶数Ni,对应各通道启用的乘法运算单元个数Fi等于滤波器阶数Ni除以2向上取整的值。
本发明的有益效果是:
本发明提供的通用FIR滤波器及其配置方法,先设置FIR滤波器的通用模块库,该通用模块库包括多路滤波处理模块,每路滤波处理模块包括数据输入模块和运算模块;然后在实际使用时获取当前需求的目标FIR滤波器设计参数,进而根据获取的设计参数计算得到当前目标FIR滤波器需要滤波处理模块的路数k,然后从通用模块库中选择、并根据设计参数启用k路目标滤波处理模块即可实现当前需要的目标FIR滤波器。本发明提供通用模块库然后根据当前实际需求灵活选用,可以提升资源利用率,且可提升设计人员的设计效率和使用体验的满意度。
进一步的,本发明根据设计参数确定路数k时,获取的设计参数包括通道数M、各通道的滤波器阶数Ni和时钟数据速率比Ri,然后从M个通道中选择出最小的时钟数据速率比Ri作为Rmin;根据各通道的滤波器阶数Ni计算得到各通道的乘法次数,并将各通道的乘法次数相加得到SUM;将SUM除以所述Rmin并向上取整得到路数k。通过该方式确认路数k,可以实现多通道并行FIR滤波器,也即可以采用时分复用的方式实现高阶多通道滤波器,可以平衡通道数M、各通道的滤波器阶数Ni、时钟数据速率比Ri与资源消耗之间的矛盾,进一步使得资源利用率达到最优。
附图说明
图1为本发明实施例一提供的通用FIR滤波器配置方法流程示意图;
图2为本发明实施例二提供的通用FIR滤波器结构示意图;
图3为本发明实施例二提供的并串转换模块实现多通道时分复用的数据流示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
请参见图1所示,本实施例提供的通用FIR滤波器配置方法包括以下过程:
步骤101:设置FIR滤波器的通用模块库,设置的通用模块库包括多路滤波处理模块,每路滤波处理模块包括数据输入模块和运算模块;应当理解的是,本实施例中通用模块库中包含的滤波处理模块的具体数量可以根据具体应用场景等因素灵活设定;
步骤102:获取当前需求的目标FIR滤波器设计参数;例如当前是要实现几 通道、各通道的滤波器阶数以及时钟数据速率比等;
步骤103:根据得到的设计参数计算得到目标FIR滤波器需要滤波处理模块的路数k,得到的k为大于等于1的整数;
步骤104:从通用模块库中选择、并根据上述设计参数启用k路目标滤波处理模块得到当前需求的目标FIR滤波器。
下面以步骤102中获取的设计参数包括通道数M、各通道的滤波器阶数Ni和时钟数据速率比Ri,(i大于等于0,小于等于M-1)为例,对确定当前设计的目标FIR滤波器所需的资源数为例进行说明,该过程如下:
从M个通道中选择出最小的时钟数据速率比Ri作为Rmin;
根据各通道的滤波器阶数Ni计算得到各通道的乘法次数,并将各通道的乘法次数相加得到SUM;
将得到的SUM除以Rmin并向上取整得到路数k。
上述计算规则请参见下表一所示:
表一
通过上述方式确定出需要的资源数后,从通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断分配到该路目标滤波处理模块的通道数是否大于Rmin,如是,表明该路目标滤波处理模块的数据输入模块无法满 足需求,需为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
另外,在每启用一路目标滤波处理模块时,判断Rmin是否大于等于该路目标滤波处理模块上分配的各通道的乘法次数总和,也即判断一个复用周期内按单个乘法计算最少可完成的乘法次数Rmin否大于目标滤波处理模块上分配的各通道的乘法次数总和,如是,则满足复用,否则,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
在本实施例中,还包括设置系数存储模块,各路滤波处理模块可以共用一个系数存储模块,当然根据实际需求也可以设置不同的滤波处理模块使用不同的系数存储模块。所设置的系数存储模块用于存储滤波器系数,具体可将系数存储模块按通道号划分为多块存储空间分别存储滤波器系数;读取时按通道号索引即可。也即本实施例中的系数存储模块主要用于实现多通道滤波系数的动态配置与回读,由控制模块分时选择对应通道系数的读出。
本实施例中还包括数据输出模块,该数据输出模块与各路滤波处理模块的运算模块输出端连接,将各路滤波处理模块滤波处理后的数据输出。当然,根据实际需求,也可以为每一路滤波处理模块单独设置一个数据输出模块。本实施例中的滤波处理模块的运算模块包括依次连接(流水处理)的乘累加运算单元(包括乘法运算单元和加法运算单元)、饱和处理单元和截位处理单元。
本实施例设置的数据输入模块为并串转换数据输入模块,数据输出模块为串并转换数据输出模块。
另外,由于FIR滤波器数学表达式如下:
y(n)=x(n)*h(n)=h(0)x(n)+h(1)x(n-1)+…+h(N-1)x(n-N-1),n=0,1,…N-1;
其中,x(n)为第n时刻的采样值,y(n)为滤波器输出,h(n)为滤波器第n 级抽头系数(也称单位冲击响应),N为滤波器阶数。
对于FIR滤波器,h(n)具有中心对称性,即h(n)=±h(N-1-n);加上N的奇偶性,共有四种类型的线性相位FIR滤波器:
1)h(n)偶对称h(n)=h(N-1-n),N为奇数,尤其适合于设计低通滤波器LP(lowpass filter)/高通滤波器HP(high pass filter)/带通滤波器BP(band pass filter)/带阻滤波器BS(band stop filter);
2)h(n)偶对称h(n)=h(N-1-n),N为偶数,可用于设计LP/BP;
3)h(n)奇对称h(n)=-h(N-1-n),N为奇数;
4)h(n)奇对称h(n)=-h(N-1-n),N为偶数;
利用上述表达式h(n)具有中心对称性,在启用目标滤波处理模块上的乘法运算单元时,可进行以下处理以节省乘法运算单元的数量:
获取该路目标滤波处理模块上各通道的滤波器阶数Ni,对应各通道启用的乘法运算单元个数Fi等于滤波器阶数Ni除以2向上取整的值。也即为当N为偶数时,启动的乘法运算单元个数Fi=N/2,启动的乘法运算单位个数为奇数时,启动的乘法运算单元个数Fi=(N+1)/2。以上通过利用h(n)的对称性,加上控制数据存储模块RAM的双口读出实现的。
通过上述处理方式则可以节省一半的乘法运算单元,可进一步提升资源利用效率。
运算单元乘累加后的数据位宽比较宽,实际工程中往往需要对输出进行饱和截位。本实施例中截位处理单元可以采用以下两种方式的任意一种:
一种是硬截位,即直接丢掉数据扩展的低位;
另一种是四舍五入,工程实现时可以采用预加0.5,然后硬截位的方式来实现。优选采用后面这一种。
本实施例中的饱和处理单元所进行的饱和处理主要是去掉乘累加后输出数据多余的符号位,饱和的位数可以由滤波器阶数计算得出。以N1=7为例,数据位宽Wdata为16bit,系数定标为[1,17],乘累加输出位宽应该为36bit,多余的高位应饱和掉。
本实施例中数据输出模块采用串并转换模块主要实现将多通道时分滤波处理后的结果转为并行输出,通道间输出数据与输入数据时序关系保持一致,这样可以保证各通道经过滤波器后处理延时一致。
实施例二:
本实施例提供了一种通用FIR滤波器,请参见图2所示,包括:
通用模块库,通用模块库包括多路滤波处理模块,每路滤波处理模块包括数据输入模块1和运算模块2;应当理解的是,本实施例中通用模块库中包含的滤波处理模块的具体数量可以根据具体应用场景等因素灵活设定,优选设置的数量满足尽可能多的应用场景需求;本实施例中运算模块2包括依次连接的乘累加运算单元21(包括乘法运算单元和加法运算单元)、截位处理单元22和饱和处理单元23;运算单元乘累加后的数据位宽比较宽,实际工程中往往需要对输出进行饱和截位。本实施例中截位处理单元22可以采用以下两种方式的任意一种:
一种是硬截位,即直接丢掉数据扩展的低位;
另一种是四舍五入,工程实现时可以采用预加0.5,然后硬截位的方式来实现。优选采用后面这一种。
本实施例中的饱和处理单元23所进行的饱和处理主要是去掉乘累加后输出数据多余的符号位,饱和的位数可以由滤波器阶数计算得出。
控制模块3,用于获取当前设计的目标FIR滤波器设计参数,根据设计参数 计算得到目标FIR滤波器需要的滤波处理模块的路数k,从通用模块库中选择、并根据设计参数启用k路目标滤波处理模块;得到的k为大于等于1的整数。
通用FIR滤波器还包括与所述控制模块3连接的系数存储模块4,用于存储设计参数,还可以用于存储其他的各种系数。系数存储模块4主要用于实现多通道滤波系数的动态配置与回读,由控制模块3分时选择对应通道系数的读出。
本实施例中的通用FIR滤波器还包括数据输出模块5,与各路滤波处理模块的运算模块输出端连接,数据输出模块5用于将各路滤波处理模块滤波处理后的数据输出。本实施例中数据输入模块1为并串转换数据输入模块,数据输出模块5为串并转换数据输出模块,主要实现将多通道时分滤波处理后的结果转为并行输出,通道间输出数据与输入数据时序关系保持一致,这样可以保证各通道经过滤波器后处理延时一致。
本实施例中,控制模块3获取的设计参数包括通道数M、各通道的滤波器阶数Ni和时钟数据速率比Ri,i大于等于0,小于等于M-1;控制模块3根据设计参数计算得到目标FIR滤波器需要滤波处理模块的路数k包括:
从M个通道中选择出最小的时钟数据速率比Ri作为Rmin;
根据各通道的滤波器阶数Ni计算得到各通道的乘法次数,并将各通道的乘法次数相加得到SUM;
将SUM除以所述Rmin并向上取整得到路数k。
控制模块通过上述方式确定出需要的资源数后,从通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断分配到该路目标滤波处理模块的通道数是否大于所述Rmin,如是,表明该路目标滤波处理模块的数据输入模块无法满足需求,需为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
另外,控制模块在每启用一路目标滤波处理模块时,判断Rmin是否大于等于该路目标滤波处理模块上分配的各通道的乘法次数总和,也即判断一个复用周期内按单个乘法计算最少可完成的Rmin次乘法是否大于目标滤波处理模块上分配的各通道的乘法次数总和,如是,则满足复用,否则,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
本实施例中,控制模块3在启用目标滤波处理模块上的乘法运算单元时,可以利用h(n)具有中心对称性,进行以下处理以节省乘法运算单元的数量:
获取该路目标滤波处理模块上各通道的滤波器阶数Ni,对应各通道启用的乘法运算单元个数Fi等于滤波器阶数Ni除以2向上取整的值。也即为当N为偶数时,启动的乘法运算单元个数Fi=N/2,启动的乘法运算单位个数为奇数时,启动的乘法运算单元个数Fi=(N+1)/2。通过上述处理方式则可以节省一半的乘法运算单元,可进一步提升资源利用效率。
为了更好的理解本发明,下面结合一个具体示例进行说明。
本示例中FPGA实现2通道并行FIR滤波器,通道M0的R0=12,N0=7,通道M1的R1=24,N1=15(R为时钟与数据速率比,N为滤波器阶数),则:
Rmin=R0=12;
SUM=(N0+1)/2+(N1+1)/2=(7+1)/2+(15+1)/2=12;
k=ceil(SUM/Rmin)=(12/12)=1。
也即选择启用一路滤波处理模块(也即1RAM+1DSP)即可。且实际综合报告显示最高时钟频率超过150M,上板实测结果满足系统性能要求。
通过上述方式选择出一路滤波处理模块然后根据上述设计参数进行启用。其中,输入数据是并串转换模块实现多通道时分复用的数据流示意图3所示。
din0、din1为输入的2通道并行数据,数据位宽W均为16bit,时钟数据 速率比分别为R1=12,R1=24,Rmin=min(R1,R2)=12,Rmax=max(R1,R2)=24;滤波器阶数分别为N1=7,N2=15,Nmax=max(N1,N2)=15。Ram-in和Ram-out则分别为输入数据和输出数据。
为便于多通道时分处理,本示例中可以首先将多通道并行输入数据的顺序按照R值从小到大排列,然后依次分时写入数据输入模块(也即数据RAM);单个通道输入数据在RAM中可以按通道分块存储,也可以按照复用关系间插存储;当通道数M大于最小时钟数据速率比Rmin时,单个数据RAM无法满足需求,需要增加数据滤波处理模块(包括增加数据RAM和运算模块)。
由于h(n)具有对称性,利用此特性可节省一半的乘法运算单元。以N1=7为例,由FIR滤波器数学表达式知,
y(n)=x(n)*h(n)=h(0)x(n)+h(1)x(n-1)+…+h(N-1)x(n-N-1),n=0,1,…N-1;
取n=6时,将N1=7带入上式,得:
y(6)=h(0)x(6)+h(1)x(5)+h(2)x(4)+h(3)x(3)+h(4)x(2)+h(5)x(1)+h(6)x(0);
利用h(n)的偶对称性h(n)=h(N-1-n),得:
y(6)=h(0)(x(6)+x(0))+h(1)(x(5)+x(1))+h(2)(x(4)+x(2))+h(3)x(3);因此此时启用4个乘法运算单元即可,相对现有则可减少3个乘法运算单元。以此类推,当N1=8时,按照上述方式计算也可以得到仅需启用4个乘法运算单元即可,相对现有则可减少4个乘法运算单元。
本示例中采用的数据RAM为真双口RAM,写入数据为单口,读出数据为双口,每次可同时读出2个地址的数据;通过控制RAM的读地址,可以将data按照{d0,d6}、{d1,d5}、{d2,d4}、{d3,d3}的方式读出,提前预加即可实现乘法次 数减半。
由Rmin=12可知,复用周期内按单个乘法计算最少可完成12次乘法;又N1=7,N2=15,需要总的乘法次数为(N1+1)/2+(N2+1)/2=12,刚好满复用。
如果不能满足复用要求,则复用周期内需要增加启用至少一路RAM+DSP处理单元,每多启用1个RAM+DSP,对Rmin的要求可降低一半。
本示例中输出端的串并转换模块主要实现将多通道时分滤波处理后的结果转为并行输出,通道间输出数据与输入数据时序关系保持一致,这样可以保证各通道经过滤波器后处理延时一致。
可见,通过本发明提供的方案,可在提供的通用FIR滤波器基础上按需配置得到当前实际需求的目标FIR滤波器,可提升资源利用率。进一步的,还在在此基础上采用时分复用的方式实现高阶多通道滤波器,平衡了滤波器通道数(M)、滤波器阶数(N)与资源消耗(DSP+RAM)之间的矛盾,使得硬件资源消耗达到最优化。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (11)
1.一种通用FIR滤波器,其特征在于,包括:
通用模块库,所述通用模块库包括多路滤波处理模块,每路滤波处理模块包括数据输入模块和运算模块;
控制模块,用于获取当前需求的目标FIR滤波器设计参数,根据所述设计参数计算得到所述目标FIR滤波器需要的滤波处理模块的路数k,从所述通用模块库中选择、并根据所述设计参数启用k路目标滤波处理模块;所述k为大于等于1的整数;
所述设计参数包括通道数M、各通道的滤波器阶数Ni和时钟数据速率比Ri,所述i大于等于0,小于等于M-1;所述控制模块根据所述设计参数计算得到所述目标FIR滤波器需要滤波处理模块的路数k包括:
从所述M个通道中选择出最小的时钟数据速率比Ri作为Rmin;
根据各通道的滤波器阶数Ni计算得到各通道的乘法次数,并将各通道的乘法次数相加得到SUM;
将所述SUM除以所述Rmin并向上取整得到路数k。
2.如权利要求1所述的通用FIR滤波器,其特征在于,所述控制模块从所述通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断分配到该路目标滤波处理模块的通道数是否大于所述Rmin,如是,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
3.如权利要求1所述的通用FIR滤波器,其特征在于,所述控制模块从所述通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断所述Rmin是否大于等于该路目标滤波处理模块上分配的各通道的乘法次数总和,如否,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
4.如权利要求2或3所述的通用FIR滤波器,其特征在于,所述运算模块包括乘法运算单元;所述控制模块在启用目标滤波处理模块上的乘法运算单元时,包括:
包括获取该路目标滤波处理模块上各通道的滤波器阶数Ni,对应各通道启用的乘法运算单元个数Fi等于滤波器阶数Ni除以2向上取整的值。
5.如权利要求1-3任一项所述的通用FIR滤波器,其特征在于,还包括与所述控制模块连接的系数存储模块,用于存储所述设计参数。
6.如权利要求1-3任一项所述的通用FIR滤波器,其特征在于,还包括数据输出模块,与所述各路滤波处理模块的运算模块输出端连接,将所述各路滤波处理模块滤波处理后的数据输出。
7.如权利要求6所述的通用FIR滤波器,其特征在于,所述数据输入模块为并串转换数据输入模块,所述数据输出模块为串并转换数据输出模块。
8.一种通用FIR滤波器配置方法,其特征在于,包括:
设置FIR滤波器的通用模块库,所述通用模块库包括多路滤波处理模块,每路滤波处理模块包括数据输入模块和运算模块;
获取当前需求的目标FIR滤波器设计参数,根据所述设计参数计算得到所述目标FIR滤波器需要滤波处理模块的路数k,所述k为大于等于1的整数;
从所述通用模块库中选择、并根据所述设计参数启用k路目标滤波处理模块得到所述目标FIR滤波器;
所述设计参数包括通道数M、各通道的滤波器阶数Ni和时钟数据速率比Ri,所述i大于等于0,小于等于M-1;根据所述设计参数计算得到所述目标FIR滤波器需要滤波处理模块的路数k包括:
从所述M个通道中选择出最小的时钟数据速率比Ri作为Rmin;
根据各通道的滤波器阶数Ni计算得到各通道的乘法次数,并将各通道的乘法次数相加得到SUM;
将所述SUM除以所述Rmin并向上取整得到路数k。
9.如权利要求8所述的通用FIR滤波器配置方法,其特征在于,从所述通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断分配到该路目标滤波处理模块的通道数是否大于所述Rmin,如是,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
10.如权利要求8所述的通用FIR滤波器配置方法,其特征在于,从所述通用模块库中选择并启用k路目标滤波处理模块包括:
每启用一路目标滤波处理模块时,判断所述Rmin是否大于等于该路目标滤波处理模块上分配的各通道的乘法次数总和,如否,为该路目标滤波处理模块新增并启用一路目标滤波处理模块。
11.如权利要求9或10所述的通用FIR滤波器配置方法,其特征在于,所述运算模块包括乘法运算单元;在启用目标滤波处理模块上的乘法运算单元时,包括:
包括获取该路目标滤波处理模块上各通道的滤波器阶数Ni,对应各通道启用的乘法运算单元个数Fi等于滤波器阶数Ni除以2向上取整的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610046237.2A CN105720944B (zh) | 2016-01-22 | 2016-01-22 | 通用fir滤波器及其配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610046237.2A CN105720944B (zh) | 2016-01-22 | 2016-01-22 | 通用fir滤波器及其配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105720944A CN105720944A (zh) | 2016-06-29 |
CN105720944B true CN105720944B (zh) | 2019-04-12 |
Family
ID=56153923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610046237.2A Active CN105720944B (zh) | 2016-01-22 | 2016-01-22 | 通用fir滤波器及其配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105720944B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979355A (zh) * | 2017-12-22 | 2018-05-01 | 西安烽火电子科技有限责任公司 | 一种fir滤波器及其滤波方法 |
CN110247642B (zh) * | 2019-06-13 | 2023-07-11 | 江苏卓胜微电子股份有限公司 | 一种fir滤波方法及滤波器 |
CN112468115B (zh) * | 2021-01-27 | 2021-08-03 | 江苏永鼎通信有限公司 | 节省乘法器数量的5g高速信号并行滤波方法、系统及装置 |
CN113783549A (zh) * | 2021-09-10 | 2021-12-10 | 上海大学 | 一种插值滤波方法和插值滤波装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110927B1 (en) * | 2000-02-23 | 2006-09-19 | Altera Corporation | Finite impulse response (FIR) filter compiler |
CN102035502A (zh) * | 2009-09-28 | 2011-04-27 | 联芯科技有限公司 | 一种fir滤波器的实现结构 |
CN102457251A (zh) * | 2010-11-01 | 2012-05-16 | 中兴通讯股份有限公司 | 一种实现通用数字滤波器的方法及装置 |
CN102684644A (zh) * | 2011-03-11 | 2012-09-19 | 中兴通讯股份有限公司 | 采样率转换滤波器及采样率转换实现方法 |
CN204316468U (zh) * | 2014-12-25 | 2015-05-06 | 上海贝岭股份有限公司 | 一种多路数字滤波器 |
-
2016
- 2016-01-22 CN CN201610046237.2A patent/CN105720944B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110927B1 (en) * | 2000-02-23 | 2006-09-19 | Altera Corporation | Finite impulse response (FIR) filter compiler |
CN102035502A (zh) * | 2009-09-28 | 2011-04-27 | 联芯科技有限公司 | 一种fir滤波器的实现结构 |
CN102457251A (zh) * | 2010-11-01 | 2012-05-16 | 中兴通讯股份有限公司 | 一种实现通用数字滤波器的方法及装置 |
CN102684644A (zh) * | 2011-03-11 | 2012-09-19 | 中兴通讯股份有限公司 | 采样率转换滤波器及采样率转换实现方法 |
CN204316468U (zh) * | 2014-12-25 | 2015-05-06 | 上海贝岭股份有限公司 | 一种多路数字滤波器 |
Also Published As
Publication number | Publication date |
---|---|
CN105720944A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105720944B (zh) | 通用fir滤波器及其配置方法 | |
CN102412808B (zh) | 一种基于fpga的高性能多路fir数字抽取滤波器及其读写方法 | |
JP2007166535A5 (zh) | ||
CN101478785B (zh) | 资源池管理系统及信号处理方法 | |
CN102098004A (zh) | 一种变带宽数字下变频器及实现方法 | |
CN106656103B (zh) | 一种fir滤波器组及滤波方法 | |
US20080071846A1 (en) | Processor Architecture for Programmable Digital Filters in a Multi-Standard Integrated Circuit | |
CN101958697B (zh) | 一种多相滤波结构的实现方法及装置 | |
CN104393854A (zh) | 基于fpga的时分复用级联积分梳状抽取滤波器及其实现方法 | |
CN100574098C (zh) | 基于可编程逻辑器件的插值cic滤波器及实现方法 | |
CN104932992B (zh) | 一种带宽粒度可变的微波数字柔性转发方法 | |
CN101072019B (zh) | 一种滤波器及其滤波方法 | |
CN113556101B (zh) | Iir滤波器及其数据处理方法 | |
CN204316468U (zh) | 一种多路数字滤波器 | |
CN103378820A (zh) | 可编程数字滤波实现方法、装置、基带芯片及其终端 | |
CN103078606B (zh) | 多通道的cic内插滤波器系统及其实现方法 | |
CN113179104B (zh) | 用于空天多载波通信的子载波信号提取系统及方法 | |
CN102457251B (zh) | 一种实现通用数字滤波器的方法及装置 | |
CN206461580U (zh) | 数字滤波设备 | |
CN101272209B (zh) | 一种对多通道复用数据进行滤波的方法及设备 | |
CN107979355A (zh) | 一种fir滤波器及其滤波方法 | |
CN113890548A (zh) | 用于信号上变频的装置及现场可编程门阵列 | |
CN108631752A (zh) | 成形滤波器及其成形方法 | |
CN208369545U (zh) | 通用型滤波器 | |
CN101174822A (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 | ||
CB02 | Change of applicant information |
Address after: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16 Applicant after: Shenzhen Pango Microsystems Co., Ltd. Address before: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16 Applicant before: SHENZHEN PANGO MICROSYSTEMS CO., LTD. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |