Рассчитать децибел от амплитуды - Android медиа рекордер

Как рассчитать децибел из maxAmplitude, я написал приложение для Android, чтобы получить maxAmplitude через регулярные промежутки времени, мне нужно показать о / р пользователю в децибелах.

2 ответа

Решение

Децибелы являются относительными единицами, они выражают мощность вашего сигнал относительно некоторой эталонной мощности.

Если вы работаете с амплитудами, то формула имеет вид:

power_db = 20 * log10(amp / amp_ref);

(См. http://en.wikipedia.org/wiki/Decibel).

Также обратите внимание, что максимальная амплитуда обычно не очень хороший показатель громкости (или даже мощности). Более типично, вы должны измерить среднеквадратичную мощность вашего сигнала и вместо этого преобразовать ее в дБ.

Обычные телефонные микрофоны не откалиброваны для измерения абсолютной громкости, поэтому без первоначальной калибровки телефона невозможно также использовать измеритель звука. Как упоминает Оли, вы можете рассчитать относительное изменение громкости, но я ожидаю, что вы захотите воспроизвести реальный измеритель уровня звука.

Другие вопросы по тегам