![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测 . 技术文库 . 会员区 . 开发板 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| MATLAB环境下FIR滤波器的设计与仿真 | |||||
作者:中国人民… 文章来源:电子技术应用 点击数: 更新时间:2008-4-28 ![]() |
|||||
|
MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最忧化,是数字滤波器设计的强有力工具。 1 FIR滤波器的设计 1.1 FIR滤波器简介[1] 根据冲激响应的时域特性,数字滤波器可分为无限长冲激响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。FIR的突出优点是:系统总是稳定的、易于实现线性相位、允许设计多通带(或多阻带)滤波器,但与IIR相比,在满足同样阻带衰减的情况下需要的阶数较高。滤波器的阶数越高,占用的运算时间越多,因此在满足指标要求的情况下应尽量减少滤波器的阶数。 FIR滤波器的基本结构可以理解为一个分节的延时线,把每一节的输出加权累加,可得到滤波器的输出。FIR滤波器的冲激响应h(n)是有限长的,数学上M阶FIR滤波器可以表示为:
1.2 窗函数设计法的步骤[3][4] 窗函数设计法是一种通过截短和计权的方法使无限长非因果序列成为有限长脉冲响应序列的设计方法。通常在设计滤波器之前,应该先根据具体的工程应用确定滤波器的技术指标。在大多数实际应用中,数字滤波器常常被用来实现选频操作,所以指标的形式一般为在频域中以分贝值给出的相对幅度响应和相位响应。 用窗函数法设计FIR滤波器的步骤如下: (1)根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1)。窗函数类型可根据最小阻带衰减AS独立选择,因为窗口长度N对最小阻带衰减AS没有影响。在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N。设待求滤波器的过渡带宽为△ω,它与窗口长度N近似成反比。窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正。原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N。在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数wd(n)。 (2)根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n)。如果给出待求滤波器的频率响应为Hd(ejω),则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:
(3)计算滤波器的单位脉冲响应h(n)。它是理想单位脉冲响应和窗函数的乘积,即h(n)=hd(n)·wd(n),在MATLAB中用点乘命令表示为h=hd·wd。 (4)验算技术指标是否满足要求。为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。 使用窗函数法设计时要满足以下两个条件: (1)窗谱主瓣尽可能地窄,以获得较陡的过渡带; 根据工程经验,给定的滤波器指标参数一般为通带截止频率ωp、阻带截止频率ωs、实际通带波动Rp和最小阻带衰减As。窗函数设计的经验公式为:
2 MATLAB环境下的设计实例[2][4] 2.1 高通滤波器的设计 用窗函数设计高通滤波器,性能指标如下:通带截止频率ωs=0.2π,阻带截止频率ωp=0.3π,实际通带波动Rp=0.25dB,最小阻带衰减As=70dB。 分析:从表1可以看出凯泽窗能提供74dB的最小阻带衰减,所以选用凯泽窗进行设计,程序主要部分如下: 程序运行结果如图1所示。实际通带波动为0.04369,最小阻带衰减为70,滤波器长度为89,线性相位斜率为6.7553,符合设计要求。
2.2 低通滤波器的设计 用窗函数设计低通滤波器,性能指标如下:通带截止频率ωp=0.1π,阻带截止频率ωs=0.25π,实际通带波动Rp=0.10dB,最小阻带衰减As=40dB。 分析:从表1可以看出,汉宁窗、海明窗和凯泽窗能提供大于40dB的最小阻带衰减。但汉宁窗的旁瓣峰值较小,而主瓣宽度和海明窗一样。可以使滤波器的阶数较少,所以选用汉宁窗进行设计,程序主要部分如下: 仿真结果如图2所示。实际通带波动为0.076565,最小阻带衰减为44,滤波器长度为67,符合设计要求。
与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷地设计出具有严格线性相位的 FIR滤波器,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。相信随着版本的不断提高,MATLAB在数字滤波器技术中必将发挥更大的作用。同时,用MATLAB计算有关数字滤波器的设计参数,如H(z)、h(n)等,对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。 参考文献 1 吴湘淇,肖 熙,郝晓莉. 信号系统与信号处理的软硬件实现[M].北京:电子工业出版社,2003 |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|