Description
Spike detection is one critical component of a spike sorting system. This thesis studied and analyzed several spike detection algorithms suitable for spike sorting systems. The algorithms were implemented in MATLAB to evaluate their overall performance in terms of probability of detection, probability of false alarms and probability of misses using synthetic and real datasets. Aditionally, a synthetic dataset was used to assess the impact of the algorithms on spike sorting. From our analysis, the RMS(1000) paired with the non-linear energy operator (NEO) resulted in the best overall performance and chosen as the candidate algorithm for hardware implementation. The candidate algorithm functions were optimized in order to find a more efficient hardware implementation. The RMS(1000) with the NEO operator algorithm was implemented in a standard 180-nm CMOS process consuming 15 μW of power from a 1.8V supply and occupies 0.226 mm2 of silicon area when operating at a frequency of 20 kHz.