Delay

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

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

Примечание

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

  • Delay block

Библиотека

Сигнальные операции

dspsigops

Описание

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

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

Обработка на основе фрейма

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

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

Существует четыре различных варианта начальных условий. Начальные условия могут быть одинаковыми или различными для каждого канала. Они также могут быть постоянными или изменяться вдоль каждого канала. Для получения дополнительной информации см. раздел «Примеры обработки на основе фреймов».

Выборка на основе обработки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

При выполнении симуляций в режиме Simulink MultiTasking сигналы сброса имеют задержку в одну выборку. Поэтому, когда блок обнаруживает событие сброса, происходит задержка с одной выборкой на скорости порта сброса, прежде чем блок применяет сброс. Для получения дополнительной информации о задержках и режимах задачи 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)

Смотрите Sample-Based Processing и Frame-Based Processing для описания того, какой формат использовать для каждого строения диалогового окна блока.

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 флажков. Смотрите Sample-Based Processing и Frame-Based Processing для описания того, какой формат использовать для каждого строения диалогового окна блока.

Reset port

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

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

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

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

  • Фиксированная точка (со знаком и без знака)

  • Булев

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

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

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

.

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

См. также

| | (Simulink) | (Simulink)

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