We have an implementation for overall (full spectrum) Ln which is basically:
1) Waveform->SVL Decimated Exponential Avg Sound Level.vi->Percentile function
This is produces expected results when compared to a reference implementation for a FAST (0.125s) time constant.
We are trying to produce this same functionality but discretely for each 1/3rd octave band. Our best attempt is:
2) Waveform->SVT Third Octave Analysis->Percentile function (for each octave band)
To mimic the first implementation, we break the waveform into chunks and run the octave analysis vi on them with (filter reset = false, restart averaging = true). The size of the chunks are chosen such that we get samples out of the analysis vi with the same time interval as 1). This implementation is giving quite a bit of error (~5dB) compared to our reference.
I believe the source of the error is with respect to differences in how time weighting is performed in the 2 implementations, because the error increases as we chop the waveform into smaller chunks.
Are there some other options in terms of how we implement this? We understand that it isn't valid to first time weight the signal and then perform linear octave analysis on it. Is there a way to access the filtered waveform from each filter bank such that we could take the approach from 1) above on each octave band's waveform?