第3章 CHAPTER 3 时域离散信号和 滤波器的频谱分析 前面的章节简单介绍了时域离散信号与频谱的关系以及滤波器与频谱的关系,本章将详细研究时域离散信号和滤波器的频谱特性。本章内容包括: 频谱的定义; 非周期时域离散信号的频谱; 非周期时域离散信号傅里叶变换的性质; 周期序列的频谱; 序列的Z变换; 时域离散系统的系统函数; 利用Z变换分析系统的频率响应特性; 用几何方法研究零极点分布对系统频率响应的影响。 3.1频谱的定义 由“信号与系统”课程内容可知,信号和系统(也称为滤波器)的分析方法有两种,一种是时域分析方法,另一种是频域分析方法。在模拟信号中,模拟信号一般用连续时间变量的函数表示,其频谱一般用信号的傅里叶变换或拉普拉斯变换表示。在时域离散信号中,时域离散信号用序列表示,其频谱则用离散时间信号的傅里叶变换(DiscreteTime Fourier Transform,DTFT)或Z变换表示。既然频谱分析如此重要,首先要了解信号频谱所代表的含义。 在频域,每个信号都有典型的特征。比如正弦波仅包含单一频率,而白噪声(White Noise)包含几乎所有的频率成分。信号的低频分量决定其平稳变化,信号的高频分量决定边缘的陡峭和剧烈变化程度。比如常见的方波,它既包含平稳变化的低频分量,又包含边缘剧烈变化的高频分量,如图3.1所示。从单一低频正弦波开始,每个图增加一个较高频率的正弦波,只要选择的正弦波具有合适的频率和振幅,将它们叠加在一起便趋近于方波,如图3.1(e)所示。合成波形的表达式为: y(t)=4πsin(Ωt)+13sin(3Ωt)+15sin(5Ωt)+17sin(7Ωt)+19sin(9Ωt)+… 其中Ω为信号的角频率。信号的频谱能够详细记录信号所包含的频率分量(频率成分),包括幅度频谱(幅频)和相位频谱。信号的幅度频谱表示的是每一频率分量的大小或幅度; 信号的相位频谱表示的是不同频率分量的相位关系。以图3.1(e)所形成的合成波形为例,组成这一波形的每个正弦波反映在其幅频图中就是一个个尖峰,如图3.1(f)所示。 图3.1由正弦波组成的方波及其幅频图 滤波器的频谱特性包括幅度频率响应和相位频率响应,其中幅度频率响应是所有频率信号通过系统的增益值的集合; 相位频率响应是所有频率信号通过系统后的相位差的集合。因此,当需要预测滤波器对信号的作用时,既需要知道滤波器的特性,还要知道信号的频谱。 所有的信号都有频谱,但是频谱的计算方法取决于信号是否具有周期性。下面将分别介绍非周期信号和周期信号频谱的计算方法。 3.2非周期时域离散信号的频谱 已知模拟信号x(t)的傅里叶变换定义为: X(Ω)=∫∞-∞x(t)e-jΩtdt(3.1) 序列x(n)的傅里叶变换定义为: X(ω)=X(ejω)=DTFT[x(n)]=∑∞n=-∞x(n)e-jωn(3.2) 其中X(ejω)是实变量ω(频率变量)的复值函数。注意到式(3.2)是式(3.1)对应傅里叶变换的离散时间表示,其中用求和代替了求积分,以T表示采样间隔,用nT代替了t,从而ω=ΩT。为了区别连续时间和离散时间两种情况,本书用ω表示离散时间的频率变量。 对于所有的实值ω,如果式(3.2)中的双边无限求和收敛(即和为有限值),则称时域离散信号x(n)的DTFT存在。x(n)的DTFT存在的充分条件是序列x(n)满足: ∑∞n=-∞|x(n)|<∞(3.3) X(ejω)的傅里叶反变换为 x(n)=IDTFT[X(ejω)]=12π∫π-πX(ejω)ejωndω(3.4) 式(3.2)和式(3.4)组成一对傅里叶变换公式。式(3.3)是傅里叶变换存在的充分条件,有些函数(比如周期序列)并不满足式(3.3),说明它的傅里叶变换不存在,对于周期序列的频谱计算,将在3.4节介绍。 【例 3.1】设x(n)=RN(n),求x(n)的傅里叶变换。 解: X(ejω)=∑∞n=-∞RN(n)e-jωn=∑N-1n=0e-jωn =1-e-jωN1-e-jω=e-jωN2ejωN2-e-jωN2e-jω12ejω12-e-jω12 =e-jωN-12sinωN2sinω12 当N =4时, X(ejω)=∑∞n=-∞x(n)e-jωn=1+e-jω+e-j2ω+e-j3ω 其幅度和相位随频率ω变化的曲线如图3.2所示。 图3.2R4(n)的幅度与相位曲线 【例3.2】设序列 x(n)=0n<0 an0≤n≤q 0n>q, 求x(n)的离散时间傅里叶变换。 解: X(ejω)=∑∞n=-∞x(n)e-jωn =∑qn=0ane-jωn =∑qn=0(ae-jω)n =1-(ae-jω)q+11-ae-jω 【例3.3】例3.2 中令a=0.5,q=50,用MATLAB程序实现这个有限长序列的离散时间傅里叶变换的幅频特性曲线和相频特性曲线。程序如下: n=0:50 a=0.5 x=a.^n w=linspace(-4*pi,4*pi,501) X=(1-a^51*cos(51*w)+j*a^51*sin(51*w))./(1-a*cos(w)+a*j*sin(w)) X_abs=abs(X) X_angle=angle(X) subplot(211) plot(w/pi,X_abs,'k') subplot(212) plot(w/pi,X_angle,'k') 运行结果如图3.3所示。 图3.3例3.3的幅频和相频图 思考题: (1) 幅度特性和相位特性的周期是多少? (2) 幅度特性和相位特性的对称性如何? 【随堂练习】 求下列序列的DTFT。 (1) x(n)=δ(n-3); (2) x(n)=12δ(n+1)+δ(n)+12δ(n-1); (3) x(n)=u(n+3)-u(n-4)。 3.3非周期时域离散信号傅里叶变换的性质 由例3.1可得其频谱函数为X(ejω)=1+e-jω+e-j2ω+e-j3ω,根据DTFT的定义: X(ω+2π)=∑∞n=-∞x(n)e-j(ω+2π)n=∑∞n=-∞x(n)e-jωn·e-j2πn 因为e-j2πn=1,所以 X(ω+2π)=∑∞n=-∞x(n)e-j(ω+2π)n=∑∞n=-∞x(n)e-jωn·e-j2πn=∑∞n=-∞x(n)e-jωn=X(ω) 故DTFT具有周期性,其周期为2π。换句话说,所有离散时间傅里叶变换对于所有ω,每2π重复一次,并且不断地重复。因此,得到DTFT的第一个性质。 3.3.1DTFT的周期性 离散傅里叶变换X(ejω)是ω的周期函数,周期为2π,即: X(ω+2π)=X(ω)-∞<ω<∞(3.5) 关于X(ejω)周期性的一个重要结论是: X(ejω)可以通过计算任意2π间隔内的X(ejω)来完全确定,比如ω取0≤ω≤2π或-π≤ω≤π。 根据DTFT的周期性分析得到,在ω=0和ω=2πM(M取整数)附近的频谱分布应该相同,在ω=0,±2π,±4π,…点上表示x(n)信号的直流分量; 离开这些点愈远,其频率愈高,但又是以2π为周期,那么最高的频率应是在ω=π处。 还要说明的是,所谓x(n)的直流分量,是指如图3.4(a)所示的波形。例如,x(n)=cosωn,当ω=2πM(M取整数)时,x(n)的序列值如图3.4(a)所示,其幅度值恒为1,不随n变化而变化,因此称为直流信号; 当ω=(2M+1)π时,x(n)波形如图3.4(b)所示,它代表最高频率信号,是一种变化最快的正弦信号。由于DTFT的周期是2π,一般只分析0~2π或-π~π范围的DTFT就够了。 图3.4cosωn的波形 3.3.2线性 设X1(ejω)=DTFT[x1(n)],X2(ejω)=DTFT[x2(n)],那么 DTFT[ax1(n)+bx2(n)]=aX1(ejω)+bX2(ejω)(3.6) 其中,a,b是常数。 3.3.3时移与频移性质 在时域的移位相应于频域中的相移 DTFT[x(n-n0)]=e-jωn0X(ejω)(3.7) 时域乘以复指数相应于频域中的移位 DTFT[ejω0nx(n)]=X(ej(ω-ω0))(3.8) 3.3.4时间反转特性(序列的反转) 在时域中的反转相应于频域中的反转 DTFT[x(-n)]=X(e-jω)(3.9) 相关证明,请读者根据DTFT的定义自行推导。 【随堂练习】 已知x(n)的离散傅里叶变换为X(ejω),用X(ejω)表示下列信号的DTFT: x1(n)=x(1-n)+x(-1-n);x2(n)=x*(-n)+x(n)2 3.3.5DTFT的对称性 在学习DTFT的对称性之前,首先介绍共轭对称与共轭反对称以及它们的性质。 在中学数学中,学习过奇函数与偶函数的概念,那些函数的自变量和函数值都是实数。如果将实数的范围变广一些,就到了复数范围,即函数的自变量和函数值是复数。因此,共轭对称与共轭反对称就可以看成是复数范围内的偶对称和奇对称。 设序列xe(n)满足下式: xe(n)=x*e(-n)(3.10) 则称xe(n)为共轭对称序列。下面研究共轭对称序列具有什么性质,先将xe(n)表示成实部xer(n) 和虚部xei(n): xe(n)=xer(n)+jxei(n)(3.11) 将式(3.11)两边的n用-n代替,并取共轭,得到: x*e(-n)=xer(-n)-jxei(-n)(3.12) 对比式(3.11)和式(3.12),根据共轭对称序列的定义,两式左边相等,因此右边的实部和虚部均要相等,得到: xer(n)=xer(-n)(3.13) xei(n)=-xei(-n)(3.14) 式(3.13)和式(3.14)两式表明共轭对称序列的实部是偶函数,而虚部是奇函数。类似地,可定义满足式(3.15)的共轭反对称序列xo(n): xo(n)=-xo(-n)(3.15) 同样将xo(n)表示成实部xor(n) 和虚部xoi(n)形式,如下式: xo(n)=xor(n)+jxoi(n)(3.16) 再将-xo(-n)表示成实部和虚部形式,如下式: -x*o(-n)=-xor(-n)+jxoi(-n)(3.17) 对比式(3.16)和式(3.17),根据共轭反对称序列的定义,两式左边相等,因此右边的实部和虚部均要相等,可以得到: xor(n)=-xor(-n)(3.18) xoi(n)=xoi(-n)(3.19) 即共轭反对称序列的实部是奇函数,而虚部是偶函数。 【例3.4】试分析x(n)=ejωn的对称性。 解: 因为 x(-n)=ejωn=x(n) 满足式(3.10),所以x(n)是共轭对称序列,若展开成实部和虚部,则得到: x(n)=cosωn+jsinωn 表明共轭对称序列的实部确实是偶函数,虚部是奇函数。 类似于一般的实函数总可以表示成奇函数与偶函数和的形式,推广到复数域,一般序列均可用共轭对称与共轭反对称序列之和表示,即 x(n)=xe(n)+xo(n)(3.20) 其中,xe(n)和xo(n)可分别用原序列x(n)求出,将式(3.20)中的n用-n代替,再取共轭,得到: x(-n)=xe(n)-xo(n)(3.21) 利用式(3.20)和式(3.21),得到: xe(n)=12[x(n)+x(-n)](3.22) xo(n)=12[x(n)-x(-n)](3.23) 利用式(3.22)和式(3.23),可以用x(n)分别求出x(n)的共轭对称分量xe(n)和共轭反对称分量xo(n)。 上面分析的是时域函数的共轭对称和共轭反对称,对于频域函数X(ejω),也有类似的定义和结论: X(ejω)=Xe(ejω)+Xo(ejω)(3.24) 其中,Xe(ejω)和Xo(ejω)分别称为共轭对称部分与共轭反对称部分,它们满足: Xe(ejω)=X*e(e-jω)(3.25) Xo(ejω)=-X*o(e-jω)(3.26) 同样有: Xe(ejω)=12[X(ejω)+X(e-jω)](3.27) Xo(ejω)=12[X(ejω)-X(e-jω)](3.28) 根据上面的定义和结论,研究DTFT的对称性。 (1) 将序列x(n)分成实部xr(n)与虚部xi(n),即 x(n)=xr(n)+jxi(n)(3.29) 将式(3.29)进行傅里叶变换,得到: X(ejω)=Xe(ejω)+Xo(ejω)(3.30) 其中 Xe(ejω)=DTFT[xr(n)]=∑∞n=-∞xr(n)e-jωn Xo(ejω)=DTFT[jxi(n)]=j∑∞n=-∞xi(n)e-jωn 式(3.29)中,xr(n)和xi(n)都是实数序列。容易证明: Xe(ejω)满足式(3.25),具有共轭对称性,它的实部是偶函数,虚部是奇函数; Xo(ejω)满足式(3.26),具有共轭反对称性,它的实部是奇函数,虚部是偶函数。 最后得到结论: 序列分成实部和虚部两部分时,实部对应的傅里叶变换具有共轭对称性,虚部和j一起对应的傅里叶变换具有共轭反对称性。 (2) 将序列x(n)分成共轭对称部分xe(n)与共轭反对称部分xo(n),即 x(n)=xe(n)+xo(n)(3.31) 将式(3.22)和式(3.23)重写如下: xe(n)=12[x(n)+x(-n)] xo(n)=12[x(n)-x(-n)] 然后分别进行傅里叶变换,得到: FT[xe(n)]=12[X(ejω)+X(ejω)]=Re[X(ejω)]=XR(ejω)(3.32a) FT[xo(n)]=12[X(ejω)-X(ejω)]=jIm[X(ejω)]=jXI(ejω)(3.32b) 因此式(3.31)的DTFT为 X(ejω)=XR(ejω)+jXI(ejω)(3.32c) 式(3.32a)和式(3.32b)表示: 序列x(n)共轭对称部分xe(n)的DTFT对应着X(ejω)的实部XR(ejω),而序列x(n)共轭反对称部分xo(n)的DTFT对应着X(ejω)的虚部XI(ejω)乘以j。 对于实序列x(n),X(ejω)是共轭对称的,即: X(ejω)=X*(e-jω)(3.33) 它等同于X(ejω)的实部偶对称、虚部奇对称; 或幅度偶对称、相角奇对称。这一性质可在例3.5的图中得到验证。 【例3.5】设x(n)为序列 x(n)=δ(n+1)-δ(n)+2δ(n-1)+3δ(n-2) 其DTFT为 X(ejω)=XR(ejω)+jXI(ejω) 其中,XR(ejω)和XI(ejω)分别是X(ejω)的实部和虚部。若某一序列y(n)的DTFT为Y(ejω)=XI(ejω)+jXR(ejω)ej2ω,试求出序列y(n)。 解: 求解这个问题的关键是要知道,如果x(n)是实序列,并且如果把X(ejω)用其实部和虚部来表示,那么XR(ejω)就是x(n)共轭对称部分的DTFT,XI(ejω)就是x(n)共轭反对称部分的DTFT,即: xe(n)=12[x(n)+x(-n)]←→DTFTXR(ejω) xo(n)=12[x(n)-x(-n)]←→DTFTjXI(ejω) 所以,-jxo(n)的DTFT是XI(ejω): -jxo(n)←→DTFTXI(ejω) jxe(n+2)的DTFT是 jxe(n+2)←→DTFTjXR(ejω)ej2ω 于是有: jxe(n+2)-jxo(n)←→DTFTY(ejω)=XI(ejω)+jXR(ejω)ej2ω 可得: y(n)=jxe(n+2)-jxo(n) 其中 xe(n)=12[x(n)+x(-n)] =12[δ(n+1)-δ(n)+2δ(n-1)+3δ(n-2)+ δ(-n+1)-δ(-n)+2δ(-n-1)+3δ(-n-2)] =12[δ(n+1)-δ(n)+2δ(n-1)+3δ(n-2)+ δ(n-1)-δ(n)+2δ(n+1)+3δ(n+2)] =32δ(n+2)+32δ(n+1)-δ(n)+32δ(n-1)+32δ(n-2) xo(n)=12[x(n)-x(-n)] =12[δ(n+1)-δ(n)+2δ(n-1)+3δ(n-2)- δ(-n+1)+δ(-n)-2δ(-n-1)-3δ(-n-2)] =12[δ(n+1)-δ(n)+2δ(n-1)+3δ(n-2)- δ(n-1)+δ(n)-2δ(n+1)-3δ(n+2)] =-32δ(n+2)-12δ(n+1)+12δ(n-1)+32δ(n-2) 所以 y(n)=jxe(n+2)-jxo(n) =j32δ(n+4)+32δ(n+3)-δ(n+2)+32δ(n+1)+32δ(n)- j-32δ(n+2)-12δ(n+1)+12δ(n-1)+32δ(n-2) =j32δ(n+4)+32δ(n+3)+12δ(n+2)+2δ(n+1)+32δ(n)- 12δ(n-1)-32δ(n-2) 求解过程如图3.5所示。 图3.5例3.5图 【例3.6】设x(n)=(0.9exp(jπ/3))n,0≤n≤10,其幅度及相位的频谱特性如图3.6所示,试用MATLAB程序画出X(ejω),并研究它的周期性和对称性。 解: MATLAB程序如下: n=0:10 x=(0.9*exp(j*pi/3)).^n k=-200:200 w=(pi/100)*k X=x*(exp(-j*pi/100)).^(n'*k) magX=abs(X) angX=angle(X) subplot(2,1,1) plot(w/pi,magX,'k','lineWidth',2);grid axis([-2 2 -1 8]) subplot(2,1,2) plot(w/pi,angX,'k','lineWidth',2);grid axis([-2 2 -2 2]) 图3.6例3.6幅度及相位的频谱特性 由图3.6可知,上述复数序列x(n),X(ejω) 是周期的,但不是共轭对称的。 【随堂练习】 若序列h(n)是实因果序列,其傅里叶变换的实部为: HR(ejω)=1+cos3ω,求序列h(n)及其傅里叶变换H(ejω)。 3.3.6时域卷积定理 设y(n)=x(n)h(n),则 Y(ejω)=X(ejω)H(ejω)(3.34) 证明: y(n)=∑∞m=-∞x(m)h(n-m) Y(ejω)=DTFT[y(n)]=∑∞n=-∞∑∞m=-∞x(m)h(n-m)e-jωn 令k=n-m,则 Y(ejω)=∑∞k=-∞∑∞m=-∞h(k)x(m)e-jωke-jωm =∑∞k=-∞h(k)e-jωk∑∞m=-∞x(m)e-jωm =H(ejω)X(ejω) 该定理说明,两序列卷积的DTFT服从相乘的关系。对于线性时不变系统,输出信号的DTFT等于输入信号的DTFT乘以单位脉冲响应的DTFT。因此,在求系统的输出信号时,可以在时域用卷积公式(2.25)计算,也可以在频域按照式(3.34)求出输出的DTFT,再作逆DTFT,求出输出信号y(n)。 3.3.7频域卷积定理 设 y(n)=h(n)·x(n),则 Y(ejω)=12πH(ejω)X(ejω)=12π∫π-πH(ejθ)X(ej(ω-θ))dθ(3.35) 证明: Y(ejω)=∑∞n=-∞x(n)h(n)e-jωn =∑∞n=-∞x(n)12π∫π-πH(ejθ)e-jθndθe-jωn 交换积分与求和的次序,得到: Y(ejω)=12π∫π-πH(ejθ)∑∞n=-∞x(n)e-j(ω-θ)ndθ =12π∫π-πH(ejθ)X(ej(ω-θ))dθ =12πH(ejω)X(ejω) 该定理表明,在时域两序列相乘,对应到频域则服从卷积关系。 3.3.8帕塞瓦尔定理 ∑∞n=-∞|x(n)|2=12π∫π-π|X(ejω)|2dω(3.36) 证明: ∑∞n=-∞|x(n)|2=∑∞n=-∞x(n)·x(n)=∑∞n=-∞x(n)12π∫π-πX(ejω)ejωndω =12π∫π-πX(ejω)∑∞n=-∞x(n)ejωndω =12π∫π-πX(ejω)X(ejω)dω =12π∫π-π|X(ejω)|2dω 帕塞瓦尔(Parseval)定理表明了信号时域的能量与频域的能量满足能量守恒定理。表3.1和表3.2分别列出了常见的DTFT以及DTFT的主要性质。 表3.1常见的DTFT 序列DTFT 1,所有n∑∞k=-∞2πδ(ω-2πk) sgn(n)=1,n=0,1,2,… -1,n=-1,-2,…21-e-jω u(n)11-e-jω+∑∞k=-∞πδ(ω-2πk) δ(n)1 δ(n-p)e-jpωp=±1,±2,… anu(n)|a|<111-ae-jω|a|<1 ejω0n∑∞k=-∞2πδ(ω-ω0-2πk) cos(ω0n)∑∞k=-∞π[δ(ω+ω0-2πk)+δ(ω-ω0-2πk)] sin(ω0n)∑∞k=-∞jπ[δ(ω+ω0-2πk)-δ(ω-ω0-2πk)] cos(ω0n+θ)∑∞k=-∞π[e-jθδ(ω+ω0-2πk)-ejθδ(ω-ω0-2πk)] 表3.2DTFT的性质 性质序列DTFT 线性性质ax(n)+by(n)aX(ejω)+bY(ejω)a,b为常数 时移性质x(n-n0)e-jωn0X(ejω) 乘以nnx(n)jddωX(ejω) 乘以复指数ejω0nx(n)X(ej(ω-ω0)) 时域卷积x(n)y(n)X(ejω)Y(ejω) 时域相乘x(n)y(n)12π∫π-πX(ejθ)Y(ej(ω-θ))dθ 乘以sin(ω0n)x(n)sin(ω0n)j2[X(ej(ω+ω0))-X(ej(ω-ω0))] 乘以cos(ω0n)x(n)cos(ω0n)12[X(ej(ω+ω0))+X(ej(ω-ω0))] 共轭对称性 Re[x(n)]Xe(ejω) jIm[x(n)]Xo(ejω) 帕塞瓦尔定理∑∞n=-∞x(n)·y(n)12π∫π-πX(ejω)Y(ejω)dω 帕塞瓦尔定理特例∑∞n=-∞|x(n)|212π∫π-π|X(ejω)|2dω 【随堂练习】 设X(ejω)是x(n)的DTFT,试求下面序列的DTFT: ①x(n-n0); ②x(n); ③x(-n); ④x(n)*x(-n); ⑤nx(n); ⑥x(2n); ⑦x2(n); ⑧y(n)=xn2n为偶数 0n为奇数。 3.4周期序列的频谱 周期序列是在整个时域按固定间隔重复出现的信号。每个间隔中出现的采样点数称为时域离散信号的数字周期。由于序列在整个时域不断重复,不满足式(3.2)绝对可和的条件,因此DTFT不适合用来计算周期序列的频谱。用来计算周期序列频谱的工具为傅里叶级数,也称为离散傅里叶级数(Discrete Fourier Series,DFS),这个级数很重要,与后面要研究的离散傅里叶变换联系很密切。 表3.3列出了各类周期信号的傅里叶级数表示,从表中可以看出,每个周期信号可以表示为正弦或余弦之和的形式,利用欧拉公式,这些周期信号也可以表示为复指数之和的形式。设x~(n)是以N为周期的周期序列,可以展成离散傅里叶级数为: 表3.3周期序列的离散傅里叶级数 名称波形分解成的傅里叶级数 方形波 f(t)=4Aπsinωt+13sin3ωt+15sin5ωt+… 矩形脉冲 f(t)=AτT+2πsinωt2cosωt+12sinωtcos2ωt+13sin3ωt2cos3ωt+… 三角波 f(t)=8Aπ2sinωt-19sin3ωt+125sin5ωt-… 锯齿波 f(t)=A12-1πsinωt+12sin2ωt+13sin3ωt+… 全波整流波形 f(t)=4Aπ12-11×3cos2ωt-13×5cos4ωt-15×7cos6ωt-… 半波整流波形 f(t)=Aπ+A2sinωt-2Aπ11×3cos2ωt+13×5cos4ωt+15×7cos6ωt+… x~(n)=1N∑N-1k=0αkej2πNkn(3.37) 其中,n为采样点编号,标号k=0,1,…,N-1。傅里叶系数ak可由信号采样值x~(n)按式(3.38)求解得到: αk=∑N-1n=0x~(n)e-j2πNkn0≤k≤N-1(3.38) 系数ak的求解过程如下,将式(3.37)两边乘以e-j2πNmn,并对n在一个周期(0~N-1)中求和,即 ∑N-1n=0x~(n)e-j2πNmn=∑N-1n=01N∑N-1k=0αkej2πNkne-j2πNmn=1N∑N-1k=0αk∑N-1n=0ej2πN(k-m)n(3.39) 其中 ∑N-1n=0ej2πN(k-m)n=Nk=m 0k≠m(3.40) 因此,只有k=m时,αk∑N-1n=0ej2πN(k-m)n这一项才有非零值,即∑N-1n=0x~(n)e-j2πNmn=αm。 将m换成k,得 αk=∑N-1n=0x~(n)e-j2πNkn0≤k≤N-1(3.41) 其中,k和n均取整数。因为e-j2πN(k+lN)n=e-j2πNkn,l取整数,即e-j2πNkn是周期为N的周期函数。所以,系数αk也是周期序列,也只有N个主值,此后不断重复,满足αk=αk+lN。 由于x~(n)是周期信号,周期为N,求所有系数αk只需要N个采样值,用任意N个连续值即可,一般取n为0~N-1。 如果令X~(k)=αk,则式(3.37)和式(3.41)可重写如下: x~(n)=IDFS[X~(k)]=1N∑N-1k=0X~(k)ej2πNkn(3.42) X~(k)=DFS[x~(n)]=∑N-1n=0x~(n)e-j2πNkn(3.43) 其中,X~(k)也是以N为周期的周期序列,称为x~(n)的离散傅里叶级数的系数,用DFS表示。式(3.42)和式(3.43)称为DFS变换对。式(3.42)表明将周期序列分解成N次谐波,第k个谐波频率为ωk=2πNk,k=0,1,2,…,N-1,幅度为1NX~(k)。基波分量的频率是2πN,幅度是1NX~(1)。一个周期序列可以用其DFS系数X~(k)表示它的频谱分布规律。 由于系数ak通常为复数,也可用极坐标形式表示: αk=|αk|ejφk(3.44) 则式(3.37)变为: x~(n)=∑N-1k=0|αk|ejφkej2πNkn=∑N-1k=0|αk|ej2πNkn+φk(3.45) 这是周期序列傅里叶级数展开的另一种形式。其中|αk|含有幅度信息,而φk含有相位信息。 同时可以看出,标号k=0,1,…,N-1,k=0表示周期序列的直流成分,它是信号的平均值,k取其他值时,对应的频率称为周期信号的谐波。x~(n)的基波成分是e1(n)=α1ej2πNn,k次谐波成分为ek(n)=αkej2πNkn。因为ej2πN(k+N)n=ej2πNkn,所以,离散傅里叶级数中只有N个独立的谐波成分,展成离散傅里叶级数时,只能取k=0,1,…,N-1的N个独立的谐波分量。 从上面的分析可以看出,周期序列的频谱与非周期序列的频谱有很大的区别。由3.2节知道,DTFT产生连续频谱,这说明频谱在所有的频率处都有值,因此,非周期序列的幅度和相位频谱是光滑连续的曲线。而DFS仅在N个频率点上有值,因此,周期序列的幅度和相位频谱是离散的等间隔的竖线。 【例3.7】设x(n)=1n=0,1 0其他,将x(n)以N=4为周期进行周期延拓,得到如图3.7(a)所示的周期序列x~(n),周期为4,求DFS[x~(n)]。 解: X~(k)=DFS[x~(n)]=∑N-1n=0x~(n)e-j2πNkn =∑3n=0x~(n)e-j2π4kn =1+e-j2π4k =1+e-jπ2k =e-jπ4kejπ4k+e-jπ4k =2cosπ4ke-jπ4k 其幅度特性|X~(k)|如图3.7(b)所示,它也是一个以4为周期的离散序列。 图3.7例3.7图 在MATLAB中可以用矩阵矢量乘法实现高效的DFS计算。重写式(3.42): x~(n)=IDFS[X~(k)]=1N∑N-1k=0X~(k)ej2πNkn=1NW*NX~(k) X~(k)=DFS[x~(n)]=∑N-1n=0x~(n)e-j2πNkn=WNx~(n) 其中WN 为一矩阵,其形式为: WN=111…1 1ej2πN1·1ej2πN1·2…ej2πN1·(N-1) 1ej2πN2·1ej2πN2·2…ej2πN2·(N-1)  1ej2πN(N-1)·1ej2πN(N-1)·2…ej2πN(N-1)·(N-1) 则可由以下函数文件实现DFS: function [XK]=dfs(xn,N) n=[0:N-1] K=[0:N-1] W=exp(-j*2*pi/N) nk=n'*k WN=W.^nk XK=xn*WN 可由以下函数文件实现IDFS: function [xn]=idfs(XK,N) n=[0:N-1] K=[0:N-1] W1=exp(j*2*pi/N) nk=n'*k WN1=W1.^nk xn=XK*WN1 【例3.8】一周期序列由下式给出: x~(n)=1mN≤n≤mN+L-1 0mN+L≤n≤(m+1)N-1m=0,±1,±2,… 其中,N是基波周期,L/N 是占空比,首先用MATLAB画出当L=5,N=20 时此序列的3个周期,然后分别画出L=5,N=20; L=5,N=40; L=5,N=60 和L=7,N=60 的幅频图|X~(k)|。 解: 首先画出L=5,N=20时序列的3个周期,相关程序如下: L=5,N=20 n=-20:39 x=[ones(1,L),zeros(1,N-L),ones(1,L),zeros(1,N-L),ones(1,L),zeros(1,N-L)] stem(n,x,'k','lineWidth', 1.2) axis([-20 40 0 1.2]) 运行结果如图3.8所示。 图3.8周期序列L=5,N=20 接下来画出L=5,N=20; L=5,N=40; L=5,N=60 和L=7,N=60的幅频|X~(k)|,程序如下: clc clear L=5,N=20 k=[-N/2:N/2] xn=[ones(1,L),zeros(1,N-L)] XK=dfs(xn,N) magXK=abs([XK(N/2+1:N) XK(1:N/2+1)]) subplot(2,2,1) stem(k,magXK,'k','lineWidth', 2) axis([-N/2,N/2,-0.5,5.5]) xlabel('k','fontsize',18) ylabel('$|\tilde{X}(k)|$','interpreter','latex','fontsize',18) title('L=5,N=20','fontsize',18) hold on L=5,N=40 k=[-N/2:N/2] xn=[ones(1,L),zeros(1,N-L)] XK=dfs(xn,N) magXK=abs([XK(N/2+1:N) XK(1:N/2+1)]) subplot(2,2,2) stem(k,magXK,'k','lineWidth', 2) axis([-N/2,N/2,-0.5,5.5]) xlabel('k','fontsize',18) ylabel('$|\tilde{X}(k)|$','interpreter','latex','fontsize',18) title('L=5,N=40','fontsize',18) hold on L=5,N=60 k=[-N/2:N/2] xn=[ones(1,L),zeros(1,N-L)] XK=dfs(xn,N) magXK=abs([XK(N/2+1:N) XK(1:N/2+1)]) subplot(2,2,3) stem(k,magXK,'k','lineWidth', 2) axis([-N/2,N/2,-0.5,8]) xlabel('k','fontsize',18) ylabel('$|\tilde{X}(k)|$','interpreter','latex','fontsize',18) title('L=5,N=60','fontsize',18) hold on L=7,N=60 k=[-N/2:N/2] xn=[ones(1,L),zeros(1,N-L)] XK=dfs(xn,N) magXK=abs([XK(N/2+1:N) XK(1:N/2+1)]) subplot(2,2,4) stem(k,magXK,'k','lineWidth', 2) axis([-N/2,N/2,-0.5,8]) xlabel('k','fontsize',18) ylabel('$|\tilde{X}(k)|$','interpreter','latex','fontsize',18) title('L=7,N=60','fontsize',18) 画出图形如图3.9所示。 图3.9对于不同的N和L,周期序列的DFS图 由图3.9可知,这一周期序列的包络类似于sinc函数,在k=0时的幅度等于L,而函数的零点在N/L的整数倍点。 【随堂练习】 设x(n)=R4(n),将x(n)以N=8为周期进行周期延拓,形成周期序列x~(n),求x~(n)的离散傅里叶级数并用MATLAB程序画出其离散傅里叶级数的波形。 3.5序列的Z变换 在模拟信号与系统中,通常用傅里叶变换进行频域分析,而拉普拉斯变换则可看成是傅里叶变换的推广,对信号进行复频域分析。类似于模拟信号与系统,在时域离散信号与系统中,通常用序列的傅里叶变换进行频域分析,而Z变换便是其推广,用其对序列进行复频域分析。Z变换可以使数字信号和系统的描述更加紧凑,它可以简单有效地帮助我们求解线性差分方程,并使数字信号的计算更加容易。 3.5.1Z变换的定义 给定离散时间信号即序列x(n),其DTFT定义为: X(ejω)=∑∞n=-∞x(n)e-jωn(3.46) 注意X(ejω)通常情况下是数字频率变量ω的复值函数。 类似于将因子e-σt加到傅里叶变换中就得到了拉普拉斯变换,将因子r-n加到式(3.46)中,则有: X′(ejω)=∑∞n=-∞x(n)r-ne-jωn(3.47) 式(3.47)可改写为: X′(ejω)=∑∞n=-∞x(n)(rejω)-n(3.48) 令z=rejω,z是一个复变量,它所在的复平面称为Z平面。因此X′(ejω)可改写成z函数: X(z)=∑∞n=-∞x(n)z-n(3.49) 式(3.49)定义的函数X(z)就被称为序列x(n)的双边Z变换。x(n)的单边Z变换仍用X(z)来表示,定义为: X(z)=∑∞n=0x(n)z-n=x(0)+x(1)z-1+x(2)z-2+…(3.50) 由式(3.50)可知,单边Z变换是z-1的幂级数,其系数是序列x(n)的值。 注意,若x(n)=0,n=-1,-2,…,即序列x(n)是因果序列,用两种Z变换定义计算的结果是一样的。本书中除特别说明外,均用双边Z变换对信号进行分析和变换。 式(3.49)中Z变换存在的条件是等号右边级数收敛,要求级数绝对可和,即 ∑∞n=-∞|x(n)z-n|<∞(3.51) 使式(3.51)成立的z变量的所有取值的集合称为收敛域。一般收敛域为环状域,即 Rx-<|z|1,因此 X(z)=11-z-1|z|>1 X(z)表达式表明,极点是z=1,单位圆上的Z变换不存在,或者说收敛域不包含单位圆,因此其傅里叶变换不存在,不能用式(3.52)求其傅里叶变换。该例题说明一个序列的傅里叶变换不存在,但在一定收敛域内Z变换是可以存在的。 【随堂练习】 求下列序列的Z变换及其收敛域: ①x(n)=2-nu(n); ②x(n)=-2-nu(-n-1); ③x(n)=2-nu(-n); ④x(n)=δ(n); ⑤x(n)=δ(n-1); ⑥x(n)=2-n[u(n)-u(n-10)]。 3.5.2序列特性与收敛域的关系 序列的特性会影响其Z变换的收敛域,了解序列特性与收敛域的一般关系,有助于更好地使用Z变换。 1. 有限长序列 若序列x(n)满足下式: x(n)=x(n)n1≤n≤n2 0其他 即序列x(n)从n1到n2的序列值不全为零,此范围之外序列值为零,这样的序列称为有限长序列。其Z变换为 X(z)=∑n2n=n1x(n)z-n 设x(n)为有界序列,由于是有限项求和,除0与∞两点是否收敛与n1、n2取值情况有关外,整个Z平面均收敛。如果n1<0,则收敛域不包括∞点; 如果n2>0,则收敛域不包括z=0点; 如果是因果序列,收敛域包括z=∞点。具体有限长序列的收敛域表示如下: n1<0,n2≤0时,0≤|z|<∞ n1<0,n2>0时,0<|z|<∞ n1≥0,n2>0时,0<|z|<∞ 【例3.10】求x(n)=RN(n)的Z变换及其收敛域。 解: X(z)=∑∞n=-∞RN(n)z-n=∑N-1n=0z-n=1-z-N1-z-1 这是一个因果的有限长序列,因此收敛域为0<|z|≤∞。但由结果的分母可以看出,似乎z=1是X(z)的极点,但同时分子多项式在z=1时也有一个零点,极、零点对消,X(z)在单位圆上仍存在,求RN(n)的傅里叶变换,可将z=ejω代入X(z)得到,其结果和例3.1中的结果是相同的。 【随堂练习】 有没有序列Z变换的收敛域是全部Z平面,即0≤|z|≤∞? 2. 右边序列 右边序列是指在n≥n1时,序列值不全为零,而在n|a|。 3. 左边序列 左边序列是指在n≤n2时,序列值不全为零,而在n>n2时,序列值全为零的序列。左边序列的Z变换表示为: X(z)=∑n2n=-∞x(n)z-n 如果n2≤0,z=0点收敛,z=∞点不收敛,其收敛域是在某一圆(半径为Rx+)的圆内,收敛域为0≤|z|0,则收敛域为0<|z|Rx-,则其收敛域为Rx-<|z||a|。如果|a|<1,两部分的公共收敛域为|a|<|z|<|a|-1,其Z变换如下: X(z)=az1-az+11-az-1=1-a2(1-az)(1-az-1)|a|<|z|<|a|-1 如果|a|≥1,则无公共收敛域,因此X(z)不存在。当0|a|; 又例如在例3.12中,其极点为z=a,但x(n)是一个左序列,收敛域一定在某个圆内,即|z|<|a|。 序列的Z变换可以用MATLAB语言里的ztrans命令简单地实现,例3.14给出了求解序列Z 变换的MATLAB程序及运行结果。 【例3.14】用ztrans命令求下列序列的Z变换: (1) x(n)=12n+14nu(n); (2) x(n)=sin(an+b)u(n)。 解: MATLAB程序: syms n a b f1=0.5^n+0.25^n f2=sin(a*n+b) F1=ztrans(f1) F2=ztrans(f2) 运行结果: F1= z/(z - 1/2) + z/(z - 1/4) F2 =(z*cos(b)*sin(a))/(z^2 - 2*cos(a)*z + 1) + (z*sin(b)*(z - cos(a)))/(z^2 - 2*cos(a)*z + 1) 但是,收敛域还是需要手动求解。 【随堂练习】 求下列序列的Z变换及其收敛域,并与MATLAB程序实现的结果进行对比: ①x(n)=12n+34nu(n-10); ②x(n)=1-10≤n≤10 0其他; ③x(n)=2nu(-n)。 3.5.3逆Z变换(Z反变换) 已知序列的Z变换X(z)及其收敛域,求原序列x(n)的过程称为求逆Z变换。求解逆Z变换有多种方法,包括留数法、部分分式展开法和幂级数法(长除法)。因为幂级数法(长除法)一般很难得到闭合解,所以这里仅介绍留数法和部分分式展开法,重点是留数法。 1. 用留数定理求逆Z变换 序列的Z变换及其逆Z变换表示如下: X(z)=∑∞n=-∞x(n)z-nRx-<|z|2,这3种收敛域对应3种原序列。 (1) 当收敛域为|z|<0.5时, x(n)=12πj ∮cX(z)zn-1dz 令 F(z)=X(z)zn-1=5-7z-1(1-0.5z-1)(1-2z-1)zn-1 =5z-7(z-0.5)(z-2)zn 当n≥0时,c内无极点,x(n)=0; 当n≤-1时,c内有极点0,但z=0是一个n阶极点,改求c外极点留数,c外极点有z1=0.5,z2=2,那么 x(n)=-Res[F(z),0.5]-Res[F(z),2] =(5z-7)zn(z-0.5)(z-2)(z-0.5)|z=0.5-(5z-7)zn(z-0.5)(z-2)(z-2)|z=2 =-3·12n+2·2nu(-n-1) (2) 当收敛域为0.5<|z|<2时, F(z)=5z-7(z-0.5)(z-2)zn 当n≥0时,c内有极点0.5, x(n)=Res[F(z),0.5]=3·12n 当n<0时,c内有极点0.5,0,但0是一个n阶极点,改求c外极点留数,c外极点只有一个,即2,x(n)=-Res[F(z),2]=-2·2nu(-n-1)。 最后得到 x(n)=3·12nu(n)-2·2nu(-n-1) (3) 当收敛域为|z|>2时, F(z)=5z-7(z-0.5)(z-2)zn 当n≥0时,c内有极点0.5,2。 x(n)=Res[F(z),0.5]+Res[F(z),2] =(5z-7)zn(z-0.5)(z-2)(z-0.5)|z=0.5+(5z-7)zn(z-0.5)(z-2)(z-2)|z=2 =3·12n+2·2nu(n) 当n<0时,由收敛域判断,这是一个因果序列,因此x(n)=0。或者用另一种分析方法,c内有极点0.5,2,0,但0是一个n阶极点,改求c外极点留数,c外无极点,所以x(n)=0。 最后得到: x(n)=3·12n+2·2nu(n) 【随堂练习】 (1) 已知X(z)=(1-0.5z-1)-1,|z|>0.5,试用留数法,求其逆Z变换x(n)。 (2) 已知X(z)=1-a2(1-az)(1-az-1),|a|<1,试用留数法,求其逆Z变换x(n)。 2. 部分分式展开法 对于大多数单阶极点的序列,常常也用部分分式展开法求逆Z变换。 设x(n)的Z变换X(z)是有理函数,分母多项式是N阶,分子多项式是M阶,将X(z)展开成一些简单的常用的部分分式之和,通过查表(参考表3.4)求得各部分的逆变换,再相加便得到原序列x(n)。设X(z)只有N个一阶极点,可展成: X(z)=A0+∑Nm=1Amzz-zm(3.59) X(z)z=A0z+∑Nm=1Amz-zm(3.60) 观察式(3.60),X(z)/z在z=0的极点留数就是系数A0,在极点z=zm的留数就是系数Am。 A0=ResX(z)z,0(3.61) Am=ResX(z)z,zm(3.62) 求出系数Am(m=0,1,2,…,N)后,查表3.4可求得序列x(n)。 【例3.16】已知X(z)=5z-11+z-1-6z-2,2<|z|<3,求逆Z变换。 解: X(z)z=5z-21+z-1-6z-2=5z2+z-6=5(z-2)(z+3)=A1z-2+A2z+3 A1=ResX(z)z,2=X(z)z(z-2)|z=2=1 A2=ResX(z)z,-3=X(z)z(z+3)|z=-3=-1 X(z)z=1z-2-1z+3 X(z)=11-2z-1-11+3z-1 因为收敛域为2<|z|<3,第一部分极点是z=2,因此收敛域为2<|z|。第二部分极点是z=-3,因此收敛域应为|z|<3。查表3.4,得到: x(n)=2nu(n)+(-3)nu(-n-1) 注意: 在进行部分分式展开时,也用到求留数问题; 求各部分分式对应的原序列时,还要确定它的收敛域在哪里,因此一般情况下不如直接用留数法求方便。 例3.16可以用一个MATLAB函数residues来校核留数计算,首先将X(z)写成以z-1 升幂的函数: X(z)=5z-11+z-1-6z-2=0+5z-11+z-1-6z-2 ,分子和分母的系数矢量分别为: b=[0,5]; a=[1,1,-6],则运行下列程序: a=[1,1,-6] b=[0,5] [R,p,C]=residuez(b,a) 结果为: R = -1 1 p = -3 2 C = [] 其中,R为留数; P为极点位置; C为直接项。 一些常见序列的Z变换可参考表3.4。 表3.4常见序列的Z变换 序列Z变换收敛域 δ(n)1整体Z平面 u(n)11-z-1|z|>1 anu(n)11-az-1|z|>|a| RN(n)1-z-N1-z-1|z|>0 -anu(-n-1)11-az-1|z|<|a| nu(n)z-1(1-z-1)2|z|>1 nanu(n)az-1(1-az-1)2|z|>|a| ejω0nu(n)11-ejω0z-1|z|>1 sin(ω0n)u(n)z-1sinω01-2z-1cosω0+z-2|z|>1 cos(ω0n)u(n)1-z-1cosω01-2z-1cosω0+z-2|z|>1 【随堂练习】 (1) 已知X(z)=2-3z-11-3z-1+2z-2,试用部分分式法分别求: 收敛域为1<|z|<2对应的原序列x(n); 收敛域为|z|>2对应的原序列x(n)。 (2) 试用部分分式法,求下列X(z)的逆Z变换: ①X(z)=1-13z-11-14z-2|z|>12; ②X(z)=1-2z-11-14z-2|z|<12。 3.5.4Z变换的性质和定理 Z变换的性质和傅里叶变换的性质类似,但也有一些不同,可以进行对照学习。 1. 线性性质 设m(n)=ax(n)+by(n)a,b为常数,x(n)和y(n)的Z变换表示为: X(z)=ZT[x(n)]Rx-<|z|Rx->Ry+>Ry-时,则M(z)不存在。 2. 序列的移位性质 设 X(z)=ZT[x(n)]Rx-<|z||a| X(z)=ZT[u(n)]=11-z-1|z|>1 根据时域卷积定理有: Y(z)=H(z)X(z)=1(1-z-1)(1-az-1)|z|>1 求其逆Z变换,得到: y(n)=12πj ∮czn+1(z-1)(z-a)dz 由收敛域判定 y(n)=0n<0 n≥0时, y(n)=Res[Y(z)zn-1,1]+Res[Y(z)zn-1,a] =11-a+an+1a-1=1-an+11-a 最后将y(n)表示为 y(n)=1-an+11-au(n) 9. 复卷积定理 如果 X(z)=ZT[x(n)]Rx-<|z|1 那么 ∑∞n=-∞x(n)y(n)=12πj ∮cX(v)Y1vdvv(3.75) 其中,c是X(v)Y1v收敛域中任一条环绕原点的逆时针方向的闭合围线,v的收敛域为 maxRx-,1Ry+<|v|0.7。 为画出其零极点图,编写以下程序: b=[1,0] a=[1,-0.7] zplane(b,a) 运行结果为图3.17。以下程序用于画出|H(ejω)| 及∠H(ejω): b=[1,0] a=[1,-0.7] [H w]=freqz(b,a,100) magH=abs(H) phaH=angle(H) subplot(2,1,1) plot(w/pi,magH,) grid subplot(2,1,2) plot(w/pi,phaH) grid 所得图形如图3.18所示。 图3.17零极点图 图3.18幅度响应|H(ejω)| 及相位响应∠H(ejω) 【随堂练习】 若一个线性时不变系统的输入为x(n)=12nu(n)+2nu(-n-1),输出为y(n)=6·12nu(n)-6·34nu(n),求系统函数H(z),并判断系统是否稳定和因果。 3.7.3利用系统零极点分布分析系统的单位脉冲响应和 阶跃响应特性 由于滤波器的系统函数是描述滤波器特性的一个重要表现形式,H(z)的一般形式为: H(z)=Y(z)X(z)=∑Ml=0blz-l∑Ni=0aiz-i 因此,H(z)就可能存在零点和极点。其中极点(Pole)是系统函数分母为零时z的取值,零点(Zero)是系统函数分子为零时z的取值。极点对数字滤波器特性的影响最大,零点用来调整极点所引起的滤波器特性,调整的大小取决于零点与极点的相对位置。 为了更好地理解极点位置对系统特性的影响,此处不进行复杂的理论推导,通过研究一组二阶滤波器系统来发现规律。在此讨论6个系统函数: (1) H(z)=z-21+0.2z-1+0.01z-2; (2) H(z)=z-21+1.7z-1+0.7625z-2; (3) H(z)=z-21-1.7z-1+0.6z-2; (4) H(z)=z-21-1.6z-1+0.9425z-2; (5) H(z)=1-0.3z-11-1.6z-1+0.9425z-2; (6) H(z)=1-1.6z-1+0.8z-21-1.6z-1+0.9425z-2。 每个系统函数的形式相同,为了确定极点,将系统函数化为z的正幂级数形式: H(z)=z-21+αz-1+βz-2=1z2+αz+β(3.94) 单位脉冲响应和单位阶跃响应可由下列差分方程求解: y(n)=-αy(n-1)-βy(n-2)+x(n-2) 由于输入有两位时延,每个输出响应也有起始两位的时延。 用下面的MATLAB程序将以上各系统的单位脉冲响应、单位阶跃响应和零极点图画出,如图3.19所示(以下程序中使用系统(1) 中参数): %输入是脉冲信号 m1=[0,0,1]; m2=zeros(1,57); m=[m1,m2]; a=1;%分子的系数 b=[1,0.2,0.01];%分母的系数 h=filter(a,b,m); n=1:60; subplot(2,2,3) stem(n,h(n)) xlabel('n') ylabel('h(n)')%输入是阶跃序列时的输出 u1=[0,0,1]; u2=ones(1,57); u=[u1,u2]; s=filter(a,b,u); n=1:60; subplot(2,2,4) stem(n,s(n)) xlabel('n') ylabel('s(n)') %画零极点图 [z,p,k]=tf2zp(a,b)%求解零点、极点和增益值 subplot(2,2,1) zplane(a,b) title('(a) 极点: -0.1 ,-0.1') 图3.19零极点位置对系统响应的影响 图3.19(续) 图3.19(续) 从图3.19的结果可以看出,零极点的位置对系统响应的影响。图3.19(a)、图3.19(b)和图3.19(c) 对应的零点都在原点,极点的模值对系统趋于最终的稳态值所需的时间有很大影响,在图3.19(a)中,极点的模值为0.1,系统用了不到3个采样点就稳定了,而图3.19(b)和图3.19(e)中极点的模值靠近单位圆,因此输出稳定需很长时间。图3.19(c)中极点的模值超出了单位圆,则输出就不稳定,这与前面的讨论是一致的。图3.19(d)、图3.19(e)和图3.19(f)有相同的极点,零点的位置逐渐接近极点,这时脉冲响应的幅度逐渐减小。 3.8用几何方法研究零极点分布对系统频率响应的影响 将系统函数H(z)=Y(z)X(z)=∑Ml=0blz-l∑Ni=0aiz-i因式分解,得到: H(z)=A∏Mr=1(1-crz-1)∏Nr=1(1-drz-1)(3.95) 其中,A=b0a0,cr是H(z)的零点,dr是H(z)的极点。A参数影响频率响应函数的幅度大小。影响系统特性的是零点cr和极点dr的分布。下面采用几何方法研究不同零极点分布对系统频率响应特性的影响。 将式(3.95)的分子、分母同乘以zN+M,得到: H(z)=AzN-M∏Mr=1(z-cr)∏Nr=1(z-dr)(3.96) 设系统稳定,将z=ejω代入上式,得到频率响应函数 H(ejω)=Aejω(N-M)∏Mr=1(ejω-cr)∏Nr=1(ejω-dr)(3.97) 在Z平面上,ejω-cr用一根由零点cr指向单位圆上ejω点B的向量crB表示,同样,ejω-dr用一根由极点dr指向单位圆上ejω点B的向量drB表示,如图3.20所示,即crB和drB分别称为零点向量和极点向量,将它们用极坐标表示: crB=ρr·ejαr drB=lr·ejβr 将crB和drB表示式代入式(3.97),得到: H(ejω)=Aejω(N-M)∏Mr=1crB∏Nr=1drB=|H(ejω)|ejφ(ω)(3.98) |H(ejω)|=|A|∏Mr=1ρr∏Nr=1lr(3.99) φ(ω)=ω(N-M)+∑Mr=1αr-∑Nr=1βr(3.100) 系统的频率响应特性由式(3.99)和式(3.100)确定。当频率ω从0变化到2π时,这些向量的终点B沿单位圆逆时针旋转一周,按照式(3.99)和式(3.100),分别估算出系统的幅频特性和相频特性。例如图3.20表示了具有一个零点和两个极点的频率特性。 图3.20频率响应的几何表示法 按照式(3.99),知道零极点的分布后,可以很容易地确定零极点位置对系统特性的影响。当B点转到极点附近时,极点向量长度最短,因而幅度特性可能出现峰值,且极点越靠近单位圆,极点向量长度越短,峰值越高越尖锐。如果极点在单位圆上,则幅度特性为∞,系统不稳定。对于零点,情况正好相反,当B点转到零点附近时,零点向量长度最短,因而幅度特性可能出现谷值,且零点越靠近单位圆,零点向量长度越短,谷值越接近零。如果零点在单位圆上,则幅度特性为零。综上所述,极点位置主要影响频响的峰值位置及尖锐程度,零点位置主要影响频响的谷点位置及形状。 这种通过零极点位置分布分析系统频率响应特性的几何方法提供了一个直观的概念,对于分析和设计系统是十分有用的。 【例3.24】设线性时不变系统的系统函数为H(z)=1-a-1z-11-az-1,a为实数。 (1) 在Z平面上用几何方法证明该系统是全通网络(即系统频率响应的幅度在所有频率ω处皆为常数),|H(ejω)|=常数; (2) 参数a如何取值,才能使系统因果稳定?画出极点、零点分布与收敛域。 解: (1) H(z)=1-a-1z-11-az-1=z-a-1z-a,极点z=a,零点z=a-1,|H(ejω)|=ejω-a-1ejω-a,z=ejω,单位圆中OA=1,如图3.21所示。 设a=0.6 |H(ejω)|=ABAC 在△AOC和△BOA中,∠AOC=∠BOA AOOC=1a; BOOA=1a ∴△AOC∽△BOA,|H(ejω)|=ABAC=1a为常数。 ∴H(z)是全通网络。 (2) 当|a|<1,才能使收敛域包含单位圆,如图3.22所示。设a=0.6,极点: z=0.6; 零点: z=10.6=1.66; 收敛域: |z|>0.6。 图3.21几何方法图 图3.22系统的零极点图 【随堂练习】 (1) 已知H(z)=z-1,分析其频率特性。 (2) 设一阶系统的差分方程为: y(n)=by(n-1)+x(n) 用几何法分析其幅度特性。 习题 1. 写出下列序列的DTFT的表达式: (1) x1(n)=δ(n)-δ(n-1)+δ(n-2); 图3.23习题2图 (2) x2(n)=e-j0.1n[u(n)-u(n-4)]; (3) x3(n)=δ(n)+0.5δ(n-1)+0.25δ(n-2)。 2. 设图3.23所示的序列x(n) 的DTFT用X(ejω)表示,不直接求出,完成下列运算或工作: (1) X(ej0); (2) ∫π-πX(ejω)dω; (3) X(ejπ); (4) ∫π-π|X(ejω)|2dω; (5) ∫π-πdX(ejω)dω2dω。 3. 设x(n)=R3(n),试求x(n)的共轭对称序列xe(n)和共轭反对称序列xo(n),并分别用图表示。 4. 已知x(n)=0.5nu(n),分别求出其偶函数xe(n)和奇函数xo(n)的傅里叶变换。 5. 若序列x(n)是实因果序列,x(0)=1,其傅里叶变换的虚部为 XI(ejω)=sinω 求序列x(n)及其傅里叶变换X(ejω)。 6. 求下列序列的Z变换: (1) x1(n)=3sinπ5nu(n); (2) x2(n)=0.5nu(n); (3) x3(n)=2e-j0.2ncosπ7nu(n)。 7. 求下列X(z)的逆Z变换: (1) X(z)=zz+0.12|z|>0.12 (2) X(z)=51-z-1|z|<1 (3) X(z)=4z2(z-0.5)|z|>12 (4) X(z)=2z-1z-0.9|z|<0.9 (5) X(z)=1(z-0.2)(z+0.4)|z|>0.4 (6) X(z)=1z(z+0.2)(z-1)|z|>1 8. 由滤波器的单位脉冲响应h(n)=2δ(n)-1.5δ(n-1)+δ(n-2)+0.5δ(n-3),求系统函数和差分方程。 9. 两个滤波器级联,它们的单位脉冲响应分别为h1(n)=0.2n[u(n)-u(n-3)]和h2(n)=-3n[u(n)-u(n-4)],用Z变换求级联系统的单位脉冲响应。 10. 滤波器的系统函数如下式,试求其频率响应表达式: (1) H(z)=11-1.1z-1+0.4z-2; (2) H(z)=z-0.7z2-0.5z+0.3。 11. 滤波器的差分方程为: y(n)+0.8y(n-1)-0.9y(n-2)=x(n-2) 判断滤波器的稳定性。 12. 滤波器的传输函数为 H(z)=21-0.4z-1 (1) 确定滤波器的差分方程; (2) 找出零点和极点,判断其稳定性; (3) 求解并画出单位脉冲响应。 13. 数字滤波器的传输函数为: H(z)=z-0.2z2(z-0.7) (1) 系统是否稳定? (2) 如果输入x(n)=0.9nu(n),求输出y(n)。 14. 如图3.24所示的两个线性时不变系统的单位脉冲响应分别为h1(n)和h2(n),已知系统h1(n)的输出满足差分方程x(n)=s(n)-e-8αs(n-8),其中α>0。 图3.24习题14图 (1) 求H1(z)的系统函数H1(z),画出零极点图并说明收敛域。 (2) 设系统h2(n)的输出为y(n)=s(n),求h2(n)的系统函数H2(z)及其收敛域,并说明系统是否稳定和因果。 (3) 求能够使输出为y(n)=s(n)的稳定的h2(n)的一般表达式。