matlab与信号实验连续时间信号的时域分析
上机实验 1 连续时间信号的时域分析 一、 实验目的 (1 ) 掌握连续时间信号的时域运算的基本方法; (2 ) 掌握相关函数的调用格式及作用; (3 ) 掌握连续信号的基本运算; (4 ) 掌握利用计算机进行卷积运算的原理和方法; (5 ) 熟悉连续信号卷积运算函数 conv 的应用。 二、 实验原理 信号的基本运算包括信号的相加(减)和相乘(除) 。信号的时域变换包括信号的平移、翻 转、倒相、尺度变换等,由以下公式所描述。 (1 ) 加(减):f(t)=f 1 (t)±f 2 (t) (2 ) 乘:f(t)=f 1 (t)×f 2 (t) (3 ) 延时或平移:f(t) →f(t-t 0 ) t 0 >0 时右移;t 0 0 。 MATLAB 程序: clear all; t=0:0.0001:2; y=sin(2*pi*(t)); y1=sin(2*pi*(t-0.2)); plot(t, y, - ,t, y1, -- ); xlabel( t );ylabel( f(t) );title( 信号的移位 ); 信号及其移位结果如下图所示。4)翻转 信号的翻转就是将信号的波形以纵轴为对称轴翻转 180°。将信号 f(t)中的自变量 t 替换成- t 即可得到其翻转信号。 MATLAB 程序: clear all; t=0:0.02:1; t1=-1:0.02:0; g1=3*t; g2=3*(-t1); grid on; plot(t, g1, -- , t1, g2); xlabel( t );ylabel( g(t) );title( 信号的反折 ); 信号及其反折结果如下图所示。2.程序设计实验 (1)已知信号 f1(t)=(-t+4)[U(t)-U(t-4)],f2(t)=sin(2πt),用 MATLAB 绘出下列信号的时域波形。 要求写出全部程序,并绘制出信号的时域波形。 (a) f3(t) = f1(-t) + f1(t) (b) f4(t) = -[f1(-t) + f1(t)] (c) f5(t) = f2(t)×f3(t) (d) f6(t) = f1(t)×f2(t) MATLAB 程序: clear all; 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; plot(t,f3); xlabel( t );ylabel( f3(t) );title( f3(t)=f1(-t)+f1(t) ); grid on; f4=-f3; plot(t,f4); xlabel( t );ylabel( f4(t) );title( f4(t)=-[f1(-t)+f1(t)] ); grid on; f5=f2.*f3; plot(t,f5); xlabel( t );ylabel( f5(t) );title( f5(t)=f2(t)×f3(t) ); grid on; f6=f1.*f2; plot (t,f6); xlabel( t );ylabel( f6(t) );title( f6(t)=f1(t)×f2(t) ); grid on; 信号时域波形如下图所示。(3)若 f1(t)=δ(t),f2(t)=U(t) ,f3(t)=U(t)-U(t-4) 试证明卷积满足如下结论: ①f1(t)*f2(t)=f2(t)*f1(t) ②f1(t)*[f2(t)+f3(t)]=f1(t)*f2(t)+f1(t)*f3(t) 第一问MATLAB 程序如下: a=1000; t1=-5:1/a:5; f1=stepfun(t1,-1/a)-stepfun(t1,1/a); f2=stepfun(t1,0); y1=conv(f1,f2);r=2*length(t1)-1;t=-10:1/a:10; subplot(121);plot(t,y1);axis([-5,5,0,2.4]);title( f1(t)*f2(t) );ylabel( y1(t) ); y2=conv(f2,f1);r=2*length(t1)-1;t=-10:1/a:10; subplot(122);plot(t,y2);axis([-5,5,0,2.4]);title( f2(t)*f1(t) );ylabel( y2(t) ); 运行结果如下图所示。