discrete fourier
Show older comments
Dear all, I need to find the fourier transform of a signal. My problem is that I don't have the analytic expression of it but a file with the datas (displayed in two columns one for the time the other for the signal). I have already extracted the datas with the importdata command and I now need to get the fourier transform graph (my sample time is constant). Any help would be highly appreciated. Thanks in advance. Ingrid
Answers (4)
Sean de Wolski
on 15 Jul 2011
doc fft %?
Ingrid
on 15 Jul 2011
0 votes
1 Comment
Sean de Wolski
on 15 Jul 2011
The FFT is the discrete fourier transform - no analytical solution is required.
fft(rand(10,1))
Harsha Vardhan Rao Avunoori
on 15 Jul 2011
Hello Ingrid,
Did you try reading all the contents of your file into a cell variable and then perform fft on it ?
Something like this.
x = load('your file');
y = fft(x);
Not sure this will help you but try this.
Ingrid
on 15 Jul 2011
0 votes
5 Comments
Sean de Wolski
on 15 Jul 2011
So extract the components from the structure
doc struct
for info on how to do that. Also, edit your original question or use comments instead of writing new answers.
Ingrid
on 15 Jul 2011
Sean de Wolski
on 15 Jul 2011
Is the time monotonically increasing?
Walter Roberson
on 15 Jul 2011
To use fft() the times would have to be strictly increasing by a constant interval. MATLAB does not supply a routine for irregularly spaced discrete fft, but I seem to recall there are some File Exchange contributions for it. Unfortunately at the moment I do not recall the proper name for this calculation.
Sean de Wolski
on 15 Jul 2011
but a simple interp1 could hopefully do the trick :)
Categories
Find more on Discrete Fourier and Cosine Transforms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!