# Calculating 1/3 Octave Spectrum from FFT / DFT

I am not often on this forum and I am not an expert on the subject.

I struggle with the theory of FFT / DFT and the 1/3 octave spectrum.

• Assume I have a DFT analysis of a given signal.
• It (the DFT analysis) consists of many equidistant frequency bins that contain the corresponding amplitude (RMS or Peak).
• I now want to calculate a 1/3 octave spectrum which has different frequency bins that are not equidistant.
• Assume that one of the 1/3 octave bins reaches from 100 Hz to 200 Hz and the bin size of my DFT is 10 Hz.
• Assume the amplitude of the DFT is already in RMS.

Here is what I do at the moment (in Matlab) but it seems that it's not correct:

1. Adding all DFT amplitudes within 100 Hz and 200 Hz in linear scale (Pascal in my case).
2. After adding the RMS amplitudes (within one 1/3 octave bin) I just calculate corresponding the Decibel (dB) value - that's it.

Is there more to it? Can you point me in the correct direction?

I do not "want" (I have to mimic another software) to use so-called 1/3-Octave-Band Filter Banks like in this Matlab example.

Related

1/3 octave spectra from fft

• What is usually done for power spectrum analysis is to average a number of DFT bins that correspond to the desired frequency-dependent (e.g., 1/3 octave) bandwidth. You can check a related paper for more details. Things are not as simple if you want to smooth complex spectra, though. What do you want to achieve, i.e., what is your goal? Jan 28, 2018 at 4:20
• @applesoup Thanks for taking an interest in my question! I want to achieve a 1/3 octave analysis of a given sound signal. Since Matlab does not offer it out of the box I want to do it manually. The core of the question is basically how to average DFT bins correctly. I do evaluate not the power - I do evaluate the "signal" (voltage, air pressure). Jan 28, 2018 at 17:54
• Smoothing the complex spectrum requires more scrutiny than smoothing the (real-valued) power spectrum. This is because of the $2\pi$-periodicity of the phase. The paper mentioned in my first comment contains a thorough discussion of fractional-octave smoothing of complex- and real-valued spectra. While the mentioned paper is not freely available, this related technicl report is. Feb 1, 2018 at 10:14
• @applesoup Thanks. I will look into it! In the meantime, I found my biggest mistake and will provide a short answer. Feb 1, 2018 at 20:24

Dr. Manuel Kuehner, You are close. You need to take the square root of the linear values squared.

$$P_{\mbox{total_linear}}=\sqrt{p_1^2+p_2^2+...}$$

$$P_{\mbox{total_dB}}=20 log_{10}\left( P_{\mbox{total_linear/20E-6}} \right)$$

FYI: I wrote a MATLAB function to do exactly as you request. It is here

Looking to read? See page 16 of this book: https://www.amazon.com/Noise-Control-Engineers-Harold-Lord/dp/0070387389

• Thank you very much! Oct 15, 2019 at 19:35

I had a chat with an expert at work. My mistake is that I need to treat the different frequency bins from the DFT as so-called incoherent radiating sources.

In my example, in the question, I added them like coherent which is not correct.

• Why would you downvote it? I am obviously a beginner here. Feb 1, 2018 at 22:01

A useful reference is:

Fredric J. Harris, "High-resolution spectral analysis with arbitrary spectral centers and arbitrary spectral resolutions", Computers & Electrical Engineering, Volume 3, Issue 2, 1976, Pages 171-191, ISSN 0045-7906, https://doi.org/10.1016/0045-7906(76)90022-7. (http://www.sciencedirect.com/science/article/pii/0045790676900227)

Abstract: Spectral decomposition via banks of narrowband filters is a classic method of analyzing broadband acoustic signals. FFT algorithms and hardware efficiently perform narrowband analysis but are limited to constant bandwidths at fixed spectral center frequencies. We develop a technique for processing FFT outputs to realize banks of narrowband filters for which spectral band centers and spectral bandwidths may be arbitrarily assigned. In particular we present spectral analyzer configurations with spectral centers uniformily spaced on a logarithmic scale and with bandwidths proportional to center frequencies (constant Q filters) or with bandwidths proportional to the square root of center frequencies (root-proportional filters for linear FM line tracking).

another is:

F. Harris, Xiaofei Chen and E. Venosa, "An efficient FFT based spectrum analyzer for arbitrary center frequencies and arbitrary resolutions analysis", 2011 IEEE 12th International Workshop on Signal Processing Advances in Wireless Communications, San Francisco, CA, 2011, pp. 571-575. doi: 10.1109/SPAWC.2011.5990477

Abstract: In this paper we present an extremely efficient FFT based spectrum analyzer that performs constant-Q spectral analysis. Each stage of the proposed structure is formed of a half-band filter and a 2-to-1 down sampler. It shifts successive lower octaves to the same spectral interval; consequently, the same octave processor can be applied in all the stages. Fourier transforms are normally used for performing equally spaced, equal bandwidth spectral estimation; their main advantage is the efficiency of the FFT algorithm. In this paper, by post processing the output of the FFT block with a frequency sliding window having variable bandwidth, we are able to achieve spectral estimations at arbitrary center frequencies with arbitrary resolutions maintaining the advantages of using the FFT algorithm. To further decrease the total workload, a 4-path polyphase channelizer is used to down sample the octaves before processing them in the FFT block. keywords: {fast Fourier transforms;filtering theory;spectral analysers;4-path polyphase channelizer;FFT based spectrum analyzer;Fourier transforms;arbitrary center frequency;arbitrary resolutions analysis;constant-Q spectral analysis;half-band filter;octave processor;Bandwidth;Estimation;Filter banks;Finite impulse response filter;Frequency domain analysis;Frequency estimation;Frequency response;Spectral analysis;octave processing;polyphase down converter}, URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5990477&isnumber=5989975

• I took the liberty to modify the formatting - I hope that's ok with you. Jan 25, 2018 at 21:17