Matlab/Octave Newbie < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 22:43 Mi 11.05.2005 | Autor: | kruder77 |
Hallo,
ich bin absoluter Neuling was Matlab bzw. Octave angeht. Ich würde gerne die Kurvenverläufe von RC-Hochpass, RC-Tiefpass und einen RC-Spannungsteiler mit Octave/Matlab (der Code soll soweit mir bekannt ist ident sein, bloß das Matlab viel kostet und Octave GNU ist) plotten. Ich weiß jedoch nicht wirklich wie ich das dort eingeben soll. Bräuchte ein Beispiel von den oben genannten Schaltungen - ich denke das ich mir die anderen dann zurecht basteln kann. Kann mir jemand helfen oder mir eine gute Seite verraten wo ich sowas finden kann?
Ganz viele Dankschön's
Kruder77
|
|
|
|
Fragen die ich nicht klären konnte:
- Befehle für Einschwing-Kurven in Matlab
- Simulation mit Octave oder SciLab
Hi kruder! (und Dorfmeister? :D)
Theoretische Grundlagen
Was möchtest du denn für Kurvenverläufe?
Es gibt einerseits die Systemantwort auf Sprünge, Impulse, Rampen, usw.,
diese Kennlinie ist über der Zeit aufgetragen (also der zeitliche Signalverlauf).
Ein anderer wichtiger Kurvenverlauf ist das Bodediagramm. Es stellt die Systemantwort auf Sinus-Signale dar, und zwar im ersten Diagramm die Veränderung im Betrag, und im zweiten Diagramm die Phasenverschiebung zum Eingangssignal. Die Kurvenverläufe sind über der Frequenz aufgetragen (besser: Winkelgeschwindigkeit, also 2*pi*f), der Betrag ist logarithmisch aufgetragen.
Das Bodediagramm zeigt die Reaktion des Systems im eingeschwungenen (=stationärer) Zustand, es gibt also keinen Hinweis auf Überschwinger usw. die beim Einschwingen nach der Eingangsänderung passieren.
Ausführlichere Erklärung auf Wikipedia
Wie plotte ich die verschiedenen Diagramme?
Ich beziehe mich auf Matlab, weil ich mich mit Octave leider nicht auskenne.
Beispiel RC-Tiefpass:
Der Kondensator liegt parallel, so dass hohe Frequenzen kurz geschlossen werden.
Berechne den komplexen Gesamtwiderstand der Schaltung mit Hilfe des komplexen Spannungsteilers:
Z=(1/j*w*C)/[(1/j*w*C)+R]
umformen... (mit j*w*C erweitert)
Z=1/(R*C*j*w+1)
Da der komplexe Widerstand das Verhältnis zwischen Eingangs- und Ausgangsgröße beschreibt, nennt man ihn auch den komplexen Frequenzgang F(j*w).
F(j*w)=1/(R*C*j*w+1)
Der komplexe Widerstand muss jetzt in den Frequenzbereich transformiert werden. Bei der Laplace-Transformation ersetzt man j*w einfach mit der Variablen s.
F(s)=1/(R*C*s+1)
Aus dieser Gleichung kann man die wichtigsten Eigenschaften des Systems ablesen: Der Verstärkungsfaktor ist 1, die Zeitkonstante ist R*C, das System weist PT-1 Verhalten auf (Tiefpass).
Bode-Diagramm:
In Matlab musst du erst einmal diese Laplace-Funktion eingeben:
R=50; C=1; // deklariert die Variablen
zaehler=[1] // gibt den Zähler der Laplace-Funktion an
nenner=[R*C, 1] // gibt den Nenner an, als erstes kommt der
// Faktor vor dem s, dann der ohne s
Y=tf(zaehler,nenner) // erstellt die Transfer-Funktion
bode(Y) // zeichnet Bode-Diagramm
Systemantwort auf Sprung, Rampe, Schwingung oder ähnliches:
Hier weiß ich nur wie es in Matlab mit der Toolbox Simulink geht.
Ziehe die Blöcke Signaleingang (Sprung, Rampe, oder Sinus-Signal, was du willst) in das neue Fenster, dazu kommt der Block Transfer Function und Scope. Verbinde den Eingang mit der Transfer Function, und diese mit dem Scope. Definiere die Transfer Funktion und das Eingangssignal (Doppelklick auf die Symbole), starte die Simulation, und doppelklick auf das Scope.
Es wird die Systemantwort im Zeitbereich angezeigt.
P.s., nächstes Mal bitte erwähnen ob du in andere Foren die gleiche Frage gestellt hast, auch wenn's unnötig erscheint ;)
|
|
|
|