吳翼凡 劉清惓 楊杰 戴偉
關(guān)鍵詞: 溫度傳感器; 探空儀; 流體力學(xué); BP神經(jīng)網(wǎng)絡(luò); 輻射誤差; 誤差修正
中圖分類號(hào): TN915?34; TP274 ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2018)24?0043?05
Radiation error correction of temperature sensor based on BP neural network
WU Yifan1, LIU Qingquan1,2,3, YANG Jie1,2,3, DAI Wei4,5
(1. School of Electronics and Information Engineering, Nanjing University of Information Science & Technology, Nanjing 210044, China;
2. Jiangsu Collaborative Innovation Center of Atmospheric Environment and Equipment Technology, Nanjing 210044, China;
3. Jiangsu Key Laboratory of Meteorological Observation and Information Processing, Nanjing 210044, China;
4. Key Open Laboratory for Aerosol?Cloud?Precipitation of China Meteorological Administration, Nanjing 210044, China;
5. Key Laboratory of MEMS of the Ministry of Education, Southeast University, Nanjing 210096, China)
Abstract: In allusion to the temperature measurement errors caused by heating of solar radiation acting on the temperature sensor carried on a radiosonde, a method of applying BP neural network to radiation error prediction of the temperature sensor is proposed. The altitude, rising speed of the radiosonde and solar radiation intensity are taken as the inputs of the BP neural work. The computational fluid mechanics is used to analyze the radiation errors of the sensor in different environmental conditions, which are taken as the prediction model for training of the BP neural network. The prediction results and sample data are analyzed. The results show that the absolute error margin is [-0.003, 0.005], and the measurement accuracy of the temperature sensor can reach the order of 0.1 K. The C# and Java languages are respectively used to encapsulate the radiation error correction equations obtained by the BP neural network, and accomplish the development and mobile applications of the Windows upper computer and Android terminal.
Keywords: temperature sensor; radiosonde; fluid mechanics; BP neural network; radiation error; error correction
在高空大氣探測(cè)領(lǐng)域中,由于探空儀搭載的溫度傳感器通常直接暴露在太陽輻射環(huán)境中,因此導(dǎo)致傳感器的觀測(cè)數(shù)據(jù)高于真實(shí)大氣溫度,由此產(chǎn)生的誤差簡稱輻射誤差[1],這種輻射誤差可達(dá)0.8 K以上。氣候變化研究對(duì)溫度測(cè)量精確性的要求日益提高,由于氣候變暖的速度約為0.1 K/a量級(jí)[2],要求溫度傳感器測(cè)量精度達(dá)到0.1 K量級(jí),因此需要對(duì)探空溫度傳感器測(cè)量結(jié)果進(jìn)行誤差修正[3]。
近年來,已有不少國內(nèi)外學(xué)者針對(duì)探空溫度傳感器輻射誤差展開研究,其主要的研究方法有風(fēng)洞實(shí)驗(yàn)法和經(jīng)驗(yàn)估測(cè)法。瑞士的Ruffieux D為輻射誤差的修正搭建了簡易的低氣壓輻射風(fēng)洞平臺(tái),但由于現(xiàn)有技術(shù)難以實(shí)現(xiàn)能真實(shí)模擬高空輻射環(huán)境,因此風(fēng)洞實(shí)驗(yàn)法未能在該領(lǐng)域獲得實(shí)際應(yīng)用[4]。經(jīng)驗(yàn)估測(cè)法一般是由探空儀的廠家提供輻射誤差修正公式或者對(duì)照表,世界氣象組織也提供了一些輻射誤差修正估計(jì)值,但造成輻射誤差的因素是多方面的,因此上述方法不能適用復(fù)雜多變的自然環(huán)境。
為提高探空溫度傳感器的觀測(cè)精度,本文提出采用計(jì)算流體力學(xué)方法對(duì)探空溫度傳感器進(jìn)行數(shù)值仿真分析,模擬出傳感器在太陽輻射下的溫度分布,從而量化溫度傳感器在不同海拔高度、升空速度、太陽輻射強(qiáng)度下的輻射誤差。但由此得到的輻射誤差值是離散的數(shù)值,難以進(jìn)行實(shí)際的應(yīng)用。為解決這一問題,本文提出采用能夠進(jìn)行多變量參數(shù)預(yù)測(cè)數(shù)據(jù)的BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)對(duì)離散的輻射誤差值進(jìn)行數(shù)據(jù)擬合并獲得輻射誤差修正公式[5]。
NTC珠狀熱敏電阻具有隨溫度上升阻值變小的特性,是目前國際主流的探空儀溫度傳感器,結(jié)構(gòu)見圖1。
通過計(jì)算流體力學(xué)建立珠狀熱敏電阻以及外圍空氣域的物理模型如圖2所示,左側(cè)為氣流進(jìn)口模擬探空儀上方,右側(cè)為氣流出口。
對(duì)不同大氣環(huán)境下的熱敏電阻進(jìn)行輻射對(duì)流耦合數(shù)值仿真分析,當(dāng)海拔高度為0 km、升空速度為6 m/s、太陽輻射強(qiáng)度為1 000 W/m2時(shí),得到溫度場(chǎng)分布情況如圖3所示。從圖3中可以看出,在該環(huán)境下熱敏電阻表面溫度由頂端向下方遞減,符合傳熱物理定律,通過計(jì)算可以得到熱敏電阻因太陽輻射產(chǎn)生0.12 K的溫度差。
由于探空儀升空時(shí),隨著海拔高度增加,氣壓顯著減小,大氣環(huán)境更加復(fù)雜[6],因此本文采用“標(biāo)準(zhǔn)大氣”來模擬不同高度的大氣環(huán)境?!皹?biāo)準(zhǔn)大氣”是由國際相關(guān)組織和學(xué)者規(guī)定的一種特性隨高度平均分布的最接近實(shí)際大氣的大氣模式[7]。分別對(duì)不同海拔高度下由升空速度和輻射強(qiáng)度產(chǎn)生的輻射誤差進(jìn)行數(shù)值仿真分析,得到當(dāng)輻射強(qiáng)度為1 367 W/m2時(shí),由上升速度和海拔高度計(jì)算出來的輻射誤差值如圖4所示。
當(dāng)上升速度為6 m/s時(shí),由輻射強(qiáng)度和海拔高度計(jì)算出來的輻射誤差值如圖5所示。
根據(jù)計(jì)算結(jié)果表明,輻射誤差與海拔高度、太陽輻射呈正相關(guān),與升空速度呈負(fù)相關(guān),并且可以看出太陽輻射強(qiáng)度對(duì)輻射誤差的影響更為顯著。
BP神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的并行信息處理、非線性映射能力,能夠有效解決任意非線性函數(shù)的逼近問題[8]。本文將海拔高度、升空速度和太陽輻射強(qiáng)度作為BP神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù),以輻射誤差作為網(wǎng)絡(luò)輸出,以計(jì)算流體力學(xué)得到的輻射誤差作為預(yù)測(cè)模型。BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱含層和輸出層[9?10],如圖6所示。
1) 由于海拔高度、上升速度和太陽輻射強(qiáng)度這三個(gè)因素的數(shù)據(jù)范圍較大且單位不統(tǒng)一,會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間長、收斂速度慢的問題,所以首先需要將輸入數(shù)據(jù)進(jìn)行歸一化處理,映射到[-1,1]的范圍內(nèi)。
2) 將BP神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元設(shè)為3個(gè),輸出層神經(jīng)元設(shè)為1個(gè),隱含層神經(jīng)元設(shè)為i個(gè),學(xué)習(xí)速率設(shè)為0.05,訓(xùn)練結(jié)果設(shè)為0.000 004,訓(xùn)練次數(shù)設(shè)為500。H,V,P為輸入層的輸入數(shù)據(jù),分別為海拔高度、上升速度和輻射強(qiáng)度,ΔT為輸出層的輸出數(shù)據(jù),即輻射誤差,Wij為輸入層到隱含層的權(quán)值,Wki為隱含層到輸出層的權(quán)值,θ1,θ2,…,θi為隱含層閾值,ak為輸出層閾值。其中隱含層的傳遞函數(shù)選取正切S型函數(shù)tansig,輸出層傳遞函數(shù)選取純線性函數(shù)Pureline型函數(shù)。
3) 將以上的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)建立黑箱模型[11],以計(jì)算流體力學(xué)得到的輻射誤差作為輸出變量的預(yù)測(cè)模型。BP神經(jīng)網(wǎng)絡(luò)計(jì)算過程包括信號(hào)的前向傳播和誤差的反向傳播兩個(gè)計(jì)算過程,如果前向傳播的輸出沒有達(dá)到期望值,則進(jìn)行誤差反傳,調(diào)整各層的權(quán)值與閾值直至與期望值的誤差達(dá)到最小值。
按照設(shè)定好的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)編寫Matlab程序,Matlab擁有完整的神經(jīng)網(wǎng)絡(luò)工具箱可使程序更具閱讀性。經(jīng)過預(yù)測(cè)模型訓(xùn)練,獲得仿真結(jié)果如圖7所示。
由此可得仿真輸出的輻射誤差值與數(shù)值分析的樣本輻射誤差基本吻合。為了更加直觀地分析結(jié)果,將仿真輸出與樣本數(shù)據(jù)相減獲得兩者的絕對(duì)誤差,見圖8。
由此可知仿真輸出與樣本的絕對(duì)誤差基本控制在[-0.003,0.005],說明BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)擬合算法的擬合度較高,適合在輻射誤差領(lǐng)域應(yīng)用。
記錄下完成訓(xùn)練后BP神經(jīng)網(wǎng)絡(luò)各層的權(quán)值與閾值,并且由此得出擬合公式,輸出更高精度的輻射誤差,S型函數(shù)公式如下:
[S=tansig(H·Wi1+V·Wi2+P·Wi3+θi)] (1)
式中:[Wi1,Wi2,Wi3]分別為海拔高度H、上升速度V和輻射強(qiáng)度P對(duì)應(yīng)的由輸入層到隱含層的權(quán)值;而輸入層神經(jīng)元為3,輸出層為1,則j=3,k=1;[θi]為隱含層閾值。將S輸出,Pureline型函數(shù)公式如下:
[ΔT=Purelin{S·Wki+ak}] (2)
式中:Wki為隱含層到輸出層的權(quán)值;輸出層閾值ak=-0.296。Wij,Wki,[θi]具體值如下:
[Wij=-1.1840.085-0.189-3.709-4.312-1.9110.094-1.183-0.980-0.0180.0640.0670.187-0.1090.149] (3)
[Wki=-1.918,0.004,0.702,-0.974,2.382] (4)
[θi=1.582,-1.639,0.024,0.547,1.185] (5)
由于計(jì)算流體力學(xué)數(shù)值分析只能獲得離散的輻射誤差,所以BP神經(jīng)網(wǎng)絡(luò)在這一領(lǐng)域的應(yīng)用不僅成功地將數(shù)據(jù)擬合得出修正方程,而且其多個(gè)輸入更符合現(xiàn)實(shí)復(fù)雜的太陽輻射環(huán)境,使輻射誤差結(jié)果更貼近真實(shí)。
考慮到算法對(duì)實(shí)際應(yīng)用的普適性,本文別分用C#與Java分別對(duì)完成訓(xùn)練后的BP神經(jīng)網(wǎng)絡(luò)得到的輻射誤差修正方程進(jìn)行封裝,方便從業(yè)人員的調(diào)用,并且根據(jù)此算法進(jìn)行探空儀上位機(jī)的開發(fā)。
本文的Windows上位機(jī)軟件是基于Microsoft Visual Studio 2013開發(fā)環(huán)境完成應(yīng)用的開發(fā),數(shù)據(jù)庫采用的是Microsoft SQL Server 2008,通過Socket套接字類獲取串口數(shù)據(jù)。在分析需求和確定功能之后,軟件的架構(gòu)設(shè)計(jì)如圖9所示。
本文將BP神經(jīng)網(wǎng)絡(luò)輻射誤差公式封裝成C#語言的方法,使代碼簡捷明了并且方便調(diào)用。
圖10是整個(gè)軟件的主界面。該界面將采集到的海拔高度、溫度、輻射強(qiáng)度等數(shù)據(jù),經(jīng)過調(diào)用輻射誤差修正方法修正后,以圖形界面的形式顯示。
由于微軟本身提供的圖標(biāo)控件具有一定的局限性,為了可以更加直觀地觀察數(shù)據(jù)的變化趨勢(shì)以及修正前后的誤差區(qū)別,本文采用GDI+技術(shù)(Graphics Device Interface+)。
該技術(shù)提供了圖像處理、圖形繪制的接口。通過GDI+繪制出輻射誤差修正的波形圖界面,具體操作是調(diào)用Graphics畫布類與Pen畫筆類繪制坐標(biāo)軸與背景,寫一個(gè)方法將采集的數(shù)據(jù)信息轉(zhuǎn)化成坐標(biāo)信息,由Pen類將坐標(biāo)信息繪制在坐標(biāo)軸上,這樣就達(dá)到實(shí)時(shí)顯示數(shù)據(jù)的目的。除了重點(diǎn)介紹的輻射誤差修正界面,該軟件還對(duì)基礎(chǔ)的用戶管理進(jìn)行完善,包括用戶信息的注冊(cè)、刪除、查詢以及用戶的登錄、登出、操作權(quán)限管理,使軟件應(yīng)用更加全面以及人性化。
由于探空儀一般在戶外甚至較偏遠(yuǎn)的地區(qū)工作,這樣移動(dòng)端的開發(fā)顯得方便而又必要。移動(dòng)端是基于Android Studio編譯環(huán)境開發(fā)的Android應(yīng)用,數(shù)據(jù)庫采用的是Android系統(tǒng)集成的SQLite輕量級(jí)數(shù)據(jù),通信方式采用USB接口通信,通過調(diào)用Android的UsbManager類可以獲取探空儀傳感器發(fā)送的字符串。本文用Java語言編寫一個(gè)BP.java文件來封裝BP神經(jīng)網(wǎng)絡(luò)輻射誤差修正算法,并且開放出方法以方便調(diào)用。
該應(yīng)用在探空儀升空之前,先采集傳感器的地面數(shù)據(jù),完成傳感器的自檢,確保傳感器在升空之前工作正常。在探空儀完成工作后,通過USB接口獲取傳感器數(shù)據(jù),進(jìn)行數(shù)據(jù)的查詢與保存,部分界面如圖11所示。
該應(yīng)用將海拔高度、上升速度、輻射強(qiáng)度三個(gè)因素傳入BP神經(jīng)網(wǎng)絡(luò)輻射誤差修正算法中,傳出輻射誤差數(shù)據(jù)顯示在界面上并對(duì)溫度值進(jìn)行修正工作。該應(yīng)用除了輻射誤差的修正界面,并且完善了用戶管理、地圖坐標(biāo)查詢等界面,使應(yīng)用更加安全。
本文實(shí)現(xiàn)了基于BP神經(jīng)網(wǎng)絡(luò)的探空溫度傳感器輻射誤差修正,并在探空儀數(shù)據(jù)采集軟件開發(fā)中進(jìn)行實(shí)際應(yīng)用。應(yīng)用計(jì)算流體力學(xué)的方法對(duì)探空溫度傳感器進(jìn)行數(shù)值分析,模擬出傳感器在太陽輻射下的溫度場(chǎng)分布,量化在不同太陽輻射強(qiáng)度、升空速度、海拔高度下的輻射誤差。利用BP神經(jīng)網(wǎng)絡(luò)對(duì)離散的輻射誤差進(jìn)行數(shù)據(jù)擬合,絕對(duì)誤差控制在[-0.003,0.005],成功地使用BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)了輻射誤差值。用C#和Java兩種語言封裝BP神經(jīng)網(wǎng)絡(luò)擬合出的輻射誤差修正公式,并進(jìn)行數(shù)據(jù)采集軟件的開發(fā)和算法應(yīng)用。
參考文獻(xiàn)
[1] LI Feng. New development with upper air sounding in China [EB/OL]. [2015?12?16]. http://www.doc88.com/p?3127687735496.html.
[2] TOGGWEILER J R, RUSSELL J. Ocean circulation in a warming climate [J]. Nature, 2008, 451(7176): 286?288.
[3] RANDEL W J, WU F. Biases in stratospheric and tropospheric temperature trends derived from historical radiosonde data [J]. Journal of climate, 2006, 19: 2094?2104.
[4] ERELL E, LEAL V, MALDONADO E. Measurement of air temperature in the presence of a large radiant flux: an assessment of passively ventilated thermometer screens [J]. Boundary?layer meteorology, 2005, 114(1): 205?231.
[5] 丁碩,巫慶輝.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近性能對(duì)比研究[J].計(jì)算機(jī)與現(xiàn)代化,2012(11):10?13.
DING Shuo, WU Qinghui. Performance comparison of function approximation based on improved BP neural network [J]. Computer and modernization, 2012(11): 10?13.
[6] 薛德強(qiáng),談?wù)苊簦彽枥?,?近40年中國高空溫度變化的初步分析[J].高原氣象,2007,26(1):141?149.
XUE Deqiang, TAN Zhemin, GONG Dianli, et al. Primary analyses of upper?air temperature changes in China in past 40 years [J]. Plateau meteorology, 2007, 26(1): 141?149.
[7] 盛裴軒,毛節(jié)泰,李建國,等.大氣物理學(xué)[M].2版.北京:北京大學(xué)出版社,2013.
SHENG Peixuan, MAO Jietai, LI Jianguo, et al. Atmospheric physics [M]. 2nd ed. Beijing: Peking University Press, 2013.
[8] 李秋碩,王巖,孫宇軍,等.BP神經(jīng)網(wǎng)絡(luò)在用電用戶分類中的應(yīng)用[J].現(xiàn)代電子技術(shù),2017,40(9):156?158.
LI Qiushuo, WANG Yan, SUN Yujun, et al. Application of BP neural network in electricity users classification [J]. Modern electronics technique, 2017, 40(9): 156?158.
[9] 行鴻彥,鄒水平,徐偉,等.基于PSO?BP神經(jīng)網(wǎng)絡(luò)的濕度傳感器溫度補(bǔ)償[J].傳感技術(shù)學(xué)報(bào),2015,28(6):864?869.
XING Hongyan, ZOU Shuiping, XU Wei, et al. The temperature compensation for humidity sensor based on the PSO?BP neural network [J]. Chinese journal of sensors and actuators, 2015, 28(6): 864?869.
[10] WANG H S, WANG Y N, WANG Y C. Cost estimation of plastic injection molding parts through integration of PSO and BP neural network [J]. Expert systems with applications, 2013, 40(2): 418?428.
[11] 周顯春,肖衡.基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)研究[J].現(xiàn)代電子技術(shù),2017,40(1):74?76.
ZHOU Xianchun, XIAO Heng. Research on network security situation prediction based on BP neural network [J]. Modern electronics technique, 2017, 40(1): 74?76.