郎亞軍,行鴻彥*
(1.南京信息工程大學(xué)氣象災(zāi)害預(yù)報(bào)預(yù)警與評(píng)估協(xié)同創(chuàng)新中心,南京 210044; 2.南京信息工程大學(xué)江蘇省氣象探測(cè)與信息處理重點(diǎn)實(shí)驗(yàn)室,南京 210044;)
隨著社會(huì)的發(fā)展,在惡劣環(huán)境下對(duì)降水進(jìn)行實(shí)時(shí)自動(dòng)的測(cè)量越來(lái)越重要[1]。尤其是在機(jī)場(chǎng)高速公路、氣象等領(lǐng)域,對(duì)降水的自動(dòng)監(jiān)測(cè)越來(lái)越重要。機(jī)場(chǎng)、高速等領(lǐng)域?qū)邓膶?shí)時(shí)測(cè)量有助于采取應(yīng)急措施;氣象等領(lǐng)域可以根據(jù)降水分析天氣及氣候變化。因此,對(duì)降水的實(shí)時(shí)測(cè)量影響著人類(lèi)社會(huì)的方方面面。
傳統(tǒng)機(jī)械式雨量計(jì)從原理上可以分為:虹吸式雨量計(jì)、翻斗式雨量計(jì)、稱(chēng)重式雨量計(jì)等。但是無(wú)一例外都存在以下幾個(gè)缺點(diǎn)[2]:降雨太小時(shí)無(wú)法進(jìn)行實(shí)時(shí)測(cè)量,靈敏度低;強(qiáng)降雨時(shí)又會(huì)產(chǎn)生明顯誤差;機(jī)械部分長(zhǎng)期暴露在野外會(huì)被腐蝕;需要人為定期清理和維護(hù),否則集水通道會(huì)被雜物堵塞;體積太大,不能動(dòng)態(tài)測(cè)量[3]。
除了傳統(tǒng)的雨量計(jì),目前國(guó)內(nèi)市場(chǎng)上已有的光學(xué)雨量計(jì)多被應(yīng)用于非氣象領(lǐng)域,如汽車(chē)自動(dòng)雨量傳感器,有如下缺點(diǎn):測(cè)量范圍小、誤差大、隨機(jī)性高,只能實(shí)現(xiàn)功能性的測(cè)量。國(guó)外上世紀(jì)50年代就開(kāi)始了自動(dòng)量計(jì)的研究,起步較早,其中以光學(xué)降水測(cè)量技術(shù)為主,目前已實(shí)現(xiàn)了降水的連續(xù)、非接觸自動(dòng)測(cè)量,可以提高時(shí)間分辨率的降水粒子微觀信息。比較成熟的產(chǎn)品有:FD12P、PWD系列天氣現(xiàn)象傳感器[4];德國(guó)OTT-Parsivel雨滴譜儀和Thies-LAM雨滴譜儀;WIVIS、OWI;二維成像雨量計(jì)等,采用的原理主要是散射測(cè)量法、消光遮蔽法、圖像采集法等。國(guó)內(nèi)方面起步較晚,存在一定的差距,成熟的樣機(jī)產(chǎn)品更是少之又少,主要有光學(xué)測(cè)量和超聲波測(cè)量。因此,研究有我國(guó)自主知識(shí)產(chǎn)權(quán)的光學(xué)雨量計(jì)迫在眉睫,意義重大[5]。
本文設(shè)計(jì)了基于全連接神經(jīng)網(wǎng)絡(luò)的紅外漫反射光學(xué)雨量計(jì),提出了該雨量計(jì)的系統(tǒng)結(jié)構(gòu)及原理技術(shù),設(shè)計(jì)了硬件電路,并在人工降雨實(shí)驗(yàn)室條件下對(duì)降雨進(jìn)行測(cè)量,算法擬合出降水頻率與降雨強(qiáng)度的函數(shù)模型,最終將函數(shù)模型寫(xiě)入硬件中,實(shí)現(xiàn)了自動(dòng)雨量計(jì)的設(shè)計(jì)??梢杂行岣邷y(cè)量精度和靈敏度,彌補(bǔ)傳統(tǒng)雨量計(jì)的缺陷,為日常生活及氣象觀測(cè)領(lǐng)域帶來(lái)便利[6]。
基于全連接神經(jīng)網(wǎng)絡(luò)的紅外漫反射光學(xué)自動(dòng)雨量計(jì)系統(tǒng)主要由振蕩信號(hào)發(fā)生模塊、紅外光電傳感器、信號(hào)放大采樣模塊、MCU模塊組成,如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
振蕩信號(hào)發(fā)生模塊給紅外發(fā)射模塊提供38 kHz的方波調(diào)制信號(hào),調(diào)制信號(hào)有助于避免環(huán)境光的干擾;紅外發(fā)射端將調(diào)制后的數(shù)字信號(hào)轉(zhuǎn)換為光信號(hào)發(fā)射出去;紅外接收端將反射回來(lái)的光信號(hào)轉(zhuǎn)換為模擬信號(hào);信號(hào)放大采樣模塊將采集的模擬信號(hào)進(jìn)行放大采樣;MCU模塊對(duì)采集的數(shù)字信號(hào)進(jìn)行處理及控制各個(gè)模塊[7]。
當(dāng)光照射到固體表面時(shí),會(huì)發(fā)生反射和散射。然而當(dāng)光束入射至顆粒狀的晶面層時(shí),一部分光在表層各晶粒面產(chǎn)生鏡面反射;另一部分光則折射入表層晶粒內(nèi)部,經(jīng)部分吸收后射至內(nèi)部晶粒界面,再發(fā)生發(fā)射、折射吸收[8]。如此多次重復(fù),最后由粉末表層朝各個(gè)方向反射出來(lái),構(gòu)成了漫反射。由于雨滴是顆粒狀的,因此在一定強(qiáng)度的降雨條件下,可以將雨滴看成是表面粗糙的鏡面層,光束經(jīng)過(guò)雨滴將發(fā)生漫反射。雨滴連續(xù)經(jīng)過(guò)光路時(shí),接收端的光信號(hào)將發(fā)生變化,計(jì)算出接收到的光信號(hào)頻率,并與降雨強(qiáng)度進(jìn)行人工神經(jīng)網(wǎng)絡(luò)的非線性擬合,得出二者關(guān)系。
2.1.1 紅外發(fā)射模塊設(shè)計(jì)
本設(shè)計(jì)將電信號(hào)經(jīng)調(diào)制器調(diào)制成頻率為38 kHz的調(diào)制信號(hào),驅(qū)動(dòng)紅外二極管發(fā)射紅外光,該頻率是遠(yuǎn)大于雨滴下落頻率的,同時(shí)也高于環(huán)境中光信號(hào)的波動(dòng)頻率,可以有效避免環(huán)境中可見(jiàn)光的干擾,提高抗干擾性和測(cè)量精度。38 kHz的調(diào)制信號(hào)采用RC環(huán)形振蕩器產(chǎn)生,可通過(guò)改變R和C的數(shù)值實(shí)現(xiàn)對(duì)輸出頻率的調(diào)節(jié),近似簡(jiǎn)化為:
T≈2.2RC
(1)
紅外發(fā)射模塊設(shè)計(jì)思路如圖2所示。
圖2 發(fā)射端工作原理圖
2.1.2 紅外接收模塊設(shè)計(jì)
圖3 接收端工作原理圖
紅外接收模塊必須具有較高靈敏度,便于從環(huán)境的可見(jiàn)光等干擾信號(hào)中識(shí)別出有用信號(hào)。采用低功耗的HS0038B光電傳感器接收紅外光信號(hào),工作電流為0.25 mA,傳感器內(nèi)部的金屬屏蔽和智能自動(dòng)增益電路,具有抗干擾能力和高靈敏度。接收的電信號(hào)經(jīng)放大解調(diào)即可得到脈沖頻率,匹配相應(yīng)的降雨強(qiáng)度。時(shí)鐘邏輯將解調(diào)信號(hào)通過(guò)負(fù)載最終傳送給MCU模塊。紅外發(fā)射模塊設(shè)計(jì)思路如圖3所示。
微控制器采用STM32F103c8t6,該單片機(jī)使用高性能的ARM32位的Cortex-M3的RISC內(nèi)核,工作頻率為72 MHz,內(nèi)置高達(dá)128 kbyte的閃存和20 kbyte的SRAM,豐富的增強(qiáng)I/O端口和聯(lián)接到兩條APB總線的外設(shè)。MCU模塊接收來(lái)自光電傳感器的電信號(hào)。當(dāng)光路上沒(méi)有雨滴遮擋時(shí),電信號(hào)一直是高電平的,雨滴經(jīng)過(guò)光路將產(chǎn)生一個(gè)低電平[9]。設(shè)置微控制器對(duì)輸入信號(hào)進(jìn)行捕獲,第1次捕獲下降沿,第2次捕獲上升沿,將兩次捕獲時(shí)間間隔相減即可得出雨滴經(jīng)過(guò)時(shí)的低脈沖寬度[10]。將雨滴的降落時(shí)間周期取倒數(shù)即可求出降雨頻率為后面的算法處理提供依據(jù)。
雨量計(jì)的軟件設(shè)計(jì)以穩(wěn)定和簡(jiǎn)單為前提,采用定時(shí)器中斷方式?jīng)Q定采集雨滴頻率的周期,在中斷服務(wù)程序中定義中斷標(biāo)志位,軟件流程如圖4所示。
圖4 主程序流程圖
得益于深度學(xué)習(xí)的發(fā)展,人工神經(jīng)網(wǎng)絡(luò)模型可以對(duì)數(shù)據(jù)進(jìn)行高度抽象表達(dá),還能夠有效學(xué)習(xí)復(fù)雜映射關(guān)系。卷積神經(jīng)網(wǎng)絡(luò)主要用于圖像處理和計(jì)算機(jī)視覺(jué),因此本文選擇全連接神經(jīng)網(wǎng)絡(luò)。輸入頻率數(shù)據(jù)為20維,因此設(shè)計(jì)網(wǎng)絡(luò)輸入層含有20個(gè)人工神經(jīng)元。由于只有一個(gè)輸出降雨強(qiáng)度,因此輸出層含有1個(gè)人工神經(jīng)元。隱藏層也同樣設(shè)計(jì)成20個(gè)神經(jīng)元[11]。
圖5 人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
可以看出,前一層的每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都與后一層的任意網(wǎng)絡(luò)節(jié)點(diǎn)相連,輸入層節(jié)點(diǎn)個(gè)數(shù)為n,隱含層節(jié)點(diǎn)個(gè)數(shù)為l,輸出層節(jié)點(diǎn)個(gè)數(shù)為m。輸入層到隱藏層的權(quán)重為wij,隱藏層到輸出層的權(quán)重為wjk,輸入層到隱藏層的偏置值為aj,隱藏層到輸出層的偏置值為bk,學(xué)習(xí)率為η,激勵(lì)函數(shù)g(t)取雙曲正切函數(shù),如下:
(2)
(3)
輸出層的輸出Ok可表示為:
(4)
用二次代價(jià)函數(shù)衡量輸出層的預(yù)測(cè)值Ok與實(shí)際值Yk的差別:
(5)
為了使訓(xùn)練的結(jié)果更加準(zhǔn)確,即需要得到誤差函數(shù)E的最小值,這是一個(gè)反向傳播的過(guò)程,使用梯度下降算法從輸出層到輸入層分別對(duì)權(quán)值和偏置值進(jìn)行更新[12]。
記Yk-Ok=ek,則隱藏層到輸出層的權(quán)值和偏置值更新如下:
推導(dǎo)出更新公式為:
wjk=wjk+ηHjek
(6)
bk=bk+ηek
(7)
輸入層到隱藏層的權(quán)值和偏置值更新如下:
推導(dǎo)出更新公式為:
(8)
(9)
通過(guò)訓(xùn)練不斷更新神經(jīng)網(wǎng)絡(luò)中的權(quán)值和偏置值,最終得到最小的誤差函數(shù)E,進(jìn)而擬合出降雨頻率與降雨強(qiáng)度的關(guān)系[13]:
(10)
在實(shí)驗(yàn)室環(huán)境下用蠕動(dòng)泵控制水壓,配合噴頭實(shí)現(xiàn)人工降雨,調(diào)節(jié)水壓模擬不同降雨強(qiáng)度,對(duì)設(shè)計(jì)的光學(xué)雨量計(jì)進(jìn)行驗(yàn)證測(cè)試[14],紅外接收電路的輸出波形如圖6所示,圖中波形采用DSO-X 2012A數(shù)字存儲(chǔ)示波器獲得。
圖6 紅外接收電路輸出波形
圖6可以看出,在一定降雨強(qiáng)度下,接收電路的輸出波形具有固定的周期頻率,為了直觀的表現(xiàn)出信號(hào)頻率與降雨強(qiáng)度之間的關(guān)系。調(diào)節(jié)水壓,測(cè)量出每10 s不同降雨量的情況下信號(hào)頻率的變化[15],并選取連續(xù)的20個(gè)頻率數(shù)據(jù)繪制出圖7。
圖7 降雨頻率對(duì)比圖
圖7可以看出,以連續(xù)的20組頻率數(shù)據(jù)為例,不同的降雨強(qiáng)度下,降雨頻率波動(dòng)在一定的范圍之內(nèi)。降雨頻率與降雨強(qiáng)度之間存在一定的映射關(guān)系,大體可以看出,降雨量越大,頻率越高[16]??梢酝ㄟ^(guò)回歸模型來(lái)刻畫(huà)樣本學(xué)習(xí)數(shù)據(jù)之間的復(fù)雜關(guān)系,并利用學(xué)習(xí)到的關(guān)系預(yù)測(cè)降雨強(qiáng)度。傳統(tǒng)的回歸模型能夠通過(guò)少量的樣本刻畫(huà)較復(fù)雜的映射關(guān)系。但是在這個(gè)應(yīng)用中,樣本數(shù)據(jù)輸入量很大并且存在一定的波動(dòng)范圍,因此傳統(tǒng)回歸模型很難對(duì)其進(jìn)行建模[17]。
在TensorFlow架構(gòu)中搭建全連接神經(jīng)網(wǎng)絡(luò)模型,并對(duì)測(cè)得的降雨頻率和降雨量的數(shù)據(jù)進(jìn)行處理,用訓(xùn)練數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練更新網(wǎng)絡(luò)中的權(quán)重值和偏置值[18],接著用測(cè)試數(shù)據(jù)集進(jìn)行訓(xùn)練結(jié)果的對(duì)比,得出預(yù)測(cè)結(jié)果與實(shí)際值的對(duì)比,如圖8所示。
圖8 預(yù)測(cè)值與實(shí)際值對(duì)比圖
圖8中散點(diǎn)分布的是實(shí)際值,曲線是預(yù)測(cè)值,橫軸為降雨頻率,縱軸為降雨量,可以看出曲線與散點(diǎn)重合度較高,模型已經(jīng)達(dá)到了很好的預(yù)測(cè)效果,曲線重合度為0.962。
為進(jìn)一步驗(yàn)證該雨量計(jì)的實(shí)際監(jiān)測(cè)效果,在實(shí)驗(yàn)室條件下將自動(dòng)雨量計(jì)的監(jiān)測(cè)數(shù)據(jù)和人工測(cè)量的降雨數(shù)據(jù)進(jìn)行對(duì)比,每10 s記錄下一組數(shù)據(jù)[19]。
表1 降雨數(shù)據(jù)對(duì)比
根據(jù)表1中實(shí)驗(yàn)數(shù)據(jù)的對(duì)比可以看出,該自動(dòng)雨量計(jì)的監(jiān)測(cè)數(shù)據(jù)與人工測(cè)量相比誤差≤0.2 mL,效果良好,具有較好的實(shí)際應(yīng)用價(jià)值。
為了精準(zhǔn)、自動(dòng)化監(jiān)測(cè)降雨量大小,提出了利用紅外光電傳感器,并利用全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化擬合的雨量計(jì)的設(shè)計(jì)方案。首先設(shè)計(jì)了系統(tǒng)結(jié)構(gòu)框圖,給出了光學(xué)自動(dòng)雨量計(jì)的總體設(shè)計(jì)思路。其次設(shè)計(jì)了紅外發(fā)射和接收模塊,有效避免可見(jiàn)光干擾,具有較高靈敏度。以STM32F103c8t6作為本設(shè)計(jì)的核心控制模塊,能夠滿足光電傳感器高速掃描時(shí)數(shù)據(jù)的接收和計(jì)算需求,理論上推導(dǎo)出神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)的優(yōu)化處理過(guò)程。獲得降雨數(shù)據(jù)之后,建立全連接神經(jīng)網(wǎng)絡(luò)模型,在TensorFlow架構(gòu)中對(duì)降雨頻率和降雨量數(shù)據(jù)進(jìn)行擬合,擬合度達(dá)到0.962,實(shí)測(cè)誤差率≤0.2mL,實(shí)現(xiàn)了對(duì)降雨量的晝夜連續(xù)自動(dòng)觀測(cè),滿足了水文、氣象、交通等領(lǐng)域的需求。
郎亞軍(1994-),現(xiàn)為南京信息工程大學(xué)碩士研究生,主要研究方向?yàn)槲⑷跣盘?hào)檢測(cè)與處理、光信號(hào)處理,1473667553@qq.com;
行鴻彥(1962-),1983年于太原理工大學(xué)獲得學(xué)士學(xué)位,1990年于吉林大學(xué)獲得碩士學(xué)位,2003年于西安交通大學(xué)獲得博士學(xué)位,現(xiàn)為南京信息工程大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)闅庀髢x器設(shè)計(jì)與計(jì)量,信號(hào)檢測(cè)與處理等,xinghy@nuist.edu.cn。