Contenido principal

Discrete Derivative

R2026b

Calcular la derivada en tiempo discreto

  • Discrete Derivative block

Bibliotecas:
Simulink / Discrete

Descripción

El bloque Discrete Derivative calcula una derivada en tiempo discreto escalada opcionalmente de la siguiente manera

y(tn)=K(u(tn)−u(tn−1)Ts)

donde

  • u(tn) y y(tn) son la entrada y la salida del bloque en el paso de tiempo actual, respectivamente.

  • u(tn−1) es la entrada del bloque en el paso de tiempo anterior.

  • K es un factor de escalado opcional, especificado con el parámetro Gain value.

  • Ts es el paso de tiempo discreto de la simulación, que debe ser fijo.

Nota

No utilice este bloque en subsistemas con una activación no periódica, por ejemplo, subsistemas de llamada a función no periódicos. Con esta configuración se obtienen resultados inexactos.

Ejemplos

expandir todo

Este ejemplo muestra cómo usar el bloque Discrete Derivative para calcular la derivada en tiempo discreto de una señal de entrada de punto flotante. La derivada en tiempo discreto no filtrada se compara con una derivada en tiempo discreto filtrada que se calcula con el bloque Discrete Filter.

Puertos

Entrada

expandir todo

Señal de entrada, especificada como un escalar, un vector o una matriz.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Salida

expandir todo

Derivada en tiempo discreto escalada opcionalmente, especificada como un escalar, un vector o una matriz. Para obtener más información sobre cómo el bloque calcula la derivada en tiempo discreto, consulte Descripción. Especifique el tipo de datos de la señal de salida con el parámetro Output data type.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Parámetros

expandir todo

Principal

Factor de escalado aplicado a la derivada calculada, especificado como un valor escalar real.

Uso programático

Parámetro de bloque: gainval
Tipo: vector de caracteres
Valores: escalar
Predeterminado: '1.0'

Condición inicial para la entrada escalada anterior, especificada como un escalar.

Uso programático

Parámetro de bloque: ICPrevScaledInput
Tipo: vector de caracteres
Valores: escalar
Predeterminado: '0.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 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)'

Signal Attributes

Valor inferior del rango de salida que comprueba el software.

El software usa el mínimo para realizar lo siguiente:

Sugerencias

Output minimum no satura ni recorta la señal de salida real. Use el bloque Saturation en su lugar.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: OutMin
Valores: '[]' (predeterminado) | scalar in quotes

Valor superior del rango de salida que comprueba el software.

El software usa el valor máximo para realizar lo siguiente:

Sugerencias

Output maximum no satura ni recorta la señal de salida real. Use el bloque Saturation en su lugar.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: OutMax
Valores: '[]' (predeterminado) | scalar in quotes

Especifique el tipo de datos de salida. Puede establecerlo en:

  • Una regla que hereda un tipo de datos, por ejemplo, Inherit: Inherit via back propagation

  • El nombre de un tipo de datos integrado, por ejemplo, single

  • El nombre de un objeto de tipo de datos, por ejemplo, un objeto Simulink.NumericType

  • Una expresión que se evalúa como un tipo de datos, por ejemplo, fixdt(1,16,0)

Data Type Assistant ayuda a establecer los atributos de los datos. Para usar Data Type Assistant, haga clic en the Show data type assistant button. Para obtener más información, consulte Specify Data Types Using Data Type Assistant.

Uso programático

Parámetro de bloque: OutDataTypeStr
Tipo: vector de caracteres
Valores: 'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'
Predeterminado: 'Inherit: Inherit via internal rule'

Seleccione este parámetro para evitar que las herramientas de punto fijo anulen el tipo de datos de Output que se especificó en el bloque. Para obtener más información, consulte Use Lock Output Data Type Setting (Fixed-Point Designer).

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: LockScale
Valores: 'off' (predeterminado) | 'on'

Especifique el modo de redondeo para operaciones de punto fijo. Para obtener más información, consulte Rounding Modes (Fixed-Point Designer).

Los parámetros de bloque siempre se redondean al valor representable más cercano. Para controlar el redondeo de los parámetros de bloque, introduzca una expresión mediante una función de redondeo de MATLAB® en el campo de máscara.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: RndMeth
Valores: 'Floor' (predeterminado) | 'Ceiling' | 'Convergent' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'

Cuando selecciona esta casilla, los desbordamientos se saturan al valor mínimo o máximo que el tipo de datos puede representar. De lo contrario, los desbordamientos se ajustan.

Cuando se selecciona esta casilla, la saturación se aplica a cada operación interna en el bloque, no solo a la salida o al resultado. Por lo general, el proceso de generación de código puede detectar cuándo el desbordamiento no es posible. En este caso, el generador de código no genera código de saturación.

Uso programático

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

Características del bloque

Tipos de datos

double | fixed point | integer | single

Paso directo

sí

Señales multidimensionales

no

Señales de tamaño variable

sí

Detección de cruce por cero

no

Capacidades ampliadas

expandir todo

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