GNU Radio:开放的软件无线电平台
电信快报 2022-09-27

1、软件无线电技术发展现状

J.Mitla在1992年首次提出了软件无线电的概念,此后该技术一直受到业界的广泛关注和研究。与传统的无线电设备相比较,在软件无线电中,诸如信号发生、调制/ 解调、信道编译码等信号处理过程以及协议栈皆由软件实现,而不是固定电路,因此软件无线电设备更易于重新配置,从而可灵活地进行多制式切换并适应技术的发展演进。广义上的软件无线电分为三类。a)将多种不同制式的设备集成在一起, 例如现在市场上的GSM-CDMA双模手机。显然,这种方式只能在预置的几种制式下切换,要增加对新的制式的支持则意味着集成更多的电路,重配置能力十分有限。b)基于现场可编程门阵列(FPGA) 和数字信号处理器(DSP),这类可编程硬件,重配置的能力得到了很大提高。但是用于FPGA的VHDL、Verilog等语言以及418 的汇编语言都是针对特定厂商的产品,使得这种方式下的软件过分依赖于具体的硬件,可移植性较差。此外,对广大技术人员来说,FPGA和DSP开发的门槛依然较高,开发过程也相对比较繁琐。c)针对以上两类缺陷,第三类软件无线电设备采用通用硬件(例如:商用服务器、普通PC以及嵌入式系统)作为信号处理软件的平台,具有以下几方面的优势:纯软件的信号处理具有很大的灵活性;可采用通用的高级语言(如C/C++)进行软件开发,扩展性和可移植性强,开发周期短;基于通用硬件的平台,成本较低,并可享受计算机技术进步带来的各种优势(如:CPU处理能力的不断提高以及软件技术的进步等)。

尽管基于通用硬件平台的软件无线电具有诸多优点,但是目前通用硬件平台在处理速度效率、体积和功耗以及实时性方面仍然比不上FPGA和DSP这样的专用硬件。所以现在第二类软件无线电仍然是主流,但由于微电子技术和计算机技术的快速发展,软件无线电将越来越青睐于通用的硬件平台。

2、GNU Radio概述

GNU Radio是由Eric Blossom发起的、完全开放的软件无线电项目,旨在鼓励全球技术人员在这一领域协作与创新,目前已经具有一定的影响力。GNU(GNU’s Not Unix)本身是一个推进软件开放源代码的著名项目, 由FSF(Free Softwaer Foundation)支持,目前广泛使用的GNU/Linux操作系统则是来源于此。GNU Radio主要基于Linux操作系统,也可以移植到其他操作系统上,采用C++结合Python脚本语言进行编程,其代码完全开放,用户可以在其网站-R.上下载和参与更新维护其代码。利用GNU Radio提供的一套软件,再加上一台普通PC机和廉价的硬件前端即可开发各种软件无线电应用。硬件前端可以是一套专用的射频前端或者AD/DA卡,甚至是一块普通的声卡。Matt Ettus为GNU Radio设计了一套射频前端USRP(Universal Software Radio Peripheral),可在0GHz~2.9GHz载频上提供最高可达16Mhz带宽的信号收/发能力。

除了具有第三类软件无线电系统的优点外,GNU Radio和USRP还具有如下优势:

a)成本较低。软件免费,USRP的价格大约与一台普通PC相当,带宽可满足目前多数音视频广播和无线通信制式的要求,支持双工和多天线应用。
b)技术门槛较低,具有一定编程经验和Linux使用经验的用户可在较短时间内掌握其配置、使用和开发。
c)获得来自全世界众多GNURadio拥护者以及Eric Blossom 和Matt Ettus本人的技术支持。

3、GNU Radio的软件结构

GNU Radio的编程基于Python脚本语言和CH 的混合方式。C++由于具有较高的执行效率,被用于编写各种信号处理模块,如:滤波器、FFT变换、调制/解调器、信道编译码模块等,GNU Radio中称这种模块为block。Python是一种新型的脚本语言,具有无须编译、语法简单以及完全面向对象的特点,因此被用来编写连接各个block成为完整的信号处理流程的脚本,GNU Radio中称其为graph。

GNU Radio的软件结构顶层是面向用户的block及其“粘合剂”—— aph。用户除了能够开发自己的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等操作系统上,这也意味着它也支持多种类型的计算机系统。

4、USRP射频前端

USRP是GNU Radio最重要的硬件“伙伴”。与GNU Radio软件相同,USRP也是完全开放的,其所有的电路图、设计文档和FPGA代码均可从EttusResearch的网站下载。基于G1、radio和USRP的组合,用户可以构建各种具有想象力的软件无线电应用。

一套USRP由一快主板(Motherboard)和最多四块子板(Daughter Board)搭配构成。主板的主要功能为中频采样以及中频信号到基带信号之间的互相转换。子卡的功能在于射频信号的接收/发送以及到中频的转换。子卡有多种类型,分别覆盖不同的射频频谱范围,且具有不同的收/发能力和增益。

4.1  USRP主板

主板主要由以下几个部分构成:

1)AD/DA芯片
USRP采用两块Analog Device的AD9862芯片,每块可分别提供两路12bit、64MSample/s的AD变换和两路14bit、128MSample/s的DA变换。那么一块主板可提供4路模拟转换器(ADC)和4路的数字模拟信号转换器(DAC),也即收/发各两路的复采样。此外DAC单元还集成了数字上变频(DUC)功能。

2)FPGA
FPGA有两个主要功能:将DAC采来的中频信号进行数字下变频(DDC),变换到基带,并通过层叠梳状滤波器(of)对样值进行可变速率的抽取以符合用户对信号带宽的要求。FPGA中同时也实现了针对DAC的插值率波的功能;另一个功能是作为路由器协调适配各路ADC、DAC和USB 2.0接口之间的数据交换。

3)USB 2.0接口
USRP采用USB 2.0接口与PC机连接。最高可达到32MByte/s的数据传输速率。如果AD和DA分别采用12bit和14bit的采样精度,那么每个实采样点占用2Bytes,每个复采样点占用4Bytes。如果以一路复数采样进行单收或单发,则最高可达到32M/4=8M 复采样每秒,即最高发送或接收8MHz带宽的信号。如果用8bit采样,则最高可收/发16MHz带宽的信号。ADC和DAC始终分别以64M和128M 的速率进行采样,用户实际获得的采样速率是通过设置抽值率或插值率得到的。

4.2  USRP子卡

USRP的子卡有如下几种:
USRP是GNU Radio最重要的硬件“伙伴”。与 1)Basic TX、Basic RX:这两种子卡没有中频与射频间的频谱变换,仅仅提供主板上中频信号与天线间的接口。尽管如此,由于ADC和DAC可进行带通采样,仍然可支持2MHz~200MHz的载频。

2)TVRX:可覆盖50MHz一800MHz广播电视频段的接收子卡。
3)DBSRX:可覆盖800MHz~2.4GHz的接受子卡。
4)RFX400、RFX900、RFX1200、RFX1800、

RFX2400:这些子卡均为支持双工,可分别覆盖400Ⅻ z 500 、800 忸z一1000 m z、1150 m z一1450MHz、1.5MHz一2.1MHz、2.3MHz一2.9MHz频段。

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必将在无线领域的技术创新中扮演更加重要的角色。

参考文献

1 J. Mitola. The software radio architecture. ⅢEEComlnun.Mag.vo1.33:26-38。1995.
2 Alok Shah。Vanu。Inc.An Introduction to Software Radio.wwv4.vanu.com.2002.
3 Peter G.Cook,W ayne BOIlser.Architectural Overview of theSPEAKeasy System.Volume 17,Issue 4, April 1999:650.661 Digital Object Idemifier10.1 109/49.761042.
4 熊庆国.软件无线电技术的研究现状及关键技术.信息技术,2003(5).

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • RF
  • 射频
  • 通信
  • 无线
  • Max232在智能网络化UPS中的应用

      智能化网络UPS系统  网络UPS智能系统,主要是以整个网络为管理对象,是指在UPS的主机的输出端增设RS232、R485接口,SNMP(简单网络管理协议)

    12-01
  • 串口通信的参数设置

      串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功

    11-30
  • 在智能脱扣器数据通信上应用现场总线技术

    引言近年来,智能脱扣器技术在国内有了较快的发展。智能脱扣器的成功应用,使得断路器的功能更加强大。目前,国内外研究生产的智能脱扣器能显示开关状态、三相电流、电压、

    11-30
  • 基于RS485总线设计的多处理器RS485通信网络

    1.引言飞机配电系统的功能是实现飞机电能的输送、分配及保护控制。随着航空、电子以及计算机技术的高速发展,机载设备的数量大幅增加,供电系统容量迅速增长[1],飞机

    11-30
  • 串口通信属性及事件解析

      串口通信  串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一

    11-30
  • 串口通信的具体用途是什么

      串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(SerialInterface)是指数据一位一

    11-30
  • 集成ZigBee无线电设计、检定和验证方案

    作者:Darren McCarthy,泰克公司 受全球变暖和能源价格上升的影响,市场对智能化、基于无线电控制的设备的需求快速增长,这些装置可用于监测、控制、传讯以及自动化能源和其他资源的输送。不过这只是基于物理层无线电标准的IEEE 802.15.4技术的许多应用之一。 虽然有许多相互竞争的基于该物理层的协议,但这方面目前的全球领导者是ZigBee组织,该组织发布了涵盖从家庭自动化和智能能源到零售...

    11-29
  • 使用手持式频谱分析仪进行干扰测试

    安捷伦科技产品工程师--胡莹 简介作为在射频和微波频谱中广泛存在的系统,无线通信系统在设计时已具有抗有限干扰的能力。但由于无线系统经常共享或重复使用频谱,其他频谱使用者产生的干扰迅速成为难题。当干扰信号的幅度与相关信号相比相对增大时,该干扰能够以各种方式降低系统性能。 诸如蜂窝网络、广播无线电、电视、雷达和卫星等领域的一些商业和政府机构经常需要持续监控已知和未知信号的干扰频谱,以确保系统性能和管理...

    11-29
  • GPS接收器测试

    概览从波音 747 客机的导航操作、汽车驾驶每天都会使用的 GPS 导航系统,到寻宝者要找到深藏于森林某处的宝藏,GPS 技术已经迅速融入于多种应用中。正当创新技术不断提升 GPS 接收器效能的同时,相关的技术特性亦越来越完整。时至今日,软件甚至可建立 GPS 波形,以精确仿真实际的讯号。除此之外,仪器总线技术亦不断提升,目前即可透过 PXI 仪控功能,以记录并播放实时的 GPS 讯号。介绍由于 ...

    11-29
  • 基于混合域示波器的嵌入式射频系统调测

    嵌入式射频系统基本上今天的每一个电子产品都是一个嵌入系统,小到电子表,大到各种复杂的控制系统。嵌入式系统实际上是专用的计算机系统,它的特征包括非PC,以应用为中心,以计算机技术为基础,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求等。传统嵌入式系统的组成包括:A/D、D/A、 DSP、 FPGA;闪存,即NAND、NOR;嵌入式CPU系统;电源;并行总线;串行总线;I2C、SPI、 RS...

    11-29
  • 如何的高效进行手机测试

       每天,数以百计手机因用户认为打不通而退回商店,特别是在保修期内。但商店或维修中心如何判定的确是手机存在缺陷,抑或只是操作不当?在实际网络中建立手机通话进行测试就像在风中用手指测定风向和风速一样。本文介绍如何经济高效地检测这样的手机。  在实际网络环境下检查存在部分缺陷的手机不大可能查出问题及其根源。按一个特定接受级别,简单的手机通话可能没问题,但在不同条件下或不同模式下可能打不通,例如采用手...

    11-29
  • TD-SCDMA终端耗电性能测试

         随着TD-SCDMA社会化业务测试和试商用的正式启动,TD-SCDMA终端将逐步被更多的普通用户使用。TD-SCDMA终端支持的业务更加丰富,用户对TD-SCDMA通信服务质量的期望也越高,相应地对终端耗电性能也将提出更高的要求。  TD-SCDMA终端除支持基本的语音、短信以外,还支持高速数据下载和视频电话等丰富的多媒体应用,因此增加了复杂的物理层数字信号处理和高层协议栈软件处理。这大...

    11-29
下载排行榜
更多
广告