软件无线电系统综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件无线电系统综述
[摘要] 软件无线电的基本思想是以一个通用、标准、模块化的硬件平台为依托,通过软件编程来实现无线电台的各种功能。本文介绍了其系统的软硬件组成和发展情况。
[关键词]软件无线电GNU Radio USRP
一、引言
由于无线电系统,特别是移动通信系统的领域的扩大和技术复杂度的不断提高,投入的成本越来越大,硬件系统也越来越庞大。为了克服技术复杂度带来的问题和满足应用多样性的需求,特别是军事通信对宽带技术的需求,提出在通用硬件基础上利用不同软件编程的方法。软件无线电将把无线电的功能和业务从硬件的束缚中解放出来。
二、软件无线电系统简介
软件无线电的基本思想是以一个通用、标准、模块化的硬件平台为依托,通过软件编程来实现无线电台的各种功能,从基于硬件、面向用途的设计方法中解放出来。功能的软件化实现势必要求减少功能单一、灵活性差的硬件电路,尤其是减少模拟环节,把数字化处理(A/D和D/A变换)尽量靠近天线。软件无线电强调体系结构的开放性和全面可编程性,通过软件更新改变硬件配置结构,实现新的功能。软件无线电采用标准的、高性能的开放式总线结构,以利于硬件模块的不断升级和扩展。
上图表示一个典型的软件无线电处理流程图。为了理解无线电的软件模块,首先需要理解和其关联的硬件。在这个图中的接收路径上,能够看到一个天线,一个RF前端,一个模拟数字转换器ADC和一堆代码。ADC是一个连接连续模拟的自然世界和离散的数字世界的桥梁。
三、软件无线电软件平台GNU Radio
GNU Radio是一种运行于普通PC上的开放的软件无线电平台,其软件代码设计完全公开。基于该平台,用户能够以软件编程的方式灵活地构建各种无线应用。
GNU Radio是一个对学习,构建和部署软件定义无线电系统的免费软件工具包。GNU Radio是一个无线电信号处理方案。它的目的是给普通的软件编制者提供探索电磁波的机会,并激发他们聪明的利用射频电波的能力。
它提供信号运行和处理模块,用它可以在易制作的低成本的射频(RF)硬件和通用微处理器上实现软件定义无线电。这套套件广泛用于业余爱好者,学术机构
和商业机构用来研究和构建无线通信系统。
GNU Radio 的应用主要是用Python 编程语言来编写的。但是其核心信号处理模块是C++在带浮点运算的微处理器上构建的。因此,开发者能够简单快速的构建一个实时、高容量的无线通信系统。
尽管其主要功用不是仿真器,GNU Radio 在没有射频RF 硬件部件的境况下支持对预先存储和(信号发生器)生成的数据进行信号处理的算法的研究。
正如所有软件定义无线电系统的定义, 可重构性是其最重要的功能。再也不需购买一大堆发射接收设备,只要一台可以装载信号处理软件通用的设备。只要理解无线发射系统的机理(算法),你便可以任意的配置去接受它。
GNU Radio 起源于美国的麻省理工学院的SpectrumWare 项目小组开发的Pspectra 代码的分支。2004年被完全重写。所以今天的Gnuradio 已不包含原Pspectra 任何代码。另外值得一提的是Pspectra 已被用作创立商业化的Vanu Software Radio.
四、通用软件无线电外设(USRP)
通用软件无线电外设(USRP)的设计旨在使普通计算机能像高带宽的软件无线电设备一样工作。从本质上讲,它充当一个无线电通讯系统的数字基带和中频部分。
通用软件无线电外设是一个包含4个64 MS/s 的12位ADC,4 个128 MS/s 的14 位的DAC,以及其它支持线路包括高速的USB 2.0 接口。该USRP能够处理的信号频率高达16 MHz宽。一些发射器和接收器的插件子板,可覆盖0至5.9MHz 频段。USRP背后的基本设计理念是在主机CPU上完成所有波形相关方面的处理,比如调制和解调。所有诸如数字上下变频、抽样和内插等高速通用操作都在FPGA上完成。
USRP的真正价值是它能使工程师和设计师以低预算和最少的精力进行创造。为数不少的开发者和用户贡献了大量的代码库,并为软件和硬件提供了许多实际应用。灵活的硬件、开源软件和拥有经验丰富用户社区群的强强联合,使它成为您软件无线电开发的理想平台。
USRP 的灵活性得益于2个可编程的元件,通过他们和PC上的host端交互。为了对USRP有一个初步映像,让我们看一下它的启动过程。USRP本身不含有ROM,仅仅有一个存储VendorID和productID和版本号信息的EEPROM。当USRP 插到PC的USB口上以后,主机上的程序通过VID,PID和版本号识别这是一个未配置的USRP,主机上的程序第一步要做的是下载一个8051固件到USB控制芯片上,这个固件控制USB的行为。当USB固件下载好后,USRP模拟一个USB设备的重枚举过程,此后主机识别到一个不同的设备,VID,PID和版本号都不同了。现在这个USB固件定义USB端口,接口和用户自定义命令。其中一个命令是load
FPGA,收到这个命令后USB设备就能够把FPGA配置bitstream下载到FPGA芯片中开始工作。
FPGA 像一个小的,高性能的并行计算机一样,可以完成你设计的任务,设计FPGA需要一些技能,并且如果不慎还会烧坏你的板子。还好我们已经提供一个标准的适应性很广的FPGA配置。通过使用一个好的USB控制器,USRP能够有32M/s的处理能力,USB是半双工的,基于你的需要,USB能够在传输和接收之间转换。在接收方式下,标准的配置能够允许你选择你感兴趣的频率,同时完成基带化和抽取滤波的工作。和RF前端处理方法一样,但现在做的是在数字域的采样。执行这些功能的代码叫做数字下变频转换器DDC,利用这些处理我们能够在数字域快速的改变中心频率。
在传输路径上,执行一个完全反过来的过程。FPGA包含多个数字上下变频实例,根据需要这些实例连接到相同或者不同的ADC上面。
五、发展现状和展望
软件无线电由软件提供给我们的灵活性,一些年以后,我们将会看到传统的由很多固定元件组成的无线电设备将会被通用的通信设备来取代。可以想像,一个软件无线电设备能够变体成为蜂窝电话,能够灵活的使用GPRS,802.11 Wi-Fi,802.16 WiMax,卫星链路,或者将出现的其他通讯标准进行通讯,而硬件设备无需改动,只需要软件设置。你能够决定使用GPS,GLONASS或者两个一起使用来给自己定位。
使用软件无线电可以用来建立一个分布式个人通讯系统。当今的通讯系统,大多数是采用自上而下的结构,广播和电视系统提供一个单向链路。蜂窝电话系统给人们带来极大的便利,但是你的手机提供的功能是由运营商来控制的,而不是你自己。我们可以建造一个智能设备,这些设备能够自组织的,在使用者之间建成一个网络。
目前以美国和西欧为主导的发达国家都在积极地致力于软件无线电技术的研究和系统的开发利用。美国在其国防技术领域计划中,将软件无线电视为战场无缝通信的基石和首要的技术挑战,认为是用来解决多售主、多网络、联合/多兵种合成部队和商业环境中通信设备互操作性问题的有效手段。其最终目标是:在此基础上发展利用商业标准和协议,达到战术系统之间以及战术系统与全球通信系统之间的自动化无缝接口,实现数据/语音一体化传输和数字战场通信,确保战区内分散在各处的阵地,直到最低梯队步兵和每艘舰艇和每架飞机之间能够进行可靠、透明、安全的连通。
在军事应用中,存在这样一些情况,即接收机的接收信号的特征是未知的,因此需要采用SDR概念。在民用无线系统中,4G需要采用SDR技术来产生一个无缝隙网络环境和适合的通信。这可通过在一个终端改变通信方案来实现。例如,SDR终端不仅可在蜂窝电话系统间变换,而且可变化到其他系统,如WLAN,以避免通信中断。SDR可根据用户需求或者信道环境重构系统,如一个用于看电影