卡尔曼滤波在海洋浮标数据预处理中的应用

2024-01-26 08:19张新文林冠英刘同木周保成
广东海洋大学学报 2024年1期
关键词:原始数据浮标卡尔曼滤波

张新文,林冠英,刘同木,周保成

(1.自然资源部南海调查中心,广东 广州 510300;2.自然资源部海洋环境探测技术与应用重点实验室,广东 广州 510300)

海洋浮标是利用无动力漂浮载体获取海洋环境信息的自动化监测系统,具有“海洋上的地球同步卫星”和“海上天气侦察兵”等称号,是海洋环境监测、海洋资源调查评估和海洋科学研究的重要平台[1-2]。受海洋环境噪声、海洋生物附着和传感器元件老化等因素的影响,浮标搭载的传感器测量值不可避免地存在环境噪声,直接影响数据应用效果[3]。当前,海洋浮标受到卫星通信带宽限制,一般在浮标端需要对原始数据按照固定时间将观测数据融合后回传。因此,在浮标端实时开展数据异常值检测和测量噪声预处理,是提高数据融合精度的可靠手段之一。

国内外学者在环境监测数据预处理方面进行了相关研究,主要分为以下三类预处理方法:(1)基于数值统计规律的数据预处理方法,该类方法通过计算数据组的分布规律识别离散异常值[4-5],但通常阈值设定需要人工干预,在延时数据预处理方面应用较好[6-7]。(2)基于时空特征的数据预处理方法,该类方法将观测要素的基于时间/空间的变化特征进行相关性分析,使得预处理结果符合时间/空间变化规律,主要包括卡尔曼滤波算法[8-10]、自回归移动平均模型(ARMA)[11]、基于时序相关性分析方法[12]等。(3)基于人工智能的数据预处理方法,该类方法以大数据量的历史数据挖掘分析为主,具有数据量大、算法复杂度高特点,适用于监测数据的延时预处理过程[13-14]。综上,基于数值统计规律的数据预处理方法在数据异常值剔除方面具有良好的表现,但不能实现浮标原始数据的实时去噪声处理,而浮标数据采集器的计算能力无法满足基于人工智能方法的高复杂度、大计算量的需求。基于时空特征的数据预处理方法计算开销较低且符合浮标测量要素随时间序列变化特征,但在工程应用上,浮标端尚未实现原始数据的自动化预处理,国内外的相关研究也以数据异常值检测或延时数据的批量质控处理为主,对于在浮标端开展原始测量数据实时自动化预处理方面的研究较少。因此,本研究结合海洋浮标的数据特征,提出一种基于改进的自适应卡尔曼滤波自动化数据预处理方法,该方法采用箱形图法对原始数据中的异常值进行检测和修正,以期通过改进的卡尔曼滤波方法实现浮标观测数据的噪声滤波处理,并在广东某海域进行实际的海洋工程应用实验,以验证该方法的有效性和可行性。

1 数据预处理方法

1.1 浮标数据特征

在确定数据预处理方法前,对海洋浮标搭载的传感器采样原理、数据特征和采样/融合频率等进行分析,以保证数据处理方法的合理应用,提高数据预处理效果。

依据GB/T 14914.3—2021《海洋观测规范 第3部分:浮标潜标观测》[15]和HY/T 147.6—2013《海洋监测技术规程第6 部分:海洋水文、气象与海冰》[16]等海洋环境监测相关标准,各监测要素在到达融合和回传时间后,浮标端将监测期间的原始数据进行提取并融合成该时段的测量值,浮标数据具有采样与融合频率固定、单参数融合、随时间序列演变等特征。因此,必须在融合前对该时段内所有监测数据进行统一的去噪声处理。同时,浮标监测参数在时间序列上符合环境变化规律,在设计自动化数据处理程序时可以根据参数的融合频率,采用基于预测与修正的实时滤波去噪方法。

1.2 卡尔曼滤波算法

卡尔曼滤波算法是一种具有较强容错能力,以最小均方误差为准则的递推无偏估计算法,可有效去除系统中的噪声干扰,在无人导航、电气控制、传感器数据融合等多个领域得到广泛应用[17-18]。传统的卡尔曼滤波是在标准条件下获得的,但海洋浮标是搭载多传感器的实时环境监测平台,在工程应用中由于噪声统计特性不准确而产生滤波精度降低甚至产生滤波发散问题。为解决卡尔曼滤波发散问题,有学者提出Sage-Husa 自适应卡尔曼滤波方法[19],该方法通过时变噪声估计器,在实时处理数据过程中,更新系统噪声和测量噪声,从而抑制滤波发散。其状态空间模型如下:

式(1)中,xk为系统k时刻的n维状态量;Φk,k-1为系统从k-1 时刻到k时刻的n×n维状态转移矩阵;zk为系统k时刻的m维观测量;Hk为系统k时刻的m×n维测量矩阵;wk-1为系统k-1 时刻的过程噪声;vk为m维测量噪声,满足如下统计特性:

式(2)中,j,k=1,2,3,...,当k=j时,δkj=1,否 则δkj=0;qk和qj为wk和wj的数学期望;rk为vk的数学期望;Qk和Rk为系统噪声和测量噪声方差矩阵。

Sage-Husa自适应卡尔曼滤波算法可描述为

1.3 改进的自适应卡尔曼滤波

受海洋环境噪声、海洋生物附着和传感器元件老化等因素的影响,浮标数据不可避免的存在异常测量值,这些异常值将导致算法在式(3)求状态值时被放大并引入到状态估计中,特别是当异常值偏离较大时,残差无法正确修正,会严重影响滤波精度,因而在使用卡尔曼滤波器进行滤波时,必须对测量异常数据进行剔除并修正。同时,测量噪声方差在计算过程中,当初始噪声设置过大或实际海洋环境噪声与理论建模值相比较小时,卡尔曼滤波算法将出现滤波发散问题。为提高算法的稳定性,需要解决异常值对滤波的干扰和抑制滤波发散问题。

1.3.1 异常值修正 基于统计规律的方法在异常值检测方面应用最为广泛,如拉依达准则和狄克逊准则等基于测量值正态分布规律的方法。但基于正态分布的疏失误差检测方法是以假定数据服从正态分布为前提的,其判断异常值的标准是以计算数据组的均值和标准差为基础的,异常值本身会对它们产生较大影响,进而导致方法的耐抗性较小。同时,海洋浮标数据往往难以服从正态分布规律,在使用基于正态分布的异常值检测方法时存在漏剔除和误剔除现象。基于统计规律的还有箱形图法,如图1所示。

图1 箱形图结构Fig.1 Box plot Structure

该方法利用数据序列中的5个统计量:下限、下四分位数(Q1)、中位数(Q2)、上四分位数(Q3)与上限来描述数据离散程度的方法。假设预处理数据集含n个测量值,则箱形图Q1取1×(n+1)/4 位置的数;若n为奇数,则Q2取(n+1)/2 位置的数,否则取n/2 和n/ 2+1 位置数的均值;Q3取3 × (n+1)/ 4 位置的数。因此,四分位距IQR 为Q3—Q1,上限Q3+1.5 × IQR 和下限Q1—1.5 × IQR 作为异常值截断点,测量值分布在该区间内的判定为有效测量值,否则判定为异常测量值。箱形图判断异常值的标准以四分位数和四分位距为基础,具有一定的耐抗性,能够客观地识别数据中的异常值。在识别到异常值后,为使得数据维数保持一致,本研究使用临近数据求取的平均值进行插补。

1.3.2 方差受限抑制滤波发散 为避免初始噪声设置过大或实际系统噪声与理论建模值相比较小,将造成测量噪声方差失去正定性而导致滤波发散问题。本研究设计采用方差受限的方法解决测量噪声导致的滤波发散问题,这种改变虽然降低了一定的滤波精度,但提高了滤波的稳定性。

式(4)中,βk作为方差加权系数,其取值为βk=βk-1/(βk-1+b),其中β0=1,β∞=1 -b,b为渐消因子,取值区间为[0.90,0.99];Rmin为设置的方差下限,保证为正,Rmax为设置的方差上限,能够快速降低测量值的可信度并判定是否异常,若异常则放弃本次更新。

2 数据处理流程

结合海洋浮标数据特征和处理程序,提出基于改进扩展卡尔曼滤波的自动化数据处理方法,如图2所示。

图2 数据预处理流程Fig.2 Data preprocessing process

在到达参数数据融合/回传时间后,浮标端将监测时段内的原始数据集提取作为数据预处理方法的输入,对数据集依次进行常规检验、箱型图异常值检测以及卡尔曼滤波去噪处理。主要步骤如下:

(1)判断是否到达参数数据融合与回传时间。若到达则提取该监测时段内参数的所有采样数据,作为预处理数据集D;若未到达则继续进行采样监测。

(2)数据常规校验。对数据集D内的各测量值进行遍历处理,判断数据是否符合格式要求,对不符合要求的数据进行修正或剔除,同时判断测量值是否在理论区间,对于超过传感器理论量程的数据予以剔除,输出数据集D1。

(3)异常值检测。完成常规校验后,以数据集D1作为箱形图输入,统计该时段内的数据分布规律,对于异常值进行剔除并使用临近数据的平均值进行插补,保证数据序列随时间的变化特征,输出数据集D2。

(4)初始化卡尔曼滤波算法的参数。考虑到浮标监测系统噪声由传感器元件自身的特性所决定的,如风速采样频率为3 s,浮标观测系统相对稳定,相邻间隔的测量值变化不大,因此根据k—1 时刻的最优估计值来预测k时刻的预测值时,我们由经验认为,测量噪声和系统噪声近似为高斯噪声,变量Φ和H初始设置为1,方差初始设置为q=0.05和r=0.50。

(5)去噪声处理。采用改进的自适应卡尔曼滤波方法进行去噪声处理,以数据集D2各测量值按时间序列作为算法输入,输出预处理后的数据集D3。

3 应用与分析

3.1 海洋工程应用

2021年6月28日至2021年8月16日,本研究数据预处理方法的海洋浮标在广东汕尾海域进行实际工程应用,该浮标搭载2 台风速风向仪、1 台声学多普勒流速剖面仪(ADCP)、1 台波浪仪进行海洋风、水温、海流、波浪的监测,实时回传数据为广东某地的系统工程建设提供数据支撑。站点位置与传感器配置情况详见表1。

表1 浮标系统部署与配置情况Table 1 Deployment and configuration of buoy system

3.2 应用结果与分析

3.2.1 系统运行稳定性 传感器完成数据采集后实时发送至浮标端的数据采集与控制系统,由该系统按照数据融合/回传时间,提取原始数据进行异常值修正和滤波降噪处理,并同步存储在浮标本地。海上实验结果表明,在整个监测周期内,部署本研究自动化数据预处理程序的浮标系统,数据采集率达100%,云数据中心数据接收率达97%。因此,本研究提出的自动化数据预处理程序计算开销较低且不影响浮标系统的正常采集和数据融合工作,系统整体运行稳定。

3.2.2 常规检验及异常值检测情况 2021 年8 月16日回收浮标后,将原始数据和处理后的数据下载后进行统计分析。2021 年7 月18 日台风“查帕卡”期间浮标监测的风、海流流速数据异常值检测前后对比情况如图3所示。

图3 数据异常值检测Fig.3 Data outlier detection

图3 显示了数据异常值的检测过程,由图3(a、c、e)可知,风、海流的原始数据中存在明显的异常测量值,这是由于传感器受海洋浮标摇晃、电信号不稳定及环境噪声干扰产生的。由于海洋浮标测量要素具有随时间有序变化的特征,如图3(b、d、f)所示,在到达数据融合时间后,通过常规检验和箱形图法能够很好地统计区间范围内的数据分布情况和识别离群异常值。2021 年6 月28 日至8 月16 日期间,浮标数据采集器未检测到传感器测量值超出理论阈值情况,但识别出部分数据存在格式错误和异常测量值。如表2 所示,浮标数据采集器检测到各传感器错误率均较低,最高的ADCP 错误率为8.90‰,主要原因是串口通信存在一定的通信误码率,而剖面海流的测量参数较多且单组数据量较大,单个参数格式有误则直接判定为格式错误。浮标数据采集器对格式错误进行初步修正后存储至本地,并对箱型图检测出的异常测量值使用临近数据求取平均值进行插补。

表2 常规检验及异常值检测情况Table 2 Routine inspection and detection of outliers

3.2.3 卡尔曼滤波数据预处理与应用分析 在完成常规校验和异常值检测后,浮标端将在每个融合/数据回传时刻,提取该时间段内的原始数据并采用改进的自适应卡尔曼滤波方法进行去噪声处理。如图4所示,浮标运行期间水温、海流流速和风速的原始数据经过滤波处理前后的对比。

图4 原始数据与卡尔曼滤波处理结果对比Fig.4 Comparison of raw data and Kalman filter processing results

根据图4,原始数据经卡尔曼滤波方法处理后,有效降低了水温、海流流速和风速的数据离散度,数据曲线更为平滑且符合随时间序列变化的规律,滤波效果良好。由于卡尔曼滤波算法“预测+修正”的特征,原始数据经滤波后,不仅能够消除测量噪声,也过滤了原始测量数据的高频信号。但部分海上施工作业时甚至只关注极值、最大值和海流流速等高频信号的变化,使得该方法在部分海洋工程领域存在应用局限性。因此,各融合时段的平均风速、平均风向、水温、气压、气温、平均波高等需要数据融合的参数,可直接采用滤波后的数据进行算数或矢量平均;极大风、最大风、最大波高等极值统计参数,则需要结合原始测量数据进行计算。针对大剖面、长序列的海流数据,研究人员一般更关注高频信号的变化以开展中大尺度的海洋动力过程研究,如内波实时监测与预警,通过计算原始数据与滤波后数据的残差,获取剖面海流流速的高频信号,进而通过海流高频变化特征实现浮标端内波的自动化识别[20-21]。因此,本研究提出的改进的自适应卡尔曼方法在有效消除测量噪声的同时,也能够间接应用于海流等参数高频信号的提取,验证了本研究方法的可行性。

3.3 与其他方法的仿真对比

为进一步验证算法的准确性、可靠性和抑制滤波发散能力,将本研究算法与标准卡尔曼滤波方法[8]、自适应卡尔曼滤波方法[9]和改进的Sage-Husa自适应卡尔曼滤波方法[22]的数据处理效果进行对比分析,运行硬件为具有一定计算能力的低功耗数据采集设备(Raspberry Pi,运行内存2 GB)。如图5(a、b)所示,该实验数据采用已知正弦信号作为模拟的实测值,添加高斯噪声(sigma=0.5)和突变数据的正弦信号作为传感器的测量值作为仿真实验的原始数据,因为真实值已知,通过将预处理后的数据与真实测量值进行误差比对分析,能够很好地评价数据预处理效果和验证算法的稳定性。3 种算法的数据预处理效果对比如图5(c)所示。

图5 不同预处理方法仿真对比Fig.5 Simulation comparison of different preprocessing methods

通过计算处理后数据与正弦信号真实值之间的均方根误差(RMSE)、平均绝对误差(MAE)、相关系数(R)及算法运行耗时等指标,对比分析不同方法的处理效果。如表3 所示,文献[8]方法受到数据噪声及突变数据的影响,即噪声过大及噪声与理论建模值相比较小时,随着误差累积出现了滤波发散现象。文献[9]、文献[22]及本研究方法能够有效的降低异常值对卡尔曼滤波发散的影响,滤波处理后的数据与真实数据曲线拟合效果较好,且本文方法处理后的数据均方根误差、平均绝对误差最低,与原始数据集的相关系数达0.98,数据预处理结果的准确性最优。另外,本研究方法利用箱型图法处理突变数据和限定方差上限,在有效降低异常值对滤波精度影响的同时,能够快速降低测量值的可信度,降低了算法的计算开销,其计算耗时相比文献[9]和文献[22]降低了50%,计算耗时最少。

表3 对添加噪声及突变数据的预处理效果评价对比Table 3 Comparison of preprocessing performance evaluation on adding noise and mutation data

4 结论

结合海洋浮标数据采集特征,本文提出了基于改进自适应卡尔曼滤波的自动化数据预处理方法,主要结论如下:

(1)该方法通过箱形图进行异常测量值的检测,并采用方差受限的方法解决测量噪声导致的滤波发散问题。

(2)海上工程应用结果表明,浮标端常规数据采集器能够满足该方法的计算开销,数据采集及自动化数据预处理程序运行稳定,浮标系统有效数据接收率达97%。根据统计,常规检验和箱形图法能够有效地识别格式错误和离群异常值,且各时段测量数据经过异常值修正和滤波降噪处理后,数据曲线更为平滑且符合随时间序列变化的规律,其滤波处理后的数据可应用于各测量要素的数据融合与高频信号的间接提取。

(3)与同类方法的仿真对比发现,本研究方法能够有效的降低异常值对卡尔曼滤波发散的影响,滤波处理后的数据与真实数据曲线拟合效果较好,且计算耗时最小。

本研究成果丰富了我国海洋浮标数据预处理与质控手段,可为其他领域的基于时间序列变化的数据处理提供参考和借鉴。

猜你喜欢
原始数据浮标卡尔曼滤波
受了委屈的浮标君
受了委屈的浮标君
受了委屈的浮标君
受了委屈的浮标君
GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
受特定变化趋势限制的传感器数据处理方法研究
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
全新Mentor DRS360 平台借助集中式原始数据融合及直接实时传感技术实现5 级自动驾驶
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制