新闻中心

EEPW首页 > 模拟技术 > 设计应用 > Matlab在FIR数字滤波器中的应

Matlab在FIR数字滤波器中的应

作者: 时间:2012-02-12 来源:网络 收藏
BOTTOM: 0px; MARGIN: 20px 0px 0px; COLOR: rgb(0,0,0); PADDING-TOP: 0px">  (1)通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

  

f.jpg

  (2)由性能指标确定窗函数W(n)和窗口长度N。

  (3)求得实际滤波器的单位脉冲响应h(n),h(n)即为所设计滤波器系数向量a(n)。

  

g.jpg
(4)检验滤波器性能。

  信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。设计中利用提供的函数firl来实现,编程则是直接调用这些函数简单直观的完成设计。调用格式:firl(n,Wn,‘ftype’,Window),其中n为阶数、Wn为截止频率、ftype是滤波器的类型、Window是窗函数。应用凯塞窗的代码如下:

  

Matlab在FIR数字滤波器中的应

  程序执行的结果如图1,图2所示。

  

Matlab在FIR数字滤波器中的应

  从滤波效果图看,所设计的滤波器基本消除了噪声和干扰的影响,客观的得出真实信号。按照设计方案中滤波器的指标,执行函数操作可以得到:N=68,As=59。之后增加参数N值。在该设计中,利用凯塞窗函数,执行了多种N值的改变。伴随N值增大,过渡带变窄,但阻带的最小衰减没有改变。

  2.2 FDATool设计方案

  FDATool(Filter DesignAnalysis Too1)是信号处理工具箱专用的滤波器设计分析工具,操作简单、灵活,可以采用多种方法设计滤波器。这种方法设计的,可以随时调整滤波器滤披特性,而且滤波结果实时显示在图形区,减少了工作量,有利于滤波器设计的进一步优化。在Matlab命令窗口输入FDATool后回车会弹出FDATool界面,也可在Matlab主界面下方选择“start”→“toolbox”→“ filterdesign”。具体参数选择为:

  (1)滤波器类型(filter type)为lowpass;

  (2)设计方法(design method)为,使用窗口Window;

  (3)滤波器的阶数(fiter order)为15;

  (4)窗口类型(Window)为Kaiser,beta为0.5;

  (5)fs为48 000 Hz,fc为10 800 Hz。

  点击“design filter”即可。值得注意的是,这里选择filter order为15阶,而不是所设计的16阶滤波器。因为常数系数项h(0)=0。通过菜单“analysis”选择“magnitude”和“phase response”即可得到图3,图4的特性显示。“analysis”选择“step response”和“im-pulse”可以得到图5,图6的响应显示。可以看出所设计FIR滤波器的阶跃响应和冲击响应比较接近理想状态。

  

Matlab在FIR数字滤波器中的应

  

Matlab在FIR数字滤波器中的应

3 结论

  从图1~4的特性曲线中可以看出该滤波器的性能基本达到了妻求,滤波作用比较明显。曲线相对比较平稳,能够满足微弱信号滤波器的设计技术指标。特别是从方案二中的相频特性曲线来看,曲线通过原点且为一条平滑直线,说明具有良好的线性相位特性,而这也是在应用中选择FIR的重要原因,但是它的实际效果还要经过实践的检验。FIR幅频特性精度比IIR低,且滤波器所需阶次比较高,但是它拥有很好的线性相位,即不同频率分量的信号经过FIR滤波器后他们的时问差不变。另外,FIR还存在的缺点应加以改善,如信号的延迟偏大。这就考虑到用高性能的DSP器件,由于其处

滤波器相关文章:滤波器原理


滤波器相关文章:滤波器原理


低通滤波器相关文章:低通滤波器原理


电源滤波器相关文章:电源滤波器原理




关键词: Matlab FIR 数字滤波器

评论


相关推荐

技术专区

关闭