ΣSigmaStudio English

Целевая RAM-память плавного изменения (Target Slew Ram)

Целевая RAM-память плавного изменения (Target/Slew RAM) — это аппаратно-оптимизированная функция, которая позволяет плавно изменять уровень громкости или другие параметры до последующих уровней без слышимых щелчков и помех (clicks/pops).

В аудиосистемах резкие изменения положения громкости или других параметров вызывают непредсказуемые шумы. См. пример схемы ниже, показывающий возможные изменения в реальном времени, которые могут вызывать щелчки/помехи:
Целевая RAM-память плавного изменения (Target Slew Ram)

Этот шум возникает из-за масштабирования аудиосигнала ступенчатой функцией, что вызывает нежелательную реакцию. Ступенчатая функция содержит импульс (дельта-функцию Дирака d(k)). Можно показать, что импульс d(k) является ограниченным по частоте белым шумом. Этот шум нежелателен во всех аудиоприложениях. См. ниже графическое представление этого шума сигнала, вызванного ступенчатой функцией:
Целевая RAM-память плавного изменения (Target Slew Ram)

Существует несколько возможных решений для рассмотрения этой проблемы шума:

  • Мы можем непрерывно записывать увеличивающееся значение в DSP, пока не достигнем желаемого значения. Проблемы:
    • Требует интенсивного использования микроконтроллера
    • Сложно реализовать из-за временных ограничений и формы кривой изменения.
  • Мы можем использовать целевую RAM-память плавного изменения (target/slew RAM) для автоматического выполнения требуемого плавного изменения одной простой командой без необходимости отключать звук DSP. Результат показан ниже:


Целевая RAM-память плавного изменения (Target Slew Ram)

Блоки управления громкостью и мультиплексоры (mux) SigmaStudio используют RAM плавного изменения (slew RAM) для чистого изменения громкости с одного уровня на другой. Таким образом, для всех ячеек управления громкостью у вас есть возможность использовать целевую RAM-память плавного изменения (target/slew RAM) в качестве алгоритма для предотвращения шума, присущего переключению уровней.

Существует 4 типа кривой (slope), которые можно использовать с целевой RAM-памятью плавного изменения (target/slew RAM):

  • Линейная (Linear) — фиксированный размер шага.
  • Постоянная в дБ (Constant dB) — использует мгновенное значение плавного изменения для расчета следующего размера шага. В дБ она постоянна как при увеличении, так и при уменьшении.
  • RC-типа (RC-type) — использует разницу между целевым и текущим значениями для расчета размера шага.
  • Постоянная (Constant) — значения изменяются линейно за фиксированное количество шагов.

Подробности см. на странице «Алгоритмы управления громкостью AD1940/1941».
Целевая RAM-память плавного изменения (Target Slew Ram)

Хотя целевая RAM-память плавного изменения (target/slew RAM) полезна для устранения нежелательного шума, у нее есть некоторые недостатки:

  • Мы вынуждены записывать значения, используя регистры безопасной загрузки (safeload registers).
  • Мы не можем считывать данные из целевой RAM-памяти плавного изменения (target/slew RAM) для проверки записанного значения.
  • Мы можем реализовать эту функциональность в программном обеспечении, хотя это может занять дефицитную программную RAM (MIPS) и не будет оптимизировано.
  • Ограниченное количество: в настоящее время AD1940 имеет 64 ячейки целевой RAM-памяти плавного изменения (target/slew RAM), которые следует использовать только тогда, когда параметр или набор параметров будет изменяться во время выполнения в конечном приложении.