基于软件无线电的OFDM系统设计与实现

相关专题: 无线 芯片

摘要:为了构建一个适应性强,复用程度高,易于维护、升级的无线电系统平台。提出采用软件无线电将通信系统软件模块化的思想设计OFDM无线通信系统。给出了采用软件无线电思想构建线通信系统的技术方案,其中重点介绍系统软件波形的开发方法,并具体给出波形算法开发流程,对于开发一个开放式的通信系统具有指导作用。

关键词:软件无线电;OFDM;CORBA;UML

传统的通信系统采用硬件电路实现,其优点是技术成熟、实现简单,缺点是功能单一,难以更新换代。通信行业的竞争日趋激烈,市场需求不断提高,必然要求新技术的研究、验证、投入周期不断缩短,开发成本逐步降低,而一个复用性高,开放性能良好的通信系统可以很好地满足这些要求,因此如何实现这样的通信系统就成为相关技术人员密切关注的问题。而另一方面,随着电子计算机技术的飞速发展,处理器性能不断提高,制造成本也不断下降,使得OFDM系统中很大一部分原来只能由硬件实现的功能完全可改由软件方法解决。基于以上考虑,我们提出并且实现了采用软件无线电思想构建OFDM无线通信系统的技术方案。

OFDM系统原理简介

正交频分复用(OFDM)是一种在多个相互正交的子载波上并行传输数据的方法。使用快速傅里叶变换(FFT)实现调制与解调。他在移动高速数据传输中具有频谱利用率高、抗多径干扰能力强、频率选择性衰落信道下性能不受影响等突出的优点,已经成为无线局域网IEEE802.11a/g协议和第四代移动通信系统标准的核心技术之一。OFDM通信系统的物理层原理如图1所示。从图中可以看出,整个系统涵盖了编码、交织、映射、调制解调等多种技术。对这些技术的研究在不断深入开展,其成果不断更新,要使通信系统能够及时采用这些新的技术成果,以较小的代价更新升级,就必须使系统可移植、可配置、开放式结构的特点。采用软件无线电思想可以很好地满足这些要求。

图1 OFDM系统原理图

软件无线电简介

软件无线电(SDR)的基本思想是以一个通用、标准、模块化的硬件平台为依托,通过软件编程来实现无线电台的各种功能。功能的软件化实现要求减少模拟环节,把数字化处理(A/D,D/A变换)尽量靠近天线。可以从逻辑上将软件无线电分为通信业务层、无线电应用层、无线电基础结构层和硬件平台等4层,如图2所示。

通信业务层支持一般业务和无线电专门业务,负责处理协议的交互、信息优先权等任务,提供良好的用户接口,面向用户。

无线电应用层将各分布式对象一起结合到波形中,提供无线信道的接入。由于SDR具有多波段多模式的特性,他的体系结构应是开放式的、可扩展的框架,能够同时接纳传统波形和新出现的技术,故而这一层应包容多种波形的实现,且具有将业务和功能与该层以下各层隔离开的功能。

图2 软件无线电抽象逻辑层次图

基础结构层管理分布的多处理器环境的各种资源。目前采用操作系统、中间件来提供分布式环境下的通信功能,并将上层应用和操作系统屏蔽开来,提高了开发的灵活性。硬件平台物理资源和相关配置,包括天线、处理机和存储设备等。硬件平台的价格是SDR价格的主要因素,要考虑用户的实际经济承受能力,这会对SDR的发展有重要的影响。

可以看出,SDR的功能软件化思想使得算法的实现在最大程度上和具体的硬件平台脱离。和采用硬件实现的方式相比较,他具有开发周期短、成本节约、便于升级的优点。在通信领域不断推陈出新的发展趋势下,其优越性更受瞩目。一套符合软件无线电思想的通信系统在新技术出现的情况下可以最大程度上使用现有资源,只作软件层的开发替换,就可以完成系统的更新换代,这对于开发商和运营商来说无疑具有很大的吸引力。

基于以上优点,构建结构开放、复用性能好、成本低廉的无线OFDM系统应采用SDR思想来设计和实现。

系统设计方案

本文提出的OFDM系统包括硬件和软件两部分,系统结构如图3所示。系统采取双工通信方式,可以作为电台单独使用,也可以接入局域网,同其他系统组成分布式操作环境。

图3 基于SDR的OFDM通信系统结构模型图

硬件处理模块包括专用DSP芯片,模/数、数/模转换以及中频变换部分,该模块与射频天线相连接,是数据处理的前端。在目前情况下,专用DSP芯片完成OFDM系统中FFT,IFFT等多路数据运算的速度比通用处理器要快很多,所以从系统工作效率考虑,这部分复杂数字信号处理功能仍然采用硬件电路实现。本文重点在于软件部分功能模块的设计与实现,此不对硬件模块进行深入讨论。

操作系统选用符合POSIX规范的嵌入式实时操作系统。其功能是为应用程序提供多线程支持,屏蔽不同硬件平台间的差异,为上层软件提供标准的硬件访问接口及其他一些基本服务,使上层软件具有设备无关性,以增加软件的可移植性。他与上层软件通过CORBA中间件通信。CORBA中间件技术能够提供可移植以及可配置的ORB服务。他有许多高质量、免费可用以及源码开放的开发平台可供选择,且可以被裁减到最小,为系统节约可观的内存资源,使得便携式电台的开发实现成为可能,因此选用CORBA来提供分布式应用。

软件部分分为面向用户的主控制界面、负责对软组件配置的控制器和实现系统应用功能的软件波形部分。这3部分间也通过CORBA提供的分布式访问机制相互通信。主控制台提供可视化用户界面。所有需要配置的系统参数和设置选项都通过友好的图形界面提供给用户,这使得用户不需了解系统的具体实现就可进行操作。控制器负责对软件的控制功能。根据用户界面传递来的参数对软件波形进行具体的配置和加载。同时也可将下层组件信息传递给上层用户以供读取、参考。作为主控和软件波形中间层,他使软件波形中的组件被统筹管理,集中控制。

软件波形按照面向对象的思想将系统抽象为若干功能独立的类,比如调制解调、编解码、数据封帧解帧等等,他们都被抽象为不同的类。之后这些类再按照逻辑层次组合成组件。一个组件对应一个逻辑层次,他聚合了同一逻辑层的数据处理功能,提供了与其他组件通信的一对端口,使得系统中零散的模块有组织地运作,便于工程实现。物理组件对应OFDM物理层功能,涉及具体的编码、调制等算法实现。MAC组件完成数据封装、信道访问功能。IO组件负责数据的采集和存储功能。

各个组件在CORBA的支持下,可以相互调用。实现时组件对应着应用程序接口类。CORBA通过接收对象请求代理和调用对象请求代理这两种方式工作,他引入可移植的对象适配器POA作为代理,允许调用程序不必了解组件实现细节就可以向组件发出请求,完成特定操作,且在应用程序的可移植过程中确保CORBA对象和与编程语言有关的伺服程序间能够完全交互。因此,不同语言编写的组件可以在分布式环境下采用CORBA中间件进行通信。

下面以物理层为例来说明系统划分类和组件的设计思想。图4所示为物理组件的UML类图。


    
    图4 物理层的UML类图

物理层设定的功能有编解码、映射解映射、调制解调,对应这3对基本功能,建立了3个相应的类:Codeand Decode,Mapand Demap和Moduland Demodul类,还有2个完成配置功能的类:ModulSetup和Code Model Setup,分别对编解码参数和调制解调参数进行配置,另外还有Provider Port和UserPort两个类来完成建立连接、释放连接以及数据传输的功能。这7个类与物理组件是聚合的关系,他们共同形成了系统的物理层应用程序接口类。物理层应用程序接口通过control操作来控制各个类的使用。

Code Model Setup类提供给用户针对不同业务需要设置系统编解码方式的功能。信道编码采用单独的卷积码还是RS码与卷积码组成的级联码,编码速率设置等,都可以在这个类中进行配置。Modul Setup类提供设置调制解调模式的能力。用户需要对不同的数据采用BPSK,QPSK,16QAM或是64QAM调制方式,可以通过他来配置。

Codeand Decode类中,定义了一个codetype属性和code()、decode()两个操作。属性codetype为自定义的枚举类型,表明编解码方式和CodeModel Setup类的设置相关。根据系统平台处于接收状态还是发送状态,物理层应用程序接口的control函数控制着决定是要使用编码操作还是解码操作。然后code()、decode()操作中根据codetype属性参数选择相应的编解码处理过程。

Mapand Demap类、Modulateand Demodulate类设计思路与Codeand Decode类相类似。都定义了一个type属性和两个互逆的操作。由物理层的control函数决定使用发送端的映射、调制操作还是使用接收端的解调、解映射操作。再从属性中读取用户设置的方式进行具体的数据处理过程。

这样的设计方案使得这些功能类独立于具体的通信系统。所建类可以作为一个算法库来使用。编码、映射、甚至某个具体的调制方式都不是OFDM系统才特有的,当有其他的系统需要使用某个类实现的功能时,他可以直接被其他的系统所调用。从另一个角度来看,当我们的系统功能发生改变时,只要修改、添加、删除其中的某一个、某一些类就可以完成整个系统的修改。

系统开发、实现的方法和步骤

下面给出系统软件部分的开发流程、工程实现。系统开发流程如图5所示。
   
   

图5 系统软件开发流程图

确定功能就是一个需求分析的过程,对系统开发起决定性作用。根据功能可以划分出不同模块,然后使用UML语言对系统建模。这样得到的系统模型可以映射到不同程序语言来实现。他使系统的设计独立于具体实现平台,具有良好的重用性、可维护性,对于开发大型而复杂的软件系统至关重要。

从模型到语言的映射是将UML模型映射到CORBAIDL接口语言,再映射到具体的程序设计语言。具体映射过程如图6所示。映射过程中开发者可以根据需要为系统选择不同的中间件技术,不同的程序实现语言。在中间件技术提供的分布式平台下,同一系统的不同组件可以用不同语言来实现,使系统开发具有相当的灵活性。

IDL文件将映射为桩码和框架码两部分,分别对应服务器端和客户端。我们可以在生成的这些代码的基础上编写相应的服务器端和客户端软件。

图6 系统工程实现步骤

然后是整个系统合成后的应用测试。系统采用迭代式开发过程,上述步骤可以进行多次,直到最后测试通过。

结语

按照软件无线电思想开发的OFDM无线通信系统具有良好的可重用性、可移植性,同时易于更新升级。目前已实现的系统能够动态地加载和卸载软件波形组件,动态地配置组件,并能够完成OFDM系统的基本通信功能,充分验证了该系统方案的可行性和合理性。

由于功能组件采用软件实现,当有新算法出现时,只要将实现新算法的程序加入到算法库中即可,这种便捷的升级方式使得系统非常适合用于新算法的研究、验证和实现。

 

   来源:阿里互联电子网
微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子