北京理工大学信号与系统实验报告Word文档格式.docx
- 文档编号:6537811
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:95
- 大小:819.13KB
北京理工大学信号与系统实验报告Word文档格式.docx
《北京理工大学信号与系统实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《北京理工大学信号与系统实验报告Word文档格式.docx(95页珍藏版)》请在冰点文库上搜索。
门函数
Tripuls
三角脉冲函数
Square
周期方波
Sawtooth
周期锯齿波或三角函数
2、连续时间信号的时域运算
对连续时间信号的运算包括量信号想家、相乘、微分、积分以及位移反转、尺度变换(尺度伸缩)等
1)相加和相乘
信号的相加和相乘指两个信号对应时刻的值相加和相乘,对于两个采用向量表示的可以直接使用算术运算的运算符“+”和“•”来计算,此时要求表示两信号的向量时间范围和采样间隔相同,采用符号对象表示的两个信号,可以直接根据符号对象的运算规则运算。
2)微分和积分
对于向量表示发表示的连续时间信号,可以用过数值计算的方法计算信号的微分和积分。
这里由时间向量[t1,t2,…,tN]和采样值向量[x1,x2,…,xN]表示的连续信号的微分是利用差分来近似求取的。
MATLAB里用diff来计算差分x(k+1)-x(k)。
连续信号的定积分可以由MATLAB的quad函数实现,调用格式为quad(‘functions_name’,a,b)其中,functions_name为被积函数名,a、b为积分区间。
对于符号对象表示的连续时间信号,MATLAB提供了diff函数和quad函数分别用于求微分和积分
3)位移、反转、尺度变换
符号的位移:
信号x(t)的自变量t更换为(t-t0),表示x(t)波形在t轴上整体移动,当t0>
0整体右移,当t0<
0整体左移。
信号的反转:
信号x(t)的自变量t更换为-t,x(t)的波形相当于以t=0为轴反转过来。
信号的尺度变换:
信号x(t)的自变量t更换为at,x(at)表示信号压缩(a>
1)或拉伸(a<
1)。
3、离散时间信号的MATLAB表示
离散时间信号仅在一些离散时刻有定义。
在MATLAB中离散时间信号需要使用两个向量来表示,其中一个向量用于表示离散的时间点,另一个向量用来表示这些时间点上的值。
stem函数用于沪指离散时间信号波形,为了与我们表示离散时间信号的习惯相同,在绘图时一般需要添加“filled”选项,以绘制实心的杆状图形。
4、离散时间信号的时域运算
离散时间信号的相加相乘是将两个信号对应的时间上的值相加或相乘,可以直接使用算术运算的运算符“+”或“•”来计算。
离散时间信号的位移,则可看作是将表示时间的向量平移,而表示对应时间点上的值的向量不变。
离散时间信号的反转,则可看作是将表示时间的向量和表示对应时间点桑的值的向量以零为基准点,一纵轴为对称轴反折,向量的反折可以利用MATLAB的fliplr函数实现。
三、实验内容、实验结果以及实验中遇到的一些问题与解决
(1)利用MATLAB绘制下列连续时间信号波形:
1
X(t)=(u(t)
X(t)=[u(t)-u(t-2)]
2
X(t)=[u(t+2)-u(t-2)]
3
X(t)=[u(t)-u(t-3)]
4
第一题的总代码如下:
symst
x1=(1-exp(-0.5*t))*heaviside(t);
%函数
subplot(221);
ezplot(x1);
%分块画图
xlabel('
t'
);
title('
1
(1)x(t)'
%标记
x2=cos(pi*t)*[heaviside(t)-heaviside(t-2)];
subplot(222);
ezplot(x2);
1
(2)x(t)'
x3=abs(t)/2*cos(pi*t)*[heaviside(t+2)-heaviside(t-2)];
subplot(223);
ezplot(x3);
1(3)x(t)'
x4=exp(-t)*sin(2*pi*t)*[heaviside(t)-heaviside(t-3)];
subplot(224);
ezplot(x4);
1(4)x(t)'
第一题程序运行结果如下:
(2)
X(t)=u(n-3)
利用MATLAB绘制下列连续时间信号波形:
X(t)=u(n)
X(t)=n[u(n)-u(n-5)]
3
第二题的总代码如下:
n=0:
x1=heaviside(n-3);
stem(n,x1,'
filled'
n'
2
(1)x(n)'
x2=(-1/2).^(n).*heaviside(n);
stem(n,x2,'
2
(2)x(n)'
x3=n.*[heaviside(n)-heaviside(n-5)];
stem(n,x3,'
2(3)x(n)'
x4=sin(n*pi/2).*heaviside(n);
stem(n,x4,'
2(4)x(n)'
第二题程序运行结果如下:
注:
第一个图中我将单位阶跃函数的定义给改了。
在课前我就着手这次的实验,我一直百思不得其解的是单位阶跃信号在这题中n=3时应该为1,而右图是我第一次做这道题的图,在n=3时却是0.5。
于是在实验课上就这个问题我请教了老师,就是这个heaviside函数的定义可以通过在C盘搜索heaviside文件找到它的定义:
functionY=heaviside(X)
%HEAVISIDEStepfunction.
%HEAVISIDE(X)is0forX<
0,1forX>
0,and.5forX==0.
%HEAVISIDE(X)isnotafunctioninthestrictsense.
%SeealsoDIRAC.
%Copyright1993-2012TheMathWorks,Inc.
Y=zeros(size(X),'
like'
X);
Y(X>
0)=1;
Y(X==0)=.5;
Y(isnan(X))=NaN;
看到这个函数的定义后,老师建议如果要改进要么将这个定义函数修改,要么就自己新定义一个函数保存在源文件中。
经过思考,我决定暂时修改这个函数,借用与我这次实验。
于是我修改了上面这段代码的下划线处,结果如下:
Y(X==0)=1;
于是,我得到的图就是上文已经给出的“第二题的图”。
这个小小的问题当然不妨碍实验,但是从中我得到了定义一个函数的方法,也是一个小小的收获。
(3)利用MATLAB生成并绘制连续周期矩形波信号,要求周期为2,峰值为3,显示3个周期的波形。
第三题代码如下:
t=linspace(0,2*pi);
%取间隔
y=3*square(pi*t);
%方波
plot(t,y);
axis([02*pi-3.53.5]);
%设置坐标范围
gridon;
%网络线
y'
第三题程序运行结果如下:
在课前编这道题时我是没有什么思路的,首先是周期方波怎么表示?
我细细再看了书上实验内容的参考后,明白了用square函数来表示,却不懂得周期方波的函数怎么使用。
此时我不得不上网去查周期方波函数square的使用方法,这才明白了函数括号里直接加上2*pi*t即是周期为1的方波。
网上有道例题,给出了linspace这个函数的定义,于是我就用这个函数取了间隔。
这样第一次画出的图形乍一看是几条竖线,我才回想起来绪论的时候老师曾经讲过用axis函数来调整坐标系。
当然在最后,为了使用新学的知识,我加上了个gridon来修饰整个图形。
(4)已知信号x1(t),以及信号x2(t)=sin(2πt),用MATLAB绘出下列信号的波形:
1X3(t)=x1(t)+x2(t)
2X4(t)=x1(t)×
x2(t)
3X5(t)=x1(t)+x1(t)
4X6(t)=x2(t)×
x3(t-1)
第四题的总代码如下:
symst
x1=(4-t)*[heaviside(t)-heaviside(t-4)];
%用阶跃信号当门函数
x10=(t+4)*[heaviside(t+4)-heaviside(t)];
x2=sin(2*pi*t);
x3=x1+x2;
4
(1)x(t)'
x4=x1*x2;
4
(2)x(t)'
x5=x10+x1;
ezplot(x5);
4(3)x(t)'
x3=subs(x3,t,t-1);
%变量替换
x6=x2*x3;
ezplot(x6);
4(4)x(t)'
第四题程序运行结果如下:
这题在完成的过程中,主要是门函数的使用问题。
我刚开始的思路是使用两个单位阶跃信号相减,还有一种方法是同学说的直接使用门函数rectpuls。
相比之下我认为同学的方法更加好,然而当我使用rectpuls(0,4)定义一个在0-4的门函数后,编译出来的图形都十分的奇怪。
于是我上网查找了有关rectpuls的用法,结果粗略的查找之下并没有非常详细的解答,原因是这个函数好像是在前几个版本新加进去的函数,网上有的一般是以y轴为作为门函数的中心进行定义,并没有偏离y轴的线为中心作门函数的定义。
一方面是我比较懒惰,没能耐心接着寻找这个问题的答案,另一方面我就要试试我自己的想法是否能够编译出可能的图形。
因此我使用[heaviside(0)-heaviside(4)]、[heaviside(-4)-heaviside(0)]作门函数,结果发现编出的前三个图形经过验证是正确的。
最后一个图形需要使用到变量替换的一个函数subs,其实就在书上的例题中,其用法就是在subs后先将要变量替换的函数x写出,逗号后再加变量t,逗号后再加上替换后的变量。
在编译时我曾漏掉过这一语句,结果检查时确实是比较难发现。
变量替换前后的图如下:
变量替换前的图形变量替换后的图形
这说明对我来说要格外小心,因为我很容易范这样的毛病,因此对于这样一个细小的误差来说在写代码时就应该严格注意。
(5)已知离散时间信号x(n),用MATLAB绘出x(n)、x(-n)、x(n+2)和x(n-2)的波形。
第五题的总代码如下:
n=-3:
4;
x=[01233330];
stem(n,x,'
x(n)'
n1=-n;
stem(n1,x,'
n2=n-2;
stem(n2,x,'
n3=n+2;
stem(n3,x,'
第五题程序运行结果如下:
(6)用MATLAB编程绘制下列信号的时域波形,观察信号是否为周期信号?
若是周期信号,周期是多少?
若不是周期信号,请说明原因。
X(t)=1+++cos(2πt)
X(t)=
X(t)=2+
第六题的总代码如下:
x1=1+cos(pi/4*t-pi/3)+2*cos(pi/2*t-pi/4)+cos(2*pi*t);
ezplot(x1,[-3*pi,3*pi]);
x1'
x2=sin(t)+2*sin(pi*t);
ezplot(x2,[-3*pi,3*pi]);
%非周期
x2'
n=-3*pi:
3*pi;
x3=2+3*sin(2*n*pi/3-pi/8);
stem(x3,'
x3'
n=-4*pi:
4*pi;
x4=cos(n*pi/6)+sin(n*pi/6)+cos(n*pi/2);
stem(x4,'
x4'
第六题程序运行结果如下:
图一为周期函数,周期为8;
图二为非周期函数;
图三为周期函数,周期为3;
图四为周期函数,周期为12;
四、实验收获与总结
通过此次的实验,我学会了MATLAB的一些基本编译的方法,包括掌握信号的MATLAB表示及其可视化方法。
掌握信号基本时域运算离散函数、连续函数的MATLAB实现方法。
课前的编译使得我实验课上更加地轻松,能够提前发现问题、寻求同学的帮助或者是上网查找一些相关的问题,也能够把不会的问题在课堂上进行解决。
此次实验我遇到的问题主要集中在2、3、4题上,其余的题我都比较轻松的完成,对于实验中的困难与解决在上述“实验内容、实验结果以及实验遇到的困难与解决”中已经将这部分进行了详细描述。
总而言之,这样自主的实验课能够让我们更加自主、主动地学习,自己琢磨掌握一些核心的编译方法,实验课上完不成的内容可以课后再研究、讨论,这门实验课提升了我的学习兴趣,也激发了我学习的动力。
相信今后的实验我能够越做越好。
实验2LIT系统的时域分析
1、掌握利用MATLAB对系统进行时域分析的方法
2、掌握连续时间系统零状态响应、冲激响应和阶跃响应的求解方法
3、掌握求解离散时间系统响应、单位抽样响应的方法
4、加深对卷积积分和卷积和的理解,掌握利用计算机进行卷积积分和卷积和计算的方法
1、连续时间系统时域分析的MATLAB实现
1)连续时间系统的MATLAB表示
LIT连续时间系统通常可以由系统微分方程描述,设描述系统的微分方程为:
则在MATLAB里可以建立系统模型如下:
b=[bM,b(M-1),…,b0];
a=[aN,a(N-1),…,a0];
sys=tf(b,a);
其中,tf是用于创建系统模型的函数,向量a与b的元素是以微分方程求导的降次幂次序来排序的,如果有缺项,应用0补齐。
2)连续时间系统的零状态响应
零状态响应是指系统的初始状态为零,仅由输入信号所引起的响应。
MATLAB提供了一个用于求解零状态响应的函数lism,其调用格式如下:
lism(sys,x,t)绘出输入信号及响应的波形,x和t表示输入信号数值向量及其时间向量。
y=lism(sys,x,t)这种调用格式不会出波形,而是返回响应的数值向量。
3)连续时间系统的冲激响应与阶跃响应
MATLAB提供函数impulse来求指定时间范围内,由模型sys描述的连续时间系统的单位冲激响应。
impulse函数的基本调用格式如下:
impulse(sys)在默认时间范围内绘出系统冲激响应的时域波形。
impulse(sys,T)绘出系统在0-T范围内冲激响应的时域波形。
impulse(sys,ts:
tp:
te)绘出系统在ts-te范围内,以tp为时间间隔取样的冲激响应波形。
[y,t]=impulse(…)该调用格式不会出冲激响应波形,而是返回冲激响应的数值向量及其对应的时间向量。
函数step用于求解单位阶跃响应,函数step同样也有如下几种调用格式:
step(sys)
step(sys,T)
step(sys,ts:
te)
[y,t]=step(…)
各种调用格式参数所代表的意思可参考上述impulse函数。
2、离散时间系统时域分析的MATLAB实现
1)离散时间系统的MATLAB表示
LTI离散系统通常可以由系统差分方程描述,设描述系统的差分方程为:
a0y(n)+a1y(n-1)+…+aNy(n-M)=b0x(n)+b1x(n-1)+…+bNx(n-N)
则在MATLAB里,我们可以用如下两个向量来表示这个系统:
b=[b0,b1,…,bN];
a=[a0,a1,…,aN];
2)离散时间系统对任意输入的响应
MATLAB提供了求LIT离散系统响应的专用函数filter,该函数用于求取由差分方程所描述的离散时间系统在指定时间范围内对输入序列所产生的响应,该函数基本调用格式为:
y=filter(b,a,x)
其中,x为输入序列,y为输出序列,输出系列y对应的时间区间相同。
3)离散时间系统的单位抽样响应
MATLAB提供了函数impz来求指定时间范围内,由向量b和a描述的离散时间系统的单位抽样响应,具体调用格式如下:
impz(b,a)在默认时间范围内绘出单位抽样响应的时域波形。
impz(b,a,N)绘出系统在0-N范围系统单位抽样响应的时域波形。
impz(b,a,ns:
te)绘出系统在ns-te范围内的单位抽样响应波形。
[y,t]=impz(…)该调用格式不会出单位抽样响应波形,而是返回单位抽样响应的数值向量及其对应的时间向量。
3、卷积和与卷积积分
1)离散时间序列的卷积和
卷积和是离散系统时域分析的基本方法之一,离散时间序列x1(n)和x2(n)的卷积和x(n)定义如下:
对已离散LTI系统,设其输入信号为x(n),单位抽样响应为h(n),则其零状态响应y(n)为
y(n)=x(n)*h(n)
即离散LTI系统的零状态响应可以表示成输入信号x(n)和单位抽样响应h(n)的卷积,因此,离散时间序列的卷积和计算对我们近离散吸引时域分析具有重要的意义。
MATLAB的conv函数可以用来求两个离散序列的卷积和,调用格式为x=conv(x1,x2)。
x1=ones(1,3);
x2=[1,2,3,4];
x=conv(x1,x2);
x=
136974
然而,我们不难发现,此例中序列x1、x2、x都没有时间信息,而实际上我们还需根据序列x1、x2对应时间序列确定卷积结果x对应的时间序列。
设x1、x2为两个在有限时间区间内非零的离散时间序列,即序列x1在区间n1-n2内非零,序列x2在区间m1-m2内非零,则序列x1的时域宽度为L1=n2-n1+1,序列x2的时域宽度为L2=m2-m1+1。
由卷积和的定义可知,卷积和序列x的时域宽度为L=L1+L2-1,且只在区间(n1+m1)-(n1+m1)+(L1+L2-2)非零。
2)连续时间信号的卷积积分
卷积积分是连续系统时域分析的有效方法和工具之一,连续时间信号x1(t)和x2(t)的卷积积分x(t)定义如下:
对已连续LTI系统,设其输入信号为x(t),单位冲激响应为h(t),其零状态响应为y(t),则有
y(t)=x(t)*h(t)
即连续LTI系统的零状态响应可以表示成输入信号和单位冲激响应的卷积。
因此连续时间信号卷积积分对连续系统的时域分析具有非常重要的意义。
利用MATLAB可以采用数值计算的方法近似计算卷积积分。
卷积积分可用求和运算来实现
现在考虑只求t=nΔ时x(t)的值x(nΔ),则由上式可得
当Δ足够小,x(nΔ)就是x(t)的数值近似。
我们可以利用计算离散序列卷积和的conv函数来计算卷积积分,具体步骤如下:
1将连续时间信号x1(t)和x2(t)以时间间隔Δ进行取样,得到离散序列x1(nΔ)和x2(nΔ);
2构造离散序列x1(t)和x2(t)对应的时间向量t1和t2;
3调用函数conv计算卷积积分在t=nΔ时的近似采样值x(nΔ);
4构造离散序列x(nΔ)对应的时间向量n。
根据上述过程可以自定义一个用于计算卷积积分的通用函数sconv,函数源代码如下:
function[x,t]=sconv(x1,x2,t1,t2,dt)
%计算连续信号卷积积分x(t)=x1(t)*x2(t)
%——数值方法——
%x:
卷积积分x(t)对应的非零值向量
%t:
f(t)的对应时间向量
%x1:
x1(t)的非零值向量
%x2:
x2(t)的非零值向量
%t1:
x1(t)的对应时间向量
%t2:
x2(t)的对应时间向量
%dt:
取样时间间隔
x=conv(x1,x2);
x=x*dt;
t0=t1
(1)+t2
(1);
l=length(x1)+length(x2)-2;
t=t0:
dt:
(t0+l*dt);
(1)采用MATLAB绘出各系统的单位冲激响应和单位阶跃响应波形。
第一题总程序代码如下:
a=[1sqrt
(2)1];
b=[1];
sys=tf(b,a);
subplot(421);
impulse(sys);
subplot(422);
step(sys);
a=[2sqrt
(2)1];
b=[100];
subplot(423);
subplot(424);
a=[111];
b=[10];
subplot(4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京理工大学 信号 系统 实验 报告