Grey-box estimation in frequency domain using greyest

17 views (last 30 days)
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
Perry
Perry on 23 Jan 2017
I also get the same error with v2014b. Any help will be appreciated.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!