2016-08-17 1 views
2

Was Sie hier sehen, ist ein Graph der Beschleunigung auf der vertikalen Achse (oder von Kopf bis Fuß) einer gehenden Person.Algorithmus zur Erkennung von Sägezähnen wie timeSeries

enter image description here

Ich möchte eine zuverlässige Methode zur Umsetzung dieses Bewegungsmuster zu erkennen und keine Schritte zu zählen.

Wie wir sofort bemerken können, entspricht jeder Schritt einer Spitze und Dip von der mittleren 10-10,5 ms^2 Linie.

Früher wollte ich auf einer Schwellenerkennung basierten Mechanismus, aber das ergab sehr schlechte Ergebnisse, weil es einige Variablen sind:

  1. Wenn die Person langsamer läuft oder schneller die Kurve in der Zeit erweitern würde Achse
  2. Wenn eine Person, die Schritte leichter oder schwerer dann sind die Spikes und Dips kleiner bzw. größer

jedoch in allen Fällen das Muster immer noch die gleiche ist, die eine Spitze und tauchen in fast regelmäßigen Abständen ist

, was der beste vernünftige Algorithmus ist dieses Muster mit hinreichender Genauigkeit und Rechenzeit

+0

auf http://dsp.stackexchange.com fragen Überlegen Sie, ob Sie eine Antwort nicht hier . – m69

+0

Ich würde mit einem Peak-Detektor beginnen. – user3386109

+0

Ich würde mit einer FFT der Autokorrelationsfunktion beginnen, um ein Leistungsspektrum zu erhalten, und dann den Peak finden. Fast sicher wird die Frequenz des Peaks sein, was Sie wollen. Wenn Sie den Spitzenwert mit dem Durchschnittswert vergleichen, erhalten Sie eine gute Schätzung der Zuverlässigkeit des Spitzenwerts. – Gene

Antwort

1

nie zu erkennen, etwas dagegen, ich es herausgefunden, es war eher sehr einfach, alles, was ich tun musste, war eine Rauschschwelle und eine Basis entscheiden Pegel oder Nullpegel dann einen Spitzendetektor auf sie

laufen folgende ist die abstrakte Prozedur

  • Basisebene in Echtzeit als Durchschnitt der letzten 30 Proben
  • berechnet
  • Werte über Grundniveau - Rauschschwellwert wurden als positive Spitzen
  • Werte unter Basisebene betrachtet - Rauschschwelle als negative Spitzen
  • Ein Paar von nachfolgenden positiven und negativen Spitzen innerhalb eines kurzen Intervalls von etwa ~ 500 ms erkannt betrachtet wurden, sind als Schritt betrachtet.

mit der richtigen Abstimmung der Genauigkeit ist ~ 98% und kann keine Schritte sehr zuverlässig genommen zählen

Verwandte Themen