主要内容

利用识别技术检测系统突变

此示例演示如何使用在线估计和自动数据分割技术检测系统行为中的突然变化。此示例使用system Identification Toolbox中的功能™, 并且不需要预测性维护工具箱™.

问题描述

考虑一个传输延迟从2秒到1秒的线性系统。传输延迟是输入影响测量输出所花费的时间。在本例中,您使用在线估计和数据分割技术检测传输延迟的变化。从系统测量的输入输出数据可在数据文件中找到pdmAbruptChangesData.mat

加载并绘制数据。

负载pdmAbruptChangesData.matz=iddata(z(:,1),z(:,2));绘图(z)网格

图中包含2个轴对象。标题为y1的轴对象1包含一个类型为line的对象。这个对象表示z。标题为u1的坐标轴对象2包含一个类型为line的对象。这个对象代表z。

运输延迟变化发生在20秒左右,但在绘图中不容易看到。

使用ARX结构与一个模拟系统一个多项式系数,两B多项式系数,一个延时。

y t + 一个 y t - 1 b 1 u t - 1 + b 2 u t - 2

在这里,A=[1 A]b = [0 b1 b2]

的前导系数B多项式为零,因为模型没有馈通。随着系统动力学的变化,三个系数的值一个b1, 和b2改变什么时候b1接近零,有效的运输延迟将是2个样品,因为B多项式有2个前导零。什么时候b1越大,有效传输延迟将为1个样本。

因此,要检测传输延迟的变化,您可以监视B多项式系数。

使用在线估计进行变更检测

随着新数据可用,在线估计算法更新模型参数和状态估计,递归方式。您可以使用Simulink块从系统识别工具箱库或使用递归识别例程执行在线估计,例万博1manbetx如recursiveARX在线估计可用于建模时变动态,如老化的机械和不断变化的天气模式,或检测机电系统中的故障。

当估计器更新模型参数时,系统动力学的变化(延迟)将表现为参数值的变化大于通常的变化b1b2.的变化B多项式系数将通过以下方式进行跟踪:

l t 一个 b 年代 B t - B t - 1

使用recursiveARX对象在线估计ARX模型的参数。

na=1;nb=2;nk=1;估计量=recursiveARX([na-nb-nk]);

指定递归估计算法为正火并且适应增益为0.9。

估计量。EstimationMethod ='规范化普罗迪兰';估计量。一个daptationGain = .9;

从数据库中提取原始数据iddata.目的,z

输出= z.OutputData;输入= z.InputData;t = z.SamplingInstants;N =长度(t);

使用动画线条绘制估计的参数值和l。在估算之前初始化这些动画行。要模拟流数据,请将数据一次一个样本地馈送估算器。在估算之前初始化模型参数,然后执行在线估算。

%%初始化绘图颜色= {“r”“g”“b”};甘氨胆酸ax =;班(ax)K = 3:-1:1 h(K) = animatedline'颜色'、颜色{k});A,B1和B2参数的%行终止h (4) = animatedline (“标记”“。”'颜色',[0 0 0]);L的%行传奇({“一个”“b1”“b2”“偏差”},“位置”‘东南’)头衔(“ARX递归参数估计”)Xlabel('时间(秒)')ylabel(的参数值)ax.xlim = [t(1),t(端)];AX.YLIM = [-2,2];网格盒子%%现在执行递归估计并显示结果n0 = 6;L =南(N、nk);B_old =南(1、3);ct = 1:n [a,b] =步骤(估算器,输出(CT),输入(CT));如果CT> N0 L(CT)=规范(B-B_old);b_old = b;终止附加点(h(1),t(ct),A(2))附加点(h(2),t(ct),B(2))附加点(h(3),t(ct),B(3))附加点(h(4),t(ct),L(ct))暂停(0.1)终止

图中包含一个轴对象。标题为ARX递归参数估计的axis对象包含4个类型为animatedline的对象。这些对象代表a, b1, b2,偏移。

第一n0=6个数据样本不用于计算变化检测器,l.在此区间内,由于初始条件未知,参数变化较大。

找出所有山峰的位置l通过使用findpeaks.来自信号处理工具箱的命令。

(v, Loc) = findpeaks (L);[~,我]= max (v);线(t (Loc (I)), L (Loc (I)),“父”,斧头,“标记”'o''markeredgecolor'“r”...“MarkerFaceColor”“是的”'Markersize', 12)

图中包含一个轴对象。标题为ARX递归参数估计的axis对象包含5个类型为animatedline, line的对象。这些对象代表a, b1, b2,偏移。

流('在样本数%d.\n检测到系统延迟变化',Loc(I));
在样本号21处检测到的系统延迟变化。

最大峰值的位置对应于温度的最大变化B因此,多项式系数,并且是传输延迟变化的位置。

虽然在线估计技术提供了更多选择用于选择估计方法和模型结构的选项,但数据分段方法可以帮助自动化突然和隔离变化。

使用数据分割进行变更检测

数据分割算法自动将数据分割成不同动态行为的区域。这对于捕获由于故障或操作条件变化而引起的突然变化非常有用。的命令为单输出数据提供此操作。当您不需要捕获系统运行期间的时变行为时,是在线估计技术的一种替代方法。

数据分割的应用包括语音信号的分割(每一段对应一个音素)、故障检测(每段对应有故障和无故障的操作)以及系统不同工作模式的估计。

的输入命令包括测量数据、模型顺序和方差猜测,r2,表示影响系统的噪声。如果方差完全未知,则可以自动估计。使用与在线估计相同阶数的ARX模型执行数据分割。将方差设置为0.1。

[seg,V,tvmod] = segment(z,[na nb nk],0.1);

分割方法基于AFMM(通过多个模型自适应遗忘)。有关该方法的详细信息,请参阅Andersson,Int.J.Control,1985年11月。

多模型方法用于跟踪时变系统。生成的跟踪模型是多个模型的平均值,并作为TVMOD.

绘制跟踪模型的参数。

绘图(tvmod)图例({“一个”'b_1'“b_2”},'地点'“最好的”)Xlabel(“样本”),伊拉贝尔(的参数值)头衔(“时变估计”

图中包含一个Axis对象。标题为“时变估计”的Axis对象包含3个line类型的对象。这些对象表示a、b_1、b_2。

请注意这些参数轨迹和那些使用估计的轨迹之间的相似性recursiveARX

使用确定发生更改的时间点TVMOD.,即模型出现突变的概率。通过对跟踪模型进行平滑处理,利用这些时间点来构建分段模型。

分段模型的参数值在中返回赛格,的第一个输出参数.每个连续行的值是底层分段模型在相应时刻的参数值。这些值在连续的行中保持不变,只有在确定系统动态发生变化时才会更改。因此,值赛格是分段常数。

绘制参数的估计值一个b1, 和b2

情节(seg)标题(参数值段的) 传奇({“一个”“b1”“b2”},'地点'“最好的”)Xlabel('时间(秒)')ylabel(的参数值

图中包含一个轴对象。带有标题参数值segments的axes对象包含3个类型为line的对象。这些对象代表a b1 b2。

样本号19周围的参数值发生了变化。价值b1从一个小(靠近零)变为大(接近1)值。的价值b2显示了相反的模式。此值的更改B参数表示传输延迟的变化。

的第二个输出参数V,是分段模型的损失函数(即分段模型的估计预测误差方差)。您可以使用V对分割模型的质量进行评估。

注意,分段算法的两个最重要的输入是r2,第四个输入参数.在本例中,未指定,因为默认值为0.01,是足够的。较小的价值r2和更大的值将导致更多的分割点。为了找到合适的值,您可以改变r2通常情况下,分割算法对图像质量更敏感r2

结论

评估了在线估计和数据分割技术在检测系统动力学突变方面的应用。在线估计技术为估计过程提供了更大的灵活性和更多的控制。但是,对于不频繁或突变的变化,促进了一种基于平滑的时变参数估计的自动检测技术。

相关话题