胡鐵喬,劉丹陽,李陽波
(中國民航大學(xué)天津市智能信號與圖像處理重點實驗室,天津 300300)
基于FPGA 的改進ADS-B糾錯算法設(shè)計與實現(xiàn)
胡鐵喬,劉丹陽,李陽波
(中國民航大學(xué)天津市智能信號與圖像處理重點實驗室,天津 300300)
基于S模式數(shù)據(jù)鏈技術(shù)的廣播式自動相關(guān)監(jiān)視(ADS-B)系統(tǒng),憑借其建設(shè)成本低及其精度高的優(yōu)點而廣泛用于空中交通管制等領(lǐng)域。然而,ADS-B系統(tǒng)的廣播性和信號非加密特點,在高A/C應(yīng)答異步干擾(FRUIT)交疊的情況下,使得信號在接收端被接收時極易產(chǎn)生誤碼。針對這一問題,結(jié)合FPGA的并行運算特性與資源配置情況,在循環(huán)冗余編碼(CRC)校驗和置信度判定的基礎(chǔ)上,提出了一種基于FPGA的改進ADS-B糾錯算法。給出了該改進算法的設(shè)計方案,并通過FPGA平臺進行了大量實采信號的測試驗證。經(jīng)多次測試的結(jié)果表明:在不影響糾錯性能的條件下,該改進算法可節(jié)省硬件開銷,提升信號處理速度,保證了信號傳輸?shù)目煽啃浴?/p>
ADS-B系統(tǒng);CRC校驗;比特置信度;糾錯;FPGA
廣播式自動相關(guān)監(jiān)視(ADS-B)是一種基于衛(wèi)星導(dǎo)航系統(tǒng)和空-空、地-空、地-地數(shù)據(jù)鏈通信的航空器運行監(jiān)視技術(shù),屬于國際民用航空組織(ICAO,international civilaviation organization)定義的新航行系統(tǒng)(CNS/ATM,communications,navigation,surveillance/air traffic management)范疇。機載設(shè)備通過周期性廣播ADS-B信號,實時地、自發(fā)地播報飛機的高度、經(jīng)緯度、速度、呼號等精準(zhǔn)信息。ADS-B是一種可彌補傳統(tǒng)二次雷達所存在的監(jiān)視盲區(qū)、價格相對低廉且監(jiān)視能力較強的新技術(shù)。近年來,許多國家先后發(fā)布相關(guān)政策,大力推行ADS-B技術(shù)的相關(guān)應(yīng)用。
基于S模式的ADS-B廣播信號的發(fā)射頻率為1 090MHz,與二次監(jiān)視雷達下行信號的發(fā)射頻率相同。因此,在高A/C廣播異步干擾(FRUIT,false replies unsynchronized to interrogator transmission)交疊的情況下,信道占用率較高,極易導(dǎo)致ADS-B接收設(shè)備產(chǎn)生誤碼問題,從而有必要對ADS-B信號的誤碼進行檢錯糾錯處理。常用的ADS-B廣播信號糾錯方法有以下3種:“Conservative”糾錯技術(shù)[1]是一種基于滑窗技術(shù)的應(yīng)用,但只可糾正在大小為24 bits窗內(nèi)的錯誤位;“WholeMessage”技術(shù)[1]是將整個A/C廣播FRUIT干擾對數(shù)據(jù)位及置信度的影響進行建模,可糾正多達5個不重疊FRUIT交疊環(huán)境下的錯誤,但處理方式較為復(fù)雜,且應(yīng)用條件限制較多;“Brute Force”技術(shù)[1-3]是最為常用的ADS-B廣播信號糾錯技術(shù),可糾正隨機分布不超過d-1(d位CRC碼的漢明距離)比特的錯誤圖樣,較之前兩種方法操作性更強。
文獻[2-4]均采用“Brute Force”糾錯算法,算法靈活度較高,不足之處在于:①算法中的循環(huán)在FPGA中實現(xiàn)較為復(fù)雜;②該算法以串行數(shù)據(jù)處理的方式先進行CRC檢錯再進行糾錯,糾錯時涉及的對應(yīng)取反操作將在FPGA實現(xiàn)過程中占用大量的查找表資源。文獻[5]采用“Conservative”與“Brute Force”結(jié)合的糾錯算法,可糾正大于5位比特的錯誤,提升了系統(tǒng)的糾錯能力,但在FPGA中的實現(xiàn)復(fù)雜度也相應(yīng)提升。本文提出的改進糾錯方法省略了“Brute Force”糾錯技術(shù)中的多個環(huán)節(jié),優(yōu)化了數(shù)據(jù)處理流程,硬件平臺測試結(jié)果表明,在不影響糾錯性能的條件下,本方法具有較強的可行性和準(zhǔn)確性。
基于S模式的ADS-B廣播信號采用脈沖位置調(diào)制(PPM,pulse position modulation),信號的總長為120 μs,其中包含8μs的報頭及112μs的數(shù)據(jù)位,如圖1所示。
圖1 ADS-B廣播信號波形圖Fig.1 W aveform of ADS-B signal
ADS-B廣播信號的處理主要針對兩方面:報頭檢測、信號解調(diào)、糾錯檢錯和報文消息解碼。
如圖2所示,信號經(jīng)A/D模塊轉(zhuǎn)換為數(shù)字基帶信號后,首先要進行的是信號的報頭檢測,以此來確定接收到正確的ADS-B信號。之后求取信號的參考功率,為后續(xù)報文解調(diào)及置信度的提取環(huán)節(jié)提供一個重要的數(shù)值參考依據(jù)。112位的數(shù)據(jù)位及相應(yīng)的置信度計算提取完成后,將進行ADS-B信號的糾錯及檢錯環(huán)節(jié)。消息域的88位數(shù)據(jù)完成糾錯后,將進行報文的相關(guān)位置、速度等信息的解碼。
圖2 ADS-B廣播信號處理流程圖Fig.2 Flow chart of ADS-B signal processing
糾錯的關(guān)鍵是準(zhǔn)確對誤碼定位。而實際的干擾可能對報文信息的任意一段造成影響,要準(zhǔn)確定位干擾出現(xiàn)的位置,除使用信息碼和校驗碼外,還需碼元“置信度”的配合。根據(jù)DO-260B標(biāo)準(zhǔn),可采用基線多采樣點技術(shù)[1]來確定每一位高低置信度,該技術(shù)可以在最大程度上降低強干擾脈沖對ADS-B消息信號的影響[5]。其中,高置信度表明該位在發(fā)生錯誤時可能性較低,低置信度表明該位在發(fā)生錯誤時可能性較高。ADS-B廣播信號采用的糾錯算法是建立在置信度已知的基礎(chǔ)上,即假若發(fā)生錯誤,默認錯誤只可能發(fā)生在低置信度位上而不考慮高置信度位。
對于ADS-B廣播信號數(shù)據(jù)域中的任何一位,都以0.5μs的間隔分為前后兩個碼片,記為Chip_0、Chip_1。位判決及置信度提取過程[1]如下:
1)建立一個功率窗A及確定一條最低功率門限B,A窗的功率范圍為報頭參考功率的±3 dB,最低功率門限B為低于報頭參考功率6 dB。當(dāng)兩個碼片中的采樣點分別落于A窗內(nèi)時,認為其與報頭相匹配,分別記為Chip_0_A、Chip_1_A,如圖3中第1、3比特所示;當(dāng)采樣點功率低于門限B時,認為其缺少傳輸能量,分別記為Chip_0_B、Chip_1_B,如圖3中第2、4比特所示。
2)計算每個碼片中的采樣點落在以上兩類中的數(shù)目并根據(jù)采樣點在碼片中的相對位置給予不同的權(quán)重。居于碼片中間位置的采樣點給予較高的權(quán)重2,如圖3中第1比特中的S1、S3區(qū)間所示,而居于碼片邊緣的采樣點則給予較低的權(quán)重1,如圖3中第1比特中的S0、S2、S4區(qū)間所示,這樣就可以得到4個表征權(quán)重累加值的參數(shù),假設(shè)圖 3中的 S0、S1、S2、S3、S4中分別有 4、12、3、12、2 個采樣點,則 4 個參數(shù)值分別為
3)使用兩個等式來計算兩個碼片的分?jǐn)?shù)Score1、Score0,以此來確定該位與0或1的匹配程度,即
根據(jù)式(5)和式(6),可知圖 3的 Score1、Score0分別為
4)Score1>Score0時判定該位為1,反之,該位為0。兩個分?jǐn)?shù)之間的差值若大于等于12(采樣頻率為40MHz),該位判定為高置信度;反之則為低置信度。如圖3中第1比特所示,由于該位的Score1>Score0,故該位為1;由于,故為低置信度。
圖3 高低置信度在不同比特的表現(xiàn)形式Fig.3 Confidence manifestations in different bits
循環(huán)冗余校驗(CRC)是一種較為常用的檢錯方法,其利用除法及余數(shù)的原理來進行錯誤偵測。
基于S模式的ADS-B廣播信號采用CRC編碼方式,信號由數(shù)據(jù)位(88位)和校驗位(24位)組成。基于S模式的ADS-B廣播信號采用改進的(112,88)CRC編碼,其生成多項式G(X)如下
其硬件實現(xiàn)框圖如圖4所示。
圖4 串行CRC24檢驗電路硬件實現(xiàn)圖Fig.4 Hard ware of serial CRC24 testing circuit
圖4中的D為寄存器,⊕為異或運算。接收系統(tǒng)在對信號進行位解碼及置信度完成后,將通過上述CRC電路進行檢錯,若檢錯結(jié)果不為0,那么將用相應(yīng)的糾錯方法對錯誤比特位進行糾正。
ADS-B信號實際采用的CRC校驗碼,由于其漢明距離為6,也就是說最多只能糾正5位隨機分布的低置信度比特的錯誤[6]。最多5位錯誤比特位的糾錯組合只有32種,結(jié)合“Brute Force”糾錯算法,考慮到FPGA的并行運算特性與資源配置情況,可在同時進行全部32種情況的糾錯下而不占用過多的資源,因此提出了一種基于FPGA的改進“Brute Force”糾錯方法。具體實現(xiàn)方法如下:
當(dāng)依次進入CRC校驗電路的112位數(shù)據(jù)位在低置信度位總數(shù)小于6的情況下,將這32種組合依次編號,每條路徑都對應(yīng)有規(guī)律的低置信度比特翻轉(zhuǎn)及自身的CRC校驗。32種組合的糾錯路徑樹狀圖如圖5所示,其中路徑下方的“x”表示將當(dāng)前進入的低置信度比特位取反后送入CRC校驗,“~x”表示保持當(dāng)前進入的低置信度比特位不變,未列出的路徑狀況默認為保持當(dāng)前進入的比特位不變,糾錯正確時,該條路徑的CRC檢錯結(jié)果為0。圖5虛線標(biāo)記的路徑表示當(dāng)112位數(shù)據(jù)中含有5位低置信度且其中的第2、3、5位發(fā)生比特錯誤時的糾錯過程。
圖5 糾錯路徑樹狀圖Fig.5 Tree diagram of correction paths
當(dāng)112位全部進入CRC校驗電路后,將得到32組不同的錯誤圖樣。在滿足低置信度位總數(shù)小于6的情況下,32組通路中必定至少有一組結(jié)果為0,結(jié)果為0的這一組數(shù)據(jù)即為待解碼的正確數(shù)據(jù)。
常用的“Brute Force”糾錯算法只能在112位數(shù)據(jù)位解調(diào)完成,且已知112位單位矯正子及CRC檢錯結(jié)果的情況下才可對相應(yīng)低置信度位進行糾錯。與常用的“Brute Force”糾錯算法相比,本方法可在接收數(shù)據(jù)的同時進行并行的CRC檢錯與糾錯,省略了生成112位單位矯正子和求取錯誤圖樣后對低置信度矯正子進行異或匹配組合的步驟,節(jié)省了信號的處理時間。
使用“Brute Force”糾錯方法在FPGA中的實現(xiàn)過程為:在解調(diào)完的88位數(shù)據(jù)(不含校驗位)放入寄存器中后,將低置信度位的索引也記入對應(yīng)存儲器中。在低置信度位數(shù)小于6的情況下,完成32路并行CRC校驗后(該算法在FPGA的實現(xiàn)過程中,對算法進行了部分調(diào)整,由于FPGA本身無法完成反饋環(huán)節(jié),故將此環(huán)節(jié)變成了單向的信號流動),根據(jù)CRC結(jié)果為0的那一路結(jié)合低置信度索引存儲器將對應(yīng)位置的錯誤比特取反,最終輸出正確結(jié)果。這種方法占用的寄存器較少,但由于使用大量的邏輯判斷,占用的查找表資源比較多,且執(zhí)行時間較長。
在現(xiàn)有的FPGA中,未改進前的方法中使用較多的查找表資源為通用資源,為更好地將FPGA中的資源利用起來,改進的方法在FPGA的實現(xiàn)過程中,將使用作為專用資源的塊RAM來替代大量的查找表資源完成相應(yīng)的功能。考慮到FPGA的并行數(shù)據(jù)處理特性及資源配置情況,本方法以Xilinx公司Virtex5-FPGA為實驗平臺,在FPGA的內(nèi)部集成資源——簡單雙口存儲器(Simple Dual Port RAM,dpram)中開辟出兩組大小分別為88×32 bits及8×11 bits的空間來緩存數(shù)據(jù),以此來省略大量的邏輯判斷語句。
在完成 112位的 CRC校驗后,88×32 bits的dpram(對應(yīng)圖6中的糾錯碼存儲器)中存放了32組待選擇輸出的88位糾錯碼數(shù)據(jù)。將錯誤圖樣為0的一組數(shù)據(jù)選出,并從大小為8×11 bits的dpram(對應(yīng)圖6中的待發(fā)送存儲器)中以字節(jié)的形式輸出至串口,進而完成最終的報文解碼環(huán)節(jié)。圖6為改進的糾錯算法在FPGA中的硬件實現(xiàn)框圖。
兩種方法在FPGA實現(xiàn)中的本質(zhì)區(qū)別為:改進前的方法只記錄一組88 bits的數(shù)據(jù),最終在32組CRC校驗結(jié)果中選出為0的一組,并跟據(jù)CRC結(jié)果進行對應(yīng)低置信度索引位置的取反。而改進后的方法,將在塊RAM中同時保存32組88 bits的數(shù)據(jù)并同時進行CRC校驗,最終直接將CRC校驗結(jié)果為0的一組數(shù)據(jù)輸出。
圖6 改進糾錯算法的硬件實現(xiàn)框圖Fig.6 Hardware design flow chart of imp roved algorithm
由表1可知,與使用常規(guī)的“Brute Force”糾錯算法相比,由于未改進前的方法使用了大量的組合邏輯,所以導(dǎo)致占用了較多的查找表資源。改進后的方法由于降低了原有糾錯算法中不必要的邏輯判斷和運算,以增加2個RAM的代價,令查找表已使用數(shù)目大幅降低,減少了FPGA的硬件開銷,邏輯資源占用情況得到了明顯優(yōu)化。
表1 改進前后硬件資源占用對比圖Tab.1 Resource consumption contrast before and after improvement
在完成算法設(shè)計后,為驗證此改進算法的合理性與可行性,本文首先使用Verilog HDL語言描述改進糾錯算法,然后聯(lián)合Xilinx的ISE軟件將改進的“Brute Force”糾錯算法在Xilinx的Virtex5-FPGA中實現(xiàn),并在Chip Scope Pro Analyzer中分析實驗結(jié)果。
經(jīng)多次實驗驗證,選取其中一組測試信號進行詳細說明。測試使用的原始數(shù)據(jù)為來自天津濱海國際機場附近的實采信號,接收頻率為1 090MHz,采樣頻率為40MHz。選取其中的一條信號,在進行完幀頭檢測、信號解調(diào)等處理后,截取信號的局部進行顯示。如圖7所示,112位數(shù)據(jù)依次進入并行的32路糾錯電路,第8路即crc_reg1_8的糾錯位數(shù)為0,為常規(guī)檢錯電路,crc_reg1_8的結(jié)果(如圖7中數(shù)字標(biāo)記1處所示)為0表明該條消息為正確消息,無需進行糾錯環(huán)節(jié)。
圖7 原始信號功能測試驗證圖(無誤碼,無需糾錯)Fig.7 Diagram of raw signal function validation test
由于實際接收到的ADS-B廣播數(shù)據(jù)中,誤碼信號所占比例較小,所以,采用模擬產(chǎn)生誤碼的方式(即使用計數(shù)器人為的將某些碼元的比特或位置信度改變)進行糾錯驗證。具體方法如下:原始信號中的前5位比特(如圖8中數(shù)字標(biāo)記2處所示)為10001(低…高),將圖 8 中的第 2、3、5 位取反后變?yōu)?1100,且令前5位都為低置信度位,在只展示信號關(guān)鍵部分的情況下從圖9中可看到,糾錯模塊輸入了有效的112位比特信號(DemodBit2,左側(cè)為低位),且這112位信號中低置信度比特位個數(shù)crc_cnt值為5,為方便觀察,位置信度的高低也在bit_confi中進行了相應(yīng)的顯示(如圖9中數(shù)字標(biāo)記3處所示)。
根據(jù)圖5虛線標(biāo)記的路徑可知,當(dāng)前錯誤比特位第2、3、5位假若得到正確糾錯,crc_reg1_29在檢錯結(jié)果中應(yīng)為0。如圖10所示,有且只有crc_reg1_29的檢錯結(jié)果為0(如圖10中數(shù)字標(biāo)記4處所示)。經(jīng)過糾錯模塊后,比特位第2、3、5位均得到了正確的糾錯并在圖中的mes_out變量中進行了顯示(如圖10中數(shù)字標(biāo)記5處所示,左側(cè)為低位),糾錯完成后的結(jié)果與圖8中完全相同,算法功能實現(xiàn)。
圖8 原始信號功能測試驗證局部圖Fig.8 Partialdiagram of raw signal function validation test
圖9 比特、置信度調(diào)整后時序圖Fig.9 Sequencediagram of adjusted bits and confidences
圖10 實現(xiàn)糾錯功能的信號時序圖Fig.10 Sequence diagram of signal correction
本接收機在2017年2月20日于一天中不同時刻分別采樣,共采樣581 976條ADS-B消息,其中各條所含低置信度位數(shù)統(tǒng)計情況如表2所示。
表2 實采信號含低置信度條數(shù)統(tǒng)計結(jié)果Tab.2 Statistics of low confidence for ADS-B signals
由表2可知,接收到的大量ADS-B消息中,92%為無需糾錯信號。而在剩余的8%(含有低置信度位信號)中,其數(shù)量隨所含低置信度位數(shù)值的增加呈逐級遞減趨勢,這也基本符合誤碼分布的特點。其中,在低置信度位小于6的情況下,所有ADS-B消息均可以CRC校驗結(jié)果為0的形式輸出。
針對高A/C廣播FRUIT交疊下ADS-B廣播信號易產(chǎn)生誤碼的問題,提出了一種結(jié)合置信度的基于S模式的ADS-B廣播信號的改進糾錯方案,并在FPGA平臺上實現(xiàn)了該方案,通過測試實驗驗證了該方案的可行性。FPGA系統(tǒng)的測試結(jié)果表明,由于改進的糾錯算法降低了原有糾錯算法中不必要的邏輯判斷和運算,節(jié)省了硬件開銷,因此響應(yīng)速度得到極大提升。此算法能夠正確地檢測出ADS-B廣播信號在傳輸過程中出錯的比特位,并糾正其錯誤,有效保證了ADS-B廣播信號傳輸?shù)目煽啃?。另外,以上糾錯方法也可適用于使用結(jié)合置信度的CRC檢錯,且以任意生成多項式、任意位數(shù)據(jù)輸入的方式在FPGA中實現(xiàn),靈活度較高。
[1]DO-260B.Minimum Operational Performance Standards for 1090MHz Extended Squitter Automatic Dependent Surveillance-Broadcast(ADSB)and Traffic Information Services-Broadcast(TIS-B)[S].Washington DC:RTCA,2009.
[2]周建紅.ADS-B系統(tǒng)廣播的一種糾錯算法設(shè)計與實現(xiàn)[J].火控雷達技術(shù),2011,40(3):92-95.
[3]張 辰.ADS-B信號解碼板設(shè)計及報文處理[D].哈爾濱:哈爾濱工程大學(xué),2013.
[4]郭 燾,田 忠,張 超.ADS-B系統(tǒng)接收處理的關(guān)鍵算法研究[J].火控雷達技術(shù),2013,42(3):44-51.
[5]郭 燾.基于收發(fā)一體的S模式ADS-B系統(tǒng)的關(guān)鍵技術(shù)研究[D].西安:西安電子科技大學(xué),2013.
[6]劉曉斌.基于模式S的ADS-B接收機系統(tǒng)算法研究[D].成都:成都電子科技大學(xué),2011.
Design and implementation of improved correction algorithm for ADS-B based on FPGA
HU Tieqiao,LIU Danyang,LIYangbo
(Intelligent Signal and Image Processing Key Lab of Tianjin,CAUC,Tianjin 300300,China)
ADS-B(automatic dependent surveillance broadcast) system is based on Mode Sdata link,which is widely used in the field of air traffic management owing to its low cost and high precision.However,ADS-B is vulnerable to interference.The very severe overlapping Mode A/C False FRUIT (replies unsynchronized to interrogator transmission)environment leads to biterrors of ADS-B signal.In order to solve this problem,an improved signal correction method is presented combining with serial operation characteristics and resource allocation of FPGA,CRC (cyclic redundancy check)and bit confidence for ADS-B signal.This method is designed and tested by FPGA platform.ADS-B signal test results of FPGA platform show that this improved method needs less hard ware consumption and can improve signal processing speed without affecting the performance of error correction,ensuring the transmission reliability of ADS-B signal and making correction rate reaches100%.
ADS-B System;CRC checkout;bit confidence;correction;FPGA
胡鐵喬(1970—),男,河南洛陽人,副教授,工學(xué)碩士,研究方向為基于FPGA、DSP高速處理平臺的陣列信號處理系統(tǒng).
V249
A
1674-5590(2017)05-0006-06
2016-12-22;
2017-03-09
國家重點研發(fā)計劃(2016YFB0502402)
?
楊媛媛)