高通滤波器(2)

2020-04-20 22:58

武汉理工大学《数字信号处理》课程设计说明书

Ha(s)?B(s)A(s)?bMsaNsMN?bM?1s?aN?1sM?1N?1?...?b1s?b0?...?a1s?a0?B(1)sMN?B(2)sM?1N?1?...?B(M)s?B(M?1)?...?A(N)s?A(N?1)A(1)s?A(2)s

即系数关系为:

bk?B(M?1?k),ak?A(N?1?k), k?0,1,2...,M(或N)

故分子分母的系数多项式可由向量B,A表示,又滤波器系数B和A可由零极点转换至传递函数的函数zp2tf求得。语句描述为:

[B,A]=zp2tf(z,p,k);

最后利用MATLAB工具箱提供的模拟滤波器Ha(s)的频率响应函数freqs和相关绘图函数求出其传递函数图形。其语句描述为:

[H,w]=freqs(B,A,n);

magH2=(abs(H)).^2; hold on;

plot(w,magH2);

end

xlabel('w/wc'); ylabel('|H(jw)|^2');

title('Butterworth模拟原型滤波器');

至此,可得到模拟低通滤波器的原型,该滤波器的截止频率为为1。 (2)频率转换,得到模拟高通滤波器。

此单元模块可以利用MATLAB工具箱提供的模拟频率变换函数求得。即利用函数lp2hp即可由模拟低通滤波器得到模拟高通滤波器。语句描述为:

[Bt,At]=lp2hp(B,A,wc);

其中wc为题设所要求的模拟高通滤波器的阻带截止角频率,即

wc=2*pi*f=2*pi*200=400*pi

至此即得到符合设计参数要求的阻带频率为200Hz的模拟高通滤波器。

最后利用MATLAB工具箱提供的模拟滤波器Ha(s)的频率响应函数freqs和相关绘图函数求出各响应曲线,以便对滤波器的性能有更为直观的了解和认识。语句描述为:

[h,w]=freqs(Bt,At);

subplot();

5

武汉理工大学《数字信号处理》课程设计说明书

plot(w,20*log10(abs(h))); grid;

xlabel(‘w/pi’); ylabel(‘频率响应/dB’);

title('模拟高通滤波器');

至此,整个设计的理论分析阶段完成。

2.3补充说明

此说明部分就以上各设计模块应注意的事项加以阐述。

首先对滤波器的阶数N的选择加以说明。前面所述的模拟低通滤波器原型设计中,滤波器阶数是我们在编程时任意指定的。其实它是决定滤波器品质的主要参数之一。通常在满足性能指标的前提下,阶数应该尽可能小,以满足易于实现、提高运算速度的要求。而在滤波器阶数和滤波器性能之间存在一定的函数关系,我们通过这一函数关系可以求出满足滤波性能指标的最低阶数。MATLAB信号处理工具箱中提供了用来计算最小阶数和截止频率的工具函数,如:[n,wc]=buttord(wp,ws,Rp,Rs, 's')为Butterworth 滤波器最小阶数选择函数(式中,wp为通带边界频率,ws为阻带边界频率,单位为rad/s。Rp,Rs分别为通带波纹和阻带衰减,单位为dB。函数返回值n为模拟滤波器的最小阶数;wc为模拟滤波器的截止频率,单位为rad/s)。因本设计中提供的滤波器参数较少,故忽略了滤波器最小阶数的选择,在结果分析中再对典型阶数进行讨论。

其次是模拟滤波器性能测试的问题。可从频域、时域两方面分析滤波器特性,其中频域分析可用滤波器的传递函数描述,绘出其幅度和相位曲线,可采用MATLAB信号处理工具箱提供的函数abs给出系统的幅频曲线和angle给出系统的相频曲线;时域分析可用脉冲(冲激)响应来描述,绘出其脉冲响应和阶跃响应曲线,可分别采用MATLAB信号处理工具箱提供的函数[[y,t]=]impulse(H)给出该系统的模拟脉冲响应和[[y,t]=]step(H)来得到该系统的阶跃响应。

6

武汉理工大学《数字信号处理》课程设计说明书

3程序设计

3.1程序编写

结合理论分析阶段的研究,得到该模拟高通滤波器的MATLAB程序如下: %Butterworth 模拟低通滤波器原型设计 n=0:0.01:2; %设定频率点

for ii=1:4 %定义循环,产生不同阶数的曲线 switch ii case 1,N=2; case 2,N=5; case 3,N=10; case 4,N=30; end

[z,p,k]=buttap(N); %调用Butterworth模拟低通滤波器原型函数 [b,a]=zp2tf(z,p,k); %将零点极点增益形式转换为传递函数形式 [H,w]=freqs(b,a,n); %按n指定的频率点给出频率响应 magH2=(abs(H)).^2; subplot(211); hold on;

plot(w,magH2); end

xlabel('w/wc');

ylabel('|H(jw)|^2');

title('Butterworth 模拟低通滤波器原型'); text(1.5,0.18,'n=2') %对不同曲线做标记 text(1.3,0.08,'n=5') text(1.16,0.08,'n=10') text(0.93,0.98,'n=20') grid on;

%模拟高通滤波器设计 m=0:1:5000;

for ii=1:4 switch ii case 1,N=2; case 2,N=5; case 3,N=10; case 4,N=30; end

[z,p,k]=buttap(N); [b,a]=zp2tf(z,p,k);

7

武汉理工大学《数字信号处理》课程设计说明书

[bt,at]=lp2hp(b,a,200*2*pi); %由低通原型滤波器转换为截止频率为200Hz的高通滤波器

[Ht,w]=freqs(bt,at,m); subplot(212); hold on;

plot(w,abs(Ht)); end

xlabel('w/pi');

ylabel('|H(jw)|^2'); title('模拟高通滤波器'); text(200,0.28,'n=2') text(600,0.12,'n=4') text(1000,0.28,'n=10') text(1200,0.10,'n=30') grid on;

%模拟高通滤波器性能

pha=angle(Ht); %输出系统的相频特性 figure

subplot(2,1,1);

plot(w,20*log10(pha)); grid;

xlabel('w/wc');ylabel('相位/dB');

title('模拟高通滤波器相频特性'); mag=abs(Ht); %输出系统的幅频特性 subplot(2,1,2);

plot(w,20*log10(mag)); grid;

xlabel('w/wc');ylabel('幅度/dB'); title(' 模拟高通滤波器幅频特性');

3. 2运行结果

对上述程序在MATLAB 7.0环境中仿真,得到如下波形。其中图1为滤波器幅度平方函数曲线,包括Butterworth 模拟低通原型滤波器和模拟高通滤波器。图2和图3为模拟高通滤波器性能测试图,其中图2表示频域特性包括相频特性和幅频特性,图3表示时域特性包括脉冲响应和阶跃响应曲线。

8

武汉理工大学《数字信号处理》课程设计说明书

|H(jw)|2Butterworth 模拟低通滤波器原型1.510.50

n=20 00.20.40.60.8

1.510.5n=200n=10n=4n=30100015001w/wc 模拟高通滤波器n=10n=51.21.4n=21.61.82 |Ht(jw)|250020002500w/pi30003500400045005000图1滤波器幅度平方函数曲线

模拟高通滤波器相频特性500-50-100 05001000相位/dB 1500 250030003500w/wc 模拟高通滤波器幅频特性20004000450050002000

幅度/dB-200-400 -60005001000150020002500w/wc30003500400045005000图2模拟高通滤波器相频/幅频特性

9


高通滤波器(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:融合企业文化的员工培训与开发分析 - 以蒙牛为例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: