王謙誠(chéng),李 強(qiáng),周 元,萬(wàn) 岳
(中國(guó)船舶集團(tuán)有限公司第八研究院,南京 211153)
實(shí)時(shí)頻譜分析技術(shù)(RTSA)[1]是目前最強(qiáng)大的電磁頻譜監(jiān)測(cè)與分析技術(shù),在捕獲帶寬內(nèi),可以監(jiān)測(cè)所有的瞬態(tài)信號(hào)、動(dòng)態(tài)信號(hào)、射頻脈沖,提高了猝發(fā)信號(hào)的截獲能力。用戶應(yīng)用數(shù)字熒光頻譜顯示技術(shù)繪制數(shù)字熒光頻譜圖,從而觀測(cè)當(dāng)前的電磁頻譜信息。數(shù)字熒光頻譜顯示技術(shù)是RTSA最顯著的功能,能夠通過(guò)顯示畫(huà)面中顏色差異直觀地向用戶展示各種信號(hào)發(fā)生的概率。
數(shù)字熒光頻譜數(shù)據(jù)量大,每幀數(shù)據(jù)量不低于1 MB,為了滿足人眼的感官要求,數(shù)字熒光頻譜通常每秒刷新25~30幀,要在一次刷新時(shí)間內(nèi),軟件處理接收到全部數(shù)據(jù)后并完成圖形繪制[2]。高頻率的刷新會(huì)導(dǎo)致瞬態(tài)信號(hào)在圖形界面上一閃而過(guò),無(wú)法被人眼捕獲;一些弱強(qiáng)度信號(hào)也容易被忽略。本文頻譜圖的刷新率為30 幀/s,通過(guò)數(shù)字余暉技術(shù)觀測(cè)信號(hào)變化軌跡,并提出一種顯示強(qiáng)度修正方法來(lái)整體提高顯示強(qiáng)度。此外,顯示軟件對(duì)跨平臺(tái)和可移植性要求不斷提高,本文采用具備跨平臺(tái)開(kāi)發(fā)能力的Qt作為開(kāi)發(fā)工具,利用Qt中開(kāi)放式圖表繪制庫(kù)完成數(shù)字熒光頻譜圖的繪制。
數(shù)字熒光頻譜顯示畫(huà)面基于實(shí)時(shí)頻譜接收機(jī)計(jì)算生成的位圖矩陣(bitmap)[3]。實(shí)時(shí)頻譜接收機(jī)將信號(hào)頻譜圖化分成密集的矩陣,其中列標(biāo)定頻譜軌跡幅度值,行標(biāo)定頻率軸上的各個(gè)頻率點(diǎn),每個(gè)矩陣單元的繪制內(nèi)容為該單元頻率-幅度信息對(duì)在單位時(shí)間內(nèi)的頻譜命中次數(shù)。將這些命中次數(shù)按比例著色顯示,生成可以用眼睛直接區(qū)分出正常信號(hào)、突發(fā)瞬變信號(hào)以及背景噪聲的圖片。
在具體的工程實(shí)現(xiàn)中位圖矩陣由上千個(gè)行和列組成,本節(jié)使用11*10矩陣說(shuō)明其基本原理。如圖1(a)所示,單個(gè)頻譜映射到位圖矩陣中之后含有多個(gè)空矩陣,這些空矩陣意味著該次頻譜變換結(jié)果中沒(méi)有和它們相符合的頻率-幅度信息對(duì);圖1(b)顯示的是再進(jìn)行9次頻譜變換累積后映射到位圖矩陣后的結(jié)果。
(a)更新1次
數(shù)字熒光頻譜包含了一段時(shí)間內(nèi)頻率、幅度及命中次數(shù)的三維信息,提供這段時(shí)間內(nèi)所有信號(hào)的頻譜態(tài)勢(shì)。為了進(jìn)一步提升視覺(jué)效果,通常采用不同顏色區(qū)分信號(hào)的命中概率,如圖2所示。命中概率值越大,顏色越接近暖色系;命中概率值越小,越接近冷色系;當(dāng)命中概率為0時(shí),顯示為黑色。
圖2 位圖矩陣著色后的效果示意
Qt是一個(gè)跨平臺(tái)的C++圖形界面開(kāi)發(fā)框架。QCustomPlot是用戶繪圖和數(shù)據(jù)可視化的Qt C++庫(kù),能繪制出高品質(zhì)的圖表,提高實(shí)時(shí)可視化應(yīng)用程序的性能,且具有文檔記錄功能。
QCustomPlot的使用不依賴于任何構(gòu)件,只需在工程中加入頭文件qcustomplot.h和類文件qcustomplot.cpp,再將界面類(Qwidget)提升為QCustomPlot類,即可使用。QCustomPlot的繪制圖層共分為6個(gè):背景層、網(wǎng)格層、繪圖層、坐標(biāo)軸層、圖例層和overlay層,用于完成不同顯示內(nèi)容的渲染,見(jiàn)圖3。
圖3 QCustomPlot繪制分層架構(gòu)
QCPColorMap為QCustomPlot中的色譜圖功能。QCPColorMap繪制方法大致分為以下4步:
(1)初始化圖紙
設(shè)置整個(gè)色譜圖的大小,如設(shè)置一個(gè)m*n個(gè)點(diǎn)的色譜圖,代碼為qColorMap->data()->setSize(m,n);
(2)創(chuàng)建色度圖標(biāo)尺
色度圖標(biāo)尺用于確定輸入數(shù)據(jù)的范圍,根據(jù)最大最小法量化顯示數(shù)據(jù),并將其映射成不同的顏色,代碼為QCPColorScale.setRange(min,max);qColorMap->setColorScale( QCPColorScale);
(3)定義二維數(shù)組緩存數(shù)據(jù)
存儲(chǔ)數(shù)據(jù)格式代碼為QList
每一個(gè)QVector類型數(shù)據(jù)為位圖矩陣單列數(shù)據(jù);
(4)輸入數(shù)據(jù)并顯示
定時(shí)讀取緩存數(shù)據(jù),利用setCell()函數(shù),按數(shù)據(jù)橫、縱坐標(biāo)的位置顯示在界面上,具體代碼為setCell(i,j,qRound(value_lofar[i][j])。
完成讀取后,調(diào)用replot()函數(shù)實(shí)時(shí)刷新圖像。
數(shù)字余暉技術(shù)是熒光頻譜圖中用于觀測(cè)信號(hào)變化軌跡的一種顯示技術(shù),實(shí)時(shí)頻譜分析在概率密度統(tǒng)計(jì)處理的基礎(chǔ)上,加入了數(shù)字余暉功能來(lái)突出顯示觀測(cè)到的信號(hào)。余暉可使熒光在顯示器上暫存一定時(shí)間,便于觀測(cè)信號(hào);數(shù)字余暉技術(shù)也有助于觀測(cè)到信號(hào)的變化過(guò)程。
如果沒(méi)有余暉效果,熒光將在下一個(gè)刷新周期消失,因此當(dāng)熒光頻譜圖刷新速率快于人眼識(shí)別時(shí)間時(shí),人眼將很難察覺(jué)到顯示概率低的信號(hào)。在實(shí)時(shí)頻譜接收機(jī)中,概率密度統(tǒng)計(jì)后的數(shù)值經(jīng)顏色映射后將命中次數(shù)轉(zhuǎn)變?yōu)榱祟伾怕市畔?而不同的余暉會(huì)表現(xiàn)出不同的效果,從概率密度圖可以清晰地反映出來(lái)。圖4~6分別給出了不同余暉效果下經(jīng)過(guò)3次刷新時(shí)間圖像顯示效果的變化情況。
圖4 無(wú)余暉效果示意圖
圖 4 為沒(méi)有余暉的效果示意,關(guān)閉余暉,概率密度余暉處理在每次統(tǒng)計(jì)完一幅圖像后進(jìn)行清屏,這樣在進(jìn)行下一次密度統(tǒng)計(jì)前不會(huì)累積之前的數(shù)據(jù)。
圖5為可變余暉的效果示意,為實(shí)現(xiàn)可變余暉,概率密度統(tǒng)計(jì)會(huì)把上一幅圖像的部分統(tǒng)計(jì)數(shù)值在下一次統(tǒng)計(jì)時(shí)疊加上去,可以看出顯示顏色逐漸變淡,調(diào)節(jié)疊加的數(shù)值比例,可以改變信號(hào)事件從顯示器上衰退所需的時(shí)間長(zhǎng)度。
圖5 可變余暉效果示意圖
圖6為無(wú)窮余暉的效果示意圖,無(wú)窮大余暉可以一直累積統(tǒng)計(jì)數(shù)據(jù),直到發(fā)送清除指令才會(huì)進(jìn)行清屏的操作??梢钥闯?在新的一次統(tǒng)計(jì)到來(lái)時(shí)不會(huì)清除或衰減任何上一次統(tǒng)計(jì)的數(shù)據(jù),而是將數(shù)據(jù)全部保留到下一次統(tǒng)計(jì)中。由于顏色映射中顏色值保留最大值,所以在無(wú)窮大余暉中會(huì)一直保持全部信號(hào),從而保證在無(wú)窮大余暉下不會(huì)漏掉任何信號(hào)事件。
圖6 無(wú)窮余暉效果示意圖
概率密度統(tǒng)計(jì)產(chǎn)生的統(tǒng)計(jì)值就是顯示強(qiáng)度值,統(tǒng)計(jì)數(shù)值與相應(yīng)的顏色標(biāo)度對(duì)應(yīng),數(shù)據(jù)可以轉(zhuǎn)化成相應(yīng)的概率信息。但是在實(shí)際使用過(guò)程中,由于統(tǒng)計(jì)信號(hào)本身采用線性量化,用戶關(guān)心的猝發(fā)信號(hào)顯示強(qiáng)度過(guò)低,不易察覺(jué)。為了提高對(duì)猝發(fā)信號(hào)的人眼視覺(jué)發(fā)現(xiàn)能力,本文采用對(duì)數(shù)歸一化映射對(duì)概率密度統(tǒng)計(jì)矩陣進(jìn)行平滑處理。
整體提高顯示強(qiáng)度的處理計(jì)算公式如下:
(1)
式中,P為顯示強(qiáng)度;NFFT為實(shí)時(shí)頻譜接收機(jī)每秒鐘運(yùn)算的FFT次數(shù);R為每秒鐘的刷新次數(shù);α為余暉系數(shù);T為當(dāng)前幀的頻譜概率密度統(tǒng)計(jì)結(jié)果;Tlast為歷史概率密度統(tǒng)計(jì)計(jì)算結(jié)果。
可以看出,顯示強(qiáng)度受實(shí)時(shí)頻譜接收機(jī)每秒的FFT次數(shù)、顯示刷新率和余暉強(qiáng)度限制,也與系統(tǒng)的數(shù)據(jù)處理能力有關(guān),刷新率R通常設(shè)置為30~40 幀/s。
本文采用2.4GWIF、Buletooth4.0和Buletooth5.1信號(hào)分別繪制低余暉頻譜圖和高余暉頻譜圖:2.4GWIFI信號(hào)的帶寬為20 MHz,當(dāng)傳輸數(shù)據(jù)量較大時(shí),信號(hào)占空比較高;Buletooth4.0信號(hào)為跳頻通信,從2 400 MHz到2 480 MHz共80 MHz帶寬,含40個(gè)頻點(diǎn),每個(gè)頻點(diǎn)間隔2 MHz,其中有37個(gè)頻點(diǎn)用于通信,3個(gè)頻點(diǎn)用于廣播頻點(diǎn)(2 402、2 426、2 480);Buletooth5.1協(xié)議頻點(diǎn)2 400 MHz到2 480 MHz共80 MHz帶寬,含80個(gè)頻點(diǎn),每個(gè)頻點(diǎn)間隔1 MHz。
圖7是在屏幕刷新率30 幀/s時(shí)低余暉系數(shù)下的2.4GWIFI信號(hào)和Buletooth信號(hào)的顯示強(qiáng)度修正后的顯示效果;圖8是在屏幕刷新率30 幀/s時(shí)高余暉系數(shù)下的2.4GWIFI信號(hào)和Buletooth信號(hào)的顯示強(qiáng)度修正后的顯示效果。
圖7 低余暉系數(shù)效果圖
圖8 高余暉系數(shù)效果圖
與圖7相比,圖8中的高余暉強(qiáng)度圖中低占空比的Buletooth信號(hào)顯示效果更加清晰,2.4GWIFI信號(hào)的包絡(luò)更鮮明銳利。
本文采用不同調(diào)制類型的兩組信號(hào)繪制頻譜。圖9是對(duì)重復(fù)周期50 μs、脈寬13 μs的13位Barke碼脈沖信號(hào)的頻譜顯示效果,圖10是對(duì)重復(fù)周期50 μs、脈寬10 μs、帶寬10 MHz帶寬線性調(diào)頻信號(hào)的頻譜顯示效果,通過(guò)數(shù)字熒光頻譜圖可以輕易分辨出雷達(dá)信號(hào)的調(diào)制類型。
圖9 巴克碼脈沖信號(hào)效果圖
圖10 線性調(diào)頻脈沖信號(hào)繪制效果圖
綜上所述,本文方法可以有效顯示各種信號(hào)的數(shù)字熒光頻譜圖,具備對(duì)瞬態(tài)信號(hào)、動(dòng)態(tài)信號(hào)和射頻脈沖等信號(hào)的顯示監(jiān)測(cè)能力。
本文基于QT的數(shù)字熒光頻譜顯示技術(shù)能夠滿足實(shí)時(shí)頻譜接收機(jī)的顯示要求,可應(yīng)用于國(guó)產(chǎn)化平臺(tái),能夠適應(yīng)現(xiàn)代復(fù)雜的戰(zhàn)場(chǎng)電磁環(huán)境中各種瞬態(tài)、動(dòng)態(tài)、射頻脈沖的捕獲和觀察,有效解決程序的跨平臺(tái)問(wèn)題,滿足現(xiàn)代化雷達(dá)國(guó)產(chǎn)化需求。目前該頻譜圖預(yù)處理程序和顯示處理程序?yàn)閮蓚€(gè)獨(dú)立的程序模塊,將來(lái)可將這兩個(gè)程序模塊優(yōu)化合并,進(jìn)一步方便用戶使用。