how to get transfer function (bode plot) of this time response?

I have a time response of a pressure step (not unit), but I find it difficult for me to get a transfer function(bode plot). I was thinking FFT or bode but I think I was not in the right track....Any help?

Answers (1)

First do a fft of your signal if you are interested in its frequency characteristics.
To approximate a linear system to it, use tfest first, then bode to see how accurately you have approximated the frequency characteristics of your signal.

5 Comments

Thanks a lot! FFT shows me many low-freq noise...Regarding tfest, in order to use tfest(data), I must first create 'data'.Here I define data=iddata(fft(output),fft(step),Ts,'Frequency',f) where f is the frequency domain which is equal to (0:nfft-1)*(Fs/nfft) and nfft=length(output)
Is this the correct method to estimate transfer function? Also I must define the number of poles...I just start with 2 and increase gradually ? My goal is to get a natural frequency and compare it with analytic results...
To use the iddata function, give it your raw data — not Fourier-transformed data — and the sampling time (scalar value) between successive samples. The data must be sampled uniformly.
Please check the documentation for iddata for details.
Identify your system first, then compare both the time-domain and frequency-domain representations of it with the respective representations of your data.
"data = iddata(y,u,Ts,'Frequency',W) creates an iddata object containing a frequency-domain output signal y and input signal u, respectively.Ts specifies the sample time of the experimental data. W specifies the iddata property 'frequency' as a vector of frequencies."
This is what I found about iddata about frequency domain data...time domain data is exactly what you mentioned above...So i did frequency domain data as I said in the last comment...
The bode plot of time domain data and frequency domain data is different.....I must be wrong somewhere. Sorry dude I don't have any control background and I'm currently self studying it...
Also the time response plot has values lower than 1.5 (because pressure step is not unit in my case, from 1.5 to 1.506) which makes me think this might be undershoot...
As with all ‘real-world’ problems, you have to experiment to get the result you want.
That the initial value of the response is negative likely indicates a response lag (phase lag), typical of inductive (electrical) or mass-displacement (mechanical) systems. That will be accounted for in your model.

Sign in to comment.

Asked:

on 29 May 2016

Commented:

on 30 May 2016

Community Treasure Hunt

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

Start Hunting!