Σ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 — для его отключения. Имя переменной следует адаптировать в соответствии с экспортированными файлами вашего проекта.