Реверсивная АРУ основана на принципе плавного занижения амплитуды сигнала до "броска"
Как такое может быть? Как мы можем узнать что "будет в будущем"?
Да, мы не можем смотреть в будущие , зато в наших силах задержать сигнал на несколько мс , что никак не скажется на восприятие звука. Человек никак не сможет уловить такую задержку. А мы успеем обработать за это время все, что захотим т сразу выбросить в цап результат. Причем, даже если мы ничего не будем делать, то задержка все равно останется, блок просто будет ждать свой очереди для отправки в цап.
Вот (1) входной сигнал "броска" на входе АЦП. Обычная АРУ (оглайн ару) как только дойдет до первой точки начала броска (амплитуда будет выше заданного максимума) на этом синусе сразу начнет пересчет коэфф для нормализации (стандартная реакция), но (!) как только придет следующий замер больше предыдущего, то проц опять пересчитает коэфф. Но проблема в том, что это будет второй замер с той же амплитудой (!)- то есть меандр, который даст кучу гармоник, или "кряк" в наушниках. В этом и есть проблемы всех АРУ включая аналоговые - они крякают. Что делать? Я потратил несколько месяцев на решение этой проблемы и решение весьма простым оказалось
нужно просто пройтись по блоку в реверсе и плавно снизить амплитуды ацп до приемлемой, перед началом броска. Просто!!!
Работает - огонь! Может работать на ультразвуке (17 кГц) или НЧ - без разницы. Мы фактически снижаем громкость перед самым броском. По скорости - это 10-ки мкс и на слух никак не слышно. Единственное место в котором эта схема не заработала - это компрессор на передачу. Там ну никак не вяжется намеренное снижение динамики с сохранением качественного сигнала ))) . В ТХ и включенном компрессоре система реверсивной АРУ выключена.
На рис (3) как раз видно что происходит с сигналом после обработки АРУ.