数字信号处理是一项隐形技术。它是从您的手机到火星探测器等一切设备的核心使能技术。它的作用远不止于实现一次性的突破性产品。它提供不断提升的能力;比较拨号调制解调器的性能提升与近期DSL和有线调制解调器的性能提升。值得注意的是,数字信号处理已变得无处不在,但却鲜为人知,并且大多数用户甚至没有意识到它是什么。因此,有必要了解DSP的发展历史,解释这项技术是什么,并回顾用于实现现代数字信号处理系统的众多技术。
数字信号处理是理论与实践的完美结合。正是这种结合有助于解释其大部分历史发展。从最广泛的意义上讲,数字信号处理是对具有数字表示的信号进行转换。今天,这已经意味着大量的多样化处理任务,范围广泛,例如语音压缩、图像识别和机器人控制系统。
但开端确实很不起眼。在20世纪40年代后期,香农和博德这两位如今的传奇人物讨论了使用数字元件构建滤波器的可行性。然而,由于成本、尺寸和可靠性等实际考虑因素,最终还是选择了继续使用模拟滤波和频谱分析技术。在20世纪50年代,随着访问大型计算机的机会增加,一些数字信号处理应用开始出现。最值得注意的是,地震科学家开始将一套有限的数字信号处理技术应用于他们的问题1。
在20世纪60年代中期,集成电路的出现显然为完整的数字信号处理系统提供了一条途径。这推动了更正式的数字信号处理理论的发展。这个时代见证了凯泽在数字滤波器设计领域以及库利和图基在开发DFT(离散傅里叶变换)快速计算方法方面的重大贡献。该领域的许多变体和扩展被称为FFT(快速傅里叶变换)。
这些在时域(数字滤波器)和频域(FFT)的开创性工作表明,这项新兴技术可以应用于信号的时域和频域表示的二元性。这些早期、重大的成功清楚地表明,数字技术可以提供20年前无法获得的成本、尺寸和性能优势。到20世纪70年代,这项技术开始更广泛地传播。1975年出版的两本重要教科书最好地例证了这一点:拉宾纳和戈尔德的《数字信号处理的理论与应用》2面向实践工程师和高级课程作业;奥本海姆和谢弗的《数字信号处理》3面向研究生。
如今,数字信号处理已成为一项无处不在的技术。它通过手机和数字基站、家庭DSL和有线调制解调器及其在中心办公室的端点连接,实现了蜂窝技术的增长。数字信号处理器 (DSP) 为从数码相机到PDA再到高性能家庭音频接收器等消费产品提供动力。
让我们考虑一个简单的DSP系统(见图1),这将有助于说明大多数DSP子系统中发现的许多组件。当然,要进行数字信号处理,您必须拥有以数字方式表示的信号。许多系统都有一个A/D(模数)转换器,用于采样模拟信号并将其转换为数字表示。此时,DSP接管并处理信号。然后,信号必须通过D/A(数模)转换器转换回模拟表示。
为了熟悉数字信号处理应用中执行的计算类型,请考虑图2中所示的FIR(有限脉冲响应)滤波器的两种等效表示。
第一个表示是信号流图,显示了FIR滤波器操作中的数据流。z-1元素表示延迟元素。这些可以通过图3中FIR滤波器的差分方程表示更清楚地看到。FIR滤波器说明了许多DSP算法的最常见特征
当然,并非所有数字信号处理应用都像FIR滤波器。IIR(无限脉冲响应)滤波器具有与FIR滤波器不同的结构。FFT具有不同的乘法和加法组合。许多复杂的应用,例如语音编码器和图像编码器,都有很大一部分控制代码。由于这些不同的需求,正如您可能预期的那样,有许多实现选项。
使用定点算术的数字信号处理算法的实际实现必须解决诸如变量精度、结果动态范围以及处理溢出条件的重要性等问题。为了说明其中一些问题,让我们考虑一个实际示例。
当在两个16位数字之间执行乘法时,会创建一个32位乘积。许多DSP算法的核心是一个循环,该循环执行一系列这些32位乘积的加法。很久以前人们就认识到,这一系列加法会很快使32位寄存器溢出。为了解决这个问题,DSP使用了两种基本策略:一种是添加保护位;另一种是在溢出或下溢时饱和。
保护位将乘积的存储扩展到超过乘法器输入大小的两倍。例如,当两个16位数字相乘时,它们的32位乘积被添加到比32位更宽的寄存器中,通常是40位寄存器。这是大多数现代DSP使用的方法。早期的DSP,如32010和320C25(如图4所示),没有保护位,但它们确实使用了饱和4。
许多VoIP(IP语音)和标准电信应用需要保护位——即40位——才能良好工作,最值得注意的是,回声消除、LMS(最小均方)滤波器抽头更新以及使用指数平均的功率计算。
在处理器中,有必要用有限数量的位来表示数字。乘法器、寄存器文件和ALU(算术逻辑单元)都构建为处理有限大小的数据。这种有限的大小引入了在实现算法时必须理解的影响。
这种情况在最早的数字信号处理工作中就已认识到。研究最多的案例之一是溢出对数字信号处理计算的影响。
图5显示了可能发生的两种情况。溢出会导致剧烈的不连续性。为了了解情况,请考虑一个收音机,其音量旋钮具有图5所示的自然溢出特性。当我们调低音量旋钮时,它达到最低音量;但是如果我们再稍微调低旋钮,我们会突然达到峰值音量。这不是一个非常理想的行为!另一方面,图5所示的饱和特性提供了更合理的行为。当收音机的音量旋钮调低时,我们达到最低音量并停留在那里。这些影响是有问题的,因为它们将行为良好的线性系统变成了通常难以分析的非线性系统。
在一个像IIR滤波器这样简单的系统中,溢出是一个非常重要的考虑因素。对于一个稳定的IIR系统,使用无限精度算术实现,如果输入变为零并保持为零,则输出将渐近衰减到零。但对于必须处理有限寄存器算术的实际系统而言,情况并非如此,因为数字信号处理算法是在具有规定字宽存储的计算机上实现的。
对于相同的IIR滤波器,使用有限寄存器算术实现,而没有饱和的好处,输出可能会无限期地持续振荡。这种效应称为极限环行为,是溢出的结果。由于溢出在输出中插入了一个严重的错误,因此滤波器输出随后可以在大幅度极限之间振荡。这些类型的极限环被称为溢出振荡。可以通过使用图5的饱和溢出特性来避免溢出振荡。
到目前为止,我们已经考虑了数字信号处理。现在我们将注意力转向它的实现,即数字信号处理器。
实时数字信号处理是越来越多产品的关键推动力。与此同时,这些产品也面临着巨大的开发压力。例如,消费领域充斥着PDA、手机和数码相机等新产品,这些产品比以往任何时候都更智能、更快、更小巧、更互联。然而,每次这些产品在功能方面达到新的高度时,客户总是不可避免地开始要求更多——更高的速度、效率和便携性——并且他们现在就想要。
显然,这对被要求满足这些不同需求的设计工程师造成了巨大压力。他们必须降低成本和功耗,同时提高性能和灵活性。而且他们必须在日益复杂的开发环境中并在不断缩短的设计周期内完成所有这些工作。
此外,设计人员还面临着无数种实现技术,所有这些技术都声称最适合给定应用程序的实时操作。构建DSP至少有六种不同的实现技术可供考虑5:
这些选项中的每一个都有其优点和缺点。为了提供一些视角,我们使用以下标准检查这六种流行的架构
上市时间。 这是从概念构思到系统实现再到批量生产所需的时间。
性能。 有些系统需要最大性能。另一些系统则只需要足够满足系统要求即可。
价格。 这是最终系统的价格,而不是开发成本。
开发易用性。 这是对上市时间影响最大的因素之一。
功耗。 不同的应用程序可能以不同的方式表达“功耗”要求。
功能灵活性。 系统部署后,更改(即升级或增强)有多困难?
在六种流行的DSP实现技术中进行选择之前,设计人员需要权衡每种技术针对其特定应用的优缺点。以下是每个选项的摘要。
ASIC。 ASIC实现具有一些显着的优势,所有这些优势都源于这样一个事实,即由于这是自下而上的设计,因此可以针对特定的性能、价格和功耗目标进行实现。但是这种调整能力是我们看到ASIC设计面临的挑战之一的地方。
今天的设计师不仅要使功能在逻辑上正确,而且还必须实现所需的时钟速率。未达到时钟速率目标通常可能意味着需要重新进行与目标在逻辑上等效但在实现方面差异很大的实现。
选择ASIC实现路径时所做的主要权衡是上市时间的影响。ASIC设计周期、设计验证、制造和认证很容易花费一年以上的时间。
最后,尽管最终生产的ASIC可能很便宜,但在总体开发成本方面,ASIC方法是最昂贵的。这归因于在芯片上创建应用程序所需的逻辑设计量,以及不断增加的硅处理成本,每次硅的全掩模版修订都需要数十万美元。在开发帮助方面,ASIC提供一般支持,但不提供任何特定于应用程序的帮助,因为ASIC供应商普遍缺乏特定于应用程序的内容知识。
因此,调整ASIC的能力在性能、大批量产品成本以及功耗或能源方面带来了显着优势,但这必须仔细权衡其开发时间长、开发成本高且通常灵活性设计降低的缺点。
ASSP。 专用标准产品经过专门设计以执行特定功能,并且可以现成购买。例如,MPEG解码器。对于ASSP,使用的实现技术(即ASIC、定制或可编程)不是其显着特征。相反,其显着特征是它已针对特定应用进行了优化。这允许在功耗(能源)、性能和价格方面具有潜在优势。由于产品已经设计完成,因此避免了ASIC的漫长设计时间,并允许快速集成到终端系统中。
如果ASSP的目标市场已经存在并且ASSP已经存在,则上市时间可能非常好甚至极佳。由于ASSP专门针对特定应用进行了调整,因此它应该提供高应用特定性能。同样,它在价格和功耗方面也应该不错。
当然,像我们正在考虑的所有方法一样,ASSP也有一个缺点。通常,它们的灵活性较差,因为它们本质上特定于其应用,特别是特定于其针对目标应用的独特解决方案方法。这种特定的关注和优化是对灵活性的权衡。
DSP。 DSP和其他可编程解决方案(如RISC处理器和MCU)在解决上市时间问题方面非常出色。与ASIC等更硬连线的实现相比,它们通过软件可编程性来实现不同功能和特性的优势节省了上市时间。
由于DSP专门针对数字信号处理应用,因此它们的工具集通常经过调整以满足这些应用的需求。DSP在性能方面也很强大,因为它们针对特定的应用领域和特定的性能水平进行了调整。DSP的成本效益不如ASIC或MCU,但与MCU相差不远。
DSP非常节能,特别是当您考虑到专为低功耗手持应用设计的DSP平台(如TI的TMS320C5000)时。
DSP通常辅以功能强大且易于使用的编程和调试工具,以及了解实时世界并随时准备帮助客户实现其实时设计的技术支持网络和应用工程师。
在开发成本方面,与开发专用芯片相比,DSP的可编程性允许更快地开发所需功能,从而节省开发成本。通过正确使用高级编程和/或标准代码模块,您可以显着缩短开发时间,从而节省开发成本。
由于DSP可以使用软件可编程性来实现不同的功能和特性,因此与类似的硬编码逻辑实现相比,它可以提供更短的上市时间。对于实时信号处理,DSP在可编程处理器(DSP、RISC、MCU)中被评为最佳,因为它拥有最佳和最相关的工具集和价值网络来实现与实时信号处理相关的功能。
FPGA。 FPGA在上市时间方面具有优势。它们允许在现场进行修改以支持适量的功能更改,但它们的灵活性不如软件可编程替代方案——DSP、MCU和RISC。然而,FPGA比ASSP或ASIC具有更好的支持和更快的设计周期时间,因此可以声称比这些替代方案具有更快的上市时间。
FPGA在性能方面也很强大。借助FPGA,开发人员可以调整特定于应用程序的硬件门,从而提供高应用特定性能。
FPGA有一些明显的缺点。它们可能很昂贵;从逻辑门的角度来看,它们是此处讨论的最昂贵的替代方案。FPGA往往采用比其他解决方案更大的封装,因此在板面积非常宝贵的系统中,它们可能不是一个好的选择。
此外,FPGA的功耗可能很高。技术进步将降低FPGA功耗,但可能不足以改变其在功耗效率方面的相对排名。
最初,FPGA在开发易用性方面面临重大挑战。虽然它们仍然不如可编程处理器那么强大,但近年来它们的开发工具取得了显着改进。假设两种情况,FPGA在开发成本方面将被评为最佳:FPGA编程的工具集不太昂贵;并且,假设开发人员主要处理硬件,工程师参与开发。如果开发倾向于软件工程师,那么FPGA将增加工作量和相对成本。在开发帮助方面,基于FPGA的设计的工具和支持结构似乎已经建立良好,并且OEM可以接受。
MCU。 与其他可编程解决方案一样,MCU可以使用软件可编程性来实现不同的功能和特性,从而节省上市时间,而不是类似的硬编码逻辑实现。与RISC/GPP相比,MCU的数学处理资源较低,并且通常工作频率较慢。MCU通常具有较小的芯片尺寸,因此价格相对较低。通常,MCU本质上是通用的,使其功耗效率不如DSP或ASSP。
MCU的简单性导致性能和时钟速度较低,但也减少了专用于增强性能的功能支持的硬件和简单的内存架构。通常使用比RISC或FPGA更少的硅资源,MCU比这些替代方案更节能。现有芯片的MCU可编程性允许更快地开发所需功能,而不是必须开发专用芯片或ASIC。通过正确使用高级编程和/或标准代码模块,可以显着缩短开发时间,从而节省开发成本。在开发帮助方面,大多数MCU供应商也拥有支持网络,尽管它没有获得优秀的评级,因为该网络的大部分没有实时应用程序的经验,而只是嵌入式应用程序。
RISC/GPP。 RISC/GPP处理器是可编程的,允许它们采用不同的功能和特性,从而节省上市时间,而不是类似的硬编码逻辑实现。
RISC通常的高兆赫兹水平产生不错的信号处理效果,但其缺乏数学特定的单周期指令和DSP特定的特性限制了其实时性能。RISC处理器具有大量的通用功能,这往往使其非常适合通用应用程序,但在实时信号处理的成本效益方面则不太理想。
通常,由于RISC本质上是通用的,因此它们的功耗效率不如DSP或ASSP。
与开发专用芯片或ASIC相比,现有芯片的RISC可编程性允许更快地开发所需功能。正确使用高级编程和/或标准代码模块可以显着缩短开发时间,从而节省开发成本。
数字信号处理应用的多样性使得有必要拥有多种实现方案。这些在表1中进行了总结。显然,没有一种解决方案在所有情况下都是最佳的。系统实施者面临的挑战是选择最能满足其系统和市场要求的解决方案。
表1 实现技术摘要
上市时间 | 性能 | 价格 | 易用性 | 功耗 | 灵活性 | |
ASIC | 最长 | 高 | 低 | 最难 | 低 | 低 |
ASSP | 最短 | 高 | 低 | 最易 | 低 | 低 |
DSP | 短 | 高 | 低 | 易 | 低 | 高 |
FPGA | 短 | 高 | 高 | 难 | 高 | 高 |
MCU | 短 | 最低 | 低 | 易 | 低 | 高 |
RISC/GPP | 短 | 低 | 高 | 易 | 高 | 高 |
实时信号处理正在将数字革命推向新的阶段,使设备比大多数人想象的更个性化、更强大和更互联。多年来,不同的技术为从大型机和小型计算机时代到PC和当今互联网时代的最具创新性的创造提供了动力。消费者正在推动实时功能,要求设备极其快速、便携且灵活。为了满足这些需求,设计人员面临着比以往任何时候都更大的压力,但他们也有比以往任何时候都更多的选择来应对这些压力。
仔细评估每个选项清楚地显示了嵌入式应用的几种可行替代方案。然而,对于实现当今的实时信号处理应用,DSP通常是最佳选择。没有哪种数字技术比DSP具有更多优势,也没有哪种技术能更好地满足当今开发人员的严格标准。当然,其他数字选项可以很好地解决这些相关问题中的任何一个,但都存在明显的权衡。
DSP为设计人员提供了功耗、性能、价格和灵活性的最佳组合,并使他们能够快速向市场交付其实时应用。
1. Rabiner, L. R., 和 Gold, B. 数字信号处理的理论与应用。Prentice Hall, Englewood Cliffs: NJ, 1975.
2. 参见参考文献 1。
3. Oppenheim, A. V., 和 Schafer, R. W. 数字信号处理。Prentice Hall, Englewood Cliffs: NJ, 1975.
4. TMS320C2x 用户指南。德州仪器,文档编号 SPRU014C (1993 年 1 月)。
5. Adams, L. 为实时信号处理设计选择正确的架构。德州仪器,文档编号 SPRA879 (2002)。
GENE FRANTZ 是德州仪器的首席研究员,领导TI的技术顾问委员会,为高层管理人员提供关于可能影响TI业务和产品的新兴技术趋势的长期指导。他还是DSP业务开发经理,负责在TI内部使用数字信号处理技术创建新业务。他对功耗与性能之间关系的记录正被广泛接受为“Gene定律”。Frantz于1974年加入TI的消费产品部门,领导教育产品开发团队创建了Speak & Spell学习辅助工具。他在存储器、语音、消费产品和DSP领域拥有30项专利。他拥有中佛罗里达大学的B.S.E.E.学位,南卫理公会大学的M.S.E.E.学位和德克萨斯理工大学的M.B.A.学位。他是IEEE院士。
RAY SIMAR 负责通过为各种应用开发先进架构来增强德州仪器在DSP解决方案领域的领导地位。1997年,Simar因其在DSP技术方面的开创性工作而被选为TI研究员。他是TMS320C6x的总架构师和项目经理,TMS320C6x基于VelociTI,一种先进的VLIW架构,以低成本实现非常高的性能。Simar于1984年加入TI。在“C6x”之前,他是浮点TMS320C3x和TMS320C4x DSP器件的总架构师和项目经理。他获得了德克萨斯A&M大学的B.S.学位和莱斯大学的M.S.E.E.学位。Simar在DSP技术方面拥有10多项专利。
最初发表于 Queue vol. 2, no. 1—
在 数字图书馆 中评论本文
William J. Dally, Ujval J. Kapasi, Brucek Khailany, Jung Ho Ahn, Abhishek Das - 流处理器:可编程性和效率
许多信号处理应用既需要效率又需要可编程性。例如,3G蜂窝基站中的基带信号处理需要数百GOPS(每秒千兆或数十亿次运算),功耗预算为几瓦,效率约为100 GOPS/W(GOPS/瓦),或10 pJ/op(皮焦耳/运算)。与此同时,需要可编程性来遵循不断发展的标准、支持多种空中接口以及动态配置不同空中接口的处理资源。数字电视、监控视频处理、自动光学检测以及移动相机、摄像机和3G蜂窝手机也具有类似的需求。
W. Patrick Hays - DSP:回到未来
从DSP(数字信号处理器)的黎明开始,一句古老的引言仍在回响:“哦,不!我们将不得不使用最先进的5µm NMOS!”发言者的名字已淹没在历史的迷雾中,就像5µm芯片设计的古代的许多事物一样。这句话指的是第一款贝尔实验室DSP,其掩模组实际上经历了10%的线性光刻收缩,达到4.5µm NMOS(N沟道金属氧化物半导体)沟道长度,并于1979年末以激进的全定制电路设计流片。
Homayoun Shahri - 关于算法到DSP架构的映射
我们复杂的世界以信息的表示、传输和存储为特征——而信息主要以数字形式处理。随着DSP(数字信号处理器)的出现,工程师能够相对轻松地实现复杂算法。今天,我们发现DSP无处不在——在汽车、数码相机、MP3和DVD播放器、调制解调器等等中。它们在复杂系统中的广泛使用和部署引发了DSP架构的革命,这反过来又使工程师能够实现越来越复杂的算法。