信号与系统实验一二.docx
- 文档编号:11367564
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:25
- 大小:575.40KB
信号与系统实验一二.docx
《信号与系统实验一二.docx》由会员分享,可在线阅读,更多相关《信号与系统实验一二.docx(25页珍藏版)》请在冰豆网上搜索。
信号与系统实验一二
信号与系统实验一、二
chapter1
实验内容:
1、画出以下连续时间信号的波形
1-0)f(t)=cos(2πt)
代码如下:
pi=3.14159;
t=0:
0.01:
8;
fa=cos(2*pi*t);
plot(t,fa);
1-1)f(t)=sin(2πt)
代码如下:
pi=3.14159;
t=0:
0.01:
8;
fa=sin(2*t*pi);
plot(t,fa);
2-0)f(t)=Sa(t/π)
代码如下:
pi=3.14159;
t=0:
0.01:
8;
fa=sinc(t/pi);
plot(t,fa);
3-0)f(t)=2[u(t3)-u(t5)]
代码如下:
t=-1:
0.01:
10;
ft=2*((t>=3)-(t>=5));
plot(t,ft);
axis([-1,10,0,3]);
4-1)f(t)=et
代码如下:
t=0:
0.01:
10;
ft=exp(t);
plot(t,ft);
4-2)f(t)=e-tu(t)
代码如下:
t=0:
0.01:
10;
f1=(t>=0);
f2=exp(-t);
plot(t,f1.*f2);
5-0)f(t)=2ej(π/4)t,画出实部、虚部、模和相角的波形
代码如下:
t=0:
0.01:
10;
ft=2*exp(j*(pi/4)*t);
h=real(ft);%实部
g=imag(ft);%虚部
r=abs(ft);%模
a=angle(ft);%相角
subplot(2,2,1),plot(t,h),title('实部')
subplot(2,2,3),plot(t,g),title('虚部')
subplot(2,2,2),plot(t,r),title('模')
subplot(2,2,4),plot(t,a),title('相角')
7)f(t)=u(t)
代码如下:
t=-1:
0.01:
5
ft=(t>=0);
plot(t,ft);
axis([-1,5,0,1.5]);
8)f(t)=δ(t)
代码如下:
t=-1:
0.01:
5;
ft=(t>=0)-(t>=0.1);
plot(t,ft);
axis([-1,1,0,1.1]);
9)f9为周期矩形信号,其幅度从-1到1,占空比为75%
代码如下:
pi=3.14159;
t=-10:
0.01/pi:
10;
ft=square(t,75);
plot(t,ft);
2、信号本身运算
画出f1(t)为宽度是4,高为1,斜度为0.5的三角脉冲,然后画出f1(-t),f1(2t),f1(2-2t)的波形以及f1(t)的微分和积分波形。
代码如下:
t=-5:
0.001/pi:
5;
ft=sawtooth(t*pi/2,0.5);
plot(t,ft),title('三角脉冲')
3、多个信号运算
(1)信号f1(t)和f2(t)波形如图所示,画出f1(t)+f2(t)和f1(t)-f2(t)波形。
代码如下:
求f1(t)+f2(t)的波形:
t=-4:
0.01/pi:
4;
f1=(((t>=-2)-(t>=0)).*(t+1))+(((t>=0)-(t>=2)).*(t-1));
f2=((((t>=-2)-(t>=0)).*((-t-2)*0.5)))+((((t>=0)-(t>=2)).*((-t+2)*0.5)));
plot(t,f1+f2);
求f1(t)-f2(t)的波形如下:
t=-4:
0.01/pi:
4;
f1=(((t>=-2)-(t>=0)).*(t+1))+(((t>=0)-(t>=2)).*(t-1));
f2=((((t>=-2)-(t>=0)).*((-t-2)*0.5)))+((((t>=0)-(t>=2)).*((-t+2)*0.5)));
plot(t,f1-f2);
实验心得:
MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。
数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法。
实验方法归纳与总结:
Matlab是一个很好的信号表示工具,利用matlab中的三角函数、sinc(t)函数、阶跃函数、三角函数sawtooth(),real()、imag()、abs()、angle(),以及各种运算符号,可以实现上述的波形,清晰明了。
Chapter2
实验内容:
1、求解下列微分方程的零状态响应,并画出系统的响应波形。
d2y(t)/dt2+2dy(t)/dt+100y(t)=10f(t),f(t)=sin(2πt)u(t)
代码如下:
pi=3.14159;
t=0:
0.01:
5;
sys=tf([10],[1,2,100]);
f=sin(2*pi*t).*(t>=0);
y=lsim(sys,f,t);
plot(t,y),gridon;
2、求下列系统的单位冲激响应和单位阶跃响应,并画出响应波形。
d2y(t)/dt2+3dy(t)/dt+2y(t)=8f(t)
单位冲击响应
代码如下:
t=0:
0.001:
5;
sys=tf([8],[1,3,2]);
f=(t==0);
y=impulse(sys,t);
plot(t,y);gridon;
title('单位冲击响应');
单位阶跃响应
代码如下:
t=0:
0.001:
5;
sys=tf([8],[1,3,2]);
f=(t>=0);
y=impulse(sys,t);
y=step(sys,t);
plot(t,y);gridon;
title('单位阶跃响应');
3、利用符号计算法求下列微分方程的显式解,并画出响应的波形。
d2y(t)/dt2+3dy(t)/dt+2y(t)=df(t)/dt+2f(t)
f(t)=t2,y(0)=y'(0)=1
求系统的自由响应yh(t),强迫响应yp(t),零输入响应yzi(t),零状态响应yzs(t)以及系统的完全响应y(t)。
完全响应y(t),代码如下:
y=dsolve('D2y+3*Dy+2*y=2*t+2*t^2','y(0)=1','Dy(0)=1');
ezplot(simplify(y));
自由响应yh(t),代码如下:
y=dsolve('D2y+3*Dy+2*y=0','y(0)=1','Dy(0)=1');
ezplot(simplify(y));
强迫响应yp(t),代码如下:
y1=dsolve('D2y+3*Dy+2*y=2*t+2*t^2','y(0)=1','Dy(0)=1');
y2=dsolve('D2y+3*Dy+2*y=0','y(0)=1','Dy(0)=1');
y=y1-y2;
ezplot(simplify(y));
零输入响应yzi(t),代码如下:
eq='D2y+3*Dy+2*y=0';
cond='y(0)=1,Dy(0)=1';
yzi=dsolve(eq,cond);
simplify(yzi)
ans=
-2*exp(-2*t)+3*exp(-t)
y=yzi;
t=0:
0.001:
10;
y=-2*exp(-2*t)+3*exp(-t);
plot(t,y);
零状态响应yzs(t)
eq='D2y+3*Dy+2*y=Df+2*f';
eq0='f=t^2';
cond='y(0)=0,Dy(0)=0';
yzs=dsolve(eq,eq0,cond);
simplify(yzs.y)
ans=
t^2-2*t+2-2*exp(-t)
t=0:
0.001:
10;
x=t.^2-2*t+2-2*exp(-t);
plot(t,x);
4、求下列信号f1(t)和f2(t)卷积运算,并画出波形图。
f1(t)=t[u(t)−u(t−1)]f2(t)=u(t)−u(t−1)
代码如下:
t=-2:
0.001:
2;
f1=t.*((t>=0)-(t>=1));
f2=((t>=0)-(t>=1));
f=conv(f1,f2);
subplot(2,2,1),plot(t,f1),gridon;
title('f1的波形');
subplot(2,2,2),plot(t,f2),gridon;
title('f2的波形');
subplot(2,1,2);
t=-4:
0.001:
4;
plot(t,f);
title('f1与f2的卷积');
5、系统输入为f(t),系统冲激响应为h(t),求系统零状态响应,并画出波形图。
f(t)=e−0.5t[u(t)−u(t−2)]h(t)=e−tu(t)
零状态响应即为f(t)与h(t)的卷积,代码如下:
t=-2:
0.001:
4;
f=exp(-0.5*t).*((t>=0)-(t>=2));
h=exp(-t).*(t>=0);
y=conv(f,h);
subplot(221),plot(t,f),gridon;
title('f(t)的波形');
subplot(222),plot(t,h),gridon;
title('h(t)的波形');
subplot(212);
t=-4:
0.001:
8;
plot(t,y),gridon;
title('f(t)与h(t)的卷积');
归纳总结出实验方法:
微分方程的响应函数都显示在figure中,可以利用程序在matlab中计算出来。
我们知道,LTI连续系统可用如下所示的线性常系数微分方程来描述,
在MATLAB中,控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim。
其调用格式
y=lsim(sys,f,t)
式中,t表示计算系统响应的抽样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程,差分方程或状态方程。
其调用格式
sys=tf(b,a)
式中,b和a分别是微分方程的右端和左端系数向量。
例如,对于以下方程:
可用
获得其LTI模型。
注意,如果微分方程的左端或右端表达式中有缺项,则其向量a或b中的对应元素应为零,不能省略不写,否则出错。
在MATLAB中,对于连续LTI系统的冲激响应和阶跃响应,可分别用控制系统工具箱提供的函数impluse和step来求解。
其调用格式为
y=impluse(sys,t)
y=step(sys,t)
信号的卷积运算有符号算法和数值算法,此处采用数值计算法,需调用MATLAB的conv()函数近似计算信号的卷积积分。
实验心得:
根据matlab中提供的这些函数来求零状态响应函数、阶跃响应和冲击响应、全响应、自由响应和强迫响应、零状态响应和零输入响应、卷积。
编写程序时注意细心,知道有这些功能函数,调用函数还是比较简单的。
必须要给t赋值,计算并赋值给y,可以加一个title()给波形加一个标注。
如果要显示多个波形,可以利用subplot(a,b,c)为其分配一个位置。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 实验 一二