An apparatus configured to detect at least one characteristic associated with an input signal waveform representing an electrocardiographic signal of a patient, wherein the at least one characteristic being detected by the apparatus is the presence of a P-wave, the apparatus comprising: an acquisition processor that is configured to acquire data representing a sequence of successive pulses of heartbeat of a patient; a computation processor electrically coupled to said acquisition processor that, for each heartbeat pulse, is configured to identify a portion of the input signal that may include the at least one characteristic and, for the identified portion of the input signal, measure a first and second feature associated therewith, the identified portion of the input signal representing a candidate P-wave and being within a window of time occurring at a predetermined time prior to an R-wave of the same heartbeat pulse; calculate a composite feature value using the first and the second feature, the composite feature value representing the likelihood that the at least one characteristic is present in the identified portion of the input signal; and compare the calculated composite feature value to a classification threshold value; and an output processor electrically coupled to said computation processor that is configured to generate data indicating the presence of the at least one characteristic in response to a determination that the calculated composite feature value exceeds the classification threshold; wherein in response to detecting a plurality of peaks within the window, the computation processor is configured to select one of the plurality of peaks as the candidate P-wave by selecting a first peak of the plurality of peaks having the greatest amplitude, measuring a distance between the first peak and a peak of an R-wave of a preceding heartbeat waveform, and comparing the measured distance to a predetermined threshold, wherein the selected first peak is identified as the candidate P-wave when the measured distance exceeds the predetermined threshold. an acquisition processor that is configured to acquire data representing a sequence of successive pulses of heartbeat of a patient; a computation processor electrically coupled to said acquisition processor that, for each heartbeat pulse, is configured to identify a portion of the input signal that may include the at least one characteristic and, for the identified portion of the input signal, measure a first and second feature associated therewith, the identified portion of the input signal representing a candidate P-wave and being within a window of time occurring at a predetermined time prior to an R-wave of the same heartbeat pulse; calculate a composite feature value using the first and the second feature, the composite feature value representing the likelihood that the at least one characteristic is present in the identified portion of the input signal; and compare the calculated composite feature value to a classification threshold value; and is configured to identify a portion of the input signal that may include the at least one characteristic and, for the identified portion of the input signal, measure a first and second feature associated therewith, the identified portion of the input signal representing a candidate P-wave and being within a window of time occurring at a predetermined time prior to an R-wave of the same heartbeat pulse; calculate a composite feature value using the first and the second feature, the composite feature value representing the likelihood that the at least one characteristic is present in the identified portion of the input signal; and compare the calculated composite feature value to a classification threshold value; and an output processor electrically coupled to said computation processor that is configured to generate data indicating the presence of the at least one characteristic in response to a determination that the calculated composite feature value exceeds the classification threshold; wherein in response to detecting a plurality of peaks within the window, the computation processor is configured to select one of the plurality of peaks as the candidate P-wave by selecting a first peak of the plurality of peaks having the greatest amplitude, measuring a distance between the first peak and a peak of an R-wave of a preceding heartbeat waveform, and comparing the measured distance to a predetermined threshold, wherein the selected first peak is identified as the candidate P-wave when the measured distance exceeds the predetermined threshold.