DSPRelated.com
How the Cooley-Tukey FFT Algorithm Works | Part 2 - Divide & Conquer

How the Cooley-Tukey FFT Algorithm Works | Part 2 - Divide & Conquer

Mark Newman
TimelessIntermediate

The Fast Fourier Transform revolutionized the Discrete Fourier Transform by making it much more efficient. In part 1, we saw that if you run the DFT on a power-of-2 number of samples, the calculations of different groups of samples repeat themselves at different frequencies. By leveraging the repeating patterns of sine and cosine values, the algorithm enables us to calculate the full DFT more efficiently. However, the calculations of certain groups of samples repeat more often than others. In this article, we’re going to explore how the divide-and-conquer method prepares the ground for the next stage of the algorithm by grouping the samples into specially ordered pairs.


How the Cooley-Tukey FFT Algorithm Works | Part 1 - Repeating Calculations

How the Cooley-Tukey FFT Algorithm Works | Part 1 - Repeating Calculations

Mark Newman
TimelessIntermediate

The Fourier Transform is a powerful tool, used in many technologies, from audio processing to wireless communication. However, calculating the FT can be computationally expensive. The Cooley-Tukey Fast Fourier Transform (FFT) algorithm provides a significant speedup. It exploits the repetitive nature of calculations within the Discrete Fourier Transform (DFT), the mathematical foundation of the FT. By recognizing patterns in the DFT calculations and reusing intermediate results, the FFT vastly reduces the number of operations required. In this series of articles, we will look at how the Cooley-Tukey FFT algorithm works.


Learn to Use the Discrete Fourier Transform

Learn to Use the Discrete Fourier Transform

Neil Robertson
TimelessIntermediate

Discrete-time sequences arise in many ways: a sequence could be a signal captured by an analog-to-digital converter; a series of measurements; a signal generated by a digital modulator; or simply the coefficients of a digital filter. We may wish to know the frequency spectrum of any of these sequences. The most-used tool to accomplish this is the Discrete Fourier Transform (DFT), which computes the discrete frequency spectrum of a discrete-time sequence. The DFT is easily calculated using software, but applying it successfully can be challenging. This article provides Matlab examples of some techniques you can use to obtain useful DFT’s.


Model a Sigma-Delta DAC Plus RC Filter

Model a Sigma-Delta DAC Plus RC Filter

Neil Robertson
Still RelevantIntermediate

Sigma-delta digital-to-analog converters (SD DAC’s) are often used for discrete-time signals with sample rate much higher than their bandwidth. For the simplest case, the DAC output is a single bit, so the only interface hardware required is a standard digital output buffer. Because of the high sample rate relative to signal bandwidth, a very simple DAC reconstruction filter suffices, often just a one-pole RC lowpass. In this article, I present a simple Matlab function that models the combination of a basic SD DAC and one-pole RC filter. This model allows easy evaluation of the overall performance for a given input signal and choice of sample rate, R, and C.


DAC Zero-Order Hold Models

DAC Zero-Order Hold Models

Neil Robertson
TimelessIntermediate

This article provides two simple time-domain models of a DAC’s zero-order hold. These models will allow us to find time and frequency domain approximations of DAC outputs, and simulate analog filtering of those outputs. Developing the models is also a good way to learn about the DAC ZOH function.


Decimators Using Cascaded Multiplierless Half-band Filters

Decimators Using Cascaded Multiplierless Half-band Filters

Neil Robertson
Still RelevantAdvanced

In my last post, I provided coefficients for several multiplierless half-band FIR filters. In the comment section, Rick Lyons mentioned that such filters would be useful in a multi-stage decimator. For such an application, any subsequent multipliers save on resources, since they operate at a fraction of the maximum sample frequency. We’ll examine the frequency response and aliasing of a multiplierless decimate-by-8 cascade in this article, and we’ll also discuss an interpolator cascade using the same half-band filters.


Pentagon Construction Using Complex Numbers

Pentagon Construction Using Complex Numbers

Cedron Dawg
Timeless

A method for constructing a pentagon using a straight edge and a ruler is deduced from the complex values of the Fifth Roots of Unity. Analytic values for the points are also derived.


Multiplierless Half-band Filters and Hilbert Transformers

Multiplierless Half-band Filters and Hilbert Transformers

Neil Robertson
TimelessIntermediate

This article provides coefficients of multiplierless Finite Impulse Response 7-tap, 11-tap, and 15-tap half-band filters and Hilbert Transformers. Since Hilbert transformer coefficients are simply related to half-band coefficients, multiplierless Hilbert transformers are easily derived from multiplierless half-bands.


Interpolator Design:  Get the Stopbands Right

Interpolator Design: Get the Stopbands Right

Neil Robertson
Still RelevantIntermediate

In this article, I present a simple approach for designing interpolators that takes the guesswork out of determining the stopbands.