Mittelung im Oszilloskop

Hallöchen!

Ich habe hier im Labor ein digitales Oszilloskop (LeCroy LC684DXL). Ich weiß, daß es mit 8-Bit-AD-Konvertern ausgestattet ist. Man kann nun von einer Spannungskurve mehrere Samples aufnehmen, die dann im Scope zu einer Mittelwert-Kurve gemittelt werden.

Meine Frage ist, wie diese Mittelung stattfindet. Laut Handbuch besteht die Mittelungskurve aus 16-Bit-Werten. Das würde bedeuten, daß es nach 256 Samples u.U. zum Überlauf kommt und z.B. die

16-Bit-Werte um ein Bit geshiftet werden müßten (also halbiert). Aber das ist nur unsere naive Vorstellung. Weiß irgendwer, mit welchem Verfahren gemittelt wird? Vielen Dank!

Tschö, Torsten.

Reply to
Torsten Bronger
Loading thread data ...

Bei einer laufenden Mittelung, die da wohl arbeitet, werden ja die Zwischenergebnisse angezeigt, daher kann nicht einfach aufaddiert werden. Somit fällt Dein Problem weg.

Bei einer normalen linearen Mittelung gibst Du die Anzahl n vorher ein. Dann gilt bei Meßwerten x1..xn und Anzeigewerten a1..an

a[1] = x[1] a[2] = (a[1]+x[2])/2 a[3] = (2*a[2]+x[3])/3 a[4] = (3*a[3]+x[4])/4

==> a[n] = ((n-1)*a[n-1]+x[n])/n

Bei Erreichen von n wird gestoppt oder von vorn begonnen. Natürlich spürst Du auch hier irgendwann die 8bit-Auflösung beim Dividieren.

Es gibt aber auch die exponentielle Mittelung, wo man gar nichts eingeben muß, da wird einfach das bisherige Ergebnis fröhlich mit dem aktuellen Wert gemittelt, normalerweise fifty/fifty, manchmal kann man aber auch die Gewichtung g im Bereich 0..1 eingeben:

a[n] = g*a[n-1] + (1-g)*x[n]

Viele Grüße Steffen

Reply to
Steffen Buehler

... und ziemlich massiv. Bei 4 Samples geht der allererste Wert mit (laut deiner Rechnung) mit 3/4*(2/3*(1/2*x[1])) in die Rechnug ein. Da sich die relativen Fehler addieren, ist das natürlich ungleich schlimmer als 1/4*x[1]. Daher glaube ich nicht, daß das Scope es so macht.

Tschö, Torsten.

Reply to
Torsten Bronger

(16bit meinte ich natürlich.)

Ich habe die Firmware zu einem Scope geschrieben, die so arbeitete, und alle waren zufrieden. Sagen wir mal, x[1] sei 50000, dann kommen nur noch Nullen. 50000 durch 4 ist 12500.

Dann schaun mer mal:

50000/2 = 25000 25000*2 = 50000 50000/3 = 16666 16666*3 = 49998 49998/4 = 12499

Gaanz so schlimm ist's auch nicht, oder? Wenn man viel Zeit und Takt hat (damals nicht, war ein 12-MHz-68000 und Assembler), kann man die Zwischenergebnisse auch mit float speichern und die gerundeten int-Werte anzeigen.

Viele Grüße Steffen

Reply to
Steffen Buehler

Torsten Bronger schrieb:

Was Steffen darstellt, ist die übliche Mittelung mit einem digitalem Tiefpass. Das funktioniert einwandfrei, auch mit 8 Bit.

Wenn deine Eingangswerte 8bit breit sind, kannst du sie über 256 Werte mitteln ((n-1)*a[n-1]+a{n]), bevor es einen Überlauf gibt (intern mit

16bit gerechnet). Außerdem ist es nur ein Rechenschritt, z.B. bei 4 Samples:

a[neu] = (3*a[alt] + x[neu])/4

Alfred

Reply to
Alfred Gemsa

Nunja, bei vier Samples und x[1] = 9 würde x[1] mit 1 (statt mit 2) in den Mittelwert eingehen. Wenn ich erst alles addiere und dann dividiere, mache ich weniger Fehler, und trotzdem kann ich Zwischenergebnisse abgreifen.

Und was passiert ab 256 Samples?

Tschö, Torsten.

Reply to
Torsten Bronger

Steffen Buehler :

Es gibt auch den gleitenden Mittelwert. Da werden m-Messwerte zwischengespeichert und der jeweils jüngste dem Mittelwert dazuaddiert und der älteste abgezogen.

a(n) = a(n-1) - x(n-m) + x(n) Mittelwert = a(n)/m und die Zwischenspeicherung: x(n-m) = x(n-m+1) x(n-m+1) = x(n-m+2) ... x(n-1) = x(n)

M.

Reply to
Matthias Weingart

Am Sat, 25 Mar 2006 12:59:42 UTC schrieb Matthias Weingart :

Oder so, wenn der Speicherbereich endlich ist:

Sammel = Sammel + neu neu = letzter Messwert aus = Sammel / ANZ ANZ = Filterkonstante Sammel = Sammel - aus aus = gemittelter Wert

(keine Haftung bei Tippfehlern ...)

Ade

Reinhard

Reply to
Reinhard Forster

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.