Main Content

Unit Delay

Retrase una señal por un periodo de muestreo

  • Unit Delay block

Bibliotecas:
Simulink / Discrete
HDL Coder / Discrete

Descripción

El bloque Unit Delay retiene y retrasa su entrada por el periodo de muestreo que especifique. Cuando se coloca en un subsistema iterable, retiene y retrasa su entrada por una iteración. Este bloque es equivalente al operador de tiempo discreto z-1. El bloque acepta una entrada y genera una salida. Cada señal puede ser un escalar o un vector. Si la entrada es un vector, el bloque retiene y retrasa todos los elementos del vector durante el mismo periodo de muestreo.

Puede especificar la salida del bloque para el primer periodo de muestreo con el parámetro Initial conditions. Si selecciona este parámetro con precaución, puede evitar un comportamiento de salida no deseado. Puede especificar el tiempo entre muestras con el parámetro Sample time. Un ajuste de -1 significa que el bloque hereda el valor Sample time.

Nota

El bloque Unit Delay produce un error si lo utiliza para crear una transición entre bloques que operan en distintas tasas de muestreo. Use el bloque Rate Transition en su lugar.

Comparación con bloques similares

Los bloques Memory, Unit Delay y Zero-Order Hold proporcionan una funcionalidad similar, pero tienen distintas prestaciones. Además, la finalidad de cada bloque es diferente.

Esta tabla muestra el uso recomendado para cada bloque.

BloqueFinalidad del bloqueEjemplos de referencia
Unit DelayImplemente un retraso utilizando un tiempo de muestreo discreto que especifique. El bloque acepta y produce como salida señales con un tiempo de muestreo discreto.
MemoryImplemente un retraso de una unidad de tiempo de integración principal. En condiciones ideales, el bloque acepta señales continuas (o fijas con unidad de tiempo corto) y produce como salida una señal fija con unidad de tiempo corto.
Zero-Order HoldConvierta una señal de entrada con un tiempo de muestreo continuo a una señal de salida con un tiempo de muestreo discreto.

Cada bloque tiene las siguientes características.

CaracterísticaMemoryUnit DelayZero-Order Hold
Especificación de condición inicialNo, porque la salida del bloque en la unidad de tiempo t = 0 debe coincidir con el valor de entrada.
Especificación de tiempo de muestreoNo, porque el bloque solo puede heredar tiempo de muestreo del bloque controlador o del solver usados para todo el modelo.
Soporte para señales basadas en tramasNo
Soporte para registro de estadoNoNo

Soporte para cadena

El bloque Unit Delay puede aceptar y producir como salida el tipo de datos de cadena solo si el bloque está configurado con el valor predeterminado del parámetro Initial condition (0).

Puertos

Entrada

expandir todo

Señal de entrada que el bloque retrasa por un periodo de muestreo.

Tipos de datos: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus | image

Salida

expandir todo

Señal de salida que es la entrada retrasada un periodo de muestreo.

Tipos de datos: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus | image

Parámetros

expandir todo

Principal

Especifique la salida de la simulación para el primer periodo de muestreo, durante el cual la salida del bloque Unit Delay no está definida.

Uso programático

Parámetro de bloque: InitialCondition
Tipo: vector de caracteres
Valor: escalar | vector
Predeterminado: '0'

Especifique si el bloque realiza un procesamiento basado en muestras o en tramas:

  • Columns as channels (frame based): trata cada columna de la entrada como un canal independiente (procesamiento basado en tramas).

    Nota

    El procesamiento basado en tramas requiere una licencia de DSP System Toolbox™.

    Para obtener más información, consulte Sample- and Frame-Based Concepts (DSP System Toolbox).

  • Elements as channels (sample based): trata cada elemento de la entrada como canal independiente (procesamiento basado en muestras).

Utilice Input processing (Procesamiento de salida) para especificar si el bloque realiza un procesamiento basado en muestras o en tramas. Para obtener más información sobre estos dos modos de procesamiento, consulte Sample- and Frame-Based Concepts (DSP System Toolbox).

Uso programático

Parámetro de bloque: InputProcessing
Tipo: vector de caracteres
Valores: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
Predeterminado: 'Elements as channels (sample based)'

Introduzca el intervalo discreto entre momentos específicos de muestreo o especifique -1 para heredar el tiempo de muestreo.

Consulte también Especificar el tiempo de muestreo.

Uso programático

Parámetro de bloque: SampleTime
Tipo: vector de caracteres
Valor: escalar real
Predeterminado: '-1'

Atributos de estado

Utilice este parámetro para asignar un nombre único al estado del bloque. El valor predeterminado es ' '. Cuando este campo está vacío, no hay ningún nombre asignado. Cuando utilice este parámetro, recuerde estas consideraciones:

  • Un identificador válido empieza con un carácter alfabético o un guion bajo, seguido se caracteres alfanuméricos o guiones bajos.

  • El nombre de estado se aplica solo al bloque seleccionado.

Este parámetro activa State name must resolve to Simulink signal object (El nombre de estado se debe resolver en el objeto de señal de Simulink) cuando hace clic en Apply.

Para obtener más información, consulte C Data Code Interface Configuration for Model Interface Elements (Simulink Coder).

Uso programático

Parámetro de bloque: StateName
Tipo: vector de caracteres
Valores: nombre único
Predeterminado: ''

Especifique si los nombres de estado se deben resolver en los objetos de señal. Si está seleccionado, el software genera un error en tiempo de ejecución si especifica un nombre de estado que no coincide con el nombre de un objeto de señal.

Seleccionar este parámetro desactiva el parámetro Code generation storage class (Clase de almacenamiento de la generación de código).

Dependencias

Están activadas cuando se especifica un valor para el parámetro State name y establece el parámetro de configuración del modelo Signal resolution en un valor distinto de None.

Uso programático

Parámetro de bloque: StateMustResolveToSignalObject
Tipo: vector de caracteres
Valores: 'off' | 'on'
Predeterminado: 'off'

Características del bloque

Tipos de datos

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

Paso directo

noa

Señales multidimensionales

Señales de tamaño variable

Detección de cruce por cero

no

a 

Capacidades ampliadas

Generación de código PLC
Genere código de texto estructurado mediante Simulink® PLC Coder™.

Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.

Historial de versiones

Introducido antes de R2006a