您好,欢迎来到九壹网。
搜索
您的当前位置:首页数字信号处理实验报告——基于MATLAB的数字滤波器设计

数字信号处理实验报告——基于MATLAB的数字滤波器设计

来源:九壹网
仅供个人参考

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

实验目的:加深对数字滤波器的常用指标和设计过程的理解。

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

1PG(e)1P,forP

j1PG(ej)1P

SPG(ej)S,forS•sPSPS通带边缘频率:,阻带边缘频率: ,

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

p20log10(1p)[dB]PassbandStopbandTransition band,阻带起伏:s,

Fig 7.1 Typical magnitudespecification for a digital LPF最小阻带衰减:

S20log10(s)[dB]。

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

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

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

通带边缘频率:阻带边缘频率:

P10.4,

P20.6,通带峰值起伏:

p1[dB]。

S10.3,S20.7,最小阻带衰减: S40[dB]。

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

实验要求:给出IIR数字滤波器参数和FIR数字滤波器的冲激响应,绘出它们

的幅度和相位频响曲线,讨论它们各自的实现形式和特点。

实验步骤:

①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.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 4.2030 0.0000 1.37 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带通滤波器相位响应曲线'); >>

不得用于商业用途

-0.0071 0 6.6518 0.0000 仅供个人参考

②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(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窗函数相位特性曲线'); >>

不得用于商业用途

仅供个人参考

不得用于商业用途

仅供个人参考

实现形式及特点分析:

1. 在本例中,相同的技术指标下,IIR滤波器实现的阶数为N=7,而FIR滤波器的阶数N=63。因此,相同的技术指标,用IIR滤波器实现的阶数远远小于用FIR滤波器的阶数。这是由于IIR滤波器存在着输出对输入的反馈。

2. 从实验中绘制的相位特性曲线可以看出,FIR滤波器可以得到严格的线性相位,而IIR滤波器做不到这一点。IIR滤波器的选择性愈好,其相位的非线性愈严重。因而,如果IIR滤波器要得到线性相位,又要满足滤波的技术要求,必须加全通网络进行相位校正,这同样会大大增加滤波器的阶数。因此,从相位特性考虑,FIR滤波器又优于IIR滤波器。

不得用于商业用途

仅供个人参考

仅供个人用于学习、研究;不得用于商业用途。

For personal use only in study and research; not for commercial use.

Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden. Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.

только для людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.

以下无正文

不得用于商业用途

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务