Understanding N-Stages of FFT & DFT Formula for Frequency Domain

In summary: If the original sequence is real, then the sum of complex exponentials can be split into two sums, one for the positive frequencies and one for the negative frequencies. But the sum of complex exponentials is just a way to represent the original sequence. If you are not familiar with Fourier series, then you should look that up. The DFT is just a sampled version of the Fourier series, and the Fourier series is a way to represent a periodic sequence using a sum of complex exponentials as basis functions.
  • #1
btb4198
572
10
1) How many stages are in N numbers for a FFT? I know N=8 has 3 stages and N=4 has 2 stages ?
2) The DFT formula converts a signal from the time domain into the frequency domain. Is this done by comparing x[n] against signals known as sinusoidal basis functions? are e-j2 pi kn/N sinusoidal basis functions ? I know it uses Correlation and that mean it compares the variables together but I am not 100% sure how this work ?

3) In a butterfly diagram the bottom line is alway -1, but why?

PS, I have been reading and watch videos on the DFT and the FFT and I have learned a lot, but I am just not sure about this questions.
 
Engineering news on Phys.org
  • #2
anyone ?
 
  • #3
btb4198 said:
1) How many stages are in N numbers for a FFT? I know N=8 has 3 stages and N=4 has 2 stages ?
It depends ... perhaps that is why no one has replied. If you are doing a radix 2 FFT of [itex]N=2^M[/itex] points then sure, you have [itex]M[/itex] stages. But at the end of the day we all want software that is efficient, and radix 2 isn't always the answer. It doesn't even apply to something like a 100 point FFT. There are a number of different algorithms. Some use prime factors, some don't.

btb4198 said:
2) The DFT formula converts a signal from the time domain into the frequency domain. Is this done by comparing x[n] against signals known as sinusoidal basis functions? are e-j2 pi kn/N sinusoidal basis functions ? I know it uses Correlation and that mean it compares the variables together but I am not 100% sure how this work ?
First, the built-in assumption is that the sequence [itex]x[n][/itex] of [itex]N[/itex] numbers is one period of a periodic sequence. So it is reasonable to try and represent the sequence as a sum of complex exponentials that are consistent with the assumed periodicity of the given sequence. Now look at the formula for the DFT ,
[tex]
X_k = \sum_{n=0}^{N-1} x_n e^{-j 2 \pi k n / N}
[/tex]
and the inverse,
[tex]
x_n = \frac{1}{N}\sum_{k=0}^{N-1} X_k e^{j 2 \pi k n / N}
[/tex]
I think of this as projecting the sequence [itex]x_n[/itex] onto a set of orthogonal basis functions [itex]e^{j 2 \pi k n /N} [/itex], and the [itex]X_k[/itex] are just the inner product (or dot product) of the sequence and the [itex]k^{th}[/itex] basis function. By orthogonal, I just mean,
[tex]
\sum_{k=0}^{N-1} e^{j 2 \pi k_1 n / N} e^{-j 2 \pi k_2 n / N} = N \delta_{k_1,k_2}
[itex]
where [itex]\delta_{k_1,k_2}[/itex] is 1 if [itex]k_1\neqk_2[/itex] and 0 if [itex]k_1\neq k_2[/itex].

The math is the same as representing a vector [itex]v[/itex] in terms of a set of orthogonal basis vectors [itex]w_k[/itex]. The only thing different from what you probably did in basic vector algebra is that our sequence and the complex sinusoids can all be complex, so for the inner product one of the items is conjugated.
btb4198 said:
3) In a butterfly diagram the bottom line is alway -1, but why?
Sorry, I can't help you here. I haven't looked at a butterfly diagram in 20+ years! I do work with folks that implement FFTs in FPGAs and other hardware, and if I had such a job then I would know the butterfly inside and out. Hopefully someone else can help.

jason
 
  • #4
jasonRF said:
It depends ... perhaps that is why no one has replied. If you are doing a radix 2 FFT of [itex]N=2^M[/itex] points then sure, you have [itex]M[/itex] stages. But at the end of the day we all want software that is efficient, and radix 2 isn't always the answer. It doesn't even apply to something like a 100 point FFT. There are a number of different algorithms. Some use prime factors, some don't.First, the built-in assumption is that the sequence [itex]x[n][/itex] of [itex]N[/itex] numbers is one period of a periodic sequence. So it is reasonable to try and represent the sequence as a sum of complex exponentials that are consistent with the assumed periodicity of the given sequence. Now look at the formula for the DFT ,
[tex]
X_k = \sum_{n=0}^{N-1} x_n e^{-j 2 \pi k n / N}
[/tex]
and the inverse,
[tex]
x_n = \frac{1}{N}\sum_{k=0}^{N-1} X_k e^{j 2 \pi k n / N}
[/tex]
I think of this as projecting the sequence [itex]x_n[/itex] onto a set of orthogonal basis functions [itex]e^{j 2 \pi k n /N} [/itex], and the [itex]X_k[/itex] are just the inner product (or dot product) of the sequence and the [itex]k^{th}[/itex] basis function. By orthogonal, I just mean,
[tex]
\sum_{k=0}^{N-1} e^{j 2 \pi k_1 n / N} e^{-j 2 \pi k_2 n / N} = N \delta_{k_1,k_2}
[itex]
where [itex]\delta_{k_1,k_2}[/itex] is 1 if [itex]k_1\neqk_2[/itex] and 0 if [itex]k_1\neq k_2[/itex].

The math is the same as representing a vector [itex]v[/itex] in terms of a set of orthogonal basis vectors [itex]w_k[/itex]. The only thing different from what you probably did in basic vector algebra is that our sequence and the complex sinusoids can all be complex, so for the inner product one of the items is conjugated.
Sorry, I can't help you here. I haven't looked at a butterfly diagram in 20+ years! I do work with folks that implement FFTs in FPGAs and other hardware, and if I had such a job then I would know the butterfly inside and out. Hopefully someone else can help.

jason

sorry but I am not really understanding your second answer. Why is it "represent the sequence as a sum of complex exponential "?
 
  • #5
The IFFT is
[tex]
x_n = \frac{1}{N}\sum_{k=0}^{N-1} X_k e^{j 2 \pi k n / N}
[/tex]
The left hand side is the original sequence; the right side is a sum of complex exponentials.
 

1. What is the difference between FFT and DFT?

The FFT (Fast Fourier Transform) is a more efficient algorithm for calculating the DFT (Discrete Fourier Transform). The DFT computes the frequency components of a signal by converting it from the time domain to the frequency domain, while the FFT is a specific implementation of the DFT that uses clever mathematical optimizations to speed up the calculation.

2. How do I interpret the results of an FFT?

The output of an FFT is a graph of frequency versus amplitude. The x-axis represents the different frequencies present in the signal, while the y-axis represents the amplitude or strength of each frequency component. The peaks on the graph indicate the dominant frequencies present in the signal.

3. Why do we use N-stages in the FFT and DFT formulas?

The N-stages in the FFT and DFT formulas refer to the number of data points or samples in the input signal. This is important because the FFT and DFT algorithms rely on a divide-and-conquer approach, breaking down the computation into smaller parts. The number of stages determines how many times the algorithm will divide and process the signal, ultimately affecting the speed and accuracy of the calculations.

4. Can the FFT and DFT be used for any type of signal?

Yes, the FFT and DFT can be applied to any type of signal, including audio, images, and other forms of data. However, the signal must be discrete, meaning it is sampled at regular intervals and not continuous. Additionally, the signal should be periodic, meaning it repeats itself over time, for the FFT and DFT to provide accurate results.

5. How are the FFT and DFT used in real-world applications?

The FFT and DFT have numerous applications in various fields such as signal processing, data compression, image and audio processing, and communication systems. They are used to analyze and filter signals, extract information from data, and improve the efficiency of data storage and transmission. They are also used in scientific research, engineering, and other industries where frequency analysis is essential.

Similar threads

  • Electrical Engineering
Replies
4
Views
838
Replies
6
Views
977
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
1K
Replies
8
Views
942
Replies
1
Views
1K
Replies
3
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
749
Replies
5
Views
1K
  • Electrical Engineering
Replies
2
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
4
Views
1K
Back
Top