第5章〓离散时间信号与系统的时域分析 教学目标: (1) 培养学生的团队合作精神、工匠精神、规矩意识和系统观。 (2) 了解离散信号的定义与时域特性。 (3) 掌握离散信号的各种变换和运算。 (4) 理解建立简单离散系统的数学模型——差分方程,并会求解。 (5) 理解离散系统状态与初始状态(初始条件)的意义和内涵。 (6) 掌握离散系统的零输入响应、零状态响应、全响应、单位脉冲响应的求解方法。 (7) 培养学生具备数学概念、物理概念与工程概念相统一的意识。 学习重点: (1) 离散时间信号的时域描述与时域特性。 (2) 离散时间系统数学模型的建立。 (3) 离散时间系统的时域分析。 教学难点: (1) 卷积和的运算。 (2) 离散系统响应(零输入响应、零状态响应、全响应、单位脉冲响应)的时域求解方法。 5.1离散时间信号及其时域特性 5.1.1离散时间信号 离散时间信号简称离散信号(discrete signal),也称为序列,仅在一系列离散的时刻才有定义,记作x(n)或y(n)。它既可以表示按某一规律变化的一组数据,也可以是连续时间信号的样本。 如果x(n)是通过观测得到的一组离散数据,则它可以用集合符号表示,如 x(n)={…,1.3,2.5,3.3↑,1.9,0,4.1,2,…}(511) 其中,箭头处为n=0时的数据值。 如果对连续时间信号x(t)(简称连续信号),也称为模拟信号(analog signal),以采样间隔T进行等间隔采样,便得到离散时间信号x(n) x(n)=x(t)|t=nT=x(nT),-∞<n<+∞(512) 对于不同的n值,x(nT)是一个有序的数值序列 {…,x(-2T),x(-T),x(0),x(T),x(2T),…} 这里n取整数,非整数时无定义。该数值序列就是时域离散信号。在实际中,该数值序列的各个数值按顺序存放在存储器中,此时的nT仅代表前后顺序,故采样间隔T略去后形成x(n),称为序列。 因此,对于具体信号而言,x(n)既代表序列的第n个数值,也等于连续信号x(t)在nT时刻的采样值。离散时间信号x(n)随n的变化规律,还可以用公式法或图形法表示。若 x(n)=n(n+1)2,n=…,-4,-3,-2,-1,0,1,2,3,…(513) 它的函数值是一个序列x(n)={…,6,3,1,0,0↑,1,3,6,…},则式(513)为序列x(n)的公式法表示; 图511离散信号x(n)的波形表示 其图形法表示如图511所示,不同n处每条垂直线的端点为序列x(n)实际的函数值。 数字信号(digital signal)与离散时间信号不同,其区别在于,数字信号不仅在一系列离散时刻上有定义,而且定义的信号值是量化的,即数字信号在时间和幅度上的取值均为离散化的。今后所讨论的离散时间信号可以是数字信号,也可以不是,两者在分析方法上并无区别。 视频讲解 5.1.2离散时间信号的时域运算和变换 对离散时间信号的处理,实质就是对序列进行各种数学变换或数学运算转变为另一序列。在时域中最基本、最简单的变换(自变量运算)有反折、时移以及尺度变换; 最基本、最简单的运算(因变量运算)有加法、乘法、数乘、累加和、倒相以及差分运算。这些变换或运算的处理过程可以通过算法用计算机来实现,也可以让序列通过不同的实体电路或系统来实现。同时,在实际中,这些变换或运算更是复杂处理过程的构成基础,因此,有必要介绍它们的基本概念。 1. 反折 将序列x(n)的自变量n用-n替换,生成新序列y(n)=x(-n),其波形是x(n)以n=0为轴的反转波形,参见5.5节例521(1)。 2. 时移(时延、平移) 序列x(n)右移或左移n0个序号,生成新序列y(n)=x(nn0),右移取“-”号,左移取“+”号,参见5.5节例521(2)、(3)。 3. 尺度 将序列x(n)的自变量n用mn或nm替换,生成新序列y(n)=x(mn)或y(n)=xnm称为对x(n)的抽取或插值,也称为尺度变换。它是将原序列样本个数减少或增加的运算,对序列x(n)的m倍抽取为y(n)=x(mn),表示序列x(n)中每隔m-1点抽取一样值; 对序列x(n)的m倍插值为y(n)=xnm,表示序列x(n)中每两点之间插入m-1个零值。需要指出的是,y(n)仅在mn或nm为整数时才有意义,尺度变换可能会使部分信号丢失或改变,因此,在数字信号处理领域中,将专门研究序列的尺度变换,即序列的抽取或插值理论,参见5.5节例521(6)、(7)。 4. 加法 序列的相加,是指两个序列x1(n)、x2(n)同序号的数值逐项对应相加,而构成一个新的序列x(n)=x1(n)+x2(n),如图512所示。 图512序列的加法 5. 乘法 序列的相乘,是指两个序列x1(n)、x2(n)同序号的数值逐项对应相乘,而构成一个新的序列x(n)=x1(n)·x2(n)。 例51已知序列x1(n)={0,0,0,0,1↑,1,1,1}、x2(n)={6,3,1,0,0↑,1,3,6},试求x1(n)·x2(n)。 解: x1(n)·x2(n)=0,0,0,0,0↑,1,3,6。 6. 数乘 序列的数乘定义为 y(n)=kx(n) 式中,k为常数值,因此y(n)是将序列x(n)各序号的数值逐项乘以常数k后生成的一个新序列。 7. 累加和 序列的累加和定义为 y(n)=∑ni=-∞x(i) 这是与连续系统中的积分相对应的运算。 例52已知序列x(n)={0,0,0,0,1↑,1,1,1},试求x(n)的累加和。 解: y(n)=∑ni=-∞x(i)={0,0,0,0,1↑,2,3,4}。 8. 倒相 序列的倒相定义为 y(n)=-x(n) 9. 差分 序列的差分运算分为前向差分和后向差分,一阶后向差分为x(n)=x(n)-x(n-1),一阶前向差分为Δx(n)=x(n+1)-x(n),参见5.5节例521(9)、(10)。 5.1.3常用的典型离散时间信号 本节介绍的单位样值序列、单位阶跃序列和斜变序列等常用的典型离散时间信号与相应的连续时间信号有一定的对应关系,但也有一些重要差别,在学习时,请读者特别注意比较它们之间的异同点。 1. 单位样值序列 δ(n)=1,n=00,n≠0(514) 单位样值序列也可以称为单位采样序列或单位脉冲序列,特点是仅在n=0时取值为1,其他均为0。它类似于连续信号的单位冲激函数δ(t),但不同的是,δ(t)在t=0时,取值无穷大,t≠0时取值为0,对时间t的积分为1。单位样值序列和单位冲激信号如图513所示。 图513单位样值序列和单位冲激信号 2. 单位阶跃序列 u(n)=1,n≥00,n<0(515) 图514单位阶跃序列 单位阶跃序列如图514所示。它类似于模拟信号中的单位阶跃函数u(t)。δ(n)与u(n)之间的关系如下: δ(n)=u(n)-u(n-1)(516) u(n)=∑+∞i=0δ(n-i)(517) 可见,δ(n)为u(n)的一阶后向差分,若令n-i=m,代入式(517),得到 u(n)=∑nm=0δ(m)(518) 3. 单位矩形序列 RN(n)=1,0≤n≤N-10,其他(519) 式中,N称为单位矩形序列的长度。当N=4时,R4(n)的波形如图515所示。单位矩形序列可用单位阶跃序列表示为 RN(n)=u(n)-u(n-N)(5110) 4. 斜变序列 斜变序列是包络为线性变化的序列,其波形如图516所示。斜变序列可表示为 x(n)=nu(n)(5111) 图515单位矩形序列 图516斜变序列 5. 实指数序列 x(n)=an,a为实数(5112) 若|a|<1,则x(n)的幅度随n的增大而减小,称x(n)为收敛序列; 若|a|>1,则x(n)的幅度随n的增大而增大,称x(n)为发散序列,其波形如图517所示。 图517实指数序列 6. 正弦序列 若正弦序列变化的速率,或者相邻两个序列值之间变化的弧度数为ω,称为数字域角频率,其单位是弧度,则正弦序列可表示为 x(n)=sin(ωn)(5113) 或 x(n)=cos(ωn)(5114) 如果正弦序列是由模拟信号x(t)采样得到的,采样间隔为T,在数值上,序列值与信号采样值相等,那么 x(t)=sin(Ωt) x(t)|t=nT=sin(ΩnT) x(n)=sin(ωn) 由此得到数字角频率ω与模拟角频率Ω之间的关系为 ω=Ω·T(5115) 式(5115)具有普遍意义,它表示凡是由模拟信号采样得到的序列,模拟角频率Ω与序列的数字角频率ω呈线性关系。由于采样频率fs与采样周期T互为倒数,式(5115)也可以表示为 ω=Ωfs(5116) 或 Ω=ωfs(5117) 7. 虚指数序列 虚指数序列定义为 x(n)=ejωn(5118) 利用欧拉公式可以建立虚指数序列和正弦序列之间的联系: cos(ωn)=12(ejωn+e-jωn)(5119) sin(ωn)=12j(ejωn-e-jωn)(5120) ejωn=cos(ωn)+jsin(ωn)(5121) 值得注意的有以下两点。 (1) 由于n取整数,ω为数字域频率,则下面等式成立: ejωn=ej(ω+2πM)n,M是不为零的整数(5122) 因此,研究离散时间虚指数序列时,信号的数字角频率ω只需在一个2π间隔内取值即可,也就是说,离散时间虚指数序列对于数字角频率ω具有周期性。 (2) 虚指数序列ejωn还可表示为 ejωn=ejω(n+N),N是不为零的整数(5123) 若 N=2πMω,M=0,±1,±2(5124) 即 ω2π=MN=有理数(5125) 则离散时间虚指数序列对于自变量n具有周期性。 这两点结论同样适应于正弦序列。 8. 复指数序列 复指数序列定义为 x(n)=e(σ+jω)n=anejωn=ancos(ωn)+jansin(ωn)(5126) 其中,a=eσ,式(5126)表明复指数序列还可以用极坐标形式或实、虚部形式表示。实部、虚部分别是幅度按指数规律变化的正弦序列。|a|>1为增幅正弦序列,|a|<1为衰减正弦序列,|a|=1为等幅正弦序列; ω=0时复指数序列变为实指数序列。 以上介绍了8种常用典型序列,对任意序列,常用单位采样序列的移位加权和表示,即 x(n)=∑+∞m=-∞x(m)δ(n-m)(5127) 式(5127)中, δ(n-m)=1,n=m0,n≠m(5128) 例如,序列x(n)={-2,0.5,2↑,1,1.5,0,-1,2,1},就可依据式(5127)表示成 x(n)=-2δ(n+2)+0.5δ(n+1)+2δ(n)+δ(n-1)+1.5δ(n-2)- δ(n-4)+2δ(n-5)+δ(n-6) 这种任意序列的表示方法,在信号分析中是一个很有用的公式。 5.1.4MATLAB实现 例53用MATLAB实现单位斜变序列x(n)=n,n∈[2,10]。 解: 编写在区间[2,10]上单位斜变序列的程序如下,执行该程序,绘制的波形如图518所示。 n=[2:1:10]; x=n; stem(n,x,'filled'); %绘制阶梯图 xlabel('n'); %x轴说明 ylabel('x(n)'); %y轴说明 title('Ramp Sequence'); %图形说明 grid; % 加网格 例54用MATLAB画出正弦序列x1(n)=cos(nπ/8),x2(n)=cos(2n)的时域波形图,并观察它们的周期性。 解: 用MATLAB绘制上述序列的时域波形,编写的程序如下。 n=0:40; subplot(2,1,1); %选择2*1个区中的1号区 stem(n,cos(n*pi/8),'filled'); %stem函数绘制阶梯图 title('cos(n*pi/8)'); %图形说明 subplot(2,1,2); %选择2*1个区中的2号区 stem(n,cos(2*n),'filled'); title('cos(2*n)'); %图形说明 MATLAB绘制的序列波形如图519所示。由绘制的波形序列图可以明显看出,序列x1(n)=cos(nπ/8)为周期序列,序列x2(n)=cos(2n)为非周期序列。分析可知,对序列x1(n)=cos(nπ/8),其角频率ω=π8,2πω=16,故该序列是周期序列,且周期为16。对序列x2(n)=cos(2n),其角频率ω=2,2πω=π(无理数),故该序列是非周期序列。 例55用MATLAB绘制序列x1(n)=54nu(n),x2(n)=-34nu(n)的时域波形图,并观察两序列的时域特性。 图518单位斜变序列 图519不同频率的正弦序列 解: 应用MATLAB编写的实现程序如下。 n=0:15; subplot(2,1,1); x=(5/4).^n; %第一个指数函数 stem(n,x,'filled');xlabel('n');title('x1(n)') subplot(2,1,2); x=(-3/4).^n; %第二个指数函数 stem(n,x,'filled');xlabel('n');title('x2(n)') 图5110离散时间序列的波形图 绘制的离散实指数序列的波形如图5110所示。由程序绘制的序列波形图可以看出,对离散时间实指数序列x(n)=an,当a的绝对值大于1时,序列为发散的序列,当a的绝对值小于1时,序列为随机收敛的序列。 1. 绘制常用序列 1) 单位序列 MATLAB绘制单位序列δ(n+n0)的子程序如下,其中n0为δ(n)在时间轴上的位移量,n0<0时右移,n0>0时左移,n1和n2为时间序列的起始和结束时间序号,且n1≤n0≤n2。 function dwxulie(n1,n2,n0) n=n1:n2; k=length(n); f=zeros(1,k); f(1,-n0-n1+1)=1; stem(n,f,'filled') axis([n1,n2,0,1.5]) title('单位序列δ(n)') 调用dwxulie(-5,-5,0),波形如图5111所示。 2) 单位阶跃序列 绘制单位阶跃序列u(n+n0)的MATLAB子程序(n0,n1,n2的含义同上)如下。 function jyxulie(n1,n2,n0) n=n1:-n0-1; nn=-n0:n2; k=length(n); kk=length(nn); u=zeros(1,k); uu=ones(1,kk); stem(nn,uu,'filled') hold on stem(n,u,'filled') hold off title('单位阶跃序列') axis([n1 n2 0 1.5]) 调用jyxulie(-3,8,0),波形如图5112所示。 图5111单位序列波形 图5112单位阶跃序列波形 3) 离散时间实指数序列 绘制实指数序列波形的子程序如下。 function dszsu(c,a,n1,n2) %c: 指数序列的幅度 %a: 指数序列的底数 %n1: 绘制序列的起始序号 %n2: 绘制序列的终止序号 n=n1:n2; x=c*(a.^n); stem(n,x,'filled') hold on plot([n1,n2],[0,0]) hold off 4) 离散时间虚指数序列 绘制虚指数序列波形的子程序如下。 function[]=dxzsu(n1,n2,w) %n1: 绘制波形的虚指数序列的起始时间序号 %n2: 绘制波形的虚指数序列的终止时间序号 %w: 虚指数序列的角频率 k=n1:n2; f=exp(i*w*k); Xr=real(f) Xi=imag(f) Xa=abs(f) Xn=angle(f) subplot(2,2,1), stem(k,Xr,'filled'),title('实部'); subplot(2,2,3), stem(k,Xi,'filled'),title('虚部'); subplot(2,2,2), stem(k,Xa,'filled'),title('模'); subplot(2,2,4), stem(k,Xn,'filled'),title('相角'); 5) 复指数序列 绘制复指数序列时域波形的子程序如下。 function dfzsu(n1,n2,r,w) %n1: 绘制波形的虚指数序列的起始时间序号 %n2: 绘制波形的虚指数序列的终止时间序号 %w: 虚指数序列的角频率 %r: 指数序列的底数 k=n1:n2; f=(r*exp(i*w)).^k; Xr=real(f); Xi=imag(f); Xa=abs(f); Xn=angle(f); subplot(2,2,1), stem(k,Xr,'filled'),title('实部'); subplot(2,2,3), stem(k,Xi,'filled'),title('虚部'); subplot(2,2,2), stem(k,Xa,'filled'),title('模'); subplot(2,2,4), stem(k,Xn,'filled'),title('相角'); 调用dfzsu(0,20,-3,10),波形如图5113所示。 图5113复指数序列波形 2. 离散序列的时域运算及时域变换 对于离散序列来说,序列相加、相乘是将两序列对应时间序号的值逐项相加或相乘,平移、反折及倒相变换与连续信号的定义完全相同。但需注意,与连续信号不同的是,在MATLAB中,离散序列的时域运算和变换不能用符号运算实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参与运算的两序列向量必须具有相同的维数。 1) 离散序列相加及其结果可视化的实现 下面的函数对于相加运算的二序列向量f1、f2通过补零的方式成为同维数的二序列向量s1、s2。因而在调用该函数时,要进行相加运算的二序列向量维数可以不同。 function [f,n]=lsxj(f1,f2,n1,n2) n=min(min(n1),min(n2)):max(max(n1),max(n2)); s1=zeros(1,length(n)); s2=s1; s1(find((n>=min(n1))&(n<=max(n1))==1))=f1; s2(find((n>=min(n2))&(n<=max(n2))==1))=f2; f=s1+s2; stem(n,f,'filled') axis([(min(min(n1),min(n2))-1),(max(max(n1),max(n2))+1),(min(f)-0.5),(max(f)+0.5)]); 2) 离散序列相乘及其结果可视化的实现 与相加运算类似,自行编制子函数并举例验证。 3) 离散序列反折及MATLAB实现 离散序列的反折,即是将表示离散序列的两向量以零时刻的取值为基准点,以纵轴为对称反折,向量的反折可用MATLAB中的fliplr()函数实现。 下面就是用MATLAB来实现离散序列反折及其结果可视化的子函数。 function [f,n]=lsfz(f1,n1) f=fliplr(f1);n=-fliplr(n1); stem(n,f,'filled'); axis([min(n)-1,max(n)+1, min(f)-0.5,max(f)+0.5]); 4) 离散序列平移及MATLAB实现 离散序列的平移可看作将离散序列的时间序号向量平移,而表示对应时间序号点的序列样值不变,当序列向左移动n0个单位时,所有时间序号向量都减小n0个单位,反之则增加n0个单位。可用下面的子函数来实现。 function [f,k]=lsyw(ff,nn,n0) n=nn+n0;f=ff; stem(n,f,'filled'); axis([min(n)-1,max(n)+1,min(f)-0.5,max(f)+0.5]); 5) 离散序列倒相变换及MATLAB实现 离散序列的倒相可看作将表示序列样值的向量取反,而对应的时间序号向量不变得到的离散时间序列。可用下面的子函数来实现。 function [f, nk]=lsdx(ff,nn) f=-ff; n=nn; stem(n,f,'filled'); axis([min(n)-1,max(n)+1,min(f)-0.5,max(f)+0.5]); 5.2离散时间系统及其数学描述 用于传输和处理离散时间信号的系统称为离散时间系统,简称离散系统。其作用是将输入序列x(n)转变为输出序列y(n),输入、输出序列和 图521离散时间系统 离散系统的相互关系如图521所示,即离散系统的功能是完成激励信号x(n)转变为响应信号y(n)的运算,记为 y(n)=T[x(n)](521) 数字计算机、数字通信系统和数字控制系统的主要部分均属于离散系统。随着数字技术和计算机技术的飞速发展,鉴于离散系统在精度、抗干扰能力和可集成化等方面,比连续系统具有更大的优越性,大量原属于连续信号与系统的问题,越来越多地转化成离散信号与系统的问题加以处理。 关于离散信号与系统的分析,在许多方面都与连续信号与系统的分析相类似,两者之间具有一定的平行关系。在系统特性的描述方面,连续系统输入输出关系的数学模型是微分方程,离散时间系统输入输出关系的数学模型是差分方程; 在系统分析方法方面,连续系统有时域、频域和s域分析法,离散系统有时域、频域和z域分析法; 在系统响应的分解方面,则都可以分解为零输入响应和零状态响应等。 无疑,在进行离散信号与系统的学习时,经常把它与连续信号与系统相对比,这对于其分析方法的理解、掌握和运用是很有帮助的。但应该指出,既然是两类不同的问题,离散信号与系统有自己的特殊性,和连续信号与系统必然存在一些差别,学习时也应该注意这些差别。 视频讲解 5.2.1离散时间系统的性质 以下讨论线性时不变(LTI)离散系统的主要特性,包括线性(叠加性和齐次性)、时不变性和因果性。 1. 线性 线性包含两个重要的概念,即齐次性和叠加性。系统的齐次性是指当输入信号增加为原来的a倍(数乘运算)时,响应y(n)也增加为原来的a倍, 图522线性时不变(LTI) 离散系统的齐次性 如图522所示; 系统的叠加性是指当几个激励信号同时作用于系统时,系统的总响应等于每个激励单独作用所产生的响应之和,如图523所示。 2. 线性和非线性离散时间系统 同时具有齐次性与叠加性的系统为线性系统,如图524所示; 不满足齐次性或叠加性的系统为非线性系统。 图523线性时不变(LTI)离散系统的叠加性 图524线性时不变(LTI)离散系统的线性 3. 时变与时不变离散时间系统 如果一个系统当输入有一个时间上的平移,输出也产生相同的平移,除此之外无其他任何变化,则系统是时不变的; 换句话说,当y(n)=T[x(n)]时,若有 y(n-n0)=T[x(n-n0)](522) 则系统是时不变的,否则系统是时变的。 系统是否是时变的,其检验方法如下。 令 y1(n)=T[x1(n)](523) y2(n)=T[x2(n)]=T[x1(n-n0)](524) 考查一下y2(n)是否等于y1(n-n0)?若相等,则系统是时不变的; 若不相等,则系统是时变的。 例56已知系统y(n)=T[x(n)]=(n+1)·x(n),判断其时变特性。 解: 令 y1(n)=T[x1(n)]=(n+1)·x1(n) 则 y1(n-n0)=(n-n0+1)·x1(n-n0) 而 y2(n)=T[x2(n)]=(n+1)·x2(n)=(n+1)·x1(n-n0) 因为y2(n)≠y1(n-n0),所以该系统是时变的。 4. 因果与非因果系统 在任何时刻系统的输出都只与该时刻以及该时刻以前的输入有关,而与该时刻以后的输入无关,则系统是因果的; 如果系统在某时刻的输出与以后的输入有关,则系统为非因果的。 一切物理可实现的连续时间系统都是因果的。对非实时处理的离散时间系统可以实现非因果系统,即先存储、后处理。 例57已知系统一的输入输出关系为y(n)=x(-n),系统二的输入输出关系为y(n)=x(n)-x(n-1),试判断它们的因果特性。 解: 系统一在n<0时的响应决定于n>0以后的输入,所以是非因果系统。 系统二在n时刻的响应决定于n和n-1时刻的输入,所以是因果系统。 5.2.2离散时间系统的数学模型——差分方程 “兔子数列” 与差分方程 【工程案例之三】“兔子数列”与差分方程 具体内容请扫描二维码查看。 LTI离散时间系统的输入是离散序列及其延时信号x(n),x(n-1),x(n-2),…,输出是离散序列及其延时信号y(n),y(n-1),y(n-2),…,则输入和输出及其延时、系数乘和相加等线性组合的一般表示如下: aNy(n-N)+aN-1y(n-N+1)+…+a1y(n-1)+y(n) =b0x(n)+b1x(n-1)+…+bMx(n-M)(525) 即 y(n)=-∑Ni=1aiy(n-i)+∑Mj=0bjx(n-j)(526) 其中,ai和bj为常数,M≤N,N为阶数,式(526)称为后向(或右移序)N阶常系数线性差分方程,它描述了离散时间系统的输入输出关系,也称为离散时间系统的数学模型。 差分方程不仅可以用来描述离散时间系统的输入输出关系,求解微分方程也往往可以借助进行。目前已经知道常系数线性微分方程是LTI连续时间系统的数学模型,因此在连续和离散之间可以作某种近似。 例58对一阶常系数线性微分方程(527)做变化,近似为差分方程。 y′(t)+a0y(t)=b0x(t)(527) 解: 当t=nT,若时间间隔T足够小,y(t)代换为y(n)+y(n-1)2,dy(t)dt代换为1T[y(n)-y(n-1)],则有 1T[y(n)-y(n-1)]+a0y(n)+y(n-1)2=b0x(n) 整理得 (a0T-2)y(n-1)+(2+a0T)y(n)=2Tb0x(n)(528) 可见,T足够小时,式(527)的一阶常系数线性微分方程近似为式(528)的一阶常系数线性差分方程,两者在形式上极其相似,且T越小,近似程度越好。实际上,利用计算机求解微分方程就是依据这一原理将微分方程近似为差分方程再进行计算的。 以后会逐步看到,不仅微分方程与差分方程在形式上的相似,离散时间信号与系统的分析方法和连续时间信号与系统的分析方法也有着对应的相似关系。 5.2.3离散时间系统的模拟 连续时间系统可以通过模拟器件,如晶体管、电阻、电容和电感等构成的某种电路来实现,从而完成对连续信号的处理; 离散时间系统可用适当的运算单元连接起来加以模拟或实现,从而完成对离散信号的运算处理——数值计算。 1. 基本运算单元 离散时间系统的基本运算单元有延时器、加法器和标量乘法器,如图525所示。它们反映或表示了离散时间系统输入和输出的最基本运算关系,通过基本运算单元构建了有序且更复杂的系统。 图525离散时间系统的基本运算单元 例59某离散时间系统由延时器、加法器和标量乘法器组成,其结构如图526所示,求该系统的输入输出关系,即差分方程。 解: 由图526知加法器输出为x(n)+ay(n-1),则系统输出为 y(n)=x(n)+ay(n-1) 即系统的输入输出关系——差分方程为 -ay(n-1)+y(n)=x(n) 可见,这是一个一阶离散时间系统。 2. 系统模拟 如何用延时器、加法器和标量乘法器等基本运算单元模拟离散时间系统?例59表明,若已知系统结构或系统模拟图,则可以唯一地确定系统的输入输出关系——差分方程。相反,依据离散时间系统的输入输出关系,即差分方程,也可完成系统模拟,得到系统结构。 例510已知离散时间系统的差分方程 y(n)-712y(n-1)+112y(n-2)=x(n)-12x(n-1) 试画出其模拟图。 解: 显然,这是一个二阶离散时间系统,由差分方程得 y(n)=712y(n-1)-112y(n-2)+x(n)-12x(n-1) 注意系统的输入为x(n),输出为y(n),得到系统模拟如图527所示。 图526某离散时间系统 图527某离散时间系统 在实际中,由差分方程完成系统模拟,方法不止一种,模拟图也不唯一。对于一般形式的差分方程 y(n)=-∑Nk=1aky(n-k)+∑Mr=0brx(n-r),N>M 图528给出了3种形式的模拟图,图528(a)称为直接Ⅰ型,例510就属于这种形式; 直接Ⅰ型模拟图中级联的两部分交换后变形为图528(b); 图528(b)结构图简化后变形为图528(c)结构图,称为直接Ⅱ型。 图528离散时间系统的一般结构形式——模拟图 5.3离散时间系统的响应——时域分析 建立了系统的差分方程后,主要任务之一就是求解这个差分方程,其目的是获得LTI离散时间系统的响应。从时域求解常系数线性差分方程的常用方法有递推法、时域经典法、全响应法等,以下将分别详细讨论; 变换域求解的方法将在第6章介绍; 状态变量分析法将在第7章介绍。 5.3.1差分方程的时域求解 1. 递推法 描述N阶离散时间LTI系统的N阶后向常系数差分方程为 y(n)=-∑Ni=1aiy(n-i)+∑Mj=0bjx(n-j)(531) 已知N个初始状态y(-1),y(-2),…,y(-N)和输入,依据该式可递推求得y(n)。递推法思路清晰,便于编写计算程序,可方便地得到差分方程的数值解,但不易得到解析形式的解。 例511一阶系统的常系数线性差分方程为y(n)-0.5y(n-1)=x(n),已知系统初始状态y(-1)=1,输入为x(n)=u(n),用递推法求解差分方程。 解: 由差分方程得 y(n)=0.5y(n-1)+u(n) 则 y(0)=0.5y(-1)+u(0)=0.5×1+1=1.5 y(1)=0.5y(0)+u(1)=0.5×1.5+1=1.75 y(2)=0.5y(1)+u(2)=0.5×1.75+1=1.875 ︙ 2. 时域经典法 如果单输入单输出的离散时间LTI系统的激励为x(n),响应为y(n),则描述激励x(n)与响应y(n)之间关系的N阶常系数差分方程的解,由齐次解yh(n)和特解yp(n)两部分组成,即 y(n)=yh(n)+yp(n)(532) 齐次解的形式由齐次方程的特征根确定,特解的形式由差分方程中激励信号的形式确定。 1) 齐次解yh(n) 后向N阶常系数线性差分方程的齐次方程为 ∑Ni=0aiy(n-i)=0(533) 其特征方程为 a0+a1λ-1+…+aN-1λ-(N-1)+aNλ-N=∑Ni=0aiλ-i=0(534) 或 a0λN+a1λN-1+…+aN-1λ+aN=∑Ni=0aiλN-i=0(535) 特征方程的根称为特征根,N阶差分方程有N个特征根λi(i=1,2,…,N),根据特征根的不同情况,齐次解有如下不同的形式。 (1) 特征根为不等的实根,即单根λ1,λ2,…,λN,齐次解的通式为 yh(n)=c1λn1+c2λn2+…+cNλnN=∑Ni=1ciλni(536) (2) 特征根λ为N阶重根,即λ1=λ2=…=λN=λ,齐次解的通式为 yh(n)=c1λn+c2nλn+…+cNnN-1λn=∑Ni=1cini-1λn(537) (3) 如果λ是特征方程的r重特征根,即r个重根λ1=λ2=…=λr=λ,其余N-r个根是单根λj(j=r+1,r+2,…,N),齐次解的通式为 yh(n)=c1λn+c2nλn+…+crnr-1λn+cr+1λnr+1+…+cNλnN =∑ri=1cini-1λn+∑Nj=r+1cjλnj(538) (4) 特征方程有共轭复根λ1=α+jβ=ρejω,λ2=α-jβ=ρe-jω,齐次解的通式为 yh(n)=c1ρncos(nω)+c2ρnsin(nω)(539) 式中的待定系数c1,c2,…,cN在全解(齐次解+特解)的形式确定后,再由给定的N个初始条件来求得。 2) 特解yp(n) 差分方程特解的形式与激励信号的形式有关。表531列出常用激励信号所对应的特解通式。选定特解后,把它代入原差分方程,求出其中的待定系数A或A0,A1,…,AN,就得出方程的特解。 表531常用激励信号所对应的特解通式 激励信号x(n)形式特解yp(n)的通式 u(n)A an(a不等于差分方程的特征根)Aan an(a等于差分方程的单特征根)Anan an(a等于差分方程的r重特征根)[Arnr+Ar-1nr-1+…+A1n+A0]an nNANnN+AN-1nN-1+…+A1n+A0 annNan[ANnN+AN-1nN-1+…+A1n+A0] sin(nω)或cos(nω)A1cos(nω)+A2sin(nω) ansin(nω)或ancos(nω)an[A1cos(nω)+A2sin(nω)] 3) 完全解y(n)=yh(n)+yp(n) 求线性差分方程的完全解,一般步骤如下。 (1) 写出与该差分方程相对应的特征方程,求特征根,并写出其齐次解通式。 (2) 根据原差分方程的激励信号的形式,写出其特解的通式。 (3) 将特解通式代入原差分方程求出待定系数,确定特解形式。 (4) 写出原差分方程的通解的一般形式(即齐次解+特解)。 (5) 把初始条件代入,求出齐次解的待定系数值,便可得到差分方程的全解。 例512描述某离散系统的差分方程为y(n)+3y(n-1)+2y(n-2)=x(n),初始状态y(0)=0,y(1)=2,激励信号x(n)=2n,n≥0,求系统的全解y(n)。 解: 该差分方程相对应的特征方程为 λ2+3λ+2=0 求其特征根为λ1=-1,λ2=-2,这是两个不等的实根。 齐次解为 yh(n)=c1(-1)n+c2(-2)n 根据激励信号x(n)=2n,n≥0,知特解 yp(n)=A(2)n,n≥0 将特解代入原差分方程求出待定系数,解得A=13,特解为 yp(n)=13(2)n,n≥0 差分方程的通解 y(n)=yh(n)+yp(n)=c1(-1)n+c2(-2)n+13(2)n,n≥0 代入初始条件 y(0)=yh(0)+yp(0)=c1+c2+13=0 y(1)=yh(n)+yp(n)=-c1-2c2+23=2 解得 c1=23,c2=-1 则差分方程的全解为 y(n)=yh(n)+yp(n)=23(-1)n-(-2)n自由响应+13(2)n强迫响应,n≥0 差分方程的特解也称为系统的强迫响应,此时不考虑系统的初始状态,其形式及待定系数可依据差分方程由激励信号形式来确定和求解; 齐次解也称为系统的自由响应,其形式依据无激励时的齐次方程或特征方程的特征根的情况来确定,其中的待定系数依据差分方程的通解(即齐次解+特解)由系统的初始状态求解。当N阶差分方程的特征根为不等的实根,即单根为λ1,λ2,…,λN时,差分方程的全解为 y(n)=yh(n)+yp(n)=∑Ni=1ciλni自由响应+yp(n)强迫响应(5310) 视频讲解 3. 全响应法 离散时间LTI系统全响应y(n)还可由零输入响应yzi(n)和零状态响应yzs(n)组成,即 y(n)=yzi(n)+yzs(n)(5311) 1) 零输入响应yzi(n) 零输入响应是指激励为零时仅由初始状态所引起的响应,此时N阶差分方程为N阶齐次方程,当特征根为不等的实根,即单根为λ1,λ2,…,λN时,零输入响应为 yzi(n)=c1λn1+c2λn2+…+cNλnN=∑Ni=1ciλni(5312) 其中,ci为待定系数,直接由N个初始状态来确定求解。 2) 零状态响应yzs(n) 零状态响应是指初始状态为零时由输入信号所引起的响应,此时N阶差分方程为N阶非齐次方程,当特征根为不等的实根,即单根为λ1,λ2,…,λN时,依据零初始状态条件,零状态响应为 yzs(n)=∑Ni=1czsλni齐次解+yp(n)特解(5313) 其中,待定系数czs,根据输入形式和零初始状态条件来确定求解。 3) 完全响应 y(n)=yzi(n)+yzs(n)=∑Ni=1cziiλni零输入响应+∑Ni=1czsiλni+yp(n)零状态响应 =yh(n)+yp(n)=∑Ni=1ciλni自由响应+yp(n)强迫响应 可见,其中 ∑Ni=1ciλni=∑Ni=1cziiλni+∑Ni=1czsiλni(5314) 这里,虽然自由响应、零输入响应和零状态响应中的齐次解都具有齐次解的形式,但它们的系数及其解法并不相同,czii仅由零输入时的系统初始状态决定,而ci是由激励和系统初始状态共同决定的,czsi由激励和零初始状态条件来确定。两种分解方式有明显区别,求解过程中应特别注意区分基本概念、解的形式和求解的条件。 例513用完全响应法求解例512中系统的全响应。 分析: 题中给出初始值y(0)=0,y(1)=2,在例512求解系统全响应时可直接利用此初始值,但若求解系统零状态响应和零输入响应,就需设法分别确定它们各自的初始值。 解: 对于零状态响应初始值,y(-1)=0,y(-2)=0,代入原差分方程迭代,得 yzs(0)=-3yzs(-1)-2yzs(-2)+x(0)=1 yzs(1)=-3yzs(0)-2yzs(-1)+x(1)=-1 对于零输入响应初始值,y(0)=yzi(0)+yzs(0),y(1)=yzi(1)+yzs(1),可得 yzi(0)=y(0)-yzs(0)=-1 yzi(1)=y(1)-yzs(1)=3 (1) 由例512知,该系统差分方程的特征根为两个不等的实根λ1=-1,λ2=-2,零输入响应为 yzi(n)=czi1(-1)n+czi2(-2)n 代入零输入响应初始值,解得 czi1=1,czi2=-2 所以零输入响应为 yzi(n)=(-1)n-2(-2)n,n≥0 (2) 零状态响应 yzs(n)=czs1(-1)n+czs2(-2)n+yp(n) 根据激励信号x(n)=2n,n≥0,特解与例512相同,知 yp(n)=13(2)n,n≥0 代入上面求出的零初始状态条件: yzs(0)=czs1+czs2+13=1 yzs(1)==-czs1+ -2czs2+23=-1 解得 czs1=-13,czs2=1 所以零状态响应为 yzs(n)=-13(-1)n+(-2)n+13(2)n,n≥0 (3) 系统的全响应为y(n)=yzi(n)+yzs(n),则有 y(n)=(-1)n-2(-2)n零输入响应-13(-1)n+(-2)n+13(2)n零状态响应,n≥0 对比例512差分方程的全解 y(n)=yh(n)+yp(n)=23(-1)n-(2)n自由响应+13(2)n强迫响应 可知,两种方法的求解结果相同。 5.3.2单位样值响应 1. 单位样值响应的定义与作用 如果系统的输入为单位样值信号δ(n),初始状态y(-1),y(-2),…,y(-N)均为零,由δ(n)产生的系统零状态响应定义为单位样值响应h(n)。单位样值信号δ(n)和单位样值响应序列h(n)在离散时间系统时域分析中起着十分重要的作用。 在离散时间系统中,激励信号本身是一个离散序列,所以离散激励信号序列中的每个离散量施加于系统,离散系统就输出一个与之相应的响应量,所有响应量叠加起来,便得到系统对任意激励信号的零状态响应,也是一个离散序列。当离散的激励信号序列为 x(n)=∑+∞i=-∞x(i)δ(n-i)(5315) 系统在x(n)=δ(n)激励作用下,单位样值响应 y(n)=T[x(n)]=h(n) 由系统的时不变性有 δ(n-i)→h(n-i) 由齐次性 x(i)δ(n-i)→x(i)h(n-i) 由叠加性 ∑+∞i=-∞x(i)δ(n-i)→∑+∞i=-∞x(i)h(n-i) 故零状态响应 yzs(n)=∑+∞i=-∞x(i)h(n-i)(5316) 这种叠加是离散叠加,即为求和运算,而不是积分运算,叠加的过程表现为求卷积和,记作 yzs(n)=∑+∞i=-∞x(i)h(n-i)=x(n)h(n)(5317) 式(5317)表明,系统在任一信号激励下的零状态响应都能够通过单位样值响应与激励信号的卷积和来求解。卷积和的求解方法见5.4节。 研究单位样值响应的意义在于单位样值信号是一种基本信号,通过单位样值响应可求解任一信号激励下的零状态响应。此外,通过单位样值响应还可研究系统的性质,它表征了系统本身的传递特性。 2. 单位样值响应的求解 1) 递推法求单位样值响应 欲用时域法求离散系统的零状态响应yzs(n),需要先求离散系统的单位样值响应h(n)。通常可用递推法求单位样值响应,方法参见5.3.1节递推法求解差分方程,注意在求解过程中,差分方程的右端若只有δ(n)项时,根据δ(n)在n=0处值为1,在n≥1处值均为零来求出h(n)。 例514求例511中一阶系统的单位样值响应。 解: 例511中一阶系统的差分方程为 y(n)-0.5y(n-1)=x(n) 则 h(n)-0.5h(n-1)=δ(n) 即 h(n)=0.5h(n-1)+δ(n) 因为单位样值响应是输入为单位样值信号δ(n),初始状态y(-1),y(-2),…,y(-N)均为零的系统响应,故 h(0)=0.5h(-1)+δ(0)=0.5×0+1=1 h(1)=0.5h(0)+δ(1)=0.5×1+0=0.5 h(2)=0.5h(1)+δ(2)=0.5×0.5+0=0.52 ︙ 由于递推法不易得出解析形式的解,所以为求得解析形式的解,可采用等效初始条件的零输入响应法。 2) 等效初始条件的零输入响应法 当n≥1时,若差分方程的右端为零,则单位样值响应h(n)也可按求解零输入响应的方法并依据等效初始条件求出; 当n≥1时,若差分方程右端还有移位的信号时,则可进行多步递推,直至方程右端为零,再按求解零输入响应的方法并依据等效初始条件求出h(n); 或分解差分方程右端分别为单个输入情况,求解后再叠加,得出h(n),参见5.5节例527。 5.3.3MATLAB实现 例515已知描述某离散系统的差分方程为 2y(n)-2y(n-1)+y(n-2)=x(n)+3x(n-1)+2x(n-2) 试用MATLAB绘制该系统的单位样值响应的波形。 解: 函数impz()是MATLAB为用户提供的专门用于求离散系统单位样值响应,并绘制其时域波形图的函数。在此题中,可以调用函数impz()来解决问题。 图531离散系统的单位样值响应 在调用impz()时,需要用向量a和b来对离散系统的差分方程进行表示,a、b为该离散系统差分方程中y(n)和x(n)的系数向量,因此a=[2 -2 1],b=[1 3 2]。单位样值响应的长度是n。MATLAB实现程序如下。 a=[2 -2 1]; b=[1 3 2]; n=30 impz(b,a,n); MATLAB绘制的系统单位样值响应波形如图531所示。 5.4卷积和 LTI连续时间系统将激励信号分解为一系列冲激函数,分别求出各冲激函数作用于系统的冲激响应,将这些冲激响应相加即得到系统的零状态响应,这一过程称为卷积积分。而在LTI离散系统中,使用上述方法同样可以进行系统分析,这一过程称为卷积和。 已知定义在区间(-∞,+∞)上的两个序列f1(n)和f2(n),则定义 f(n)=∑+∞i=-∞f1(i)f2(n-i)(541) 为f1(n)和f2(n)的卷积和,简称卷积。记为 f(n)=f1(n)*f2(n)(542) 注意: 求和是在虚设的变量i下进行的,i为求和变量,n为参变量,结果仍为n的函数。 在5.3.2节中可以看到,离散时间信号卷积和是计算离散时间LTI系统零状态响应的有力工具,以下介绍卷积和的性质与计算。 5.4.1卷积和的性质 1. 卷积和满足交换律、分配律和结合律等代数运算规律 1) 交换律 x(n)h(n)=h(n)x(n)(543) 从系统的观点解释: 一个单位样值响应是h(n)的LTI系统对输入信号x(n)所产生的响应,与一个单位样值响应是x(n)的LTI系统对输入信号h(n)所产生的响应相同。 2) 分配律 x(n)h1(n)+x(n)h2(n)=x(n)[h1(n)+h2(n)](544) 从系统的观点解释,一个系统由若干LTI系统的并联构成,则系统总的单位样值响应等于各子系统单位样值响应之和。 3) 结合律 [x(n)h1(n)]h2(n)=x(n)[h1(n)h2(n)](545) 从系统的观点解释: 一个系统是由若干LTI系统级联所构成,则系统总的单位样值响应等于各个LTI子系统单位样值响应的卷积和。 2. 卷积和满足时不变性 若 x(n)h(n)=y(n) 则 x(n-i)h(n+j)=y(n-i+j)(546) 3. 任意序列与单位样值序列的卷积和,结果仍是该序列本身 x(n)δ(n)=x(n)(547) 将式(547)推广,有 x(n)*δ(n-n0)=x(n-n0)(548) 4. 任意序列与单位阶跃序列u(n)的卷积和,结果是该序列的累加和 x(n)u(n)=∑ni=-∞x(i)(549) 视频讲解 5.4.2卷积和的运算 卷积和的运算方法有很多,基本上可分为解析法、列表法、图解法、竖式法和变换域法等。以下举例对卷积和的运算进行说明,重点介绍解析法、图解法和列表法。 1. 解析法 如果激励信号x(n)和单位样值响应h(n)给定为解析式,系统零状态响应可根据式(5317)的卷积和定义公式,利用离散序列的卷积性质,通过级数求和公式,方便地得出结果。 例516已知输入序列x(n)=αnu(n),0<α<1,单位样值响应h(n)=u(n),求其响应。 解: y(n)=x(n)h(n) =∑+∞i=-∞x(i)h(n-i)=∑+∞i=-∞αiu(i)u(n-i)=∑ni=0αi=1-αn+11-αu(n) 注意: 确定求和的上、下限具有重要意义。 动画展示 2. 图解法 用图解法求两序列的卷积和运算,包括信号的反折、位移、相乘、求和4个基本步骤。设两个离散函数(序列)为x(n)和h(n),则其卷积和计算步骤如下。 (1) 换元: 将x(n)和h(n)中的变量n更换成变量m。 (2) 反折: 做出h(m)相对于纵轴的镜像h(-m)。 (3) 位移: 将折叠后的h(-m)沿m轴平移一个n值,得h(n-m)。 (4) 相乘: 将移位后的h(n-m)乘以x(m)。 (5) 求和: 把h(n-m)和x(m)相乘所得的值相加,即为n值下的卷积值。 这里关键是确定参变量n在不同区间求和的上、下限。 动画展示 例517已知x(n)=h(n)=R4(n),用图解法求解y(n)=x(n)h(n)。 解: 如图541所示,图541(a)为x(n)=h(n)=R4(n)。 图541(b)将x(n)和h(n)更换变量m,变为x(m)=h(m)=R4(m)序列。 图541(c)将h(m)=R4(m)反折得到镜像h(-m)=R4(-m),即h(0-m)=R4(0-m)序列。 图541(d)将h(-m)=R4(-m)沿m轴平移n=1得到h(1-m)=R4(1-m)序列。 图541(e)将h(-m)=R4(-m)沿m轴平移n=2得到h(2-m)=R4(2-m)序列。 在此基础上,将图541(b)和图541(c)两序列相乘后,各点值相加得到y(0); 图541(b)和图541(d)两序列相乘后,各点值相加得到y(1); 图541(b)和图541(e)两序列相乘后,各点值相加得到y(2); 以此类推,最终求得卷积和计算结果y(n)序列,如图541(f)所示。 图541图解法计算卷积和的示意图 通过图形确定反折位移信号的区间表示,对于确定卷积和计算的区段及各区段求和的上、下限是很有用的。本题参变量n在不同区间求和的上、下限确定如下。 当n<0时, y(n)=0 当0≤n≤3时, y(n)=∑ni=01×1=n+1 当4≤n≤6时, y(n)=∑3i=n-31×1=7-n 当n>6时, y(n)=0 3. 列表法 分析卷积和求解过程,可以发现: 第一,x(n)与h(n)所有的各点都要遍乘一次; 第二,在遍乘后,各点相加时,根据∑+∞i=-∞x(i)h(n-i),参与相加的各点值都是x(i)与h(n-i)的分量相加。设x(n)和h(n)都是因果序列,则y(n)=∑ni=0x(i)h(n-i),n≥0的计算结果如下。 当n=0时, y(0)=x(0)h(0) 当n=1时, y(1)=x(0)h(1)+x(1)h(0) 当n=2时, y(2)=x(0)h(2)+x(1)h(1)+x(2)h(0) 当n=3时, y(2)=x(0)h(3)+x(1)h(2)+x(2)h(1)+x(3)h(0) ︙ 由此,可以总结为更简便、实用的列表法(对位相乘求和)计算卷积和。以因果序列x(n)和因果系统h(n)为例,如图542所示,这种方法不需要画出序列图形,只要把h(n)和x(n)排成一行和一列,行与列交叉点是相应的x(n)与h(n)按普通乘法运算进行相乘,对角斜线上各项就是x(i)与h(n-i),将位于对角斜线上的中间各项相乘结果再相加就可以得到卷积和序列y(n)。该方法适于两个有限长序列的卷积和计算,对非因果序列同样适用。 图542列表法计算卷积和的示意图 例518用列表法计算x(n)={1,2,0↑,3,2}与h(n)={1,4↑,2,3}的卷积和。 解: 列表计算如图543所示,将位于对角斜线上的中间相乘结果再相加,得 y(n)={1,6,10,10,20,14,13,6} y(n)的非零数值起始位置在n≥-3。故 y(n)={1,6,10,10↑,20,14,13,6} 图543列表法计算例518题卷积和的示意图 解析法通过数学运算能得到闭式解; 图解法比较麻烦但非常直观,有利于理解卷积和的计算过程; 列表法对有限长序列计算较为方便和有效。 5.4.3MATLAB实现 例519计算f1(n)=u(n),f2(n)=u(n)-u(n-3)的卷积和。 解: 调用conv()函数来解决此问题,相应的MATLAB程序如下。 %f1: f1(n)样值向量 %n1: f1(n)对应时间向量 %f2: f2(n)样值向量 %n2: f2(n)对应时间向量 %f3: f3(n)样值向量 %n3: f3(n)对应时间向量 n1=-5:15; f1=[zeros(1,5),ones(1,16)]; subplot(3,1,1) stem(n1,f1); title('f1(n)') n2=n1; f2=[zeros(1,5),ones(1,3),zeros(1,13)]; subplot(3,1,2) stem(n2,f2); title('f2(n)') n3=n1(1)+n2(1):n1(end)+n2(end); f3=conv(f1,f2); subplot(3,1,3) stem(n3,f3); title('f3(n)'); MATLAB程序绘制的序列时域波形如图544所示。 例520已知某LTI离散系统,其单位样值响应h(n)=u(n)-u(n-4),求该系统在激励为x(n)=u(n)-u(n-3)时的零状态响应y(n),并绘制其时域波形图。 解: 调用conv()函数来解决此问题,相应的MATLAB程序如下。 x=[1 1 1 1]; h=[1 1 1]; y=conv(x,h) %计算序列x(n)与h(n)的卷积和y subplot(1,3,1); stem(0:length(x)-1,x,'filled');title('x(n)');xlabel('n'); subplot(1,3,2); stem(0:length(h)-1,h,'filled');title('h(n)');xlabel('n'); subplot(1,3,3); stem(0:length(y)-1,y,'filled');title('x(n)与h(n)的卷积和y(n)');xlabel('n'); MATLAB运行结果为 y =123321 MATLAB程序绘制的序列时域波形如图545所示。 图544序列卷积和图 图545离散序列零状态响应卷积图 5.5典型例题解析 例521已知x(n)=n[u(n)-u(n-7)],试分别求下列信号并画出各信号的图形。 (1) y1(n)=x(-n); (2) y2(n)=x(n+1); (3) y3(n)=x(n-1); (4) y4(n)=x(n+1)+x(n-1); (5) y5(n)=x(n+1)x(n-1); (6) y6(n)=x(3n); (7) y7(n)=xn3; (8) y8(n)=∑ni=-∞x(i); (9) Δx(n)=x(n+1)-x(n); (10) x(n)=x(n)-x(n-1)。 解: x(n)信号的波形如图551(a),所有待求信号的波形如图551(b)~图551(k)所示。 图551所有信号波形图 式(1)是对x(n)进行反折运算 y1(n)=x(-n)=-n[u(-n)-u(-n-7)] 式(2)、式(3)是对x(n)进行左、右移位运算。将x(n)向前(左)移位一个单位,得 y2(n)=x(n+1)=(n+1)[u(n+1)-u(n-6)] 将x(n)向后(右)移位一个单位,得 y3(n)=x(n-1)=(n-1)[u(n-1)-u(n-8)] 式(4)是y2(n)与y3(n)的相加运算 y4(n)=x(n+1)+x(n-1)=y2(n)+y3(n) 式(5)是y2(n)与y3(n)的相乘运算 y5(n)=x(n+1)·x(n-1)=y2(n)·y3(n) 式(6)、式(7)是尺度变换,y6(n)=x(3n)将x(n)压缩3倍,y7(n)=xn3将x(n)扩展3倍。 式(8)是累加运算 y8(n)=∑ni=-∞x(i) 式(9)是前向差分 Δx(n)=x(n+1)-x(n) 式(10)是后向差分 x(n)=x(n)-x(n-1) 因为Δx(n-1)=x(n)-x(n-1),所以x(n)=Δx(n-1)。 例522列出图552(a)、(b)所示两系统的差分方程,指出其阶数,并判断它们所表示的系统是否相同。 图552系统框图 解: 由图552(a)列写差分方程为 y(n)=a0x(n)+a1x(n-1)-b1y(n-1)-b2y(n-2) 移项得二阶差分方程 y(n)+b1y(n-1)+b2y(n-2)=a0x(n)+a1x(n-1) 由图552(b)列写差分方程,其中引用了辅助函数q(n),得 q(n)=x(n)-b1q(n-1)-b2q(n-2) y(n)=a0q(n)+a1q(n-1) 由此可知 q(n-1)=x(n-1)-b1q(n-2)-b2q(n-3) y(n-1)=a0q(n-1)+a1q(n-2) y(n-2)=a0q(n-2)+a1q(n-3) 则有 y(n)=a0[x(n)-b1q(n-1)-b2q(n-2)]+a1[x(n-1)-b1q(n-2)-b2q(n-3)] =a0x(n)+a1x(n-1)-b1[a0q(n-1)+a1q(n-2)]- b2[a0q(n-2)+a1q(n-3)] =a0x(n)+a1x(n-1)-b1y(n-1)-b2y(n-2) 整理得 y(n)+b1y(n-1)+b2y(n-2)=a0x(n)+a1x(n-1) 可见两图的差分方程相同,它们表示的是同一个二阶离散时间系统。 例523离散时间系统的差分方程为y(n+1)-1.5y(n)+0.5y(n-1)=0.5x(n),设未加激励时系统的初始条件y(0)=0、y(1)=1,激励x(n)=u(n)。 (1) 求零输入响应yzi(n),零状态响应yzs(n)及全响应y(n)。 (2) 画出系统方框图。 (3) 比较n=0、1时全响应的值y(0)、y(1)与给定的初始条件有无差别,为什么? 解: (1) 特征方程α2-1.5α+0.5=0,解出特征根α1=1、α2=0.5,故得 yzi(n)=c1+c20.5n 代入y(0)=0及y(1)=1,求出c1=2、c2=-2,故 yzi(n)=2-2×0.5n,n≥0 传输函数 H(z)=0.5z-1.5+0.5z-1=zz-1-zz-0.5 单位样值响应 h(n)=(1-0.5n)u(n) 零状态响应 yzs(n)=x(n)*h(n)=u(n)*(1-0.5n)u(n)=(n-1+0.5n)u(n) 全响应 y(n)=yzi(n)+yzs(n)=n+1-0.5n,n≥0 图553系统框图 (2) 系统框图如图553所示。 (3) 求出全响应在n=0、1时的值分别为y(0)=0、y(1)=1.5,与给定的初始条件比较,y(0)相同,而y(1)不同。这是由于给定的初始条件是不加激励时的初始值,更确切地说,应该为yzi(0)=0、yzi(1)=1。而由激励0.5u(n)产生的零状态响应在n=0、1时的值分别为yzs(0)=0、yzs(1)=0.5。所以全响应 y(0)=yzi(0)+yzs(0)=0 y(1)=yzi(1)+yzs(1)=1.5 从系统框图看,y(n)是从第一个延时器输出端引出的,在n=0时,虽然加上了激励,但不会立即影响输出,即yzs(0)=0,所以y(0)=yzi(0)没有改变。 例524某系统的输入输出关系可由二阶常系数线性差分方程描述,如果相对于输入x(n)=u(n)的响应为y(n)=(2n+3×5n+10)u(n)。 (1) 若系统起始为静止的,试确定该系统的二阶差分方程。 (2) 若激励为x(n)=2[u(n)-u(n-10)],求响应y(n)。 解: (1) y(n)=(2n+3×5n+10)u(n)是在系统起始为静止的条件下,激励为u(n)的响应也就是该系统的单位阶跃响应g(n)。因为 δ(n)=u(n)-u(n-1) 所以 h(n)=g(n)-g(n-1) =(2n+3×5n+10)u(n)-(2n-1+3×5n-1+10)u(n-1) =0.5×2nu(n)+2.4×5nu(n)+11.1δ(n) 本系统的传输函数 H(z)=0.5×zz-2+2.4×zz-5+11.1=14z2-85z+111z2-7z+10 得出系统的二阶差分方程为 y(n)-7y(n-1)+10y(n-2)=14x(n)-85x(n-1)+111x(n-2) (2) 按照线性时不变性质,当激励x(n)=2[u(n)-u(n-10)]时的响应y(n)为 y(n)=2[g(n)-g(n-10)] =2[(2n+3×5n+10)u(n)-(2n-10+3×5n-10+10)u(n-10)] 例525计算信号x1(n)=2nu(-n)和x2(n)=u(n)的卷积和y(n)=x1(n)*x2(n)。 解: y(n)=x1(n)x2(n) =∑+∞i=-∞2iu(-i)u(n-i) =∑ni=-∞2i=2n+1,n≤0∑0i=-∞2i=2,n>0 例526设3个LTI系统级联,如图554(a)所示,其中h2(n)=u(n)-u(n-2),而总的单位样值响应如图554(b)所示。求: (1) 单位样值响应h1(n); (2) 整个系统对输入的响应。 解: (1) h2(n)=u(n)-u(n-2)=δ(n)+δ(n-1) h(n)=h1(n)*h2(n)*h2(n) =h1(n)*[δ(n)+δ(n-1)]*[δ(n)+δ(n-1)] =[h1(n)+h1(n-1)]*[δ(n)+δ(n-1)] =h1(n)+2h1(n-1)+h1(n-2) 图554例526图 由于图554(b)是因果的,所以当n<0时,h1(n)=0。而h1(n)的其他值可由上式和图554(b)的h(n)递推求得如下: 当n=0时, 1=h1(0)+2h1(-1)+h1(-2)→h1(0)=1 当n=1时, 5=h1(1)+2h1(0)+h1(-1)→h1(1)=3 当n=2时, 10=h1(2)+2h1(1)+h1(0)→h1(2)=3 当n=3时, 11=h1(3)+2h1(2)+h1(1)→h1(3)=2 当n=4时, 8=h1(4)+2h1(3)+h1(2)→h1(4)=1 当n=5时, 4=h1(5)+2h1(4)+h1(3)→h1(5)=0 当n>5时, h1(n)=0 由此得h1(n)的波形如图555(a)所示。 图555h1(n)和系统输出图 (2) y(n)=x(n)*h(n)=[δ(n)-δ(n-1)]*h(n)=h(n)-h(n-1) 整个系统对此输入的响应如图555(b)所示。 例527因果系统的差分方程为y(n)-5y(n-1)+6y(n-2)=x(n)-3x(n-2),求系统的单位样值响应。 解: 利用线性叠加原理求h(n)。求得差分方程的齐次解为c13n+c22n。由叠加原理,在此先考虑x(n)项引起的响应h1(n)。边界条件是h1(-1)=0,h1(0)=1,由此建立一组方程来求系数: c1+c2=1 13c1+12c2=0 得 c1=3,c2=-2 所以 h1(n)=3×3n-2×2n=3n+1-2n+1,n≥0 再考虑-3x(n-2)项作用引起的响应h2(n)。根据线性时不变系统特征,可知 h2(n)=-3h1(n-2)=-3[3n-1-2n-1],n≥2 h(n)就是h2(n)和h1(n)的和,因此有 h(n)=h1(n)+h2(n) =[3n+1-2n+1]u(n)-3[3n-1-2n-1]u(n-2) =[3n+1-2n+1][δ(n)+δ(n-1)+u(n-2)]-3[3n-1-2n-1]u(n-2) =δ(n)+5δ(n-1)+[2×3n-2n-1]u(n-2) 卷积与图像 【工程案例之四】卷积与图像 具体内容请扫描二维码查看。 5.6习题 5.6.1自测题 一、 填空题 1. 若序列f(n)={2↑,3,4,0,5},则f(2n)为。 2. 若序列f(n)={2,3,4↑,0,5,6},则f(-n-1)为。 3. y(n)=12nu(n)δ(n-1)=。 4. 若已知系统的差分方程为2y(n)-y(n-1)-y(n-2)=x(n)+2x(n-1),其单位样值响应h(n)=。 5. 已知y(-1)=0,y(0)=0,则差分方程y(n)+2y(n-1)+y(n-2)=3n的全响应为。 6. 若已知系统的差分方程为2y(n)-y(n-1)-y(n-2)=x(n)+2x(n-1),其齐次解y(n)=。 7. 差分方程y(n)+2y(n-1)=x(n)-x(n-1)的齐次解为。 8. 离散时间系统的基本模拟部件是、和。 9. 若某一因果线性时不变系统为稳定系统,其单位序列响应为h(n),则∑+∞n=0|h(n)|=。 二、 单项选择题 1. 离散线性时不变系统的单位序列响应h(n)为()。 A. 对输入为δ(n)的零状态响应B. 输入为u(n)的响应 C. 系统的自由响应D. 系统的强迫响应 2. 序列f(n)=cosπn2[u(n-2)-u(n-5)]的正确图形是图561中的()。 图561题2图 3. 已知序列x1(n)和x2(n)如图562(a)所示,则卷积y(n)=x1(n)x2(n)的图形为图562(b) 中的()。 图562题3图 4. 若某线性非时变离散系统激励为f(n)=anu(n),a≠0,其单位响应为h(n)=bnu(n),b≠0,b≠a,则其零状态响应yzs(n)为()。 A. (b-a)nu(n) B. an-bna-bu(n) C. bn-an-1a-bu(n)D. an+1-bn+1a-bu(n) 5. 下列各式为描述离散时间系统的差分方程,所描述的系统为线性时不变的是()。 A. y(n)=[f(n)]2B. y(n)=2f(n)cos3n+π3 C. y(n+1)=2f(n)+3D. y(n)=2f(n) 6. 若f1(n)={0,1,2,3↑,1,0},f2(n)={0,1,1↑,1,0},则f1(n)f2(n)=()。 A. {0,1,3,5↑,2,1,0}B. {0,1,3,6↑,6,4,1,0} C. {0,1,3,6,6↑,4,1,0}D. {0,1,3,5↑,4,3,0} 7. 某线性非时变离散系统,其单位响应h(n)=(0.8)nu(n),则其阶跃响应为()。 A. (0.8)nu(n)B. (1-0.8n)u(n) C. 5[1-(0.8)n+1]u(n)D. 5[1-(0.8)n]u(n) 8. 差分方程的齐次解为yh(n)=c1n18n+c218n,特解为yp(n)=38u(n),那么系统的稳态响应为()。 A. yh(n)B. yp(n) C. yh(n)+yp(n)D. dyh(n)dn 9. 已知离散系统的单位序列响应h(n)和系统输入f(n)如图563所示,f(n)作用于系统引起的零状态响应为yzs(n),那么yzs(n)序列不为零的点数为()。 A. 3个B. 4个 C. 5个D. 6个 图563题9图 10. 已知序列f(n)如图564(a)所示,则序列f(-n-2)的图形是如图564(b)中的()。 图564题10图 11. 有限长序列f(n)=3δ(n)+2δ(n-1)+δ(n-2),经过一个单位序列响应为h(n)=4δ(n)-2δ(n-1)的离散系统,则零状态响应yzs(n)为()。 A. 12δ(n)+2δ(n-1)+δ(n-2)+δ(n-3) B. 12δ(n)+2δ(n-1) C. 12δ(n)+2δ(n-1)-2δ(n-3) D. 12δ(n)-δ(n-1)-2δ(n-3) 12. y(n)=(-2)nu(n)+δ(n)+u(n)中,稳态响应分量为()。 A. (-2)nu(n)B. δ(n)C. u(n)D. δ(n)+u(n) 13. 离散信号f(n)是指()。 A. n的取值是连续的,而f(n)的取值是任意的信号 B. n的取值是离散的,而f(n)的取值是任意的信号 C. n的取值是连续的,而f(n)的取值是连续的信号 D. n的取值是连续的,而f(n)的取值是离散的信号 14. 已知序列f(n)=δ(n)+δ(n-1)+δ(n-2),h(n)=δ(n)+δ(n-1)+δ(n-2)+δ(n-3),则y(n)=f(n)h(n)是()。 A. δ(n)+δ(n-1)+δ(n-2) B. δ(n)+δ(n-1)+δ(n-2)+δ(n-3)+δ(n-4)+δ(n-5) C. δ(n)+2δ(n-1)+3δ(n-2)+3δ(n-3)+2δ(n-4)+δ(n-5) D. δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+3δ(n-4)+2δ(n-5)+δ(n-6) 15. 与图565(a)所示系统等价的系统是图565(b)中的()。 图565题15图 5.6.2基础题、提高题、MATLAB习题和小结 第5章基础题 第5章提高题 第5章MATLAB习题 第5章小结