郭志恒, 曾柏華, 洪金城, 陳 翔, 劉 敏
(中山大學電子與信息工程學院,廣州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在“通信原理實驗”及“通信系統設計”相關課程中的實驗拓展提供了范例。