黃金磊,王建新,楊樹樹
(1.南京理工大學(xué)電子工程與光電技術(shù)學(xué)院,江蘇南京 210094;2.南京電子設(shè)備研究所,江蘇南京 210007)
2013 年,ITU-R 和IALA 共同提出了甚高頻數(shù)據(jù)交換系統(tǒng)(VHF Data Exchange System,VDES)[1]。VDES在保留AIS 系統(tǒng)原有功能的基礎(chǔ)上,引入了特殊應(yīng)用報(bào)文(Application Specific Messages,ASM)和寬帶甚高頻數(shù)據(jù)交換(VHF Data Exchange,VDE)[2]。
為了實(shí)現(xiàn)對(duì)AIS 和ASM 業(yè)務(wù)的實(shí)時(shí)接收處理[3],該文設(shè)計(jì)了一種AIS 與ASM 接收機(jī),采用8 核處理,可同時(shí)接收六個(gè)信道的信號(hào)并實(shí)時(shí)解調(diào);采用SRIO接口實(shí)現(xiàn)數(shù)據(jù)傳輸,保證了FPGA 端和DSP 端數(shù)據(jù)傳輸?shù)男剩粚?duì)內(nèi)存進(jìn)行了規(guī)劃重分配,降低了硬件資源的開銷;使用了恒虛警檢測(cè)算法[4],保證了噪聲環(huán)境下虛警概率保持不變。
國(guó)際電信聯(lián)盟將海上VHF頻段分配給AIS四個(gè)信道,分別是AIS1(161.975 MHz)、AIS2(162.025 MHz)、AIS3(156.775 MHz)、AIS4(156.825 MHz),信道帶寬為25 kHz,比特速率為9 600 bit/s。分配給ASM 兩個(gè)信道,分別是ASM1(161.950 MHz)、ASM2(162.000 MHz),信道帶寬為25 kHz,符號(hào)速率為9 600 symbol/s。
AIS 和ASM 將一分鐘分成2 250 個(gè)時(shí)隙,其中每個(gè)時(shí)隙占用的時(shí)間為26.67 ms。AIS 信號(hào)分為單時(shí)隙信號(hào)和雙時(shí)隙信號(hào),其中僅有消息ID 為5 的AIS信號(hào)是雙時(shí)隙信號(hào),單時(shí)隙信號(hào)總長(zhǎng)為256 bit,雙時(shí)隙信號(hào)總長(zhǎng)為512 bit,AIS3 和AIS4 信道是遠(yuǎn)距離AIS 信道,僅傳輸單時(shí)隙信號(hào)[5]。AIS 信號(hào)幀格式如圖1 所示。

圖1 AIS信號(hào)幀格式
上升沿的長(zhǎng)度為8 bit(00000000);同步字段長(zhǎng)24 bit,由交替的0 和1 組成;開始標(biāo)志和結(jié)束標(biāo)志的長(zhǎng)度為8 bit(01111110);幀校驗(yàn)序列為16 bit,用于驗(yàn)證接收到的AIS 消息是否正確;AIS1 和AIS2 信道的單時(shí)隙信號(hào)數(shù)據(jù)段長(zhǎng)度為168 bit,雙時(shí)隙信號(hào)數(shù)據(jù)段長(zhǎng)度為424 bit,其余部分兩者相同,緩沖段24 bit;AIS3 和AIS4 信道的信號(hào)數(shù)據(jù)段長(zhǎng)度為96 bit,其他部分與AIS1 和AIS2 信道的單時(shí)隙信號(hào)相同,最后由緩沖段補(bǔ)足256 bit。數(shù)據(jù)段中存儲(chǔ)了消息ID、用戶ID 和其他輪船相關(guān)狀態(tài)信息。
ASM 信號(hào)的幀格式與AIS 信號(hào)類似,根據(jù)Link ID 的不同會(huì)影響數(shù)據(jù)段的長(zhǎng)度,以及是否需要Turbo編碼,其通用幀格式如圖2 所示。

圖2 AIS信號(hào)幀格式
由圖2 可得,ASM 信號(hào)由上升沿、同步字段、Link ID、數(shù)據(jù)段、下降沿和保護(hù)間隔組成,其中數(shù)據(jù)段由數(shù)據(jù)、補(bǔ)零以及CRC 校驗(yàn)碼組成。Link ID 的不同會(huì)影響數(shù)據(jù)段和保護(hù)間隔的長(zhǎng)度。
AIS 信號(hào)的編碼方式為NRZI 編碼,在NRZI 編碼之前,為了防止數(shù)據(jù)段和幀校驗(yàn)段出現(xiàn)01111110 的碼型,導(dǎo)致信號(hào)的結(jié)束標(biāo)志定位出錯(cuò),AIS 消息的數(shù)據(jù)段和幀校驗(yàn)段遵循比特填充原則:如果在待發(fā)射信號(hào)中檢測(cè)到五個(gè)連續(xù)的1,則在這五個(gè)連續(xù)的1 后插入一個(gè)0,在解調(diào)時(shí)相應(yīng)地也要經(jīng)過(guò)去零處理。
AIS 信號(hào)采用高斯最小頻移鍵控(Gaussian Minimum Shift Keying,GMSK)。GMSK 的調(diào)制過(guò)程就是信號(hào)在編碼后先通過(guò)一個(gè)高斯低通濾波器,使得調(diào)制信號(hào)的相位連續(xù)且波形平滑,再進(jìn)行最小頻移鍵控調(diào)制。
ASM 信號(hào)的調(diào)制過(guò)程是首先對(duì)Link ID 采用一階Reed-Muller 編碼并加擾,再根據(jù)Link ID 確定是否需要對(duì)數(shù)據(jù)段進(jìn)行Turbo 編碼,接著對(duì)數(shù)據(jù)段進(jìn)行加擾,然后對(duì)整段信號(hào)做π/4 QPSK 調(diào)制,最后對(duì)ASM 信號(hào)進(jìn)行整數(shù)倍內(nèi)插,再通過(guò)成形濾波器,提高數(shù)據(jù)速率[6-7]。
該文采用的A/D 轉(zhuǎn)換器是AD9684,以采樣頻率fs=288 MHz 對(duì)經(jīng)過(guò)前端濾波放大后的射頻信號(hào)進(jìn)行帶通直接采樣,采樣后的信號(hào)先在A/D 中經(jīng)過(guò)預(yù)處理,再發(fā)送到FPGA 進(jìn)行后續(xù)處理[8]。A/D 預(yù)處理流程框圖如圖3 所示。

圖3 A/D預(yù)處理流程框圖
AD9684 內(nèi)部直接數(shù)字頻率合成器的頻率控制字字長(zhǎng)為12 位,126 MHz 本振頻率對(duì)應(yīng)的頻率控制字取值為1 792,因此沒(méi)有本振頻率誤差產(chǎn)生,得到的下變頻結(jié)果更加精準(zhǔn)。濾波抽取部分使用A/D 中自帶的半帶濾波器實(shí)現(xiàn),16 倍的抽取用四個(gè)半帶濾波器級(jí)聯(lián)得到,前三級(jí)半帶濾波器只對(duì)信號(hào)進(jìn)行8 倍抽取而不濾波,最后一級(jí)半帶濾波器進(jìn)行2 倍抽取并濾波。在A/D 預(yù)處理之后,fs=288 MHz/16=18 MHz,此時(shí)信號(hào)頻譜圖如圖4 所示。

圖4 基帶信號(hào)頻譜圖
由圖4可知,在經(jīng)過(guò)A/D采樣、A/D預(yù)下變頻及濾波抽取后,AIS的四個(gè)信道分別被搬移到了-0.025 MHz、0.025 MHz、-5.225 MHz和-5.175 MHz,ASM 的兩個(gè)信道分別被搬移到了-0.05 MHz 和零頻,信號(hào)速率為18 MHz,在FPGA 中對(duì)信號(hào)再分別經(jīng)過(guò)正交下變頻與濾波抽取即可分離得到六個(gè)信道的復(fù)基帶信號(hào)。
解調(diào)系統(tǒng)要求送至DSP 解調(diào)的信號(hào)的數(shù)據(jù)速率為8 倍的符號(hào)速率,即76.8 kHz,因此FPGA 中的抽取倍數(shù)應(yīng)為D=18 MHz/76.8 kHz=234.375,由于小數(shù)倍抽取在FPGA 實(shí)現(xiàn)過(guò)于復(fù)雜,這里取抽取倍數(shù)D=234,以234 倍抽取后,數(shù)據(jù)速率變?yōu)?8 MHz/234=76.923 kHz。抽取可以采用級(jí)聯(lián)的方式,由于D=234=39×6,所以可以第一級(jí)用CIC 濾波器實(shí)現(xiàn)抽取因子D1=39 的濾波抽取,第二級(jí)用FIR 濾波器實(shí)現(xiàn)抽取因子D2=6 倍的濾波抽取[9]。
分離出六個(gè)信道的信號(hào)以后,對(duì)六個(gè)信道的信號(hào)做幀頭檢測(cè),AIS 信號(hào)和ASM 信號(hào)都有固定的同步字段,可以通過(guò)同步字段的特點(diǎn)來(lái)實(shí)現(xiàn)幀頭檢測(cè)。
在信號(hào)通過(guò)幀頭檢測(cè)后,需要將FPGA 中的復(fù)基帶信號(hào)傳輸?shù)紻SP 中進(jìn)行后續(xù)解調(diào),該文選擇SRIO 接口實(shí)現(xiàn)FPGA 與DSP 之間的數(shù)據(jù)傳輸[10]。該文采取以下傳輸方案:當(dāng)AIS1 和AIS2 信道檢測(cè)到信號(hào)后,向DSP 傳輸2×2 048=4 096 個(gè)數(shù)據(jù)點(diǎn);當(dāng)AIS3和AIS4 信道檢測(cè)到信號(hào)后,向DSP 傳輸2 048 個(gè)數(shù)據(jù)點(diǎn);當(dāng)ASM1 和ASM2 信道檢測(cè)到信號(hào)后,向DSP傳輸3×2 048=6 144 個(gè)數(shù)據(jù)點(diǎn)。這樣就可以保證該幀信號(hào)的信息不會(huì)有丟失。
由于解調(diào)系統(tǒng)的實(shí)時(shí)性要求能同時(shí)解調(diào)六個(gè)信道的信號(hào),因此該文選擇用TMS320C6678 作為DSP平臺(tái)實(shí)現(xiàn)后續(xù)的解調(diào)工作。TMS320C6678 有八個(gè)核心子系統(tǒng),每個(gè)子系統(tǒng)有1.0 GHz 或1.25 GHz 的c66x定/浮點(diǎn)CPU 核。該文使用核0 完成一系列初始化工作與算法自檢,核1 至核4 分別完成一個(gè)AIS 信道的信號(hào)解調(diào),核5 與核6 完成兩個(gè)信道的ASM 信號(hào)解調(diào),核7 完成網(wǎng)口信息傳輸,每隔1 s 將解調(diào)的信息打包發(fā)送至上位機(jī),秒脈沖由FPGA 通過(guò)EMIF 接口發(fā)送到DSP[11]。
由于DDR3 的存儲(chǔ)空間大,且六個(gè)核都可以對(duì)其進(jìn)行存取操作,因此該文的設(shè)計(jì)是通過(guò)SRIO 將數(shù)據(jù)送至DDR3 存儲(chǔ)區(qū)。出于算法實(shí)時(shí)性的考慮,F(xiàn)PGA和DSP之間并不采用握手,DSP在DDR3存儲(chǔ)區(qū)開辟了六塊存儲(chǔ)空間,F(xiàn)PGA 將六個(gè)信道的數(shù)據(jù)分別送至該存儲(chǔ)區(qū)的指定地址,DSP 端不斷輪詢?cè)摰刂返闹担?dāng)檢測(cè)到對(duì)應(yīng)地址收到數(shù)據(jù)時(shí),DSP 的核1至核6 分別將對(duì)應(yīng)存儲(chǔ)區(qū)的數(shù)據(jù)取出處理。DSP 開辟的六個(gè)存儲(chǔ)區(qū)的地址如表1 所示。

表1 SRIO傳送數(shù)據(jù)的儲(chǔ)存地址
下面以AIS1 和AIS2 信道的雙時(shí)隙信號(hào)為例說(shuō)明DSP 中AIS 信號(hào)的完整解調(diào)流程。由前文可知,當(dāng)AIS1 和AIS2 信道檢測(cè)到信號(hào)時(shí),F(xiàn)PGA 傳送4 096個(gè)數(shù)據(jù)點(diǎn),但是實(shí)際上AIS 信號(hào)僅在ID=5 時(shí)是雙時(shí)隙信號(hào),大多數(shù)時(shí)候接收到的AIS 信號(hào)都是單時(shí)隙信號(hào)。因此該文的解調(diào)方案是先把所有信號(hào)當(dāng)成是單時(shí)隙信號(hào),對(duì)前2 048 個(gè)數(shù)據(jù)點(diǎn)進(jìn)行解調(diào),如果CRC 校驗(yàn)失敗則去判斷消息ID,當(dāng)檢測(cè)到消息ID 為5 時(shí),判斷為雙時(shí)隙信號(hào),先保存前面解調(diào)的結(jié)果,再取后2 048 個(gè)數(shù)據(jù)點(diǎn)進(jìn)行解調(diào),最后將兩次解調(diào)結(jié)果拼在一起再進(jìn)行CRC 校驗(yàn),通過(guò),則輸出信息,不通過(guò),則丟棄這幀信號(hào)。此處可以利用內(nèi)存管理技術(shù),在保存好第一次解調(diào)出來(lái)的256 個(gè)采樣點(diǎn)后,前面解調(diào)過(guò)程產(chǎn)生的中間變量都可以被覆蓋,這就能節(jié)約一半的內(nèi)存空間。
DSP 中AIS 信號(hào)的解調(diào)流程如圖5 所示。

圖5 DSP中AIS信號(hào)的解調(diào)流程
ASM 的解調(diào)流程與AIS 類似,只不過(guò)ASM 信號(hào)是先利用同步字段估計(jì)出一個(gè)大頻偏,去除這個(gè)大頻偏之后就進(jìn)行定時(shí)同步,降低數(shù)據(jù)速率,之后再通過(guò)M&M 算法得到殘余小頻偏,然后再進(jìn)行相偏估計(jì)。
兩者的解調(diào)流程都是分段解調(diào),先解調(diào)一個(gè)時(shí)隙長(zhǎng)度的數(shù)據(jù)也就是256 個(gè)符號(hào),然后再根據(jù)解調(diào)結(jié)果中的ID 相應(yīng)地進(jìn)行后續(xù)時(shí)隙內(nèi)容的解調(diào)。
常用的頻偏估計(jì)方法有差分相關(guān)法、最大似然估計(jì)法、鎖相環(huán)和二階矩估計(jì)法等。差分相關(guān)法在頻偏較大時(shí),頻偏估計(jì)誤差很大,只能作為一種初步的頻偏估計(jì),不能達(dá)到精確估計(jì)的要求。最大似然估計(jì)法的估計(jì)誤差取決于搜索步長(zhǎng),步長(zhǎng)越小,估計(jì)誤差越小,但耗費(fèi)的時(shí)間也越多。傳統(tǒng)的鎖相環(huán)在頻偏較大時(shí)的捕獲時(shí)間很長(zhǎng),不符合解調(diào)系統(tǒng)實(shí)時(shí)處理的要求。綜合測(cè)頻精度、計(jì)算復(fù)雜度以及GMSK信號(hào)自身特征等因素,該文采用二階循環(huán)累積量法來(lái)估計(jì)AIS 信號(hào)的頻偏。
ASM 信號(hào)通過(guò)M&M[12]算法來(lái)完成數(shù)據(jù)輔助的頻偏估計(jì),接著先經(jīng)過(guò)匹配濾波和定時(shí)同步去除時(shí)延并降低數(shù)據(jù)速率,然后再通過(guò)M&M算法對(duì)256個(gè)符號(hào)進(jìn)行非數(shù)據(jù)輔助頻偏估計(jì)來(lái)獲得更加精確的結(jié)果。
GMSK 是MSK 信號(hào)的特殊形式,因此,MSK 信號(hào)的符號(hào)定時(shí)同步方法也適用于GMSK 信號(hào)。該文AIS的定時(shí)同步算法采用LM定時(shí)法[13],ASM 的定時(shí)算法采用Q&M 算法[14]。
通過(guò)定時(shí)算法計(jì)算出來(lái)的時(shí)延代表信號(hào)的第一個(gè)采樣點(diǎn)與最佳采樣點(diǎn)距離的估計(jì)值,這個(gè)估計(jì)值一般不是整數(shù),如果需要提高精度,可采用插值的方法獲得最佳采樣點(diǎn)的值。該文將此估計(jì)值四舍五入取整后的值作為第一個(gè)采樣點(diǎn)與最佳采樣點(diǎn)的距離。
同時(shí),從前文可知,由于小數(shù)倍抽取難以實(shí)現(xiàn),因此實(shí)際采樣周期與理論采樣周期有微小的誤差,作用到單個(gè)符號(hào)上時(shí),時(shí)間非常短,誤差可以忽略,但是在一段連續(xù)時(shí)間的積累之后,誤差也會(huì)慢慢累積,而上述方法估計(jì)出的時(shí)延只是參與估計(jì)符號(hào)的平均時(shí)延,并不是每個(gè)符號(hào)的實(shí)際時(shí)延,如果參與估計(jì)的符號(hào)個(gè)數(shù)過(guò)多,會(huì)導(dǎo)致時(shí)延估計(jì)量與實(shí)際時(shí)延相差過(guò)大。因此該文將進(jìn)行符號(hào)定時(shí)的數(shù)據(jù)進(jìn)行了劃分,分小段進(jìn)行時(shí)延估計(jì),每段用64 個(gè)符號(hào)做一次時(shí)延估計(jì)。在進(jìn)行定時(shí)同步前,需要先經(jīng)過(guò)匹配濾波器提高信號(hào)的信噪比,從而提升解調(diào)性能。
在去除頻偏與定時(shí)之后,ASM 信號(hào)比AIS 信號(hào)多了一個(gè)相偏估計(jì)的過(guò)程,與ASM 信號(hào)的頻偏估計(jì)類似,相偏估計(jì)也是通過(guò)兩步估計(jì)以得到更加精確的處理結(jié)果。首先通過(guò)同步字段作為已知信息進(jìn)行基于數(shù)據(jù)輔助的相偏估計(jì),去除掉這個(gè)大相偏之后,與定時(shí)同步的做法類似,將信號(hào)分段,每段用64 個(gè)符號(hào)通過(guò)V_V 算法進(jìn)行非數(shù)據(jù)輔助相偏估計(jì)[14-15]。
AIS的解調(diào)算法有2bit差分解調(diào)、6bit差分解調(diào)、Viterbi算法等。2 bit差分解調(diào)實(shí)現(xiàn)簡(jiǎn)單且受載頻相位偏差的影響較小,然而當(dāng)AIS 信號(hào)存在同頻干擾時(shí),2 bit 差分解調(diào)的性能就會(huì)大大降低;6 bit 差分解調(diào)算法能獲得比2 bit 差分解調(diào)更好的結(jié)果,而且在時(shí)間和資源的消耗上不會(huì)有太多的增加,但是只有在較高的信噪比下才能得到正確的結(jié)果[16];Viterbi算法解調(diào)結(jié)果精確,但是耗時(shí)較長(zhǎng),且需要在白噪聲情況下才能得到較好的解調(diào)結(jié)果,因此在進(jìn)行Viterbi 解調(diào)前還需要將數(shù)據(jù)通過(guò)一個(gè)白化濾波器。
以AIS 雙時(shí)隙信號(hào)為例,為了兼顧解調(diào)的速度和精度,該文的處理過(guò)程是在定時(shí)同步后先進(jìn)行6 bit差分解調(diào),解調(diào)結(jié)果無(wú)法通過(guò)CRC 校驗(yàn)則再對(duì)其進(jìn)行Viterbi 解調(diào),如果仍然無(wú)法通過(guò)CRC 校驗(yàn)則判斷信號(hào)的ID,如果判斷是雙時(shí)隙信號(hào),則對(duì)后2 048 個(gè)數(shù)據(jù)點(diǎn)做上述一系列的處理。
ASM 信號(hào)在去除頻偏相偏后先對(duì)Link ID 做Reed-Muller 碼的譯碼,得到Link ID 后就可以知道這幀信號(hào)的各種信息參數(shù),包括調(diào)制方式、是否經(jīng)過(guò)Turbo 編碼、數(shù)據(jù)段長(zhǎng)度等,接著針對(duì)得到的Link ID對(duì)數(shù)據(jù)段進(jìn)行解調(diào),最后進(jìn)行CRC 校驗(yàn)。
在實(shí)現(xiàn)上述設(shè)計(jì)方案后,對(duì)接收機(jī)進(jìn)行性能測(cè)試。在耗時(shí)方面,以AIS 單時(shí)隙信號(hào)為例,解調(diào)部分消耗總時(shí)間最長(zhǎng)為8.9 ms,且在信噪比較高不需要經(jīng)過(guò)Viterbi 譯碼時(shí)整個(gè)過(guò)程僅需不到3.7 ms;以ASM單時(shí)隙信號(hào)為例,解調(diào)部分各流程消耗總時(shí)間最長(zhǎng)為10.32 ms,若該單時(shí)隙信號(hào)為非Turbo 編碼的Link ID 為1 的ASM 信號(hào),則僅需消耗6.52 ms;由此可見(jiàn)消耗的時(shí)間都遠(yuǎn)小于單時(shí)隙信號(hào)占用的時(shí)間26.67 ms,由此證明該文的設(shè)計(jì)方案能夠滿足解調(diào)系統(tǒng)的實(shí)時(shí)性要求。
接著用信號(hào)源模擬發(fā)送報(bào)文信息,考慮到信道最擁擠的情況,AIS 的四個(gè)信道同時(shí)接連不斷地收到AIS 信號(hào),ASM 的兩個(gè)信道也接連不斷地收到ASM信號(hào)[17-18]。以解調(diào)正確率90%為界,得到接收機(jī)對(duì)AIS 信號(hào)的靈敏度測(cè)試結(jié)果,如表2 所示。

表2 接收機(jī)對(duì)AIS信號(hào)的靈敏度
同理,以解調(diào)正確率90%為界,得到接收機(jī)對(duì)ASM 信號(hào)的靈敏度測(cè)試結(jié)果,如表3 所示。

表3 接收機(jī)對(duì)ASM信號(hào)的靈敏度
從表3 可以發(fā)現(xiàn),接收機(jī)對(duì)ASM 信號(hào)的靈敏度因?yàn)長(zhǎng)ink ID 的不同而有較大區(qū)別,
這是因?yàn)長(zhǎng)ink ID 為4、5、6、7 的ASM 信號(hào)是經(jīng)過(guò)Turbo 編碼的,信號(hào)可靠性提高了,因此靈敏度也有了一定提升。
該文提出了一種AIS 與ASM 多信道接收機(jī),對(duì)接收機(jī)的設(shè)計(jì)、硬件平臺(tái)、解調(diào)算法做了詳細(xì)闡述,最終對(duì)工程實(shí)現(xiàn)產(chǎn)品進(jìn)行了性能測(cè)試,測(cè)試結(jié)果表明,該文設(shè)計(jì)的多信道接收機(jī)可以實(shí)時(shí)處理解調(diào)四個(gè)AIS 信道和兩個(gè)ASM 信道的信號(hào),甚至能在一個(gè)時(shí)隙的時(shí)間內(nèi)完成對(duì)多時(shí)隙信號(hào)的處理,并且具有較高的靈敏度,AIS 在輸入信號(hào)幅度為-119 dBm 的情況下能達(dá)到90%的解調(diào)率,ASM 在輸入信號(hào)幅度為-116 dBm 的情況下能達(dá)到90%的解調(diào)率,具有實(shí)際應(yīng)用價(jià)值。