- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理实验报告基于MATLAB的数字滤波器设计
实验6 基于MATLAB的数字滤波器设计
实验目的:加深对数字滤波器的常用指标和设计过程的理解。
实验原理:低通滤波器的常用指标:
通带边缘频率:,阻带边缘频率: ,通带起伏:,通带峰值起伏: ,阻带起伏:,最小阻带衰减: 。
数字滤波器有IIR和FIR两种类型,它们的特点和设计方法不同。
在MATLAB中,可以用[b,a]=butter(N,Wn)等函数辅助设计IIR数字滤波器, 也可以用b=fir1(N,Wn,’ftype’) 等函数辅助设计FIR数字滤波器。
实验内容: 利用MATLAB编程设计一个数字带通滤波器,指标要求如下:
通带边缘频率:,,通带峰值起伏:。
阻带边缘频率:,,最小阻带衰减: 。
分别用IIR和FIR两种数字滤波器类型进行设计。
实验要求:给出IIR数字滤波器参数和FIR数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。
实验步骤:
= 1 \* GB3 ①Butterworth滤波器的设计(IIR)
wp=[0.4*pi,0.6*pi];
wr=[0.3*pi,0.7*pi];
Ap=1;
Ar=40;
[N,Wn]=buttord(wp/pi,wr/pi,Ap,Ar)
N =
7
Wn =
0.3854 0.6146
[b,a]=butter(N,Wn,bandpass)
b =
Columns 1 through 12
0.0002 0 -0.0014 0 0.0042 0 -0.0071 0 0.0071 0 -0.0042 0
Columns 13 through 15
0.0014 0 -0.0002
a =
Columns 1 through 12
1.0000 0.0000 3.7738 0.0000 6.5614 0.0000 6.6518 0.0000 4.2030 0.0000 1.6437 0.0000
Columns 13 through 15
0.3666 0.0000 0.0359
[H,w]=freqz(b,a);
mag=abs(H);
plot(w/pi,mag);
xlabel(角频率(\Omega));
ylabel(幅度|Ha(j\Omega)|);
title(数字butterworth带通滤波器幅度响应|Ha(j\Omega)|);
phase=angle(H);
plot(w/pi,phase);
xlabel(角频率(\Omega));
ylabel(相位);
title(数字butterworth带通滤波器相位响应曲线);
= 2 \* GB3 ②FIR滤波器的设计:
wp1 = 0.4*pi; wp2 = 0.6*pi;
ws1 = 0.3*pi; ws2 = 0.7*pi;
tr_width = min((wp1-ws1),(ws2-wp2))
tr_width =
0.3142
M = ceil(6.2*pi/tr_width) + 1
M =
63
n=[0:1:M-1];
wc1 = (ws1+wp1)/2; wc2 = (wp2+ws2)/2;
wc=[wc1/pi,wc2/pi];
window= hanning(M);
[h1,w]=freqz(window,1);
figure(1);
subplot(2,1,1)
stem(window);
axis([0 60 0 1.2]);
grid;
xlabel(n);
title(Hanning窗函数);
subplot(2,1,2)
plot(w/pi,20*log(abs(h1)/abs(h1(1))));
axis([0 1 -350 0]);
grid;
xlabel(w/\pi);
ylabel(幅度(dB));
title(Hanning窗函数的频谱);
hn = fir1(M-1,wc, hanning (M));
[h2,w]=freqz(hn,1,512);
figure(2);
subplot(2,1,1)
stem(n,hn);
axis([0 60 -0.25 0.25]);
grid;
xlabel(n);
ylabel(h(n));
title(Hanning窗函数的单位脉冲响应);
subplot
文档评论(0)