郎亞軍,行鴻彥*
(1.南京信息工程大學氣象災害預報預警與評估協同創新中心,南京 210044; 2.南京信息工程大學江蘇省氣象探測與信息處理重點實驗室,南京 210044;)
隨著社會的發展,在惡劣環境下對降水進行實時自動的測量越來越重要[1]。尤其是在機場高速公路、氣象等領域,對降水的自動監測越來越重要。機場、高速等領域對降水的實時測量有助于采取應急措施;氣象等領域可以根據降水分析天氣及氣候變化。因此,對降水的實時測量影響著人類社會的方方面面。
傳統機械式雨量計從原理上可以分為:虹吸式雨量計、翻斗式雨量計、稱重式雨量計等。但是無一例外都存在以下幾個缺點[2]:降雨太小時無法進行實時測量,靈敏度低;強降雨時又會產生明顯誤差;機械部分長期暴露在野外會被腐蝕;需要人為定期清理和維護,否則集水通道會被雜物堵塞;體積太大,不能動態測量[3]。
除了傳統的雨量計,目前國內市場上已有的光學雨量計多被應用于非氣象領域,如汽車自動雨量傳感器,有如下缺點:測量范圍小、誤差大、隨機性高,只能實現功能性的測量。國外上世紀50年代就開始了自動量計的研究,起步較早,其中以光學降水測量技術為主,目前已實現了降水的連續、非接觸自動測量,可以提高時間分辨率的降水粒子微觀信息。比較成熟的產品有:FD12P、PWD系列天氣現象傳感器[4];德國OTT-Parsivel雨滴譜儀和Thies-LAM雨滴譜儀;WIVIS、OWI;二維成像雨量計等,采用的原理主要是散射測量法、消光遮蔽法、圖像采集法等。國內方面起步較晚,存在一定的差距,成熟的樣機產品更是少之又少,主要有光學測量和超聲波測量。因此,研究有我國自主知識產權的光學雨量計迫在眉睫,意義重大[5]。
本文設計了基于全連接神經網絡的紅外漫反射光學雨量計,提出了該雨量計的系統結構及原理技術,設計了硬件電路,并在人工降雨實驗室條件下對降雨進行測量,算法擬合出降水頻率與降雨強度的函數模型,最終將函數模型寫入硬件中,實現了自動雨量計的設計。可以有效提高測量精度和靈敏度,彌補傳統雨量計的缺陷,為日常生活及氣象觀測領域帶來便利[6]。
基于全連接神經網絡的紅外漫反射光學自動雨量計系統主要由振蕩信號發生模塊、紅外光電傳感器、信號放大采樣模塊、MCU模塊組成,如圖1所示。

圖1 系統結構框圖
振蕩信號發生模塊給紅外發射模塊提供38 kHz的方波調制信號,調制信號有助于避免環境光的干擾;紅外發射端將調制后的數字信號轉換為光信號發射出去;紅外接收端將反射回來的光信號轉換為模擬信號;信號放大采樣模塊將采集的模擬信號進行放大采樣;MCU模塊對采集的數字信號進行處理及控制各個模塊[7]。
當光照射到固體表面時,會發生反射和散射。然而當光束入射至顆粒狀的晶面層時,一部分光在表層各晶粒面產生鏡面反射;另一部分光則折射入表層晶粒內部,經部分吸收后射至內部晶粒界面,再發生發射、折射吸收[8]。如此多次重復,最后由粉末表層朝各個方向反射出來,構成了漫反射。由于雨滴是顆粒狀的,因此在一定強度的降雨條件下,可以將雨滴看成是表面粗糙的鏡面層,光束經過雨滴將發生漫反射。雨滴連續經過光路時,接收端的光信號將發生變化,計算出接收到的光信號頻率,并與降雨強度進行人工神經網絡的非線性擬合,得出二者關系。
2.1.1 紅外發射模塊設計
本設計將電信號經調制器調制成頻率為38 kHz的調制信號,驅動紅外二極管發射紅外光,該頻率是遠大于雨滴下落頻率的,同時也高于環境中光信號的波動頻率,可以有效避免環境中可見光的干擾,提高抗干擾性和測量精度。38 kHz的調制信號采用RC環形振蕩器產生,可通過改變R和C的數值實現對輸出頻率的調節,近似簡化為:
T≈2.2RC
(1)
紅外發射模塊設計思路如圖2所示。

圖2 發射端工作原理圖
2.1.2 紅外接收模塊設計

圖3 接收端工作原理圖
紅外接收模塊必須具有較高靈敏度,便于從環境的可見光等干擾信號中識別出有用信號。采用低功耗的HS0038B光電傳感器接收紅外光信號,工作電流為0.25 mA,傳感器內部的金屬屏蔽和智能自動增益電路,具有抗干擾能力和高靈敏度。接收的電信號經放大解調即可得到脈沖頻率,匹配相應的降雨強度。時鐘邏輯將解調信號通過負載最終傳送給MCU模塊。紅外發射模塊設計思路如圖3所示。
微控制器采用STM32F103c8t6,該單片機使用高性能的ARM32位的Cortex-M3的RISC內核,工作頻率為72 MHz,內置高達128 kbyte的閃存和20 kbyte的SRAM,豐富的增強I/O端口和聯接到兩條APB總線的外設。MCU模塊接收來自光電傳感器的電信號。當光路上沒有雨滴遮擋時,電信號一直是高電平的,雨滴經過光路將產生一個低電平[9]。設置微控制器對輸入信號進行捕獲,第1次捕獲下降沿,第2次捕獲上升沿,將兩次捕獲時間間隔相減即可得出雨滴經過時的低脈沖寬度[10]。將雨滴的降落時間周期取倒數即可求出降雨頻率為后面的算法處理提供依據。
雨量計的軟件設計以穩定和簡單為前提,采用定時器中斷方式決定采集雨滴頻率的周期,在中斷服務程序中定義中斷標志位,軟件流程如圖4所示。

圖4 主程序流程圖
得益于深度學習的發展,人工神經網絡模型可以對數據進行高度抽象表達,還能夠有效學習復雜映射關系。卷積神經網絡主要用于圖像處理和計算機視覺,因此本文選擇全連接神經網絡。輸入頻率數據為20維,因此設計網絡輸入層含有20個人工神經元。由于只有一個輸出降雨強度,因此輸出層含有1個人工神經元。隱藏層也同樣設計成20個神經元[11]。

圖5 人工神經網絡結構
可以看出,前一層的每一個網絡節點都與后一層的任意網絡節點相連,輸入層節點個數為n,隱含層節點個數為l,輸出層節點個數為m。輸入層到隱藏層的權重為wij,隱藏層到輸出層的權重為wjk,輸入層到隱藏層的偏置值為aj,隱藏層到輸出層的偏置值為bk,學習率為η,激勵函數g(t)取雙曲正切函數,如下:
(2)

(3)
輸出層的輸出Ok可表示為:
(4)
用二次代價函數衡量輸出層的預測值Ok與實際值Yk的差別:
(5)
為了使訓練的結果更加準確,即需要得到誤差函數E的最小值,這是一個反向傳播的過程,使用梯度下降算法從輸出層到輸入層分別對權值和偏置值進行更新[12]。
記Yk-Ok=ek,則隱藏層到輸出層的權值和偏置值更新如下:
推導出更新公式為:
wjk=wjk+ηHjek
(6)
bk=bk+ηek
(7)
輸入層到隱藏層的權值和偏置值更新如下:
推導出更新公式為:
(8)
(9)
通過訓練不斷更新神經網絡中的權值和偏置值,最終得到最小的誤差函數E,進而擬合出降雨頻率與降雨強度的關系[13]:
(10)
在實驗室環境下用蠕動泵控制水壓,配合噴頭實現人工降雨,調節水壓模擬不同降雨強度,對設計的光學雨量計進行驗證測試[14],紅外接收電路的輸出波形如圖6所示,圖中波形采用DSO-X 2012A數字存儲示波器獲得。

圖6 紅外接收電路輸出波形
圖6可以看出,在一定降雨強度下,接收電路的輸出波形具有固定的周期頻率,為了直觀的表現出信號頻率與降雨強度之間的關系。調節水壓,測量出每10 s不同降雨量的情況下信號頻率的變化[15],并選取連續的20個頻率數據繪制出圖7。

圖7 降雨頻率對比圖
圖7可以看出,以連續的20組頻率數據為例,不同的降雨強度下,降雨頻率波動在一定的范圍之內。降雨頻率與降雨強度之間存在一定的映射關系,大體可以看出,降雨量越大,頻率越高[16]。可以通過回歸模型來刻畫樣本學習數據之間的復雜關系,并利用學習到的關系預測降雨強度。傳統的回歸模型能夠通過少量的樣本刻畫較復雜的映射關系。但是在這個應用中,樣本數據輸入量很大并且存在一定的波動范圍,因此傳統回歸模型很難對其進行建模[17]。
在TensorFlow架構中搭建全連接神經網絡模型,并對測得的降雨頻率和降雨量的數據進行處理,用訓練數據集對模型進行訓練更新網絡中的權重值和偏置值[18],接著用測試數據集進行訓練結果的對比,得出預測結果與實際值的對比,如圖8所示。

圖8 預測值與實際值對比圖
圖8中散點分布的是實際值,曲線是預測值,橫軸為降雨頻率,縱軸為降雨量,可以看出曲線與散點重合度較高,模型已經達到了很好的預測效果,曲線重合度為0.962。
為進一步驗證該雨量計的實際監測效果,在實驗室條件下將自動雨量計的監測數據和人工測量的降雨數據進行對比,每10 s記錄下一組數據[19]。

表1 降雨數據對比
根據表1中實驗數據的對比可以看出,該自動雨量計的監測數據與人工測量相比誤差≤0.2 mL,效果良好,具有較好的實際應用價值。
為了精準、自動化監測降雨量大小,提出了利用紅外光電傳感器,并利用全連接神經網絡進行優化擬合的雨量計的設計方案。首先設計了系統結構框圖,給出了光學自動雨量計的總體設計思路。其次設計了紅外發射和接收模塊,有效避免可見光干擾,具有較高靈敏度。以STM32F103c8t6作為本設計的核心控制模塊,能夠滿足光電傳感器高速掃描時數據的接收和計算需求,理論上推導出神經網絡對數據的優化處理過程。獲得降雨數據之后,建立全連接神經網絡模型,在TensorFlow架構中對降雨頻率和降雨量數據進行擬合,擬合度達到0.962,實測誤差率≤0.2mL,實現了對降雨量的晝夜連續自動觀測,滿足了水文、氣象、交通等領域的需求。

郎亞軍(1994-),現為南京信息工程大學碩士研究生,主要研究方向為微弱信號檢測與處理、光信號處理,1473667553@qq.com;

行鴻彥(1962-),1983年于太原理工大學獲得學士學位,1990年于吉林大學獲得碩士學位,2003年于西安交通大學獲得博士學位,現為南京信息工程大學教授、博士生導師,主要研究方向為氣象儀器設計與計量,信號檢測與處理等,xinghy@nuist.edu.cn。