Hallo klotsche,
Zitat:Ich möchte ein Drucksignal 120 Sekunden lang mit 1000 Samples pro Sekunde aufnehmen. Dann möchte ich die 120 Sekunden in 8 Sekunden "Schnipsel" unterteilen.
Aus diesen 8 Sekunden möchte ich jetzt die Differenz zwischen dem höchsten gemessenen Druck und dem niedrigsten (Laut Physiklexikon heißt das "Druckamplitude").
Dann sollen sich die einzelnen 8 Sekunden Schnipsel noch 4 Sekunden überlappen. Am Ende sollen die gemessenen "Druckamplituden" in ein Signalverlaufsdiagramm über die Zeit abgetragen werden, sodass ich nach 120 Sekunden also 30 Werte haben müsste (Alle 4 Sekunden einen Wert).
So langsam wird der Nebel klarer…
Was du als "Amplitude" bezeichnest, bezeichnet ein Elektriker wie ich als "peak to peak". Die Amplitude ist dagegen der positive Spitzenwert einer gleichmäßigen Schwingung,
siehe Wikipedia.
Nun zum Problem:
Du könntest doch recht einfach immer 4000 Samples einlesen, die dann 4s Messdauer entsprechen.
Du benutzt immer den vorigen Block von 4000 Samples und den aktuellen, um auf deine 8000 Samples (bzw. 8s Schnipsel) zu kommen.
Darauf dann einfach ArrayMinMax anwenden und die Differenz davon berechnen. Diese dann merken…
Nach 120s hast du dann so deine 30 gesuchten "Spitze-Tal-Werte".
Zitat:Danach möchte ich mir vom gesamten Drucksignal noch die FFT anschauen und irgendwie über den gemessenen Druck an den Drehklang kommen
Die FFT über 120k Werte ist einfach, da gibt es ja fertige Funktionen für.
Was ist jetzt wieder "Drehklang"? Meinst du ein
Spektrogramm/Sonagramm/Campbell-Diagramm?