Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
Your question is really strange for me. I supposed all participants of this prestigious forum are aware of Fourier transform and such questions will never arise in their minds. It's difficult to answer this question. Take any book on DSP (I insistently recommend you Oppenheim "Digital Signal processing"), read it very carefully and pay attention to the paragraphs, devoted to Fourier analysis. Try to understand the sense of applying Fourier tranform in Signal Processing. If you succeed in this, your question will be solved automatically.
If anything won't be clear, let me know. No doubt, I'll help with great pleasure.
FFT is a computationally effective method of calculating the Discrete Fourier Transform
(DFT) of a signal.
DFT of a time domain signal will give you information about it's spectral composition.
That is , the different frequencies that make up the signal.
A quick example :
Consider a signal that contains multiple frequencies. FFT of the signal will show you the magnitude of the various frequencies present in the signal. It is also important to note that the results of the FFT may not be accurate. This, however, is beyond the scope of this thread. Please refer any standard text on more information regarding the use of FFT and spectral leakage.
t = 0:0.001:0.6; % time
x = sin(2*pi*60*t)+sin(2*pi*91*t); % Signal with frequencies of 60 ,91 Hz
plot(x(1:50))
title('Signal in time-domain')
xlabel('Time (seconds)')
Y = fft(x,512); %perform 512 point FFT
sample_rate = 1000; %Sample rate = 1000 Hz
Pyy = Y.* conj(Y) / 512; % Magnitude of the frequency (since it is a complex
% number)
f = sample_rate*(0:256)/512; %frequency vector
plot(f,Pyy(1:257))
title('Frequency content of x')
xlabel('Frequency (Hz)')
There are several ways to calculate the Discrete Fourier Transform (DFT), such as solving
simultaneous linear equations or the correlation method and by FFT method.The FFT is a clever algorithm for rapidly calculating the DFT.Using the FFT,convolution by multiplication in the frequency domain can be hundreds of times faster than conventional convolution. Problems that take hours of calculationtime are reduced to only minutes.
Your question should have been what is the purpose of FFT in general? Matlab is just a programming/testing environment for mathematical modelling so they provide FFT as a tool. What's important to know is that they use an algorithm called FFTW (Fastest Fourier Transform in the West).
Now coming to FFT; FFT is an algorithm which computes N point DFT of N sample points of a signal. Fourier theorized that any periodic signal can be represented as a sum of sines and cosines. Fourier's transform was the method he gave to do so. Now, for a continuous signal, Fourier's method needs infinite sine and cosine terms, rendering the Fourier transform unusable in real situations. DFT provided a way to do fourier analysis on a sampled representation of a signal. Since DFT is a computationally expensive process Cooley and Tukey gave an algorithm which cleverly exploited the symmetry in DFT computations to calculate DFT with less operations. This algorithm is called FFT.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.