Hauptinhalt

Saturation Dynamic

Begrenzen des Eingabesignals auf obere und untere Sättigungswerte

  • Saturation Dynamic block

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.

EingabeAusgabe
lo ≤ Eingabewert ≤ upEingabewert
Eingabewert < loUntere Grenze
Eingabewert > upObere Grenze

Ports

Eingabe

alle erweitern

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

alle erweitern

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

alle erweitern

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 the Show data type assistant button. 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:

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:

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.

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).

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 als int8, -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

Datentypen

Booleana | double | fixed point | integer | single

Direct Feedthrough

nein

Mehrdimensionale Signale

nein

Signale mit variabler Größe

nein

Erkennung von Nulldurchgängen

nein

a Dieser Block wird nicht zur Verwendung mit Booleschen Signalen empfohlen.

Erweiterte Fähigkeiten

alle erweitern

C/C++ Codegenerierung
Generieren von C und C++ Code mit Simulink® 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