ΣSigmaStudio Спросить ИИ English Войти

Mute

Когда блок Mute включен, он «заглушает» входной сигнал, так что на выходе нет сигнала (постоянный сигнал со значением 0.0). Это полезно при включении или выключении питания, а также при переключении программного потока.mute.jpg

Включение/отключение режима Mute: Установите или снимите флажок; сигнал заглушается, когда флажок установлен.

Блок Mute доступен в виде алгоритма Slew или Non-Slew. Версия алгоритма Slew плавно изменяет усиление до целевого значения, устраняя щелчки и помехи, но требует больше системных ресурсов.

Алгоритмы:

  • No Slew (Standard) - Алгоритм Mute по умолчанию — это алгоритм типа «no slew», который заглушает сигнал немедленно при включении, без плавного изменения усиления. Этот алгоритм требует меньше ресурсов, чем алгоритмы slew, но может приводить к разрывам сигнала (щелчкам и помехам) при переключении в реальном времени.
  • HW (RCtype Slew) - Процессоры AD1940 / 1941 поддерживают управление Mute с использованием аппаратного обеспечения target/slew RAM для плавного перехода (slew) от усиления 0dB к режиму Mute.
  • SW (RCtype Slew) - Алгоритм типа Slew, который плавно переходит от усиления 0dB к режиму Mute и обратно от режима Mute к усилению 0dB. Этот алгоритм Slew реализован в программном обеспечении («SW») и, следовательно, требует больше инструкций, чем алгоритм No Slew.


Этот блок поддерживает как алгоритм Grow Algorithm (добавляет дополнительные входы и выходы), так и алгоритм Add Algorithm (добавляет независимый алгоритм Mute, а также связанные с ним входы и выходы).

Управление режимом Mute с микроконтроллера

Ниже предполагается, что у вас есть работающая платформа микроконтроллера с кодом интерфейса SigmaDSP, основанным на Interfacing SigmaDSP Processors with a Microcontroller.

В процессорах SigmaDSP функция Mute реализована как усиление. Когда флажок установлен (Mute Enabled), DSP умножает входной сигнал на 0. Это дает 0 на выходе. Когда флажок снят (Mute Disabled), DSP умножает входной сигнал на 1, позволяя входному сигналу проходить на выход.

Чтобы установить алгоритм в режим Mute, запишите 0 в адрес MuteOnOff. Чтобы отключить режим Mute на выходе, запишите 1 в адрес MuteOnOff.

Как обычно, измените имя переменной MOD_MUTE1_ALG0_MUTEONOFF_ADDR в соответствии с вашими экспортированными файлами.

Чтение значений Mute из SigmaDSP

Значения Mute хранятся в десятичном формате (8.24 или 5.23), поэтому для получения текущего значения используйте функцию SIGMA_READ_REGISTER_FLOAT.

double mute_state = SIGMA_READ_REGISTER_FLOAT(MOD_MUTE1_ALG0_MUTEONOFF_ADDR);
if (mute_state == 1) {
 Serial.println("System is Unmuted");
}
else if (mute_state == 0) {
 Serial.println("System is Muted");
}
else {
 Serial.println("Mute value is not 0 or 1");
}

Запись значений Mute в SigmaDSP

Чтобы заглушить выходной сигнал:

SIGMA_WRITE_REGISTER_FLOAT(MOD_MUTE1_ALG0_MUTEONOFF_ADDR, 0);

Чтобы отключить режим Mute на выходе:

SIGMA_WRITE_REGISTER_FLOAT(MOD_MUTE1_ALG0_MUTEONOFF_ADDR, 1);

Controlling Mute from a Microcontroller в SigmaStudio: настройка и параметры

Блок Mute в среде SigmaStudio предназначен для полного «заглушения» входного сигнала, при котором выходной сигнал устанавливается на постоянное значение 0.0. Это критически важная функция при включении или выключении питания устройства, а также при переключении программного потока в реальном времени, позволяющая избежать нежелательных артефактов в аудиотракте. В зависимости от требований к системе, блок доступен в двух основных вариантах: No Slew (Standard) и Slew. Алгоритм No Slew заглушает сигнал мгновенно при установке флажка, что требует минимальных вычислительных ресурсов процессора SigmaDSP, однако может приводить к щелчкам и помехам при переключении. Версия Slew, в свою очередь, плавно изменяет усиление до целевого значения, устраняя переходные шумы, но потребляет больше инструкций. Для процессоров AD1940/1941 доступна аппаратная реализация HW (RCtype Slew), использующая target/slew RAM, а также программная SW (RCtype Slew), которая обеспечивает симметричный плавный переход от 0dB к Mute и обратно. Управление режимом Mute с микроконтроллера осуществляется через запись значения в адрес MuteOnOff. В процессорах SigmaDSP функция реализована как умножение входного сигнала на 0 (при включении) или на 1 (при отключении). Для программного управления необходимо записать 0 в адрес MOD_MUTE1_ALG0_MUTEONOFF_ADDR для включения режима Mute и 1 — для его отключения. Имя переменной следует адаптировать в соответствии с экспортированными файлами вашего проекта.