Zero-Order Hold
Implementierung eines Zero Order Hold-Abtastzeitraums
Bibliotheken:
Simulink /
Discrete
HDL Coder /
Discrete
Beschreibung
Der Zero-Order Hold-Block behält seine Eingabe für den von Ihnen angegebenen Zeitraum bei. Wenn es sich bei der Eingabe um einen Vektor handelt, enthält der Block alle Elemente des Vektors für denselben Abtastzeitraum.
Die Zeit zwischen den Abtastungen legen Sie mit dem Parameter Sample time fest. Eine Einstellung von -1
bedeutet, dass der Block die Sample time übernimmt.
Tipp
Verwenden Sie den Zero Order Hold-Block nicht, um einen schnellen Übergang zwischen Blöcken zu erzeugen, die mit unterschiedlichen Abtastraten arbeiten. Verwenden Sie stattdessen den Rate Transition-Block.
Bus-Unterstützung
Der Zero Order Hold-Block ist ein busfähiger Block. Die Eingabe kann ein virtuelles oder nicht virtuelles Bussignal sein. Es gibt keine blockbezogenen Einschränkungen. Alle Signale in einem nicht virtuellen Bus, die als Eingabe für einen Zero Order Hold-Block dienen, müssen dieselbe Abtastzeit aufweisen, auch wenn die Elemente des zugehörigen Busobjekts übernommene Abtastzeiten angeben. Sie können einen Rate Transition-Block verwenden, um die Abtastzeit eines einzelnen Signals oder aller Signale in einem Bus zu ändern. Siehe Modify Sample Times for Nonvirtual Buses und Bus-Capable Blocks für weitere Informationen.
Sie können eine Reihe von Bussen als Eingabesignal für einen Zero Order Hold-Block verwenden. Weitere Informationen zur Definition und Verwendung einer Reihe von Bussen finden Sie unter Group Nonvirtual Buses in Arrays of Buses.
Vergleich mit ähnlichen Blöcken
Die Blöcke Memory, Unit Delay und Zero-Order Hold bieten ähnliche Funktionen, verfügen jedoch über unterschiedliche Fähigkeiten. Außerdem ist der Zweck jedes Blocks unterschiedlich.
Diese Tabelle zeigt die empfohlene Verwendung für jeden Block.
Block | Zweck des Blocks | Referenzbeispiele |
---|---|---|
Unit Delay | Implementieren Sie eine Verzögerung mit einer von Ihnen festgelegten diskreten Abtastzeit. Der Block akzeptiert und gibt Signale mit einer diskreten Abtastzeit aus. |
|
Speicher | Implementieren Sie eine Verzögerung um einen wesentlichen Integrationszeitschritt. Im Idealfall akzeptiert der Block kontinuierliche (oder in einem kleinen Zeitschritt festgelegte) Signale und gibt ein Signal aus, das in einem kleinen Zeitschritt festgelegt ist. |
|
Zero-Order Hold | Wandeln Sie ein Eingabesignal mit einer kontinuierlichen Abtastzeit in ein Ausgabesignal mit einer diskreten Abtastzeit um. |
Jeder Block verfügt über die folgenden Funktionen.
Funktion | Speicher | Einheitsverzögerung (Unit Delay) | Zero Order Hold |
---|---|---|---|
Spezifikation der Anfangsbedingung | Ja | Ja | Nein, denn die Ausgabe des Blocks zum Zeitpunkt t = 0 muss mit dem Eingabewert übereinstimmen. |
Angabe der Abtastzeit | Nein, denn der Block kann nur die Abtastzeit vom Steuerblock oder dem für das gesamte Modell verwendeten Solver übernehmen. | Ja | Ja |
Unterstützung für blockbasierte Signale | Nein | Ja | Ja |
Unterstützung für Statusprotokollierung | Nein | Ja | Nein |
Beispiele
Ports
Eingabe
Ausgabe
Parameter
Blockeigenschaften
Datentypen |
|
Direct Feedthrough |
|
Mehrdimensionale Signale |
|
Signale mit variabler Größe |
|
Erkennung von Nulldurchgängen |
|
Erweiterte Fähigkeiten
Versionsverlauf
Eingeführt vor R2006a