Dies hängt von der Art des Rauschens und der Art des Signals ab. Zeigen Sie ein Beispiel, wenn Sie eine gute Antwort wünschen. Im Allgemeinen möchten Sie das Signal jedoch wahrscheinlich tiefpassfiltern. Wenn ich Sie wäre, würde ich ein Fourier-Leistungsspektrum nehmen, um zu sehen, ob der größte Teil des Rauschens hochfrequent ist und das Signal, das mir wichtig ist, hauptsächlich in einem niedrigeren Bereich liegt. Wenn sie sich überschneiden, ist das das Leben. Ich müsste mehr über Dinge nachdenken.
Ein Tiefpassfilter, der in vielen Fällen für verrauschte Signale geeignet ist, ist das Savitzky-Golay-Filter. Es wird in Numerical Recipes beschrieben, und für Python gibt es eine Funktion im Python Numpy Cookbook. Es ist nur eine Faltung mit einem kleinen Kernel. Sie wählen die Fenstergröße basierend auf der Breite der Peaks oder anderer Features aus, die breit genug sind, um das Rauschen zu unterdrücken, aber nicht breiter als die Features. Es kann klein sein, sagen wir fünf Punkte, oder größer wie Dutzende, vielleicht hundert.
Sie wählen auch eine Polynomreihenfolge - normalerweise verwende ich 2 oder 4. Ordnung 2 ist in Ordnung, wenn das Fenster klein ist, <10 Punkte oder weniger als einen halben Zyklus umfasst (wenn Ihr Signal einem Sinus ähnelt), während Ordnung 4 ist Besser bei der Anpassung verzerrter Peakformen, hat aber gerne 9 oder mehr Punkte. Viel hängt jedoch von der Form und Frequenz des Geräusches ab.
Wie andere in den Kommentaren sagen, ist das Finden von Derivaten wahrscheinlich nicht die beste Strategie, aber wenn Sie trotzdem Derivate finden möchten, kann der Savitzky-Golay-Filter dies tun - gleichzeitig das Derivat anstelle des Signals glätten und melden.