摘要
软件无线电开发领域常用的GNU-Radio开源开发框架一般是用于GPP架构,由于信号处理都在PC上实现,波形模块的移植性和可复用性好,并且基于流图的开发模式很容易上手,易被学术界接受。但是二代的USRP前端FPGA能力较弱,一般只用于信号上下变频和采样,因此很难达到实际通信协议&产品(如802.11簇)的处理能力和时延要求。
因此,Ettus Research公司基于K-7和Zynq7000等系列的FPGA开发的第三代USRP,其FPGA资源丰富,但是直接进行FPGA开发比GPP门槛高,并且波形模块化和复用难度加大。因此,Ettus Research同时也于2015年开始推出了与之硬件配套的RFNoC(RF network on chips)开源开发框架,支持类似于GNURadio流图开发模式调用FPGA资源,降低了用户开发门槛,也通过支持RFNoC的社区增大相关波形组件的丰富,形成较好的生态,目前效果已初见端倪,成为软件无线电产品级开发的主流技术路线之一。
RFNoC简析
本节根据公开资料,摘录和简要分析了RFNoC框架的特点:
- 基本原理:在FPGA里面实现了分组化网络(packetized network),可以构建基于FPGA的处理模块(block),或者叫Computation Engine(CE)。每个CE可以认为是独立的片上网络结点,与其它CE、GPP或者Radio Block进行通信。
- 波形重构能力:可以采用CE之间的重连线实现,其灵活性和模块化程度类似于GPP&#