Hauptinhalt

Quantizer

Eingabe mit einem bestimmten Intervall diskretisieren

  • Quantizer block

Bibliotheken:
Simulink / Discontinuities

Beschreibung

Der Quantizer-Block diskretisiert das Eingangssignal mithilfe eines Quantisierungsalgorithmus. Der Block verwendet eine Rundung auf den nächsten Wert, um Signalwerte am Ausgang auf quantisierte Werte abzubilden, die über das Quantization interval definiert werden. Ein glattes Eingangssignal kann nach der Quantisierung eine Stufenform aufweisen.

Diese Gleichung beschreibt die Rundung auf den nächsten Wert mathematisch:

y = q * round(u/q) 

dabei ist y die quantisierte Ausgabe, u die Eingabe und q das Quantization interval.

Beispiele

alle erweitern

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

Ports

Eingabe

alle erweitern

Das Eingangssignal für den Quantisierungsalgorithmus.

Datentypen: single | double
Unterstützung komplexer Zahlen: Ja

Ausgabe

alle erweitern

Aus diskreten Werten bestehendes Ausgangssignal, mithilfe einer Rundung auf den nächsten Wert quantisiert:

y = q * round(u/q) 

dabei ist y die Ausgabe, u die Eingabe und q das Quantization interval.

Datentypen: single | double

Parameter

alle erweitern

Legt das im Algorithmus verwendete Quantisierungsintervall fest. Quantisierungsstufen für den Quantizer-Blockausgang sind ganzzahlige Mehrfache des Quantization interval.

Programmatische Verwendung

Blockparameter: QuantizationInterval
Typ: Zeichenvektor
Wert: Beliebige reale oder komplexe Werte
Standardwert: '0.5'

Die Linearisierungsbefehle in der Simulink®-Software behandeln diesen Block als eine Verstärkung im Zustandsbereich. Wählen Sie diesen Parameter aus, damit die Befehle die Verstärkung als 1 behandeln. Löschen Sie diesen Parameter, damit die Befehle die Verstärkung als 0 behandeln.

Programmatische Verwendung

Blockparameter: LinearizeAsGain
Typ: Zeichenvektor
Wert: '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

Blockeigenschaften

Datentypen

double | single

Direct Feedthrough

ja

Mehrdimensionale Signale

nein

Signale mit variabler Größe

nein

Erkennung von Nulldurchgängen

nein

Erweiterte Fähigkeiten

alle erweitern

C/C++ Codegenerierung
Generieren von C und C++ Code mit Simulink® Coder™.

Versionsverlauf

Eingeführt vor R2006a

Siehe auch

|