Unit Delay

Сигнал задержки на один период дискретизации

  • Библиотека:
  • Simulink/Дискретный

    HDL-кодер/дискретный

  • Unit Delay block

Описание

Блок Unit Delay удерживает и задерживает его вход на указанный вами период дискретизации. Когда он помещается в подсистему итератора, он удерживает и задерживает его вход на одну итерацию. Этот блок эквивалентен z-1 оператор дискретного времени. Блок принимает один вход и генерирует один выход. Каждый сигнал может быть скалярным или векторным. Если вход является вектором, блок удерживает и задерживает все элементы вектора на один и тот же период дискретизации.

Вы задаете выход блока для первого периода дискретизации с параметром Initial conditions. Тщательный выбор этого параметра может минимизировать нежелательное выходное поведение. Вы задаете время между выборками с параметром Sample time. Настройка -1 означает, что блок наследует Sample time.

Примечание

Ошибки Unit Delay блока выходят, если вы используете его, чтобы создать переход между блоками, работающими с различными скоростями дискретизации. Вместо этого используйте блок Rate Transition.

Сравнение с аналогичными блоками

Блоки Memory, Unit Delay и Zero-Order Hold обеспечивают сходную функциональность, но имеют различные возможности. Кроме того, назначение каждого блока отличается.

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

БлокНазначение блокаСправочные примеры
Unit DelayРеализуйте задержку с помощью дискретного шага расчета, который вы задаете. Блок принимает и выводит сигналы с дискретным шагом расчета.
ПамятьРеализуйте задержку на один большой временной шаг интегрирования. В идеале блок принимает непрерывные (или фиксированные в незначительном временном шаге) сигналы и выводит сигнал, который фиксируется в незначительном временном шаге.
Zero-Order HoldПреобразуйте входной сигнал с непрерывного шага расчета в выход сигнал с дискретного шага расчета.

Каждый блок имеет следующие возможности.

СпособностьПамятьUnit DelayУдержание нулевого порядка
Спецификация начального условияДаДаНет, потому что выход в момент t = 0, должен совпадать с входным значением.
Спецификация шага расчетаНет, потому что блок может наследовать только шаг расчета от ведущего блока или решателя, используемого для всей модели.ДаДа
Поддержка основанных на кадрах сигналовНет ДаДа
Поддержка логгирования состоянийНетДаНет

Поддержка строк

Блок Unit Delay может принимать и выводить строку тип данных, только если блок сконфигурирован для длины задержки 0 или 1 или для прямого сквозного соединения.

Порты

Вход

расширить все

Входной сигнал, который блок задерживает на один период дискретизации.

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus

Выход

расширить все

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

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus

Параметры

расширить все

Главный

Задайте выход симуляции для первого периода дискретизации, в течение которого выход блока Unit Delay в противном случае не определен.

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

Параметры блоков: InitialCondition
Тип: Вектор символов
Значение: скалярный вектор |
По умолчанию: '0'

Укажите, выполняет ли блок обработку на основе выборок или фреймов:

  • Columns as channels (frame based) - Обрабатывайте каждый столбец входа как отдельный канал (обработка на основе фрейма).

    Примечание

    Для обработки на основе фрейма требуется лицензия DSP System Toolbox™.

    Для получения дополнительной информации смотрите Концепции на основе выборок и фреймов (DSP System Toolbox).

  • Elements as channels (sample based) - Обработайте каждый элемент входа как отдельный канал (основанная на выборке обработка).

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

Входной сигнал uРежим обработки входных параметровБлок работает?
Основанный на выборкеОснованный на выборкеДа
Основанный на системах координатНет, вызывает ошибку
Основанный на выборкеОснованный на системах координатДа
Основанный на системах координатДа

Для получения дополнительной информации об этих двух режимах обработки смотрите Концепции на основе выборок и фреймов (DSP System Toolbox).

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

Параметры блоков: InputProcessing
Тип: Вектор символов
Значения: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
По умолчанию: 'Elements as channels (sample based)'

Введите дискретный интервал между попаданиями шаг расчета или задайте -1 наследование шага расчета.

Смотрите также «Задание шага расчета».

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

Параметры блоков: SampleTime
Тип: Вектор символов
Значение: действительный скаляр
По умолчанию: '-1'

Атрибуты состояния

Используйте этот параметр, чтобы присвоить уникальное имя состоянию блока. Значение по умолчанию является ' '. Когда это поле не заполнено, имя не присваивается. При использовании этого параметра запоминайте следующие факторы:

  • Допустимый идентификатор начинается с буквенного символа или символа подчеркивания, за которым следуют алфавитно-цифровые символы или символы подчеркивания.

  • Имя состояния применяется только к выбранному блоку.

Этот параметр включает State name must resolve to Simulink signal object при нажатии кнопки Apply.

Для получения дополнительной информации смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Simulink Coder).

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

Параметры блоков: StateName
Тип: Вектор символов
Значения: уникальное имя
По умолчанию: ''

Укажите, требуется ли разрешение имен состояний для объектов сигнала Simulink или not. если выбран, программа генерирует ошибку во время выполнения, если вы задаете имя состояния, не совпадающее с именем объекта сигнала Simulink.

Зависимость

Активируется, когда вы задаете State name параметра значение и устанавливаете параметр конфигурации <reservedrangesplaceholder1> модели на значение, отличное от None.

Установка этого флажка отключает Code generation storage class.

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

Параметры блоков: StateMustResolveToSignalObject
Тип: Вектор символов
Значения: 'off' | 'on'
По умолчанию: 'off'

Выберите пользовательский пакет класса памяти путем выбора класса объекта сигнала, заданного целевым пакетом. Например, применить пользовательские классы памяти из встроенного пакета mpt, выберите mpt.Signal. Если вы не используете цель генерации кода на основе ERT с Embedded Coder®пользовательские классы памяти не влияют на сгенерированный код.

Как использовать пакет класса памяти, отличный от Simulink® пакет, вы должны загрузить пакет в словарь Embedded Coder модели. Смотрите Загрузку пакетов класса памяти в словарь встраиваемого кодера (Embedded Coder).

Для получения информации о конфигурировании данных моделей с помощью классов памяти смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Embedded Coder). Для получения дополнительной информации о пользовательских классах классов памяти раздел Организация данных в структуры в Сгенерированном коде (Embedded Coder).

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

Параметры блоков: StateSignalObject
Тип: Вектор символов
Значения: 'Simulink.Signal' | '<StorageClass.PackageName>'
По умолчанию: 'Simulink.Signal'

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

Для получения дополнительной информации смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Simulink Coder) и Организуйте Данные Параметра в Структуру при помощи Класса Памяти (Embedded Coder).

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

Параметры блоков: StateStorageClass
Тип: Вектор символов
Значения: 'Auto' | 'Model default' | 'ExportedGlobal''| 'ImportedExtern' | 'ImportedExternPointer' | 'Custom'
По умолчанию: 'Auto'

Характеристики блоков

Типы данных

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

Прямое сквозное соединение

yes

Многомерные сигналы

yes

Сигналы переменного размера

yes

Обнаружение пересечения нулем

no

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

.

Генерация кода ПЛК
Сгенерируйте структурированный текстовый код с помощью Coder™ Simulink ® PLC

.

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

См. также

|

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