How to use the Recursive Polynomial Model Estimator block for MISO system

3 views (last 30 days)
Hi guys!
I am trying to use the Recursive Polynomial Model Estimator block to develop an adaptive control for a MISO system.
But at first I have already encountered some problems that I am not being able to solve:
The blocks in the simulink look like this:
With the variables Pi, Pf and D as Nx2 doble vector, with the first column containing the time values, as is needed for the space state plant model.
And with the parameters settins as follow:
Does any one know how to fix this?

Answers (1)

Rajiv Singh
Rajiv Singh on 7 Nov 2022
Not sure what you have in mind. Can you write the equation whose coefficients you are trying to estimate using the recursive polynomial block?
A hint: Suppose the equation is:
y(t) = a1*y(t-1) + a2*y(t-2) + b0*y(t) + b1*u(t-1) + b2*u(t-2) + b3*u(t-2)
that relates the output y(t) to the input u(t). Here, the the unknowns are z1, z2, b0, b1, b2, b3. However, the number of inputs is still only one (i.e., u(t)), since the notion of "inputs" is in the physical sense. So when you use a recursive polynomial block, you use a scalar signal for input (u(t)) and another scalar signal for the output (y(t)). In the example above the number of lags in the output is 2 and the number of lags in the input is 3. The input to output delay (nk) is 0 since the term u(t) appears directly in the equation.
So if you are using:
  • An ARX structure (A(q) y(t) = B(q) u(t) + e(t)) , you would set na = 2, nb = 3, nk = 0.
  • An OE structure (y(t) = B(q)/F(q) u(t) + e(t)), you would set nf = 2, nb = 3, nk = 0.
(Bottomline: do not confuse the number of terms in the equation with the dimension of the input signal).
  1 Comment
Bruno Araujo
Bruno Araujo on 7 Nov 2022
Hi Rajiv,
Thank you for your answer.
Your explanation clarified some points for me!
My model was identified by means of state space, how could I treat it within this scheme you presented?
The equations that represent the state space are as follow:
Still on the recursive polynomial block, should I connect to its input all the inputs of the system (as the first image in the question) or just the one of the PID controller?

Sign in to comment.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by