当前位置:文档之家› 信号与系统的MATLAB仿真

信号与系统的MATLAB仿真

成绩
课程设计说明书(计算书、论文)
题 目 信号与系统的 MATLAB 仿真
课 程 名 称 院 (系)
信号与系统 电子通信工程学院
专 业 班 级 学 生 姓 名 学 号
设 计 地 点 指 导 教 师
设计起止时间:

月 日






1.
课程设计应达到的目的
(1)熟悉 Matlab 软件的运行环境 (2)掌握采用 Matlab 软件程序实现信号与系统分析的方法 (3)掌握正确的编程过程和仿真分析 (4)总结对比软件仿真与硬件实验的区别及特点 2.课程设计题目及要求 《信号与系统》课程设计选题主要是要体现本课程的主要教学 内容中的重点部分,同时要求选题能过反映出信号仿真的代表性, 系统分析的应用性, 灵活性, 并且能与原本理论教学中繁琐的数学 计算相比较, 体现出软件计算的方便快捷性, 本课程设计主要包括 四个小设计部分,分别是: (1)信号的产生与简单运算:产生一个方波周期为 4π ,t[0 50]。


(2)求解微分方程:y"(t)+3y'(t)+2y(t)=2e-² ε(t)求 yzs; 求卷积:e-² ε (t)*e-³ ε (t)
t t
t
(3)求 H (s) 
2s 2  1 s 3  4s 2  6s  9
求零、极点 并绘图 冲激响应


(4)求解差分方程:y(n)-y(n-1)-2y(n-2)=f(n) f(n)=( 1 )nε (n)
3
f(n)=δ (n)
3.课程设计思路 利用信号与系统中的 matlab 常用命令集求解微分方程,并利用结 果和绘图命令绘图。


4.课程设计原理 设计原理 (1)设计一个简单程序能实现方波信号的生成。

利用Matlab软件的信号处理工具箱(Signal Processing Toolbox)中的专用函数产生 信号并绘出波形。


(2) 对于求方程的零状态响应,即是求解常微分方程。

Matlab 解常微分方程式的语法是 dsolve('equation','condition'),其中equation代表常微分方程式即 y'=g(x,y), 且须以Dy代表一 微分项y'',condition则为初始条件。

利用MATLAB中conv命令求解卷积。

阶微分项y' D2y代表二阶


(3)设计相关程序实现系统稳定性的分析。

提示:系统函数H(s)的 零、极点可用matlab的多项式求根函数roots()求得. 极点:p=roots(den) 零点:z=roots(num) 根据p和z用plot()命令即可画出系统零、极点分布图,进而 分析判断系统稳定性. (4)设计程序对离散系统的差分方程求解 参考N阶差分方程求解设计程序: Matlab中,filter子程序可用来在给定输入和差分方程系数 时求差分方程的数值解,调用格式为: Y=filter(B,A,X) 其 中 ,B=[b0,b1, … ,bm];A=[a0,a1, … ,an];X 为 输 入 信 号 序 列,注意必须保证系数a0不为零.


5.程序设计
实验一:
程序代码: >>t=0:0.01:50; >> y=square(0.5*t); >>plot (t,y); 程序结果及分析:在程序中输入上述代码利用 plot 绘图, 所得图形如下,
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
5
10
15
20
25
30
35
40
45
50


实验二:
求解微分方程
利用 matlab 编程可以解决高次函数的零极点问题很容易 的绘制系统函数的特性曲线从中可以看出系统是否稳定 并可以利用相关函数很容易的求解外加激励通 过 : >>yzs=dsolve('D2y+3*Dy+2*y=2*exp(-2*t)','y(0)=0,D
y(0)=0') > >ezplot(yzs,[0 8]); 程 序 结 果 及 分 析 : 在 程 序 中 输 入 yzs=dsolve('D2y+3*Dy+2*y=2*exp(-2t)','y(0)=0,Dy(0)=0') 所得结果如下: yzs = 1/exp(t) - 2/exp(2*t) + 1/exp(3*t) 输入 ezplot(yzs,[0 8]);所得图形如下:
(-exp(-t) (2+2 t)+2) exp(-t)
0.2
0.15
0.1
0.05
0 0 1 2 3 4 t 5 6 7 8


卷积 e-² ε (t)*e-³ ε (t)
t
t
程序代码:
>> t=0:0.01:2; >> f1=exp(-2*t); >>f2=exp(-3*t); >>f=conv(f1,f2); >>subplot(3,1,1),plot(t,f1); >>subplot(3,1,2),plot(t,f2); >>t=0:0.01:4; >>subplot(3,1,2),plot(t,f);
程序结果及分析:在程序中输入程序代码,利用 subplot 及
Plot 绘图。

所得图形如下;
1
0.5
0 20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
10
0
0
0.5
1
1.5
2
2.5
3
3.5
4


实验三:
程序代码: >> b=[2 1]; >>a=[1 4 6 9]; >>sys=tf(b,a); >> subplot(1,3,1),pzmap(sys); >>subplot(1,3,2),step(b,a); >>subplot(1,3,2),impulse(b,a); 程序结果及分析:此程序是调用了 pzmap 和 sys 函数调用形 式 Pzmap (sys) Sys=tf(b,a) 所得图形如下;
Pole-Zero Map 2 0.4 Impulse Response
1.5
0.3
1 0.2 0.5
Imaginary Axis
0
Amplitude
-2 Real Axis 0
0.1
0
-0.5 -0.1 -1 -0.2
-1.5
-2 -4
-0.3
0
5
10
15
Time (sec)


实验四:
程序代码: >>b=[1];a=[1 -1 -2]; >>n=0:15; >>fn=(1/3).^n; >>y1=filter(b,a,fn); >>y2=impz(b,a,16); >>subplot(1,2,1),stem(n,y1,'filled'); >>subplot(1,2,2),stem(n,y2,'filled'); 程序结果及分析:filter(n, d, x) 用过滤器过滤向量 x,过滤 器系统函数为 n(z)/d(z),包含一些输出延迟,impz 用长除 法求逆 z 变换 h(n), stem 绘制单位响应 h(n)的波形。

所得图形;
3
x 10
4
2.5
x 10
4
2.5
2
2 1.5 1.5 1 1
0.5 0.5
0
0
5
10
15
0
0
5
10
15


5.设计心得 通过本次信号与系统的 matlab 软件仿真, 我们学习了 matlab 数学软件。

这次课程设计虽然遇到了很多问题,很多困难,但是也学到
别是程序语法。

了很多东西。


不仅学到了书本上的东西,而且学到了很多课本上 没有的东西, 很多程序里的东西, 特

相关主题