数字信号处理第9章.ppt
第9章 数字信号处理的实现,9.1 数字信号处理中的量化效应 9.2 数字信号处理技术的软件实现9.3 数字信号处理的硬件实现简介,9.1 数字信号处理中的量化效应9.1.1 量化及量化误差数字信号处理技术实现时,信号序列值、运算结果及参加运算的各个参数都必须用二进制的编码形式存储在有限长的寄存器中,如果该编码长度长于寄存器的长度,需要进行尾数处理;运算中,二进制乘法会使位数增多,也需要进行尾数处理。尾数处理必然带来误差,例如,序列值0.8012用二进制表示为(0.1100110101)2,如用7位二进制表示,序列值则为(0.110011)2,其十进制为0.796 875,与原序列值的差值为0.80120.796 875=0.004 325,该差值是因为用有限位二进制数表示序列值形成的误差,称为量化误差。,量化误差产生的原因是用有限长的寄存器存储数字引起的,因此也将这种误差引起的各种效应称为有限寄存器长度效应。这些量化效应在数字信号处理技术实现中,表现在以下几方面:A/DC中量化效应,数字网络中参数量化效应,数字网络中运算量化效应,FFT中量化效应等。这些量化效应在数字信号处理技术实现时,都是很重要的问题,一直受到科技工作者的重视,并在理论上进行了很多研究。随着科学技术的飞速发展,主要是数字计算机的发展,计算机字长由8位、16位提高到32位;一些结合数字信号处理特点发展起来的数字信号处理专用芯片近几年来发展尤其迅速,不仅处理快速,字长达到32 bit;另外,高精度的A/D变换器也已商品化。,这样,随着计算字长的大大增加,量化误差大大减少了,因此,对于处理精度要求不高、计算字长较长的一般数字信号处理技术的实现,可以不考虑这些量化效应。但是对于要求成本低,用硬件实现时,或者要求高精度的硬件实现时,这些量化效应问题亦然是重要问题。如果信号值用b+1位二进制数表示(量化),其中一位表示符号,b位表示小数部分,能表示的最小单位称为量化阶(或量化步长),用q表示,q=2b。对于超过b位的部分进行尾数处理。尾数处理有两种方法:一种是舍入法,即将尾数第b+1位按逢1进位,逢0不进位,b+1位以后的数略去的原则处理;另一种是截尾法,即将尾数第b+1位以及以后的数码略去。显然这两种处理方法的误差会不一样。,如果信号x(n)值量化后用Qx(n)表示,量化误差用e(n)表示,e(n)=Qx(n)x(n)一般x(n)是随机信号,那么e(n)也是随机的,经常将e(n)称为量化噪声。为便于分析,一般假设e(n)是与x(n)不相关的平稳随机序列,且是具有均匀分布特性的白噪声。设采用定点补码制,截尾法和舍入法的量化噪声概率密度曲线分别如图9.1.1(a)和(b)所示。这样截尾法量化误差的统计平均值为q/2,方差为q2/12;舍入法的统计平均值为0,方差也为q2/12,这里q=2b。很明显,字长b+1愈长,量化噪声方差愈小。后面我们将分别介绍各种量化效应。,图9.1.1 量化噪声e(n)的概率密度曲线,根据上述量化原理,建立量化的数学模型:Qx=qroundx/q(9.1.1)式中,roundx表示对x四舍五入后取整,roundx/q表示x包含量化阶q的个数,所以Qx=q.roundx/q就是量化后的数值。x可以是标量、向量和矩阵。将数取整的方法有四舍五入取整、向上取整、向下取整、向零取整,对应的MATLAB取整函数分别为 round(x)、ceil(x)、floor(x)、fix(x)。round最常用,对应的MATLAB量化语句为xq=q*round(x/q)。,例如,x=0.8012,b=6,量化程序如下:x=0.8012;b=6;q=2-b;%计算量化阶qxq=q*round(x/q)%对x舍入值量化e=x-xq%计算量化误差e运行结果:xq=0.796875,e=0.004325,9.1.2 A/D变换器中的量化效应A/D变换器的功能原理图如图9.1.(a)所示,图中是量化编码后的输出,如果未量化的二进制编码用x(n)表示,那么量化噪声为,因此A/D变换器的输出为(9.1.2)考虑A/D变换器的量化效应,其统计模型如图9.1.2(b)所示。这样,由于e(n)的存在而降低了输出端的信噪比。,图9.1.2 A/DC功能原理图及统计模型,设xa(t)服从标准正态分布N(0,),A/D变换器的动态范围为1 V。我们知道,对于正态分布,xa(t)的幅度落入3x以外的概率很小,可以忽略。为充分利用其动态范围,取,代入(9.1.3)式,得如果要求S/N60 dB,由上式计算出b10;如果S/N80 dB,则d13。增加A/D变换器的位数,会增加输出端信噪比,但A/D变换器的成本也会随位数b增加而迅速增加;另外,输入信号本身有一定的信噪比,过分追求减少量化噪声提高输出信噪比是没有意义的。因此,应根据实际需要,合理选择A/D变换器位数。,输入最大幅度为1 V的b位A/D变换器,根据舍入量化模型()式,可以写出b位A/D变换器的MATLAB量化函数quant:function y=quant(x,b,V)if nargin3 V=max(abs(x);end%缺省V,则默认V等于x的最大值 ax=abs(x);%去掉负号q=V/(2b-1);%计算量化阶qxq=q*round(ax/q);%对|x|舍入值量化y=sign(x).*xq;%加入负号,恢复带负号的量化值y,该函数可以对带负号的数据x进行A/D变换,x可以是标量、向量和矩阵。应当注意,上述为线性量化,其缺点是不利于小信号。为了改善小信号量化信噪比,工程上常常采用非线性量化。,9.1.3 数字系统中的系数量化效应系统对输入信号进行处理时需要若干参数或者说系数,这些系数都要存储在有限位数的寄存器中,因此存在系数的量化效应。系数的量化误差直接影响系统函数的零、极点位置,如果发生了偏移,会使系统的频率响应偏离理论设计的频率响应,不满足实际需要。量化误差严重时,极点移到单位圆上或者单位圆外,造成系统不稳定。系数量化效应直接和寄存器的长度有关,但也和系统的结构有关,有的结构对系数的量化误差不敏感,有的却很敏感。各种结构对系数量化误差的敏感度也是本节要研究的内容之一。,MATLAB按二进制双精度格式表示数,表示一个数用8字节(64位二进制数)。键入命令eps、realmin和realmax,可以显示出MATLAB浮点制表示的量化阶q=252=2.22041016、可以表示的最大数和最小数分别为2.225110308和0.797710308。所以MATLAB的量化误差可以忽略不计,用MATLAB设计的滤波器系数可以看成精确的理论值。工程实际中要把用MATLAB设计的滤波器付诸实现,必须采用嵌入式的DSP芯片(或专用数字硬件电路),DSP芯片(或专用数字硬件电路)的字长一般为8、16、32 bit,采用定点或浮点二进制表示数,并进行数值运算。,因此,用MATLAB设计完成后,必须考虑实际系统的有效字长,对设计结果进行量化仿真检验。当然,实际系统的有效字长越长,实际实现的性能越逼近MATLAB设计结果。好在MATLAB提供了定点运算方真模块库(FixPoint Blockset),有兴趣的读者请找相关书籍学习。,1.系数量化对系统频响特性的影响数字网络或者数字滤波器的系统函数用下式表示:式中的系数br和ar必须用有限位二进制数进行量化,存储在有限长的寄存器中,经过量化后的系数用表示,量化误差用br和ar表示,那么,(),【例 9.1.1】假设窄带滤波器的系统函数如下式:如果用b+1位二进制表示上式中的系数,b=4,采用舍入法处理尾数,试分析系数量化误差对极点位置和频响特性的影响。解 求解本例的系数量化与绘图程序为ep911.m。,%ep911.m:例题9.1.1 系数量化与图绘图程序B=1;A=1,-0.17,0.965;%量化前系统函数系数向量b=4;%量化2进制位数Aq=quant(A,b);%对系统函数分母系数向量A进行b位量化p=roots(A)%计算量化前的极点pq=roots(Aq)%计算量化后的极点ap=abs(p)%计算量化前极点的模apq=abs(pq)%计算量化后极点的模%以下为绘图部分省略,运行程序,得到量化后的系统函数 为并求出H(z)和的极点分别为显然,因为系数的量化,使极点位置发生变化,算出极点的模为:|p1,2|=0.9823,说明量化后的极点离单位圆稍远一些,会使带通滤波器的幅度特性的峰值减小,中心频率有所移动。,图9.1.3 量化前后系统幅频响应曲线,应当注意,数字滤波器的系数的大小有时差别很大,如果用b位定点数表示时,以最大的系数确定量化阶q,对所有系数统一量化,必然使较小的系数相对量化误差很大,使滤波器性能远离设计指标要求。所以工程实际中常常采用浮点制表示系数。,2.极点位置敏感度下面分析系数量化误差对极零点位置的影响。如果极零点位置改变了,严重时不仅IIR系统的频率响应会发生变化,还会影响系统的稳定性。因此研究极点位置的改变更加重要。为了表示系数量化对极点位置的影响,引入极点位置灵敏度的概念,所谓极点灵敏度,是指每个极点对系数偏差的敏感程度。相应的还有零点位置灵敏度,分析方法相同。下面讨论系数量化对极点位置的影响。(9.1.4)式中,分母多项式A(z)有N个极点,用pk(k=1,2,N)表示,系数量化后的极点用(k=1,2,3,N)表示,那么,上式表示系数量化误差引起的第k个极点的偏差,由该式可以得到以下结论:(1)极点偏移和系数量化误差大小有关。如果系统采用定点补码制,尾数采用b位舍入法处理,那么ai的变化范围为1/2q,q=2b,均方误差为q2/12,因此为减小极点偏移,应加长寄存器长度。(2)分母多项式中,pkpl是极点pl指向极点pk的矢量,整个分母是所有极点(不包括pk极点)指向极点pk的矢量之积。如果极点密集在一起,极点间距短,那么极点对系数量化误差的敏感度高,相应的极点偏差就大。,(3)极点偏差与系统函数的阶数N有关,阶数愈高,极点灵敏度愈高,极点偏差也愈大。这样对于一些窄带滤波器,因为要求选择性高,势必要求阶数高,极点的偏差会很大。严重时使极点移到单位圆上或者单位圆外,引起系统不稳定。考虑以上因素,系统的结构最好不用高阶的直接型结构,而将其分解成一阶或者二阶系统,再将它们进行并联或者串联,以便减小极点偏移量。,【例】按照例数字带通滤波的设计指标:系统采样频率Fs=8 kHz,要求保留20252225 Hz频段的频率成分,幅度失真小于1 dB;滤除01500 Hz和2700 Hz以上频段的频率成分,衰减大于40 dB。调用MATLAB滤波器设计分析工具FDATool,设计该滤波器,并对其系数用16位字长量化,其中尾数15位。直接型结构系数量化前后的零极点分布图和频响特性曲线分别如图9.1.4(a)和(b)所示。级联型结构系数量化前后的零极点分布图和频响特性曲线分别如图9.1.4(c)和(d)所示。,图9.1.4 窄带滤波器系数量化前后的零极点分布图和 频响特性曲线比较,由图可见,六阶椭圆带通滤波器的直接型结构的极点对系数量化误差的敏感度高,相应的极点偏差大,量化误差使频响曲线偏差很大。量化后的滤波器无法使用。但级联型结构的零极点对系数量化误差的敏感度很低,相应的极点几乎看不出偏差,量化前后频响曲线基本重合。所以,工程上高阶滤波器一般都用级联型结构和并联型结构。观察图9.1.4(a)和(c)发现,直接型结构和级联型结构系数量化前后的零点偏移都很小。这是因为该滤波器的各零点之间距离较大(不密集)。而窄带带通滤波器的极点分布密集,所以直接型结构的极点对系数量化误差的敏感度高,相应的极点偏差大。本例的实验结果与理论结论一致。,9.1.4 数字系统中的运算量化效应在数字网络的运算中,其中间结果和最后结果的位数,如果超出了规定的有限位二进制数长度,则需要进行尾数处理,这样便引起了运算量化误差;运算中还可能出现溢出,造成更大的误差;运算误差的大小除了和规定的二进制数的长度有关以外,还和网络结构有关。下面就以上三个问题进行介绍。,1.运算量化效应在定点制运算中,二进制乘法的结果尾数可能变长,需要对尾数进行截尾或舍入处理;在浮点制运算中无论乘法还是加法都可能使二进制的位数加长,也需要对尾数进行截尾或舍入处理。这样不管是采用定点制还是浮点制,都会因运算差生量化误差,这种误差称为运算量化误差。下面我们仅介绍定点制的乘法量化效应。由于输入信号是随机信号,差生的运算量化误差同样是随机的,需要进行统计分析。运算量化误差在系统中起噪声作用,会使系统的输出信噪比降低。,为了分析计算简单,假定运算量化误差具有以下统计特性:系统中所有的运算量化噪声都是平稳的白噪声;所有的运算量化噪声之间以及和信号之间均不相关;这些噪声的概率密度都是均匀分布的。假设定点乘法运算按b位进行量化,量化误差用e(n)表示。对于一个乘法支路,如图9.1.5(a)所示,图中节点变量v2(n)=av1(n),经过量化后用 表示,那么,这样量化以后乘法支路的统计模型如图(b)所示。因此系统中所有的乘法支路都和图(b)一样引入一个噪声源。,图9.1.5 乘法支路及其量化模型,图中,有两个乘法支路,采用定点制时共引入两个噪声源,即e1(n)和e2(n),噪声e2(n)直接输出,噪声e1(n)经过网络h(n)输出,输出噪声ef(n)为ef(n)=e1(n)*h(n)+e2(n),图9.1.6 考虑运算量化效应的一阶网络结构,如果尾数处理采用定点舍入法,则输出端噪声平均值为上式中E表示求统计平均值,m1和m2分别表示两个噪声源的统计平均值,这里m1=m2=0,因此,mf=0,由于e1(n)和e2(n)互不相关,求输出端噪声方差时,可分别求其在输出端的方差,再相加。这里,每个噪声源的方差均为,式中q=2b。输出端的噪声ef(n)的方差为式中,ef1(n)和ef2(n)分别表示e1(n)和e2(n)在输出端的输出;,2.网络结构对输出噪声的影响下面我们通过一个二阶网络的例子说明不同网络结构对输出噪声的影响。【例9.1.3】已知网络系统函数为网络采用定点补码制,尾数处理采用舍入法。试分别计算直接型、级联型和并联型结构输出噪声功率。,解 按照以上H(z)的三种表示公式,画出考虑乘法量化效应的直接型、级联型和并联型网络结构图如图9.1.7所示。下面分别计算这三种网络结构的输出信噪比。,图9.1.7 例9.1.3的网络结构图,此例表明,对同一个系统函数H(z),因乘法量化效应在输出端引起的量化噪声功率除了与量化位数b有关外,还与网络结构形式有关。量化位数b愈长,输出量化噪声愈小;网络结构中,输出端量化噪声以直接型最大,级联型次之,并联型最小。原因是直接型量化噪声通过全部网络,经过反馈支路有积累作用,级联型仅一部分噪声通过全部网络,并联型每个一阶网络的量化噪声直接送到输出端。而对于三种不同网络结构输出端的信号功率都是一样的。设输入信号x(n)方差为,均值mx=0,输出端信号功率用表示,实际时域离散线性时不变系统可以用线性常系数差分方程表示:所以,不论采用哪种结构,其中与量化有关的基本运算单元如下:y=k1x1+k2x2只要调用定点量化函数quant分别对每个基本运算单元量化,求解差分方程,即可得到量化后的实际系统输出响应,也可以计算分析各种结构的有限字长效应。基本运算y=k1x1+k2x2的MATLAB函数qbcu.m为,function yq=qbcu(k1,x1,k2,x2,b,V)%基本运算y=kx*x1+k2*x2的定点量化运算函数%b为量化尾数位数,V为量化动态范围k1q=quant(k1,b,V);k2q=quant(k2,b,V);x1q=quant(x1,b,V);x2q=quant(x2,b,V);v1=k1q*x1q;v1q=quant(v1,b,V);v2=k2q*x2q;v2q=quant(v2,b,V);yq=v1q+v2q;,3.防止溢出的措施我们知道,在数字网络中有两种运算,即乘法和加法,由于存在有限寄存器长度效应,乘法会产生乘法量化效应,加法不会产生量化误差,但却会产生溢出。例如,在定点制网络系统中,补码二进制0.110加0.011,结果为1.001,其真值为7/8,实际真值应是 9/8。这样,由于加法进位,产生了溢出,形成了很大的误差。在浮点制系统中,由于动态范围大,一般不产生溢出。下面介绍一般防止溢出的方法。,上式即是对输入信号动态范围的限制。例如,一阶IIR网络,单位取样响应h(n)=anu(n),|a|1要求输入信号的动态范围为1|a|,显然该动态范围与一阶网络的极点a有关。极点愈靠近单位圆,限制输入信号的动态范围就愈小。另外,如果输入信号幅度固定在一定范围中,可以在输入支路上加衰减因子来防止溢出。例如,在图9.1.8中,为防止溢出,输入支路上加衰减因子A,0A1。,图9.1.8 一阶滤波网络,图9.1.9 级联型与并联型的衰减因子,9.2 数字信号处理技术的软件实现数字信号的处理可以用软件实现,也可以用硬件实现。软件实现指的是在通用计算机上执行数字信号处理程序。这种方法灵活,但一般不能实现实时处理。硬件实现是利用数字信号处理专用集成电路或单片数字信号处理器DSP(Digital Signal Processor)来实现的。目前,这些器件一般都照顾到数字信号处理的特点,内部带有乘法器、累加器,采用流水线工作方法以及并行结构,多总线,速度快,并配有适合数字信号处理的指令等。,一些特殊的专用器件有:FFT专用芯片,FIR滤波器、卷积和相关等专用芯片,它的软件算法已在芯片内部用硬件实现,随着超大规模集成电路的发展,DSP芯片成本在不断下降,从而使这种实现方法成为数字信号处理的主导方法。本节主要介绍软件实现方法。,【例】假设两个二阶网络的级联结构如图(b)所示。,图9.2.1 例题9.2.1图,从n=0开始加入x(n)信号,x(1)=0,x(2)=0,初始条件为:w(1)=0,w(2)=0,y(1)=0,y(2)=0,a1、a2、a3、a4、b0、b1、b2、b3、b4、b5均为已知参数。要求设计求输出响应的软件流程图。解 其差分方程为其软件流程图如图9.2.2所示。,图9.2.2 两个二阶网络的级联结构软件流程图,上面介绍了求解差分方程的软件流程图,仿真实验时用MATLAB语言求解最方便。MATLAB语言的filter函数和filtic函数可以求解差分方程。我们知道,系统函数与差分方程是等价的,系统函数的系数就是差分方程的系数。所以,根据系统函数的系数和初始条件,调用filter函数和filtic函数可以方便地求系统输出响应。下面是求系统输出响应的MATLAB通用程序。,%调用filter和filtic函数求系统输出响应的通用程序B=b0,b1,bM;A=a0,a1,aN;%设置H(z)的分子和分母多项式系数向量B和Axn=input(x(n)=);%输入信号x(n),也可以直接赋值,或读取数据文件ys=y(1),y(2),y(N);%设置初始条件xi=filtic(B,A,ys);%由初始条件计算等效初始条件的输入序列xi,设x(n)为因果序列yn=filter(B,A,xn,xi);%调用filter求系统输出信号y(n),n0,【例】设系统函数H(z)=1/(1bz1),x(n)=anu(n),求系统输出响应。解 对于给定的H(z),分子、分母多项式系数B=1、A=1,b。求系统输出的程序ep922.m如下:%ep922m:例9.2.2 调用filter函数和filtic函数求系统输出响应b=input(b=);%输入差分方程系数ba=input(a=);%输入信号x(n)的参数aB=1;A=1,-b;%H(z)的分子、分母多项式系数B、A,n=0:31;xn=a.n;%计算产生输入信号x(n)的32个样值ys=input(ys=);%输出初始条件y(1)xi0=filtic(B,A,ys)%由初始条件计算等效初始条件的输入序列xiyn=filter(B,A,xn,xi0);%调用filter解差分方程,求系统输出信号y(n)subplot(3,2,1);stem(n,yn,.);title(a)b=0.8,a=0.8,y(1)=2)xlabel(n);ylabel(y(n);axis(0,32,min(yn),max(yn)+0.5),运行程序,并输入不同的参数b和a以及初始条件,得到系统不同的输出y(n)波形。如果b=0.8,a=0.8,y(1)=2,输出响应如图(a)所示。如果令初始状态为y(1)=0,b=0.8,a=1,得到的是系统的零状态响应如图(c)所示。如果令x(n)=u(n),b=0.8,y(1)=2,得到的系统响应如图(b)所示。如果x(n)=u(n),b=0.8,y(1)=0,得到的系统响应如图(d)所示。,图9.2.3 例题9.2.2 系统输出响应,以上求系统输出响应的方法,并没有涉及网络结构的问题,下面我们介绍按照网络结构编写程序的方法。首先将信号流图的节点进行排序,延时支路输出节点变量是其输入节点变量前一时刻已存储的数据,起始时,作为已知值(初始条件),网络输入是已知数值,这样延时支路输出节点以及网络输入节点排序k=0,网络中可以由k=0节点变量计算出的节点排序k=1,然后由k=0,1,可以计算出的节点排序k=2,,依照这样的规律进行节点排序,直到将全部节点排完。最后按照k从小到大写出运算次序。图9.2.1(a)的二阶网络排序如图所示,图中圆圈中的数字表示排序。其运算次序如下:,图9.2.4 图9.2.1(a)的节点排序,起始数据:v1=0,v2=0(1)(2)v5=x(n)+v3(3)v6=v5(4)v7=b0v6+v4(5)y(n)=v7(6)数据更新:v2=v1,v1=v6,循环执行以上步骤,可完成网络运算。也可以进行简化:(2)、(3)合成一步,(4)、(5)合成一步。软件流程图如图所示。这种编写程序的方法的特点是充分考虑了不同结构的特点;只要知道网络结构,不需要写出差分方程,就可编写程序;运算操作的基本公式为 v=cx+dy。对于图9.2.1(b)两个二阶网络级联结构,节点排序如图所示,其软件流程图如图所示。上述软件实现思想适合各种不同的编程语言,如C语言、汇编语言等。,图9.2.5 图软件流程,图9.2.6 图9.2.1(b)的节点排序,图9.2.7 图9.2.6的软件流程图,9.3 数字信号处理的硬件实现简介如前所述,数字信号处理可分为软件实现与硬件实现。但实质上这两种实现方法是不能截然分开的。因为所谓的软件实现,需要硬件支持才能运行,而硬件实现一般也离不开软件。最流行的通用数字信号处理单片机,通常又称为通用数字信号处理器(DSP)就是这种软、硬结合的实现方式,但习惯上将其划为硬件实现。数字信号处理的硬件实现又可分为专用硬件实现和数字信号处理器实现。前者属于硬件实现,后者称为软硬结合实现。,所谓硬件实现,就是根据数字滤波器的数学模型和算法,设计专用数字信号处理电路(集成电路),使计算程序全部硬件化。专用处理器中的硬件电路包括加法器、乘法器、存储器、控制器和输入/输出接口等。例如按照第5章介绍的直接型、级联型、并联型或FFT实现方案,用FPGA设计实现电路。硬件实现的优点是处理速度高,但灵活性差,开发周期长。因为硬件电路一旦做好就不易改变(如滤波器阶数和结构类型等)。,所谓软硬结合实现,就是用通用数字信号处理器(DSP)实现信号处理。DSP实质上是一种适用于数字信号处理的单片微处理器,其主要特点是灵活性大,适应性强,具有可编程功能,且处理速度高(DSP的指令周期已达到ns级)。例如TI公司的TMS320系列DSP就是应用广泛的通用数字信号处理器的典型产品。例如,数字滤波器的DSP实现,就是设计DSP硬件电路,充分利用DSP的软硬件资源,开发并优化程序,实现数据采集、滤波器单位脉冲响应h(n)与所采集的数字信号x(n)的快速卷积运算、输出滤波结果。,实现中选用何种实现方法,要视具体要求而定。例如,数字通信中的信道均衡器和雷达信号处理中,对信号处理要求有限且具体,但要求实时性好,因而可采用专用硬件。在信号处理算法复杂,处理种类繁多,并要求有智能化控制功能的系统中最好选用DSP实现方法,以便简化开发过程,缩短开发周期。例如软件无线电和认知无线电系统。自从1980年以来,DSP技术引发了现代电子系统设计的革命。在当今数字化时代,DSP已经成为信号处理、通信、雷达、计算机和消费类电子产品等领域的基础器件。DSP芯片不同于通用单片微计算机,DSP是一种对数字信号进行高速实时处理的专用单片处理器,其处理速度比最快的CPU还快1050倍。,这主要是因为DSP芯片内包含硬件并行乘法器和并行ALU,并采用流水线高速操作。随着集成电路技术的发展,以及精简指令系统计算机(RISC)结构的出现,DSP的处理速度不断提高。DSP的字长和处理精度也在不断提高,从最初的8位已经发展到32位。以美国德州仪器(TI)公司为例,其产品有定点DSP和浮点DSP,字长有8位、16位和32位,从1982年至今,已经推出五代DSP产品,最新的DSP时钟速率高达1.1 GHz,指令执行速度达到8800 MIPS(兆条指令每秒)。例如,TMS320C64x具有64位数据并行读写端口,内核有6个并行32位ALU和2个并行32位硬件乘法器。所以,DSP技术成为数字信号处理的核心技术。,很多信号处理功能过去在普通微处理器中是用微码实现的,而现在大多是基于高速DSP硬件实现。DSP技术最主要的贡献是其可编程装置的可塑性,它兼顾了软硬件实现的优点,可以实现复杂的线性和非线性算法,同时可以跳转到程序的不同部分。所以,相对于基于数字逻辑电路的专用硬件实现,基于高速DSP的硬件实现开发容易,且开发周期短,更加经济高效。随着各种新的DSP设计开发平台的出现,DSP实现系统的开发将更加容易。,随着多媒体通信、图像传输与处理、宽带无线接入等领域的高速发展,对信号处理速度的要求不断提高,DSP实现的速度也不能满足要求。另外,随着超大规模集成电路和可编程器件的发展,专用硬件实现方法应用越来越广泛。如卫星图像数据实时压缩编码器一般采用硬件实现。,另外,MATLAB 的Simulink 系统仿真组件用来仿真线性系统、非线性系统、连续系统、离散系统、连续与离散混合系统、多采样率系统等。还利用MATLAB DSP模块库提供的关键DSP算法模块能快速高效地进行复杂DSP系统原理设计与仿真,与RTW(RealTime Workshop)配合使用可以为实时DSP硬件生成优化的ANSIC(美国国家标准C语言)代码,或把定点DSP程序编译成能在嵌入式系统中执行的C代码。这些也是DSP实现的现代辅助工具,从事DSP工作的技术人员常常用到它。,由上述可见,不论是基于高速DSP的软硬结合实现,还是专用硬件实现技术,都涉及很多知识和技术,不可能用一节或一章讲清楚,更不可能使读者理解、掌握并学会使用。例如,基于高速DSP的实现所涉及的内容有DSP软硬件原理与应用技术、DSP开发平台技术,工程实现过程包括硬件电路设计与处理程序开发等。这些内容专业性很强,都必须经过系统学习和工程实践才能掌握。所以,信号处理工程师必须熟悉DSP的硬件结构、指令系统、软件开发平台、开发方法与开发过程。但是,只要掌握了数字信号处理的基本原理,再学习其各种实现技术就比较容易。所以本书仅介绍数字信号处理硬件实现的基本概念和基本方法,以便读者建立数字信号处理的完整概念。,