Задержка

Задержите дискретное время, введенное конкретным количеством выборок или кадров

Совместимость

Примечание

Блок Delay от библиотеки dspsigops был заменен блоком Delay от библиотеки Discrete в Simulink®. Существующие экземпляры блока dspsigops Delay будут заменены блоком Simulink Delay, когда будет точное совпадение в функциональности между двумя блоками. Для новых моделей используйте блок Delay от библиотеки Discrete в Simulink.

Библиотека

Операции сигнала

dspsigops

Описание

Блок Delay задерживает дискретное время, введенное количеством выборок, или структурирует заданный в параметрах Delay и Delay units. Значение Delay должно быть целочисленным значением, больше, чем или равный нулю. При вводе значение нуля для параметра Delay, любые начальные условия, которые вы можете ввести, не имеют никакого эффекта на вывод.

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

Основанная на кадре обработка

Когда вы устанавливаете параметр Input processing на Columns as channels (frame based), блок обрабатывает каждый столбец M-by-N входная матрица как независимый канал. Блок задерживает каждый канал входа, как задано параметром Delay.

Параметр Delay может быть скалярным целым числом, которым блок одинаково задерживает все каналы или вектор, длина которого равна количеству каналов.

Существует четыре различных варианта для начальных условий. Начальные условия могут быть тем же самым или отличающийся для каждого канала. Они могут также быть постоянными или переменными вдоль каждого канала. Смотрите раздел Frame-Based Processing Examples для получения дополнительной информации.

Основанная на выборке обработка

Когда вы устанавливаете параметр Input processing на Elements as channels (sample based), блок обрабатывает каждый элемент входного массива N-D как независимый канал. Таким образом общее количество каналов во входе равно продукту входных размерностей. Размерность вывода совпадает с размерностью входа.

Параметр Delay может быть скалярным целым числом, которым одинаково можно задержать все каналы или массив N-D тех же размерностей как входной массив, содержа неотрицательные целые числа, которые задают количество демонстрационных интервалов, чтобы задержать каждый канал входа.

Существует четыре различных варианта для начальных условий. Начальные условия могут быть тем же самым или отличающийся для каждого канала. Они могут также быть тем же самым или отличающийся в канале. Смотрите раздел Sample-Based Processing Examples для получения дополнительной информации.

Сброс задержки

Блок Delay сбрасывает задержку каждый раз, когда это обнаруживает событие сброса в дополнительном порте Rst. Шаг расчета сброса должен быть положительным целочисленным кратным входной шаг расчета.

Событие сброса задано параметром Reset port и может быть одним из следующего:

  • None отключает порт Rst.

  • Rising edge инициировал операцию сброса, когда вход Rst выполняет одно из следующих действий:

    • Повышения от отрицательной величины до положительного значения или нуля

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

  • Falling edge инициировал операцию сброса, когда вход Rst выполняет одно из следующих действий:

    • Падения от положительного значения до отрицательной величины или нуля

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

  • Either edge инициировал операцию сброса, когда входом Rst является Rising edge или Falling edge (как описано ранее).

  • Non-zero sample инициировал операцию сброса в каждом шаге расчета, что вход Rst не является нулем.

Примечание

Когда рабочие симуляции в Многозадачном режиме Simulink, сигналы сброса имеют задержку с одной выборкой. Поэтому, когда блок обнаруживает событие сброса, существует задержка с одной выборкой при скорости порта сброса, прежде чем блок применит сброс. Для получения дополнительной информации о задержке и режимах управления задачами Simulink, смотрите Избыточную Алгоритмическую Задержку (Определяющий задачу для Задержки) и Основанное на времени Планирование и Генерация кода (Simulink Coder).

Этот блок поддерживает Simulink виртуальные шины.

Примеры

Основанные на кадре примеры обработки

Существует четыре различных варианта для начальных условий. Начальные условия могут быть тем же самым или отличающийся для каждого канала. Они могут также быть постоянными или переменными вдоль каждого канала. Следующие разделы описывают поведение блока для каждого из этих четырех случаев:

Случай 1 — использует те же начальные условия для каждого канала и в канале

Введите скалярное значение для начальных условий. Это значение используется в качестве постоянного начального значения условия для каждого из каналов.

Например, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Columns as channels (frame based).

[111222333],[444555666],[777888999],...

Вы хотите начальные условия своего сигнала с тремя каналами быть идентичными и нуль для первого кадра:

  1. Установите параметр Delay (frames) на 1.

  2. Очистите Specify different initial conditions for each channel и флажки Specify different initial conditions within a channel.

  3. Установите параметр Initial conditions на скалярное значение 0.

    Вывод блока задержки

    [000000000],[111222333],[444555666],[777888999],...

    0, скалярное начальное значение условия, используется через каналы и в каналах для первого кадра. Этим кадром является вывод в нуле шага расчета.

Случай 2 — использует различные начальные условия для каждого канала и те же начальные условия в канале

Начальные условия должны быть вектором длины N, где N ≥ 1. N также равен количеству каналов в вашем сигнале. Эти начальные значения условия используются в качестве постоянного начального значения условия для каждого из каналов.

Например, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Columns as channels (frame based).

[111222333],[444555666],[777888999],...

Вы хотите начальные условия своего сигнала с тремя каналами быть [0 10 20] для первого кадра:

  1. Установите параметр Delay (frames) на 1.

  2. Установите флажок Specify different initial conditions for each channel.

  3. Снимите флажок Specify different initial conditions within a channel.

  4. Установите параметр Initial conditions на [0 10 20].

    Вывод блока задержки

    [010200102001020],[111222333],[444555666],[777888999],...

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

Случай 3 — использует те же начальные условия для каждого канала и различные начальные условия в канале

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

Введите начальные условия как вектор. Эти значения используются в качестве начального значения условия вдоль каждого из каналов, которые будут задержаны. Начальный вектор условия должен иметь длину, равную значению параметра Delay (frames), умноженного на длину кадра. Например, если вы хотите задержать свой сигнал двумя кадрами с длиной кадра два и начальное значение условия 3, введите свой начальный вектор условия как [3 3 3 3].

Например, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Columns as channels (frame based).

[111222333],[444555666],[777888999],...

Вы хотите начальные условия своего сигнала с тремя каналами быть тем же самым вдоль каждого из каналов, которые будут задержаны:

  1. Установите параметр Delay (frame) на 1.

  2. Снимите флажок Specify different initial conditions for each channel.

  3. Установите флажок Specify different initial conditions within a channel.

  4. Установите параметр Initial conditions на [10 20 30].

    Вывод блока задержки

    [101010202020303030],[111222333],[444555666],[777888999],...

    Начальный вектор условия задает начальные значения условия в каждом из трех каналов. Те же начальные условия используются для каждого канала, но различные начальные значения условия используются с каналом.

Случай 4 — использует различные начальные условия для каждого канала и в канале

Введите массив ячеек для своих начальных значений условия. Или, когда у вас есть скалярное значение задержки, можно ввести начальные условия как матрицу.

Например, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Columns as channels (frame based).

[111222333],[444555666],[777888999],...

Вы хотите начальные условия своего сигнала с тремя каналами отличаться для каждого канала и вдоль каждого канала.

  1. Установите параметр Delay (frames) на 1.

  2. Выберите Specify different initial conditions for each channel и флажки Specify different initial conditions within a channel.

  3. Установите параметр Initial conditions или на [10 20 30; 40 50 60; 70 80 90] или на {[10 40 70];[20 50 80];[30 60 90]}. Каждая ячейка массива ячеек представляет задержку вдоль одного канала.

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

    [102030405060708090],[111222333],[444555666],[777888999]...

    Начальной матрицей условия является вывод в нуле шага расчета. Элементы начального массива ячеек условия задают начальные значения условия в каждом канале. Первый элемент, вектор, представляет начальные условия в канале 1. Второй элемент, вектор, представляет начальные условия в канале 2 и так далее. Различные начальные условия используются для каждого канала и в каналах.

Основанные на выборке примеры обработки

Существует четыре различных варианта для начальных условий. Начальные условия могут быть тем же самым или отличающийся для каждого канала. Они могут также быть тем же самым или отличающийся вдоль каждого канала. Следующие разделы описывают поведение блока для каждого из этих четырех случаев:

Случай 1 — использует те же начальные условия для каждого канала и в канале

Введите скалярное значение для начальных условий. Это значение используется в качестве постоянного начального значения условия для каждого из каналов.

Например, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Elements as channels (sample based).

[1111],[2222],[3333],...

Вы хотите начальные условия своего сигнала с четырьмя каналами быть идентичными и нуль для первых двух выборок:

  1. Установите параметр Delay (samples) на 2.

  2. Снимите флажки Specify different initial conditions for each channel и Specify different initial conditions within a channel.

  3. Установите параметр Initial conditions на скалярное значение 0.

    Вывод блока задержки

    [0000],[0000],[1111],[2222],[3333],

    0, скалярное начальное значение условия, используется для каждого канала и в каналах. Это - вывод в нуле шага расчета и шаге расчета один.

Случай 2 — использует различные начальные условия для каждого канала и те же начальные условия в канале

Начальные условия должны быть массивом N-D для входа N-D. Начальные условия должны иметь те же размерности как входные данные. Эти начальные значения условия используются в качестве постоянного начального значения условия для каждого из каналов.

Например, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Elements as channels (sample based).

[1111],[2222],[3333],...

Вы хотите начальные условия своего сигнала с четырьмя каналами быть

[791113]

для первых двух выборок:

  1. Установите параметр Delay (samples) на 2.

  2. Установите флажок Specify different initial conditions for each channel.

  3. Снимите флажок Specify different initial conditions within a channel.

  4. Установите параметр Initial conditions на [7 9; 11 13].

    Вывод блока задержки

    [791113],[791113],[1111],[2222],[3333],...

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

Случай 3 — использует те же начальные условия для каждого канала и различные начальные условия в канале

В этом случае, для основанных на выборке входных параметров N-D, параметр начальных условий должен быть вектором, длина которого равна значению задержки, заданному параметром Delay. Значения в этом векторе используются в качестве начальных значений условия вдоль каждого из каналов, которые будут задержаны.

Например, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Elements as channels (sample based).

[1111],[2222],[3333],...

Вы хотите начальные условия своих четырех сигналов канала быть тем же самым вдоль каждого из каналов, которые будут задержаны:

  1. Установите параметр Delay (samples) на 2.

  2. Снимите флажок Specify different initial conditions for each channel.

  3. Установите флажок Specify different initial conditions within a channel.

  4. Установите параметр Initial conditions на [10 20].

    Вывод блока задержки

    [10101010],[20202020],[1111],[2222],[3333],...

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

Случай 4 — использует различные начальные условия для каждого канала и в канале

Введите массив ячеек для своих начальных значений условия. Массив ячеек должен быть одного размера как ваш входной сигнал. Каждая ячейка массива ячеек представляет значения задержки для одного канала и должна быть вектором размера, равного значению задержки. Если у вас есть векторный или скалярный вход и скалярное значение задержки, можно ввести начальные условия как матрицу.

Например, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Elements as channels (sample based).

[11],[22],[33],

Вы хотите начальные условия своих двух сигналов канала отличаться для каждого канала и вдоль каждого канала:

  1. Установите параметр Delay (samples) на 2.

  2. Установите флажки Specify different initial conditions for each channel и Specify different initial conditions within a channel.

  3. Установите параметр Initial conditions на [10 20; 30 40].

    Вывод блока задержки

    [1020],[3040],[11],[22]

    Первой строкой вектора начальных условий является вывод в нуле шага расчета. Второй строкой вектора начальных условий является вывод в шаге расчета один. Различные начальные условия используются для каждого канала и в каналах.

Кроме того, предположите, что ваш вход является матрицей, и вы устанавливаете параметр Input processing на Elements as channels (sample based).

[1111],[2222],[3333],...

Вы хотите начальные условия своего двухканального сигнала отличаться для каждого канала и вдоль каждого канала:

  1. Установите параметр Delay (samples) на 2.

  2. Выберите Specify different initial conditions for each channel и флажки Specify different initial conditions within a channel.

  3. Установите параметр Initial conditions на {[11 15] [12 16]; [13 17] [14 18]}. Размерности массива ячеек совпадают с размерностями входа. Кроме того, каждый элемент массива ячеек представляет начальные условия в одном канале.

    Вывод блока задержки

    [11121314],[15161718],[1111],[2222],...

    Каждый элемент массива ячеек представляет начальные условия в канале. Первый элемент, вектор, представляет начальные условия в канале 1. Второй элемент, вектор, представляет начальные условия в канале 2 и так далее. Различные начальные условия используются для каждого канала и в каналах.

Параметры

Input processing

Задайте, как блок должен обработать вход. Можно установить этот параметр на одну из следующих опций:

  • Columns as channels (frame based) — Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.

  • Elements as channels (sample based) — Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

Примечание

Опция Inherit from input (this choice will be removed - see release notes) будет удалена в будущем релизе. Смотрите Основанную на кадре Обработку в Информации о релизах DSP System Toolbox™ для получения дополнительной информации.

Delay units

Выберите, хотите ли вы задержать свой вход конкретным количеством Samples или Frames. Этот параметр появляется только, когда вы устанавливаете параметр Input processing на Columns as channels (frame based).

Delay (samples) or Delay (frames)

Смотрите Основанную на выборке Обработку и Основанную на кадре Обработку для описания какой формат использовать для каждой настройки диалогового окна блока.

Specify different initial conditions for each channel

Установите этот флажок когда это необходимо начальные условия, чтобы отличаться через каналы. Когда вы не устанавливаете этот флажок, начальные условия являются тем же самым через каналы.

Specify different initial conditions within a channel

Установите этот флажок когда это необходимо начальные условия, чтобы отличаться в каналах. Когда вы не устанавливаете этот флажок, начальные условия являются тем же самым в каналах.

Initial conditions

Введите скаляр, вектор, матрицу или массив ячеек начальных значений условия, в зависимости от вашего выбора для флажков Specify different initial conditions for each channel и Specify different initial conditions within a channel. Смотрите Основанную на выборке Обработку и Основанную на кадре Обработку для описания какой формат использовать для каждой настройки диалогового окна блока.

Reset port

Определяет событие сброса, которое заставляет блок сбрасывать задержку. Для получения дополнительной информации смотрите Сброс Задержки.

Поддерживаемые типы данных

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка (подписанный и без знака)

  • Булевская переменная

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Расширенные возможности

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

Представлено до R2006a