Saturation
Begrenzen des Eingabesignals auf die oberen und unteren Sättigungswerte

Bibliotheken:
Simulink /
Commonly Used Blocks
Simulink /
Discontinuities
HDL Coder /
Discontinuities
Beschreibung
Der Sättigungsblock erzeugt ein Ausgabesignal, das dem Wert des Eingabesignals entspricht, das an die oberen und unteren Sättigungswerte gebunden ist. Die Ober- und Untergrenzen werden durch die Parameter Upper limit und Lower limit festgelegt.
Eingabe | Ausgabe |
---|---|
Untere Grenze ≤ Eingabewert ≤ Obere Grenze | Eingabewert |
Eingabewert < Unterer Grenzwert | Untere Grenze |
Eingabewert > Oberer Grenzwert | Obere Grenze |
Beispiele
Dieses Beispiel zeigt, wie die Quantizer- und Sättigungsblöcke im Modell ex_sldemo_boiler verwendet werden. Das ADC-Subsystem digitalisiert die analoge Spannung der Eingabe durch:
Multiplikation der analogen Spannung mit 256/5 mit dem Verstärkungsblock
Rundung des Wertes auf die nächste Ganzzahl mit dem Quantisierungsblock
Begrenzung der Ausgabe auf maximal 255 (der größte vorzeichenlose 8-Bit-Ganzzahlwert) mit dem Sättigungsblock
Erweiterte Beispiele
Invertiertes Pendel mit Animation
Dieses Beispiel zeigt, wie Simulink® zur Modellierung und Animation eines invertierten Pendelsystems verwendet werden kann. Bei einem invertierten Pendel liegt der Schwerpunkt über dem Drehpunkt. Um diese Position stabil zu halten, implementiert das System eine Steuerlogik, um den Drehpunkt unter den Schwerpunkt zu bewegen, wenn das Pendel abzufallen beginnt. Das invertierte Pendel ist ein klassisches dynamisches Problem, das zur Prüfung von Kontrollstrategien verwendet wird.
Ports
Eingabe
Das Eingabesignal für den Sättigungsalgorithmus.
Datentypen: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Ausgabe
Ausgabesignal, das dem Wert des Eingabesignals, der oberen Sättigungsgrenze oder der unteren Sättigungsgrenze entspricht.
Datentypen: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Parameter
Haupt
Angabe der Obergrenze für das Eingabesignal. Wenn das Eingabesignal größer als diese Grenze ist, wird das Ausgabesignal auf diesen Sättigungswert gesetzt. Der Parameter Upper limit wird mithilfe von Rundung auf den nächsten Wert und Sättigung in den Ausgabedatentyp umgewandelt. Upper limit muss größer als der Parameter Output minimum und kleiner als der Parameter Output maximum sein.
Programmatische Verwendung
Blockparameter: UpperLimit |
Typ: Zeichenvektor |
Wert: reeller Skalar oder Vektor |
Standardwert: '0.5' |
Angabe der unteren Grenze des Eingabesignals. Wenn das Eingabesignal kleiner als dieser Grenzwert ist, wird das Ausgabesignal auf diesen Sättigungswert gesetzt. Der Parameter Lower limit wird mithilfe von Rundung auf den nächsten Wert und Sättigung in den Ausgabedatentyp umgewandelt. Lower limit muss größer als der Parameter Output minimum und kleiner als der Parameter Output maximum sein.
Programmatische Verwendung
Blockparameter: LowerLimit |
Typ: Zeichenvektor |
Wert: reeller Skalar oder Vektor |
Standardwert: '-0.5' |
Wählen Sie diesen Parameter aus, damit die Befehle die Verstärkung als 1 behandeln. Die Linearisierungsbefehle in der Simulink®-Software behandeln diesen Block als eine Verstärkung im Zustandsbereich. Löschen Sie diesen Parameter, damit die Befehle die Verstärkung als 0 behandeln.
Programmatische Verwendung
Blockparameter: LinearizeAsGain |
Typ: Zeichenvektor |
Werte: 'off' | 'on' |
Standardwert: 'on' |
Wählen Sie dies aus, um die Detektion von Nulldurchgängen zu aktivieren. Weitere Informationen finden Sie unter Zero-Crossing Detection.
Programmatische Verwendung
Blockparameter: ZeroCross |
Typ: Zeichenvektor | String |
Werte: 'off' | 'on' |
Standardwert: 'on' |
Geben Sie hier das Zeitintervall zwischen Abtastvorgängen an. Um die Abtastzeit zu vererben, setzen Sie diesen Parameter auf -1
. Weitere Informationen finden Sie unter Festlegen der Abtastzeit.
Abhängigkeiten
Dieser Parameter ist nur sichtbar, wenn Sie einen anderen Wert als -1
festgelegt haben. Mehr dazu erfahren Sie unter Blocks for Which Sample Time Is Not Recommended.
Programmatische Verwendung
Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param
.
Parameter: | SampleTime |
Werte: | "-1" (Standardeinstellung) | scalar or vector in quotes |
Signalattribute
Der Data Type Assistant hilft Ihnen bei der Einstellung von Datenattributen. Um den Data Type Assistant zu verwenden, klicken Sie auf . Weitere Informationen finden Sie unter Specify Data Types Using Data Type Assistant.
Unterer Wert des Ausgabebereichs, den die Software überprüft.
Die Software verwendet das Minimum, um Folgendes auszuführen:
Überprüfung des Parameterbereichs (siehe Specify Minimum and Maximum Values for Block Parameters) für einige Blöcke.
Überprüfung des Simulationsbereichs (siehe Specify Signal Ranges und Enable Simulation Range Checking).
Automatische Skalierung von Festkomma-Datentypen.
Optimierung des Codes, den Sie aus dem Modell generieren. Durch diese Optimierung kann algorithmischer Code entfernt werden, was sich auf die Ergebnisse einiger Simulationsmodi wie SIL oder den externen Modus auswirken kann. Weitere Informationen finden Sie unter Optimize using the specified minimum and maximum values (Embedded Coder).
Tipps
Output minimum sättigt oder beschneidet das tatsächliche Ausgabesignal nicht. Verwenden Sie stattdessen den Saturation-Block.
Programmatische Verwendung
Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param
.
Parameter: | OutMin |
Werte: | '[]' (Standardeinstellung) | scalar in quotes |
Oberer Wert des Ausgabebereichs, den die Software überprüft.
Die Software verwendet den Maximalwert, um Folgendes auszuführen:
Überprüfung des Parameterbereichs (siehe Specify Minimum and Maximum Values for Block Parameters) für einige Blöcke.
Überprüfung des Simulationsbereichs (siehe Specify Signal Ranges und Enable Simulation Range Checking).
Automatische Skalierung von Festkomma-Datentypen.
Optimierung des Codes, den Sie aus dem Modell generieren. Durch diese Optimierung kann algorithmischer Code entfernt werden, was sich auf die Ergebnisse einiger Simulationsmodi wie SIL oder den externen Modus auswirken kann. Weitere Informationen finden Sie unter Optimize using the specified minimum and maximum values (Embedded Coder).
Tipps
Output maximum sättigt oder beschneidet das tatsächliche Ausgabesignal nicht. Verwenden Sie stattdessen den Saturation-Block.
Programmatische Verwendung
Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param
.
Parameter: | OutMax |
Werte: | '[]' (Standardeinstellung) | scalar in quotes |
Wählen Sie den Datentyp für die Ausgabe aus. Der Typ kann übernommen, direkt angegeben oder als Datentypobjekt wie ein Simulink.NumericType
-Objekt ausgedrückt werden. Weitere Informationen finden Sie unter Control Data Types of Signals.
Programmatische Verwendung
Blockparameter: OutDataTypeStr |
Typ: Zeichenvektor |
Werte: '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>' |
Standardwert: 'Inherit: Same as input' |
Wählen Sie diesen Parameter aus, um zu verhindern, dass die Festkomma-Tools den Datentyp Output überschreiben, den Sie im Block angeben. Weitere Informationen finden Sie unter Use Lock Output Data Type Setting (Fixed-Point Designer).
Programmatische Verwendung
Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param
.
Parameter: | LockScale |
Werte: | 'off' (Standardeinstellung) | 'on' |
Wählen Sie einen dieser Rundungsmodi.
Ceiling
Rundet sowohl positive als auch negative Zahlen in Richtung positiver Unendlichkeit. Entspricht der MATLAB®-Funktion
ceil
.Convergent
Rundet die Zahl auf den nächsten darstellbaren Wert. Bei Gleichstand wird auf die nächste gerade Zahl gerundet. Entspricht der Fixed-Point Designer™-Funktion
convergent
.Floor
Rundet sowohl positive als auch negative Zahlen in Richtung negative Unendlichkeit. Entspricht der MATLAB-Funktion
floor
.Nearest
Rundet die Zahl auf den nächsten darstellbaren Wert. Bei Gleichstand wird auf positive Unendlichkeit gerundet. Entspricht der Fixed-Point Designer
-Funktion nearest
.Round
Rundet die Zahl auf den nächsten darstellbaren Wert. Bei Gleichstand werden positive Zahlen auf positive Unendlichkeit und negative Zahlen auf negative Unendlichkeit gerundet. Entspricht der Fixed-Point Designer-Funktion
round
.Simplest
Wählt automatisch zwischen Rundung zur Basis und Rundung zu Null, um einen möglichst effizienten Rundungscode zu generieren.
Zero
Rundet Zahlen gegen Null. Entspricht der MATLAB-Funktion
fix
.
Programmatische Verwendung
Blockparameter: RndMeth |
Typ: Zeichenvektor |
Werte: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
Standardwert: 'Floor' |
Siehe auch
Weitere Informationen finden Sie unter Rounding Modes (Fixed-Point Designer).
Blockeigenschaften
Datentypen |
|
Direct Feedthrough |
|
Mehrdimensionale Signale |
|
Signale mit variabler Größe |
|
Erkennung von Nulldurchgängen |
|
Erweiterte Fähigkeiten
C/C++ Codegenerierung
Generieren von C und C++ Code mit Simulink® Coder™.
HDL Coder™ bietet weitere Konfigurationsoptionen, die sich auf die HDL-Implementierung und synthetisierte Logik auswirken.
Dieser Block weist eine Standard-HDL-Architektur auf.
ConstrainedOutputPipeline | Anzahl Register, die durch Verschiebung bestehender Verzögerungen im Design an den Ausgängen platziert werden sollen. Bei verteiltem Pipelining werden diese Register nicht neu verteilt. Der Standardwert ist |
InputPipeline | Anzahl der Eingangs-Pipeline-Phasen, die in den generierten Code eingefügt werden sollen. Verteiltes Pipelining und beschränktes Ausgangs-Pipelining kann diese Register verschieben. Der Standardwert ist |
OutputPipeline | Anzahl der Ausgangs-Pipeline-Phasen, die in den generierten Code eingefügt werden sollen. Verteiltes Pipelining und beschränktes Ausgangs-Pipelining kann diese Register verschieben. Der Standardwert ist |
PLC-Codegenerierung
Generieren strukturierten Textcodes mit Simulink® PLC Coder™.
Festkommakonvertierung
Entwerfen und Simulieren von Festkommasystemen mit Fixed-Point Designer™.
Versionsverlauf
Eingeführt vor R2006a
Siehe auch
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.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- 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)