基于RTLinux的軟件無線電偵察預(yù)處理系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:現(xiàn)有的軟件無線電偵察系統(tǒng)一般采用DSP作預(yù)處理,但DSP的開發(fā)和升級(jí)難度大。在分析嵌入式實(shí)時(shí)Linux(RTLinux)操作系統(tǒng)的基礎(chǔ)上,介紹了采用嵌入式實(shí)時(shí)Linux系統(tǒng)的預(yù)處理方案,具有良好的應(yīng)用前景。
關(guān)鍵詞:軟件無線電;偵察系統(tǒng);數(shù)字信號(hào)處理;嵌入式;實(shí)時(shí)Linux
一、引言
軟件無線電已成為新的第三代移動(dòng)通信系統(tǒng)3G系統(tǒng)的關(guān)鍵技術(shù)之一。另一方面,軟件無線電在軍事上應(yīng)用也越來越廣泛,并獲得初步的成功?,F(xiàn)代戰(zhàn)爭是高技術(shù)條件下的局部戰(zhàn)爭,對(duì)通信有極高的要求,當(dāng)前軍事學(xué)說指出現(xiàn)代軍事通信系統(tǒng)應(yīng)該具有互通性、靈活性、移動(dòng)性、抗毀性、易維護(hù)性,而軟件無線電是現(xiàn)代軍事通信系統(tǒng)實(shí)現(xiàn)其特性的關(guān)鍵。
軟件無線電的核心思想就是把寬帶數(shù)?;蚰?shù)轉(zhuǎn)換器放置在盡可能靠近天線的地方,將模擬信號(hào)數(shù)字化。從轉(zhuǎn)換器以下電臺(tái)的其它部分則通過構(gòu)建一個(gè)通用的可編程硬件平臺(tái)來完成,利用加載軟件實(shí)現(xiàn)這些部分的相應(yīng)功能。由于軟件無線電結(jié)構(gòu)上的開放性和完全的可編程性,使它不僅能夠兼容現(xiàn)役的多種電臺(tái),而且還可象微型計(jì)算機(jī)一樣通過更新軟件和硬件模塊不斷得到升級(jí)換代來適應(yīng)新的通信發(fā)展模式。
軟件無線電對(duì)通信偵察提出了新的挑戰(zhàn)。顯然,工作頻率范圍不寬、功能單一的傳統(tǒng)通信偵察設(shè)備對(duì)付不了頻段寬、工作方式靈活、能夠兼容現(xiàn)役各類電臺(tái)功能的軟件無線電通信電臺(tái)。因此,通信偵察系統(tǒng)必須采用軟件無線電模式才能滿足實(shí)際的需要。軟件無線電通信偵察系統(tǒng)結(jié)構(gòu)圖如圖1所示。
在整個(gè)軟件無線電通信偵察系統(tǒng)中,預(yù)處理的任務(wù)是實(shí)時(shí)快速地對(duì)采集的信號(hào)進(jìn)行(快速傅里葉變換)變換(FFT),然后取模取極大值,經(jīng)過門限比較后將稀釋的預(yù)處理結(jié)果數(shù)據(jù)送給主處理機(jī),進(jìn)行結(jié)果顯示和進(jìn)一步的處理??梢婎A(yù)處理在整個(gè)系統(tǒng)中起到關(guān)鍵的作用,要求預(yù)處理必須實(shí)時(shí)高速。預(yù)處理任務(wù)流程如圖2所示。
二、采用DSP的高速預(yù)處理方案
數(shù)字信號(hào)處理(DigitalSignalProcessing,簡稱DSP)是20世紀(jì)90年代迅速發(fā)展起來的新興學(xué)科,其中TI公司的TMS320系列占據(jù)了主導(dǎo)地位。因?yàn)镈SP是一種專門進(jìn)行數(shù)字信號(hào)處理運(yùn)算的微處理器,它的指令處理器芯片內(nèi)部結(jié)構(gòu)有關(guān),能夠?qū)崿F(xiàn)運(yùn)算的優(yōu)化,因此具有很高的運(yùn)算速度。比如TI公司的DSPC62X系列,定點(diǎn)處理能力大約在1200~2400MIPS,C67X系列浮點(diǎn)處理能力大約在600MOPS~1GOPS左右。因此,大多設(shè)備均采用了DSP作高速預(yù)處理的方案。
盡管DSP的各類產(chǎn)品應(yīng)用很廣,但要使它能夠深入、持久地得以發(fā)展,必須要有相應(yīng)優(yōu)秀的DSP開發(fā)系統(tǒng)提供給用戶一個(gè)靈活、方便的開發(fā)工具,使用戶在開發(fā)系統(tǒng)上可以完成對(duì)目標(biāo)機(jī)的軟件、硬件系統(tǒng)的綜合調(diào)試。DSP開發(fā)系統(tǒng)對(duì)于DSP應(yīng)用系統(tǒng)來說是一項(xiàng)基礎(chǔ)的工作,是否有一個(gè)適用的且有效的DSP開發(fā)系統(tǒng),往往是關(guān)系到DSP應(yīng)用成敗的關(guān)鍵因素之一。
當(dāng)前DSP開發(fā)系統(tǒng)主要包括JTAG仿真開發(fā)系統(tǒng)、DSK開發(fā)系統(tǒng)、總線式DSP開發(fā)卡設(shè)計(jì)、嵌入式DSP開發(fā)系統(tǒng)。
TI公司首先實(shí)現(xiàn)的JTAG仿真系統(tǒng),需要在設(shè)計(jì)目標(biāo)板時(shí)預(yù)留出DSP適配器插座,而且在仿真時(shí)還要占用用戶板的部分資源。更重要的是,往往受制于開發(fā)系統(tǒng)的限制無法充分開發(fā)目標(biāo)機(jī)的硬件資源、調(diào)試應(yīng)用軟件,特別對(duì)于移動(dòng)DSP系統(tǒng)進(jìn)行二次調(diào)試非常困難。
TI公司開發(fā)生產(chǎn)的DSK通過與PC機(jī)簡單接口,就可以學(xué)習(xí)使用DSP,具有實(shí)時(shí)處理的強(qiáng)大功能。在DSP基礎(chǔ)上,通過適當(dāng)?shù)挠布U(kuò)展,很容易構(gòu)成一個(gè)小型實(shí)用的DSP系統(tǒng)。而且在目標(biāo)機(jī)工作正常的情況下能夠?qū)崿F(xiàn)對(duì)軟件、硬件的調(diào)試工作,而且不占用目標(biāo)機(jī)的任何資源。由此可以看出,DSK本身就是一個(gè)能實(shí)現(xiàn)一定功能的應(yīng)用系統(tǒng),由于其具有串口通信的特點(diǎn),因此具有一定的代表性。這類開發(fā)系統(tǒng)也有很大的局限性,就是偏重于軟件的調(diào)試。當(dāng)目標(biāo)機(jī)出現(xiàn)硬件故障時(shí),無法實(shí)現(xiàn)故障的診斷與排除,而且由于采用串口通信,因此傳送速率較慢。
DSP的DS開發(fā)系統(tǒng),結(jié)合以上兩種開發(fā)系統(tǒng)的優(yōu)勢,實(shí)現(xiàn)了對(duì)目標(biāo)機(jī)的軟件和硬件開發(fā)。它所采用的總線式開發(fā)目標(biāo)機(jī)的思想成為目前較流行的開發(fā)方式,不但能調(diào)試DSP,也可以擴(kuò)展調(diào)試任何微處理機(jī)。但是,它并沒有脫離基于仿真器的思想,因此在速度和靈活性方面受到一定的制約。
與傳統(tǒng)的基于仿真器的調(diào)試方法相比,嵌入式自我調(diào)試有許多優(yōu)點(diǎn):一是避免了用仿真器調(diào)試目標(biāo)板時(shí)的困難;二是用戶目標(biāo)板直接與微機(jī)相聯(lián)系避免了仿真器在中間隔離,能加快調(diào)試速度:三是調(diào)試功能根據(jù)實(shí)際需要自行開發(fā)和擴(kuò)展;四是軟件直接在目標(biāo)板上運(yùn)行,調(diào)試完畢后只需固化便可以脫機(jī)運(yùn)行??梢哉f嵌入式開發(fā)系統(tǒng)是目前開發(fā)系統(tǒng)中最經(jīng)濟(jì)、快捷方便的方法之一,尤其是對(duì)于復(fù)雜數(shù)字信號(hào)處理算法的調(diào)試特別有效,是今后DSP開發(fā)領(lǐng)域發(fā)展的方向,但對(duì)開發(fā)者的軟、硬件設(shè)計(jì)能力水平要求較高。
因此,DSP的開發(fā)對(duì)開發(fā)者的軟、硬件設(shè)計(jì)能力水平都有很高的要求,如果要充分發(fā)揮DSP的優(yōu)勢,最好采用匯編語言進(jìn)行軟件開發(fā),這樣就會(huì)開發(fā)周期長,開發(fā)難度加大,并且DSP的軟件可移植性比較差。由于DSP的指令都和它處理器芯片內(nèi)部結(jié)構(gòu)有關(guān),每一代處理器的結(jié)構(gòu)都有所不同,結(jié)構(gòu)發(fā)生變化后,在其之上的軟件也要發(fā)生很大的變化,如C64的內(nèi)部硬件結(jié)構(gòu)不同于C5X,所以C64的一些指令就不同于C5X,曾經(jīng)熟悉C5X的技術(shù)人員不得不從頭開始學(xué)起C64的指令,這就給編程人員帶來了很大的不便,增加了開發(fā)的難度和周期。而且現(xiàn)在DSP芯片更新?lián)Q代很快,技術(shù)人員很難跟上更換的步伐。這就降低了整個(gè)系統(tǒng)的靈活性,軟件的可移植性差。
三、采用RTLinux的高速預(yù)處理方案
1.嵌入式系統(tǒng)
嵌入式系統(tǒng)被定義為:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應(yīng)用的,嵌入式處理器的功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等方面均受到應(yīng)用要求的制約。在嵌入式系統(tǒng)下系統(tǒng)一般沒有多少可用的內(nèi)存,更沒有可用的外存,操作系統(tǒng)就裝在有限的存儲(chǔ)器中如ROM或FLASH。嵌入式系統(tǒng)一般由一個(gè)很小的內(nèi)核及一些可以根據(jù)需要定制的系統(tǒng)模塊組成,所占空間很小,具有很高的靈活性。嵌入式處理器的應(yīng)用軟件是實(shí)現(xiàn)嵌入式系統(tǒng)功能的關(guān)鍵。軟件要求固化存儲(chǔ),軟件代碼要求高質(zhì)量、高可靠性,系統(tǒng)軟件(OS)的高實(shí)時(shí)性是基本要求。[!--empirenews.page--]
2.嵌入式實(shí)時(shí)Linux
許多嵌入式系統(tǒng)要求能預(yù)測、可限定響應(yīng)時(shí)間地響應(yīng)外界事件,也就是有實(shí)時(shí)性的要求。用于嵌入式場合的實(shí)時(shí)操作系統(tǒng)就是嵌入式實(shí)時(shí)操作系統(tǒng),此類實(shí)時(shí)系統(tǒng)包括自動(dòng)控制、數(shù)據(jù)采集和信號(hào)處理等系統(tǒng)。一般“實(shí)時(shí)”的含義是指對(duì)來自外界的事件必須在可預(yù)測的、相對(duì)短的時(shí)間段內(nèi)得到響應(yīng)。實(shí)時(shí)系統(tǒng)一般分為2種類型:軟實(shí)時(shí)系統(tǒng)和硬實(shí)時(shí)系統(tǒng)。軟實(shí)時(shí)系統(tǒng)指系統(tǒng)整體吞吐量大或者整體響應(yīng)速度快,但是不能保證在規(guī)定的時(shí)間內(nèi)完成規(guī)定的任務(wù)。硬實(shí)時(shí)系統(tǒng)指任務(wù)必須在規(guī)定的時(shí)間內(nèi)正確的完成。
嵌入式實(shí)時(shí)系統(tǒng)有很多,這里只介紹實(shí)時(shí)Linux系統(tǒng)。Linux本身不是一個(gè)是真正的實(shí)時(shí)操作系統(tǒng),通用的Linux操作系統(tǒng)有3個(gè)不利于實(shí)現(xiàn)實(shí)時(shí)性的弊端:中斷封鎖時(shí)間過長;非搶占式Linux內(nèi)核;耗盡式、機(jī)會(huì)均等的進(jìn)程調(diào)度策略。但是它已經(jīng)有幾個(gè)增加的選擇可以給基于Linux的系統(tǒng)提供實(shí)時(shí)特性。其中,最常用的辦法是雙內(nèi)核相結(jié)合,把一個(gè)通用操作系統(tǒng)作為一個(gè)任務(wù)運(yùn)行在一個(gè)實(shí)時(shí)內(nèi)核上。通用操作系統(tǒng)提供磁盤讀寫、網(wǎng)絡(luò)及通訊、串/并口讀寫、系統(tǒng)初始化、內(nèi)存管理等功能,而實(shí)時(shí)內(nèi)核則處理實(shí)時(shí)事件的響應(yīng)。雙內(nèi)核策略充分兼容標(biāo)準(zhǔn)的Linux,而又采用一種不干擾原Linux的方式來增加了實(shí)時(shí)功能。
RTLinux(RealTimeLinux)是一個(gè)嵌入式硬實(shí)時(shí)操作系統(tǒng),RTLinux實(shí)現(xiàn)了一個(gè)小的實(shí)時(shí)核心,僅支持底層任務(wù)創(chuàng)建、中斷服務(wù)例程的裝入、底層任務(wù)通信隊(duì)列、中斷服務(wù)例程(ISR)和Linux進(jìn)程。原來的非實(shí)時(shí)Linux核心作為一個(gè)可搶先的任務(wù)運(yùn)行于這個(gè)小核心之上,優(yōu)先級(jí)最低,隨時(shí)會(huì)被高優(yōu)先級(jí)任務(wù)搶占。用戶可自行編寫調(diào)度程序,它們可實(shí)現(xiàn)為可加載的核心模塊;已實(shí)現(xiàn)的調(diào)度程序有:基于優(yōu)先級(jí)的搶占式調(diào)度和EDF調(diào)度;基于優(yōu)先級(jí)的調(diào)度使用“單調(diào)率算法”,它直接支持周期任務(wù)。RTLinux是硬實(shí)時(shí)系統(tǒng),系統(tǒng)響應(yīng)速度可達(dá)微秒級(jí)。
3.RTLinux預(yù)處理系統(tǒng)
我們采用RTLinuxv3.0來開發(fā)預(yù)處理系統(tǒng)。從資料上看,RTLinuxv3.0為某些嵌入式處理器提供低于10μm的中斷響應(yīng)時(shí)間(最差情況),為標(biāo)準(zhǔn)PC提供低于20μm的中斷響應(yīng)時(shí)間(最差情況)。為了進(jìn)一步驗(yàn)證RTLinux是否滿足項(xiàng)目實(shí)時(shí)性能的要求,我們對(duì)它的實(shí)時(shí)性能指標(biāo)進(jìn)行了測試。由于在項(xiàng)目中主要的技術(shù)指標(biāo)是中斷響應(yīng)時(shí)間,我們采用并口中斷的方法進(jìn)行測試中斷響應(yīng)時(shí)間。在PII300MHz的PC機(jī)上做一個(gè)并口中斷卡,每10μm中斷一次,測試中斷響應(yīng)時(shí)間,結(jié)果如表1所示。從測試結(jié)果可以看出,RTLinux具有很好的實(shí)時(shí)性。
采用RTLinux的預(yù)處理系統(tǒng)還需要編寫設(shè)備驅(qū)動(dòng)程序。按照在Linux下編寫驅(qū)動(dòng)程序的規(guī)則編寫,編寫以下驅(qū)動(dòng)程序:(1)對(duì)設(shè)備初始化和釋放;(2)把數(shù)據(jù)從內(nèi)核傳到硬件和從硬件讀取數(shù)據(jù);(3)讀取應(yīng)用程序傳遞給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請求的數(shù)據(jù);(4)檢測和處理設(shè)備出現(xiàn)的錯(cuò)誤。
如圖3所示,在相應(yīng)的硬件基礎(chǔ)上,我們加載RTLinuxv3.0操作系統(tǒng)、設(shè)備驅(qū)動(dòng)程序和預(yù)處理程序,就組成了一個(gè)預(yù)處理系統(tǒng)。在整個(gè)偵察系統(tǒng)的性能調(diào)試中,預(yù)處理部分經(jīng)測試運(yùn)行效果良好,并滿足實(shí)時(shí)性要求。
四、結(jié)束語
嵌入式實(shí)時(shí)操作系統(tǒng)是源碼開放、系統(tǒng)可裁減的,可以根據(jù)處理器的和硬件的類型進(jìn)行配置,精簡了內(nèi)核,達(dá)到最簡最優(yōu)的系統(tǒng),使系統(tǒng)具有很好的實(shí)時(shí)性。嵌入式實(shí)時(shí)Linux操作系統(tǒng)運(yùn)行于高速的微處理器之上,隨著微處理器的快速發(fā)展,處理速度幾乎可以和DSP相媲美。作為操作系統(tǒng),它使用戶不需和硬件打交道,利用操作系統(tǒng)提供一些標(biāo)準(zhǔn)的接口,可用高級(jí)語言來編寫程序,縮短軟件開發(fā)周期,降低軟件開發(fā)難度,并且大大提高了程序的可移植性和擴(kuò)展性。所以用嵌入式實(shí)時(shí)Linux操作系統(tǒng)來代替DSP來實(shí)現(xiàn)預(yù)處理,可以大大提高系統(tǒng)的靈活性和軟件的可移植性,便于系統(tǒng)的維護(hù)和升級(jí)換代。因此采用RTLinux預(yù)處理的軟件無線電通信偵察系統(tǒng)具有很大的優(yōu)越性。更為重要的是,Linux源碼開放的,在該操作系統(tǒng)上開發(fā)的程序具有自主知識(shí)產(chǎn)權(quán),保密性好,更適應(yīng)于軍用軟件無線電通信偵察設(shè)備。