我正在计算压力时间信号的声压级。每秒的样本数为 9831。(dt = 0.0001017 秒)对于一个简单的示例案例,总共收集了 749 个样本。
我在这个例子中使用了 512 个 FFT 点,所以频率从 19.2 Hz 到 4877 Hz,dF = 19.2 Hz。
我想计算 1/3 倍频程的 SPL(声压级)。
所以我采用 10 频带倍频程频率范围 1Hz、1.25Hz、1.6Hz、2Hz、2.5Hz、3.15Hz、4Hz、5Hz、6.3Hz、8Hz,这是 10 的倍数(即接下来是 10Hz、12.5赫兹,16赫兹.....直到5000赫兹)
请注意,这是 1/3 倍频程频带的中心频率。
每个频段都有较低和较高的频率(“fl”和“fu”),如下所示。“频率”是根据采样率计算的,因此它以 19.2 递增。“i”代表fft点号,注意点1为0Hz。“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
因此,这导致我在较低倍频程频带内的 rms 计算给出了不好的结果,因为它在频带内没有足够的点(通常为 1 或 2),随着频率的增加,平均更好(例如在频带“j”= 25 四个点用于 rms 计算)。
有没有什么办法可以通过将频率范围分成两个(低频段和高频段)并应用不同的 fft 采样大小以包括尽可能多的低频段频率(通常从 100Hz 到 600Hz)内的点来改进 rms 计算。
我还计划使用 Hann 窗函数来减少泄漏,我应该在 FFT 之前还是在 FFT 之后应用。
欢迎您提出建议。