基于FPGA的多组数据FIR滤波改进方法技术

技术编号:40920489 阅读:37 留言:0更新日期:2024-04-18 14:45
本发明专利技术实施例公开了一实现多组数据同时进行FIR滤波的改进方法。将各组数据存放到FIFO中,设置一个包含多个时钟周期的复用周期,包含的时钟周期个数与需要同时滤波的数据组个数相同。在该复用周期内,每个不同的时钟周期每一个FIFO输出一个数据,构成一组串行数据。根据滤波器的阶数和复用周期决定寄存器个数,将FIFO输出的串行数据依次放入寄存器中缓存,同时准备与滤波系数个数相同的乘法器,每个乘法器的乘数为滤波系数,被乘数为间隔为复用周期个数的寄存器中的数据值,所有乘积求和可以得到当前时钟周期内的滤波结果。该方法滤波所用乘法器只与滤波阶数有关,因此减少了多组数据同时滤波执行乘法运算与乘法器的数量与执行加法运算的加法器的数量。

【技术实现步骤摘要】

本专利技术涉及基于fpga的多组数据进行fir滤波的改进算法,属于信号处理。


技术介绍

1、目前,fir滤波广范应用于图像处理,雷达探测,超声探查等数字信号处理领域。fpga具有直接面向用户,灵活性和通用性极大,使用方便,硬件测试和实现快捷等特点,所以大量的信号处理工作选用fpga来实现。

2、fir的算法原来可以表示为:

3、

4、 其中 x(n) 为输入信号序列,h(n) 为 fir 滤波器的抽头系数,m为输入序列长度,n为滤波器长度。实现过程中,需要对输入数据进行延迟,得到滤波器阶数 n 个延迟数据来进行运算。对于多组数据进行fir滤波运算时,常用的方法是将单组数据fir滤波运算进行多次例化,分别对各组数据进行滤波运算,由于滤波会消耗 fpga 内部大量的存储器资源或寄存器资源和乘法器资源,多次例化会成倍增加资源的占用,容易造成设计资源和时序紧张,浪费很大的资源。


技术实现思路

1、本专利技术要解决的技术问题是提供一种实现多组数据fir 滤波的方法和滤波装置,解决现有本文档来自技高网...

【技术保护点】

1.一种实现多组数据的FIR滤波器的改进方法,其特征是应用于FPGA,设置一个包含多个时钟周期的复用周期,复用周期包含的时钟周期个数与需要同时滤波的数据组个数相同;在该复用周期内,每个不同的时钟周期每一个FIFO依次输出其中一组数据中的一个,构成一组串行数据;滤波运算时,根据滤波器的阶数和复用周期决定寄存器个数,将串行数据依次放入寄存器中缓存,同时准备与滤波系数个数相同的乘法器,每个乘法器的乘数为滤波系数,被乘数为从寄存器1开始,每隔复用周期个数寄存器中的数据值,所有乘积求和可以得到当前时钟内的滤波结果。

2.根据权利要求1所述的,其特征是并行滤波的数据为k组,所设置的一个复...

【技术特征摘要】

1.一种实现多组数据的fir滤波器的改进方法,其特征是应用于fpga,设置一个包含多个时钟周期的复用周期,复用周期包含的时钟周期个数与需要同时滤波的数据组个数相同;在该复用周期内,每个不同的时钟周期每一个fifo依次输出其中一组数据中的一个,构成一组串行数据;滤波运算时,根据滤波器的阶数和复用周期决定寄存器个数,将串行数据依次放入寄存器中缓存,同时准备与滤波系数个数相同的乘法器,每个乘法器的乘数为滤波系数,被乘数为从寄存器1开始,每隔复用周期个数寄存器中的数据值,所有乘积求和可以得到当前时钟内的滤波结果。

2.根据权利要求1所述的,其特征是并行滤波的数据为k组,所设置的一个复用周期包括多个时钟周期具体为:复用周期倍数则为k ,即一个复用周期内包含k个时钟周期。

3.根据权利要求1所述的,其特征是多组数据存入多组fifo,每一个fifo 在复用周期的不同时钟周期输出一个数据构成一组串行数据,具体表示为:

4....

【专利技术属性】
技术研发人员:张笑
申请(专利权)人:南京云石医疗科技有限公司
类型:发明
国别省市:

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

1