您现在正在浏览:首页 > 职教文章 > 职教论文 > MATLAB与在信号与系统中的应用

MATLAB与在信号与系统中的应用

日期: 2010/4/9 浏览: 226 来源: 学海网收集整理 作者: 佚名

MATLAB与在信号与系统中的应用

摘要:论文通过MATLAB在信号与系统中的应用实例,探讨了MATLAB在信号与系统中的应用方法和技巧,对运用计算机辅助软件完成“信号与系统”课程的数值计算、信号与系统分析具有较好的参考价值。

关键字:信号与系统 MATLAB应用

引言:

“信号与系统”课程是一门实用性较强、涉及面较广的专业基础课,是电子信息类专业学生的必修课程。它是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程,对后继专业课起着承上起下的作用。该课程的基本方法和理论大量运用于计算机信息处理的各个领域,特别是通信、数字语音处理、图像处理、数字信号分析等领域,应用更为广泛。因此,让学生具备扎实的信号分析的基本方法和理论,无论是对今后专业课的教学,还是学生毕业后从事专业工作的能力,都具有重要的意义。 MATLAB 编程语言可以帮助我们较好地解决这个问题,实现在实验环境中,以计算机为辅助教学手段,用信号分析的软件帮助学生完成数值计算、信号与系统分析的可视化建模及仿真调试,培养学生主动获取知识和独立解决问题的能力,为学习后继专业课打下坚实的基础.



MATLAB 是Math Work 公司于1984 年推出的一套面向工程和科学运算的高性能软件. 它具有强大的矩阵计算能力和良好的图形可视化功能,为用户提供了非常直观和简洁的程序开发环境,因此被称为第四代计算机语言. 它的出现给“信号与系统”课程的计算机辅助教学带来了福音,使利用计算机辅助学生完成“信号与系统”课程的数值计算、信号与系统分析的可视化建模及仿真调试成为可能. 经过十几年的发展与完善,MATLAB 目前已成为科技界最流行的应用软件. 它的主要特点是:

1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

2) 具有完备的图形处理功能,实现计算结果和编程的可视化;

3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具.

MATLAB 的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。

应用举例:

MATLAB 强大的图形处理功能及符号运算功能,为我们实现信号的可视化及系统分析提供了强有力的工具. MATLAB 强大的工具箱函数可以分析连续信号、连续系统,同样也可以分析离散信号、离散系统,并可以对信号进行各种分析域计算,如相加、相乘、移位、反折、傅里叶变换、拉氏变换、Z 变换等等多种计算.

例[1]:用MATLAB画出信号f (t) = e (t + 3) - 2e (t )的波形。

解: 用下列MATLAB命令即可实现f (t)的表示和绘制:

f=sym('heaviside(t+3)-2*heaviside(t)')

ezplot(f,[-5,4]),

hold on,plot([0,0],[-1,1]),

axis([-5,4,-1.1,1.1]),hold off

命令执行后,绘出波形如图1 所示。

另一种表示单位阶跃信号的方法是用向量 f 和t 分别表示信号的样值及对应时刻值。

例如 f=[0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1 ]

t=[-1,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]

零时刻以前,信号样值为零,从零时刻起,信号样值为一,定义出这样的两个向量后,就可用 plot 命令绘出波形图了。

下面就是表示和绘制单位阶跃信号的子程序,调用它不仅能画出单位阶跃信号e (t)的波形,还可画出单位阶跃信号沿时间轴平移时间0 t 的波形图(即( ) 0 e t + t 的波形)。其中t1,t2 表示信号的起始时刻,t0 表示信号沿坐标的平移量,且t1≤t0≤t2,t0>0时向左平移,t0<0 时向右平移。

%t0时刻以前信号为零,在t0处有一跃变,以后为一

function jieyao(t1,t2,t0)

t=t1:0.01:-t0; %t0时刻前时间样本向量

tt=-t0:0.01:t2; %t0时刻后时间样本向量

n=length(t); %t0前时间样本点向量长度

nn=length(tt) %t0后样本点向量长度

u=zeros(1,n); %t0前各样本点信号值赋值为零

uu=ones(1,nn); %t0后各样本点信号值赋值为一

plot(tt,uu) %绘出t0时刻后波形

hold on %允许在同一坐标系中添加图形

plot(t,u) %绘出t0时刻前波形

plot([-t0,-t0],[0,1]) %添加直线

hold off %关闭添加命令

title('单位阶跃信号') %图形标题

axis([t1,t2,-0.2,1.5]) %限制坐标范围

现在我们就调用jieyao函数,绘出e (t) ,-1£ t £ 4的波形,MATLAB的调用命令为:jieyao(-1,4,0)

程序执行后绘出波形如图 1所示:





图1 单位阶跃信号波形

第 三 种 方 法是用符号函数来生成单位阶跃函数, 即

e (t) = 1/ 2 + (1/ 2) sgn( t) 而sgn( t)的表示可调用MATLAB 中的符号函数sign 来实现。若定义向量:

t=-5:0.05:5

f=sign(t)

然后用下面的命令就可绘出符号函数的波形如图2所示.。

plot(t,f),axis([-5,5,-1.1,1.1])

再用以下命令表示单位阶跃信号并绘出它的波如形图3所示。

ff=1/2+1/2*f

plot(t,ff),axis([-5,5,-0.1,1.1])



图2 符号函数波形 图3 单位阶跃信号波形

例[2]:如图所示的二阶电路,已知L=0.5H,C=0.02F。初始值 试研究R分别为 1Ω,2Ω,3Ω,...,9Ω时,和的零输入响应,并画出波形图。







解:1)建模

按图列出 的微分方程为

其时间常数τ=RC

若用三要素公式,其解为

式中为电容初始电压,为电容电压的稳态响应,也即微分方程的特解。

正弦激励时,

最后得电容电压的全响应

其暂态响应(固有响应)

稳态响应(强迫响应)

2)MATLAB程序如下:

clear, format compact

R=2; C=0.5; T=R*C;uc0=4; %输入元件参数

Um=10; w=2; Zc=1/j/w/C; %输入给定参数

t=0:0.1:10; %设定时间数组

us=Um*cos(w*t); %设定激励信号

ucst=us*Zc/(R+Zc); %稳态分量计算,也可表示为 ucst=Un*absH*cos(w*t+phiH)

% 其中 absH=abs(Zc/(R+Zc),phiH=angle(Zc/R+Zc)

ucp0=ucst(1); %稳态分量的初始值

uctr=(uc0-ucp0)*exp(-t/T); %暂态分量

uc=uctr+ucst; %总的uc为两项之和

%把三种数据画在一张图上

plot(t,uc,'-',t,uctr,':',t,ucst,'-.'),grid

legend('uc','uctr','ucst') %用图例标注

运行结果如下:





参考文献:

[1 ] 燕庆明. 信号与系统教程[M] . 北京:高等教育出版社,2004.

[2 ] 徐天成. 信号与系统[M] . 哈尔滨:哈尔滨工程大学出版社,2003.

[3 ] 楼顺天,于 卫,等. MATLAB 程序设计语言[M] . 西安:西安电子科技大学出版社,1997.

[4 ] 楼顺天. 基于MATLAB 的系统分析与设计—信号处理

[M] . 西安:西安电子科技大学出版社,2001.


MATLAB与在信号与系统中的应用.doc

返回顶部