数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。
1.1数字信号处理器的发展和特点
实时数字信号处理技术的核心和标志是数字信号处理器(DSP)。自第一个微处理器问世以来,处理器技术得到了十分迅速的提高,而快速傅立叶变换等实用算法的提出促进了专门实现数字信号处理的一类微处理器的分化和发展。数字信号处理有别于普通的科学计算与分析,它强调运算处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上做了很大的改动,其结构特点如下:
1) DSP普遍采用了数据总线和程序总线分离的哈佛结构及改进的哈佛结构,比传统处理器的冯•诺依曼结构有更高的指令执行速度;
2) DSP大多采用流水技术,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等多个步骤,从而在不提高时钟频率的条件下减少了每条指令的执行时间;
3) 片内有多条总线可以同时进行取指和多个数据存取操作,并且有辅助寄存器用于寻址,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址;
4) 针对滤波、相关、矩阵运算等需要大量乘法累加运算的特点,DSP大多配有独立的乘法器和加法器,使得同一时钟周期内可以完成相乘、累加两个运算,最新出现的如ADSP-2106x、ADSP-2116x、DSP96000、ADSP-TS101、ADSP-TS201系列的DSP可以同时完成乘、加、减运算,大大加快了FFT的蝶形运算速度;
5) 许多DSP带有DMA通道控制器,以及串口通信等,配合片内多总线结构,数据块传送速度大大提高;
6) 配有中断处理器和定时控制器,可以很方便地构成一个小规模系统;
7) 具有软、硬件等待功能,能与各种存储器连接。
数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:DSP面向高性能、重复性、数值运算密集型的实时处理;MPU大量用于计算机;MCU则用于以控制为主的处理过程。而DSP本身具有以下功能,提高了实时数字信号处理的性能:
1) 单指令周期的乘、加操作;
2) 特殊的高速寻址方式,可以在其他操作进行的同时完成地址寄存器指针的修改,并具有循环寻址、位反序寻址功能。循环寻址用于FIR滤波器,可以省去相当于迟延线功能的大量数据移动,用于FFT则可以紧凑地存放旋转因子表;位反序有利于FFT的快速完成;
3) 针对实时处理所设计的存储器接口,能在单指令周期时间内完成多次存储器或I/O设备访问;
4) 专门的指令集和较长的指令字,一个指令字同时控制片内多个功能单元的操作;
5) 单片系统,易于小型化设计;
6) 低功耗,一般为0.5—4W,采用低功耗技术的DSP只有0.1W,可用电池供电,对嵌入式系统很适合,而新型MPU,如Pentium、Power PC等功耗达20-50W。
因此,DSP的运算速度要高得多。以FFT、相关为例,高性能DSP不仅处理速度是MPU的4~10倍,而且可以流水无间断地完成数据的实时输入和输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU要强得多。以一个FIR滤波器为例,每输入一个数据,对应每阶滤波器系统需要一次乘、一次加、一次取指、两次取数,有时还需要专门的数据移动操作,DSP可以单周期完成乘加并行操作以及3~4次数据存取操作,而普通MPU至少需要4个指令周期,因此在相同的指令周期和片内缓存条件下,DSP是MPU运算速度的4倍以上。
正是基于DSP的这些优势,在高性能通用微处理器(如Pentium MMx、Power PC 604e等)片内已经融入了DSP的功能,从而使计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。
自1985年第一片数字信号处理器TMS320C10产生以来,DSP发展大致经历了多个阶段,目前形成了DSP产品的三类档次:第一类是低成本、低功耗、高性价比的16bit定点DSP,应用最广泛,代表产品是TMS320C2000、TMS320C5000、ADSP21xx、Blackfin等型号;第二类是32bit浮点DSP,目前代表产品有TMS320C3x、ADSP2106x等型号;第三类是性能更高的DSP,如定点的TMS320C62xx、TMS320C64xx,浮点的TMS320C67xx、ADSP2116x、Tiger SAHRC等型号。
不同类型的 DSP适用于不同的场合。定点DSP可以胜任大多数数字信号处理应用,速度比浮点DSP快,成本、功耗比浮点DSP低;但在某些场合,当信号处理方式复杂、数据的动态范围很大时,按定点处理就会发生数据上溢出或下溢出,使信号处理无法进行。如果仍用定点DSP,以移位定标或模拟浮点运算的方式,将实程序执行速度大大降低。若采用浮点DSP,就解决了这些问题。常见的16bit定点DSP动态范围仅96dB,每增加1bit,动态范围增加6dB;而32bit浮点数据的动态范围为1536dB。因此,浮点DSP的处理性能在许多情况下要比定点DSP高得多。32位浮点DSP也可以完成32位定点运算(与定点DSP用法一致),目前的浮点DSP还具备更大的存储访问空间。更重要的是,浮点DSP的汇编程序比定点DSP的汇编程序简单:、易读、易编程、易调试,产生的代码也短,与常用的C编程方法相近,因此目前高级语言(如C语言)编译器更适合于浮点DSP,这使得普通计算机上的源代码无需大的修改,就可以较方便地移植到DSP设计中。
虽然目前已经有了峰值运算能力超过每秒10亿次的DSP,但相对于人们要求的每秒几百亿次、上千亿次运算来说仍远远不够;而且VLSI技术的发展已经受到其开关速度极限的限制,进一步提高DSP主频所遇到的难度和付出的成本越来越大,单处理器性能的提高余地因此受到限制。为此,引入了并行处理技术。其实在DSP内部的多级流水处理、同时相乘/累加进行等功能中已经融入了片内并行技术。TMS320C6x进一步发展了超长指令字(VLIW)和多级流水线技术,在每条长达256bit的指令字中指定了多条流水线、多个处理单元的并行操作。而DSP并行技术的主流则是向片外/片间并行发展,因为这种并行可以不受限制地扩大并行规模。以TMS320C4x、ADSP2106x和ADSP-2116x为代表的并行DSP为用户提供了设计大规模并行系统的硬件基础,它们不但都提供了多通信(链路)口,还提供了多DSP共享总线的控制逻辑。利用通信(链路)口可以组成松耦合的分布式并行系统,利用共享总线控制逻辑,可方便地直接构成共享总线/存储器的多DSP系统,即紧耦合的总线共享式并行系统。
1.2数字信号处理器的应用领域
随着DSP性能的迅速提高和成本价格的大幅度下降,DSP的应用范围不断扩大,成为当前产量和销售量增长最快的电子产品之一。DSP应用几乎遍及整个电子领域,常见的典型应用有:
1.通用数字信号处理
数字滤波、卷积、相关、FFT、希尔伯特变换、自适应滤波、窗函数、波形发生等。
2.通信
高速调制解调器、编/译码器、自适应均衡器、传真、程控交换机、蜂房移动电话、数字基站、数字留言机、回音消除、噪声抑制、电视会议、保密通信、卫星通信、TDMA/PDMA/CDMA等各种通信制式。随着互联网络的迅猛发展,DSP又在网络管理/服务、信息转发、IP电话等新领域扮演着重要角色,而软件无线电的提出和发展进一步增强了DSP在无线电通信系统的作用。
3.语音识别
语音识别、语音合成、矢量编码、语音信箱。
4.图形/图像处理
三维图像变换、模式识别、图像增强、动画、电子出版、电子地图等。
5.自动控制
磁盘、光盘、打印机伺服控制、发动机控制。
6.仪器仪表
测量数据谱分析、自动监测及分析、静态分析、勘探、模拟试验。
7.医学电子
助听器、CT扫描、超声波、心脑电图、核磁共振、医疗监护等。
8.军事与尖端科技
雷达和声纳信号处理、雷达成像、自适应波束合成、阵列天线信号处理、导弹制导、火控系统、战场C3I系统、导航、全球定位GPS、目标搜索跟踪、尖端武器试验、航空航天试验、宇宙飞船、侦察工具。
9.计算机与工作站
阵列处理机、计算加速卡、图形加速卡、多媒体计算机。
10.消费电子
数字电视、高清晰度电视、图像/声音压缩解压器、VCD/DVD/CD播放机、电子玩具、游戏机、数字留言/应答机、汽车电子装置、音响合成、住宅电子安全系统、家电电脑控制装置。
关键词:
教材
连载
技术
综述
数字
信号处理
运算
指令