Next Article in Journal
DAFF-Net: A Dual-Branch Attention-Guided Feature Fusion Network for Vehicle Re-Identification
Next Article in Special Issue
Ensemble Modeling of Multiple Physical Indicators to Dynamically Phenotype Autism Spectrum Disorder
Previous Article in Journal
Online Imputation of Corrupted Glucose Sensor Data Using Deep Neural Networks and Physiological Inputs
Previous Article in Special Issue
Multimodal LLM vs. Human-Measured Features for AI Predictions of Autism in Home Videos
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

ECG Signal Analysis and Abnormality Detection Application

Faculty of BERG, Technical University of Kosice, Nemcovej 3, 04200 Kosice, Slovakia
*
Authors to whom correspondence should be addressed.
Algorithms 2025, 18(11), 689; https://doi.org/10.3390/a18110689
Submission received: 1 October 2025 / Revised: 20 October 2025 / Accepted: 23 October 2025 / Published: 29 October 2025
(This article belongs to the Special Issue Algorithms for Computer Aided Diagnosis: 2nd Edition)

Abstract

The electrocardiogram (ECG) signal carries information crucial for health assessment, but its analysis can be challenging due to noise and signal variability; therefore, automated processing focused on noise removal and detection of key features is necessary. This paper introduces an ECG signal analysis and abnormality detection application developed to process single-lead ECG signals. In this study, the Lobachevsky University database (LUDB) was used as the source of ECG signals, as it includes annotated recordings using a multi-class, multi-label taxonomy that covers several diagnostic categories, each with specific diagnoses that reflect clinical ECG interpretation practices. The main aim of the paper is to provide a tool that efficiently filters noisy ECG data, accurately detects the QRS complex, PQ and QT intervals, calculates heart rate, and compares these values with normal ranges based on age and gender. Additionally, a multi-class, multi-label SVM-based model was developed and integrated into the application for heart abnormality diagnostics, i.e., assigning one or several diagnoses from various diagnostic categories. The MATLAB-based application is capable of processing raw ECG signals, allowing the use of ECG records not only from LUDB but also from other databases.

1. Introduction

The Electrocardiogram (ECG) is a fundamental diagnostic tool in cardiology, providing a graphical representation of the heart’s electrical activity. In a standard 12-lead ECG (see Figure 1), electrical activity is recorded from multiple perspectives (leads), each providing unique diagnostic information. The most commonly used leads include precordial (chest) leads (V1—V6) and limb leads (I, II, III, aVR, aVL, aVF), which capture the heart’s electrical signal along different axes, emphasising various aspects of cardiac function and pathology. The analysis of ECG signals is crucial for detecting various cardiac abnormalities, from rhythm disorders to myocardial ischemia [1]. Traditional ECG analysis relies on visual inspection by cardiologists, but the increasing demand for continuous monitoring (e.g., Holter monitoring [2], wearable devices [3], etc.) has driven the need for automated, accurate, and user-friendly analysis tools.
Raw ECG signals are frequently affected by various noise sources, including muscle artefacts, baseline wander, and power line interference, thus, standard ECG signal processing methods involve filtering to remove noise, and methods for detecting characteristic morphological features, such as the wavelet transforms for time-frequency analysis, and algorithms like Pan-Tompkins for QRS complex detection, time windowing and slope analysis, and the maximum slope intercept method for the identification of beginnings and ends of certain waves [4,5,6,7,8].
Low-pass filters are essential for removing high-frequency noise while preserving diagnostically important components like P, QRS, and T waves. Typical cutoff frequencies range from 40 to 150 Hz. On the other hand, high-pass filters reduce slow signal variations (e.g., baseline drift), usually removing components below 0.5 to 5 Hz. Filters such as Butterworth, FIR (Finite Impulse Response) and IIR (Infinite Impulse Response) are commonly used, often together, to produce a clear signal.
The Pan-Tompkins algorithm, a widely used real-time method for detecting QRS complexes, involves several digital signal processing routines, including bandpass filtering with a cascade of low-pass and high-pass filters to remove high-frequency noise such as power-line interference and muscle noise, as well as low-frequency components like baseline drift and baseline wander to concentrate QRS energy. Subsequently, differentiation emphasises steep slopes characteristic of the R wave, and squaring removes negative values while emphasising large derivatives. Additionally, moving window integration smooths the signal and provides information about the QRS width and shape, while adaptive thresholding, which uses signal and noise peak estimations to set thresholds that adapt to signal variations, is employed to accurately identify QRS complexes by distinguishing cardiac events from noise and artefacts.
Time Windowing and Slope Analysis is commonly employed to identify the P wave peak and subsequently determine the start and end of the P wave. The ECG signal is initially pre-processed to remove high-frequency noise, power line interference, and baseline wander that could mask the P waves. Next, locating the QRS complex is crucial, as the position of the P wave can mainly be estimated relative to the QRS complex. A time window preceding the R wave peak is then used to focus the search for the P wave peak, which is the maximum before the R wave peak, followed by slope analysis. During this process, a positive slope occurring after a period of near-zero slope indicates the start of the P wave, while a negative slope followed by a near-zero slope marks its end.
The maximum slope intercept method is a technique used to identify the end of the T wave, and it is highly effective when the T wave is notched or fused with a U wave. Similar to the previous method, the ECG signal must first be pre-processed, including filtering and differentiation. The next step involves locating the point of maximum negative slope of the T wave and drawing a tangent line at this point. The intersection of this tangent with the isoelectric line marks the end of the T wave.
The techniques mentioned above are closely related to various software capable of processing digitised signals; one of these is MATLAB, which was selected in this work for ECG signal processing and for developing the graphical user interface (GUI) for the application. An overview of algorithms and tools implemented in the MATLAB environment, suitable for generating or processing ECG signals, is provided in Table A2.
Recent advances in deep learning techniques have demonstrated notable success in ECG diagnostics [9]. For instance, convolutional neural networks (CNNs) have become widely used in ECG signal processing, particularly for arrhythmia detection, due to their ability to extract relevant features from ECG signals automatically [10,11]. On the other hand, Support Vector Machines (SVMs) were effectively applied to identify patterns and anomalies in ECG signals by determining an optimal hyperplane to separate different classes of arrhythmia, heartbeats, or other conditions with high accuracy [12,13,14,15,16]. SVMs can handle a large number of features, which is typical in ECG data, and remain effective even when the number of training samples is relatively small compared to the number of features, unlike CNNs. Moreover, SVM models are suitable for implementation in hardware systems (wearable ECG monitoring devices) for real-time ECG analysis, enabling portable and continuous monitoring and early detection of heart conditions. SVMs are sometimes combined with other machine learning methods, such as CNNs, to utilise the strengths of both approaches.
There are many collections of ECG signals; one of the most well-known is the MIT-BIH Arrhythmia Database [17], but one can also find the European ST-T Database [18], the QT Database [19], PTB-XL dataset [20], and others. In this study, the Lobachevsky University database (LUDB) was used as the source of the ECG signals [21], consisting of annotated ECG recordings employing a multi-class, multi-label taxonomy that covers eight diagnostic categories with several specific diagnoses in each category, reflecting clinical ECG interpretation practices. The reason for choosing LUDB over other databases is that, in addition to its multi-class, multi-label format, it also contains ground truth annotations of the diagnoses, which are necessary for the correct evaluation of the proposed classification algorithm.
This paper presents a user-friendly MATLAB App Designer application developed for automated analysis of single-lead ECG signals. Its primary aim is to provide a tool that effectively filters noisy ECG data, accurately detects the QRS complex, PQ and QT intervals, and heart rate, and compares these with normal ranges based on age and gender [22]. Additionally, a multi-class multi-label SVM-based model was created and integrated into the application for heart abnormality diagnostics. The application was designed to process raw ECG signals, allowing for the use of ECG records not only from LUDB but also from other databases.

2. Preliminaries

2.1. ECG Signal: Biological and Medical Significance

The Electrocardiogram (ECG) is a time-varying graphical representation of the heart’s electrical activity, providing invaluable insights into its physiological condition. This electrical activity originates from the rhythmic depolarisation and repolarisation of myocardial cells, initiated by specialised pacemaker cells within the heart. These electrical impulses propagate through a precise conduction system, resulting in coordinated myocardial contractions and effective blood circulation throughout the body. The ECG records these voltage variations over time, providing a non-invasive window into cardiac function [1,23].
While a standard 12-lead ECG (Figure 1) offers a snapshot of cardiac activity, continuous ECG monitoring (e.g., Holter monitoring) is essential for detecting intermittent arrhythmias or transient ischaemic events that may not be observed during outpatient examinations [2,3]. Modern advancements in wearable technology and mobile health applications further extend ECG monitoring capabilities, allowing for convenient single-lead recordings and automated preliminary rhythm analysis, often with connectivity to cloud platforms for remote physician review [8,24]. These innovations underscore the evolving landscape of ECG diagnostics, moving towards more accessible and continuous cardiac health surveillance.

2.2. ECG Waveform

A typical ECG waveform for a single cardiac cycle features a straight baseline (isoelectric line) with distinct waves conventionally labelled P, Q, R, S, T, and U; the Q, R, and S waves together form a QRS complex [1,23,25]. These waves represent electrical activity caused by depolarisation and repolarisation of the atria and ventricles, while the isoelectric line (also called the baseline) occurs as a result of the heart’s resting state, i.e., during periods of no electrical activity in the heart, with the absence of depolarisation or repolarisation in the cardiac muscle. The isoelectric line appears as a straight line on the ECG record, where there are no positive or negative electrical charges to cause deflections; thus, it serves as the baseline from which all other ECG waves, intervals, and segments are measured. Positive or negative deflections in an ECG indicate the direction of electrical activity relative to the recording electrode. If the electrical current flows towards the lead, a positive deflection will be observed; if it flows away, a negative deflection occurs. Waveforms that have amplitude both above and below the isoelectric line are called biphasic. Each heartbeat is represented by one ECG complex (Figure 2), e.g., a normal sinus rhythm is characterised by a P wave followed by a QRS complex and then a T wave for each heartbeat.

2.3. Segments and Intervals

Segments represent periods in an ECG during which an equilibrium between the entry and exit of ions across the cell membranes is maintained. In an electrical sense, no significant potential difference is created; therefore, segments are typically isoelectric, lying on the baseline of the ECG between two waves, while the waves themselves do not belong to them. The PR segment is an electrically neutral period between the end of the P wave and the beginning of the QRS complex, representing the delay in conduction from atrial depolarisation to the beginning of ventricular depolarisation. The ST segment is the interval between the end of the QRS complex and the beginning of the T wave, representing the period between depolarisation and repolarisation of the ventricles. During this time, the ventricles are fully depolarised, so this segment is electrically neutral. The TP segment, which is the line between the end of the T wave and the beginning of the P wave, represents a period of electrical inactivity in the heart’s electrical cycle, serving as a crucial reference point for measuring deviations in other ECG segments. It is, in fact, the isoelectric line (baseline).
Intervals, on the other hand, represent an entire period between two precisely defined points on the ECG, including not only segments, but also waves that are in this interval. The PQ interval (also called the PR interval) includes both the P wave and the PR segment, representing the time it takes for the electrical impulse to travel from the atria to the ventricles, starting with atrial depolarisation and ending with ventricular depolarisation. The QT interval extends from the start of the QRS complex to the end of the T wave. When a large U wave is fused with the T wave, the U wave should also be included. The QT interval represents the electrical systole, indicating the duration of full depolarisation and subsequent repolarisation of the ventricles, and it is inversely proportional to the heart rate; therefore, the so-called QTc values (QT with frequency correction) are used in practice.

2.4. QRS Complex—RR Interval—Heartbeat—Heart Rate

The QRS complex consists of three waves: the negative Q wave, the positive R wave, and the negative S wave. It records the propagation of the electrical impulse through the ventricles, leading to ventricular contractions (ventricular depolarisation) [26]. From a diagnostic perspective, the QRS complex holds particular importance, as it is crucial for evaluating heart rhythm, conduction, and ventricular function. Abnormalities in QRS duration, morphology (shape), amplitude, and electrical axis provide critical information about the integrity of the ventricular conduction system.
RR interval denotes the time that elapses between two R waves in the ECG. The heartbeat represents the rhythmic electrical activity of the heart that drives its contraction and relaxation cycles. Each beat is initiated by an electrical impulse originating in the sinoatrial node, which propagates through the atria and ventricles. The heart rate, expressed in number of beats per minute (bpm), can be calculated by measuring the time interval between consecutive R waves in the QRS complex, which corresponds to ventricular depolarisation.

2.5. Normal Ranges of Selected ECG Signal Parameters

In [22], normal ranges for several ECG parameters were examined, and among other results, the lead-independent ECG parameters with median (2nd percentile, 98th percentile) across various age groups were summarised. This included the QRS complex duration, durations of the PQ interval and QT interval, and heart rate (see Table 1), which were used in this paper as reference values for differentiating between individuals suffering from only one diagnosis and individuals suffering from several diagnoses.

3. DATASET—The Lobachevsky University Electrocardiography Database

In this study, the Lobachevsky University database (LUDB) was used as the source of the ECG signals. The LUDB [27] accessible via PhysioNet [28] contains 200 recordings of 10-s 12-lead ECGs collected during 2017–2018. It comprises data from 200 subjects aged 11–90 years (average age 52 ), with 85 female and 115 male participants. The population includes healthy individuals, pacemaker patients, and persons with various cardiovascular conditions or abnormalities. The recordings were taken using a Schiller Cardiovit AT--101 cardiograph, with standard 12 leads (I, II, III, aVR, aVL, aVF, V1, V2, V3, V4, V5, V6), at a sampling rate of 500 Hz. All ECG recordings were independently examined and manually annotated by certified cardiologists for each of the 12 leads, comprising 58,429 annotated waves and boundaries in total: 16,797 P waves, 21,966 QRS complexes, and 19,666 T waves. This makes the dataset highly detailed and suitable for validating ECG delineation and diagnostic algorithms. Furthermore, the ECG recordings are annotated using a multi-class, multi-label taxonomy that covers several diagnostic categories. Each recording can be linked to multiple diagnostic categories and specific diagnoses, reflecting clinical ECG interpretation practices. The diagnostic categories (classes) include Heart rhythms, the Electric axis of the heart, Conduction abnormalities, Extrasystoles, Hypertrophies, Cardiac pacing, Ischaemia, and Non-specific repolarisation abnormalities. The detailed list of the distribution of LUDB patients’ diagnoses (labels), which are grouped into the diagnostic categories (classes), is shown in Table A1. A single patient can have multiple diagnoses from different categories, and sometimes even several diagnoses within the same category, which is valid for some categories, making the LUDB ideal for training a multi-class multi-label model. In Table 2, annotations (technique features) for four selected patients from the LUDB are shown to demonstrate the multi-class multi-label format.

4. Algorithm for ECG Signal Analysis

This section describes the algorithm for processing the raw ECG signal (Figure 3), including the methods used and their configurations. Standard techniques include methods such as the Pan-Tompkins algorithm, Time windowing and slope analysis, and the Maximum slope intercept method, while the modern approach is represented by the Support Vector Machines algorithm.

4.1. Detection of QRS Complex, Heart Rate, PQ and QT Intervals

The standard ECG signal analysis techniques used in this research for detecting the QRS complex, identifying the start of the P wave and the end of the T wave, and estimating the heart rate can be grouped into four main parts, as shown in the flowchart (Figure 3—left side). To evaluate the heart rate, as well as the PQ and QT intervals, it was necessary to first detect the QRS complex and calculate its duration; this was done using the Pan-Tompkins algorithm (P-T). The position of the R wave was used to estimate the heart rate (HR), while the positions of the Q and S waves were used to determine the start of the P wave (using the Time windowing and slope analysis—TWSA) and the end of the T wave (using the Maximum slope intercept method—MSIM), followed by calculating the durations of the PQ and QT intervals.

4.1.1. Data Filtering

  • Low-pass filter—high-frequency noise (e.g., power-line interference and muscle noise) above 11 Hz is removed.
  • High-pass filter—components below 5 Hz are eliminated to remove baseline drift, baseline wander.
  • Derivative filter—a five-point derivative filter is used to enhance steep slopes in the signal, thus improving the detection of the R wave transition, and suppressing low-frequency components from P and T waves.
  • Squaring—the signal is squared to eliminate negative values and amplify significant peaks (of the QRS complex).
  • Moving Window Integration—a 31-sample moving average filter smooths the signal and emphasises its essential characteristics by averaging out short-term fluctuations, capturing the slope and width of the QRS complex.
  • Thresholding—adaptive thresholding, involving a dual thresholding mechanism, detects segments containing QRS complexes.

4.1.2. QRS Complex Detection

  • Q, R, S Point Detection—maxima and minima within i detected segments are identified as Q p ( i ) , R p ( i ) , and S p ( i ) points positions for i = 1 n , where n is the total number of QRS complexes within the record, and subsequently the values of Q t ( i ) , R t ( i ) , and S t ( i ) are evaluated, considering the sampling frequency f s = 500  Hz.
  • QRS complex duration evaluation—the length of the QRS complex is calculated as Q R S t ( i ) = ( S t Q t ) i , followed by averaging over the whole record.

4.1.3. Heart Rate, PQ and QT Intervals Evaluation

  • Heart rate—the RR time intervals across the entire record are calculated as R R t ( i ) = R t ( i + 1 ) R t ( i ) for i = 1 n 1 , followed by computing a vector that indicates how many times each R R t ( i ) interval fits into 60 s, i.e., H R ( i ) = 60 R R t ( i ) . These values are then averaged over the entire record to determine the number of beats per minute (bpm), which represents the heart rate.
  • P wave detection—the Time windowing and slope analysis is used to identify the P wave peak and, subsequently, the start and end of the P wave using positive and negative slopes of the filtered signal.
  • T wave detection—the Maximum slope intercept method is used to determine the end of the T wave by identifying the point where the isoelectric line intersects with a tangent line drawn along the steepest downward slope of the T wave, which may also be notched or fused with a U wave.
  • PQ and QT intervals evaluation—the lengths of the PQ and QT intervals are evaluated as the averages of the distances ( Q t P t ) i and ( T t Q t ) i , respectively.

4.2. Multi-Class Multi-Label ECG Classification Using Support Vector Machines

A robust multi-class multi-label SVM classifier was developed by combining SVMs with the Error-Correcting Output Code (ECOC) strategy. A crucial component is the K-fold cross-validation (CV), which not only prevents overfitting during hyperparameter optimisation but also provides a reliable estimate of model generalisation. The SVM classifier was applied to ECG records from the LUDB to automatically identify abnormalities using preprocessed ECG signals. The ECG records in the LUDB are annotated using a multi-label taxonomy spanning several diagnostic categories. First, all annotated diagnoses were collected, and their overall frequencies across the dataset were calculated. A multi-label to single-label reduction is used due to the limited number of records in LUDB linked to specific combinations of diagnoses within certain diagnostic categories, which could negatively affect the effectiveness and accuracy of SVMC training. Thus, in cases where an ECG record was assigned more diagnoses in one diagnostic category, the most dominant diagnosis among them was selected. This ensured that each ECG signal was associated with no more than one diagnosis (label) in each diagnostic category (class). This preprocessing strategy simplified the classification task, leading to a more balanced dataset for training and evaluation. The data processing algorithm is illustrated in Figure 3—on the right side.

4.2.1. Data Input and Label Reduction

  • Data input—the SVMC data input consists of two files containing data from the LUDB database: one file includes raw ECG signals, and the other carries the information on the diagnoses corresponding to the ECG records:
    ECG “Features” are extracted by preprocessing 200 records of raw ECG signals.
    Labels that represent diagnoses grouped into 8 diagnostic categories (classes) are extracted and stored in a multi-label format for each record. One record can have none, one, or multiple diagnoses assigned in none, one or numerous diagnostic categories; thus, one record is linked to eight label vectors. Records without class assignments, and thus without any labels, are removed to guarantee consistent learning.
  • Label reduction—a multi-label to single-label reduction is implemented due to the limited number of records in LUDB that are linked to a particular combination of labels (diagnoses) within specific classes (diagnostic categories), which could negatively affect the effectiveness and accuracy of SVMC training. Therefore, for each record, label vectors with multiple labels are reduced to only one of them, specifically the most dominant label across the dataset. The reduction strategy in this case involves clinically relevant mappings.

4.2.2. Architecture Design of the SVM Model

  • Design Scheme
    The dataset is split into 70% training, 20% testing, and a 10% hold-out validation subsets.
    Error-Correcting Output Codes (ECOC) framework is used to decompose the multi-class problem into multiple binary classification subproblems. The classifier itself is based on an SVM that uses a radial basis function kernel embedded in an ECOC decomposition. In the “one-vs-one” coding scheme, c ( c 1 ) 2 binary classifiers are constructed, trained for each pair combination. Regularisation is applied to improve generalisation and capture nonlinear relationships. The decoding process aggregates the binary outcomes and assigns the final label based on the Hamming distance.
    The hyperparameter optimisation of the SVMC is conducted through Bayesian optimisation, which relies on an acquisition function (“expected—improvement—plus”) to explore the parameter space efficiently.
    K-fold cross-validation is used on the training subset at each evaluation of the objective function to ensure robustness and reduce overfitting. Due to the small dataset, the “leave-one-out” cross-validation scheme was employed.

4.2.3. Model Training and Evaluation

  • Model training
    Combine outputs—during prediction, all SVM classifiers’ outputs are aggregated into a single vector, which is then compared against the predefined ECOC schema. The closest match determines the predicted label for each class of the ECG signal.
    Cross validation (CV)—during each CV round, the dataset is divided into K 1 folds for training and one fold for validation. The misclassification loss is averaged across all folds to determine the objective function for hyperparameter selection. This procedure ensures that the optimisation process does not overfit to a single train/validation split, but instead identifies parameters that generalise across multiple dataset partitions.
    Final training—after the optimisation process, the model is retrained on the entire dataset using the best-found hyperparameters. Prediction accuracy is evaluated, and a confusion matrix is analysed for a class-specific performance and misclassification trends.
  • Evaluate the trained model (Accuracy, Confusion Matrix, CV)—the trained model is evaluated using a holdout validation strategy. The classifier’s performance is assessed using standard evaluation metrics, such as accuracy, which is calculated as the ratio of correctly classified samples, while a confusion matrix is analysed to identify class-specific performance and misclassification patterns.

4.2.4. Identification of Diagnoses

  • Class labels prediction—the final outcome of the pipeline is the assignment of predicted class labels to unseen ECG records. These labels correspond to clinically meaningful diagnostic categories.

5. Selection of LUDB Diagnoses

The diagnoses, categorised into eight diagnostic categories, that the SVM model was trained to detect are listed below:
1.
Heart rhythms
This category describes the temporal organisation of cardiac electrical activity, with rhythm abnormalities classified as either benign or pathological. The diagnoses included are:
  • Sinus rhythm—normal rhythm originating from the sinoatrial (SA) node.
  • Sinus tachycardia—elevated heart rate (>100 bpm) with preserved sinus origin.
  • Sinus bradycardia—reduced heart rate (<60 bpm), which may be normal (e.g., in athletes) or pathological.
  • Sinus arrhythmia—mildly irregular rhythm with sinus origin, typically benign.
  • Irregular sinus rhythm—more pronounced irregularity; may require further evaluation.
  • Abnormal rhythm—unspecified rhythm deviating from expected sinus morphology.
2.
Electrical axis of the heart
The electrical axis represents the average direction of ventricular depolarisation in the frontal plane. Axis deviations may indicate structural or conduction-related abnormalities and can be classified into the following diagnoses:
  • Normal axis—QRS axis between −30° and +90°.
  • Left axis deviation—axis leftward of −30°, often due to left anterior hemiblock or left ventricular hypertrophy.
  • Right axis deviation—axis rightward of +90°, which may reflect right ventricular hypertrophy or pulmonary disease.
  • Vertical axis—axis close to +90°, often normal in tall, slender individuals.
  • Horizontal axis—axis closer to 0°, frequently seen in short or obese individuals.
  • Undetermined axis—cases where the QRS axis could not be determined due to atypical morphology.
3.
Conduction abnormalities
This category captures pathologies associated with delayed or blocked electrical signal propagation, such as:
  • Sinoatrial block—interruption of impulse from the SA node.
  • First-degree AV block—prolonged PR interval indicating slowed AV node conduction.
  • Third-degree AV block—complete atrioventricular dissociation.
  • Left bundle branch block (LBBB)—conduction delay in the left bundle, resulting in prolonged QRS with characteristic morphology.
  • Right bundle branch block (RBBB)—similar delay, affecting the right bundle.
  • Hemiblocks—partial block of a fascicle within the left bundle branch (e.g., anterior or posterior).
  • Intraventricular conduction delay—non-specific delay in QRS conduction not fitting bundle branch patterns.
4.
Extrasystoles
Extrasystoles are premature depolarisations that originate from ectopic foci (abnormal regions within the heart capable of generating electrical impulses) in the atria or ventricles, including:
  • Atrial extrasystole—premature atrial contraction, which may appear as single beats, bigeminy, or low atrial origin.
  • Ventricular extrasystole (PVC)—premature ventricular contraction, including:
    single PVCs,
    couplet PVCs,
    bigeminy or trigeminy,
    polymorphic PVCs,
    localisation from the RVOT (right ventricular outflow tract), IVS (interventricular septum), etc.
5.
Hypertrophies and Overloads
Diagnoses indicating structural or electrical evidence of increased chamber mass or pressure are represented by:
  • Left/right atrial hypertrophy—enlargement of atria due to volume overload or valvular disease.
  • Left/right ventricular hypertrophy—often secondary to hypertension or pulmonary disorders.
  • Overload—increased pressure or volume loading conditions, leading to ECG changes without true hypertrophy.
6.
Cardiac pacing
Rhythms associated with pacemakers can be categorised as:
  • Unipolar or bipolar pacing—types of pacemaker electrode configurations.
  • Atrial/ventricular pacing—specific chamber being paced.
  • Biventricular pacing—coordinated stimulation of both ventricles, commonly used in cardiac resynchronisation therapy.
  • P-synchrony—atrial tracking or synchrony with native P wave activity.
7.
Ischemia and Infarction
Diagnoses in this category indicate acute or chronic myocardial ischaemia or infarction patterns:
  • STEMI—ST elevation myocardial infarction with regional elevation (e.g., anterior, inferior, posterior).
  • NSTEMI or undefined ischemia—myocardial infarction without ST elevation or with non-specific ischemic signs.
  • Ischemia—transient ST segment depression or T wave inversion.
  • Scar formation—electrocardiographic evidence of prior myocardial infarction (e.g., Q waves).
8.
Repolarization abnormalities
Abnormalities in ventricular repolarisation are often observed in systemic illness, effects of drugs, or as non-specific findings, including:
  • Repolarisation abnormalities—general T wave or ST segment changes not directly attributable to ischemia or infarction.
  • Localisation—may be noted in anterior, lateral, inferior, or combined leads.

6. ECG Signal Analysis and Abnormality Detection Application

An application for ECG signal analysis and abnormality detection was developed in MATLAB App Designer, based on the algorithm described in the previous section (see Figure 3). The Pan-Tompkins algorithm (P–T) was used to pre-process the raw ECG signal, including filtering, squaring, averaging, etc., and to identify the Q, R, and S waves, as well as the duration of the QRS complex. Based on these, the heart rate was calculated, meanwhile Time Windowing and Slope Analysis (TWSA) and the Maximum Slope Intercept method (MSIM) were used to determine the start of the P wave and the end of the T wave, with the goal of finding the PQ and QT intervals.
Moreover, Support Vector Machine Classification (SVMC) was used for robust multi-class, multi-label diagnostics of ECG records by preprocessing multi-label annotations, converting them into single-label categorical labels, and training an SVM-based classifier. This method allows flexible class handling, and incorporating K-fold cross-validation within Bayesian optimisation offers a systematic mechanism to evaluate hyperparameters across multiple dataset partitions, enhancing robustness and preventing overfitting. This results in the final ECOC–SVM classifier being both reliable and well-calibrated for multiclass prediction.
The application is designed to process raw single-lead ECG signals, with Lead II (the second limb lead) chosen as the primary signal source, due to its alignment with the heart’s electrical axis, thus typically producing the largest and most distinct QRS complexes. Lead II is also widely considered optimal for rhythm analysis and QRS complex detection. Furthermore, the single-lead signal processing solution opens a way for implementing the proposed approach into wearable hardware, making it more accessible to potential users (patients). The developed application, implemented in MATLAB App Designer, provides ECG signal analysis and abnormality detection, along with an interactive graphical user interface for a user-friendly experience. The application interface (see Figure 4) is divided into three main sections: Settings, Results, and a Visualisation.
The Settings section serves as the main control panel, enabling users to specify patient age and gender. Based on these demographic inputs, the list of available ECG signals, sourced from the LUDB, is updated dynamically. This section also includes an Upload button, enabling users to upload custom ECG signals, thereby increasing the application’s flexibility beyond the pre-loaded database. The uploaded file must be in XLS or CSV format and contain a single row or column of Lead II raw ECG signal.
The Results section provides a summary of the computed durations of the QRS complex, PQ interval, QT interval, and heart rate, all of which are compared to their respective reference values, i.e., the normal ranges shown in Table 1. These reference values are adjusted dynamically according to the selected settings, including age and gender. In this section, the results of a multi-class, multi-label classification using the implemented SVM algorithm are also presented, divided into eight diagnostic categories (classes). The identified diagnoses are assigned to diagnostic categories based on the SVM classification algorithm, where one patient can be assigned multiple diagnoses from different categories. If a patient has several diagnoses within the same category, only one is selected, the one with the highest number of occurrences across all records in that category.
The Visualisation section offers a clear graphical representation of the analysed ECG signal, including the identified QRS complex (star for Q, circle for R and triangle for S in Figure 4), together with a schematic diagram of an annotated ECG cycle, serving as an intuitive reference for easier interpretation of the morphological segments and intervals.

7. Experimental Results and Discussion

The developed MATLAB application was used to process ECG records from the LUDB. It identifies the position of the QRS complex, the start of the P wave, and the end of the T wave, and based on these, it calculates the QRS complex duration, the durations of the PQ interval and the QT interval, and the heart rate. The obtained ECG parameters are then compared to the reference values using the normal ranges (Table 1), and an in-normal-range or outside-normal-range state is displayed in the form of green or red colour assigned to the line of the corresponding parameters. The SVM classification model trained on the annotated LUDB records is applied to identify the patients’ diagnoses, which are categorised into eight fields corresponding to diagnostic categories. Each field can acquire one diagnosis from a selection of diagnoses.

7.1. Experiments Using LUDB Records

Four examples of ECG signal analysis, with ECG records sourced from LUDB, featuring two female and two male patients, are presented here, with one patient of each gender diagnosed with several diagnoses. All ECG records were processed using the developed MATLAB application.
  • Female of age 18 years
  • Ground truth:
    Rythm: sinus rhythm,
    Electric axis of the heart: vertical,
    Standard ECG analysis:
    QRS xomplex: 79 ms in the normal range (74–112 ms),
    PQ interval: 172 ms in the normal range (112–190 ms),
    QT interval: 380 ms in the normal range (337–455 ms),
    Heart rate: 76 bpm in the normal range (47–105 bpm),
    Conclusion: all selected parameters are adequate to a 18-year-old female.
    SVM classification:
    Rythm: sinus rhythm,
    Electric axis of the heart: vertical,
    Conclusion: a diagnosis has been identified regarding the electric axis of the heart being vertical.
    Overall conclusion:
    Standard ECG signal analysis indicates that all the monitored ECG parameters are within normal ranges. Nevertheless, the SVM classification diagnostics identified the vertical electric axis of the heart, requiring further examination in light of other potential patients’ conditions (Figure 5).
Figure 5. ECG signal analysis of an 18-year-old female.
Figure 5. ECG signal analysis of an 18-year-old female.
Algorithms 18 00689 g005
  • Female of age 17 years
  • Ground truth:
    Rythm: sinus bradycardia,
    Electric axis of the heart: horizontal,
    Non-specific repolarisation abnormalities: anterior wall, septal.
    Standard ECG analysis:
    QRS complex: 52 ms outside the normal range (74—112 ms),
    PQ interval: 166 ms in the normal range (112—190 ms),
    QT interval: 404 ms in the normal range (337—455 ms),
    Heart rate: 53 bpm in the normal range (47—105 bpm),
    Conclusion: QRS complex duration is inadequate to a 17–year–old female.
    SVM classification:
    Rythm: sinus bradycardia,
    Electric axis of the heart: horizontal,
    Non-specific repolarisation abnormalities: anterior wall,
    Conclusion: several diagnoses have been identified in regard to the heart rhythm (sinus bradycardia), electric axis of the heart (horizontal), and non-specific repolarisation abnormalities (anterior wall).
    Overall conclusion:
    Standard ECG signal analysis indicates an abnormal QRS complex duration, falling outside the normal range. Additionally, the SVM classification diagnostics identified sinus bradycardia, a horizontal electric axis of the heart, and non-specific repolarisation abnormalities in the anterior wall, requiring further examination and appropriate treatment of the patient (Figure 6).
Figure 6. ECG signal analysis of a 17-year-old female.
Figure 6. ECG signal analysis of a 17-year-old female.
Algorithms 18 00689 g006
  • Male of age 28 years
  • Ground truth:
    Rythm: sinus rhythm,
    Electric axis of the heart: vertical,
    Standard ECG analysis:
    QRS xomplex: 103 ms in the normal range (80–126 ms ),
    PQ interval: 156 ms in the normal range (118–196 ms),
    QT interval: 401 ms in the normal range (342–456 ms),
    Heart rate: 78 bpm in the normal range (45–95 bpm),
    Conclusion: all selected parameters are adequate to a 28-year-old male.
    SVM classification:
    Rythm: sinus rhythm,
    Electric axis of the heart: vertical,
    Conclusion: a diagnosis has been identified regarding the electric axis of the heart being vertical.
    Overall conclusion:
    Standard ECG signal analysis indicates that all selected ECG parameters are within normal ranges. Nevertheless, the SVM classification diagnostics identified the vertical electric axis of the heart, requiring further examination in light of other potential patients’ conditions (Figure 7).
Figure 7. ECG signal analysis of a 28-year-old male.
Figure 7. ECG signal analysis of a 28-year-old male.
Algorithms 18 00689 g007
  • Male of age 41 years
  • Ground truth:
    Rythm: sinus rhythm,
    Electric axis of the heart: left axis deviation,
    Hypertrophies: left atrial hypertrophy,
           left ventricular hypertrophy,
    Ischemia: undefined ischemia/scar/supp.nstemi: apical,
        undefined ischemia/scar/supp.nstemi: lateral wall,
        posterior wall.
    Standard ECG analysis:
    QRS complex: 118 ms in the normal range (78–122 ms),
    PQ interval: 228 ms outside the normal range (115–200 ms),
    QT interval: 473 ms outside the normal range (342–458 ms),
    Heart rate: 65 bpm in the normal range (47–95 bpm),
    Conclusion: PQ interval and QT interval durations are inadequate to a 41-year-old male.
    SVM classification:
    Rythm: sinus rhythm,
    Electric axis of the heart: left axis deviation,
    Hypertrophies: left atrial hypertrophy,
    Ischemia: undefined ischemia/scar/supp.nstemi: apical,
    Conclusion: several diagnoses have been identified in regard to the electric axis of the heart (left axis deviation), hypertrophies (left atrial hypertrophy), and ischemia (undefined ischemia/scar/supp.nstemi: apical).
    Overall conclusion:
    Standard ECG signal analysis indicates abnormal PQ interval and QT interval durations, both falling outside the normal ranges. Additionally, the SVM classification diagnostics identified left axis deviation of the heart, left atrial hypertrophy, and apical ischemia, requiring further examination and appropriate treatment of the patient (Figure 8).
Figure 8. ECG signal analysis of a 41-year-old male.
Figure 8. ECG signal analysis of a 41-year-old male.
Algorithms 18 00689 g008

7.2. Experiments Using PTB-XL Dataset and MIT-BIH Arrhythmia Database

To demonstrate the capability of the developed MATLAB application to upload an ECG signal sourced outside the LUDB, records from the PTB-XL dataset [29] and MIT-BIH Arrhythmia Database [30] were utilised, and two of them are described below.
The PTB-XL dataset is one of the largest publicly accessible collections of clinical 12-lead electrocardiograms, comprising around 21,801 recordings from 18,869 patients, each lasting 10 s. Each recording is annotated with up to two cardiologists’ labels using the SCP-ECG standard–covering 71 different ECG statements across diagnostic, rhythm, and morphological categories–along with a comprehensive set of metadata (demographics, recording conditions, quality labels, etc.). The signals are available in both 500 Hz (high resolution) and 100 Hz (low resolution) versions to balance fidelity and computational efficiency. PTB-XL also offers recommended training/test splits to facilitate reproducible benchmarking in ECG classification and has been widely utilised in deep learning research to investigate multi-label ECG prediction, signal quality assessment, and interpretability.
  • Female of age 43 years
  • Ground truth:
    Rythm: sinus bradycardia,
    Standard ECG analysis:
    QRS complex: 100 ms in the normal range (76–114 ms),
    PQ interval: 169 ms outside the normal range (112–200 ms),
    QT interval: 395 ms outside the normal range (350–458 ms),
    Heart rate: 63 bpm in the normal range (47–90 bpm),
    Conclusion: all selected parameters are adequate to a 43-year-old female.
    SVM classification:
    Rythm: sinus bradycardia,
    Conclusion: a diagnosis has been identified regarding the heart rhythm being sinus bradycardia.
    Overall conclusion:
    Standard ECG signal analysis indicates that all the monitored ECG parameters are within normal ranges. However, the SVM classification model identifies a diagnosis (sinus bradycardia) as tagged in the PTB-XL database, requiring further examination in light of other potential patients’ conditions (Figure 9).
Figure 9. ECG signal analysis of a 43-year-old female.
Figure 9. ECG signal analysis of a 43-year-old female.
Algorithms 18 00689 g009
The MIT-BIH Arrhythmia Database comprises 48 thirty-minute segments of two-channel ECG recordings, obtained from 47 subjects examined by the BIH Arrhythmia Laboratory between 1975 and 1979. From a collection of 4000 twenty-four-hour ambulatory ECG recordings collected from a diverse group of inpatients (approximately 60%) and outpatients (approximately 40%) at Boston’s Beth Israel Hospital, 23 recordings were randomly selected, while the remaining 25 recordings were specifically chosen to include less common but clinically significant arrhythmias that would not be well represented in a small random sample. The recordings are digitised at a rate of 360 samples per second per channel, using 11-bit resolution over a measurement range of 10 millivolts. Multiple cardiologists independently annotated each record; any discrepancies were resolved to produce accurate, computer-readable reference annotations for each cardiac beat, including approximately 110,000 annotations in total.
  • Male of age 59 years
  • Ground truth:
    Rythm: ventricular tachycardia,
    Standard ECG analysis:
    QRS complex: 107 ms in the normal range (76–114 ms),
    PQ interval: 143 ms in the normal range (120–206 ms),
    QT interval: 433 ms in the normal range (349–458 ms),
    Heart rate: 74 bpm in the normal range (52–94 bpm),
    Conclusion: all selected parameters are adequate to a 59-year-old male.
    SVM classification:
    Rythm: sinus tachycardia,
    Conclusion: a diagnosis, sinus tachycardia, has been identified in regard to the heart rhythm; however, the actual diagnosis is ventricular tachycardia. This discrepancy arises because the accurate diagnosis was not included in the training dataset, yet the classification model still managed to successfully detect the condition tachycardia.
    Overall conclusion:
    Standard ECG signal analysis indicates that all the monitored ECG parameters are within normal ranges. However, the SVM classification model identifies a diagnosis (sinus tachycardia), requiring further examination in light of other potential patients’ conditions (Figure 10).
Figure 10. ECG signal analysis of a 59-year-old male.
Figure 10. ECG signal analysis of a 59-year-old male.
Algorithms 18 00689 g010

7.3. Discussion on Results

In the presented cases, the resulting values of the ECG signal parameters, including the QRS complex duration, durations of PQ interval and QT interval, and heart rate, were in good accordance with the diagnostics provided by the SVM classification. The SVM algorithm classified patients who had all four monitored parameters within the normal reference ranges as having very mild diagnoses, characterised by a vertical or horizontal electric axis of the heart, sinus bradycardia, and ventricular tachycardia, respectively, which are not regarded as pathological unless accompanied by other associated diagnoses.
On the other hand, patients with ECG signal parameters that showed abnormalities, meaning that one or more parameters were outside the normal range, were also identified by the SVM classification algorithm as suffering from several diagnoses, suggesting potentially serious pathological heart morphology. The expert annotations are also listed and serve for comparison purposes as the “ground truth”.

7.4. Computational Performance and Real-Time Feasibility

Machine learning-based classification architectures can be categorised according to various criteria, such as prediction accuracy, the size of the dataset necessary for training, or computational speed. Some state-of-the-art approaches that are widely used in modern applications are listed in Table 3. As shown, SVM architecture, in general, offers significantly lower computational complexity compared to other listed approaches, while maintaining high accuracy, albeit with small to medium datasets necessary for training.
To assess the computational performance of the developed ECG signal analysis and abnormality detection application that performs the ECG signals’ parameters identification and the SVM-based classification of the ECG signals, MATLAB’s built-in functions were used. The average inference time per ECG record was measured with an end-to-end latency of 45–70 ms on a regular computer, and 65–90 ms when running the application, deployed on the MATLAB Online platform, demonstrating suitability for near-real-time operation in both offline clinical analysis and embedded monitoring scenarios.
These findings indicate that the developed ECG signal analysis and abnormality detection application with the proposed SVM-based ECG classifier maintains a good balance between accuracy, interpretability, and processing speed. This balance is crucial for time-sensitive biomedical applications, and since the developed application complies with the requirements of MATLAB Coder R2025b [31], which supports automatic generation of optimised C/C++ code for embedded devices (e.g., [32,33,34]), this makes it practical for deployment on wearable or edge-processing devices with limited resources, such as embedded targets used for medical devices and wearables.

7.5. Limitations and Potential Biases

While the proposed multi-class multi-label SVM-based ECG classification model demonstrates strong predictive performance, several limitations should be acknowledged to contextualise these results.
The variability in ECG signal quality remains a critical challenge, as factors such as baseline wander, power-line interference, motion artefacts, and inconsistent electrode placement can degrade the reliability of extracted features and subsequently lead to increased annotation noise, affecting the model accuracy. Although applying standard filtering and normalisation techniques, residual noise may still influence classification outcomes, particularly in data acquired from wearable or mobile devices, which are inherently more prone to signal distortion [35].
As a significant drawback, the single-lead ECG recording solution can be thought of, which, while advantageous for simplicity and deployment, inherently constrains the diagnostic information available. Empirically, single-lead systems show markedly lower sensitivity for detecting pathology during stress testing compared with standard 12-lead ECG, highlighting class-dependent performance ceilings and potential lead-geometry bias [36]. Multi-lead configurations offer richer spatial and morphological insights into cardiac activity, aiding the detection of pathologies such as ischaemia or ventricular hypertrophy that might be missed in a single-lead setup [37]. Also, some clinical definitions of STEMI require ST-elevation in at least two contiguous leads, underscoring this limitation [38]. Of course, the accuracy increases with greater computational complexity and restrictions related to deployment in wearables, where measuring all leads is often constrained or even impossible.
Additionally, generalisability across populations is a limiting factor, as not only age and gender can shift ECG morphology and label prevalence, but even ethnicity can lead to uneven error rates; therefore, as a mitigation, noise augmentations and signal-quality indices can be used [39,40].
Finally, the proposed SVM-based classification model was trained and validated on a single dataset, which may not fully capture demographic or clinical diversity. Variations in age, ethnicity, comorbidities, and acquisition protocols can cause domain shifts that reduce external validity when applied to broader populations. Cross-dataset evaluations and domain adaptation techniques could help mitigate such biases and enhance real-world robustness [41].
In summary, addressing these limitations through enhanced data quality control, the inclusion of multi-lead signals, and validation across diverse populations can be essential steps toward achieving clinically reliable and generalisable ECG classification systems.

8. Conclusions

This paper introduces a MATLAB App Designer application for detailed analysis of ECG signals. The application effectively combines digital signal processing techniques with an SVM classifier. By enabling dynamic adjustment of reference values based on patient demographics, the tool provides a personalised approach to ECG interpretation. Validation with the LUDB demonstrated a strong agreement between the application’s outputs and expert annotations. Additionally, “out-of-sample” ECG records (sourced from the PTB-XL dataset and the MIT-BIH dataset) verify the suitability of the developed application for ECG signal assessment.
The implemented SVM model achieved an accuracy of 98% on the test subset, and a 89.5% accuracy using a blind subset (10% from the LUDB dataset) across the eight diagnostic classes, demonstrating its effectiveness in capturing morphological and pathological variations within the LUDB dataset. The decrease in accuracy between the subsets, the test subset and the “blind” (unseen) subset, is standard for a trained SVM classification model, as it was optimised to fit the specific noise and patterns of the training data, a phenomenon known as overfitting. From an artificial intelligence perspective, this accuracy reflects the model’s ability to generalise decision boundaries in a high-dimensional feature space, where ECG signal parameters, such as P–QRS–T morphology, rhythm irregularities, and frequency-domain descriptors, are represented. The classifier’s performance highlights the suitability of kernel-based methods in handling non-linear separability inherent in biomedical time-series data. Furthermore, the reported accuracy can be interpreted as the proportion of correctly classified cardiac signals relative to the total number of classification attempts, providing a direct measure of predictive reliability. While the SVM demonstrates robustness in mapping complex feature distributions, the result also emphasises the potential for further improvement through ensemble learning, deep neural architectures, and representation learning techniques (e.g., convolutional neural networks for automated feature extraction). While deep learning approaches have recently gained traction in ECG analysis, the SVM model’s performance indicates that traditional machine learning methods remain competitive, particularly when trained on annotated datasets. The classifier successfully distinguished between normal and abnormal patterns, with a strong agreement with expert annotations in representative cases. This level of accuracy underscores the practical applicability of SVMs in ECG-based decision support systems, offering a reliable balance between interpretability and diagnostic performance. These findings highlight the system’s robustness in identifying both physiological and pathological ECG patterns across multiple diagnostic categories.

Author Contributions

Conceptualization, A.J., Y.P. and T.S.; methodology, A.J., Y.P. and M.M.; software, A.J., Y.P. and M.M.; validation, A.J., Y.P., M.M. and T.S.; formal analysis, A.J., Y.P. and T.S.; investigation, A.J., Y.P. and M.M.; resources, T.S.; data curation, A.J. and M.M.; writing—original draft, A.J., Y.P., M.M. and T.S.; writing—review & editing, A.J., M.M. and T.S.; visualization, A.J., Y.P. and M.M.; supervision, T.S.; project administration, T.S.; funding acquisition, T.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the Army Research Office under grant no. W911NF-22-1-0264, by the Slovak Research and Development Agency under the contracts no. APVV-22-0508 and no. APVV-18-0526, by the Slovak Grant Agency for Science under grant no. VEGA 1/0674/23, and the Cultural and Educational Grant Agency of the Ministry of Education, Research, Development and Youth of the Slovak Republic under grant no. KEGA 006TUKE-4/2024.

Data Availability Statement

The data used in the frame of this work, including the Lobachevsky University Electrocardiography Database [27], the PTB-XL dataset [29], and the MIT-BIH Arrhythmia Database [30], are publicly available from [28]: https://physionet.org/.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

Table A1. LUDB diagnoses distribution [27].
Table A1. LUDB diagnoses distribution [27].
Diagnostic Category
(Class)
Diagnosis
(Label)
Number
of Subjects
RhythmSinus rhythm143
Sinus tachycardia4
Sinus bradycardia25
Sinus arrhythmia8
Irregular sinus rhythm2
Atrial fibrillation18
Atrial flutter, typical3
Electric axis
of the heart
Normal75
Left axis deviation66
Vertical26
Horizontal20
Right axis deviation3
None (pacemaker)10
Conduction
abnormalities
Sinoatrial blockade, undetermined1
I degree AV block10
III degree AV-block5
Incomplete right bundle branch block29
Incomplete left bundle branch block6
Left anterior hemiblock16
Complete right bundle branch block4
Complete left bundle branch block4
ExtrasystoleNon-specific intraventricular conduction delay4
Atrial extrasystole: undetermined2
Atrial extrasystole: low atrial1
Atrial extrasystole: left atrial2
Atrial extrasystole: SA-nodal extrasystole3
Atrial extrasystole, type: single PAC4
Atrial extrasystole, type: bigemini1
Atrial extrasystole, type: quadrigemini1
Atrial extrasystole, type: allorhythmic pattern1
Ventricular extrasystole, morphology: polymorphic2
Ventricular extrasystole, localisation: RVOT, anterior wall3
Ventricular extrasystole, localisation: RVOT, antero-septal part1
Ventricular extrasystole, localisation: IVS, middle part1
Ventricular extrasystole, localisation: LVOT, LVS2
Ventricular extrasystole, localisation: LV, undefined1
Ventricular extrasystole, type: single PVC6
Ventricular extrasystole, type: intercalary PVC2
Ventricular extrasystole, type: couplet2
HypertrophiesRight atrial hypertrophy1
Left atrial hypertrophy102
Right atrial overload17
Left atrial overload11
Left ventricular hypertrophy108
Right ventricular hypertrophy3
Left ventricular overload11
Cardiac pacingUNIpolar atrial pacing1
UNIpolar ventricular pacing6
BIpolar ventricular pacing2
Biventricular pacing1
P-synchrony2
IschemiaSTEMI: anterior wall8
STEMI: lateral wall7
STEMI: septal8
STEMI: inferior wall1
STEMI: apical5
Ischemia: anterior wall5
Ischemia: lateral wall8
Ischemia: septal4
Ischemia: inferior wall10
Ischemia: posterior wall2
Ischemia: apical6
Scar formation: lateral wall3
Scar formation: septal9
Scar formation: inferior wall3
Scar formation: posterior wall6
Scar formation: apical5
Undefined ischemia/scar/supp.NSTEMI: anterior wall12
Undefined ischemia/scar/supp.NSTEMI: lateral wall16
Undefined ischemia/scar/supp.NSTEMI: septal5
Undefined ischemia/scar/supp.NSTEMI: inferior wall3
Undefined ischemia/scar/supp.NSTEMI: posterior wall4
Undefined ischemia/scar/supp.NSTEMI: apical11
Non-specific
repolarisation
abnormalities
Anterior wall18
Lateral wall13
Septal15
Inferior wall19
Posterior wall9
Arpical11
Other statesEarly repolarization syndrome9
Table A2. Selection of ECG-related MATLAB tools from MATLAB Central File Exchange.
Table A2. Selection of ECG-related MATLAB tools from MATLAB Central File Exchange.
NameAuthor (with Citation)
Open_ECGSaid BOURZEG [42]
An Online Algorithm for R, S and T Wave DetectionHooman Sedghamiz [43]
Complete Pan Tompkins Implementation ECG QRS DetectorHooman Sedghamiz [44]
ECG P QRS T Wave Detecting Matlab CodeNima Aalizade [45]
Visualization and Analysis of an Electrocardiogram SignalReyes-Aldasoro, C.C. [46]
BioSigKit a Toolkit for Bio-Signal AnalysisHooman Sedghamiz [47]
ecg-kitMarianux [48]
ECG Simulation Using MATLABKarthik Raviprakash [49]
ECG Waveform SimulatorNeil Forcier [50]
ECG Signal Simulation and AnalysisArdavan Rahimian [51]
ECG Class for Heart Rate Variability AnalysisDavid OK [52]
ECG CompressionMehdi Nasri [53]
ECG Signal compressionAshish Meshram [54]
BEADS Baseline Estimation And Denoising with SparsityLaurent Duval [55]
ECG Beat CalculationArun Aniyan [56]
Calculating Beat Rate of Heart by DWTEhsan Mirrahimi [57]
ECG_AnalyzerAlessandro Mazza [58]
ECG QRS Detection (Heart Beat In One Minute)D.K. Ravish [59]
Simulink Model for Fetal ECG Extraction (HDL Compatible Algorithm)Igal [60]
Calculate Heart Rate from Electrocardiogram DataHeather Gorr [61]
R-peak Detection using DWT and Classification of Arrhythmia using Bayesian ClassifierSelva [62]
ECG QRS DetectionHarini [63]
ECG Preprocessing, Segmentation and Obtaining the Mean P-QRS-T FragmentMahmoud Bassiouni [64]
ECG Signal PQRST Peak Detection ToolboxRohan Sanghavi [65]
ECG Signal Analysis Using Heart WavesMohamed Irfan [66]
Biosignal-Specific Processing (Bio-SP) ToolSarah Ostadabbas [67]

References

  1. Goldberger, A.L. Goldberger’s Clinical Electrocardiography, 10th ed.; Elsevier: Philadelphia, PA, USA, 2024. [Google Scholar]
  2. Wimmer, N.J.; Scirica, B.M.; Stone, P.H. The Clinical Significance of Continuous ECG (Ambulatory ECG or Holter) Monitoring of the ST-Segment to Evaluate Ischemia: A Review. Prog. Cardiovasc. Dis. 2013, 56, 195–202. [Google Scholar] [CrossRef]
  3. Xiao, R. The role of telemetry monitoring: From diagnosing arrhythmia to predictive models of patient instability. J. Electrocardiol. 2025, 89, 153861. [Google Scholar] [CrossRef] [PubMed]
  4. Pan, J.; Tompkins, W.J. A Real-Time QRS Detection Algorithm. IEEE Trans. Biomed. Eng. 1985, BME-32, 230–236. [Google Scholar] [CrossRef] [PubMed]
  5. Rao, K.D. Discrete Cosine and Sine Transforms: General Properties, Fast Algorithms and Integer Approximations; Birkhäuser, Part of Springer Nature: Cham, Switzerland, 2018; ISBN 978-3-319-68675-2. [Google Scholar]
  6. Xu, H.; An, B.; He, X. Filter design for ECG signal processing. Int. J. Front. Eng. Technol. 2022, 4, 42–51. [Google Scholar] [CrossRef]
  7. Anbalagan, T.; Nath, M.K.; Vijayalakshmi, D.; Anbalagan, A. Analysis of various techniques for ECG signal in healthcare, past, present, and future. Biomed. Eng. Adv. 2023, 6, 100089. [Google Scholar] [CrossRef]
  8. Ardeti, V.A.; Kolluru, V.R.; Varghese, G.T.; Patjoshi, R.K. An overview on state-of-the-art electrocardiogram signal processing methods: Traditional to AI-based approaches. Expert Syst. Appl. 2023, 217, 119561. [Google Scholar] [CrossRef]
  9. Liu, X.; Wang, H.; Li, Z.; Qin, L. Deep learning in ECG diagnosis: A review. Knowl.-Based Syst. 2021, 227, 107187. [Google Scholar] [CrossRef]
  10. Rajpurkar, P.; Hannun, A.Y.; Haghpanahi, M.; Bourn, C.; Ng, A.Y. Cardiologist-level arrhythmia detection with convolutional neural networks. arXiv 2017, arXiv:1707.01836. [Google Scholar] [CrossRef]
  11. Wang, J.; Li, W. Atrial Fibrillation Detection and ECG Classification based on CNN-BiLSTM. arXiv 2020, arXiv:2011.06187. [Google Scholar] [CrossRef]
  12. Zhao, Q.; Zhang, L. ECG feature extraction and classification using wavelet transform and support vector machines. In Proceedings of the 2005 International Conference on Neural Networks and Brain, (ICNN&B 2005), Beijing, China, 13–15 October 2005; Volumes 1–3, pp. 1089–1092. [Google Scholar]
  13. Ubeyli, E.D. ECG beats classification using multiclass support vector machines with error correcting output codes. Digit. Signal Process. 2007, 17, 675–684. [Google Scholar] [CrossRef]
  14. Polat, K.; Gunes, S. Detection of ECG Arrhythmia using a differential expert system approach based on principal component analysis and least square support vector machine. Appl. Math. Comput. 2007, 186, 898–906. [Google Scholar] [CrossRef]
  15. Moavenian, M.; Khorrami, H. A qualitative comparison of Artificial Neural Networks and Support Vector Machines in ECG arrhythmias classification. Expert Syst. Appl. 2010, 37, 3088–3093. [Google Scholar] [CrossRef]
  16. Dohare, A.K.; Kumar, V.; Kumar, R. Detection of myocardial infarction in 12 lead ECG using support vector machine. Appl. Soft Comput. 2018, 64, 138–147. [Google Scholar] [CrossRef]
  17. Moody, G.B.; Mark, R.G. The impact of the MIT-BIH Arrhythmia Database. IEEE Eng. Med. Biol. Mag. 2001, 20, 45–50. [Google Scholar] [CrossRef]
  18. Taddei, A.; Distante, G.; Emdin, M.; Pisani, P.; Moody, G.B.; Zeelenberg, C.; Marchesi, C. The European ST-T Database: Standard for evaluating systems for the analysis of ST-T changes in ambulatory electrocardiography. Eur. Heart J. 1992, 13, 1164–1172. [Google Scholar] [CrossRef]
  19. Laguna, P.; Mark, R.G.; Goldberg, A.; Moody, G.B. A Database for Evaluation of Algorithms for Measurement of QT and Other Waveform Intervals in the ECG. Comput. Cardiol. 1997, 24, 673–676. [Google Scholar] [CrossRef]
  20. Wagner, P.; Strodthoff, N.; Bousseljot, R.D.; Kreiseler, D.; Lunze, F.I.; Samek, W.; Schaeffter, T. PTB-XL, a large publicly available electrocardiography dataset. Sci. Data 2020, 7, 154. [Google Scholar] [CrossRef]
  21. Kalyakulina, A.I.; Yusipov, I.I.; Moskalenko, V.A.; Nikolskiy, A.V.; Kosonogov, K.A.; Osipov, G.V.; Ivanchenko, M.V. LUDB: A New Open-Access Validation Tool for Electrocardiogram Delineation Algorithms. IEEE Access 2020, 8, 186181–186190. [Google Scholar] [CrossRef]
  22. Rijnbeek, P.R.; Van Herpen, G.; Bots, M.L.; Man, S.; Verweij, N.; Hofman, A.; Kors, J.A. Normal values of the electrocardiogram for ages 16–90 years. J. Electrocardiol. 2014, 47, 914–921. [Google Scholar] [CrossRef]
  23. Fye, W. A History of the origin, evolution, and impact of electrocardiography. Am. J. Cardiol. 1994, 73, 937–949. [Google Scholar] [CrossRef]
  24. Lau, J.K.; Lowres, N.; Neubeck, L.; Brieger, D.B.; Sy, R.W.; Galloway, C.D.; Freedman, S.B. iPhone ECG application for community screening to detect silent atrial fibrillation: A novel technology to prevent stroke. Int. J. Cardiol. 2013, 165, 193–194. [Google Scholar] [CrossRef]
  25. Hampton, J.; Hampton, J. The ECG Made Easy, 9th ed.; Elsevier: Philadelphia, PA, USA, 2019. [Google Scholar]
  26. Roberts-Thomson, K.; Lau, D.; Sanders, P. The diagnosis and management of ventricular arrhythmias. Nat. Rev. Cardiol. 2011, 8, 311–321. [Google Scholar] [CrossRef]
  27. Kalyakulina, A.; Yusipov, I.; Moskalenko, V.; Nikolskiy, A.; Kosonogov, K.; Zolotykh, N.; Ivanchenko, M. Lobachevsky University Electrocardiography Database (version 1.0.1). PhysioNet 2021. [Google Scholar] [CrossRef]
  28. Goldberger, A.L.; Amaral, L.A.; Glass, L.; Hausdorff, J.M.; Ivanov, P.C.; Mark, R.G.; Mietus, J.E.; Moody, G.B.; Peng, C.K.; Stanley, H.E. PhysioBank, PhysioToolkit, and PhysioNet: Components of a New Research Resource for Complex Physiologic Signals. Circulation 2000, 23, 215–220. [Google Scholar] [CrossRef]
  29. Wagner, P.; Strodthoff, N.; Bousseljot, R.; Samek, W.; Schaeffter, T. PTB-XL, a large publicly available electrocardiography dataset (version 1.0.3). PhysioNet 2022. [Google Scholar] [CrossRef]
  30. Moody, G.B.; Mark, R.G. MIT-BIH Arrhythmia Database (version 1.0.0). PhysioNet 2005. Available online: https://physionet.org/content/mitdb/1.0.0/ (accessed on 13 August 2025).
  31. MathWorks. MATLAB Coder Documentation. Documentation for MATLAB Coder, Release R2025b. 2025. Available online: https://www.mathworks.com/help/coder/index.html (accessed on 16 October 2025).
  32. MathWorks. Real-Time ECG QRS Detection on ARM Cortex-M Processor. Available online: https://www.mathworks.com/help/ecoder/armcortexm/ref/real-time-ecg-qrs-detection-on-arm-cortex-m-processor.html (accessed on 16 October 2025).
  33. MathWorks. VivaQuant Accelerates Development and Validation of Embedded Device for Ambulatory ECG Sensing. Available online: https://www.mathworks.com/company/user_stories/vivaquant-accelerates-development-and-validation-of-embedded-device-for-ambulatory-ecg-sensing.html (accessed on 16 October 2025).
  34. MathWorks. IDNEO Develops Embedded Computer Vision and Machine Learning Algorithms for Interpreting Blood Type Results. Customer Story. Available online: https://www.mathworks.com/company/user_stories/idneo-develops-embedded-computer-vision-and-machine-learning-algorithms-for-interpreting-blood-type-results.html (accessed on 16 October 2025).
  35. Peimankar, A.; Puthusserypady, S. DENS-ECG: A deep learning approach for ECG signal delineation. Expert Syst. Appl. 2021, 165, 113911. [Google Scholar] [CrossRef]
  36. Ekenberg, L.F.; Høfsten, D.E.; Rasmussen, S.M.; Mølgaard, J.; Hasbak, P.; Sørensen, H.B.D.; Meyhoff, C.S.; Aasvang, E.K. Wireless Single-Lead versus Standard 12-Lead ECG, for ST-Segment Deviation during Adenosine Cardiac Stress Scintigraphy. Sensors 2023, 23, 2962. [Google Scholar] [CrossRef]
  37. Attia, Z.I.; Kapa, S.; Lopez-Jimenez, F.; McKie, P.M.; Ladewig, D.J.; Satam, G.; Pellikka, P.A.; Enriquez-Sarano, M.; Noseworthy, P.A.; Munger, T.M.; et al. Screening for cardiac contractile dysfunction using an artificial intelligence–enabled electrocardiogram. Nat. Med. 2019, 25, 70–74. [Google Scholar] [CrossRef] [PubMed]
  38. Thygesen, K.; Alpert, J.S.; Jaffe, A.S.; Chaitman, B.R.; Bax, J.J.; Morrow, D.A.; White, H.D. Fourth Universal Definition of Myocardial Infarction (2018). Circulation 2018, 138, e618–e651. [Google Scholar] [CrossRef]
  39. Lenis, G.; Pilia, N.; Bailón, R.; Sarro, E.; Laguna, P. Comparison of Baseline Wander Removal Techniques Considering the Preservation of ST Changes in the Ischemic ECG: A Simulation Study. Comput. Math. Methods Med. 2017, 2017, 9295029. [Google Scholar] [CrossRef]
  40. Rahman, S.; Karmakar, C.; Natgunanathan, I.; Yearwood, J.; Palaniswami, M. Robustness of electrocardiogram signal quality indices. J. R. Soc. Interface 2022, 19, 20220012. [Google Scholar] [CrossRef]
  41. Zhou, F.; Fang, D. Classification of multi-lead ECG based on multiple scales and hierarchical feature convolutional neural networks. Sci. Rep. 2025, 15, 16418. [Google Scholar] [CrossRef]
  42. Bourzeg, S. Open_ECG: ECG .dat File Reader. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/49822 (accessed on 13 August 2025).
  43. Sedghamiz, H. An Online Algorithm for R, S and TWave Detection. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/45404 (accessed on 13 August 2025).
  44. Sedghamiz, H. Complete Pan Tompkins Implementation ECG QRS Detector. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/45840 (accessed on 13 August 2025).
  45. Aalizade, N. ECG P QRS T Wave Detecting Matlab Code. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/66098 (accessed on 13 August 2025).
  46. Reyes-Aldasoro, C.C. Visualization and Analysis of an Electrocardiogram Signal. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/68246-visualization-and-analysis-of-an-electrocardiogram-signal (accessed on 13 August 2025).
  47. Sedghamiz, H. BioSigKit: A Matlab Toolbox and Interface for Analysis of BioSignals. J. Open Source Softw. 2018, 3, 671. [Google Scholar] [CrossRef]
  48. Marianux. Ecg-Kit. MATLAB Central File Exchange/GitHub. 2025. Available online: https://github.com/marianux/ecg-kit (accessed on 13 August 2025).
  49. Raviprakash, K. ECG Simulation Using MATLAB. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/10858-ecg-simulation-using-matlab (accessed on 13 August 2025).
  50. Forcier, N. ECGWaveform Simulator. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/33247-ecg-waveform-simulator (accessed on 13 August 2025).
  51. Rahimian, A. ECG Signal Simulation and Analysis. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/128844-ecg-signal-simulation-and-analysis (accessed on 13 August 2025).
  52. OK, D. ECG Class for Heart Rate Variability Analysis. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/84692-ecg-class-for-heart-rate-variability-analysis (accessed on 13 August 2025).
  53. Nasri, M. ECG Compression. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/3657-ecg-compression (accessed on 13 August 2025).
  54. Meshram, A. ECG Signal Compression. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/43451-ecg-signal-compression (accessed on 13 August 2025).
  55. Duval, L. BEADS Baseline Estimation and Denoising with Sparsity. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/49974-beads-baseline-estimation-and-denoising-with-sparsity (accessed on 13 August 2025).
  56. Aniyan, A. ECG Beat Calculation. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/24628-ecg-beat-calculation (accessed on 13 August 2025).
  57. Mirrahimi, E. Calculating Beat Rate of Heart by DWT. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/17115-calculating-beat-rate-of-heart-by-dwt (accessed on 13 August 2025).
  58. Mazza, A. ECG_Analyzer. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/155087-ecg_analyzer (accessed on 13 August 2025).
  59. Ravish, D.D. Ecg Qrs Detection (Heart Beat in One Minute). MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/31780-ecg-qrs-detection-heart-beat-in-one-minute (accessed on 13 August 2025).
  60. Igal. Simulink Model for Fetal ECG Extraction (HDL Compatible Algorithm). MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/35328-simulink-model-for-fetal-ecg-extraction-hdl-compatible-algorithm (accessed on 13 August 2025).
  61. Heather Gorr, P. Calculate Heart Rate from Electrocardiogram Data. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/73049-calculate-heart-rate-from-electrocardiogram-data (accessed on 13 August 2025).
  62. Selva. R-Peak Detection Using DWT and Classification of Arrhythmia Using Bayesian Classifier. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/32214-r-peak-detection-using-dwt-and-classification-of-arrhythmia-using-bayesian-classifier (accessed on 13 August 2025).
  63. Harini. ECG QRS Detection. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/57836 (accessed on 13 August 2025).
  64. Bassiouni, M. ECG Preprocessing, Segmentation and Obtaining the Mean P-QRS-T Fragment. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/66623 (accessed on 27 May 2025).
  65. Sanghavi, R. Ecg Signal Pqrst Peak Detection Toolbox. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/73850 (accessed on 12 August 2025).
  66. Irfan, M. Ecg Signal Analysis Using Heart Waves. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/166056 (accessed on 6 August 2025).
  67. Ostadabbas, S. Biosignal-Specific Processing (Bio-SP) Tool. MATLAB Central File Exchange. 2025. Available online: https://www.mathworks.com/matlabcentral/fileexchange/64013 (accessed on 13 August 2025).
Figure 1. Standard 12-lead ECG monitoring.
Figure 1. Standard 12-lead ECG monitoring.
Algorithms 18 00689 g001
Figure 2. Components of an ECG complex.
Figure 2. Components of an ECG complex.
Algorithms 18 00689 g002
Figure 3. Algorithm of raw ECG signal processing.
Figure 3. Algorithm of raw ECG signal processing.
Algorithms 18 00689 g003
Figure 4. ECG Signal Analysis and Abnormality Detection Application.
Figure 4. ECG Signal Analysis and Abnormality Detection Application.
Algorithms 18 00689 g004
Table 1. Selected lead-independent ECG parameters for males and females of age 16–89 [22].
Table 1. Selected lead-independent ECG parameters for males and females of age 16–89 [22].
ParameterSex16–1920–2930–3940–4950–5960–6970–7980–89
QRS (ms)Male100 (82,126)100 (80,126)100 (78,124)100 (78,122)100 (80,124)100 (80,124)101 (80,131)98 (70,136)
Female92 (74,112)90 (76,110)92 (74,114)90 (76,114)92 (76,114)92 (76,115)92 (74,114)92 (72,118)
PQ (ms)Male148 (118,200)150 (118,196)152 (118,198)152 (115,200)160 (124,206)164 (126,220)164 (129,228)172 (122,290)
Female144 (112,190)144 (110,190)146 (114,196)148 (112,200)156 (120,206)158 (120,206)162 (121,210)170 (125,235)
QT (ms)Male378 (332,452)394 (342,454)396 (344,454)394 (342,458)396 (342,458)398 (346,454)398 (336,458)395 (334,476)
Female390 (337,455)394 (340,456)400 (346,460)396 (350,458)398 (349,458)396 (351,454)394 (342,454)394 (332,461)
Heart rate
(bpm)
Male73 (49,107)65 (45,94)65 (46,95)66 (47,95)67 (48,94)67 (48,95)67 (50,99)74 (40,97)
Female72 (47,105)67 (48,98)66 (47,95)67 (47,90)69 (52,94)71 (53,94)72 (55,98)72 (50,102)
Table 2. LUDB patients’ diagnoses annotations [27].
Table 2. LUDB patients’ diagnoses annotations [27].
IDSexAgeRhythmsElectric Axis of
the Heart
Conduction
Abnormalities
ExtrasystoliesHypertrophiesIschemiaNon-Specific
Repolarization
Abnormalities
7M50Sinus rhythmElectric axis of
the heart:
horizontal
Atrial
extrasystole,
type: single pac
Atrial
extrasystole:
sa-nodal
extrasystole
Left atrial
hypertrophy
Right atrial
overload Left
ventricular
hypertrophy
Stemi: lateral
wall
Stemi: anterior
wall
Stemi: septal
Stemi: apical
22M66Sinus arrhythmiaElectric axis of
the heart:
horizontal
Incomplete right
bundle branch
block
Atrial
extrasystole:
undefined
Left atrial
hypertrophy
Non-specific
repolarization
abnormalities:
lateral wall
Non-specific
repolarisation
abnormalities:
anterior wall
38F59Atrial fibrillationElectric axis of
the heart: left axis
deviation
Ventricular
extrasystole,
localisation: rvot,
anterior wall
Ventricular
extrasystole,
type: intercalary
pvc Ventricular
extrasystole,
type: single pvc
Left ventricular
overload Left
ventricular
hypertrophy
Ischemia: apical
Ischemia: lateral
wall
85F51Sinus rhythmElectric axis of
the heart:
horizontal
Incomplete right
bundle branch
block
Left atrial
hypertrophy
Non-specific
repolarization
abnormalities:
anterior wall
Non-specific
repolarisation
abnormalities:
apical
Non-specific
repolarisation
abnormalities:
inferior wall
Non-specific
repolarisation
abnormalities:
septal
Table 3. Comparison of selected ECG classification methods in terms of accuracy, dataset requirements, computation, and interpretability.
Table 3. Comparison of selected ECG classification methods in terms of accuracy, dataset requirements, computation, and interpretability.
MethodAccuracyDataset SizeComputational SpeedStrengthsWeaknesses
Wavelet + kNN75–88%SmallFast— low data requirements
— interpretable results
— limited robustness
— limited generalisation
SVM80–90%Small/MediumFast— effective on small datasets
— interpretable kernel space
— limited scalability
— poor temporal modelling
RNN/LSTM88–95%Medium/LargeSlow— models temporal dependencies effectively— training instability
— limited for long sequences
CNN90–97%LargeMedium— captures morphological ECG features
— robust to noise
— requires large labelled datasets
— overfitting risk
Transformer:ECG-ViT or ECGformer92–98%LargeModerate/Slow— captures long-range dependencies
— state-of-the-art accuracy
— high computational cost
— limited interpretability
CNN-LSTM94–98%LargeMedium— combines spatial and temporal features
— strong generalisation
— complex architecture
— expensive training
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Jandera, A.; Petryk, Y.; Muzelak, M.; Skovranek, T. ECG Signal Analysis and Abnormality Detection Application. Algorithms 2025, 18, 689. https://doi.org/10.3390/a18110689

AMA Style

Jandera A, Petryk Y, Muzelak M, Skovranek T. ECG Signal Analysis and Abnormality Detection Application. Algorithms. 2025; 18(11):689. https://doi.org/10.3390/a18110689

Chicago/Turabian Style

Jandera, Ales, Yuliia Petryk, Martin Muzelak, and Tomas Skovranek. 2025. "ECG Signal Analysis and Abnormality Detection Application" Algorithms 18, no. 11: 689. https://doi.org/10.3390/a18110689

APA Style

Jandera, A., Petryk, Y., Muzelak, M., & Skovranek, T. (2025). ECG Signal Analysis and Abnormality Detection Application. Algorithms, 18(11), 689. https://doi.org/10.3390/a18110689

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop