MATLAB_实验5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB_实验5
实验5 MATLAB在信号与系统的应⽤
【实验⽬的】
1、了解并熟悉MATLAB实现常⽤连续时间信号的产⽣⽅法;连续系统的时域和频域分析⽅法。
2、掌握MATLAB程序的编程⽅法。
3、了解MATLAB信号处理⼯具箱函数的调⽤⽅法。
【实验内容】
1、对书上例题的总结
例1 绘制了单位冲激函数、单位阶跃函数与复指数函数的图形,⽤到的关键语句
单位冲激函数:x1=zeros(1,length(t)); %对所有信号初始化,t为时间
x1(n1)=1/dt; %给出t1时刻脉冲信号,dt为时间间隔
单位阶跃函数:x2 = [zeros(1,n1),ones(1,length(t)-n1)];%产⽣阶跃信
号,n1为t1对应的样本序号
例2 求解了LTI系统的零输⼊响应,⽤到了经典法求解,关键语句如下:
p=roots(a); %求系统的极点
V=rot90(vander(p));c= V\Y0'; % ⽤范德蒙特矩阵求对应于各极点的系数
for k=1:n y= y+c(k)*exp(p(k)*t);end
例3 求解n阶LTI系统的冲激响应,⽤到了residue函数求解极点和留数,还⽤到了for语句叠加各根分量。
例4 主要是卷积的计算。⽤到的函数有conv函数计算卷积,input函数等待⽤户输⼊数值,fliplr(h)函数将h左右翻转。
例5 求LTI系统的零状态响应,和求解零输⼊同样⽤到留数residue函数来求解冲激响应函数,并且绘制冲激响应函数的图形,然后将其与输⼊信号的卷积求出,即输出函数,最后绘制输出函数的图形。
例7 将周期⽅波分解为多次正弦波之和,⽤程序演⽰谐波合成情况。⽤到的新函数是line([0,pi+0.5],[pi/4,pi/4]) % 加上⽅波幅度线及标注
halft=ceil(length(t)/2);
mesh(t(1:halft),[1:10],y(:,1:halft)) %绘制三维图形
例10 ⽐较调幅信号通过带通滤波器后与原波形的区别。⽤到了频率响应函数求解滤波器在各个频点上的频率响应,可以⽤
H=polyval(b,j*w) ;也可以⽤H=freqs(b,a,w);可以再下图中观察到它们的去区别:
例11 ⾮周期信号(⽅波)的频谱分析,⽤到了傅⾥叶变换,F1 = f*exp(-j*t'*w1)*dt; % 求付利叶变换
w = [-fliplr(w1),w1(2:Nf)]; % 补上负频率
F = [fliplr(F1),F1(2:Nf)]; % 补上负频率区的频谱
2、连续信号表⽰:
编写程序:产⽣下列连续信号,并且绘制出相应的波形图:1)、()(2)(4)(26)
=-+- -≤≤
f t u t u t t
程序如下:
t=-2:0.05:6;
x1=t>=2;
x2=t>=4;
x=x1+x2;
stairs(t,x,'linewidth',1.5)
axis([-2,6,-0.1,2.1])
grid on
title('f(t)=u(t-2)+u(t-4)') xlabel('t') ylabel('f(t)')
图形显⽰:
2)、()c o s (4)(03)t ft e
t t π-= ≤≤
程序如下:
t=(0:0.01:3)';
x1=exp(-t)*[1 -1];%⽣成exp(-t)和-exp(-t),即包络曲线 x2=cos(4*pi*t); x=exp(-t).*x2; plot(t,x1,t,x) legend('x1','x1','x'),grid on
图形显⽰:
3)、(0.20.5)()3(04)j t
f t e
t ππ+= ≤≤ 程序如下:
t=0:pi/100:4*pi;
f=3*exp((0.2+j*0.5*pi)*t);
plot(t,f),grid
legend('f')
xlabel('t'),ylabel('f')
图形显⽰:
4)、周期矩形信号。⼀连续周期矩形信号频率为10Hz,信号幅度在-1~1之间,脉冲宽度与周期的⽐例是1:2,⽤128点采样,显⽰三个周期的信号波形(square 函数)。
程序如下:
U=1;N=128;f=10;T=1/f;t=0:T/N:3*T;
u=U*square(2*pi*f*t);
plot(t,u)
axis([0,3*T+eps,-1.1,1.1]),grid on
图形显⽰:
3、信号卷积求解: 1)、已知两信号分别为:
0.61()(010)t f e u t t -= <<
2()(015)f u t t = <<
求两信号的卷积和并画出卷积波形。程序如下: clear
t1=0:0.1:10; t2=0:0.1:15; f1=exp(-0.6*t1); f2=ones(1,length(t2));
tn=t1(length(f1))+t2(length(f2)); f=conv(f1,f2) t=0:0.1:tn;
subplot(3,1,1),plot(t1,f1),title('f1的图形') subplot(3,1,2),plot(t2,f2),title('f2的图形')
subplot(3,1,3),plot(t,f),title('f=conv(f1,f2)的图形') xlabel('t'),ylabel('f'),grid on
结果显⽰:
2)、已知两信号分别为:
f1(t)=0.5t (0
由于conv 求卷积时,两个函数的时间是从0开始求解的,所以对于该题不能直接
利⽤conv 函数来求解卷积,所以必须编写⼀个函数,函数可以从任意时刻开始求卷积,编写的Function 函数如下,命名为conv_m ,以便调⽤: