大学信号与系统实验MATLAB编程答案 下载本文

二、卷积的实现

1.(1)编写卷积积分程序,实现两个矩形脉冲信号f1(t)、f2(t)的卷积运算,其中f1(t)?g10(t?5),f2(t)?g24(t?12)并调试运行出结果。(必做)

y1=[ones(1,10),zeros(1,20)]; y2=[ones(1,24),zeros(1,20)]; y=conv(y1,y2); n1=1:length(y1); n2=1:length(y2); L=length(y);

subplot(3,1,1);plot(n1,y1);axis([1,L,0,2]);

subplot(3,1,2);plot(n2,y2);axis([1,L,0,2]); n=1:L;

subplot(3,1,3);plot(n,y);axis([1,L,0,15]);

(2)改变矩形脉冲信号的参数,如f1(t)?g10(t?5),f2(t)?g20(t?5)重新计算卷积结果。(必做)

自定义函数:

function [f,k]=sconv(f1,f2,k1,k2,p) f=conv(f1,f2); f=f*p;

k0=k1(1)+k2(1);

k3=length(f1)+length(f2)-2; k=k0:p:k0+k3*p; subplot(2,2,1) plot(k1,f1); title('f1(t)'); xlabel('t'); ylabel('f1(t)'); subplot(2,2,2); plot(k2,f2); title('f2(t)') subplot(2,2,3) plot(k,f);

h=get(gca,'position'); h(3)=2.5*h(3); set(gca,'position',h); title('f(t)=f1(t)*f2(t)')

xlabel('t'); ylabel('f(t)')

程序: clear p=0.01;

k1=0:p:10;

f1=ones(1,length(k1)); k2=-5:p:15;

f2=ones(1,length(k2));

[f,k]=sconv(f1,f2,k1,k2,p)

2.编写卷积积分程序,实现矩形脉冲信号f1(t)?g10(t?5),与f2(t)?e?(t)的卷积运算,并调试运行出结果。(必做)(要求坐标必须是正确的,f2范围取0-5。)

clear p=0.01; k1=0:p:10;

f1=ones(1,length(k1)); k2=0:p:10; f2=exp(-k2);

[f,k]=sconv(f1,f2,k1,k2,p);

?t

3.尝试不调用库函数conv,实现上题中(1)信号的卷积。(选做)

clear p=0.01; k1=0:p:10;

f1=ones(1,length(k1)); k2=0:p:24;

f2=ones(1,length(k2));

[f,k]=sconv(f1,f2,k1,k2,p)

三、连续信号的频域特性分析

1.求门函数g4(t)的傅立叶变换,并画出其频率特性曲线图。(必做) 自定义函数:

function y=sf1(t,w);

y=(t>=-2 & t<=2).*1.*exp(-j*w*t);

程序:

w=linspace(-6*pi,6*pi,512); N=length(w); F=zeros(1,N); for k=1:N

F(k)=quadl('sf3',-2,2,[],[],w(k)); end figure(1); plot(w,real(F)); xlabel('\\omega'); ylabel('F(j\\omega)');

title('门函数g4(t)频率特性曲线');