浙江师范大学信号与系统实验报告.docx
《浙江师范大学信号与系统实验报告.docx》由会员分享,可在线阅读,更多相关《浙江师范大学信号与系统实验报告.docx(71页珍藏版)》请在冰豆网上搜索。
浙江师范大学信号与系统实验报告
信号与系统实验报告
学院:
数理与信息工程学院
班级:
电子信息工程141班
姓名:
学号:
教师:
实验一常用连续时间信号的实现
1、实验目的
(1)了解连续时间信号的特点;
(2)掌握连续时间信号表示的向量法和符号法;
(3)掌握MATLABPlot函数等的应用。
2、实验原理
1.信号的定义
信号时随时间变化的物理量。
信号的本质是时间的函数。
2.信号的描述
1)时域法
2)频域(变换域)法
信号的频域特性与时域特性之间有着密切的关系。
3.信号的分类
(1)确定性信号
(2)连续信号
(3)周期信号
(4)能量信号
功率信号:
平均功率表有限且非零的信号。
三试验内容
1.验证性实验
1.直流信号f(t)=A
(1)符号推理法生成直流信号。
t=-10:
0.01:
10;
f=sym('4');
ezplot(f,[-16,16]);
title('直流信号');
xlabel('时间(t)');
ylabel('幅值(f)');
(2)数值法生成直流信号
t=-10:
0.01:
10;
al=6;
plot(t,al,'b');
title('直流信号');
xlabel('时间(t)');
ylabel('幅值(f)');
1.正弦交流信号f(t)=sin(wt+φ)
1)符号推理法生成正弦交流信号。
t=-0:
0.001:
1;
f=sym('sin(2*pi*t)');
ezplot(f,[-1,2]);
title('正弦交流信号');
xlabel('时间(t)');
ylabel('幅值(f)');
数值法生成正弦交流信号
t=-0:
0.001:
1;
y=sin(2*pi*t);
plot(t,y,'k');
title('正弦交流信号');
xlabel('时间(t)');
ylabel('幅值(f)');
1.单位阶跃信号f(t)=ε(t)
t0=0;
t1=-1;
t2=3;
dt=0.01;
t=t1:
dt:
-t0;
n=length(t);
t3=-t0:
dt:
t2;
n3=length(t3);
u=zeros(1,n);
u3=ones(1,n3);
plot(t,u);
holdon;
plot(t3,u3);
plot([-t0,-t0],[0,1]);
holdoff;
axis([t1,t2,-0.2,1.5]);
title('单位阶跃信号');
xlabel('时间(t)');
ylabel('幅值(f)');
2.单位冲激信号
clear;
t0=0;
t1=-1;
t2=5;
dt=0.01;
t=t1:
dt:
t2;
n=length(t);
x=zeros(1,n);
x(1,(t0-t1)/dt+1)=1/dt;
stairs(t,x);
axis([t1,t2,0,1/dt]);
title('单位冲激信号');
xlabel('时间(t)');
ylabel('幅值(f)');
(2)方法2
t0=0;
t1=-1;
t2=3;
dt=0.001;
t=t1:
dt:
t2;
n=length(t);
k1=floor((t0-t1)/dt);
x=zeros(1,n);
x(k1)=1/dt;
stairs(t,x);
axis([-1,3,0,22]);
title('单位冲激信号');
xlabel('时间(t)');
ylabel('幅值(f)');
4符号信号
clear;
t1=-1;
t2=5;
dt=0.1;
t=t1:
dt:
t2;
n=sign(t);
plot(t,n);
axis([t1,t2,-1.5,1.5]);
title('符号信号');
xlabel('时间(t)');
ylabel('幅值(f)');
5斜坡信号
clear;
t1=-1;
t2=5;
dt=0.01;
t=t1:
dt:
t2;
al=5;
n=al*t;
plot(t,n);
axis([t1,t2,-1.5,20]);
title('斜坡信号');
xlabel('时间(t)');
ylabel('幅值(f)');
单位衰减信号
clear;
t1=-1;
t2=10;
dt=0.1;
t=t1:
dt:
t2;
Al=5;
al=0.5;
n=Al*exp(-al*t);
plot(t,n);
axis([t1,t2,0,1]);
title('单位衰减指数信号');
xlabel('时间(t)');
ylabel('幅值(f)');
复指数信号
clear;
t=0:
0.01:
3;
a=-3;b=4;
z=exp((a+i*b)*t);
subplot(2,2,1)
plot(t,real(z)),title('实部');xlabel('时间(t)');ylabel('幅值(f)');
subplot(2,2,2)
plot(t,imag(z)),title('虚部');xlabel('时间(t)');ylabel('幅值(f)');
subplot(2,2,3)
plot(t,abs(z)),title('模');xlabel('时间(t)');ylabel('幅值(f)');
subplot(2,2,4)
plot(t,angle(z)),title('相角');xlabel('时间(t)');ylabel('幅值(f)');
时间虚指数信号
clear;
a=1;
w=pi/2;
t1=-1;
t2=8;
t=t1:
0.01:
t2;
X=a*exp(i*w*t);
Xr=real(X);
Xi=imag(X);
Xa=abs(X);
Xn=angle(X);
subplot(2,2,1)
plot(t,Xr)
axis([t1,t2,-(max(Xa)+0.5),max(Xa)+0.5])
title('实部');
xlabel('时间(t)');
ylabel('幅值(f)');
subplot(2,2,2)
plot(t,Xi)
axis([t1,t2,-(max(Xa)+0.5),max(Xa)+0.5])
title('虚部');
xlabel('时间(t)');
ylabel('幅值(f)');
subplot(2,2,3)
plot(t,Xa)
axis([t1,t2,0,max(Xa)+1])
title('模');
xlabel('时间(t)');
ylabel('幅值(f)');
subplot(2,2,4)
plot(t,Xn)
axis([t1,t2,-(max(Xa)+1),max(Xa)+1])
title('相角');
xlabel('时间(t)');
ylabel('幅值(f)');
ichlet函数
x=linspace(0,4*pi,300);
y1=DIRIC(x,7);
y2=DIRIC(x,8);
subplot(121),
plot(x,y1);
title('Dirichlet函数');
xlabel('时间(t)');
ylabel('幅值(f)');
subplot(122),
plot(x,y2);
title('Dirichlet函数');
xlabel('时间(t)');
ylabel('幅值(f)');
机噪声的正弦信号
t=(0:
0.001:
50);
y=sin(2*pi*50*t);
s=y+randn(size(t));
plot(t(1:
50),s(1:
50));
title('随机噪声的正弦波');
xlabel('时间(t)');
ylabel('幅值(f)');
周期方波信号
t=(0:
0.0001:
1);
y=square(2*pi*50*t);
plot(t,y);
axis([0,1,-1.5,1.5]);
title('周期方波');
xlabel('时间(t)');
ylabel('幅值(f)');
周期锯齿波信号
t=(0:
0.001:
2.5);
y=sawtooth(2*pi*30*t);
plot(t,y);
axis([0,0.2,-1,1]);
title('周期锯齿波');
xlabel('时间(t)');
ylabel('幅值(f)');
Sinc函数
t=(0:
0.001:
2.5);
x=linspace(-5,5);
y=sinc(x);
plot(x,y);
title('Sinc函数');
xlabel('时间(t)');
ylabel('幅值(f)');
三角波信号
t=(-3:
0.001:
5);
y=tripuls(t,4,0.5);
plot(t,y);
title('三角波');
xlabel('时间(t)');
ylabel('幅值(f)');
2程序设计实验
a=input('a=');
x=0:
0.1:
100
m=sqrt(a*x);
plot(x,m);
xlabel('x');
ylabel('y');
a=2
a=input('a=');
x=0:
0.1:
100
m=(1-(2*abs(x)))/a;
plot(x,m);
xlabel('x');
ylabel('y');
a=2
x=0:
0.01:
10;
y=sin(x)/(x+eps);
plot(x,y);
xlabel('x');
ylabel('y');
x=0:
0.01:
10;
y=5*exp(-1*x);
plot(x,y);
xlabel('x');
ylabel('y');
x=0:
0.01:
10;
y=3*sin(x);
plot(x,y);
xlabel('x');
ylabel('y');
clearall
tao=3;
t=((-10-tao):
0.1:
(10-tao));
u=(t>=tao);
plot(t,u);
tao=5;
t=((-10-tao):
0.1:
(10-tao));
u=(t>=-tao);
plot(t,u);
t=0:
0.01:
10;
y=sin(t);
plot(t,y);
xlabel('t');
ylabel('y');
t=0:
0.01:
10;
y=sin(2*t);
plot(t,y);
xlabel('t');
ylabel('y');
t=0:
0.01:
10;
y=sin(3*t);
plot(t,y);
xlabel('t');
ylabel('y');
t0=0;
t1=-1;
t2=3;
dt=0.001;
t=t1:
dt:
t2;
n=length(t);
k1=floor((t0-t1)/dt);
x=zeros(1,n);
x(k1)=1/dt;
stairs(t-1,x);
axis([-2,3,0,22]);
title('单位冲激信号');
xlabel('时间(t)');
ylabel('幅值(f)');
t0=0;
t1=-1;
t2=3;
dt=0.001;
t=t1:
dt:
t2;
n=length(t);
k1=floor((t0-t1)/dt);
x=zeros(1,n);
x(k1)=1/dt;
stairs(t+5,x);
axis([0,6,0,22]);
title('单位冲激信号');
xlabel('时间(t)');
ylabel('幅值(f)');
t=0:
0.01:
10;
y=cos(3*t).*sin(2*t);
plot(t,y);
xlabel('t');
ylabel('y');
实验二连续时间信号的时域基本运算
1、实验目的:
(1)掌握连续时间信号时域运算的基本方法;
(2)掌握相关函数的调用格式及作用;
(3)掌握连续信号的基本运算。
2、实验原理
信号的基本运算包括信号的相加(减)和相乘(除)。
信号的时域变换包括信号的平移、翻转、倒相以及尺度变换。
(1)加(减):
f(t)=f1(t)±f2(t)
(2)乘:
f(t)=f1(t)·f2(t)
(3)延时或平移:
f(t)→f(t-t0)t0>0时右移;t0<0时左移
(4)翻转:
f(t)=f(-t)
(5)尺度变换:
f(t)→f(at)
◇︳a︳>1时尺度缩小;︳a︳<1是尺度放大;
◇a<0时,还必须包含翻转;
(6)标量乘法:
f(t)→af(t)
(7)倒相:
f(t)→-f(t)
(8)微分:
f(t)→df(t)/dt
(9)积分:
f(t)→∫f(τ)dτ
三、涉及的MATLAB函数
1.stepfun函数
功能:
产生一个阶跃信号。
调用格式:
Stepfun(t,t0)
其中,t是时间区域,在该区间内阶跃信号一定会产生;t0是信号发生从0到1跳跃的时刻。
2.diff函数
调用格式:
diff(f):
求函数f对预设独立变数的一次微分值。
diff(f,’t’):
求函数f对独立变数t的一次微分值。
3.int函数
调用格式:
int(f):
函数f对预设独立变数的积分值。
int(f,’t’):
函数f对独立变数t的积分值。
四实验内容
1验证性实验
1)相加
实现两个连续信号的相加,即f(t)=f1(t)+f2(t)
clearall
t=0:
0.0001:
3;
b=3;
t0=1;
u=stepfun(t,t0);
n=length(t);
fori=1:
n
u(i)=b*u(i)*(t(i)-t0);
end
y=sin(2*pi*t);
f=y+u;
plot(t,f);
title('连续信号的相加');
xlabel('时间(t)');
ylabel('幅值(f)');
2)相乘
实现两个连续信号的相乘,即f(t)=f1(t)·f2(t)
clearall
t=0:
0.0001:
5;
b=3;
t0=1;
u=stepfun(t,t0);
n=length(t);
fori=1:
n
u(i)=b*u(i)*(t(i)-t0);
end
y=sin(2*pi*t);
f=y.*u;
plot(t,f);
title('连续信号的相乘');
xlabel('时间(t)');
ylabel('幅值(f)');
3)移位
实现连续信号的移位,即f(t)→f(t-t0),t0>0时右移;t0<0时左移。
clearall
t=0:
0.0001:
2;
y=sin(2*pi*t);
y1=sin(2*pi*(t-0.2));
plot(t,y,'-',t,y1,'r--');
title('信号的移位');
xlabel('t');
ylabel('f(t)');
4)翻转
信号的翻转就是将信号的波形一纵轴为对称轴翻转180度,将信号f(t)中的之变量t替换为-t即可得到其翻转信号。
clearall
t=0:
0.02:
1;
t1=-1:
0.02:
0;
g1=3*t;
g2=-3*(t1);
gridon;
plot(t,g1,'--',t1,g2,'r');
title('信号的反折');
xlabel('t');
ylabel('g(t)');
5)尺度变换
将信号f(t)中自变量t替换为at。
clearall
t=0:
0.001:
1;
a=2;
y=sin(2*t*pi);
y1=sin(2*a*pi*t);
subplot(211);
plot(t,y,'b');
title('尺度变换');
xlabel('t');
ylabel('y(t)');
subplot(212);
plot(t,y1,'r');
xlabel('t');
ylabel('y1(t)');
6)倒相
将信号f(t)以横轴为对称轴对折得到-f(t)。
7)倒相
将信号f(t)以横轴为对称轴对折得到-f(t)。
6)倒相
将信号f(t)以横轴为对称轴对折得到-f(t)。
clearall
t=-1:
0.02:
1;
g1=3.*t.*t;
g2=-3.*t.*t;
gridon;
plot(t,g1,'b-',t,g2,'r--');
title('倒相');
xlabel('t');
ylabel('g(t)');
7)倒相
将信号f(t)以横轴为对称轴对折得到-f(t)。
clearall
t=-1:
0.02:
1;
g=t.*t;
d=diff(g);
subplot(211);
plot(t,g,'b-');
title('微分');
xlabel('t');
ylabel('g(t)');
subplot(212)
plot(d,'r--');
xlabel('t');
ylabel('d(t)');
clearall
8)积分
求信号f(t)在区间(-∞,t)内的一次积分。
t=-1:
0.2:
1;
symst;
g=t*t;
d=int(g);
subplot(211);
ezplot(g);
title('积分');
xlabel('t');
ylabel('g(t)');
subplot(212)
ezplot(d);
xlabel('t');
ylabel('d(t)');
9)综合
已知信号f(t)=(1+t/2)×[(t+2)-ε(t-2)],分别求出下列信号的数学函数表达式,并绘制其时域波形。
functiony=heaviside(t)
y=(t>0)
symst;
f=sym('(t/2+1)*(heaviside(t+2)-heaviside(t-2))');
subplot(2,3,1);
ezplot(f,[-3,3]);
y1=subs(f,t,t+2);
subplot(2,3,2);
ezplot(y1,[-5,1]);
y2=subs(f,t,t-2);
subplot(2,3,3);
ezplot(y2,[-1,5]);
y3=subs(f,t,-t);
subplot(2,3,4);
ezplot(y3,[-3,3]);
y4=subs(f,t,2*t);
subplot(2,3,5);
ezplot(y4,[-2,2]);
y5=-f;
subplot(2,3,6)
ezplot(y5,[-3,3]);
2程序设计实验
(1)clearall;
t=-5:
0.0001:
5;
u=stepfun(t,-4);
u1=stepfun(t,0);
u2=stepfun(t,4);
f1=(-t+4).*(u1-u2);
f2=sin(2*pi*t);
g=(t+4).*(u-u1);
f3=g+f1;
subplot(2,2,1);
plot(t,f3);
xlabel('t');ylabel('f3(t)');title('f3(t)=f1(-t)+f1(t)');
gridon;
f4=-f3;
subplot(2,2,2);
plot(t,f4);
xlabel('t');ylabel('f4(t)');title('f4(t)=-[f1(-t)+f1(t)]');
gridon;
f5=f2.*f3;
subplot(2,2,3);
plot(t,f5);
xlabel('t');ylabel('f5(t)');title('f5(t)=f2(t)×f3(t)');
gridon;
f6=f1.*f2;
subplot(2,2,4);
plot(t,f6);
xlabel('t');ylabel('f6(t)');title('f6(t)=f1(t)×f2(t)');
gridon;
(2)已知信号f(t)的波形如图11所示。
试画出下列各函数对时间t的波形。
f(-t);f(-t+2);f(-t-2);f(2t);f(1/2×t);f(t-2);f(-1/2×t+1);d[f(1/2×t+1)]/dt;∫f(2-τ)dτ
M文件:
functionf=Heaviside(t)
f=(t>0);
调用函数:
symst
f=sym('-2/3*(t-1)*(heaviside(t+2)-heaviside(t-1))');
subplot(2,5,1);ezplot(f,[-3,2]);title('f(-t)');
f1=subs(f,t,-t);subplot(2,5,2);ezplot(f1,[-2,3]);title('f(-t)');
f2=subs(f,t,-t+2);subplot(2,5,3);ezplot(f2,[0,5]);title('f(-t+2)');
f3=subs(f,t,-t-2);subplot(2,5,4);ezplot(f3,[-4,1]);title('f(-t-2)');
f4=subs(f,t,2*t);subplot(2,5,5);ezplot(f4,[-2,1]);title('f(2t)');
f5=subs(f,t,1/2*t);subplot(2,5,6);ezplot(f5,[-5,3]);title('f(1/2t)');
f6=subs(f,t,t-2);subplot(2,5,7);ezplot(f6,[-1,4]);title('f(t-2)');
f7=subs(f,t,(-1/2*t)+1);subplot(2,5,8);ezplot(f7,[-1,7]);title('f(-1/2t+1)');
f8=sym('-2/3*(heaviside(t+6)-heaviside(t))');
subplot(2,5,9);ezplot(f8,[-7,1]);title('f(1/2t+1)微分');
f9=sym('2/3*t*(t-1)*(heaviside(t-1)-heaviside(t-4))');
subplot(2,5,10);ezplot(f9,[0,5]);title('f(2-t)积分')
实验3连续LTI系统的时域分析
一、实验目的
(1)熟悉连续LTI系统在典型激励信号下的响应及其特征;
(2)掌握连续LTI系统单位冲激响应的求解方法;
(3)重点掌握用卷积法计算连续时间系统的零状态响应;
(4)熟悉MATLAB相关函数的嗲用格式及作