Grey-box estimation in frequency domain using greyest
17 views (last 30 days)
Show older comments
I'm trying to do grey-box estimation in the frequency domain with matlab function greyest.
sys = greyest(data,idgrey_object)
Based on the documentation of greyest, 'data' should be either time-or frequency domain data.
I have some measured data that I'm using 'tfestimate' and further 'frd' to represent the data in the frequency domain. I have made a 'idgrey' model based on what I known about the system, just simplified.
When I know do the greyest-call it produces:
Undefined function 'greyest' for input arguments of type 'frd'.
Here an example for simplicity, based on the Example: Estimate Grey-Box Model:
N =256;
[tfdata,f] = tfestimate(u(2:end,1),y(2:end,1),hann(N),[],[],1000);
tf1 = frd(tfdata(2:end-1),f(2:end-1),'units','Hz');
[tfdata,f] = tfestimate(u(2:end,1),y(2:end,2),hann(N),[],[],1000);
tf2 = frd(tfdata(2:end-1),f(2:end-1),'units','Hz');
Hresp = zeros(2,1,length(tf1.Frequency));
Hresp(1,1,:) = reshape(tf1.ResponseData,1,length(tf1.Frequency));
Hresp(2,1,:) = reshape(tf2.ResponseData,1,length(tf2.Frequency));
frddata = frd(Hresp,tf1.Frequency,'FrequencyUnit','Hz');
G = 0.25;
tau = 1;
init_sys = idgrey('motor',tau,'cd',G,0);
sys = greyest(frddata,init_sys);
Is it possible to do this type of greybox estimation in the frequency domain when time-domain data produces bad results?
1 Comment
Answers (0)
See Also
Categories
Find more on Data Preparation Basics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!