The following document provides extensive information on how the third octave calculations are performed:
Third Octave Analysis Toolkit
Additionally, the VI performs the third octave calculations in accordance with the IEC 1260:1995 and ANSI S1.11-2004 standards.
Looks like I've been doing my calculations wrong. I dun goofed with the linear (Pa) vs exponential (dB) summation. In my original code, I had the "SVFA Power Spectrum" VI's signal "dB On" set to True, meaning any value coming out would be in the dB scale. I then performed an RMS calculation on the values that fell within the 3rd octave spectrum. So where I goofed was that I am adding exponential values (dB) together when I should be adding the linear values (Pa) together. I set dB On to False (meaning I'm in linear values) and then summed my the spectral lines that were in the third octave bandwidths and convert that value to dB. Hopefully that made sense.
Anyways, attached is screenshot with the modified code for the Forum-third-octave-FFT-based.vi. Again, hope this made sense.
Is the Third-Octave Analysis Toolkit that you have linked the same code that is used for the Sound and Vibe Toolkit's (SVT) third octave analysis? From what I can tell, the Third-Octave Analysis Toolkit describes the third octave analysis via the frequency domain. However, I think the SVT does analysis for third-octave info in the time domain due to the time constant you can set via the third octave VI's in the SVT.
That appears correct, the link I listed was for an older archived toolkit and doesn't mention the time constant information.
Thank you for providing the in-depth explanation of the steps you took to resolve the issue.
I still may be wrong with my calculations though. I was looking at the Sound and Vibe user manual and the calculation for spectrum power ∑ Power Spectrum FFT/ENBW from start frequency to stop frequency. In other words, sum up all the spectral lines for the bandwidth you care about then divide by the ENBW (Equivalent Noise Band Width), which is a value based on the windowing function you use. The Power Spectrum FFT should be in linear units, not engineering units.
Side note, Power in Band VI can also do this. Just put in a 1D array of clusters through a for loop. The cluster is 2 elements long where the 1st element is the low cut off frequency and the 2nd element is the high cut off frequency. Use that to cycle through all the elements with your signal and spectrum info from the SVT FFT power function, and BAM, you got basically exactly what I was looking for with a whole lot less hassle.