fablabcb / CitRad-SensorUnit

Citizen Science Traffic Radar
GNU General Public License v3.0
5 stars 1 forks source link

Gauß Kernel Glättung #13

Open nFrechen opened 4 hours ago

nFrechen commented 4 hours ago

Für die Auto-Trigger-Berechnung brauche ich eine Glättung die zeitlich symmetrisch ist, also genauso viel Werte aus der Vergangenheit wie aus der Zukunft verrechnet. D.h man müsste n Werte als Array vorhalten und die Berechnung erst machen wenn n Werte aufgezeichnet wurden. Das Ergebnis kann man dann erst speichern wenn genug Werte aufgelaufen sind mit dem Zeitstempel um (n-1)/2 versetzt. Von daher müsste man das eventuell in eine zweite csv-Datei speichern oder in der schon existierenden CSV-Datei kenntlich machen dass der Wert um (n-1)/2 zeitlich verschoben ist.

$$w(i)=e^{-\frac{1}{2} \left ( \frac{i-(n-1)/2}{\sigma (n-1)/2} \right)^{2}}$$

mit $\sigma = 1/4$. $i$ ist der index im Fenster.

n konfigurierbar. Im Moment rechne ich mit n=31. Nur ungerades n verwenden.

Das Fenster müsste man beim booten vorberechnen können und dann als Array vorhalten.

Wir hatten darüber diskutiert wie man das ganze mit einem Ringspeicher umsetzen kann.

nFrechen commented 3 hours ago

Noch besser wäre das Hann-Fenster

$$ w(i)={\frac {1}{2}}\left[1-\cos \left({\frac {2\pi i}{n-1}}\right)\right]$$