基于VC++的战术数据链通信仿真系统设计与实现❋

2013-06-27 05:50刘翠海王文清刘中华
电讯技术 2013年7期
关键词:码元数据链交织

刘翠海❋❋,王文清,刘中华

(海军潜艇学院,山东青岛266042)

基于VC++的战术数据链通信仿真系统设计与实现❋

刘翠海❋❋,王文清,刘中华

(海军潜艇学院,山东青岛266042)

为了实现战术数据链通信仿真系统,在分析与研究联合战术信息分发系统(JTIDS)关键技术的基础上,构建了战术数据链链路层仿真模型。依据仿真模型中各模块的划分,以VC++语言为编程实现平台,采用面向对象的程序设计方法,设计并实现了Reed-Solomon码(RS码)编译码类、循环码移位键控类、最小移频键控类。最后在高斯白噪声信道下对仿真系统进行了验证和性能分析。结果表明,设计的各个类模块功能满足系统指标,基于各个类模块构建的仿真系统符合设计要求,为下一步研究JTIDS系统干扰与抗干扰性能奠定了基础。

战术数据链;JTIDS;计算机仿真;RS码;CCSK;MSK

1 引言

由于高机动武器的不断涌现,传感器平台的迅速发展,在20世纪50年代促成了一种新的信息传输手段的诞生,即战术数据链。联合战术信息分发系统(Joint Tactical Information Distribution System,JTIDS)是美军性能较为完备的战术数据链系统,是Link-16战术数据链的核心部分[1]。

JTIDS系统采用了先进的直接序列扩频、跳频、跳时混合扩频技术,使系统具有强抗干扰能力和数据保密性;同时,为了保证系统能够在恶劣的战场环境下正常工作,还采用了多层纠错编码、CCSK软扩频和MSK调制相结合等多重措施。

为了对JTIDS系统进行全面分析和研究,文献[2]对应用于JTIDS系统的CCSK编码方法和性能进行了分析和仿真,文献[3]对RS编译码的编程实现方法进行了详细分析,文献[4]利用Simulink建立了JTIDS系统仿真模型,并对系统的整体性能进行了仿真,但以上文献没有真正利用面向对象的程序设计方法实现用于实时仿真的JTIDS系统。本文以JTIDS战术数据链通信系统为对象,详细分析了JTIDS系统的关键技术,构建了战术数据链链路层仿真模型,并采用VC++语言和面向对象的程序设计方法,设计且实现了JTIDS系统仿真平台,并以固定消息格式的标准双脉冲封装结构为对象,从信号的产生、传输到接收的全过程进行仿真和误码率统计,并在高斯白噪声信道中分析了该系统的性能。

2 JTIDS系统关键技术

JTIDS系统是战术数据链Link-16的终端设备,负责产生Link-16波形。该波形在敌对的电磁环境中对多用户提供完整的通信服务。JTIDS系统数据链路层结构如图1所示。

图1JTIDS系统结构Fig.1 JTIDS/Link-16 system structural model

2.1 差错控制技术[1,5]

为了保证信息传输的可靠性,JTIDS系统中采用了每70 b数据加入5 b冗余码构成的(75,70)检错编码、RS纠错编码、交织码和双脉冲编码。

检错编码只有检错能力,其作用是令接收端获知大多数的传输错误,然后根据具体消息类型决定是否进行重传。对传递消息的纠错是通过RS编码达成的,RS码是一种多进制BCH循环分组码,其码字符号均在GF(2m)上取值。对于(n,k)RS码,n=2m-1为码长,k为信息码元数目,n-k为监督码元数目,d=n-k+1表示码元距离。RS码是一种极大最小距离可分码,即在所有线性分组码中其最小距离最大,也就意味着RS码(纠2t=n-k个差错)的纠错能力最强。

JTIDS系统中的报头、固定格式消息、可变格式消息和自由文本消息都采用了RS信道编码实现前向纠错。报头为35 b,采用的是RS(16,7)编码;每个消息字为75 b,采用的是RS(31,15)编码。通过(16,7)RS编码,在传输中即使这7个码元有4个码元出现了错误也可得到纠正。数据部分的(31,15)RS编码,每组可纠8个错误,7组交织可纠56个错误。这种编码使得在由31个字符组成的大组中,由于干扰或传播等原因,即便有16个字符无法判决或有8个字符判决错误,在译码时也能得到纠正。

考虑到信号在传输过程中会受信道中一些不确定因素的影响,将导致信号产生连续错误,其误码数量超出了RS编码的纠错能力,JTIDS则采用了交织编码技术予以克服,交织编码能够改变信号的排列顺序,目的是分割连续错误,使误码个数限定在RS码的纠错能力范围之内,保证系统在编码效率不降低的基础上提高抗突发错误的能力。

2.2 扩频技术[2]

为了确保系统具有较强的抗干扰能力,JTIDS采用了伪码直接序列扩频和跳频相结合的混合扩频方式。伪码直接序列扩频实际上是一种(n,k)的编码,用长度为n的伪随机码代表k位信息,k位信息有2k个状态,需要有2k条长度为n的伪随机码代表k位信息码的2k个状态,其扩频率为n/k。

JTIDS采用的是基于循环码移位键控(Cyclic Code Shift Keying,CCSK)的32进制直序扩频。CCSK是一种多进制非正交的编码扩频信号,它是通过选用一个具有自相关特性良好的函数f(t)作为基函数S0(基码),并用S0及其循环移位得到的S1,S2,…,Sm序列来表示数据信息,即从数据信息序列向循环移位的函数集作映射,并对载波进行调制而得到的。

JTIDS是利用5 b码元组成的RS编码报头和经过交织后的数据码元信息进行CCSK编码,即(32,

5)编码。通过对长度为32 b的CCSK码字S0循环左移n次,即可生成第n个码元对应长度为32位的CCSK码字,n是被编码码元(00000~11111)。

JTIDS系统在960~1 215 MHz的Lx频段范围内,跳频点以3 MHz间隔均匀离散分布51个载波频率,并以76 923 hop/s的跳频速率快速跳变。

3 系统总体仿真方案及编程实现

根据上一节对JTIDS通信体制的介绍,在不考虑同步及跳频的情况下,JTIDS战术数据链通信系统的数据链路层仿真方案如图2所示。

图2JTIDS系统仿真模型Fig.2 Simulation model of JTIDS system

JTIDS仿真系统以VC++语言为编程实现平台,采用面向对象的程序设计方法,依据图2各模块的划分,设计并实现了CModel类,该类是VC++中CObject类的派生类,定义了供所有模型类调用的公共过程,是图2所有模块的基类。CRSCode类、CCSK类、CMSK类都是CModel类的派生类,它们分别是RS编译码类、循环码移位键控类、最小移频键控类的基类。

3.1 RS编译码类的整体设计[3]

CRSCode类定义有自己的成员变量和成员函数,完成整个模拟系统中的编码和译码。RS编译码模型及各成员函数的编程实现方法参见文献[3]。下面给出了CRSCode类定义的部分内容:

class CRSCode:public CModel

public:

int n;//码字长度

int k;//消息字长度

int m;//伽罗华域各元素的比特数

int generate-GF(int m);//生成GF(2m)域所有元素

int multiply-rs(int a,int b,int m);

int reverse-rs(int a,int m);

int polymul-rs(int a,int b,int m);

int polydiv-rs(int a,int b,int m);

CRSCode类中的成员函数multiply-rs(int a,int b,int m),参数a、b为十进制表示的多项式中xn的系数,参数m为GF(2m)域中各元素的比特数;函数返回值为系数a与b相乘的结果。

成员函数reverse-rs(int a,int m),参数a为十进制表示的多项式中xn的系数,参数m为GF(2m)域中各元素的比特数;函数返回值为系数a-1的结果。

成员函数polymul-rs(int a,int b,int m),参数a、b为一数组,是以十进制表示的多项式中从x0~

xn各项的系数,a、b的排列顺序是以多项式次数从低到高的顺序排列,参数m为GF(2m)域中各元素的比特数;函数返回值为系数多项式a(x)与b(x)相乘的结果。

成员函数polydiv-rs(int a,int b,int m),参数a、b为一数组,是以十进制表示的多项式中从x0~xn各项的系数,a、b的排列顺序是以多项式次数从低到高的顺序排列。参数a为待发送信息码字,参数b为生成多项式,参数m为GF(2m)域中各元素的比特数;函数返回值为校验多项式各系数,排列顺序是以多项式次数从低到高的顺序排列。

3.2 字符交织模型及编程实现

JTIDS报文中的交织是采用块交织,它是按照数据封装标准格式的3个(31,15)RS码字进行块交织,交织后长度为93个码元。编程实现中,首先将3组消息字数据按照每行31个数据写入数组,共3行,然后按照列的顺序读出并存入一个一维数组。该一维数组存放的是经交织后的消息字数据,顺序为a0,a31,a62,…,a30,a61,a92。解交织是交织过程的逆处理,实现方法与此相同。

3.3 CCSK模型及类对象的封装实现

CCSK软扩频编码模块程序实现比较简单,首先设定长度为32的伪随机序列S0,然后再产生一个初值为0、长度为32的自然数序列A,根据给定的5 b信息值x,计算A中各元素与x的差值,所得结果与32进行求余运算,便产生了S0循环左移位后各元素的索引值,最后通过索引值与S0映射实现循环移位。

软扩频的解码部分是运用CCSK码的自相关性,将解调后的信号分别与32路的CCSK码字进行相关运算,选出相关值最大一路的CCSK码字所对应的5 b信息作为输出值。算法的编程实现流程如图3所示。

图3 CCSK解码流程图Fig.3 Flowchart of CCSK decoding

下面给出了CCSK类定义的部分内容:

class CCSK:public CModel

public:

int M;//对应码字00000的32位伪随机序列

int Encode(int x);//编码

int Decode(int x);//译码

CCSK类中的成员函数Encode(int x),参数x为十进制表示的5 b二进制序列;函数返回值为对应CCSK码字的双极性码。

成员函数Decode(int x),参数x为解调后的波形数据序列;函数返回值为以十进制表示的5 b二进制序列。

3.4 CMSK类对象的封装实现

最小频移键控(MSK)调制是恒包络调制方式的一种,能够产生包络恒定、相位连续的调制信号,其带宽窄,频谱主瓣能量集中,旁瓣滚降衰减快,频带利用率高。JTIDS采用了最小频移键控调制方式。由于介绍MSK调制解调模型的文献较多,因此本文直接给出CMSK类的封装实现内容:

class CMSK:public CModel

public:

int t;//时间序列

int fc;//载波频率

int W;//码元宽度

int Rb;//码元速率

int MSKMod(int InterlCode);//调制

int MSKDeMod(int r-msk,int Len,int LenCSK);//解调

CMSK类中的成员函数MSKMod(int InterlCode),参数InterlCode为CCSK编码后的波形数据序列;函数返回值为已调波形数据序列。

成员函数MSKDeMod(int r-msk,int Len,int LenCSK),参数r-msk为接收端收到的波形数据序列,参数Len为中频搬移后同相(或正交)数据的长度,参数LenCSK为CCSK编码后的波形数据序列长度;函数返回值为解调后波形数据序列。

4 仿真系统检验及性能分析

基于图2实现的JTIDS系统仿真程序中,信源部分随机生成,生成的4组数据分别表示75 b的消息字1、消息字2、消息字3和35 b的报头;随后将数据按每5 b分为一组,根据JTIDS实际系统的要求,将分组后的消息字数据进行RS(31,15)编码,对报头数据进行RS(16,7)编码。编码后的数据进行交织度为3的块交织,然后进行CCSK软扩频编码,软扩频伪随机序列选用0111,1100,1110,1001,0000,1010,1110,1100。MSK调制的载频选用了JTIDS实际系统使用的75 MHz。

运行仿真系统可得到图4和图5所示的编码信号经MSK调制后的频谱图。图4为信号经过CCSK编码(即软扩频)后再进行MSK调制所得信号的频谱图,图5为信号经过深度为3的块交织后(即不进行软扩频)直接进行MSK调制所得信号的频谱图。通过前面理论分析可知,软扩频的扩频率为n/k=32/5=6.4,扩频增益约为10lg6.4≈8 dB。从图4和图5对比可以看出,经过扩频后的主瓣带宽约为8 MHz,图5的主瓣带宽约为1 MHz,前者信号频带比原信号频带扩大了近8倍,结果表明仿真设计符合要求。

图4 经过软扩频再进行MSK调制的编码信号频谱图Fig.4 Power spectral density of a MSK modulated signal with CCSK encoding

图5 未经软扩频直接进行MSK调制的信号频谱图Fig.5 Power spectral density of a MSK modulated signal without CCSK encoding

若信噪比取值为SNR=(-6:1:2),按照图2中标示的各节点误码率,运行仿真系统,可以绘制出JTIDS通信系统全链路仿真的误码率曲线。图6给出了在加性高斯白噪声信道下系统误码率图。

图6JTIDS通信仿真系统全链路误码率曲线Fig.6Probability of symbol error for JTIDS communication simulation system in AWGN

从图6可知,随着信噪比的增大,误码率逐渐降低;同时从图中可以清楚地看出,信号经过RS编码与解码、交织与解交织和软扩频与解扩等一系列抗干扰措施后,系统误码率下降的速度远远大于未采取任何措施时的误码率,这说明在大信噪比下软扩频和信道编码会给系统带来较大的增益。另外,当信噪比大于-4 dB,且在信噪比相同的条件下,系统误码率最低,采用软扩频后的误码率其次,未采取任何措施直接MSK解调后的误码率最高,说明系统的抗干扰性能明显增强。

此外,在信噪比小于-5 dB后,三者误码率几乎相同,软扩频、信道编码不再对仿真系统的性能进行改善,这是因为信噪比小于-5 dB时已超过了该仿真系统的干扰容限,信噪比小于-4 dB时仿真系统所发生的错误己超过了RS码的纠错能力范围。

5 结束语

数据链系统是高技术战争需求的必然产物,受到了各国军方的高度重视和应用,其中美军对数据链的开发和应用最为广泛。本文讨论了JTIDS系统的关键技术,并以此为仿真对象构建了战术数据链路层仿真模型,利用VC++语言编程实现了战术数据链通信仿真系统。该仿真系统的开发为武器装备研发论证、系统的干扰与抗干扰性能分析提供了研究平台。由于JTIDS系统的核心技术资料并不公开,所以本文只是建立了一个基本模型,并且略去了系统同步和跳频模型,因此,与真实系统相比还有一定差距,还需要进一步完善。

[1]梅文华,蔡善法.JTIDS/Link16数据链[M].北京:国防工业出版社,2007. MEI Wen-hua,CAI Shan-fa.JTIDS/Link16 Data Link[M]. Beijing:National Defense Industry Press,2007.(in Chinese)

[2]Kao C H,Robertson C,Lin K.Performance Analysis and Simulation of Cyclic Code-Shift Keying[C]//Proceedings of 2008 IEEE Military Communication Conference.San Diego,CA:IEEE,2008:1-6.

[3]刘翠海,姜波,温东,等.RS码类的构建及在数据链模拟系统中的应用[J].电讯技术,2013,53(1):63-67. LIU Cui-hai,JIANG Bo,WEN Dong,et al.Construction of a Class for RS Code and Application in Data Link Simulation System[J].Telecommunication Engineering,2013,53(1):63-67.(in Chinese)

[4]刘武刚,杨建波,周瑞.基于Simulink的联合战术信息分发系统仿真[J].信息与电子工程,2010,8(1):15-18. LIU Wu-gang,YANG Jian-bo,ZHOU Rui.JTIDS signal simulation based on Simulink[J].Information and Electronic Engineering,2010,8(1):15-18.(in Chinese)

[5]陶德元,何小海,吴志华.RS码编译码算法的实现[J].四川大学学报(自然科学版),2000,37(6):868-872. TAO De-yuan,HE Xiao-hai,WU Zhi-hua.The Implementation of RS Encoding and Decoding[J].Journal of Sichuan U-niversity(Natural Science Edition),2000,37(6):868-872.(in Chinese)

LIU Cui-hai was born in Tangshan,Hebei Province,in 1963.He is now an associate professor with the M.S.degree.His research concerns military communication and simulation.

Email:qd218@sina.com

王文清(1962—),男,山东青岛人,学士,副教授,主要研究方向为电子对抗。

WANG Wen-qing was born in Qingdao,Shandong Province,in 1962.He is now an associate professor with the B.S.degree.His research concerns electronic warfare.

Design and Implementation of a Tactical Data Link Communication Simulation System Based on VC++

LIU Cui-hai,WANG Wen-qing,LIU Zhong-hua
(Navy Submarine Academy,Qingdao 266042,China)

Through analyzing the key technology of Joint Tactical Information Distribution System(JTIDS)tactical data link communication system,a simulation model of JTIDS system is constructed to realize the tactical data link communication simulation system.With VC++as the programming platform,the Reed-Solomon(RS)coding and decoding class,the Cyclic Code-Shift Keying(CCSK)class and the Minimum Frequency-Shift Keying(MSK)class are then designed and realized based on simulation models by using the object-oriented programming method. Finally,the simulation system is verified and its performance is analyzed in the Additive White Gaussian Noise(AWGN)channel.The results show that functions of every designed class module can meet the specifications of the simulation system.The realized simulation system based on every class module meets the design requirements,which laid the foundation for further study of jamming and anti-jamming performance of this system.

tactical data link;JTIDS;computer simulation;RS code;CCSK;MSK

date:2013-01-05;Revised date:2013-05-03

❋❋通讯作者:qd218@sina.comCorresponding author:qd218@sina.com

TN914.4;TP391.9

A

1001-893X(2013)07-0899-05

刘翠海(1963—),男,河北唐山人,硕士,副教授,主要研究方向为军事通信及仿真;

10.3969/j.issn.1001-893x.2013.07.015

2013-01-05;

2013-05-03

猜你喜欢
码元数据链交织
“新”与“旧”的交织 碰撞出的魅力“夜上海”
基于ZYNQ的IRIG-B(DC)码设计与实现
多平台通用数据链助力未来战场
高速公路工程项目实施中数据链应用探析
LFM-BPSK复合调制参数快速估计及码元恢复
基于深度学习的无人机数据链信噪比估计算法
交织冷暖
一种改进的块交织方法及FPGA实现
一种无人机数据链信道选择和功率控制方法
基于极大似然准则的短猝发信号盲解调