信号与系统上机实验指导书Word下载.docx
- 文档编号:22522966
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:29
- 大小:187.33KB
信号与系统上机实验指导书Word下载.docx
《信号与系统上机实验指导书Word下载.docx》由会员分享,可在线阅读,更多相关《信号与系统上机实验指导书Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
ezplot(f,[-88]);
该命令绘制的信号波形如实验图1-3所示。
2.常用连续信号的matlab表示
(1)单位阶跃信号u(t)
实验图1-1时间间隔为1时的信号波形
实验图1-2时间间隔为0.01时的信号波形
实验图1-3符号表示法绘制的信号波形
实验图1-4单位阶跃信号
Matlab中用heaviside()表示,如实验图1-4所示。
Matlab源程序:
heaviside()函数定义:
functionf=heaviside(t)
f=(t>
=0);
函数heaviside(t)的使用
t=-1:
0.01:
1;
y=heaviside(t);
axis([-11-0.11.1]);
(2)单位冲激信号δ(t)
Matlab中用dirac()表示,如实验图1-5所示。
冲激函数定义:
functiondirac(t1,t2,t0)
dt=0.01;
t=t1:
dt:
t2;
n=length(t);
x=zeros(1,n);
x(1,(-t0-t1)/dt+1)=1/dt;
stairs(t,x);
axis([t1,t2,0,1.2/dt])
title('
单位冲击信号δ(t)'
);
冲激函数的调用
dirac(-4,4,0);
实验图1-5单位冲激信号
(3)符号函数sgn(t)
Matlab中用sign()表示,如实验图1-6所示。
y=sign(t);
实验图1-6符号函数
(4)取样函数Sa(t)
如实验图1-7所示。
t=-10*pi:
0.1:
10*pi;
y=sinc(t/pi);
axis([-1010-0.31.1]);
(5)门函数gτ(t)
运用matlab的内部函数rectpuls,调用格式为:
y=rectpuls(t)%产生幅度为1,门宽为1,对称中心在t=0的门函数
y=rectpuls(t,w)%产生幅度为1,门宽为w,对称中心在t=0的门函数
y=rectpuls(t,t0,w)%产生幅度为1,门宽为w,对称中心在t=t0的门函数
实验图1-7取样函数
实验图1-8单位斜坡信号
(6)单位斜坡信号
单位斜坡信号的数学表达式为
t=-3:
3;
f=t.*heaviside(t);
plot(t,f);
axis([-33-0.13.1]);
3.连续信号的基本运算
(1)信号的相加与相乘
已知信号f1(t)、f2(t),信号相加和相乘记为:
f(t)=f1(t)+f2(t)
f(t)=f1(t).*f2(t)
信号与信号相加、相乘后的波形如实验图1-9所示。
t=0:
f1=heaviside(t)-heaviside(t-1);
f2=t.*(heaviside(t)-heaviside(t-1))+heaviside(t-1);
subplot(2,2,1);
plot(t,f1);
axis([-12-0.11.1])
subplot(2,2,2);
plot(t,f2);
axis([-13-0.11.1])
subplot(2,2,3);
plot(t,f1+f2);
axis([-1202.2])
subplot(2,2,4);
plot(t,f1.*f2);
(2)信号的微分与积分
对于连续时间信号,其微分运算是用diff函数来完成的。
其语句格式为:
diff(function,’variable’,n);
其中function表示需要进行求导运算的信号,或者被赋值的符号表达式;
variable为求导运算的独立变量;
n为求导的阶数,默认值为一阶导数。
实验图1-9信号与信号相加与相乘的波形
连续信号的积分运算用int函数来完成,其语句格式为:
int(function,’variable’,a,b);
其中function为被积信号,或者被赋值的符号表达式,variable为积分变量,a,b为积分上、下限,a和b省略时求不定积分。
对实验1-9中的信号f2(t)求微分,其波形如实验图1-10所示;
对实验图1-9中的信号f1(t)求积分,其波形如实验图1-11所示。
symstf2;
f2=t*(heaviside(t)-heaviside(t-1))+heaviside(t-1);
f=diff(f2,'
t'
1);
2;
ezplot(f,t);
symstf1;
f=int(f1,'
实验图1-10信号的微分
实验图1-11信号的积分
三、实验内容及步骤
1,上机实验前,认真阅读实验原理,掌握信号表示和信号运算方法。
2,利用matlab命令画出下列连续信号的波形图。
(1)(2-e-t)*u(t)
(2)u(cos(t))
(3)产生幅度为1,周期为1,占空比为0.5的周期矩形信号。
3,
f(t)
t
1
-1
2
已知f(t)的波形如实验图1-12所示,作出f(t)+f(t)、f(t)*f(t)、f(t)的微分、f(t)的积分的波形。
实验图1-12
四、思考题
1,讨论f(t+t0)与f(-t+t0)平移的方向是否相同,为什么?
2,讲信号f(t)编程f(-2t+4)共有多少中方法,请列举出来。
五、实验报告要求
1,简述实验目的和实验原理。
2,编程实现实验内容,要求附上源程序。
3,回答思考题。
4,总结试验中的主要结论、收获和体会。
实验二离散信号的时域描述与运算
1,掌握常用时域离散信号的matlab表示方法。
2,掌握离散信号的基本运算,包括信号相加、相乘、平移、反转、差分与累加和等。
离散时间信号是指在离散时刻才有定义的信号,简称离散信号或者序列。
离散信号的绘制一般用stem函数,matlab只能表示一定时间范围内有限长度的序列,而对于无限长序列,只能在一定范围内表示出来。
常用离散信号的matlab表示
(1)单位阶跃序列u(n)
如实验图2-1所示。
实验图2-1单位阶跃序列
n=-3:
5;
x=u(n);
stem(n,x,'
fill'
xlabel('
n'
ylabel(‘u(n)’);
axis([-35-0.11.1]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
functionf=u(n)
f=(n>
=0);
(2)单位脉冲序列
如实验图2-2所示。
x=delta(n);
axis([-33-0.11.1]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
functionf=delta(n)
f=(n==0);
实验图2-2单位脉冲序列
(3)矩形序列RN(n)
如实验图2-3所示。
n=-2:
x=u(n)-u(n-4);
axis([-28-0.11.1]);
实验图2-3矩形序列
(4)单边指数序列f(n)=anu(n)
如实验图2-4所示。
n=0:
10;
a1=1.2;
a2=-1.2;
a3=0.8;
a4=-0.8;
f1=a1.^n;
f2=a2.^n;
f3=a3.^n;
f4=a4.^n;
stem(n,f1,'
stem(n,f2,'
stem(n,f3,'
stem(n,f4,'
从实验图2-4可知,当|a|>
1时,单边指数序列发散;
当a|<
1时,序列收敛;
当a>
0时,序列取正值;
当a<
0时,序列在正负之间摆动。
(5)正弦序列f(n)=sin(nω0+φ)
如实验图2-5所示,matlab源程序:
39;
f=sin(pi/5*n);
stem(n,f,'
axis([040-1.21.2]);
其中ω0是正弦序列的数字域频率,φ为初始相位。
与连续的正弦信号不同,正弦序列的自变量n必须是整数,同时只有当2π/ω0为有理数时,正弦序列才具有周期性。
实验图2-4单边指数序列
实验图2-5正弦序列
三、实验内容与步骤
1,上机实验前,认真阅读实验原理,掌握序列表示和运算的方法。
2,利用matlab命令画出下列序列的波形图。
(1)(2-0.5-n)u(n)
(2)((3/2)n)*sin(nπ/5)
1,常用的连续时间信号和离散时间信号有哪些相同点?
有哪些不同点?
2,连续信号的基本运算和离散信号的基本运算有哪些相同点?
1,简述实验目的和实验原理;
2,编程实现实验内容,要求附上源程序;
3,总结实验中的主要结论、收获和体会。
实验三连续信号的频域分析
1,掌握周期信号的频谱方法分析-傅立叶级数及其物理意义。
2,深入理解信号频谱的概念,掌握典型信号的频谱以及傅立叶变换的主要性质。
在“信号与系统”课程中详细讨论了信号的傅立叶分析方法,包括周期信号的频谱分析-傅立叶级数和非周期信号的频谱分析-傅立叶变换的理论。
1.周期信号的三角形式的傅立叶级数
2.周期信号的指数形式的傅立叶级数
利用欧拉公式,式3-1可表示为
(3-6)
式(3-6)表明,任意周期信号f(t)可分解为无穷多项不同频率的复指数
的加权和,其各分量的复数幅度或向量为
(3-7)
计算机不能计算无穷多个系数,假设需要计算的谐波次数为N,则总的系数个数为2N+1。
在确定了时间范围和时间变化的步长即T和dt之后,对某一个系数,式(3-7)可以近似为
对于全部的2N+1个系数,上面的计算可以按照矩阵运算实现,matlab实现系数计算的程序如下:
T=2;
t=-T/2:
T/2;
omega0=2*pi/T;
f1=input(‘putintheperiodicsignalf(t)overoneperiodf1(t)=’);
N=input(‘putinthenumberN’);
forn=-N:
N
F(N+1+n)=f1*exp(-j*n*omega0*t’)*dt/T;
%计算全部2N+1个系数
end
其中,时间变量的变化步长dt的大小对傅立叶基数系数的计算精度影响非常大,dt越小,精度越高,但计算机计算所花的时间也越长。
同时,原信号可以用有限项谐波成分来近似合成,即
Matlab实现信号合成的程序如下:
F=0;
L=2*N+1;
Forn=1:
L-1
F=f+f(n)*exp(j*(n-1-N)*omega0*t);
%信号合成
3.周期信号的频谱
为了直观地表示信号所含各分量的振幅,以频率(或角频率)为横坐标,以各谐波的振幅An或虚指数信号的幅度|Fn|为纵坐标,做出的线图称为幅度谱。
从幅度谱中可以清楚直观地看出各分量的相对大小。
类似的,也可以画出各谐波初相角的线图,称为相位谱。
4.非周期信号的傅立叶变换
把上述理论推广到非周期信号中去,就可导出傅立叶变换。
对于非周期信号f(t),其傅立叶变换及其反变换式定义如下:
式中,
是原信号f(t)的傅立叶变换,称为频谱函数,它是一个复函数。
它的模量是频率Ω的函数,表示信号中各频率分量的相对大小;
相角也是频率的函数,表示频率分量的相位。
三、实验内容
1.求实验图3-5所示周期信号(T=2,τ=1)的傅立叶级数,用matlab做出其前3、9、21、45项谐波的合成波形并与原信号比较,做出其单边幅度谱和相位谱。
2,求不同占空比下,周期矩形脉冲的幅度谱和相位谱,例如τ/4=1/4、1/8。
1,简述周期信号频谱的特点,当信号的周期T和脉宽发生变化时,信号的频谱怎样变化。
2,总结周期信号和非周期信号频谱的不同和联系。
3,由傅立叶变换的性质,总结时域和频域的对应关系。
实验五、连续线性时不变系统分析
1,掌握连续LTI系统的单位冲激响应、单位阶跃响应和任意激励对应响应的求解方法;
2,掌握连续LTI系统的频域分析方法。
1.连续LTI系统的时域分析
(1)连续线性时不变系统的描述
设连续线性时不变系统的激励为e(t),响应为r(t),则描述系统的微分方程可表示为:
为了在matlab编程中调用有关函数,可以用向量a和b来表示该系统,即
这里要注意,向量a和b的元素排列是按微分方程的微分阶次降幂排列,缺项要用0补齐。
(2)单位冲激响应
单位冲激响应h(t)是指连续LTI系统在单位冲激信号的激励下的零状态响应。
Matlab提供了专门用于求解连续系统单位冲激响应的函数impulse(),该函数还能绘制其时域波形。
其调用格式有:
impulse(b,a)
impulse(b,a,t),
impulse(b,a,t1:
p:
t2)
y=impulse(b,a,t1:
t2):
不绘制系统冲激响应波形,只计算出对应的数值解。
(3)单位阶跃响应
单位阶跃响应s(t)是指连续LTI系统在单位阶跃信号u(t)的激励下的零状态响应。
Matlab提供了专门求解系统单位阶跃响应的函数step(),该函数还能绘制其时域波形。
step(b,a);
step(b,a,t);
step(b,a,t1:
t2);
其中y=step(b,a,t1,:
不绘制系统阶跃响应波形,只计算出相应的数值解。
(4)任意激励下的零状态响应
已经知道,连续LTI系统可用常系数线性微分方程来描述。
Matlab提供的函数lsim能对上述微分方程描述的连续LTI系统的响应进行仿真,该函数不仅能绘制指定时间范围内的系统响应波形,而且能求出系统响应的数值解。
Lsim(b,a,x,t)
其中b和a是描述系统的向量,而x和t则表示输入信号的行向量及其时间范围向量。
需要特别强调的是,matab总是把由分子和分母多项式表示的任何系统都当作是因果系统,因此,利用impulse()、step(b,a)、lsim(b,a,x,t)函数求的的响应总是因果信号。
同时卷积积分也是LTI系统求解零状态响应的重要工具之一。
卷积积分的计算实际是利用信号的分段求和来近似实现的。
例如下题,根据给定的两个连续信号e(t)=u(t)-u(t-1)和h(t)=u(t)-u(t-1),编写程序完成两个信号的卷积计算,并绘制波形。
实验图5-1信号及信号的卷积积分
clear;
t0=-2;
t1=4;
t=t0:
t1;
e=heaviside(t)-heaviside(t-1);
h=heaviside(t)-heaviside(t-1);
y=dt*conv(e,h);
%计算e(t)和h(t)的卷积积分
plot(t,e);
e(t)'
axis([t0,t1,-0.2,1.2]);
plot(t,h);
h(t)'
subplot(2,1,2);
t=2*t0:
2*t1;
e(t)*h(t)'
axis([2*t0,2*t1,-0.1,1.2]);
(5)任意激励下的全响应
Matlab提供了专门用于求解连续系统全响应的函数dsolve(),其调用格式为:
Dsolve(‘eqn1’,’eqn2’,…):
解符号形式的微分方程,输入参数可以是n个微分方程,也可以是初始条件。
值得注意的是,无论是输入参数还是输出参数都是符号形式的变量。
例5-1描述某线性时不变系统的微分方程为:
且f(t)=t2,y(0-)=1,y’(0-)=1,试求系统全响应,并指出其零输入响应、零状态响应、自由响应与强迫响应。
通过求解微分方程得到的全响应为:
强迫响应
自由响应
零输入响应
零状态响应
Matlab参考程序及数值计算结果。
实验图5-2理论计算得到的各种系统响应
实验图5-3由matlab数值计算得到的各种系统响应
Matlab符号运算参考程序
y=dsolve('
D2y+3*Dy+2*y=2*t+2*t^2'
'
y(0)=1'
Dy(0)=1'
yht=dsolve('
D2y+3*Dy+2*y=0'
yt=dsolve('
yp=yt-yht;
yh=y-yp;
yzi=dsolve('
y(0)=1,Dy(0)=1'
yzs=dsolve('
y(0)=0,Dy(0)=0'
5;
subplot(2,3,1);
ezplot(y,[05]);
全响应'
subplot(2,3,2);
ezplot(yh,[05]);
自由响应'
subplot(2,3,3);
ezplot(yp,[05]);
强迫响应'
ezplot(yzi,[05]);
零输入响应'
ezplot(yzs,[05]);
零状态响应'
下图所示为一RLC串联电路,已知R=5Ω,L=1H,C=(1/6)F,
1)请用matlab绘制出该系统的单位冲激响应和单位阶跃响应的波形;
2)当输入信号v(t)=0.5e-2t时,请画出该系统的零状态响应波形。
3)当电阻R分别为4Ω、2Ω、0.8Ω、0.4Ω时,观察他们的波形,并对波形变化做出解释。
四、实验报告要求
2,按实验内容和步骤给出程序的源代码和运行结果,并对结果加以理论说明。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 上机 实验 指导书
