当 ARM CPU 内核首次被包括 Apple 在内的一些计算领域的知名厂商采用时,使用量激增,尤其是对于移动应用程序。回想起来,优势是显而易见的——任何设备都可以通过嵌入式处理器变得更加灵活和功能丰富。同时,该功能可以通过软件升级:单个硬件平台可以通过纯软件升级驱动多个产品发布。
这些计算引擎非常灵活,非常适合我们智能手机和其他移动产品中的许多管理和通用计算任务,但这种通用性也有一个缺点。通用计算机上的某些操作会运行得太慢并且消耗太多功率而无法实用。智能手机无线通信部分中的调制解调器就是一个早期的例子。这必须实时处理无线电信号,在每种情况下处理的不是电话计算部分中使用的熟悉的数字字和比特,而是无线电传输和接收中使用的不断变化的模拟信号的数字化版本.
数字信号处理器 (DSP) 专为此类分析而设计。它们具有数字化信号所需的内置浮点表示,并且对信号处理所需的数学函数(例如多重累加 (MAC) 函数)具有强大的支持。它们还针对处理流数据进行了优化,而不是传统计算中常见的面向批处理的处理,在这种情况下,这是处理连续无线电传输和接收的基本特征。
音频处理需求共享无线信号处理中的许多相同特性。DSP 的这种应用在均衡和范围压缩(例如杜比压缩)等高端音频应用中变得很普遍,然后在降噪耳机等功能中越来越普遍,它可以让您在飞行过程中不受干扰地入睡。
然后人工智能起飞了,最初只在数据中心,但现在越来越多地出现在移动和其他边缘应用程序中。我们的汽车现在可以检测行人和潜在的碰撞,并且它们可以检测车道标记以指导自动驾驶基本形式的转向。我们可以通过语音命令控制我们的电视或智能扬声器,以查找歌曲或电影,或者降低或提高音量。我们甚至可以通过语音命令控制自行车安全头盔上的 GoPro 来开始或停止拍照。
所有这些功能都依赖于处理流数据(语音)或图像(相机静止图像)或可能两者(视频),每个都是实时的或非常接近实时的。首先看音频处理。首先,您需要通过来自多个麦克风的音频波束成形、回声消除和噪声抑制来捕获高质量的流式音频信号——所有这些领域在 DSP 实施方面已有多年经验。
然后,您必须使用经过训练的神经网络识别命令,这是几乎所有这些 AI 技术的基础。这些算法看起来与您在 CPU 上运行的算法大不相同。虽然它们可以在 CPU 上运行,但它们会很慢并且会很快耗尽电池电量。更好的方法是在提供高水平并行性的架构上对神经网络进行编程,允许许多计算同时运行,而不是像在 CPU 上那样串行运行。这是 DSP 的另一个核心优势——计算中的并行性。
您可能想知道,尽管有所有这些优势,DSP 是否过于复杂而无法被除专家以外的任何人采用,他们别无选择,只能使用它们。当然,它们不像 CPU 那样简单易用,但差异并没有那么大。您为两者编写 C 代码,但您需要在为 DSP 编写的代码中多加考虑以充分利用性能。
至于广泛采用,您手机上的每个无线电——蓝牙、Wi-Fi 和蜂窝网络——都使用一个或多个 DSP。蓝牙耳塞使用 DSP,用于蓝牙和音频。许多智能扬声器使用 DSP。语音控制的遥控器使用 DSP。家庭安全系统使用 DSP 来检测摄像机上的异常运动和异常声音,例如狗吠或打碎玻璃。汽车中的智能传感器使用 DSP 来检测前方和倒车危险以及检测车道标记。
为什么不将 GPU 用于所有这些功能?GPU 确实非常有名,尤其是在 AI 方面,并且已广泛用于数据中心进行神经网络训练。但对于许多边缘应用来说,它们太大、太耗电且太贵。出于电源、安全和隐私的原因,将更多的人工智能功能转移到这些设备上是一个很大的推动力。但这些必须是非常具有成本效益的解决方案。在大多数情况下,不太愿意显着增加整个解决方案(汽车、电视、家庭安全)的成本。
这就是嵌入式 DSP 无处不在的原因。您可以以低成本和低功耗将语音控制、对象检测、音频质量控制等添加到您的产品中,并且仍然具有软件可编程性的灵活性。他们不会取代 CPU 进行管理和一般处理,但看起来他们正在接管与智能音频和视频/图像有关的一切。
此博客是系列博客中的第一篇,并继续发表文章“当 DSP 击败硬件加速器时”和“决策,决策:硬件加速器还是 DSP?“。
审核编辑 黄昊宇
-
dsp
+关注
关注
552文章
7958浏览量
347844 -
数字信号处理器
+关注
关注
5文章
456浏览量
27319
发布评论请先 登录
相关推荐
评论