离散时间信号的表示及运算
- 格式:docx
- 大小:344.21 KB
- 文档页数:19
离散时间信号的基本运算离散时间信号(即序列)的基本运算包括移位、反折、求积、乘积、差分运算和尺度变换,下面分别介绍。
1.序列的移位设某一序列为()x n ,若0m >,则()x n m -表示序列()x n 整体右移了m 个样点形成的新序列,也称()x n m -是()x n 的m 个样点的延迟。
此时()x n m +表示序列()x n 整体左移了m 个样点形成的新序列,也称()x n m +是()x n 的m 个样点的超前。
例如,()x n 如图3-2-4(a )所示,则(2)x n -和(2)x n +分别如图3-2-4(b )和图3-2-4(c )所示。
(a)()x n(b)(2)x n -(c)(2)x n +图3-2-4 序列的移位2.序列的反折设某一序列为()x n ,则()x n -是以0n =为对称轴将序列()x n 水平翻转,()x n -称为序列()x n 的反折。
若()x n 如图3-2-5(a )所示,则()x n -如图3-2-5(b )所示。
(a)()x n(b)()x n -图3-2-5 序列的反折3.序列的求和()x n 与()y n 两个序列之和是指两个序列同序号(即n 相同)的序列值逐项对就相加构成一个新的序列()z n ,表示为【例1】已知1(),1()20,1n n x n n ⎧≥-⎪=⎨⎪<-⎩,1(),0()21,0n n y n n n ⎧≥⎪=⎨⎪+<⎩,求()()x n y n +解:根据序列求和定义,得11(),02()()()2,11,1n n z n x n y n n n n -⎧≥⎪⎪=+=⎨=-⎪⎪+<-⎩ ()x n 、()y n 和()()x n y n +的图形分别如图3-2-5(a )、(b )和(c )所示。
(a)()x nn图3-2-5 序列的求和4.序列的乘积()x n 与()y n 两个序列的乘积是指两个序列同序号(即n 相同)的序列值逐项对就相乘构成一个新的序列()z n ,表示为【例2】已知1(),1()20,1n n x n n ⎧≥-⎪=⎨⎪<-⎩,1(),0()21,0n n y n n n ⎧≥⎪=⎨⎪+<⎩求()x n 与()y n 的乘积()()x n y n ⋅。
实验一 离散时间信号的表示与运算一 实验目的1、熟悉MATLAB 的绘图函数;2、掌握单位取样序列、单位阶跃序列、矩形序列和正余弦序列的产生方法;3、掌握离散时间信号基本运算的MATLAB 实现;4、掌握离散时间信号线性卷积和运算的MATLAB 实现。
二 实验设备1、计算机2、MA TLAB R2007a 仿真软件三 实验原理1)序列相加和相乘设有序列)(1n x 和)(2n x ,它们相加和相乘如下:)()()()()()(2121n x n x n x n x n x n x ⋅=+=注意,序列相加(相乘)是对应序列值之间的相加(相乘),因此参加运算的两个序列必须具有相同的长度,并且保证位置相对应。
如果不相同,在运算前应采用zeros 函数将序列左右补零使其长度相等并且位置相对应。
在MATLAB 中,设序列用x1和x2表示,序列相加的语句为:x=x1+x2;然而要注意,序列相乘不能直接用x=x1*x2,该式表示两个矩阵的相乘,而不是对应项的相乘。
对应项之间相乘的实现形式是点乘“.*”,实现语句为:x=x1.*x2。
2)序列翻转设有序列:)()(n x n y -=,在翻转运算中,序列的每个值以n=0为中心进行翻转,需要注意的是翻转过程中序列的样值向量翻转的同时,位置向量翻转并取反。
MATLAB 中,翻转运算用fliplr 函数实现。
设序列)(n x 用样值向量x 和位置向量nx 表述,翻转后的序列)(n y 用样值向量y 和位置向量ny 描述。
3)序列的移位移位序列)(n x 的移位序列可表示为:)()(0n n x n y -=,其中,00>n 时代表序列右移0n 个单位;00<n 时代表序列左移0n 个单位。
在移位过程中,序列值未发生任何变化,只是位置向量的增减。
MA TLAB 中没有固定函数实现移位运算。
设序列)(n x 用样值向量x 和位置向量nx 描述移位0n 后的序列)(n y 用样值向量y 和位置向量ny 描述。
§7-1 概述一、 离散时间信号与离散时间系统离散时间信号:只在某些离散的时间点上有值的信号。
离散时间系统:处理离散时间信号的系统。
混合时间系统:既处理离散时间信号,又处理连续时间信号的系统。
二、 连续信号与离散信号连续信号可以转换成离散信号,从而可以用离散时间系统(或数字信号处理系统)进行处理:三、 离散信号的表示方法:1、 时间函数:f(k)<——f(kT),其中k 为序号,相当于时间。
例如:)1.0sin()(k k f =2、 (有序)数列:将离散信号的数值按顺序排列起来。
例如:f(k)={1,0.5,0.25,0.125,……,}时间函数可以表达任意长(可能是无限长)的离散信号,可以表达单边或双边信号,但是在很多情况下难于得到;数列的方法表示比较简单,直观,但是只能表示有始、有限长度的信号。
四、 典型的离散时间信号1、 单位样值函数:⎩⎨⎧==其它001)(k k δ下图表示了)(n k -δ的波形。
连续信号离散信号 数字信号 取样量化这个函数与连续时间信号中的冲激函数)(t δ相似,也有着与其相似的性质。
例如:)()0()()(k f k k f δδ=, )()()()(000k k k f k k k f -=-δδ。
2、 单位阶跃函数:⎩⎨⎧≥=其它001)(k k ε这个函数与连续时间信号中的阶跃函数)(t ε相似。
用它可以产生(或表示)单边信号(这里称为单边序列)。
3、 单边指数序列:)(k a k ε比较:单边连续指数信号:)()()(t e t e t a at εε=,其底一定大于零,不会出现负数。
4、 单边正弦序列:)()cos(0k k A εφω+(a) 0.9a = (d) 0.9a =-(b) 1a = (e) 1a =-(c) 1.1a = (f) 1.1a =-双边正弦序列:)cos(0φω+k A五、 离散信号的运算1、 加法:)()()(21k f k f k f +=<—相同的k 对应的数相加。
实验一 离散时间信号的表示及运算一、实验目的学会运用MATLAB 表示的常用离散时间信号;学会运用MATLAB 实现离散时间信号的基本运算。
二、实验原理(一) 离散时间信号在MATLAB 中的表示离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散序列通常用)(n x 来表示,自变量必须是整数。
离散时间信号的波形绘制在MATLAB 中一般用stem 函数。
stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。
如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。
由于MATLAB 中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。
类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
(二) 离散时间信号的基本运算对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。
两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB 的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。
三、实验内容(包括代码与产生的图形)1. 试用MATLAB 命令分别绘出下列各序列的波形图。
(1)()()n u n x n⎪⎭⎫⎝⎛=21 (2)()()n u n x n 2=(3)()()n u n x n⎪⎭⎫⎝⎛-=21 (4)()()()n u n x n 2-=(5)()()121-=-n u n x n (6)()()n u n x n 121-⎪⎭⎫⎝⎛=(1)、(2) n=-3:8; a=1/2;x=a.^n.*uDT(n); subplot(221);stem(n,x,'fill','r'),xlabel('n'),grid on title('(1)x(n)=(1/2)^{n}*U(n)') axis([-3 8 -0.1 1.1]) n1=-3:8; b=2;x=b.^n1.*uDT(n1); subplot(222);stem(n1,x,'fill','r'),xlabel('n'),grid on title('(2)x(n)=(2)^{n}*U(n)') axis([-3 4.5 -1.5 18])分析:(1)该信号为指数衰减序列与阶跃序的乘积,当n<0时,U(n)=0,所以该信号为零;当n=0时,U(n)=1,n⎪⎭⎫⎝⎛21=1,该信号为1;当n>0,U(n)=1,该信号呈现指数衰减趋势。
翻转(x[k] →x[-k])位移(x[k] →x[k±n])内插与抽取序列相加序列相乘差分与求和x [k -n ]表示将x [k ]右移n 个单位。
x [k +n ]表示将x [k ]左移n 个单位。
[]}[{][2=∇∇=∇k x k x k x []}[{][2k x k x k x ==∆∆∆]}[{][1k x k x n n -∇∇=∇]}[{][1k x k x n n -=∆∆∆]1[][][--=∇k x k x k x ][]1[][k x k x k x -+=∆单位脉冲序列可用单位阶跃序列]1[][][--=k u k u k δ1.信号分解为直流分量与交流分量2.信号分解为奇分量与偶分量之和3.信号分解为实部分量与虚部分量4.连续信号分解为冲激函数的线性组合5.离散序列分解为脉冲序列的线性组合)()()(AC DC t x t x t x +=⎰-=b a t t x a b t x d )(1)(DC ][][][AC DC k x k x k x +=∑=+-=21][11][12DC N N k k x N N k x 连续时间信号离散时间信号直流交流)()()(AC DC t x t x t x +=)()()(o e t x t x t x +=)]()([21)(e t x t x t x -+=)]()([21)(o t x t x t x --=)()(e e t x t x -=)()(o o t x t x --=][][][o e k x k x k x +=]}[][{21][e k x k x k x -+=[][{21][o k x k x k x --= 离散时间信号偶分量奇分量解:-)∆uττδτd )()()(-=⎰∞∞-t x t x物理意义:不同的连续信号都可以分解为冲激信号,不同的信号只是它们的系数不同。
实际应用:当求解信号通过系统产生的响应时,只需求解冲激信号通过该系统产生的响应,然后利用线性时不变系统的特性,进行迭加和延时即可求得信号x (t )产生的响应。
实验一离散时间信号的表示与运算实验一:离散时间信号的表示与运算一、实验目的本实验旨在让学生了解和掌握离散时间信号的基本表示方法,包括时域和频域表示方法,以及基本信号的运算方法,从而为学生进一步学习数字信号处理和通信系统等课程打下坚实的基础。
二、实验原理离散时间信号是在时间轴上离散出现的信号,与连续时间信号不同,它只能在离散的时间点上采样观察。
离散时间信号的表示方法包括时域和频域表示方法,其中时域表示方法是最基本和直观的表示方法。
离散时间信号的运算包括加法、减法、乘法和除法等基本运算,通过这些基本运算可以实现对离散时间信号的基本处理。
此外,离散时间信号的变换也成为频域分析,将信号从时域转化为频域,可以对信号的频率特性进行分析。
三、实验步骤1.准备阶段:在进行实验之前,需要准备好实验所需的器材和软件,包括计算机、信号发生器和数字示波器等。
同时,学生应该对离散时间信号的基本概念和表示方法进行预习,以便更好地进行实验。
2.时域表示:首先,通过计算机生成一组离散时间信号,例如矩形波信号、正弦波信号和余弦波信号等。
然后,将所生成的离散时间信号在数字示波器中进行观察和记录,并对这些信号进行简单的处理,例如加减乘除等基本运算。
3.频域表示:通过使用离散傅里叶变换(DFT)将所生成的离散时间信号从时域转化到频域,并对信号的频谱进行分析。
通过观察信号的频谱,可以了解信号的频率成分和幅度分布等情况。
4.实验总结:在完成实验观察和记录后,学生应该对实验结果进行分析和总结,并对实验过程中遇到的问题进行思考和解决。
同时,学生应该了解并掌握离散时间信号的表示与运算的基本原理和方法。
四、实验结果及分析通过本次实验,学生应该得到以下实验结果:1.了解并掌握离散时间信号的基本概念和表示方法;2.学会使用简单的离散时间信号处理算法对信号进行处理;3.掌握将离散时间信号从时域转化为频域的方法,并对信号的频谱进行分析;4.学会使用MATLAB等软件对离散时间信号进行处理和分析。
离散信号的时域运算离散信号的时域运算是数字信号处理中一项非常重要的操作,通过对信号在时域上的运算,可以实现信号的加减、乘除、卷积等操作,进而实现对信号的滤波、特征提取等处理。
本文将从离散信号的时域运算的定义、加法、乘法、卷积等方面进行详细介绍。
一、离散信号的时域运算定义离散信号的时域运算是指对离散时间序列信号进行加、减、乘、除、卷积等操作,在时域上对信号进行处理。
时域运算可以表示为以下公式:y(n) = f(x1(n), x2(n), ..., xn(n))其中,y(n)为输出的离散信号,x1(n)、x2(n)、...、xn(n)为输入的离散信号,f为时域运算函数。
二、离散信号的加法离散信号的加法是指对两个离散信号在时域上进行加法运算。
假设有两个离散信号x1(n)和x2(n),它们的和为:y(n) = x1(n) + x2(n)加法运算可以实现信号的叠加,例如在音频处理中,可以将两个音频信号进行叠加,实现混音的效果。
三、离散信号的乘法离散信号的乘法是指对两个离散信号在时域上进行乘法运算。
假设有两个离散信号x1(n)和x2(n),它们的积为:y(n) = x1(n) * x2(n)乘法运算可以实现信号的放大或缩小,例如在音频处理中,可以将音频信号乘以一个系数,实现音量的调节效果。
四、离散信号的卷积离散信号的卷积是指对两个离散信号在时域上进行卷积运算。
假设有两个离散信号x1(n)和x2(n),它们的卷积为:y(n) = x1(n) * x2(n) = ∑(k=-∞)^(∞) x1(k) * x2(n-k)卷积运算可以实现信号的滤波、特征提取等操作,例如在图像处理中,可以通过卷积运算实现边缘检测、模糊等效果。
五、离散信号的除法离散信号的除法是指对两个离散信号在时域上进行除法运算。
假设有两个离散信号x1(n)和x2(n),它们的商为:y(n) = x1(n) / x2(n)除法运算在信号处理中较为少用,但在某些特殊场合下仍然有一定的应用。
第2章 离散时间信号的表示及运算2.1 实验目的● 学会运用MATLAB 表示的常用离散时间信号;● 学会运用MATLAB 实现离散时间信号的基本运算。
2.2 实验原理及实例分析2.2.1 离散时间信号在MATLAB 中的表示离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散序列通常用)(n x 来表示,自变量必须是整数。
离散时间信号的波形绘制在MATLAB 中一般用stem 函数。
stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。
如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。
由于MATLAB 中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。
类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
1. 单位取样序列单位取样序列)(n δ,也称为单位冲激序列,定义为)0()0(01)(≠=⎩⎨⎧=n n n δ (12-1)要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在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章离散时间信号的表示及运算2.1实验目的学会运用MATLAB表示的常用离散时间信号;学会运用MATLAB实现离散时间信号的基本运算。
2.2实验原理及实例分析221 离散时间信号在 MATLAB 中的表示离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散序列通常用x(n)来表示,自变量必须是整数。
离散时间信号的波形绘制在MATLAB中一般用Stem函数。
stem函数的基本用法和Plot函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。
如果要实心,需使用参数“fill、"‘filled ,或者参数:”。
由于MATLAB中矩阵元素的个数有限,所以MATLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。
类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
1. 单位取样序列单位取样序列J.(n),也称为单位冲激序列,定义为(n =0)(12-1)(n = 0)要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n=0处是取确定的值1。
在MATLAB中,冲激序列可以通过编写以下的impDT.m文件来实现,即function y=impDT(n)y=(n==0); %当参数为0时冲激为1,否则为0调用该函数时n必须为整数或整数向量。
【实例2-1】禾U用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. 单位阶跃序列单位阶跃序列u(n)定义为u(n)(n —O) (n 0)(12-2)在MATLAB 中,冲激序列可以通过编写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])单位沖激序列图2-1单位冲激序列1 卜 0 3 0.6 0.4 0.5Oi■3-2-10123463. 矩形序列矩形序列R N (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 >>title('矩形序列') >>axis([-3 8 -0.1 1.1])程序运行结果如图 2-3所示。
矩形序列0.804□.ΞQ2 4 6 Bn图2-3矩形序列4. 单边指数序列单边指数序列定义为RN (n)卩■=J(0 乞 n 乞 N -1)(n :: 0,n _(12-3)矩形序列有一个重要的参数,就是序列宽度N 。
R N (n)与u(n)之间的关系为onx(n) = a n u( n) ( 12-4) 试用MATLAB 命令分别绘制单边指数序列χ1(n)=1.2n u(n)、【实例2-4】x2(n)=(-1∙2)n u(n)、x3(n) =(0.8)n u(n)、x4(n) - ^0.8)n u(n)的波形图。
解:MATLAB源程序为>>n=0:10;>>a1=1.2;a2=-1.2;a3=0.8;a4=-0.8;>>x 1= a1.An;x2=a2.An;x3=a3.An;x4=a44n;>>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。
程序运行结果如图12-4所示。
从图可知,图2-4单边指数序列单边指数序列发散;当|a|:::1时,该序列收敛。
当a 0时,该序列均取正值;序列在正负摆动。
5. 正弦序列正弦序列定义为当|a| ■ 1时,a - 0 时,(12-5)W)=(Q尊x(π)⅛0Sf1nx(n) = Sin(n 0 )其中,「0是正弦序列的数字域频率; 「为初相。
与连续的正弦信号不同,正弦序列的自变2 TT量n 必须为整数。
可以证明,只有当—为有理数时,正弦序列具有周期性。
尬0n JT【实例2-5】 试用MATLAB 命令绘制正弦序列 χ(n) =Sin()的波形图。
6解: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]);程序运行结果如图 2-5所示。
1口BO 口 b-IS6. 复指数序列复指数序列定义为0]5 10 15 30253Z ∣ 朋 On图2-5正弦序列x(n) = e(a j O)n(2-6) 当a = 0时,得到虚指数序列χ(n) =e't°n,式中■ ∙0是正弦序列的数字域频率。
由欧拉公式知,复指数序列可进一步表示为x(n)二e(a j O)n=e an e j°n二e an[cos(n 0) j sin(n 0)] (2-7)与连续复指数信号一样,我们将复指数序列实部和虚部的波形分开讨论,得出如下结论:(1) 当a 0时,复指数序列x(n)的实部和虚部分别是按指数规律增长的正弦振荡序列;(2) 当a :::0时,复指数序列x(n)的实部和虚部分别是按指数规律衰减的正弦振荡序(3) 当a = O 时,复指数序列x(n)即为虚指数序列,其实部和虚部分别是等幅的正弦振荡序列。
(丄+iF)n【实例2-6】 用MATLAB 命令画出复指数序列 χ(n) =2e 10 6的实部、虚部、模及相角随时间变化的曲线,并观察其时域特性。
解: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')程序运行后,产生如图 2-6所示的波形。
图2-6复指数序列列;-!!-I・P :f !!—-!-■> I■y"-ι .................. ........................ -Γ ........................ ..L 」................................. I .......................... ■ ■i ISW⅛i*∙7∙l *i I I I IIII ■ ■> I i I7 *I B ==*j ____________ i J L .! *I罰------ - ------------------- --- - -■< r---I i I-2 「 -------- !---! I i ■41 ---------- i — 世—LI K IBI i i■^--1-—4I d I HI虚部型 Ilii I ________'222离散时间信号的基本运算对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。
两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。