A certainty-based classification algorithm is described, which comprises part of a clinically used EMG signal decomposition system. This algorithm classifies a candidate motor unit action potential (MUAP) to the motor unit potential trian (MUAPT) that produces the greatest estimated certainty, provided this maximal certainty is above a given threshold. The algorithm is iterative, such that the certainty with which assignments are made increases with each pass through the data, and it has specific stopping criteria. The performance and sensitivity (to the assignment threshold) of the Certainty algorithm and an iterative minimum Euclidean distance (MED) algorithm are compared by classifying sets of MUAPs detected in real concentric needle-detected EMG signals, using a range of assignment thresholds for each algorithm. With regard to MUAP assignment and error rates, the Certainty algorithm consistently provides better mean results and, more importantly, less variable results than the MED algorithm. The Certainty algorithm can provide mean assignment and error rates of 80.8 and 1.5%, respectively, with a maximum error rate of 3.2%; the MED algorithm can provide mean assignment and error rates of 80.3 and 3.3%, respectively, with a maximum error rate of 6.5%. The Certainty algorithm is relatively insensitive to the certainty threshold used, can consistently differentiate between similarly shaped MUAPs from different MUAPTs, and can make correct classifications despite biological shape variability, background noise and signal shape nonstationarity.