Why is a poor fit for a frequency domain model returned when using the System Identification Toolbox 6.0 (R13SP1+)?

1 次查看(过去 30 天)
For example, take the following system, represented by Bode data:
num=[6.233e-005 6.229e-005];
den=[1 -1.973 0.998];
Hd=tf(num,den,0.005);
[mag,phase,w]=bode(Hd);
I then use System Identification with the quick start options. How can I improve the resulting fit?

采纳的回答

MathWorks Support Team
This bug has been fixed in Release 14 Service Pack 2 (R14SP2). For previous releases, please read below for any possible workarounds:
This bug has been fixed for Release 14 (R14). For previous releases, please read below for any possible workarounds:
This has been verified as a bug in the System Identification Toolbox 6.0 (R13SP1+) in the "Freq. Function (mag/phase)" import option.
Currently, to work around this issue, try wrapping the data into an IDFRD object.
num=[6.233e-005 6.229e-005];
den = [1 -1.973 0.998];
Hd=tf(num,den,0.005);
[mag,phase,w]=bode(Hd);
% compute frequency response:
h = freqresp(hd,w);
% populate an IDFRD object:
M = idfrd(h,w,0.005);
Now import M as a 'data object' and hit quick start. You should get extremely good results.
If your original data is only available in terms of {mag, phase, w}, you can instead use the following code:
% compute frequency response:
h = mag.*exp(i*phase)
% populate an IDFRD object:
M = idfrd(h,w,0.005);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear Model Identification 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by