信号系统的时域
报告
, 目的:掌握信号经过LTI系统的时域分析
。
,
:学生独立编程实现卷积积分或卷积和,零输入响应,零状态响应。
, 内容:卷积积分与卷积和。
, 方法:应用MATLAB或C程序平台。
:
tytuhtd()(),,,,,,,1、根据卷积公式: 0,
MATLAB的基本函数中,有卷积函数conv,可以直接调用它。因此编程的
过程为:
(1) 写出h(t)的MATLAB
达式;
(2) 写出u(t)的MATLAB 表达式;
(3) 利用MATLAB的卷积语句y=conv(u,h)求解并画曲线。
2、求LTI系统的零状态响应
设二阶连续系统,其特性可用微分方程表示
2dydy
,,,32yu2dtdt
其中u=cos(t)。
2 先求系统的冲激响应,其特征方程,,,,,320,用极点留数法求冲激响
ptpt12htrere(),,应,其特征根为p1,p2,相应的留数r1,r2,则冲击响应为,零状态响12应可用输入u(t)与冲击响应h(t)的卷积求得。即 yt,,zs
,
ytuhtd()()(),,,,, zs,,,
3、LTI系统的零输入响应
当LTI系统的输入为零时,其零输入响应为微分方程的几次解(即令微
分方程等号右端为0),其形式为(设特征根均为单根)
ptpt12ytCeCe,,,, , zi122,,,,,320其中p1,p2是特征方程的根,它们可用roots(a)语句求得。
各系数C1,C2由y及其各阶导数的初始值来确定。对此有
y,y(0)CCy,,0120
1,,pCpCDy,,Dy (表示y的导数的初始值) y0,,112200
写成矩阵形式为
y11C,,,,,,01
,,,,,,, DyppC0122,,,,,,
即为
VCY,, 0
其解为
CVY,\ 0式中
,,C=[ C,C]YyDy,[,]; 12000
11,,
V,,, pp12,,
V为范德蒙矩阵,在MATLAB的特殊矩阵库中有vander。
4、LTI系统的全响应
全响应=零输入响应+零状态响应,即
ytyt,,,,y(t)= + zizs
5、冲击响应的频谱分析
傅里叶变换表示为
,,jt,Fjftedt()(),, ,,,
按MATLAB作数值计算的要求,它不能计算无限区间,根据信号波形的情况,讲积
分上下限定为0~10s,并将t分成N等份,用求和代替积分。这样,上式可写为
Njt,,iFjftet()(),,,i, i,1
,jt,,,jtjt,,n12,[(),(),()][,,,]ftftfteeet…,…,= 12n
(1)
,jt,n这说明求和的问题可以用f(t)行向量以列向量来实现。式中是t的增量,在程e,t序中,用dt表示。
,由于求一系列不同处的F值,都用同一公式,这就可以利用MATLAB中的元素群
,运算能力。将设为一个行数组,带入式(1)中,则可写为
,,f=F*exp(-j*t*)*dt (2)
,,,,其中,F是与等长的行向量,是列向量,是行向量,是一矩阵,其行数tt*,
,与t相同,列数与相同。这样式(2)就完成了傅里叶变换,类似的也可以得到傅
里叶逆变换表示式为
,f=F*exp(j**t)*d/pi,, 即等价于
,1jt,,,edf(t)=F(j), 0π
MATLAB
a=[1,3,2];
b=1;
t=[0:0.1:5];
u=cos(t);
tf=t(end);
dt=tf/(length(t)-1);
[r,p,k]=residue(b,a);
h=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t);
figure(1)
plot(t,h,'linewidth',1.5);grid title('传递函数时域图') xlabel('t'),ylabel('h')
figure(2)
plot(t,u,'linewidth',1.5);grid title('输入信号时域图') xlabel('t'),ylabel('u') Yzs=conv(u,h)*dt;
figure(3)
plot(t,Yzs(1:length(t)) ,'linewidth',1.5);grid;hold on
a=[1,3,2];
n=length(a)-1;
Y0=[2 1];
p=roots(a);V=rot90(vander(p));c=V\Y0';
t=0:dt:tf;Yzi=zeros(1,length(t));
for k=1:n Yzi=Yzi+c(k)*exp(p(k)*t);end
plot(t,Yzi,'g','linewidth',1.5),grid;hold on
Yzs=[Yzs(1:51)];
Y=Yzs+Yzi;
plot(t,Y,'k','linewidth',1.5);grid title('响应')
xlabel('t'),ylabel('y') N=256;
f=[h];
wf=40;
Nf=64;
w1=linspace(0,wf,Nf);dw=wf/(Nf-1);
F1=f*exp(-j*t'*w1)*dt;
w=[-fliplr(w1),w1(2:Nf)];
F=[fliplr(F1),F1(2:Nf)];
figure(4)
plot(w,abs(F),'linewidth',1.5),grid title('传递函数频谱图')
xlabel('w'),ylabel('F')
心得:通过这次课程设计,加强了自己动手、思考和解决问题的能力。我觉得做课
程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学
习并不能很好的理解和运用各种函数之间的变化,而且考试内容有限,所以在这次
课程设计过程中,我发现了自己许多地方知识的不足,并且通过它了解了很多函数
之间变换,并且对于信号系统在MATLAB中的使用有了更多的认识,也基本上大
体的了解了MATLAB软件的使用。平时看课本时,有时问题老是弄不懂,做完课
程设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如频谱函数的变换,
通过动手实践让我对频谱函数的理解更加深刻。设计也是一个团队的任务,一起的
工作可以让我们有说有笑,相互帮助,配合默契,使我深深地认识到了团队的重要
性。经过三个星期的设计,过程曲折可谓一语难尽。在此期间我也失落过,也曾一
度热情高涨。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的
唯一
。在如今单一的理论学习中,很少有机会能有实践的机会,所以这个期末
考试之前的课程设计对我的作用是非常大的。