Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Konvertierung der Modellrate

Konvertieren von Modellen zwischen kontinuierlicher Zeit und diskreter Zeit und erneutes Abtasten von Modellen im Live-Editor

Seit R2019b

Beschreibung

Mit Convert Model Rate können Sie ein LTI-Modell interaktiv zwischen kontinuierlicher Zeit und diskreter Zeit konvertieren. Sie können damit außerdem ein zeitdiskretes Modell erneut abtasten. Der Task generiert automatisch MATLAB®-Code für Ihr Live-Skript.

Um den Task Convert Model Rate zu starten, wählen Sie das Modell aus, das Sie konvertieren möchten. Zudem können Sie die Zielabtastzeit, die Konvertierungsmethode und andere Parameter angeben. Der Task erzeugt das konvertierte Modell im MATLAB-Workspace und kann ein Antwortdiagramm erzeugen, mit dem Sie die Übereinstimmung zwischen dem ursprünglichen und dem konvertierten Modell überwachen können, während Sie mit den Konvertierungsparametern experimentieren.

Verwandte Funktionen

Convert Model Rate generiert Code mithilfe der folgenden Funktionen.

Convert Model Rate task in Live Editor

Öffnen Sie die Aufgabe

Zum Hinzufügen des Task Convert Model Rate zu einem Live-Skript im MATLAB-Editor:

  • Wählen Sie auf der Registerkarte Live Editor die Option Task > Convert Model Rate.

  • Geben Sie in einen Code-Block in Ihrem Skript ein entsprechendes Schlüsselwort ein, z. B. convert, rate oder c2d. Wählen Sie Convert Model Rate aus den vorgeschlagenen Befehlsergänzungen.

Beispiele

alle erweitern

Verwenden Sie den Task Convert Model Rate im Live-Editor, um ein Modell interaktiv von kontinuierlicher Zeit in diskrete Zeit zu konvertieren. Experimentieren Sie mit verschiedenen Methoden, Optionen und Antwortdiagrammen. Der Task erzeugt automatisch Code entsprechend der von Ihnen getroffenen Auswahl. Öffnen Sie dieses Beispiel, um ein vorkonfiguriertes Skript mit dem Task Convert Model Rate zu sehen.

Erstellen Sie ein zeitkontinuierliches Transferfunktions-Modell.

G = tf([1 -50 300],[1 3 200 350]);

Zum Diskretisieren des Modells öffnen Sie den Task Convert Model Rate im Live-Editor. Wählen Sie auf der Registerkarte Live Editor die Option Task > Convert Model Rate aus. Wählen Sie im Task G als das zu konvertierende Modell.

Der Task diskretisiert das Modell automatisch unter Verwendung der Standard-Abtastzeit von 0,2 s und der Standard-Konvertierungsmethode Zero-order hold. Außerdem wird ein Bode-Diagramm erstellt, in dem Sie die Antworten des ursprünglichen und des konvertierten Modells vergleichen können.

Die vertikale Linie im Diagramm zeigt die Nyquist-Frequenz, die mit der Standardabtastzeit verbunden ist. Angenommen, Sie möchten eine Abtastzeit von 0,15 Sekunden verwenden. Ändern Sie die Abtastzeit, indem Sie den neuen Wert in das Feld Sample Time eingeben. Das Antwortdiagramm wird automatisch aktualisiert, um die neue Abtastzeit zu berücksichtigen.

Wenn die genaue Dynamik der Resonanz für Ihre Anwendung wichtig ist, können Sie die Frequenzbereichsanpassung mit einer anderen Konvertierungsmethode verbessern. Versuchen Sie in diesem Task, verschiedene Methoden auszuprobieren, und beobachten Sie deren Auswirkungen auf das Antwortdiagramm.

Mit der Tustin-Methode kann eine bessere Übereinstimmung im Frequenzbereich erzielt werden als mit der Standard-Methode der Haltefunktion nullter Ordnung. (Siehe Continuous-Discrete Conversion Methods.) Wählen Sie unter Select Conversion Method die Option Bilinear (Tustin) approximation aus. Anfangs ist die resultierende Übereinstimmung im Frequenzbereich schlechter als bei der Halte-Methode nullter Ordnung.

Sie können die Übereinstimmung mithilfe einer Vorverzerrungs-Frequenz verbessern. Diese Option erzwingt die Anpassung der zeitdiskreten Reaktion an die von Ihnen angegebene Frequenz. Die Resonanz von G erreicht ihren Höhepunkt bei etwa 14 rad/s. Geben Sie diesen Wert für die Vorverzerrungs-Frequenz ein. Die Übereinstimmung verbessert sich in der Nähe der Resonanz. Die Resonanz liegt jedoch sehr nahe an der Nyquist-Frequenz für die Abtastzeit von 0,15 s, was die Genauigkeit der Anpassung einschränkt.

Der Task Convert Model Rate kann andere Arten von Antwortdiagrammen erzeugen. Um beispielsweise die Zeitbereichsantworten des ursprünglichen und des konvertierten Modells zu vergleichen, wählen Sie in Output Plot die Option step oder impulse.

Der Task generiert Code in Ihrem Live-Skript. Der generierte Code gibt die von Ihnen ausgewählten Parameter und Optionen wieder und enthält Code zur Erzeugung des von Ihnen angegebenen Antwortdiagramms. Zum Anzeigen des generierten Codes klicken Sie auf Show code unten im Parameterbereich des Task. Der Task wird erweitert, um den generierten Code anzuzeigen.

Standardmäßig verwendet der generierte Code sysConverted als Namen der Ausgangsgröße, d. h. des konvertierten Modells. Wenn Sie einen anderen Namen für die Ausgangsgröße festlegen möchten, geben Sie den neuen Namen in die Zusammenfassungszeile oben in dem Task ein. Ändern Sie den Namen beispielsweise in sys_d.

Der Task aktualisiert den generierten Code, um den neuen Namen der Ausgangsgröße anzuzeigen, und das neue konvertierte Modell sys_d erscheint im MATLAB-Workspace. Sie können das Modell wie jedes andere Modellobjekt für weitere Analysen oder den Entwurf von Regelungen verwenden. Simulieren Sie z. B. die Antwort des konvertierten Systems auf eine Rechteckwelleneingabe. Verwenden Sie die von Ihnen in dem Task angegebene Abtastzeit.

[u,t] = gensig('square',4,10,0.15);
lsim(sys_d,u,t)

Parameter

alle erweitern

Wählen Sie ein LTI-Modell aus. Die Liste enthält alle geeigneten zeitkontinuierlichen oder zeitdiskreten dynamischen Systemmodelle im MATLAB-Workspace, einschließlich:

  • numerische LTI-Modelle wie tf-, ss- oder zpk-Modelle.

  • identifizierte LTI-Modelle wie idss und idtf. (Für die Verwendung von identifizierten Modellen ist eine Lizenz für System Identification Toolbox™ erforderlich.)

Sie können SISO- oder MIMO-Modelle mit oder ohne Zeitverzögerungen konvertieren, wobei einige Konvertierungsmethoden nur für SISO-Modelle verfügbar sind (siehe Beschreibung der Method-Parameter). Mit der Funktion Convert Model Rate können Sie keine verallgemeinerten LTI-Modelle wie genss oder uss, Frequenzgangdatenmodelle wie frd oder Prozessmodelle (idproc) konvertieren.

Geben Sie die Abtastzeit des konvertierten Modells in Einheiten von 1/TimeUnit an, wobei TimeUnit die TimeUnit-Eigenschaft des Eingabemodells ist.

  • Zum Diskretisieren eines zeitkontinuierlichen Modells oder zur Neuabtastung eines zeitdiskreten Modells geben Sie die Ziel-Abtastzeit ein.

  • Wenn Sie ein zeitdiskretes Modell in ein zeitkontinuierliches umwandeln möchten, geben Sie 0 ein.

Wählen Sie eine Methode zur Ratenkonvertierung aus. Folgende Methoden sind verfügbar:

  • Zero-order hold

  • First-order hold

  • Impulse-invariant discretization (Konvertierung von kontinuierlich zu diskret nur bei SISO-Modellen)

  • Bilinear (Tustin) approximation

  • Zero-pole matching method

  • Least-squares method (Konvertierung von kontinuierlich zu diskret nur bei SISO-Modellen)

Weitere Informationen zur Auswahl einer Konvertierungsmethode finden Sie unter Continuous-Discrete Conversion Methods.

Wenn Sie die Rate eines Modells mit Zeitverzögerung konvertieren, runden die Methoden Bilinear (Tustin) approximation oder Zero-pole matching method die Zeitverzögerung auf das nächste ganzzahlige Vielfache der Abtastzeit. Diese Rundung kann die Genauigkeit der Dynamik beeinträchtigen, insbesondere nahe der Nyquist-Frequenz.

Wählen Sie für Delay Order eine ganze Zahl ungleich Null, damit Convert Model Rate den Bruchteil der Verzögerung mithilfe eines Thiran-Filters näherungsweise ermittelt, anstatt zu runden. Verwenden Sie den kleinsten Wert, der eine ausreichend genaue ratenkonvertierte Dynamik für Ihre Anwendung ergibt. Weitere Informationen zu Thiran-Filtern finden Sie unter thiran.

Wenn Sie ein zeitkontinuierliches Modell diskretisieren und Ihr System bei einer bestimmten Frequenz wichtige Dynamiken aufweist, die bei der Ratenkonvertierung erhalten bleiben sollen, können Sie die Methode Bilinear (Tustin) approximation mit Vorverzerrung der Frequenz (Prewarping) verwenden. Diese Methode gewährleistet eine Übereinstimmung zwischen den ursprünglichen und den konvertierten Antworten bei der von Ihnen angegebenen Vorverzerrungs-Frequenz. Siehe Continuous-Discrete Conversion Methods.

Die Funktion Convert Model Rate erzeugt automatisch ein Antwortdiagramm, mit dem Sie überprüfen können, ob die für Ihre Anwendung wichtigen Dynamiken erhalten bleiben. Legen Sie eine der folgenden Arten von Antwortdiagrammen fest, um die Antworten des ursprünglichen und des konvertierten Modells zu vergleichen, während Sie mit den Konvertierungsparametern experimentieren.

  • Bode

  • Step

  • Impulse

  • Pole-Zero

Der von dem Task generierte Code enthält Code zur Erstellung des ausgewählten Antwortdiagramms. Wenn Sie das Antwortdiagramm weglassen möchten, wählen Sie None.

Versionsverlauf

Eingeführt in R2019b