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

Librerie:
Simulink /
Commonly Used Blocks
Simulink /
Discontinuities
HDL Coder /
Discontinuities
Descrizione
Il blocco Saturation produce un segnale di output che è il valore del segnale di input delimitato dai valori di saturazione superiore e inferiore. I limiti superiore e inferiore sono specificati dai parametri Upper limit e Lower limit.
Input | Output |
---|---|
Limite inferiore ≤ Valore di input ≤ Limite superiore | Valore di input |
Valore di input < Limite inferiore | Limite inferiore |
Valore di input > Limite superiore | Limite superiore |
Esempi
Questo esempio mostra come vengono utilizzati i blocchi Quantizer e Saturation nel modello ex_sldemo_boiler. Il sottosistema ADC digitalizza la tensione analogica in input:
Moltiplicando la tensione analogica per 256/5 con il blocco Gain
Arrotondando il valore al piano del numero intero con il blocco Quantizer
Limitando l'output a un massimo di 255 (il più grande valore intero a 8 bit senza segno) con il blocco Saturation
Esempi approfonditi
Pendolo inverso con animazione
Questo esempio mostra come utilizzare Simulink® per modellare e animare un sistema a pendolo inverso. Un pendolo inverso ha il centro di massa al di sopra del proprio punto di rotazione. Per mantenere stabilmente questa posizione, il sistema implementa una logica di controllo per spostare il punto di rotazione sotto il centro di massa quando il pendolo inizia a cadere. Il pendolo inverso è un classico problema di dinamica utilizzato per testare le strategie di controllo.
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
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
Principale
Specificare il limite superiore del segnale di input. Se il segnale di input è maggiore di questo limite, il segnale di output viene impostato su questo valore di saturazione. Il parametro Upper limit viene convertito sul tipo di dati di output utilizzando l'arrotondamento al valore più vicino e la saturazione. Upper limit deve essere maggiore del parametro Output minimum e minore del parametro Output maximum.
Utilizzo programmatico
Parametro dei blocchi: UpperLimit |
Tipo: vettore di caratteri |
Valore: scalare o vettore reale |
Impostazione predefinita: '0.5' |
Specificare il limite inferiore del segnale di input. Se il segnale di input è inferiore a questo limite, il segnale di output viene impostato su questo valore di saturazione. Il parametro Lower limit viene convertito sul tipo di dati di output utilizzando l'arrotondamento al valore più vicino e la saturazione. Lower limit deve essere maggiore del parametro Output minimum e minore del parametro Output maximum.
Utilizzo programmatico
Parametro dei blocchi: LowerLimit |
Tipo: vettore di caratteri |
Valore: scalare o vettore reale |
Impostazione predefinita: '-0.5' |
Selezionare questo parametro affinché i comandi trattino il gain come 1. I comandi di linearizzazione del software Simulink® trattano questo blocco come un gain nello spazio dello stato. Deselezionare questo parametro affinché i comandi trattino il gain come 0.
Utilizzo programmatico
Parametro dei blocchi: LinearizeAsGain |
Tipo: vettore di caratteri |
Valori: 'off' | 'on' |
Impostazione predefinita: 'on' |
Selezionare per abilitare il rilevamento dello zero-crossing. Per ulteriori informazioni, vedere Zero-Crossing Detection.
Utilizzo programmatico
Parametro dei blocchi: ZeroCross |
Tipo: vettore di caratteri | stringa |
Valori: 'off' | 'on' |
Impostazione predefinita: 'on' |
Specificare l'intervallo di tempo tra i campionamenti. Per ereditare il tempo di campionamento, impostare questo parametro su -1
. Per ulteriori informazioni, vedere Specifica del tempo di campionamento.
Dipendenze
Questo parametro è visibile solo se è stato impostato su un valore diverso da -1
. Per saperne di più, vedere Blocks for Which Sample Time Is Not Recommended.
Utilizzo programmatico
Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param
.
Parametro: | SampleTime |
Valori: | "-1" (predefinito) | scalar or vector in quotes |
Attributi del segnale
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 dati 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 dati 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 input' | '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) | 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).
Caratteristiche del blocco
Tipi di dati: |
|
Passaggio diretto |
|
Segnali multidimensionali |
|
Segnali di dimensioni variabili |
|
Rilevamento zero-crossing |
|
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: United States.
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)