郭志恒, 曾柏华, 洪金城, 陈 翔, 刘 敏
(中山大学电子与信息工程学院,广州510006)
20 世纪90 年代末,随着对海上资源运输的日益重视[1],为满足迅速发展的海上航运事业需求,并保证船舶航行过程中的海事安全,国际航标组织、国际海事组织以及国际电信联盟经过协商讨论,提出了基于船舶交通服务(Vessel Traffic Service,VTS)系统的船舶自动识别系统(Automatic Identification System,AIS),它采用数字选择呼叫方式并由国际电信联盟给出具体的国际标准[2]。随着AIS技术的日渐成熟,AIS得到广泛的应用,实现船舶识别、跟踪目标、简化和促进信息交互的功能,达到了船舶避碰、减少海事损失、促进海事安全的目的。我国也根据自身的需要,提出了符合我国水域的国家标准[3]。
本文通过对AIS 国家标准的研究,实现AIS 接收机的搭建。传统的硬件实现方式开发期较长、硬件要求较高,难以在教学实验中普及;利用Matlab 等数学软件验证又难以实现实际环境下的仿真,故采用软件无线电[4]实现方式。在当今种类众多的软件无线电平台中基于虚拟仪器工程平台(Laborary Virtual Instrument Engineering Workbench,LabVIEW)+通用软件无线电外设(Universal Software Radio Peripheral,USRP)的软件无线电平台相对比较成熟,并被引入国内多所高校作为通信实验教学仿真平台使用。本文选用LabVIEW与USRP 作为AIS 模拟接收机的搭建平台,根据国家标准要求,实现船舶AIS信号接收、解析,获取船舶信息并搭建船舶AIS 信息数据库,并于LabVIEW 仿真平台中嵌入开源地理信息系统(Geographic Information System,GIS)与航海图,实现船舶定位功能。
(1)SOTDMA协议。自组织时分多址接入(Self-Organized Time Division Multiple Access,SOTDMA)技术[5]是实现AIS自主连续数据通信的核心技术。这种新型网络通信技术会在AIS 设备发送数据之前,观测当前信道及当前时隙的占用情况,并根据所发射信号需要占用的时隙数,选择合适的时隙发送信息。其工作原理如图1 所示。
图1 AIS自组织通信原理示意图
国际电信联盟根据AIS 中所使用的SOTDMA 技术的需要,为AIS分配了两个专用的甚高频(VHF)无线通信信道[6],分别是:
Channel87B(AIS1):161.975 MHz;
Channel88B(AIS2):162.025 MHz。
(2)HDLC 通信规程。AIS信号传输采用面向bit的协议、TDMA 技术[7]和信息分组结构,以AIS 报文1、2、3 为例,其结构见表1。
表1 AIS信息结构
AIS信息由前置码、同步序列、开始标志、数据、帧校验序列、结束标志、缓冲码元组成。其中,前置码为AIS信号的启动信号,表示时隙开始,为AIS 发射机施加射频电源;同步序列由24 bit交替0、1 码元组成;开始标志和结束标志与标准的HDLC 标记一致,为8 bit01111110,标志着信息的开始和结束;数据携带着船舶信息,其传输的正确性由后续16 bit CRC 校验码组成的帧校验序列检验;最后24 bit 缓冲码元作用是保证帧长度为定值。
(1)CRC 校验原理。循环冗余校验码(Cyclic Redundancy Check,CRC)是数字通信系统中一种具有较强检错能力的差错校验码[8]。根据GB/T20068-2006规定,AIS信息只对数据部分进行校验,采用的是CRC-16 的生成多项式g(x)=x16+x12+x5+1,其对应的17 位生成序列为G =10001000000100001。
(2)位反转。根据GB/T20068-2006 的规定,在VHF数据链路层发出数据前,需要将数据部分以Byte为单位,按bit逆序输出。为了保持Byte边界,最后一个Byte中的无用bit应当置为零。
(3)差分编码(NRZI 编码)。根据GB/T20068-2006的规定,AIS信息在进行调制前,需要对封装好的船舶信息帧进行不归零反向编码,即NRZ-I 编码,NRZI编码原理[9]如图2 所示。
图2 NRZI编码示意图
(4)bit填充。为防止出现连续相同的“1”信号进入导致NRZI编码码元长时无法翻转的现象,必须对输入的序列进行bit填充。在发射端AIS 信号数据部分,对连续出现的5 个“1”后面插入一个零bit。
船舶AIS信息在经过第1 节中的封装、编码后,需要经过高斯最小频移键控(Gaussian Mean Shift Keying,GMSK)后送入信道传输。GMSK 属于连续相位调制(Continue Phase Modulation,CPM),调制后带有信息的信号可表示为[10]:
式中:αi为信号码元;hF为调制指数;T 为码元周期,T =1/Rb,Rb=9 600 bit/s为信号的比特率。又因为
式中:g(t)和q(t)分别为频率成型滤波器函数和相位成型滤波器函数。将式(2)代入式(1)可将调制信号转化为:
对于GMSK调制来说,频率成型滤波器是高斯滤波器对于二进制不归零(NRZ)脉冲,因此,g(t)可写成如下形式:
经过信道传输后,在接收端接收到的信号为[11]:
式中:β 为信道衰落;τ 为时延;Δf 是由于发射端与接收端晶振偏差所带来的频偏;θ为相移;w(t)为复值高斯白噪声信号。
当接收端接收到经过信道的船舶AIS 信号后,需要对接收到的信号进行帧同步处理,确定信号的起始位置并消除信号时延对后续频偏估计、解调等的影响。如1.1 节所述,AIS 信号中包含训练序列0101…0101共24 bit,假设训练序列经过GMSK调制后为s(t),共含N =24 bit信息位。接收信号为r(t),共含有l位信息位。二者码元周期Tb=1/Rb相同,其中Rb=9 600bit/s。为方便公式推导,当信噪比足够大时,可忽略高斯加性白噪声的影响,且假定信道为慢衰落信道,则接收信号为:
USRP以时间间隔Ts对接收到的AIS信号进行采样,Ts=QTb,Q 为过采样因子,得到采样后离散信号r′(n),对训练序列以同样采样速率采样得离散训练序列s(n)。θ为信号中的相移干扰,先对离散训练序列s(n),以及离散信号r′(n)做1 bit差分运算:
定义两者相关函数[12]为:
式中:m为可能的帧起始时刻的采样序号。
接收信号与训练序列相关性最大值即对应帧起始时刻的采样序号:
对应的连续时间接收信号的时延可表示为:
本次AIS模拟接收机实现平台为USRP2920 软件无线电平台,其自带时钟源的晶振频率偏差约为2.5 ppm,当AIS信号传输频率为162.025 MHz时,最大接收频偏可达±405 Hz,当AIS 信号传输速率为9 600 bit/s、发送码元个数为256 bit 时,一条AIS 信号最大相角偏移为:
由式(13)可见,在解调过程中会出现信号相位翻转的现象。由于GMSK 调制方式所携带的信息体现在信号相位的变化上,若相位发生翻转,会导致信号解调出错,无法得到正确AIS信息。因此,需要一种精确的频偏估计方案应对USRP 所带来的较大频偏,并消除频偏对GMSK 解调的影响。本文采用文献[13]中所提的两步求精频偏估计算法[13],首先通过粗略估计缩小频偏范围,而后提高估计的精确度,达到精确估计并校正频偏的目的。
根据2.1 节时延估计算法做采样、帧同步处理后,接收信号为:
式中:A为信号幅值。
由式(5)可知,S(n)S*(n)=1,式(14)中,Δf 为所需要估计的频偏值,w(n)为噪声项,假定噪声为均值为零的高斯白噪声,现构造辅助信号x(n)消除接收信号中的调制相位信息:
为消除辅助信号中仍然存在的相移和噪声的影响,需要对辅助信号做差分求期望运算:
根据文献[14],频偏估计值为[14]:
式中:MQ为求和项数。
根据文献[15]可知,此算法误差值为该方法频偏估计的标准差[15],图3 为使用不同M 值时的频偏估计误差。
图3 不同求和项数子M下的频偏估计误差
在初次估计时,求和项数子M 一般取一较小数值,这是因为运算法则arg[·],所得的结果在区间(-π,π)之内,根据式(17)可以推出:
采用M =1 做频偏初次估计,所得频偏估计值为f1,并对接收信号做初次频偏校正得:
由图3 可知,当M 值较小时,频偏估计值会产生较大误差,需要对所得信号做2 次频偏估计,以提高精度,令fd=Δf-f1,按照式(15)的形式,再次构造辅助函数:
消除噪声及相移对辅助信号的影响可得:
由于已经做过初次频偏校正,残留频偏相对较小,因此可以通过适当提高MQ 的取值,来提高2 次频偏估计的精确度,假设第2 次频偏估计MQ的取值为M′Q,根据式(17)、(21)可得2 次频偏估计值为: 最后所得频偏估计结果为:fe=f1+f2。最终频偏校正后所得AIS信号为:
由2.1 节知,AIS 信号所用的GMSK 调制方式属于连续相位调制,所携带的信息体现在信号的相位变化中,因此采用较为普遍的1 bit 差分解调算法[16]解调接收到的AIS 信号。其工作原理是,通过对接收到的GMSK调制信号做1 bit差分运算,获取信号中所携带的相位信息,解调出信号的码元序列。其误码率特性曲线如图4 所示。
图4 1-bit差分解调误码率特性曲线
基于上述物理层关键技术以及AIS 国标要求,采用基于LabVIEW +USRP 的软件无线电平台搭建AIS模拟接收机。由于AIS 信号所采用的频点为161.975 MHz、162.025 MHz,故选用覆盖频段为50 MHz ~2.2 GHz的USRP 2920 和LabVIEW 2013 搭建AIS 模拟接收机实验平台。
本文所设计的AIS接收机接收实地船舶AIS信号地点为广州珠江水域,主要接收携带船舶动态信息的AIS报文1、2、3 及B 类发射机所发射的报文18。图5、6 分别为接收机所解析出的船舶AIS 信号报文1 和报文18。
根据实地接收并解析出的船舶AIS 信息,依照其报文类型以及各船舶特有的水上移动通信业务标识码(Maritime Mobile Service Identify,MMSI),可以构建AIS信息数据库,如图7 所示。
如表2 所示,工作表中存储接收到信号的时间以及相应船舶对应报文所携带的信息。
图5 实地船舶AIS 信号报文1
图6 实地船舶AIS信号报文18
图7 AIS船舶信息数据库
基于所得到的船舶AIS 信息和已经建立的数据库,可以对相应船舶进行船舶定位。在LabVIEW中嵌入开源海图,通过读取数据库中各船舶的位置信息,就可实现附近海域中实时的船舶定位功能,并具有实时更新功能,实际界面显示情况如图8 所示。
表2 数据库所存储信息
图8 海图嵌入及船舶定位
为了实现基于LabVIEW +USRP软件无线电平台的AIS模拟接收机设计,本文通过研读国家标准中的相关规定,了解AIS信号封装格式以及物理层调制、解调参数,并针对USRP2920 晶振稳定性较差的缺陷,引入两步求精频偏估计算法实现AIS信号的频偏精确估计,在广州珠江水域接收实地船舶动态信息,正确解调出AIS信号,同时根据AIS协议的相关规定,解析出对应船舶的AIS信息,得到船舶定位所需要的船舶动态信息,建立数据库,实现接收信号数据的存储和调用。读取数据库中的船舶信息,通过在LabVIEW 2013 中嵌入开源海图,实现了船舶定位功能。验证了基于USRP2920 软件无线电平台的AIS 模拟接收机的正确性,为USRP在“通信原理实验”及“通信系统设计”相关课程中的实验拓展提供了范例。