Gesucht: Höhen und Tiefen Algorithm

J

JimTex

Guest
Ich bin für eine zuverlässige algroithm zu finden und zu charakterisieren die Höhen und Tiefen in Zeitreihendaten suchen. Meine Zeitreihen ist relativ kurz (500-1000 Punkte) und dem primären Höhen und Tiefen werden nicht wiederholt. Bitte beachten Sie das beigefügte Bild. Dank Jim
 
wenn eine Probe ist kleiner als es die bisherige Probe und auch kleiner als die nächste Probe, dann ist das Beispiel ist ein Trog. Eine ähnliche Logik kann gebildet, um Spitzen zu finden.
 
Sie haben sich Tiefpass die Daten zuerst, sonst erhalten Sie zu viele falsche Tröge Hier ist ein Beispiel-Skript Ich warf zusammen: [size = 2] [color = # 999999] Hinzugefügt nach 8 Sekunden: [/color] [/size]% erstellen ein Signal, das irgendwie aussieht wie Ihre t = 1:1000; noise = randn (1, length (Signal)); Signal = 10 * sin (.02 * t) + 4 * sin (.05 * t) + Lärm;% Output-Vektor-Ausgang = zeros (1, length (Signal));% Lowpass das Signal, um loszuwerden, Hochfrequenz-Inhalt. Beachten Sie, dass% filtfilt wird vermieden, Vorspannung des Signals. Die genauen Werte des Filters% wurden optimiert, bis sie rechts [ba] = Butter (4, .05) sah; lowpass_signal = (filtfilt (b, a, Signal)); plot (t, Signal-, t, lowpass_signal); Titel ('Vergleich der Signale'); legend ('Original', 'gefilterte');% Finde die Geschwindigkeit der Änderung des gefilterten Signals Steigung = diff (lowpass_signal);% Trough:% Steigung Null, weniger als um Werte% Stecken Sie ein -1 in der Ausgabe-Vektor an dieser Stelle% Peak:% Steigung Null, größer als das umgebende Werte% Plug a -1 in das Output-Vektor an dieser Stelle für i = 1: (length (Signal) -6) if (abs (Steigung (i))
 

Welcome to EDABoard.com

Sponsor

Back
Top