0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件无线电架构的详细概述

iIeQ_mwrfnet 来源:未知 作者:胡薇 2018-07-24 15:56 次阅读

随着软件无线电技术的发展,智能无线电技术逐渐成为通信领域关注的热点,并给无线通信带来新的发展空间。

软件无线电架构

软件无线电(SDR)最初的概念是一种通信技术或者体系结构,而现在SDR,确切地说是软件定义无线电,更接近一种设计方法或者设计理念。软件无线电在理论上有着良好的应用前景,实际应用中却受到软、硬件工艺或者处理能力的限制,但是基于软件无线电概念基础上的软件定义无线电技术却越来越受到人们的重视。在2001 年10 月份举行的ITU-8F 会议上,软件定义无线电被推荐为未来无线通信极有可能的发展方向。

软件定义无线电的功能需求包括重新编程及重新设定的能力、提供并改变业务的能力、支持多标准的能力以及智能化频谱利用的能力等。可见,SDR 是可为所有技术使用的公共平台,例如认知无线电。下面我们将从一个相对完整的SDR 平台角度来阐述SDR 平台的架构,主要包括以软件为中心的SDR 架构和SDR 硬件结构两个方面。

1、以软件为中心SDR 架构

软件无线电,其重点在于基于一款通用平台来进行功能的软件化处理。在SDR 探讨中,开发人员往往注重平台的硬件开发,偏重于搭建平台时使用器件的处理性能,以使得通用平台尽可能的接近理想软件无线电的设计要求。这使得一部分人忽略了SDR 中软件平台的设计。这里提出的SDR 软件平台,是指在利用通用硬件平台实现SDR 功能时的一种用户算法处理框架(或简单认为信号处理框架),甚至是一种操作环境(如满足软件通信体系架构规范用户接口环境)。SDR 软件平台(也称作SDR架构)负责的功能一般包括:

·提供用户接口,用户通过该接口添加、删除功能模块。·算法封装,将算法包装与外界隔离,算法包括通信算法、信号处理算法、C/C++等其他算法。·互联接口,以完成模块间互联。·中间信号的测试调试接口。·调度器或者适配器,用来管理模块。

SDR 架构中,最受欢迎的两类开源平台分别是开源软件定义无线电(GNU Radio)和开源软件通信体系框架嵌入式解决方案(OSSIE)。二者都是着手于标准化和可移植化的代码开发,GNU Radio 的出发点是提供一种信号处理框架,而OSSIE 的目标是提供一种软件通信体系架构(SCA)操作环境。

1.1 GNU Radio 平台

GNU Radio 是一种设计SDRs 的开源架构,其主要组件包括6 个部分:通用框架、调度器、C++ 和Python 工具、数字信号处理(DSP)模块、用户接口界面、硬件前端的接口。这6 个部分详细功能说明如下:

·一个为信号处理模块准备的通用框架,并且其可以连接到一个或多个其他模块。·一个调度器,用于激活每个处理模块并且管理模块之间的相关数据传输。·C++和Python 工具,用于建立多个模块间的流图,并将该流图连接到调度器上。·一组足够多的用于滤波器、跟踪环等的常用DSP 模块。·用户接口界面,允许用户拖拽模块、模块连线来实现GNU Radio 的设计。·一个与商用硬件前端的接口。前端硬件包括数模/模数转换器DAC/ADC)和上下变频器,来提供了通用处理器(GPP)和无线物理环境的接口。

GNU Radio 运行在Linux 系统上。图1 给出了GNU Radio 图形用户接口界面,每一个小模块封装了不同的信号处理功能,而且这些算法功能都是开源的。大部分算法或者信号处理模块是基于C++语言开发的,可读性强,同时也便于用户开发。模块间的通信是利用数据通道完成的,信息采用的是消息队列形式。GNU Radio 结合通用软件无线电外设(USRP)开发板,可以认为是一种SDR 平台,相关人员可以利用这种平台进行一些算法的快速开发和SDR 研究。

图1、GNU Radio 图形用户接口界面

1.2、OSSIE 平台

OSSIE 是一种开发SCA 兼容无线电的开源平台,提供了一种SCA 操作环境。OSSIE 分配包括以下部分:

·用来选择模块和互联模块的用户接口。·定义新模块的用户接口,可以创建C++程序框架,用户根据应用需要可以增减框架内所需要的信号处理代码。·用来检查和调试波形的用户接口,该接口允许开发人员监视中间模块中的信号。监控器可以在运行中添加,便于观察中间波形,进行模块调试。·基于开源对象请求代理(ORB)的SCA 兼容公共对象请求代理体系结构(CORBA)。·一系列学习指南和实验课程。Windows 用户可以直接下载相关组件并运行,不需要安装Linux,相对GNU Radio 上手容易。

从图2 和图3 以及OSSIE 分配上看出,用户接口软件OSSIE 提供了SDR 架构设计、信号处理代码封装、接口调试、中间模块波形调试等功能,在OSSIE 上开发完整的无线电是相当可行的。基于OSSIE 架构,Prismtech 公司的著名Spectra 系统提供了一个完整的用来开发SCA 兼容波形的操作环境。

图2、OSSIE 用来定义波形的用户接口界面

图3、OSSIE 用来测试和调试用户接口界面

1.3、不同开源SDR 平台间对比

GNU Radio 由专门的业余爱好者创立,以节省开支和临时应急验证为目的的一种快速开发工具;而OSSIE符合军方开发标准。二者都是着手于标准化和可移植化的代码开发。

GNU Radio 的出发点是提供一种信号处理框架,与之不同的是OSSIE的目标是提供一种SCA 操作环境。GNU Radio 运行在Linux 平台上,且直接访问文件系统和硬件;SCA 波形运行在OSSIE 提供的一个良好的操作环境下,应用程序界面抽象描述了文件系统和硬件。在GNU Radio 上的模块之间通过Python 或者C++指令来互相连接,采样数据是通过用户自定义的循环缓冲来传输。OSSIE 采用可扩展标记语言(XML)文件定义模块连接,而实际是通过CORBA 服务完成了连接。最重要的是OSSIE 基于ORB 结构,采用了传输控制协议/互联网络协议(TCP/IP)传输采样数据。特别说明,ORB 允许不同的模块运行在不同的机器上,而GNU Radio平台上的流图只能在同一台机器上运行。通过比较发现,GNU Radio 更像是OSSIE 中一种功能组件,完成的是OSSIE 的信号处理功能。

基于GNU Radio 和OSSIE 两类平台出现一系列SDR 软件架构,例如PrismTech 公司的Spectra CX 环境。这些SDR 架构与专用处理器(现场可编程门阵列/DSP)相连接或者将专用处理器抽象成封装组件,将无线电波形集中管理,根据需要进行装配组件形成波形应用,灵活调用。这样就完成了软件无线电平台开发雏形。

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.1 基于GPP 的SDR 结构

基于GPP 的SDR 结构提供了最大的灵活性和最简单的开发。GPPs最适合用于实验室环境的研究和开发,研究者能够快速尝试一系列算法和波形。一款高配PC 在运行相当复杂的波形情况下,数据率≥1 Mbit/s,并且通过以太网USB、PCI 等标准接口可以直接处理数字基带或者低中频采样数据。并且可以通过多核处理来提高数据的吞吐量。但是,对于这种结构来说更适合处理数据块,并不擅长处理实时采样数据,数据延时和抖动是其面临的主要问题。操作系统会引进延时和抖动,windows 系统抖动可能超过10 ms,而像VxWorks这种实时操作系统抖动可以限制在1 ms 内。

基于GPP 的SDR 结构比较简单,其结构一般如图4 所示,只包括天线ADC/DAC、数据缓冲模块(FIFO)和GPP。这种架构对于开发人员来说,相当方便和灵活,直接接入个人PC 就可以进行算法开发和测试,但它也存在缺点,如上述所述,延时和数据处理的方式等。

图4、基于GPP 的SDR

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 结合制作成单一器件(如Xilinx ZYNQ 系列)。

将FPGA 和GPP 结合制作成单一器件,并不是像嵌入了单片机模块,这种片上单片机上电可用,并且不需要FPGA 就可以进行编程设计。由此可知,基于FPGA 的SDR 架构时代已经到来,新一代SDR 将在新技术下越来越有意义。

2.3 基于GPP+FPGA/DSP 的混合SDR结构

基于GPP+FPGA/DSP 的混合SDR结构,分为GPP+FPGA、GPP+DSP+FPGA 两种主要架构形式。这种组合结构融合不同器件的优点,取长补短,在功耗要求比较宽松的实验室环境下,能够给开发人员提供一种快速验证各类算法高性能平台。

图5 给出了这种结构的互联示意图。这种结构一般对异构器件间的数据交换的性能要求较高,不同器件间通信一般会采用PCIe[12] 接口方式(1.25 Gb/s/1x)和串行高速输入输出(SRIO)接口方式(1.5 Gb/s/1x)。PCI Express 主要用于计算机中芯片间、板卡间的数据传输,也有部分嵌入式市场;RapidIO 主要用于嵌入式系统内芯片间、板间数据传输,其目标就是嵌入式系统内的高性能互联。这种混合SDR 结构,性能上可以充分地利用各种器件的优势,但同时也存在着接口设计复杂和能耗大的问题。

图5、异构器件互联示意

2.4、多通道SDR 结构

除了上述讨论的SDR 基本结构,也存在多通道SDR,如图6 所示。多通道SDR 旨在多并发用户共享相同的带宽,例如在一种互不兼容无线电模式下的无线电转换,允许不同模式下用户间对话。这种架构最简单的结构就是整合一组独立的SDRs,每一个SDR 支持一个或多个信道,一般的这些SDRs 分别是具有低速率、中速率、高速率处理能力。这种结构除了对多种用户接口、复杂的算法设计、系统设计提出高要求,也对信号处理器(GPP/FPGA/DSP)和射频模块(ADC/DAC/放大器)的性能提出了较高的要求。

图6、多通道SDR

3、实验室自研平台

目前,业界也出现了一系列支持SDR/CR 的高性能开发平台,均是基于以上讨论的架构。例如National Instruments 公司的USRP、BeeCube 公司的BEE3、基于Xilinx ZYNQ 系列的ZingBoard/ ZedBoard 开发板等。这些现有的具有SDR 开发能力的开发板,大多属于商业产品,并不是专业应用于SDR 开发的产品,辅以个人PC(GPP)设备才能进行一定意义上的SDR 设计。下面介绍一种自研平台,该平台可专门用于软件无线电和认知无线电的相关研发,特别适合实验室环境下,开发人员对新算法的快速实现。

3.1 自研平台硬件结构

该平台主要包含了GPP、专用处理器(FPGA/DSP)、射频前端、天线等主要部件,如图7 所示。

图7、平台架构及应用

如图7 所示,这种SDR 实现结构利用紧凑型外围组件接口(CPCI)总线将FPGA、DSP、GPP 连接在一起,充分利用了FPGA 高速并行数据流处理能力、DSP 高效算法处理能力、上位机灵活的界面操作能力以及现场可编程能力。更有意义的是平台支持GNU Radio/OSSIE 架构,实验室团队在平台上实现了基于Spectra CX 操作环境的SCA 设计,可以认为它是一套具有SDR 电台研发能力的通用设备。平台主要参数如表1 所示。

表1、自研平台部分参数

3.2 单元互联

该平台主要目的是用于SDR 的应用研究,必然面临多用户、多波形、宽带宽等问题,此时FPGA、DSP、GPP这些异构器件间的通信能力直接决定了系统的整体性能,即涉及不同单元间互联方式的选择。为了能过获得最大数据吞吐能力,专用器件与GPP 间的通信采用了PCIe 接口方式,FPGA 与DSP 之间的通信则采用SRIO,通过提高接口的数据交换速度来保证大数据吞吐能力,进而充分发挥各处理器强大的数据处理能力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDR
    SDR
    +关注

    关注

    7

    文章

    233

    浏览量

    50457
  • 无线电
    +关注

    关注

    59

    文章

    2139

    浏览量

    116422

原文标题:从零开始学SDR系列:详解软件无线电架构

文章出处:【微信号:mwrfnet,微信公众号:微波射频网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [3.2.1]--3.2软件无线电软件架构的需求

    软件无线电
    jf_75936199
    发布于 :2023年01月06日 01:51:32

    基于组件的软件无线电(1)#软件无线电

    软件无线电
    未来加油dz
    发布于 :2023年07月03日 21:29:12

    基于组件的软件无线电(2)#软件无线电

    软件无线电
    未来加油dz
    发布于 :2023年07月03日 21:30:00

    无线系统概述(1)#软件无线电

    软件无线电
    未来加油dz
    发布于 :2023年07月03日 21:50:19

    软件无线电无线电的技术概述及应用

    的理论、软件算法及应用等并不局限于图1 里提及的。图2 给出了一种实际的SDR 体系,它是一种全球微波互联接入(WiMAX)网络中的实际SDR架构。智能无线电技术(1):软件
    发表于 08-21 15:23

    软件无线电设计解决方案

    和DSP的重要准则。软件无线电(SDR)结构一直被认为是基站开发的灵丹妙药,而随着其适应新协议的能力不断增强,软件无线电结构已被一些设计人员视为在单个基础
    发表于 07-29 08:28

    软件无线电的短波应用

    1、 概述 随着无线通信数字化和计算机应用进入无线电领域,一种新的无线通信体系结构——软件无线电
    发表于 07-29 07:00

    软件无线电架构是怎样的?软件无线电有哪些应用?

    软件无线电架构是怎样的? 软件无线电有哪些应用?
    发表于 05-21 06:34

    软件无线电是什么?软件无线电具有哪些特点?

    软件无线电是什么?软件无线电具有哪些特点?软件无线电的基本结构是由哪些部分组成的?
    发表于 05-27 06:28

    软件无线电,软件无线电是什么意思

    软件无线电,软件无线电是什么意思 软件无线电技术:全部基带信号的处理都是在DSP中用
    发表于 04-09 11:50 2077次阅读

    基于软件无线电的基站设计

    软件定义的无线电架构长期以来一直被认为是基站发展的灵丹妙药,由于这种无线电架构能够很快适应新的协议,曾一度被作为基础设施设计中支持多项
    发表于 12-13 04:03 2216次阅读

    基于FPGA技术实现软件无线电的设计

    软件无线电技术给正在开发无线电架构的工程师带来力量。编程中频(IF)带宽、调制、编码模式和其他无线电功能的能力广泛引起注意的。除了提供所有这
    的头像 发表于 07-10 08:13 4845次阅读
    基于FPGA技术实现<b class='flag-5'>软件</b><b class='flag-5'>无线电</b>的设计

    软件无线电SDR架构详细资料说明

    软件无线电(SDR)最初的概念是一种通信技术或者体系结构,而现在SDR,确切地说是软件定义无线电,更接近一种设计方法或者设计理念。软件
    发表于 11-18 10:31 6次下载
    <b class='flag-5'>软件</b><b class='flag-5'>无线电</b>SDR<b class='flag-5'>架构</b>的<b class='flag-5'>详细</b>资料说明

    软件无线电和认知无线电的发展现状和技术概述与应用的介绍

    详细介绍了智能无线电技术中的关键技术——软件无线电架构,并从其应用及通用平台设计角度分析各类平台的优缺点;第3 期介绍了
    发表于 11-17 10:38 6次下载
    <b class='flag-5'>软件</b><b class='flag-5'>无线电</b>和认知<b class='flag-5'>无线电</b>的发展现状和技术<b class='flag-5'>概述</b>与应用的介绍

    软件无线电技术中的关键技术——软件无线电架构

    软件无线电(SDR)最初的概念是一种通信技术或者体系结构,而现在SDR,确切地说是软件定义无线电,更接近一种设计方法或者设计理念。软件
    的头像 发表于 04-08 09:30 5278次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>无线电</b>技术中的关键技术——<b class='flag-5'>软件</b><b class='flag-5'>无线电</b>的<b class='flag-5'>架构</b>