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

上传人:庄** 文档编号:234829526 上传时间:2022-01-04 格式:DOC 页数:6 大小:55KB
返回 下载 相关 举报
【MATLAB在信号与系统中的应用】_第1页
第1页 / 共6页
【MATLAB在信号与系统中的应用】_第2页
第2页 / 共6页
【MATLAB在信号与系统中的应用】_第3页
第3页 / 共6页
【MATLAB在信号与系统中的应用】_第4页
第4页 / 共6页
【MATLAB在信号与系统中的应用】_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《【MATLAB在信号与系统中的应用】》由会员分享,可在线阅读,更多相关《【MATLAB在信号与系统中的应用】(6页珍藏版)》请在金锄头文库上搜索。

1、 MATLAB在信号与系统中的应用 摘要:论文通过MATLAB在信号与系统中的应用实例,探讨了MATLAB在信号与系统中的应用方法和技巧,对运用计算机软件完成“信号与系统”课程的波形绘制,微分方程的求解信号与系统分析具有较好的参考价值。关键字:MATLAB应用 信号与系统 微分方程引言“信号与系统”课程是一门实用性较强、涉及面较广的专业基础课,是电子信息类专业学生的必修课程。它是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程,对后继专业课起着承上起下的作用。该课程的基本方法和理论大量运用于计算机信息处理的各个领域,特别是通信、图像处理、数字信号分析等领域,应用更为广泛。MATLA

2、B是Mathworks公司推出的数学软件,它将数值分析、矩阵计算、信号处理和图形显示结合在一起,为众多学科领域提供了一种简洁、高效的编程工具。另外,MATLAB作为一个辅助类的软件可以很好的完成数值计算、信号与系统分析的可视化建模及仿真调试。一、典型信号的MATLAB表示表示连续信号,需定义自变量的范围和取样间隔,如t=0:0.01:3 1.实指数信号 y=k*exp(a*t)2.正弦信号 k*sin(w*t+phi) k*cos(w*t+phi)3.复指数信号 y=k*exp(a+i*b)*t) 实部real(y) 虚部imag(y) 模abs(y) 相角angle(y) 共轭conj(y)

3、4.抽样信号 Sat=sinc(t/pi)5.矩形脉冲信号 y=rectpuls(t,width)周期方波信号 y=square(2*pi*f*t,duty) %产生频率为fHZ,占空比为duty%的方波6.三角脉冲信号 非周期三角波y=tripuls(t,width,skew) %斜度 skew,最大幅度出现在t=(width/2)*skew周期三角波 y=sawtooth(t,width)7.单位阶跃信号 function y=uCT(t) y=(t=0) 阶跃信号符号函数 Heaviside() y=sym(Heaviside(t) %调用时必须用sym定义 冲激信号符号函数 Dirac

4、()二、这些在信号的表示是至关重要的。MATLAB在信号与系统中有着很重要的作用:1.用MATLAB绘制信号的波形运用MATLAB绘图,可以很快速和简便的得到响应函数的波形图,通过分析响应的波形将对信号的分析有更深入的了解。例: 有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:pi/5:4*pi,用三次样条法进行插值。 x0=0:pi/5:4*pi; y0=sin(x0).*exp(-x0/10); x=0:pi/20:4*pi; y=spline(x0,y0,x); plot(x0,y0,or,x,y,b) 这也是MATLAB应用软件最强大最适用的功能。不管你二维图形,

5、三维图形,还是现在流行的四维图形。只要你想要,能编写出来函数式。在短短几秒钟之内,它会呈现在你眼前。另外就是图形的直观性,你在绘编图形时,加上一点修饰,它会自动标注你想要图形的阴影部分。MATLAB 具有二维和三维绘图功能,使用方法十分简便。而且用户可以根据需要,坐标图上加标题。坐标轴标记。文本注释及栅格等,也可以指定图线形式(如实线、虚线等)和颜色,也可以在同一张图上画不同函数的曲线,对于曲面图还可以画出等高线。2.利用MATLAB解微分方程在信号与系统中,连续时间系统处理连续时间信号,通常用微分方程来描述这类系统,也就是系统的输入与输出之间通过他们时间函数及其对时间t的各阶导数的线性组合联

6、系起来。因此,在信号与系统中,求解微分方程对于研究连续时间系统的时域分析非常的重要。下面本文选择了一种简便的方法来处理这类问题,运用MATLAB的方法。求解微分方程 y=-y+t+1,y(0)=1,先求解析解,再求数值解,并进行比较。由clear; s=dsolve(Dy=-y+t+1,y(0)=1,t)simplify(s)可得解析解为y=t+e-t 。下面再求其数值解,先编写M文件fun8.m%M函数fun8.mfunction f=fun8(t,y)f=-y+t+1;再用命令clear; close; t=0:0.1:1;y=t+exp(-t); plot(t,y); %化解析解的图形h

7、old on; %保留已经画好的图形,如果下面再画图,两个图形和并在一起t,y=ode45(fun8,0,1,1); plot(t,y,ro); %画数值解图形,用红色小圈画xlabel(t),ylabel(y)结果见图 3、利用MATLAB进行数值计算 在信号与系统中,计算是比不可少的。MATLAB的计算功能是最基本、最重要的功能,它是备受欢迎的基石。MATLAB能够成为世界上最优秀的数学软件之一和它出色的数值运算能力是分不开的。MATLAB在数值运算中以数组和矩阵为基础。数组是MATLAB运算中一个重要的数据组织形式。按其维数可以分为一维、二维数组和多为数组。矩阵则是MATLAB的基本运算

8、单元。本次实训重要从以下几个实验来了解MATLAB的数值计算方法和功能。例:数值计算法求解微分方程 求解微分方程初值问题dy/dx=-2*y+2*x2+2*x;y(0)=1;的数值解,求解范围为区间0, 0.5fun=inline(-2*y+2*x2+2*x,x,y);x,y=ode23(fun,0,0.5,1);x;y;plot(x,y,o-) xans =0.0000 0.0400 0.0900 0.1400 0.1900 0.24000.2900 0.3400 0.3900 0.4400 0.4900 0.5000 yans =1.0000 0.9247 0.8434 0.7754 0.

9、7199 0.67640.6440 0.6222 0.6105 0.6084 0.6154 0.6179图形结果为图 4、利用MATLAB进行符号计算在信号与系统中,符合计算是常有的。MATLAB符号计算是MATLAB处理数字的自然扩展。MATLAB中的数组和数值变量用于数值的存储和各种数值计算。而符号常数、符号变量、符号函数、符号操作等规则用来形成符号表达式,严格按照代数、微分等课程中的规则、公式进行计算,并尽可能地给出解析结果。例: (1)对a*x3+x2-b*x-c中的各变量分别求微分和积分。 f=sym(a*x3+x2-b*x-c)ans1=diff(f,x) %f对x求一节微分 an

10、s2=diff(f,a ) %f对a求一节微分 ans3=diff(f,2) %f对x求二节微分 ans4=diff(f,a,2) %f对a求节微分 ans5=int(f,x) %f对x求一节积分ans6=int(f,a) %f对a求一节积分 ans7=int(f,a,2) %f对a求二节积分 运行结果:f = a*x3+x2-b*x-c ans1 = 3*a*x2+2*x-b ans2 = x3 ans3 = 6*a*x+2 ans4 = 0 ans5 = 1/4*a*x4+1/3*x3-1/2*b*x2-c*x ans6 = 1/2*a2*x3+a*x2-b*x*a-c*a ans7 =

11、1/4*a*(16-a4)+8/3-1/3*a3-1/2*b*(4-a2)-c*(2-a)5、系统的单位阶跃响应和脉冲响应在信号和系统非常有用的。MATLAB软件分析系统的单位脉冲响应和单位阶跃响应,我们可以调用MATLAB软件的impulse和step指令,其指令格式为: Y=impulse(sys,t)当不带输出变量y时,impulse命令可以直接绘制脉冲响应曲线;t用于设定仿真时间,可省略。Y=step(sys,t)当不带出输出变量y时,step命令可以直接绘制出阶跃响应曲线;t用于设定仿真时间,可以省略。 例:二阶系统G(s)=10/s2+2*s+10 键入程序,观察并记录单位阶跃响应

12、曲线: 程序: sys=tf(10,1,2,10); step(sys); title(G(s)=10/s2+2*s+10单位阶跃响应曲线)6、MATLAB程序设计的功能在信号与系统中,有大量的计算,很是麻烦,MATLAB给提供了方便。MATLAB作为一种高级应用软件除了指令操作的直接交互外,还提供了自己的编程语言。通过编写MATLAB程序,可以更加方便地调用MATLAB提供的各种功能强大的函数库,使程序能完成复杂的运算,处理大量的数据。MATLAB实现运算功能的基础是M文件,分为脚本文件和函数文件。脚本文件包含了MATLAB的各种命令,因为没有输入和输出它是一种最简单的M文件,如果在命令行中

13、要重复地进行某些计算就可以使用脚本。脚本文件产生的变量都存放在MATLAB的基本工作空间,与其他脚本以及MATLAB的命令行接口共享。M函数文件是一种函数,在扩充MATLAB函数库时使用,可以接收参数,也可以返回参数,运算中产生的变量都存放在函数本身工作空间中。可以解决运算以及其他方面的难题。 例:M函数文件给定两个实数a,b,分别求其和的平方和差的平方。先建立函数文件addsub.m;function out1,out2=addsub(a,b)%计算(a+b)2和(a-b)2out1=(a+b)2;out2=(a-b)2;建立调用上述子函数的函数文件ex.m;a=input(please input a=);b=input(please input b=);addresult,subresult=addsub(a,b);endaddresultsubresult调用结果:please input a=9please input b=8addresult =289subresult=1结束语:MATLAB软件是目前比较流行的一套商业数学软件,在数值计算、信号处理方面尤为突出。它的出现给信号与系统分析中一些理论的掌握提供了很大的方便,利用其先进的计算机软件环境,可将信号与系统、信号处理中的很多定理直观化、可视化,这对学习这些

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号