一种基于传感器阵列的火源动态定位方法
技术领域
本发明属于火灾定位技术领域,具体涉及一种基于传感器阵列的火源动态定位方法。
背景技术
随着时代的进步,城市现代化建设日新月异,建筑物的结构呈高层化、复杂化的发展趋势,因而对建筑物内消防系统的要求也更高。火灾,作为一种具有突发性和强破坏性的灾害现象,严重危害人类生命财产安全和自然环境。高层建筑物发生火灾造成的后果更加严重。火灾源点定位研究为自动灭火和扑救工作提供准确的位置信息,也为人员疏散提供可行路径。
由于基于传感器阵列的方法能有效避免图像型方法在室内遮挡的问题,因而广泛应用于火源早期定位。2000年Thomas Kaiser发表了基于温度传感器阵列的火灾探测方法,分析了火灾初期温度场的情况和热气流的流动特点,给出用温度传感器阵列进行火灾定位的前提条件,用相关法完成阵列信号时延估计,并在远场中实现火灾定位的计算。但是该方法没有利用历史测量数据,输出结果误差较大。为此,葛泉波等人提出基于传感器阵列统计特征的火源定位方法(专利号:ZL201110175035.5),该方法基于统计建模思想扩展估计,使用了全局历史数据,改善了定位估计精度。不足的是,这一方法必须首先估计火源位置,然后才能以火源位置为圆心,根据几何原理解算出估计误差半径。事实上,这种设计思想的合理性在理论上并不能得到保证。
发明内容
本发明的目的在于针对现有基于传感器阵列定位技术的不足,提供一种基于传感器阵列测量动态模型的火源定位方法。
本发明方法首先将传感器阵列内采集的温度信号转化为方位角估计;然后分别选取火源坐标和方位角估计为系统状态向量和测量向量,建立相应的非线性状态空间模型;最后利用VB-SCKF估算出火源的位置。具体包括以下步骤:
步骤1:布置传感器阵列:布置两个温度传感器阵列A和B,每个阵列由4个负温度系数温度传感器构成;将两个传感器阵列A和B布置在房间天花板任意一侧靠边的位置,距离为L。
步骤2:数据采集与预处理:采用远场定位原理,阵列A和阵列B分别将采集到的温度信号转化为角度估计和其中k为离散时间标记。
步骤3:动态建模:分别选取火源坐标和方位角估计为系统状态向量x(k)和测量向量z(k),建立相应的非线性状态空间模型。
步骤4:火源位置及其误差估计:基于步骤3中建立的状态空间模型,利用VB-SCKF算法递推估算火源的位置及其相应的均方根误差协方差阵S(k|k)(k|k表示该值即为第k时刻的最优估计值),具体算法步骤如下:
(4.1)设置滤波初始条件:S(0|0)=S0;
(4.2)时间更新:估计一步预测目标状态及其均方根协方差阵S(k|k-1),其中,k|k-1表示用k-1时刻的目标信息估计第k时刻的目标信息;
(4.3)量测更新,具体包括:
(4.3.1)计算测量值的预测估计值
(4.3.2)计算状态和测量值的互协方差矩阵Pxz(k|k-1)
(4.3.3)采用变分贝叶斯方法迭代计算测量噪声方差阵均方根新息协方差阵Szz(k|k-1),增益阵K(k)、最优估计及其均方根误差协方差S(k|k),迭代过程如下:
(I)设置循环控制变量j的初值,令j=1,并且给出迭代次数N1的值,迭代循环开始
(II)计算测量噪声方差阵其中上标j表示第j次迭代时的值
(III)计算均方根新息协方差阵和增益阵Kj(k)。
(IV)计算最优估计及其均方根误差协方差Sj(k|k)
(V)如果j<N1,令j=j+1;然后返回(II),否则执行(VI)
(VI)结束迭代过程,输出结果:
本发明有益效果:传统的定位方法需先估算火源坐标,然后利用几何原理进一步求解误差范围。本发明提出的方法能同时计算出这两项指标。与此同时,本发明涉及的方法具有递推计算的特性,有效利用了全局历史测量数据,从而提高了定位估计精度。此外,变分贝叶斯技术的引入也增强了定位方法的鲁棒性。
附图说明
图1为双传感器阵列火源定位原理图;
图2为本发明算法流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
基于双传感器阵列的火源定位原理如图1所示。阵列A和阵列B均由4个负温度系数传感器构成。采用远场定位原理,即假设阵列内各传感器之间的距离远小于阵列之间的距离L,也远小于阵列与火源之间的距离。每个传感器阵列实现一个方位的估计。本实施例中将传感器阵列布置在静风受限空间天花板一端靠近角落的位置。
选取火源的平面坐标(x0,y0)为系统状态x(k)=[x0,y0]T,选取双阵列的方位角估计为系统测量向量(其中上标“T”表示矩阵转置运算),则可建立如下的非线性状态空间模型:
x(k)=x(k-1) (1)
式(1)和(2)中,arccos表示取反余弦,(xA,yA)表示阵列A的坐标,v(k)是均值为零的高斯白噪声,且其方差R(k)时变未知。
基于传感器阵列的火源动态定位算法流程如图2所示,下面根据式(1)和(2)所述的模型,并结合该流程,详细介绍各个实施步骤。
步骤1设置滤波初始条件:S(0|0)=S0,且假设x(0)独立于v(k)。
步骤2时间更新
(2.1)计算容积点和传播后的容积点(i=1,2,3,4)
其中,i=1,2,3,4,其中点集{e}由下式确定:
(2.2)计算状态预测估计值及其均方根误差协方差阵S(k|k-1)
其中,“Tria”表示Cholesky分解运算,且有:
步骤3量测更新
(3.1)计算容积点和传播后的容积点(i=1,2,3,4)
(3.2)计算测量值的预测估计值
(3.3)计算状态和测量值的互协方差矩阵Pxz(k|k-1)
Pxz(k|k-1)=X(k|k-1)ZT(k|k-1) (8)
其中,
(3.4)迭代计算测量早噪声方差
(3.4.1)计算参数预测值
其中,ρ=[ρ1,ρ2]T,φ(k)=[φ1(k),φ2(k)]T;β(k)=[β1(k),β2(k)]T。“·”表示Matlab中的点运算。
(3.4.2)迭代初始化,令j=1,给出迭代次数N1的值,迭代循环开始
(3.4.3)计算第j次迭代的测量噪声方差阵
其中,“diag”表示将向量转化为对角矩阵。
(3.5)计算第j次迭代的均方根新息协方差阵
其中,表示的均方根矩阵。
(3.6)计算第j次迭代的增益阵Kj(k)
(3.7)计算第j次迭代的最优估计及其均方根误差协方差Sj(k|k)
(3.8)判断迭代算法是否继续执行
(3.8.1)如果j<N1,令j=j+1;更新迭代估计参数βj(k),然后返回(3.4.3)
其中,
(3.8.2)如果j=N1,结束迭代,执行步骤(3.9)
(3.9)输出结果:
需要说明地是,本发明方法中的状态估计提供了火源的坐标,而S(k|k)的对角元素平方和的平方根则代表了估计误差半径。