Рассчитать децибел от амплитуды - Android медиа рекордер
Как рассчитать децибел из maxAmplitude, я написал приложение для Android, чтобы получить maxAmplitude через регулярные промежутки времени, мне нужно показать о / р пользователю в децибелах.
2 ответа
Децибелы являются относительными единицами, они выражают мощность вашего сигнал относительно некоторой эталонной мощности.
Если вы работаете с амплитудами, то формула имеет вид:
power_db = 20 * log10(amp / amp_ref);
(См. http://en.wikipedia.org/wiki/Decibel).
Также обратите внимание, что максимальная амплитуда обычно не очень хороший показатель громкости (или даже мощности). Более типично, вы должны измерить среднеквадратичную мощность вашего сигнала и вместо этого преобразовать ее в дБ.
Обычные телефонные микрофоны не откалиброваны для измерения абсолютной громкости, поэтому без первоначальной калибровки телефона невозможно также использовать измеритель звука. Как упоминает Оли, вы можете рассчитать относительное изменение громкости, но я ожидаю, что вы захотите воспроизвести реальный измеритель уровня звука.