信号与系统实验.docx
- 文档编号:16421258
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:19
- 大小:331.46KB
信号与系统实验.docx
《信号与系统实验.docx》由会员分享,可在线阅读,更多相关《信号与系统实验.docx(19页珍藏版)》请在冰点文库上搜索。
信号与系统实验
《信号与系统》实验报告
班级
学号
学生
《信号与系统》实验报告
实验题目
实验一典型连续时间信号描述及运算
一、实验目的:
(1)通过绘制典型信号的波形,了解这些信号的基本特征
(2)通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用
(3)通过将信号分解成直流/交流分量,初步了解信号分解过程
二、实验内容:
1、利用实验讲义中的信号的运算方法,完成如下实验内容:
已知f1(t)=(-t+4)[u(t)-u(t-4)]和信号f2(t)=sin(2
t),,用MATLAB绘出满足下列要求的信号波形。
(1)
(2)
(3)
(4)
(5)
实验程序:
(1)
的MATLAB编写例程如下:
%u.m
functionf=u(t)
f=(t>0);
%test1.m
symst;
f1=sym('(-t+4)*(u(t)-u(t-4))');
subplot(1,2,1);
ezplot(f1);
y1=subs(f1,t,-t);
f3=f1+y1;
subplot(1,2,2);
ezplot(f3);
实验结果:
仿真得到的图
(2)
的MATLAB编写例程如下:
%test2.m
symst;
f1=sym('(-t+4)*(u(t)-u(t-4))');
subplot(1,2,1);
ezplot(f1);
y1=subs(f1,t,-2*t);
f4=-(f1+y1);
subplot(1,2,2);
ezplot(f4);
实验结果:
仿真得到的图
的MATLAB编写例程如下:
%test3.m
symst;
f2=sym('sin(2*pi*t)');
subplot(121);
ezplot(f2);
f5=f2*f3;
subplot(122);
ezplot(f5);
仿真得到的图
的MATLAB编写例程如下:
%test4.m
symst;
f6=f1*f2;
ezplot(f6);
仿真得到的图
的MATLAB编写例程如下:
%test5.m
symst;
y6=subs(f6,t,t-2);
f7=y6+f2;
ezplot(f7);
仿真得到的图
2、求解如下信号的直流/交流分量并显示在同一图中,在实验报告中给出程序。
从0以0.1步长变化到500。
结果如下图所示
实验程序:
%fAC.m
functionfA=fAC(f,fD)
fA=f-fD;
%fDC.m
functionfD=fDC(f)
fD=mean(f);
%test6.m
t=0:
0.1:
500;
y=100*abs(sin(2*pi.*t./50));
plot(t,y);
holdon;
z=fDC(y);
plot(t,z,'-b');
holdon;
x=fAC(y,fDC(y));
plot(t,x,'-g');
实验结果:
仿真得到的图
3、实验总结:
(1)通过绘制典型信号的波形,更加直观的了解典型信号的基本特征,从而加深了对这些信号的波形印象
(2)通过绘制信号运算结果的波形,对这些信号运算对信号所起的作用有了更加深刻的认识
(3)通过将信号分解成直流/交流分量,对信号分解过程有了初步了解
实验题目
实验二线性系统时域分析
一、实验目的:
(1)掌握求解连续时间信号时域卷积的方法
(2)掌握线性时不变系统时域分析方法
2、实验内容:
1、利用MATLAB实现下述两个信号的积分:
即
实验程序:
%sconv.m
function[f,k]=sconv(f1,f2,k1,k2,p)
f=conv(f1,f2);%计算序列f1与f2的卷积和f
f=f*p;
k0=k1
(1)+k2
(1);%计算序列f非零样值的起点位置
k3=length(f1)+length(f2)-2;%计算卷积和f
%的非零样值的宽度
k=k0:
p:
(k3*p+k0);%确定卷积和f非零样值的时
%间向量
subplot(2,2,1);
plot(k1,f1);%在子图1绘f1(t)时域波形图
title('f1(t)');
xlabel('t');
ylabel('f1(t)');
subplot(2,2,2);
plot(k2,f2);%在子图2绘f2(t)时波形图
title('f2(t)');
xlabel('t');
ylabel('f2(t)');
subplot(2,2,3);
plot(k,f);%画卷积f(t)的时域波形
h=get(gca,'position');
h(3)=2.5*h(3);
set(gca,'position',h)%将第三个子图的横坐标
%范围扩为原来的2.5倍
title('f(t)=f1(t)*f2(t)');
xlabel('t');
ylabel('f(t)');
%u.m
functionf=u(t)
f=(t>0);
%test1.m
p=0.01;
k1=-1:
p:
2;
f1=u(k1+0.5)-u(k1-1);
k2=0:
p:
2;
f2=0.5*k2;
[f,k]=sconv(f1,f2,k1,k2,p);
实验结果:
仿真得到的图
;
;
卷积:
2、求解如下LTI系统的冲激响应、阶跃响应
2r''(t)+r'(t)+8r(t)=e(t)
实验程序:
%test2.m
a=[218];
b=1;
%冲激响应
subplot(211);
impulse(b,a,0:
0.1:
10);
%阶跃响应
subplot(212);
step(b,a,0:
0.1:
10);
实验结果:
仿真得到的图
3、已知描述系统的微分方程和激励信号如下
r''(t)+4r'(t)+4r(t)=e'(t)+3e(t),e(t)=
实验程序:
方法一:
%test3.m
a=[144];
b=[13];
t=0:
0.01:
10;
x=exp(-t);
lsim(b,a,x,t);
方法二:
p=0.01;
k1=0:
p:
5;
f1=((1+k2).*exp(-2*k2)).*u(k2);
k2=0:
p:
5;
f2=exp(-1*t);
[f,k]=sconv(f1,f2,k1,k2,p)
实验结果:
仿真得到的图
3、实验总结:
(1)掌握用Matlab求解连续时间信号时域卷积的方法,从而对卷积有更直观的认识。
(2)掌握线性时不变系统时域分析方法,对连续时间信号的冲激响应,阶跃响应,零状态相应有更直观的认识。
实验题目
实验四连续时间信号的傅立叶变换
一、实验目的:
(1)掌握连续信号傅立叶变换与逆变换的计算方法
(2)掌握利用MATLAB实现连续时间信号傅立叶变换的方法
二、实验内容:
1、利用fourier()命令求解如下信号的傅立叶变换,给出
的波形图以及
的表达式和幅度频谱图:
(1)钟形脉冲:
(2)符号函数:
实验程序:
(1)钟形脉冲:
%test1.m
symstw
ft=exp(-(t/2)^2);
Fw=fourier(ft);
subplot(211);
ezplot(ft);
subplot(212)
ezplot(Fw);
实验结果:
仿真得到的图
(2)符号函数:
%test2.m
symstw
ft=sym('Heaviside(t)-Heaviside(-t)');
Fw=fourier(ft)
ezplot(ft,[-2,2]);
实验结果:
仿真得到的图
实验画图由于在t=0处傅里叶变换有冲激函数,无法画出Fw波形,得到的傅里叶变换函数式是:
Fw=
fourier(Heaviside(t),t,w)-fourier(Heaviside(t),t,-w)
2、求解如下信号的福利叶变换,绘出信号的时域波形及幅度频谱图:
(1)升余弦脉冲:
(2)
(1)实验程序:
%test3.m
R=0.02;t=-1:
R:
1;
f=1/2*(1+cos(pi.*t));
W1=2*pi*5;
N=500;k=0:
N;W=k*W1/N;
F=f*exp(-j*t'*W)*R;
F=real(F);
W=[-fliplr(W),W(2:
501)];
F=[fliplr(F),F(2:
501)];
subplot(2,1,1);plot(t,f);
xlabel('t');ylabel('f(t)');
title('f(t)=1/2[1+cos(\pi*t)]');
subplot(2,1,2);plot(W,F);
xlabel('w');ylabel('F(w)');
title('f(t)的付氏变换F(w)');
实验结果:
仿真得到的图
(2)实验程序:
%test4.m
R=0.02;t=-2:
R:
2;
f=1-abs(t)/2;
W1=2*pi*5;
N=500;k=0:
N;W=k*W1/N;
F=f*exp(-j*t'*W)*R;
F=real(F);
W=[-fliplr(W),W(2:
501)];
F=[fliplr(F),F(2:
501)];
subplot(2,1,1);plot(t,f);
xlabel('t');ylabel('f(t)');
title('f(t)=1-|t|/2');
subplot(2,1,2);plot(W,F);
xlabel('w');ylabel('F(w)');
title('f(t)的付氏变换F(w)');
实验结果:
仿真得到的图
2、已知
的波形如下:
且
;设
,试用matlab给出
、
、
、
,并验证时域卷积定理。
(2)实验程序:
%test5.m
W=k*W1/N;
F=f*exp(-j*t'*W)*R;
F=real(F);
Y=y*exp(-j*n'*W)*R;
Y=real(Y);
F1=F.*F
subplot(223);
plot(W,F);
xlabel('w');
ylabel('F(jw)');
subplot(224);
plot(W,F1);
xlabel('w');
ylabel('F(jw).F(jw)');
axis([-202004]);
实验结果:
仿真得到的图
三、实验总结:
(1)通过MATLAB绘制连续信号傅立叶变换与逆变换的图像,掌握其基本的计算方法,对傅立叶变换与逆变换有了更深刻的认识。
(2)通过利用MATLAB实现连续时间信号傅立叶变换的方法,对傅里叶变换有了更深的认识。
实验题目
实验六拉普拉斯变换及其逆变换
一、实验目的:
(1)掌握连续系统及信号拉普拉斯变换概念
(2)掌握利用MATLAB绘制系统零极点图的方法
(3)掌握利用MATLAB求解拉普拉斯逆变换的方法
二、实验内容:
1、求解下述信号的拉普拉斯变换,并利用MATLAB绘制拉普拉斯变换的曲面图:
实验程序:
(1)
%test1.m
a=-1:
0.08:
1;
b=-1.99:
0.08:
1.99;
[ab]=meshgrid(a,b);
s=a+i*b;
s=(s.*s)./(s.*s+4);
Fs=abs(s);
mesh(a,b,Fs);%绘制曲面图
surf(a,b,Fs);
axis([-1,1,-2,2,0,15]);
title('单边余弦信号cos(2t)拉氏变换曲面图');
colormap(hsv);
实验结果:
仿真得到的图
(2)
%test2.m
a=-3:
0.06:
-1;
b=-2:
0.06:
2;
[a,b]=meshgrid(a,b);
s=a+i*b;
s=1./((s+2).*(s+2)+1);
Fs=abs(s);
mesh(a,b,Fs);
suf(a,b,Fs);
title('单边正弦信号f(t)=e-2tsin(t)u(t)拉氏变换曲面图');
colormap(hsv);
实验结果:
仿真得到的图
2、已知连续时间信号
,试求出该信号的拉普拉斯变换
和傅立叶变换
,用MATLAB绘出拉普拉斯变换曲面图
及幅频曲线
,观察曲面图在虚轴上的剖面图,并将其与幅频曲线相比较,分析频域与复频域的对应关系。
(1)实验程序:
%test3.m
a=-0:
0.1:
5;
b=-20:
0.1:
20;
[a,b]=meshgrid(a,b);
s=a+i*b;%确定绘图区域
s=1./(s+3);
Fs=abs(s);%计算拉普拉斯变换
subplot(211);
mesh(a,b,Fs);%绘制曲面图
surf(a,b,Fs);
view(-60,20)%调整观察视角
axis([-0,5,-20,20,0,0.5]);
title('f(t)=e-3tu(t)拉普拉斯变换(S域像函数)');
colormap(hsv);
w=-20:
0.1:
20;%确定频率范围
Fw=1./(i.*w+3);%计算傅里叶变换
subplot(212);
plot(w,abs(Fw))%绘制信号振幅频谱曲线
title('f(t)=e-3tu(t)傅里叶变换(振幅频谱曲线)')
xlabel('频率w')
实验结果:
仿真得到的图
3、已知信号的拉普拉斯变换如下所示,试用MATLAB绘制曲面图,观察拉普拉斯变换零极点分布对曲面图的影响。
(1)实验程序:
%sjdt.m
function[p,q]=sjdt(A,B)
%绘制连续系统零极点图程序
%A:
系统函数分母多项式系数向量
%B:
系统函数分子多项式系数向量
%p:
函数返回的系统函数极点位置行向量
%q:
函数返回的系统函数零点位置行向量
p=roots(A);%求系统极点
q=roots(B);;%求系统零点
p=p';%将极点列向量转置为行向量
q=q';%将零点列向量转置为行向量
x=max(abs([pq]));%确定纵坐标范围
x=x+0.1;
y=x;%确定横坐标范围
clf
holdon;
axis([-xx-yy]);%确定坐标轴显示范围
axis('square')
plot([-xx],[00]);%画横坐标轴
plot([00],[-yy]);%画纵坐标轴
plot(real(p),imag(p),'x');%画极点
plot(real(q),imag(q),'o');%画零点
title('连续系统零极点图');%标注标题
text(0.2,x-0.2,'虚轴');
text(y-0.2,0.2,'实轴');
%test4.m
a=-5:
0.2:
5;
b=-4:
0.2:
4;
[a,b]=meshgrid(a,b);
s=a+i*b;
s=((s+1).*(s+4))./(s.*(s+2).*(s+3));
Fs=abs(s);
mesh(a,b,Fs);
suf(a,b,Fs);
axis([-0.5,0.5,-2,2,0,15]);
title('拉氏变换曲面图');
colormap(hsv);
零极点分布:
a=[1560]
b=[154]
sjdt(a,b)
实验结果:
仿真得到的图
(1)
仿真得到的图
(2)
(2)实验程序:
%test5.m
a=-6:
0.2:
6;
b=-6:
0.2:
6;
[a,b]=meshgrid(a,b);
s=a+i*b;
s=(s.*s-4)./(s.*s+4);
Fs=abs(s);
mesh(a,b,Fs);
suf(a,b,Fs);
axis([-0.5,0.5,-2,2,0,15]);
title('拉氏变换曲面图');
colormap(hsv);
零极点分布:
a=[104]
b=[10-4]
sjdt(a,b)
实验结果:
仿真得到的图
(1)
仿真得到的图
(2)
4、试用MATLAB求下列信号的拉普拉斯逆变换
(1)
(2)
实验程序:
%test6.m
%
(1)
a=[1560]
b=[154]
[r,p,k]=residue(b,a)
%
(2)
a=[1221]
b=[1]
[r,p,k]=residue(b,a)
%用abs()求出部分分式展开系数的模:
%abs(r)
%用angle()求出展开系数的幅角:
%angle(r)/pi
实验结果:
(1)
a=
1560
b=
154
r=
-0.6667
1.0000
0.6667
p=
-3.0000
-2.0000
0
k=
[]
(2)
a=
1221
b=
1
r=
1.0000
-0.5000-0.2887i
-0.5000+0.2887i
p=
-1.0000
-0.5000+0.8660i
-0.5000-0.8660i
k=
[]
>>abs(r)
ans=
1.0000
0.5774
0.5774
>>angle(r)/pi
ans=
0
-0.8333
0.8333
三、实验总结:
(1)通过MATLAB绘制信号拉普拉斯变换的波形图,对连续系统及信号拉普拉斯变换概念有了更深的认识和理解。
(2)通过利用MATLAB绘制系统零极点图的方法,认识了系统零极点对系统的影响
(3)通过利用MATLAB求解拉普拉斯逆变换的方法,加深了求解拉普拉斯逆变换的方法的认识
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 实验
![提示](https://static.bingdoc.com/images/bang_tan.gif)