我知道计算声压级 (db SPL) 是
20 * log10 (amplitude)
但我在这里不明白的是值的范围。在 16 位有符号 PCM 音频的情况下,最小值为 -90,最大值为 0:
[20 * log10 (1/32768)] to [20 * log10 (32768/32768)]
[-90] to [0]
但根据维基百科,0 是我们能听到的最低声音,194 db SPL 类似于冲击波声音。有人可以解释我在这里缺少什么吗?
谢谢
数字波形是模拟电信号的采样和量化表示。它只是以数字方式携带原始波形。虽然模拟电信号本身也不会被听到——它需要通过换能器(例如扬声器)转换成声波。扬声器产生的声压水平取决于扬声器和功率放大器的能力。由相同模拟电信号驱动的不同扬声器/放大器对会产生不同级别的声压。SPL 分贝测量此声压。
模拟电波形及其数字表示仅对信号的相对电平进行解码。而你计算出来的90dB范围称为信噪比(SNR),用无量纲dB表示,因为这是一个比率;见https://en.wikipedia.org/wiki/Signal-to-noise_ratio