文章

定点vs浮点数字信号处理

创新始于数字信号处理

数字信号处理器(DSP)对于实际数字化数据的实时处理至关重要,其高速数据计算是实现各种各样的应用——从基本消费电子到复杂工业仪器——所必需的。 在提供最大灵活性的可编程软件以及易用、低成本开发工具的支持下,设计人员利用DSP可以构建创新功能,实现产品差异化,让产品快速上市并获得高效益。

系统开发人员为其应用选择数字信号处理器时,有许多因素需要权衡。 其中,应用需要的计算能力、处理器和系统成本、性能特点、开发便利性是关键的考虑因素。 全面权衡这些因素,设计人员就能找到最适合应用的DSP。

定点vs浮点

数字信号处理可以分为两类:定点和浮点。 区分依据是用于存储和操纵数据数字表示的格式。 定点DSP设计用于表示和操控整数,包括正整数和负整数,最低为16位,因而可能的位模式有65,536种(216浮点DSP用于表示和操控有理数,最低为32位,与科学计数法相似,数值用尾数和指数表示(例如A x 2B, A为尾数,B为指数),因而可能的位模式有4,294,967,296种(232).

术语"定点"是指表示一个数值时,小数点之后的位数是固定的,有时候小数点之前的位数也是固定的。 用浮点表示时,小数点的位置不是固定的,可以根据有效位数而浮动。 例如,采用统一小数点位置规则的定点表示法可以表示123.45、1234.56、12345.67等数值,而浮点表示法还可以表示1.234567、123456.7、0.00001234567、1234567000000000等数值。 因此,浮点可以表示的值范围比定点要大得多,并且能够表示非常小的数和非常大的数。

采用定点计数法时,相邻两个数之差总是等于其中一个数的值,而采用浮点计数法时,相邻数并不是均匀分布的,任意两个数之差比这些数的值小一千万倍左右(ANSI/IEEE Std. 754标准格式),大数之间的间距较大,小数之间的间距较小。

动态范围和精度

浮点计算固有的幂运算使其动态范围(即可以表示的最大数和最小数)要大得多,这在处理极其大的数据集或数据集范围无法预测时特别重要。 因此,浮点处理器最适合计算密集型应用。

另外还必须考虑定点格式和浮点格式的精度,即数值间距的大小。 每次DSP通过数学计算产生一个新数时,必须将该数舍入到所用格式能够存储的最接近的值。 在信号处理过程中,舍入和/或截断数值自然会产生量化误差或"噪声",即实际模拟值与量化数字值之间存在差异。 定点处理的相邻数之差可能比浮点处理要大得多,因此舍入误差也会更为显著。 所以,浮点处理的精度远大于定点处理。当计算精度是一项关键要求时,浮点处理器无疑是更为理想的DSP。

重要考虑——成本、开发便利性和性能

设计人员通常使用动态范围和精度这两点来确定应用是选择定点处理器还是浮点处理器。如果计算需求很高,则首选浮点处理器。 但是,在这两种格式之间进行选择时,还有其它许多重要的相关因素需要考虑。

处理器成本: 设计人员能否降低产品的物料(BOM)成本,直接影响到价格的竞争力、市场渗透和盈利能力。 定点DSP在大规模应用中使用得更多,由于生产规模更大,定点DSP相对于浮点DSP更便宜。 片上系统(SOC)变量,包括片上存储器、集成应用专用外设和连接选项,也会影响定点和浮点处理器的成本和功能。

开发便利性: 产品开发越容易,则产品领先于竞争对手上市的可能性越大。 一般来说,开发浮点DSP算法更为简单,因为定点算法需要更多处理来补偿量化噪声。 因此,当实施复杂的算法时,设计人员通常选择浮点DSP。 这里,SOC变量同样可以缩短产品开发周期。相关产品开发工具和第三方支持软件组成的生态系统也有这样的作用。

性能: DSP在应用中执行操作的速度是一项关键考虑因素。 设计人员应当采用能够以最高效率处理算法的DSP格式。 虽然可以编写用于浮点处理器的定点代码以及用于定点处理器的浮点代码,但这样做可能会产生很大的性能限制。 性能效率也会影响功效。 例如,若用浮点处理器来执行定点任务,其功耗可能大于使用定点处理器来处理该任务的情况,而功耗又会影响电源和冷却要求以及相关的BOM成本。

总之,浮点DSP用于专门的计算密集型应用最佳,而定点DSP用于大规模通用应用最佳。 由于算法实现相对困难,定点的开发成本可能更高,但最终产品的成本常常会更低。 采用浮点DSP的应用的产品成本可能更高,因为处理器成本较高且制造规模较小,但设计人员可以更轻松地完成开发并实现更高的整体系统精度。 归根结底,目标应用的数据集要求决定是需要定点处理还是浮点处理。

ADI公司——DSP创新领导者

凭借出色的性能和价值,辅之以一个由开发工具、应用和第三方支持组成的完善生态系统,ADI公司的数字信号处理器成为各种创新应用的首选处理器。

ADI Blackfin®定点数字信号处理器

ADI公司的16/32位定点Blackfin数字信号处理器专门针对当今嵌入式音频、视频和通信应用的计算需求和功耗限制而设计。 Blackfin处理器利用RISC编程模型提供突破性的性能和功效,兼具高级信号处理功能与通用微控制器易于使用的特点。 这种处理特点组合使Blackfin处理器在信号处理应用与控制处理应用中表现同样出色,许多情况下无需单独的异构处理器。 因此,软硬件设计任务得以大大简化。

ADI Sharc®浮点数字信号处理器

ADI公司的32位浮点SHARC 数字信号处理器基于Super Harvard架构,在卓越的内核和存储器性能以及出色的I/O吞吐能力间取得了完美平衡。 该架构增加了I/O处理器及其相关专用总线,进一步延伸了最初的独立程序和数据内存总线概念。 除了满足计算密集型实时信号处理应用的需求外,SHARC处理器还集成大存储器阵列和特定应用外设,旨在简化产品开发,缩短上市时间。

欲全面了解ADI公司的数字信号处理器、软件、开发工具和支持等更多信息,请访问www.analog.com/processors.


其它资源

数字信号处理(DSP)入门指南