NAVTEX接收机及岸台工作仿真设计与实现
2016-04-06广东海洋大学航海学院广东湛江524000
黄 焕(广东海洋大学航海学院,广东 湛江 524000)
NAVTEX接收机及岸台工作仿真设计与实现
黄焕
(广东海洋大学航海学院,广东湛江524000)
摘要:为了使学员熟悉NAVTEX接收机的操作过程,全面理解NAVTEX系统的工作流程,提高实操训练效果,在C#环境下设计并实现了NAVTEX接收机和岸台工作仿真软件。NAVTEX接收机仿真软件仿真度高,能实现电文接收、设置岸台和电文拒收、电文打印、电文显示与管理等主要功能,基于UDP广播模式的岸台工作仿真软件能够模拟不同岸台的工作情况向局域网中广播电文。实验表明,岸台工作仿真软件能以较为合理的方式广播电文,两种仿真软件配合运行,有效地提高了实训效果。
关键词:NAVTEX接收机;岸台工作;仿真软件;局域网;UDP广播
GMDSS(Global Maritime Distress and Safety System—全球海上遇险与安全系统)模拟器是基于局域网的一种仿真模拟软件,它模拟各种GMDSS船用通信设备实现船与船、船与岸之间的仿真通信,为学员认识GMDSS设备界面、熟悉GMDSS设备操作过程以及使用GMDSS设备进行水上通信提供了极大的帮助。NAVTEX(Navigational Telex—航行警告电传)接收机可以接收NAVTEX岸台广播的海上安全信息,是各海区航行船舶必须配备的设备,因此,作为NAVTEX接收机仿真软件的NAVTEX模拟器,是GMDSS模拟器必不可少的一个仿真模块。以日本FURUNO公司生产的NX-700型NAVTEX接收机为原型,在C#环境下开发了对应的NAVTEX模拟器,同时,为配合该NAVTEX模拟器的工作,使学员能感受到模拟器接收电文的情形,阅读到与实际情况基本相符的电文,提高仿真及实训的效果,开发了基于UDP(User Datagram Protocol—用户数据报协议)的NAVTEX岸台工作仿真软件,该软件能以较为合理的方式向局域网中的NAVTEX模拟器广播NAVTEX电文。通过两种仿真软件的协同运作,不仅能使学员熟练掌握NAVTEX模拟器的操作过程,而且加深了学员对整个NAVTEX系统的理解,可充分满足NAVTEX设备操作培训教学的需要。
1 相关理论
1.1NAVTEX岸台工作过程
世界航行警告业务把世界可航行的海域划分为21个航行警告区(包括新增的、在建的5个区),每个航行警告区内最多可以设置24个播发台,以英文字母A~X标识[1]。为避免同频干扰,这些播发台采用分时播发方式广播电文。一般按一个航行警告区内共有24个播发台来制定播发计划,这24个台分成4组,每组有6个播发台,在1 h内,每台播发的时间是分开的,只能播发10 min,这6个播发台在1个小时内的工作的时序如图1所示。
图1 NAVTEX岸台工作时序Fig.1 Working schedule of NAVTEX Coast Station
第1组播发台按照图1的模式工作完1 h后,再到第2组按照相同的模式工作1 h,以此类推,等第4组完成它的工作后,又轮到第1组工作。这样,就保证了在每一个时间段只有1个台在播发,有效的避免了同频干扰。
1.2NAVTEX电文格式
NAVTEX岸台发送的电文格式如图2所示。
图2 NAVTEX电文格式Fig.2 Message format of NAVTEX
其中,定相信号起同步作用,在接收端并不打印显示;ZCZC是电文起始字组;B1B2B3B4是电文的技术编码,B1为播发台识别,B2为电文类型识别,B3B4为电文编号,例如,在第11航行警告区,技术编码QA12代表该电文是上海NAVTEX岸台播发的第12号航行警告;NNNN是表示电文结束的字组。技术编码是电文的关键识别,接收机可根据岸台和电文的拒绝接收设置情况,检查技术编码中的B1和B2,以确定是否接收对应的电文。
2 实验平台局域网架构
GMDSS模拟器运行在如图3所示的局域网之上,学生机安装GMDSS模拟器的学生程序,教师机安装教师程序。学生机之间的通信是模拟船与船之间的通信,教师机具有管理协调功能,有时可模拟岸台与学生机进行船岸通信。
图3 GMDSS模拟器运行的局域网Fig.3 LAN for GMDSS simulator
NAVTEX岸台采用广播方式发射电文,电文广播完毕,岸台并不关心接收机是否接收了电文。UDP是网络通信中的一种无连接传输协议,在局域网中基于UDP进行信息广播类似于NAVTEX岸台的广播模式,因此,把岸台工作仿真软件安装在图3的教师机上,基于UDP向局域网中的NAVTEX模拟器广播电文,就可以较真实的模拟NAVTEX系统的实际工作情况。
3 NAVTEX接收机仿真实现
笔者模仿真实设备的外观和各个按钮的布局,采用图形处理软件进行界面建模,在C#环境下开发了NAVTEX模拟器,它的界面仿真度高,实现了NAVTEX真机的主要功能,主界面如图4所示。模拟器可实现1个国际频率(518 kHz)和2个本地频率(490 kHz,4209.5 kHz)的电文接收,主要功能包括接收电文、电文列表显示、查看电文、筛选显示电文、电文打印、电文上锁、自动删除电文、设置岸台和电文拒收、设定用户选择显示电文、设置若干重要参数、各类信息提示及状态提示,以及自诊断测试等。软件开发的关键点主要在于电文管理,组件使用及打印机仿真等3方面。
图4 NAVTEX模拟器主界面Fig.4 Main interface of NAVTEX simulator
3.1电文管理
NX-700型NAVTEX接收机具有丰富的电文管理功能,如电文按接收时间排序显示所有电文,筛选显示用户设定的电文,筛选显示航行警告、气象警告和搜救电文,筛选显示字符错误率低于4%的电文,以及过期电文自动删除等等。单条电文除了包含电文正文信息之外,还包括接收时间、技术编码、电文是否上锁、电文是否被查看以及电文字符差错率等附加信息。另外,接收机需要管理在3个频率上接收到的电文,使得电文管理难度加大。采用文本文件储存电文,会带来诸多不便,NAVTEX模拟器属于客户端软件,客户端不便安装大型数据库,而ACCESS作为小型数据库具有很多优点,且C#可以直接操作ACCESS文件而不需要客户端安装ACCESS,因此,采用了ACCESS进行模拟器的电文管理,相关的表结构如表1所示,3个频率模式均采用相同的表结构。
国际频率模式下,在所有电文中筛选出“Alert Message”(即航行警告、气象警告和搜救电文),采用SQL语句“Select * From dbSaveMessage Where [MessageType in('A','B','D','L')] Order By RcvTime-Num DESC”。在所有电文中筛选出“Good Message”(即字符差错率低于4%的电文),采用SQL语句“Select * From dbSaveMessage Where ErrorRate<4 Order By RcvTimeNum DESC”。需要的电文被筛选出来后,按新收到的电文在前的方式排序(即降序),因此,在SQL语句中包含“Order By RcvTimeNum DESC”。很明显,使用ACCESS可使得每一条电文记录结构清晰,电文管理变得井井有条。
表1 电文管理ACCESSTable 1 ACCESS table for message management
3.2使用组件
NX-700型接收机界面特别,使用C#环境下的单一基础控件难以实现高仿真度,采用多种基础控件组合,布局和外观经过特别处理后可形成组件,这些组件外观具有较高的仿真度,可从外部访问属性和调用方法,对于具有共性的界面,可使用同一组件进行仿真[2],提高了开发效率。模拟器采用的主要组件如图5所示。主程序通过加载和移除不同组件实现界面的切换,基于界面标识函数返回的结果,在外部调用组件的各种方法,实现对组件的有效控制。
电文列表组件属于公用组件,可用于3个频率接收电文的列表显示。图6为电文列表组件显示518 kHz电文列表的情况,该组件具有很高的仿真度。主程序所在的窗口根据需要分别通过指令this.Controls.Add(mainfilelist1)和this.Controls.Remove(mainfilelist1)加载和移除该组件。该组件包含了众多方法,如downclick()方法可驱动黑框和滚动条向下移动,调用initialalarmfile()方法可筛选显示航行警告、气象警告和搜救信息三类重要电文,并对组件界面做出相应调整。
图5 模拟器中的主要组件Fig.5 Main components of NAVTEX simulator
图6 电文列表组件Fig.6 Component for message list
3.3打印机仿真
打印功能是NAVTEX接收机的重要功能,模拟器实现了对选定电文的模拟打印。通过对定时器程序的控制,模拟真实打印机的打印过程,使电文以合适的速度打印呈现。操作员可能会在很短时间内对多条电文发出打印指令,模拟器设置了打印缓存,打印机每打印完一篇电文,就搜索缓存,若还有待打印的电文就继续打印,直到缓存中没有待打印的电文为止。
4 NAVTEX岸台工作仿真实现
4.1仿真要求
根据实操训练的需要,提出以下仿真要求。
1)向局域网广播的电文应该具有多样性,即仿真软件应能向局域网发送多个岸台所广播的不同类型的电文,以利于学员感受接收不同岸台所发送的不同电文的情形,观察岸台和电文拒收设置的效果。
2)在实操训练时,NAVTEX模拟器的开机时间一般不会太长,电文发射的时间间隔不应过长,即保证在NAVTEX模拟器开机的有限时间内有足够量的电文在局域网中广播,供学生机接收。按照NAVTEX岸台实际的工作情况,每次发射完毕后,需要等较长时间再做下一次发射,因此,岸台工作仿真不需跟实际情况完全相符,而应该是实际工作过程的微缩。
3)GMDSS模拟器还包括了除NAVTEX模拟器之外的其他多种模拟设备,这些模拟设备之间也需要通过局域网进行大量的网络通信,因此,为了避免局域网中出现太多的数据包而负担过重,仿真模型在短时间内不能向局域网发射过多数据包,也就是说,电文发射的时间间隔不能过短。从另外一个角度看,若电文发射的时间间隔过短,会使得学生机端忙于接收电文,影响学员的其他操作。
4)因地理位置关系,只需要模仿中国所在的第11航行警告区岸台工作的情况。
4.2发射帧格式和时间处理
图7 岸台广播帧格式Fig.7 Frame format of Coast Station broadcast
实际的NAVTEX岸台广播采用分时播发方式,类似于通信技术中的TDM(时分多路复用)。根据前述的NAVTEX岸台工作过程,实际的岸台广播可由图7所示的帧格式表示。图7中,将一天24 h设为1帧,1个时隙设为10 min,1个分帧有24个时隙,共4 h。1个分帧内,4个组的24个播发台在规定的时隙内顺序工作。很明显,1 d共有6个分帧,144个时隙。按照仿真要求2),1个时隙设为10 min显然太长,按照仿真要求3),时隙又不能太短,因此,认为时隙设为3~5 min较为适宜。本仿真软件设定时隙为3.75 min,1帧为9 h(144 3.75 min),是实际帧(24 h)的0.375倍。考虑到实验室一天只工作8 h,外加若干中午休息时间,把24 h的实际帧压缩到9 h是合理的。
NAVTEX岸台的发射时间统一采用世界协调时(UTC),在实际帧中,每个发射台以UTC时间00:00为基准,在指定的时隙内发射。比如,中国广州NAVTEX播发台(标识为N)在第14和第38时隙的UTC播发时段分别为2:10~2:19和6:10~6:19,剩余各时隙号分别为62、86、110和134,对应不同的播发时段。很明显,每一发射台工作的时隙号以24为递增量,两次相邻发射的时间间隔约为4 h。实际帧被压缩后,如果发射时间未加处理,在NAVTEX模拟器上显示的接收时间是无法体现这种时间关系的。为解决此问题,岸台工作仿真软件采用如图8所示的方法获取电文的发射时间。为方便说明,约定:1)Tlocal表示当地标准时间,(Tlocal)Date表示Tlocal的年月日,(Tlocal)Time表示Tlocal的时、分和秒;2)Toffset表示当地时间相对于UTC的偏移量,中国使用北京时间,处于东八区,Toffset设为8 h;3)每个时隙内允许发射n篇电文,因时隙已被压缩,一般n取1或2。
图8中,若在北京时间8:00~16:59之间启动发射程序,则允许发射电文,发射时间经过特别处理后,体现了它的实际规律。若在北京时间8:00之前或17:00之后启动发射程序,则不发射电文,与实验室工作时间基本相符。
4.3数据封装及UDP广播
教师机端首先按数据标志、发射时间、技术编码和电文内容4个组成部分将数据封装打包。其中,数据标志用以标示该数据包为NAVTEX电文,发射时间基于图8产生,技术编码中的发射台识别由时隙号推算获得。然后,以UDP广播模式向局域网发射该数据包,关键代码如下:
Socket sock=new Socket(AddressFamily.Inter-Network,SocketType.Dgram,ProtocolType.Udp);//初始化一个Scoket实例,采用UDP传输
IPEndPoint iep=new IPEndPoint(IPAddress.Broadcast,9095);//在端口9095广播,此为518 kHz广播端口
……。
sock.SendTo(buffer,iep);//广播缓存中的数据
图8 UTC发射时间的生成过程Fig.8 Generation process of UTC time for sending
学生机端的NAVTEX模拟器通过启动接收线程来实现接收,关键代码如下:
IPEndPoint iep=new IPEndPoint(IPAddress.Any,9095);//侦听局域网内部所有IP和广播端口9095
……。
Thread thrRecv=new Thread(new ThreadStart(ReceiveMessage));//实例化接收线程
thrRecv.Start();//启动接收线程
NAVTEX模拟器关机后,通过指令thrRecv.Abort()停止接收线程,以终止信息的接收。
4.4软件实现及运行实测
在C#环境下开发的NAVTEX岸台工作仿真软件如图9所示,软件相关参数设置和主要功能如下:
1)每一帧中的时隙设为3.75 min,每一时隙允许广播电文1篇;
2)电文按照种类和所属播发台分类储存,轮到某一播发台广播时,软件自动从对应的文件夹中读取电文进行UDP广播;软件可在3个频率上,基于不同的端口采用相同的帧格式做仿真广播;
图9 NAVTEX岸台工作仿真软件界面Fig.9 Interface for the simulation software of the work of NAVTEX Coast Station
3)因地理位置关系,518 kHz频率模式下,在香港台、三亚台、广州台、福州台、上海台、大连台、日本门司台、韩国W台的工作时隙内播发具体电文,其他台的工作时隙内以广播测试电文为主;490 kHz和4 209.5 kHz频率模式下,台湾的Lintou台、Yenliaoken台、Keelung台和Linyuan台的时隙内广播具体电文,其他时隙以广播测试电文为主;
4)教师搜集到新的NAVTEX电文后,可在输入框内输入该电文,设置好电文应由哪个电台负责发射后,点击“保存暂不发送”即可储存到对应的文件夹下等待发射,点击“立即发射并保存”可以将电文立刻发射并保存到对应的文件夹下,这与NAVTEX岸台对优先等级很高、需要立即发送的电文的处理方式类似。
岸台工作仿真软件安装在教师机上后,经过一段时间的运行,所广播的电文被NAVTEX模拟器接收到。对某NAVTEX模拟器设置为在518KHz频率模式下只接收H(日本门司台)、L(香港台)、N(广州台)、O(福州台)、Q(上海台)和R(大连台)的广播,图6显示了该模拟器接收电文的列表信息,其中所显示的电文广播时间与实际规律一致。
5 结 语
该NAVTEX模拟器仿真度高,再结合岸台工作仿真软件的仿真广播,在实训中取得了良好的效果。为了使学员能在短时间内充分感受到接收电文的情形,强化训练效果,仿真软件压缩了发射时间,且并未考虑无线电波传播的距离、噪声干扰和多径衰落对通信的影响。
参考文献
[1]陈放.GMDSS通信设备与业务[M].大连:大连海事大学出版社,2008.
[2]魏伟,林毅.船舶通信系统模拟器的设计与实现[J].中国航海,2013,36(4):21-24.
[3]中国海事服务中心.GMDSS设备操作[M].北京:人民交通出版社,2013.
[4]余谦,黄立文.基于网络的GMDSS模拟软件设计与实现[J].武汉理工大学学报(交通科学与工程版),2010,34(1):167-170.
[5]彭晓星,周剑敏,从伟.F77卫星船站电话模拟通信的开发与实现[J].中国航海,2008,31(1):38-41.
[6]郝春强.C#基础与实例教程[M].北京:中国电力出版社,2005.
[7]林长川,洪爰助,东昉.基于Visual C#.Net的GMDSS模拟器设计与实现[J].系统仿真学报,2007,19(6):1256-1259.
[8]蒋效彬,任鸿翔,刘晶晶.船用NBDP通信设备的仿真实现与实操评估[J].科学技术与工程,2015,15(12):250-255.
[9]陈萱华,朱仙宝.无线电导航仪通用仿真模块研究及设计[J].实验室研究与探讨,2011,30(8):94-97.
[10]黄焕.GMDSS模拟器实现语音通信的设计[J].舰船电子工程,2006,153(3):144-147.
[11]刘红屏,王化民.GMDSS原理与综合业务[M].大连:大连海事大学出版社,2008.
(责任编辑:任万森)
Design and Realization of the Simulation of NAVTEX Receiver and the Work of Coast Station
HUANG Huan
(Maritime College,Guangdong Ocean University,Zhanjiang 524000,China)
Abstract:In order to make the students to be familiar with the operation process of NAVTEX receiver,to understand the workflow of NAVTEX system and to improve training effect,the simulation softwares of NAVTEX receiver and the work of coast station were developed under C# environment.The simulation software of NAVTEX receiver is very similar to the real,and its functions include reception of messages,rejection setting of coast stations and messages,printing of received messages,displaying and managing of received messages.Simulation software of the work of coast station based on UDP broadcast can send message to LAN by simulating the working situation of coast station.Experiments show that simulation software of the work of coast station can broadcast messages to the LAN through reasonable pattern,and combination use of these two soft-wares can improve training effect efficiently.
Keywords:NAVTEX receiver; the work of coast station; simulation software; LAN; UDP broadcast
作者简介:黄焕(1977—),男,讲师,硕士,从事船舶通信导航、计算机在航海中的应用及航海教育研究.Email:gdouhh@163.com
基金项目:广东海洋大学自然科学基金(0812105)
收稿日期:2015-11-20
doi:10.3969/j.issn.1673-9159.2016.01.014
中图分类号:U675.2
文献标志码:A
文章编号:1673-9159(2016)01-0079-06