信号与系统报告.docx
《信号与系统报告.docx》由会员分享,可在线阅读,更多相关《信号与系统报告.docx(46页珍藏版)》请在冰豆网上搜索。
信号与系统报告
实验报告
课程名称信号与系统
实验名称信号与系统的时域分析
专业通信工程
班级1401
学号2014*****130
姓名易煌轩
指导教师张鏊峰
2015年12月22日
实验一信号与系统的时域分析
一、实验目的
1、熟悉和掌握常用的用于信号与系统时域仿真分析的MATLAB函数;
2、掌握连续时间和离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程;
3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质;
4、掌握利用MATLAB计算卷积的编程方法,并利用所编写的MATLAB程序验证卷积的常用基本性质;
掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。
基本要求:
掌握用MATLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。
掌握线性时不变连续系统的时域数学模型用MATLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。
二、实验要求
学会利用MATLAB求解信号与系统的相关问题
三、实验内容及步骤
实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。
实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。
并结合范例程序应该完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。
实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。
Q1-1:
修改程序Program1_1,将dt改为0.2,再执行该程序,保存图形,看看所得图形的效果如何?
dt=0.01时的信号波形
dt=0.2时的信号波形
这两幅图形有什么区别,哪一幅图形看起来与实际信号波形更像?
答:
图2是直线的,图1是弧形的,峰值是1,图2没达到1的峰值。
Q1-2:
修改程序Program1_1,并以Q1_2为文件名存盘,使之能够仿真从键盘上任意输入的一个连续时间信号,并利用该程序仿真信号x(t)=e-2t。
修改Program1_1后得到的程序Q1_2如下:
%Program1_1
%Thisprogramisusedtogenerateasinusoidalsignalanddrawitsplot
clear,%Clearallvariables
closeall,%Closeallfigurewindows
dt=0.2;%Specifythestepoftimevariable
t=-2:
dt:
2;%Specifytheintervaloftime
%x=sin(2*pi*t);%Generatethesignal
x=input('Typeinsignalx(t)inclosedform:
')
plot(t,x)%Openafigurewindowanddrawtheplotofx(t)
axis([0,2,0,1])
gridon
%gridoff
title('Sinusoidalsignalx(t)')
xlabel('Time(sec)')
信号x(t)=e-2t的波形图
Q1-3:
仿照前面的示例程序的编写方法,编写一个MATLAB程序,以Q1_3为文件名存盘,使之能够在同一个图形窗口中的两个子图中分别绘制信号x[n]=0.5|n|和x(t)=cos(2πt)[u(t)-u(t-3)]。
要求选择的时间窗能够表现出信号的主要部分(或特征)。
编写的程序Q1_3如下:
f.delta:
functiony=delta(t)
dt=0.01;
y=(u(t)-u(t-dt))/dt;
f.u:
%Unitstepfunction
functiony=u(t)
y=(t>=0);%y=1fort>0,elsey=0
%Program1_5
%Thisprogramisusedtoimplementthetime-shiftoperation
%onacontinuous-timesignalandtoobtainitstime-shiftedversions
%andtodrawtheirplots.
clear,closeall,
n=-10:
10;%Specifytheintervaloftime
x=0.5.^abs(n);%Generatethesignal0.5.^abs(n)¡À¨ª?
?
0.5|n|
t=-5:
(0.01*pi):
5;
x1=cos(2*pi*t).*[u(t)-u(t-3)];%Shiftx(t)totheleftby2secondtogetx1(t)
subplot(211)
stem(n,x,'.')
gridon,
title('Originalsignalx[n]')
xlabel('Timen')
subplot(212)
plot(t,x1)
gridon,
title('Leftshiftedversionofx(t)')
xlabel('Timet(sec)')
信号x[n]=0.5|n|的波形图和信号x(t)=cos(2πt)[u(t)-u(t-3)]的波形图
Q1-4已知一个序列为
编写MATLAB程序Q1_4,能够将x[n]以N=8为周期进行周期延拓得到一个周期为N=8的周期序列y[n],并分别绘制x[n]和y[n]图形。
编写的程序Q1_4如下:
clear,closeall;
n1=-3:
7;
x=n1.*(u(n1)-u(n1-5));
n2=-16:
16;
N=8;
y=0;
fork=-2:
2;
y=y+(n2-k*N).*(u(n2-k*N)-u(n2-5-k*N));
end
subplot(211)
stem(n1,x,'.')
title('Originalsignalx[n]')
xlabel('Timen(sec)')
subplot(212)
stem(n2,y,'.')
title('Originalsignaly[n]')
xlabel('Timen(sec)')
信号x[n]的波形图信号y[n]的波形图
Q1-5仿照范例程序Program1_7,编写程序Q1_5,计算并绘制由如下微分方程表示的系统在输入信号为x(t)=(e-2t-e-3t)u(t)时的零状态响应和你手工计算得到的系统零状态响应曲线。
手工计算得到的系统零状态响应的数学表达式是:
编写的程序Q1_5如下:
%Program1_7
%Thisprogramisusedtocomputetheimpulseresponseh(t)andthestepresponses(t)ofa
%continuous-timeLTIsystem
clear,
closeall,
num=input('微分方程右边的系数:
');%8
den=input('微分方程左边的系数:
');%[132]
t=0:
0.01:
8;
x=input('表达式的输入信号x(t):
');%input(exp(-2*t)-exp(-3*t)).*u(t)
subplot(221);
impulse(num,den,8);
title('单位冲激响应x(t)')
xlabel('Timet(sec)')
subplot(222);
step(num,den,8);
title('单位阶跃响应x(t)')
xlabel('Timet(sec)')
subplot(223);
plot(t,x);
title('零输入响应x(t)')
xlabel('Timet(sec)')
subplot(224);
y=lsim(num,den,x,t);
plot(t,y);
title('零状态响应x(t)')
xlabel('Timet(sec)')
手工计算得到的系统零状态响应曲线代码:
clear,
closeall,
dt=0.01;
t=-5:
dt:
10;
y=(4*exp(-t)-8*t.*exp(-2*t)-4*exp(-3*t)).*u(t);
plot(t,y);
axis([-2,10,0,0.3])
title('微分方程解的图像y(t)');
xlabel('Timeindext');
用MATLAB绘制的手工计算的系统响应
执行程序Q1_5得到的系统响应
四、实验结论与体会
在这第一次实验中,由于对实验的不了解,导致做实验的时候不知道该怎么样去做,还是经过了一段时间的熟悉,才逐渐的明白要做什么,但是已经浪费了大量时间,使得原来的任务没有做完,只好推迟做事之前应当把准备工作做好、
实验二连续时间信号的频域分析
实验名称信号与系统的频域分析评分
实验日期2015年12月22日指导教师张鏊峰
姓名易煌轩专业班级通信1401学号201403020130
一、实验目的
1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法;
2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因;
3、掌握连续时间傅里叶变换的分析方法及其物理意义;
4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质;
基本要求:
掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用MATLAB编程完成相关的傅里叶变换的计算。
二、实验要求
学会利用MATLAB求解信号与系统的相关问题;
三、实验内容
Q2-1编写程序Q2_1,绘制下面的信号的波形图:
其中,0=0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos(0t)、cos(30t)、cos(50t)和x(t)的波形图,给图形加title,网格线和x坐标标签,并且程序能够接受从键盘输入的和式中的项数。
抄写程序Q2_1如下:
clear,
closeall,
dt=0.001;
t=-5:
dt:
5;
w0=0.5*pi;
i=input('请输入和式中的项数:
');
x=0;
forr=1:
i;
x=x+1/(r*2-1)*sin((2*r-1)*pi/2)*cos((2*r-1)*w0*t);
end;
subplot(2,2,4);
plot(t,x);
gridon;
title('Signalx(t)');
xlabel('Timet(sec)');
y1=cos(w0*t);
subplot(2,2,1);
plot(t,y1);
gridon;
title('Signaly=cos(w0t)');
xlabel('Timet(sec)');
y2=cos(3*w0*t);
subplot(2,2,2);
plot(t,y2);
gridon;
title('Signaly=cos(3w0t)');
xlabel('Timet(sec)');
y3=cos(5*w0*t);
subplot(2,2,3);
plot(t,y3);
gridon;
title('Signaly=cos(5w0t)');
xlabel('Timet(sec)');
执行程序Q2_1所得到的图形如下:
在键盘输入:
Q2-2给程序Program2_1增加适当的语句,并以Q2_2存盘,使之能够计算例题2-1中的周期方波信号的傅里叶级数的系数,并绘制出信号的幅度谱和相位谱的谱线图。
通过增加适当的语句修改Program2_1而成的程序Q2_2抄写如下:
clear,
closeall;
T=2;
dt=0.00001;
t=-2:
dt:
2;
x1=u(t)-u(t-1-dt);
x=0;
form=-1:
1;
x=x+u(t-m*T)-u(t-1-m*T-dt);
end
w0=2*pi/T;
N=10;
L=2*N+1;
fork=-N:
N;
ak(N+1+k)=(1/T)*x1*exp(-j*k*w0*t')*dt;
end
phi=angle(ak);
subplot(211);
k=-N:
N;
stem(k,abs(ak),'.');
title('幅度谱');
xlabel('Frequencyindexk');
ylabel('|Fn|');
subplot(212);
k=-N:
N;
stem(k,phi,'.');
title('相位谱')
xlabel('Frequencyindexk');
ylabel('φn');
执行程序Q2_2得到的图形
Q2-3反复执行程序Program2_2,每次执行该程序时,输入不同的N值,并观察所合成的周期方波信号。
通过观察,你了解的吉伯斯现象的特点是:
N=10
N=100
答:
总是第一个波峰的值不变且随着n次谐波的增大从第二个开始波峰、波谷开始接近于一条直线。
1、周期信号的傅里叶级数与GIBBS现象
给定如下两个周期信号:
Q2-4分别手工计算x1(t)和x2(t)的傅里叶级数的系数。
信号x1(t)在其主周期内的数学表达式为:
x(t)=(t+1)*(u(t+1)-u(t))–(t-1)*(u(t)-u(t-1))
计算x1(t)的傅里叶级数的系数的计算过程如下:
=1/2
4/
通过计算得到的x1(t)的傅里叶级数的系数的数学表达式是:
信号x2(t)在其主周期内的数学表达式为:
-0.2
t
0.2
计算x2(t)的傅里叶级数的系数的计算过程如下:
通过计算得到的x1(t)的傅里叶级数的系数的数学表达式是:
用MATLAB帮助你计算出你手工计算的傅里叶级数的系数ak从-10到10共21个系数。
从命令窗口上抄写x1(t)的21个系数如下:
ak=
Columns1through5
-0.5000-0.0000i0.5000+0.0000i-0.5000-0.0000i0.5000+0.0000i-0.5000-0.0000i
Columns6through10
0.5000+0.0000i-0.5000-0.0000i0.5000+0.0000i-0.5000-0.0000i0.5000+0.0000i
Columns11through15
-0.50000.5000-0.0000i-0.5000+0.0000i0.5000-0.0000i-0.5000+0.0000i
Columns16through20
0.5000-0.0000i-0.5000+0.0000i0.5000-0.0000i-0.5000+0.0000i0.5000-0.0000i
Column21
-0.5000+0.0000i
从命令窗口上抄写x2(t)的21个系数如下:
ak=
Columns1through4
0.0000+0.0000i0.0000+0.0354i0.0000-0.0000i0.0000+0.0455i
Columns5through8
0.0000-0.0000i0.0000+0.0637i0.0000-0.0000i0.0000+0.1061i
Columns9through12
0.0000-0.0000i0.0000+0.3183i0.50000.0000+0.3183i
Columns13through16
0.0000+0.0000i0.0000+0.1061i0.0000+0.0000i0.0000-0.0637i
Columns17through20
0.0000+0.0000i0.0000-0.0455i0.0000+0.0000i0.0000-0.0354i
Columns21
0.0000-0.0000i
四、实验结论与体会
在第一次实验的经验下,第二次实验就不像第一次那样,毫无头绪了,一开始实验就直奔重点,经过实验前的预习,在实验课上做就显得没有那么难了,可见事先做准备是没有一点问题的。
实验三连续时间LTI系统的频域分析
一、实验目的
1、掌握系统频率响应特性的概念及其物理意义;
2、掌握系统频率响应特性的计算方法和特性曲线的绘制方法,理解具有不同频率响应特性的滤波器对信号的滤波作用;
3、学习和掌握幅度特性、相位特性以及群延时的物理意义;
4、掌握用MATLAB语言进行系统频响特性分析的方法。
基本要求:
掌握LTI连续和离散时间系统的频域数学模型和频域数学模型的MATLAB描述方法,深刻理LTI系统的频率响应特性的物理意义,理解滤波和滤波器的概念,掌握利用MATLAB计算和绘制LTI系统频率响应特性曲线中的编程。
二、实验要求
学会利用MAYLAB求解信号与系统的相关问题;
三、实验内容
Q3-1修改程序Program3_1,并以Q3_1存盘,使之能够能够接受键盘方式输入的微分方程系数向量。
并利用该程序计算并绘制由微分方程Eq.3.1、Eq.3.2和Eq.3.3描述的系统的幅度响应特性、相位响应特性、频率响应的实部和频率响应的虚部曲线图。
抄写程序Q3_1如下:
clc,
clearall,
b=input('微分方程左边的系数向量');
a=input('微分方程右边的系数向量');
[H,w]=freqs(b,a);
Hm=abs(H);
phai=angle(H);
Hr=real(H);
Hi=imag(H);
subplot(221);
plot(w,Hm);
gridon,
title('幅度响应特性');
xlabel('Frequencyinrad/sec');
subplot(223);
plot(w,phai);
gridon,
title('相位响应特性');
xlabel('Frequencyinrad/sec');
subplot(222);
plot(w,Hr);
gridon,
title('频率响应的实部');
xlabel('Frequencyinrad/sec');
subplot(224);
plot(w,Hi);
gridon,
title('频率响应的虚部');
xlabel('Frequencyinrad/sec');
执行程序Q3_1,绘制的系统1的频率响应特性曲线如下:
从系统1的幅度频率响应曲线看,系统1是低通、高通、全通、带通还是带阻滤波器?
答:
带通滤波器
执行程序Q3_1,绘制的系统2的频率响应特性曲线如下:
从系统2的幅度频率响应曲线看,系统2低通、高通、全通、带通还是带阻滤波器?
答:
全通滤波器
执行程序Q3_1,绘制的系统3的频率响应特性曲线如下:
从系统3的幅度频率响应曲线看,系统3是低通、高通、全通、带通还是带阻滤波器?
答:
低通滤波器
这三个系统的幅度频率响应、相位频率相应、频率响应的实部以及频率响应的虚部分别具有何种对称关系?
请根据傅里叶变换的性质说明为什么会具有这些对称关系?
Q3-2编写程序Q3_2,使之能够能够接受键盘方式输入的输入信号x(t)的数学表达式,系统微分方程的系数向量,计算输入信号的幅度频谱,系统的幅度频率响应,系统输出信号y(t)的幅度频谱,系统的单位冲激响应h(t),并按照下面的图Q3-2的布局,绘制出各个信号的时域和频域图形。
图Q3-2
你编写的程序Q3_2抄写如下:
clc,
closeall
T=0.01;
dw=0.1;
t=0:
T:
40;
w=-4*pi:
dw:
4*pi;
b=input('b=');
a=input('a=');
x=input('Typeintheexpressionoftheinputsignalx(t)');
X=x*exp(-j*t'*w)*T;
X1=abs(X);
y=lsim(b,a,x,t);
Y=y'*exp(-j*t'*w)*T;
Y1=abs(Y);
h=impulse(b,a,40);
[H,w]=freqs(b,a);
Hm=abs(H);
subplot(324)
plot(w,Hm),
axis([04*pi-01.2]);
gridon,
title('Magnituderesponseofthesystem')
subplot(321)
plot(t,x),
axis([040-33]);
gridon,
title('Inputsihnalx(t)')
subplot(323)
impulse(b,a,40),
axis([040-0.21]);
gridon,
title('Impulseresponseh(t)ofthesystem')
subplot(325)
lsim(b,a,x,t),
axis([040-11]);
gridon,title('Outputsignaly(t)')
w=-4*pi:
dw:
4*pi;
subplot(322)
plot(w,X1),
axis([-4*pi4*pi020]);
gridon,
title('Magnituderesponseofinputsignalx(t)')
subplot(326)
plot(w,Y1),
axis([-4*pi4*pi020]);
gridon,
title('Magnitude