信号与系统课程设计报告.docx
《信号与系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《信号与系统课程设计报告.docx(50页珍藏版)》请在冰豆网上搜索。
信号与系统课程设计报告
课程设计报告
科目:
信号与线性系统
专业:
电子信息科学与技术
班级:
071
学号:
200716022116
学生姓名:
于艳涛
指导教师:
宋耀莲
起至时间:
20090615-20090626
教师评分:
2009年7月2日
一、信号的基本运算
二、信号的时域分析
三、卷积
四、信号的频域分析
五、采样定理的建模和验证
六、S域和Z域分析
七、总结
一、信号的基本运算
1、已知时间信号f(2t)如下图所示,编程画出f(t),f(t-2),f(t/2),f(-2t),f(-t/2)的图形。
解题思路:
此图形是由正弦波+锯齿波+方波组成的,因此在编写程序时我们用曲线与直线公式。
其程序如下:
clear
clc
symst
f=2*sin(pi*t)*sym('heaviside(t)-heaviside(t-1)')+(-4*t+4)*sym('heaviside(t-1)-heaviside(t-1.5)')+...
(4*t-8)*sym('heaviside(t-1.5)-heaviside(t-2)')+sym('heaviside(t-2)-heaviside(t-3.5)')
subplot231
ezplot(f,[0,4])
axis([0,4,-2.5,2.5])
title('f(2t)')
gridon
subplot232
y1=subs(f,t,t/2)%f(t)
ezplot(y1,[-8,8])
axis([-1,8,-2.5,2.5])
title('f(t)')
gridon
subplot233
y2=subs(y1,t,t-2)
ezplot(y2,[-0,20])
axis([-1,20,-2.5,2.5])
title('f(t-2)')
gridon
subplot234
y3=subs(y1,t,t/2)
ezplot(y3,[0,16])
axis([-1,16,-2.5,2.5])
title('f(t/2)')
gridon
subplot235
y4=subs(f,t,-t)
ezplot(y4,[-8,8])
axis([-5,1,-2.5,2.5])
title('f(-2t)')
gridon
subplot236
y5=subs(y1,t,-t/2)
ezplot(y5,[-16,0])
axis([-16,0,-2.5,2.5])
title('f(-t/2)')
gridon
运行结果:
2、已知离散序列cos()和cos(4n)观察其周期性
clc
clear
n=0:
40;
subplot(2,1,1)
stem(n,cos(n*pi/6),'filled','pk')
title('cos(n*pi/6)')
subplot(2,1,2)
stem(n,cos(4*n),'dr')
title('cos(4*n)')
通过观察判断是否是周期序列,若是其周期是多少?
分析:
本题为例题,程序都是现成的。
结果运行,运行结果为上图,第一个是周期信号,其周期为14,第二个不是周期信号。
3、观察分析连续信号的时域运算
clc
clear
symst
f1=sym('Heaviside(t+2)-Heaviside(t-2)');
f2=sym('cos(2*pi*t)');
f3=f1+f2;%两信号相加
f4=f1*f2;%两信号相乘
subplot221
ezplot(f1,-5,5);
title('f1(t)=u(t+2)-u(t-2)')
axis([-5,5,-0.2,1.2])
subplot222
ezplot(f2);
title('f2(t)=(2*pi*t)')
subplot223
ezplot(f3);
title('f1(t)+f2(t)')
subplot224
ezplot(f4,-5,5);
title('f1(t)=u(t+2)-u(t-2)')
分析:
此图表示的是连续信号之间的关系,图二行一列是图第一行的两个图相加所得,图二行二列是上两图相乘或相除的结果。
4、分别用m文件和simulink模型参生频率为50Hz方波、锯齿波、三角波和正弦波。
(1)用m文件按正弦波、方波、锯齿波、三角波的顺序如下:
clc
clear
t=0:
0.001:
0.05;
subplot(221);x=sin(100*pi*t);plot(t,x);axis([0,0.05,-1.5,1.25]);gridon
subplot(222);x1=square(100*pi*t);plot(t,x1);axis([0,0.05,-1.5,1.25]);gridon
subplot(223);x2=sawtooth(100*pi*t);plot(t,x2);axis([0,0.05,-1.5,1.25]);gridon
subplot(224);x3=sawtooth(100*pi*t,0.5);plot(t,x3);axis([0,0.05,-1.5,1.25]);gridon
图示
分析:
此例题给我们详细写出了正弦,方波,三角波以及锯齿波的命令。
学习正确使用命令。
二、信号的时域分析
二、信号的时域分析
1、已知系统
,求该系统的冲激响应,阶跃响应,和当输入是
时的零状态响应,并画出响应的波形。
做题思路:
(1).主要程序及说明:
a=[132];
b=[026];%定义系统
impulse(b,a);%用impulse命令来绘画系统的冲激响应。
step(b,a);%用step命令来绘画系统的阶跃响应。
t=0:
0.01:
20;%定义时间范围
x=10*cos(t);%输入函数f(t)=10cos(t)。
lsim(b,a,x,t)%用lsim命令来绘画系统的零状态响应。
(2).所生成的图形如图2-1所示。
2、已知系统y”(t)+5y’(t)+6y(t)=f(t),求该系统的冲激响应,阶跃响应,和当输入分别是
和
时的零状态响应,并画出响应的波形。
做题思路:
(1).主要程序及说明:
a=[156];b=[001];
t=0:
0.01:
6;
impulse(b,a);%冲激响应
step(b,a);%阶跃响应
x1=2*exp(-t);
lsim(b,a,x1,t)%输入为f(t)=2exp(-t)零状态响应
x2=exp(-2*t);
lsim(b,a,x2,t)%输入f(t)=exp(-2t)零状态响应
(2).所生成的图形如图2-2所示。
通过上面两个例子分析冲激响应和阶跃响应响应的关系,并分析零状态响应和冲激响应的关系。
答:
对上面两个例子进行分析后,可知单位阶跃函数
与单位冲激函数
的关系为:
。
3、已知离散系统y(k)+3y(k–1)+2y(k–2)=f(k),试用MATLAB绘出该系统的单位响应。
(1).要点程序如下:
a=[132];b=[1];
impz(b,a);%用impz命令来绘画系统的单位响应。
(2).所生成的图形如图2-3所示。
4、已知离散系统y(k)–y(k–1)–2y(k–2)=f(k)–f(k–2),试用MATLAB绘出该系统的单位响应。
做题思路:
(1).要点程序如下:
a=[1-1-2];b=[1-1];%定义离散系统。
impz(b,a);%用impz命令来绘画系统的单位响应。
(2).所生成的图形如图2-4所示。
5、求LTI离散系统响应并绘出时域波形已知离散系统
6y(k)-5y(k–1)+2y(k–2)=f(k-2)+f(k),
输入序列为
时,求系统的输出,并画出相应的波形。
(1)对指导书上的程序进析分析,feather 命令可解释为羽毛图
a=[6-52];b=[101];%定义离散系统
n=0:
20;%定义时间范围
x=(3/4).^n;%定义输入序列
y=filter(b,a,x)%用filter命令计算输出序列样值
(2)把指导书的程序放到MATLAB执行,所得图如图2-5所示。
(3)由图2-5可体会,LTI离散系统的零状态响应
等于激励
与系统的单位序列响应
的卷积和。
三.卷积
卷积原理:
1、卷积积分原理
2、卷积和公式
例1:
门函数与门函数3卷积
clc
clear
T=0.01;
t1=-2;
t2=3;t3=-1;t4=2;
t5=t1:
T:
t2;%生成t5的时间向量
t6=t3:
T:
t4;%生成t6的时间向量
f1=(stepfun(t5,-1)-stepfun(t5,2));%生成f1的样值向量
f2=3*(stepfun(t6,0)-stepfun(t6,2));;
[y,ty]=convwthn(f1,t1,f2,t2);
y=y*T;t=(t1+t3):
T:
(t2+t4);%序列y非零样值的宽度
subplot(3,1,1);%f1(t)的波形
plot(t5,f1);
axis([(t1+t3),(t2+t4),min(f1),max(f1)+0.5]);
title('lizi');
ylabel('f1(t)');
subplot(3,1,2);%f2(t)的波形
plot(t6,f2);
axis([(t1+t3),(t2+t4),min(f2),max(f2)+0.5]);
ylabel('f2(t)');
subplot(3,1,3);%y(t)的波形
plot(t,y);
axis([(t1+t3),(t2+t4),min(y),max(y)+0.5]);
ylabel('y(t)');
子函数:
function[y,ny]=convwthn(x,nx,h,nh)%提供位置信息,但必须借助conv函数来扩展
nys=nx
(1)+nh
(1);
nyf=nx(end)+nh(end);
y=conv(x,h);
ny=[nys:
nyf];
1.仿真计算门函数3[ε(t+1)-ε(t-2)]指数函数
的卷积波形。
clc
clear
T=0.01;
t1=-2;t2=3;t3=-1;t4=5;
t5=t1:
T:
t2;
t6=t3:
T:
t4;f1=(stepfun(t5,-1)-stepfun(t5,2));¿
f2=2*exp(-2*t6);
[y,ty]=convwthn(f1,t1,f2,t2);
y=y*T;t=(t1+t3):
T:
(t2+t4);
subplot(3,1,1);
plot(t5,f1);
axis([(t1+t3),(t2+t4),min(f1),max(f1)+1]);
title('lizi');
ylabel('f1(t)');
gridon
subplot(3,1,2);
plot(t6,f2);
axis([(t1+t3),(t2+t4),min(f2),max(f2)+1]);
ylabel('f2(t)');
gridon
subplot(3,1,3);
plot(t,y);
axis([(t1+t3),(t2+t4),min(y),max(y)+1.5]);
ylabel('y(t)');
gridon
总结:
此题利用convwthn命令,得到了卷积的波形图,这个程序的难点也就是convwthn命令的书写,熟练掌握convwthn命令的编写,有助于我们对卷积进行实际验证。
2.画出和的卷积波形为f(t)=ε(t)-ε(t-2)和f(t)=ε(t)-ε(t-2)的卷积波形为ha(t)=f(t)*f(t),再画出
的波形。
clc
clear
T=0.01;
t1=-1;
t2=3;t3=-1;t4=3;
t5=t1:
T:
t2;
t6=t3:
T:
t4;
f1=(stepfun(t5,0)-stepfun(t5,2))
f2=3*(stepfun(t6,0)-stepfun(t6,2));
[y,ty]=convwthn(f1,t1,f2,t2);
y=y*T;t=(t1+t3):
T:
(t2+t4);
subplot(3,1,1);
plot(t5,f1);
axis([(t1+t3),(t2+t4),min(f1),max(f1)+0.2]);
title('yyt');
ylabel('f1(t)');
subplot(3,1,2);
plot(t6,f2);
axis([(t1+t3),(t2+t4),min(f2),max(f2)+0.2]);
ylabel('f2(t)');
subplot(3,1,3);
plot(t,y);
axis([(t1+t3),(t2+t4),min(y),max(y)+1]);
ylabel('y(t)');
3.画出离散序
列卷积图,箭头表示0时刻位置的值。
得出的卷积序列图的位置要与理论计算一致。
clc
clear
T=1;
t1=-3;t2=3;t3=0;t4=5;
t5=t1:
T:
t2;
t6=t3:
T:
t4;
f1=[1,9,7,0,-4,4,2];
f2=[2,3,0,-5,2,1];
[y,ty]=convwthn(f1,t1,f2,t2);
y=y*T;t=(t1+t3):
T:
(t2+t4);
subplot(3,1,1);
stem(t5,f1);
axis([(t1+t3),(t2+t4),min(f1),max(f1)+1]);
title('yyt');
ylabel('f1(t)');
subplot(3,1,2);
stem(t6,f2);
axis([(t1+t3),(t2+t4),min(f2),max(f2)+1]);
ylabel('f2(t)');
subplot(3,1,3);
stem(t,y);
axis([(t1+t3),(t2+t4),min(y),max(y)+1]);
ylabel('y(t)');
分析:
上图中y(t)为f1(t)+f2(t)-1的结果,此题中f1的值f1=[1,9,7,0,-4,4,2],f2的值取f2=[2,3,0,-5,2,1]。
时间t分别为t1=-3、t2=3、t3=0、t4=5。
四、信号的频域分析
1、级数展开原理:
常见的信号,既可用其时域特性f(t),即“波形”来描述,又可用其频域特性
即“频谱”来描述。
满足狄里赫利条件的连续周期信号发ft(t),其付里叶级数展开式为
其中
称为基波角频率;F(nω0)称为fT(t)的付氏系数,它是信号第n次
谐波nω0分量的幅度,也叫fT(t)的频谱函数。
其中各次谐波的振幅和相位随频率的变化
分别称为振幅谱和相位谱,它们反映了信号的频城特性。
方波三角波、锯齿波等常见周期信号谐波的幅度都随谐波次数的增高而衰减。
2、傅里叶变换原理
1.把f(t)改为含有直流分量基频为50Hz的方波展开为傅里叶级数,得到的傅里叶级
数幅频特性图与例题比较,找出异同点。
clear
N=5000;T=0.01;n=1:
8*N;
D=2*pi/(N*T);
f=square(2*pi*n*T);¨
F=T*fftshift(fft(f));
k=floor(-(8*N-1)/2:
8*N/2);
subplot(2,1,1);
plot(n*T,f);
axis([0,10,-1.5,1.5]);
ylabel('f(t)');
line([-1,50],[0,0]);
line([0,0],[-6.0,4.0]);
subplot(2,1,2);
plot(k*D,abs(F));
ylabel('·ùƵ');
axis([-2000,2000,-0,300]);
分析:
把f(t)改为含有直流分量基频为50Hz的方波展开为傅里叶级数,在时域上,一个周期内平均值为0,在频域上0点无值,所以都没有直流分量。
2.把f(t)改为基频为50Hz的周期锯齿信号,分析得到的傅里叶级数幅频特性图与理
论值是否一致。
clear
N=5000;T=0.01;n=1:
8*N;
D=2*pi/(N*T);
f=sawtooth(2*pi*n*T);%产生方波
F=T*fftshift(fft(f));
k=floor(-(8*N-1)/2:
8*N/2);
subplot(2,1,1);
plot(n*T,f);
axis([0,10,-1.5,1.5]);
ylabel('f(t)');
line([-1,50],[0,0]);
line([0,0],[-6.1,4.1]);
subplot(2,1,2);
plot(k*D,abs(F));
ylabel('幅频');
axis([-2500,2500,-10,300]);
图形如下:
3.分别测量50Hz,振幅为1V的正弦信号和方波信号的频谱,比较两者的区别。
频谱仪模
块在DSP工具箱中的sinks中。
注意设置频谱仪的FFT长度为2048(可设其它长度试试)。
显示特性设置为幅度显示,
而不要设置为分贝方式。
与前面的m文件编程相比较,结果是否一致?
4.将50Hz,有效值为220V的正弦交流电信号通过全波整流(绝对值)模块,
观察输出波形。
注意,有效值为220V的正弦信号的振幅是多少?
并建模测量50Hz,振幅
为1V的全波整流后的正弦信号的频谱。
修改上例的参数,进一步解释了时域和频域的什么性质?
写出傅里叶变换的对称性公式,
分别从理论上和图形上进行解释,验证理论和仿真结果是否一致?
上例解释了时域和频域的什么性质?
写出傅里叶变换的时域卷积定理公式,分别从理论
上和图形上进行解释,验证理论和仿真结果是否一致?
仿真出第三部分的卷积的频谱。
进一步验证傅里叶变换的时域卷积定理。
例1.将ft是基频为50Hz的方波展开为傅里叶级数。
(及下面的作业为验证信号的级数
分级理论)
clear
N=5000;T=0.01;n=1:
8*N;
D=2*pi/(N*T);
f=square(2*pi*n*T);
%产生方波
F=T*fftshift(fft(f));
k=floor(-(8*N-1)/2:
8*N/2);
subplot(2,1,1);
plot(n*T,f);
axis([0,10,-1.5,1.5]);
ylabel('f(t)');
line([-1,50],[0,0]);
line([0,0],[-6.1,4.1]);
subplot(2,1,2);
plot(k*D,abs(F));
ylabel('幅频');
axis([-1000,1000,-10,300]);
分析傅里叶级数幅频特性与理论计算结果是否一致。
例2、傅里叶变换的尺度变换特性
clc
clear
dt=0.02;%采样间隔
t=-2:
dt:
2;
f=Heaviside(t+1)-Heaviside(t-1);%脉宽为2的门信号
y=Heaviside(3*t+1)-Heaviside(3*t-1);%脉宽为1的门信号
W1=5*pi*2;%设定采样角频率
N=500;%采样点数
k=-N:
N;
W=k*W1/N;%对频率采样
F=dt*f*exp(-j*t'*W);%求F(w)
Y=dt*y*exp(-j*t'*W);%求Y(w)
subplot(221);
plot(t,f);%绘制f(t)
axis([-2201.1]);
xlabel('t');ylabel('f(t)');
subplot(222);
plot(W,F);%绘制F(w)
axis([-5*pi5*pi-0.53.1]);
xlabel('\omega');ylabel('F(\omega)');
subplot(223);
plot(t,y);%绘制y(t)
axis([-2201.1]);
xlabel('t');ylabel('y(t)');
subplot(224);
plot(W,Y);%绘制Y(w)
axis([-8*pi8*pi-0.51.1]);
xlabel('\omega');
ylabel('Y(\omega)');
上例说明了时域和频域的什么性质?
写出傅里叶变换的尺度变换公式,分别从理论上和
图形上进行解释,验证理论和仿真结果是否一致?
分析:
在此题中我们可以看出,当时域大时,信号的频域就小,当时域小时,信号的频域就大。
例3、傅里叶变换的对称性的编程验证
clc
clear
dt=0.1;%采样间隔
t=-20:
dt:
20;
f1=sinc(t/pi);%计算抽样函数f1(t)=Sa(t)的离散采样点
f2=pi*(Heaviside(t+1)-Heaviside(t-1));%计算门函数f2(t)=πg2(t)的离散采样点
N=500;%角频率采样点数
k=-N:
N;
W=2*pi*k/(N*dt);
F1=dt*f1*exp(-j*t'*W);%计算抽样函数的频谱
F2=dt*f2*exp(-j*t'*W);%计算门函数的频谱
subplot(221);
plot(t,f1);
xlabel('t');
ylabel('f1(t)');
axis([-2020-0.51.1]);
subplot(222);
plot(W,F1);
axis([-22-14]);
xlabel('w');
ylabel('F1(w)');
subplot(223);
plot(t,f2);
axis([-22-14]);
xlabel('t');
ylabel('f2(t)');
subplot(224);
plot(W,F2);
axis([-2020-37]);
xlabel('w');
ylabel('F2(w)');
修改上例的参数,进一步解释了时域和频域的什么性质?
写出傅里叶变换的对称性公式,
分别从理论上和图形上进行解释,验证理论和仿真结果
分析:
本题说明了傅里叶变换的对称性,当用f1(t)的频域图作为时域是,其频域为f1(t)的2π倍。
例4、傅里叶变换的时域卷积定理
clc
clear
dt=0.005;
t=-2:
dt:
2;
f=Heaviside(t+1)-Heaviside(t-1);%脉宽为2的门信号
subplot(221);
pl