On Apr 11, 2:56 pm, "Wayne King" <wmkin...@gmail.com> wrote: > ms <silvert...@gmail.com> wrote in message <7eb8ffdb-f1af-4cea-bca5-16de7005c...@w36g2000vbi.googlegroups.com>... > > I have been using theIDDATAfunction on time series data collected at > > 100hz and using the ETFE function to createbodeplots. I would now > > like to use frequency data instead of time series when I enter it into > >IDDATA, but was wondering if there is a way to tell whatIDDATAand > > ETFE are doing to the data to convert the time series data to the > > frequency spectrum? Is this simply taking the FFT(time_series_output) > > and FFT(time_series_input)? I would imagine it is a little bit more > > complicated than this? > > > So I currently do this: > > DATA=iddata(time_data_output, time_data_input, 0.01)% where (output, > > input, 1/capture rate) > > G=etfe(DATA,,length(time_data));%where  describes no smoothing, > > and NFFT points is the length of time series data > >bode(G) > > > I would like to enter frequency data intoIDDATA, and the help says to > > use this format: > > DAT =IDDATA(Y,U,Ts,'FREQ',Freqs)%where Y and U are now frequency data > > > However, I was wondering if there was some way to replicate what > >IDDATAand ETFE data uses to create the frequency spectrum? > > > If anyone could help, or refer me elsewhere, I would greatly > > appreciate it! > > Hi, have you looked at the MATLAB code for etfe()? It's open for you to view. > > Wayne- Hide quoted text - > > - Show quoted text -
Thank you for the response! I just tried to go through the code for the etfe function, but had some difficulty trying to read this code. It lookes like the code performs fft(x,nfft) and uses the output of that to create the transfer function based on the time series input and output data. So I am wondering if I simply perform an Y=fft(time_data_output) and U=fft(time_data_input) and take the point by point power and phase from the fft outputs would work to create the transfer function...or is there something else I need to do to the data?