ich bin schon länger mit Python im wissenschaftlichen Bereich unterwegs, komme aber bei folgendem Problem weder zu einer sinnvollen noch zu einer funktionierenden Lösung.
Aus einer Messung mit zwei unterschiedlichen Geräten habe ich zwei x-y Datensätze.
x1 = Zeit in min.
x2 = Zeit in sec.
y1 = Signal1
y2 = Signal2
Leider haben die beiden Messgeräte unterschiedliche Sampling-Raten die zusätzlich auch nicht konstant sind. Signal1 ist stetig und hat einen unspektakulären Verlauf. Signal2 hingegen ist unstetig und sieht einem Sägezahn-Profil ähnlich:
Code: Alles auswählen
__ __
/ | /
/ |/
Mein Ziel ist letztlich ein Plot: y: Signal1, x: Signal2 für jedes Sägezahnsegment zu erhalten. Leider gestaltet sich dies, aufgrund der unterschiedlichen Sampling-Raten schwierig.
Bisher habe ich versucht mit scipy.interpolate (linear) ein resampling der beiden Signale durchzuführen. Prinzipiell funktioniert das zwar, aber die Grenzen beim Trennen der Signalsegmente leiden durch die Interpolation.
Da die Zeitsignale keine Integer, sondern Floats mit einigen Dezimalstellen sind, kann ich die Segmente auch schlecht mittels der jeweiligen Zeitwerte trennen, da ich die Grenzen nicht exakt zuordnen kann. Wenn ich die Zeiten runde und einen kleinen Shift in kauf nehme, dann zieht mir das resampling, wegen der Interpolation, mein Signal in unsinnige Bereiche (der Fuß des Sägezahn wird z.B. < 0). Ich bräuchte eine Interpolationsmethode zum resampling die den Start- und Endpunkt exakt beibehält.
Kann mir jemand einen Tipp geben, wie ich so etwas bewerkstelligen kann?
Vielen Dank!
zweihorn