Ich habe eine Übertragungsfunktion für ein bestimmtes System (einen Tiefpassfilter) berechnet:
$$ H (j \ omega) = \ frac {1} {RCj \ omega +1} $$
Es scheint mir, dass die Standardmethode zum Zeichnen des Frequenzgangs des Filters die Verwendung eines Bode-Diagramms ist. Deshalb möchte ich wissen, wie das in Matlab geht.
In Matlab gibt es einen Funktions-Bodeplot, der zum Beispiel ein Argument verwendet, das mit tf
berechnet wurde nimmt einen Zähler und einen Nenner.
Ich verstehe eigentlich nicht, wie ich diese Funktionen mit meiner oben bereits berechneten Formel verwenden soll. Habe ich bereits einen Teil berechnet, der mit den oben genannten Matlab-Funktionen ausgeführt werden könnte?
Wie erstelle ich ein Bode-Diagramm aus meiner Übertragungsfunktion in Matlab?
Hier ist mein aktuelles Matlab-Diagramm, in dem der Frequenzgang dargestellt wird (jedoch nicht mit dB auf dem y) -scale):
f = 0:100000; R = 33e3; C = 220e-12; w = 2*pi*f; H_w = 1./(R.*C.*j.*w+1); xaxis = 0:100000; figure; semilogx(xaxis,abs(H_w));
Kommentare
- Ich habe ' Ich kenne Matlab nicht, aber ein Bode-Plot befindet sich auf einer Log-Log-Skala. Log der Amplitudenantwort gegen Log der Frequenz.
Antwort
Rufen Sie tf
mit Vektoren der Koeffizienten für Zähler und Nenner (oder von der höchsten zur niedrigsten Leistung):
H = tf([1],[RC 1]);
wobei RC
Ihr \ ist $ RC \ $ Zeitkonstante.
Rufen Sie dann bode(H)
auf.
Siehe Matlab-Dokumentation (insbesondere die Beispiele).
Kommentare
- Dies funktioniert, wenn Sie über die Signal-Toolbox verfügen. Es ist ' eher eine Aufgabe, wenn Sie dies nicht tun.