用matlab设计fir数字滤波器,用MATLAB设计FIR数字滤波器

实验八 用MATLAB 设计FIR 数字滤波器(二)

一、实验目的:

1、加深对窗函数法设计FIR 数字滤波器的基本原理的理解。

2、学习用MATLAB 语言的窗函数法编写设计FIR 数字滤波器的程序。

3、了解MATLAB 语言有关窗函数法设计FIR 数字滤波器的常用函数用法。 二、实验原理:

1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器的系统函数为

N-1

-n n=0H(z)=h(n)z ∑

这个公式也可以看成是离散LSI 系统的系统函数

M

-m

-1-2-m m

m=0

012m N -1-2-k

-k

12k k k=1

b

z b +b z +b z ++b z Y(z)b(z)H(z)===

=X(z)a(z)

1+a z +a z ++a z

1+a z ∑∑L L 分母a 0为1,其余a k 全都为0时的一个特例。由于极点全部集中在零点,稳定和线性相位特性是FIR 滤波器的突出优点,因此在实际中广泛使用。

FIR 滤波器的设计任务是选择有限长度的h(n),使传输函数H(e j ω)满足技术要求。主要设计方法有窗函数法、频率采样法和切比雪夫等波纹逼近法等。本实验主要介绍窗函数法。

用窗函数法设计FIR 数字滤波器的基本步骤如下:

(1)根据过渡带和阻带衰减指标选择窗函数的类型,估算滤波器的阶数N 。 (2)由数字滤波器的理想频率响应H(e j ω)求出其单位脉冲响应h d (n)。 可用自定义函数ideal_lp 实现理想数字低通滤波器单位脉冲响应的求解。 程序清单如下:

function hd=ideal_lp(wc,N) %点0到N-1之间的理想脉冲响应 %wc=截止频率(弧度) %N=理想滤波器的长度 tao=(N-1)/2; n=[0:(N-1)];

m=n-tao+eps; %加一个小数以避免0作除数 hd=sin(wc*m)./(pi*m);

其它选频滤波器可以由低通频响特性合成。如一个通带在ωc1~ωc2之间的带通滤波器在给定N 值的条件下,可以用下列程序实现:

Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N)

(3)计算数字滤波器的单位冲激响应h(n)=w(n)h d (n)。 (4)检查设计的滤波器是否满足技术指标。

如果设计的滤波器不满足技术指标,则需要重新选择或调整窗函数的类型,估算滤波器的阶数N 。再重复前面的四个步骤,直到满足指标。

常用的窗函数有矩形窗、三角形窗、汉宁窗、哈明窗、切比雪夫窗、布莱克曼窗、凯塞窗等,MATLAB 均有相应的函数可以调用。另外,MATLAB 信号处

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值