平台

在本节中,我们从架构和设计的角度列出了不同类型的SDR。分析了它们的优缺点,并讨论了它们对SDR发展的影响。

A.基于GPP的SDR

USRP N系列:通用软件无线电外设(USRP)是开发者社区所熟知的最常见的SDR平台。该平台的成本约为2万左右。它为GNU Radio项目提供了一个硬件平台。有两代可用:USRP1和USRP2。USRP1(2004年发布)通过USB连接到通用计算机,并增加了一个小型FPGA。FPGA板具有两种功能:路由信息和有限信号处理。由于USB2.0限制,该生成能够支持3MHz带宽。第二代USRP2,于2008年发布,它利用千兆位以太网支持25 MHz带宽。

USRP通常带有一个ADC和DAC板,一个射频前端,一个PC主机接口和一个FPGA。该板由主板和典型的四个子板(两个发射机TX和两个接收机Rx)组成,如图6所示。子板处理类似于过滤和上下转换的模拟操作。它们是模块化的,因此它们可以处理高达6GHz的应用程序。FPGA板根据USRP系列处理一些信号处理操作,大部分操作被卸载到连接的主机系统。USRP平台可以很容易地设置使用。然而,虽然它们的性能适合于研究实验和快速原型化,但这些平台并不一定满足通信标准的要求。实际上,使用的RF、PC主机或FPGA组件的最小带宽会影响平台的吞吐量和时序特性。

KUAR:另一个与USRP类似的平台是KUAR平台。基本架构由通用计算机和Xilinx Virtex II Pro P30 FPGA组成,这款FPGA有两个PowerPC 405内核。这个平台的主要优点是它提供了一定程度的灵活性。开发人员可以选择以三种不同的方法实现通信标准:

  • 可以将整个设计安装在FPGA上,并为主机的GPP分配少量任务(全硬件)
  • 一个完整的软件实现,其中的设计完全在GPP上实现,而FPGA的参与最小。
  • 一种硬件/软件协同设计的混合实现,开发人员可以以符合他们标准的任何方式对设计进行分区。

LimeSDR:Lime Microsystems与USRP的一般基本架构(如USRP B200)相似,除了Intel FPGA和微控制器外,还开发了一系列基于Lime Microsystems最新一代现场可编程RF收发机(FPRF)技术的SDR。然后通过USB3.0连接到计算机上。SDR平台负责发送无线数据,而GPP(计算机)负责处理输入信号并生成由SDR传输的数据。在这种情况下,GPP是基带计算能力的来源。LimeSDR支持信号带宽∼30-60MHz。LimeSDR的开发人员还开发了LimeSuite软件,用于模拟SDR。这个工具、源代码、固件和示意图都是开源的。

Ziria:它是一个使用名为Ziria的特定领域语言(DSL)和优化编译器的编程平台。Ziria的应用是无线协议物理层(PHY)的实现。Ziria有一个双重设计:

  • 底层是一种强制性语言,它是C和MATLAB代码的混合体,两种语言的特性都是精心选择的,以保证高效的编译。
  • 更高层是用来指定和分级流处理器的语言。

Ziria优化编译器由两部分组成:前端和后端。前端解析Ziria代码,将其置于抽象表示中,然后对其应用几个优化。后端将得到的优化代码编译为优化的低级别执行模型。

该平台的特殊优点如下:第一种是由于控制图的动态阶段,容易进行动态重构。这与GNU Radio C++模板不同,后者的可重构性是有限的。此外,它的代码优化可以在数据流组件上运行,并且通常在GPP上可以更快的执行(例如,通过使用LUT)。通常来说,Ziria代码非常简洁,且易于使用。例如,在Ziria实现WiFi扰偏器只需要13行代码。Ziria是一项基于数据流语言的有趣的研究,这些语言通常用于嵌入式系统中。它还建立在函数式反应型编程框架之上。

Sora:Sora是一个完全可编程的PC架构软件无线电平台。它需要在多核GPP上进行C编程,并且具备很高的性能,包括高处理速度和低延迟。Sora平台使用上面讨论的Ziria语言编写高级SDR描述,并进行实时操作测试。不像WARP(我们将在第五篇E节中解释),Sora可以容纳各种RF的前端。

由于PC硬件不适用于无线协议的信号处理,其性能受到限制。我们在第三篇A节中讨论了GPP在SDR范围内的一些局限性。这些限制是SORA发展背后的动力。Sora的总体设置包括一个软无线电堆栈,它结合了一个多核GPP和一个无线电控制板,其中包括一个Xilinx Virtex 5 FPGA、PCIe-x8接口和DDR 2 SDRAM。SORA使用硬件和软件技术来解决使用PC架构进行高速SDR的挑战。它是第一个能让用户完全用软件在标准PC架构上开发高速无线实现的SDR平台。

在SORA中,提出了有效实现PHY的新技术。其中一些技术包括:1)利用大型高速缓存内存最小化内存访问;2)广泛使用LUTS,在这里,它们将用内存交换计算,并且仍然很适合L2缓存;3)PHY中数据并行性的开发;4)广域SIMD扩展在GPP中的应用。SORA的主要创新之一是在GPP中有效地划分和调度跨核的PHY处理。第二个创新是对实时支持的核心贡献。这是通过专门为多核系统中的SDR处理分配足够的核心来实现的。他们通过SoftWiFi展示了它的有效性,也完全实现了带有9000行C代码和实时性能的IEEE 802.11a/b/g PHY和CSMA MAC。他们还成功地实现了3GPP LTE物理上行链路共享信道(PUSCH),即Soft-LTE,有5000行C代码,峰值速率为43.8Mbps(20MHz)。

对SORA的一些批评是,它的FPGA不是可编程的,其功能也没有得到充分的利用。此外,我们不共享其内部例程的细节。最后,SORA只在GPP上工作,没有明确的映射到DSP。

Iris:它是一个跨平台的SDR,是为了支持高度可重构的无线网络而开发的。它使用插件架构(即组件)构建,以实现模块化。这些组件处理数据流并对它们执行不同的操作。引擎用于运行、装载和维护部件。与接收系统和Simulink工具类似,Iris引擎可以将组件连接在一起,以建立一个完整的无线电系统。XML用于指定程序中使用的组件、它们的参数以及它们应该如何链接。Iris架构的主要特性包括:1)运行时的可配置性;2)支持所有的网络堆栈(所有层次),不仅仅是PHY层;3)支持包括FPGA在内的高级处理平台。

关于使用Iris有多种研究。例如,我们讨论了在XilinxZynqSoC上实现Iris的过程。这项工作的动机是,通信系统处于不断发展的状态,而且它们的复杂性和复杂性都在增加。这就要求更高的计算性能,同时也要求更高的灵活性。为了在Zynq平台上实现IRIS,首先利用Cmake工具将组件转换成C语言,然后传输到平台上。HLS工具,如Xilinx HLS,可以用来加速设计中被认为是瓶颈的部分。这是通过在软件组件上运行系统分析来完成的,其中一个分析器是LinuxPerf。特别是加速,在FPGA上运行部分软件(在RTL中重写后),以获得更高的性能。

B.基于GPU的SDR

WiMAX SDR:这是一个基于GPU的平台来实现一个WiMAX系统。在研究中,通过实现Viterbi译码算法,比较了GeForce 9800GTX GPU与TMS320C6416 DSP的性能。结果表明,GPU的吞吐率为181.6Mbps,与DSP的2.07Mbps相比有较大的差异。

OFDM for WiFi Uplink SDR这是利用WARP框架实现了基于NVIDIA GPU的SDR平台。它们利用了GPU固有的并行性,在CUDA的帮助下,能够在WARP上实现实时性能。利用该平台设计并实现了一种用于WiFi上行通信的单输入单输出(SISO)OFDM系统。图7描述了这种增强的(加速的)WARP SDR的架构。对于这个平台,他们使用:1)WARP版本3,由xilinx Virtex-6 FPGA组成,用于无线电控制和接口;2)一台GPU服务器,由英特尔i7-3930K六核3.2GHz用于收发机配置的CPU和4个用于基带处理的NVIDIA GTX TITAN图形卡组成。每个TITAN由2880核Kepler GPU组成,运行频率为889MHz。加速的WARP可以达到小于3ms的延迟和高于50Mbps的吞吐量。

Signal Detection SDR:这是一种由Intel Xeon E3-1535M处理器和NVIDIA Quadro M4000M GPU组成的SDR实时信号检测平台。对于1000ms长的样品,与GPPs相比,这种设计在并行处理时间上减少了75%左右。