Перейти к содержанию
    

Адаптивная регулировка громкости...

Доброго вечера!

Имеем звуковой излучатель, который излучает через ШИМ синусоидальные сигналы заданных частот через обычный маломощный динамик.

На плате излучателя стоит цифровой микрофон, который используется для адаптивной регулировки громкости, т.е. когда окружающая обстановка шумная, громкость сигнала становится выше и наоборот.

Микроконтроллер ATMega328. По документации заданы частоты в диапазоне 500 Гц, например 2000 Гц +/- 500 Гц. По требованиям нужно поддерживать некий минимальный уровень шума.

Возникает подозрение, что микроконтроллер регулирует не громкость, т.е. уровень заполнения ШИМ, а сдвигает частоту 2000 Гц в зависимости от уровня сигнала от микрофона.

Верно ли подозрение? И как это можно реализовать программно? Каков алгоритм?

Заранее, спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Позовите музыканта, он вам точно скажет, меняется ли высота тона или изменяется громкость сигнала. Ну это если вы сами не обладаете сколько-нибудь музыкальным слухом и не можете отличить изменение частоты звука от изменения его громкости.
Ну и да, при увеличении частоты звука в диапазоне 2 - 4 кГц ощущение громкости звука возрастает.

Чтобы увеличить громкость звука (любой частоты), нужно увеличить его амплитуду, то есть, амплитуду сигнала, уходящего на динамик. Если амплитуду сигнала получаете через модулирование ШИМ-ом, то увеличивайте диапазон изменения заполнения ЩИМ. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Sergo1799 сказал:

Возникает подозрение, что микроконтроллер регулирует не громкость, т.е. уровень заполнения ШИМ, а сдвигает частоту 2000 Гц в зависимости от уровня сигнала от микрофона.

Верно ли подозрение?

Взять осциллограф или анализатор спектра и посмотреть - не вариант? Это для слабых?  :wink:

1 час назад, Sergo1799 сказал:

По требованиям нужно поддерживать некий минимальный уровень шума.

:wacko2:  Так вы шум генерите и поддерживаете его уровень? Или всё-таки - синусоидальный сигнал? Уж определитесь....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 часов назад, Sergo1799 сказал:

нужно поддерживать некий минимальный уровень шума ... Каков алгоритм?

В паузах, измеряете в децибелах размах сигнала с микрофона, затем добавляете к нему, тоже в децибелах, требуемую константу громкости, и, когда поступает команда выдать сигнал, создаёте соответствующий ШИМ на динамике, а частоту обычно изменяют тоже по команде, т.е. вообще-то, всё перечисленное должно быть расписано в ТЗ — за отсебятину денег обычно либо не платят, либо наоборот берут.

Изменено пользователем Plain

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Plain said:

В паузах, измеряете в децибелах размах сигнала с микрофона, затем добавляете к нему, тоже в децибелах, требуемую константу громкости, и, когда поступает команда выдать сигнал, создаёте соответствующий ШИМ на динамике, а частоту обычно изменяют тоже по команде, т.е. вообще-то, всё перечисленное должно быть расписано в ТЗ — за отсебятину денег обычно либо не платят, либо наоборот берут.

 

Спасибо. Выдача ТЗ означает как минимум предоплата и/или договор, а наши заказчики очень не любят так работать. Поэтому нам приходится работать на авось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ТЗ должно быть даже если вы делаете бесплатно в подарок. ТЗ - это Техническое Задание, то, без чего не сделаешь и лопату.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, Sergo1799 сказал:

Поэтому нам приходится работать на авось.

Сначала надо понять для чего - для человека или для машины? Если для человека, то есть усредненные характеристики чувствительности уха для разной громкости https://ru.wikipedia.org/wiki/Психоакустика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

есть понятие регулятор с разомкнутой обратной связью. на практике это означает таблицу :  если видим то то - регулируемое значение такое то. как выше указали можно брать уровень с микрофона при отсутствии генерации и ориентируясь по нему выставлять уровень. лучше делать так иначе вы сталкиваетесь с регулятором и его настройкой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...