Hilfen: Bode-Diagramme mit gnuplot
Released by matroid on So. 12. September 2010 15:21:57 [Statistics]
Written by Ueli - 19675 x read [Outline] Printable version Printer-friendly version -  Choose language   
Tools

\(\begingroup\)

Bode-Diagramme mit gnuplot

Bode-Diagramme bieten eine Vielzahl von Informationen zu ihren Übertragungsfunktionen. Um ein Bode-Diagramm zu zeichnen, benötigt man in den meisten Fällen keinen Computer. Oft will oder kann man jedoch nicht auf dieses Arbeitsgerät verzichten. Als ich kürzlich ein Bode-Diagramm mit gnuplot am Computer zeichnen wollte, hatte ich einige Schwierigkeiten zu überwinden. Den erarbeiteten gnuplot-Code will ich nicht nur für mich behalten und habe mich deshalb entschlossen, diesen Artikel zu schreiben. Dabei bin ich von Darstellungen, welche ich auf einer gnuplot Beispielseite gefunden habe, ausgegangen und habe den Code sukzessive abgeändert und den darstellerischen Bedürfnissen angepasst. Aber es geht nicht nur um gnuplot. Auch Leser, welche sich nur für Bode-Diagramme und Übertragungsfunktionen interessieren, sollten in diesem Artikel auf ihre Kosten kommen.

Inhalt

  • Gnuplot einrichten
  • Impedanzverläufe
  • Bodediagramme
  • Übertragungselemente
  • Links und Literatur

  • Gnuplot einrichten

    Da man oft viele ähnliche Diagramme zeichnen muss, ist es sinnvoll skript-Dateien anzulegen. Dies sind (unformatierte) .txt-Files welche die gnuplot Befehle für das Diagramm enthalten. Ein Beispiel soll dies zeigen: \sourceon txt-File A(jw) = (1/({0,1}*jw+p1)) * (1/(1+{0,1}*jw/p2)) p1 = 10 p2 = 10000 set dummy jw set grid x y2 set key default set logscale xy set log x2 unset log y2 set title "Amplitude and Phase Frequency Response" set xlabel "jw (radians)" set xrange [1.1 : 90000.0] set x2range [1.1 : 90000.0] set ylabel "Magnitude of A(jw)" set y2label "Phase of A(jw) (degrees)" set ytics nomirror set y2tics set tics out set autoscale y set autoscale y2 plot abs(A(jw)), 180/pi*arg(A(jw)) axes x2y2 \sourceoff Diese Befehlsfolge wurde nun in einem (Unix)-Verzeichnis gespeichert unter bode1.p und soll nun durch gnuplot aufgerufen werden, was zur Darstellung des Diagramms führt: \sourceon gnuplot gnuplot>reset gnuplot> load '/Users/meinName/Documents/Matheplanet/Bode_gnuplot/bode1.p' \sourceoff Der reset-Befehl dient dazu, Einstellungen aus früheren Graphiken zu löschen. Daraus ergibt sich dann folgendes Bild: Bild Gnuplot erlaubt eine Menge von Ausgabeformaten und Kanälen. Üblicherweise will man das Resultat zuerst sehen und nach den allfälligen Korrekturen auch als Bild speichern. Die Ausgabekanäle werden mit dem Befehl "set terminal ..." gesetzt. Will man das Resultat nur anschauen genügt das automatisch eingestellte, zum Betriebssystem passende terminal. Dazu gehören zum Beispiel das x11-Terminal unter Linux und Unix und das aqua-Terminal unter Mac-OSX. Diese Terminals erzeugen ein Anzeigefenster. Mit dem x-11 Terminal kann man 3-d Grafiken mit der Maus drehen. Je nach Typ kann man das Resultat auch abspeichern. Zum Erzeugen von hochwertigen Graphiken sind aber die postscript und svg terminals viel besser geeignet. Die reinen Anzeigeterminals versagen oft schon bei der Anzeige von verschiedenen Linienstilen, welche nur über die Vektorgraphik-Formate ausgegeben werden. Wenn eine, als "gestrichelt" definierte Linie, also einfach durchgezogen wird, so ist daran oft das Ausgabeformat schuld. Vor dem plot-Befehl muss also das Ausgabeformat und allenfalls die Ausgabedatei definiert werden. Will man das Resultat mehreren Terminals zuführen, so kann man nach dem ersten plot-Befehl einfach das Terminal neu setzten und den replot Befehl anhängen, wie unten gezeigt: \sourceon gnuplot #Resultat auf dem Bildschirm betrachten set terminal x11 plot .... ... #Die selbe Graphik im postscript-Format speichern set terminal postscript set output "meinPlot.ps" replot ---------------- #...oder im svg-Format set terminal svg set output "mein_plot.svg" ---------------- #Falls die Ansprüche an die Qualität (Pixelgrafik genügt) nicht so hoch sind: set terminal png set output "mein_plot.png" \sourceoff

    Impedanzverlauf

    Die ersten Diagramme, welche ich hier vorstellen will, sind noch keine Bode-Diagramme, sondern Impedanzverläufe von Zweipolen. Bei einem idealen Kondensator sieht dieser folgendermassen aus: Bild \sourceon gnuplot Z(freq) = abs(1/({0,1}*C*2*3.14*freq*1000)) C = 1*10**(-9) set dummy freq set mxtics 10 set grid xtics mxtics lt 0 ls 0 set grid ytics mytics lt 0 ls 0 set key default set title "Impedanz eines idealen 1nF Kondensators" set xlabel "Frequenz in kHz" set xrange [1.0 : 10000.0] set yrange [10:100000.0] set ylabel "Impedanz in Ohm" set logscale xy set tics out plot Z(freq) \sourceoff Zu beachten ist, dass in gnuplot der Potenzoperator ** und nicht ^ lautet. Nun kann es aber durchaus vorkommen, dass Schaltungen mit idealen Bauteilen in der Realität nicht funktionieren. Der Grund ist, dass der Kondensator Anschlussleitungen besitzt. Diese haben im Beispiel eine Induktivität von 1nH in Serie zum Kondensator. Bild \sourceon gnuplot Z(freq) = abs(1/({0,1}*C*2*pi*freq*10**6)+({0,1}*L*2*pi*freq*10**6)) C = 1*10**(-9) L = 1*10**(-9) set dummy freq set mxtics 10 set grid xtics mxtics lt 0 ls 0 set grid ytics mytics lt 0 ls 0 set key default set title "Impedanz eines realen 1nF Kondensators" set xlabel "Frequenz in MHz" set xrange [10.0 : 1000.0] set yrange [0.1:100.0] set ylabel "Impedanz in Ohm" set logscale xy set tics out plot Z(freq) \sourceoff Im folgenden Diagramm ist die Phase der Spannung in Bezug zum Strom aufgezeichnet. Oberhalb der Frequenz 1/(2*\pi*\sqrt(C*L)) dominiert das Verhalten der Spule. Das heisst ab etwa 160MHz eilt die Spannung dem Strom voraus. Was wie ein Sprung aussieht in diesem Diagrammen, ist im komplexen nur ein Nulldurchgang. Die Amplitude wird immer kleiner und der "Sprung" findet dort statt, wo kein Signal mehr vorhanden ist. Bild \sourceon gnuplot Phase(freq) = 180/pi*arg(1/({0,1}*C*2*pi*freq*10**6)+({0,1}*L*2*pi*freq*10**6)) C = 1*10**(-9) L = 1*10**(-9) set dummy freq set mxtics 10 set grid xtics mxtics lt 0 ls 0 set grid ytics mytics lt 0 ls 0 set key default set title "Phasenverlauf eines realen 1nF Kondensators" font "Helvetica,30" set xlabel "Frequenz in MHz" font "Helvetica,20" set xrange [10.0 : 1000.0] set yrange [-180:180] set xtics font "Helvetica,20" set nokey set ytics ("-180°" -180,"-135°" -135,"-90°" -90,"-45°" -45,"0°" 0,"45°" 45,"90°" 90,"135°" 135,"180°" 180) font "Helvetica,20" set ylabel "Phase" font "Helvetica,20" set logscale x set tics out plot Phase(freq) \sourceoff Wenn man nun bedenkt, dass ein reales Bauteil auch noch Anschlusswiderstände besitzt, dann sehen die Kurven schon wesentlich "runder" aus. Die Abbildungen zeigen zeigen den Kondensator mit 0.5 Ohm Anschlusswiderstand in Serie: BildBild \sourceon gnuplot reset Imp(freq) = abs(1/({0,1}*C*2*pi*freq*10**6)+({0,1}*L*2*pi*freq*10**6)+0.5) C = 1*10**(-9) L = 1*10**(-9) set dummy freq set mxtics 10 set grid xtics mxtics lt 0 ls 0 set grid ytics mytics lt 0 ls 0 set key default set title "Impedanz eines realen 1nF Kondensators" font "Helvetica,30" set xlabel "Frequenz in MHz" font "Helvetica,20" set xrange [10.0 : 1000.0] set yrange [0.1:100.0] set nokey set xtics font "Helvetica,20" set ytics font "Helvetica,20" set ylabel "Impedanz in Ohm" font "Helvetica,20" set logscale xy set tics out plot Imp(freq) \sourceoff Zum Schluss noch das Gegenstück zum Kondensator; die Spule: BildBild \sourceon gnuplot reset Imp(freq) = abs(1/(({0,1}*C*2*pi*freq*10**3)+1/({0,1}*L*2*pi*freq*10**3+200))) C = 1*10**(-10) L = 1*10**(-3) set dummy freq set mxtics 10 set grid xtics mxtics lt 0 ls 0 set grid ytics mytics lt 0 ls 0 set key default set title "Impedanz einer realen 1mH Spule" font "Helvetica,30" set xlabel "Frequenz in kHz" font "Helvetica,20" set xrange [10 : 1000.0] set yrange [100:10000.0] set nokey set xtics font "Helvetica,20" set ytics font "Helvetica,20" set ylabel "Impedanz in Ohm" font "Helvetica,20" set logscale xy set tics out set samples 400 plot Imp(freq) \sourceoff

    Bodediagramme

    Nun soll nicht nur eine Grösse in Abhängigkeit der Frequenz, sondern ein System mit Ein- und Ausgangsgrösse betrachtet werden. Oft ist dies ein Vierpol, hier mit der Spannung als Ein- und Ausgangsgrösse. (Es könnte natürlich ebenso gut der Strom oder eine noch eine andere Grösse sein.) Am Eingang werde nun eine sinusförmige Spannung einer gewissen Frequenz angelegt. Da wir hier nur lineare Systeme betrachten, wird am Ausgang wiederum eine sinusförmige Spannung gleicher Frequenz, aber möglicherweise anderer Amplitude und Phase anstehen. Das Verhältnis zwischen Ausgangs- und Eingangsamplitude wird im Bodediagramm aufgezeigt. Das Bodediagramm ist natürlich nicht das einzige graphische Hilfsmittel der Regelungstechnik oder Filtertheorie. Bei der Darstellung von Regelstrecken wird in den Kästchen oft nicht der Amplitudengang, sondern die Sprungantwort eingezeichnet.

    Die Vorgehensweise

    Will man ein Filter konstruieren, so gibt es eine bewährte Vorgehensweise. Zuerst kennt man normalerweise den gewünschten Frequenz- und Phasengang. Diese Verläufe kann man in Bodediagrammen skizzieren. Damit sich das Filter auch realisieren lässt, muss man natürlich einen gewissen Spielraum offen lassen. Nun vergleicht man das Gewünschte mit den Bodediagrammen von Filtern, welche in Frage kommen. Aus dem eigenen Entwurf kann man dann die entsprechenden Konstanten herauslesen und in die Übertragungsfunktion des gefundenen Filters eintragen. Dann hat man alles, um das Filter realisieren zu können. In diesem Artikel wird auf die grundlegenden Eigenschaften von Filtern ersten und zweiter Ordnung eingegangen. Darüber hinaus gibt es beispielsweise Tchebyshev-, Butterworth- oder Elliptische Filter. Dies ändert aber nicht an der grundlegenden Vorgehensweise.

    Die dB-Skala

    Das dezibel ist eine Hilfsgrösse und hat sich aus historischen Gründen durchgesetzt. Im internationalen Einheitensystem (SI) ist nicht das dezibel, sondern das Neper als Hilfsgrösse für Verhältnisse im logarithmischen Masstab festgeschrieben. Doch nicht immer setzt sich das SI durch. Das dezibel ist eine sehr praktische Einheit. Bei anderen Einheiten, welche sich bisher auch hartnäckig gegen das SI behaupten, kann man das nicht sagen. Oder kennt noch jemand die Stärke eines Pferdes aus eigener Erfahrung? Zurück zum dB: Die Grundeinheit, das Bel wird selten benutzt. Das dB hat den Vorteil, dass man für Verhältnisse, wie 2 eine (wenigstens beinahe) ganze Zahl erhält. Die Definition für das dezibel oder abgekürzt dB lautet:
    L=10*log_10 (P_out/P_in)dB
    Das dB bezeichnet also die Verstärkung (dann wird L>0) beziehungsweise die Abschwächung (L<0). Die Definition bezieht sich auf Leistungen, also quadratische Grössen. Für Spannungen oder Ströme gilt dagegen:
    A=20*log_10 (U_out/U_in)dB
    Der neue Faktor 20 (statt 10) kommt daher, dass es nun keine quadratischen Grössen mehr sind, welche logarithmiert werden:
    L=10*log_10 (U_out/U_in)^2 dB=10*2*log_10 (U_out/U_in)dB
    In der nachfolgenden Tabelle sind einige Werte der dB-Skala aufgeführt. Wie bereits erwähnt, stimmen die Werte nicht ganz genau. So liegt der Faktor 2 beispielsweise nicht bei 6 dB, sondern etwas höher (6.0205999...).

    1 * sqrt(2) *2 /2 *10
    Spannungs- oder Stromverhältniss 0dB +3dB +6dB -6dB +20dB
    Leistungsverhältnisse 0dB +1.5dB +3dB -3dB +10dB

    Bedingungen an die Übertragungsfunktion

    Hier betrachten wir LTI (Linear, Time Invariant), bzw. auf deutsch LZI (Lineare, Zeit-Invariante) Systeme. Zeit-invariant bedeutet, dass sich das Übertragungsverhalten nicht mit der Zeit ändert. Das System könnte zum Beispiel altern, dann ist es nicht mehr Zeit-invariant. Mehr Probleme bereitet in der Praxis die Linearität. Technische Systeme geraten immer an irgendwelche Grenzen. Bei einem aktiven Filter sorgt die Betriebsspannung dafür, dass das System nicht linear ist. Zu grosse Signale werden einfach abgeschnitten. Daher muss man immer dafür sorgen, dass die Signale klein genug bleiben.
    Nun aber zum eigentlichen Thema, den Übertragungsfunktionen:
    Die Übertragungsfunktion muss in multiplikativer Form vorliegen, da die logarithmische Darstellung im Bodediagramm nur dann die Addition der Teilkurven erlaubt. Betrachtet man einen PID-Regler, so ist die additive Form zunächst naheliegend, da es sich schaltungstechnisch um die Parallelschaltung der drei Regler handelt:
    G_(PID)=K_RP+1/(s*T_IP)+s*T_DP
    Die multiplikative Form, entspricht einer Serieschaltung der einzelnen Reglerelemente:
    G_(PID)=K_RS*(1+s*T_IS)(1+s*T_DS)/(s*T_IS)
    Die Zeitkonstanten der multiplikativen Form kann man direkt ins Bodediagramm eintragen. Die Zeitkonstanden der additiven Form muss man aber zuerst umrechnen! Dies zeige ich dann in den entsprechenden Abschnitten.

    Die hier betrachteten Übertragungsfunktionen sind gebrochen rationale Funktionen, wobei sowohl im Zähler, als auch im Nenner ein algebraischer Term mit Potenzen in s vorhanden ist. Das sieht dann zum Beispiel so aus wie weiter oben der PID-Regler, oder wie das folgende PT2-Glied:
    G(s)=K/(1+2D/\omega_0 *s+1/(\omega_0)^2*s^2)
    Der Nenner ist nun so formatiert, dass man Eckfrequenz und Dämpfung direkt herauslesen kann. Fügt man nun weitere Übertragungsglieder an, so multiplizieren sich die Übertragungsfunktionen einfach miteinander. Man soll die einzelnen Terme aber nicht ausmultiplizieren, sonst sieht man unter Umständen die im Bodediagramm umsetzbaren Daten nicht mehr.
    Das PT2-Glied wird im nächsten Kapitel noch eingehend behandelt.

    Was man aus dem Bodediagram ablesen kann

    Eine der wichtigsten Angaben für das Bodediagramm sind die Eckfrequenzen. Bei diesen Frequenzen "knickt" die Übertragungskurve. Der Knick ist in Wirklichkeit stark abgerundet und wird nur in der doppelt logarithmischen Darstellung sichtbar. Zwei Diagramme, je eines in logarithmischer und eines in linearer Darstellung, zeigen dies in eindrücklicher Weise. Die abgebildete Funktion ist in beiden Fällen:
    A(\ii*\omega)=\abs((0.1*(1+\ii*\omega/100)/(1+\ii*\omega/10))
    BildBild
    Im Bild rechts kann man die Verstärkung bei bei der Frequenz 0 und bei grossen Frequenzen ablesen. Wo sich die Eckfrequenzen befinden, sieht man aber nur im Diagramm links mit der doppelt logarithmischen Darstellung.
    Der Übertragungsfunktion "sieht" man die Knicke ebenfalls an. Sie treten bei der Frequenz auf, bei der der Term mit der Frequenz gegenüber dem konstanten Term (hier normalerweise=1) zu dominieren beginnt.

    Die Steilheit der Übertragungsstrecke wird oft in dB/Dekade(der Frequenz) angegeben. Terme erster Ordnung im Zähler steigen über der Eckfrequenz um 20dB pro Dekade an (Bei Spannungs- und Stromverhältnissen). Es handelt sich also um einen Hochpass. Terme 1. Ordnung im Nenner sinken hingegen um 20dB pro Dekade ab. Terme zweiter Ordnung haben eine Steilheit von 40dB / Dekade usw..

    "s" oder "jw" ?

    Der Parameter s stammt aus der Laplace-Transformation.
    s=\sigma+\ii*\omega
    Für das Bodediagramm wird allerdings nur der imaginäre Teil benutzt:
    \ii*\omega, bzw. j\omega oder wenn keine griechischen Buchstaben zur Hand sind: jw.
    Da das Laplace-Integral für eine viel grössere Klasse von Funktionen konvergiert, als das Fourierintegral, wird hier die Laplacetransformation verwendet, auch wenn der Unterschied für den Praktiker kaum von Bedeutung ist.

    Einige Übertragungselemente

    Am besten sieht man die Eigenschaften der Bodediagramme an einigen Beispielen. Die Übertragungsglieder werden mit Abkürzungen, wie PT1 bezeichnet. P bezeichnet dabei einen Verstärker, T einen Tiefpass und I ein Integrierglied (auch eine Art Tiefpass, aber ohne Eckfrequenz) D ist ein Differenzierglied Die Zahl (hier 1) bezeichnet die Ordnung

    PT1-Element

    Das PT1-Element ist ein Tiefpass 1. Ordnung. Die Übertragungsfunktion lautet: K_p/(1+\ii\omega T) Bild Bild \sourceon gnuplot reset set term aqua F(jw)=20*log10(abs(K/(1+jw*{0,1}*T))) K = 2 T = 0.001 set dummy jw # Typen von Hilfslinien set style line 3 lt 3 lw 1 set style arrow 3 nohead lt 3 lw 1 set style line 4 lt 3 lw 1 set style arrow 4 nohead lt 3 lw 1 # Hilfslinien zeichnen set arrow 1 from 100,6 to 1000,6 as 3 set arrow 2 from 1000,6 to 100000,-34 as 3 set arrow 3 from 2000,0 to 20000,0 as 4 set arrow 4 from 20000,0 to 20000,-20 as 4 # Achsen und Einteilungen set mxtics 10 set grid xtics mxtics set grid ytics mytics set xrange [100 : 100000.0] set yrange [-40:10.0] set logscale x set ytics (10,6,3,0,-10,-20,-30,-40) set tics out # Beschriftungen set nokey set label 3 "Eckfrequenz" at 1000,7 l font "Helvetica,15" set label 4 "Steigung -20dB/Dekade" at 3500,-2 l font "Helvetica,15" set title "Bode Diagramm des PT1 Elements" font "Helvetica,30" set ylabel "|F(jw)| in dB" font "Helvetica,20" set xlabel "Kreisfrequenz w" font "Helvetica,20" plot F(jw) \sourceoff Schön wären gestrichelte Linien. Diese gibt es jedoch nicht auf jedem Terminal zu haben. Ich werde später noch ein Beispiel mit Postscript zeigen.

    PT2-Element

    Das PT2-Element hat folgende Übertragungsfunktion: K_p*(\omega_0)^2/((\ii*\omega)^2+2*D*\ii*\omega_0*\omega_0+(\omega_0)^2) Die Eckfrequenz ist wieder \omega_0 Die Resonanzkreisfrequenz liegt tiefer, als die Eckfrequenz: \omega_m=\omega_0*sqrt(1-2*D^2) Die Höhe des "Buckels" ist dort: K_p/(2*D*sqrt(1-D^2)) Man sieht der Formel für die Resonanzfrequenz schnell an, dass der Wurzelausdruck auch imaginär werden kann. Den Buckel gibt es daher nur bei Dämpfungen D<1/sqrt(2), sonst liegt die Kurve immer unter K_p Bild Bei diesem Beispiel habe ich Phasen- und Amplitudengang in einem Diagramm zusammengefasst. Dazu muss gnuplot in den Multiplot-Modus gesetzt werden. Dieser muss wieder zurückgesetzt werden, um in den gnuplot-Standardmodus zurück zu gelangen. Befehle, wie das Setzen des terminals funktionieren nur im Standardmodus. Der gnuplot Code dazu sieht folgendermassen aus: \sourceon gnuplot reset unset multiplot set samples 2001 set terminal aqua G(w)=K*w0**2/((w*{0,1})**2+2*D*w0*{0,1}*w+w0**2) dB(x)=20*log10(abs(G(x))) P(x) = arg(G(x))*180/pi K = 1 D = 0.2 w0 = 1000 # Typen von Hilfslinien set style line 3 lt 3 lw 1 set style arrow 3 lt 3 lw 1 set style line 4 lt 3 lw 1 set style arrow 4 nohead lt 3 lw 1 set multiplot # Amplitude set size 1,0.5 set origin 0,0.5 # Achsen und Einteilungen set mxtics 10 set grid xtics mxtics set grid ytics mytics set xrange [100 : 10000.0] set yrange [-40:10.0] set logscale x set ytics (10,0,-10,-20,-30,-40) set tics out # Beschriftungen set nokey set label 2 "Resonanz bei 959Hz" at 450,-5 l font "Helvetica,15" set label 3 "Überhöhung 8.1dB" at 1300,6 l font "Helvetica,15" set label 4 "Steigung -40dB/Dekade" at 1000,-20 l font "Helvetica,15" set xlabel "jw" set ylabel "|G(jw)| in dB" font "Helvetica,15" set xlabel "Kreisfrequenz w" font "Helvetica,15" set title "PT2 Element: Amplitudengang" font "Helvetica,20" #Asymtoten set arrow 1 from 100,0 to 1000,0 as 4 set arrow 2 from 1000,0 to 10000,-40 as 4 set arrow 3 from 959,0 to 959,8.1 as 3 set arrow 4 from 959,8.1 to 1250,8.1 as 4 #Amplitudengang plot dB(x) reset # Phase set size 1,0.5 set origin 0,0 # Achsen und Einteilungen set mxtics 10 set grid xtics mxtics set grid ytics mytics set xrange [100 : 10000.0] set yrange [-180 : 0.0] set logscale x # Beschriftungen set nokey set xlabel "jw" set ylabel "Phase in Grad" font "Helvetica,15" set xlabel "Kreisfrequenz w" font "Helvetica,15" set title "PT2 Element Phasengang" font "Helvetica,20" plot P(x) unset multiplot \sourceoff

    DT1-Element

    Bei differenzierenden Gliedern steigt die Amplitude mit der Frequenz an. Das DT1-Glied hat die folgende Übertragungsfunktion: K_D*s/(1+T_1*s) Bild Die Funktion wurde mit gnuplot folgendermassen erzeugt: \sourceon gnuplot G(w)=K*w*{0,1}/(1+T1*w*{0,1}) dB(x)=20*log10(abs(G(x))) P(x) = arg(G(x))*180/pi K = 0.01 T1 = 0.001 \sourceoff

    Multiplikativer PID-Regler

    In diesem Abschnitt wurde folgende Übertragungsfunktion verwendet: G(w)=K*(1+T_N*s)*(1+T_V*s)/(T_N*s) Die beiden Eckfrequenzen liegen bei 1/T_N und 1/T_V Bild \sourceon gnuplot G(w)=K*(1+TN*w*{0,1})*(1+TV*w*{0,1})/(TN*w*{0,1}) dB(x)=20*log10(abs(G(x))) P(x) = arg(G(x))*180/pi K = 1 TN = 0.01 TV = 0.001 \sourceoff

    Additiver PIDT1-Regler

    Der Vollständigkeit halber wurde hier noch ein T1-Glied (Tiefpass) ergänzt. Braucht man ihn nicht, so setzt man T1=0. G(s)=K*(1+1/(T_N*s)+T_V*s/(1+T_1*s)) \omega_1 = 1/T_1 \omega_2 = 1/T_2 = (T_1 + T_N - sqrt(T_1^2 - 2*T_1 * T_N + T_N^2 - 4*T_N*T_V))/(2*T_N*(T_1+T_V)) \omega_3 = 1/T_3 = (T_1 + T_N + sqrt(T_1^2 - 2*T_1 * T_N + T_N^2 - 4*T_N*T_V))/(2*T_N*(T_1+T_V)) Bild Dieses Diagramm kann man nicht mehr direkt aus der Übertragungsfunktion ableiten. Die additive Form ist für die Konstruktion von Reglern zwar vorteilhaft, der Frequenzgang kann aber erst nach einigen Umrechnungen abgeschätzt werden. Um die additive in die multiplikative Form umzuwandeln, muss man Darstellungen mit gleichen Null- und Polstellen und gleichem konstanten Faktor finden. Für die Multiplikative Form wurde der Index m und für die additive Form der Index a verwendet. Unten steht das Resultat der Umrechnung: T_(Na)>T_(Va)>T_1 K_(Rm)=K_(Ra)/2*(1+T_1/T_(Na)+sqrt((1-T_1/T_(Na))^2-4*T_(Va)/T_(Na))), K_(Ra)=K_(Rm)*(T_(Nm)+T_(Vm)-T_1)/T_(Nm) T_(Nm)=T_(Na)/2*(1+T_1/T_(Na)+sqrt((1-T_1/T_(Na))^2-4*T_(Va)/T_(Na))), T_(Na)=T_(Nm)+T_(Vm)-T_1 T_(Vm)=K_(Ra)/2*(1+T_1/T_(Na)+sqrt((1-T_1/T_(Na))^2-4*T_(Va)/T_(Na))), T_(Va)=(T_(Nm)*(T_(Vm))/(T_(Nm)+T_(Vm)-T_1) Mit einem multiplikativen Regler lässt sich nur dann ein additiver Regler nachbilden, wenn gilt: T_(Na)>=2*T_(Va)+T_1+2*sqrt(T_(Va)^2+T_(Va)*T1) Anders herum kann ein additiver Regler nur dann einen multiplikativen Regler nachbilden, falls: T_(Na)>=4*T_(Va) Bei diesem Diagramm habe ich die postscript Ausgabe verwendet. Damit sind sowohl gestrichelte Linien, als auch griechische Buchstaben darstellbar. In den Codeabschnitten unten ist die Verwendung der Funktion und der griechischen Buchstaben gezeigt. Auf anderen Terminals werden die Symbol-Sequenzen einfach wie im Quelltext angezeigt. \sourceon gnuplot set terminal postscript enhanced landscape color lw 2 "Times-Roman" 20 set output "PID_A.ps" G(w)=K*(1+1/(TN*w*{0,1})+TV*w*{0,1}/(1+T1*w*{0,1})) dB(x)=20*log10(abs(G(x))) P(x) = arg(G(x))*180/pi K = 2 TN = 0.01 TV = 0.002 T1 = 0.001 set label 1 "{/Symbol w}_2" at 145,-4 l \sourceoff

    Links und Literatur

    gnuplot Beispiele zu gnuplot (Englisch) gnuplot-Seite (Englisch) Das Taschenbuch, das in keine Tasche passt: Taschenbuch der Regelungstechnik (Deutsch) Filterberechnungs-Programm: von TI
    \(\endgroup\)
    Get link to this article Get link to this article  Printable version Printer-friendly version -  Choose language     Kommentare zeigen Comments  
    pdfFür diesen Artikel gibt es keine pdf-Datei


    Arbeitsgruppe Alexandria Dieser Artikel ist im Verzeichnis der Arbeitsgruppe Alexandria eingetragen:
    : Tools :: automatisch eingefügt und unbearbeitet :
    Bode-Diagramme mit gnuplot [von Ueli]  
    Bode-Diagramme bieten eine Vielzahl von Informationen zu ihren Übertragungsfunktionen. Um ein Bode-Diagramm zu zeichnen, benötigt man in den meisten Fällen keinen Computer. Oft will oder kann man jedoch nicht auf dieses Arbeitsgerät verzichten. Als ich kürzlich ein Bode
    [Die Arbeitsgruppe Alexandria katalogisiert die Artikel auf dem Matheplaneten]

     
     
    Aufrufzähler 19675
     
    Aufrufstatistik des Artikels
    Insgesamt 5327 externe Seitenaufrufe zwischen 2012.01 und 2023.03 [Anzeigen]
    DomainAnzahlProz
    https://google.de75414.2%14.2 %
    https://google.com350.7%0.7 %
    https://www.ecosia.org210.4%0.4 %
    https://duckduckgo.com400.8%0.8 %
    http://google.de99318.6%18.6 %
    http://google.it67712.7%12.7 %
    http://google.fr5119.6%9.6 %
    http://google.hr1783.3%3.3 %
    http://google.nl4458.4%8.4 %
    http://google.ru1913.6%3.6 %
    http://google.pl2735.1%5.1 %
    http://google.se2484.7%4.7 %
    http://google.hu1352.5%2.5 %
    http://google.lu1132.1%2.1 %
    http://google.es1542.9%2.9 %
    http://google.fi721.4%1.4 %
    http://www.bing.com1172.2%2.2 %
    http://google.pt601.1%1.1 %
    http://images.google.de581.1%1.1 %
    https://google.fr490.9%0.9 %
    https://google.es450.8%0.8 %
    https://www.bing.com500.9%0.9 %
    https://google.hu350.7%0.7 %
    https://www.startpage.com110.2%0.2 %
    https://de.search.yahoo.com40.1%0.1 %
    https://lens.google.com30.1%0.1 %
    https://cn.bing.com30.1%0.1 %
    https://www.qwant.com30.1%0.1 %
    http://www.ask.com20%0 %
    http://ecosia.org60.1%0.1 %
    http://r.duckduckgo.com20%0 %
    http://172.18.0.20:191020%0 %
    http://images.google.at20%0 %
    http://de.search.yahoo.com70.1%0.1 %
    https://bbb-03.extern-hs-karlsruhe.de10%0 %
    http://plagscan.com10%0 %
    https://metager.de10%0 %
    http://search.yahoo.com10%0 %
    http://suche.t-online.de30.1%0.1 %
    http://at.search.yahoo.com10%0 %
    http://192.168.102.5:191010%0 %
    http://nortonsafe.search.ask.com10%0 %
    http://google.com10%0 %
    http://google.at20%0 %
    https://panda-search.org10%0 %
    http://isearch.avg.com10%0 %
    https://suche.t-online.de10%0 %
    http://duckduckgo.com10%0 %
    http://de.ask.com10%0 %
    http://de.yhs4.search.yahoo.com10%0 %
    http://avira-int.ask.com10%0 %
    https://at.search.yahoo.com10%0 %
    http://g.minosearch.com10%0 %
    http://www.freerun-soldes.fr10%0 %
    http://search.conduit.com10%0 %
    http://google.ch10%0 %
    http://www.startxxl.com10%0 %
    https://search.lilo.org10%0 %
    http://search.incredibar.com10%0 %

    Aufrufer der letzten 5 Tage im Einzelnen
    Insgesamt 21 Aufrufe in den letzten 5 Tagen. [Anzeigen]
    DatumAufrufer-URL
    2023.03.04-2023.03.21 (4x)https://google.de/
    2023.03.01-2023.03.19 (14x)https://google.com/
    2023.03.18-2023.03.19 (2x)https://google.com
    2023.03.17 16:52https://www.ecosia.org/

    Häufige Aufrufer in früheren Monaten
    Insgesamt 5188 häufige Aufrufer [Anzeigen]
    DatumAufrufer-URL
    2020-2023 (708x)https://google.de/
    2013-2018 (432x)http://google.de/url?sa=t&rct=j&q=
    2014-2015 (301x)http://google.it/url?sa=i&rct=j&q=
    201301-01 (189x)http://google.fr/imgres?start=92&um=1&tbo=d&biw=1366&bih=643&tbm=isch&tbnid=I...
    201205-05 (178x)http://google.hr/imgres?um=1&sa=N&biw=1680&bih=946&tbm=isch&tbnid=HVo3pTbnLJo...
    201202-02 (172x)http://google.de/url?sa=t&rct=j&q=wie umrechnen man pid additiv
    2014-2015 (169x)http://google.it/url?sa=t&rct=j&q=
    201206-06 (155x)http://google.nl/url?sa=t&rct=j&q=gnuplot bode plot
    201211-11 (142x)http://google.ru/url?sa=t&rct=j&q=wie kann man sprungantwort pt2 glied für...
    201306-06 (139x)http://google.pl/url?sa=t&rct=j&q=gnuplot bode plot
    2013-2014 (138x)http://google.se/url?sa=t&rct=j&q=
    201203-03 (135x)http://google.hu/imgres?um=1&biw=1280&bih=907&tbm=isch&tbnid=1Fw37p45OFVE3M:
    201305-05 (131x)http://google.fr/url?sa=t&rct=j&q=freeware linux bode diagram
    201312-12 (113x)http://google.lu/url?sa=t&rct=j&q=
    201204-04 (113x)http://google.nl/imgres?q=latex bodeplot multiplot
    201207-07 (113x)http://google.de/url?sa=t&rct=j&q=programm um bodediagramme zu zeichen
    201311-11 (110x)http://google.it/search?site=webhp&source=hp&ei=13J7UuCpKcmC4gT3soAI&q=amplit...
    201303-03 (110x)http://google.se/search?redir_esc=&source=android-browser-type&v=133247963&qs...
    201201-01 (109x)http://google.es/imgres?q=Bode PID
    201212-12 (107x)http://google.fr/imgres?um=1&sa=N&tbo=d&rlz=1C1SFXN_enFR500FR500&biw=1152&bih...
    201307-07 (101x)http://google.de/url?sa=t&rct=j&q=zeitkonstante mit gnuplot ermitteln
    201210-10 (97x)http://google.it/url?sa=t&rct=j&q=gnuplot bode
    201310-10 (95x)http://google.nl/url?sa=t&rct=j&q=
    2014-2016 (84x)http://google.fr/url?sa=t&rct=j&q=
    201302-02 (82x)http://google.nl/url?sa=t&rct=j&q=gnuplot bode diagram
    201208-08 (74x)http://google.de/url?sa=t&rct=j&q=sage math bode plot
    201209-09 (72x)http://google.fi/url?sa=t&rct=j&q=
    201505-05 (71x)http://google.pl/search?q=pid bode
    201405-08 (68x)http://www.bing.com/search?setmkt=de-CH&q=tabelle: Bode-diagramm Teilkurven
    2015-2017 (63x)http://google.pl/url?sa=i&rct=j&q=
    201501-01 (60x)http://google.pt/url?sa=t&rct=j&q=
    201308-08 (60x)http://google.de/url?sa=t&rct=j&q=wofür braucht man bode diagramme
    2015-2019 (57x)http://images.google.de/url?sa=t&rct=j&q=
    201405-05 (49x)http://google.ru/url?sa=t&rct=j&q=
    202011-11 (49x)https://google.fr/
    201412-12 (45x)http://google.es/url?sa=t&rct=j&q=
    202211-11 (45x)https://google.es/
    2020-2022 (44x)https://www.bing.com/
    2020-2022 (39x)https://duckduckgo.com/
    202005-05 (35x)https://google.hu/
    201404-04 (27x)http://google.de/url?sa=t&rct=j&q=db gnuplot
    202009-09 (25x)https://google.de/search?q=bode plot zeichnen
    2020-2022 (20x)https://www.ecosia.org/
    202210-10 (19x)https://google.com/
    202109-09 (17x)https://google.de
    2017-2019 (12x)http://google.de/url?sa=i&rct=j&q=
    2020-2022 (10x)https://www.startpage.com/
    202111-12 (4x)https://de.search.yahoo.com/

    [Top of page]

    "Hilfen: Bode-Diagramme mit gnuplot" | 2 Comments
    The authors of the comments are responsible for the content.

    Re: Bode-Diagramme mit gnuplot
    von: gaussmath am: Mo. 13. September 2010 11:33:56
    \(\begingroup\)Hi Ueli, schöner Artikel! Wie bist du auf die Problematik gestoßen? Brauchtest du das für deinen Job? Grüße, Marc\(\endgroup\)
     

    Re: Bode-Diagramme mit gnuplot
    von: Ueli am: Mo. 13. September 2010 12:18:44
    \(\begingroup\)Hallo Marc, der Anstoss war eine Frage im Forum. Ich wollte schnell mal ein Bodediagramm machen. Mit gnuplot war das aber nicht so einfach, wie ich gedacht habe. Das beginnt bei der Darstellung komplexer Zahlen und endet mit dem Ausgabeformat. Am Schluss hatte ich viele Diagramme und machte einen Artikel damit. Bei der Arbeit verwenden wir teilweise auch gnuplot zur Darstellung grosser Datenmengen. Ueli \(\endgroup\)
     

     
    All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
    This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
    Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
    Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
    [Seitenanfang]