1、第 1 页数字信号处理技术与发展前景缪家骏(徐州医学院,江苏 徐州)内容摘要:20 世纪 60 年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。通过对互联网上资料的搜集和整理,以及由资深工程师多年的实践经验总结,得出了 DSP 技术的七大特点和五大趋势。希望对读者在学习以及研究方面有些许启发。关键词:数字信号处理,DSP 技术,发展趋势Abstract: When it appeared in 1960s, Digital Signal Processing developed rapi
2、dly by the rapid development of computer and information technology . In the past 20 years , DSP has been largely used in the field like information communication. We founded that DSP has seven characteristics and five development directions through collecting information on the internet and asking
3、DSP engineers. It might will be useful to the readers.Key words: DSP,embedded,electronic technology数字信号处理(DigitalSignalProcessing,简称 DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20 世纪 60 年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛 DSP 技术图解的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值
4、、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。1
5、.实现方法DSP 的实现方法一般有以下几种:(1) 在通用的计算机(如 PC 机)上用软件(如 Fortran、C 语言)实现;(2) 在通用计算机系统中加上专用的加速处理机实现;(3) 用通用的单片机(如 MCS-51、96 系列等)实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制等;(4) 用通用的可编程 DSP 实现。与单片机相比,DSP 芯片具有更加适合于数字信号处理的软件和硬件资源,可用于 复杂的数字信号处理算法;(5) 用专用的 DSP 芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP 芯片很难实现,例如专用于 FFT、数字滤波、卷积、相关等算法的 DSP
6、 芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需进行编程。在上述几种方法中,第 1 种方法的缺点是速度较慢,一般可用于 DSP 算法的模拟;第2 种和第 5 种方法专用性强,应用受到很大的限制,第 2 种方法也不便于系统的独立运行;第 2 页第 3 种方法只适用于实现简单的 DSP 算法;只有第 4 种方法才使数字信号处理的应用打开了新的局面。历史世界上第一个单片 DSP 芯片应当是 1978 年 AMI 公司发布的 S2811,1979 年美国 Intel公司发布的商用可编程器件 2920 是 DSP 芯片的一个主要里程碑。这两种芯片内部都没有现代 DSP 芯片所必须有的单周期
7、乘法器。1980 年,日本 NEC 公司推出的 PD7720 是第一个具有乘法器的商用 DSP 芯片。2.特点考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR) 。用数学语言来说,FIR 滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了 DSP 器件与通用处理器(GPP )的分流:2.1 对密集的乘法运算的支持GPP 不是设计来做密集乘法任务的,即使是一些现代的 GPP,也要求多个指令周期来做一次乘法。而 DSP
8、 处理器使用专门的硬件来实现单周期乘法。DSP 处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果 bits 的额外 bits 来避免溢出。同时,为了充分体现专门的乘法-累加硬件的好处,几乎所有的 DSP 的指令集都包含有显式的 MAC 指令。2.2 存储器结构传统上,GPP 使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。通常,做一次乘法会发生 4 次存储器访问,用掉至少四个指令周期。大多数 DSP 采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核
9、,允许同时对它们进行访问。这种安排将处理器存贮器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP 得以实现单周期的MAC 指令。还有一个问题,即现在典型的高性能 GPP 实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。然而从逻辑上说,两者还是有重要的区别。GPP 使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道) 。与此相反,DSP 使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用
10、 DSP 时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。此外,DSP 处理器几乎都不具备数据高速缓存。这是因为 DSP 的典型数据是数据流。也就是说,DSP 处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。2.3 零开销循环如果了解到 DSP 算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的 DSP 都有专门的硬件,用于零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减 1。与此相反,GPP 的循环使用软件
11、来实现。某些高性能的 GPP 使用转移预报硬件,几乎第 3 页达到与硬件支持的零开销循环同样的效果。2.4 定点计算大多数 DSP 使用定点计算,而不是使用浮点。虽然 DSP 的应用必须十分注意数字的精确,用浮点来做应该容易的多,但是对 DSP 来说,廉价也是非常重要的。定点机器比起相应的浮点机器来要便宜(而且更快) 。为了不使用浮点机器而又保证数字的准确,DSP 处理器在指令集和硬件方面都支持饱和计算、舍入和移位。2.5 专门的寻址方式DSP 处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。例如,模块(循环)寻址(对实现数字滤波器延时线很有用) 、位倒序寻址(对 F
12、FT 很有用) 。这些非常专门的寻址模式在 GPP 中是不常使用的,只有用软件来实现。2.6 执行时间的预测大多数的 DSP 应用(如蜂窝电话和调制解调器)都是严格的实时应用,所有的处理必须在指定的时间内完成。这就要求程序员准确地确定每个样本需要多少处理时间,或者,至少要知道,在最坏的情况下,需要多少时间。如果打算用低成本的 GPP 去完成实时信号处理的任务,执行时间的预测大概不会成为什么问题,应为低成本 GPP 具有相对直接的结构,比较容易预测执行时间。然而,大多数实时 DSP 应用所要求的处理能力是低成本 GPP 所不能提供的。这时候,DSP 对高性能 GPP 的优势在于,即便是使用了高速
13、缓存的 DSP,哪些指令会放进去也是由程序员(而不是处理器)来决定的,因此很容易判断指令是从高速缓存还是从存储器中读取。DSP 一般不使用动态特性,如转移预测和推理执行等。因此,由一段给定的代码来预测所要求的执行时间是完全直截了当的。从而使程序员得以确定芯片的性能限制。2.7 开发工具的要求因为 DSP 应用要求高度优化的代码,大多数 DSP 厂商都提供一些开发工具,以帮助程序员完成其优化工作。例如,大多数厂商都提供处理器的仿真工具,以准确地仿真每个指令周期内处理器的活动。无论对于确保实时操作还是代码的优化,这些都是很有用的工具。GPP 厂商通常并不提供这样的工具,主要是因为 GPP 程序员通
14、常并不需要详细到这一层的信息。GPP 缺乏精确到指令周期的仿真工具,是 DSP 应用开发者所面临的的大问题:由于几乎不可能预测高性能 GPP 对于给定任务所需要的周期数,从而无法说明如何去改善代码的性能。3.应用现代社会对数据通信需求正向多样化、个人化方向发展。而无线数据通信作为向社会公众迅速、准确、安全、灵活、高效地提供数据交流的有力手段,其市场需求也日益迫切。正是在这种情况下,3G、4G 通信才会不断地被推出,但是无论是 3G 还是 4G,未来通信都将离不开 DSP 技术(数字信号处理器),DSP 作为一种功能强大的特种微处理器,主要应用在数据、语音、视像信号的高速数学运算和实时处理方面,
15、可以说 DSP 将在未来通信领域中起着举足轻重的作用。为了确保未来的通信能在各种环境下自由高效地工作,这就要求组成未来通信的 DSP要具有非常高的处理信号的运算速度,才能实现各种繁杂的计算、解压缩和编译码。而目前DSP 按照功能的侧重点不一样,可以分为定点 DSP 和浮点 DSP,定点 DSP 以成本低见长,浮点 DSP 以速度快见长。如果单一地使用一种类型的 DSP,未来通信的潜能就不能得到最大程度的发挥。为了能将定点与浮点的优势集于一身,突破 DSP 技术上的瓶颈,人们又推出了一种高级多重处理结构-VLIW 结构,该结构可以在不提高时钟速度的情况下,实现很强的数字信号处理能力,而且它能同时
16、具备定点 DSP 和浮点 DSP 所有的优点。为了能推出一系列更高档的新技术平台,人们又开始注重 DSP 的内核技术的开发,因为 DSP 的内核就第 4 页相当于计算机的 CPU 一样,被誉为 DSP 的心脏,大量的算法和操作都得通过它来完成,因此该内核结构的质量如何,将会直接影响整个 DSP 芯片的性能、 功耗和成本。考虑到未来无线访问 Internet 因特网和开展多媒体业务的需要,现在美国的 Sun 公司又开始准备准将该公司的拳头产品-PersonalJava 语言嵌入到 DSP 中,以便能进一步提高DSP 在处理信号方面的自动化程度和智能化程度。当然,在以前 DSP 中也潜入了其他软件
17、语言,例如高级 C 语言,但这种语言在处理网络资源以及多媒体信息方面无能为力;而PersonalJava 是一种适合个人网络连接和应用的 Java 环境,基于该环境的个人通信系统可以从网络和 Internet 网上下载数据和图像。此外,人们还在研究开发符合 MPEG-4 无线解压缩标准 DSP,该压缩标准将为未来通信传输各种多媒体信息提供了依据。作为一个案例研究,我们来考虑数字领域里最通常的功能:滤波。简单地说,滤波就是对信号进行处理,以改善其特性。例如,滤波可以从信号里清除噪声或静电干扰,从而改善其信噪比。为什么要用微处理器,而不是模拟器件来对信号做滤波呢?我们来看看其优越性:模拟滤波器(或
18、者更一般地说,模拟电路)的性能要取决于温度等环境因素。而数字滤波器则基本上不受环境的影响。数字滤波易于在非常小的宽容度内进行复制,因为其性能并不取决于性能已偏离正常值的器件的组合。一个模拟滤波器一旦制造出来,其特性(例如通带频率范围)是不容易改变的。使用微处理器来实现数字滤波器,就可以通过对其重新编程来改变滤波的特性。4.发展趋势在 4G 无线通信领域,数据吞吐量已经达到了 3G 时代的 100 到 1000 倍;在多媒体处理器领域,每天都有新的标准涌现出来;在更多其它 DSP 应用领域,密集的数据处理器需求不断给处理器设计团队带来新的挑战。随着更多新应用的更高要求,未来的 DSP 发展将呈现
19、哪些趋势?带着这个问题,本期电子系统设计 ,我们特意采访了 ADI、Atmel、Freescale以及 TI 公司在 DSP 领域的资深专家,并总结出以下四大发展趋势: 4.1DSP 内核指令并行处理能力增强DSP 内核指令并行处理能力增强,SIMD(单指令多重数据)和 VLIW(极长指令字)将会在新一代高性能处理器中占据主导地位。现在,几乎所有的 DSP 厂商都使用了 VLIW 构架,这一指令构架大大加强了 DSP 处理器的指令并行能力,而 SIMD 指令集能够大幅度提高数据并行处理能力,在通用处理器上也得到了大量使用。例如,CEVA 最新的 XC323 内核就包括 8 路 VLIW、512
20、 位 SIMD 操作、每周期 32 次 MAC 乘加运算,以及固有的复杂算术运算支持。这是 CEVA 针对 4G 应用推出的全新构架,直接针对高吞吐量高性能的应用需求。 4.2 多核 DSP 方案会越来越多在某些苛求高性能的应用中,多核 DSP 方案会越来越多。这点得益于半导体制造工艺的发展,单颗芯片上可以集成越来越多的晶体管,也符合处理器整体多核化的趋势,因为考虑到功耗的原因,单一内核通过提高主频的方式已经难以为继。依靠多核并行处理提高性能,已经成为整个行业的选择。例如德州仪器的 C66x 高性能多核 DSP 系列,最高可集成八个C66x 内核,每个内核都可达到 1GHz 或 1.25GHz
21、 的频率,总共可达到 320 GMAC 和 160 GLOP 定点和浮点性能,非常适合医疗和高端成像、测试和自动化、高性能计算和核心网络等高端应用。 4.3 同时支持定点和浮点计算同时支持定点和浮点计算。该趋势与通用处理器的发展方向保持一致,最早处理器也是整数运算单元和浮点运算单元分离的,现在的处理器都集成了整数和浮点计算单元。从目前面世的产品来看,德州仪器的 TMS320C66x 系列多核 DSP 已经融合了定点和浮点功能。第 5 页德州仪器半导体事业部业务拓展经理丁刚表示:“在保证高性能的同时,统一定点和浮点支持更便于编程。TI 已经完成了这点,我们认为业界也会跟进。 ”ADI 的技术市场
22、经理张铁虎对此表示认同:“今后几年,我们可以见到 DSP 向着 32 位的方向发展,同时支持整数和浮点算术指令集。 ”4.4 单片 DSP单片 DSP 又被称为 DSC(digital signal controller,数字信号控制器),这也是 SoC 的概念,通过先进技术集成更多功能和接口来降低整体板级成本、功耗和大小,包括各种模拟数字片上外设、硬件加速、通用处理内核。德州仪器的达芬奇平台就是一个 SoC 的典型例子,此外还有飞思卡尔的 MC56F82xx 系列。MC56F82xx 是基于 56800E 内核 DSC 系列的成员,它结合了微控制器(MCU)的功能和数字信号处理器(DSP )的处理能力,提供广泛的外设,包括带有 NanoEdge 布局技术的高速脉宽调制器以及两个超高速模数转换器(ADC)。飞思卡尔微控制器事业部高级系统工程师 Charlie Wu 表示:“这种 DSC 会大量应用在新能源领域,如数字电源、太阳能发、混合动力汽车的电池充电管理等。 ” 参考文献1百度百科.dspG/OL.2011-10-13. http:/ 技术G/OL.2011-10-13.http:/ eetchina. DSP 未来发展五大趋势N/OL.2011-10-13.http:/