信号与系统实验matlab报告.docx
《信号与系统实验matlab报告.docx》由会员分享,可在线阅读,更多相关《信号与系统实验matlab报告.docx(39页珍藏版)》请在冰点文库上搜索。
信号与系统实验matlab报告
大连理工大学
本科实验报告
课程名称:
信号与系统实验
学院(系):
电信学部
专业:
电子
班级:
学号:
姓名:
实验一信号的频谱图
一、实验目的
1.掌握周期信号的傅里叶级数展开
2.掌握周期信号的有限项傅里叶级数逼近
3.掌握周期信号的频谱分析
4.掌握连续非周期信号的傅立叶变换
5.掌握傅立叶变换的性质
二、习题:
t=-3:
0.01:
3;
n0=-3;n1=-1;t0=2;
fori=0:
2
t1=n0:
0.01:
n0+t0/2;x1=t1-n0;
t2=n1-t0/2:
0.01:
n1;x2=-t2+n1;
plot(t1,x1,'r',t2,x2,'r');holdon;
n0=n0+t0;
n1=n1+t0;
end
n_max=[1371531];
N=length(n_max);
fork=1:
N
n=1;sum=0;
while(n<(n_max(k)+1))
b=4./pi/pi/n/n;
y=b*cos(n*pi*t);
sum=sum+y;
n=n+2;
end
figure;
n0=-3;n1=-1;t0=2;
fori=0:
2
t1=n0:
0.01:
n0+t0/2;x1=t1-n0;
t2=n1-t0/2:
0.01:
n1;x2=-t2+n1;
plot(t1,x1,'r',t2,x2,'r');holdon;
n0=n0+t0;
n1=n1+t0;
end
y=sum+0.5;
plot(t,y,'b');
xlabel('t'),ylabel('wove');
holdoff;
axis([-3.013.01-0.011.01]);
gridon;
title(['themax=',num2str(n_max(k))])
End
fork=1:
3;
n=-30:
30;tao=k;T=2*k;w=2*pi/T;
x=n*tao*0.5
fn1=sinc(x/pi);fn=tao*fn1.*fn1;
subplot(3,1,k),stem(n*w,fn);gridon
title(['T=',num2str(2*k)]);axis([-30300k]);
end
ft=sym('sin(2*pi*(t-1))/(pi*(t-1))');
Fw=fourier(ft);
subplot(2,1,1);
ezplot(abs(Fw));
gridon;
title('fudupu');
phase=atan(imag(Fw)/real(Fw));
subplot(2,1,2);
ezplot(phase);
gridon;
title('xiangweipu');
ft=sym('(sin(pi*t)/(pi*t))^2');
Fw=fourier(ft);
subplot(2,1,1);
ezplot(abs(Fw));
gridon;
title('fudupu');
phase=atan(imag(Fw)/real(Fw));
subplot(2,1,2);
ezplot(phase);
gridon;
title('xiangweipu');
(1)
symst
Fw=sym('10/(3+i*w)-4/(5+i*w)')
ft=ifourier(Fw,t)
ezplot(ft);gridon
(2)
symst
Fw=sym('exp(-4*w^2)')
ft=ifourier(Fw,t)
ezplot(ft);gridon
dt=0.01;
t=-0.5:
dt:
0.5;
ft=uCT(t+0.5)-uCT(t-0.5);
N=2000;
k=-N:
N;
W=2*pi*k/((2*N+1)*dt);
F=dt*ft*exp(-j*t'*W);
plot(W,F),gridon
三、实验体会:
这是第一次信号上机实验,在这次实验中第一次接触到了matlab这个强大的工程软件,同时学会了对绘制时信号的时域波形和对信号进行频域分析。
非常直观的看到了,信号的叠加合成等现象。
实验二连续时间系统分析
一、实验目的
1建立系统的概念
2掌握连续时间系统的单位冲激响应的求解
3掌握连续时间系统单位阶跃响应的求解
4掌握连续时间系统零极点的求解
5分析系统零极点对系统幅频特性的影响
6分析零极点对系统稳定性的影响
7介绍常用信号处理的MATLAB工具箱
二、习题
已知系统的微分方程为
,计算该系统的单位冲激响应和单位阶跃响应,b=[1,4];
a=[1,3,2];
sys=tf(b,a);
t=0:
0.1:
10;
y=impulse(sys,t);
subplot(2,1,1);
plot(t,y);
xlabel('ʱ¼ä')
ylabel('µ¥Î»³å¼¤ÏìÓ¦')
b=[1];
a=[1,2,1];
sys=tf(b,a);
t=0:
0.1:
10;
y=step(sys,t);
subplot(2,1,2);
plot(t,y);
xlabel('ʱ¼ä')
ylabel('µ¥Î»½×Ô¾ÏìÓ¦')
1.
实现卷积
,其中:
p=0.01;
nf=0:
p:
2;
f=2*((nf>=0)-(nf>=2));
nh=0:
p:
10;
h=exp(-nh);
y=conv(f,h);
subplot(3,1,1),stairs(nf,f);
title('f(t)');axis([0302.1]);
subplot(3,1,2),stairs(nh,h);
title('h(t)');axis([0301.1]);
subplot(3,1,3),plot(y);
title('y(t)=f(t)*h(t)');
2.已知二阶系统方程
对下列情况分别求单位冲激响应
,并画出其波形。
a.
b.
c.
d.
b=[3];
a=[1,4,3];
sys=tf(b,a);
t=0:
0.1:
10;
y=impulse(sys,t);
plot(t,y);
xlabel('ʱ¼ä')
ylabel('µ¥Î»³å¼¤ÏìÓ¦')
b=[1];
a=[1,2,1];
sys=tf(b,a);
t=0:
0.1:
10;
y=impulse(sys,t);
plot(t,y);
xlabel('ʱ¼ä')
ylabel('µ¥Î»³å¼¤ÏìÓ¦')
b=[1];
a=[1,0,1];
sys=tf(b,a);
t=0:
0.1:
10;
y=impulse(sys,t);
plot(t,y);
xlabel('ʱ¼ä')
ylabel('µ¥Î»³å¼¤ÏìÓ¦')
3.求下列系统的零极点
(1)
(2)
b=[10-4];
a=[12-321];
sys=tf(b,a);
subplot(3,1,1),pzmap(sys);
subplot(3,1,2),step(b,a);
subplot(3,1,3),impulse(b,a);
1)
b=[520250];
a=[151630];
sys=tf(b,a);
subplot(3,1,1),pzmap(sys);
subplot(3,1,2),step(b,a);
subplot(3,1,3),impulse(b,a);
4.对于更多零极点和不同零极点位置的连续系统,作出系统的零极点图;分析系统是否稳定?
若稳定,作出系统的幅频特性曲线和相频特性曲线;
(1)1个极点s=0,增益k=1;
(2)2个共轭极点
,增益k=1;
(3)零点在s=0.5,极点在
,增益k=1
b=[1];
a=[10];
sys=tf(b,a);
pzmap(sys);
Xitongwending
b=[1];
a=[105];
sys=tf(b,a);
pzmap(sys);
Lijiewending
b=[1-0.5];
a=[1-0.225.01];
sys=tf(b,a);
pzmap(sys);
wending
三、实验体会:
这次实验学会了用matlab对系统进行一些分析,并求解连续时间系统的单位冲响应和单位阶跃响应。
对于以后实际问题中对连续时间系统的分析有了很大帮助。
这次实验中还运用matlab分析了系统的零极点,并分析零极点对系统稳定性的影响。
以后对零极点的分析会更加方便了。
实验三信号抽样
一、实验目的
1、学会运用MATLAB完成信号抽样及对抽样信号的频谱进行分析;
2、学会运用MATLAB改变抽样间隔,观察抽样后信号的频谱变化;
3、学会运用MATLAB对抽样后的信号进行重建。
二、习题
四、
设有三个不同频率的正弦信号,频率分别为
。
现在用抽样频率
对这三个正弦信号进行抽样,用MATLAB命令画出各抽样信号的波形及频谱,并分析频率混叠现象。
Ts=1/2/pi/3800;
dt=0.0005;
t1=-0.01:
dt:
0.01;
ft=sin(200*pi*t1);
subplot(221)
plot(t1,ft),gridon
xlabel('Time(sec)'),ylabel('f(t)')
title('ÓàÏÒÐźÅ');
t2=-0.01:
dt:
0.01;
fst=sin(200*pi*t2);
subplot(222);
plot(t1,ft,':
'),holdon;
stem(t2,fst),gridon;
xlabel('Time(sec)'),ylabel('fs(t)');
title('³éÑùºóµÄÐźÅ'),holdoff;
Fsw=Ts*fst*exp(-j*t2'*W);
subplot(223);
plot(W,abs(Fsw)),gridon;
xlabel('\omega'),ylabel('Fs(w)');
title('³éÑùÐźŵÄƵÆ×');
Ts=1/2/pi/3800;
dt=0.0001;
t1=-0.005:
dt:
0.005;
ft=sin(400*pi*t1);
subplot(221)
plot(t1,ft),gridon
xlabel('Time(sec)'),ylabel('f(t)')
title('ÓàÏÒÐźÅ');
t2=-0.005:
dt:
0.005;
fst=sin(400*pi*t2);
subplot(222);
plot(t1,ft,':
'),holdon;
stem(t2,fst),gridon;
xlabel('Time(sec)'),ylabel('fs(t)');
title('³éÑùºóµÄÐźÅ'),holdoff;
Fsw=Ts*fst*exp(-j*t2'*W);
subplot(223);
plot(W,abs(Fsw)),gridon;
xlabel('\omega'),ylabel('Fs(w)');
title('³éÑùÐźŵÄƵÆ×');
Ts=1/2/pi/3800;
dt=0.00001;
t1=-0.01:
dt:
0.01;
ft=sin(7600*pi*t1);
subplot(221)
plot(t1,ft),gridon
axis([-0.00010.0001-1.51.5])
xlabel('Time(sec)'),ylabel('f(t)')
title('ÓàÏÒÐźÅ');
t2=-0.01:
dt:
0.01;
fst=sin(7600*pi*t2);
subplot(222);
plot(t1,ft,':
'),holdon;
stem(t2,fst),gridon;
axis([-0.00010.0001-11]);
xlabel('Time(sec)'),ylabel('fs(t)');
title('³éÑùºóµÄÐźÅ'),holdoff;
Fsw=Ts*fst*exp(-j*t2'*W);
subplot(223);
plot(W,abs(Fsw)),gridon;
axis([-10000*pi10000*pi00.02*pi]);
xlabel('\omega'),ylabel('Fs(w)');
title('³éÑùÐźŵÄƵÆ×');
五、结合抽样定理,用MATLAB编程实现
信号经冲激脉冲抽样后得到的抽样信号
及其频谱,并利用
重构
信号。
clc;
clearall;
dt=0.01;
t=-4:
dt:
4;
ft=sinc(t/pi);
subplot(5,1,1),plot(t,ft),xlabel('Time(sec)'),ylabel('f(t)'),
axis([-151501.5]);title('抽样信号的时域波形');
N=500;
k=-N:
N;
W=2*pi*k/((2*N+1)*dt);
Fw=dt*ft*exp(-j*t'*W);
subplot(5,1,2),plot(W,abs(Fw)),gridon
axis([-1010-0.23]);xlabel('\omega'),ylabel('F(w)'),
title('抽样信号的频谱图');
Ts=1;
t2=-4:
Ts:
4;
fst=sinc(t2);
subplot(5,1,3),stem(t2,fst),axis([-44-0.10.1]);
xlabel('Time(sec)'),ylabel('fst(t)'),title('³éÑùºóµÄÐźÅ');
Fsw=Ts*fst*exp(-j*t2'*W);
subplot(5,1,4),plot(W,abs(Fsw));axis([-1010-0.21.1*pi]);xlabel('\omega'),ylabel('Fs(w)')
title('抽样后信号的频谱');
w=1;
wc=2*w;
n=-100:
100;
nTs=n*Ts;
ft2=sinc(nTs/pi);
fc=ft2*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));subplot(5,1,5),plot(t,fc),axis([-4401.5]);xlabel('t'),ylabel('f(t)');
title('复原后的信号');
三、实验体会:
这次实验学习对信号进行抽样,及抽样后的频谱分析以及对抽样后信号的重建。
很好的与理论课中抽样定理相对应,非常直观的看到了信号的抽样过程及抽样频率对抽样信号的影响,通过对抽样后信号的还原,更深刻的理解了抽样定理。
实验四离散时间LTI系统分析
一、实验目的
●学会运用MATLAB求解离散时间系统的零状态响应;
●学会运用MATLAB求解离散时间系统的单位冲激响应;
●学会运用MATLAB求解离散时间系统的卷积和。
●学会运用MATLAB求离散时间信号的z变换和z反变换;
●学会运用MATLAB分析离散时间系统的系统函数的零极点;
●学会运用MATLAB分析系统函数的零极点分布与其时域特性的关系;
●学会运用MATLAB进行离散时间系统的频率特性分析。
二、实验内容
1.试用MATLAB命令求解以下离散时间系统的单位冲激响应。
(1)
(2)
代码如下:
clc;
clearall;
b=[341;5/2610];
a=[11;10];
fork=1:
2
if(k==1)
c=b(k,:
);
d=a(k,:
);
else
c=b(k,:
);
d=a(k,1);
end
n=0:
30;
subplot(2,1,k),impz(c,d,30),gridon
title(['离散系统的冲激响应',num2str(k)]);
end
2.已知某系统的单位冲激响应为
,试用MATLAB求当激励信号为
时,系统的零状态响应。
代码如下:
clc;
clearall;
nh=-2:
12;
nx=-2:
12;
h=(7/8).^nh.*(heaviside(nh)-heaviside(nh-8));
x=heaviside(nx)-heaviside(nx-5);
y=conv(x,nx);
ny=conv(h,nh);
subplot(3,1,1),stem(nx,x,'fill'),gridon
xlabel('n'),title('x(n)'),axis([-41602]);
subplot(3,1,2),stem(nh,h,'fill');gridon
xlabel('n'),title('h(n)'),axis([-41602]);
subplot(3,1,3),stem(ny,y,'fill'),gridon
xlabel('n'),title('y(n)=x(n)*h(n)');
axis([-416020]);
1.试用MATLAB画出下列因果系统的系统函数零极点布图,并判断系统的稳定性。
(1)
(2)
(1)
B=[0,2,-1.6,-0.9];
A=[1,-2.5,1.96,-0.48];
zplane(B,A),gridon
legend('零点','极点')
title('零极点分布图')
因为有极点在单位圆外,所以该系统不稳定
(2)B=[0,0,0,1,-1];
A=[1,-0.9,-0.65,0.873,0];
zplane(B,A),gridon
legend('Áãµã','¼«µã')
title('Á㼫µã·Ö²¼Í¼')
因为该系统函数的极点都在单位圆内,所以该系统稳定
2.试用MATLAB绘制系统
的频率响应曲线。
b=[100];
a=[1-0.750.125];
[H,w]=freqz(b,a,400,'whole');
Hm=abs(H);
Hp=angle(H);
subplot(211)
plot(w,Hm),gridon
xlabel('\omega(rad/s)'),ylabel('Magnitude')
title('离散系统幅频特性曲线')
subplot(212)
plot(w,Hp),gridon
xlabel('\omega(rad/s)'),ylabel('Phase')
title('离散系统相频特性曲线')
3.自行设计系统函数,验证系统函数零极点分布与其时域特性的关系。
b1=[1,0];
a1=[1,-2];
subplot(121)
zplane(b1,a1)
title('极点在单位圆内的正实数')
subplot(122)
impz(b1,a1,10);gridon;
三、实验体会
这次实验对离散时间系统的分析,与本学期的信号与系统理论课很好的结合在了一起。
较连续时间系统而言,离散时间系统不够直观。
分析和理解起来都和连续时间系统有很大不同。
并且有些求解不太方便。
这次试验中用matlab对离散时间系统进行分析十分方便。
并且绘图功能也很强大,十分直观,更容易对信号进行直观的分析。
实验五:
语音信号的调制解调
一、实验目的
1、了解语音信号处理在通信中的应用
2、理解幅度调制和解调的原理及方法
3、观察语音信号。
载波信号。
调制信号和解调后的信号频谱
二、实验内容
clc
clear
t=0:
0.00001:
1
s0=(1+0.5*Y).*cos(5000*pi*t)
subplot(321)
plot(t,s0),gridon
%叠加噪音
s1=s0+rand(1,length(t))
subplot(322)
plot(t,s1),gridon
%带通滤波
a=[2450,2550];b=[2400,32600];
fs=100000;
Wp=a/(fs/2);Ws=b/(fs/2);Rp=3;Rs=15;
[N,Wn]=Buttord(Wp,Ws,Rp,Rs);
[B,A]=Butter(N,Wn,'bandpass');
q=filtfilt(B,A,s1);
subplot(323)
plot(t,q),gridon
%XIANGANDIAOSHI
s2=q.*cos(5000*pi*t)
subplot(324)
plot(t,s2),gridon
%ditonglvbo
fs=100000;
Wp=600/(fs/2);Ws=2000/(fs/2);Rp=3;Rs=20;
[N,Wn]=Buttord(Wp,Ws,Rp,Rs);
[B,A]=Butter(N,Wn,'low');
s3=filtfilt(B,A,s2);
subplot(325)
plot(t,s3),gridon
s4=1.5*s3
subplot(326)
plot(t,s4),gridon
%pinpuhuizhi
三、实验体会
这次实验由于时间的限制,没能实现语音信号的调制与解调,不能不说是一个很大的遗憾。
不过在实验中还是实现了正弦波信号的条幅调制与解调。
和高频实验中,在示波器上看到的信号一样的。
对于调制解调的过程也有了更深刻的认识,对于在调制解调中的各个参数的作用的效果通过图形也能直接的看出并能分析出原因。
同时再一次感慨maltab的强大。
原来matlab也能对语音进行解码。
实验六:
simulink仿真的应用
一、实验目的
1、学会运用simulink进行仿真。
2、运用simulink进行仿真调幅调制与解调的过程。
二、实验内容
1、simulink进行仿真调幅调制与解调
仿真结果:
2、运用simulink自主进行仿真
信号的处理及对噪声滤波
三、实验体会
这次试验最大的体会就是simulink这个工具十分方便。
Simulink不用进行代码的编写,全部采用模块化,避免了很多底层繁琐的工作,却又能得到非常丰富的资源库。
并且试验中的参数可以进行设置和更改了十分的方便。
仿真功能也十分的强大,最终实现的和编代码一样的效果。
Simulink使用方便,界