信号与线性系统课程设计杨益伟.docx
《信号与线性系统课程设计杨益伟.docx》由会员分享,可在线阅读,更多相关《信号与线性系统课程设计杨益伟.docx(41页珍藏版)》请在冰豆网上搜索。
信号与线性系统课程设计杨益伟
信号与线性系统
课程设计
班级:
电信1203班
学号:
*********
*******
日期:
2014年6月7日
信息科学与技术学院
实验一连续时间信号时域分析-----------------3
实验二离散时间信号时域分析-----------------9
实验三连续时间系统时域分析-----------------13
实验四离散时间系统时域分析-----------------17
实验五连续时间信号频域分析-----------------20
实验六连续时间系统频域分析-----------------27
实验七信号采样与重建-------------------------37
实验八传输函数与系统特性--------------------42
实验一连续信号的时域分析
一、实验目的
1、熟悉MATLAB软件。
2、掌握常用连续信号与离散信号的MATLAB表示方法。
二、实验设备
安装有matlab6.5以上版本的PC机一台。
三、实验原理分析
四、实验内容
1、用MATLAB表示连续信号:
et,2cos(3t+pi/6),2sin(3t+pi/6)。
(1)
t=-8:
0.01:
8;
f=exp(t);
plot(t,f);
title('f(t)=exp(t)');
xlabel('t');
axis([-8,8,-1,6])
gridon
(2)
axis([-8,8,-1,6])
gridon
t=-pi:
0.01:
pi;
f=2*cos(3*t+pi/6);
plot(t,f);
title('f(t)=2*cos(3*t+pi/6)');
xlabel('t');
axis([-pi,pi,-3,3])
gridon
(3)
t=-pi:
0.01:
pi;
f=2*sin(3*t+pi/6);
plot(t,f);
title('f(t)=2*sin(3*t+pi/6)');
xlabel('t');
axis([-pi,pi,-3,3])
gridon
2、用MATLAB表示抽样信号(sinc(t))、矩形脉冲信号(rectpuls(t,width))
及三角脉冲信号(tripuls(t,width,skew))。
(1)
t=-3:
0.01:
3;
f=sinc(t);
plot(t,f);
title('f(t)=sinc(t)');
xlabel('t');
axis([-3,3,-0.5,1.1])
gridon
(2)
t=-3:
0.01:
3;
f=rectpuls(t,4);
plot(t,f);
title('f(t)=rectpuls(t,4)');
xlabel('t');
axis([-3,3,0,1.5])
gridon
(3)
t=-2:
0.01:
2;
f=tripuls(t,1,0);
plot(t,f);
title('f(t)=tripuls(t,1,0)');
axis([-2,2,0,1.1])
gridon
3、编写如图3的函数并用MATLAB绘出满足下面要求的图形。
图3
源程序:
clc
clear
close
t0=0:
0.05:
12;
t1=-12:
0.05:
14;
t2=0:
0.05:
14;
t3=-6:
0.05:
1;
t4=-3:
0.05:
23;
f0=4*rectpuls(t0-6,12)+3*tripuls(t0-6,4,0);
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*t3-6,12)+3*tripuls(1-2*t3-6,4,0);
f4=4*rectpuls(0.5*t4+1-6,12)+3*tripuls(0.5*t4+1-6,4,0);
subplot(3,2,1);
plot(t0,f0);
xlabel('t');
title('f(t)');
subplot(3,2,3);
plot(t1,f1);
xlabel('t');
title('f(-t)');
subplot(3,2,4);
plot(t2,f2);
xlabel('t');
title('f(t-2)');
subplot(3,2,5);
plot(t3,f3);
xlabel('t');
title('f(1-2t)');
subplot(3,2,6);
plot(t4,f4);
xlabel('t');
title('f(0.5t+1)');
五、实验总结
实验二离散时间信号时域分析
一、实验目的
1.掌握常用离散信号的MATLAB表示方法。
2、掌握用MATLAB计算卷积和的方法。
二、实验原理分析
三、实验内容
1、用MATLAB表示离散信号:
,
。
源程序:
clc
clear
close
k=-3:
3;
fk=2.^(k);
subplot(1,2,1);
stem(k,fk,'filled');
axis([-4,4,0,9]);
h=-7:
7;
title('a^k*u[k]')
fh=2*sin(h);
subplot(1,2,2);
stem(h,fh,'filled');
axis([-7.5,7.5,-2.5,2.5]);
title('A*sin[k]')
2、已知离散序列波形如图4所示,试用MATLAB绘出满足下列要求的序列波形。
(1)f[k-2]u[k]
(2)f[-k](3)f[-k+2](4)f[k-2]u[k-2]
图4
源程序:
clc
clear
close
k=-6:
5;
f=[0,1,3,6,10,15,14,12,9,5,0,0];
subplot(3,2,1);
stem(k,f,'filled');
title('f[k]');
subplot(3,2,3);
h=0:
7;
f1=[10,15,14,12,9,5,0,0];
stem(h,f1,'filled');
title('f[k-2]*u[k]');
subplot(3,2,4)
stem(-k,f,'filled');
title('f[-k]');
subplot(3,2,5)
stem(-k+2,f,'filled');
title('f[-k+2]');
subplot(3,2,6);
h=2:
7;
f1=[14,12,9,5,0,0];
stem(h,f1,'filled');
title('f[k-2]*u[k-2]');
3、若
,计算
。
源程序:
clc
close
clear
x=[111100];
y=conv(x,x);
y
执行结果:
y=
12343210000
五、实验总结
实验三连续时间系统时域分析
一、实验目的
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。
方法
(1):
函数lsim法
clear;
ts=0;te=10;dt=0.01;
t=ts:
dt:
te;
f=exp(-1*t);
a=[12];b=[1];
y=lsim(b,a,f,t);
plot(t,y);
xlabel('Time(sec)')
ylabel('i(t)')
方法
(二):
卷积积分法
clear;
symstx
e=exp(-1.*(x));
h=exp(-2.*(t-x));
i=int(e.*h,x,0,t);
ezplot(i,[08]);
xlabel('Time(sec)');
ylabel('i(t)');
title('exp(-1t)*(-2t)');
gridon
2.求上述系统的冲激响应与阶跃响应。
a:
冲激响应求解
clear;
a=[12];b=[1];
impulse(b,a);
xlabel('Time(sec)');
ylabel('i(t)');
axis([0,8,-0.2,1.1]);
gridon
b:
阶跃响应求解
clear;
a=[12];b=[1];
step(b,a);
xlabel('Time(sec)');
ylabel('i(t)');
axis([0,5,0,0.6]);
gridon
五、思考题
1.为什么连续时间系统的零状态响应为激励与冲击响应的卷积?
答:
一方面,零状态响应与系统的特性和外加激励有关;另一方面,根据卷积的定义,函数e(t)与函数h(t)相卷积,即对于某一t值时乘积e(τ)h(t-τ)曲线下的面积,因此,连续时间系统的零状态响应为激励与冲击响应的卷积。
2.利用卷积积分法计算系统响应应从几个方面进行?
答:
可以先求零输入响应,再求零状态响应,而零状态响应的求解需要将激励与冲击响应求卷积,最后,将零输入响应与零状态响应相加即得系统响应。
六、实验总结
实验四离散时间系统时域分析
一、实验目的
掌握用MATLAB计算离散时间系统响应的方法。
二、实验原理分析
三、实验内容
1、假设某系统的单位函数响应
,系统激励信号
,求系统的零状态响应,并画图表示。
源程序:
clc
clear
close
k=0:
3;
h=(0.8).^k;
e=[1111];
y=conv(h,e);
t=0:
6;
stem(t,y,'filled');
title('零状态响应');
2、采用P61recur.M计算系统响应:
画出
时的系统响应。
源程序:
a=[-0.5-0.1];b=[010];
y0=[10];x0=[00];
n=0:
10;
x=ones(1,length(n));
y=recur(a,b,n,x,x0,y0);
stem(n,y,'filled')
xlabel('n')
ylabel('y[n]')
title('系统响应')
recur.m
function[y]=recur(a,b,n,x,x0,y0)
N=length(a);
M=length(b)-1;
y=[y0zeros(1,length(n))];
x=[x0x];
a1=a(length(a):
-1:
1);
b1=b(length(b):
-1:
1);
fori=N+1:
N+length(n),
y(i)=-a1*y(i-N:
i-1)'+b1*x(i-N:
i-N+M)';
end
y=y(N+1:
N+length(n));
四、实验总结
实验五连续信号的频域分析
一、实验目的
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)
clear
symstx;
x=fourier(t*exp(-3*t)*heaviside(t));
x
z=abs(x);
ezplot(z);%符号函数作图函数
xlabel('Time(sec)');
ylabel('|F(jω)|');
gridon
结果:
x=1/(3+i*w)^2
(2)f(t)=sgn(t)
clear
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
结果:
x=-2*i/w
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)的规律变化的过程。
载波可以是正弦波或脉冲序列。
以正弦型信号作载波的调制叫做连续波调制。
调制后的载波就载有调制信号所包含的信息,称为已调波。
对于连续波调制,已调信号可以表示为:
它有振幅频率和相位三个参数构成。
改变三个参数中的任何一个都可以携带同样的信息。
因此连续波的调制可分为调幅、调相、和调频。
解调:
解调是调制的逆过程,它的作用是从已调波信号中取出原来的调制信号。
调制过程是一个频谱搬移的过程,它将低频信号的频谱搬移到载频位置。
如果要接收端回复信号,就要从已调信号的频谱中,将位于载频的信号频谱再搬回来。
之所以进行解调,是因为无线电通信是通过空间辐射方式传输信号的,调制过程可以将信号的频谱搬移到容易以电磁波形势辐射的较高频率范围;此外,调制过程可以将不同的信号通过频谱搬移托付至不同频率的载波上,实现多路复用,不至于互相干扰。
六、实验总结
实验六连续系统的频域分析
一、实验目的:
掌握连续时间系统变换域分析的基本方法。
三、实验原理
四、实验内容:
如图所示系统:
(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时的幅频曲线。
(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