考虑到理论模型太复杂或难以获得解析表达式,一些非理论模型可以高精度逼近真实系统,已经应用于非线性系统的MPC,如Volterra,NARMAX模型,维纳模型,Hammerstein模型等。本文选取几种做简单介绍:
Volterra模型 Volterra模型属于非理论性模型的一种,可以较为精确的描述非线性系统的动态特性。对于单数入单输出的离散非线性系统,二阶Volterra模型的一般形式可表述如下:
y(k)=∑i=1Mh1(i)u(k−i)+∑i=1M∑j=1Mh2(i,j)u(k−i)u(k−j)
y
(
k
)
=
∑
i
=
1
M
h
1
(
i
)
u
(
k
−
i
)
+
∑
i
=
1
M
∑
j
=
1
M
h
2
(
i
,
j
)
u
(
k
−
i
)
u
(
k
−
j
)
其中
yk
y
k
和
uk
u
k
分别是模型的输出和输入,
h1(i)
h
1
(
i
)
和
h2(i,j)
h
2
(
i
,
j
)
分别是系统的一阶、二阶Volterra时域核。Wiener模型 Wiener模型描述了这样一类非线性系统:在不同工作点上,系统的静态非线性增益相差很大,而系统的动态特性很接近。它由动态线性部分和静态非线性部分组成. 线性部分:
A(q−1)x(t)=B(q−1)u(t)
A
(
q
−
1
)
x
(
t
)
=
B
(
q
−
1
)
u
(
t
)
非线性部分:
y(t)=f(x(t))
y
(
t
)
=
f
(
x
(
t
)
)
式中:
A(q−1)=1+a1q−1+a2q−2+...+anaq−na
A
(
q
−
1
)
=
1
+
a
1
q
−
1
+
a
2
q
−
2
+
.
.
.
+
a
n
a
q
−
n
a
;
B(q−1)=1+b1q−1+b2q−2+...+bnbq−nb
B
(
q
−
1
)
=
1
+
b
1
q
−
1
+
b
2
q
−
2
+
.
.
.
+
b
n
b
q
−
n
b
;
u(t)
u
(
t
)
为模型输入;
x(t)
x
(
t
)
为中间变量;
y(t)
y
(
t
)
为模型输出;
f(⋅)
f
(
·
)
为非线性增益。 wiener模型的结构如下: —u—> | Linear Model | —x—> | Nonlinear Model | —y—> 置换一下非线性模型和线性模型的位置,及为Hammerstein模型的结构。非线性自回归滑动平均(NARMAX)模型 NARMAX模型表示输入输出之间的非线性函数关系,该函数是一个非线性差分方程,如下式所示:
y(k)=FNt(y(k−1),...,y(k−ny),u(k−1),...,u(k−nu),e(k−1),...,e(k−ne))+e(k)
y
(
k
)
=
F
N
t
(
y
(
k
−
1
)
,
.
.
.
,
y
(
k
−
n
y
)
,
u
(
k
−
1
)
,
.
.
.
,
u
(
k
−
n
u
)
,
e
(
k
−
1
)
,
.
.
.
,
e
(
k
−
n
e
)
)
+
e
(
k
)
其中,
ny
n
y
,
nu
n
u
,
ne
n
e
分别是时刻
k
k
时,系统输出、输入与噪声想的最大延迟数,u(k)u(k),
y(k)
y
(
k
)
分别是系统的输入与输出,
FNt[⋅]
F
N
t
[
·
]
是一个非线性函数。
(有时间随时更新)
|