一、实验原理
1.时域离散信号的概念
在时间轴的离散点上取值的信号,称为离散时间信号。通常,离散时间信号用x(n)表示,其幅度可以在某一范围内连续取值。
由于信号处理所使用的设备和装置主要是计算机或专用的信号处理芯片,均以有限的位数来表示信号的幅度,因此,信号的幅度也必须“量化”,即取离散值。我们把时间和幅度上均取离散值的信号称为时域离散信号或数字信号。
在MATLAB语言中,时域的离散信号可以通过编写程序直接生成,也可以通过对连续信号等间隔抽样获得。
另外,抽样得到的离散信号只有在一定的抽样条件下,才能反映原连续时间信号的基本特征。
2.用MATLAB生成离散信号须注意的问题
1)有关数组与下标
MATLAB中处理的数组,将下标放在变量后面的小扩号内,且约定从1开始递增。
例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,x(3)=3,x(4)=2,x(5)=1,x(6)=0。
要表示一个下标不由1开始的数组x(n),一般应采用两个矢量,如:
n=[-3:5];
x=[1,-1,3,2,0,-2,-1,2,1];
这表示了一个含9个采样点的矢量。n为一组时间矢量,对应x有:x(-3)=1,x(-2)=-1,x(-1)=3,…,x(5)=1。
代码:
n=-3:5;
x=[1,-1,3,2,0,-2,-1,2,1];
stem(n,x,'filled')
xlabel('时间n')
ylabel('幅度x(n)')
输出:
2)信号的图形绘制
从本质上讲,MATLAB及其任何计算机语言处理的信号都是离散信号。当我们把信号的样点值取得足够密,作图时采用特殊的指令,就可以把信号处理成连续信号。
在MATLAB中,离散信号与连续信号有时在程序编写上是一致的,只是在作图时选用不同的绘图函数。
连续信号作图使用plot函数,绘制线性图;离散信号作图则使用stem函数,绘制脉冲杆图。
3.常用的时域离散信号及其程序
常用的时域离散信号主要有单位抽样序列、单位阶跃序列、实指数序列、复指数序列、正(余)弦序列、锯齿波序列、矩形波序列以及随机序列等典型信号。
有些信号的生成方法不止一种,下面对常用的时域离散信号进行介绍。
1)单位抽样序列
单位抽样序列的表示式为:
实例1:
代码:
%用MATLAB的关系运算式来产生单位抽样序列 :范围从-5到5
n0=0;%于n0处产生冲激
n1=-5;n2=5;
n=n1:n2;
x= n==n0;%生成离散信号x(n)