1、连续信号的MATLAB表示
(1)指数信号
指数信号在MATLAB中用函数表示。首先,按照需要在一定时间范围内生成一些时间点,然后调用该函数计算这些点的函数值,最后画出其波形图即可。其程序如下:
A=1;a=-0.4;
t=0:0.001:10;
ft=A*exp(a*t);
plot(t,ft)
(2)正弦信号
正弦信号的产生方法与指数信号类似,其程序及波形如下:
A=1;
w0=2*pi;
phi=pi/6;
t=0:0.001:8;
ft=A*sin(w0*t+phi);
axis([0,2,-1.2,1.2]);plot(t,ft)
(3)抽样信号
抽样信号在MATLAB中用sinc函数表示,其定义为
其程序及波形如下:
t=-3*pi:pi/100:3*pi;
ft=sinc(t/pi);
plot(t,ft);
axis([-10,10,-0.5,1.2]);
(4)矩形脉冲信号
矩形脉冲信号在MATLAB中可调用rectpuls函数产生,其调用格式为
用以产生一个幅度为1,宽度为width且以t=0为对称轴的矩形波。Width的默认值为1。其程序及波形如下:
t=0:0.001:4;
T=1;
ft=rectpuls(t-2*T,T);
plot(t,ft);
axis([0,4,0,1.5])
(5)三角波脉冲信号
三角波脉冲信号在MATLAB中可调用tripuls函数产生,其调用格式为
用以产生一个幅度为1,宽度为width的三角波。其程序及波形如下
t=-3:0.001:3;
ft=tripuls(t,4,0.5);
plot(t,ft);
2、离散信号的MATLAB表示
(1)指数序列
离散指数序列的形式为,可以用MATLAB中的数组幂运算实现。其程序及波形如下:
k=0:10;A=1;a=-0.6;
fk=A*a.^k;
stem(k,fk,’.’);
axis([-1,11,-1,1.2]);
(2)正弦序列
离散正弦序列的MATLAB产生方法与连续信号相同,但图形显示方法不同,是用stem函数画出的。其程序及波形如下:
k=0:39;
fk=sin(pi/6*k);
stem(k,fk,’.’);
axis([-1,40,-1.5,1.5])
(3)单位阶跃序列
单位阶跃序列是时间无限的序列,而计算机只能表示有限的序列,所以MATLAB只能在有限的时间范围内产生近似的单位阶跃序列。其程序及波形如下:
k=-50:50;
uk=[zeros(1,50),ones(1,51)];
stem(k,uk,'.');
axis([-60,60,0,1.5])