瞿 洋 , 許江寧 , 曹可勁 , 劉 睿
(1.海軍工程大學 導航工程系,湖北 武漢 430033;2.海軍92146部隊 廣東 湛江 524000)
無線氣象傳真接收機是船舶收集氣象信息的主要航保設(shè)備,普遍裝備至各大中型船舶。隨著對其研究的深入和產(chǎn)品的豐富,數(shù)字化的接收設(shè)備逐漸成為主流。但數(shù)字設(shè)備增多的同時也導致系統(tǒng)對硬件和功能結(jié)構(gòu)產(chǎn)生更多的依賴[1]。與基于硬件的接收機相比,將氣象傳真機軟件化,使得其可以直接嵌入至現(xiàn)有的短波收信平臺,通過相關(guān)設(shè)置完成氣象傳真的接收功能。使用方式靈活、簡便,具有較高的實用價值。
解調(diào)模塊是軟件接收機的核心,解調(diào)效果的好壞也是評估軟件接收機性能的重要指標。目前國內(nèi)主流無線氣象傳真機的解調(diào)核心大多采用的是基于DSP的非相干解調(diào)算法,雖然其在硬件實現(xiàn)上比較簡單,但在信噪比比較高的情況下,解調(diào)效果略遜于相干解調(diào)[2]。本工程應(yīng)用中根據(jù)相干解調(diào)原理,使用數(shù)字正交解調(diào)的方法對接收信號進行處理。在驗證其可靠性的基礎(chǔ)上,將該調(diào)制方法進行軟件化編程,并成功整合至軟件接收機。由于解調(diào)作軟件化處理,使得軟件方便對數(shù)據(jù)后續(xù)分析處理,減弱相干解調(diào)在非理想環(huán)境中的負面影響。
無線氣象傳真機軟件利用現(xiàn)有硬件,只需要在現(xiàn)有工控機與短波接收設(shè)備接好連線并安裝好氣象傳真軟件,即可在工控機上完成氣象傳真圖的自動接收、顯示、存儲氣象圖等功能。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
信號首先經(jīng)由射頻前端將射頻信號通過二次混頻變成中頻信號。隨后經(jīng)過A/D轉(zhuǎn)換變成數(shù)字信號通過通信模塊傳送至軟件解調(diào)模塊。解調(diào)模塊是軟件對數(shù)據(jù)進行處理的主要部位,其首先對接收到的采樣數(shù)據(jù)進行濾波,再通過算法實現(xiàn)信號的數(shù)字解調(diào),最后對數(shù)據(jù)信號進行門限判決理調(diào),初步還原出原始傳真信號。解調(diào)后的信號需要先送至控制模塊進行啟停信號、傳輸模式信號的檢測,當檢測到起始信號后控制模塊便開啟軟件中的數(shù)據(jù)操作模塊,在該模塊中根據(jù)用戶需求選擇數(shù)據(jù)操作內(nèi)容 ,如直接顯示氣象圖,保存數(shù)據(jù)等。
由系統(tǒng)整體結(jié)構(gòu)框架可以看出,解調(diào)模塊是整個軟件的核心。只有將傳真信號先進行準確解調(diào),才能正確引導控制模塊進行制式判決,從而對圖像數(shù)據(jù)進行后續(xù)的處理,保證整個接收圖像流程正常工作。
根據(jù)WMO建議9.TP.4關(guān)于收集和交換氣象資料設(shè)備的規(guī)定,氣象傳真信號傳播主要使用直接調(diào)頻(FM)的模擬方法或頻移鍵控(FSK)的數(shù)字方法[3]。該類制式的信號從解調(diào)的角度看,其在形式上并沒有本質(zhì)上的區(qū)別,因此均可以采取正交的方法進行解調(diào)。
氣象傳真信號屬于窄帶信號,可以用以下模型表示:
式中,eiω0t為信號的載頻分量,它作為信號載體不含有用信息。將上式兩邊乘以e-iω0t,即把載頻下移ω0,變成零載頻,其結(jié)果就是零中頻信號,即:
式中 ZBI(t)=a(t)cosθ(t),ZBQ(t)=a(t)sinθ(t),分別為基帶信號的同相分量和正交分量?;鶐盘枮榻馕鲂盘柕膹桶j(luò),是一個復信號,基帶信號既有正頻分量,也有負頻分量,但其頻譜不具有共扼對稱性,若隨意剔除基帶信號的負頻分量,就會造成信息的丟失。在解調(diào)過程中只需要處理零中頻信號即基帶信號就可以恢復出調(diào)制信號。
調(diào)頻信號的正交基帶變換求解流程如圖2所示[4]。
圖2 調(diào)頻信號正交解調(diào)框圖Fig.2 Digital quadrature demodulation of FM signal
對于直接調(diào)頻的信號來說,其信號經(jīng)過采集后可以表示為:
將其正交分解,得出同相分量和正交分量分別為:
對正交分量和同相分量的比值進行反正切運算,可得出信號的相位為:
對相位進行差分運算,可得瞬時角頻率為:
上式減去直流分量Δω就可以得到解調(diào)信號m(n)。
而對于采用二進制FSK信號,其處理流程與調(diào)頻信號相似。所不同的是在計算出瞬時頻率后,需要對解調(diào)出的信號進行門限判決,才可恢復出數(shù)字信號。
在Matlab里面運用正交解調(diào)的方法對實際信號進行仿真解調(diào)。該信號是經(jīng)過單邊帶下變頻后中心頻率為1 900 Hz,上下頻偏為400 Hz的標準傳真信號。接收采樣率設(shè)為40 kHz,節(jié)選時間長度為2 min 48 s。信號波形如圖3所示。
圖3 實際氣象傳真信號Fig.3 Real meteorological facsimile signal
采用正交解調(diào)的方法對氣象傳真信號進行處理,得到初步解調(diào)的數(shù)據(jù)波形:
圖4 解調(diào)后數(shù)據(jù)波形Fig.4 Waveform of demodulated data
初步解調(diào)的數(shù)據(jù)需要進行門限判決,根據(jù)需要可以采用不同階不同閾值對數(shù)據(jù)進行分辨。用于仿真,此處只采用了0、1二值對數(shù)據(jù)進行理調(diào),理調(diào)后的數(shù)據(jù)如圖5所示。
圖5 理調(diào)后二值圖像數(shù)據(jù)Fig.5 Waveform of monochrome data
將二值圖像數(shù)據(jù)進行合并壓縮、數(shù)值判決、數(shù)據(jù)結(jié)構(gòu)變形后繪出的氣象傳真圖如圖6所示。
圖6 最終繪出的氣象圖Fig.6 Final demodulated meteorological facsimile image
通過最終解調(diào)的氣象圖看來,正交解調(diào)方法在處理該類信號時簡單準確,基本滿足接收機性能指標。
在Windows系統(tǒng)下進行軟件編程,與其他編程語言環(huán)境相比,使用Visual C++比使用VB語言編程擁有更多靈活性,又不像Delphi語言那樣需要過多編程技巧和經(jīng)驗。在微軟的Visual C++6.0的版本中,其將大量的Windows API函數(shù)進行封裝,并通過MFC的方式提供給程序開發(fā)人員,使得開發(fā)人員可以很方便地對程序進行各種操作,從而大大簡化了編程工作,提高工作效率[5]。因此,本軟件開發(fā)主要使用VC++進行開發(fā)。
解調(diào)模塊從編程角度將其分為界面層、功能代碼層、基礎(chǔ)操作層3個層次。界面層完成與用戶交互操作并將命令參數(shù)發(fā)送給功能代碼層;功能代碼層接收參數(shù),翻譯后發(fā)送給基礎(chǔ)操作層;基礎(chǔ)操作層根據(jù)功能代碼層傳遞過來的命令完成相應(yīng)的基礎(chǔ)操作,如硬件的數(shù)據(jù)采集、數(shù)據(jù)解調(diào)、數(shù)據(jù)保存等。為實現(xiàn)解調(diào)模塊的實時性,模塊預先開辟了三內(nèi)存區(qū)間,并采取類似DSP硬件中基于中斷的PING-PONG結(jié)構(gòu)進行處理。保證一個緩存空間數(shù)據(jù)在做解調(diào)的同時,另一個緩存不會間斷數(shù)據(jù)傳遞。為了保證數(shù)據(jù)的連續(xù)性,還多開辟一個緩存空間防止數(shù)據(jù)丟失或溢出。
整個模塊數(shù)據(jù)處理的具體流程如圖7所示。
圖7 解調(diào)模塊的軟件實現(xiàn)流程圖Fig.7 Flow chart of demodulation module
程序開始時根據(jù)傳遞過來的參數(shù)設(shè)置完成自身初始化工作,包括內(nèi)存空間的分配、帶通濾波器的預置、采集硬件的準備等。之后打開采集硬件進行數(shù)據(jù)的實時采集,此時數(shù)據(jù)為未作處理的原始信息數(shù)據(jù),通過軟件的制式檢測模塊先進行信號的判別。當檢測到是氣象傳真圖的信號并檢測到其起始信號后,數(shù)據(jù)類型為BOOL的成員變量m_IsStart置位TRUE并進入數(shù)據(jù)解調(diào)運算流程。
程序首先將一塊已寫滿數(shù)據(jù)的緩存區(qū)數(shù)據(jù)導出至存儲長度相同的數(shù)組s(n),通過正交變換函數(shù)分離成待處理數(shù)據(jù)z_real(n)和 z_imag(n),作為解析函數(shù) z(n)的實部和虛部,然后使用VC++提供的數(shù)學庫函數(shù)計算出解析函數(shù)z(n)相位角,由于直接計算出來的相位角范圍在±π,在其邊緣的相位角有可能出現(xiàn)跳變,導致解調(diào)出來的相位信息不連續(xù)[6]。因此解調(diào)時需要在其后加上相位角修正的函數(shù),保證解調(diào)數(shù)據(jù)的正確。最后對修正后的相位角進行差分運算,經(jīng)過判決后得出原信號信息。一次數(shù)據(jù)解調(diào)完畢后BOOL值成員變量m_IsEnd置位TRUE,而后重置本次處理數(shù)據(jù)的緩存區(qū),重新將其加入到接收數(shù)據(jù)隊列中。
按照如上流程不間斷地對接收信號進行處理,直到軟件檢測模塊檢測到圖像的結(jié)束信號或者手動停止接收信號。解調(diào)模塊停止接收數(shù)據(jù),釋放占用內(nèi)存,重置各參數(shù),整個接收流程結(jié)束。
最終完成的氣象接收軟件將顯示灰階定位9階,基本可以滿足目前所有的氣象傳真圖接收顯示指標。將工控機與前端射頻接收硬件模塊連接好后,軟件合作系數(shù)設(shè)為576,掃描行速為120線/分鐘,工控機數(shù)據(jù)采樣率設(shè)為40 kHz。實測信號為JMH氣象傳真服務(wù)短波電臺測試圖像信號,理論中心頻率為1 900 Hz,實測中頻為1 930 Hz,經(jīng)軟件自適應(yīng)修正后,顯示正常。實際測試效果如圖8所示。
圖8 實測接收氣象傳真圖Fig.8 Receive test of the software
通過軟件實際運行測試可以看出,利用正交解調(diào)的方法對調(diào)頻和頻移鍵控信號進行解調(diào),并在此基礎(chǔ)上完成無線氣象軟件接收機的設(shè)計及實現(xiàn),解調(diào)效果與硬件接收機相比無明顯差別。但其所需開發(fā)工具簡單,系統(tǒng)安全穩(wěn)定,解調(diào)準確快速,對數(shù)據(jù)的后續(xù)處理方便。另外由于接收機采用的是軟件模式,使得其具有很強的可擴展性和可移植性,應(yīng)用前景十分廣闊。
[1]Bodson D,Cramer B G,Deutermann A R,et al.Facsimile transmission via HF radio[J].IEEE Transactions On Vehicular Technology,1991,40(3):515-520.
[2]Azzouz E E,Nandi A K.Automatic identification of digital modulations types[J].Signal Processing,1995,47(1):55-69.
[3]朱濤,張英元.氣象圖傳真接收機[M].武漢:海軍工程大學出版社,1992:61-67.
[4]Grayver E,Daneshrad B.A low-power all-digital FSK recevierfor spaee applications[J].IEEE Transactions on Communications,2001,49(5):911-921.
[5]宋坤,劉銳寧,李偉明.Visual C++開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007:4-5.
[6]胡廣書.數(shù)字信號處理[M].北京:清華大學出版社,2003:435-438.