ar与arx的比较

更新时间:2023-09-21 15:01:01 阅读量: 工程科技 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

AR模型:

AR模型具有如下的形式:A(q)y(t)=e(t) 其中,y(t)为系统的输出,(e)为白噪声输入信号。关于平移算子q的多项式A(q)定义为

A(q)=1+a1q-1+a2q-2+….+anaq-na

这个程序只是用于标量时间序列,不支持多变量数据。这里随机过程 AR模型中的驱动白噪声 (et)是模型固有组成部分 ,须将它与因观测误差或其他干扰引起的附加噪声严格区分。对于一个平稳过程 ,当用某种模型描述的逼近速度较慢时 ,改用其他模型可能获得更快的逼近速度。AR ( n)模型所描述的过程是一均值为零、 满足正态分布的平稳随机过程 ,最基本的建模方法是最小二乘建模法 ,该方法具有较高的精度。AR ( n)模型的优点是 ,建模简单 ,计算迅速 ,预测容易 ,参数易于估计。

ARx模型:

ARx模型具有如下的形式: A(q)y(t)=B(q)u(t-nt)+e(t),其中,A(q),B(q)为关于平移算子q的多项式,定义为:

A(q)=1+a1q-1+a2q-2+….+anaq-na B(q)=b1+b2q-1+….+bnbq-n(b-1)

其模型是通过最小2乘法估计出的,其不支持多输出建模,当e(t)不是白噪声时且na参数非零时,将得不到正确的估计模型。

AR模型与ARx模型的比较:

从两者形式可以看出arx模型比ar模型多了两项,分别为B(q)和u(t)项,说明arx模型是考虑了某时刻以前的所有输入量u(t)以及此刻的白噪声e(t)得出的系统模型,而ar模型仅考虑应用白噪声e(t)做驱动得出系统模型。ar模型估计起来简单运算量较小。 Matlab仿真如下: ar程序:

e = iddata([],randn(300,1));

A = [1 -1.5 0.7]; B = [0 1 0.5]; m0 = idpoly(A,B); y=sim(m0,[e]); m1=spa(y);

mb = ar(y,4,'burg'); bode(m1,’r’,mb);

arx程序:

A = [1 -1.5 0.7]; B = [0 1 0.5]; m0 = idpoly(A,B);

u = iddata([],sin([1:300]') + 0.5*randn(300,1)); e = iddata([],randn(300,1)); y = sim(m0, [u e]); z = [y,u];

m = arx(z,[2 2 1]); bode(m0,’r’,m);

ar输出辨识结果图:绿线为辨识结果,红线为实际频率响应曲线

arx辨识结果图:绿线为辨识结果,红线为系统标准bode图

Ident工具的使用:

1.数据导入:load count.dat; u=count(:,1); y=count(:,2); 2.处理:

将u,y导入import data中,并进行detrend及remove mean操作。 再将所得输入输出信号process 得到各个模型,如下图所示:

P1d处理结果

Arx441处理结果:

本文来源:https://www.bwwdw.com/article/2f3h.html

Top