APP下载

基于BP神经网络的温度传感器辐射误差修正

2018-12-14吴翼凡刘清惓杨杰戴伟

现代电子技术 2018年24期
关键词:探空仪流体力学BP神经网络

吴翼凡 刘清惓 杨杰 戴伟

关键词: 温度传感器; 探空仪; 流体力学; BP神经网络; 辐射误差; 误差修正

中图分类号: TN915?34; TP274                  文献标识码: A                    文章编号: 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

在高空大气探测领域中,由于探空仪搭载的温度传感器通常直接暴露在太阳辐射环境中,因此导致传感器的观测数据高于真实大气温度,由此产生的误差简称辐射误差[1],这种辐射误差可达0.8 K以上。气候变化研究对温度测量精确性的要求日益提高,由于气候变暖的速度约为0.1 K/a量级[2],要求温度传感器测量精度达到0.1 K量级,因此需要对探空温度传感器测量结果进行误差修正[3]。

近年来,已有不少国内外学者针对探空温度传感器辐射误差展开研究,其主要的研究方法有风洞实验法和经验估测法。瑞士的Ruffieux D為辐射误差的修正搭建了简易的低气压辐射风洞平台,但由于现有技术难以实现能真实模拟高空辐射环境,因此风洞实验法未能在该领域获得实际应用[4]。经验估测法一般是由探空仪的厂家提供辐射误差修正公式或者对照表,世界气象组织也提供了一些辐射误差修正估计值,但造成辐射误差的因素是多方面的,因此上述方法不能适用复杂多变的自然环境。

为提高探空温度传感器的观测精度,本文提出采用计算流体力学方法对探空温度传感器进行数值仿真分析,模拟出传感器在太阳辐射下的温度分布,从而量化温度传感器在不同海拔高度、升空速度、太阳辐射强度下的辐射误差。但由此得到的辐射误差值是离散的数值,难以进行实际的应用。为解决这一问题,本文提出采用能够进行多变量参数预测数据的BP(Back Propagation)神经网络对离散的辐射误差值进行数据拟合并获得辐射误差修正公式[5]。

1  探空温度传感器的计算流体力学分析

NTC珠状热敏电阻具有随温度上升阻值变小的特性,是目前国际主流的探空仪温度传感器,结构见图1。

通过计算流体力学建立珠状热敏电阻以及外围空气域的物理模型如图2所示,左侧为气流进口模拟探空仪上方,右侧为气流出口。

对不同大气环境下的热敏电阻进行辐射对流耦合数值仿真分析,当海拔高度为0 km、升空速度为6 m/s、太阳辐射强度为1 000 W/m2时,得到温度场分布情况如图3所示。从图3中可以看出,在该环境下热敏电阻表面温度由顶端向下方递减,符合传热物理定律,通过计算可以得到热敏电阻因太阳辐射产生0.12 K的温度差。

由于探空仪升空时,随着海拔高度增加,气压显著减小,大气环境更加复杂[6],因此本文采用“标准大气”来模拟不同高度的大气环境。“标准大气”是由国际相关组织和学者规定的一种特性随高度平均分布的最接近实际大气的大气模式[7]。分别对不同海拔高度下由升空速度和辐射强度产生的辐射误差进行数值仿真分析,得到当辐射强度为1 367 W/m2时,由上升速度和海拔高度计算出来的辐射误差值如图4所示。

当上升速度为6 m/s时,由辐射强度和海拔高度计算出来的辐射误差值如图5所示。

根据计算结果表明,辐射误差与海拔高度、太阳辐射呈正相关,与升空速度呈负相关,并且可以看出太阳辐射强度对辐射误差的影响更为显著。

2  基于BP神经网络的温度修正算法

BP神经网络具有强大的并行信息处理、非线性映射能力,能够有效解决任意非线性函数的逼近问题[8]。本文将海拔高度、升空速度和太阳辐射强度作为BP神经网络输入数据,以辐射误差作为网络输出,以计算流体力学得到的辐射误差作为预测模型。BP神经网络包括输入层、隐含层和输出层[9?10],如图6所示。

1) 由于海拔高度、上升速度和太阳辐射强度这三个因素的数据范围较大且单位不统一,会导致神经网络训练时间长、收敛速度慢的问题,所以首先需要将输入数据进行归一化处理,映射到[-1,1]的范围内。

2) 将BP神经网络的输入层神经元设为3个,输出层神经元设为1个,隐含层神经元设为i个,学习速率设为0.05,训练结果设为0.000 004,训练次数设为500。H,V,P为输入层的输入数据,分别为海拔高度、上升速度和辐射强度,ΔT为输出层的输出数据,即辐射误差,Wij为输入层到隐含层的权值,Wki为隐含层到输出层的权值,θ1,θ2,…,θi为隐含层阈值,ak为输出层阈值。其中隐含层的传递函数选取正切S型函数tansig,输出层传递函数选取纯线性函数Pureline型函数。

3) 将以上的BP神经网络结构建立黑箱模型[11],以计算流体力学得到的辐射误差作为输出变量的预测模型。BP神经网络计算过程包括信号的前向传播和误差的反向传播两个计算过程,如果前向传播的输出没有达到期望值,则进行误差反传,调整各层的权值与阈值直至与期望值的误差达到最小值。

3  结果与分析

按照设定好的BP神经网络结构编写Matlab程序,Matlab拥有完整的神经网络工具箱可使程序更具阅读性。经过预测模型训练,获得仿真结果如图7所示。

由此可得仿真输出的辐射误差值与数值分析的样本辐射误差基本吻合。为了更加直观地分析结果,将仿真输出与样本数据相减获得两者的绝对误差,见图8。

由此可知仿真输出与样本的絕对误差基本控制在[-0.003,0.005],说明BP神经网络数据拟合算法的拟合度较高,适合在辐射误差领域应用。

记录下完成训练后BP神经网络各层的权值与阈值,并且由此得出拟合公式,输出更高精度的辐射误差,S型函数公式如下:

[S=tansig(H·Wi1+V·Wi2+P·Wi3+θi)] (1)

式中:[Wi1,Wi2,Wi3]分别为海拔高度H、上升速度V和辐射强度P对应的由输入层到隐含层的权值;而输入层神经元为3,输出层为1,则j=3,k=1;[θi]为隐含层阈值。将S输出,Pureline型函数公式如下:

[ΔT=Purelin{S·Wki+ak}] (2)

式中:Wki为隐含层到输出层的权值;输出层阈值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)

由于计算流体力学数值分析只能获得离散的辐射误差,所以BP神经网络在这一领域的应用不仅成功地将数据拟合得出修正方程,而且其多个输入更符合现实复杂的太阳辐射环境,使辐射误差结果更贴近真实。

4  软件应用

考虑到算法对实际应用的普适性,本文别分用C#与Java分别对完成训练后的BP神经网络得到的辐射误差修正方程进行封装,方便从业人员的调用,并且根据此算法进行探空仪上位机的开发。

本文的Windows上位机软件是基于Microsoft Visual Studio 2013开发环境完成应用的开发,数据库采用的是Microsoft SQL Server 2008,通过Socket套接字类获取串口数据。在分析需求和确定功能之后,软件的架构设计如图9所示。

本文将BP神经网络辐射误差公式封装成C#语言的方法,使代码简捷明了并且方便调用。

图10是整个软件的主界面。该界面将采集到的海拔高度、温度、辐射强度等数据,经过调用辐射误差修正方法修正后,以图形界面的形式显示。

由于微软本身提供的图标控件具有一定的局限性,为了可以更加直观地观察数据的变化趋势以及修正前后的误差区别,本文采用GDI+技术(Graphics Device Interface+)。

该技术提供了图像处理、图形绘制的接口。通过GDI+绘制出辐射误差修正的波形图界面,具体操作是调用Graphics画布类与Pen画笔类绘制坐标轴与背景,写一个方法将采集的数据信息转化成坐标信息,由Pen类将坐标信息绘制在坐标轴上,这样就达到实时显示数据的目的。除了重点介绍的辐射误差修正界面,该软件还对基础的用户管理进行完善,包括用户信息的注册、删除、查询以及用户的登录、登出、操作权限管理,使软件应用更加全面以及人性化。

由于探空仪一般在户外甚至较偏远的地区工作,这样移动端的开发显得方便而又必要。移动端是基于Android Studio编译环境开发的Android应用,数据库采用的是Android系统集成的SQLite轻量级数据,通信方式采用USB接口通信,通过调用Android的UsbManager类可以获取探空仪传感器发送的字符串。本文用Java语言编写一个BP.java文件来封装BP神经网络辐射误差修正算法,并且开放出方法以方便调用。

该应用在探空仪升空之前,先采集传感器的地面数据,完成传感器的自检,确保传感器在升空之前工作正常。在探空仪完成工作后,通过USB接口获取传感器数据,进行数据的查询与保存,部分界面如图11所示。

该应用将海拔高度、上升速度、辐射强度三个因素传入BP神经网络辐射误差修正算法中,传出辐射误差数据显示在界面上并对温度值进行修正工作。該应用除了辐射误差的修正界面,并且完善了用户管理、地图坐标查询等界面,使应用更加安全。

5  结  语

本文实现了基于BP神经网络的探空温度传感器辐射误差修正,并在探空仪数据采集软件开发中进行实际应用。应用计算流体力学的方法对探空温度传感器进行数值分析,模拟出传感器在太阳辐射下的温度场分布,量化在不同太阳辐射强度、升空速度、海拔高度下的辐射误差。利用BP神经网络对离散的辐射误差进行数据拟合,绝对误差控制在[-0.003,0.005],成功地使用BP神经网络预测了辐射误差值。用C#和Java两种语言封装BP神经网络拟合出的辐射误差修正公式,并进行数据采集软件的开发和算法应用。

参考文献

[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] 丁硕,巫庆辉.基于改进BP神经网络的函数逼近性能对比研究[J].计算机与现代化,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] 薛德强,谈哲敏,龚佃利,等.近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] 盛裴轩,毛节泰,李建国,等.大气物理学[M].2版.北京:北京大学出版社,2013.

SHENG Peixuan, MAO Jietai, LI Jianguo, et al. Atmospheric physics [M]. 2nd ed. Beijing: Peking University Press, 2013.

[8] 李秋硕,王岩,孙宇军,等.BP神经网络在用电用户分类中的应用[J].现代电子技术,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].传感技术学报,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].现代电子技术,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.

猜你喜欢

探空仪流体力学BP神经网络
银川站探空仪换型平行观测数据对比分析
探空仪换型平行观测数据对比分析
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
BP神经网络算法在数值预报产品释用中的应用
任务引领教学法在流体力学课程中的实践探析
秒级探空数据随机误差评估
L波段雷达GTSl型数字式探空仪准备的几点探讨