郭 京,朱曉峰,李雙明
(中國人民解放軍92941部隊第110所,遼寧 葫蘆島 125001)
基于FPGA的自適應解調(diào)器設計
郭 京,朱曉峰,李雙明
(中國人民解放軍92941部隊第110所,遼寧 葫蘆島 125001)
IRIG-B(AC)碼廣泛應用于航天測控系統(tǒng)的遠距離時間同步,由于在傳輸過程中信號易受干擾且存在路徑傳輸時延,因此采用IRIG-B(AC)碼實現(xiàn)時間同步其精度往往較差。為滿足遠距離高精度時間同步要求,針對IRIG-B(AC)碼同步誤差較大問題,提出一種基于FPGA的數(shù)字化解調(diào)方法。該方法采用全數(shù)字化軟件設計,具備相位自動判別功能,針對不同調(diào)制比和不同輸入幅值的IRIG-B(AC)碼,能夠?qū)崿F(xiàn)快速自適應解調(diào)譯碼。測試結(jié)果表明,該方法抗干擾能力強,工作穩(wěn)定可靠,使IRIG-B(AC)碼的時間同步精度得到極大提升,甚至優(yōu)于1 μs。
IRIG-B(AC);現(xiàn)場可編程門陣列;相位識別;時間同步
現(xiàn)代時間同步技術主要包括短波授時[1]、長波授時[2]、衛(wèi)星授時[3]、IRIG-B碼授時[4]、NTP授時[5]和PTP授時[6]等多種時間同步方法。短波授時由于信號不穩(wěn)定、易受干擾、信號衰落明顯、噪聲大,其應用受到較大限制;長波授時抗干擾性強、信號穩(wěn)定、傳輸距離遠,但授時精度較差[7];衛(wèi)星授時應用較為廣泛,主要包括GPS、北斗和GLONASS三個衛(wèi)星系統(tǒng),按照工作方式又可分為衛(wèi)星單向授時[8]、衛(wèi)星共視比對[9]和衛(wèi)星雙向比對授時[10]等;NTP授時主要應用于網(wǎng)絡時間同步,授時精度僅在ms級[11];PTP授時具備路徑時延修正功能,可實現(xiàn)亞μs級的時間同步精度[12];IRIG-B碼作為目前國際通用的一種標準時間同步碼型應用最為廣泛[13],特別在通信、電力、金融、控制、測量以及航天軍工等領域,其時間同步均采用IRIG-B碼授時技術為整個系統(tǒng)提供統(tǒng)一的時間基準。IRIG-B碼主要包括IRIG-B(DC)碼和IRIG-B(AC)碼2種(以下簡稱B(DC)碼和B(AC)碼)[14]。B(DC)碼同步精度高,可實現(xiàn)ns級的時間同步誤差[15],但傳輸距離短,適用于系統(tǒng)內(nèi)設備的時間同步;B(AC)碼同步精度相對較差,但可以通過時延補償?shù)姆绞竭M行修正,相比B(DC)碼,其優(yōu)勢在于更適合遠距離信號傳輸。在現(xiàn)代靶場中,由于各參試站點比較分散,為實現(xiàn)總站和各分站之間的時間同步,主要采用B(AC)碼實現(xiàn)整個系統(tǒng)的時間同步。文獻[14,16]采用模擬方法從B(AC)信號中提取1 pps信號,其解調(diào)器同步精度能達到10 μs,但不支持相位自適應功能。本文采用數(shù)字化解調(diào)方法實現(xiàn)B(AC)碼的時間同步,利用雙極性解調(diào)法完成正弦波信號的極性自動識別,并通過相位補償和誤碼修正技術提高B(AC)碼的時間同步精度和工作可靠性。
IRIG-B碼包含100個碼元,每個碼元的寬度均為10 ms。B(DC)碼采用BCD編碼表示秒、分、時、天和年等時間信息,每個脈沖的前沿為碼元的準時點。時間編碼采用脈寬調(diào)制進行編碼,位置標示位P0、P1…P9以及基準碼元Pr均為脈寬8 ms的碼元,脈寬為2 ms的碼元表示二進制數(shù)“0”,脈寬為5 ms的碼元表示二進制數(shù)“1”[17]。B(AC)碼則是對B(DC)碼進行1 kHz載波調(diào)制后的交流碼信號,低幅值正弦信號表示低電平,高幅值正弦信號表示高電平。B(DC)碼的每個碼元和B(AC)碼的對應關系如圖1所示。
圖1 B(AC)碼調(diào)制信號
B(AC)碼雖然常用于遠距離傳輸,但經(jīng)過長距離的信道傳輸后,其信號幅度經(jīng)常受到削弱,且可能引入較大的環(huán)境噪聲,甚至會發(fā)生信號畸變,產(chǎn)生誤碼。傳統(tǒng)的B(AC)碼解調(diào)解碼設備,自適應能力比較差,鎖定性能差對信號幅度和信噪比要求較高,難以提供高可靠和高精度的基準時間信息。此外,現(xiàn)代靶場為實現(xiàn)快速機動性,配置了很多移動車載站,設備更換新站點后需要重新連接總站提供的B(AC)碼信號,可能會出現(xiàn)B(AC)碼輸入接反的情況,造成輸入信號相位反向180°,雖然時碼終端設備仍然可以正常解碼,但時間同步誤差會達到500 μs以上,導致系統(tǒng)同步時間精度變差,因此對時間統(tǒng)一系統(tǒng)提出了B(AC)碼解調(diào)器需具備相位識別功能[17]。
2.1 總體設計
系統(tǒng)由隔離變壓器、低通濾波器、AD轉(zhuǎn)換器、FPGA、DA轉(zhuǎn)換器、運放、光電耦合器和接口電路等組成,如圖2所示。B(AC)碼通過隔離變壓器和低通濾波器完成輸入信號的隔離和濾波,利用AD轉(zhuǎn)換器實現(xiàn)模擬量信號采集,再由FPGA進行采集數(shù)據(jù)的處理,實現(xiàn)B(AC)碼的解調(diào)譯碼,從中提取出精確時間信息,生成1 PPS、B(DC)及其他基準時間信號,再通過輸出光耦隔離以及接口電路輸出B(DC)碼。調(diào)制器能夠利用DA轉(zhuǎn)換器將生成的PWM信號調(diào)制成1 kHz交流信號,并根據(jù)高、低電平控制輸出正弦信號的幅值高低,從而獲得調(diào)制比為10∶3的B(AC)碼信號輸出。
圖2 系統(tǒng)組成結(jié)構(gòu)
由于B(AC)碼在遠距離傳輸過程中容易受到干擾,經(jīng)常會發(fā)生波形畸變,如何消除引入的信號干擾、解決波形畸變帶來的解調(diào)誤碼問題是系統(tǒng)設計的關鍵。同時還需要具備信號消抖技術,準確提取穩(wěn)定的1 PPS秒信息,實現(xiàn)B(AC)碼相位自動識別和相位補償功能,能夠滿足正向和反向B(AC)碼均可自適應解調(diào)譯碼。從如圖2中也可看出,系統(tǒng)設計的主要功能均需在FPGA軟件實現(xiàn)。
2.2 FPGA軟件設計
FPGA軟件設計是解調(diào)器的核心設計部分,采用了Verilog HDL語言實現(xiàn)軟件編程,主要包括:解調(diào)器、譯碼器、誤碼判別、時延修正、鎖定判決和時間信號發(fā)生器等功能模塊。
解調(diào)器主要功能是將B(AC)碼轉(zhuǎn)化為B(DC)碼,包含過零檢測、邏輯判決、相位識別和相位補償?shù)?個子模塊,如圖3所示。采集到的B(AC)碼信息送入FPGA后,一路通過正向過零檢測器,另一路通過反向過零檢測器,在每個正弦周期內(nèi)均可提取出一個正向過零點和一個反向過零點,信號過零點包含了關鍵的秒信號起始時刻點等基準時間信息。過零點信息結(jié)合邏輯判決器即可將B(AC)碼解調(diào),轉(zhuǎn)變?yōu)锽(DC)碼。
圖3 解調(diào)器工作原理
(1)
采用雙極性判別法實現(xiàn)對正向和反向輸入B(AC)碼的自動識別,通過相位識別器自動完成極性判別并解調(diào)出正確的B(DC)碼,如圖4所示。
圖4 雙極性解調(diào)示意
從正向解調(diào)和反向解調(diào)的波形圖可以看出,相位超前半個正弦周期的信號為正確的B(DC)碼。由于低通濾波器、AD轉(zhuǎn)換器以及FPGA軟件處理模塊會導致輸入B(AC)碼的相位延遲,因此需要利用相位補償器進行時延補償。譯碼器從解調(diào)的B(DC)碼提取出年、天、時、分、秒以及1 PPS等時間信息。
B(AC)碼信號在傳輸過程中會因波形出現(xiàn)畸變導致解調(diào)誤碼產(chǎn)生,因此需要對接收的信號進行誤碼判別,將前一幀接收到的時間加1 s后和當前幀接收的時間進行比較,如果相等則認為當前幀正確,否則判斷該幀為誤碼。如發(fā)現(xiàn)誤碼,則判定信號失鎖;如連續(xù)3幀時間正確,則可判斷信號鎖定,同時將當前時間加1 s作為譯碼器下一秒輸出的時間信息。時延修正用于對B(AC)碼遠距離傳輸所產(chǎn)生的路徑時延進行補償。時統(tǒng)產(chǎn)生器則將得到的BCD時間碼生成各種基準時間信息輸出,并在外輸入信號斷開或失鎖時,能夠自動進入守時工作狀態(tài)。時統(tǒng)產(chǎn)生器主要由外時統(tǒng)、內(nèi)時統(tǒng)、時間選擇器以及基準時間信號產(chǎn)生器組成。當處于鎖定狀態(tài)時,時統(tǒng)產(chǎn)生器以外時統(tǒng)作為時間源;當失鎖時,時統(tǒng)產(chǎn)生器以內(nèi)時統(tǒng)作為時間源;失鎖時,內(nèi)時統(tǒng)會以外時統(tǒng)最后一次有效時間作為起始時間,每秒自動進行加1 s處理,確保輸出時間信號的連續(xù)性和準確性。系統(tǒng)軟件流程圖如圖5所示。
圖5 軟件流程
常溫25 ℃、濕度42%、傳輸線纜長度2 m的情況下,經(jīng)過測試,正向和反向B(AC)碼均能正確解碼,時間同步精度優(yōu)于1 μs,B(AC)碼同步精度測試結(jié)果如表1所示。
表1 B(AC)碼同步精度
從表1中可以看出,正向B(AC)碼和反向B(AC)碼的時間同步精度有差異,這主要是由于信號的零點漂移導致正向過零點和反向過零點采樣誤差造成。此外,低幅值信號的時間同步精度較差,則是因為小信號達到過零點判決門限需要的時間更長,致使實際提取的過零點信號相對于大幅值信號提取的過零點相位偏移較大,從而導致時間同步精度變差,如圖6所示。
圖6 正弦信號過零點提取
該方法具備相位自動判別功能,能夠自適應正向和反向的B(AC)碼信號,解調(diào)精度可實現(xiàn)小于1 μs,相比文獻[5-6]的B(AC)同步指標提高了10倍,遠優(yōu)于國內(nèi)同類產(chǎn)品。相比采用比較器法提取過零點和全波整形實現(xiàn)相位自適應的模擬處理方法,本文方法更靈活、方便,可靠性更高,而且減少了硬件設計復雜度,降低了成本。
本文提出的基于FPGA的數(shù)字化B(AC)碼解調(diào)設計能夠?qū)崿F(xiàn)精確時間同步,其技術指標已處于國內(nèi)領先水平,可極大地提高航天測控系統(tǒng)的時間同步精度。實際應用結(jié)果表明,設備工作穩(wěn)定可靠、抗干擾能力強,對于遠距離傳輸且具有波形畸變的B(AC)碼能夠正確解碼。系統(tǒng)中采用的AD轉(zhuǎn)換器為ADS805E[16],采樣速率僅有5 MHz,且并未調(diào)整輸入信號的零點漂移,后續(xù)研究可在以上兩方面進行改進,能夠進一步提高B(AC)碼同步精度。
[1] 蒙智謀.BPM短波時碼授時發(fā)播技術方案[J].時間頻率學報,2014,37(3):145-150.
[2] 魏孝鋒,車愛霞,喬建武,等.光纖傳輸高精度時頻信號在長波授時中的應用[J].時間頻率學報,2015,38(2):95-100.
[3] 龔小維.基于北斗二號/GPS授時的靶場時間統(tǒng)一系統(tǒng)設計[D].南京:南京理工大學,2013.
[4] 李群續(xù),張滬玲,李冠宇.岸船衛(wèi)星雙向?qū)r應用系統(tǒng)IRIG-B碼設計[J].無線電工程,2010,40(2):42-43.
[5] 毛瀛洲.NTP網(wǎng)絡授時系統(tǒng)設計與實現(xiàn)[D].濟南:山東大學,2008.
[6] IEEE1588-2008.IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems[S].
[7] 李瑞敏.長波授時附加二次相位因子ASF時延修正的研究[D].西安:中國科學院國家授時中心,2012.
[8] 張立新,楊文強.單項衛(wèi)星授時體制及精度分析[J].空間電子技術,2001(3):1-3.
[9] 趙當麗,胡水軍,翟慧生,等.基于衛(wèi)星共視技術的電網(wǎng)時間同步[J].電力科學與技術學報,2011,26(3):20-24.
[10] 孟凡芹.基于星地雙向時間比對的衛(wèi)星鐘差確定方法[D].西安:中國科學院國家授時中心,2013.
[11] 黃沛芳.基于NTP的高精度時間同步系統(tǒng)實現(xiàn)[J].電子技術應用,2009,35(7):122-127.
[12] 李洪亮.基于PTP協(xié)議的高精度網(wǎng)絡時間同步系統(tǒng)的設計與實現(xiàn)[D].天津:天津大學,2012.
[13] 童寶潤.時間統(tǒng)一系統(tǒng)[M].北京:國防工業(yè)出版社,2004.
[14] 陳 濤,曹永剛.IRIG-B碼數(shù)字解調(diào)技術[J].光學精密工程,1999,7(2):73-75.
[15] 林習良,唐曉春.基于SDH的IRIG-B(DC)碼時間信號傳輸方案設計[J].無線電工程,2005,35(6):32-34.
[16] 佟 剛,崔 明,曹永剛,等.MSP430F149在IRIG-B碼解碼中的應用[J].計算機測量與控制,2007,15(11):1 597-1 598.
[17] GJB2991A-2008.B時間碼接口終端通用規(guī)范[S].
Design of Adaptive Demodulator for IRIG-B(AC)Code Based on FPGA
GUO Jing,ZHU Xiao-feng,LI Shuang-ming
(The110thInstituteofUnit92941,PLA,HuludaoLiaoning125001,China)
IRIG-B(AC)code is widely used in aerospace measurement and control systems for long-distance time synchronization.However,due to the signal interference and transmission delay during the process of transmission,the accuracy of time synchronization realized by IRIG-B(AC)code is quite low.In order to meet the requirement for long-distance high accuracy time synchronization,and considering the synchronization error of IRIG-B(AC)code,a novel digital demodulation method based on FPGA software is proposed.This method adopts an all-digital software design with an automatic phase discrimination function.According to the different modulation ratios and input amplitudes of IRIG-B(AC)codes,the method can realize fast adaptive demodulation and decoding.The test results show that this method has a strong anti-interference capability and operates stably and reliably.With the function of this method,the time synchronization accuracy of IRIG-B(AC)code is greatly improved,even better than 1 μs.
IRIG-B(AC);FPGA;phase identification;time synchronization
2017-02-28
10.3969/j.issn.1003-3106.2017.06.19
郭 京,朱曉峰,李雙明.基于FPGA的自適應解調(diào)器設計[J].無線電工程,2017,47(6):79-82.[GUO Jing,ZHU Xiaofeng,LI Shuangming.Design of Adaptive Demodulator for IRIG-B(AC)Code Based on FPGA[J].Radio Engineering,2017,47(6):79-82.]
V249
A
1003-3106(2017)06-0079-04
郭 京 男,(1975—),碩士,高級工程師。主要研究方向:測控及水面靶標總體。
朱曉峰 男,(1981—),工程師。主要研究方向:測控及水面靶標總體。