您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页基于MATLAB的信号系统仿真

基于MATLAB的信号系统仿真

来源:化拓教育网
第22卷 第5期 2007年10月 天 中 学 刊 Vol. 22 No. 5 Journal of Tianzhong Oct. 2007

基于MATLAB的信号系统仿真

庞建丽1,高丽娜2,赵 领1

(1.黄淮学院,河南 驻马店 463000;2.徐州师范大学,江苏 徐州 221009)

摘 要:在信号分析中,复杂周期信号可用一定的数学工具将其展开为一系列的谐波信号;反过来,一系列的谐波信号也可合成得到相应的周期信号.用MATLAB编程实现信号合成的仿真,其吉布斯现象的效果相当明显,进而介绍了一种数字低通滤波器的设计. 关键词:吉布斯现象;MATLAB;低通滤波器 中图分类号:TP391.9

文献标识码:B

文章编号:1006-5261(2007)05-0038-02

s = f1 + f2 + f3; ezplot(s,[-3,3]); hold on;

t = −3 : 6/1000 : 3; N = 49;

c0 = 0.5;w0 = pi;xn = c0*ones(1,length(t)); for k = 1 : 2 : N

theta = ((-1)^((k-1)/2) −1)*pi/2; xn = xn + 2/k/pi*cos(k*w0*t + theta); end plot(t,xn) xlabel('t'); ylabel('x49(t)')

MATLAB是一套高性能的数值计算和可视化的科技应用软件.它集高效的数值分析、完备的信号和图形处理、功能丰富的应用工具箱为一体,构成了一个方便且界面友好的用户环境,是一种适应多种硬件平台的数学计算工具.它的出现给“信号与系统”课程的计算机辅助教学带来了福音.特别它的信号处理软件包,可以方便地进行信号与系统分析的数值计算,可视化建模,系统设计和仿真调试等.

滤波器的设计是信号处理最重要的内容之一,MATLAB具有强大的滤波器设计功能,通过应用于滤波器的设计教学可以让学生更容易、更深刻地理解滤波器的设计. 1 吉布斯现象及其MATLAB仿真

当从信号的傅立叶变换恢复或逼近原信号时,如果原信号包含有间断点,那么,在各间断点处将出现过冲即尖峰,这种现象称为吉布斯现象.我们研究如图1所示的周期矩形脉冲的傅立叶级数形式,并观察了其出现的吉布斯现象.根据图1可计算出周期矩形脉冲的傅立叶级数的三角形式是:

x(t)=

12⎧π⎫

+∑⎨kπt+[(−1)(k−1)/2−1]⎬,(−∞x(t) 1 1N2⎧π⎫

xN(t)=+∑⎨kπt+[(−1)(k−1)/2−1]⎬,(−∞2k=1kπ⎩2⎭

当N趋近于∞时,xN(t)趋近于x(t),我们只要使得N值

t20图1 周期矩形脉冲信号

我们观察图2发现,随着N的增大,xN(t)的波形越来越

-2接近于x(t),但是在脉冲拐角处有过冲出现,经过计算,大约有9%的过冲.事实上,当N趋近于∞时,过冲也存在.根据吉布斯现象得到的结论是,在x(t)不连续处,x(t)的傅立叶级数在任何一点上都不等于x(t),如果x(t)在t = t1处不连续,那么其傅立叶级数在t1−和t1+处都大约偏离9%.

通过上面的分析我们得到如下结论:① 当用有限项之和重现原信号(复杂周期信号)波形时,随着N的增大,合成的结果越接近原波形.② 当N增大时,跳变峰向间断点靠近,但跳变峰幅值并未明显减小,跳变峰所包围的面积减

足够大,xN(t)应近似等于x(t),情况到底是什么样的呢?我们用MATLAB仿真的结果来看一下.这里仅以N = 49的时候的代码如下:

syms t

f1 = sym('heaviside(t + 0.5) − heaviside(t − 0.5)'); f2 = subs(f1,t,t + 2); f3 = subs(f1,t,t − 2); 收稿日期:2006-12-27

作者简介:庞建丽(1980~ ),男,河南西平人,黄淮学院信息工程系助教.

庞建丽,高丽娜,赵 领:基于MATLAB的信号系统仿真

·39·

小,通过MATLAB使这种吉布斯现象得到清楚的表现.③ 信号中频率较低的谐波的幅值大,占主体地位,频率较高的高次谐波的幅值较小,信号波形中所含的高次谐波越多,波形的边缘越陡峭.随着N的增大,吉布斯现象越突出.

N = 3

N = 21

N = 49

图2 不同N 值下xN(t)的波形

2 低通滤波器的MATLAB设计程序

我们设计了一个截止频率为200 Hz,抽样频率为1000 Hz的8阶巴特沃斯数字低通滤波器.该滤波器的MATLAB设计程序如下:

clear;

Fs = 1000;N = 8; Wn = 200/(Fs/2); [b,a] = butter(N,Wn); [h,w] = freqz(b,a); subplot(211); plot(w,abs(h)); xlabel('频率'); ylabel('幅度');

title('N = 8时的幅频响应');

N1=20;

[b1,a1] = butter(N1,Wn); [h1,w1] = freqz(b1,a1); subplot(212); plot(w1,abs(h1)); xlabel('频率'); ylabel('幅度');

title('N = 20时的幅频响应')

滤波器幅频响应如图3所示.为方便观察,我们同时比较了8阶和20阶巴特沃斯数字低通滤波器的幅频响应特性.在理论计算上我们需要说明的是两者的差异,两者的差异可以给我们非常直观而深刻的印象,从而可得出结论:阶数高的滤波器滤波性能更好.

图3 8阶和20阶巴特沃斯数字低通滤波器幅频响应

3 结束语

对于吉布斯现象和一些滤波器的特性,如果仅从理论推导结论来看,它总是抽象的结果,学生不能直观地看到自己设计的系统.随着计算机技术的发展和一些高品质软件(如MATLAB等)的出现,了以前传统的教学模式,使在

实验环境中依靠计算机软件辅助计算实现系统的可视化和仿真调试成为可能,这是一种值得推广的模式. 参考文献:

[1] Edward W Kamen,Bonnie S Heck.应用Web和MATLAB

的信号与系统基础[M].高强,戚银城,杨志,等译.北京:电子工业出版社,2002.130~132.

[2] 郑君里.信号与系统[M].北京:高等教育出版社.

100~105.

[3] 吴新余.信号与系统—时域\\频域分析及MATLAB软件

的应用[M].北京:电子工业出版社,1999.71~77. [4] 王沫然.MATLAB与科学计算[M].北京:电子工业出

版社,2003.98~102.

[5] 梁虹,梁洁,陈跃斌,等.信号与系统分析及MATLAB

实现[M].北京:电子工业出版社,2002.165~169.

〔责任编辑 牛建兵〕

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

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

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

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