今日视点:GNU Radio:开放的软件无线电平台
4.3 USRP的原理
主板上共有4个子板接口,可支持两路并行的发送或接收。整套USRP的原理如图1所示。
(资料图片)
5、GNU Radio安装
同多数基于Linux的软件一样,GNU Radio需要在将其源代码编译、安装之后方可运行。源代码可从网站http://gnuradio.org/trac/wiki 获得,GNURadio采用SubVersion工具管理全球各地志愿者对代码更新和扩充,用户利用客户端工具SVll可随时从网站上下载GNU Radio代码的最新版本。在编译安装GNU Radio之前,必须首先安装一些所依赖的软件库, 主要有SWIG、FFTW、cppunit、numarray、Numric和wxPytholl。分别为GNU Radio提供C++与Python互操作性、快速算法和图形界面等方面的支持。这些软件同样也是开源的,可分别从互联网上下载安装。GNU Radio的网站上有详细的软件编译安装方法,此处不再赘述。
USRP的安装须要在软件安装完毕后进行。首先在主板上插上所需子板,然后按顺序接驳稳压电源、直流输入和USB 2.0连接线,接着就可利用GNU Radio软件包中自带的实例程序初步体验GNU Radio了。GNU Radio提供了丰富的例程可供尝试,其中包括FM、AM 广播接收、信号发生器、信号频谱和波形显示,GMSK /QPSK/BPSK信号收发、USB 2.0接口测速等等。其中usrp_fR.PY是一个可显示出指定频率附近信号频谱的脚本。
6、GNU Radio的应用举例
这一部分将对基于GNU Ra dio已经成功实现或者正在开发中的应用进行介绍,以期使读者对GNU Radio的功能有一个更直观的认识。
1)MIMO(Multi—In Muti—Out)
USRP已经为多天线应用做好了准备。一套USRP即可实现双天线的发送或接收,如果要进一步增加天线数量,可通过将多套USRP同步起来加以实现。此时需要对电路做一些改动(改变几个电阻和电容的位置)使多块主板和子板之间达到时钟同步和相位相关。
2)数字高清电视接收
用一块MCA020 AD卡采集数字高清电视的信号,在PC上进行解调、解码和播放。受PC机的运算能力所限,目前还不能实时的收看,因此先将原始信号采集并保存在硬盘上,待采集完毕后再进行解调和解码,生成可播放的视频文件。
3)TDMA和TDD
目前的GNU Radio和USRP尚不支持TDMA多址方式和TDD的双工方式。Eric Blossom 和Matt Ettus以及BBN Technology公司正在对GNU Radio软件体系以及USRP中的FPGA代码进行改进和增强,通过为采样数据加上时间戳,可以对采样流进行更精确的时间控制,从而实现TDMA 和TDD。
7、结束语
GNU Radio可以被理解为开源软件的自由精神在无线领域的延伸,开放性和低成本是其最大的优势。低成本使得技术人员以及资金不那么充裕的研究机构可以像购买PC机一样拥有一套能自由进入频谱空间的软硬件系统,从而为更广泛的技术创新打下基础。在GNU Radio的邮件讨论组中每天都有来自世界各地的用户对各种相关技术问题的讨论,这些用户包括学生、大学教师、软硬件工程师、无线工程师、业余无线电爱好者,而这些人正是推动技术进步的主力。
GNU Radio的开放特性也是其具有广泛吸引力的重要因素,同时也是其生命力的源泉。由于代码和技术资料完全开放,人们可以了解到其运作的所有细节,并可自由地对其进行修改和开发。在这种开放的氛围之下,人们取得的知识、成果可以得到充分的交流共享,更有益于创新。
自组织网络、频谱自由动态分配、可重配置智能终端是目前无线通信领域几大热点,不难看出,基于GNU Radio和USRP可以快速地设计出终端原型,因而在这些领域的研究中具有相当的潜力。尽管目前GNU Radio在最大频带宽度、PC处理能力以及软件的易用性方面受到一定限制,但相信随着技术的进步,G 7 Radio必将在无线领域的技术创新中扮演更加重要的角色。