A method of performing electrocardiogram recognition comprising: receiving input from a user; filtering 408 the input; performing feature extraction 418 on the input by autocorrelation 416 to provide a first feature set; performing spectral analysis (e.g. using Pan-Tompkins 412) of the input to provide a second feature set in a frequency domain; combining the first and second feature sets to provide a combined feature vector 420; performing dimensionality reduction 422 on the combined feature vector to give a reduced feature vector; performing classification of the reduced feature vector to give a recognition decision, and/or storing the reduced feature vector for future recognition. By performing dimensionality reduction on the combined feature vector, the method is not constrained to any particular feature set nor vector size in either the time domain or in the frequency domain, but is able to optimally extract useful distinguishing features in each domain while resulting in a feature vector of a manageable length. Preferably the spectral analysis is performed on a representative PQRST curve, or PQRST curves that are time-shifted and superimposed to provide an average PQRST curve.