实验二 离散时间信号的表示及运算

实验二 离散时间信号的表示及运算

一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离

散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容:

(一) 离散时间信号在MATLAB 中的表示

离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用x (n ) 来表示,自变量必须是整数。

离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”“filled ”、,或者参数“. ”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。

1. 单位取样序列

单位取样序列δ(n ) ,也称为单位冲激序列,定义为

⎧1δ(n ) =⎨

⎩0

(n =0)

(2-1)

(n ≠0)

要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即

function y=impDT(n)

y=(n==0); %当参数为0时冲激为1, 否则为0

调用该函数时n 必须为整数或整数向量。

【实例2-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为

>>n=-3:3; >>x=impDT(n);

>>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1])

程序运行结果如图12-1所示。

图2-1 单位冲激序列

2. 单位阶跃序列

单位阶跃序列u (n ) 定义为

u (n ) =⎧⎨

1(n ≥0)

⎩0

(n

在MA TLAB 中,冲激序列可以通过编写uDT .m 文件来实现,即

function y=uDT(n)

y=n>=0; %当参数为非负时输出1

调用该函数时n 也同样必须为整数或整数向量。

【实例2-2】 利用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])

程序运行结果如图12-2所示。

图2-2 单位阶跃序列

2-2) (

3. 矩形序列

矩形序列R N (n ) 定义为

⎧1

R N (n ) =⎨

⎩0

(0≤n ≤N -1)

(2-3)

(n

矩形序列有一个重要的参数,就是序列宽度N 。R N (n ) 与u (n ) 之间的关系为

R N (n ) =u (n ) -u (n -N )

因此,用MATLAB 表示矩形序列可利用上面所讲的uDT 函数。

【实例2-3】 利用MATLAB 命令绘出矩形序列R 5(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])

程序运行结果如图2-3所示。

图2-3 矩形序列

4. 单边指数序列

单边指数序列定义为

x (n ) =a n u (n ) (2-4)

【实例2-4】 试用MA TLAB 命令分别绘制单边指数序列x 1(n ) =1. 2u (n ) 、

n

x 2(n ) =(-1. 2) n u (n ) 、x 3(n ) =(0. 8) n u (n ) 、x 4(n ) =(-0. 8) n u (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。程序运行结果如图2-4所示。从图可知,当|a |>1时,

图2-4 单边指数序列

单边指数序列发散;当|a |0时,该序列均取正值;当a

5. 正弦序列

正弦序列定义为

x (n ) =sin(n ω0+ϕ) (2-5)

其中,ω0是正弦序列的数字域频率;ϕ

为初相。与连续的正弦信号不同,正弦序列的自变

量n 必须为整数。可以证明,只有当

ω0

为有理数时,正弦序列具有周期性。

【实例2-5】 试用MATLAB 命令绘制正弦序列x (n ) =sin(解:MATLAB 源程序为

>>n=0:39; >>x=sin(pi/6*n);

>>stem(n,x,'fill'),xlabel('n'),grid on >>title('正弦序列') >>axis([0,40,-1.5,1.5]);

n π

) 的波形图。 6

程序运行结果如图2-5所示。

图2-5 正弦序列

6. 复指数序列

复指数序列定义为

x (n ) =e (a +j ω0) n (2-6)

j ωn

当a =0时,得到虚指数序列x (n ) =e 0,式中ω0是正弦序列的数字域频率。由欧拉公式

知,复指数序列可进一步表示为

x (n ) =e (a +j ω0) n =e an e j ω0n =e an [cos(n ω0) +j sin(n ω0)] (2-7)

与连续复指数信号一样,我们将复指数序列实部和虚部的波形分开讨论,得出如下结论:

(1)当a >0时,复指数序列x (n ) 的实部和虚部分别是按指数规律增长的正弦振荡序列;

(2)当a

(3)当a =0时,复指数序列x

(n ) 即为虚指数序列,其实部和虚部分别是等幅的正弦

振荡序列。

【实例2-6】 用MA TLAB 命令画出复指数序列x (n ) =2e 相角随时间变化的曲线,并观察其时域特性。

解:MATLAB 源程序为

>>n=0:30;

>>A=2;a=-1/10;b=pi/6; >>x=A*exp((a+i*b)*n); >>subplot(2,2,1)

>>stem(n,real(x),'fill'),grid on

>>title('实部'),axis([0,30,-2,2]),xlabel('n') >>subplot(2,2,2)

>>stem(n,imag(x),'fill'),grid on

>>title('虚部'),axis([0,30,-2,2]) ,xlabel('n') >>subplot(2,2,3)

>>stem(n,abs(x),'fill'),grid on >>title('模'),axis([0,30,0,2]) ,xlabel('n') >>subplot(2,2,4)

>>stem(n,angle(x),'fill'),grid on

>>title('相角'),axis([0,30,-4,4]) ,xlabel('n')

1π(-+j ) n 106

的实部、虚部、模及

程序运行后,产生如图2-6所示的波形。

(二) 离散时间信号的基本运算

图2-6 复指数序列

对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MA TLAB 的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。

【实例2-7】 用MA TLAB 命令画出下列离散时间信号的波形图。

(1)x 1(n )=a n [u (n )-u (n -N )]; (3)x 3(n )=x 1(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)x 2(n )=x 1(n +3) (4)x 4(n )=x 1(-n )

其波形如图2-7所示。

图2-7 离散时间信号的基本运算及波形图

(三) 编程练习

1. 试用MATLAB 命令分别绘出下列各序列的波形图。

⎛1⎫

(1)x (n )= ⎪u (n ) (2)x (n )=2n u (n )

⎝2⎭⎛1⎫n

(3)x (n )= -⎪u (n ) (4)x (n )=(-2)u (n )

⎝2⎭

(5)x (n )=2

n -1

n

n

⎛1⎫

u (n -1) (6)x (n )= ⎪

⎝2⎭

n -1

u (n )

2. 试用MATLAB 分别绘出下列各序列的波形图。

(1)x (n )=sin

n πn ππ

-) (2)x (n )=cos(

5105

n

n

n πn π⎛5⎫⎛3⎫

(3)x (n )= ⎪sin (4)x (n )= ⎪sin

55⎝6⎭⎝2⎭

实验二 离散时间信号的表示及运算

一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离

散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容:

(一) 离散时间信号在MATLAB 中的表示

离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用x (n ) 来表示,自变量必须是整数。

离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”“filled ”、,或者参数“. ”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。

1. 单位取样序列

单位取样序列δ(n ) ,也称为单位冲激序列,定义为

⎧1δ(n ) =⎨

⎩0

(n =0)

(2-1)

(n ≠0)

要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即

function y=impDT(n)

y=(n==0); %当参数为0时冲激为1, 否则为0

调用该函数时n 必须为整数或整数向量。

【实例2-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为

>>n=-3:3; >>x=impDT(n);

>>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1])

程序运行结果如图12-1所示。

图2-1 单位冲激序列

2. 单位阶跃序列

单位阶跃序列u (n ) 定义为

u (n ) =⎧⎨

1(n ≥0)

⎩0

(n

在MA TLAB 中,冲激序列可以通过编写uDT .m 文件来实现,即

function y=uDT(n)

y=n>=0; %当参数为非负时输出1

调用该函数时n 也同样必须为整数或整数向量。

【实例2-2】 利用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])

程序运行结果如图12-2所示。

图2-2 单位阶跃序列

2-2) (

3. 矩形序列

矩形序列R N (n ) 定义为

⎧1

R N (n ) =⎨

⎩0

(0≤n ≤N -1)

(2-3)

(n

矩形序列有一个重要的参数,就是序列宽度N 。R N (n ) 与u (n ) 之间的关系为

R N (n ) =u (n ) -u (n -N )

因此,用MATLAB 表示矩形序列可利用上面所讲的uDT 函数。

【实例2-3】 利用MATLAB 命令绘出矩形序列R 5(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])

程序运行结果如图2-3所示。

图2-3 矩形序列

4. 单边指数序列

单边指数序列定义为

x (n ) =a n u (n ) (2-4)

【实例2-4】 试用MA TLAB 命令分别绘制单边指数序列x 1(n ) =1. 2u (n ) 、

n

x 2(n ) =(-1. 2) n u (n ) 、x 3(n ) =(0. 8) n u (n ) 、x 4(n ) =(-0. 8) n u (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。程序运行结果如图2-4所示。从图可知,当|a |>1时,

图2-4 单边指数序列

单边指数序列发散;当|a |0时,该序列均取正值;当a

5. 正弦序列

正弦序列定义为

x (n ) =sin(n ω0+ϕ) (2-5)

其中,ω0是正弦序列的数字域频率;ϕ

为初相。与连续的正弦信号不同,正弦序列的自变

量n 必须为整数。可以证明,只有当

ω0

为有理数时,正弦序列具有周期性。

【实例2-5】 试用MATLAB 命令绘制正弦序列x (n ) =sin(解:MATLAB 源程序为

>>n=0:39; >>x=sin(pi/6*n);

>>stem(n,x,'fill'),xlabel('n'),grid on >>title('正弦序列') >>axis([0,40,-1.5,1.5]);

n π

) 的波形图。 6

程序运行结果如图2-5所示。

图2-5 正弦序列

6. 复指数序列

复指数序列定义为

x (n ) =e (a +j ω0) n (2-6)

j ωn

当a =0时,得到虚指数序列x (n ) =e 0,式中ω0是正弦序列的数字域频率。由欧拉公式

知,复指数序列可进一步表示为

x (n ) =e (a +j ω0) n =e an e j ω0n =e an [cos(n ω0) +j sin(n ω0)] (2-7)

与连续复指数信号一样,我们将复指数序列实部和虚部的波形分开讨论,得出如下结论:

(1)当a >0时,复指数序列x (n ) 的实部和虚部分别是按指数规律增长的正弦振荡序列;

(2)当a

(3)当a =0时,复指数序列x

(n ) 即为虚指数序列,其实部和虚部分别是等幅的正弦

振荡序列。

【实例2-6】 用MA TLAB 命令画出复指数序列x (n ) =2e 相角随时间变化的曲线,并观察其时域特性。

解:MATLAB 源程序为

>>n=0:30;

>>A=2;a=-1/10;b=pi/6; >>x=A*exp((a+i*b)*n); >>subplot(2,2,1)

>>stem(n,real(x),'fill'),grid on

>>title('实部'),axis([0,30,-2,2]),xlabel('n') >>subplot(2,2,2)

>>stem(n,imag(x),'fill'),grid on

>>title('虚部'),axis([0,30,-2,2]) ,xlabel('n') >>subplot(2,2,3)

>>stem(n,abs(x),'fill'),grid on >>title('模'),axis([0,30,0,2]) ,xlabel('n') >>subplot(2,2,4)

>>stem(n,angle(x),'fill'),grid on

>>title('相角'),axis([0,30,-4,4]) ,xlabel('n')

1π(-+j ) n 106

的实部、虚部、模及

程序运行后,产生如图2-6所示的波形。

(二) 离散时间信号的基本运算

图2-6 复指数序列

对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MA TLAB 的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。

【实例2-7】 用MA TLAB 命令画出下列离散时间信号的波形图。

(1)x 1(n )=a n [u (n )-u (n -N )]; (3)x 3(n )=x 1(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)x 2(n )=x 1(n +3) (4)x 4(n )=x 1(-n )

其波形如图2-7所示。

图2-7 离散时间信号的基本运算及波形图

(三) 编程练习

1. 试用MATLAB 命令分别绘出下列各序列的波形图。

⎛1⎫

(1)x (n )= ⎪u (n ) (2)x (n )=2n u (n )

⎝2⎭⎛1⎫n

(3)x (n )= -⎪u (n ) (4)x (n )=(-2)u (n )

⎝2⎭

(5)x (n )=2

n -1

n

n

⎛1⎫

u (n -1) (6)x (n )= ⎪

⎝2⎭

n -1

u (n )

2. 试用MATLAB 分别绘出下列各序列的波形图。

(1)x (n )=sin

n πn ππ

-) (2)x (n )=cos(

5105

n

n

n πn π⎛5⎫⎛3⎫

(3)x (n )= ⎪sin (4)x (n )= ⎪sin

55⎝6⎭⎝2⎭


相关内容

  • 实验二 信号的时域运算和卷积
  • 课程名称:姓 名:系:专 业:学 号:指导教师: 本科实验报告 信号与系统(乙)实验 罗宇鹏 工科试验班(信息) 光电信息 3120103549 吕 俊 张建国 2014年 5月 7日 实验报告 课程名称: 信号与系统(乙)实验 指导老师: 吕 俊 张建国 成绩:______ 实验名称: 信号的时域 ...

  • Matlab产生信号的方法
  • 实验一 常用信号的Matlab 表示及运算 一.实验目的 1.掌握Matlab 中表示信号的方法. 2.掌握Matlab 中信号运算的实现方法. 3.掌握在Matlab 中画信号波形的方法. 二.实验原理 1.Matlab 中表示信号的方法 信号可以分为连续时间信号与离散时间信号,由于Matlab ...

  • 信号与系统实验报告
  • 本科生实验报告 实验课程 信号与系统 学院名称 信息科学与技术学院 专业名称 信息工程 学生姓名 杨海洋 学生学号 [1**********]1 指导教师 杨斯涵 实验地点 6A502 实验成绩 二〇一四年11月二〇一四年12月 实验一 MATLAB 编程初步应用及产生典型信号 一.实验目的及要求: ...

  • 润滑接触中弹性变形的快速数值计算
  • 第 卷第 期 年 月 摩擦学学报 润滑接触中弹性变形的快速数值计算 王文中 王 慧 胡元中 清华大学摩擦学国家重点实验室 北京 摘要 研究了弹性变形的计算特点 并在简单回顾卷积算法的基础上给出了一种利用快速傅立叶变换 和离散 圆卷积计算弹性变形的方法 计算表明 通过对压力信号和影响系数 响应函数 函 ...

  • 中北大学[信号与系统]实验报告
  • 信 号 与 系 统 实 验 报 告 班级: 姓名: 信息与通信工程学院 实验一 系统的卷积响应 实验性质:提高性 实验级别:必做 开课单位:信息与通信工程学院 学 时:2 一.实验目的:深刻理解卷积运算,利用离散卷积实现连续卷积运算:深刻理解信号与系统的关系,学习MATLAB 语言实现信号通过系统的 ...

  • 快速傅里叶变换原理及其应用(快速入门)
  • 快速傅里叶变换的原理及其应用 摘要 快速傅氏变换(FFT),是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇.偶.虚.实等特性,对离散傅立叶变换的算法进行改进获得的.它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步. 傅里叶变换的理论与方 ...

  • 基于FFT的连续信号谱分析
  • 毕 业 设 计(论文) 题 目:基于FFT 的连续信号谱分析 学 院: 电气与电子信息工程学院 专业名称: 电子信息工程 学 号: 学生姓名: XX 指导教师: 2013年 05月 25日 摘 要 离散傅里叶变换(DFT)的快速算法FFT 的出现,使DFT 在数字通信.语音信号处理.图像处理.功率谱 ...

  • 北理工信号与系统实验(3)
  • 实验3 信号的频域分析 一. 实验目的 1. 深入理解信号频谱的概念,掌握信号的频域分析方法. 2. 观察典型周期信号和非周期信号的频谱,掌握其频谱特性. 二. 实验原理 1. 连续周期信号的频谱分析 如果周期信号满足Dirichlet 条件,就可以展开为傅里叶级数的形式,即 x (t ) = k ...

  • 图像的傅里叶变换
  • 题 目:学生姓名:学生学号:系 别:专 业:年 级:任课教师:实验论文 图像的傅里叶变换 代朋车 1114020207 电气信息工程学院 电子信息工程 2011级 沈晓波 电气信息工程学院制 2013年12月 图像的傅里叶变换 学生:代朋车 任课教师:沈晓波 电气信息工程学院 电子信息工程 1实验题 ...