2
Data flow diagram connecting the inputs x (left) to the outputs y that depend on them (right) for a "butterfly" step of a radix-2 Cooley–Tukey FFT. This diagram resembles a butterfly (as in the Morpho butterfly shown for comparison), hence the name. From Wikipedia, the free encyclopedia This article is about butterfly diagrams in FFT algorithms; for the sunspot diagrams of the same name, see Solar cycle. In the context of fast Fourier transform algorithms, a butterfly is a portion of the computation that combines the results of smaller discrete Fourier transforms (DFTs) into a larger DFT, or vice versa (breaking a larger DFT up into subtransforms). The name "butterfly" comes from the shape of the data-flow diagram in the radix-2 case, as described below. [1] The same structure can also be found in the Viterbi algorithm, used for finding the most likely sequence of hidden states. Most commonly, the term "butterfly" appears in the context of the Cooley–Tukey FFT algorithm, which recursively breaks down a DFT of composite size n = rm into r smaller transforms of size m where r is the "radix" of the transform. These smaller DFTs are then combined via size-r butterflies, which themselves are DFTs of size r (performed m times on corresponding outputs of the sub-transforms) pre-multiplied by roots of unity (known as twiddle factors). (This is the "decimation in time" case; one can also perform the steps in reverse, known as "decimation in frequency", where the butterflies come first and are post-multiplied by twiddle factors. See also the Cooley–Tukey FFT article.) 1 Radix-2 butterfly diagram 2 See also 3 References 4 External links In the case of the radix-2 Cooley–Tukey algorithm, the butterfly is simply a DFT of size-2 that takes two inputs (x 0 , x 1 ) (corresponding outputs of the two sub-transforms) and gives two outputs (y 0 , y 1 ) by the formula (not including twiddle factors): If one draws the data-flow diagram for this pair of operations, the (x 0 , x 1 ) to (y 0 , y 1 ) lines cross and resemble the wings of a butterfly, hence the name (see also the illustration at right). Butterfly diagram - Wikipedia, the free encyclopedia Butterfly diagram - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Butterfly_diagram 1 of 2 Butterfly diagram - Wikipedia, the free encyclopedia 1/25/2011 10:11 PM

Butterfly diagram

  • Upload
    vargil

  • View
    186

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Butterfly diagram

Data flow diagram connectingthe inputs x (left) to the outputsy that depend on them (right)

for a "butterfly" step of aradix-2 Cooley–Tukey FFT.

This diagram resembles abutterfly (as in the Morpho

butterfly shown forcomparison), hence the name.

From Wikipedia, the free encyclopedia

This article is about butterfly diagrams in FFT algorithms; for the sunspot diagrams of the same name,see Solar cycle.

In the context of fast Fourier transform algorithms, a butterfly is a portionof the computation that combines the results of smaller discrete Fouriertransforms (DFTs) into a larger DFT, or vice versa (breaking a larger DFTup into subtransforms). The name "butterfly" comes from the shape of the

data-flow diagram in the radix-2 case, as described below.[1] The samestructure can also be found in the Viterbi algorithm, used for finding themost likely sequence of hidden states.

Most commonly, the term "butterfly" appears in the context of theCooley–Tukey FFT algorithm, which recursively breaks down a DFT ofcomposite size n = rm into r smaller transforms of size m where r is the"radix" of the transform. These smaller DFTs are then combined via size-rbutterflies, which themselves are DFTs of size r (performed m times oncorresponding outputs of the sub-transforms) pre-multiplied by roots ofunity (known as twiddle factors). (This is the "decimation in time" case; onecan also perform the steps in reverse, known as "decimation in frequency",where the butterflies come first and are post-multiplied by twiddle factors.See also the Cooley–Tukey FFT article.)

1 Radix-2 butterfly diagram2 See also3 References4 External links

In the case of the radix-2 Cooley–Tukey algorithm, the butterfly is simply a DFT of size-2 that takes two inputs(x0, x1) (corresponding outputs of the two sub-transforms) and gives two outputs (y0, y1) by the formula (notincluding twiddle factors):

If one draws the data-flow diagram for this pair of operations, the (x0, x1) to (y0, y1) lines cross and resemble thewings of a butterfly, hence the name (see also the illustration at right).

Butterfly diagram - Wikipedia, the free encyclopediaButterfly diagram - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Butterfly_diagram

1 of 2 Butterfly diagram - Wikipedia, the free encyclopedia 1/25/2011 10:11 PM

Page 2: Butterfly diagram

A decimation-in-time radix-2 FFT breaks alength-N DFT into two length-N/2 DFTs

followed by a combining stage consisting ofmany butterfly operations.

More specifically, a decimation-in-time FFT algorithm on

n = 2 p inputs with respect to a primitive n-th root of unityω = exp(2πi / n) relies on O(n log n) butterflies of the form:

where k is an integer depending on the part of the transformbeing computed. Whereas the corresponding inversetransform can mathematically be performed by replacing ω

with ω−1 (and possibly multiplying by an overall scalefactor, depending on the normalization convention), onemay also directly invert the butterflies:

corresponding to a decimation-in-frequency FFT algorithm.

Mathematical diagramZassenhaus lemma

^ Alan V. Oppenheim, Ronald W. Schafer, and John R. Buck, Discrete-Time Signal Processing, 2nd edition (UpperSaddle River, NJ: Prentice Hall, 1989)

1.

explanation of the FFT and butterfly diagrams (http://www.relisoft.com/Science/Physics/fft.html) .butterfly diagrams of various FFT implementations (Radix-2, Radix-4, Split-Radix)(http://www.cmlab.csie.ntu.edu.tw/cml/dsp/training/coding/transform/fft.html) .

Retrieved from "http://en.wikipedia.org/wiki/Butterfly_diagram"Categories: FFT algorithms | Diagrams

This page was last modified on 4 January 2011 at 12:09.Text is available under the Creative Commons Attribution-ShareAlike License; additional terms mayapply. See Terms of Use for details.Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Butterfly diagram - Wikipedia, the free encyclopediaButterfly diagram - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Butterfly_diagram

2 of 2 Butterfly diagram - Wikipedia, the free encyclopedia 1/25/2011 10:11 PM