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