Frequency response!!

10 views (last 30 days)
Foxbat
Foxbat on 13 Apr 2011
Dear All,
I am a bit puzzled with obtaining the frequency response of my system! I am applying a voltage V(t) at a certain frequency f, and I have computed the resulting current as I(t). I want to get the frequency response from these two sine waves! lets say the real and imaginary part of the impedance.
Could you show me a simple procedure to get it!! should I use "system identification toolbox"? or are there any alternative ways!
Thanks in advance
  2 Comments
Jarrod Rivituso
Jarrod Rivituso on 13 Apr 2011
What format is your system in? Is it a Simulink model? Or an LTI object? Or something else?
Foxbat
Foxbat on 13 Apr 2011
Thanks, No, it is not a Simulink model! it is calculated from another software "Comsol" by using matlab (M-file). It is a physical system in which I am interested to get the frequency response. so as a result I have I(t) as output data and V(t) as input!

Sign in to comment.

Accepted Answer

Rajiv Singh
Rajiv Singh on 13 Apr 2011
Please see tfestimate (Signal Processing Toolbox), spa, spafdr, etfe (System Identification Toolbox) for functions that calculate the frequency response from time domain signals in a non-parametric (empirical) fashion.
Perhaps a more reliable way is to compute a dynamic linear model from the data and then obtain the frequency response by calling BODE or FREQRESP on it. For example:
z = iddata(I, V, Ts); % Ts is sample time
model = n4sid(z, 1:10); % state-space model or order between 1 and 10
H = freqresp(model, linspace(0, pi/Ts, 100)); % the frequency response
This requires System Identification Toolbox.

More Answers (1)

Arnaud Miege
Arnaud Miege on 13 Apr 2011
If you have two time series, you probably need to use fft to convert the data into the time domain and compute the frequency response.
HTH,
Arnaud

Community Treasure Hunt

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

Start Hunting!