葉 軻,侯 艷,王 通
(北京鐵路信號有限公司,北京 102613)
應(yīng)答器是列車運行控制系統(tǒng)中用于車-地通信的關(guān)鍵部分,是列車安全運行的重要保證。應(yīng)答器報文數(shù)據(jù)作為車-地通信的信息載體,向CTCS-3 級列控系統(tǒng)車載設(shè)備提供位置、等級轉(zhuǎn)換、建立無線通信等信息,同時對CTCS-2 級列控系統(tǒng)車載設(shè)備提供線路速度、線路坡度、軌道電路和臨時限速等線路參數(shù)信息。應(yīng)答器報文中包含如此重要的線路信息,在正式報文寫入前,必須對報文的正確性進行審核。目前,報文審核還采用人工核對方式,僅能對站名、應(yīng)答器編號、公里標(biāo)和報文版本等基本信息進行核對,對報文數(shù)據(jù)無法核對,審核效率低,審核內(nèi)容有限,同時有一定審核遺漏的風(fēng)險。因此需要對報文解碼方式進行深入研究,實現(xiàn)報文數(shù)據(jù)的解析及數(shù)據(jù)自動比對,擴展審核內(nèi)容,提高報文審核效率。
應(yīng)答器報文可分為長報文和短報文,其中長報文用戶數(shù)據(jù)位為913,短報文用戶數(shù)據(jù)位為231。為滿足復(fù)雜條件下地面到車載數(shù)據(jù)的傳輸可靠,用戶報文經(jīng)過數(shù)據(jù)處理轉(zhuǎn)換后,再進行傳輸。報文數(shù)據(jù)定義如表1 所示。

表 1 報文的格式信息Tab.1 Telegram format information
由Form Fit 功能接口規(guī)范(Form Fit Function Interface Specification,F(xiàn)FFIS)編碼策略可以知道,在解碼過程中也應(yīng)該將報文分為長報文和短報文。令n為報文長度,則對于長報文,n=1 023,對于短報文,n=341。
具體解碼過程如下。
STEP 1:建立報文接收窗口,長為n+r;(對于長報文,r=77,對于短報文,r=121,當(dāng)窗口移動超過7 500 位時,r=n)。
STEP 2:對報文進行奇偶校驗,若不能通過,返回STEP 1 并移動窗口。
STEP 3:判斷窗口的最左端r位和最右端r位是否一致,若不一致,返回STEP 1 并移動窗口。
STEP 4:尋找報文的起始位置,如果找不到,返回STEP 1 并移動窗口。
STEP 5:判斷由11 位數(shù)據(jù)組成的序列是否符合數(shù)值轉(zhuǎn)換表里的數(shù)據(jù),若不是則返回STEP 1 并移動窗口。
STEP 6:候選安全報文。
STEP 7:檢查反轉(zhuǎn)位,如果反轉(zhuǎn)數(shù)據(jù)位為1,則將所有的報文數(shù)據(jù)都反轉(zhuǎn),如果反轉(zhuǎn)數(shù)據(jù)位為0,則無需進行數(shù)據(jù)處理。然后檢查控制位是否為001,如果不是,則表示接收到的是未知格式的報文,中止接收報文并返回“未知報文格式”的消息。
STEP 8:從最高位開始讀取報文數(shù)據(jù)進行11-to-10 的轉(zhuǎn)換。
STEP 9:解除擾碼。
STEP 10:輸出用戶數(shù)據(jù)和反轉(zhuǎn)數(shù)據(jù)位等所需信息。
根據(jù)應(yīng)答器報文格式信息以及柜FFFIS 編碼策略的研究,設(shè)計出應(yīng)答器報文解碼的流程,繪制流程框圖,按流程圖進行后續(xù)解碼程序的編寫。流程如圖1 所示。

圖1 報文解碼流程Fig.1 Telegram decoding flow chart
根據(jù)FFFIS 解碼策略流程,在LabVIEW 中進行程序編寫,LabVIEW 程序如圖2 所示。具體步驟如下:

圖2 LabVIEW程序柜Fig.2 LabVIEW program block diagram
STEP 1:初始化程序;
STEP 2:建立報文數(shù)據(jù)接收窗口;
STEP 3:循環(huán)結(jié)構(gòu)移動數(shù)據(jù)窗;
STEP 4:循環(huán)結(jié)構(gòu)數(shù)據(jù)判斷;
STEP 5:輸出數(shù)據(jù);
STEP 6:結(jié)束。
其中Step4 為程序的核心部分,用于識別報文及對其進行數(shù)據(jù)處理。如圖3 所示,處理機制采用并行結(jié)構(gòu),同時對信息進行檢測并對檢測狀態(tài)進行邏輯與處理。每個檢測模塊相互獨立,但都會響應(yīng)其他模塊的檢測結(jié)果。如果其中某個模塊先檢測完畢且結(jié)果狀態(tài)為“假”,則其他模塊都會放棄當(dāng)前工作狀態(tài),所有模塊重新載入新數(shù)據(jù)進行處理,縮短了數(shù)據(jù)的處理時間。下面對其中較難實現(xiàn)的部分做詳細說明。

圖3 Step4程序柜Fig.3 Step 4 program block diagram
1)奇偶校驗檢查
判斷接收到的報文是否能夠通過奇偶校驗,也就是判斷接收到的數(shù)據(jù)的前n位二進制對應(yīng)的多項式能否整除以g(x),即判斷公式(1)是否成立。
其中,令n+r位連續(xù)窗口接收數(shù)據(jù),其前n位數(shù)據(jù)為rn-1…r0,則對應(yīng)的多項式r(x)=rn-1xn-1+rn-2xn-2+...+r1x+r0。
對于長報文來說,如公式(2)所示:
對于短報文來說,如公式(3)所示:
2)尋找報文起始位置
令由應(yīng)答器發(fā)送的長為n位的數(shù)據(jù)塊v=[vn-1…v0] ,v是循環(huán)移動的發(fā)送報文,如公式(4)所示:
其中b=[bn-1...b0] 為傳輸報文,S為偏移量。尋找報文起始位置即計算偏移量S值的大小。根據(jù)FFFIS 編碼策略,S值與Rf(x)[xSo(x)] 的值存在一一映射關(guān)系,同時,由FFFIS 編碼策略,如公式(5)所示:
因此只要建立一個相應(yīng)的S?Rf(x)[xSo(x)] 對應(yīng)表,那么在確定Rf(x)[V(x)] 即Rf(x)[xSo(x)] 之后,就能找到對應(yīng)的偏移量S。
其中,對于長報文來說,如公式(6)所示:
其中:o(x)為高階余子式。
3)解擾
參照FFFIS 編碼策略,對用戶信息位的數(shù)據(jù)解擾可分為以下3 個步驟。
a.使用12 位擾亂數(shù)據(jù)位計算32 位S的二進制數(shù)值。
假設(shè)選取到的12 位擾亂數(shù)據(jù)位為b106...b95,設(shè)整數(shù)B=b106·211+…+b96·21+b95·20,定義S如公式(8)所示:
b.使用32 位線性反饋移位寄存器解擾新數(shù)據(jù),其中寄存器初值為S的值。
使用32 位線性反饋寄存器如圖4 所示,對用戶數(shù)據(jù)進行解擾,輸入為擾亂后的數(shù)據(jù)sm-1,sm-2...s0,輸出為擾亂前的數(shù)據(jù)um′-1,um′-2...um。′S為線性反饋移位寄存器的32 位二進制初始值,圖3 中的方框表示延遲單元,加號表示異或操作,系數(shù)h32,h31,h30,h29,h27,h25,h0等于1,其他系數(shù)為0,即選取的特征多項式如公式(9)所示:

圖4 32位線性反饋移位寄存器Fig.4 32-bit linear feedback shift register
具體過程多項式描述如公式(10)所示:
c.計算用戶數(shù)據(jù)的高10 位得到原始數(shù)據(jù)。至此解碼完畢,得到報文的原始數(shù)據(jù)。
選取1 條滬寧高鐵應(yīng)答器報文如圖5 所示,進行仿真與驗證,軟件成功對報文進行解碼。解碼過程中獲取2 進制報文數(shù)據(jù),提取關(guān)鍵字段,應(yīng)答器在應(yīng)答器組中的位置N_PIG、報文計數(shù)器M_MCOUNT、地區(qū)編號NID_C、應(yīng)答器組編號NID_BG,進行驗證,如圖6 所示。

圖5 滬寧高鐵應(yīng)答器報文Fig.5 Shanghai-Nanjing high-speed railway balise telegram

圖6 報文解碼顯示Fig.6 Telegram decoding display
通過對關(guān)鍵字段值與解碼結(jié)果進行對比,解碼正確,解碼系統(tǒng)程序能夠準(zhǔn)確實現(xiàn)應(yīng)答器報文關(guān)鍵字段的解析,如表2 所示。

表2 報文解碼驗證結(jié)果Tab.2 Telegram decoding verification result
對于批量報文審核,在解碼系統(tǒng)程序的基礎(chǔ)上,可設(shè)計自動化的報文審核軟件,實現(xiàn)批量報文數(shù)據(jù)的快速審核,提高審核效率和準(zhǔn)確性。
本文從應(yīng)答器報文解析需求出發(fā),對應(yīng)答器報文信息的結(jié)構(gòu)以及FFFIS 編碼策略進行了深入研究。設(shè)計詳細的報文解碼流程圖,基于LabVIEW 編寫解碼程序,對解碼流程中奇偶校驗檢查、查找報文起始位置以及解擾算法3 個關(guān)鍵難點進行攻克,實現(xiàn)了對具體的應(yīng)答器報文的解碼仿真。