当前位置:首页 >> 兵器/核科学 >>

软件无线电平台调制解调波形的开发与实现_图文

………
文章编号:1002—8692(2010)¥2-4)063—04

"jde band neln’o吐} …~

一————.————.————————.-=二|●●■i:一



软件无线电平台调制解调波形的 开发与实现掌
李霞.赵明生
(清华大学电子工程系,北京100084) 【摘

?实用设计?

要】介绍了基于软件通信体系结构(SCA)的软件无线电平台波形应用的设计开发方法,在Linux下搭建了波形开发环境和

开源嵌入式SCA实现(OSSIE)平台,实现了美国军方短波通信系统标准MIL-STD一188一l 10B调制解调波形。通过修改或增加波形 组件的属性可以灵活地实现波形应用功能的切换和扩展。

【关键词】软件通信体系结构;软件无线电;开源嵌入式软件无线电平台;调制解调波形 【中图分类号】TN92 【文献标识码】A Development and Realization of Modem Waveforills in SDR
LI Xia,ZHAO (Department Ming-sheng

of Electronic En∥needng,Tsinghua UnweⅡity,Beqi,,g 100084,China)
to

【Abstract】In
Communication

this

paper,a

method

design

and

develop

Software

Defined Open

Radio(SDR)waveforms

based

on

Software

Architecture(SCA)is

proposed.’11le

design

environment and

Source

SCA

Implement Embedded(OSSIE) of the waveforms

platform under Linux is
carl

implemented and the modem waveforms of MIL—STD一188一l lOB is modifying
or

realized.The function

be changed

or

extended simply by

adding component properties.

【Key words】SCA;SDR;OSSIE;modem waveform



引言
软件无线电(SDR)是一种可以支持包括2G,3G移

JTRS)的软件通信体系结构(SCA)规范对模块化可编程 无线通信系统的软硬件体系结构、安全体系结构以及应

动通信系统以及WLAN的新技术。它使用一个简单的终 端设备,通过软件重配置来实现系统功能的动态加载。
它具有较强的开放性和灵活性。硬件采用标准化、模块

用程序接口(API)规范进行了详细描述,同时引入了嵌入 式微处理器系统、总线、操作系统、公共对象请求代理体 系(CORBA)、面向对象的软硬件设计等一系列计算机技 术。并采用了波形应用和资源可裁剪、可扩充的设计思
想,从而保证了软硬件的可移植性和可配置性[21。

化结构,可以随着器件和技术的发展而更新和扩展;软 件模块可以进行加载和更改,根据需要不断升级。软件 无线电的结构如图l所示,主要分为实时信道数据处理 部分、环境管理部分、系统分析和功能强化部分t”。
功率

目前。以接收机为例.SDR中A/D模块之后的信号
处理部分一般通过软件来实现,其实现平台包括通用处

理器平台(GPP)、现场可编程门阵列(FPGA)以及数字信 号处理器(DSP)等。由于SCA中使用CORBA作为分布

频率
服务带宽

式处理环境的消息传递技术,来提供软件的可移植性、可
重用性和可扩展性,而FPGA和DSP等专用硬件处理器

幽 圃
^ ^

宽带A/D.D,A

码流处理

爨璺 哗弊『

要实现对CORBA的支持比较困难。笔者主要讨论在 GPP平台上设计实现满足SCA规范的波形应用的设计 开发方法。同时,以美国军方短波通信系统标准MIL— STD—188—1lOBf31调制解调器的Matlab/Simulink模型为依
据.设计实现了基于SCA规范的SDR应用波形。

孽璺怎赫
软件无线电结构图

(数据网络) 、、—————/
图1



软件通信体系结构
文献[4】对SCA规范的具体内容作了详细说明,包括

联合战术无线电系统(Joint Tactical Radio System.
奉国家“863”计划项目(2007AA012292)

万方数据

其层次结构及关键技术等。这里只讨论其软件体系结
构。根据软件与硬件的相关程度以及软件所承担的功 能.可以把软件体系结构白底向上分为嵌入式实时操作

波形功能分析.组件 设计。确定API接u 漩形功能分析.组件

}动UML建模.乍月 IDI.接【J描述文件

————]
CORBA的l

=二[
睃计,确定^Pl接口

l在wDE中设计
组件

系统、CORBA中间件、核心框架和应用程序4个层次。 其中的核心框架(CF)是开放式应用程序接口和服 务的重要核心集,主要由能被所有软件使用的基本应用 接口、提供系统控制的框架控制接口、支持核心和非核 心应用的框架服务接口以及描述系统中软硬件组件的 域描述文件组成.它为软件设计者提供底层软件和硬件 层的抽象。域描述文件包括设备描述文件和软件描述文 件等,主要用于支持资源的组合来创建波形应用。软件 或设备域描述文件采用XML词汇.主要描述软件或设 备的接口、功能、逻辑位置、相互依赖性关系等特殊属 性。还包括一些其他相关参数。 CORBA中间件是一种分布式处理环境的消息传递 技术。分为对象请求代理、公共服务和公共设施3个层 次。CORBA的对象都是由IDL接口定义语言来描述的。 它是一个跨平台的组件,用于标准化分布式处理时的客
户服务器操作,以透明方式实现对象间互连、互通和互 操作阎。核心框架中的所有接口都是用IDL语言来定义

二[ 二[
手动生成桩和框架 文件 手动编写客户服务 器血用代码 手动在核心框架中 加藏调制

IDL编译器l—————r———一 —————一 I生成包装代码以及

厅丽矛磊补=二]二 飞ML域配置文一l生成代码安装
文件

l组件和渡形的xMI

~恁f



‘——丁一 —磊研■葡南而矿
波形

、—————o

L需要开发/

渡形

(a)传统泼彤开发沉程

(b)WDE泼彤开发流程

图2波形开发对比

的描述文件和安装文件。
从波形应用软件开发者的角度来看.一个完整的波

形组件主要包括包装代码及配置文件、粘合代码和功能 代码3部分。其中包装代码和XML域描述文件属于SCA
相关的代码。是由WDE自动生成的。粘合代码负责把通

信数据从包装代码中转发到功能代码及其相反过程。例 如数据类型的转换等。功能代码负责波形组件的具体算
法功能实现,是波形应用的核心实现。 3.2波形开发平台的搭建

设计满足SCA规范的应用波形.需要建立在核心框 架各接口实现的基础之上。同时需要有某一类型的 CORBA中间件的支持。笔者采用开源嵌入式SCA实现 OSSIE作为波形开发平台。图3所示为OSSIE的组成框 图。其中的核心框架实现了SCA标准中的各种接口.采用
Xerces—c

的.CORBA协议提供消息编码来处理发布消息时所需
要的位打包和握手。

3基于SCA的波形应用设计及平台搭建
3.1基于SCA的波形应用方案 两种典型的波形开发方案旧如图2所示。在图2a所

XML解析器;节点启动器负责启动域管理器、设

备管理器,将各个设备通过命名服务进行注册。同时负责
默认的数据输出;OWD包含OSSIE波形开发器的实现文

示的传统设计方案中,不同的阶段需要使用不同的开发 工具,如使用Rational Rose建模工具来定义波形组件接 口、操作及属性等.然后生成模块的IDL文件:使用
CORBA的IDL编译器进行编译.生成客户桩和栈;编写 组件代码时需要有相应的代码集成开发环境进行单元

件和启动文件;波形加载器用于波形加卸载,控制波形在 核心框架中的运行等。其中的OWD即为WDE设计工具。

!!堡竺h叫竺!!竺竺兰r——一

《架实{

测试。如通过Matlab可验证代码功能的正确性;需要实
现SCA的核心框架并在其中对波形进行加卸载和运行

圈鬯型,厩
波形库l叫节点启动
工具

测试;同时。开发人员需要理解波形的通信功能原理、面
向对象的软件工程思想以及下层的CORBA通信机制。

习匣=
H波形加载器
图3

解析器

DTD

IDL

该开发方法的缺点是开发效率低,速度慢,且不同人员 开发的组件可重用性不高。因此笔者采用图2b所示的
基于波形开发环境(WDE)的SCA波形开发方法。 WDE将SCA波形开发中需要使用的工具进行了集

竺嘞

OSSIE组成框图

成,主要包括XML解析器和CORBA中间件等。它提供
了一个可视化的设计界面。能够用来设计生成SCA波

本文的开发与测试平台环境采用Fedora 11操作系统
和OSSIE 0.7.4版本。平台的搭建过程可简单概括如下: 1)安装内核版木为2.6.27的Fedora 1l操作系统;2)编

形应用的组成单元波形组件,可以对其属性、接El等进 行配置,并能自动生成波形组件的代码框架和波形应用

万方数据

Hide band neltt’ork


….一——————.——————......-=l二■●■■■_J

译并安装XML解析和生成器xerces—c 3.0.0版本;3)编 译并安装omniORB 4.1.4版本,编写启动命名服务的脚 本文件;4)编译并安装omniORBpy(omniORB对python
的一个绑定);5)完成gtk,wxPython,numpy和gnuradio安

全0输出。经过该模块后信道码率加倍。 扰码后的数据经过8PSK调制后送入信道。信道模
型采用的是Proakis B和Proakis C嗍两种类型。 均衡的训练数据由前导码与随机生成序列经过扰码 和MPSK调制以后生成。接收到的信道数据以20 s(符号)

装;6)编译并安装OSSIE相关文件,包括核心框架、标 准接口库、节点控制器、设备及信号处理库等;7)实现
python对omniORB的绑定.产生ossie.pth并拷贝wavLoad—

为单位进行处理,奇数编号的单位用于训练滤波器系数,
偶数编号的单位产生均衡器输出,并进行解扰码处理。

er命令等。 至此.就可以进行波形组件和波形应用的相关设 计。调用波形组件设计和波形应用设计的命令分别为
¥OWDC和¥OWD阴。

解扰码模块为去除前导序列的信道数据与相对应的
随机数序列的共轭序列相乘。

LMS模块实现了8抽头或16抽头两种工作模式.训
练步长M可调节。



MIL—STD一188—1

10B调制解调波形

数据速率不同时,对应的信道码的比特数不同。150, 300/600(bids)对应1 bit信道码。l
200

bi低对应2 bit信

设计
根据MIL—STD一188—1 10B Matlab/Simulink模型及

道码,因此解调模块根据传输速率的不同分别进行BP- SK和QPSK解调。
4.2波形的加载测试

模块功能分析.本设计将整个波形应用划分为18种波
形组件。同时,通过对波形组件设置特定的属性,可以实

在OWD环境中完成波形组件的端口连接及属性设
置后。可以直接生成相应的波形应用,通过python脚本 安装之后就可以在OSSIE平台提供的GPP节点中加载 运行。波形加载的主要过程如下:

现1501300160011 200(biffs)这4种码率与0.6/4.8 S这2 种交织长度组成的具有8种工作模式的调制解调器。
4.1波形组件设计及端口连接 图4所示为调制解调波形应用 的组件端口连接示意图。每个波形 组件按照相应的软件算法完成特定

的波形功能.相互之间通过端口通 信。图中的U代表Uses端口,对应 输出端口;P为Provides端口,对应 输入端口。装配控制器作为这些组 件的代理,对它们进行统一的管理。 前向纠错编码具有3种不同的
编码方式,当速率为600/1 200(bi以)

时进行1/2编码。速率为300b矾时进
行1,4速率重复编码:速率为150
bids

时进行1/8速率重复编码,最终编码

速率均为1/2。交织模块的实现采用
查找表进行。 Sym_formation模块用于将格雷 编码后的信源数据映射为8象限调 制模式的3 bit码。 Inser【模块将60 bit前导码D1. D2和0与前一模块的输出进行组合

输出,每次输出60 bit信道数据之前 先输出前导码。前两帧数据先后添
加D1和D2并输出,之后数据添加
图4波形组件端口连接图

万方数据

瓣面而面丽而丽塑螋堕65

1)OSSIE环境中开启一个终端,使用omniNames.sh 命令启动命名服务:
2)在sdr安装目录下面通过nodebooter命令启动节

MIL—STD一188—1lOB的实现原理以及基于SCA规范的

波形应用的设计方法,搭建了OSSIE平台,在其上实现
了MIL—STD一188—110B调制解调波形,并提出了波形组 件的测试方法,在软件无线电平台波形开发中具有重要 的意义。

点中的域管理器和设备管理器,并通过命名服务将设备
注册到域管理器中:

3)开启另一终端,使用wavLoader命令或者在可视 化界面ALF中进行波形应用的安装、运行和卸载。 通过波形应用中设置的Error_calculation组件.可以 将解调数据的正确率在节点控制器终端上显示输出.也
可将结果写入文件进行统计。 参考文献:
【lJ
MITOLA J.The software radio Magazine,1995,33(5):26-38.

architecture[J].IEEE Communications

【2】邱永红,朱勤.基于软件通信体系结构的无线通信系统研究Ⅱ】.系统 工程与电子技术,2004,126(15):621—623. 【3】
U.S.Department of Defense.MIL—STD一188—1 10B:interoperability and performance standards for data

波形组件的测试也是通过在终端上输出相应的打印 信息来进行的。其功能的验证是通过将相应的调制端组 件和解调端组件组成小的波形应用,如将信号产生模块、
前向纠错编码和Viterbi译码模块组成波形应用,输出维

modems[EB/OL].[2010-03-031.

http://tsc一60.eellmail.com/tse一60/HF80/188-1 10B.pdf.

【41

JTRS Joint Program Office.SCA developer’S

guide[EB/OLl,[2010-03一

特比译码后的数据与信源进行对比来验证波形组件功能
的正确性。也可以将各波形组件的输出数据写入文件,通 过与Marl如相应模块的输出数据进行对比,可测试其功 能的正确性。

051.http://jtrs.army.mil/seetions/technicalinformation/fset_technieal_
8ca.html.

【5】徐屹.软件无线电核心框架设计与实现【D】.成都:电子科技大学,
2005.

【6】刁笳.基于OSSIE的SCA波形开发方法与实现【D].成都:电子科技 大学.2008. 【7】
CARRICK M,CORMIER D,COVINGTON C.OSSIEO.7.4 installation

笔者使用了以上两种测试方法。图5所示为De.
scrambler模块的Simulink测试模型。

and

user

guide[EB/OL].[2010—03一06].http://ossie.wireless.vt.edu/

download/user_guides/OSSIE—O..7 4一User—Guide.pdf.

【8】PROAKIS J G.数字通信【M】.张力军,张宗橙,郑宝玉,等译.4版.北 京:电子工业出版社,2003. @ 作者简介: 李霞(1984一).女,硕士生。主要从事软件无线电软硬件可重构

图5解扰码组件Simulink测试模型

研究: 赵明生(1968一),博士,副教授,主要从事软件无线电、远程无线通




小结
研究了SCA软件体系结构规范和美军短波标准基

信网络、神经网络与模式识别相关工作。 责任编辑:许盈

收稿日期:2010-町—嘶

《电视技术》简介
《电视技术》(刊号:ISSN 1002—8692;CN 1l一2123/TN)月刊将于 2011年变更为半月刊.每月2日、17日出版。 《电视技术》创刊于1977年,由电视电声研究所(中国电子科技 集团公司第鼍研究所)主办,北京电视电声杂志社编辑出版。《电视 技术》是由中国电视技术领域的先驱人物一手打造并培植起来的,历 经30多年风雨.已跻身于国内外广播电视以及视频研究领域的领军 刊物.为我国培养了大量的科技人才。 《电视技术》一直人选“中文核心期列”、“中国科技论文统计源期 刊(中国科技核心期刊)”.是广播电视领域唯一一本“双核心”刊物。 《电视技术》获得了国家新闻出版总署“第三届圜家期刊奖百种重点 期刊”称号,并成为此届评选活动中广电与视频领域唯一获此殊荣 的刊物,同时,《电视技术》一直是电子科技期刊领域最岛级期刊奖项 “电子精品科技期刊奖(工业和信息化部)”的获得者。 《电视技术》已被《中周期刊网》(CNKI)、《中国学术期刊(光盘 版)》、《中围数字化期刊群》(万方)、《中文科技期刊数据库(全文 版)》、“台湾华艺CEPS中文电子期刊服务”全文收录;被“中国科技 论文与引文数据库”、“中国学术期刊综合评价数据库”、“中文科技期 刊数据库(引文版)”收录;被英国科学文摘(SAflNSPEC)、美国剑桥 科学文摘(CSA)数据库等国际知名检索机构收录。 《电视技术》一直得到有关政府部门、专业领域内众多行业组织、 机构和知名专家的广泛支持,中国广播电视设备工业协会、中国电子 学会消费电子分会、中国电子学会有线电视综合信息技术分会、国家 广播电视产品质量监督检验中心、全国电声学标准化技术委员会等 行业组织都是本刊协办或支持单位。

66

堕塑鲢煎厂五面晶五再再焉西可砸再而丽 万方数据