Доброго вечера!
Имеем звуковой излучатель, который излучает через ШИМ синусоидальные сигналы заданных частот через обычный маломощный динамик.
На плате излучателя стоит цифровой микрофон, который используется для адаптивной регулировки громкости, т.е. когда окружающая обстановка шумная, громкость сигнала становится выше и наоборот.
Микроконтроллер ATMega328. По документации заданы частоты в диапазоне 500 Гц, например 2000 Гц +/- 500 Гц. По требованиям нужно поддерживать некий минимальный уровень шума.
Возникает подозрение, что микроконтроллер регулирует не громкость, т.е. уровень заполнения ШИМ, а сдвигает частоту 2000 Гц в зависимости от уровня сигнала от микрофона.
Верно ли подозрение? И как это можно реализовать программно? Каков алгоритм?
Заранее, спасибо.