DSP

matlab在DSP中的应用(一)---基本函数

2019-07-13 09:50发布

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); 输出:
这里写图片描述