瞿 洋 , 許江寧 , 曹可勁 , 劉 睿
(1.海軍工程大學 導航工程系,湖北 武漢 430033;2.海軍92146部隊 廣東 湛江 524000)
無線氣象傳真接收機是船舶收集氣象信息的主要航保設備,普遍裝備至各大中型船舶。隨著對其研究的深入和產品的豐富,數字化的接收設備逐漸成為主流。但數字設備增多的同時也導致系統對硬件和功能結構產生更多的依賴[1]。與基于硬件的接收機相比,將氣象傳真機軟件化,使得其可以直接嵌入至現有的短波收信平臺,通過相關設置完成氣象傳真的接收功能。使用方式靈活、簡便,具有較高的實用價值。
解調模塊是軟件接收機的核心,解調效果的好壞也是評估軟件接收機性能的重要指標。目前國內主流無線氣象傳真機的解調核心大多采用的是基于DSP的非相干解調算法,雖然其在硬件實現上比較簡單,但在信噪比比較高的情況下,解調效果略遜于相干解調[2]。本工程應用中根據相干解調原理,使用數字正交解調的方法對接收信號進行處理。在驗證其可靠性的基礎上,將該調制方法進行軟件化編程,并成功整合至軟件接收機。由于解調作軟件化處理,使得軟件方便對數據后續分析處理,減弱相干解調在非理想環境中的負面影響。
無線氣象傳真機軟件利用現有硬件,只需要在現有工控機與短波接收設備接好連線并安裝好氣象傳真軟件,即可在工控機上完成氣象傳真圖的自動接收、顯示、存儲氣象圖等功能。系統整體結構如圖1所示。
信號首先經由射頻前端將射頻信號通過二次混頻變成中頻信號。隨后經過A/D轉換變成數字信號通過通信模塊傳送至軟件解調模塊。解調模塊是軟件對數據進行處理的主要部位,其首先對接收到的采樣數據進行濾波,再通過算法實現信號的數字解調,最后對數據信號進行門限判決理調,初步還原出原始傳真信號。解調后的信號需要先送至控制模塊進行啟停信號、傳輸模式信號的檢測,當檢測到起始信號后控制模塊便開啟軟件中的數據操作模塊,在該模塊中根據用戶需求選擇數據操作內容 ,如直接顯示氣象圖,保存數據等。
由系統整體結構框架可以看出,解調模塊是整個軟件的核心。只有將傳真信號先進行準確解調,才能正確引導控制模塊進行制式判決,從而對圖像數據進行后續的處理,保證整個接收圖像流程正常工作。
根據WMO建議9.TP.4關于收集和交換氣象資料設備的規定,氣象傳真信號傳播主要使用直接調頻(FM)的模擬方法或頻移鍵控(FSK)的數字方法[3]。該類制式的信號從解調的角度看,其在形式上并沒有本質上的區別,因此均可以采取正交的方法進行解調。
氣象傳真信號屬于窄帶信號,可以用以下模型表示:

式中,eiω0t為信號的載頻分量,它作為信號載體不含有用信息。將上式兩邊乘以e-iω0t,即把載頻下移ω0,變成零載頻,其結果就是零中頻信號,即:

式中 ZBI(t)=a(t)cosθ(t),ZBQ(t)=a(t)sinθ(t),分別為基帶信號的同相分量和正交分量。基帶信號為解析信號的復包絡,是一個復信號,基帶信號既有正頻分量,也有負頻分量,但其頻譜不具有共扼對稱性,若隨意剔除基帶信號的負頻分量,就會造成信息的丟失。在解調過程中只需要處理零中頻信號即基帶信號就可以恢復出調制信號。
調頻信號的正交基帶變換求解流程如圖2所示[4]。

圖2 調頻信號正交解調框圖Fig.2 Digital quadrature demodulation of FM signal
對于直接調頻的信號來說,其信號經過采集后可以表示為:

將其正交分解,得出同相分量和正交分量分別為:

對正交分量和同相分量的比值進行反正切運算,可得出信號的相位為:

對相位進行差分運算,可得瞬時角頻率為:

上式減去直流分量Δω就可以得到解調信號m(n)。
而對于采用二進制FSK信號,其處理流程與調頻信號相似。所不同的是在計算出瞬時頻率后,需要對解調出的信號進行門限判決,才可恢復出數字信號。
在Matlab里面運用正交解調的方法對實際信號進行仿真解調。該信號是經過單邊帶下變頻后中心頻率為1 900 Hz,上下頻偏為400 Hz的標準傳真信號。接收采樣率設為40 kHz,節選時間長度為2 min 48 s。信號波形如圖3所示。

圖3 實際氣象傳真信號Fig.3 Real meteorological facsimile signal
采用正交解調的方法對氣象傳真信號進行處理,得到初步解調的數據波形:

圖4 解調后數據波形Fig.4 Waveform of demodulated data
初步解調的數據需要進行門限判決,根據需要可以采用不同階不同閾值對數據進行分辨。用于仿真,此處只采用了0、1二值對數據進行理調,理調后的數據如圖5所示。

圖5 理調后二值圖像數據Fig.5 Waveform of monochrome data
將二值圖像數據進行合并壓縮、數值判決、數據結構變形后繪出的氣象傳真圖如圖6所示。

圖6 最終繪出的氣象圖Fig.6 Final demodulated meteorological facsimile image
通過最終解調的氣象圖看來,正交解調方法在處理該類信號時簡單準確,基本滿足接收機性能指標。
在Windows系統下進行軟件編程,與其他編程語言環境相比,使用Visual C++比使用VB語言編程擁有更多靈活性,又不像Delphi語言那樣需要過多編程技巧和經驗。在微軟的Visual C++6.0的版本中,其將大量的Windows API函數進行封裝,并通過MFC的方式提供給程序開發人員,使得開發人員可以很方便地對程序進行各種操作,從而大大簡化了編程工作,提高工作效率[5]。因此,本軟件開發主要使用VC++進行開發。
解調模塊從編程角度將其分為界面層、功能代碼層、基礎操作層3個層次。界面層完成與用戶交互操作并將命令參數發送給功能代碼層;功能代碼層接收參數,翻譯后發送給基礎操作層;基礎操作層根據功能代碼層傳遞過來的命令完成相應的基礎操作,如硬件的數據采集、數據解調、數據保存等。為實現解調模塊的實時性,模塊預先開辟了三內存區間,并采取類似DSP硬件中基于中斷的PING-PONG結構進行處理。保證一個緩存空間數據在做解調的同時,另一個緩存不會間斷數據傳遞。為了保證數據的連續性,還多開辟一個緩存空間防止數據丟失或溢出。
整個模塊數據處理的具體流程如圖7所示。

圖7 解調模塊的軟件實現流程圖Fig.7 Flow chart of demodulation module
程序開始時根據傳遞過來的參數設置完成自身初始化工作,包括內存空間的分配、帶通濾波器的預置、采集硬件的準備等。之后打開采集硬件進行數據的實時采集,此時數據為未作處理的原始信息數據,通過軟件的制式檢測模塊先進行信號的判別。當檢測到是氣象傳真圖的信號并檢測到其起始信號后,數據類型為BOOL的成員變量m_IsStart置位TRUE并進入數據解調運算流程。
程序首先將一塊已寫滿數據的緩存區數據導出至存儲長度相同的數組s(n),通過正交變換函數分離成待處理數據z_real(n)和 z_imag(n),作為解析函數 z(n)的實部和虛部,然后使用VC++提供的數學庫函數計算出解析函數z(n)相位角,由于直接計算出來的相位角范圍在±π,在其邊緣的相位角有可能出現跳變,導致解調出來的相位信息不連續[6]。因此解調時需要在其后加上相位角修正的函數,保證解調數據的正確。最后對修正后的相位角進行差分運算,經過判決后得出原信號信息。一次數據解調完畢后BOOL值成員變量m_IsEnd置位TRUE,而后重置本次處理數據的緩存區,重新將其加入到接收數據隊列中。
按照如上流程不間斷地對接收信號進行處理,直到軟件檢測模塊檢測到圖像的結束信號或者手動停止接收信號。解調模塊停止接收數據,釋放占用內存,重置各參數,整個接收流程結束。
最終完成的氣象接收軟件將顯示灰階定位9階,基本可以滿足目前所有的氣象傳真圖接收顯示指標。將工控機與前端射頻接收硬件模塊連接好后,軟件合作系數設為576,掃描行速為120線/分鐘,工控機數據采樣率設為40 kHz。實測信號為JMH氣象傳真服務短波電臺測試圖像信號,理論中心頻率為1 900 Hz,實測中頻為1 930 Hz,經軟件自適應修正后,顯示正常。實際測試效果如圖8所示。

圖8 實測接收氣象傳真圖Fig.8 Receive test of the software
通過軟件實際運行測試可以看出,利用正交解調的方法對調頻和頻移鍵控信號進行解調,并在此基礎上完成無線氣象軟件接收機的設計及實現,解調效果與硬件接收機相比無明顯差別。但其所需開發工具簡單,系統安全穩定,解調準確快速,對數據的后續處理方便。另外由于接收機采用的是軟件模式,使得其具有很強的可擴展性和可移植性,應用前景十分廣闊。
[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++開發技術大全[M].北京:人民郵電出版社,2007:4-5.
[6]胡廣書.數字信號處理[M].北京:清華大學出版社,2003:435-438.