PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gleitende Mittelwertbildung



farmerjo
11.12.2004, 18:31
Hi!
HAb folgendes Problem ich ahbe einen sehr stark schwankenden Flüssigkeitsstand, dass Messsignal ist daher auch sehr stark schwankend.
Jetzt möchte ich eine gleitende Mittelwert Bilung mit einem Mega 8 durchführen, weil ich damit die Schwankungen weggemittelt bekomme. Wie kann man so was machen, ich hab ja nicht endlos vile Variablen zru Verfügung?


Gruß Johann!

Joerg
11.12.2004, 18:47
Hi Johann,

Wie kann man so was machen, ich hab ja nicht endlos vile Variablen zru Verfügung?

kein Problem du brauchst auch nur zwei ;-)

Messwert += Neuwert
Messwert /= 2

HTH und Viele Grüße
Jörg

Thomson
11.12.2004, 19:09
Du kannst natürlich auch über mehrere Stufen mitteln, z.B.:

y(n) = (x(n)+x(n-1)+x(n-2)+x(n-3)) / 4;

PicNick
11.12.2004, 19:26
Oder
INIT:
Anzahl_messungen = 0
Durchschnitt = 0

Loop
temp = Durchschnitt * Anzahl_messungen + Neue_messung
Anzahl_messungen = Anzahl_messungen + 1 // neuer anzahl
Durchschnitt = temp / Anzahl_messungen // neuer durchs.
...
--> loop

farmerjo
11.12.2004, 19:41
Mit der ganz einfachen Methode klappt nicht gut, das ist noch zuviel Schwankung drin,hatte ich so auch mal in einer Simulation ausprobiert, dass muss glaub ich schon über mehrere Stufen gehen.
Aber das wird dann ja auch schnell eine relativ Resourcen raubende Angelegenheit, mal schauen wie das so klappt. Aber schon mal danke für die Tipps.

Gruß Johann!

Joerg
11.12.2004, 20:36
Hi Johann,

bedenke bitte, je mehr Stufen mit im Spiel sind, desto träger reagiert der Messwert auf echte Änderungen. Auch dauert es länger, bis der gemittelte Messwert sich dem echten Messwert angenähert hat.

Viele Grüße
Jörg

farmerjo
11.12.2004, 22:47
Ja das läst sich wohl nicht vermeiden, aber da der Flüssigkeitsstand immer hin und her schwappt muss ich da wohl mit Leben, ist aber auch nicht so wichtig, da er sich eher langsam verändert.
Ist dann ja im Grunde eine Sprungfunktion und da kann ich mit einer Totzeit von einer Minute ganz gut Leben.

Gruß Johann

PicNick
12.12.2004, 08:17
Wie mir scheint, solltest du eher immer den Minimal- und Maximalwert, und zwar strikt paarweise, verwenden. die beiden kannst Du dann mitteln.
Denk dran: wenn du in Zeitintervallen mißt und dann den Durchschnitt rechnest, ist der Tank schon lange leer, bis auch der Durchschnitt runtergeht.
Also ja nicht aufsummieren, sondern immer wieder neu beginnen.
mfg robert

martin
12.12.2004, 10:34
Hallo,

ich weiss nicht, welchen Sensor du verwendest (analog/digital), aber falls es ein analoger ist, könntest du ihn vor dem Digitalisieren einfach Tiefpassfiltern, dann musst du gar nix rechnen :-)

Grüsse, Martin

12.12.2004, 11:00
Wie mir scheint, solltest du eher immer den Minimal- und Maximalwert, und zwar strikt paarweise, verwenden. die beiden kannst Du dann mitteln.
Das wären die Werte, die die größten Fehler haben, deshalb sollten sie eher bei der Auswertung mit gerinerem Gewicht eingehen oder weggelassen werden. Von einem gleichen Abstand zum gesuchten Wert kann man kaum ausgehen.
Die Operation gleitene Mittelung ist ja auch nicht komplizierter als die Suche der Extremwerte, die ja immerhin auch gleitend sein müßte.
Grey

PicNick
12.12.2004, 12:28
@Gast/Martin: sicher habt ihr recht, wir gehen ja alle von einer periodischen Bewegung aus, also schreit aus dem Hintergrund irgendwie die Firma Integral, so oder so. Zeitkonstante hängt wohl mit der Viskosität zusammen. Schäumen sollt's auch nicht.
Noch was: was is, wenn das Gefäß Schräglage kriegt ? mfg robert