利用线性OE模型估计Hammerstein-Wiener模型初始化
这个例子展示了如何使用线性模型估计Hammerstein-Wiener OE模型。
负荷估算数据。
负载throttledata.mat
这个命令加载数据对象ThrottleData
进入工作区。对象包含输入和输出样本收集从一个发动机节气门系统,采样率为100 hz。
直流电机控制蝶阀的开度角在节气门系统。步信号(伏特)驱动直流电机。输出角位置(度)的阀门。
图数据的查看和分析数据特征。
情节(ThrottleData)
在正常操作范围内的15 - 90度,输入和输出变量有一个线性关系。您使用一个线性模型的低阶模型的关系。
节气门系统,很难停止限制阀门位置90年
度,弹簧使阀15
直流电机是关闭的时度。这些物理组件引入非线性线性模型无法捕捉。
Hammerstein-Wiener模型来估计模型的线性行为对于单变量系统在正常操作范围。
%去趋势的数据,因为线性模型不能获取补偿。Tr = getTrend (ThrottleData);Tr.OutputOffset = 15;DetrendedData =去趋势(ThrottleData、Tr);%估计线性OE模型与na = 2, nb = 1, nk = 1。选择= oeOptions (“焦点”,“模拟”);LinearModel = oe (DetrendedData,(2 1 1),选择);
比较模拟模型响应估计数据。
比较(DetrendedData LinearModel)
线性模型捕获和沉降行为上升的线性工作范围,但不占输出饱和在90度。
估计Hammerstein-Wiener模型模型输出饱和。
NonlinearModel = nlhw (ThrottleData LinearModel, [], idSaturation);
软件使用订单和订单延迟的线性模型的非线性模型。此外,该软件使用B和F多项式的线性传递函数。
非线性模型与数据相比较。
比较(ThrottleData NonlinearModel)