Søren Linnet Gjelstrup

Wednesday, May 10, 2023 · 0 min read

FFT Analysis (Fast Fourier Transform): The Ultimate Guide to Frequency Analysis

In this article, you will learn about FFT and frequency analysis with enough detail that you will:

  • Understand what FFT analysis is and what is it used for

  • Learn how FFT analysis is performed

  • See how FFT analysis works

Introduction to FFT analysis

Learn about what is FFT analysis, its applications, and other interesting facts.

What is FFT analysis?

FFT analysis is one of the most used techniques when performing signal analysis across several application domains. FFT transforms signals from the time domain to the frequency domain. FFT is the abbreviation of Fast Fourier Transform.

Using FFT analysis, numerous signal characteristics can be investigated to a much greater extent than when inspecting the time domain data. In the frequency domain, the signal characteristics are described by independent frequency components, wherein the time domain it is described by one waveform, containing the sum of all characteristics.

A figure of a time signal consisting of sinusoidal components, and how it can be represented in the frequency domain.

Applications of FFT analyzers

Inspecting measured data in the frequency domain is often the primary part of analyzing and monitoring signals. Data from a variety of sensors are used across virtually all industries in order to solve problems, optimize designs, test prototypes, monitor machinery, and many other jobs like the ones listed below:

  • Predictive machine health monitoring

  • Structural dynamic analysis

  • Durability and fatigue analysis

  • Rotating machinery, Bearing fault detection, torsional analysis

  • Combustion analysis

  • Human body vibration tests

  • Room acoustic, loudspeaker design, environmental noise analysis

  • Mechanical shock response tests, drop tests

For example, when performing rotating machinery diagnostics, certain frequency components relate to specific mechanical parts within the machine. Changing spectral amplitude levels over time can pinpoint which parts, like gears and bearings, will require maintenance...and when.

Also, in acoustically noisy environments, FFT analysis can be used to measure sound pressure.  Finding out which critical frequency ranges and loud tonal components are contained within the noise allows engineers to take steps to attenuate them.

Example of a frequency domain spectrum of a sound pressure signal measured in a noisy environment. The spectrum indicates loud tonal components at specific frequencies.

When doing vibration testing of components and devices, FFT analysis allows engineers to inspect how the devices react at individual frequencies. This means that frequency spectra can help with design optimizations, as well as with specifying deflection limitations. FFT spectra can also be used to determine acceptable tolerance curves over the measured frequency range, and to alarm users when critical vibration levels are exceeded at specific frequencies.

Example of FFT analysis over multiple instances of time illustrated in a 3D display. The Frequency spectra vs. time graph show the measurement of an operating compressor, with dominating frequency components at certain points in time

Results from FFT analyzers

When FFT analyzers produce frequency domain data, the output results are frequency spectra. These spectra are typically extracted in a form referred to as power spectra and cross-power spectra (see reference 7.1).

The steps needed to obtain power spectra and cross-power spectra are illustrated in the picture below:

Illustration of main process steps used to produce spectra
  • The first step is to sample input time data into FFT time blocks. The input time data can be raw sensor signals or pre-processed (e.g. filtered) signals. Each time block will have a time duration \(T\) which relates to the spectral resolution of the produced spectra. The time blocks may be configured to have a window function applied and an overlapping set. 

  • Next, the FFT time blocks are transformed from the time domain to the frequency domain by the FFT algorithm. Each time block will result in one instantaneous complex FFT spectrum. 

  • The instantaneous complex FFT spectra are used to calculate the instantaneous power spectra. The power spectra are averaged together over a specified number of spectra or a time duration. Power spectra have real values and relate to one input signal. Cross-power spectra have complex values and relate to two input signals.

The transformation algorithm for instantaneous complex FFT spectra is based on the DFT (Discrete Fourier Transform) the formulation which can be described as:

\[A(f_k)=\frac{1}{N}\sum_{n=0}^{N-1}a(t_n)e^{-i\frac{2\pi kn}{N}}\]

where \(tn\) is discrete-time samples, \(fk\) is discrete frequencies samples, \(N\) is the number of samples in an FFT time block, and the multiplication of \(1/N\) is the normalization factor, (see reference 5.3).  

The calculations to obtain instantaneous power spectra and cross-power spectra from instantaneous FFT spectra \(A(f)\) and \(B(f)\) are described below.

For each frequency component, the FFT spectra have an amplitude and phase value that can be expressed in polar coordinates by: 

\[A(f) = |A(f)| e^{i \theta_A(f)}{,\enspace } B(f) = |B(f)| e^{i\theta_B(f)} \in \mathbb{C}\]

The power spectra and cross-power spectra are then calculated as the geometric product of two FFT spectra:

\[S_{AA}(f) = A^*(f) \cdot A(f) = |A(f)| \cdot |A(f)| e^{i(\theta_A(f) - \theta_A(f))} = |A(f)|^2  \in \mathbb{R}\]
\[S_{AB}(f) = A^*(f) \cdot B(f) = |A(f)| \cdot |B(f)| e^{i(\theta_B(f) - \theta_A(f))}\in \mathbb{C}\]

Accordingly, the amplitude is the product of the two FFT spectral amplitudes, and the phase is the difference between the two FFT spectral phases (see reference 4.1).

These power spectra are then averaged over a specified number of spectra or a specified time duration.

The letter \(S\) is typically used for the two-sided form of the power spectra, as in the form of the original complex FFT spectrum. In the two-sided form, the frequency axis ranges from \(-f_N\) to \(f_N\), where \(f_N\) is the Nyquist frequency. The Nyquist frequency will be described under the section Influence of Sample Rate. 

More commonly, the one-sided spectrum form is used, which is often termed with the letter \(G\) and is defined as shown in the figure below:

Figure illustrating the difference between one-sided G spectra and two-sided S spectra.

Finally, the one-sided power spectra and cross-power spectra can be obtained. The process used to obtain such spectra is typically done automatically in FFT analyzers. 

Other FFT facts

As mentioned, Fourier analysis transforms signals from the time domain to the frequency domain. But more correctly, FFT analysis is a mathematical method for transforming a finite time function \(a(t)\) of \(N\) equally spaced time samples into a function of frequency \(A(f)\) of \(N\) equally spaced complex frequency samples (see reference 5.3). 

In fact, the FFT transform does not have to process functions of equally spaced time samples, but can also process many other types of N equally spaced samples. For example, rotational order tracked samples will be equally spaced with respect to the rotational angle. FFT transformation of such order-tracked functions will create order FFT spectra where the spectral lines aren’t related to sinusoidal periods per second [Hz] but to sinusoidal periods per cyclic revolution [order]. More information about Order Analysis can be found here: Dewesoft Order Analysis.

Dewesoft order tracking analysis solution

The Fast Fourier Transform FFT is a development of the Discrete Fourier transform (DFT) where FFT removes duplicate terms in the mathematical algorithm to reduce the number of mathematical operations performed. In this way, it is possible to use large numbers of time samples without compromising the speed of the transformation. The total number of complex multiplications required by FFT is of the order of \(N/(\log_2(N))\), while for DFT it is \(N^2\), where \(N\) is the number of time samples involved (see reference 4.1).

How to start using FFT analysis

In order to get started with FFT analysis, time data has to be acquired. This data may have been collected before or during FFT analysis.

Required equipment

DAQ systems (Data acquisition systems) are typically used for FFT analysis to acquire time-domain data from sensors. Data from sensors are digitized so that they can be manipulated and analyzed by a computer and software. Sensors together with a dedicated DAQ system connected to a PC with FFT analysis software are often the preferred configuration. It is the Analog-to-Digital Converter (ADC) of the DAQ system that specifies the sample rate \(f_S\) of the digital time signals. 

Typical components required to perform FFT analysis

FFT analyzers can analyze digitized signals from all types of sensors. Depending on the application different types of sensors will typically be used. For example, when performing noise and acoustic measurements sound pressure sensors will be used, and for machine diagnostics and structural measurements, accelerometers are typically used. 

With great demands for product optimization regarding e.g. durability, efficiency, manufacturing time, and safety, there is an increasing trend toward measuring multiple types of physical quantities at the same time. Using multiple types of sensors enables the investigation of the correlation between different parameters. For example, when analyzing measurements of an engine it is often desired to see how vibration, speed, temperature, and noise are linked together. 

More information about sensors:

An FFT analysis software application has to be installed on the PC connected to the DAQ system. When the system has been configured and measurements are running, the user can focus on the FFT analysis software to complete the test, analysis, and reporting tasks. All settings defining the FFT spectral results are managed in the FFT analysis software and will be described in the sections Basic Settings for FFT Analysis and Additional Features Used With FFT Analysis. 

Depending on the system configuration and limitations of the system provider, DAQ systems with FFT analysis can support anywhere between 1 to +1000 sensors, and often provides a great list of additional analysis features together with storing export, and reporting functionalities. 

In some situations where only one or few sensors are measured, smaller portable FFT analyzers might be a better choice over bigger systems However, FFT features might be reduced in these small systems, and more manual steps may be required to complete the analysis and to save the results.

Learn more about DAQ systems:

What Is a Data Logger (Datalogger) - The Ultimate GuideData logger is a small and relatively inexpensive stand-alone recorder that monitors and records real-time data such as voltage, temperature, and current.
Data Acquisition History - From Strip Chart Recorders to Digital DAQ [UPDATED 2024]History of data acquisition article shows how the industry evolved from early strip chart and tape recorders into the modern digital data acquisition era.
Dewesoft Data Acquisition Technology ExplainedFind out which are the most important Dewesoft DAQ technologies and learn more about their principle of operation and how they improve the DAQ process.

Basic settings for FFT analysis

There are some fundamental settings that need to be made for optimal results. These can vary depending on the specific test scenario. These settings include those involving spectral resolution, amplitude scaling, and time weighting.

Spectral resolution

The spectral resolution is determining the frequency line spacing (also called line resolution) in the produced spectra. The greater the spectral resolution, the more frequency lines will be included in the output spectra from the frequency analysis. (Sometimes “lines” are called frequency “bins”.)  

Normally the spectral resolution can be adjusted through one or more of the dependent set parameters listed below:

Number of lines

The number of lines (\(N\)) indicates how many lines will be included in the produced spectra (this also relates to the spectral resolution).

Line resolution, line spacing, and the delta frequency (\(df\))

The line spacing and line resolution width (also referred to as \(f\) or \(\beta\)) indicate the frequency width between neighboring spectral lines - the frequency line interval. 

For FFT baseband analysis over the full signal frequency range, the line resolution is dependent upon the sample rate (\(f_S\)) and the number of lines. This can be determined by:

\[\Delta f = \frac{f_S/2}{N}\]

For FFT baseband or zoomed analysis over a selected frequency span, the line spacing can be determined by the ratio between the frequency span and the number of lines within that span:

\[\Delta f = \frac{f_{Span}}{N_{Span}}\]

Time block length

The time block length (aka “block duration”) indicates the duration of time data that each spectrum requires to be made with a certain line resolution.

The greater the spectral resolution, the greater the time block length has to be.

The time block length is often referred to as \(T\), and it is related to the line resolution by:

\[T = \frac{1}{\Delta f}\]

For example, a line resolution of 0.5 Hz requires 2 sec of time data for each spectrum, and the FFT analysis update rate will be 2 sec per spectrum.

Note: a commonly known feature called Overlap can be used to increase the update rate.

Influence of sample rate

The sample rate (aka the “sampling frequency,” or \(f_S\)) of sampled time data, used in FFT analysis, sets the upper-frequency limit on the produced spectra. This limit is called the Nyquist Frequency or \(f_N\) and is defined as: 

\[f_N = \frac{f_S}{2}\]

For example, if acquired data is sampled with 20 kHz, then the upper-frequency limit of frequency spectra will be 10 kHz. 

Sample rate and acquisition bandwidth

In many FFT analysis solutions, the Acquisition Bandwidth (\(BW_{Acq}\)) is referred to as the available valid/useful frequency range for FFT analysis purposes.

The acquisition bandwidth is often considered to be lower than the Nyquist frequency. Even though the Nyquist frequency sets an upper-frequency limit at \(f_S / 2\) on produced FFT spectra, the usable acquisition bandwidth is often even less than that. This is due to the effects of the Analog-to-Digital Converter (ADC), such as aliasing effects that did not get completely removed by Anti-Aliasing Filters (AAF).

As a result, the acquisition bandwidth is often defined by a fraction of 1 / 2.56 or around 40 % of the sample rate. 

\[BW_{Acq} = \frac{fs}{2.56} = \frac{f_N}{1.28}\]

For example, if we acquire time series data with a sample rate of 20 kHz, the valid acquisition bandwidth (with no aliasing and filter phenomena) is 7.812 kHz, as shown here:

\[BW_{Acq} = \frac{10 kHz}{2.56} = 7.812 kHz \]

Analysis bandwidth

The analysis bandwidth is the valid/useful frequency range that has been processed by the FFT analyzer.

The analysis bandwidth also referred to as the frequency span (\(f_{Span}\)), can have a different bandwidth than \(BW_{Acq}\), but not greater than \(BW_{Acq}\). 

For example, when analyzing a signal that only contains relevant frequency components in a smaller frequency region of the \(BW_{Acq}\), then \(f_{Span}\) might be chosen narrower than \(BW_{Acq}\).

Often by default, FFT analyzers use the same analysis bandwidth as the acquisition bandwidth. 

For example, consider time data with a sample rate of 20 kHz: if the FFT analyzer is configured to analyze the full sampled signal, it will produce spectra with lines from DC and up to \(f_N\)=10 kHz, but only the lines up to \(f_{Span}\) = 7.812 kHz will be alias-free. 

Many FFT analyzer solutions only display the frequencies up to \(f_{Span}\), even though they may store frequency content up to \(f_N\). 

Frequency resolution vs. line spacing

The terms “Frequency Resolution” \(\Delta f_{NBW}\) (also referred to as the resolution bandwidth \(Res_{BW}\), or just bandwidth \(B\)) and “Line Spacing” are often interchanged, but there are distinctions between the two.

While the term Line Spacing \(\Delta f\) is determined by the ratio between \(f_N\) and \(N\), the term Frequency Resolution \(\Delta f_{NBW}\) takes the Noise Bandwidth (NBW) of the time weighting window into account. See more about window functions in the section Time weighting windows.

Time weighting windows are used by default in FFT analysis to reduce spectral leakage. These weighting windows spread additional energy from the frequency components into neighboring spectral lines. Basically, the additional energy spread by the window function is related to the NBW of the window function. Due to the \(NBW\) the actual Frequency Resolution gets worse (\(\Delta f_{NBW}\) is greater) than the Line Spacing \(\Delta f\):

\[\Delta f = \frac{f_N}{N} {,\enspace} \Delta f_{NBW} \frac{f_N}{N} \cdot NBW\]

Different window types have different \(NBW\) values equal to or greater than 1.

As a result, the actual frequency resolution is often worse than the line spacing (see reference 4.1).

Amplitude scaling

Amplitude scaling determines how the amplitudes of the FFT spectral lines get scaled. 

Based on the specific signal type, and the type of measurement performed, certain scaling functions will be more convenient and better used. 

Normally, multiple scaling functions are available in FFT analyzer settings, or in spectral display settings.

In addition to the scaling functions, there are different scaling formats (or “readout” formats) to choose between. Scaling functions and formats are described below.

Scaling functions

When FFT analyzers are configured, at some point the user must determine how the amplitude of the spectral data should be scaled when it is stored and/or displayed. The most common scaling functions are:

  • Linear

  • Power

  • PSD (Power Spectral Density)

  • ESD (Energy Spectral Density)

  • ASD (Amplitude Spectral Density)

Linear scaling

Linear scaling outputs the same unit as the input signal unit: 


Linear scaling is normally chosen for stationary, deterministic periodic signals, for example, to analyze the sinusoidal harmonics of rotating machinery.  

With Linear scaling, periodic sinusoidal signals can be overlaid and compared independently of the selected Line Spacing, since the energy of individual sinusoidal components will (more or less) remain at one spectral line.

Power scaling

Power scaling outputs the square of the input signal unit: 


Power scaling is chosen for the same reasons as Linear scaling. But while Linear scaling is proportional to the input unit, Power scaling is proportional to the power of the input unit. This has some advantages when inspecting the spectral data, or when using the spectral data for creating derived math channels.

PSD scaling

Power Spectral Density (PSD) scaling outputs the Power divided by \(\Delta f_{NBW}\): 

\[[U_{input}^2 / Hz]\]

PSD scaling can be interpreted as the power per frequency and is normally chosen for stationary broadband random signals, for example, to quantify random vibration fatigue.

With PSD scaling, broadband random data can be overlaid and compared independently of the selected Line Spacing in the FFT analyzer, since it takes the Frequency Resolution into account (see reference 2.1).

ESD scaling

Energy Spectral Density (ESD) scaling outputs the PSD integrated over the spectral averaging time: 

\[[{U_{input}}^2 \cdot s/Hz]\]

ESD scaling can be interpreted as the energy per frequency and is normally chosen for non-stationary transient signals with finite energy over time, for example, when performing impact measurements.

ASD scaling

Amplitude Spectral Density (ASD) or Linear Spectral Density (LSD) scaling outputs the square root of PSD: 

\[[U_{input} / \sqrt{Hz}]\]

ASD scaling is sometimes used for broadband random data having a rather constant spectrum shape since variations in the ASD will be proportional to variations in the input signal level itself.

Scaling formats

After selecting the best-suited scaling function for a given measurement scenario, FFT analyzers typically provide a set of scaling formats that specifies how the spectral data should be interpreted. 

Normally, the relationships among scaling formats in FFT analyzers are based on the assumption that spectral lines represent individual sinusoids. Therefore, the following relationships hold:

  • Peak (pk) is the signal-positive peak amplitude. 

  • RMS (Root Mean Square) is the signal RMS amplitude. For sinusoids, RMS relates to the peak value by:

\[rms = \frac{1}{\sqrt{2}}peak\]
  • Peak-to-peak (pkpk) is the signal minimum-to-maximum peak amplitude. For sinusoids, pkpk relates to the peak value by:

\[pkpk = 2 peak\]
  • Absolute average (|avg|) is the mean of all absolute values of the waveform. For sinusoids, |avg| relates to the peak value by:

\[|avg| = \frac{2}{\pi} peak\]
The figure of a sinusoid illustrating the amplitude relationship between peak (pk), average (avg), root-mean-square (rms), and peak-to-peak (pkpk).

From these amplitude scaling relations, the Crest Factor and PAPR can also be determined.

The Crest factor C (also referred to as the peak factor kp or amplitude factor) is the ratio between the peak and the RMS amplitude, indicating the strength of peaks in the waveform compared to the effective RMS value. A crest factor of 1 indicates no peaks, whereas, for example, a typical sine wave has a crest factor of \(\sqrt{2} \simeq 1.414\) (see reference 5.2).

\[C = \frac{|peak|}{rms}\]

Also, by using the Power scaling function, the Peak-to-Average Power Ratio (PAPR) can be determined. It is defined by the power ratio between the peak and RMS amplitude, and it indicates the power of peak components in signals compared to the mean square amplitude.

\[PAPR = C^2 = \frac{|peak|^2}{rms^2}\]

PAPR is normally expressed in decibels:

\[PAPR_{dB} = 10_{log_{10}} (\frac{|peak|^2}{rms^2})\]

Time weighting windows

In short, FFT Analyzers use time-weighting window functions to reduce spectral leakage. Such leakage phenomena cause amplitude errors in the frequency spectrum.

Spectral leakage

Spectral leakage is when the energy of frequency components in a signal is spread out to a broad range of spectral lines instead of being represented by single spectral lines.

Illustration of the leakage phenomena, where energy is spread to multiple spectral lines

Basically, spectral energy leakage arises when analyzed signals contain energy at frequencies not described by the spectral lines of the FFT spectrum.

For example, configuring an FFT analyzer to a line spacing of 2 Hz; if the analyzed signal contains energy at an uneven frequency like 10.5 Hz, for example, leakage will occur. Why? because no single spectral line can describe the energy at 10.5 Hz when the line spacing is 2 Hz.   

This leakage phenomenon arises since FFT algorithms describe blocks of time data with periodic sinusoidal components. Such a representation requires that time signals are periodized into time blocks that are continuous at the ends where the blocks are effectively joined into a loop.

Remember that the FFT time block length \(T\) is defined by the reciprocal of the line spacing:

\[T = \frac{1}{\Delta f}\]

Given a spectral line spacing of 2 Hz, the time block length is 0.5 sec. This causes all non-even frequency components to have discontinuities at the looped block ends. Adding to the example two paragraphs ago, 10.5 Hz will have a 90-degree phase difference between the block ends.    

If time signals are periodized to have a block length \(T\) that causes the time blocks to have discontinuities at the ends, FFT algorithms will try to represent such discontinuities by leaking a portion of the energy to a broad range of sinusoidal components.  

For most signal types it is hard or impossible to find block lengths with no discontinuities at the looped time block ends, and therefore time weighting window functions are used to help with solving this problem. 

Concept of window functions

Time weighting techniques add a “window” with individual weighting coefficients to each time sample in an FFT time block. This primarily reduces those samples that cause spectral leakage. In effect, samples at the time block ends are reduced to zero (or heavily reduced), so that the discontinuities in the periodized time signal are removed.

Examples of some window function shapes are illustrated in the picture below:

Shapes of some commonly used window functions called Flat top, Hanning, and Rectangular.

The parameters characterizing window functions are listed below:

  • NBW

  • Maximum amplitude error (also referred to as Ripple)

  • Selectivity

Effective noise bandwidth (NBW)

The NBW (also referred to as the “Effective Noise Bandwidth”) is defined as the width of an ideal filter that transmits the same power from a white noise source as the given/used filter (see reference 3.1). 

The figure of a used practical filter and an ideal filter. The ideal filter transmits all frequency components contained within its NBW and removes all other components.

The NBW of a filter indicates how well it separates frequency components of similar amplitudes, and thus determines the frequency resolution \(\Delta f_{NBW}\).

Since the NBW indicates the width of an ideal filter transmitting the same white noise power as the used filter, it conversely indicates how much extra power the filter adds to the time block. 

The amount of extra power has to be taken into account, for example, when summing together the power from a range of spectral lines, and when using amplitude scaling like PSD. This is why PSD scaling uses \(\Delta f_{NBW}\) and not just \(f\).    

Another bandwidth parameter sometimes mentioned is the 3 dB bandwidth or \(BW_{3dB}\), but in most practical filters, the difference between the 3 dB bandwidth and NBW is relatively small, (see reference 3.2).

Ripple (max. amplitude error)

Ripple, also referred to as Flatness or Scalloping Loss indicates the maximum amplitude error within \(± \Delta f/2\) around a spectral line, and thereby determines the accuracy of the amplitude of the signal. This maximum amplitude error is also referred to as the maximum picket fence effect error.


The selectivity of a filter determines the ability to separate components with different levels and is defined by:

  • Highest sidelobe

  • Sidelobe fall-off rate

  • 60 dB bandwidth or \(BW_{60dB}\)

  • Shape factor

Window functions do not completely remove spectral leakage, and sidelobes will still exist, but they are more attenuated. The selectivity parameters that describe such sidelobe characteristics are illustrated in the picture below:

The figure of a Hanning filter - illustrating the parameters defining the filter Selectivity. The frequency axis is linear - giving a curved shape for the Sidelobe fall-off rate.

When signals have frequency components of widely different levels, the window function must have good selectivity to separate them. Good selectivity is mainly achieved by having a small shape factor, which indicates steep filter skirts. But the 60 dB bandwidth must be relatively narrow if two such different components are closely spaced.

Window types

The choice of which window function to use depends upon the frequency content of the signal. Some window functions have a relatively small NBW (Noise BandWidth) which provides good Frequency Resolution \(f_{NBW}\), like the Hanning window. 

Good frequency resolution is desired for signals containing closely spaced frequency components of interest with similar amplitude levels. 

Other window functions have greater \(NBW\) like the Flattop window, however Flat top performs better in the determination of exact amplitude levels due to its low ripple value. 

If two closely spaced tones with very different amplitude levels need to be separable, then window functions with good selectivity should be used. For example, if you have a narrow 60 dB bandwidth and a small value for the highest sidelobe, it is more likely that the weak tonal component will be detectable from the energy spreading of the strong tonal component.  

Illustrations below show simulations of some common window functions and their differences with respect to the NBW, ripple, and selectivity.

Simulations of commonly used window functions, indicating their different characteristics which are used to select which window to use for a certain analysis scenario.
Simulations of commonly used window functions, showing their sidelobe fall-off rate.

From the window function simulations illustrated above, the characteristic parameters for window functions can be determined. See the table below:  

Table, characterizing parameters for some common window functions as defined in DEWESoftX. The window parameters were determined with high resolution analysis. * Regarding the Flattop window in the table - There are many variants of Flat top windows, but one of the more recognized ones is the 5-term Flat top filter as defined in reference 4.3. That is the one described in this article.
Window functionNBWRipple \(BW_{3dB}\)\(BW_{60dB}\)Shape factorHighest sidelobeSidelobe fall-off rate per decade
Rectangular1.00 \(\Delta f\)-3.92 dB0.89 \(\Delta f\)665 \(\Delta f\)750-13.3 dB-20 dB
Hanning(\(\alpha = 2\))1.50 \(\Delta f\)-1.42 dB1.44 \(\Delta f\)13.3 \(\Delta f\)9.2-31.5 dB-60 dB
Hamming1.36 \(\Delta f\)-1.75 dB1.30 \(\Delta f\)94.1 \(\Delta f\)72.4-42.7 dB-20 dB
5-term Flat top*3.77 \(\Delta f\)-0.01 dB3.72 \(\Delta f\)9.2 \(\Delta f\)2.5-93.0 dB-20 dB
Blackman1.73 \(\Delta f\)-1.10 dB1.64 \(\Delta f\)9.2 \(\Delta f\)5.6-58.1 dB-60 dB
7-term Blackman-Harris2.63 \(\Delta f\)-0.48 dB2.48 \(\Delta f\)10.2 \(\Delta f\)4.1-180 dB-20 dB

There are many types of window functions beyond those listed in the table above some of which have user-defined parameters. Examples of windows with user-defined parameters are transient windows formed as rectangular windows, but only within the user-defined duration of the FFT block. Outside of that transient duration, the transient time window has zero values. In most implementations of transient windows, the user can also specify leading and trailing edge tapers in order to avoid cutting off background noise too sharply, which can lead to leakage.

Another window type with input parameters is the exponential window with the decay constant \(\tau\) as a user-defined parameter. The user can tune the window to fit the “ringing” decay of structural responses after a transient input excitation, or fit the window to decay with a certain level during the FFT time block length, among other variations. 

Selecting which window function to use?

The optimal window function to use depends on the signals that you need to analyze.

Windows for transient signals

When analyzing transient signals, the Rectangular window should be used as default. But the Transient window should be used for transients that are relatively short compared to the FFT block length, in order to filter out unrelated noise and improve the signal-to-noise ratio.  

Exponential windows should be used if the duration of the transients exceeds the FFT block length. In these cases, using exponential windows can ensure that the transient will decay sufficiently within the FFT block length, reducing leakage.  

If the transients are relatively long compared to the FFT time block, then Hanning weighting can be used together with an FFT time block overlap of ⅔ or ¾, (see reference 3.2).

Windows for continuous signals

A popular choice is the Hanning window. This window has quite a narrow main lobe, therefore, good frequency resolution and reasonable side lobe suppression, making it suitable for many applications. 

The Blackman window has a better sidelobe rejection and selectivity in comparison to Hanning, but the main lobe is a little wider. In many cases, a sufficient number of FFT lines are selected to have relevant frequency components separated with multiple spectral lines. The wider main lobe of Blackman is a fine trade-off to achieve less leakage into neighbour bins.  

The 7-term Blackman-Harris window has excellent sideband rejection, but a relatively wide main lobe. This can be used for analyzing signals having frequency components with very different amplitude levels. 

If amplitude accuracy is the top priority, the Flat-top window should be used. This allows amplitude inaccuracy of only 0.01 dB. The trade-off is the large NBW causing a less good frequency resolution. This window is most suitable for calibration. 

For continuous signals, the rectangular window should only be used for analyzing specific sinusoidal signals containing only frequency components that align with FFT spectral lines, and not between them. If these conditions are met, the rectangular window type will perform very well with minimum leakage. But if sinusoidal components exist between the spectral lines, the rectangular window will cause high leakage.

Signals containing only sinusoidal components on spectral lines are often the situation in order tracking applications. Order tracking resamples the time data with respect to rotation speed. Another case is when pseudo-random signals are used. For more information about pseudo-random signals please see reference 1.3.

Windows for random signals

For normal continuous random signals, the Hanning window is often preferred for reduced leakage due to its good frequency resolution. Random signals might be chosen for vibration testing and structural dynamics testing, for example, where a vibration shaker or modal shaker uses these signal types to excite the structure. 

For pseudo-random and periodic random signals, the rectangular window should be used because it provides leakage-free measurements.

Impact signals and burst random signals should be analyzed as described for transient signals. It’s typical to use a transient window for short transients, and an exponential window for longer transients. For example, performing structural analysis using an impact hammer to provide an excitation signal, and an accelerometer to capture the response, the short excitation signal should use a transient window while the longer response signal should use an exponential window.


Averaging can be performed in the time domain or in the frequency domain. In this section, we will focus mainly on averaging in the frequency domain, which is the primary type of averaging used with FFT analyzers. Averaging in the frequency domain is sometimes referred to as Spectrum Averaging.

FFT analyzers often have different options for setting up the spectrum averaging process. The most common averaging modes are described in the following sections.

RMS averaging

RMS averaging (also referred to as power-spectrum averaging or energy averaging) is typically the default spectrum averaging mode in FFT analyzers. 

RMS averaging is used to reduce the fluctuation of spectral noise levels. With RMS spectrum averaging, the individual spectral lines are averaged over multiple instantaneous power spectra or cross-power spectra. 

In the picture below a non-averaged instantaneous power spectrum (red) is compared to an averaged spectrum averaged over 100 power spectra (blue).

Comparison of an instantaneous spectrum with no averaging (red) and an RMS averaged spectrum over 100 instantaneous spectra (blue).

When performing RMS averaging, the noise in the signal is averaged in the same way as the pure/consistent signal. As a result, the noise is not reduced or averaged away by spectrum averaging, but the spectral noise levels will become more and more steady (averaged) with increasing numbers of averaged spectra. 

The standard deviation of the random noise in RMS averaged spectra will be reduced by a factor of \(1/ \sqrt{N}\), where \(N\) is the number of averaged instantaneous spectra (see reference 6.1). This is a reduction of the standard deviation of -5 dB each time the number of averages is 10 times greater. Conversely, the measurement time will increase as the number of averages increases.   

RMS averaging calculates the mean power sum which relates to the mean energy. The square root of the mean power sum is calculated to output the same unit as the input signal: Root-Mean-Square. As for all spectrum averaging modes, the averaging is done for all spectral lines individually.

Complex spectrum averaging

Some FFT analyzers support complex spectrum averaging. This method calculates the mean over the complex instantaneous FFT spectra, for all spectral lines. Complex spectrum averaging can be used to reduce noise levels and other inconsistent components in spectra. Its performance is similar to synchronous time-domain averaging. 

When performing averaging of instantaneous complex spectra, the amplitude components with varying phase characteristics across spectra will be averaged out. Random noise can be reduced, but the relevant signal can also be reduced if the FFT analyzer is not configured properly! This should be avoided. 

If the relevant signal components have varying phase characteristics like noise components do, then the resulting spectrum will also get those relevant components averaged out. 

In order to avoid reducing the relevant signal components, an FFT block trigger can be used. In this way, the phase characteristics of the relevant signal components can be maintained such that only the noise is reduced. 

Another way to make complex FFT spectrum averaging perform as desired in multi-channel structural testing is to define a reference channel and measure its instantaneous phase reference spectrum. Adding the same phase shifts to all channel spectra as required for the phase reference spectrum to keep a constant phase over time (for all spectral components), will make the relevant frequency components consistent for all channels. In this way, complex averaging will only average out the noise components, (see reference 2.2).

Using complex spectrum averaging, inconsistent random noise components in the averaged spectrum can be reduced by \(1/N\), where N is the number of averaged complex instantaneous FFT spectra. This is -10 dB each time the number of averages is 10 times greater (see reference 3.3).  

Linear or exponential spectral averaging

When averaging is performed with equal weights for all instantaneous spectra, it is referred to as Linear Averaging. For example, overall linear RMS averaging is performed when the energy content is equally important over the full measurement time. 

Linear averaging can often be set to cover a certain time duration, or a number of FFT spectra, where all data are equally weighted. For example, in a user scenario, it might be desired to average the vibration energy or to determine the equivalent spectral sound pressure levels over a certain time period.

If newer instantaneous spectra should be weighted greater than older spectra that are involved in the averaging process, then exponential averaging can be used instead of linear averaging. 

With exponential averaging, the influence of spectra decays exponentially over time. Normally a parameter relating to the exponential time decay constant tau \(\tau\) can be adjusted by the operator of the FFT analyzer. In this way, the weighting of the different involved spectra is set.  

Exponential averaging is especially used for monitoring non-stationary signals with varying amplitude levels. Since the newest spectrum is weighted greater than the previous spectra, sudden events will be indicated stronger in the averaged spectrum when using exponential averaging than when using linear averaging. 

Maximum hold

Even though maximum hold does not perform averaging, it is sometimes listed under available averaging modes for FFT analyzers. This might be due to the fact that multiple instantaneous spectra are involved in the process, as when performing averaging. 

Maximum hold keeps the maximum value of individual spectral lines over the specified averaging time. As a result, the resulting maximum hold spectrum might have some spectral lines holding values from some instantaneous spectra, and other lines holding values from other instantaneous spectra. 

Maximum spectral hold can be used for the inspection of worst-case scenarios, by obtaining a spectrum indicating maximum amplitudes for all frequencies over a determined test time.  


Within the context of FFT analysis, the parameter Overlap refers to overlapping FFT time blocks.

Overlap can be used to calculate FFT spectra more consistently when window functions are applied, and to increase the rate of produced spectra. 

Figure illustrating 0 % overlap and 50 % overlap of FFT time blocks, having a window function applied.

Because FFT analyzers produce a spectrum for every FFT time block, when these blocks are overlapped, the analysis will produce spectra at an increased rate compared to when using no overlap (0 % overlap). This increases the update rate of spectral displays, but conversely, spectra will include overlapping signal content.   

Window-weighted FFT blocks typically have very small (or zero) values near the block boundaries, as shown in the figure above. The reduced values near the boundaries affect a significant portion of the time signal to be effectively ignored in the analysis process. In measurement situations where data is gathered at great expense, this situation should be avoided. Overlapping FFT blocks can be used to improve this, (see reference 6.1).

When using rectangular windows, all block values will already be equally weighted, and overlapping will only help to increase the rate of produced spectra.   

Overlapping FFT blocks can be adjusted to obtain equal weighting for all time samples over multiple overlapping spectra, giving a frequency representation of a flat (equally weighted) time signal. This is used to obtain results equivalent to a real-time analysis, where the overall weighting function must be uniform, for example when using Hanning weighting. The overlap has to be at least ⅔ to obtain this, (see reference 3.2). 

As the overlap is increased, FFT spectra will also become more and more correlated to subsequent spectra. Correlated spectra are in many cases unnecessary, and therefore not much is gained after an overlap fraction is reached which provides near-equal overall weights for the time samples. Therefore, the ideal overlap fraction is often determined to balance equal total weights of samples and small correlations.  

Even though the ideal overlap depends on the window function and the measured signal type, a reasonable overlap fraction to use is typically ⅔ or ¾.

Additional features used with FFT analysis

To take full advantage of FFT analysis additional features are often used to improve the analysis and diagnostics. This section will mention some of the common features that may be supported by FFT analyzers.

Reference curves, tolerances, and alarm detection

Reference curves, indicating how the spectral content of signals should ideally look, can be used in signal monitoring to detect evolving critical signal changes.

For example, when monitoring operating machinery, an initial ideal reference curve was captured. From that point forward,   new data from the machine can be visually overlayed and compared to the reference spectrum. Using this technique,  evolving defects can be detected, and maintenance can be scheduled. 

A figure of a spectral reference curve together with measured data. The measured data has an increased amplitude level at 300 Hz compared to the reference data.

Spectral tolerance curves can also be used to set a lower and/or upper tolerance limit for what is defined to be acceptable spectral levels. 

Another example of using tolerance curves is when monitoring spectral noise levels. Specific disturbing tone levels can be evaluated which might not be detected by the total sound pressure level (SPL). Even pleasant noise environments can have tonal components that cause discomfort. 

Unpleasant tones might not be indicated by the total SPL due to all the broadband noise, but when looking at the spectral content, such tones will be indicated with increased levels compared to the broadband noise. In order to monitor and regulate the perceived noise, spectral tolerance limits can be set according to what is defined as acceptable levels.   

A figure of a noisy sound pressure signal with dominating tonal components. Tolerance curves indicate accepted lower and upper spectral levels.

For critical applications and test campaigns, alarm detection might be required to ensure quick corrective actions. This is especially true in cases where tolerance levels are exceeded. For example, When performing critical structural testing, maximum accepted deflection levels can be defined which must not be exceeded during the test. In these cases, alarm detection functionality can be used to automatically shut down the test if unacceptable or unsafe levels are reached.

Scalar calculations

During FFT analysis it can be beneficial to extract the energy content from fixed frequency ranges/sections of interest. This is also referred to as a type of frequency domain filtering.

Some FFT analyzers support the ability to produce derived scalar channels that output one value per produced spectrum. The scalar values can express the total RMS or peak value of user-defined frequency ranges.

FFT spectrum with total RMS scalar calculations of specified frequency ranges. Some FFT analyzers support such scalar calculations both as displayed marker values and as derived output channels.

Filtering energy except for the components included in the defined frequency ranges can simplify monitoring and diagnostic tasks. Sometimes it also improves automated inspection. 

For example, if a stationary machine only needs an inspection in a few narrow frequency bands, scalar calculations can extract values related to those bands. 

As more and more specific signal characteristics are extracted and observed, the better the overview of relevant content in the measured time signals becomes. This makes it easier to set up rules for automated monitoring.     

FFT analyzers often support many predefined and user-defined scalar calculations that can be used to inspect things like kinetic bearing components, SDOF structural damping ratios, harmonic signal components, and total harmonic distortion (THD). 

These calculations provide additional insight into the measurements and improve the signal analysis process.

Below is another example of scalar calculations of some harmonic components found by analyzing the spectrum. Harmonics can indicate distortion and non-linear behaviors.  

The spectrum of a signal with harmonic content. Some FFT analyzers support such harmonic scalar calculations both as displayed marker values and as derived output channels.

Dual-channel analysis

The dual-channel analysis enables a signal to be analyzed in relation to another signal, sometimes called a reference signal. By analyzing the relationship between two signals it is possible to determine the correlation between spectral magnitude components and phase differences. 

Being able to analyze channels in relation to other channels opens up a new set of new functions that can be used in various domains. Coherence and Frequency Response Functions are possible, but the basic function types used for dual channel calculations are power spectra and cross power spectra, as described in the section Results from FFT analyzers.

Dual-channel results

Dual-channel analysis and the ability to compare signals in relation to reference signals make it possible to calculate a group of cross-channel functions. Here is a list of some well-known cross-channel function types:

  • Cross-spectrum

  • Cross-correlation

  • Frequency Response Function (FRF)


  • Coherence (COH)

  • Coherent Output Power (COP)

  • Cross-power Spectral Density (CPSD)

For example, the coherence function expresses the linear relationship between two signals as a function of frequency. This is often used to check the validity of measured data, by indicating the influence of noise and non-linearities. The coherence function is calculated using the power spectra \(G_{AA}(f)\) and \(G_{BB}(f)\) from the two signals together with the cross power spectrum \(G_{AB}(f)\):

\[\gamma^2(f) = \frac{|G_{AB}(f)|^2}{G_{AA}(f) \cdot G_{BB}(f)}\]

Another example of a commonly used dual-channel function types is Frequency Response Function (FRF). FRF analyses represent the ratio between the output signal \(b(t)\) and the input signal \(a(t)\) of linear, time-invariant systems, in the frequency domain. Many variants of the FRF function have been defined to account for effects like noise in measurements. One of the most used variants is the \(H_1\) FRF which minimizes errors related to noise in the output signal \(b(t)\). FRF \(H_1\) is defined by: 

\[H_1(f) = \frac{G_{AB}(f)}{G_{AA}(f)}\]

FRF functions are used in Modal Testing and Analysis to estimate structural dynamic properties like damping ratios. 

It is sometimes beneficial to have a power spectrum of a signal \(b(t)\), but which includes phase information, relative to a reference signal \(a(t)\), creating power spectra with the magnitude of signal \(b(t)\), and with the phase of \(b(t)\) relative to signal \(a(t)\). Such phase-referenced power spectra or phase-assigned spectra are sometimes referred to as ODS FRFs because they provide the magnitude and phase information required to understand deflection amplitudes and shapes across multiple sensor locations of measured operating structures.

For an ODS FRF spectrum, the magnitude is equal to the power spectrum \(G_{BB}(f)\), and the phase is equal to the phase of the cross power spectrum \(G_{AB}(f)\).

Triggered analysis

FFT Analyzers are by default normally set to run continuously. This is also referred to as a Free mode or Free-run mode. In Free mode, the FFT analyzer produces spectra continuously from the start to the end of the time signal. 

But FFT analyzers may also support triggered analysis, where the FFT processing only runs when triggered to do so.

If the FFT analyzer is set to triggered analysis, the analyzer is in standby mode until the trigger condition is met. The trigger time will define the FFT time blocks’ start time, and a spectrum will be produced at the time block length \(T\) after the trigger time. 

The trigger can often be set up in various ways. For example, it might be configured to trigger when a signal reaches a certain level, by a manual action, or by some external event.

Triggered FFT analysis is useful in cases where the spectrum must include specific content related to an action. For example, when doing hammer impact testing, the FFT spectrum should contain the energy related to one or multiple full impacts. Unless triggered analysis is used, the FFT time block will have a start time at a random time position, and might only include a fraction of the impact event.

In other cases, standards may require that the FFT spectra have been triggered relative to some external parameter, like speed, position, or power. For example, performing automotive pass-by noise testing, the spectra might have to be triggered by certain car positions relative to the test track, in order to ensure the reproducibility of measurements.


A feature used in various domains in order to enhance the inspection of FFT spectra is signal filtering. Filtering can be performed to reduce noise, attenuate certain frequency components, or characterize frequency components with individual weighting coefficients, in order to take other parameters into account.

How well FFT analyzers support different filter types varies. Most analyzers support basic filters like acoustic weighting, but some FFT analyzers support several other types of predefined filters and user-derived filters as well. 

Depending on the filter type and the FFT analyzer used, some filters process the time signals before the FFT computation, while others filter the FFT spectra afterward. Filters might have to be configured in separate filter processing modules, but some FFT analyzers support the configuration of many commonly used filters directly.

Acoustic weighting 

When analyzing sound and noise signals acoustical weighting filters can be applied in order to take audible human perception into consideration. Humans do not perceive all frequency components to be equally loud, even though they have the same sound pressure level. Acoustic filters are defined to take that sound perception into account.

The figure of acoustic weighting curves for A-, B-, C- and D-weighting.
  • A-weighting is applied to instrument-measured sound levels in an effort to account for the relative loudness perceived by the human ear, as the ear is less sensitive to lower audio frequencies, (see reference 5.1).

  • B-weighting is used for intermediate levels and is similar to A, except for the fact that low-frequency attenuation is a lot less extreme though still significant (-10 dB at 60 Hz). This is the best weighting to use for musical listening purposes.

  • C-weighting is similar to A and B as far as the high frequencies are concerned. In the low-frequency range, it provides little attenuation. This weighting is used for high-level noise.

  • D-weighting was specifically designed for use when measuring high-level aircraft noise. The large peak in the D-weighting curve is not a feature of the equal-loudness contours but reflects the fact that humans hear random noise differently from pure tones, an effect that is particularly pronounced around 6 kHz, (see reference 1.1).

Note, since the human auditory processing in the cochlea of the inner ear can be compared to a group of ⅓-octave band filters, octave analyzers are often used together with acoustical weighting for analyzing signals having multiple tones in one ⅓-octave band or having broadband noise, in order to calculate the perceived ⅓-octave band acoustical weighted sound pressure levels.

Acoustic weighted sound pressure levels typically indicate the weighting type in the unit, e.g. dBA, or dB(A), for A-weighted SPL.

Integration and differentiation

Some FFT analyzers provide integration and differentiation filters that can be used to transform a time signal or FFT spectrum into another domain. A typical scenario for this is when transforming data from the acceleration domain to the displacement domain. Changing the physical quantity to displacement from acceleration can be helpful when using acceleration sensors, and you want to inspect the FFT spectra displacement values.

For example, when measuring seismic acceleration, it might also be useful to see the displacement amplitudes at the sensor locations. 

Also, when measuring operating machines with accelerometers, transforming the data to displacement enables one to inspect the deflection amplitudes at the sensor positions.  
Piezoelectric accelerometers are typically chosen for vibration measurement due to their wide operating frequency range. 

Even though integration/differentiation can be used to transform various physical quantities, like power to energy, it is commonly used for transforming acceleration, velocity, and displacement signals in relation to FFT analysis. Below is a table indicating the integration/differentiation process required to transform between such quantities.

This table shows the transformation between the physical quantities acceleration, velocity, and displacement by the integration/differentiation process.




  • What is a Power Spectral Density (PSD)?

  • Spectrum versus Autopower

Brüel & Kjær

  • Application Note: Time Windows, by S. Gade, N. Thrane, H. Konstantin-Hansen & J. Wismer

  • Technical Review: No. 3, 1987, Windows to FFT Analysis (Part 1), by Svend Gade and Henrik Herlufsen

  • Application Note: Time Domain Averaging Combined with Order Tracking, by N. Johan Wismer


  • Frequency Analysis - Brüel & Kjær, by R. B. Randall, B. Tech., B.A., 3rd edition from 1987.

  • Window functions and their applications in signal processing, by K. M. M. Prabhu, 2014

  • Digital Signal Processing for Measurement Systems, by G. D’Antona and A. Ferrero, 2006, pp. 70–72.


  • A-weighting

  • Crest Factor

  • Discrete Fourier transform

Other articles

  • Spectrum and spectral density estimation by the Discrete Fourier transform (DFT), including a comprehensive list of window functions and some new flat-top windows, by G. Heinzel, A. Rudiger, and R. Schilling, Max-Planck-Institut für Gravitationsphysik (Albert-Einstein-Institut), Teilinstitut Hannover.

National Instruments

  • Application Note 041, The Fundamentals of FFT-Based Signal Analysis and Measurement, by Michael Cerna and Audrey F. Harvey.