1、1-1 1-1 引引 言言 傅里叶变换(FT)是一种将信号从时域变换到频域的变换形式。它在声学、电信、电力系统、信号处理等领域有广泛的应用。我们希望能在计算机上实现信号的频谱分析或其它工作。计算机对信号的要求是:在时域和频域都应该是离散的,而且都应该是有限长的。而傅里叶变换(FT)仅能处理连续信号,DFT就是应这种需要而诞生的。它是傅里叶变换在离散域的表示形式。但是一般来说,DFT的运算量是非常大的。在1965年首次提出快速傅里叶变换算法FFT之前,其应用领域一直难以拓展,是FFT的提出使DFT的实现变得接近实时。DFT的应用领域也得以迅速拓展。除了一些速度要求非常高的场合之外,FFT算法基本
2、上可以满足工业应用的要求。由于数字信号处理的其它运算都可以由DFT来实现,因此FFT算法是数字信号处理的重要基石。第一章第一章 数字信号处理基础数字信号处理基础 数字信号处理的最主要应用领域便是数字滤波。数字滤波器被认为是数字信号处理的另一块重要基石。数字滤波器与模拟滤波器比起来具有以下明显的优点:可以满足滤波器对幅度和相位特性的严格要求,精确度高。没有电压漂移、温度漂移及噪声等问题,基本不受环境影响,稳定性好。用DSP实现的滤波器具有高度的可编程性,灵活性非常好。正是由于数字滤波器的上述优点,使得数字滤波器广泛应用于雷达、语音处理、图像处理、模式识别、频谱分析、医学仪器等领域。根据不同的标准
3、,数字滤波器可以进行多种不同的分类。总的来说,数字滤波器可以分为经典数字滤波器与现代数字滤波器。经典滤波器用于处理有用信号与噪声处在不同频带的系统,如 FIR,IIR;现代滤波器可以从含有噪声的数据记录中估计出信号的某些特征信号本身,也就是说,现代滤波器用于处理有用信号和噪声处在同一频带的数据处理场合。现代滤波器有维纳滤波器、卡尔曼滤波器、线性预测器、自适应滤波器等多种类型。下面简要地介绍DFT、FFT和数字滤波器的基本知识。DSP开发系统对 C语言的支持能力越来越强,可以将C,C,甚至部分MATLAB语言的算法直接移植到DSP芯片上运行。1-2 FFT1-2 FFT的基本原理的基本原理 其中
4、,W为旋转因子。由此公式不难发现,求出一点X(k)需要N次复数乘法、Nl次复数加法。N点X(k)需要 N2次复数乘法、N(N1)次复数加法。当 N很大时,计算量非常可观。如 1024点复数DFT需要进行1048576次复数乘法运算。即使在计算速度飞速发展的今天,这在实时运算场合也是无法容忍的。利用旋转因子的对称性和周期性,Cooley和Turlev发明了FFT算法把复数乘法的运算量降低到了N/2lgN次。1024点复数序列FFT仅需做5120次复数乘法运算,其工作量仅为DFT的4.8。一、常用一、常用FFTFFT算法算法 1965年Cooley和Tukey提出时间抽取FFT算法以来,有关FFT
5、的算法不断涌现。不过常用的算法还是基2时间抽取、基2频率抽取、基4时间抽取和频率抽取以及分裂基算法。近年来,由于微电子技术的发展,硬件的快速发展使人们暂时忽略了软件或算法的改进。总的来说,由于上述算法比较简单,是最常用的FFT算法。图图1.2.1 基基2时间抽取时间抽取(DIT)FFT算法算法图图1.2.2 基基2频率抽取频率抽取(DIF)FFT算法算法 二、其它二、其它FFTFFT算法及应用算法及应用 1、基4、基8的FFT算法、混合基算法等;2、采用窗函数进行FFT的加权处理;3、实序列的FFT运算:用一个N点复数FFT运算两个N点实序列 FFT 一个N点复数FFT运算2N点实序列FFT
6、4、WFTA、ZFFT、CZT等;5、快速相关、快速卷积、重叠相加(保留)法等等。连续时间信号、离散时间信号、数字信号、序列长度处理 1-3 FIR1-3 FIR滤波器滤波器 一、基本原理一、基本原理 FIR滤波器的差分方程为:式中,x(n)输入序列,y(n)为输出序列,h(n)为滤波器系数,N是滤波器的阶数。对此式进行Z变换,整理后可得FIR滤波器的传递函数:10()()()Nky nh n x nk10()()()()NkkY zH zh k zX zFIR的一般结构FIR的转置型结构DDhN-1.Dh0XiDDhN-1.DXih0 在这个结构中,除了需要有N个乘法器外,还需要有一个N个相
7、加的加法器,从运算效果来说,等效于在原来乘法器的基础上增加一个N位x(X位+h位)的乘法器,当乘法器数目比较多时,增加的加法器运算量比乘法器运算量要大得多,这不利于提高器件运算速度。为此,在FIR滤波器一般结构基础上,一般将这种结构加以改良,构成另一种处理结构。这个结构是将一个N个数的加法器变成为N个分散的两位数加法器,由于各个加法器之间通过寄存器相互隔离。如果将这个加法器同原来乘法器相互结合在一起,则运算结果等于在原来乘法器基础上被乘数多增加一位而已,不影响原来乘法器的快速算法实现。二、二、FIRFIR滤波器的优点滤波器的优点(1)可以在幅度特性随意设计的同时,保证精确、严格的线性相位;(2
8、)由于FIR滤波器的单位脉冲响应h(n)是有限长序列,因此FIR滤波器没有不稳定的问题;(3)由于FIR滤波器一般为非递归结构,因此在有限精度运算下,不会出现递归型结构中的极限震荡等不稳定现象,误差较小;(4)利用系数对称性,可使运算量减少近一半;(5)FIR滤波器可采用FFT算法实现,从而提高运算效率。()()()()y nIFFT YkIFFFXk Hk 三、FIR滤波器的设计方法 FIR滤波器的设计方法主要有窗函数法和频率抽样设计法。在设计FIR滤波器中,重要的计算就是加窗。采用矩形窗是最直接和简便的方法,但矩形窗主旁瓣比仅为13dB。因此实际设计中,一般采用其他窗函数,比较常用的窗函数
9、有Hanning窗、Hamming窗、Blackman窗、Kaiser窗等。采用Hanning窗使能量集中在主瓣内,主旁瓣比为31dB,但主瓣的宽度增加了1倍。采用 Hamming窗使99.9以上的能量集中在主瓣,主旁瓣比达43dB,主瓣的宽度也是矩形窗的2倍。Blackman窗进一步抑制旁瓣,使主旁瓣比达到58dB,但主瓣的宽度是矩形的3倍。上述三种窗函数都是以增加主瓣宽度为代价换取一定程度的旁瓣抑制。而Kasier窗可以通过调整参数值来折中选择主瓣宽度和主旁瓣比,采用Kaiser窗设计FIR滤波器具有很大的灵活性。四、四、FIRFIR滤波器的滤波器的MATLABMATLAB实现实现 在MA
10、TLAB中,提供了两种FIR滤波器设计方法。一种是窗函数设计法,即FIR1,另一种是任意形状FIR滤波器设计法,即FIR2。(1)设计低通滤波器(Hamming窗):BFIR1(N,Wn)其中,N为滤波器的阶数,Wn为归一化截止频率,O.0W1.0,1.0对应于半抽样速率。返回值B为一个Nl维矢量,即滤波器系数。BFIR1(N,Wn,high)BFIR1(N,Wn,stop)(2)采用其他窗函数设计低滤波器:不指定窗函数时,FIR1采用缺省的Hamning窗。此外,还可以采用其他窗函数,如Boxcar、Hanning、Bartlett、Blackman、Kasier和Chebwin。例如,下面
11、就是一个采用Bartlett窗设计低通滤波器的例子:BFIR1(N,Wn,Bartlett(N)1-4 IIR1-4 IIR滤波器滤波器 一、基本原理 IIR滤波器差分方程的一般形式为:式中,x(n)、y(n)、h(n)和N的含义同前。IIR滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,即是递归型的。也就是说,IIR滤波器的输出不仅与输入有关,而且与过去的输出有关。对此式进行Z变换,整理后可得FIR滤波器的传递函数:1100()()()NNkkkky na x nkb y nk1011()()()1NkkkNkkkazYzHzXzb z IIR滤波器由于具有结构简单、运算量小的特点,因
12、而得到了较广泛的应用。IIR滤波器结构具有多种形式,归纳起来主要有以下几种:(l)直接I型(也称直接型);(2)直接II型(也称正准型);(3)级联型;(4)并联型;(5)格型(lattice)。直接I型结构需要2N级延迟单元,直接II型结构与直接I型结构相比节省了一半延迟,即需要N级延迟单元,是最常用的IIR滤波器结构之一。级联型结构采用多个二阶基本节级联而成,每一个二阶基本节可采用直接II型结构实现,这种结构便于准确实现滤波器的零极点,也便于性能调整。二、二、IIRIIR滤波器的设计方法滤波器的设计方法 IIR滤波器的设计一般有以下两种方法:(l)先设计一个模拟滤波器,然后变换成满足预定指
13、标的数字滤波器。由于模拟滤波器的设计方法很成熟,有许多简单和现成的设计公式,设计参数已经表格化,因而这种方法比较方便;(2)计算机辅助设计法。这是一种最优化的设计方法,先确定一种最佳准则,然后求在此准则下滤波器系统函数的系数。三、三、IIRIIR滤波器的滤波器的MATLABMATLAB实现实现 下面以设计一个Chebshev2型IIR低通滤波器为例来说明用MATLAB设计IIR滤波器的方法。设滤波器的通带为0Wp,阻带为WS 1.0,1.0对应于半抽样频率,要求通带内波动小于Rp dB,附带内衰减大于Rs dB。则用MATLAB设计该滤波器的过程如下:(l)调用函数cheb2ord(),确定滤
14、波器的阶数和截止频率:N,Wncheb2ord(Wp,Ws,Rp,Rs)返回值N为满足要求的Chebshev2型数字滤波器的最小阶数;(2)调用函数cheby2()B,A=cheby2(N,RS,Wn)返回值B为一个N1维矢量,是分子多项式系数;A也是一个N1维矢量,为分母多项式系数。与FIR1类似,设计Chebshev2型IIR高通、带通和带阻的方法分别是:高通:B,A=chebg2(N,Rs,Wn,high)带通:B,Acheby2(N,Rs,Wn),Wn W1 W2 带阻:B,A=cheby2(N,Rs,Wn,stop),Wn W1 W2 除了cheby2以外,还有chebyl、butt
15、er等类型。1-5 1-5 量化与有限字长量化与有限字长 FIR和IIR数字滤波器的一些特征使它们相互之间能够区分,同时它们在执行时,需要进行一些专门考虑,包括相位特性、稳定性和系数量化影响。给定频率响应特性,典型高阶FIR滤波器需要转换成符合这些特性的IIR滤波器。但是,这并不意味着IIR滤波器可以应用到所有的情况。在一些应用中,把滤波器的线性相位特性作为重要考虑,此时应该采用FIR滤波器,因为只有FIR滤波器可以设计成线性相位。另一个重要考虑是滤波器的稳定性。因为FIR的单位脉冲响应是有限长度,所以FIR滤波器是固有稳定的(也就是说,一个有上下限的输入总是产生一个有上下限的输出)。而IIR
16、滤波器可能稳定,也可能不稳定,主要依赖于滤波器极点位置。数字滤波器设计总是假设在无限精度装置上执行的。但是,因为所有处理器都是有限精度的,所以滤波器系数实际上近似于“理想”。这种近似引入滤波器系数的量化误差,导致滤波器频率响应与理想情况有偏移。因为窄带IIR的极点靠近单位圆,所以需要更长的字长。滤波器系数的量化误差最坏影响到极点位置移置单位圆之外,导致不稳定。滤波器系数的量化误差对滤波器稳定性影响程度依赖于滤波器的结构和执行硬件的字长。因为滤波器的零点和极点位置与执行硬件的字长有关,它们与无限精度装置的差异影响到滤波器的性能。在IIR滤波器中,级联式与平行式生成的每一对复数共轭极点是分离的。这
17、导致每一对复数共轭极点对滤波器系数量化误差的影响是相互独立的。但是对直接式滤波器结构来说,这个性能并不成立。因此,级联式与平行式IIR滤波器比直接式IIR应用更加广泛。在数字滤波器实现中另一个问题是由于硬件有限字长造成的量化误差。随着下列有限字长的使用,误差源增加:输入输出信号量化;滤波器系数量化;不相关的四舍五入(或截断)噪声;相关的四舍五入(或截断)噪声;动态范围限制。用数字形式表示连续时间的瞬间值,由于输入输出信号量化引入误差。输入信号主要是A/D量化噪声,而输出信号主要是D/A量化噪声。在大多数系统中,输出D/A量化噪声是非常小的,输入A/D量化噪声是更加主要的因素。在大多数执行程序中
18、,滤波器系数初始值存在程序存储器中,然后移到二进制的小数点用最高比特位表示的数据存储器中。这些系数表示成Q15格式。给出的系数范围是-1.00.999969,步进量为0.000031。输入也是Q15格式,因此,当两个Q15数字相乘时,结果是Q30格式数字。当Q30数字驻留在32位累加器时,二进制的小数点用第二最高比特位表示。因为假设滤波器的输出为Q15格式,所以Q3O格式的数要左移,并保留结果的最高比特位(l6)。注意:保留累加器的中间值很重要,可能保留32比特位的精度。不相关的四舍五人(或截断)噪声是由乘法器产生的。尽管数字滤波器表示成有限字长,但是处理结果需要增加一些附加的比特来表示。例如
19、,一个b比特的采样值,乘上一个b比特的系数,产生2b比特字长。在递归滤波器的实现中,第一次递归后,2b字长是需要的;第二次递归后,3b字长是需要的;等等,以此类推。1-6 1-6 实时的概念实时的概念 一、实时的定义一、实时的定义 通用计算环境:算法、测试、模拟数据、实际数据;实时信号处理应用系统:算法的执行速度。)()(nxTmyijj Ts Tj的复杂度 运算速度二、进程的结构二、进程的结构1 1、数据流处理、数据流处理优点:随时更新、时延最小、存储单元最小;缺点:处理速度高。2 2、块处理、块处理优点:高的处理效率(比如FFT)、速度较低的处理器;缺点:时延大(最小时延)。两者可以转换!
20、3 3、矢量处理、矢量处理第二章第二章 数字信号处理技术概述数字信号处理技术概述2.1 数字信号处理器的特点数字信号处理器的特点 2.2 数字信号处理器的应用领域数字信号处理器的应用领域 2.3 数字信号处理器的选择和发展数字信号处理器的选择和发展 2.4 数字信号处理系统的构成数字信号处理系统的构成 2.5 数字信号处理系统的设计数字信号处理系统的设计 2.1 数字信号处理器的特点数字信号处理器的特点 高速实时数字信号处理技术的核心和标志是数字信号处理器(DSP)。自第一个DSP(TI的TMS32010)问世以来,处理器技术水平得到了十分迅速的提高,而快速付立叶变换等实用算法的提出促进了专门
21、实现数字信号处理的一类微处理器的分化和发展。数字信号处理有别于普通的科学计算与分析。它强调运算处理的高速实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对高速实时数字信号处理,在处理器结构、指令系统、指令流程上做了很大的改动,其结构特点如下:DSP普遍采用了数据总线和程序总线分离的哈佛结构及改进的哈佛结构,比传统处理器的冯诺依曼结构有更高的指令执行速度;DSP大多采用流水技术,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等多个步骤,从而在不提高时钟频率的条件下减少了每条指令的执行时间;片内有多条总线可以同时进行取指令和多个数据存取操作,并且有辅助寄存器用于
22、寻址,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址;针对滤波、相关、矩阵运算等需要大量乘法累加运算的特点,DSP大都配有独立的乘法器和加法器,使得同一时钟周期内可以完成相乘、累加两个运算,许多DSP可以同时进行乘、加、减运算,大大加快了FFT的蝶形运算速度;图2.1 冯诺依曼结构图2.2 哈佛结构及改进的哈佛结构 许多DSP带有DMA通道控制器,以及串行通信口等,配合片内多总线结构,数据块传送速度大大提高;配有中断处理器和定时控制器,可以很方便地构成一个小规模系统;具有软、硬件等待功能,能与各种存储器接口。数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU
23、)三者的区别在于:DSP面向高性能、重复性、数值运算密集型的高速实时处理;MPU大量应用于计算机;MCU则适用于以控制为主的处理过程。DSP本身具有以下功能,支持其高速实时数字信号处理应用:单指令周期的乘、加操作;特殊的高速寻址方式,可以在其它操作进行的同时完成地址寄存器指针的修改,并具有循环寻址、位反序寻址功能。循环寻址用于FIR滤波器,可以省去相当于迟延线功能的大量数据移动,用于FFT则可以紧凑地存放旋转因子表;位反序利于FFT的快速完成;针对高速实时处理所设计的存储器接口,能在单指令时间内完成多次存储器或I/O设备访问;专门的指令流控制,具有无附加开销的循环功能以及延迟跳转(相当于预跳转
24、)指令;专门的指令集和较长的指令字,一个指令字同时控制片内多个功能单元的操作;单片系统,易于小型化设计;低功耗,一般为 0.54W,采用低功耗技术的DSP只有 0.1W,可用电池供电如TI的TMS320C54X系列,对嵌入式系统很适合;而新型MPU,如 Pentium等功耗达2050W。因此,DSP的运算速度要高得多,以FFT、相关为例,高性能DSP不仅处理速度是MPU的410倍,而且可以流水无间断地完成数据的高速实时输入输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性比结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU强得多。以一个FIR滤波器实现为例,每输入一
25、个数据,对应每阶滤波器系数需要一次乘、一次加、一次取指、二次取数,有时还需要专门的数据移动操作,DSP可以单周期完成乘加并行操作以及34次数据存取操作,而普通MPU至少需要4个指令周期,因此,在相同的指令周期和片内指令缓存条件下,DSP是MPU运算速度的4倍以上。正是基于DSP的这些优势,在新推出的高性能通用微处理器(如 Pentium MMX、Pentium、Pentium 4等)片内已经融入了 DSP的功能,而以这种通用微处理器构成的计算机在网络通信、语音图像处理、高速实时数据分析等方面的效率大大提高。不同类型DSP适用于不同场合。早先DSP都是定点的,可以胜任大多数数字信号处理应用,但在
26、某些场合,如雷达、声纳信号处理中,数据的动态范围很大,按定点处理会发生数据溢出或下溢出,严重时处理无法进行。如果用移位定标或用定点模拟浮点运算,程序执行速度将大大降低。浮点DSP的出现解决了这些问题,它拓展了数据动态范围,常见的16bit定点DSP动态范围仅96dB,每增加1bit,动态范围只增加6dB;而32bit浮点数据的动态范围为1536dB。浮点DSP的处理性能在许多情况下要比定点DSP高得多。得益于VLSI技术,32位浮点DSP在各项指标上都远好于定点DSP,它可以完成32位定点运算,具备更大的存储访问空间,而且最新发展的并行DSP大都采用浮点格式,还有一点就是高级语言(如C语言)编
27、译器主要面向浮点DSP,这使得普通计算机上的源码程序可以移植到DSP设计中而无需大的修改。目前DSP峰值运算能力达每秒24亿次,但相对于所要求的每秒几百亿、上千亿次运算来说仍远远不够。而且VLSI技术的发展已经受到开关速度极限的限制,提高DSP主频所遇到的难度和付出的成本越来越大,单处理器性能的提高空间受到限制,为此,引入了并行处理技术。其实在许多DSP的多级流水处理、相乘累加同时进行等功能中已经融入了片内并行技术,TMS320C6X进一步发展了超长指令字(VLIW)和多流水线技术。在每条长达256bit的指令字中规定了多条流水线、多个处理单元的并行操作。DSP并行技术的主流则是向片外片间并行
28、发展,因为这种并行可以不受限制地扩大并行规模。以TMS320C4X和ADSP2106X为代表的并行DSP为用户提供了设计大规模并行系统的硬件基础,它们都提供了6个通信(链路)口,并为共享总线系统的设计提供了相应的总线控制信号线,可以组成松耦合的分布式并行系统和紧耦合的总线共享式并行系统。2.2 数字信号处理器的应用领域数字信号处理器的应用领域 随着DSP性能的迅速提高和成本价格的大幅度下降,DSP的应用范围不断扩大,成为当前产量和销售量增长最快的电子产品之一。DSP应用几乎遍及整个电子领域,常见的典型应用有:1通用数字信号处理通用数字信号处理 数字滤波、卷积、相关、FFT、希尔伯特变换、自适应
29、滤波、窗函数、波形发生等。2通信通信 高速调制解调器、编译码器、自适应均衡器、传真、程控交换机、蜂窝移动电话、数字基站、回音消除、噪声抑制、电视会议、保密通信、卫星通信、TDMA/FDMA/CDMA等各种通信制式。随着互联网络的迅猛发展,DSP又在网络管理服务、信息转发、IP电话等新领域扮演着重要角色,而软件无线电的提出和发展进一步增强了DSP在无线通信领域的作用。3语音处理语音处理 语音识别、合成、矢量编码、语音信箱。4图形图像处理图形图像处理 三维图像变换、模式识别、图像增强、动画、电子出版、电子地图等。5自动控制自动控制 磁盘、光盘、打印机伺服控制、发动机控制。6仪器仪表仪器仪表 测量数
30、据谱分析、自动监测及分析、暂态分析、勘探、模拟试验。7医学电子医学电子 助听器、CT扫描、超声波、心脑电图、核磁共振、医疗监护等。8军事与尖端科技军事与尖端科技 雷达和声纳信号处理、雷达成像、自适应波束合成、阵列天线信号处理、导弹制导火控系统、战场C3I系统、导航、全球定位GPS、目标搜索跟踪、尖端武器试验、航空航天试验、宇宙飞船、侦察卫星。9计算机与工作站计算机与工作站 阵列处理机、计算加速卡、图形加速卡、多媒体计算机。10消费电子消费电子 数字电视、高清晰度电视、图像声音压缩解压器、VCDDVDCD播放机、电子玩具、游戏机、数字留言应答机、汽车电子装置、音响合成、住宅电子安全系统、家电电脑
31、控制装置。2.3 DSP的选择和发展的选择和发展 DSP的应用范围十分广阔,不同的应用领域和不同的性能需要不同类型的DSP。在军事和尖端科技领域,对性能因素的考虑远远高于对成本等因素的考虑,因而这一应用领域总是集中体现了当今最先进的DSP发展水平。而在广阔的民用产品设计中,成本和性能同样重要,例如定点DSP的成本远低于浮点DSP,通信、语音、图像处理往往采用定点DSP就可以满足要求。定点DSP功耗也较低,一般在 0.51.5W,其低电压(2.5V、3.3V)型仅 200mw以下,而且在休眠模式下(Power down或Sleep)功耗更低。浮点 DSP由于片内集成度、运算复杂性较高,功耗是定点
32、DSP的35倍。因而过去和现在定点DSP在应用广泛性上占主导地位。但随着VLSI技术的发展,决定芯片生产成本的因素中,生产批量的大小起着越来越大的作用,尽管浮点DSP的结构复杂、集成度很 高,如果它能获得市场的承认而得到广泛应用,其价格会大幅度下降。另外,各种DSP面向不同应用领域,有其各自的结 构 和 功 能 特 点。以 T M S 3 2 0 系 列 为 例,TMS320F240适合于电机控制,TMS320C54X适合于通信及语音处理,TMS320C80则面向多媒体应用,雷达、声纳信号处理所需要的大动态范围和高速实时处理需要TMS320C4XC67X这样的高性能或并行DSP。综合起来,选择
33、合适的DSP所应考虑的主要方面有:性能指标;指令速度MIPS或运算速度MFLOPS,考虑是否必须多片并行处理。高速实时信号处理要求DSP处理系统必须在限定时间内完成任务,或者在允许的输出输入响应迟延范围内,系统的数据输入输出吞吐率必须达到一定速度。精度和动态范围。数据字宽、定点浮点;是否具备本应用所需要的某些特殊功能。如串行通信口、片内语音处理功能、片内AD或DA集成、与特定外部设备接口等等;价格成本。不单指芯片本身价格,还包括必需的外部配套器件成本;体积。同样包括了构成最小系统的电路尺寸;功耗。是否有低功耗(3.3 V2.5 V)型号,能否电池供电;应用开发时间周期。应具备完善的开发调试工具
34、,DSP本身易学易用;型号延续性。产品有较好的应用前景,或者未来有兼容替代型号,这要求生产厂家有相当实力,能在芯片生产或开发调试系统上得到其它厂商的支持。当选择一种DSP满足上述要求后,还应选择更具体的类型,如速度、工作温度范围、封装等等。许多DSP都提供了具备片内ROM型的产品,片内ROM可以将定型的程序代码固化到DSP片内,从而减少了系统的体积、功耗、电磁辐射干扰,速度也有所提高,当大批量生产时可降低成本。但这种ROM几乎都是一次性写入的,而且需要由厂家专门制作,其批量起点高(万片),带来了很大的资金投入和生产风险,因此对普通使用者,这些ROM是无用的。有些 DSP如 TM320C31C4
35、0,其片内有少量 ROM固化为加电引导程序,供各种加载模式下自动调用。有些 DSP如 TM320F206,其片内则有FLASH。DSP处理系统中除了DSP外,另外的不可缺器件就 是 存 储 器,一 个 独 立 系 统 必 须 有 E P R O M、EEPROM、FLASH、SSD(固态盘)等非易失性存储器来存放程序、初始化数据、表格等,为了采用低成本、小体积的存储器,就要选用那些带有8bit字节方式加载功能的DSP,如 TMS320C31等,而 TM320C30则必须用32 bit的存储加载。当DSP的片内存储器不够使用时,有必要采用可读写的片外存储器,SRAM速度高,与DSP连接简单,能被
36、DSP全速访问(无等待),但成本高、容量小、体积大,DRAM则与SRAM完全相反。为了克服DRAM必须刷新所带来的不利影响,已经有一种带一页SRAM缓存的增强型DRAM(EDRAM),除了DSP访问跨页时需要插入等待周期外,大多数情况下,EDRAM几乎与SRAM的性能一样,但容量大得多,而且DSP无须考虑对EDRAM中DRAM的刷新。同一型号DSP有多种速度级别、工作温度和封装形式,而且价格与其购买量关系很大。DSP集成度和性能呈加速增长势头,更新换代速度越来越快。采用主流产品和兼容性有保证的型号很重要。DSP的发展趋势:一是采用低压(3.3 V/2.5V/1.8V/1.5V/1.2V),可以
37、大大减少系统功耗,降低散热要求;二是采用越来越密集的封装形式,从DIPPGAPLCCQFP TQFPBGA,管脚间距越来越小,对电路板设计、制作、器件安装的要求越来越高。DSP另一大趋势是软件化,未来DSP需要“单片系统”,即在一个芯片上包括了处理控制单元、存储器、输入输出设备甚至 A/D、D/A等模拟器件,并且包括处理单元在内的各功能块都具有可重定义特性,这些系统的软硬件设计将更多地侧重于软件编程,这种基于软件的DSP设计方法将降低设计难度,提高设计效率。电子系统向软件化方向发展的一个实例是软件无线电的应用。目前无线通信领域存在着以下主要矛盾:新的通信体制和“标准”不断提出,通信产品生存周期
38、缩短、开发费用上升;各种通信体制并存,对多种体制间互联要求日趋强列;频带更加拥挤,要求更高的频带利用率和抗干扰能力。软件无线电将尽可能多的把无线及个人通信功能用软件实现,以可编程的通用DSP和可编程逻辑器件(FPGA)取代专用电路,使系统中硬件含量进一步下降,从而提高了设计的灵活性、兼容性和可升级能力,解决了上述矛盾。软件无线电需要有强大处理能力的硬件平台作支持,在此平台上运行不同软件就能支持多种通信体制,同时将传统通信系统中前端处理的专用硬件用可编程器件替代,大大增强了系统的兼容性和可升级能力,而性能迅速提高的DSP技术可以满足这一要求,而且并行浮点DSP适合通信领域日益复杂的数据处理所要求
39、的高精度、大动态范围、大运算量,在未来将取代更多的定点DSP。2.4 DSP系统的构成系统的构成 图2.3的输入信号可以是电信号、声音信号、物理信号、化学信号、连续信号、数字信号、强信号、弱信号。在前向通道中,首先通过传感器将各种信号转化为一定幅值的电信号,再将这些信号进行带限滤波,然后通过 AD或 VF变换将信号变换成为数字比特流。根据仙农抽样定理,为保持信息的不丢失,抽样频率至少必须是输人带限信号最小频率的2倍。当然,对特殊的信号可能有特殊的要求,如正弦信号一般须在一个周期内采用3个点以上。DSP芯片系统可能由一个DSP及外围总线组成,也可能由多个DSP组成,这完全取决于DSP处理的要求。
40、DSP芯片图图2.3 DSP系统的构成系统的构成 系统的主要任务是将前向通道输出的信号按照一定的算法进行处理,然后将处理的结果以数据流的形式输出给后向通道。后向通道主要由DA、FV、平滑滤波器及功率放大等部分组成,如图2.3所示。另外,大多数系统还有通信(串行、并行)、人机接口等部分。系统还可能通过COMPACT PCI、PCI、ISA、VXI等总线插在计算机上工作,或通过 3xBUS总线等组成紧凑型的控制系统,甚至还可以通过现场总线将整个系统作为整个现场系统中的一个节点。整个系统的协调运行主要依靠正确的逻辑控制电路设计。系统中的这些部分都将在后面详细阐述。必须指出,上面给出的DSP系统是一个
41、相对完备的DSP系统,但并不是所有的DSP系统都必须具有上述系统上的所有部件。如频谱分析中输出的不是连续的波形而是离散的频谱分析等。而在很多场合输入信号本身可能已经是数字信号,因此根本不必有前向通道环节。2.5 DSP系统的设计系统的设计 一、总体方案设计一、总体方案设计 现对图2.4所列各步骤作一简要说明。在进行DSP系统设计之前,首先要明确设计任务,给出设计任务书。在设计任务书中,应该将系统要达到的功能描述准确、清楚。描述的方式可以是人工语言,也可以是流程图或算法描述。在此之后应该把设计任务书转化为量化的技术指标。结合DSP系统的设计,这些技术指标主要包括:图图2.4 DSP总体设计框图总
42、体设计框图 由信号的频率决定的系统采样频率。由采样频率完成任务书最复杂的算法所需最大时间及系统对高速实时程度的要求判断系统能否完成工作。由数据量及程序的长短决定片内RAM的容量,是否需要扩展片外RAM及片外RAM容量。由系统所要求的精度决定是16位还是32位,是定点还是浮点运算。根据系统是计算用还是控制用来决定对输入输出端口的要求。在一些特殊的控制场合还有一些专门的芯片可供选用。如电机控制领域很适合用TMS320C2XX系列,因为它上面集成了2路AD输入,6路PWM输出及强大的人机接口。由上述的一些技术指标,大致可以确定应该选用的DSP芯片的型号。在确定DSP芯片选型之后,应当先进行系统的总体
43、设计。首先采用高级语言或Matlab等对算法进行仿真,确定最佳算法并初步确定参数,对系统中的哪些功能用软件来实现,哪些功能用硬件实现进行初步的分工,如FFT,FIR等是否需要用专用芯片来实现等。二、软件设计二、软件设计 1、DSP软件编程的特点软件编程的特点 在此对软件开发流程做简单的介绍。与计算机的汇编语言比起来,由于 TI公司汇编语言的指令系统比计算机汇编语言的指令系统要简单一些,而且由于有许多专门为数字信号处理而设计的指令,因此是比较容易掌握并运用于数字信号处理的编程中的。与高级语言比起来,使用DSP汇编语言的用户一定要熟悉DSP芯片内部结构和指令系统。尤其是在多DSP并行处理的场合,或
44、在便携电话、磁盘驱动器等编程空间很小的场合,这对偏重高效的DSP软件是非常重要的。高级语言(如 C语言)的开发工具不断完善,随着 TI公司 C语言编译器、优化器的不断改进,以及一些第三方的不断努力,C语言的编译效率已经得到了很大的提高。在C3X中,其编译效率大约为汇编语言的110,而到了C6X系列,其编译效率提高了3倍。在实时要求高的场合或实时要求高的算法中,用汇编语言开发;实时要求低的场合用C语言编程。将两者结合起来,既能保持算法的实时性,又能做到程序结构的清晰明了。2、软件编程的步骤、软件编程的步骤 用汇编语言、C语言或汇编语言和C语言的混编来编写程序,然后把它们分别转化成TMS320的汇
45、编语言并送到汇编语言编译器进行编译,生成目标文件。将目标文件送入链接器进行连接,得到可执行文件。将可执行文件调入到调试器(包括软件仿真、软件开发系统、评测模块、系统仿真器一般在系统调试中,系统仿真器是最常用的)进行调试,检查运行结果是否正确。如果正确进入第四步;如果不正确,则返回第一步。进行代码转换,将代码写人 E/EPROM,并脱离仿真器运行程序,检查结果是否正确。如果不正确,返回第三步;如果正确,进入下一步。软件测试。如果测试结果合格,软件调试完毕;如果不合格,返回第一步。上述步骤如图2.5 所示:图2.5 软件设计系统框图 三、硬件设计三、硬件设计 1、设计硬件实现方案、设计硬件实现方案
46、 所谓硬件实现方案是指根据性能指标、工期、成本等,确定最优硬件实现方案(考虑到实际的工作情况,最理想的方案不一定是最优的方案),并画出其硬件系统框图(图2.6)。这时对于具体器件的要求应该已经比较明确。2、进行器件的选型、进行器件的选型 一般系统中常用 AD、DA、内存、电源、逻辑控制、通信、人机接口、总线等基本部件。下面将大致介绍它们的确定原则,至于具体的介绍详见后续各章。图图2.6 硬件系统设计框图硬件系统设计框图 AD:根据采样频率、精度来确定AD型号,是否要求片上自带采保、多路器、基准电源等。DA:信号频率、精度是否要求自带基准电源、多路器、输出运放等。内存:内存:包括SRAM,EPR
47、OM(或 EEPROM或 FLASH MEMORY),在 TMS320C6X等一些产品中还有SDRAM,SBSRAM。所有这些的选型主要考虑工作频率、内存容量位长(8位16位32位)、接口方式(串行还是并行)、工作电压是5 V还是3.3 V或2.5V。逻辑控制:逻辑控制:首先是确定用PLD,EPLD,还是用FPGA。其次根据自己的特长和公司芯片的特点决定采用哪家公司的哪一系列的产品。最后还须根据DSP的频率决定芯片的工作频率以确定使用的芯片。数据交换:数据交换:根据数据交换的速率决定采用交换方式。Network Interface Units:Serial Communication Inte
48、rface(SCI)-UART:RS232、RS422 Serial Peripheral Interface(SPI)Inter Integrated Circuit(I2C)Bus Controller Area Network(CAN)Local Interconnect Network(LIN)Universal Serial Bus(USB)Local/Wide Area Networks(LAN,WAN)如果还有更高的要求则应考虑通过总线进行数据交换。再高则可采用 LVDS、FPDP和光纤。总线:总线:一般有ISA、PCI、VME等。采用哪一种总线主要看使用的场合、数据传输速率的高
49、低(总线宽度、频率高低、同步方式等)。人机接口:人机接口:有键盘、显示器等它们可以通过与80C51 等通用单片机的通信来构成,也可以在DSP的基础上直接构成,视情况而定。电源:电源:主要是电压的高低以及电流的大小。电压高低要匹配,电流容量要足够。上述这些部件的选择可能会相互有些影响。同时,在选型时还必须充分考虑到供货能力、性能价格比、技术支持、使用经验等因素。3、原理图设计、原理图设计 在这一步之前的工作基本上是分析工作。而从这一步起,则开始综合的工作,逐步开始系统的集成。在所有的综合工作中,原理图的设计是关键的一步。在原理图的设计时必须清楚了解器件的使用和系统的 开发,对于一些关键的环节有必
50、要做一定的仿真。随着大规模集成芯片和可编程逻辑芯片的发展,使硬件 原理设计的难度得以降低,但它依然是DSP系统集成中关键的一步。原理图设计的成功与否是DSP系统能否正常工作的最重要的一个因素。4、PCB设计设计 PCB图的设计要求DSP系统的设计人员既要熟悉系统工作原理,还要清楚布线工艺和系统结构设计。高速PCB的设计后面章节详细介绍。5、硬件调试、硬件调试 后面我将结合具体项目,将围绕硬件方案的确定、器件的选型、原理设计和硬件调试进行深入浅出的阐述。在完成系统的软硬件设计之后,将进行系统集成。所谓系统集成是将软硬件结合起来,并组装成一台样机,并在实际系统中运行,进行系统测试。如果系统测试结果