Joe.Baer schrieb:
zu 4.:
komme ich nicht ganz mit
"Bei der Suche nach Änderungen benutzt du alle Werte des FIFO. Fidest du aber eine und die Zahl neuer Werte ist kleiner 10, so kopierst du nur soviele Werte, wie der Zähler angibt. "
Angenommen, der FIFO enthalte:
1,2,2,2,1,2,2,2,2,8
Der Zähler für neue Werte steht auf 10. Er wird bei jedem Eintrag in den FIFO erhöht, jedoch auf 10 begrenzt. Nach einem Neuanlauf des Programms, kannst du noch einen Merker setzen, sobald der Zähler zum 1.Mal 10 erreicht. Erst dann würdest du mit der Prüfung auf Änderungen beginnen.
Du stellst zum 1. Mal eine Änderung fest und kopierst alles in den Datenspeicher
1,2,2,2,1,2,2,2,2,8
Du setzt den Zähler auf 0.
Nun sei der nächste Meßwert 8. Der FIFO ist jetzt:
2,2,2,1,2,2,2,2,8,8
Der Zähler 1
Da die Suche nach Änderungen alle Elemente des FIFO benutzt, ist es wieder eine Änderung. Du willst aber nur den neuen Wert in den Datenspeicher schreiben, und nicht die 9, die schon drin sind. Du schreibst nur einen, da der Zähler 1 ist.
Datenspeicher:
1,2,2,2,1,2,2,2,2,8.8
und setzt den Zähler auf 0.
Wenn nun jeder weitere Meßwert 8 wäre, erhälst du nach einigen Zyklen:
2,8,8,8,8,8,8,8,8,8,8 im FIFO und
1,2,2,2,1,2,2,2,2,8.8,8,8,8,8,8,8,8,8,8,8,
im Datenspeicher. Das ist das letztemal, daß eine Änderung erkannt wird.
Kommen nun andere Meßwerte, z.B. 4 so wäre daß eine Änderung.
Kommt eine 8, ist keine Änderung da, aber du zählst den Zähler hoch, hast also einen neuen Wert im FIFO.
Kommt nun eine 4 so wäre daß eine Änderung, aber du hast jetzt 2 stat einen neuen Wert im FIFO und kopierst die 8,4 in den Datenspeicher.
Das Endergebnis ist:
1. Wenn die 1. Änderung erkannt wird, wird zusätzlich eine Vorgeschichte mit der Länge des FIFOs-1 gespeichert.
2. Nach der letzten Änderung wirden zusätzlich Nachfolgewerte bis zur Länge des FIFOs-1 gespeichert, da ja die Änderung noch im FIFO ist.
3. Tritt zwischen zwei Änderungen eine Reihe von mehr als (2*FIFO-Länge-1) Werte auf, die keine signifikanten Änderungen enthalten, so werden von ihnen 9 als "Nachgeschichte" der einen und 9 als Vorgeschichte der anderen Änderung gespeichert.
Dies scheint bei der mir "Nachgeschichte" auch sinnvoll, da im Übergang in den stationären Zustand dem Signal sicher noch eine Schwingung überlagert ist, die zwar untehalb der "Signifikanzschwelle" (dem Wert RMS/AVR, ab dem es als "Änderung" gilt) liegt, aber dennoch zeigen kann, daß ein reguläres Einschwingen stattfand. Bei der Vorgeschichte erlaubt es einen Eindruck, wie die Regelqualität vor dem Auftreten der Änderung war.