详解软件无线电(SDR)架构

详解软件⽆线电(SDR)架构
详解软件⽆线电(SDR)架构
哈尔滨⼯程⼤学信息与通信⼯程学院
导读: 软件⽆线电(SDR)最初的概念是⼀种通信技术或者体系结构,⽽现在SDR,确切地说是软件定义⽆线电,更接近⼀种设计⽅法或者设计理念。软件⽆线电在理论上有着良好的应⽤前景,实际应⽤中却受到软、硬件⼯艺或者处理能⼒的限制。
2  软件⽆线电架构
  软件⽆线电(SDR)最初的概念是⼀种通信技术或者体系结构,⽽现在SDR,确切地说是软件定义⽆线电,更接近⼀种设计⽅法或者设计理念。软件⽆线电在理论上有着良好的应⽤前景,实际应⽤中却受到软、硬件⼯艺或者处理能⼒的限制,但是基于软件⽆线电概念基础上的软件定义⽆线电技术却越来越受到⼈们的重视。在2001年10 ⽉份举⾏的ITU-8F 会议上,软件定义⽆线电被推荐为未来⽆线通信极有可能的发展⽅向。
  软件定义⽆线电的功能需求包括重新编程及重新设定的能⼒、提供并改变业务的能⼒、⽀持多标准的能⼒以及智能化频谱利⽤的能⼒等。可见,SDR是可为所有技术使⽤的公共平台,例如认知⽆线电。下⾯
我们将从⼀个相对完整的SDR平台⾓度来阐述SDR 平台的架构,主要包括以软件为中⼼的SDR架构和SDR 硬件结构两个⽅⾯。
  2.1 以软件为中⼼SDR架构
  软件⽆线电,其重点在于基于⼀款通⽤平台来进⾏功能的软件化处理。在SDR探讨中,开发⼈员往往注重平台的硬件开发,偏重于搭建平台时使⽤器件的处理性能,以使得通⽤平台尽可能的接近理想软件⽆线电的设计要求。这使得⼀部分⼈忽略了SDR中软件平台的设计。这⾥提出的SDR软件平台,是指在利⽤通⽤硬件平台实现SDR功能时的⼀种⽤户算法处理框架(或简单认为信号处理框架),甚⾄是⼀种操作环境(如满⾜软件通信体系架构规范⽤户接⼝环境)。SDR软件平台(也称作SDR架构)负责的功能⼀般包括:
  提供⽤户接⼝,⽤户通过该接⼝添加、删除功能模块。
  算法封装,将算法包装与外界隔离,算法包括通信算法、信号处理算法、C/C++等其他算法。
  互联接⼝,以完成模块间互联。
  中间信号的测试调试接⼝。
  调度器或者适配器,⽤来管理模块。
  SDR 架构中,最受欢迎的两类开源平台分别是开源软件定义⽆线电(GNURadio)和开源软件通信体系框架嵌⼊式解决⽅案(OSSIE)。⼆者都是着⼿于标准化和可移植化的代码开发,GNURadio 的出发点是提供⼀种信号处理框架,⽽OSSIE的⽬标是提供⼀种软件通信体系架构(SCA)操作环境。
  2.1.1 GNURadio 平台
  GNU Radio是⼀种设计SDRs 的开源架构,其主要组件包括6 个部分:通⽤框架、调度器、C++ 和Python ⼯具、(DSP)模块、⽤户接⼝界⾯、硬件前端的接⼝。这6个部分详细功能说明如下:
  ⼀个为信号处理模块准备的通⽤框架,并且其可以连接到⼀个或多个其他模块。
  ⼀个调度器,⽤于激活每个处理模块并且管理模块之间的相关数据传输。
  C++和Python ⼯具,⽤于建⽴多个模块间的流图,并将该流图连接到调度器上。
  ⼀组⾜够多的⽤于滤波器、跟踪环等的常⽤DSP模块。
  ⽤户接⼝界⾯,允许⽤户拖拽模块、模块连线来实现GNURadio 的设计。
  ⼀个与商⽤硬件前端的接⼝。前端硬件包括数模/模数转换器(DAC/ADC)和上下变频器,来提供了通⽤处理器(GPP)和⽆线物理环境的接⼝。密钥索引
  GNU Radio运⾏在Linux 系统上。图7 给出了GNU Radio图形⽤户接⼝界⾯,每⼀个⼩模块封装了不同的信号处理功能,⽽且这些算法功能都是开源的。⼤部分算法或者信号处理模块是基于C++语⾔开发的,可读性强,同时也便于⽤户开发。模块间的通信是利⽤数据通道完成的,信息采⽤的是消息队列形式。GNURadio 结合通⽤软件⽆线电外设(USRP)开发板,可以认为是⼀种SDR 平台,相关⼈员可以利⽤这种平台进⾏⼀些算法的快速开发和SDR研究。
  图7GNU Radio 图形⽤户接⼝界⾯
2.1.2OSSIE 平台
  OSSIE 是⼀种开发SCA 兼容⽆线电的开源平台,提供了⼀种SCA操作环境。OSSIE 分配包括以下部分:
  ⽤来选择模块和互联模块的⽤户接⼝。
  定义新模块的⽤户接⼝,可以创建C++程序框架,⽤户根据应⽤需要可以增减框架内所需要的信号处理代码。
  ⽤来检查和调试波形的⽤户接⼝,该接⼝允许开发⼈员监视中间模块中的信号。监控器可以在运⾏中添加,便于观察中间波形,进⾏模块调试。
  基于开源对象请求代理(ORB)的SCA 兼容公共对象请求代理体系结构(CORBA)。
  ⼀系列学习指南和实验课程。Windows ⽤户可以直接下载相关组件并运⾏,不需要安装Linux,相对GNU Radio上⼿容易。
  从图8 和图9 以及OSSIE 分配上看出,⽤户接⼝软件OSSIE 提供了SDR 架构设计、信号处理代码封装、接⼝调试、中间模块波形调试等功能,在OSSIE上开发完整的⽆线电是相当可⾏的。基于OSSIE架构,Prismtech公司的著名Spectra 系统提供了⼀个完整的⽤来开发SCA 兼容波形的操作环境。
  图8OSSIE ⽤来定义波形的⽤户接⼝界⾯
  图9OSSIE ⽤来测试和调试⽤户接⼝界⾯
  2.1.3 不同开源SDR平台间对⽐
  GNU Radio由专门的业余爱好者创⽴,以节省开⽀和临时应急验证为⽬的的⼀种快速;⽽OSSIE符合军⽅开发标准。⼆者都是着⼿于标准化和可移植化的代码开发。
  GNU Radio的出发点是提供⼀种信号处理框架,与之不同的是OSSIE的⽬标是提供⼀种SCA 操作环境。GNU Radio运⾏在Linux 平台上,且直接访问⽂件系统和硬件;SCA波形运⾏在OSSIE 提供的⼀
个良好的操作环境下,应⽤程序界⾯抽象描述了⽂件系统和硬件。在GNURadio 上的模块之间通过Python或者C++指令来互相连接,采样数据是通过⽤户⾃定义的循环缓冲来传输。OSSIE采⽤可扩展标记语⾔(XML)⽂件定义模块连接,⽽实际是通过CORBA服务完成了连接。最重要的是OSSIE基于ORB 结构,采⽤了传输控制协议/互联(TCP/IP)传输采样数据。特别说明,ORB 允许不同的模块运⾏在不同的机器上,⽽GNURadio平台上的流图只能在同⼀台机器上运⾏。通过⽐较发现,GNURadio 更像是OSSIE中⼀种功能组件,完成的是OSSIE的信号处理功能。
  基于GNU Radio和OSSIE 两类平台出现⼀系列SDR 软件架构,例如PrismTech公司的SpectraCX 环境。这些SDR 架构与专⽤处理器(现场可编程门阵列/DSP)相连接或者将专⽤处理器抽象成封装组件,将⽆线电波形集中管理,根据需要进⾏装配组件形成波形应⽤,灵活调⽤。这样就完成了软件⽆线电平台开发雏形。
stkx2.2⽤于SDR 信号处理的硬件结构
  SDR 要求硬件系统具有功能可重构、较⾼的实时处理能⼒,要求适应性⼴、升级换代简便。在⼀般情况下要求SDR硬件系统具备如下特点:⽀持多处理器系统,具有宽带⾼速数据传输I/O接⼝,结构模块化、标准化、规范化等。常见的SDR平台就是CPU+DSP+FPGA这种形式。即便我们不具备全部硬件,但仍然可以进⾏SDR开发,因为SDR 更像是⼀种设计理念,重在软件和算法处理,其组件(不管
是硬件平台,还是软件算法)满⾜同⼀种规范,则具备SDR可重构的灵活性。⽬前,存在3种主流SDR 硬件平台结构:基于GPP 的SDR 结构、基于现场可编程门阵列(FPGA)的SDR(Non- GPP)结构、基于GPP+FPGA/SDP 的混合SDR结构。
设备集电环
  2.2.1 基于GPP的SDR 结构
  基于GPP 的SDR 结构提供了最⼤的灵活性和最简单的开发。GPPs最适合⽤于实验室环境的研究和开发,研究者能够快速尝试⼀系列算法和波形。⼀款⾼配PC在运⾏相当复杂的波形情况下,数据率≥1 Mbit/s,并且通过以太⽹、USB、PCI 等标准接⼝可以直接处理数字基带或者低中频采样数据。并且可以通过多核处理来提⾼数据的吞吐量。但是,对于这种结构来说更适合处理数据块,并不擅长处理实时采样数据,数据延时和抖动是其⾯临的主要问题。操作系统会引进延时和抖动,windows系统抖动可能超过10 ms,⽽像VxWorks这种实时操作系统抖动可以限制在1 ms 内。
  基于GPP 的SDR 结构⽐较简单,其结构⼀般如图10 所⽰,只包括天线、ADC/DAC、数据缓冲模块(FIFO)和GPP。这种架构对于开发⼈员来说,相当⽅便和灵活,直接接⼊个⼈PC就可以进⾏算法开发和测试,但它也存在缺点,如上述所述,延时和数据处理的⽅式等。
  图10基于GPP 的SDR
  2.2.2 基于FPGA的SDR(Non-GPP)结构
  基于FPGA 的SDR 结构的实现⽐较困难。FPGA 适合于⾼数据速率和宽带宽信号波形应⽤,并且可以⽤于灵活实现⽆线电和多种多样的波形设计,但是在结构上与GPP存在本质区别。GPP 在内存中执⾏指令且很容易从⼀个指令功能转换到另⼀种功能,⽽FPGA上的功能直接映射成了硬件电路,⼀个新功能需要更多的FPGA资源。同时,FPGA 的⾼度并⾏结构⼗分适合数据流处理,但是不适合密集型控制处理。另⼀⽅⾯,FPGA的配置⽂件⾼达40 MB,配置时间长达100 ms,⽽且重新配置是容易丢失芯⽚中的数据。这些问题直接造成了多波形设计中重新加载的时间太长的问题。虽然⼀部分FPGA⽀持局部重配置的功能,但是这项技术相当困难并且严重受到的限制。让⼈兴奋的是,FPGA 实现了2011 年提出的3 项建议:
  专⽤GPP 与FPGA ⼀同使⽤。
  通过使⽤可⽤的逻辑资源在FPGA 上嵌⼊⼀个全功能的单⽚机。
  将FPGA 和GPP 结合制作成单⼀器件(如XilinxZYNQ 系列)。智能电表系统
  将FPGA 和GPP 结合制作成单⼀器件,并不是像嵌⼊了单⽚机模块,这种⽚上单⽚机上电可⽤,并且不需要FPGA就可以进⾏编程设计。由此可知,基于FPGA的SDR 架构时代已经到来,新⼀代SDR 将在新技术下越来越有意义。
2.2.3基于GPP+FPGA/DSP 的混合SDR结构
  基于GPP+FPGA/DSP的混合SDR结构,分为GPP+FPGA、GPP+DSP+FPGA两种主要架构形式。这种组合结构融合不同器件的优点,取长补短,在功耗要求⽐较宽松的实验室环境下,能够给开发⼈员提供⼀种快速验证各类算法⾼性能平台。
  图11 给出了这种结构的互联⽰意图。这种结构⼀般对异构器件间的数据交换的性能要求较⾼,不同器件间通信⼀般会采⽤PCIe[12]接⼝⽅式(1.25Gb/s/1x)和串⾏⾼速输⼊输出(SRIO)接⼝⽅式(1.5Gb/s/1x)。PCIExpress 主要⽤于计算机中芯⽚间、板卡间的数据传输,也有部分嵌⼊式市场;RapidIO主要⽤于嵌⼊式系统内芯⽚间、板间数据传输,其⽬标就是嵌⼊式系统内的⾼性能互联。这种混合SDR结构,性能上可以充分地利⽤各种器件的优势,但同时也存在着接⼝设计复杂和能耗⼤的问题。
  图11异构器件互联⽰意
  2.2.4 多通道SDR结构
  除了上述讨论的SDR 基本结构,也存在多通道SDR,如图12 所⽰。多通道SDR 旨在多并发⽤户共享相同的带宽,例如在⼀种互不兼容⽆线电模式下的⽆线电转换,允许不同模式下⽤户间对话。这种架构最简单的结构就是整合⼀组独⽴的SDRs,每⼀个SDR ⽀持⼀个或多个信道,⼀般的这些SDRs 分别是具有低速率、中速率、⾼速率处理能⼒。这种结构除了对多种⽤户接⼝、复杂的算法设计、系
老化仪
统设计提出⾼要求,也对信号处理器(GPP/FPGA/DSP)和射频模块(ADC/DAC/放⼤器)的性能提出了较⾼的要求。
  图12多通道SDR
2.3实验室⾃研平台
  ⽬前,业界也出现了⼀系列⽀持SDR/CR的⾼性能开发平台,均是基于以上讨论的架构。例如NationalInstruments公司的USRP、BeeCube 公司的BEE3、基于XilinxZYNQ 系列的ZingBoard/ZedBoard 开发板等。这些现有的具有SDR开发能⼒的开发板,⼤多属于商业产品,并不是专业应⽤于SDR开发的产品,辅以个⼈PC(GPP)设备才能进⾏⼀定意义上的SDR 设计。下⾯介绍⼀种⾃研平台,该平台可专门⽤于软件⽆线电和认知⽆线电的相关研发,特别适合实验室环境下,开发⼈员对新算法的快速实现。
HD-PRIDE  2.3.1 ⾃研平台硬件结构
  该平台主要包含了GPP、专⽤处理器(FPGA/DSP)、射频前端、天线等主要部件,如图13所⽰。
  图13平台架构及应⽤
  如图13 所⽰,这种SDR 实现结构利⽤紧凑型外围组件接⼝(CPCI)总线将FPGA、DSP、GPP 连接在⼀起,充分利⽤了FPGA ⾼速并⾏数据流处理能⼒、DSP ⾼效算法处理能⼒、上位机灵活的界⾯操作能⼒以及现场可编程能⼒。更有意义的是平台⽀持
GNURadio/OSSIE 架构,实验室团队在平台上实现了基于SpectraCX 操作环境的SCA 设计,可以认为它是⼀套具有SDR 电台研发能⼒的通⽤设备。平台主要参数如表1所⽰。
  表1⾃研平台部分参数
  2.3.2 单元互联
  该平台主要⽬的是⽤于SDR 的应⽤研究,必然⾯临多⽤户、多波形、宽带宽等问题,此时FPGA、DSP、GPP这些异构器件间的通信能⼒直接决定了系统的整体性能,即涉及不同单元间互联⽅式的选择。为了能过获得最⼤数据吞吐能⼒,专⽤器件与GPP间的通信采⽤了PCIe 接⼝⽅式,FPGA 与DSP 之间的通信则采⽤SRIO,通过提⾼接⼝的数据交换速度来保证⼤数据吞吐能⼒,进⽽充分发挥各处理器强⼤的数据处理能⼒。
  第2 讲对软件⽆线电的架构做了详细介绍,包括SDR的软件操作环境(或⽤户接⼝)和硬件平台,并从其应⽤及通⽤平台设计⾓度分析各类平台的优缺点。当然,软件⽆线电并不只限于上述讨论内容,
上述讨论只限于应⽤于SDR算法开发范畴,SDR 还包括软件可调模拟⽆线通信组件(如软件可调滤波器、软件可调上下变频器、软件可调功率放⼤器等)、天线系统(如多输⼊多输出系统、智能天线与波束成形)、以及⼀系列软件⽆线电理论(带通采样、多速率信号处理、⾼效数字滤波)等。

本文发布于:2024-09-22 18:31:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/324266.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:软件   平台   开发
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议