实验一 MATLAB基本操作及简单信号处理
1 实验目的
? 学会运用MATLAB表示的常用离散时间信号; ? 学会运用MATLAB实现离散时间信号的基本运算。
2 实验原理及实例分析
2.1 离散时间信号在MATLAB中的表示
离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用x(n)来表示,自变量必须是整数。
离散时间信号的波形绘制在MATLAB中一般用stem函数。stem函数的基本用法和plot函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill”“filled”、,或者参数“.”。由于MATLAB中矩阵元素的个数有限,所以MATLAB只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
1. 单位阶跃序列
单位阶跃序列u(n)定义为
?1u(n)???0function y=uDT(n)
(n?0) (1-1)
(n?0)在MATLAB中,冲激序列可以通过编写uDT.m文件来实现,即
y=n>=0; %当参数为非负时输出1
调用该函数时n也同样必须为整数或整数向量。
【实例1-1】 利用MATLAB的uDT函数绘出单位阶跃序列的波形图。 解:MATLAB源程序为
>>n=-3:5; >>x=uDT(n);
>>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位阶跃序列') >>axis([-3 5 -0.1 1.1])
程序运行结果如图1-1所示。
图1-1 单位阶跃序列
2. 矩形序列
矩形序列RN(n)定义为
R???1(0?n?N?1)N(n)?0(n?0,n?N) 矩形序列有一个重要的参数,就是序列宽度N。RN(n)与u(n)之间的关系为RN(n)?u(n)?u(n?N) 因此,用MATLAB表示矩形序列可利用上面所讲的uDT函数。
【实例1-2】 利用MATLAB命令绘出矩形序列R5(n)的波形图。 解:MATLAB源程序为
>>n=-3:8;
>>x=uDT(n)-uDT(n-5);
>>stem(n,x,'fill'),xlabel('n'),grid on >>title('矩形序列') >>axis([-3 8 -0.1 1.1])
程序运行结果如图1-2所示。
1-2) (
图1-2 矩形序列
3. 单边指数序列
单边指数序列定义为
x(n)?anu(n) (1-3)
【实例1-3】 试用MATLAB命令分别绘制单边指数序列x1(n)?1.2nu(n)、
x2(n)?(?1.2)nu(n)、x3(n)?(0.8)nu(n)、x4(n)?(?0.8)nu(n)的波形图。
解:MATLAB源程序为
>>n=0:10;
>>a1=1.2;a2=-1.2;a3=0.8;a4=-0.8; >>x1=a1.^n;x2=a2.^n;x3=a3.^n;x4=a4.^n; >>subplot(221)
>>stem(n,x1,'fill'),grid on >>xlabel('n'),title('x(n)=1.2^{n}') >>subplot(222)
>>stem(n,x2,'fill'),grid on
>>xlabel('n'),title('x(n)=(-1.2)^{n}') >>subplot(223)
>>stem(n,x3,'fill'),grid on >>xlabel('n'),title('x(n)=0.8^{n}') >>subplot(224)
>>stem(n,x4,'fill'),grid on
>>xlabel('n'),title('x(n)=(-0.8)^{n}')
单边指数序列n的取值范围为n?0。程序运行结果如图1-3所示。从图可知,当|a|?1时,
图1-3 单边指数序列
单边指数序列发散;当|a|?1时,该序列收敛。当a?0时,该序列均取正值;当a?0时,序列在正负摆动。
2.2 离散时间信号的基本运算
对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。
【实例1-4】 用MATLAB命令画出下列离散时间信号的波形图。
(1)x1?n??a?u?n??u?n?N??;
n(2)x2?n??x1?n?3? (4)x4?n??x1??n?
(3)x3?n??x1?n?2?;
解:设a?0.8,N?8,MATLAB源程序为
>>a=0.8;N=8;n=-12:12; >>x=a.^n.*(uDT(n)-uDT(n-N)); >>n1=n;n2=n1-3;n3=n1+2;n4=-n1; >>subplot(411)
>>stem(n1,x,'fill'),grid on >>title('x1(n)'),axis([-15 15 0 1])
>>subplot(412)
>>stem(n2,x,'fill'),grid on >>title('x2(n)'),axis([-15 15 0 1]) >>subplot(413)
>>stem(n3,x,'fill'),grid on >>title('x3(n)'),axis([-15 15 0 1]) >>subplot(414)
>>stem(n4,x,'fill'),grid on >>title('x4(n)'),axis([-15 15 0 1])
其波形如图2-7所示。图1-4 离散时间信号的基本运算及波形图