文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)11-0029-03
0 引言
LFMCW(線(xiàn)性調(diào)頻連續(xù)波)雷達(dá)是一種通過(guò)對(duì)連續(xù)波進(jìn)行頻率調(diào)制來(lái)獲得距離與速度信息的雷達(dá)。因其具有發(fā)射功率低,距離分辨力高、不存在距離盲區(qū)等優(yōu)點(diǎn)越來(lái)越多地應(yīng)用于船舶導(dǎo)航中。顯示系統(tǒng)作為雷達(dá)直接面對(duì)操作者的部分,其成像的好壞直接影響到操作的判斷。同時(shí)對(duì)于集成度越來(lái)越高的綜合船舶電子系統(tǒng),單一傳感器的數(shù)據(jù)內(nèi)容往往要提供給多個(gè)顯示單元,以便利用冗余信息進(jìn)行數(shù)據(jù)融合提高判斷的可靠性。為此,本文提出了一種三維優(yōu)化查找表算法,很好地解決了雷達(dá)成像中的重點(diǎn)和漏點(diǎn)問(wèn)題,同時(shí)利用組播機(jī)制完成了多屏顯示以及在綜合船橋系統(tǒng)中的拓展。
1 系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)
本系統(tǒng)并沒(méi)有采用如SPI等傳統(tǒng)的總線(xiàn)傳輸作為雷達(dá)掃描單元和顯示單元之間的通信機(jī)制,而是利用了標(biāo)準(zhǔn)的以太網(wǎng)傳輸通信。考慮到相關(guān)的拓展,沒(méi)有選擇簡(jiǎn)單的單播機(jī)制而選擇了組播。
1.1 組播
組播是一種一點(diǎn)到多點(diǎn)(或多點(diǎn)到多點(diǎn))的通信方式,即多個(gè)接收者同時(shí)接受一個(gè)數(shù)據(jù)源發(fā)送的相同信息。組播通信中使用的是D類(lèi)IP地址,其范圍在224.0.0.1~239.255.255.255 之間。由于傳輸層上的TCP協(xié)議不支持組播,所以下面設(shè)定的顯控報(bào)文都采用了UDP協(xié)議。
1.2 系統(tǒng)的結(jié)構(gòu)及實(shí)現(xiàn)
顯示系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,236.6.7.8、236.6.7.9、236.6.7.10等就是組播地址,它們可以看成雷達(dá)掃描單元和顯示單元之間的通道,每個(gè)組播組都有其專(zhuān)屬的功能[1]。系統(tǒng)一上電,各單元都會(huì)根據(jù)IGMPV3協(xié)議發(fā)出加入相應(yīng)組播組的通知,其部分代碼如下:
#define MCAST_REC_ADDR"236.6.7.8"
#define MCAST_FD_ADDR"236.6.7.9"
struct ip_mreq mreq;
mreq.imr_multiaddr.s_addr = inet_addr(MCAST_REC _ADDR);
mreq.imr_multiaddr.s_addr = inet_addr(MCAST_FD _ADDR);
……
系統(tǒng)通過(guò)這些通道以UDP數(shù)據(jù)包作為載體傳遞信息。236.6.7.10為控制信息通道,傳遞開(kāi)關(guān)、掃描速度、增益、雨雪雜波抑制等控制信息;236.6.7.9是反饋信息通道,主要是顯示單元接收確認(rèn)信息;236.6.7.8是數(shù)據(jù)內(nèi)容通道,傳輸大量的雷達(dá)圖像信息。
1.3 報(bào)文格式
系統(tǒng)自定義了相關(guān)報(bào)文格式,其內(nèi)容如表1所示。
以海雜波為例,控制報(bào)文中C1是控制命令字,06是內(nèi)部配置寄存器的編號(hào),19 是狀態(tài)值(19在界面的顯示值是19/256×100);考慮到單向通信機(jī)制的不可靠本文引入了反饋機(jī)制,控制報(bào)文發(fā)出時(shí)系統(tǒng)參數(shù)不會(huì)立刻改變,而是等待接收到反饋報(bào)文,C4 是反饋命令字,19是當(dāng)前海雜波抑制值;數(shù)據(jù)報(bào)文中0100000000200002是數(shù)據(jù)的幀頭,其中20(32d)是含有掃描線(xiàn)的數(shù)量,例子里73 0B是掃描線(xiàn)的編號(hào),1D07是掃描線(xiàn)的角度信息。
2 數(shù)據(jù)處理
從組播地址236.6.7.8接收到的雷達(dá)圖像數(shù)據(jù)是極坐標(biāo)形式,由表1可以看到其表示的是掃描線(xiàn)上每個(gè)點(diǎn)的灰度值,角度值由1D07(1821d)/2 048×360算得,但是極坐標(biāo)數(shù)據(jù)無(wú)法直接顯示還必須經(jīng)過(guò)坐標(biāo)轉(zhuǎn)換,這就是圖1中的中間件部分所完成的工作,也是整個(gè)顯示系統(tǒng)的關(guān)鍵組成部分。
2.1 基本坐標(biāo)轉(zhuǎn)換方式比較
直接轉(zhuǎn)換方法如下:
式中,?茲為極坐標(biāo)角度,r為半徑,x為直角坐標(biāo)中的橫坐標(biāo),y為縱坐標(biāo)。直接運(yùn)用公式計(jì)算看似簡(jiǎn)單但不可避免地帶來(lái)重點(diǎn)和漏點(diǎn)等問(wèn)題,這是因?yàn)橹苯亲鴺?biāo)和極坐標(biāo)之間的映射不是一一對(duì)應(yīng)的。由于極坐標(biāo)在直角坐標(biāo)系中呈放射狀分布,導(dǎo)致近端多個(gè)極坐標(biāo)映射到一個(gè)直角坐標(biāo)點(diǎn)的情況,這就是重點(diǎn);而在圓心遠(yuǎn)端的直角坐標(biāo)點(diǎn)會(huì)出現(xiàn)沒(méi)有極坐標(biāo)映射的情況,這是漏點(diǎn)[2]。重點(diǎn)會(huì)造成數(shù)據(jù)冗余,漏點(diǎn)會(huì)影響成像。
計(jì)數(shù)法是根據(jù)直角坐標(biāo)都是整數(shù),且相鄰點(diǎn)的變化量只有0、1,可以進(jìn)行進(jìn)位信息存儲(chǔ),此法同樣只能減少存儲(chǔ)空間,無(wú)法解決漏點(diǎn)問(wèn)題[3]。查找表法預(yù)先存儲(chǔ)了每一個(gè)極坐標(biāo)對(duì)應(yīng)的直角坐標(biāo),直接尋址操作,此法使轉(zhuǎn)換效率大大提升,但所需存儲(chǔ)空間大且不能避免漏點(diǎn)[4]。
2.2 三維優(yōu)化查找表算法
比較了上述算法并綜合考慮了硬件資源開(kāi)銷(xiāo),提出一種以極坐標(biāo)為地址,直角坐標(biāo)為數(shù)據(jù)的三維優(yōu)化查找表算法,既解決了坐標(biāo)轉(zhuǎn)換開(kāi)銷(xiāo)大,顯示卡頓問(wèn)題,也對(duì)重點(diǎn)和漏點(diǎn)問(wèn)題進(jìn)行了有效解決,最后利用對(duì)稱(chēng)性減少了預(yù)先存儲(chǔ)的數(shù)據(jù)量[5]。
根據(jù)查找表的定義,重點(diǎn)在表中的反映形式為不同的地址擁有同樣的內(nèi)容。如有N個(gè)地址對(duì)應(yīng)數(shù)據(jù)相同,為了消除重點(diǎn)可將其中N-1個(gè)地址的數(shù)據(jù)編輯為0,保留唯一的一個(gè)地址的數(shù)據(jù)。實(shí)際采用的消除方式是保留其中地址最小的內(nèi)容,其余地址內(nèi)容設(shè)為0。這樣就確保了表中所存直角坐標(biāo)的唯一性。
補(bǔ)漏的思路是利用其鄰近非漏點(diǎn)的灰度值。采用三維查找表的目的也就是希望將轉(zhuǎn)換坐標(biāo)點(diǎn)附近的漏點(diǎn)位置標(biāo)記出來(lái),利用已知的灰度值對(duì)其進(jìn)行插值。而建立這種查找表的第一步就是找出漏點(diǎn)。由式(1)建立起一個(gè)所有轉(zhuǎn)換直角坐標(biāo)的數(shù)組{(x,y)},通過(guò)下面公式:
將結(jié)果數(shù)組與上面得到的結(jié)果數(shù)組相比較就得到了漏點(diǎn)數(shù)組{(x′,y′)}。
第二步是給這些漏點(diǎn)去找到其附近的非漏點(diǎn),好進(jìn)行補(bǔ)漏的過(guò)程。本系統(tǒng)在極坐標(biāo)直接轉(zhuǎn)換得到的直角坐標(biāo)數(shù)組{(xi,yi)}中任選一點(diǎn)再遍歷漏點(diǎn)數(shù)組{(x′,y′)}由式(3):
得數(shù)組{(xij′,yij′)},并用(xi,yi)橫坐標(biāo)和縱坐標(biāo)分別減去數(shù)組{(xij′,yij′)}中對(duì)應(yīng)的元素得到差值(xi-xi1′,yi-yi1′)(xi-xi2′,yi-yi2′)…(xi-xij′,yi-yij′),再用一個(gè)2j×k bit的數(shù)add的每k bit分別表示差值,遍歷直角坐標(biāo)數(shù)組將所有得到的(x,y,add)i保存為查找表文件。考慮到角度量化值N為2 048,掃描半徑M為384,實(shí)際系統(tǒng)在數(shù)據(jù)之后另外加上2位的補(bǔ)漏標(biāo)志位。00表示該坐標(biāo)附近無(wú)漏點(diǎn),01表示坐標(biāo)(x,y+1)為漏點(diǎn)(當(dāng)前坐標(biāo)為(x,y)),10表示(x+1,y)為漏點(diǎn),基本完成成像要求。
優(yōu)化后的查找表算法解決了重點(diǎn)、漏點(diǎn)等問(wèn)題但需耗費(fèi)16 MB的存儲(chǔ)空間,而實(shí)際上通過(guò)對(duì)稱(chēng)性?xún)?yōu)化只需在查找表中存儲(chǔ)0°~45°的數(shù)值就可以完成數(shù)據(jù)的轉(zhuǎn)換。系統(tǒng)在處理數(shù)據(jù)過(guò)程中進(jìn)行兩次轉(zhuǎn)換,由表1知每根線(xiàn)都有各自的編號(hào)n,收到數(shù)據(jù)包時(shí)先提取出編號(hào)進(jìn)行判斷,然后用下面公式進(jìn)行轉(zhuǎn)換,將其區(qū)域的掃描數(shù)據(jù)映射到0°~45°區(qū)域:
當(dāng)最終輸出到顯存時(shí),還需要再次轉(zhuǎn)換成掃描線(xiàn)上
像素點(diǎn)對(duì)應(yīng)屏幕上的真實(shí)坐標(biāo),其轉(zhuǎn)換公式如下:
系統(tǒng)的算法流程如圖2所示。
3 組播的優(yōu)勢(shì)及系統(tǒng)擴(kuò)展
隨著現(xiàn)代船只電子系統(tǒng)的集成化越來(lái)越高,多傳感器復(fù)合顯示的需求也越來(lái)越大,雷達(dá)數(shù)據(jù)往往也要提供給多個(gè)顯示單元??紤]到雷達(dá)掃描一周產(chǎn)生大約1 MB的數(shù)據(jù)量以及24 r/min或者36 r/min的掃描速度,系統(tǒng)如果自己先進(jìn)行數(shù)據(jù)復(fù)制再傳輸顯然是困難的,而組播的特點(diǎn)剛好是加入同一組播組的成員都可以接收到發(fā)向這個(gè)組播地址的數(shù)據(jù),例如多個(gè)顯示單元只要都加入了系統(tǒng)中236.6.7.8組播組都可以接收并顯示雷達(dá)圖像數(shù)據(jù),輕松實(shí)現(xiàn)多屏顯示。
而對(duì)于最近興起的綜合船橋系統(tǒng),其顯示系統(tǒng)結(jié)構(gòu)如圖3所示,顯示單元可以分別作為ECDIS、Radar(有兩部S-Band 和 X-Band)以及Conning(船舶綜合數(shù)據(jù)顯示系統(tǒng))進(jìn)行工作,又可以切換S-Band雷達(dá)和X-Band雷達(dá)信息進(jìn)行交換顯示,同時(shí)當(dāng)單一顯示器出現(xiàn)故障時(shí)可以利用其他顯示單元備用顯示。其復(fù)合顯示的基礎(chǔ)就是組播機(jī)制,顯示系統(tǒng)通過(guò)加入的組播組實(shí)現(xiàn)相關(guān)的顯示,對(duì)于GPS、AIS通過(guò)標(biāo)準(zhǔn)串口輸出的數(shù)據(jù)也可以通過(guò)轉(zhuǎn)換器封裝成UDP報(bào)文發(fā)送到組播地址。所以,基于組播的雷達(dá)可以很好地融入綜合船橋系統(tǒng)中,實(shí)現(xiàn)擴(kuò)展。
4 實(shí)驗(yàn)與測(cè)試
系統(tǒng)利用QT完成了界面設(shè)計(jì)并接收坐標(biāo)轉(zhuǎn)換后的雷達(dá)圖像數(shù)據(jù)繪制出來(lái)[6],這里硬件采用了Xilinx公司推出的XC6SLX100T-2FG676C FPGA芯片以及TI公司的DAVINCI DM3730芯片,并外掛了DDR3芯片來(lái)存儲(chǔ)查找表,所用存儲(chǔ)空間為1.97 MB,其實(shí)驗(yàn)效果如圖4所示。
圖4中,上兩幅圖分別是未對(duì)邊界進(jìn)行設(shè)置,且沒(méi)有進(jìn)行補(bǔ)點(diǎn)算法下漏點(diǎn)的顯示狀態(tài)以及加上邊界約束,注釋掉刻度層后的顯示效果圖,可以清楚地觀察到算法的效果;而下兩幅圖是兩臺(tái)顯示器和一個(gè)掃描單元同時(shí)連接到一臺(tái)路由器的LAN口,實(shí)現(xiàn)多屏顯示的效果圖,其中左下圖的顯示系統(tǒng)工作在Linux環(huán)境下,而右下圖的顯示系統(tǒng)工作在Windows環(huán)境下。
5 結(jié)論
系統(tǒng)基于組播機(jī)制實(shí)現(xiàn)了多屏顯示以及綜合船橋系統(tǒng)中的顯示切換,并優(yōu)化了一種三維查找表算法,很好地解決了雷達(dá)成像過(guò)程中的重點(diǎn)和漏點(diǎn)問(wèn)題。同時(shí)也解決了在進(jìn)行大量數(shù)據(jù)轉(zhuǎn)換的過(guò)程中,由于硬件資源的限制而造成的卡頓現(xiàn)象。在硬件平臺(tái)上的實(shí)際測(cè)試效果良好。
參考文獻(xiàn)
[1] 陳筱倩,周陬,王宏遠(yuǎn).基于IP組播的流媒體服務(wù)器軟件設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2004(12):76-80.
[2] 范多亮.雷達(dá)顯示終端中的死點(diǎn)分析[J].信息化研究,2010,36(3):13-15.
[3] 宋博文.基于FPGA實(shí)現(xiàn)雷達(dá)信號(hào)處理和圖像顯示的算法研究[D].大連:大連海事大學(xué),2007.
[4] 李榮忠,畢德倉(cāng),尹祺巍,等.基于查表的激光雷達(dá)圖像快速繪制算法[J].地理空間信息,2009,7(5):54-56.
[5] 劉翠海,王文清,袁滿(mǎn).一種支持雷達(dá)P顯仿真的實(shí)時(shí)坐標(biāo)變換策略[J].系統(tǒng)仿真學(xué)報(bào),2002,14(9):1136- 1138.
[6] 張凌燕.多媒體會(huì)議系統(tǒng)音、視頻傳輸組播題的研究[J].微電子學(xué)與計(jì)算機(jī),2003(12):22-26.