ノイズの種類と信号の種類によって異なります。良い答えが欲しい場合は例を示してください。ただし、一般的には、信号をローパスフィルター処理する必要があります。私があなただったら、フーリエパワースペクトルを調べて、ノイズの大部分が高周波であるかどうかを確認し、気になる信号の大部分が低い範囲にあることを確認します。それらが重なる場合、まあそれは人生です。もっと考えなければならない。
多くの場合、ノイズの多い信号に適した1つのローパスフィルターは、Savitzky-Golayフィルターです。これは数値レシピで説明されており、Pythonの場合はPython Numpy Cookbookに関数があります。小さなカーネルとのたたみ込みにすぎません。ピークまたは他の機能の幅に基づいてウィンドウサイズを選択します。これは、ノイズを取り除くのに十分な幅ですが、機能よりも広くはありません。それは小さい、例えば5ポイント、または数十のように大きく、100程度かもしれません。
多項式次数も選択します。通常、私は2または4を使用します。次数2は、ウィンドウが小さい場合、10ポイント未満、またはサイクルが半分未満の場合(信号が正弦波に類似している場合)、次数4の場合に適しています。歪んだピーク形状のマッチングは得意ですが、約9以上のポイントが必要です。しかし、多くはノイズの形状と周波数に依存します。
他のコメントで述べているように、導関数を見つけることはおそらく最善の戦略ではありませんが、とにかく導関数を見つけたい場合は、Savitzky-Golayフィルターがそれを行うことができます-信号の代わりに導関数を同時に平滑化して報告します。