新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的FIR滤波器的性能研究

基于FPGA的FIR滤波器的性能研究

作者: 时间:2011-09-20 来源:网络 收藏

1.2 基于MATLAB的数字的系数设计
最基本的可用下式表示:
f.JPG
式(3)中x(n-i)是输入采样序列,h(i)是系数,N是滤波器的阶数,y(n)表示滤波器的输出序列。数字滤波器设计的核心思想就是求出有限的脉冲响应来逼近给定的频率响应即求出这N个系数h(i)。
在MATLAB中提供了一些滤波器的函数,使FIR滤波器的运算更加方便和快速。
函数fir1是实现加窗线性相位FIR数字滤波器的经典设计方法,可以设计出低通、高通、带通和带阻滤波器。
函数fir2是基于频率取样的FIR滤波器设计方法,其滤波器的频率特性由矢量f和a决定,f和a分别为滤波器的频率向量和幅值向量。考虑到验证方法是采用数字幅频均衡,所设计的FIR带通滤波器是由带阻网络的幅频特性决定的,所以本文是采用函数fir2()设计的。
函数fircls是多波段有限最小二乘FIR滤波器设计。
函数rids是最小二乘线性相位FIR滤波器设计。
函数firpm是Parks-McClellan最优化FIR滤波器设计。
函数firreos是升余弦FIR滤波器设计。
函数kaiserord是用Kaiser窗进行设计的FIR滤波器的参数估计。
fir2()以频率取样为基础可设计出任意形状的FIR滤波器的频率响应,最基本的调用形式如下:
g.JPG
其中返回的行向量b是一个包含n+1个n阶FIR数字滤波器的系数,此FIR滤波器的频率特性是由频率向量f和幅值向量a决定的。
调用程序代码如下:
h.JPG
综上所述,我们只需要知道幅值与频率的关系,我们就可计算出任意阶数的FIR滤波器的系数。
1.3 基于FIR IP Core设计FIR数字滤波器
Mtera提供的FIR Compiler是一个结合Altera器件的FIR Filter Core,使得基于的数字信号处理DSP(Digital Signal Proce-ssing)系统的开发更加便捷,如果采用设计好的FIR滤波器的IP核,设计周期短,占用逻辑资源少,其运算速度相比DSP处理器有很大的提高。
使用FIR Core之前,首先必须保证MATLAB、Ouartus II及IP核本身,即FIR Compiler等工具安装正确。如果一切正常,打开QuanusⅡ,在MegaWizard Plug-In Manager库中的DSP子库中选择FIR Compiler,选择应用器件和输出文件名。再点击Next,则生成一个FIR Compiler功能模块,如图4所示。

本文引用地址://m.amcfsurvey.com/article/191003.htm

i.JPG


单击Parameterize按钮,打开FIR滤波器核的参数设置窗口,进行FIR滤波器参数的配置。注意在Parameter Settings中,如果选择的是从文件中导入系数,则需要注意导入文件的格式,FIR Compiler支持的格式是一行只有一个数据,且文件最后不能有回车。所以在MATLAB生成滤波器系数时,对其进行列处理,再将滤波器系数复制到一个(.txt)文件,将(txt)文件导入。

j.JPG


再按照图4完成Step2、Step3,生成FIR模块如图5所示。此时只需要在顶层文件调用,编写其输入输出引脚。再编写外围模块AD、DA的程序,上电下载程序即可验证产生的FIR带通滤波器。



评论


相关推荐

技术专区

关闭