Skip to content Skip to navigation

Connexions

You are here: Home » Content » DFT: Computational Complexity

Navigation

Content Actions

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • Rice DSS - Braille

    This module is included inLens: Rice University Disability Support Services's Lens
    By: Rice University Disability Support ServicesAs a part of collection:"Fundamentals of Electrical Engineering I"

    Comments:

    "Electrical Engineering Digital Processing Systems in Braille."

    Click the "Rice DSS - Braille" link to see all content affiliated with them.

  • Rice University OCW

    This module is included inLens: Rice University OpenCourseWare
    By: OpenCourseWare ConsortiumAs a part of collection:"Fundamentals of Electrical Engineering I"

    Click the "Rice University OCW" link to see all content affiliated with them.

Also in these lenses

  • Printable Books

    This module is included inLens: Connexions Books Available for Print on Demand
    By: ConnexionsAs a part of collection:"Fundamentals of Electrical Engineering I"

    Comments:

    "This book was assembled for print in July 07. A braille version of this book is being produced also."

    Click the "Printable Books" link to see all content selected in this lens.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.

DFT: Computational Complexity

Module by: Don Johnson

Summary: A brief explanation of calculation complexity and how the complexity of the discrete Fourier transform is order N squared.

We now have a way of computing the spectrum for an arbitrary signal: The Discrete Fourier Transform (DFT) computes the spectrum at NN equally spaced frequencies from a length- NN sequence. An issue that never arises in analog "computation," like that performed by a circuit, is how much work it takes to perform the signal processing operation such as filtering. In computation, this consideration translates to the number of basic computational steps required to perform the needed processing. The number of steps, known as the complexity, becomes equivalent to how long the computation takes (how long must we wait for an answer). Complexity is not so much tied to specific computers or programming languages but to how many steps are required on any computer. Thus, a procedure's stated complexity says that the time taken will be proportional to some function of the amount of data used in the computation and the amount demanded.

For example, consider the formula for the discrete Fourier transform. For each frequency we chose, we must multiply each signal value by a complex number and add together the results. For a real-valued signal, each real-times-complex multiplication requires two real multiplications, meaning we have 2N 2N multiplications to perform. To add the results together, we must keep the real and imaginary parts separate. Adding NN numbers requires N-1 N1 additions. Consequently, each frequency requires 2N+2N-1=4N-2 2N 2 N1 4N 2 basic computational steps. As we have NN frequencies, the total number of computations is N4N-2 N 4N 2 .

In complexity calculations, we only worry about what happens as the data lengths increase, and take the dominant term—here the 4N2 4 N2 term—as reflecting how much work is involved in making the computation. As multiplicative constants don't matter since we are making a "proportional to" evaluation, we find the DFT is an ON2 O N 2 computational procedure. This notation is read "order NN-squared". Thus, if we double the length of the data, we would expect that the computation time to approximately quadruple.

Problem 1

In making the complexity evaluation for the DFT, we assumed the data to be real. Three questions emerge. First of all, the spectra of such signals have conjugate symmetry, meaning that negative frequency components ( k=N2+1N+1 k N2 1 N1 in the DFT) can be computed from the corresponding positive frequency components. Does this symmetry change the DFT's complexity? Secondly, suppose the data are complex-valued; what is the DFT's complexity now? Finally, a less important but interesting question is suppose we want KK frequency values instead of NN; now what is the complexity?

Solution 1

When the signal is real-valued, we may only need half the spectral values, but the complexity remains unchanged. If the data are complex-valued, which demands retaining all frequency values, the complexity is again the same. When only KK frequencies are needed, the complexity is OKN O K N .

[ Click for Solution 1 ]

Comments, questions, feedback, criticisms?

Send feedback