这个例子说明了如何检测使用在线估计和自动数据分割技术的系统行为的突然变化。本示例使用了系统辨识工具箱™功能,并且不需要预知维修工具箱™。
考虑一个线性系统,其传送延迟变化从两个到一秒。传输延迟是采取将输入以影响所测量的输出的时间。在这个例子中,你发现使用在线估计和数据分割技术在传输延迟的变化。从系统所测量的输入输出数据是在所述数据文件中可用pdmAbruptChangesData.mat
。
加载和绘制数据。
加载pdmAbruptChangesData.matZ = IDDATA(Z(:,1),Z(:,2));图(Z)网格在
传输延迟的变化发生在20秒左右,但是在情节中不容易看到。
建模使用ARX结构与一个系统一个
多项式系数,二乙
多项式系数,和一个延迟。
这里,A = [1]
和B = [0 b1 b2]
。
的首项系数乙
多项式为零,因为该模型没有馈通。由于系统动力学的改变,这三个系数的值一个
,B1
和B2
更改。什么时候B1
接近于零,则有效传输延迟将2个样本,因为乙
多项式有2个前导零。什么时候B1
越大,有效传输延迟将是1个样品。
因此,检测传输延迟的变化可以监控的变化乙
多项式系数。
当有新的数据可用时,在线估计算法以递归的方式更新模型参数和状态估计。您可以从系统标识工具箱库使用Simulink块执行在线评估,也可以在命令行使用递万博1manbetx归标识例程执行在线评估,例如recursiveARX
。在线估计可用于模型的时变动力学如机械老化和天气变化,或检测在机电系统的故障。
作为所述估计更新模型参数,在系统动力学(延迟)的变化将通过在参数的值的比通常大的变化来指示B1
和B2
。在变化乙
多项式系数将被计算被跟踪:
使用recursiveARX
对象为ARX模型的在线参数估计。
NA = 1;NB = 2;NK = 1;估计= recursiveARX([NA NB NK]);
指定递归估计算法NormalizedGradient
和自适应增益为0.9。
Estimator.EstimationMethod ='NormalizedGradient';Estimator.AdaptationGain = 0.9;
提取从原始数据IDDATA
对象,ž
。
输出= z.OutputData;输入= z.InputData;T = z.SamplingInstants;N =长度(T);
使用动画线条绘制参数估计值和大号
。初始化之前估计这些动画线。为了模拟流数据,填充数据,以估计一个样品在一个时间。估计之前初始化模型参数,然后进行在线估计。
%%初始化情节颜色= {'R','G','B'};AX = GCA;CLA(斧)对于K = 3:-1:1个H(K)= animatedline('颜色',颜色{K});%行为a, b1和b2参数结束H(4)= animatedline(“标记”,'','颜色',[0 0 0]);对于L%线传说({'一个','B1','B2','偏差'},'位置','东南')标题(“ARX递归参数估计”)包含(“时间(秒)”)ylabel(“参数值”)ax.XLim = [T(1),T(端)];ax.YLim = [-2,2]。格在框在%%现在执行递归估计和显示结果N0 = 6;L = NaN的(N,NK);B_old = NaN的(1,3);对于ct = 1:N [A,B] =阶跃(估计量,输出(ct),输入(ct));如果ct>n0 L(ct) = norm(B-B_old);B_old = B;结束addpoints(H(1),T(CT),A(2))addpoints(H(2),T(CT),B(2))addpoints(H(3),T(CT),B(3))addpoints(H(4),T(CT),L(CT))的暂停(0.1)结束
首先N0
=数据的6个样品不被用于计算所述变化检测器,大号
。在该间隔期间的参数变化大由于未知的初始条件。
查找所有峰的位置大号
通过使用findpeaks
从信号处理工具箱命令。
[V,禄] = findpeaks(L);[〜,I] = MAX(V);线(T(LOC(I)),L(LOC(I)),“父”,斧头,“标记”,“o”,'MarkerEdgeColor','R',...'MarkerFaceColor','Y',“MarkerSize”,12)
fprintf中([变更在系统延迟在样品号%d检测到。\ N',LOC(I));
在系统中的延迟变化在样品编号21检测。
最大峰值的位置对应于最大的变化乙
多项式系数,并且因此在传输延迟的变化的位置。
虽然在线估计技术提供了选择估计方法和模型结构更多的选择,数据分割方法可以帮助的突然和孤立的变化自动化检测。
一种数据分割算法自动地将数据分段成不同动态行为的区域。这是用于捕获从故障或操作条件变化引起的突然变化是有用的。该分割
命令简化了单输出数据的操作。分割
就是当你不需要捕获系统运行期间随时间变化的在线行为估计技术的替代品。
数据分割的应用包括语音信号的分割(每个分段对应于一个音素),故障检测(段对应于操作具有和没有故障),和估计的系统的不同工作模式的。
输入到分割
命令包括所测量的数据,该模型的订单,并为方差猜测,R2
,影响了系统的噪音。如果差异是完全不知道,它可以自动估算。使用同一订单的ARX模型用于在线估计进行数据分割。方差设置为0.1。
[SEG,V,tvmod] =段(Z,[NA NB NK],0.1);
用于分割的方法,是基于AFMM(通过多模型自适应遗忘)。有关方法的详细信息,请参阅安德森,诠释。J.控制1985年11月。
的多模式方法用于跟踪随时间变化的系统。将得到的跟踪模型是一个平均的多个模型,并且被返回的第三输出参数分割
,tvmod
。
画出跟踪模型的参数。
情节(tvmod)图例({'一个',“b_1”,'B_2'},“位置”,'最好')包含(“样品”),ylabel(“参数值”)标题(“随时间变化的估计”)
注意,这些参数轨迹和使用这些估计之间的相似性recursiveARX
。
分割
确定该时间点时,变化已经发生使用tvmod
和q
的概率模型表现出突然的变化。这些时间点被用于通过采用在跟踪模型的平滑过程来构建分割模型。
分段模型的参数值在返回赛格
中,第一输出参数分割
。每个连续行中的值是在相应的时刻的基本分割模型的参数值。这些值将保持在连续的行恒定,并且当确定了系统动力学已经改变只改变。因此,在值赛格
是分段常数。
绘制的参数估计值一个
,B1
和B2
。
图(SEG)称号(“参数值的段”)图例({'一个','B1','B2'},“位置”,'最好')包含(“时间(秒)”)ylabel(“参数值”)
的变化被认为是在围绕样品号为19的值的参数值B1
从一个小(接近于0)到一个大(接近于1)的值。的价值B2
示出了相反的图案。这种变化的值乙
参数指示在传输延迟中的改变。
的第二输出参数分割
,V
,是对于分割的模型中的损失函数(即,对于分割的模型估计预测误差方差)。您可以使用V
以驴分段模型的质量。
注意,两个最重要的输入分割算法是R2
和q
时,第四输入参数分割
。在这个例子中,q
未指定,因为默认值,0.01%,是适当的。值越小R2
和的较大值q
将导致更多的分割点。为了找到合适的值,你可以改变R2
和q
并使用工作的最好的人。典型地,该分割算法是更敏感R2
比q
。
使用在线估计和用于检测系统动力学的突然变化数据分割技术的进行了评价。在线估计技术提供了估算过程更多的灵活性和更多的控制。然而,对于那些不经常或突然变化,分割
便于基于随时间变化的参数估计平滑的自动检测技术。