- 数字信号处理及MATLAB实现
- 刘芳 周蜜编著
- 2952字
- 2021-11-12 11:20:03
第二节 时域离散系统
数学上可将一个离散系统描述为一种运算符T[·],输入信号用x(n)表示,输出信号用y(n)表示,它们之间的关系可描述为
时域离散系统可划分为线性系统和非线性系统,这里主要研究线性系统以及线性系统中的非时变系统,即线性非时变系统。这类系统便于分析、研究和实现。
一、线性系统
若某个系统的输入信号和输出信号分别用x1(n)和y1(n)来表示,它们之间的关系描述成y1(n)=T[x1(n)]。同理,该系统的输入信号为x2(n)时,输出信号可表示成y2(n)=T[x2(n)],输入信号为ax1(n)+bx2(n)时,输出信号可表示成y(n)=T[ax1(n)+bx2(n)]。当y(n)与y1(n)及y2(n)满足等式y(n)=ay1(n)+by2(n)时,该系统称为线性系统。
例2-2 判断下列系统是否为线性系统:
(1)y(n)=T[x(n)]=2x(n)+3
(2)y(n)=T[x(n)]=x2(n)
(3)y(n)=x(n+1)+x(1-n)
解:(1)y1(n)=T[x1(n)]=2x1(n)+3,y2(n)=T[x2(n)]=2x2(n)+3,而
y(n)=T[a x1(n)+b x2(n)]=2[a x1(n)+b x2(n)]+3≠a y1(n)+b y2(n)
因此,该系统为非线性系统。
(2)y1(n)=T[x1(n)]=(n),y2(n)=T[x2(n)]=(n),而
y(n)=T[a x1(n)+b x2(n)]=[a x1(n)+b x2(n)]2≠a y1(n)+b y2(n)
因此,该系统为非线性系统。
(3)y1(n)=T[x1(n)]=x1(n+1)+x1(1-n),y2(n)=T[x2(n)]=x2(n+1)+x2(1-n),而y(n)=T[a x1(n)+b x2(n)]=ax1(n+1)+ax1(1-n)+bx2(n+1)+bx2(1-n)=a y1(n)+by2(n)
因此,该系统为线性系统。
二、非时变系统
当输入信号为x(n)时,输出信号用y(n)表示。如果输入为x(n-n0),输出为y(n-n0),即y(n-n0)=T[x(n-n0)],这时,称该系统为非时变系统(或称时不变系统)。
例2-3 判断下列系统是否为时不变系统:
(1)y(n)=x(n+1)-x(1-n)
(2)y(n)=nx(n)
(3)y(n)=x(n)+x(n-1)
解:(1)T[x(n-n0)]=x(n+1-n0)-x(1-n-n0),而
y(n-n0)=x(n-n0+1)-x(1-(n-n0))=x(n+1-n0)-x(1-n+n0)≠T[x(n-n0)]
因此,该系统不是非时变系统。
(2)T[x(n-n0)]=nx(n-n0),而
y(n-n0)=(n-n0)x(n-n0)≠T[x(n-n0)]
因此,该系统不是非时变系统。
(3)T[x(n-n0)]=x(n-n0)+x(n-1-n0),而
y(n-n0)=x(n-n0)+x(n-1-n0)=T[x(n-n0)]
因此,该系统是非时变系统。
三、线性时不变系统对任意输入的响应——线性卷积
任何一个序列都可以用单位取样序列δ(n)的移位加权和表示,即δ(n-k)。如果将x(n)作为一个线性时不变系统的输入,那么输出y(n)为
式中,h(n)为单位取样序列δ(n)通过线性时不变系统产生的响应,称为单位冲激响应;*表示线性卷积。
由以上推导可知,任何一个时域离散信号通过一个线性时不变系统,其输出等于该信号与系统的单位冲激响应的线性卷积。下面举例说明卷积的求法。
例2-4 求下面三种情况下的卷积:
(1)x(n)={1,2,3,1|n=0,1,2,3},h(n)={1,2,1,-1|n=0,1,2,3}
(2)x(n)={1,1,1,1|n=0,1,2,3},h(n)=anu(n)
(3)x(n)=anu(n),h(n)=bnu(n)
解:(1)方法一:做图
由卷积公式(2-13)可绘出图2-13。首先,将h(m)反转得到h(-m),然后将h(-m)移位,每移动一个单位,x(m)和h(-m)位置对应的值相乘,所得乘积全部相加,即为卷积的一个数值。h(-m)移动的范围取决于它与x(-m)是否有位置相对应的样本点。
图2-13 线性卷积的过程
方法二:做表2-1。
将卷积计算的每一步做图用表格的形式表示出来。例如:在表2-1中,h(1-m)表示h(-m)向右平移一个单位,将h(1-m)和x(m)位置对应的数值分别相乘,所得的乘积有2个2,相加得4,即为卷积在n=1时的数值,表示成y(1)=4。
表2-1 线性卷积
方法三:借助数学中的乘法运算
x(n)和h(n)位置变量的范围可表示为0≤n1≤3和0≤n2≤3。因此,y(n)位置变量的范围为0≤n=n1+n2≤6。y(n)可表示为y(n)={1,4,8,8,3,-2,-1|n=0,1,2,3,4,5,6}。
方法四:借助δ(n)的移位加权和
x(n)=δ(n)+2δ(n-1)+3δ(n-2)+δ(n-3),h(n)=δ(n)+2δ(n-1)+δ(n-2)-δ(n-3),则y(n)=x(n)*h(n)=δ(n)+4δ(n-1)+8δ(n-2)+8δ(n-3)+3δ(n-4)-2δ(n-5)-δ(n-6)
这里运用了卷积性质:任何一个序列与δ(n)的卷积等于它本身,即x(n)=x(n)*δ(n)。
(2)方法一:借助δ(n)的移位加权和
x(n)=δ(n)+δ(n-1)+δ(n-2)+δ(n-3),则
y(n)=x(n)*h(n)=anu(n)+an-1u(n-1)+an-2u(n-2)+an-3u(n-3)
=a0δ(n)+a1δ(n-1)+a2δ(n-2)+anu(n-3)+a0δ(n-1)+a1δ(n-2)+an-1u(n-3)+a0δ(n-2)+an-2u(n-3)+an-3u(n-3)
=δ(n)+(1+a)δ(n-1)+(1+a+a2)δ(n-2)+(an+an-1+an-2+an-3)u(n-3)
方法二:解析法
由
故根据n的取值来确定m的范围:
当n<0时,m无取值范围,y(n)=0;
当0≤n<3时,0≤m≤n,;
当n≥3时,0≤m≤3,=an+an-1+an-2+an-3。
综上所述:
或者可表示为
y(n)=δ(n)+(1+a)δ(n-1)+(1+a+a2)δ(n-2)+(an+an-1+an-2+an-3)u(n-3)
(3)由于x(n)和h(n)均为无限长序列,用做图和做表等方法都无法完整准确地将两个序列表达出来,这里只能用解析法求解它们的线性卷积。
其中,m≥0,n-m≥0,所以有
当n<0时,y(n)=0;
当n≥0时,。
综上所述
以下源码表示用MATLAB信号处理工具箱提供的conv函数计算两个序列的线性卷积:
脚本中,x(n)和h(n)的位置都是从n=0开始。如果x(n)和h(n)的起点是任意位置,即{x(n)|nxb≤n≤nxe}和{h(n)|nhb≤n≤nhe},y(n)的起点和终点分别为nyb=nxb+nhb和nye=nxe+nhe。这时,不能直接用conv函数,可用下面的conv_m函数完成任意位置序列的线性卷积。conv_m函数参考代码如下:
例2-5 计算x(n)={1,2,3,4|n=-1,0,1,2}和h(n)={1,2,3,4|n=-2,-1,0,1}的线性卷积。
解:在MATLAB命令窗口调用conv_m函数:
在求线性卷积的过程中,经常会用到一些性质,包括交换律、结合律、分配律和延时特性,现归纳如下,供读者参考:
交换律:x(n)*h(n)=h(n)*x(n)
分配律和结合律:x(n)*(h1(n)+h2(n))=x(n)*h1(n)+x(n)*h2(n)
延时特性:x(n-n1)*h(n-n2)=x(n)*h(n-n1-n2)=x(n-n1-n2)*h(n)
当单位取样序列δ(n)与其他序列线性卷积时,容易证明得到下面两个有用的公式:
x(n)=x(n)*δ(n),x(n-n0)=x(n)*δ(n-n0)。
四、因果系统
如果系统n时刻的输出只与n时刻及以前的输入有关,而与n时刻之后的输入无关,这样的系统称为因果系统。在线性时不变系统中,当n<0时,单位脉冲响应h(n)=0,该系统是因果系统。同样,当一个序列在n<0时,它的数值均为0,则该序列称为因果序列。
例2-6 判断下列系统是否为因果系统:
(1)h(n)=anu(n)
(2)y(n)=x(n+1)-x(n)
解:(1)根据h(n)=0,n<0来判断其因果性。因为h(n)=anu(n)=0,n<0,系统是因果系统。
(2)根据定义,y(n)不仅与n时刻的输入x(n)有关,还与n+1时刻的x(n+1)有关,因此系统是非因果系统。
五、稳定系统
当且仅当每一个有界输入序列都产生一个有界输出序列时,系统是稳定的。在线性系统中,单位冲激响应满足如下条件时,该系统为稳定系统:
例2-7 判断下列系统是否为稳定系统:
(1)h(n)=anu(n)
(2)
解:(1)
当|a|<1时,,系统稳定;
当|a|≥1时,系统不稳定。
(2)
由(1)可知,当|a|<1且|b|>1时,系统稳定。