一种FIR滤波器及其对数据进行滤波的方法技术

技术编号:19597615 阅读:100 留言:0更新日期:2018-11-28 06:22
本发明专利技术公开一种FIR滤波器及其对数据进行滤波的方法,包括加法器、累加器和若干个滤波子组件;所述滤波子组件包括一个RAM、一个ROM和一个乘法器,所述RAM和所述ROM分别和所述乘法器的输入端连接;所述若干个滤波子组件中的RAM按顺序依次连接,首尾滤波子组件的RAM相连接;所述若干个滤波子组件中的乘法器的输出端分别与加法器的输入端连接;所述加法器的输出端与所述累加器的输入端连接,将逻辑资源的占用转换为存储资源的占用,充分利用FPGA的不同资源,使高阶FIR滤波器能根据需要调整资源占用,提高资源利用率。

【技术实现步骤摘要】
一种FIR滤波器及其对数据进行滤波的方法
本专利技术涉及数字滤波器
,具体涉及一种FIR滤波器及其对数据进行滤波的方法。
技术介绍
目前,数字滤波在图像处理、语音识别和模式识别等数字信号处理中占有重要地位。与模拟滤波器相比,数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。数字滤波器包括有限长单位冲激响应(FiniteImpulseResponse,FIR)滤波器和无限冲激响应滤波器两大类,其中,FIR滤波器由于既可以在实现任意幅频特性的,又能够保证严格的线性相位,因此,具有广泛的应用前景。FIR滤波器的基本公式为:y(n)=aN-1×x(n)+aN-2×x(n-1)+…+a0×x(n-N+1),按照上述公式,滤波器同时进行N个乘法和N个加法即可实现滤波,但由于FPGA硬件资源上的限制,若完全并行处理则会导致占用逻辑资源太大,因此,常规的FIR滤波器都需要进行结构的优化,一方面将处理时间拉长,分为几个时钟串行处理;另一方面减少运算量,比如,对于系数对称的滤波器可以进行折叠处理。QUARTUS自带的FIR的知识产权核(Intellectualpropertycore,IP核)就是一个比较方便的选择。但是当阶数较高时,滤波器对于可编程门阵列(FieldProgrammableGateArray,FPGA)的资源占用会成倍增大,且主要占用逻辑资源,使得逻辑资源占用饱和,而对于存储资源的占用却很小,大大降低了资源利用率。
技术实现思路
本专利技术所要解决的技术问题是:提供一种FIR滤波器及其对数据进行滤波的方法,能够合理利用资源,提高资源利用率。为了解决上述技术问题,本专利技术采用的一种技术方案为:一种FIR滤波器,包括加法器、累加器和若干个滤波子组件;所述滤波子组件包括一个RAM、一个ROM和一个乘法器,所述RAM和所述ROM分别和所述乘法器的输入端连接;所述若干个滤波子组件中的RAM按顺序依次连接,首尾滤波子组件的RAM相连接;所述若干个滤波子组件中的乘法器的输出端分别与加法器的输入端连接;所述加法器的输出端与所述累加器的输入端连接。为了解决上述技术问题,本专利技术采用的一种技术方案为:一种采用上述FIR滤波器对数据进行滤波的方法,包括步骤:S1、当数据输入所述FIR滤波器时,将所有RAM中最高位的数据依次读出,分别与对应的ROM读出的数据通过乘法器相乘,将得到的D个相乘结果相加得到一次计算结果,将所述计算结果传输至累加器,D为滤波子组件的个数;S2、除最后一个RAM外,将所述从RAM读出的数据分别写入后一个RAM的最低位地址,将从最后一个RAM读出的数据丢弃,并将所述输入的数据写入第一个RAM的最高位地址;重复步骤S1-S2直至执行了N/D次计算结果,N表示FIR滤波器的阶数。本专利技术的有益效果在于:根据FIR的原理和时分复用的思想,设计了一种由乘法器、ROM和RAM构成的FIR滤波器结构,将逻辑资源的占用转换为存储资源的占用,充分利用FPGA的不同资源,使高阶FIR滤波器能根据需要调整资源占用,提高资源利用率。附图说明图1为本专利技术实施例的FIR滤波器的结构示意图;图2为本专利技术实施例的RAM的控制框图;图3为本专利技术实施例的无滤波器时资源占用情况图;图4为本专利技术实施例的使用本专利技术FIR滤波器的资源占用情况图;图5为本专利技术实施例的使用自带FIRIP核的资源占用情况图。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:设计了一种由乘法器、ROM和RAM构成的FIR滤波器结构,将逻辑资源的占用转换为存储资源的占用。请参照图1,一种FIR滤波器,包括加法器、累加器和若干个滤波子组件;所述滤波子组件包括一个RAM、一个ROM和一个乘法器,所述RAM和所述ROM分别和所述乘法器的输入端连接;所述若干个滤波子组件中的RAM按顺序依次连接,首尾滤波子组件的RAM相连接;所述若干个滤波子组件中的乘法器的输出端分别与加法器的输入端连接;所述加法器的输出端与所述累加器的输入端连接。由上述描述可知,本专利技术的有益效果在于:根据FIR的原理和时分复用的思想,设计了一种由乘法器、ROM和RAM构成的FIR滤波器结构,将逻辑资源的占用转换为存储资源的占用,充分利用FPGA的不同资源,使高阶FIR滤波器能根据需要调整资源占用,提高资源利用率。进一步的,所述滤波子组件的个数可变。由上述描述可知,滤波子组件的个数决定了占用的时间和面积,由于滤波子组件的个数可变,因此要用到的RAM和ROM的数量可变,从而可以简单地对速度与面积进行合理优化,并且由于滤波子组件的个数可变,提高了所述FIR滤波器的适用性,无论偶数还是奇数阶数均适用。进一步的,还包括计数器,所述计数器与所述累加器连接。由上述描述可知,通过计数器可以准确的确定累计的时分复用的次数,保证滤波结果的准确性。进一步的,所述FIR滤波器的时钟CLK0满足以下关系:CLK/CLK0>N/D其中,CLK表示FIR滤波器所在的系统时钟,N表示FIR滤波器的阶数,D表示滤波子组件的个数。由上述描述可知,由于利用了时分复用思想,设置FIR滤波器的时钟与系统时钟满足上述关系,保证了数据前端和后端的无缝接续。一种采用上述FIR滤波器对数据进行滤波的方法,其特征在于,包括步骤:S1、当数据输入所述FIR滤波器时,将所有RAM中最高位的数据依次读出,分别与对应的ROM读出的数据通过乘法器相乘,将得到的D个相乘结果相加得到一次计算结果,将所述计算结果传输至累加器,D为滤波子组件的个数;S2、除最后一个RAM外,将所述从RAM读出的数据分别写入后一个RAM的最低位地址,将从最后一个RAM读出的数据丢弃,并将所述输入的数据写入第一个RAM的最高位地址;重复步骤S1-S2直至执行了N/D次计算结果,N表示FIR滤波器的阶数。进一步的,在步骤S1之前还包括步骤:S0、初始化,设置所有RAM为读取数据状态,并设置第一个RAM同时处于写入数据状态。进一步的,以数据率CLK0对输入的数据进行处理,所述CLK0满足以下关系:CLK/CLK0>N/D其中,CLK表示FIR滤波器所在的系统时钟,N表示FIR滤波器的阶数,D表示滤波子组件的个数。从上述描述可知,本专利技术的有益效果在于:根据FIR的原理和时分复用的思想,设计了一种由乘法器、ROM和RAM构成的FIR滤波器结构,将逻辑资源的占用转换为存储资源的占用,充分利用FPGA的不同资源,使高阶FIR滤波器能根据需要调整资源占用,提高资源利用率。实施例一请参照图1,一种FIR滤波器,包括加法器、累加器和若干个滤波子组件;所述滤波子组件包括一个RAM、一个ROM和一个乘法器,所述RAM和所述ROM分别和所述乘法器的输入端连接;所述若干个滤波子组件中的RAM按顺序依次连接,首尾滤波子组件的RAM相连接;所述若干个滤波子组件中的乘法器的输出端分别与加法器的输入端连接;所述加法器的输出端与所述累加器的输入端连接;所述滤波子组件的个数可变;还包括计数器,所述计数器与所述累加器连接;所述FIR滤波器的时钟CLK0满足以下关系:CLK/CLK0&本文档来自技高网
...

【技术保护点】
1.一种FIR滤波器,其特征在于,包括加法器、累加器和若干个滤波子组件;所述滤波子组件包括一个RAM、一个ROM和一个乘法器,所述RAM和所述ROM分别和所述乘法器的输入端连接;所述若干个滤波子组件中的RAM按顺序依次连接,首尾滤波子组件的RAM相连接;所述若干个滤波子组件中的乘法器的输出端分别与加法器的输入端连接;所述加法器的输出端与所述累加器的输入端连接。

【技术特征摘要】
1.一种FIR滤波器,其特征在于,包括加法器、累加器和若干个滤波子组件;所述滤波子组件包括一个RAM、一个ROM和一个乘法器,所述RAM和所述ROM分别和所述乘法器的输入端连接;所述若干个滤波子组件中的RAM按顺序依次连接,首尾滤波子组件的RAM相连接;所述若干个滤波子组件中的乘法器的输出端分别与加法器的输入端连接;所述加法器的输出端与所述累加器的输入端连接。2.根据权利要求1所述的FIR滤波器,其特征在于,所述滤波子组件的个数可变。3.根据权利要求1所述的FIR滤波器,其特征在于,还包括计数器,所述计数器与所述累加器连接。4.根据权利要求1所述的FIR滤波器,其特征在于,所述FIR滤波器的时钟CLK0满足以下关系:CLK/CLK0>N/D其中,CLK表示FIR滤波器所在的系统时钟,N表示FIR滤波器的阶数,D表示滤波子组件的个数。5.一种采用权利要求1至4中任意一项所述的FIR滤波器对数据进行滤波的方法,其特征在于,包括步骤:S1、当...

【专利技术属性】
技术研发人员:王玉珏张晶骋林煜黄奇家罗会敏
申请(专利权)人:福建星海通信科技有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1