Matlab中用heaviside()表示,如实验图1-4所示。 Matlab源程序: heaviside()函数定义: function f=heaviside(t) f=(t>=0);
函数heaviside(t)的使用 t=-1:0.01:1; y=heaviside(t); plot(t,y); grid on;
axis([-1 1 -0.1 1.1]); (2) 单位冲激信号δ(t)
Matlab中用dirac()表示,如实验图1-5所示。 Matlab源程序: 冲激函数定义: function dirac(t1,t2,t0) 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.2/dt]) title('单位冲击信号δ(t)');
冲激函数的调用 dirac(-4,4,0);
6
x = dirac(t), y = t654y3210-3-2-10123x实验图1-5 单位冲激信号
(3) 符号函数sgn(t)
Matlab中用sign()表示,如实验图1-6所示。 Matlab源程序: t=-1:0.01:1; y=sign(t); plot(t,y); grid on;
7
10.80.60.40.20-0.2-0.4-0.6-0.8-1-1-0.8-0.6-0.4-0.200.20.40.60.81
实验图1-6 符号函数
(4) 取样函数Sa(t) 如实验图1-7所示。 Matlab源程序: t=-10*pi:0.1:10*pi; y=sinc(t/pi); plot(t,y); grid on;
axis([-10 10 -0.3 1.1]); (5) 门函数gτ(t)
运用matlab的内部函数rectpuls,调用格式为:
y=rectpuls(t) % 产生幅度为1,门宽为1,对称中心在t=0的门函数 y=rectpuls(t,w) %产生幅度为1,门宽为w,对称中心在t=0的门函数 y=rectpuls(t,t0,w) % 产生幅度为1,门宽为w,对称中心在t=t0的门函数
8
10.80.60.40.20-0.2-10-8-6-4-20246810实验图1-7 取样函数
32.521.510.50-3-2-10123实验图1-8 单位斜坡信号
9
(6) 单位斜坡信号 单位斜坡信号的数学表达式为
?t(t?0)r(t)??
0(t?0)?Matlab源程序: t=-3:0.01:3; f=t.*heaviside(t); plot(t,f);
axis([-3 3 -0.1 3.1]); grid on;
3. 连续信号的基本运算 (1)信号的相加与相乘
已知信号f1(t)、f2(t),信号相加和相乘记为:
f(t)=f1(t)+f2(t) f(t)=f1(t).*f2(t)
信号与信号相加、相乘后的波形如实验图1-9所示。 Matlab源程序: t=0:0.01:3;
f1=heaviside(t)-heaviside(t-1);
f2=t.*(heaviside(t)-heaviside(t-1))+heaviside(t-1); subplot(2,2,1);
plot(t,f1);grid on;axis([-1 2 -0.1 1.1]) subplot(2,2,2);
plot(t,f2);grid on;axis([-1 3 -0.1 1.1]) subplot(2,2,3);
plot(t,f1+f2);grid on;axis([-1 2 0 2.2]) subplot(2,2,4);
plot(t,f1.*f2);grid on;axis([-1 2 -0.1 1.1]) (2)信号的微分与积分
对于连续时间信号,其微分运算是用diff函数来完成的。其语句格式为:
diff(function,’variable’,n);
其中function表示需要进行求导运算的信号,或者被赋值的符号表达式;variable为求导运算的独立变量;n为求导的阶数,默认值为一阶导数。
10