一种跳频数据链通信仿真软件的设计与实现方法

2016-09-05 01:11韩淑娟冯永新
沈阳理工大学学报 2016年3期
关键词:数据链调用线程

蒋 强,韩淑娟,钱 博,冯永新

(沈阳理工大学 通信与网络工程中心,沈阳 110159)



一种跳频数据链通信仿真软件的设计与实现方法

蒋强,韩淑娟,钱博,冯永新

(沈阳理工大学 通信与网络工程中心,沈阳 110159)

在深入研究跳频数据链通信机理的基础上,结合VC++良好用户界面开发和Matlab强大数值计算的优势,基于Matlab Engine和MATCOM函数相结合方式,设计了跳频数据链通信仿真软件,实现了通信过程。采用分割窗口的方法,利用VC控件的交互,通过参数的传递和仿真控制的设置,仿真跳频数据链通信信号产生、传输和接收功能,分析不同调制方式和不同参数配置下的通信性能,并重点分析不同调制方式下解调信号的误码率,为设计具有更优性能的跳频数据链提供仿真环境。

跳频数据链;MATCOM;Matlab Engine;混合编程

数据链是一种集通信、导航和识别于一体的综合化战场信息系统,是信息化作战中各种作战平台与网络互联及信息业务互通的基础[1]。由于跳频通信具有优良的抗干扰、抗衰落和抗多径性能以及频谱利用率高、多址通信等诸多优点[2],因此跳频技术在数据链系统中得到越来越广泛的应用。目前主要从数据链链路和数据链信号等方面对数据链进行仿真研究,基于OPNET和QualNet等网络仿真平台,对数据链链路仿真方面的研究已经十分成熟,对数据链信号方面仿真研究还相对较单一。

现阶段的数据链信号仿真主要基于Matlab/Simulink软件为仿真平台,如杨光等人基于该平台对JTIDS通信系统进行系统设计、仿真演示及抗干扰性能分析[3];以及李秀坤等人对猝发数据链系统的模型进行构建,并在此平台下得到不同输入信号强度下信噪比与捕获概率的关系[4]。Matlab/Simulink软件具有对多种信号处理的工具箱,支持可视化建模,对模块的构建和重用可以提供良好的支持[5]。然而Matlab/Simulink仿真平台在数据的可交互性和实时性方面存在不足,不利于通过修改数据链参数来分析跳频数据链通信性能,而 VC++具有良好的界面开发以及强大的数据交互能力和实时传输能力。

因此,本文在研究跳频数据链通信机理基础上,结合VC++与Matlab的优势,提出以Matlab Engine和MATCOM结合的方式,实现跳频数据链通信的仿真。对跳频数据链通信信号产生、传输和接收功能进行仿真,对不同调制方式和不同参数配置下的通信性能进行分析,为设计具有更优性能的跳频数据链提供仿真环境。

1 跳频数据链通信机理

跳频体制数据链通信主要可分为发射系统和接收系统两部分,其原理框图分别如图1、2所示。

图1 跳频通信发射系统原理图

图2 跳频通信接收系统原理图

跳频体制数据链通信机理是发送方将待发送的数据进行调制,然后对调制后的信号进行混频处理,混频的频率通过伪随机码控制的频率合成器生成。对混频后的信号进行滤波处理后即可生成跳频信号,最终将跳频信号通过发射器发射出去。接收系统中将产生与发射端频率合成器相同跳变规律的本地信号,将本地信号与接收信号进行混频处理可实现解跳,将解跳后的中频信号经放大器处理后送至解调器,最终可恢复原始的基带信号。本文在跳频体制数据链信号产生机理、传输机理、接收机理和抗干扰特性原理的基础上,以Matlab为后台进行数据处理,以VC++为前台进行界面设计,构建跳频体制数据链通信仿真模型。

2 基于Matlab与Visual C++的跳频数据链通信仿真软件设计

2.1功能设计

通过对跳频数据链通信机理的研究,确立跳频数据链通信仿真软件包含的功能,见表1。

表1 跳频数据链通信功能设计

跳频数据链的仿真参数:随机码选择的是M序列,跳频数据链的跳驻留时间为6.4μs、跳时间间隔为6.6μs、跳速为76923hop/s,采样频率、中频频率、调制方式由m函数的参数传递到界面中,可以通过修改界面参数,来分析参数对跳频数据链通信性能的影响。其中调制方式通过下拉菜单可以选择BPSK、QPSK、CPFSK。

接收端在界面设计中采用分割窗口的方法,通过对比分析来完成跳频数据链信号的捕获跟踪和解调。

收发控制在界面设计中通过启动线程按钮来解决Matlab Engine方式和MATCOM方式冲突问题,在启动线程按钮的响应函数中起一个线程,把Matlab Engine方式调用m文件的实现放在线程函数中。通过暂停线程按钮来控制Matlab Engine方式是恢复调用m文件还是暂停调用m文件,并通过显示图形按钮来显示跳频数据链参数以及从产生到接收信号的图。

2.2交互接口设计

Matlab与VC++有多种接口方法,常用的方法有Matlab Engine方式、Matlab自带编译器MCC方式、MATCOM方式,利用COM Builder工具制作COM组件的方式等[6-9]。这四接口方法各有优缺点,见表2,根据实际需要选择合适的接口方法。

表2 Matlab Engine至MATCOM方法的优缺点

在上述现有的Matlab与Visual C++混合编程方法原理及优缺点的基础上,根据跳频数据链通信机理的实际情况,本文提出以Matlab Engine方式和MATCOM方式相结合,来实现跳频数据链通信的仿真。

2.2.1Matlab Engine方式

Matlab Engine采用客户机/服务器 (Client/Server) 的方式,提供了一组 Matlab API 函数,通过调用这些函数实现程序进程之间的数据传递[7]。VC 程序作为前端客户机,向 Matlab引擎传递命令和数据,并从 Matlab 引擎接收数据信息,实现动态通信。调用Matlab引擎函数的实质是将Matlab当作一个ActiveX服务器,并建立ActiveX通道,然后将命令或函数通过ActiveX通道发给Matlab,由Matlab在后台执行,应用程序调用Matlab引擎函数如图3所示。

图3 Matlab引擎函数调用原理

2.2.2MATCOM方式

MATCOM作为接口有两种实现方法[8]:第一种是使用MATCOM(MIDEVA)将.m源文件翻译为.cpp代码,并编译为.exe或.dll文件;第二种方式是把matcom45安装目录下的lib目录下的matlib.h,v4501v.lib文件和系统目录WINDOWSsystem32下的ago4501.dll、v4501v.dll文件拷贝到VC++应用程序的目录下,就可以直接调用MATCOM 函数,函数的定义在 matlib.h 当中。

2.2.3Matlab Engine和MATCOM函数相结合原理

由于MATCOM在将比较复杂的,多个嵌套调用的Matlab的m文件译成同等功能的C++源代码时,容易出错、难以调试;而Matlab Engine可以调用复杂的Matlab程序,应用程序整体性能好。结合这两种接口的特点,本文提出用Matlab Engine调用m函数,用MATCOM函数加载.mat文件,来实现Matlab与VC的交互。

2.3界面设计

首先对MATCOM方式和Matlab Engine方式集成到VC中进行相应的配置,然后根据跳频数据链的通信机理对应用程序界面整体结构进行设计,整体结构设计如图4所示。

图4 跳频数据链通信界面设计

2.4软件设计实现

在Matlab Engine 和MATCOM函数相结合原理的基础上,设计程序流程如图5所示。

根据整个程序流程具体的操作步骤如下:

Step1:运行VC应用程序,在界面中对跳频数据链参数进行设置;

Step2:启动线程按钮,在线程函数中实现Matlab Engine方式调用m函数;

Step3:在显示图形按钮中完成Matcom函数对.mat文件的加载,并显示图形;

Step4:如果需要修改参数,转到Step1处,来显示不同的图形,否则结束整个仿真过程。

图5 程序设计流程图

3 仿真分析

运行VC应用程序,在跳频数据链仿真参数中,输入随机码类型为M序列,中频频率是75.25MHz,采样频率是15.05GHz,调制方式选择CPFSK,跳驻留时间是6.4us,跳时间间隔是6.6us,跳周期是13us,跳频速率是76923hop/s。点击启动线程按钮和显示图形按钮,如图6所示。

图6 跳频数据链通信界面图

从图6可以看出,此仿真软件有效地完成了发送端跳频数据链信号产生功能,其中包括CPFSK调制信号、上变频信号、五跳跳频信号时频域的产生。

从图6可以看出,此仿真软件有效的完成了接收端跳频数据链信号的捕获、跟踪、解调功能。其中包括滑动相关粗捕获、精捕获,锁相环路跟踪,接收信号与本地信号的混频、滤波、解调。

当选择BPSK、QPSK调制方式时,调制信号的图如图7所示。

图7 BPSK、QPSK调制信号局部图

当选择调制方式为BPSK时,从图7可以看出,跳频数据链信号相位在π处有跳变,当选择调制方式为QPSK时,从图7可以看出,跳频数据链信号相位在π/4处有跳变,验证了当选择不同的调制方式时,此仿真软件同样能够完成跳频数据链通信信号的产生、传输、接收功能。

当采样频率增大1.5倍时,得到不同调制方式下的误码率结果如图8所示。

图8 不同调制方式下的误码率图

从图8可以看出,当增大采样频率时,在信噪比为-20dB时,调制方式为BPSK、QPSK时,解调信号的误码率大约从9%降低到3.7%,调制方式为CPFSK时,解调信号的误码率大约从1%降低到0.4%。三种调制方式下的误码率都有所改善,CPFSK为最优。

此仿真软件完成了对跳频数据链通信信号产生、传输和接收功能,在不同参数配置下,在不同调制方式下,跳频数据链通信性能是不同的,验证了此仿真软件为设计出更优性能的跳频数据链提供仿真环境,同时验证了此仿真软件相比Simulink,实时性和交互性更强。

4 结束语

在研究跳频数据链通信机理的基础上,以Matlab Engine和MATCOM函数相结合的方式构建跳频数据链通信仿真模型,通过参数配置和选择不同的调制方式,采用分割窗口的方法,验证了此仿真软件能够有效完成跳频数据链通信信号的产生、传输、接收功能。同时克服了MATCOM方式在将比较复杂的、多个嵌套的m文件译成同等功能的C++源代码时,容易出错、难以调试的缺点,并且相比Matlab的GUI,此仿真软件通过参数的传递使其交互性更强。

[1]刘徐德.战术通信、导航定位和识别综合系统文集[M].第一集.北京:电子工业出版社,1991.

[2]梅文华,王淑波,邱永红,等.跳频通信[M].北京:国防工业出版社,2005.

[3]杨光,周经纶,罗鹏程.基于SIMULINK的数据链通信系统仿真研究[J].现代雷达,2007,29(6):17-22.

[4]李秀坤,李陟.基于Simulink的数据链系统仿真及性能分析[J].现代电子技术,2010(3):29-32.

[5]邵玉斌.Matlab/Simulink 通信系统建模与仿真实例分析[M].北京:清华大学出版社,2008:318-322.

[6]穆以东,赵岭.VC++与Matlab混合编程方法研究[J].测控技术,2013,32(9):111-114.

[7]王鹏,徐莹,杜卫东.VC与MATLAB混合编程用于压力容器焊缝缺陷检测[J].计算机系统应用,2014(3):172-175.

[8]任龙辉,肖婵,李腾飞.基于MATCOM转化法的VC与MATLAB混合编程实现汽车I曲线的模拟绘制[J].汽车实用技术,2013(10):64-68.

[9]王海岗,张坤宇,张雁佳,等.VC与MATLAB混合编程在图像处理中的应用[J].计算机应用与软件,2012(1):273-275.

[10]John Custy.The Link 16 Contention Access Protocol for Multiple-Reception Terminals[C]//The 2010 Military Communications Conference.California,2010:249-254.

[11]彭益,魏立柱.基于OPNET的Link-16数据链网络建模仿真[J].计算技术与信息发展,2011(5):45-47.

[12]王安,吕娜,王翔,等.基于QualNet的数据链仿真技术研究[J].计算机工程与设计,2012(9):3548-3552.

(责任编辑:马金发)

Design and Implementation of Simulation Software of Frequency Hopping Data Link Communication

JIANG Qiang,HAN Shujuan,QIAN Bo,FENG Yongxin

(Shenyang Ligong University,Shenyang 110159,China)

Communication simulation software of frequency hopping data link is designed and communication process is implemented by the way of combining of Matlab Engine and MATCOM function,based on the further study of frequency hopping data link communication mechanism,combined with the advantages of VC++ user interface and the powerful numerical calculation of Matlab.The simulation is made about the generation,transmission and reception,of frequency hopping data link communication signal,the communication performance is analyzed for different modulation mode and different parameter configurations and the focus is on the analysis of bit error rate of demodulation signals in different modulation mode,by using the method of split window,VC controller interactive,the parameter transfer and simulation control settings,in order to?provide simulation environment for the design of frequency hopping data link with better performance.

frequency hopping data link;MATCOM;Matlab Engine;mixed programming

2015-04-29

新世纪优秀人才支持计划(NECT-11-1013)

蒋强(1974—),男,副教授,研究方向:数字信号处理,扩频通信技术及应用;通讯作者:冯永新(1974—),女,教授,博士,研究方向:扩频通信技术及应用、计算机仿真。

TP391

A

猜你喜欢
数据链调用线程
基于C#线程实验探究
多平台通用数据链助力未来战场
高速公路工程项目实施中数据链应用探析
基于国产化环境的线程池模型研究与实现
核电项目物项调用管理的应用研究
基于深度学习的无人机数据链信噪比估计算法
LabWindows/CVI下基于ActiveX技术的Excel调用
一种无人机数据链信道选择和功率控制方法
浅谈linux多线程协作
基于系统调用的恶意软件检测技术研究