实验报告基于MATLAB的数字滤波器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验7\8基于MATLAB勺数字滤波器设计实验目的:加深对数字滤波器的常用指标和设计过程的理解。

实验原理:低通滤波器的常用指标:

1 一6P 兰G(e^) ≤ 1 + 6P , for 国≤ ωP

G(J") ≤ 6s, for 国s ≤ ⑷≤ ∏

通带边缘频率:'P ,阻带边缘频率:'s,

通带起伏:J P,通带峰值起伏:

C(P= —20 IOg io (^-OP )【d B 】阻带起伏.冠S

PaSSband StOPband

Tran Siti on

band Fig 7.1 TyPiCaI magn itude SPeCifiCati On for a digital LPF

:S = -20 log ιo(r)[dB 】

O

数字滤波器有IIR和FlR两种类型,它们的特点和设计方法不同。

在MATLAB^,可以用[b , a]=butter ( N,Wr)等函数辅助设计IIR数字滤波器,也可以用b=fir1(N,Wn, 'type ')等函数辅助设计FIR数字滤波器。

实验内容:利用MATLAB编程设计一个数字带通滤波器,指标要求如下:

通带边缘频率:∙∙P1=0.45^,∙∙ P2=0∙65 二,通带峰值起伏:[dB】O

阻带边缘频率:'s1

0.3…,'s2 0.75…,最小阻带衰减:-S 4°[dB] O

分别用IIR和FlR两种数字滤波器类型进行设计。

实验要求:给出IIR数字滤波器参数和FIR数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。

实验内容:

IRR代码:

wp=[0.45*pi,0.65*pi];

ws=[0.3*pi,0.75*pi];

Ap=1;

A S=40;

[N,Wc]=buttord(wp∕pi,ws∕pi,Ap,As);

[b,a]=butter(N,Wc)%[b,a] = butter( n, Wn,'ftype')

最小阻带衰减:

I -W llrreqz(b-a=

SUbP-Of

(211

=

FnagHabS(H)-

P-

Of(WHLmag)-

x ωb e 一

(-

>5

(W))

y ωb e

(-

≡M 一 HamW)

≡e (--R 一 HamW)

一) grid On-

SUbPOf(212=

PhaSeHang-e(H=

P -

OfWPLPhaSe=

x ωb e 一

(-

>5

(W))

y ωb e -(

- W⅛) ≡e (-一R

a ≡m s

B )

≡-x ⅛x -

幅度IHaOMI

相拉

S

S 5 CU

S S S 0⅛

口 g >酉

tt 2 =R ⅛⅛⅛

J ≡B ⅛

O S F NJ £Q 4

S S U7 CJ

CD S >⅛⅛≡

F-R

V V

WPl H

O∙4*pr

WP2

H

0∙6*pr

V V WSl H 0∙3*pr

ws2 H

0∙7*pr

V

V =Γl w i d f h H

min((wprwsu(ws2lwp2))

>> 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(2,1,2)

>> plot(w/pi,20*log(abs(h2)/abs(h2(1)))); >> grid;

>> xlabel('w/\pi');

>> ylabel(' 幅度(dB)');

>> figure(3);

>> phase=angle(h1);

>> plot(phase);

>> axis([1 pi -1 0]);

>> xlabel('w/\pi');

>> ylabel(' 线性相位');

>> title('Hanning 窗函数相位特性曲线')

相关文档
最新文档