新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 高阶FIR滤波器的计算机设计与FPGA实现

高阶FIR滤波器的计算机设计与FPGA实现

作者: 时间:2011-03-31 来源:网络 收藏

以本文设计的为例(后面详述),输入信号的速率为2 MHz(周期为500 ns),的阶数为64阶,由此构造了8个乘法器(最多可以构造25个),分8次完成所有的乘法。相对分布式算法的流水速度而言,构造的乘法器完成一次乘法需要20 ns,相对耗时长一点,但是完成8次乘法也只需8×20=160 ns,小于输入信号一个周期的时间,因此满足设计需求。将输入数据的一个周期平均分为8个时间块,每个时间内的滤波设计模块的框图如图4所示。

本文引用地址:https://www.eepw.com.cn/article/191265.htm

8.JPG


其他7个时间块内的模块同图4,所不同的是参与乘法运算的信号输入数据和滤波器抽头系数不同,分别从x(n-8)到x(n-63)和h(8)到h(63)。待8个乘加模块的结果均送入寄存器后,再在最后一个时间块内完成累加得到最终的输出(相对乘法运算而言,完成累加的时间可以忽略),其实现框图如图5。
结合图4和图5,可全部完成基于LPM参数化宏功能模块的FIR滤波器设计。由两图可以发现,有多个全加器,且输入数据的位数(bit数)不同,只要调节LPM宏功能模块的参数即可方便地完成设计,输出数据y(n)的位数则根据工程需要取最终累加结果的高12位。取高12位带来的误差为7.JPG(最高位为符号位,不予数值考虑),这是可以接受的误差。

2 基于Matlab和QuartusⅡ的FIR滤波器设计
2.1 利用Matlab进行滤波器系数设计
设计指标:采样频率为2 MHz,f1=200 kHz,f2=330 kHz,通带衰减1 dB,阻带衰减70 dB。通过参数指标确定所需的阶数和参数值,部分程序如下:
9.JPG



关键词: FPGA FIR 滤波器 计算机

评论


相关推荐

技术专区

关闭