所谓连续时间信号是指时间变量t是连续变化的。严格地说,Matlab不能表示连续信号。在Matlab中,对连续时间信号是用采样点的值来表示的,用等时间间隔的采样点的值来近似表示连续信号,当采样时间间隔足够小时,离散采样点的值将能较好地逼近连续信号。Matlab信号处理工具箱提供了很多信号产生函数,下面介绍一组。
1. 产生锯齿波或三角波信号函数
Matlab提供的产生锯齿波或三角波信号函数是sawtooth,其常用格式如下:
sawtooth(t)
sawtooth(t,w)
说明:产生周期为2π,幅值-1~+1的锯齿波信号,w值在0~1之间。
[例7-1] 产生周期为0.1的锯齿波、三角形信号。
fs=1000;t=0:1/fs:1;
x1=sawtooth(2*pi*10*t,0); %若x1=sawtooth(t,0),则周期为2π
x2=sawtooth(2*pi*10*t,0.5); %若x2=sawtooth(2*pi*t,0.5),则周期为1
x3=sawtooth(2*pi*10*t,1);
subplot(3,1,1),plot(t,x1),axis([0,1,-1,1]);
subplot(3,1,2),plot(t,x2),axis([0,1,-1,1]);
subplot(3,1,3),plot(t,x3),axis([0,1,-1,1]);

图7-1锯齿波与三角波
2. 产生方波信号函数
产生方波信号函数square,其常用格式如下:
square(t)
square(t,duty)
说明:产生周期为2π,幅值-1~+1的方波信号,duty为正半周期的比例。设置类似sawtooth函数。
3. 产生sinc函数波形
Matlab提供的函数sinc用于产生sinc函数波形信号,其常用格式如下:
sinc(t)
说明:产生满足sinc(t)=sin(πt)/(πt)函数的信号。
[例7-2] 产生sinc函数波形。
n=[-5:0.01:5];
y1=sin(pi*n)./(pi*n);
y2=sinc(n);
subplot(2,1,1),plot(n,y1),axis([-6 6,-0.3 1.1]);
subplot(2,1,2),plot(n,y2),axis([-6 6,-0.3 1.1]);

图7-2sinc函数波形
4.产生非周期方波信号函数
产生非周期方波信号函数rectpuls,其常用格式如下:
rectpuls(t)
rectpuls(t,w)
说明:产生指定宽度为w的非周期方波信号。
[例7-3] 产生非周期方波信号。
t=-2:0.01:2;
y1=rectpuls(t);
y2=rectpuls(t,0.6);
subplot(2,1,1),plot(t,y1),axis([-2,2,-0.1,1.1]),grid;
subplot(2,1,2),plot(t,y2),axis([-2,2,-0.1,1.1]),grid;

图7-3非周期方波信号
5. 产生非周期三角波信号函数
产生非周期三角波信号函数tripuls,其常用格式如下:
tripuls(t)
tripuls(t,w,s)
说明:产生指定宽度为w的非周期三角波信号, s(-1<s<1)。参数设置类似rectpuls函数。
6. 产生线性调频扫频信号函数chirp
产生线性调频扫频信号chirp,其常用格式如下:
chirp(t,f0,t1,f1)
chirp(t,f0,t1,f1,'method')
chirp(t,f0,t1,f1,'method',phi)
说明:产生扫频信号,时刻零的瞬时频率为f0,时刻t1的瞬时频率为f1,phi指定初始相位。method有三种:
(1)'linear' 线性调频;(2)'quadratic' 二次调频;(3)'logrithmic' 对数调频,默认'linear'。
[例7-4]产生线性调频和二次调频信号。
fs=1000;
t=0:1/fs:1;
f0=10; t1=1;f1=100;
y=chirp(t,f0,t1,f1);
y1=chirp(t,f0,t1,f1,'qu');
subplot(2,1,1);plot(t,y);
subplot(2,1,2);plot(t,y1);
程序产生信号如图7-4所示。

图7-4扫频信号