广泛运用于数字信号处理中,基本功能便是将不感兴趣的信号滤除,留下有用信号。FIR是全零点结构,体系永久安稳;而且具有线性相位的特征,在有用频率范围内一切信号相位上不失真。在无线通信收发机中的DDC/DUC模块,抽取和内插都需求参加
FIR滤波处理如下式所示,其间x(n)为输入信号,h(n)为FIR滤波系数,y(n)为通过滤波后的信号;N表明FIR滤波器的抽头数,滤波器阶数为N-1。
由上式可得到FIR滤波器在FPGA中的完成结构,如图1所示,主要由推迟单元Z-1、乘法器和累加器组成。此结构为直接型FIR滤波器结构,也称横向结构(transverse)。
规划FIR滤波器的办法有多种,其间Matlab软件供给了许多关于滤波器规划的东西箱,FDATool便是一个很好的东西,如图2所示便是FDATool的界面,可以在Matlab的Command窗口中直接输入FDATool指令来调用。
(2) Design Method:FIR滤波器规划办法有多种,如图4所示,最常用的是窗函数规划法(Window)、等波纹规划法(Equiripple)和最小二乘法 (Least-Squares)等。其间窗函数规划法在校园讲堂中是要点解说的,说到FIR滤波器肯定会想到hamming、kaiser窗,可是实践运用中却很少运用,由于假如选用窗函数规划法,到达所希望的频率响应,与其它办法比较往往阶数会更多;而且窗函数规划法一般只参照通频带wp、按捺频带ws 和抱负增益来规划滤波器,可是实践运用中通频带和按捺带的波纹同样是需求考虑的,那在这样的一种状况下,选用等波纹规划法就十分适用了。
(3) Filter Order:设置滤波器的阶数,这个选项直接影响滤波器的功能,阶数越高,功能越好,可是相应在FPGA完成耗用的资源需求增多。在这个设置中供给2个选项:Specify order和Minimum order,Specify order是工程师自己确认滤波器的阶数,Minimum order是让东西主动确认到达希望的频率相应所需求的最小阶数,因而详细挑选哪个选项得视实在的状况而定了。
参数设置完成后,FDATool就会剖析而且生成滤波系数,如图7所示,可以取得滤波器的频率相应曲线,并能通过File-》Export导出滤波系数,如图8所示。
其间FIR Compiler 5.0模块的参数设置如图10所示,滤波系数直接调用FDATool生成的滤波系数equ_coe,输出为全精度数据。
得到输出成果如图11所示,上边图为输入原波形,由两个频率重量的正弦波叠加而成,频率分别为2MHz和100MHz,通过FIR滤波之后,100MHz频率重量被滤除。