Itu tergantung pada jenis kebisingan dan jenis sinyal. Perlihatkan contoh jika Anda menginginkan jawaban yang bagus. Tapi, yang mengatakan, secara umum Anda mungkin ingin menyaring sinyal low-pass. Jika saya jadi Anda, saya akan menggunakan spektrum daya Fourier untuk melihat apakah sebagian besar kebisingan adalah frekuensi tinggi, dan sinyal yang paling saya pedulikan adalah pada kisaran yang lebih rendah. Jika mereka tumpang tindih, oh well itu hidup. Saya harus berpikir lebih banyak tentang berbagai hal.
Satu filter low-pass yang bagus untuk sinyal berisik dalam banyak kasus adalah filter Savitzky-Golay. Ini dijelaskan dalam Numerical Recipes, dan untuk Python ada fungsi di Python Numpy Cookbook. Ini hanyalah konvolusi dengan kernel kecil. Anda memilih ukuran jendela berdasarkan lebar puncak atau fitur lainnya, cukup lebar untuk menghilangkan kebisingan, tetapi tidak lebih lebar dari fitur. Itu bisa kecil, katakan lima poin, atau lebih besar seperti lusinan, seratus mungkin.
Anda juga memilih urutan polinomial - biasanya saya menggunakan 2 atau 4. Pesanan 2 baik untuk ketika jendela kecil, <10 poin atau rentang kurang dari setengah siklus (jika sinyal Anda menyerupai sinus) sedangkan pesanan 4 adalah lebih baik dalam mencocokkan bentuk puncak terdistorsi, tetapi suka memiliki sekitar 9 poin atau lebih. Tetapi banyak tergantung pada bentuk dan frekuensi kebisingan.
Seperti yang lain katakan di komentar, menemukan turunan mungkin bukan strategi terbaik, tetapi jika Anda tetap ingin mencari turunan, filter Savitzky-Golay dapat melakukan itu - secara bersamaan menghaluskan dan melaporkan turunan alih-alih sinyal.