軟件化和網(wǎng)絡(luò)化的基于Linux的雷達(dá)終端系統(tǒng)
分解過(guò)程相當(dāng)于輸入序列和濾波器卷積后,進(jìn)行亞采樣,只保留偶數(shù)點(diǎn);合成過(guò)程相當(dāng)于先對(duì)序列進(jìn)行插值(添加0)后,再與濾波器卷積、相加。
圖4是一個(gè)用db1小波遞歸3次壓縮一段雷達(dá)回波的例子,壓縮接近原來(lái)的1/8。
系統(tǒng)中采用 (9,7)雙正交小波快速提升算法,根據(jù)實(shí)際需要進(jìn)行1~4層尺度分解。小波壓縮實(shí)現(xiàn)細(xì)節(jié)可參考文獻(xiàn)[2]。
2.3 網(wǎng)絡(luò)傳輸
常用的網(wǎng)絡(luò)協(xié)議是UDP和TCP。UDP是面向無(wú)連接的協(xié)議;TCP是面向有連接的協(xié)議。另外,TCP協(xié)議在接收方還要進(jìn)行包的次序調(diào)整,因?yàn)椴煌陌赡馨床煌穆酚傻竭_(dá)。然而,可靠是要付出代價(jià)的,TCP占用CPU資源要比UDP高,網(wǎng)絡(luò)利用率也不如UDP。如果網(wǎng)絡(luò)狀況良好,需要持續(xù)進(jìn)行大批量的數(shù)據(jù)傳輸,可以考慮UDP。一般情況下,通訊方式都是點(diǎn)對(duì)點(diǎn)的,也就是所謂的單播方式。采用這種方式,多個(gè)客戶(hù)機(jī)必須與同一個(gè)服務(wù)器分別建立連接,這導(dǎo)致了網(wǎng)絡(luò)負(fù)載成倍增加。
在特殊情形下可以使用廣播方式。其目前只被UDP協(xié)議支持。廣播的實(shí)現(xiàn)非常容易,只需要將目的IP地址設(shè)置為該段子網(wǎng)的地址即可。這種一對(duì)多的方式會(huì)影響不需要接收的主機(jī),子網(wǎng)上所有未參加廣播接收的主機(jī)也必須完成對(duì)數(shù)據(jù)報(bào)的協(xié)議處理,直至UDP層才將它丟棄,甚至還會(huì)引起廣播風(fēng)暴。
單播和廣播是兩種極端。多播提供了一種折衷的方案。多播數(shù)據(jù)報(bào)僅由對(duì)該數(shù)據(jù)報(bào)感興趣的主機(jī)接收(該主機(jī)加入多播組),不會(huì)影響子網(wǎng)上其它主機(jī)。目前UDP提供對(duì)多播的支持。
系統(tǒng)中,一次視頻采用多播方式;主顯示機(jī)與預(yù)處理機(jī)之間的操控命令連接通道由于需要可靠的連接且通信量相對(duì)較少,所以采用了面向連接的TCP協(xié)議。
3 主顯機(jī)系統(tǒng)的實(shí)現(xiàn)
主顯機(jī)主要由各種顯示模塊和網(wǎng)絡(luò)模塊組成。顯示模塊包括PPI和AR模塊。其中以PPI顯示技術(shù)最為復(fù)雜,顯示模塊和網(wǎng)絡(luò)模塊如何整合是系統(tǒng)效率高低的關(guān)鍵。
3.1雷達(dá)視頻PPI顯示
3.1.1坐標(biāo)變換和死地址
顯示過(guò)程中一個(gè)很重要的步驟是進(jìn)行坐標(biāo)的轉(zhuǎn)換。數(shù)據(jù)采集卡得到的雷達(dá)視頻數(shù)據(jù)以距離方位為坐標(biāo),但通用顯卡的內(nèi)存則以行列為坐標(biāo),故極坐標(biāo)要轉(zhuǎn)化為x-y直角坐標(biāo),極坐標(biāo)與自然直角坐標(biāo)轉(zhuǎn)換為:
如果實(shí)時(shí)計(jì)算,目前的計(jì)算機(jī)硬件條件無(wú)法達(dá)到實(shí)時(shí)要求??墒孪扔?jì)算好,轉(zhuǎn)換時(shí)采用查表法,以空間換取時(shí)間。轉(zhuǎn)化表可以只計(jì)算第一象限,其它象限根據(jù)方位碼對(duì)稱(chēng)性確定。
所謂死地址,是指PPI顯示中遠(yuǎn)離顯示中心的地方會(huì)有部分區(qū)域始終訪問(wèn)不到,從而產(chǎn)生類(lèi)似于衍射花紋的現(xiàn)象。半徑愈大時(shí),這種花紋愈明顯。如圖5所示。
需要把這些不能被訪問(wèn)到的點(diǎn)“補(bǔ)”上。將原有的一些有重復(fù)(即多個(gè)(ρ-θ)點(diǎn)映射到同一個(gè)(x-y)坐標(biāo))的點(diǎn)分開(kāi),以最近為原則將其中的重復(fù)點(diǎn)強(qiáng)行改為“死地址”點(diǎn)。例如,極坐標(biāo)下的兩個(gè)點(diǎn)M1(ρ1,θ1)和M2(ρ2,θ2),轉(zhuǎn)換為直角坐標(biāo)后對(duì)應(yīng)的點(diǎn)都是M3(x1,y1),而點(diǎn)M4(x2,y2)是“死地址”且M3和M4相隔很近,這時(shí)強(qiáng)行規(guī)定M1=>M3而M2=>M4。
系統(tǒng)中,不偏心時(shí),掃描半徑是512像素,一周4096根掃描線。實(shí)踐證明可以將所有的死地址與相鄰的方位距離碼關(guān)聯(lián)起來(lái),消除花紋圖案??梢韵胂螅簰呙璋霃皆酱?,遠(yuǎn)離圓心的死區(qū)面積越大,其附近通常找不到能夠利用的重復(fù)點(diǎn),必須改進(jìn)方案。
考慮最極端的情形,偏心在圓周上,此時(shí)最大掃描半徑為1024。將半徑1024的圓分為半徑512的同心圓和剩下的外圓環(huán)。內(nèi)部的小圓可以用前面的方案。512~1023部分將方位分辨率提高一倍,即一周8192根,再進(jìn)行補(bǔ)點(diǎn)。具體算法如下:
(1) 得到外圓環(huán)的所有x-y坐標(biāo)點(diǎn)的集合。
(2) 將外圓環(huán)內(nèi)所有的ρ-θ點(diǎn)按轉(zhuǎn)換公式四舍五入到最近的x-y坐標(biāo)點(diǎn)。有些x-y會(huì)關(guān)聯(lián)多個(gè)ρ-θ點(diǎn),有些則沒(méi)有ρ-θ點(diǎn)與之關(guān)聯(lián)。
(3) 遍歷那些沒(méi)有ρ-θ關(guān)聯(lián)的x-y。對(duì)于每個(gè)這樣的x-y點(diǎn),查找以自己為中心、邊長(zhǎng)為4的正方形內(nèi)所有的x-y點(diǎn),如果發(fā)現(xiàn)某一個(gè)x-y點(diǎn)關(guān)聯(lián)ρ-θ多于一個(gè),就將其中的一個(gè)ρ-θ給這個(gè)沒(méi)有ρ-θ關(guān)聯(lián)的x-y。同時(shí),給出ρ-θ的x-y點(diǎn),在其ρ-θ關(guān)聯(lián)鏈表中去掉給出的ρ-θ。
(4) 按ρ從512~1023、θ從0~8191的順序?qū)?duì)應(yīng)的x-y寫(xiě)入磁盤(pán)文件中。
編程計(jì)算結(jié)果表明這種算法可以很快地補(bǔ)全所有死地址。
相應(yīng)地,原來(lái)的坐標(biāo)轉(zhuǎn)換表應(yīng)該由補(bǔ)過(guò)死地址的兩張表(一張是半徑512以?xún)?nèi),另一張是512~1023)代替。 linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論