![Laderegler Test Tueftler Blog mit Video Tutorials Laderegler Test Tueftler Seite](https://www.roboternetz.de/partner/Tueftler-Testberichte-Projekte-Solar-3D-Druck-Holzwerken-Haus-und-Garten-837x210.jpg)
Zeile 15: | Zeile 15: | ||
a = 1/2 | a = 1/2 | ||
− | t | + | t 0 1 2 3 4 5 6 7 8 9 |
− | 0 | + | x 0 0 50 50 50 50 50 50 40 50 |
− | 1 | + | y 0 0 25 37 43 46 48 49 45 47 |
− | 2 | + | |
− | 3 | + | |
− | 4 | + | |
− | 5 | + | |
− | 6 | + | |
− | 7 | + | |
− | 8 | + | |
− | 9 50 47 | + | |
Du siehst: Extrem effizient. Ein Variable (y) eine Programmzeile. Wenn man höhere Genauigkeit möchte, kann man Festkommazahlen verwenden. | Du siehst: Extrem effizient. Ein Variable (y) eine Programmzeile. Wenn man höhere Genauigkeit möchte, kann man Festkommazahlen verwenden. |
Version vom 29. Dezember 2009, 11:50 Uhr
Ich empfehle eine Algorithmus, der in etwa einer exponentiellen Glättung entspricht. Dies Methode ist deutlich einfacher zu implementieren und liefert bereits ab dem ersten Messwert sinnvolle Ergebnisse. Nachteil/Vorteil (je nach Applikation) reagiert schneller auf Änderungen.
y(t) = a * (y(t-1)) + (1-a) * x
y(t): neuer Schätzwert y(t-1): alter Schätzwert x: neuer Messwert a: Gewicht im Bereich 0..1
Bei z.B. a=1/2 werden neuer Messwert und alter Schätzwert gleich Gewichtet. Bei 2/3 wird mehr Gewicht auf den alten Schätzwerr gelegt, d.h. die Werte ändern sich bei Spüngen langsamer. Zu empfehlen sind Zweierpotenzen. Dann kann man mit Shift-Operationen auskommen und auf Fließkomma-Verarbeitungen verzichten. Die ist auf µCs äußerst ineffizient.
Also (in C) a= 1/2: y = (y >> 1) + (x >> 1) (vermeidet Überläufe) oder y = (y + x) >> 1 (ist genauer)
a= 1/4: y = (y >> 2) * 3 + (x >> 2) y = ((y * 3) >> 2) + (x >> 2)
a = 1/2
t 0 1 2 3 4 5 6 7 8 9
x 0 0 50 50 50 50 50 50 40 50
y 0 0 25 37 43 46 48 49 45 47
Du siehst: Extrem effizient. Ein Variable (y) eine Programmzeile. Wenn man höhere Genauigkeit möchte, kann man Festkommazahlen verwenden.
Wenn man ein System beschreiben will, bei dem Schwankungen/Sprünge nicht zufällig auftreten, sollte man sich überlegen, eine einfache Glättung zu nutzen. In deinem Beispiel sieht es so aus, als ob eine Spannungsquelle eingeschaltet wird. Da sollte man etwas einbauen, dass einen solchen Sprung erkennt und die alten Werte verwirft. Der langsame Spannungsanstieg, der durch die Glättung ermittelt wird, ist nur vorgetäuscht.
Im weiteren verlauf deines Beispiels tauchen (zufällige) Messwertschwankungen auf, die lassen sich durch eine Glättung wirklich gut ausmitteln.
![LiFePO4 Speicher Test LiFePO4 Speicher Test](https://www.roboternetz.de/partner/solarspeicher-speicher-akkus-test.jpg)