Gnuplot: Bode-Diagramm aus Messwerten

OP #2615816
Lesenswert?

Hallo,
ich möchte den Amplituden- und Phasengang einer Schaltung ausmessen und 
mit Gnuplot darstellen. Die Messpunkte habe ich wie folgt in einer 
Textdatei gespeichert:

#frequenz [Hz]    amplitude [V]      phase [°]
1                 1.25               10
10                1                  20
100               0.9                30
1000              0.8                45
10000             0.7                50


Mein Referenzsignal hat eine Amplitude von konstanten 1.25 V, und da ich 
auf dem Oszi die Amplitude direkt messen kann, trage ich diese auch hier 
als Messwert ein. Ich stelle mir das so vor, dass Gnuplot dann mit der 
Spalte 2 folgendes rechnet:

using 1:(20*log($2 / 1.25))

dann bekomme ich ja dB, was ich gerne hätte für die Amplitude.

Mein Gnuplot Code sieht wie folgt aus:
1
set grid
2
set key inside right top samplen 1
3
set logscale xy
4
set log x2
5
unset log y2
6
set format x "$%g$\\,Hz"
7
set format y "$%g$\\,dB"
8
set format y2 "$%g$\\,Grad"
9
set xlabel "$I_L$"
10
set ylabel "Amplitude"
11
set y2label "Phase"
12
set ytics nomirror
13
set y2tics
14
set tics out
15
set autoscale  y
16
set autoscale y2
17
plot \
18
'messdaten/tiefpass.txt' \
19
using 1:(20*log($2/1.25)) title 'Amplitude' with linespoints lw 2, \
20
'messdaten/tiefpass.txt' \
21
using 1:3 title 'Phase' with linespoints lw 2 axes x2y2

Das funktioniert aber nicht: "All points y value undefined". Was mache 
ich falsch? Könnt ihr mir hier weiterhelfen?

Ach ja: ich möchte das Diagramm anschliessend in LaTeX nutzen, daher 
habe ich diese seltsamen Formate für die x und y Achsen :-)
OP #2616170
Lesenswert?

Hallo,
danke erstmal, so schaut das schon besser aus :-)
jetzt möchte ich noch das Raster so einstellen, dass es aussieht wie in 
LTSpice, also dass auch an den Zwischenwerten Rasterlinien sind, und 
nicht nur bei 1, 10, 100... Hz. Wie geht denn das? dazu habe ich auch 
nichts hilfreiches gefunden...

Gruss
Moderator #2616191
Lesenswert?

Mit
1
  set grid xtics mxtics ytics mytics

werden alle Linien (für Haupt und Zwischenwerte) gezeichnet. Mit den
Optionen linestyle, linetype und linewidth kannst du zusätzlich das
Aussehen der Linien festlegen, siehe
1
  help grid

Noch ein Tipp:
1
  set format x "$%.0s$\\,%cHz"

"optimiert" einige Nullen in der x-Achsen-Beschriftung weg :)
OP #2618354
Lesenswert?

Herzlichen Dank an alle,
so ist es beinahe Perfekt :D
Jetzt bleibt nur noch eine Frage.

In einem anderen Diagramm trage ich Messwerte ein und passe mittels 
linearem Fit eine Gerade da ein (lineare Regression). Gnuplot errechnet 
die Koeffizienten a znd b korrekt, allerdings wüsste ich den 
Korrelationskoeffizienten auch noch gerne. Zwar kann ich den auch mit 
Maple berechnen, das ist aber mühsam weil ich die Daten dann dort extra 
nochmal von Hand importieren muss... kann ich gnuplot irgendwie dazu 
bewegen, den Korrelationskoeffizienten auch noch auszugeben?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren