典型离散信号的运算
- 格式:pdf
- 大小:195.69 KB
- 文档页数:17
第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 也同样必须为整数或整数向量。
§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,该信号呈现指数衰减趋势。
离散信号的产生及运算实验一离散信号的产生及运算一.实验目的:1.复习和巩固数字信号处理中离散信号的产生和运算2.学习和掌握用MATLAB 产生离散信号的方法3.学习和掌握用MATLAB 对离散信号进行运算二.实验原理1.用MATLAB 函数产生离散信号信号是数字信号处理的最基本内容。
没有信号,数字信号处理就没了工作对象。
MATLAB7.0 内部提供了大量的函数,用来产生常用的信号波形。
例如,三角函数(sin,cos), 指数函数(exp),锯齿波函数(sawtooth), 随机数函数(rand)等。
⑴产生被噪声污染的正弦信号用随机数函数产生污染的正弦信号。
⑵产生单位脉冲序列和单位阶跃序列按定义,单位脉冲序列为0 0 0 1, ( ) 0,n n n n n n单位阶跃序列为。
0 0 0 1, ( ) 0,n n u n n n n⑶矩形脉冲信号:在MATLAB 中用rectpuls 函数来表示,其调用形式为:y=rectpuls(t,width),用以产生一个幅值为1,宽度为width,相对于t=0 点左右对称的矩形波信号,该函数的横坐标范围由向量t 决定,是以t=0 为中心向左右各展开width/2 的范围,width 的默认值为1。
例:以t=2T(即t-2×T=0)为对称中心的矩形脉冲信号的MATLAB 源程序如下:(取T=1)t=0:0.001:4;T=1;ft=rectpuls(t-2*T,2*T);plot(t,ft);grid on; axis([0 4 –0.5 1.5]);⑷周期性矩形波(方波)信号在MATLAB 中用square 函数来表示,其调用形式为:y=square(t,DUTY),用以产生一个周期为2π、幅值为±1 的周期性方波信号,其中的DUTY 参数表示占空比,即在信号的一个周期中正值所占的百分比。
例如频率为30Hz 的周期性方波信号的MATLAB 参考程序如下:t=-0.0625:0.0001:0.0625;y=square(2*pi*30*t,75);plot(t,y);axis([-0.0625 0.0625 –1.5 1.5]);grid on ;2.MATLAB 中信号的运算乘法和加法:离散信号之间的乘法和加法,是指它的同序号的序列值逐项对应相乘和相加。
翻转(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 +=⎰-=bat 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 tx物理意义:不同的连续信号都可以分解为冲激信号,不同的信号只是它们的系数不同。
实际应用:当求解信号通过系统产生的响应时,只需求解冲激信号通过该系统产生的响应,然后利用线性时不变系统的特性,进行迭加和延时即可求得信号x (t )产生的响应。
在离散系统中,常用的基本运算单元包括一些逻辑运算和数字运算。
以下是一些常见的离散系统基本运算单元:
1. 逻辑门(Logic Gates):逻辑门是执行逻辑运算的基本单元,包括与门(AND)、或门(OR)、非门(NOT)等。
这些门用于处理二进制信号,执行逻辑运算。
2. 加法器(Adder):加法器用于执行二进制加法操作。
全加器是一种常见的加法器,可以对两个二进制数字进行相加,并处理进位。
3. 寄存器(Register):寄存器是用于存储二进制数据的元件。
在离散系统中,寄存器通常用于存储中间结果或其他需要暂时保存的数据。
4. 计数器(Counter):计数器用于对输入的脉冲或信号进行计数。
它在许多应用中用于跟踪事件的数量。
5. 状态机(State Machine):状态机是一种用于描述系统状态和状态转换的模型。
它在控制系统中广泛使用,能够响应输入并根据当前状态执行相应的操作。
6. 多路复用器(Multiplexer):多路复用器用于从多个输入中选择一个输出。
它在数据传输和信号处理中常用于选择特定输入通道。
7. 比较器(Comparator):比较器用于比较两个输入,并产生相应的输出,通常包括等于、大于和小于等比较结果。
8. 移位器(Shifter):移位器用于对二进制数进行左移或右移操作。
这在位操作和乘除法的实现中很常见。
这些基本运算单元通常被组合在一起以执行更复杂的离散系统功能。
不同的应用领域可能使用不同的组合和变体来满足特定的需求。
第4章典型离散信号的运算尹霄丽
离散信号的运算
离散时间信号的基本运算;
离散时间信号的自变量的变换;
4.1 离散时间信号的基本运算
MATLAB可以对信号做加、减、乘、除、乘以标量以及对信号取幂等运算,要求代表这些信号的向量都有相同的时间原点和相同的元素个数。
对于逐项地做乘、除和取幂运算,必须要在该算符的前面放一个圆点,也就是要用.*符号来代替*来做逐项相乘。
常用函数:sin, cos, exp, sign, abs, sqrt, power, zeros, ones...
4.2 累加运算
∑−∞
==
n
k k x n z )
()(cumsum ()
CUMSUM Cumulative sum of elements. For vectors, CUMSUM(X) is a vector containing the
cumulative sum of the elements of X. For matrices, CUMSUM(X) is a matrix the same size as X
containing the cumulative sums over each column. For N-D arrays, CUMSUM(X) operates along the first non-singleton dimension.
举例x=ones(1,20);
cumsum(x)
ans=
Columns 1 through 8
1 2 3 4 5 6 7 8 Columns 9 through 16
9 10 11 12 13 14 15 16 Columns 17 through 20
17 18 19 20
∞
4.4离散时间信号的自变量的变换
[][][](a) MATLAB nx MATLAB x 2, 0
1, 2 1, 3
3, 40, (b) x n x n n n x n n n n
≤≤=⎧⎪=⎪⎪
=−=⎨⎪=⎪⎪⎩定义一个向量是在-3n 7上的时间变量,而向量是信号在这些样本上的值,这里给出如下:
其余画出该向量的图形;
请画出下面离散时间变量[][][][][][]
[][][]1234 2 1 (c) 22y n x n y n x n y n x n y n x n x n =−=+=−=−+−的图形:
请画出的图形。
说明
宗量相同,函数值相同,求新坐标
应该定义y1~y3=x
关键是要正确定义标号向量ny1~ny3。
3。