USRP和GNURadio调研报告.docx_第1页
USRP和GNURadio调研报告.docx_第2页
USRP和GNURadio调研报告.docx_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

USRP和GNU Radio调研报告一、GNU Radio简介GNU Radio起源于1998年,是一个学习、构建和应用软件无线电技术的工具包,由Eric Blossom开发。现在GNU Radio已是一个官方的开源项目,它按照GNU GPL规范发行。作为完全开放源代码的软件无线电项目,GNU Radio致力于为软件无线电的研究和产品开发提供一个良好平台,将软件的思想扩展到传统的硬件领域。与其他无线电系统相比,完全开源和可重配置是GNU Radio的最大特点,它自身有丰富的信号处理模块,研究者也可以编写源码模块,然后加载到工具包中,实现想要的功能。GNU Radio的信号处理在PC机种完成,只需外加一个简单的硬件前端,如AD/DA芯片、声卡,就可以构建一个软件无线电研究和应用平台。GNU Radio是免费的软件开发工具套件。它提供信号运行和处理模块,用它可以在易制作的低成本的射频(RF)硬件和通用微处理器上实现软件定义无线电。这套套件广泛用于业余爱好者,学术机构和商业机构用来研究和构建无线通信系统。GNU Radio 的应用主要是用 Python 编程语言来编写的。但是其核心信号处理模块是C+在带浮点运算的微处理器上构建的。因此,开发者能够简单快速的构建一个实时、高容量的无线通信系统。尽管其主要功用不是用来做仿真器,GNU Radio 在没有射频 RF 硬件部件的境况下还可用作对预先存储或(信号发生器)生成的数据进行信号处理的算法研究的平台。GNU Radio 遵从 GNU GPL V3.0. 所有其代码归 FSF - Free Software Foundation (自由软件基金)所有。二、USRP架构USRP(Universal Software Radio Peripheral)是Matt Ettus专门为GNU Radio的应用开发的硬件平台,是连接GNU Radio和射频前端的桥梁,是无线通信系统的数字基带和中频部分,功能强大而且十分灵活,目前最新版本是USRP2。USRP的设计理念是让主机处理所有波形相关的部分,而只把高速信号处理部分交由硬件执行,这样保证了系统的灵活性,便于系统扩展。一个典型的 USRP 产品系列包括两部分:一个带有高速信号处理的 FPGA母板,和一个或者多个覆盖不同频率范围的可调换的子板。它们共同实现把比特流数据从天线传到主机电脑(即接收),或者从主机电脑传送到天线(即发送)。从结构上而言,USRP有母板和子板组成。从功能上而言,它包括射频处理、AD/DA变换、中频采样、数字下变频(DDC)、数字上变频(DUC)、主机接口、电源管理和时钟管理等部分7。图2详细的描述了USRP的整体结构和工作流程。母板是USRP的核心部分,上面有4个子板射频接口,2个用于接收,2个用于发送。AD9862是母板上最靠近子板的芯片,总共两个,它主要实现AD/DA变换,每个芯片上有两路高速的ADC,速率为64MS/s,精度为12位。还有两路高速的DAC。速率128MS/s,精度为14位。这4个输入和4个输出通道都连接到一个FPGA (Altera Cyclone EP1C12)上,FPGA通过USB接口芯片Cypress FX2连接到PC机上,FPGA可以说是USRP的控制协调中心,它主要实现数字下变频的功能,控制协调ADC/DAC和USB接口之间的数据交换。子板主要包括宽带天线和射频前端两部分,其种类有很多种,如:Basic TX/RX、Low Frequency TX/RX、TVRX、DBSRX、RFX系列等。不同子板覆盖不同的频率,能实现各种不同的功能,这也体现了USRP的强大功能和可扩展性。在各种子板中,USRP 系列涵盖从直流到5.9GHz 的整个范围,这包括了从调幅广播到超过WiFi的所有频率。USRP由 USRP母板、连同各种子板以及相应的天线组成。一个典型的 USRP 产品系列包括两部分:一个带有高速信号处理的 FPGA 母板,和一个或者多个覆盖不同频率范围的可调换的子板。它们共同实现把比特流数据从天线传到主机电脑(即接收),或者从主机电脑传送到天线(即发送)。在各种子板中,USRP 系列涵盖从直流到 5.9GHz 的整个范围,这包括了从调幅广播到超过 WiFi 的所有频率。三、GNU Radio与USRP构建软件无线电开发环境GNU Radio的编程基于Python脚本语言和C+的混合模式。C+由于具有较高的执行效率,被用于编写各种信号处理模块,如:滤波器、FFT变换、调制/解调器、信道编译码模块等,GNU Radio中称这种模块为block。Python是一种新型的脚本语言,具有无需编译、语法简单以及完全面向对象的特点,因此被用来编写链接各个block成为完整的信号处理流程的脚本,GNU Radio中称其为graph 。GNU Radio的软件结构顶层是面向用户的block及其“粘合剂”graph。用户除了能够开发自己的block外,还可使用GNU Radio所包含的丰富的block,包括各种滤波器、FFT变换、调制/解调模块、时频同步模块等等,其中一些利用了CPU的增强指令集(如:MMX、SSE、3D Now!)进行了优化,以提高性能。在用户用block和graph构造的应用程序下面是GNU Radio的运行支持环境,主要包括缓存管理、线程调度以及硬件驱动。GNU Radio中巧妙地设计了一套零拷贝循环缓存机制,保证数据在block之间高效地流动。多线程调度主要用于对信号处理流程进行控制以及各种图形显示,GNU Radio对此也提供了支持。GNU Radio的硬件驱动包括USRP、AD卡、声卡等等,用户也可根据需求进行扩充。GNU Radio除了支持Linux的多种发行版本之外,还被移植到Mac OS X、NetBSD以及Windows等操作系统上,这也意味着它也支持多种类型的计算机系统。USRP是GNU Radio最重要的硬件“伙伴”,一套USRP由一块主板和最多四块子板搭配构成。主板的主要功能为中频采样以及中频信号到基带信号之间的互相转换。子板的功能在于射频信号的接收/发送以及到中频的转换。子板有多种类型,分别覆盖不同的射频频谱范围,且具有不同的收/发能力和增益。四、USRP应用前景分析GNU Radio +USRP现已成为一个较好的软件无线电解决方案,研究人员既可以在平台上直接研究数字通信,也可以利用它开发其他应用。GNU Radio工具包本身提供了一些应用,如:实时信号的捕获、模拟电视的显示、调频信号的发送与接收等等。目前,世界上很多组织或个人利用该平台实现了各种应用实例,涉及到多个领域,如GPS接收机、无源雷达、DVB-T模块、GSM-R信号集成探测系统、行人跟踪和定位、医疗成像、射频天文学等等。一个完整的GPS接收机已经实现,它利用DBSRX子板接收GPS信号,同时包含了获取Google Earth数据的接口;无源雷达利用了FM频率接收信号;DVB-T模块可以接收DVB信号。还有很多目前已经实现但有一定的局限性的应用,如IEEE802.11、蓝牙、IEEE802.15.4、GSM等协议的实现。IEEE802.11协议的最终实现方法过于复杂,蓝牙看似简单,实际比较复杂,它由于采用了FHSS(Frequency Hopping Spread Spectrum)技术,通信不是在一个信道上进行,而是在多个信道跳变,实现起来较为复杂。IEEE802.15.4是相对简单点的协议,但在多信道实现时效率低,错误率高。还有已成立的GSM软件项目组,它旨在以最低廉的成本把所有对GSM感兴趣的人们网罗到一起。该项目组又分为多个子项目组,分工明确。由于它的复杂性,该项目已成为将来的主要研究对象。GNU Radio和USRP的应用如此广泛,最主要原因应该是:相比其它昂贵的商业硬件设备,它的“人性化”使我们在研究和学习中能够克服很多的局限性。事实上,虽然USRP对于纯网络层的算法研究没有任何价值,但是在物理层研究和层次协议设计上有举足轻重的地位。很多时候

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论