Lopende mediaan bereken


hallo ,

ik ben bezig met een project voor school.
hierbij krijg ik metingen van een hc-sr04, tot hiertoe geen probleem.

met deze metingen sturen dan een transportband aan. het project werkt dus zoals het moet.
aventoe zit er in deze meting een piekwaarde die onrealistisch hoog waardoor schokken krijgen.

we zouden dit graag oplossen met een runningmedian.
jammer genoeg hebben wij hier niet genoeg ervaring voor.
ik vraag dus om jullie hulp om kort de runningmedian functie uit te leggen zodat deze kunnen integreren in ons programma.

alvast bedankt, stijn & co.


deze gelezen - http://playground.arduino.cc/main/runningmedian - ?

idee dat de metingen in een circulaire buffer geplaatst worden zodat je bv altijd de laatste 5 of 13 hebt.
deze waarden sorteer je (in een 2e array) en dan neem je de middelste waarde daarvan.

als de buffer een grootte heeft dan neem je het gemiddelde van de middelste 2 waarden. dit kan bv nodig zijn bij het initieel vullen van de buffer.

mbt schokken:
hoe langer de piekwaarde run (aantal foute metingen direct na elkaar), hoe groter de buffer. als het echt incidentele pieken zijn een buffersize van 5 voldoende, komen ze bv met max 3 tegelijk dan moet je de buffer size minimaal 9 zijn. in formule minimale buffersize = 3 + 2x max runlength.




Arduino Forum > International > Nederlands (Moderators: Jantje, JO3RI) > Lopende mediaan bereken


arduino

Comments