07-19-2010 07:07 AM
Hi,
I have a problem when I identify a system with the Identification toolkit of labview (version 2009).
What I did:
I choose the VI for ARX structur. I have 2 inputs and one output (system TISO or MISO). The type of variable is data array (no waveform.... my data comes in tables format)
Then I want to validate the identification, so I choose the VI: Simulation and Residual Analisys. The problem is this: the system is not stable (one of the root of A(q) is bigger than |1|). So the Simulation diverge. If I use the Prediction VI (with a prediction step negative to just simulate), it happens the same. But, the Residual Analisys' result shows a prediction error with mean 0.008 for example and a variance of 0.02. The plot shows also that.... it is evidente that something is wrong....
I think that the "Simulation" VI calculate y(k) point by point, so it diverge.... and the residual analisys VI takes all data like a block. Am I rigth?
How can I do to solve this....and/or why it happens?
And second, How can I add to the algorithm a stability constraint?
Thanks!
Manuel SANCHEZ BURGOS
07-20-2010 09:46 AM - edited 07-20-2010 09:46 AM
Hi,
Can you provide some sample code that demonstrates this behaviour? In general, performing a residual analysis doesn't always help identify that a system is unstable (see the bottom of the help topic Validating the ARX Model) and it's best practice to perform multiple analyses to validate a model.
As for stabilizing the system, you could try doing a closed loop system identification.
Cheers,
07-21-2010 10:21 AM
Hi LeManu,
First I would like to make sure that I understand your questions.
1. When you mentioned unstable system, do you mean that you know that the system to be identified is unstable, or you mean that the system model produced by ARX VI is unstable.
2. Your point is that if both the Simulation VI and the Prediction VI generate the diverged results, the Residue Analysis VI also should not produce the meaningful results, because the Residue Analysis VI is actually computing the prediction error internally. Is my understanding correct?
Finally I would like to know whether you mind that you share your code and data with us, it might make it easy for us to solve your problems.
Kevin Wang
07-21-2010 02:44 PM
Hi,
I will try to prepare an exemple with my data.... but I will need some time (hard week). However, here I show image of what I'm doing.
My point is about the difference of result. How is that the Residual Analisys VI shows that graph of prediction error if the model is unstable...
Futhermore, MSE is NaN because of the divergence but the mean of the error is 0.0000018499... and something.
Autocorrelation and Crosscorrelation analisys are based in the prediction error.
Thank.
Le Manu
P.S.: response to Kevin:
1) the real system is stable, the ARX model result inestable.
2) the Residu analysis, apparently, don't calculate each y*(k). Instead, he calculate a block of Y*... The figure it shows it better.
thank again
07-22-2010 09:51 AM
Hi Le Manu,
If the original system is stable, I think we should try to adjust the system order to let the estimation VI produce the stable result. And could you let me know where your data comes from, measured from the true plant or obtained from the software simulation?
And I noticed that you use the Simulation VI and the Residue Analysis VI to validate the estimated model, your question is why the simulation result is diverged, but the prediction error produced by the Residue Analysis VI is stable.
Yes, although in most cases, the simulation response and the prediction response are very close, what you saw is possible for the unstable model. The simulation and the prediction are different, you can notice that you just need to provide the stimulus signal for the simulation VI. But the calculation of prediction relies on both the stimulus signal and the response signal. The response signal helps to adjust the prediction error. This is the reason why you saw the stable prediction error.
But if the original system is stable, as I mentioned before, I feel that we try to estimate a stable system.
Kevin Wang