MATLAB Answers

How to plot bode plot from FFT data

Asked by SACHIN DEVASSY on 30 Sep 2013
Latest activity Commented on by Arkadiy Turevskiy
on 1 Oct 2013

Hi, I would like to get bode plot from FFT data. How do I convert the data obtained(complex values) so that it can be used by the 'bode' function in matlab.

Thanking you.

  0 Comments

1 Answer

Answer by Arkadiy Turevskiy
on 30 Sep 2013

You need to create an frd object.

here is example code from doc page.

% generate a frequency vector and response data 
freq = logspace(1,2);
resp = .05*(freq).*exp(i*2*freq);
% Create a FRD model
sys = frd(resp,freq);

Now simply do

bode(sys)

  2 Comments

SACHIN DEVASSY on 1 Oct 2013

Thanks Arkadiy for the reply. However, I am unable to understand how to make frd data from fft data. I got lets say ,following data points after doing fft [2+2j,1-3j,4, 5+4j]. How do i convert this into frd. Thanking you.

Arkadiy Turevskiy
on 1 Oct 2013
resp=[2+2j,1-3j,4, 5+4j];
freq= % enter the frequency values at which the corresponding fft
% values are obtained
sys=frd*resp,freq);

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today