这个例子展示了如何使用在线估计和自动数据分割技术来检测系统行为的突变。此示例使用来自系统标识工具箱™的功能,并且不需要预测性维护工具箱™。
考虑一个线性系统,其传送延迟变化从两个到一秒。传输延迟是采取将输入以影响所测量的输出的时间。在这个例子中,你发现使用在线估计和数据分割技术在传输延迟的变化。从系统所测量的输入输出数据是在所述数据文件中可用pdmAbruptChangesData.mat
。
加载并绘制数据。
加载pdmAbruptChangesData.matz = iddata (z (: 1)、z (:, 2));情节(z)网格在
传输延迟的变化发生在20秒左右,但是在情节中不容易看到。
使用带有一个ARX结构的系统建模一种
多项式系数,二乙
多项式系数,和一个延迟。
这里,A = [1]
和B = [0 b1 b2]
。
的首项系数乙
多项式为零,因为模型没有馈通。随着系统动力学的变化,三个系数的值一种
,B1
,B2
改变。当B1
接近于0时,有效运输延迟为2个样品,因为乙
多项式有2个前导零。当B1
较大时,有效运输延迟为1个样品。
因此,检测传输延迟的变化可以监控的变化乙
多项式系数。
当有新的数据可用时,在线估计算法以递归的方式更新模型参数和状态估计。您可以从系统标识工具箱库使用Simulink块执行在线评估,也可以在命令行使用递金宝app归标识例程执行在线评估,例如recursiveARX
。在线估计可以用来建模时变动力学,如老化的机器和变化的天气模式,或检测机电系统的故障。
作为所述估计更新模型参数,在系统动力学(延迟)的变化将通过在参数的值的比通常大的变化来指示B1
和B2
。在变化乙
多项式系数将被计算被跟踪:
使用recursiveARX
对象为ARX模型的在线参数估计。
na = 1;nb = 2;nk = 1;Estimator = 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 (“参数值”斧头。XLim = [t(1),(最终)];斧子。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), (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)),“父”ax,“标记”,“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(多模型自适应遗忘)。有关该方法的详细信息,请参阅Andersson, Int. J. Control 1985年11月。
采用多模型方法对时变系统进行跟踪。得到的跟踪模型是多个模型的平均值,作为的第三个输出参数返回分割
,tvmod
。
绘制跟踪模型的参数。
情节(tvmod)传说({'一种',“b_1”,“b_2”},“位置”,'最好')包含(“样品”),ylabel (“参数值”)标题(“时变估计”)
注意,这些参数轨迹和使用这些估计之间的相似性recursiveARX
。
分割
确定该时间点时,变化已经发生使用tvmod
和q
的概率模型表现出突然的变化。这些时间点被用于通过采用在跟踪模型的平滑过程来构建分割模型。
返回分段模型的参数值赛格
的第一个输出参数分割
。每个连续行中的值是在相应的时刻的基本分割模型的参数值。这些值将保持在连续的行恒定,并且当确定了系统动力学已经改变只改变。因此,在值赛格
是分段常数。
绘制参数的估计值一种
,B1
,B2
。
情节(凹陷)标题(“参数值的段”)({传奇'一种','B1','B2'},“位置”,'最好')包含(的时间(秒))ylabel (“参数值”)
在样本号19附近的参数值中可以看到变化。的价值B1
从一个小(接近于0)到一个大(接近于1)的值。的价值B2
显示了相反的模式。的值的变化乙
参数表示传输延迟的变化。
的第二输出参数分割
,V
为分段模型的损失函数(即分段模型的估计预测误差方差)。您可以使用V
以驴分段模型的质量。
注意,两个最重要的输入分割算法是R2
和q
时,第四输入参数分割
。在这个例子中,q
未指定,因为默认值0.01已经足够。较小的值R2
和的较大值q
将导致更多的分割点。为了找到合适的值,你可以改变R2
和q
使用最有效的方法。通常情况下,分割算法更敏感R2
比q
。
评价了在线估计和数据分割技术在检测系统动态突变中的应用。在线评估技术提供了更大的灵活性和对评估过程的更多控制。然而,对于不经常或突然的变化,分割
便于基于随时间变化的参数估计平滑的自动检测技术。