fir高通滤波器matlab程序,Matlab实现数字FIR的高通_、带通、低通、带阻滤波器的程序()...

高通_、带通、低通、带阻

利用汉宁窗设计Ⅰ型数字高通滤波器

clear all;

Wp=0.6*pi;

Ws=0.4*pi;

tr_width=Wp-Ws; %过渡带宽度

N=ceil(6.2*pi/tr_width) %滤波器长度

n=0:1:N-1;

Wc=(Ws+Wp)/2; %理想低通滤波器的截止频率

hd=ideal_hp1(Wc,N); %理想低通滤波器的单位冲激响应

w_han=(hanning(N))'; %汉宁窗

h=hd.*w_han; %截取得到实际的单位脉冲响应

[db,mag,pha,w]=freqz_m2(h,[1]); %计算实际滤波器的幅度响应

delta_w=2*pi/1000;

Ap=-(min(db(Wp/delta_w+1:1:501))) %实际通带纹波

As=-round(max(db(1:1:Ws/delta_w+1))) %实际阻带纹波

subplot(221)

stem(n,hd)

title('理想单位脉冲响应hd(n)')

subplot(222)

stem(n,w_han)

title('汉宁窗w(n)')

subplot(223)

stem(n,h)

title('实际单位脉冲响应hd(n)')

subplot(224)

plot(w/pi,db)

title('幅度响应(dB)')

axis([0,1,-100,10])

clear all;

Wp=0.6*pi;

Ws=0.4*pi;

tr_width=Wp-Ws; %过渡带宽度

N=ceil(6.2*pi/tr_width) %滤波器长度

n=0:1:N-1;

Wc=(Ws+Wp)/2; %理想低通滤波器的截止频率

hd=ideal_hp1(Wc,N); %理想低通滤波器的单位冲激响应

w_han=(hanning(N))'; %汉宁窗

h=hd.*w_han; %截取得到实际的单位脉冲响应

[db,mag,pha,w]=freqz_m2(h,[1]); %计算实际滤波器的幅度响应

delta_w=2*pi/1000;

Ap=-(min(db(Wp/delta_w+1:1:501))) %实际通带纹波

As=-round(max(db(1:1:Ws/delta_w+1))) %实际阻带纹波

subplot(221)

stem(n,hd)

title('理想单位脉冲响应hd(n)')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值