案例14:使用识别技术检测系统突变

本案例展示,如何使用在线估计和数据自动分割技术进行系统行为的突变检测。本案例要求装有系统识别工具箱,不要求预测性维护工具箱

第一步:问题描述

考虑一个传输延迟为1或2秒的线性系统。传输延迟指的是从输入到影响到输出测量结果所花费的时间。本案例中,将使用在线估计和数据分割的技术检测传输延迟的突变。系统测得的输入输出数据存储在pdmAbruptChangesData.mat

导入数据及绘图

传输延迟改变发生在大约20秒时,但在图上不易看出

使用一个多项式系数A,两个多项式系数B和一个延迟的ARX结构构建系统模型
y(t) + ay(t − 1) = b1u(t − 1) + b2u(t − 2)
此处A = [1  a]B = [0  b1  b2]

多项式系数B的首项为0,因为模型没有直接的输入。当系统动态变化时,三个系数a,b1,b2的值同样变化。当b1接近于0时,有效的传输延迟为2个样本,因为B多项式中前两个均为0。当b1变更大时,有效传输延迟变为1个样本

于是,为了检测传输延迟的变化,可以通过观察多项式系数B的变化实现

第二步:在线估计检测变化

在线估计算法更新模型参数和状态估计,并当新数据可用时处于不断迭代的规律中。可以选择使用来自系统识别工具项库中的Simulink模块或直接在命令行上使用递归识别程序,如recursiveARX。在线估计可以被用来建立随时间变化的动态模型如机械老化、气候模式改变或检测机电系统的故障

当估计器更新模型参数时,系统动态变化(延迟)将会被参数b1b2大于平常的变化所指示。多项式系数B的变化用以下计算追踪:
L(t) = abs(B(t) − B(t − 1))
使用recursiveARX对象在线估计ARX模型参数

指定NormalizedGradient为递归估计算法,并且自适应增益为0.9

iddata对象z中提取原始数据

使用动态线段画出参数估计值和L,并在估计前初始化这些动态线段。为模拟流数据,每次向估计器提供一个样本。在估计前初始化模型参数,随后进行在线估计

n0 = 6个数据样本不用了计算变化探测器L。在这区间内,参数变化是很大的,这归因于未知的初始化条件

通过使用信号处理工具箱中的findpeaks命令,找到L上所有峰值的位置

最大峰值的位置与多项式系数B的最大改变位置相对应,即传输延迟改变的位置

相比于在线估计技术可以提供更多的估计方法和模型结构选择,数据分割方法可以帮助自动检测突变和孤立变化

第三步:数据分割检测变化

数据分割算法自动将数据分割到不同动态行为区域内。这种方法对于捕捉源自失效或操作工况的改变引起的突变十分有用。segment命令简化了单输出数据操作。当你不需要捕捉系统运行时的随时间变化行为时,segment是一种备选的在线估计技术

数据分割技术的应用领域包括语音信号的分割(每个分割组代表一个音素),故障检测(每个分割组对应有或无故障的操作)和系统不同工作模式的估计

segment命令的输入包括测量数据、模型阶数和影响系统噪声方差的猜想值r2。如果方差完全未知,那它可以被自动的估计出来。使用具有与在线估计相同阶数的ARX模型进行数据分割。将方差值设定为0.1

分割的方法基于多模型自适应遗忘AFMM(adaptive forgetting through multiple models)

多模型方法被用于追踪时间变化系统。最终的追踪模型是多模型的平均,并作为segmenttvmod的第三输出返回

下面画出追踪模型的参数

plot(tvmod)
legend({'a','b_1','b_2'},'Location','best')
xlabel('Samples'), ylabel('Parameter value')
title('Time-varying estimates')

注意这三条参数轨迹之间的相似性,它们都是用recursiveARX估计得到的

segment可使用tvmod确定改变发生的时间点和q,模型发生突变的概率。这些时间点通过应用对追踪模型使用平滑化过程,被用来构造分割后的模型

分割后的模型参数值返回到seg中,segment的第一个输出量。每个连续行中的值是基础分割模型在相应时刻的参数值,这些值在连续行中保持恒定,仅当系统动态属性发生改变时,这些值才会改变。即,seg中的值是分段式恒定的

画出a,b1,b2的参数估计值

参数值的变化发生在第19个样本点附近。b1的值从小(接近于0)变大(接近于1).b2的值以相反的模式变化。这些在多项式参数B上发生的改变说明了传输延迟的变化

segment的第二个输出参数V,表示分割模型的损失函数(例如对分割模型的估计预测差的方差)。可以使用V来评估分割模型的质量

注意分割算法最重要的两个输入是r2qsegment的第四个输出参数。在本案例中,q并未指定,因为使用其默认值0.01便可。更小的r2值和更大的q值会导致更多的分割点。为了找到合适的值,可以改变r2q的值,并找到表现最好的那一组值。通常,相比于q,分割算法对r2的敏感度更高

第四步:总结

本案例中,使用在线估计和数据分割技术的系统突变检测方法被评估。在线估计方法提供了更多的灵活性,并且可以对估计过程有更多的控制。然而,对突变或罕见的变化,segment使得基于平滑的时变参数估计的自动检测技术变得容易

参考:https://ww2.mathworks.cn/help/predmaint/ug/Detect-Abrupt-System-Changes-Using-Identification-Techniques.html