



摘要:基于TDMA技術的多源遙測數據接收,由于數據流分時不連續的特點,給實時流暢顯示處理帶來了困難。在此提出基于TDMA的多源數據協同處理算法,通過在發送端信源編碼時增加識別碼,在接收端采用消息循環機制區分識別碼,并通過時域擴展方式實現多流數據的全時域處理顯示。測試表明,該算法能夠精準實現基于TDMA的多源數據同步分流,并在顯示界面終端全時域實時處理顯示數據。
關鍵詞:TDMA;多源遙測;信源編碼;時域擴展
一、前言
遙測接收作為獲得產品試驗數據的重要手段,在產品研制中一直發揮著重要作用[1]。現有頻分體制遙測接收技術主要適用于單目標飛行試驗。針對多目標飛行特點,需要研究多源遙測數據接收機制及處理技術,目前越來越多的研究集中在多址接入方式和天線類型選型方面[2-3],以期尋求關鍵技術突破和解決措施。而后端實時數據處理,特別是在時分多址(TDMA)模式下[4],數據的平滑顯示處理關注度明顯不夠。在TDMA模式下,數據流有其自身特點:在發射端,多源數據按照預設的時間序列在各自的時隙內發送數據;在接收端,多個分時數據組成整個數據流,后端數據處理需要精準識別并區分每個數據流。
本文基于TDMA模式,研究在單遙測站接收多目標遙測數據的情況下,對多個實時數據源進行平滑顯示處理的過程,并實現多目標數據的全時域擴展解算顯示。
二、需求分析
目前,遙測數據接收和處理通常是基于單目標單遙測站接收的一對一方式,這種情況下,數據處理只需要按照數據流的方式順序解算即可,不需要進行特別處理。而基于TDMA的單遙測站接收多目標數據,由于分時及單遙測站接收特性,數據接收和處理顯示有其自身特點。
(一)數據接收
在TDMA模式下,多源數據分別在規定的時隙內發送數據,遙測站按照順序流接收。由于各數據流幀格式相同,后端無法正確區分各路數據,但數據總體上是連續接收的,所以需要精準識別各目標數據流,并正確分路保存。
(二)數據處理顯示
當數據接收后,由于需要實時顯示,如果不處理,在顯示終端將無法區分是哪一路數據。并且處理后,由于分時的特性,數據顯示將呈現斷斷續續的狀態,特別在高碼率情況下,數據刷新率極快,不易對數據進行有效性判別。所以基于TDMA的多源數據處理,需要在數據接收和處理方面進行算法設計,以解決目前存在的瓶頸問題。
三、多源數據協同處理算法設計
(一)數據接收
由于是單遙測站接收,僅依靠遙測同步碼不能正確區分識別各目標數據。同時在單站接收時,由于需要同步碼進行位幀鎖定,也不能隨意更改各信源的同步碼,否則接收機將不能適應這種頻繁的位幀同步變化,從而增加解調數據的難度。為了精準識別各目標數據,TDMA系統一般采取時鐘同步的方式,把各用戶終端設備與遙測站的時鐘同步,以保證時分復用順利進行。但在遙測系統中,由于遙測站使用的不固定,無法給每套遙測站增加時鐘同步設備。計劃采取在信源編碼時,在同步字后增加各數據流識別碼的方式區分各數據源,接收端接收到數據流后,依據識別碼區分各目標流數據,并分別進行保存,這種方式只需要在軟件端實現,降低了數據處理難度。
數據接收處理流程如圖1所示。
(二)數據處理顯示
數據處理顯示過程包含數據傳遞和數據顯示兩部分。數據傳遞功能主要實現在接收數據分發處理過程時,不影響實時數據的正常顯示。數據顯示主要實現把分時斷續的多個數據流在同一時間內處理為連續顯示的狀態,也可以理解為是一個由分時顯示變為全時域擴展顯示的過程。
1.數據傳遞
在數據傳遞過程中,為了不影響數據的實時顯示,計劃采用消息機制在后臺進行處理。Windows消息機制[5]由消息隊列、消息循環和消息處理三部分組成。
對于每一個應用程序,操作系統將會創建一個對應的消息隊列,消息隊列具有先進先出的特點,每產生一個消息都會添加到消息隊列中。應用程序會通過相應函數從消息隊列中獲取對應信息,然后在對應顯示窗口一一響應。而通過消息循環機制,應用程序能從消息隊列中不斷取得隊首的消息,并將它分發出去。消息處理是程序在接收到消息之后,根據消息類型的不同做出的不同處理。
在Windows應用程序中發送消息,一般使用PostMessage()和SendMesage()函數,但是它們發送和處理消息的方式是不同的。SendMessage()函數將指定的消息發送到一個或多個窗口,直到窗口程序處理完消息再返回,是一個同步的過程。PostMessage()函數是把消息封裝成一個MSG結構,送到一個消息隊列后立即返回,無需等待,是一個異步的過程。
基于TDMA的多源數據處理采用異步方式實現數據傳遞,所有數據源在位幀同步處理后,組成消息隊列,經過識別碼判別后,分發為不同的線程消息隊列,再由消息循環調度過程,把不同的消息送往窗口進行數據處理顯示。
數據傳遞中的消息機制實現過程如圖2所示。
2.數據顯示
基于TDMA的多源遙測數據顯示,如果不進行處理,即使增加了識別碼,在數據刷新率較快的情況下,同一個界面也將無法區分出各目標源。計劃采取控件編寫的方式[6],將常用功能封裝在控件中,提供給監測軟件調用,并通過內存拷貝,采用雙緩存機制,解決數據快速刷新引起的閃爍問題。經測試,該控件能支持多源數據的配置,每個控件只顯示對應的數據流。
控件顯示效果如圖3所示。
同時在分時模式下,如果對分流后的數據實時顯示不進行處理,顯示界面將呈現出斷斷續續的特點,如圖4所示,影響數據分析人員直觀判讀。所以需要采取措施,把分時數據進行全時域擴展處理顯示,即把一個時隙長度的數據擴展為一個時幀進行顯示。
一種方法是把所有分路后的數據進行緩存,等夠一個時幀長度后,再把緩存后的分路數據同時發送到前端進行同步全時域擴展顯示。為了適應這種多路數據的高精度(1ms以內)同步顯示,需要對數據幀精準定時。
實現高精度定時的方法有很多[7],如采用多媒體定時器等,但需要專門的控件進行支持或需要專門工具進行開發,實現起來較為復雜,定時精度也可能滿足不了需要。為了實現更高精度的定時,可以采用在不降低計算機性能的前提下,使用通過獲得系統時鐘頻率QueryPerformanceFrequency()和使用次數QueryPerformanceCounter()函數,這兩個函數通過匯編語言讀取CPU中以機器時鐘為單位的計數器,定時精度能夠達到微秒級甚至納秒級。
通過精準定時,在多路緩存TDMA數據流通過消息機制匯聚,并通過識別碼分流,進入全時域顯示等待處理過程,當滿足時幀顯示條件后,在顯示窗口對數據流按幀間隔時間進行實時顯示處理。
數據分時全域顯示的處理過程如圖5所示。
四、多源數據協同處理算法實現驗證
通過需求分析和算法設計可以看出,基于TDMA的多源數據協同處理算法實現過程如下:多源數據在規定時隙內向外發送數據流,遙測站接收數據,經過位幀同步處理后,通過識別碼對多路數據進行分路保存,同時在數據處理后端緩存一個時幀后,觸發消息轉發機制,后端把緩存數據送往數據處理前端,顯示窗口通過精準定時,對數據按照幀間隔時間進行全時域擴展實時處理顯示。
多源數據協同處理算法實現流程如圖6所示。
為了驗證算法的有效性,分別對幀間隔時間為4ms的兩路TDMA數據和幀間隔時間為1ms的三路TDMA數據進行了模擬處理顯示。
(一)幀間隔為4ms的兩路TDMA數據
幀間隔為4ms的兩路TDMA數據基本配置信息如下。
每秒時隙數:4個;
時隙長度:240ms;
幀長:10Byte;
單路一個時隙的數據長度:600Byte。
此次模擬數據幀間隔時間為4ms,經過驗證,算法能夠及時準確分路數據,并能夠在一個時域內正確擴展,實時顯示所有數據。處理效果如圖7所示。
(二)幀間隔為1ms的三路TDMA數據
幀間隔為1ms的三路TDMA數據,基本配置信息如下。
每秒時隙數:6個;
時隙長度:160ms;
幀長:10Byte;
單路一個時隙的數據長度:1600Byte。
此次模擬數據幀間隔時間為1ms,經過驗證,算法能夠及時分路處理三路數據,并能夠在一個時域內正確擴展實時顯示所有數據。處理效果如圖8所示。
五、結語
基于TDMA的多源遙測數據協同處理算法,通過在發送端信源編碼時增加識別碼,在接收端采用消息循環機制區分識別碼,并通過時域擴展方式,實現了多流數據的全時域擴展處理顯示,較好地實現了數據處理需求及數據分析需求。經過驗證,在模擬數據幀間隔時間為1ms的情況下,算法仍能夠及時分路處理數據,并在一個時域內正確擴展處理顯示所有數據,體現出了算法運行的穩定性和健壯性。
參考文獻
[1]霍建華,郭世偉,李銘三.遙測接收系統的遠程控制[J].電子設計工程,2013,21(24):84-86.
[2]朱澤鋒,張偉.遙測技術發展現狀與關鍵技術展望[J].自動化技術與應用,2016,35(12):57-60.
[3]周劼.多目標擴頻遙測空時二維處理技術研究[D].成都:電子科技大學,2013.
[4]魏建新,李妍生,郭世偉.基于TDMA多目標遙測數據傳輸系統設計與實現[J].計算機測量與控制,2016,24(03):273-276.
[5]王光輝.深入分析Windows消息機制[J].電腦與電信,2011(02):69-70+73.
[6]陳飛,王文韜.遙測數據列表滾動控件的設計與實現[J].現代電子技術,2014,37(7):28-30.
[7]吳正平,熊曉東,姜吉發,等.用Visual C++6.0實現高精度定時器[J].江漢石油學院學報,2002,24(03):87-88.
作者單位:劉亞南、陳飛,中國空空導彈研究院;張育,中國人民解放軍93160部隊
■ 責任編輯:張津平 尚丹