AI 引擎:AI 与信号处理的交汇点
2022-04-30
来源:电子创新网
在 AMD,我们对 Versal? ACAP 所搭载的 AI 引擎技术感到兴奋不已,因为在 AMD 和赛灵思服务的众多市场上,其对交付高性能自适应计算起到重要作用。Versal AI Core 与 AI Edge 系列搭载了这种 AI 引擎技术,非常适合对计算加速有着关键需求的用例。
AI 引擎真正实现了功能多用性,可提升机器学习( ML )和信号处理应用带来的性能。我们曾经深入介绍过,与 GPU 相比,机器学习 AI 引擎( AIE-ML )的单位功耗 AI 性能是 GPU 的 4 倍。不过今天,我们的重点是信号处理,特别是快速傅里叶变换( FFT )。
除非您是一名 DSP 专家,否则您可能只会模糊地回忆起大学时期在信号处理入门课上学到的 FFT。幸运的是,您不必重拾书本,就能在 AI 引擎上实现 FFT,因为软件会为您解决最硬核的部分(后续详解)。不过还是要记住,FFT 是有史以来开发出的最重要的算法之一,支持着我们日常使用的几乎所有图像和音频压缩与数字通信。
回到今天的话题,让我们回顾一下 FFT 如何运用于各种应用,如激光雷达、光探测和测距,以及雷达、无线电探测和测距。激光雷达或雷达发射器会发射频率随时间而变化的正弦信号。信号从目标反射,被接收器接收。通过分析接收到的波形的特征,就能计算出目标的位置和相对速度。具体方法就是使用 FFT 查看反射信号的频谱内容。信号幅度与检测到目标的时间成正比,信号频率则与距离目标的远近成正比。通过这种从频域到时域的转换,一系列信号便能生成对某个特定位置有意义的表示,如 2D 或 3D 点云或 4D 雷达,从而生成图像。对于汽车应用,总 FFT 吞吐量相对较低——需要小于 1 GSPS。对于特定的雷达或通信应用,可能需要高达 10-15 GSPS 的采样率。
现在我们已经了解了 FFT 的高级功能,接下来我们将介绍如何借助 AI 引擎发挥 FFT 的优势。
使用 FFT 生成的点云或 4D 雷达可以回馈给 AI 引擎,以执行 CNN ML 功能。Vitis? AI 已在我们的 Model Zoo 中提供模型,方便使用 PointPillars 实现边框,进行目标检测和/或用 SalsaNext 进行语义分割。这样做之所以可行,是因为运行 FFT 消耗的资源很少,从而能够留出大部分 AI 引擎,借助 ML 为您的应用提速。
从功耗的角度来看,AI 引擎比使用可编程逻辑要有效得多。功耗降低了约 50%,由此使得单位功耗性能提高了 2 倍。
AI 引擎阵列架构支持存储器共享,从而提升了 FFT 的计算量。通过下表可以看到,计算 64 通道 2K x 1K 2D FFT 需要三个 Zynq? UltraScale+? MPSoC ZU3 器件。也可以只用单个 Versal AI Edge VE2102 器件。
我们的 GitHub 站点提供了详细的教程,完整讲解了在 VCK190 评估套件上实现 2D FFT 的过程。教程先概述了设计流程,接着详细讲解了软硬件实现方案。简化设计流程的关键在于 Vitis DSP 库内提供的 FFT 内核。详细的性能数据有助于用户掌握每种设计变体的资源利用率、时延、吞吐量和功耗。此外,也提供了在 Versal AI Edge 系列上实现 FFT 所需的设计资源。