基于GNU Radio和USRP的认知无线电平台研究
集成更多的电路,重配置能力十分有限。
(2)基于现场可编程门阵列(FPGA)和数字信号处理器(DSP),这类可编程硬件,重配置的能力得到了很大提高。但是用于 FPGA 的 VERILOG、VHDL 等语言以及DSP 的汇编语言都是针对特定厂商的产品,使得这种方式下的软件过分依赖于具体的硬件,可移植性较差。此外,对广大技术人员来说, FPGA 和 DSP 开发的门槛依然较高,开发过程也相对比较繁琐。
(3)第三类软件无线电设备采用通用硬件(例如:商用服务器、普通 PC 以及嵌入式系统)作为信号处理软件的平台,具有以下几方面的优势: 纯软件的信号处理具有很大的灵活性; 可采用通用的高级语言(如 C/C++)进行软件开发,扩展性和可移植性强,开发周期短;基于通用硬件的平台,成本较低,并可享受计算机技术进步带来的各种优势[13]。
GNURadio 是一个开源的可以构建软件无线电平台的软件包。它是由 Eric Blossom发起的、完全开放的软件无线电项目,旨在鼓励全球技术人员在这一领域协作与创新,目前已经具有一定的影响力。GNU Radio 主要基于 Linux 操作系统, 也可以移植到其他操作系统上, 采用 C++结合 Python 脚本语言进行编程,其代码完全开放[18]。
USRP,即 Universal Software RadioPeripheral 通用软件无线电平台,是 Matt Ettus的杰作,它是一个开源的低价格的专门为 GNU Radio 设计的硬件平台。USRP 是一个非常灵活的 USB 设备,它把 PC 连接到 RF 世界,可以在 0-5.9G 载频上实现最高 16M 的带宽信号收发。[19]
基于 GNU Radio 和 USRP 的软件无线电平台正是属于第三类的软件无线电系统,它除了具有第三类软件无线电系统的优点外,还具有如下优势:
(1)成本较低。软件免费,USRP 的价格为 700 美元,相当于一台 PC 的价格;带宽可满足目前多数音视频广播和无线通信制式的要求, 支持双工和多天线应用。
(2)技术门槛较低, 具有一定编程经验和 Linux 使用经验的用户可在较短时间内掌握其配置、使用和开发。
(3)开源软件,获得来自全世界众多 GNU RADIO 拥护者以及 Eric Blossom 和Matt Ettu(分别是 GNU RADIO 和 USRP 的发明者)本人的技术支持[12]。
GNU Radios 和USRP 的功能是将信息和无线射频信号互相转化,其过程以及各部分功能如图 3-1,信息流图。
3.2 GNU Radio 软件无线电介绍
3.2.1 GNU Radio 概述
在当今无线电领域中,由 Eric Blossom 发起的、完全开放的软件无线电项目 GNURadio 倍受关注。GNU Radio 是一个开源、免费的可以构建软件无线电平台的软件包。这是一种能运行于普通 PC 上的开放的软件无线电平台,其软件代码完全公开。它具备智能处理信号、拥有可重配置无线电硬件设备的特点。基于该平台,用户能够以软件编程的方式灵活地构建各种无线应用,进而很好地实现认知无线电的认知任务[13]。
GNURadio 旨在鼓励全球技术人员在这一领域协作与创新,目前已经具有一定的影响力。GNU Radio 可以被理解为开源软件的自由精神在无线领域的延伸,开放性和低成本是其最大的特点。低成本使得技术人员以及资金不那么充裕的机构可以像购买 PC 机一样拥有一套能自由进入频谱空间的软硬件系统,从而为更广泛的技术创新打下基础。在 GNU Radio 的邮件讨论组中每天都有来自世界各地的用户对各种相关技术问题的讨论,这些用户包括学生、大学教师、软硬件工程师、无线工程师、业余无线电爱好者,正是这些人推动了新技术的发展进步。
GNURadio 的开放特性也是其具有广泛吸引力的重要因素,同时也是其生命力的源泉。由于代码和技术资料完全开放,人们可以了解到其运作的所有细节,并可自由地对其进行修改和开发。在这种开放的氛围之下,人们取得的知识、成果可以得到充分的交流共享,更有益于创新。
3.2.2 GNU Radio 的软件结构
GNURadio 提供一个信号处理模块的库,这个库包含多种调制模式(GMSK、 PSK、QAM、OFDM 等),多种纠错编码(Reed-Solomon、Viterbi、Turbo Codes 等),多种信号处理结构(任意滤波器、FFT、量化器等),并且有