Saturation Dynamic
Begrenzen des Eingabesignals auf obere und untere Sättigungswerte
Bibliotheken:
Simulink /
Discontinuities
HDL Coder /
Discontinuities
Beschreibung
Der Sättigungsdynamik-Block erzeugt ein Ausgabesignal, das dem Wert des Eingabesignals entspricht, das an die Sättigungswerte der Eingabeports up und lo gebunden ist.
| Eingabe | Ausgabe |
|---|---|
lo ≤ Eingabewert ≤ up | Eingabewert |
Eingabewert < lo | Untere Grenze |
Eingabewert > up | Obere Grenze |
Ports
Eingabe
Das Eingabesignal für den Sättigungsalgorithmus.
Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Dynamischer Wert, der die obere Sättigungsgrenze angibt. Wenn die Eingabe größer als up ist, dann ist der Ausgabewert an up gebunden.
Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Dynamischer Wert, der die untere Sättigungsgrenze angibt. Wenn die Eingabe kleiner als lo ist, dann ist der Ausgabewert an lo gebunden.
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
Doppelklicken Sie auf das Block-Symbol, um die Parameter des Blocks Saturation Dynamic zu bearbeiten.
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 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>' |
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.
CeilingRundet sowohl positive als auch negative Zahlen in Richtung positiver Unendlichkeit. Entspricht der MATLAB®-Funktion
ceil.ConvergentRundet 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.FloorRundet sowohl positive als auch negative Zahlen in Richtung negative Unendlichkeit. Entspricht der MATLAB-Funktion
floor.NearestRundet die Zahl auf den nächsten darstellbaren Wert. Bei Gleichstand wird auf positive Unendlichkeit gerundet. Entspricht der Fixed-Point Designer
-Funktion nearest.RoundRundet 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.SimplestWählt automatisch zwischen Rundung zur Basis und Rundung zu Null, um einen möglichst effizienten Rundungscode zu generieren.
ZeroRundet 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).
Legt fest, ob Überläufe gesättigt oder gewrappt werden.
on– Überläufe sättigen bis zum Mindest- oder Höchstwert, den der Datentyp darstellen kann.off– Überläufe wrappen auf den jeweiligen Wert, den der Datentyp darstellen kann.
Beispielsweise ist der Höchstwert, den die vorzeichenbehaftete 8-Bit-Ganzzahl int8 darstellen kann, 127. Ein Blockoperations-Ergebnis über diesem Höchstwert könnte zu einem Überlauf der 8-Bit-Ganzzahl führen.
Ist dieser Parameter ausgewählt, wird der Blockausgang bei 127 gesättigt. Ähnlich hierzu wird der Blockausgang bei einem Mindest-Ausgangswert von -128 gesättigt.
Wird dieser Parameter deaktiviert, interpretiert die Software den Wert, der den Überlauf verursacht, als
int8, was zu unbeabsichtigten Ergebnissen führen kann. Beispielsweise ist ein Blockergebnis von 130 (Binär 10000010), ausgedrückt alsint8, -126.
Tipps
Sie sollten diesen Parameter auswählen, wenn Überläufe in Ihrem Modell möglich sind und Sie expliziten Sättigungsschutz in Ihrem generierten Code wünschen.
Sie können diesen Parameter deaktivieren, wenn Sie die Effizienz Ihres generierten Codes optimieren möchten. Diesen Parameter zu deaktivieren, hilft Ihnen zudem, eine Überspezifizierung der Verarbeitung von Signalen außerhalb des Bereichs durch den Block zu vermeiden. Weitere Informationen finden Sie unter Troubleshoot Signal Range Errors.
Wenn Sie diesen Parameter aktivieren, wird die Sättigung auf jede interne Operation des Blocks angewendet, nicht nur die Ausgabe oder das Ergebnis.
Im Allgemeinen kann der Codegenerierungsprozess erkennen, wenn ein Überlauf nicht möglich ist. In diesem Fall erzeugt der Codegenerator keinen Sättigungscode.
Programmatische Verwendung
Blockparameter: DoSatur |
| Typ: Zeichenvektor |
Werte: 'off' | 'on' |
Standardwert: 'off' |
Blockeigenschaften
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 |
| SynthesisAttributes | Legt die Syntheseattribute für die Blöcke und Block-Ausgangssignale im Modell fest. Der generierte HDL-Code enthält diese Attribute. Weitere Informationen finden Sie unter SynthesisAttributes (HDL Coder). |
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)