Allora potresti provare a fare così (è solo un'idea): fai il calcolo della media del segnale, poi fai una funzione che ti valuta per ogni valore del lo scarto dalla media, se due punti successivi hanno uno scarto che differisce più di una certa quantità allora sei in corrispondenza di uno spike...se fai un po' di prove penso tu possa riuscire a beccare un valore di compromesso. Se mandi un segnale magari posso fare delle prove anch'io (se puoi). Ciao!