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