Skip to content Skip to navigation Skip to collection information

OpenStax-CNX

You are here: Home » Content » DSPA » Running FFT

Navigation

Table of Contents

Lenses

What is a lens?

Definition of a lens

Lenses

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

What is in a lens?

Lens makers point to 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 member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

In these lenses

  • Lens for Engineering

    This module is included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.
 

Running FFT

Module by: Douglas L. Jones. E-mail the author

Summary: The running FFT efficiently computes DFT samples of successive overlapped blocks of data via a recursive filter implementation.

Some applications need DFT frequencies of the most recent NN samples on an ongoing basis. One example is DTMF, or touch-tone telephone dialing, in which a detection circuit must constantly monitor the line for two simultaneous frequencies indicating that a telephone button is depressed. In such cases, most of the data in each successive block of samples is the same, and it is possible to efficiently update the DFT value from the previous sample to compute that of the current sample. Figure 1 illustrates successive length-4 blocks of data for which successive DFT values may be needed. The running FFT algorithm described here can be used to compute successive DFT values at a cost of only two complex multiplies and additions per DFT frequency.

Figure 1: The running FFT efficiently computes DFT values for successive overlapped blocks of samples.
Figure 1 (image3.png)

The running FFT algorithm is derived by expressing each DFT sample, X n + 1 ω k X n + 1 ω k , for the next block at time n+1 n 1 in terms of the previous value, X n ω k X n ω k , at time nn. X n ω k = p =0N1xnpe(j ω k p) X n ω k p N 1 0 x n p ω k p X n + 1 ω k = p =0N1xn+1pe(j ω k p) X n + 1 ω k p N 1 0 x n 1 p ω k p Let q=p1 q p 1 : X n + 1 ω k = q =1N2xnqe(j ω k (q1))=ej ω k q =0N2xnqe(j ω k q)+xn+1 X n + 1 ω k q N 2 1 x n q ω k q 1 ω k q N 2 0 x n q ω k q x n 1 Now let's add and subtract e(j ω k (N2))xnN+1 ω k N 2 x n N 1 :

X n + 1 ω k =ej ω k q =0N2xnqe(j ω k q)+ej ω k xn(N1)e(j ω k (N1))e(j ω k (N2))xnN+1+xn+1=ej ω k q =0N1xnqe(j ω k )+xn+1e(j ω k )xnN+1=ej ω k X n ω k +xn+1e(j ω k (N2))xnN+1 X n + 1 ω k ω k q N 2 0 x n q ω k q ω k x n N 1 ω k N 1 ω k N 2 x n N 1 x n 1 ω k q N 1 0 x n q ω k x n 1 ω k x n N 1 ω k X n ω k x n 1 ω k N 2 x n N 1
(1)
This running FFT algorithm requires only two complex multiplies and adds per update, rather than N if each DFT value were recomputed according to the DFT equation. Another advantage of this algorithm is that it works for any ω k ω k , rather than just the standard DFT frequencies. This can make it advantageous for applications, such as DTMF detection, where only a few arbitrary frequencies are needed.

Successive computation of a specific DFT frequency for overlapped blocks can also be thought of as a length-NN FIR filter. The running FFT is an efficient recursive implementation of this filter for this special case. Figure 2 shows a block diagram of the running FFT algorithm. The running FFT is one way to compute DFT filterbanks. If a window other than rectangular is desired, a running FFT requires either a fast recursive implementation of the corresponding windowed, modulated impulse response, or it must have few non-zero coefficients so that it can be applied after the running FFT update via frequency-domain convolution. DFT-symmmetric raised-cosine windows are an example.

Figure 2: Block diagram of the running FFT computation, implemented as a recursive filter
Figure 2 (image4.png)

Collection Navigation

Content actions

Download:

Collection as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Module as:

PDF | More downloads ...

Add:

Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

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

What is in a lens?

Lens makers point to 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 member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

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

What is in a lens?

Lens makers point to 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 member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks