Gast
#2525979
Hallo, Ich möchte mit meinem AVR ein Signal analysieren. Es handelt sich um einen "dreckigen" Sinus. Die Werte Werte stehen in einem Array. Ich möchte Periodendauer sowie die Werte der Minimas und Maximas ermitteln. Bisher glätte ich die Werte mit dem gleitenden Mittelwert und "durchsuche" anschließend das Array nach Maximas mit einer if-Abfrage:
1 | |
2 | |
Die Periode ermittel ich mit dem Abstand zwischen zwei gefundenen Maximas. Leider ist das Verfahren sehr ungenau. Um ungewollte Maximas zu eliminieren vergleiche ich data[i] mit dem Mittel der Folgewerte. Dies bringt zwar Besserung, ist aber immer noch unpräzise. Wie gehe ich die Sache richtig an? Nicht dass ihr mich falsch versteht, ich möchte von keinem eine fertige Lösung, aber es wäre toll wenn mir jemand den richtigen Weg zeigen könnte :-) Grüße Wolfgang