I am calculating Sound pressure level of a Pressure-Time signal. The number of samples per second is 9831.(dt = 0.0001017 sec) Totally 749 samples are collected for a simple example case.
I am using 512 FFT points for this example case,so the frequency starts from 19.2 Hz to 4877 Hz, and the dF = 19.2 Hz.
I want to calculate the SPL(sound pressure level) for 1/3 octave frequencies.
So I take the 10 band octave frequency range 1Hz, 1.25Hz, 1.6Hz, 2Hz, 2.5Hz, 3.15Hz, 4Hz, 5Hz, 6.3Hz, 8Hz, which is a multiple of 10 (ie. it goes next like 10Hz, 12.5Hz, 16Hz.....till 5000Hz)
Note this is Center frequency of a 1/3 octave band.
And each band has lower and upper frequencies ("fl" and "fu") as show below. the "freq" is calculated based on sampling rate, so it increments by 19.2. "i" represent the fft point number, note point 1 is 0Hz. "j" represent the fft band number, as the frequency increases the number of points inside the band increases.
i=2 j=13 fl= 17.82 freq= 19.2 fu= 22.27
i=3 j=16 fl= 35.64 freq= 38.4 fu= 44.54
i=4 j=18 fl= 56.13 freq= 57.61 fu= 71.27
i=5 j=19 fl= 71.27 freq= 76.81 fu= 89.09
i=6 j=20 fl= 89.09 freq= 96.01 fu= 111.4
i=7 j=21 fl= 111.4 freq= 115.2 fu= 142.5
i=8 j=21 fl= 111.4 freq= 134.4 fu= 142.5
i=9 j=22 fl= 142.5 freq= 153.6 fu= 178.2
i=10 j=22 fl= 142.5 freq= 172.8 fu= 178.2
i=11 j=23 fl= 178.2 freq= 192 fu= 222.7
i=12 j=23 fl= 178.2 freq= 211.2 fu= 222.7
i=13 j=24 fl= 222.7 freq= 230.4 fu= 280.6
i=14 j=24 fl= 222.7 freq= 249.6 fu= 280.6
i=15 j=24 fl= 222.7 freq= 268.8 fu= 280.6
i=16 j=25 fl= 280.6 freq= 288 fu= 356.4
i=17 j=25 fl= 280.6 freq= 307.2 fu= 356.4
i=18 j=25 fl= 280.6 freq= 326.4 fu= 356.4
i=19 j=25 fl= 280.6 freq= 345.6 fu= 356.4
i=20 j=26 fl= 356.4 freq= 364.8 fu= 445.4
So this causes my calculation of rms inside the lower octave bands to give bad results, as it does not have enough points inside bands (usually 1 or 2), as the frequency increases the averaging is better (for example in band "j"= 25 four points are used for rms calculation).
Is there any way I could improve the rms calculation by splitting the frequency range into two (low and high band) and apply different fft sampling size to include as much as points inside lower band frequencies( usually from 100Hz to 600Hz).
I also plan to use Hann window function to reduce leakage, should I apply before FFT or after FFT.
your suggestions are welcome.