Need a spectrum? Run an FFT! Really?

Author: Fred Steinhauser, OMICRON electronics GmbH, Austria

Need a spectrum? Run an FFT! Really?

The Fast Fourier Transform (FFT) is an extremely popular implementation of the Discrete Fourier Transform (DFT). All mathematical and scientific tools support it, most digital oscilloscopes of today can do it, even Microsoft Excel does. Its applications are almost never questioned and its limitations are hardly ever considered.

To start a bit pedantic: strictly mathematically speaking, the term "Transform" in DFT and FFT is a misnomer. The Fourier Transformation takes a continuous time function as input and delivers a continuous function in the frequency domain (the spectrum). Time and frequency span from -∞ to +∞. The respective functions have a value at any time and any frequency.

The DFT on the other hand, computes the coefficients of the Fourier series expansion from discrete samples of a time signal. It delivers values for discrete frequencies only, i.e. the fundamental and its harmonics.

In other words, the Fourier series expansion implies that a signal is made up from pure sinewaves at predefined frequencies.

The DFT is successfully applied e.g. for the vibration analysis of rotating machines, in particular when the sampling of the time signal is triggered from a shaft encoder, thus ensuring that the time window is always aligned with the cycles of the spectral components of the signal. The signals are mostly steady-state.

This changes significantly when the frequencies in the input signal do not match the harmonics or the signal is damped or increasing,

Let’s assume we have a time window of 200 ms, containing a pure sinewave with 53 Hz. The frequency resolution of the DFT will be 5 Hz, so the harmonics are at ... 45 Hz, 50 Hz, 55 Hz, 60 Hz, ... and so on.

What will the DFT deliver? In the strict sense, the model has nothing to match the 53 Hz of the input signal, but the algorithm will stubbornly solve the equations. There will be strong components at 50 Hz and 55 Hz, but there will also appear contributions on all other components of the spectrum. This is called spectral leakage. The DFT actually calculates the spectrum of the periodic continuation of the time signal. When the signal frequency is not exactly a harmonic, discontinuities in the concatenated time signal will occur. This can be mitigated by applying the so-called windowing functions, but this is always a compromise.

These windowing functions force the time function and possibly also their derivations to become zero at the boundaries of the window, thus forcing continuity. But the spectral selectivity will be decreased and since some of the signal is attenuated, the signal to noise ratio will also be impaired. Similar issues will arise when a signal is damped or increasing, even if its frequency is an exact harmonic. Thus, the DFT is not optimal for determining unknown frequencies and will deliver questionable results when the time signal is not steady-state, as it happens during faults in the power system.

So, why did the FFT, in particular the Cooley-Tukey radix-2 algorithm, become so popular? Because it is a very efficient implementation of the DFT and made frequency analysis feasible with computers already more than 40 years ago. The number of samples must be a power of two, so it is widely assumed that this applies for all FFT algorithms in general.

There are also very efficient DFT algorithms for other sample counts. Some numerical protection relays work with 12 samples per cycle. At first this may look strange (why not 8 or 16?), but a closer look reveals the benefits: the factors involved in the calculations are just 0, 1 ⁄ 2, √3 ⁄ 2, and 1. 0 and 1 are trivial anyway and 1/2 is a no-brainer for a binary computer. There is only one factor left that really requires computation - very smart!

There are alternate algorithms without so stringent preconditions as for the DFT, such as the Prony analysis. It models the time signal as a sum of sinewaves of arbitrary frequency that can also be damped or increasing. It is applied for the analysis of synchrophasor data to identify oscillations and if they are damped or not. But it is not so straightforward to implement. It requires solving a system of linear equations and then finding the zeros of a polynomial. The latter is an iterative process and its runtime cannot be exactly predicted. It takes much more time than the FFT to compute a spectrum.

But the tremendous advances in computing power will also bring such advanced methods into the reach of real-time applications. Sheer computing power will enable us to escape from the FFT trap.


Fred Steinhauser studied Electrical Engineering at the Vienna University of Technology, where he obtained his diploma in 1986 and received a Dr. of Technical Sciences in 1991.

In 1998 he joined OMICRON, where he worked on several aspects of testing power system protection. Since 2000 he worked as a product manager with a focus on power utility communication. Since 2014 he is responsible for Power Utility Communication business of OMICRON.

Fred Steinhauser is a member of WG10 in the TC57 of the IEC and contributes the standard IEC 61850. He is one of the main authors of the UCA Implementation Guideline for Sampled Values (9-2LE). As a member of CIGRÉ he is active within the scope of SC D2 and SC B5. He also contributed to the synchrophasor standards IEEE C37.118.1 and IEEE C37.118.

Let?s start with organization in protection testing