黃金磊,王建新,楊樹樹
(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)對AIS 和ASM 業(yè)務(wù)的實(shí)時(shí)接收處理[3],該文設(shè)計(jì)了一種AIS 與ASM 接收機(jī),采用8 核處理,可同時(shí)接收六個(gè)信道的信號并實(shí)時(shí)解調(diào);采用SRIO接口實(shí)現(xiàn)數(shù)據(jù)傳輸,保證了FPGA 端和DSP 端數(shù)據(jù)傳輸?shù)男?;對?nèi)存進(jìn)行了規(guī)劃重分配,降低了硬件資源的開銷;使用了恒虛警檢測算法[4],保證了噪聲環(huán)境下虛警概率保持不變。
國際電信聯(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,符號速率為9 600 symbol/s。
AIS 和ASM 將一分鐘分成2 250 個(gè)時(shí)隙,其中每個(gè)時(shí)隙占用的時(shí)間為26.67 ms。AIS 信號分為單時(shí)隙信號和雙時(shí)隙信號,其中僅有消息ID 為5 的AIS信號是雙時(shí)隙信號,單時(shí)隙信號總長為256 bit,雙時(shí)隙信號總長為512 bit,AIS3 和AIS4 信道是遠(yuǎn)距離AIS 信道,僅傳輸單時(shí)隙信號[5]。AIS 信號幀格式如圖1 所示。
圖1 AIS信號幀格式
上升沿的長度為8 bit(00000000);同步字段長24 bit,由交替的0 和1 組成;開始標(biāo)志和結(jié)束標(biāo)志的長度為8 bit(01111110);幀校驗(yàn)序列為16 bit,用于驗(yàn)證接收到的AIS 消息是否正確;AIS1 和AIS2 信道的單時(shí)隙信號數(shù)據(jù)段長度為168 bit,雙時(shí)隙信號數(shù)據(jù)段長度為424 bit,其余部分兩者相同,緩沖段24 bit;AIS3 和AIS4 信道的信號數(shù)據(jù)段長度為96 bit,其他部分與AIS1 和AIS2 信道的單時(shí)隙信號相同,最后由緩沖段補(bǔ)足256 bit。數(shù)據(jù)段中存儲了消息ID、用戶ID 和其他輪船相關(guān)狀態(tài)信息。
ASM 信號的幀格式與AIS 信號類似,根據(jù)Link ID 的不同會影響數(shù)據(jù)段的長度,以及是否需要Turbo編碼,其通用幀格式如圖2 所示。
圖2 AIS信號幀格式
由圖2 可得,ASM 信號由上升沿、同步字段、Link ID、數(shù)據(jù)段、下降沿和保護(hù)間隔組成,其中數(shù)據(jù)段由數(shù)據(jù)、補(bǔ)零以及CRC 校驗(yàn)碼組成。Link ID 的不同會影響數(shù)據(jù)段和保護(hù)間隔的長度。
AIS 信號的編碼方式為NRZI 編碼,在NRZI 編碼之前,為了防止數(shù)據(jù)段和幀校驗(yàn)段出現(xiàn)01111110 的碼型,導(dǎo)致信號的結(jié)束標(biāo)志定位出錯(cuò),AIS 消息的數(shù)據(jù)段和幀校驗(yàn)段遵循比特填充原則:如果在待發(fā)射信號中檢測到五個(gè)連續(xù)的1,則在這五個(gè)連續(xù)的1 后插入一個(gè)0,在解調(diào)時(shí)相應(yīng)地也要經(jīng)過去零處理。
AIS 信號采用高斯最小頻移鍵控(Gaussian Minimum Shift Keying,GMSK)。GMSK 的調(diào)制過程就是信號在編碼后先通過一個(gè)高斯低通濾波器,使得調(diào)制信號的相位連續(xù)且波形平滑,再進(jìn)行最小頻移鍵控調(diào)制。
ASM 信號的調(diào)制過程是首先對Link ID 采用一階Reed-Muller 編碼并加擾,再根據(jù)Link ID 確定是否需要對數(shù)據(jù)段進(jìn)行Turbo 編碼,接著對數(shù)據(jù)段進(jìn)行加擾,然后對整段信號做π/4 QPSK 調(diào)制,最后對ASM 信號進(jìn)行整數(shù)倍內(nèi)插,再通過成形濾波器,提高數(shù)據(jù)速率[6-7]。
該文采用的A/D 轉(zhuǎn)換器是AD9684,以采樣頻率fs=288 MHz 對經(jīng)過前端濾波放大后的射頻信號進(jìn)行帶通直接采樣,采樣后的信號先在A/D 中經(jīng)過預(yù)處理,再發(fā)送到FPGA 進(jìn)行后續(xù)處理[8]。A/D 預(yù)處理流程框圖如圖3 所示。
圖3 A/D預(yù)處理流程框圖
AD9684 內(nèi)部直接數(shù)字頻率合成器的頻率控制字字長為12 位,126 MHz 本振頻率對應(yīng)的頻率控制字取值為1 792,因此沒有本振頻率誤差產(chǎn)生,得到的下變頻結(jié)果更加精準(zhǔn)。濾波抽取部分使用A/D 中自帶的半帶濾波器實(shí)現(xiàn),16 倍的抽取用四個(gè)半帶濾波器級聯(lián)得到,前三級半帶濾波器只對信號進(jìn)行8 倍抽取而不濾波,最后一級半帶濾波器進(jìn)行2 倍抽取并濾波。在A/D 預(yù)處理之后,fs=288 MHz/16=18 MHz,此時(shí)信號頻譜圖如圖4 所示。
圖4 基帶信號頻譜圖
由圖4可知,在經(jīng)過A/D采樣、A/D預(yù)下變頻及濾波抽取后,AIS的四個(gè)信道分別被搬移到了-0.025 MHz、0.025 MHz、-5.225 MHz和-5.175 MHz,ASM 的兩個(gè)信道分別被搬移到了-0.05 MHz 和零頻,信號速率為18 MHz,在FPGA 中對信號再分別經(jīng)過正交下變頻與濾波抽取即可分離得到六個(gè)信道的復(fù)基帶信號。
解調(diào)系統(tǒng)要求送至DSP 解調(diào)的信號的數(shù)據(jù)速率為8 倍的符號速率,即76.8 kHz,因此FPGA 中的抽取倍數(shù)應(yīng)為D=18 MHz/76.8 kHz=234.375,由于小數(shù)倍抽取在FPGA 實(shí)現(xiàn)過于復(fù)雜,這里取抽取倍數(shù)D=234,以234 倍抽取后,數(shù)據(jù)速率變?yōu)?8 MHz/234=76.923 kHz。抽取可以采用級聯(lián)的方式,由于D=234=39×6,所以可以第一級用CIC 濾波器實(shí)現(xiàn)抽取因子D1=39 的濾波抽取,第二級用FIR 濾波器實(shí)現(xiàn)抽取因子D2=6 倍的濾波抽取[9]。
分離出六個(gè)信道的信號以后,對六個(gè)信道的信號做幀頭檢測,AIS 信號和ASM 信號都有固定的同步字段,可以通過同步字段的特點(diǎn)來實(shí)現(xiàn)幀頭檢測。
在信號通過幀頭檢測后,需要將FPGA 中的復(fù)基帶信號傳輸?shù)紻SP 中進(jìn)行后續(xù)解調(diào),該文選擇SRIO 接口實(shí)現(xiàn)FPGA 與DSP 之間的數(shù)據(jù)傳輸[10]。該文采取以下傳輸方案:當(dāng)AIS1 和AIS2 信道檢測到信號后,向DSP 傳輸2×2 048=4 096 個(gè)數(shù)據(jù)點(diǎn);當(dāng)AIS3和AIS4 信道檢測到信號后,向DSP 傳輸2 048 個(gè)數(shù)據(jù)點(diǎn);當(dāng)ASM1 和ASM2 信道檢測到信號后,向DSP傳輸3×2 048=6 144 個(gè)數(shù)據(jù)點(diǎn)。這樣就可以保證該幀信號的信息不會有丟失。
由于解調(diào)系統(tǒng)的實(shí)時(shí)性要求能同時(shí)解調(diào)六個(gè)信道的信號,因此該文選擇用TMS320C6678 作為DSP平臺實(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 信道的信號解調(diào),核5 與核6 完成兩個(gè)信道的ASM 信號解調(diào),核7 完成網(wǎng)口信息傳輸,每隔1 s 將解調(diào)的信息打包發(fā)送至上位機(jī),秒脈沖由FPGA 通過EMIF 接口發(fā)送到DSP[11]。
由于DDR3 的存儲空間大,且六個(gè)核都可以對其進(jìn)行存取操作,因此該文的設(shè)計(jì)是通過SRIO 將數(shù)據(jù)送至DDR3 存儲區(qū)。出于算法實(shí)時(shí)性的考慮,F(xiàn)PGA和DSP之間并不采用握手,DSP在DDR3存儲區(qū)開辟了六塊存儲空間,F(xiàn)PGA 將六個(gè)信道的數(shù)據(jù)分別送至該存儲區(qū)的指定地址,DSP 端不斷輪詢該地址的值,當(dāng)檢測到對應(yīng)地址收到數(shù)據(jù)時(shí),DSP 的核1至核6 分別將對應(yīng)存儲區(qū)的數(shù)據(jù)取出處理。DSP 開辟的六個(gè)存儲區(qū)的地址如表1 所示。
表1 SRIO傳送數(shù)據(jù)的儲存地址
下面以AIS1 和AIS2 信道的雙時(shí)隙信號為例說明DSP 中AIS 信號的完整解調(diào)流程。由前文可知,當(dāng)AIS1 和AIS2 信道檢測到信號時(shí),F(xiàn)PGA 傳送4 096個(gè)數(shù)據(jù)點(diǎn),但是實(shí)際上AIS 信號僅在ID=5 時(shí)是雙時(shí)隙信號,大多數(shù)時(shí)候接收到的AIS 信號都是單時(shí)隙信號。因此該文的解調(diào)方案是先把所有信號當(dāng)成是單時(shí)隙信號,對前2 048 個(gè)數(shù)據(jù)點(diǎn)進(jìn)行解調(diào),如果CRC 校驗(yàn)失敗則去判斷消息ID,當(dāng)檢測到消息ID 為5 時(shí),判斷為雙時(shí)隙信號,先保存前面解調(diào)的結(jié)果,再取后2 048 個(gè)數(shù)據(jù)點(diǎn)進(jìn)行解調(diào),最后將兩次解調(diào)結(jié)果拼在一起再進(jìn)行CRC 校驗(yàn),通過,則輸出信息,不通過,則丟棄這幀信號。此處可以利用內(nèi)存管理技術(shù),在保存好第一次解調(diào)出來的256 個(gè)采樣點(diǎn)后,前面解調(diào)過程產(chǎn)生的中間變量都可以被覆蓋,這就能節(jié)約一半的內(nèi)存空間。
DSP 中AIS 信號的解調(diào)流程如圖5 所示。
圖5 DSP中AIS信號的解調(diào)流程
ASM 的解調(diào)流程與AIS 類似,只不過ASM 信號是先利用同步字段估計(jì)出一個(gè)大頻偏,去除這個(gè)大頻偏之后就進(jìn)行定時(shí)同步,降低數(shù)據(jù)速率,之后再通過M&M 算法得到殘余小頻偏,然后再進(jìn)行相偏估計(jì)。
兩者的解調(diào)流程都是分段解調(diào),先解調(diào)一個(gè)時(shí)隙長度的數(shù)據(jù)也就是256 個(gè)符號,然后再根據(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ì)誤差取決于搜索步長,步長越小,估計(jì)誤差越小,但耗費(fèi)的時(shí)間也越多。傳統(tǒng)的鎖相環(huán)在頻偏較大時(shí)的捕獲時(shí)間很長,不符合解調(diào)系統(tǒng)實(shí)時(shí)處理的要求。綜合測頻精度、計(jì)算復(fù)雜度以及GMSK信號自身特征等因素,該文采用二階循環(huán)累積量法來估計(jì)AIS 信號的頻偏。
ASM 信號通過M&M[12]算法來完成數(shù)據(jù)輔助的頻偏估計(jì),接著先經(jīng)過匹配濾波和定時(shí)同步去除時(shí)延并降低數(shù)據(jù)速率,然后再通過M&M算法對256個(gè)符號進(jìn)行非數(shù)據(jù)輔助頻偏估計(jì)來獲得更加精確的結(jié)果。
GMSK 是MSK 信號的特殊形式,因此,MSK 信號的符號定時(shí)同步方法也適用于GMSK 信號。該文AIS的定時(shí)同步算法采用LM定時(shí)法[13],ASM 的定時(shí)算法采用Q&M 算法[14]。
通過定時(shí)算法計(jì)算出來的時(shí)延代表信號的第一個(gè)采樣點(diǎn)與最佳采樣點(diǎn)距離的估計(jì)值,這個(gè)估計(jì)值一般不是整數(shù),如果需要提高精度,可采用插值的方法獲得最佳采樣點(diǎn)的值。該文將此估計(jì)值四舍五入取整后的值作為第一個(gè)采樣點(diǎn)與最佳采樣點(diǎn)的距離。
同時(shí),從前文可知,由于小數(shù)倍抽取難以實(shí)現(xiàn),因此實(shí)際采樣周期與理論采樣周期有微小的誤差,作用到單個(gè)符號上時(shí),時(shí)間非常短,誤差可以忽略,但是在一段連續(xù)時(shí)間的積累之后,誤差也會慢慢累積,而上述方法估計(jì)出的時(shí)延只是參與估計(jì)符號的平均時(shí)延,并不是每個(gè)符號的實(shí)際時(shí)延,如果參與估計(jì)的符號個(gè)數(shù)過多,會導(dǎo)致時(shí)延估計(jì)量與實(shí)際時(shí)延相差過大。因此該文將進(jìn)行符號定時(shí)的數(shù)據(jù)進(jìn)行了劃分,分小段進(jìn)行時(shí)延估計(jì),每段用64 個(gè)符號做一次時(shí)延估計(jì)。在進(jìn)行定時(shí)同步前,需要先經(jīng)過匹配濾波器提高信號的信噪比,從而提升解調(diào)性能。
在去除頻偏與定時(shí)之后,ASM 信號比AIS 信號多了一個(gè)相偏估計(jì)的過程,與ASM 信號的頻偏估計(jì)類似,相偏估計(jì)也是通過兩步估計(jì)以得到更加精確的處理結(jié)果。首先通過同步字段作為已知信息進(jìn)行基于數(shù)據(jù)輔助的相偏估計(jì),去除掉這個(gè)大相偏之后,與定時(shí)同步的做法類似,將信號分段,每段用64 個(gè)符號通過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)簡單且受載頻相位偏差的影響較小,然而當(dāng)AIS 信號存在同頻干擾時(shí),2 bit 差分解調(diào)的性能就會大大降低;6 bit 差分解調(diào)算法能獲得比2 bit 差分解調(diào)更好的結(jié)果,而且在時(shí)間和資源的消耗上不會有太多的增加,但是只有在較高的信噪比下才能得到正確的結(jié)果[16];Viterbi算法解調(diào)結(jié)果精確,但是耗時(shí)較長,且需要在白噪聲情況下才能得到較好的解調(diào)結(jié)果,因此在進(jìn)行Viterbi 解調(diào)前還需要將數(shù)據(jù)通過一個(gè)白化濾波器。
以AIS 雙時(shí)隙信號為例,為了兼顧解調(diào)的速度和精度,該文的處理過程是在定時(shí)同步后先進(jìn)行6 bit差分解調(diào),解調(diào)結(jié)果無法通過CRC 校驗(yàn)則再對其進(jìn)行Viterbi 解調(diào),如果仍然無法通過CRC 校驗(yàn)則判斷信號的ID,如果判斷是雙時(shí)隙信號,則對后2 048 個(gè)數(shù)據(jù)點(diǎn)做上述一系列的處理。
ASM 信號在去除頻偏相偏后先對Link ID 做Reed-Muller 碼的譯碼,得到Link ID 后就可以知道這幀信號的各種信息參數(shù),包括調(diào)制方式、是否經(jīng)過Turbo 編碼、數(shù)據(jù)段長度等,接著針對得到的Link ID對數(shù)據(jù)段進(jìn)行解調(diào),最后進(jìn)行CRC 校驗(yàn)。
在實(shí)現(xiàn)上述設(shè)計(jì)方案后,對接收機(jī)進(jìn)行性能測試。在耗時(shí)方面,以AIS 單時(shí)隙信號為例,解調(diào)部分消耗總時(shí)間最長為8.9 ms,且在信噪比較高不需要經(jīng)過Viterbi 譯碼時(shí)整個(gè)過程僅需不到3.7 ms;以ASM單時(shí)隙信號為例,解調(diào)部分各流程消耗總時(shí)間最長為10.32 ms,若該單時(shí)隙信號為非Turbo 編碼的Link ID 為1 的ASM 信號,則僅需消耗6.52 ms;由此可見消耗的時(shí)間都遠(yuǎn)小于單時(shí)隙信號占用的時(shí)間26.67 ms,由此證明該文的設(shè)計(jì)方案能夠滿足解調(diào)系統(tǒng)的實(shí)時(shí)性要求。
接著用信號源模擬發(fā)送報(bào)文信息,考慮到信道最擁擠的情況,AIS 的四個(gè)信道同時(shí)接連不斷地收到AIS 信號,ASM 的兩個(gè)信道也接連不斷地收到ASM信號[17-18]。以解調(diào)正確率90%為界,得到接收機(jī)對AIS 信號的靈敏度測試結(jié)果,如表2 所示。
表2 接收機(jī)對AIS信號的靈敏度
同理,以解調(diào)正確率90%為界,得到接收機(jī)對ASM 信號的靈敏度測試結(jié)果,如表3 所示。
表3 接收機(jī)對ASM信號的靈敏度
從表3 可以發(fā)現(xiàn),接收機(jī)對ASM 信號的靈敏度因?yàn)長ink ID 的不同而有較大區(qū)別,
這是因?yàn)長ink ID 為4、5、6、7 的ASM 信號是經(jīng)過Turbo 編碼的,信號可靠性提高了,因此靈敏度也有了一定提升。
該文提出了一種AIS 與ASM 多信道接收機(jī),對接收機(jī)的設(shè)計(jì)、硬件平臺、解調(diào)算法做了詳細(xì)闡述,最終對工程實(shí)現(xiàn)產(chǎn)品進(jìn)行了性能測試,測試結(jié)果表明,該文設(shè)計(jì)的多信道接收機(jī)可以實(shí)時(shí)處理解調(diào)四個(gè)AIS 信道和兩個(gè)ASM 信道的信號,甚至能在一個(gè)時(shí)隙的時(shí)間內(nèi)完成對多時(shí)隙信號的處理,并且具有較高的靈敏度,AIS 在輸入信號幅度為-119 dBm 的情況下能達(dá)到90%的解調(diào)率,ASM 在輸入信號幅度為-116 dBm 的情況下能達(dá)到90%的解調(diào)率,具有實(shí)際應(yīng)用價(jià)值。