Method of identifying Hammerstein models with known nonlinearity structures using particle swarm optimization
AssigneeKing Fahd University of Petroleum and Minerals
InventorHussain N. Al-Duwaish
Life of this patent
Estimating the term…
Abstract
The method of identifying Hammerstein models with known nonlinearity structures using particle swarm optimization provides a computerized method utilizing a particle swarm optimization (PSO)-based scheme for the identification of nonlinear Hammerstein models with known nonlinearity structures. Particularly, this is accomplished by formulating the identification of the Hammerstein model as an optimization problem, with PSO being used in the optimization process.
Claims7
A computerized method of identifying Hammerstein models with known nonlinearity structures using particle swarm optimization, comprising the steps of:
- (a) generating M input-output data points from a Hammerstein system to be identified, the Hammerstein system having both linear and nonlinear parts, wherein M is a pre-defined integer and the Hammerstein system is defined by
- y
-
- (
- k
- )
- =
- B
-
- (
- q
- -
- 1
- )
- A
-
- (
- q
- -
- 1
- )
-
- x
-
- (
- k
- )
- +
- w
-
- (
- k
- )
- ,
- where k is an integer, the Hammerstein system having an input u(k), y(k) representing the output of the Hammerstein system, w(k) representing measurement noise of the Hammerstein system, and q representing a set of parameters describing the nonlinear part, with q−1 being the unit delay operator, and B(q−1) being defined as B(q−1)=b0+b1q−1+ . . . +bmq−m and A(q−1) being defined as A(q−1)=1+a1q−1+ . . . +anq−n, where m and n are integers and (m, n) represents the order of the linear part, and x(k) represents a non-measured intermediate variable which is the output of the nonlinear part, x(k) being given by x(k)=f(θ,u(k)), where f(θ,u(k)) is a function representing the nonlinear part and a1, . . . , an, b0, . . . , bm and θ are unknown parameters to be determined, wherein the generation of the M input-output data points is performed by a computer processor;
- (b) identifying the Hammerstein system by estimating the unknown parameters a1, . . . , an, b0, . . . , bm and θ from the input-output data, the estimation comprising the following steps (c) through (h) and being performed by the computer processor:
- (c) generating a set of random initial solutions for zeros and poles of the linear part and also for the sets of unknown parameters a1, . . . , an, b0, . . . , bm and θ of the nonlinear part within a pre-selected range;
- (d) evaluating a fitness function F for the set of random initial solutions, wherein the fitness function F is given by
- F
- =
- ∑
- k
- =
- 1
- M
-
- (
- y
-
- (
- k
- )
- -
- y
- ^
-
- (
- k
- )
- )
- 2
- ,
- where
-
-
- y
- ^
-
- (
- k
- )
- =
- B
- ^
-
- (
- q
- -
- 1
- )
- A
- ^
-
- (
- q
- -
- 1
- )
-
- x
- ^
-
- (
- k
- )
- ,
-
- B
- ^
-
- (
- q
- -
- 1
- )
- =
- b
- ^
- 0
- +
- b
- ^
- 1
-
- q
- -
- 1
- +
- …
- +
- b
- ^
- m
-
- q
- -
- m
- ,
-
- A
- ^
-
- (
- q
- -
- 1
- )
- =
- 1
- +
- a
- ^
- 1
-
- q
- -
- 1
- +
- …
- +
- a
- ^
- n
-
- q
- -
- n
- ,
- and
- x
- ^
-
- (
- k
- )
- =
- c
- ^
- 1
-
- u
-
- (
- k
- )
- +
- c
- ^
- 2
-
- u
- 2
-
- (
- k
- )
- +
- …
- +
- c
- ^
- L
-
- u
- L
-
- (
- k
- )
- ,
- L being an integer defined by representing the non-measured intermediate variable x(k) as x(k)=c1u(k)+c2u2(k)+ . . . +cLuL(k), where c1, c2, . . . , cL represent a further set of unknown parameters, and â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m, represent estimates of the unknown parameters a1, . . . , an, b0, . . . , bm;
- (e) minimizing the fitness function F to generate the estimated unknown parameters â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m and θ,
- (f) applying particle swarm optimization to the set of solutions by determining the most fit zeros and poles of the linear part calculated in step (d);
- (g) generating a new set of solutions composed of the most fit zeros and poles of the linear part and with the estimated parameters â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m and θ generated in step (e);
- and
- (h) repeating steps (d) through (g) for a predetermined number of generations.
A system for identifying Hammerstein models with known nonlinearity structures using particle swarm optimization, comprising:
- a processor;
- computer readable memory coupled to the processor;
- a user interface coupled to the processor;
- a display coupled to the processor
- software stored in the memory and executable by the processor, the software having:
- means for generating M input-output data points from a Hammerstein system to be identified, the Hammerstein system having both linear and nonlinear parts, wherein M is a pre-defined integer and the Hammerstein system is defined by
- y
-
- (
- k
- )
- =
- B
-
- (
- q
- -
- 1
- )
- A
-
- (
- q
- -
- 1
- )
-
- x
-
- (
- k
- )
- +
- w
-
- (
- k
- )
- ,
- where k is an integer, the Hammerstein system having an input u(k), y(k) representing the output of the Hammerstein system, w(k) representing measurement noise of the Hammerstein system, and q representing a set of parameters describing the nonlinear part, with q−1 being the unit delay operator, and B(q−1) being defined as B(q−1)=b0+b1q−1+ . . . +bmq−m and A(q−1) being defined as A(q−1)=1+a1q−1+ . . . +anq−n, where m and n are integers and (m, n) represents the order of the linear part, and x(k) represents a non-measured intermediate variable which is the output of the nonlinear part, x(k) being given by x(k)=f(θ,u(k)), where f(θ,u(k)) is a function representing the nonlinear part and a1, . . . , an, b0, . . . , bm and θ are unknown parameters to be determined;
- means for identifying the Hammerstein system by estimating the unknown parameters a1, . . . , an, b0, . . . , bm and θ from the input-output data;
- means for estimating the unknown parameters a1, . . . , an, b0, . . . , bm and θ from the input-output data, the means for estimating including:
- means for generating a set of random initial solutions for zeros and poles of the linear part and also for the sets of unknown parameters a1, . . . , an, b0, . . . , bm and θ of the nonlinear part within a pre-selected range;
- means for evaluating a fitness function F for the set of random initial solutions, wherein the fitness function F is given by:
- F
- =
- ∑
- k
- =
- 1
- M
-
- (
- y
-
- (
- k
- )
- -
- y
- ^
-
- (
- k
- )
- )
- 2
- ,
- where
-
-
- y
- ^
-
- (
- k
- )
- =
- B
- ^
-
- (
- q
- -
- 1
- )
- A
- ^
-
- (
- q
- -
- 1
- )
-
- x
- ^
-
- (
- k
- )
- ,
-
- B
- ^
-
- (
- q
- -
- 1
- )
- =
- b
- ^
- 0
- +
- b
- ^
- 1
-
- q
- -
- 1
- +
- …
- +
- b
- ^
- m
-
- q
- -
- m
- ,
-
- A
- ^
-
- (
- q
- -
- 1
- )
- =
- 1
- +
- a
- ^
- 1
-
- q
- -
- 1
- +
- …
- +
- a
- ^
- n
-
- q
- -
- n
- ,
- and
- x
- ^
-
- (
- k
- )
- =
- c
- ^
- 1
-
- u
-
- (
- k
- )
- +
- c
- ^
- 2
-
- u
- 2
-
- (
- k
- )
- +
- …
- +
- c
- ^
- L
-
- u
- L
-
- (
- k
- )
- ,
- L being an integer defined by representing the non-measured intermediate variable x(k) as x(k)=c1u(k)+c2u2(k)+ . . . +cLuL(k), where c1, c2, . . . , cL represent a further set of unknown parameters, and â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m represent estimates of the unknown parameters a1, . . . , an, b0, . . . , bm;
- means for minimizing the fitness function F to generate the estimated unknown parameters â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m and θ,
- means for applying particle swarm optimization to the set of solutions by determining the most fit zeros and poles of the linear part;
- means for generating a new set of solutions composed of the most fit zeros and poles of the linear part and with the estimated parameters â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m and θ;
- and
- means for repeating the estimation for a pre-determined number of generations.
A computer software product that includes a non-transitory storage medium readable by a processor, the non-transitory storage medium having stored thereon a set of instructions for identifying Hammerstein models with known nonlinearity structures using particle swarm optimization, the instructions comprising:
- (a) a first sequence of instructions which, when executed by the processor, causes the processor to generate M input-output data points from a Hammerstein system to be identified, the Hammerstein system having both linear and nonlinear parts, wherein M is a pre-defined integer and the Hammerstein system is defined by
- y
-
- (
- k
- )
- =
- B
-
- (
- q
- -
- 1
- )
- A
-
- (
- q
- -
- 1
- )
-
- x
-
- (
- k
- )
- +
- w
-
- (
- k
- )
- ,
- where k is an integer, the Hammerstein system having an input u(k), y(k) representing the output of the Hammerstein system, w(k) representing measurement noise of the Hammerstein system, and q representing a set of parameters describing the nonlinear part, with q−1 being the unit delay operator, and B(q−1) being defined as B(q−1)=b0+b1q−1+ . . . +bmq−m and A(q−1) being defined as A(q−1)=1+a1q−+ . . . +anq−n, where m and n are integers and (m, n) represents the order of the linear part, and x(k) represents a non-measured intermediate variable which is the output of the nonlinear part, x(k) being given by x(k)=f(θ,u(k)), where f(θ,u(k)) is a function representing the nonlinear part and a1, . . . , an, b0, . . . , bm and θ are unknown parameters to be determined;
- (b) a second sequence of instructions which, when executed by the processor, causes the processor to identify the Hammerstein system by estimating the unknown parameters a1, . . . , an, b0, . . . , bm and θ from the input-output data, the estimation comprising the following sequences of instructions (c) through (h):
- (c) a third sequence of instructions which, when executed by the processor, causes the processor to generate a set of random initial solutions for zeros and poles of the linear part and also for the sets of unknown parameters a1, . . . , an, b0, . . . , bm and θ of the nonlinear part within a pre-selected range;
- (d) a fourth sequence of instructions which, when executed by the processor, causes the processor to evaluate a fitness function F for the set of random initial solutions, wherein the fitness function F is given by:
- F
- =
- ∑
- k
- =
- 1
- M
-
- (
- y
-
- (
- k
- )
- -
- y
- ^
-
- (
- k
- )
- )
- 2
- ,
- where
-
-
-
- y
- ^
-
- (
- k
- )
- =
- B
- ^
-
- (
- q
- -
- 1
- )
- A
- ^
-
- (
- q
- -
- 1
- )
-
- x
- ^
-
- (
- k
- )
- ,
-
- B
- ^
-
- (
- q
- -
- 1
- )
- =
- b
- ^
- 0
- +
- b
- ^
- 1
-
- q
- -
- 1
- +
- …
- +
- b
- ^
- m
-
- q
- -
- m
- ,
-
- A
- ^
-
- (
- q
- -
- 1
- )
- =
- 1
- +
- a
- ^
- 1
-
- q
- -
- 1
- +
- …
- +
- a
- ^
- n
-
- q
- -
- n
- ,
- and
- x
- ^
-
- (
- k
- )
- =
- c
- ^
- 1
-
- u
-
- (
- k
- )
- +
- c
- ^
- 2
-
- u
- 2
-
- (
- k
- )
- +
- …
- +
- c
- ^
- L
-
- u
- L
-
- (
- k
- )
- ,
- L being an integer defined by representing the non-measured intermediate variable x(k) as x(k)=c1u(k)+c2u2(k)+ . . . +cLuL(k), where c1, c2, . . . , cL represent a further set of unknown parameters, and â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m represent estimates of the unknown parameters a1, . . . , an, b0, . . . , bm;
- (e) a fifth sequence of instructions which, when executed by the processor, causes the processor to minimizing the fitness function F to generate the estimated unknown parameters â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m and θ;
- (g) a sixth sequence of instructions which, when executed by the processor, causes the processor to applying particle swarm optimization to the set of solutions by determining the most fit zeros and poles of the linear part calculated in the fourth sequence of instructions;
- (h) a seventh sequence of instructions which, when executed by the processor, causes the processor to generate a new set of solutions composed of the most fit zeros and poles of the linear part and with the estimated parameters â1, . . . , ân, {circumflex over (b)}0, . . . , {circumflex over (b)}m and θ generated in the fifth sequence of instructions;
- and
- (i) an eighth sequence of instructions which, when executed by the processor, causes the processor to repeat the fourth through seventh sequences of instructions for a pre-determined number of generations.
Dependencies are inferred from the claim text.