数字信号处理第四版(高西全)第1章.ppt
第1章 时域离散信号和时域离散系统,1.1引言 1.2时域离散信号1.3时域离散系统1.4时域离散系统的输入输出描述法线性常系数差分方程1.5模拟信号数字处理方法习题与上机题,1.1引言信号通常是一个自变量或几个自变量的函数。如果仅有一个自变量,则称为一维信号;如果有两个以上的自变量,则称为多维信号。本书仅研究一维数字信号处理的理论与技术。物理信号的自变量有多种,可以是时间、距离、温度、位置等,本书一般把信号看做时间的函数。针对信号的自变量和函数值的取值情况,信号可分为以下三种。,如果信号的自变量和函数值都取连续值,则称这种信号为模拟信号或者称为时域连续信号,例如语言信号、温度信号等;如果自变量取离散值,而函数值取连续值,则称这种信号称为时域离散信号,这种信号通常来源于对模拟信号的采样;如果信号的自变量和函数值均取离散值,则称为数字信号。我们知道,计算机或者专用数字信号处理芯片的位数是有限的,用它们分析与处理信号,信号的函数值必须用有限位的二进制编码表示,这样信号本身的取值不再是连续的,而是离散值。这种用有限位二进制编码表示的时域离散信号就是数字信号,因此,数字信号是幅度量化了的时域离散信号。,例如:,这是一个模拟信号,如果对它按照时间采样间隔T=0.005s进行等间隔采样,便得到时域离散信号x(n),即=,0.0,0.6364,0.9,0.6364,0.0,-0.6364,0.9,-0.6364,显然,时域离散信号是时间离散化的模拟信号。,如果用四位二进制数表示该时域离散信号,便得到相应的数字信号xn,即xn=,0.000,0.101,0.111,0.101,0.000,1.101,1.111,1.101,显然,数字信号是幅度、时间均离散化的模拟信号,或者说是幅度离散化的时域离散信号。信号有模拟信号、时域离散信号和数字信号之分,按照系统的输入输出信号的类型,系统也分为模拟系统、时域离散系统和数字系统。当然,也存在模拟网络和数字网络构成的混合系统。,数字信号处理最终要处理的是数字信号,但为简单,在理论研究中一般研究时域离散信号和系统。时域离散信号和数字信号之间的差别,仅在于数字信号存在量化误差,本书将在第9章中专门分析实现中的量化误差问题。本章作为全书的基础,主要学习时域离散信号的表示方法和典型信号、时域离散线性时不变系统的时域分析方法,最后介绍模拟信号数字处理方法。,这里,x(n)称为时域离散信号,式中的n取整数,将 代入上式,得到:显然,x(n)是一个有序的数字,因此时域离散信号也可以称为序列。注意这里n取整数,非整数时无定义。时域离散信号有三种表示方法:,1.用集合符号表示序列数的集合用集合符号表示。时域离散信号是一个有序的数的集合,可表示成集合:x(n)=xn,n=,2,1,0,1,2,例如,一个有限长序列可表示为x(n)=1,2,3,4,3,2,1;n=0,1,2,3,4,5,6也可简单地表示为x(n)1,2,3,4,3,2,1集合中有下划线的元素表示n=0时刻的采样值。,2.用公式表示序列例如:x(n)=a|n|0a1,n3 用图形表示序列例如,时域离散信号x(n)=sin(n/5),n=5,4,0,4,5,图1.2.1就是它的图形表示。这是一种很直观的表示方法。为了醒目,常常在每一条竖线的顶端加一个小黑点。,图x(n)=sin(n/5)的波形图,实际中要根据具体情况灵活运用三种表示方法,对于一般序列,包括由实际信号采样得下面介绍用MATLAB语言表示序列。MATLAB用两个参数向量x和n表示有限长序列x(n),x是x(n)的样值向量,n是位置向量(相当于图形表示方法中的横坐标n),n与x长度相等,向量n的第m个元素n(m)表示样值x(m)的位置。位置向量n一般都是单位增向量,产生语句为:n=ns:nf;其中ns表示序列x(n)的起始点,nf表示序列x(n)的终止点。这样将有限长序列x(n)记为x(n);n=ns:nf。,例如,x(n)0.0000,0.5878,0.9511,0.9511,0.5878,0.0000,0.5878,0.9511,0.9511,0.5878,0.0000,相应的 n=5,4,3,5,所以序列x(n)的MATLAB表示如下:n=5:5;x=0.0000,0.5878,0.9511,0.9511,0.5878,0.0000,0.5878,0.9511,0.9511,0.5878,0.0000,这里x(n)的11个样值是正弦序列的采样值,即x(n)=sin(n/5)n=5,4,0,4,5所以,也可以用计算的方法产生序列向量:n=5:5;x=sin(pi*n/5);,这样用MATLAB计算产生x(n)并绘图的程序如下:%fig121.m:sin(pi*n/5)信号产生及图绘图程序n=5:5;%位置向量n从5到5x=sin(pi*n/5);%计算序列向量x(n)的11个样值subplot(3,2,1);stem(n,x,.);line(5,6,0,0)axis(5,6,1.2,1.2);xlabel(n);ylabel(x(n)运行程序输出波形如图所示。,图单位采样序列和单位冲激信号,图单位阶跃序列,图矩形序列,4 实指数序列x(n)=anu(n)a为实数如果|a|1,则称为发散序列。其波形如图所示。,图实指数序列,5 正弦序列式中,称为正弦序列的数字域频率(也称数字频率),单位是弧度(rad),它表示序列变化的速率,或者说表示相邻两个序列值之间变化的弧度数。如果正弦序列是由模拟信号xa(t)采样得到的,那么,6 复指数序列复指数序列用下式表示:式中,0为数字域频率。设=0,用极坐标和实部虚部表示如下式:,图正弦序列,具体正弦序列有以下三种情况:(1)当2/0为整数时,k=1,正弦序列是以2/0为周期的周期序列。例如,该正弦序列周期为16。,(2)2/0不是整数,是一个有理数时,设2/0=P/Q,式中P、Q是互为素数的整数,取k=Q,那么N=P,则该正弦序列是以P为周期的周期序列。例如,sin(4n/5),2/0=5/2,k=2,该正弦序列是以5为周期的周期序列。(3)2/0是无理数,任何整数k都不能使N为正整数,因此,此时的正弦序列不是周期序列。例如,0=1/4,sin(0n)即不是周期序列。对于复数指数序列的周期性也有和上面同样的分析结果。,图用单位采样序列移位加权和表示序列,序列的运算序列的简单运算有加法、乘法、移位、翻转及尺度变换。1 加法和乘法序列之间的加法和乘法,是指它的同序号的序列值逐项对应相加和相乘,如图所示。,图序列的加法和乘法,2 移位、翻转及尺度变换序列x(n)如图1.2.9(a)所示,其移位序列x(nn0)(当n0=2时)如图1.2.9(b)所示。当n00时,称为x(n)的延时序列;当n00时,称为x(n)的超前序列。x(n)则是x(n)的翻转序列,如图1.2.9(c)所示。x(mn)是x(n)序列每隔m点取一点形成的序列,相当于n轴的尺度变换。当m=2时,其波形如图1.2.9(d)所示。,图序列的移位、翻转和尺度变换,图1.3.1时域离散系统,1.3.1线性系统系统的输入、输出之间满足线性叠加原理的系统称为线性系统。设x1(n)和x2(n)分别作为系统的输入序列,其输出分别用y1(n)和y2(n)表示,即,线性时不变系统:同时满足线性和时不变特性的系统称为时域离散线性时不变系统。时域离散系统的零输入响应、零状态响应和完全响应:设n0为初始观察时刻,则可将系统的输入分为两部分,称n0以前的输入为历史输入信号,称n0及n0以后的输入为当前输入信号(简称输入信号)。仅由n0时刻的初始状态或历史输入信号引起的响应称为零输入响应;仅由当前输入信号引起的响应称为零状态响应;将零输入响应与零状态响应之和称为系统的完全响应。,1)图解法观察(1.3.7)式,计算卷积的基本运算是翻转、移位、相乘和相加,这类卷积称为序列的线性卷积。如果两个序列的长度分别为N和M,那么卷积结果的长度为NM1。下面用例题说明如何用图解法求卷积。【例1.3.4】已知x(n)=R4(n),h(n)=R4(n),求y(n)=x(n)*h(n)。解,首先将h(n)用h(m)表示,并将波形翻转,得到h(m),如图(c)所示。然后将h(m)移位n,得到h(nm),n0,序列右移;n0,序列左移。如n=1,得到h(1-m),如图(d)所示。接着将h(m)和h(nm)相乘后,再相加,得到y(n)的一个值。对所有的n重复这种计算,最后得到卷积结果,如图1.3.2(f)所示,y(n)表达式为y(n)=1,2,3,4,3,2,1 其实这种图解法可以用列表法代替,上面的图解过程如表所示。,图例线性卷积,表图解法(列表法),2)解析法如果已知两个卷积信号的解析表达式,则可以直接按照卷积式进行计算,下面举例说明。【例1.3.5】设x(n)=an(n),h(n)=R4(n),求y(n)=x(n)*h(n)。解,要计算上式,关键是根据求和号内的两个信号乘积的非零值区间确定求和的上、下限。因为nm时,u(n-m)才能取非零值;0m3时,R4(m)取非零值,所以,求和区间中m要同时满足下面两式:mn0m3这样求和限与n有关系,必须将n进行分段然后计算。,写成统一表达式为,3)用MATLAB计算两个有限长序列的卷积MATLAB 信号处理工具箱提供了conv 函数,该函数用于计算两个有限长序列的卷积(或计算两个多项式相乘)。C=conv(A,B)计算两个有限长序列向量A和B的卷积。如果向量A和B的长度分别为N和M,则卷积结果向量C的长度为NM1。如果向量A和B为两个多项式的系数,则C就是这两个多项式乘积的系数。应当注意,conv函数默认A和B表示的两个序列都是从0开始,所以不需要位置向量。,当然,默认卷积结果序列C也是从0开始,即卷积结果也不提供特殊的位置信息。例中的两个序列满足上述条件,直接调用conv函数求解例的卷积计算程序ep134.m如下:%ep134.m:例的卷积计算程序xn=1 1 1 1;hn=1 1 1 1;yn=conv(xn,hn);运行结果:yn=1,2,3,4,3,2,1,显然,当两个序列不是从0开始时,必须对conv函数稍加扩展。设两个位置向量已知的序列:x(n);nx=nxs:nxf,h(n);nh=nhs:nhf,要求计算卷积:y(n)=h(n)*x(n)以及y(n)的位置向量ny。下面编写计算这种卷积的通用卷积函数convu。,根据卷积原理知道,y(n)的起始点和终止点分别为:nys=nhs+nxs,nyf=nhf+nxf。调用conv函数写出通用卷积函数convu如下:function y,ny=convu(h,nh,x,nx)%convu 通用卷积函数,y为卷积结果序列向量,%ny是y的位置向量,h和x是有限长序列,%nh和nx分别是h和x的位置向量nys=nh(1)+nx(1);nyf=nh(end)+nx(end);%end表示最后一个元素的下标y=conv(h,x);ny=nys:nyf;,如果h(n)=x(n)=R5(N+2),则调用convu函数计算y(n)=h(n)*x(n)的程序如下:h=ones(1,5);nh=2:2;x=h;nx=nh;y,ny=convu(h,nh,x,nx)运行结果:y=1 2 3 4 5 4 3 2 1ny=4 3 2 1 0 1 2 3 4,以上三个性质请读者自己证明。()式表示卷积服从交换律。()和()式分别表示卷积的结合律和分配律。设h1(n)和h2(n)分别是两个系统的单位脉冲响应,x(n)表示输入序列。按照()式的右端,信号通过h1(n)系统后再通过h2(n)系统,等效于按照()式左端,信号通过一个系统,该系统的单位脉冲响应为h1(n)*h2(n),如图1.3.3(a)、(b)所示。,该式还表明两系统级联,其等效系统的单位脉冲响应等于两系统分别的单位脉冲响应的卷积。按照()式,信号同时通过两个系统后相加,等效于信号通过一个系统,该系统的单位脉冲响应等于两个系统分别的单位脉冲响应之和,如图1.3.3(c)、(d)所示。换句话说,系统并联的等效系统的单位脉冲响应等于两个系统分别的单位脉冲响应之和。,图卷积的结合律和分配律,需要再次说明的是,关于系统级联、并联的等效系统的单位脉冲响应与原来两系统分别的单位脉冲响应的关系,是基于线性卷积的性质,而线性卷积是基于线性时不变系统满足线性叠加原理。因此,对于非线性或者非时不变系统,这些结论是不成立的。,图例框图,解先求第一级的输出m(n),再求y(n)。,系统的因果性和稳定性 一般因果系统定义:如果系统n时刻的输出只取决于n时刻以及n时刻以前的输入序列,而和n时刻以后的输入序列无关,则称该系统具有因果性质,或称该系统为因果系统。如果n时刻的输出还取决于n时刻以后的输入序列,在时间上违背了因果性,系统无法实现,则系统被称为非因果系统。因此系统的因果性是指系统的可实现性。,下面用反证法证明其必要性。如果h(n)不满足(1.3.14)式,即,那么总可以找到一个或若干个有界的输入来引起无界的输出,例如:,【例1.3.7】设线性时不变系统的差分方程为 试分析该系统的因果稳定性。解:因为y(n)只与x(n)有关,与n 时刻以后的输入无关,所以,根据一般因果系统的定义,该系统是因果系统。如果|x(n)|A,则,所以,根据一般稳定系统定义,该系统是稳定系统。值得注意:如果不加判断,直接利用线性时不变系统因果稳定性的充分必要条件求证,就会得出如下错误的结论:,令x(n)=(n),代入系统差分方程得到,当n0时,h(n)=10,由此得出结论,该系统是非因果系统。又因为,所以,该系统是不稳定系统。之所以得出错误结论,是因为线性时不变系统因果稳定性的充分必要条件只适用于线性时不变系统。但对该系统 显然是非线性系统,不能用线性时不变系统因果稳定性的充分必要条件求证。此例说明,应用性质和定理时,一定要注意其适用范围。,【例1.3.8】设线性时不变系统的单位系统脉冲响应h(n)=anu(n),式中a是实常数,试分析该系统的因果稳定性。解由于n0时,h(n)=0,因此系统是因果系统。,根据以上介绍的稳定概念,可以检查系统是否稳定,系统单位脉冲响应是否满足绝对可和的条件。实际中,如何用实验信号测定系统是否稳定是一个重要问题,显然,不可能对所有有界输入都检查是否得到有界输出。可以证明19,只要用单位阶跃序列作为输入信号,如果输出趋于常数(包括零),则系统一定稳定,否则系统不稳定。不必要对所有有界输入都进行实验。,1.4时域离散系统的输入输出描述法线性常系数差分方程描述一个系统时,可以不管系统内部的结构如何,将系统看成一个黑盒子,只描述或者研究系统输出和输入之间的关系,这种方法称为输入输出描述法。对于模拟系统,我们知道由微分方程描述系统输出输入之间的关系。对于时域离散系统,则用差分方程描述或研究输出输入之间的关系。对于线性时不变系统,经常用的是线性常系数差分方程。本节主要介绍这类差分方程及其解法。,线性常系数差分方程的求解已知系统的输入序列,通过求解差分方程可以求出输出序列。求解差分方程的基本方法有以下三种:(1)经典解法。这种方法类似于模拟系统中求解微分方程的方法,它包括齐次解与特解,由边界条件求待定系数,较麻烦,实际中很少采用。,(2)递推解法。这种方法简单,且适合用计算机求解,但只能得到数值解,对于阶次较高的线性常系数差分方程不容易得到封闭式(公式)解答。(3)变换域方法。这种方法是将差分方程变换到z域进行求解,方法简便有效,这部分内容放在第2章学习。,当然还可以不直接求解差分方程,而是先由差分方程求出系统的单位脉冲响应,再与已知的输入序列进行卷积运算,得到系统的输出。但是系统的单位脉冲响应如果不是预先知道,仍然需要求解差分方程,求其零状态响应解。本节只介绍递推法,其中包括如何用MATLAB求解差分方程。,观察()式,求n时刻的输出,要知道n时刻以及n时刻以前的输入序列值,还要知道n时刻以前的N个输出信号值。因此求解差分方程在给定输入序列的条件下,还需要确定N个初始条件。以上介绍的三种基本解法都只能在已知N个初始条件的情况下,才能得到唯一解。如果求n0时刻以后的输出,n0时刻以前的N个输出值y(n01)、y(n02)、y(n0N)就构成了初始条件。,()式表明,已知输入序列和N个初始条件,则可以求出n时刻的输出;如果将该公式中的n用n+1代替,可以求出n+1时刻的输出,因此()式表示的差分方程本身就是一个适合递推法求解的方程。,【例】设系统用差分方程y(n)=ay(n1)+x(n)描述,输入序列x(n)=(n),求输出序列y(n)。解该系统差分方程是一阶差分方程,需要一个初始条件。,(1)设初始条件:,(2)设初始条件:,该例表明,对于同一个差分方程和同一个输入信号,因为初始条件不同,得到的输出信号是不相同的。对于实际系统,用递推解法求解,总是由初始条件向n0的方向递推,是一个因果解。但对于差分方程,其本身也可以向n0的方向递推,得到的是非因果解。因此差分方程本身不能确定该系统是因果系统还是非因果系统,还需要用初始条件进行限制。下面就是向方向n0递推的例题。,最后要说明的是,一个线性常系数差分方程描述的系统不一定是线性非时变系统,这和系统的初始状态有关。如果系统是因果的,一般在输入x(n)=0(nn0)时,则输出y(n)=0(nn0),系统是线性非时变系统。下面介绍用MATLAB求解差分方程。,MATLAB 信号处理工具箱提供的filter函数实现线性常系数差分方程的递推求解,调用格式如下:yn=filter(B,A.xn)计算系统对输入信号向量xn的零状态响应输出信号向量yn,yn与xn长度相等,其中,B和A是(1.4.2)式所给差分方程的系数向量,即 B=b0,b1,bM,A=a0,a1,aN其中a0=1,如果a01,则filter用a0对系数向量B和A归一化。,yn=filter(B,A.xn,xi)计算系统对输入信号向量xn的全响应输出信号yn。所谓全响应,就是由初始状态引起的零输入响应和由输入信号xn引起的零状态响应之和(在 2.4.3 节介绍)。其中,xi是等效初始条件的输入序列,所以xi是由初始条件确定的。MATLAB信号处理工具箱提供的filtic就是由初始条件计算xi的函数,其调用格式如下:xi=filtic(B,A,ys,xs)其中,ys和xs是初始条件向量:ys=y(1),y(2),y(3),y(N),xs=x(1),x(2),x(3),x(M)。如果xn是因果序列,则xs=0,调用时可缺省xs。,例的MATLAB求解程序ep141.m如下:%ep141.m:调用filter解差分方程y(n)ay(n1)=x(n)a=0.8;ys=1;%设差分方程系数a=0.8,%初始状态:y(1)=1xn=1,zeros(1,30);%x(n)=单位脉冲序列,长度N=31B=1;A=1,-a;%差分方程系数xi=filtic(B,A,ys);%由初始条件计算等效初始条件的输入序列xi,yn=filter(B,A,xn,xi);%调用filter解差分方程,求系统输出信号y(n)n=0:length(yn)-1;subplot(3,2,1);stem(n,yn,.)title(a);xlabel(n);ylabel(y(n),程序中取差分方程系数a=0.8时,得到系统输出y(n)如图(a)所示,与例的解析递推结果完全相同。如果令初始条件y(1)=0(仅修改程序中ys=0),则得到系统输出y(n)=h(n),如图(b)所示。,图例求解程序输出波形,1.5模拟信号数字处理方法在绪论中已介绍了数字信号处理技术相对于模拟信号处理技术的许多优点,因此人们往往希望将模拟信号经过采样和量化编码形成数字信号,再采用数字信号处理技术进行处理;处理完毕,如果需要,再转换成模拟信号。这种处理方法称为模拟信号数字处理方法。其原理框图如图所示。图中的预滤与平滑所起的作用在后面介绍。本节主要介绍采样定理和采样恢复。,图模拟信号数字处理框图,1.5.1采样定理及A/D变换器对模拟信号进行采样可以看做一个模拟信号通过一个电子开关S。设电子开关每隔周期T合上一次,每次合上的时间为T,在电子开关输出端得到其采样信号。该电子开关的作用等效成一宽度为,周期为T的矩形脉冲串pT(t),采样信号 就是xa(t)与pT(t)相乘的结果。采样过程如图1.5.2(a)所示。如果让电子开关合上时间0,则形成理想采样,此时上面的脉冲串变成单位冲激串,用p(t)表示。p+(t)中每个单位冲激处在采样点上,强度为1,理想采样则是xa(t)与p(t)相乘的结果,采样过程如图1.5.2(b)所示。用公式表示为,图对模拟信号进行采样,下面研究理想采样前后信号频谱的变化,从而找出为了使采样信号能不失真地恢复原模拟信号,采样速率Fs(Fs=T1)与模拟信号最高频率fc之间的关系。我们知道在傅里叶变换中,两信号在时域相乘的傅里叶变换等于两个信号分别的傅里叶变换的卷积,按照()式,推导如下:,(1.5.5),上式表明理想采样信号的频谱是原模拟信号的频谱沿频率轴,每间隔采样角频率s重复出现一次,或者说理想采样信号的频谱是原模拟信号的频谱以s为周期,进行周期性延拓而成的。,在图中,设xa(t)是带限信号,最高频率为c,其频谱Xa(j)如图1.5.3(a)所示。p(t)的频谱P(j)如图1.5.3(b)所示,那么按照()式,的频谱如图 1.5.3(c)所示,图中原模拟信号的频谱称为基带频谱。如果满足s2c,或者用频率表示该式,即满足Fs2fc,基带谱与其它周期延拓形成的谱不重叠,如图1.5.3(c)所示情况,可以用理想低通滤波器G(j)从采样信号中不失真地提取原模拟信号,如图所示。,但如果选择采样频率太低,或者说信号最高截止频率过高,使Fs2fc,Xa(j)按照采样频率Fs周期延拓时,形成频谱混叠现象,用图1.5.3(d)表示。这种情况下,再用图 1.5.4 所示的理想低通滤波器对Xa(t)进行滤波,得到的是失真了的模拟信号。下面用公式表示:,(1.5.6),这里需要说明的是,一般频谱函数是复函数,相加应是复数相加,图和图仅是示意图。一般称Fs/2为折叠频率,只有当信号最高频率不超过Fs/2时,才不会产生频率混叠现象,否则超过Fs/2的频谱会折叠回来而形成混叠现象,因此频率混叠在Fs/2附近最严重。,图采样信号的频谱,图采样恢复,总结上述内容,采样定理叙述如下:(1)对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率s为周期进行周期性的延拓形成的,用公式(1.5.5)表示。(2)设连续信号xa(t)属带限信号,最高截止频率为c,如果采样角频率s2c,那么让采样信号通过一个增益为T、截止频率为s/2的理想低通滤波器,可以唯一地恢复出原连续信号xa(t)。否则,s2c会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。,实际中对模拟信号进行采样,需根据模拟信号的截止频率,按照采样定理的要求选择采样频率,即s2c,但考虑到理想滤波器G(j)不可实现,要有一定的过渡带,为此可选s=(34)c。另外,可以在采样之前加一抗混叠的低通滤波器,滤去高于s/2的一些无用的高频分量,以及滤除其它的一些杂散信号。这就是在图中采样之前加预滤的原因。,上面我们通过对模拟信号进行理想采样分析推导出采样定理。采样定理表示的是采样信号的频谱与原模拟信号xa(t)的频谱之间的关系,以及由采样信号不失真地恢复原模拟信号的条件。要进一步说明的是,采样信号用(1.5.2)式表示,它是用一串延时的单位冲激加权和表示的。按照该式,在t=nT时,即在每个采样点上,采样信号的强度(幅度)准确地等于对模拟信号的采样值xa(nT),而在tnT非采样点上采样信号的幅度为零。时域离散信号(序列)x(n)只有在n为整数时才有定义,否则无定义,因此采样信号和时域离散信号不相同。,但如果序列是通过对模拟信号采样得到的,即x(n)=xa(nT),序列值等于采样信号在t=nT时的幅度,在第2章将通过分析时域离散信号的频谱,得到此时序列的频谱依然是模拟信号频谱的周期延拓,因此由模拟信号通过采样得到序列时,依然要服从采样定理,否则一样也会产生频谱混叠现象。,将模拟信号转换成数字信号由模/数转换器(Analog/Digital Converter,A/DC)完成,模/数转换器的原理框图如图所示。通过按等间隔T对模拟信号进行采样,得到一串采样点上的样本数据,这一串样本数据可看做时域离散信号(序列)。设A/DC有M位,那么用M位二进制数表示这一串样本数据,即形成数字信号。因此,采样以后到形成数字信号的这一过程是一个量化编码的过程。例如:模拟信号xa(t)=sin(2ft+/8),式中f=50 Hz,选采样频率Fs=200 Hz,将t=nT代入xa(t)中,得到采样数据:,图模/数转换器原理框图,当时,得到序列x(n)如下:x(n)=,0.382 683,0.923 879,0.382 683,0.923 879,如果A/DC按照M=6进行量化编码,即上面的采样数据均用6位二进制码表示,其中一位为符号位,则数字信号用表示:=,0.01100,0.11101,1.01100,1.11101,用十进制数表示的 为=,0.375 00,0.906 25,-0.375 00,-0.906 25,显然量化编码以后的 和原x(n)不同。这样产生的误差称为量化误差,这种量化误差的影响称为量化效应,这部分内容将在第9章介绍。,1.5.2将数字信号转换成模拟信号我们已经知道模拟信号xa(t)经过理想采样,得到采样信号,xa(t)和之间的关系用(1.5.2)式描述。如果选择采样频率Fs满足采样定理,的频谱没有频谱混叠现象,可用一个传输函数为G(j)的理想低通滤波器不失真地将原模拟信号xa(t)恢复出来,这是一种理想恢复。下面先分析推导该理想低通滤波器的输入和输出之间的关系,以便了解理想低通滤波器是如何由采样信号恢复原模拟信号的,然后再介绍在实际中数字信号如何转换成模拟信号。,(1.5.8),图内插函数g(t)波形,这种伸展波形叠加的情况如图所示。g(t)函数所起的作用是在各采样点之间内插,因此称为内插函数,而()式则称为内插公式。这种用理想低通滤波器恢复的模拟信号完全等于原模拟信号xa(t),是一种无失真的恢复。但由于g(t)是非因果的,因此理想低通滤波器是非因果不可实现的。下面介绍实际的数字信号到模拟信号的转换。,图理想恢复,实际中采用D/AC(Digital/Analog Converter)完成数字信号到模拟信号的转换。D/AC包括三部分,即解码器、零阶保持器和平滑滤波器,D/AC方框图如图所示。解码器的作用是将数字信号转换成时域离散信号xa(nT),零阶保持器和平滑滤波器则将xa(nT)变成模拟信号。,图D/AC方框图,图零阶保持器的输出波形,其幅度特性和相位特性如图所示。由该图看到,零阶保持器是一个低通滤波器,能够起到将时域离散信号恢复成模拟信号的作用。图中虚线表示理想低通滤波器的幅度特性。零阶保持器的幅度特性与其有明显的差别,主要是在|/T区域有较多的高频分量,表现在时域上,就是恢复出的模拟信号是台阶形的。因此需要在D/AC之后加平滑低通滤波器,滤除多余的高频分量,对时间波形起平滑作用,这也就是在图模拟信号数字处理框中,最后加平滑滤波器的原因。虽然这种零阶保持器恢复的模拟信号有些失真,但简单、易实现,是经常使用的方法。实际中,将解码器与零阶保持器集成在一起,就是工程上的D/AC器件。,图 零阶保持器的频率特性,习题与上机题1.用单位脉冲序列(t)及其加权和表示题1图所示的序列。,题1图,3 判断下面的序列是否是周期的;若是周期的,确定其周期。(1)A是常数(2)4 对题1图给出的x(n)要求:(1)画出x(n)的波形;(2)计算,并画出xe(n)波形;,(3)计算,并画出x0(n)波形;(4)令x1(n)=xe(n)+x0(n),将x1(n)与x(n)进行比较,你能得到什么结论?5 设系统分别用下面的差分方程描述,x(n)与y(n)分别表示系统输入和输出,判断系统是否是线性非时变的。(1)y(n)=x(n)+2x(n1)+3x(n2)(2)y(n)=2x(n)+3,(3)y(n)=x(nn0)n0为整常数(4)y(n)=(n)(5)y(n)=x2(n)(6)y(n)=x(n2)(7)(8)y(n)=x(n)sin(n),6 给定下述系统的差分方程,试判定系统是否是因果稳定系统,并说明理由。(1)(2)y(n)=x(n)+x(n+1)(3)(4)y(n)=x(nn0)(5)y(n)=ex(n),7 设线性时不变系统的单位脉冲响应h(n)和输入序列x(n)如题7图所示,要求画出y(n)输出的波形。,题7图,8.设线性时不变系统的单位脉冲响应h(n)和输入x(n)分别有以下三种情况,分别求出输出y(n)。(1)h(n)=R4(n),x(n)=R5(n)(2)h(n)=2R4(n),x(n)=(n)(n2)(3)h(n)=0.5nu(n),xn=R5(n),9 证明线性卷积服从交换律、结合律和分配律,即证明下面等式成立:(1)x(n)*h(n)=h(n)*x(n)(2)x(n)*(h1(n)*h2(n)=(x(n)*h1(n)*h2(n)(3)x(n)*(h1(n)+h2(n)=x(n)*h1(n)+x(n)*h2(n)10 设系统的单位脉冲响应h(n)=(3/8)0.5nu(n),系统的输入x(n)是一些观测数据,设x(n)=x0,x1,x2,xk,,试利用递推法求系统的输出y(n)。递推时设系统初始状态为零状态。,11 设系统由下面差分方程描述:设系统是因果的,利用递推法求系统的单位脉冲响应。12.设系统用一阶差分方程y(n)=ay(n1)+x(n)描述,初始条件y(1)=0,试分析该系统是否是线性非时变系统。13 有一连续信号xa(t)=cos(2ft+),式中,f=20 Hz,=/2。(1)求出xa(t)的周期;,(2)用采样间隔T=0.02 s对xa(t)进行采样,试写出采样信号 的表达式;(3)画出对应 的时域离散信号(序列)x(n)的波形,并求出x(n)的周期。14.已知滑动平均滤波器的差分方程为(1)求出该滤波器的单位脉冲响应;(2)如果输入信号波形如题14图所示,试求出y(n)并画出它的波形。,题14图,17*.已知系统的差分方程为y(n)=a1y(n1)a2y(n2)+bx(n)其中,a1=0.8,a2=0.64,b=0.866。(1)编写求解系统单位脉冲响应h(n)(0n49)的程序,并画出h(n)(0n49);(2)编写求解系统零状态单位阶跃响应s(n)(0n100)的程序,并画出s(n)(0n100)。,18*.在题18图中,有四个分系统T1、T2、T3和T4,四个分系统分别用下面的单位脉冲响应或者差分方程描述:,