Using the Recursive Polynomial Model Estimator for online estimation

1 view (last 30 days)
I'm trying to learn how to use the recursive polynomial model estimator by implementing an ARX model with a known system to check results. The system is a simple siso tranfer function with two poles, no zeros and a 39.6 second deadtime. In the block parameters I'm using no initial estimate, setting na to 2, nb to 1, and nk to 39, and the covariance matrix to 1e6. In addition to to ARX, I'm using Forgetting Factor as an estimation method with a factor of 1 since the model is not changing in time.
In order to check my results I'm passing the parameters output through a model type converter, a bus selector and into scopes. The problem is that the resting ss data shown on the scopes does not match the results of ssdata() on the plant at all. I'm not sure what is going wrong as this seems like a simpler task than what this block was built for, and I've yet to recieve satisfactory results from reading documentation and playing with parameters.
Attached is the simulink diagram with corresponding scopes, and the results from ssdata on the plant. The MPC exists to provide input signals to the plant and for later use.

Answers (2)

Arkadiy Turevskiy
Arkadiy Turevskiy on 25 Aug 2015
I don't think you can expect to get the exact a,b,c,d matrices you start from. The model is estimating system dynamics, and there is pretty much an infinite number of ways to represent the same dynamics with different state space representations. Di you try looking at the bode plot of the estimated system and comparing it with the bode plot of the original ss?

Andrew Sol
Andrew Sol on 30 May 2019
Do I understand correctly that by using the A, B, C, D state space matrix using this scheme, I can try, using the same state space, to simulate a system with given inputs and outputs?

Community Treasure Hunt

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

Start Hunting!