Springen von ausgerechneten Messwerten vermeiden

Gast #3646884
Lesenswert?

Hallo,

ich möchte meine Frage an Hand eines Beispiels erläutern:

ADC-Wertebereich x : 0-1023
Resultierende Ausgangsgröße y mit Wertebereich: 100-227

=> y = x / 8 + 100

x    |    y
------------
0-7  |  100
8-15 |  101


Wenn jetzt mein gemessener Wert dauernd von 0-7 bzw. 8-15 schwankt, 
erhalte ich als Ergebnis stabil 100 bzw. 101. Wenn der Wert jetzt 
allerdings von 5-12 schwankt, wechselt mein Ergebnis ständig zwischen 
100 und 101 hin und her.

Welche Methoden verwendet ihr um so ein Schwanken der Messwerte zu 
vermeiden (Bitte mit kurzem Beispiel)?
Gast #3646910
Lesenswert?

Meiner Meinung nach hilft hier eine Mittelwertbildung nicht viel. Der 
Ausgangswert wird nur langsamer schwanken...

Mittelwert über 8 Werte:

x : 7, 10, 8, 9, 10, 9, 7, 7 => Mittelwert: 8 => Y = 101

Jetzt kommt als neuert Wert nochmal eine 7:

x : 10, 8, 9, 10, 9, 7, 7 => Mittelwert: 7 => Y = 100
Gast #3646944
Lesenswert?

Ups bei meinem 2. Beispiel fehlt die letzte 7. Dann ist der Mittelwert 
immer noch 8. Aber egal. Noch zwei 7 dann wechselt der Wert...

Meine einzige Idee war auch die Hysterese. Aber die Hysterese muss immer 
abhängig von der Berechnungsformel erstellt werden und das finde ich 
nicht so einfach, vor allem wenn die Berechnungsformel abhängig von 
anderen Parametern noch variiert...
#3646992
Lesenswert?

Das Problem ist doch einfach, dass du die ADU-Auflösung von 10 bit 
(0..1023) durch ein Teilen durch 8 auf effektiv 7 bit reduzierst. 
Geringere Auflösung -> "eckigere" Signale.
Hast du eine Auflösung, die groß genug ist, dann ist dir ein Schwanken 
irgendwann egal. Dann kann man das Schwanken sogar als weißes Rauschen 
annähern, das wird meistens bei der Charakterisierung von Messsytemen 
gemacht, die analog -> digital wandeln.
Gast #3647020
Lesenswert?

Irgendwann musst aber von einem angezeigten Wert zum Nächsten 
"umschalten".
Die einen verwenden: (-0,4) ... 0,4 ... 1,4 ... 2,4
Die anderen stehen auf:   0 ... 0,9 ... 1,9 ... 2,9
Mit gewissen Abstrichen lässt sich die Zappelei nicht vermeiden.
Natürlich kannst Du mit irgendwelchen cleveren Algorithmen die Anzeige 
so verfälschen, dass sie steht.
Solche Effekte ergeben sich vor allem dann, wenn sich die Realität in 
die Theorie einmischt.
Gast #3647159
Lesenswert?

Hi,
Wenn du Zeit hast:
null = 0
temp = neuer Messwert
rndH = Mittelwert

sub rndL,rndH
sbc rndH,null
add rndL,temp
adc rndH,null
cp  rndH,temp
brne PC+2
ldi rndL,127
fertig

ist gleitender Mittelwert auf deine 8 Bit zugeschnitten
viel Erfolg, Uwe

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