15 #include "avr_helper.h" 27 TCCR2 = TIMER_CLK_DIV_1 | _BV(WGM20) | _BV(WGM21) | _BV(COM21);
36 static void set_gain(uint8_t v){
47 static float integral = 0.0;
62 integral += 0.1*error;
63 if(integral < 0) integral = 0;
64 if(integral > 10000.0) integral = 10000.0;
66 float v = error * 0.05 + integral * 0.008;
#define OC2_PIN
Выход ОС2.
#define OC2_PORT
Символ порта, который используется для регулировки чувствительности - выход ШИМ OC2.
#define MAX_LEVEL
фиксированное количество уровней регулирования чувствительности
#define DEF_SILENCE_LVL
Предел уровня громкости, считающийся тишиной
volume_t average_vol
средняя громкость
uint8_t sensitivity
уровень регулировки чувствительности
#define GAIN_DIV
Задержка автоматического регулятора
структура параметров звукового сигнала
Описания для модуля реализации спектрального анализа
#define AGC_NORMAL_LVL
Нормальный средний уровень сигнала
Аппаратно-зависимые определения
uint8_t agc_enabled
АРУ включено
volume_t peak_volume
пиковая громкость
void sens_control(signal_t *s)
Регулировка чувствительности
Модуль управления усилением