Среднее значение уровня сигнала

Модератор: boogyman

Ответить
Аватара пользователя
EvgenyVK
Новичок
Сообщения: 6
Зарегистрирован: 10 июл 2014, 20:17

Среднее значение уровня сигнала

#1

Сообщение EvgenyVK »

Уважаемые форумчане!
Требуется ваша помощь в написании куска кода в CVAVR для индикатора уровня аудиосигнала на ATmega16. Индикатор отображает уровень VU (время интеграции и время спада 300 мс) на линейке из 24 светодиодов на канал. Есть необходимость вывести среднее значение (AVG VU) на семисегментный индикатор. Какой правильно использовать при этом алгоритм вычисления этого самого AVG VU? Если использовать среднеарифметический результат для вывода на индикатор, то возникают 2 противоречия - с одной стороны надо как можно чаще вычислять это самое среднее значение, с другой стороны слишком частое вычисление приводит к быстрой смене цифр на индикаторе, что делает невозможным считывание показаний. Если делать вычисления каждые 500-600 мс и при этом подавать сигнал, у которого меняется амплитуда от мин до макс с частотой 1 Гц, индикатор выводит полную ахинею - сильное запаздывание показаний (например, уровень дошел до +3дБ, а индикатор показывает -18, или уровень -10дБ, а на индикаторе +5).Может быть существует какой-нибудь простой алгоритм (я не силен в высшей математике, увы), который бы позволял найти некий компромисс этими противоречиями?
Ответить