信号与系统(第5版)MATLAB仿真举例.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《信号与系统(第5版)MATLAB仿真举例.docx》由会员分享,可在线阅读,更多相关《信号与系统(第5版)MATLAB仿真举例.docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、最好的沉淀整理MATLAB 仿真举例一、MATLAB 应用概要1. MATLAB 的知识与特点MATLAB 是由美国 Mathworks 公司于 1984 年推出的一种功能强大的科学计算软件,主要适用于矩阵运算、信息处理和控制等领域的分析与设计。 MATLAB 是“矩阵实验室 ”(MATrix LABoratoy)的缩写。它以矩阵运算为基础,以简洁便用的“科学便笺式”编程语言, 可交互的集成环境,强大的图形可视化功能,广泛应用于科学、工程和绘图的各种领域,受到科学界和教育界的高度好评。其特点是:(1) 数值计算功能强,每个数值元素都视为复数,用双精度(64 位)一种格式,编程简化;(2) 具有
2、符号计算功能;(3) 简单而强大的作图功能;(4) 人机界面适合科技人员;(5) 功能多,可扩展性强,有多种工具箱作专门处理。2. MATLAB 的窗口与应用常识(1) 命令窗口以 MATLAB6.x 为例,其集成环境有桌面平台及8 个组成部分:指令窗口、历史指令窗口、工作台及工具箱窗口、工作目录窗口、工作空间窗口、矩阵编辑器、程序编辑器和帮助浏览器。点击桌面上的MATLAB 图标进入 MATLAB后,即可看到命令窗口(Command Window),它是主窗口,当显示“ ”时,表示系统处于准备接受命令的状态。(2) 图形窗口一般,只要执行任一种绘图命令,就会自动产生图形窗口,以后的绘图都在这
3、一个图形窗口中进行。(3) 文本编辑窗口用 MATLAB 计算有两种方式,一种是简单计算,可在命令窗口一行一行地输入各命令, 另一种是对复杂计算时,把多行命令组成一个M 文件,让 MATLAB 自动执行。(4) M 文件采用 MATLAB 所规定的一套语言及语法编写的源文件记作.m 文件。其文件名不能以数字开头,也不能包含文字,但可以用下划线“_”。(5) Help 命令Help 命令是查询函数相关信息的最基本方式,信息会直接显示在命令窗口中。(6) 应用常识 MATLAB 使用双精度数据,所有系统命令都是小写形式。 矩阵是 MATLAB 进行数据运算的基本元素,矩阵中的下标从1 开始,而不是
4、0,标量是作为 11 的矩阵来处理的。 语句或命令的结尾的分号“;”会屏蔽当前结果的显示。 注释位于%之后,不被执行。 使用上下箭头实现命令的滚动显示,可用于再编辑和再执行。 变量名必须以字母开头,可以由字母、数字和下划线组成。 要画出一条平滑的连续曲线,最少需要200 个数据点。 即使预先对 t 做了定义,也应该使用数组操作,如 f(t)=(2.(-t).*sin(2*t); 若写作2(-t)*sin(2*t)时会提示出错。 要想在同一个图形坐标上绘制多条曲线,应使用plot(t,f),hold on,plot(t1,f1),hold off 或 plot(t,f,t1,f1)均可。 为了在
5、图形中标出w ,j ,p 等特殊符号,应采用MATLAB 提供的专门字母表示。如表 1 所示。表 1特殊符号的表示法字符串alphabeta符号ab字符串thetalambda符号ql字符串phiPhi符号jfgammagtaotpipdeltadintinftyepsiloneomegawOmegaW3. MATLAB 的常用函数(1) 基本数学函数常用的基本数学函数如表 2 所示。表 2基本数学函数正弦sin平方根sqrt余弦cos求数组的最大值max正切tan求数组的最小值min指数exp求数组的平均值mean自然对数log求和sum矩阵指数函数expm求矩阵的特征值eig绝对值abs求
6、复数的相角angle求实部real求共轭conj求虚部imag辛格函数sinc(2) 基本作图函数 作图函数如表 3 所示表 3常用的作图函数plot绘制连续波形title为图形加标题stem绘制离散波形grid画网格线loglog绘双对数坐标图xlabel为 X 轴加上轴标subplot分割图形窗口ylabel为 Y 轴加上轴标hold保留当前曲线text在图上加文字说明figure定义图形窗口gtext用鼠标在图上加说明line画直线axis zzplot定义 x,y 坐标轴标度画符号函数的图形4 矩阵的创建在 MATLAB 中,矩阵是运算的基本单元,所以创建矩阵非常重要。创建矩阵有三种方
7、法:直接输入法、内部函数创建法和利用矩阵编辑器和修改矩阵。(1) 直接输入法实数矩阵:对于维数较小的实数矩阵,可以从键盘直接输入。具体方法是:将矩阵的元素用方括号“”括起来,按行输入各元素,各行用分号“;”或 Enter 隔开。 123 例如矩阵 a= 456 789 可写成指令:a=1 2 3; 4 5 6; 7 8 9复数矩阵:矩阵的各元素为复数时,与上述实数矩阵类似。不过写法有规定,如 6+4j不可写成 6+j4。应该写为 6+j*4 或 6+i*4。(2) 内部函数创建法利用 MATLAB 提供的许多函数可以创建一些特殊矩阵。例如: ones(m,n)生成一个元素全部为 1 的 m 行
8、 n 列矩阵eye(m,n)生成一个主对角线元素为 1 的其余为 0 的矩阵pascal(n)生成一个 n 维帕斯卡矩阵(3) 向量的创建创建向量最常用的方法是利用冒号“:”运算符生成。例如:a=m:p:n是生成起始值为 m,终值为 n,步长为 p 的均匀等分行向量 a。例如:a=1:-0.1:0则输出结果为:a=10.90.80.70.60.50.40.30.20.105. 信号波形的产生和运算函数这里列出常用的波形产生和运算的函数如下:sawtooth产生周期锯齿波或三角波cumsum信号累加square产生周期方波sum信号求和pulstran脉冲串diff信号微分sinc辛格函数qua
9、d信号积分fliplr信号翻转conv信号卷积6. 连续系统时域分析的函数在时域分析中,常用的符号形式如表 4 所示表 4时域分析符号名称阶跃函数e (t)冲激函数d (t) 定义符号变量化简微 分 二阶导数定积分求一阶微分方程全解求二阶微分方程全解符号形式Heaviside(t) Dirac(t) symssimple(f) diff(f) diff(f,2)int(f,a,b)dsolve(Dy+a*y=b,y(0)=k) dsolve(D2y+Dy)说明使之包含的字符最少f 被积函数,a,b 为积分的上下限a,b,k 均为数值向量求冲激响应impulse(b,a)a = a0, a ,
10、aL1N, b = b , b12, b LM求阶跃响应step(b,a)同上7. 连续信号频域分析函数进行周期信号的频谱分析,其符号形式为:int(f,t,a,b)其中 f 为符号表达式,t 为积分变量,a 和 b 分别为积分的下限和上限例如,计算傅里叶系数的被积函数 Ae - jnw1t ,则有:f=A*exp(-j*n*2*pi/T*t); Fn=int(f,t,-tao/2,tao/2)/T;求非周期信号的傅里叶变换时,调用格式为:F=fourier(f,t,w)其中 f 为信号表达式,t 为积分变量,w 为角频率,F 表示 f(t)的傅氏变换。傅里叶反变换指令格式为:f=ifouri
11、er(F,w,t) f=ifourier(F)例如,对 f (t) = 3e-2t e (t) ,则有f=3*exp(-2*t)*sym(Heaviside(t); F=fourier(f);分析系统的频率响应,调用格式为:H=fregs(b,a,w)式中,b 为 H(w)中的分子多项式的系数向量,a 为分母多项式系数向量,w 为计算 H(w)的取样点数。8. 系统的复频域分析函数 信号的拉氏变换指令为:Fs=laplace(ft,t ,s)式中,ft 为信号 f(t)的符号表达式,t 为积分变量,s 为复频率,Fs 为拉氏变换 F(s)。 信号的拉氏反变换格式为:ft=ilaplace(fs
12、,s,t)或者ft=ilaplace(fs)若利用部分分式展开求反变换,则展开式的指令格式:r,p,k=residue(b,a)其中,b = b ,b ,L,b 为 F(s)的分子多项式系数向量;a = a , a ,L, a 为分母多项式的01m01n系数向量, r = r , r ,L, r T 为留数列向量,即展开的各分式的系数;p 为各极点列向量,1 2nk 为直接项系数行向量。 由 H(S)确定零、极点,指令格式为:sys=tf(b,a)指定系统函数sys=zpk(z,p,k)由零、极点构成系统函数z=tzero(sys),p=pole(sys)求系统的零、极点pzmap(sys)绘
13、制零、极点图impulse(sys)由 H(s)绘制冲激响应曲线step(sys)由 H(s)绘制阶跃响应曲线9. 离散系统分析的基本函数 求差分方程零状态响应时,其调用格式为:y=filter(b,a,x)其中,x 为输入信号行向量,; a = a0, a , aL1N为差分方程输出变量的系数向量,b = b ,b ,L,b 为输入变量的系数向量。01M求单位响应 h(n)是调用格式为:h=impz(b,a) 求离散卷积和时,调用格式为:y=conv(h,x)其中,h 为单位响应序列值,x 为输入序列值,分别存储 h(n)和 x(n)的行向量。 z 变换,调用格式为:Fz=ztrans(fn
14、,n,z)其中,fn 为 f(n)的符号表达式;n 为序号;z 为复频率。用长除法进行 z 反变换的指令为:impz(b,a,N), N 为样点的长度也可以用部分分式展开法,即r,p,k=residue(b,a) 计算频率响应,调用格式为:freqz(b,a) freqz(b,a,n)其中,b 和 a 分别为系统函数 H(z)的分子、分母之系数向量,n 为频率的计算点数,常取 z 的整数次幂;绘制频率特性的横坐标W (即w T)的范围为 0 到p 。二、MATLAB 方法实现信号波形例 1 应用 MATLAB 方法实现单位阶跃信号和矩形脉冲。解:对于阶跃函数,MATLAB 中有专门的 stai
15、rs 绘图命令。例如,实现e (t) 和矩形脉冲的程序如下:t=-1:2;x=(t=0);% 定义时间范围向量 tsubplot(1,2,1),stairs(t,x);axis(-1,2,-0.1,1.2);grid on% 绘制单位阶跃信号波形t=-1:0.001:1;% 定义时间范围向量 tg=(t=(-1/2)-(t=(1/2);subplot(1,2,2),stairs(t,g);axis(-1,1,-0.1,1.2);运行结果如图 1 所示。grid on% 绘制矩形脉冲波形图 1例 1 图例 2 应用 MATLAB 方法生成信号 f (t) = sin c(t) 和 f (t) =
16、 S (t) 的波形。a解:为生成函数sin c(t) = sin ptpt可直接调用 MATLAB 中的专门命令,程序如下:t=-5:0.01:5;% 定义时间范围向量 tf=sinc(t);% 计算 Sa(t)函数plot(t,f); grid on% 绘制 Sa(t)的波形运行结果如图 2 所示。图 2例 2 程序运行结果一S (t) 和sin c(t) 的关系如下:asin(p t )p f (t) = S(t) = sin t =p= sin(t ) = sin c(t)atptptp生成信号 f (t) = Sa(t) 波形的 MATLAB 程序如下:t=-3*pi:0.01*pi
17、:3*pi;% 定义时间范围向量 t f=sinc(t/pi);% 计算 Sa(t)函数plot(t,f); grid on% 绘制 Sa(t)的波形运行结果如图 3 所示。图 3例 2 程序运行结果二例 3 应用 MATLAB 方法生成相加信号 f (t) = cos18pt + cos 20pt 和相乘信号f (t) = sin c(t) cos(20p t) 的波形。解:对相加信号 f (t) = cos18pt + cos 20pt ,程序如下:syms t;% 定义符号变量 tf=cos(18*pi*t)+cos(20*pi*t);% 计算符号函数 f(t)=cos(18*pi*t)
18、+cos(20*pi*t) ezplot(f,0 pi); grid on% 绘制 f(t)的波形运行结果如图 4 所示。图 4例 3 程序运行结果一对相乘信号 f (t) = sin c(t) cos(20p t) ,程序如下:t=-5:0.01:5;% 定义时间范围向量f=sinc(t).*cos(20*pi*t);% 计算函数 f(t)=sinc(t)*cos(20*pi*t)plot(t,f);% 绘制 f(t)的波形title(sinc(t)*cos(20*pi*t); grid on% 加注波形标题运行结果如图 5 所示。图 5例 3 程序运行结果二例 4 应用 MATLAB 方法
19、生成调制信号 f (t) = (2 + 2 sin 4p ) cos 50pt 的波形。解:对调制信号 f (t) = (2 + 2 sin 4p ) cos 50pt ,程序如下:syms t;% 定义符号变量 tf=(2+2*sin(4*pi*t)*cos(50*pi*t);% 计算符号函数 f(t)=(2+2*sin(4*pi*t)*cos(50*pi*t) ezplot(f,0 pi); grid on% 绘制 f(t)的波形运行结果如图 6 所示。图 6例 4 图三、MATLAB 方法用于时域分析例 5 设方程 y (t) + 5 y(t) + 6 y(t) = 2e-t e (t)
20、 ,试求零状态响应 y(t) 。解:程序如下:yzs=dsolve(D2y+5*Dy+6*y=2*exp(-t),y(0)=0,Dy(0)=0)% 利用 dslove 命令求解零状态响应ezplot(yzs,0 8); grid on% 绘制零状态响应曲线运行结果:即:图形如图 7 所示。yzs =exp(-t)+exp(-3*t)-2*exp(-2*t)y(t) = (e-t - 2e-2t + e-3t )e (t)图 7例 5 图例 6 已知二阶系统方程u (t) + R u (t) +1 u (t) = 1 d (t)cL cLC cLC对下列情况分别求h(t) ,并画出其波形。a.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 MATLAB 仿真 举例
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内