ΣSigmaStudio English

Задержка


Блок Delay выводит задержанную версию входного сигнала. Входной сигнал задерживается на количество сэмплов, указанное в числовом текстовом поле Cur. Верхнее раскрывающееся меню с надписью Max представляет максимальную величину задержки, которая может быть применена к входному сигналу. Если вы выберете новое значение Max в раскрывающемся меню, вам придется перекомпилировать программу.

Максимальная задержка, доступная для конкретного блока задержки, зависит от общего объема доступной системной памяти данных (data RAM), который указан в техническом описании процессора DSP. Установка значения элемента управления Max выделяет память на DSP, резервируя эту память для использования только данным конкретным блоком и уменьшая доступную память для всех остальных блоков задержки в проекте. Это директива компилятора, которая изменяет ассемблерный код, поэтому при любом изменении настройки Max необходимо перекомпилировать и загрузить программу. Диапазон максимального значения задержки ограничен оставшейся нераспределенной памятью RAM.

Существует две версии алгоритма «Delay».

  1. Задержка (вещественные сигналы)
  2. Задержка (комплексные сигналы)

Задержка (вещественные сигналы)

Задерживает входные сэмплы во временной области на величину текущей задержки. Размер буфера задержки равен максимальной задержке. Задержка (вещественные сигналы)

Задержка (комплексные сигналы)

Задерживает входные сэмплы в частотной области на величину текущей задержки. Это блочно-ориентированный модуль. Размер буфера задержки равен Max delay * 2 + BlockSize *2. Задержка (комплексные сигналы)

Входные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Complex Input complex audio Входной комплексный сигнал

Выходные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Complex Delayed Output complex audioВыходной комплексный сигнал

Элементы управления GUI

GUI Control NameDefault ValueRangeFunction Description
Max1 1 - (Depends on Size of the Memory available)Этот элемент управления задает максимальную задержку, поддерживаемую для данного экземпляра, в сэмплах (32-битное слово). Изменение этого значения требует перекомпиляции
Cur0 1 - MaxТекущее значение задержки

Алгоритм Grow and Add

Входные и выходные пины могут быть расширены до 16 каналов вместе. Поддерживается добавление алгоритма и множественные экземпляры модуля.

Информация о параметрах DSP

GUI Control NameCompiler NameFunction Description
Cur ComplexDelayBlkAlg1delayТекущее значение задержки в байтах. (Cur * 4)


Здесь,

  • Зеленый - Имя алгоритма
  • Красный - Номер экземпляра (изменяется для каждого экземпляра)
  • Синий - Имя параметра

Поддерживаемые DSP

ADAU145x

Пример использования

Задержка входных сэмплов в частотной области вызывает сдвиг высоты тона (pitch shift) входного сигнала. Пример использования

Delay в SigmaStudio: настройка и параметры

Блок Delay — это элемент библиотеки Basic DSP в среде SigmaStudio, предназначенный для задержки аудиосигнала на заданное количество сэмплов. Он доступен в двух версиях: для вещественных сигналов во временной области и для комплексных сигналов в частотной области. Второй вариант является блочно-ориентированным модулем и может использоваться для создания эффекта сдвига высоты тона (pitch shift) при обработке спектральных данных. Принцип работы блока основан на буферизации входных отсчётов. Верхний выпадающий список Max определяет максимальную задержку для конкретного экземпляра, а числовое поле Cur задаёт текущую величину задержки в сэмплах. Важно понимать, что установка значения Max резервирует память данных (data RAM) процессора под этот блок, уменьшая доступный объём для других элементов проекта. Поскольку это директива компилятора, изменяющая ассемблерный код, после смены Max требуется перекомпиляция и повторная загрузка программы. Для настройки в проекте SigmaStudio следует сначала выбрать Max, исходя из доступной памяти DSP и необходимого диапазона регулировки. Диапазон допустимых значений ограничен оставшейся нераспределённой RAM. Затем задаётся текущее значение Cur в диапазоне от 1 до Max. В версии для комплексных сигналов размер буфера вычисляется как Max delay * 2 + BlockSize * 2, что стоит учитывать при планировании ресурсов. Входные и выходные пины поддерживают расширение до 16 каналов, а также допускается использование нескольких экземпляров алгоритма.