信号与线性系统课程设计实验报告.docx
《信号与线性系统课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《信号与线性系统课程设计实验报告.docx(42页珍藏版)》请在冰豆网上搜索。
信号与线性系统课程设计实验报告
实验一连续信号的时域分析……………………………3
实验二连续时间系统的时域分析………………………8
实验三连续信号的频域分析……………………………14
实验四连续系统的频域分析……………………………22
实验五信号采样与重建…………………………………33
实验六离散时间信号和系统分析………………………39
实验总结…………………………………………………46
实验一连续信号的时域分析
一、实验目的
1、熟悉MATLAB软件。
2、掌握常用连续信号与离散信号的MATLAB表示方法。
二、实验设备
安装有matlab6.5以上版本的PC机一台。
三、实验原理
四、实验内容
1、用MATLAB表示连续信号:
,Acos(ω0t+ϕ),Asin(ω0t+ϕ)。
源程序:
clc
clear
close
symst;
f1=2*exp(t);
f2=2*cos(3*t+4);
f3=2*sin(3*t+4);
subplot(2,2,1);
ezplot(f1,[-10,2]);
xlabel('t');
title('f(t)=2e^t');
gridon;
subplot(2,2,2);
ezplot(f2,[-5,5]);
xlabel('t');
title('f(t)=2cos(3t+4)');
gridon;
subplot(2,2,3);
ezplot(f3,[-5,5]);
xlabel('t');
title('f(t)=2sin(3t+4)');
gridon
2、用MATLAB表示抽样信号(sinc(t))、矩形脉冲信号(rectpuls(t,width))
及三角脉冲信号(tripuls(t,width,skew))。
源程序:
clc
clear
close
t=-5:
0.01:
5;
f1=sinc(t);
f2=3*rectpuls(t,4);
f3=3*tripuls(t,4,0);
subplot(2,2,1);
plot(t,f1);
xlabel('t');
title('f(t)=sinc(t)');
gridon;
subplot(2,2,2)
plot(t,f2);
xlabel('t');
title('f(t)=3rectpuls(t,4)');
gridon;
axis([-5,5,-1,4]);
subplot(2,2,3);
plot(t,f3);
xlabel('t');
title('f(t)=3rectpuls(t,4,0)');
gridon;
axis([-5,5,-1,4]);
3、编写如图3的函数并用MATLAB绘出满足下面要求的图形。
(1)f(−t);
(2)f(t−2);(3)f(1−2t);(4)f(0.5t+1).
源程序:
clc
clear
close
t1=-14:
0.05:
2;
t2=0:
0.05:
16;
t=-6.5:
0.05:
1.5;
t4=-6:
0.05:
26;
f1=4*rectpuls(-t1-6,12)+3*tripuls(-t1-6,4,0);
f2=4*rectpuls(t2-8,12)+3*tripuls(t2-8,4,0);
f3=4*rectpuls(1-2*t-6,12)+3*tripuls(1-2*t-6,4,0);
f4=4*rectpuls(0.5*t4+1-6,12)+3*tripuls(0.5*t4+1-6,4,0);
subplot(2,2,1);
plot(t1,f1);
xlabel('t');
title('f(-t)');
subplot(2,2,2);
plot(t2,f2);
xlabel('t');
title('f(t-2)');
subplot(2,2,3);
plot(t,f3);
xlabel('t');
title('f(1-2t)');
subplot(2,2,4);
plot(t4,f4);
xlabel('t');
title('f(0.5t+1)');
实验二连续时间系统的时域分析
一、实验目的
1、掌握卷积计算方法。
2、掌握函数lsim,impulse,step的用法,lsim为求取零状态响应,
impulse为求取单位脉冲响应,step为求取单位阶跃响应。
3、运用课堂上学到的理论知识,从RC、RL一阶电路的响应中正确
区分零输入响应、零状态响应、自由响应与受迫响应。
二、实验设备
安装有matlab6.5以上版本的PC机一台。
三、实验原理
四、实验内容
1.分别用函数lsim和卷积积分两种方法求如图7所示系统的零状态
响应。
其中L=1,R=2,e(t)=
ε(t),i(0−)=2。
源程序:
方法一:
clear
close
clc
t=0:
0.01:
10;
f=exp(-t);
a=[12];
b=[1];
y=lsim(b,a,f,t);
plot(t,y);
xlabel('Time(sec)');
ylabel('i(t)');
axis([0,10,-0.025,0.275]);
gridon;
方法二:
易求得系统的冲激响应为
ε(t)
clear;
clc;
close;
symstx;
e=exp(-x);
h=exp(-2.*(t-x));
i=int(e.*h,x,0,t);
ezplot(i,[0,10]);
xlabel('Time(sec)');
ylabel('i(t)');
title('exp(-t)*exp(-2t)');
gridon;
2.求上述系统的冲激响应与阶跃响应。
冲激响应源程序:
clear;
close;
clc;
a=[12];
b=[1];
impulse(b,a,10);
xlabel('Time(sec)');
ylabel('i(t)');
axis([0,10,-0.1,1]);
gridon;
阶跃响应源程序:
clear;
close;
clc;
a=[12];
b=[1];
step(b,a,10);
xlabel('Time(sec)');
ylabel('i(t)');
axis([0,10,0,0.55]);
gridon;
五、思考题
1.为什么连续时间系统的零状态响应为激励与冲击响应的卷积?
答:
根据卷积的定义,函数e(t)与函数h(t)相卷积后,就是在变量由负无穷到正无穷范围内,对于某一t值时乘积e(τ)h(t-τ)曲线下的面积,也就是:
r(t)=e(t)*h(t),又零状态响应与系统的特性和外加激励有关,所以如问题。
2.利用卷积积分法计算系统响应应从几个方面进行?
答:
利用卷积积分法先要将系统的冲击响应求出,之后再将其与激励卷积即可
实验三连续信号的频域分析
一、实验目的
1.掌握周期信号的频谱——Fourier级数的分析方法。
2.深入理解信号频谱的概念,掌握典型信号的频谱以及Fourier变换
的主要性质。
3.掌握调制与解调的基本原理及滤波器的使用。
二、实验设备
安装有matlab6.5以上版本的PC机一台。
三、实验原理
四、实验内容
1.求如图所示周期矩形脉冲信号的Fourier级数表达式,画出频谱图,并用前N次谐波合成的信号近似。
源程序:
close
clear
clc
symstn;
T=2*pi;%设T为2*pi
N=9;%设N为9
f=heaviside(t)-2*heaviside(t-T/2)+heaviside(t-T);subplot(2,2,1);
ezplot(f,[0,2.1*pi]);
title('原函数');
h=exp(-j*n*2*pi/T*t);%用指数傅里叶级数表示,角频率2*pi/T
A1=int(f.*h,t,0,T);
A=2/T*A1;
forn1=-N:
-1
C(n1+10)=subs(A,n,n1);
end
forn1=1:
N
C(n1+10)=subs(A,n,n1);
end
C(10)=0;%N=0时系数
subplot(2,2,3);
k=-N:
N;
stem(k,abs(C));%作出幅度谱
ylabel('Cn的幅度');
xlabel('\Omega');
subplot(2,2,4);
stem(k,angle(C));%作出相位谱
ylabel('Cn的相位');
xlabel('\Omega');
f1=0;
form=-N:
N
f1=f1+1/2*C(m+10)*exp(j*m*t);%前N次谐波合成的信号近似
end
subplot(2,2,2);
ezplot(f1,[0,2.01*pi]);
title('前N次谐波合成的信号近似');
2、试用fourier()函数求下列信号的傅里叶变换F(jω),并画出F(jω)
(1)f(t)=te−3tε(t)
(2)f(t)=sgn(t)
(1)源程序:
clear
close
clc
symstx;
x=fourier(t*exp(-3*t)*heaviside(t));
x
z=abs(x);
ezplot(z);%符号函数作图函数
xlabel('Time(sec)');
ylabel('|F(jω)|');
gridon
得F(jω)=1/(3+j*ω)^2
(2)源程序:
clear
close
clc
symstx;
x=fourier(2*heaviside(t)-1);%2*heaviside(t)-1即为sgn(t)
x
z=abs(x);
ezplot(z);%符号函数作图函数
xlabel('Time(sec)');
ylabel('|F(jω)|');
gridon
得F(jω)=-2*j/ω
3、调制信号为一取样信号,利用MATLAB分析幅度调制(AM)产生
的信号频谱,比较信号调制前后的频谱并解调已调信号。
设载波信号
的频率为100Hz。
源程序:
clc;
clear;
close;
Fm=10;
t1=0:
0.00002:
0.2;
symstv;
x=sin(2.0*pi*Fm*t)/(2.0*pi*Fm*t);
subplot(3,2,1);
ezplot(x,[0,0.2]);
title('原函数');
Fx=fourier(x,v);
subplot(3,2,2);
ezplot(Fx,[-50*pi,50*pi]);
axis([-50*pi,50*pi,-0.05,0.1]);
title('频谱');
y=x*cos(200*pi*t);
subplot(3,2,3);
b=subs(y,t,t1);
plot(t1,b);
title('调制后');
axis([0,0.2,-1,1]);
Fy=fourier(y,v);
subplot(3,2,4);
ezplot(Fy,[-250*pi,250*pi]);
axis([-250*pi,250*pi,-0.05,0.1]);
title('频谱');
z=y*cos(200*pi*t);
Fz=fourier(z,v);
G=-heaviside(v-20*pi)+heaviside(v+20*pi);%门函数
Fx1=Fz*G;
x1=2*ifourier(Fx1,v);%滤波过程中幅度减半且反向。
subplot(3,2,5);
ezplot(x1,[0,0.2]);
title('解调后');
subplot(3,2,6);
ezplot(2*Fx1,[-50*pi,50*pi]);
axis([-50*pi,50*pi,-0.05,0.1]);
title('频谱');
五、思考题
1、根据试验1的结果,解释Gibbs现象。
答:
因为对于具有不连续点的函数,即使级数的项无限增大,在不连续处,级数之和不收敛于函数f(t);在跃变点附近的波形,总是不可避免的存在有起伏震荡,从而使跃变点的值超过一形成过冲,造成吉布斯现象。
2、比较周期信号与非周期信号的频谱。
区别:
1.周期信号的频谱为离散频谱,非周期信号的频谱为连续频谱。
2.周期信号的频谱为Fn的分布,表示每个谐波分量的复振幅;而周期信号的频谱为F(jω)的分布,(F(jω)/2
)
ω表示合成谐波分量的复振幅,所以也将称为频谱密度函数。
联系:
1.都是反映将时域信号表示为正弦类信号时各谐波分量的分布特性。
2.若周期信号是连续非周期信号的周期延拓,则两者的关系为
F(jω)=
;
=
3、调制与解调的基本原理是什么?
为什么要进行调制?
调制:
调制就是使信号f(t)控制载波的某一个或某些参数(如振幅、频率、相位等),是这些参数按照信号f(t)的规律变化的过程。
载波可以是正弦波或脉冲序列。
以正弦型信号作载波的调制叫做连续波调制。
调制后的载波就载有调制信号所包含的信息,称为已调波。
对于连续波调制,已调信号可以表示为:
它有振幅频率和相位三个参数构成。
改变三个参数中的任何一个都可以携带同样的信息。
因此连续波的调制可分为调幅、调相、和调频。
解调:
解调是调制的逆过程,它的作用是从已调波信号中取出原来的调制信号。
调制过程是一个频谱搬移的过程,它将低频信号的频谱搬移到载频位置。
如果要接收端回复信号,就要从已调信号的频谱中,将位于载频的信号频谱再搬回来。
之所以进行解调,是因为无线电通信是通过空间辐射方式传输信号的,调制过程可以将信号的频谱搬移到容易以电磁波形势辐射的较高频率范围;此外,调制过程可以将不同的信号通过频谱搬移托付至不同频率的载波上,实现多路复用,不至于互相干扰。
实验四连续系统的频域分析
一、实验目的:
掌握连续时间系统变换域分析的基本方法。
二、实验设备:
安装有matlab6.5以上版本的PC机一台。
三、实验原理
四、实验内容:
如图所示系统:
(a)对不同的RC值,用freqs函数画出系统的幅频曲线。
易求得H(jω)=1/(1+jωRC),RC的取值依次为100、10、……、0.00001时的幅频曲线。
源程序:
close
clear
clc
b=[01];
forc=-5:
2
RC=10^c;
a=[RC1];
freqs(b,a);
axis([10^(-2),10^(5),0.1,1]);
holdon
end
得到一系列幅频曲线,从左到右依次为RC的取值依次为100、10、……、0.00001时的幅频曲线。
图中褐色虚线表示纵坐标取值为0.707,红线表示横坐标为100,绿线横坐标为2000。
(b)信号
包含了一个低频分量和一个高频分量。
确定适当的RC值,滤除信号中的高频分量并画出信号
和
在
s范围内的波形。
提示:
|H(jω)|为最大值的
/2处对应的频率为通带截止频率ωc,首先求取|H(jω)|并找到ωc和RC关系,然后根据题意选定ωc即可确定RC值。
由(a)中的图可知,当RC=-2时符合题意。
源程序:
close
clear
clc
t=0:
0.001:
0.2;
f=cos(100*t)+cos(2000*t);
subplot(2,1,1);
plot(t,f);
y1=cos(100*t)/(1+j*100*10^(-2))+cos(2000*t)/(1+j*2000*10^(-2));
subplot(2,1,2);
plot(t,y1)
2、信号任选,分析以下几种情况下信号的频谱和波形变化:
(1)系统满足线性不失真条件时;
(2)系统只满足恒定幅值条件时;
(3)系统只满足相位条件时;
(4)系统两个条件均不满足时。
提示:
利用fourier求取信号的傅立叶变换E(jω),然后设计
H(jω)=H(jω)eφ(ω)使之满足不同条件,计算R(jω)=E(jω)H(jω)并画频谱图。
(1)源程序:
clc
clear
close
symstv;
e=exp(-2*abs(t));
subplot(2,3,1);
ezplot(e,[-3,3]);
axis([-3,3,-0.2,2]);
Fe=fourier(e,v);
subplot(2,3,2);
ezplot(Fe,[-3,3]);
title('幅度谱');
axis([-3,3,0,2]);
i=1;
fora=-3:
0.02:
3
R11=subs(Fe,v,a);
C(i)=angle(R11);
i=i+1;
end
b=-3:
0.02:
3;
subplot(2,3,3);
plot(b,C);
title('相位谱');
axis([-3,3,-1,1]);
H1=2*exp(-j*v*1);
R1=Fe*H1;
r1=ifourier(R1,t);
subplot(2,3,4);
ezplot(r1,[-3,3]);
title('满足线性不失真条件');
axis([-3,3,-0.2,2])
subplot(2,3,5);
ezplot('abs(8/(4+v^2)*exp(-i*v))');
title('幅度谱');
axis([-3,3,0,2.2]);
i=1;
fora=-3:
0.02:
3
R11=subs(R1,v,a);
C(i)=angle(R11);
i=i+1;
end
b=-3:
0.02:
3;
subplot(2,3,6);
plot(b,C);
title('相位谱');
axis([-3,3,-3,3]);
(2)源程序:
clc
clear
close
symstv;
e=exp(-2*abs(t));
subplot(2,3,1);
ezplot(e,[-3,3]);
axis([-3,3,-0.2,2]);
Fe=fourier(e,v);
subplot(2,3,2);
ezplot(Fe,[-3,3]);
title('幅度谱');
axis([-3,3,0,2]);
i=1;
fora=-3:
0.02:
3
R11=subs(Fe,v,a);
C(i)=angle(R11);
i=i+1;
end
b=-3:
0.02:
3;
subplot(2,3,3);
plot(b,C);
title('相位谱');
axis([-3,3,-1,1]);
H1=(1-j*v)/(1+j*v);
R1=Fe*H1;
D=abs(R1);
r1=ifourier(R1,t);
subplot(2,3,4);
ezplot(r1,[-3,3]);
title('只满足恒定幅值');
axis([-3,3,-1,2]);
subplot(2,3,5);
ezplot('4*abs(1/(4+v^2)*(1-i*v)/(1+i*v))');
title('幅度谱');
axis([-3,3,0,2]);
subplot(2,3,6)
i=1;
fora=-3:
0.02:
3
R11=subs(R1,v,a);
C(i)=angle(R11);
i=i+1;
end
a=-3:
0.02:
3;
plot(a,C);
title('相位谱');
axis([-3,3,-3,3]);
(3)源程序:
clc
clear
close
symstv;
e=exp(-2*abs(t));
subplot(2,3,1);
ezplot(e,[-3,3]);
axis([-3,3,-0.2,2]);
Fe=fourier(e,v);
subplot(2,3,2);
ezplot(Fe,[-3,3]);
title('幅度谱');
axis([-3,3,0,2]);
i=1;
fora=-3:
0.02:
3
R11=subs(Fe,v,a);
C(i)=angle(R11);
i=i+1;
end
b=-3:
0.02:
3;
subplot(2,3,3);
plot(b,C);
title('相位谱');
axis([-3,3,-1,1]);
H1=v^2*exp(-j*v*1);
R1=Fe*H1;
r1=ifourier(R1,t);
subplot(2,3,4);
ezplot(r1,[-3,3]);
title('满足相位条件');
axis([-3,3,-4,0.2])
subplot(2,3,5);
ezplot('R1');
title('幅度谱');
axis([-3,3,-3,3]);
i=1;
fora=-3:
0.02:
3
R11=subs(R1,v,a);
C(i)=angle(R11);
i=i+1;
end
b=-3:
0.02:
3;
subplot(2,3,6);
plot(b,C);
axis([-3,3,-3,3]);
title('相位谱');
(4)源程序:
clc
clear
close
symstv;
e=exp(-2*abs(t));
subplot(2,3,1);
ezplot(e,[-3,3]);
axis([-3,3,-0.2,2]);
Fe=fourier(e,v);
subplot(2,3,2);
ezplot(Fe,[-3,3]);
title('幅度谱');
axis([-3,3,0,2]);
i=1;
fora=-3:
0.02:
3
R11=subs(Fe,v,a);
C(i)=angle(R11);
i=i+1;
end
b=-3:
0.02:
3;
subplot(2,3,3);
plot(b,C);
title('相位谱');
axis([-3,3,-1,1]);
H1=v^2*(1-j*v)/(1+j*v);
R1=Fe*H1;
D=abs(R1);
r1=ifourier(R1,t);
subplot(2,3,4);
ezplot(r1,[-3,3]);
title('两个条件均不满足');
axis([-3,3,-0.5,7]);
subplot(2,3,5);
ezplot('4*abs(1/(4+v^2)*v^2*(1-i*v)/(1+i*v))');
title('幅度谱');
axis([-3,3,0,2]);
subplot(2,3,6)
i=1;
fora=-3:
0.02:
3
R11=subs(R1,v,a);
C(i)=angle(R11);
i=i+1;
end
a=-3:
0.0