DSP为数字信号处理之意
一.基本函数
1.plot
功能: 按线性比例关系,在x和y两个方向上绘制二维图形。
调用格式:
plot(x, y);绘制以x为横轴、 y为纵轴的线性图形。
plot(x1, y1, x2, y2, …);在同一坐标系上绘制多组x元素对y元素的线性图形。
实例:
代码:
x=0:pi/50:2*pi;
y=sin(x);
plot(x,y)
输出:
2.stem
功能: 绘制二维脉冲杆图(离散序列)图形。
调用格式:stem(x, y);绘制以x为横轴、 y为纵轴的脉冲杆图图形。
实例:
代码:
x=0:pi/50:2*pi;
y=sin(x);
stem(x,y)
输出:
3.subplot
功能: 建立子图轴系,在同一图形界面上产生多个绘图区间。
调用格式:subplot(m, n, i);在同一图形界面上产生一个m行n列的子图轴系,在第i个子图位置上作图。
实例:
代码:
x=0:pi/50:2*pi;
y=sin(x);
figure
subplot(2,1,1);
plot(x,y)
subplot(2,1,2);
stem(x,y)
输出:
4.axis
功能:限定图形坐标的范围
调用格式:axis([x1,x2,y1,y2]);
在横坐标起点为x1、终点为x2,纵坐标起点为y1、终点为y2的范围内作图。
5.length
功能:取某一变量的长度(采样点数)。
调用格式:N=length(n);取变量n的采样点个数,赋给变量N。
6.real
功能:取某一复数的实部
调用格式:
real(h);取复数h的实部。
x=real(h);取复数h的实部,赋给变量x。
同理,有imag函数:取复数h的虚部。
7.sawtooth
功能:产生锯齿波或三角波。
调用格式:
x=sawtooth(t);类似于sin(t),产生周期为2pi,幅值从-1到+1的锯齿波。
x=sawtooth(t,width);产生三角波,其中width (0< width ≤ 1,为标量)用于确定最大值的位置。
当width=0.5时,可产生一对称的标准三角波;当width=1时,将产生锯齿波。
实例1:
代码:
x=0:pi/50:2*pi;
y=sawtooth(x);
plot(x,y)
输出:
实例2:
代码:
x=0:pi/50:2*pi;
figure
subplot(3,1,1);
plot(x,sawtooth(x,0.3))
subplot(3,1,2);
plot(x,sawtooth(x,0.5))
subplot(3,1,3);
plot(x,sawtooth(x,1))
输出:
8.square
功能:产生矩形波。
调用格式:
x=square(t);类似于sin(t),产生周期为2p,幅值为±1的方波。
x=square(t,duty);产生指定周期的矩形波,其中duty用于指定脉冲宽度与整个周期的比例。
实例1:
代码:
x=-2*pi:pi/50:4*pi;
figure
subplot(2,2,1);
plot(x,square(x))
axis([-2,7,-2,2])
title('square(x)')
subplot(2,2,2);
plot(x,square(x,20))
axis([-2,7,-2,2])
title('square(x,20)')
subplot(2,2,3);
plot(x,square(x,50))
axis([-2,7,-2,2])
title('square(x,50)')
subplot(2,2,4);
plot(x,square(x,80))
axis([-2,7,-2,2])
title('square(x,80)')
输出:
9.sinc
功能:产生sinc函数波形。
调用格式:
x=sinc(t);可用于计算下列函数:
这个函数是宽度为2pi,幅度为1的矩形脉冲的连续逆傅里叶变换,即
实例1:
代码:
n=-20:20;
f=sinc(n/4);
subplot(2,1,1),plot(n,f);
subplot(2,1,2),stem(n,f);
输出:
10.diric
功能:产生dirichlet或周期sinc函数
调用格式:
y=diric(x,n);式中,n必须为正整数,y为相应的x元素的dirichlet函数,即
dirichlet函数是周期信号,当n为奇数时,周期为2pi;当n为偶数时,周期为4pi。
实例1:
代码:
n1=7;
n2=8;
x=0:1/pi:4*pi;
y1=diric(x,n1);
y2=diric(x,n2);
subplot(2,2,1),plot(x,y1,'k');
subplot(2,2,2),stem(x,y1,'k');
subplot(2,2,3),plot(x,y2,'k');
subplot(2,2,4),stem(x,y2,'k');
输出:
11.rand
功能:产生rand随机信号。
调用格式:x=rand(n,m);用于产生一组具有n行m列的随机信号
实例1:
代码:
tn=1:40;
x=rand(1,length(tn));
subplot(2,1,1),plot(tn,x)
subplot(2,1,2),stem(tn,x);
输出: