周建紅 劉曉斌 張 超
(電子科技大學(xué) 成都 611731)
我國民航傳統(tǒng)的空管系統(tǒng)主要是基于一次雷達(dá)系統(tǒng)和二次監(jiān)視雷達(dá)系統(tǒng)的雷達(dá)監(jiān)管系統(tǒng)。雷達(dá)系統(tǒng)造價(jià)昂貴,覆蓋面積有限,功能有限。而基于模式S的廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng)(ADS-B)是ICAO在新航行系統(tǒng)中所推薦的一種新興的航行監(jiān)視技術(shù),是空管監(jiān)視領(lǐng)域的一項(xiàng)革命性技術(shù)[1]。ADS-B系統(tǒng)不僅成功應(yīng)用于無雷達(dá)區(qū)域的遠(yuǎn)程航空器運(yùn)行監(jiān)視,而且與傳統(tǒng)雷達(dá)監(jiān)視技術(shù)相比,ADS-B技術(shù)具有使用成本低、精度誤差小、監(jiān)視能力強(qiáng)等明顯優(yōu)勢,對(duì)于高密度飛行區(qū)域的空中交通服務(wù)有著廣泛的應(yīng)用前景[2,3,4]。
由于模式S應(yīng)答信號(hào)由機(jī)載異頻收發(fā)機(jī)經(jīng)過脈沖位置編碼發(fā)送,在高A/C應(yīng)答fruit交疊的環(huán)境下,可能使模式S的ADS-B系統(tǒng)的應(yīng)答信號(hào)被地面處理器接收后,會(huì)產(chǎn)生一些錯(cuò)誤位,從而必須對(duì)ADS-B系統(tǒng)應(yīng)答信號(hào)的每個(gè)比特位進(jìn)行糾錯(cuò)處理。
ADS-B是一種基于全球定位系統(tǒng)(GNSS)和利用空-地、空-空數(shù)據(jù)鏈來完成交通監(jiān)視和信息傳遞的一種航行新技術(shù)系統(tǒng)。ADS-B使用機(jī)載導(dǎo)航系統(tǒng)得到飛機(jī)的精確位置和速度信息,利用機(jī)載電子設(shè)備向外周期性地廣播飛機(jī)的呼號(hào)、位置、速度和其它一些參數(shù)信息。通過空地?cái)?shù)據(jù)鏈,地面站接收這些信息并處理后,傳給管制中心,實(shí)現(xiàn)地空監(jiān)視;裝有ADS-B設(shè)備的飛機(jī)也可以通過機(jī)載電子設(shè)備接收附近ADS-B飛機(jī)的廣播信息,實(shí)現(xiàn)空空監(jiān)視。ADS-B系統(tǒng)工作原理如圖1所示。
圖1 ADS-B系統(tǒng)工作原理示意圖
如圖2所示:ADS-B系統(tǒng)基帶數(shù)字信號(hào)處理可分為FPGA處理部分和ARM處理部分。
圖2 ADS-B系統(tǒng)基帶數(shù)字信號(hào)處理流程圖
在基帶數(shù)字信號(hào)處理前,信號(hào)經(jīng)過A/D轉(zhuǎn)換器,把模擬信號(hào)轉(zhuǎn)化成數(shù)字信號(hào),便于在FPGA中處理。
FPGA處理流程為:首先是檢測ADS-B應(yīng)答信號(hào)幀頭,確定ADS-B信號(hào)的存在性,其次是ADS-B應(yīng)答信號(hào)位置信度的判定與提取,最后是檢測應(yīng)答信號(hào),如果檢測出有錯(cuò)誤的比特位,則糾正錯(cuò)誤的比特位。
ARM處理流程:由于ADS-B系統(tǒng)具有消息交換的功能,不僅要處理發(fā)送自身飛行的各種信息數(shù)據(jù),還要處理接收到的其它飛行器的ADS-B系統(tǒng)廣播的數(shù)據(jù),進(jìn)行信息融合處理,同時(shí)上傳到顯示設(shè)備或其他功能設(shè)備,實(shí)現(xiàn)防撞燈方面的安全處理。這些功能的實(shí)現(xiàn)就需要ARM來處理。
循環(huán)冗余編碼(CRC)是一種常用的冗余編碼,是在二進(jìn)制通信系統(tǒng)中常用的差錯(cuò)檢測方法,它是通過在原始數(shù)據(jù)后加冗余校驗(yàn)碼來檢測差錯(cuò),冗余位越多,檢驗(yàn)出傳輸錯(cuò)誤的機(jī)率越大。
CRC校驗(yàn)的基本思想是利用線性編碼理論。在發(fā)送端,根據(jù)要傳送的k位二進(jìn)制碼序列,以一定的規(guī)則產(chǎn)生一個(gè)校驗(yàn)用的r位監(jiān)督碼(即CRC碼),并附在信息位后面,構(gòu)成一個(gè)新的共n=k+r位的二進(jìn)制碼序列,最后發(fā)送出去。這種編碼又叫(n,k)碼。對(duì)于一個(gè)給定的(n,k)碼,可以證明存在一個(gè)最高次冪為r的多項(xiàng)式G(x)。根據(jù)G(x)可以生成k位信息的校驗(yàn)碼,而G(x)叫做這個(gè)CRC碼的生成多項(xiàng)式[5]。常見的生成多項(xiàng)式如表1所示。
校驗(yàn)碼生成過程為:發(fā)送方與接收方事先約定一個(gè)生成多項(xiàng)式G(x),該多項(xiàng)式作為除數(shù)多項(xiàng)式。假設(shè)發(fā)送信息用信息多項(xiàng)式P(x)表示,將P(x)左移r位得到M(x),這樣P(x)的右邊就會(huì)空出r位,這就是校驗(yàn)碼的位置。通過M(x)除以多項(xiàng)式G(x)得到的余數(shù)就是校驗(yàn)碼R(x)。R(x)可表示為:
其中mod表示模二求余運(yùn)算[6]。
假設(shè)發(fā)送方發(fā)送碼字為S(x),則有:
其中n和k分別是發(fā)送碼字和消息對(duì)應(yīng)的二進(jìn)制序列的比特?cái)?shù),即發(fā)送碼字S(x)由k位比特消息碼與后面跟著n-k位校驗(yàn)碼組成。在接收端,接收碼字S'(x)同樣被G(x)去除,得到R'(x):
檢查R'(x)是否為一個(gè)常數(shù)(通常為0),如果R'(x)為一個(gè)常數(shù),就認(rèn)為傳輸正確,否則就認(rèn)為傳輸中發(fā)生錯(cuò)誤。
表1 常見的生成多項(xiàng)式
基于模式S的ADS-B應(yīng)答信號(hào)采用CRC編碼方式,每一個(gè)ADS-B應(yīng)答信號(hào)(56位/112位),都由數(shù)據(jù)位(32位/88位)和校驗(yàn)碼(24位)組合生成?;谀J絊的ADS-B系統(tǒng)下行數(shù)據(jù)鏈采用一種改進(jìn)的(縮短的)使用下列生成多項(xiàng)式的(112,88)(即n=112,k=88)CRC 編碼。
ADS-B接收機(jī)系統(tǒng)在收到應(yīng)答信號(hào)后解出地址和校驗(yàn)位以判斷數(shù)據(jù)和地址是否被正確傳輸,如果發(fā)生錯(cuò)誤,然后采用一定的糾錯(cuò)技術(shù)對(duì)應(yīng)答信號(hào)進(jìn)行修正。
基于模式S的ADS-B系統(tǒng)下行數(shù)據(jù)鏈信號(hào)是脈沖位置調(diào)制的,即對(duì)于任一比特位,脈沖能量出現(xiàn)在前0.5μs區(qū)間內(nèi)表示為”1”,出現(xiàn)在后0.5μs區(qū)間內(nèi)表示為”0”。因此,我們可以通過比較ADS-B應(yīng)答信號(hào)任一比特位的前0.5μs區(qū)間內(nèi)信號(hào)強(qiáng)度是否大于它的第二個(gè)0.5μs區(qū)間內(nèi)信號(hào)強(qiáng)度,若大于則判為二進(jìn)制1,否則判為二進(jìn)制0。目前有多種方法可以實(shí)現(xiàn)這種判定,為了提高置信度判定的準(zhǔn)確性,這里采用基線多樣點(diǎn)算法[7]?;€多樣點(diǎn)算法充分利用了每個(gè)比特位的所有10個(gè)采樣值。最高的分?jǐn)?shù)決定比特位的值,如果相等則為比特”0”。如果差值大于等于3[7]則為高置信度,否則為低置信度。這樣我們就得到了應(yīng)答信號(hào)的碼字?jǐn)?shù)組和每個(gè)碼字對(duì)應(yīng)的置信度信息[8]。
由于模式S使用了飛機(jī)地址點(diǎn)名的詢問機(jī)制,要求信息在單次傳輸中有效地實(shí)現(xiàn),這就要求基于模式S的 ADS-B系統(tǒng)具有糾錯(cuò)功能。因此,在ADS-B系統(tǒng)中,完成前面的數(shù)據(jù)幀頭檢測、數(shù)據(jù)位置信度判定后,還需對(duì)應(yīng)答信號(hào)進(jìn)行有效的糾錯(cuò)。
目前常見的糾錯(cuò)技術(shù)[9]有三種:第一個(gè)是“Conservative”技術(shù),它是基于現(xiàn)有的滑動(dòng)窗技術(shù),只能對(duì)24比特窗內(nèi)里的比特位進(jìn)行糾錯(cuò),這個(gè)約束限制了它只能應(yīng)用于只有一個(gè)較強(qiáng)的A/C fruit與之交迭的情況。第二個(gè)是“Whole Message”技術(shù),它將整個(gè)A/C fruit對(duì)比特位和置信度判定的影響模型化;第三個(gè)是“Brute Force”技術(shù),它是針對(duì)隨機(jī)分布的不超過d-1(d為CRC碼的漢明距離)比特的錯(cuò)誤圖樣。
“Brute Force”技術(shù)糾錯(cuò)原理[7,9]:循環(huán)冗余校驗(yàn)碼的不同比特位發(fā)生錯(cuò)誤時(shí),應(yīng)該使余數(shù)不同,即每一個(gè)錯(cuò)誤位置對(duì)應(yīng)一個(gè)唯一的CRC校正子,并且對(duì)這些單個(gè)位校正子進(jìn)行組合(異或)以后,得到那個(gè)組合的錯(cuò)誤校正子。如果已經(jīng)正確地完成置信度判定,那么應(yīng)答信號(hào)所有可能的錯(cuò)誤應(yīng)該只出現(xiàn)在低置信度比特位上。于是嘗試結(jié)合所有低置信度比特位對(duì)應(yīng)的校正子,然后接收與錯(cuò)誤校正子匹配的那一個(gè)組合(假設(shè)只有一個(gè)成功匹配,如果有兩個(gè)或多個(gè)匹配,就丟棄該信號(hào)),最后把這個(gè)組合對(duì)應(yīng)的那些低置信度比特位取反即完成糾錯(cuò)。
基于處理時(shí)間和未檢錯(cuò)率考慮,“Brute Force”技術(shù)限定要處理的低置信度比特位數(shù)的最大值為d-1(d為CRC碼的漢明距離)。如果應(yīng)答信號(hào)里有n個(gè)低置信度比特位,則需要考慮的組合數(shù)為:
未檢錯(cuò)率與情況的數(shù)量成正比,即也按n的指數(shù)增長。
由于ADS-B應(yīng)答信號(hào)采用(112,88)CRC編碼,而(112,88)CRC碼的漢明距離是6,這意味著如果應(yīng)答信號(hào)錯(cuò)誤比特位個(gè)數(shù)小于或等于5,那么就沒有任何未檢測到的錯(cuò)誤。因此,本文在第三種技術(shù)的基礎(chǔ)上提出了一種基于循環(huán)冗余編碼(CRC)的糾錯(cuò)算法,其基本思想是:首先利用CRC進(jìn)行檢錯(cuò),如果檢出有錯(cuò),然后采用“Brute Force”技術(shù)嘗試所有低置信度比特位的單個(gè)位校正子的組合校驗(yàn)子(如果低置信度比特位個(gè)數(shù)超過5個(gè),則直接丟棄該應(yīng)答信號(hào)),把這些組合校驗(yàn)子與錯(cuò)誤校正子相比對(duì),相等時(shí),則將產(chǎn)生該組合校正子對(duì)應(yīng)的比特位取反即完成糾錯(cuò),最后輸出正確的ADS-B應(yīng)答信號(hào)?;诖?,糾錯(cuò)算法信號(hào)處理流程如圖3所示。
圖3 糾錯(cuò)算法信號(hào)處理流程圖
基于循環(huán)冗余編碼(CRC)對(duì)ADS-B系統(tǒng)應(yīng)答信號(hào)進(jìn)行糾錯(cuò)處理。將112位或56位ADS-B應(yīng)答信號(hào)經(jīng)過某特定的生成多項(xiàng)式G(x),得到錯(cuò)誤校正子R。當(dāng)R為零時(shí),表明應(yīng)答信號(hào)正確,直接接收信號(hào);當(dāng)R不為零時(shí),表明應(yīng)答信號(hào)有錯(cuò)誤,進(jìn)而進(jìn)行糾錯(cuò)處理。其FPGA邏輯設(shè)計(jì)方案如圖4所示,各個(gè)模塊的名稱及功能如表2所示。
圖4 糾錯(cuò)算法FPGA邏輯設(shè)計(jì)方案框圖
表2 模塊列表
在完成算法設(shè)計(jì)后,為了驗(yàn)證方案的合理性,本文首先采用Verilog HDL語言描述糾錯(cuò)算法,然后聯(lián)合Xilinx公司的ISE軟件與Mentor公司的Modelsim軟件對(duì)其進(jìn)行了電路功能仿真實(shí)驗(yàn)。糾錯(cuò)算法的功能仿真結(jié)果如圖5所示。仿真中只保留了關(guān)鍵信號(hào),從圖5中可知,糾錯(cuò)模塊輸入了有效的112位比特位信號(hào)(信號(hào)signal),且這112位中有4個(gè)比特位的置信度為低置信度(信號(hào)signal-con有4個(gè)低電平,當(dāng)signal-con為低電平時(shí),相應(yīng)的比特位的置信度為低置信度,當(dāng)signal-con為高電平時(shí),相應(yīng)比特位的置信度為高置信度)。經(jīng)過糾錯(cuò)模塊處理后,低置信度位對(duì)應(yīng)的比特位都被取反,輸出正確的112位比特位(信號(hào)right-code)。舉例說明:經(jīng)過前面的置信度提取模塊處理后輸出的比特位(圖中數(shù)字標(biāo)記1旁)為低置信度的比特位‘1’,但是經(jīng)過糾錯(cuò)模塊后(標(biāo)記3旁的長方形)輸出比特位‘0’。同理,數(shù)字標(biāo)記2中的低置信度的比特位,經(jīng)過糾錯(cuò)模塊后同樣被取反(圖中數(shù)字標(biāo)記4中對(duì)應(yīng)的比特位),因此表明上述算法能夠?qū)崿F(xiàn)對(duì)ADS-B應(yīng)答信號(hào)的糾錯(cuò)功能。圖6為用ISE軟件綜合得到的算法整體設(shè)計(jì)的RTL級(jí)電路。
圖5 糾錯(cuò)算法功能仿真圖
圖6 整體設(shè)計(jì)的RTL電路圖
本文討論了基于模式S的ADS-B系統(tǒng)基帶數(shù)字信號(hào)處理中的糾錯(cuò)算法,并給出了實(shí)現(xiàn)該算法的電路方案。然后采用Verilog HDL語言完成了算法設(shè)計(jì),通過電路仿真實(shí)驗(yàn)驗(yàn)證了該算法的可行性。實(shí)驗(yàn)結(jié)果表明此算法能夠正確地檢測出ADS-B應(yīng)答信號(hào)在傳輸過程中出錯(cuò)的比特位,并糾正其錯(cuò)誤,有效地保證了ADS-B應(yīng)答信號(hào)傳輸?shù)目煽啃浴?/p>
[1]顧春平.空中交通管制監(jiān)視新技術(shù)簡介[J].現(xiàn)代雷達(dá),2010(9):1-5.
[2]呂小平.空中交通管理文集[M].北京:航天工業(yè)出版社,2009.
[3]張軍.現(xiàn)代空中交通管理[M].北京:北京航空航天大學(xué)出版社,2005.
[4]張?zhí)炱?ADS-B技術(shù)及其在空管中的發(fā)展與應(yīng)用[J].電子產(chǎn)品世界,2009(6):34-35.
[5]云創(chuàng)工作室.Verilog HDL程序設(shè)計(jì)與實(shí)踐[M].北京:人民郵電出版社,2009.
[6]CHEN Shi-yi.Error Correcting Cyclic Redundancy Checks Based on Confidence Declaration[C].International Conference on ITS Telecommunication Proceedings.2006:511-512.
[7]ADS-B 1090 MOPS,Revision A,Appendix I Extended Squitter Enhanced Reception Techniques[S].RTAC,2003.
[8]Michael C.Stevens.Secondary Surveillance Radar[M].Artech House Boston and London,1998.
[9]DO-260A.Minimum Operational Performance Standards for 1090 MHz Extended Squitter Automatic Dependent Surveillance Broadcast(ADS-B).RTCA,2003.
[10]Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2005.