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:


Adding all DFT amplitudes within 100 Hz and 200 Hz in linear scale (Pascal in my case).
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
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