微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 高阶FIR滤波器的计算机设计与FPGA实现

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

时间:03-13 来源:现代电子技术 点击:

2 基于Matlab和QuartusⅡ的FIR滤波器设计

2.1 利用Matlab进行滤波器系数设计

设计指标:采样频率为2 MHz,f1=200 kHz,f2=330 kHz,通带衰减1 dB,阻带衰减70 dB。通过参数指标确定所需的阶数和参数值,部分程序如下:

由图6验证设计指标。

如果设计指标不满足,则可通过调整滤波器参数直至满足设计要求。

2.2 利用QuartusⅡ进行设计和仿真

对Matlab产生的FIR滤波器抽头系数,用QuartusⅡ进行仿真。QuartusⅡ软件是Altera公司主推的FGPA设计软件,是集设计输入、编译、综合、仿真、布线、下载于一体的设计软件。由于Matlab产生的滤波器抽头系数为小数,根据工程需要将其转换为18位二进制系数使用。过程如下:

由Matlab产生的FIR数字滤波器系数如下:



按第2.3节提出的方法在QuartusⅡ中完成FIR滤波器的设计,通过编译综合功能对设计文件进行编译和综合,然后生成顶层模块,见图7。

通过QuartusⅡ的波形仿真功能,对其进行波形仿真并进行定量分析。波形仿真如图8所示。其中,cp50为系统时钟,由它控制输入信号xin_data的输入速率(本例为2 MHz)。data_result为滤波器未经取高位处理的乘加结果;data_result_out,为最终滤波输出结果。经验证,data_result与Matlab的运算结果一致,data_result可满足工程精度的要求。

3 结语

本文在结合Matlab和FPGA软件QuartusⅡ的基础上,完成了一种基于LPM参数化宏功能模块的FIR滤波器设计,该法是基于工程实际应用提出的,它对信号处理速率的要求不高,但对滤波器的阶数较高。当设计指标改变,只需调整各模块的参数,即可完成新的设计,该法已应用在实际工程中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top