sawtooth 是 MATLAB Signal Processing Toolbox™ 中的一个函数,用于生成周期性锯齿波或三角波[5] 。其输出范围通常为 -1 到 1,周期默认为 2π[3] 。该函数也被称为锯齿函数(sawtooth-function)[4] 。根据官方文档,该函数在 R2006a 之前版本引入[8] [6] 。
用法:
x = sawtooth(t)
x = sawtooth(t,width)
第一种调用方式,将产生周期为2π的锯齿波。以0~2π这个周期内为例,当t=0时,x=-1。在0~2π这个周期内,x(t)是关于t的以1/π为斜率的线段。
第二种调用方式中,width是0到1之间的标量。在0到2π×width区间内,x的值从-1线性变化到1;在2π×width~2π区间内,x的值又从1线性变化到-1。sawtooth(t,1)和sawtooth(t)是等价的。
sawtooth函数的语法为x = sawtooth(t)和x = sawtooth(t,xmax)[8] 。
x = sawtooth(t)为时间数组t生成一个周期为2π的锯齿波,该锯齿波在2π的整数倍处取值为-1,并在其他时间以斜率1/π线性增加,其输出波形可由公式2(x−⌊x⌋−1/2)定义,其中⌊x⌋表示向下取整,输出范围在-1至1之间[8] [3] 。
x = sawtooth(t,xmax)生成一个特定形式的三角波,参数xmax是一个介于0和1之间的标量,用于指定每个周期内信号达到最大值的位置,该函数在区间0到2π×xmax上从-1线性增加到1,在区间2π×xmax到2π上从1线性减少到-1,随后以2π为周期重复此形状,当xmax=0.5时可生成一个关于时间π对称的标准三角波[8] 。
输入参数t是时间数组,指定为向量、矩阵或N维数组,sawtooth沿t的大小大于1的第一个数组维度进行运算,数据类型为double;输入参数xmax是波最大值位置,指定为0到1之间的标量,默认值为1,数据类型为double[8] 。