Delay

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

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

Примечание

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

  • Delay block

Библиотека

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

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™.

Смотрите также

| | (Simulink) | (Simulink)

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