Contenuto principale

Saturation Dynamic

Limitare il segnale input ai valori dinamici di saturazione superiore e inferiore

  • Saturation Dynamic block

Librerie:
Simulink / Discontinuities
HDL Coder / Discontinuities

Descrizione

Il blocco Saturation Dynamic produce un segnale di output che è il valore del segnale di input delimitato valori di saturazione dalle porte di input up e lo.

InputOutput
lo ≤ valore di input ≤ upValore di input
Valore di input < loLimite inferiore
Valore di input > upLimite superiore

Porte

Input

espandi tutto

Il segnale di input per l'algoritmo di saturazione.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Valore dinamico che fornisce il limite superiore di saturazione. Quando l'input è maggiore di up, il valore dell'output è limitato a up.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Valore dinamico che fornisce il limite inferiore di saturazione. Quando l'input è inferiore di lo, il valore dell'output è limitato a lo.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Output

espandi tutto

Segnale di output che corrisponde al valore del segnale di input, al limite superiore di saturazione o al limite inferiore di saturazione.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Parametri

espandi tutto

Per modificare i parametri del blocco Saturation Dynamic, fare doppio clic sull'icona del blocco.

Data Type Assistant aiuta a impostare gli attributi dei dati. Per utilizzare Data Type Assistant, fare clic su the Show data type assistant button. Per ulteriori informazioni, vedere Specify Data Types Using Data Type Assistant.

Valore inferiore dell'intervallo di output controllato dal software.

Il software utilizza il minimo per eseguire:

Suggerimenti

Output minimo non satura e non taglia il segnale di output effettivo. Utilizzare invece il blocco Saturation.

Utilizzo programmatico

Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.

Parametro: OutMin
Valori: '[]' (predefinito) | scalar in quotes

Valore superiore dell'intervallo di output controllato dal software.

Il software utilizza il valore massimo per eseguire:

Suggerimenti

Output massimo non satura e non taglia il segnale di output effettivo. Utilizzare invece il blocco Saturation.

Utilizzo programmatico

Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.

Parametro: OutMax
Valori: '[]' (predefinito) | scalar in quotes

Scegliere il tipo di dati per l'output. Il tipo può essere ereditato, specificato direttamente o espresso come oggetto del tipo di dati, come oggetto Simulink.NumericType. Per ulteriori informazioni, vedere Control Data Types of Signals.

Utilizzo programmatico

Parametro dei blocchi: OutDataTypeStr
Tipo: vettore di caratteri
Valori: 'Inherit: Same as second input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | int16 | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | fixdt(1,16) | fixdt(1,16,0) | fixdt(1,16,2^0,0) | '<data type expression>'
Impostazione predefinita: 'Inherit: Same as input'

Selezionare questo parametro per evitare che gli strumenti in virgola fissa sovrascrivano il tipo di dati di Output specificato nel blocco. Per ulteriori informazioni, vedere Use Lock Output Data Type Setting (Fixed-Point Designer).

Utilizzo programmatico

Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.

Parametro: LockScale
Valori: 'off' (predefinito) | 'on'

Scegliere uno dei seguenti metodi di arrotondamento.

Ceiling

Arrotonda i numeri positivi e negativi verso l'infinito positivo. Equivale alla funzione MATLAB® ceil.

Convergent

Arrotonda il numero al valore rappresentabile più vicino. In caso di parità, arrotonda al numero intero pari più vicino. Equivale alla funzione Fixed-Point Designer™ convergent.

Floor

Arrotonda i numeri positivi e negativi verso l'infinito negativo. Equivale alla funzione MATLAB floor.

Nearest

Arrotonda il numero al valore rappresentabile più vicino. In caso di parità, arrotonda verso l'infinito positivo. Equivale alla funzione Fixed-Point Designer nearest.

Round

Arrotonda il numero al valore rappresentabile più vicino. In caso di parità, arrotonda i numeri positivi verso l'infinito positivo e i numeri negativi verso l'infinito negativo. Equivale alla funzione Fixed-Point Designer round.

Simplest

Sceglie automaticamente tra l'arrotondamento per difetto e l'arrotondamento verso lo zero per generare un codice di arrotondamento il più efficiente possibile.

Zero

Arrotonda il numero verso lo zero. Equivale alla funzione MATLAB fix.

Utilizzo programmatico

Parametro dei blocchi: RndMeth
Tipo: vettore di caratteri
Valori: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Impostazione predefinita: 'Floor'

Vedere anche

Per ulteriori informazioni, vedere Rounding Modes (Fixed-Point Designer).

Specificare se gli overflow devono saturare o avvolgersi.

  • on: gli overflow saturano fino al valore minimo o massimo che il tipo di dato può rappresentare.

  • off: gli overflow si avvolgono al valore appropriato che il tipo di dato può rappresentare.

Ad esempio, il valore massimo che il numero intero con segno a 8 bit int8 può rappresentare è 127. Qualsiasi risultato dell'operazione sul blocco superiore a questo valore massimo causa un overflow dell'intero a 8 bit.

  • Con questo parametro selezionato, l'output del blocco si satura a 127. In modo analogo, l'output del blocco si satura a un valore di output minimo di -128.

  • Se questo parametro è cancellato, il software interpreta il valore che causa l'overflow come int8, che può produrre un risultato non desiderato. Ad esempio, un risultato del blocco di 130 (binario 1000 0010) espresso come int8 è -126.

Suggerimenti

  • Considerare la possibilità di selezionare questo parametro quando il modello presenta un possibile overflow e si desidera una protezione esplicita dalla saturazione nel codice generato.

  • Considerare la possibilità di cancellare questo parametro quando si desidera ottimizzare l'efficienza del codice generato. La cancellazione di questo parametro aiuta inoltre a evitare di specificare in modo eccessivo il modo in cui un blocco gestisce i segnali fuori intervallo. Per ulteriori informazioni, vedere Troubleshoot Signal Range Errors.

  • Quando si seleziona questo parametro, la saturazione si applica a ogni operazione interna sul blocco, non solo all'output o al risultato.

  • In generale, il processo di generazione di codice può rilevare quando l'overflow non è possibile. In questo caso, il generatore di codice non produce codice di saturazione.

Utilizzo programmatico

Parametro dei blocchi: DoSatur
Tipo: vettore di caratteri
Valori: 'off' | 'on'
Impostazione predefinita: 'off'

Caratteristiche del blocco

Tipi di dati:

Booleana | double | fixed point | integer | single

Passaggio diretto

no

Segnali multidimensionali

no

Segnali di dimensioni variabili

no

Rilevamento zero-crossing

no

a Questo blocco non è consigliato per l'uso con segnali booleani.

Funzionalità estese

espandi tutto

Generazione di codice C/C++
Genera codice C e C++ con Simulink® Coder™.

Generazione di codice PLC
Genera codice di testo strutturato con Simulink® PLC Coder™.

Conversione a virgola fissa
Progetta e simula sistemi a virgola fissa con Fixed-Point Designer™.

Cronologia versioni

Introduzione prima di R2006a

Vedi anche