MATLAB: Linear Grey-Box system identification: idgrey()

grey-boxgreyestidgreysystem identification

Hello all,
I have a double about the idgrey() function for system identification of linear system.
It is clear that we can either use continuous-time or discrete-time state space description by using idgrey().
The two (continous-time or discrete-time) have different matrix A,B,C,D. for the same dymamic system.
Now, I start with a continous-time state space with idgrey() with 'c' as continous parameter. I can't define the parameter sampling time T>0: this is normal.
My question is: if I use 'cd' as continous-discrete time parameter, and I can assign the sampling time T>0, which kind of state-space description I will get?
Is it a continous-time description with a positive sampling time? as we use the function c2d()?
2.
My intention is to estimate a linear grey-box model with continous-time description, but I have only the sampling data in discrete time.
How can I realize the system identification effectively?
One way, I am using now is idgrey() + idss() + c2d() and then greyest().
is this way correct?

Best Answer

The 'cd' option is to support the use case where you want to specify your own discretization formula (not use the standard c2d formulas). In your case, you should declare the file type to be 'c'. The greyest algorithm will take care of any required discretizations internally. Note that the discretization scheme is either zoh or foh dependeing upon your data's InterSample property value.
So the process is quite straightforward:
model = idgrey(file, initial_parameters, 'c');
model2 = greyest(data, model);
Related Question