Я рассчитываю уровень звукового давления сигнала давления-времени. Количество выборок в секунду составляет 9831. (dt = 0,0001017 с) Всего для простого примера собирается 749 выборок.
В этом примере я использую 512 точек БПФ, поэтому частота начинается с 19,2 Гц до 4877 Гц, а dF = 19,2 Гц.
Я хочу рассчитать SPL (уровень звукового давления) для частот 1/3 октавы.
Итак, я беру 10-полосный октавный частотный диапазон 1 Гц, 1,25 Гц, 1,6 Гц, 2 Гц, 2,5 Гц, 3,15 Гц, 4 Гц, 5 Гц, 6,3 Гц, 8 Гц, который кратен 10 (т. Е. Далее идет как 10 Гц, 12,5 Гц, 16 Гц ..... до 5000 Гц)
Обратите внимание, что это центральная частота 1/3 октавной полосы.
И каждая полоса имеет нижнюю и верхнюю частоты («fl» и «fu»), как показано ниже. "freq" рассчитывается на основе частоты дискретизации, поэтому она увеличивается на 19,2. «i» представляет номер точки fft, примечание точка 1 - 0 Гц. «j» представляет номер полосы fft, поскольку частота увеличивается, количество точек внутри полосы увеличивается.
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
Это приводит к тому, что мой расчет среднеквадратичных значений внутри нижних октавных полос дает плохие результаты, так как в нем недостаточно точек внутри полос (обычно 1 или 2), поскольку по мере увеличения частоты усреднение лучше (например, в полосе "j" = 25 используются четыре точки для расчета среднеквадратичного значения).
Есть ли способ улучшить расчет среднеквадратичного значения, разделив частотный диапазон на два (нижний и верхний диапазоны) и применив другой размер дискретизации fft, чтобы включить столько точек внутри частот нижнего диапазона (обычно от 100 Гц до 600 Гц).
Я также планирую использовать оконную функцию Ханна, чтобы уменьшить утечку, следует ли применять до FFT или после FFT.
Ваши предложения приветствуются.