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

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

3天内不再提示

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

FPGA之家 来源:《中兴通讯技术》 作者:《中兴通讯技术》 2021-04-08 09:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着软件无线电技术的发展,智能无线电技术逐渐成为通信领域关注的热点,并给无线通信带来新的发展空间。讲座将分为3 期对智能无线电技术技术进行介绍:第1 期讲述软件无线电技术的背景及发展现状;第2 期详细介绍软件无线电技术中的关键技术——软件无线电的架构,并从其应用及通用平台设计角度分析各类平台的优缺点;第3 期介绍了软件无线应用中的多种开发工具。

软件无线电架构

软件无线电(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 研究。

954b4d52-92eb-11eb-8b86-12bb97331649.jpg

图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 兼容波形的操作环境。

9592fc4c-92eb-11eb-8b86-12bb97331649.jpg

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

95a09758-92eb-11eb-8b86-12bb97331649.jpg

图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 就可以进行算法开发和测试,但它也存在缺点,如上述所述,延时和数据处理的方式等。

95bf95c2-92eb-11eb-8b86-12bb97331649.jpg

图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 结构,性能上可以充分地利用各种器件的优势,但同时也存在着接口设计复杂和能耗大的问题。

95cb3dbe-92eb-11eb-8b86-12bb97331649.jpg

图5、异构器件互联示意

2.4、多通道SDR 结构

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

95ed2f96-92eb-11eb-8b86-12bb97331649.jpg

图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 所示。

95fa7c46-92eb-11eb-8b86-12bb97331649.jpg

图7、平台架构及应用

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

96354768-92eb-11eb-8b86-12bb97331649.jpg

表1、自研平台部分参数

3.2 单元互联

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

第2 讲对软件无线电的架构做了详细介绍,包括SDR 的软件操作环境(或用户接口)和硬件平台,并从其应用及通用平台设计角度分析各类平台的优缺点。当然,软件无线电并不只限于上述讨论内容,上述讨论只限于应用于SDR 算法开发范畴,SDR 还包括软件可调模拟无线通信组件(如软件可调滤波器、软件可调上下变频器、软件可调功率放大器等)、天线系统(如多输入多输出系统、智能天线与波束成形)、以及一系列软件无线电理论(带通采样、多速率信号处理、高效数字滤波)等。

责任编辑:lq

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

    关注

    58

    文章

    4860

    浏览量

    146469
  • 数字信号处理

    关注

    16

    文章

    570

    浏览量

    47498
  • 无线电
    +关注

    关注

    63

    文章

    2202

    浏览量

    119176

原文标题:详解软件无线电架构

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    设计资料原理图:622-基于ADRV9002 +ZYNQ7020 的软件无线电 SDR(升级AD9361)

          软件无线电处理平台 标签: ADRV9002板卡 , KU5P计算板 , PCIe视频采集卡 , 高速模拟AD采集卡 , 软件无线电 SDR 审核
    的头像 发表于 11-21 11:34 71次阅读
    设计资料原理图:622-基于ADRV9002 +ZYNQ7020 的<b class='flag-5'>软件</b><b class='flag-5'>无线电</b> SDR(升级AD9361)

    芯昇科技获“2025无线电频谱资源开发利用与技术创新大赛”优胜奖

    近日,在国家无线电监测中心、工业和信息化部新闻宣传中心等联合主办的“2025无线电频谱资源开发利用与技术创新大赛”,芯昇科技有限公司“基于RISC-V内核的窄带卫星通信芯片设计及应用
    的头像 发表于 11-13 18:16 996次阅读
    芯昇科技获“2025<b class='flag-5'>无线电</b>频谱资源开发利用与<b class='flag-5'>技术</b>创新大赛”优胜奖

    数字阵列板卡设计原理图:889-基于RFSOC XCZU49DR的 16T16R的软件无线电硬件

    DA输出核心板, 数据流传输适配器, 信号输出播放, 数字阵列板卡, 软件无线电硬件, XCZU49DR板卡
    的头像 发表于 10-27 11:46 153次阅读
    数字阵列板卡设计原理图:889-基于RFSOC XCZU49DR的 16T16R的<b class='flag-5'>软件</b><b class='flag-5'>无线电</b>硬件

    软件无线电处理卡设计原理图:227-基于Kintex-7 XC7K325T的FMC USB3.0四路光纤数据转发卡

    Camera Link 输出子卡, K7软件无线电处理平台, 软件无线电处理, 软件无线电处理平
    的头像 发表于 09-18 11:05 510次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>无线电</b>处理卡设计原理图:227-基于Kintex-7 XC7K325T的FMC USB3.0四路光纤数据转发卡

    2025年广东省无线电管理普法宣传活动

    、卫星通信设备(含终端地球站)无线电发射设备八、公众网移动通信模块九、无线接入模块十、其他设备2.对讲机核心技术要求a.设备标识共用和公众对讲机需在机身显著位置标明
    的头像 发表于 08-25 17:39 1458次阅读
    2025年广东省<b class='flag-5'>无线电</b>管理普法宣传活动

    jBox分体式软件无线电演示验证平台

    jBox分体式软件无线电演示验证平台(以下简称jBox)是介方信息推出的一款基于SCA4.1/SRTF标准规范设计的高性能、通用性强的软件无线电平台,该平台采用标准3u-VPX机箱设计
    的头像 发表于 08-14 16:30 800次阅读
    jBox分体式<b class='flag-5'>软件</b><b class='flag-5'>无线电</b>演示验证平台

    在树莓派上开启业余无线电之旅~

    业余无线电可让你通过收听广播、追踪飞行器和解码信号来探索无线通信的奥秘。然而,传统的业余无线电设备往往价格高昂且体积庞大,不易获取。我将向你展示如何利用树莓派以经济实惠的方式踏入业余无线电
    的头像 发表于 08-12 18:56 1229次阅读
    在树莓派上开启业余<b class='flag-5'>无线电</b>之旅~

    璞致电子 UltraScale+ RFSoC 架构下的软件无线电旗舰开发平台

    核心,融合高带宽信号采集、高速数据处理与灵活扩展能力,专为专业工程师打造的软件无线电(SDR)开发平台。其工业级可靠性与丰富的软硬件生态,满足从原型验证到量产部署的全流程需求
    的头像 发表于 08-06 10:08 874次阅读
    璞致电子 UltraScale+ RFSoC <b class='flag-5'>架构</b>下的<b class='flag-5'>软件</b><b class='flag-5'>无线电</b>旗舰开发平台

    【PZ-ZU47DR-KFB】——RFSoC 架构下的超宽带软件无线电SDR开发平台标杆

    软件无线
    hongying188
    发布于 :2025年08月05日 13:55:43

    连载|业余无线电史话(五):首批无线电呼号前缀

    首批无线电前缀1906年,在柏林召开的首届国际无线电报会议上,决定国际无线电报系统的电台呼号须由三个易于区分的字母组成。1912年7月5日,受要求识别所有频谱使用者的《
    的头像 发表于 07-03 07:34 1718次阅读
    连载|业余<b class='flag-5'>无线电</b>史话(五):首批<b class='flag-5'>无线电</b>呼号前缀

    无线电子遥控器要SRRC认证吗?

    无线电子遥控器如果涉及到无线通信功能,在出口到中国时需要进行 SRRC(无线电发射设备认证)。SRRC 认证是中国针对无线电设备的强制认证,目的是确保设备不会干扰到其他
    的头像 发表于 06-30 09:33 1169次阅读
    <b class='flag-5'>无线电</b>子遥控器要SRRC认证吗?

    基于SCA的软件无线电系统的概念与架构

    1 软件通信体系架构SCA的基本概念 SCA:Software Communication Architecture,软件通信架构;继承了软件
    的头像 发表于 03-20 09:30 1490次阅读
    基于SCA的<b class='flag-5'>软件</b><b class='flag-5'>无线电</b>系统的概念与<b class='flag-5'>架构</b>

    满足欧盟无线电设备指令(RED)信息安全标准

    随着全球互联程度日益加深,信息安全与隐私保护已成为监管框架的核心议题。欧盟的无线电设备指令(European Union’s Radio Equipment Directive, RED),尤其是
    发表于 12-19 10:14 710次阅读

    云计算HPC软件关键技术

    云计算HPC软件关键技术涉及系统架构、处理器技术、操作系统、计算加速、网络技术以及软件优化等多个
    的头像 发表于 12-18 11:23 797次阅读

    用于无线电的衰减器选择指南

    无线电通信系统,衰减器是一种重要的无源射频器件,用于减小射频信号的功率。选择合适的无线电衰减器对于确保系统的性能和稳定性至关重要。 一、明确应用需求 工作频率范围 : 衰减器的工作频率范围应与
    的头像 发表于 12-10 09:11 1506次阅读