信号与系统论文报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与系统论文报告
安徽大学
本科生课程结业考试
课程名称:信号与系统
开课单位:电子信息工程学院
学生姓名:缪远杰
学生学号:P7*******
学生专业:物联网工程
开课时间:二○一六至二○一七学年第二学期
MATLAB实现连续系统的时域分析
摘要:信号与系统课程分析的基本任务是在给定系统的输入的条件下,求解系统的输入响应。连续信号与系统的时域分析都在连续时间内进行,即所涉及的给类函数,均以连续时间t作为自变量的一种分析方法。生学习时也会觉得该课程抽象、复杂。MATLAB软件可以将抽象复杂的问题进行编程计算和仿真,并可以进行信号处理、图像处理、信号检测等功能。因此在学习的过程中利用MATLAB处理《信号与系统》中的问题可以使复杂、抽象的问题形象化,在提高解题速度的同时还可以使学生将不同学科知识融合在一起,从而提高学生学习兴趣。本文通过利用matlab强大的计算与绘图能力实现信号与系统在时域分析中的一些实例:连续系统冲激响应的求解,连续系统零状态响应的求解和离散卷积和的计算来帮助自己更好的理解频域分析这一章节的内容。
关键字:时域分析,冲激响应和零状态响应,离散卷积和,matlab
一、MALTAB简介
MATLAB软件是由MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件。今天,MATLAB己经成为相关专业大学生必须掌握的基本工具,在自动控制、数字信号处理、数字通信等领域发挥着强大的作用。
MATLAB的编程运算与人类进行科学计算的思路和表达方式完全一致,非常方便。MATLAB进行数值计算的基本单位是复数数组,这使得MATLAB高度“向量化”,数组维数是自动按照规则确定的,使用时不需定义数组的维数。还有矩阵函数和专门的库函数可供调用,在信号处理、系统建模与识别以及系统控制与优化等领域,其简捷高效性是其它语言不能比拟的。
二、连续系统冲激响应的求解
在时域中,可以用微分方程来表示连续时间LTI系统。通过求微分方程求解系统响应过程中,对零状态响应的求解很困难,容易出现错误。本文将《信号与系统》中的冲激响应利用MATLAB求解。
LTI连续系统可用线性常系数微分方程来描述:
∑a i n
i=1y(i)(t)=∑b j
m
j=1
f(j)(t)
抽样点向量;f是系统输入信号向量;sys是LTI系统模型,用来表示微分方程、差分方程。状态方程。在求解微分方程时,微分方程的LTI系统模型sys 要借助tf函数获得,其调用方式为 sys=tf(b,a)式中,b和a分别为微分方程右端和左端各项的系数向量。
可用a=[a3,a2,a1,a0];b=[b3,b2,b1,b0];sys=tf(b,a)获得LTI 模型。微分方程中系数为零也要写入向量a和b中。
例 2 系统的微分方程为d2y(t)
dt2
+2dy(t)
dt
+77y(t)=f(t)
求系统在输入为f(t)=10sin2πt时的零状态响应。
解 MATLAB程序如下:
ts=0;te=5;dt=0.01;
sys=tf([1],[1 2 77]);
t=ts:dt:te;f=10*sin(2*pi*t);
y=lism(sys,f,t);y=lsim(sys,f,t);
polt(t,y);plot(t,y);
xlabel(‘time(sec)‘)
ylabel(‘y(t)‘)
运行结果如图所示。
三、 离散系统单位脉冲的求解
在MATLAB 中,求解离散系统单位脉冲,可用信号处理工具箱提供的函数 Impz ,其调用方式为h=impz(b,a,k)其中,b=[b0,b1,b2,···,bn], a=[a0,a1,a2,···,an]的分别是差分方程左右系数向量,k 表示输出序列的取值范围,h 就是系统的单位脉冲响应。
例3 求离散系统y[k]+3y[k-1]+2y[k-2]=f[k]
的单位脉冲响应h[k],并与理论值h[k]=-(−1)k +2(−2)k ,k ≥0比较。 解 MATLAB 程序如下:
k=0:10;
a=[1 3 2];b=[1];
h=impz(b,a,k);subplot(2,1,1)
stem(k,h,'.')
hk=-(-1).^k+2*(-2).^k;
subplot(2,1,2)stem(k,hk,'.')
00.51 1.52 2.53 3.54 4.55
-0.3-0.2
-0.1
0.1
0.2
0.30.4
程序运行结果如图所示:
012345678910
012345678910
四、离散卷积和的计算
卷积和是用来计算离散系统零状态响应的有力工具。MATLAB信号处理工具箱提供了一个计算两个离散序列卷积和的函数conv,其调用方式为
C=conv(a,b)
式中,a、b为待卷积和运算的两序列的向量表示,c为卷积结果。向量c的长度为向量a、b长度之和减1,即length(a)+length(b)-1。
例4 已知序列
x[k]={1,2,3,4;k=0,1,2,3},
y[k]={1,1,1,1,1;k=0,1,2,3,4}
计算x[k] *y[k],并画出卷积和结果。
解 MALTAB 程序如下:
x=[1,2,3,4];y=[1,1,1,1,1];
z=conv(x,y);N=length(z);
stem(0:N-1,z,'.');