扫码打开虎嗅APP
本文来自微信公众号:傅里叶的猫,作者:张海军,题图来自:AI生成
今天有位群友在群里发了一个国外的GPU+FPGA的SDR产品,专为高性能无线信号处理应用而设计。我就去官网看了这个产品的介绍:它由 NVIDIA Jetson Orin NX 16GB 提供动力,集成了宽带射频收发器、FPGA、ARM 处理器。它与基于 Python 的框架以及预安装的 AirStack 软件无缝兼容,简化了部署过程,同时其紧凑的设计确保了在实验室和野外环境中的可靠性。
笔者是FPGA信号处理工程师出身,经历过FPGA+DSP的经典信号处理架构时代,后来又有了FPGA+x86 CPU,虽然这几年Xilinx推出了RFSOC,也得到了市场的认可,但在信号处理这个领域,FPGA的市场正在被其他处理器蚕食。
在本文最后的章节,我们简单介绍一下这个GPU+FPGA的SDR产品。
我们都知道,信号处理是FPGA一个非常重要的市场。FPGA 具有高度的灵活性,可以根据不同的信号处理需求进行定制化编程。它能够实现并行处理,对于一些对实时性要求极高、算法复杂度较低且需要频繁调整逻辑的信号处理任务,如雷达信号处理、通信基站的信号调制解调等,FPGA 是理想的选择。
软件化雷达
我是雷达信号处理专业出身,在读书那几年时,就一直在提软件化雷达,后面几年发展得确实也不慢,我了解到的很多公司或研究所都开始用刀片服务器,会用CPU来做一些FPGA做起来并不是很容易的信号处理工作。所以FPGA的定位更偏向信号预处理,以及做一些采集、回放等CPU做不到的工作。
GPU 的崛起及其在信号处理中的优势
1. 强大的并行计算能力
GPU 最初是为图形处理而设计的,但随着其发展,它的并行计算能力逐渐被发掘并应用于信号处理领域。现代 GPU 拥有数千个核心,可以同时处理大量的数据。以 NVIDIA 的 RTX 系列 GPU 为例,它们具有强大的 CUDA 核心,能够并行执行大量的计算任务。在信号处理中,很多算法都可以并行化,例如快速傅里叶变换、卷积运算等。GPU 的并行计算能力使得这些算法能够在极短的时间内完成,大大提高了信号处理的效率。
2. 软件生态系统丰富
GPU 拥有丰富的软件生态系统,这是其在信号处理市场中逐渐占据优势的重要因素之一。NVIDIA 提供了 CUDA 编程框架,使得开发者可以方便地在 GPU 上进行编程。此外,还有许多开源的深度学习框架,如 TensorFlow、PyTorch 等,都支持 GPU 加速。这些软件工具和框架降低了开发者的门槛,使得更多的人能够利用 GPU 进行信号处理算法的开发和优化。相比之下,FPGA 的开发需要专门的硬件描述语言(如 Verilog、VHDL),开发周期长,难度较大。
3. 成本效益
在大规模信号处理应用中,GPU 的成本效益更高。GPU 可以在通用的计算机硬件平台上使用,不需要专门的 FPGA 开发板和编程设备。而且,随着 GPU 技术的不断发展,其价格逐渐下降,性能不断提升。
2014年英伟达发布嵌入式平台Jetson 系列的第一个产品Jetson TK1,2018年,Jetson Xavier和2022年Jetson AGX Orin相继推出,最近几年,用GPU来做信号处理的也越来越多。
下面我们就介绍下本文最开始提到的GPU+FPGA的SDR产品:
整体外形长下面这个样子,典型的信号处理机的模样,尺寸也比VPX/PXIE的机箱要小很多。
核心的架构如下:
Specification如下:
通用处理器:NVIDIA® Jetson Orin™ NX 16GB;
安培 GPU:1024 个 NVIDIA® CUDA® 核心,32 个张量核心;
ARM® CPU:8 核 Cortex® v8.2 64 位;
共享内存:16GB 128 位 LPDDR5 DRAM;
AMD® FPGA:Artix™ 7 FPGA - XC7A200T - 2FFG1156C;
网络:1 GbE RJ45 端口,精确时间协议(IEEE - 1588);
数据存储:2TB NVMe 存储(4 GB/s 读 / 写);
数字连接:双 USB - A 3.2,HDMI 2.1(Micro HDMI 连接器),外部 RF 系统控制(GPIO),板载传感器报告;
电源:PoE++ 或 12 VDC(典型 30 W,最大 60 W);
机械规格:18.7 x 23.0 x 4.4 cm(7.3 x 9.1 x 1.7 in),1.51 kg(3.3 lbs);
射频规格:单收发器子卡,2x2 MIMO,100 MHz IBW(125 MSPS),300 MHz 至 6 GHz,14 位 ADC / 16 位 DAC;
收发器性能:+35 dB 接收器增益,3.0 dB 接收器噪声系数,+20 dBm 最大发射输出功率;
GNSS / GPS 性能:与 UTC 偏差 5 ns(1 - sigma);
信号连接:10 MHz 参考输入 / 输出,1PPS 时钟输入 / 输出,触发输入。
可以看到,射频收发频率可以从300M到6GHz,只是ADC采样率略低,导致的信号带宽并不是特别高,但100MHz的带宽也基本可以覆盖很多场景了。FPGA使用的A7-200T,属于中低端FPGA,毕竟也只是做信号的采集和发射使用,当然,简单的信号预处理也可以放到FPGA,其他的复杂处理都可以通过PCIE传给GPU来做。这样整个板卡的总体成本也不高,由于有了GPU的加持,板卡的处理性能还非常不错。
不知道国内有没有厂家在模仿这个产品?
本文来自微信公众号:傅里叶的猫,作者:张海军