Wie plot-Frequenzgang zur übertragungsfunktion eines band-pass-filter in Matlab?
ich soll ein Skript schreiben, zeichnen ein Diagramm für die übertragungsfunktion H(f)] für ein band-pass-filter, |H(f)| gegen die Frequenz und die phase von H(f) (Grad) gegen Frequenz, ich bin sehr neu in matlab, so dass die syntax nicht 100%, ich bin immer verwirrt, weil alles automatisch formatiert in matrix-form.
unten ist mein Skript:
% RCL circuit: band-pass filter
R=55590; L=0.9571; C=48.811*10.^(-9); % values of the Resistor and Capacitor
f=(0:60e3); w=2*pi*f; % frequency (f) range of measurements
H=(R./(sqrt(R^2+(w*L-(1./(w*C))).^2))); % Transfer Function
% Magnitude (absolute value) of the transfer function
plot(f,abs(H),'LineWidth',2); grid on; hold on
xlabel('Frequency [Hz]','FontSize',20); ylabel('|H(f)|','FontSize',20)
Abbildung
plot(f,angle(H)*180/pi,'LineWidth',2); grid on; hold on
xlabel('Frequency [Hz]','FontSize',18);
ylabel('phase of H(f) [degrees]','FontSize',20)
dies ist die transfer-Funktion der Formel im mit
unten ist noch ein Bild von dem, was meine experimentellen Ergebnisse wurden und eine zu erwartende Grafik, nur ich verstehe nicht, warum MATLAB nicht ploting, was ich will?
So berechnen Sie H und die Handlung der absolute Wert gegenüber der Frequenz. Was ist die Frage?
meine Frage ist, warum ist es, es nicht zu tun?
meine Frage ist, warum ist es, es nicht zu tun?
InformationsquelleAutor Theo | 2014-01-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie sich bewusst von der
bodeplot
Funktion?Die transfer-Funktion für eine einfache zweiter Ordnung bandpass ist:
Brauchen Sie nur legen Sie Ihre Werte in Matlab ist
tf
Funktion und zeichnen Sie es mitbodeplot
:und es zeigt:
Alternativ, wenn Sie mehr Ausgaben wie Betrag und phase als Variablen verwenden
bode
, die Handlung ist gleich. Aberbodeplot
bietet weitere plot-Möglichkeiten der Individualisierung.Bezug auf Ihren Kommentar, dass benötigen Sie eine lineare Achse:
müssen Sie nur fügen Sie die folgenden Zeilen vor dem plot-Befehl:
also es sieht wie folgt aus:
Zur Einstellung der Frequenz-Achse Grenzen:
oder Analog für die Größenordnung:
Würde ich davon abraten einen linearen Frequenz-Achse, aber wenn Sie es WIRKLICH wollen, können Sie Folgendes verwenden:
Wenn Sie möchten, zeichnen Sie Ihre experimentellen Daten zusammen mit dem Diagramm oben, Folgen dieses Beispiel.
Verwenden
bode
zu bekommen, gleich formatierten Daten von Ihren transfer-Funktion, wie Sie Ihre experimentellen Daten, und verwenden Siesemilogx
zu zeichnen.Ein linearer Frequenz-Achse, ist sehr ungewöhnlich, für eine lineare Größenordnung haben Sie einen Blick auf mein edit.
vielen Dank aber kannst du bitte Kommentar mit deinem Skript, wie es gibt eine Menge von neuen Funktionen, und, wo hast du die Eingabe der übertragungsfunktion Gleichung? oder ist es Teil einer vordefinierten Funktion? Dank
Ich habe einige Kommentare, ich weiß nicht, was sonst sollte ich Kommentar, eigentlich ist alles sehr klar. Haben auch Sie einen Blick auf die Dokumentation der einzelnen Funktionen (habe ich bereits verlinkt). Das Beispiel unten enthält nur einige grundlegende Funktionen für das zeichnen der logarithmischen Daten. Sollte einfach zu verstehen. Beachten Sie bitte auch das akzeptieren der Antwort (klicken Sie auf die Kontrollkästchen auf der linken Seite in der Nähe meine Frage) da ich denke, daß es ganz Ihre Frage beantwortet. Vielen Dank 🙂
ich glaube, ich brauche um genauer zu sein, ich fühle mich bombardiert mit Informationen und Funktionen, sorry, wenn ich unklar war, ich meinte Kommentar, was die Funktion logspace? ist freqvec eine variable? was bedeutet phs (:) tun, ist es eine standard-library-Funktion? diese Art der Sache? vielen Dank:)
InformationsquelleAutor thewaywewalk