Saturation Dynamic
Limitare il segnale input ai valori dinamici di saturazione superiore e inferiore
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.
| Input | Output |
|---|---|
lo ≤ valore di input ≤ up | Valore di input |
Valore di input < lo | Limite inferiore |
Valore di input > up | Limite superiore |
Porte
Input
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
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
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
. 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:
Il controllo dell'intervallo dei parametri (vedere Specify Minimum and Maximum Values for Block Parameters) per alcuni blocchi.
Il controllo dell'intervallo di simulazione (vedere Specify Signal Ranges e Enable Simulation Range Checking).
La scalatura automatica dei tipi di dato in virgola fissa.
L'ottimizzazione del codice generato dal modello. Questa ottimizzazione può rimuovere il codice algoritmico e influenzare i risultati di alcune modalità di simulazione, come la modalità SIL o la modalità esterna. Per ulteriori informazioni, vedere Optimize using the specified minimum and maximum values (Embedded Coder).
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:
Il controllo dell'intervallo dei parametri (vedere Specify Minimum and Maximum Values for Block Parameters) per alcuni blocchi.
Il controllo dell'intervallo di simulazione (vedere Specify Signal Ranges e Enable Simulation Range Checking).
La scalatura automatica dei tipi di dato in virgola fissa.
L'ottimizzazione del codice generato dal modello. Questa ottimizzazione può rimuovere il codice algoritmico e influenzare i risultati di alcune modalità di simulazione, come la modalità SIL o la modalità esterna. Per ulteriori informazioni, vedere Optimize using the specified minimum and maximum values (Embedded Coder).
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.
CeilingArrotonda i numeri positivi e negativi verso l'infinito positivo. Equivale alla funzione MATLAB®
ceil.ConvergentArrotonda 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.FloorArrotonda i numeri positivi e negativi verso l'infinito negativo. Equivale alla funzione MATLAB
floor.NearestArrotonda il numero al valore rappresentabile più vicino. In caso di parità, arrotonda verso l'infinito positivo. Equivale alla funzione Fixed-Point Designer
nearest.RoundArrotonda 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.SimplestSceglie automaticamente tra l'arrotondamento per difetto e l'arrotondamento verso lo zero per generare un codice di arrotondamento il più efficiente possibile.
ZeroArrotonda 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 comeint8è -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
Funzionalità estese
Generazione di codice C/C++
Genera codice C e C++ con Simulink® Coder™.
HDL Coder™ fornisce ulteriori opzioni di configurazione che influiscono sull'implementazione HDL e sulla logica sintetizzata.
Questo blocco ha un'architettura HDL predefinita.
| ConstrainedOutputPipeline | Numero di registri da posizionare sugli output spostando i ritardi esistenti nel progetto. La pipeline distribuita non ridistribuisce questi registri. L'impostazione predefinita è |
| InputPipeline | Numero di stadi della pipeline di input da inserire nel codice generato. La pipeline distribuita e la pipeline vincolata in output possono spostare questi registri. L'impostazione predefinita è |
| OutputPipeline | Numero di stadi della pipeline di output da inserire nel codice generato. La pipeline distribuita e la pipeline vincolata in output possono spostare questi registri. L'impostazione predefinita è |
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
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)