<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Physiol.</journal-id>
<journal-title>Frontiers in Physiology</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Physiol.</abbrev-journal-title>
<issn pub-type="epub">1664-042X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1260074</article-id>
<article-id pub-id-type="doi">10.3389/fphys.2023.1260074</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Physiology</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Representative QRS loop of the VCG record evaluation</article-title>
<alt-title alt-title-type="left-running-head">Kijonka et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fphys.2023.1260074">10.3389/fphys.2023.1260074</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Kijonka</surname>
<given-names>Jan</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1803737/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Vavra</surname>
<given-names>Petr</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Penhaker</surname>
<given-names>Marek</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Kubicek</surname>
<given-names>Jan</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Cybernetics and Biomedical Engineering</institution>, <institution>Faculty of Electrical Engineering and Computer Science</institution>, <institution>VSB&#x2014;Technical University of Ostrava</institution>, <addr-line>Ostrava</addr-line>, <country>Czechia</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Department of Surgical Studies</institution>, <institution>Faculty of Medicine of the University of Ostrava</institution>, <addr-line>Ostrava</addr-line>, <country>Czechia</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/75268/overview">Ahsan H. Khandoker</ext-link>, Khalifa University, United Arab Emirates</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1008925/overview">Lisandro Lovisolo</ext-link>, Rio de Janeiro State University, Brazil</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/88165/overview">Daniele Bibbo</ext-link>, Roma Tre University, Italy</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Jan Kijonka, <email>jan.kijonka@vsb.cz</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>04</day>
<month>01</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>14</volume>
<elocation-id>1260074</elocation-id>
<history>
<date date-type="received">
<day>17</day>
<month>07</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>04</day>
<month>12</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Kijonka, Vavra, Penhaker and Kubicek.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Kijonka, Vavra, Penhaker and Kubicek</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>
<bold>Introduction:</bold> This study proposes an algorithm for preprocessing VCG records to obtain a representative QRS loop.</p>
<p>
<bold>Methods:</bold> The proposed algorithm uses the following methods: Digital filtering to remove noise from the signal, wavelet-based detection of ECG fiducial points and isoelectric PQ intervals, spatial alignment of QRS loops, QRS time synchronization using root mean square error minimization and ectopic QRS elimination. The representative QRS loop is calculated as the average of all QRS loops in the VCG record. The algorithm is evaluated on 161 VCG records from a database of 58 healthy control subjects, 69 patients with myocardial infarction, and 34 patients with bundle branch block. The morphologic intra-individual beat-to-beat variability rate is calculated for each VCG record.</p>
<p>
<bold>Results and Discussion:</bold> The maximum relative deviation is 12.2% for healthy control subjects, 19.3% for patients with myocardial infarction, and 17.2% for patients with bundle branch block. The performance of the algorithm is assessed by measuring the morphologic variability before and after QRS time synchronization and ectopic QRS elimination. The variability is reduced by a factor of 0.36 for healthy control subjects, 0.38 for patients with myocardial infarction, and 0.41 for patients with bundle branch block. The proposed algorithm can be used to generate a representative QRS loop for each VCG record. This representative QRS loop can be used to visualize, compare, and further process VCG records for automatic VCG record classification.</p>
</abstract>
<kwd-group>
<kwd>digital filtering</kwd>
<kwd>ECG</kwd>
<kwd>intra-individuality</kwd>
<kwd>isoelectric line detection</kwd>
<kwd>QRS detection</kwd>
<kwd>QRS loop alignment</kwd>
<kwd>representative QRS loop</kwd>
<kwd>VCG</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Computational Physiology and Medicine</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The development of algorithms for an automatic classification of vectorcardiographic (VCG) records for the purpose of heart disease recognition helps include VCG among the commonly used diagnostic methods. Based on the facts from recent studies [e.g., <xref ref-type="bibr" rid="B17">Lee et al., 1968</xref>; <xref ref-type="bibr" rid="B32">Simonson, 1976</xref>; <xref ref-type="bibr" rid="B9">Ge, 2008</xref>; <xref ref-type="bibr" rid="B11">Huebner et al., 2010</xref>; <xref ref-type="bibr" rid="B29">Romero et al., 2010</xref>; <xref ref-type="bibr" rid="B7">Dehnavi et al., 2011</xref>; <xref ref-type="bibr" rid="B6">Correa et al., 2016</xref>; <xref ref-type="bibr" rid="B18">Lingman et al., 2016</xref>], VCG achieves more accurate results than the standard 12-lead electrocardiographic (ECG) method. Compared to the empirically assessed 12-lead ECG, VCG diagnostics offers a quantitative description of the heart&#x2019;s electrical field and of the objective view on the heart vector propagation. Thanks to the three orthogonal X, Y, and Z leads, VCG represents a suitable alternative for computerized data processing with no redundant information (<xref ref-type="bibr" rid="B14">Kral, 2006</xref>).</p>
<p>Preprocessing of a VCG record is an important initial step of the classification process commonly involving techniques of filtering, which meets the requirements for diagnostic ECG frequency bands (<xref ref-type="bibr" rid="B13">Kligfield et al., 2007</xref>), fiducial time instants of the QRS peak, QRS onset, and QRS end; P- and T-wave peaks, onsets, and ends; isoelectric PQ interval assessment (<xref ref-type="bibr" rid="B25">Pan and Tompkins, 1985</xref>; <xref ref-type="bibr" rid="B8">Dokur et al., 1996</xref>; <xref ref-type="bibr" rid="B33">Soria-Olivas et al., 1998</xref>; <xref ref-type="bibr" rid="B37">Vullings et al., 1998</xref>; <xref ref-type="bibr" rid="B21">Mart&#xed;nez et al., 2004</xref>; <xref ref-type="bibr" rid="B23">Mazomenos et al., 2012</xref>); spatiotemporal QRS loop alignment (<xref ref-type="bibr" rid="B36">van Alst&#xe9; et al., 1986</xref>; <xref ref-type="bibr" rid="B34">S&#xf6;rnmo, 1993</xref>; <xref ref-type="bibr" rid="B35">S&#xf6;rnmo, 1998</xref>; <xref ref-type="bibr" rid="B2">Astrom et al., 2000</xref>; <xref ref-type="bibr" rid="B38">Vullings et al., 2013</xref>); and finally a representative P-QRS-T loops of a VCG record evaluation.</p>
<p>Recent studies (<xref ref-type="bibr" rid="B35">S&#xf6;rnmo, 1998</xref>; <xref ref-type="bibr" rid="B2">Astrom et al., 2000</xref>; <xref ref-type="bibr" rid="B38">Vullings et al., 2013</xref>) propose various methods for QRS loop alignment by transformations which consist of rotation and lead-independent or lead-dependent scaling. A crucial modeling issue is, however, whether the diagnostic information of the signals is retained or becomes distorted when these transformations are applied, especially in pathological cases, where the QRS loop planarity is not retained (<xref ref-type="bibr" rid="B31">Schellong, 1939</xref>; <xref ref-type="bibr" rid="B27">Pipberger et al., 1962</xref>). Moreover, the performance of these methods is strongly dependent on signal-to-noise ratio (SNR) conditions or on <italic>a priori</italic> information about these transformations.</p>
<p>As a representative template of the QRS loop, characterizing a VCG record, theoretically any of the detected QRS loops of a record could be selected. However, a more accurate method is to evaluate an average QRS loop, where effects of heart movement during the respiration cycle and distance between surface electrodes and the heart variations, along with effects of random noises caused, e.g., by muscular activity, are minimized by the averaging. Ectopic heartbeats, if presented, should be automatically detected and excluded from the record before evaluation of the average heartbeat (<xref ref-type="bibr" rid="B3">Berbari et al., 1993</xref>).</p>
<p>
<xref ref-type="bibr" rid="B12">Kijonka et al. (2022</xref>) focused on the fiducial points of P-QRS-T wave detection based on wavelet transform evaluated on the Physikalisch Technische Bundesanstalt (PTB) diagnostic database and validated on the Common Standards for Quantitative Electrocardiography (CSE) multilead database of 125 records of patients with various diagnoses, including healthy controls (HCs) and patients with myocardial infarction (MI), bundle branch block (BBB), and aspecific conduction defects with significant changes in the ECG image, causing a wide QRS (&#x3e;120&#xa0;ms). The QRS peak was evaluated correctly for all of 1,467 beats. The QRS onset and QRS end were detected with standard deviation comparable to or better than other well-known algorithms (<xref ref-type="bibr" rid="B25">Pan and Tompkins, 1985</xref>; <xref ref-type="bibr" rid="B30">SAHAMBI et al., 1997</xref>; <xref ref-type="bibr" rid="B22">MAZOMENOS, 2012</xref>; <xref ref-type="bibr" rid="B37">VULLINGS et al., 1998</xref>). The isoelectric interval was detected correctly between the P end and QRS onset for all the cases. The algorithm well-evaluated a wide QRS based on automated wavelet scale switching.</p>
<p>This study builds on the validated QRS loop boundaries and isoelectric coordinate detector presented in <xref ref-type="bibr" rid="B12">Kijonka et al. (2022</xref>) for the purpose of further signal processing&#x2014;the representative QRS loop of a record evaluation technique presented here. This study deals with a suitable digital finite impulse response (FIR) filter design, including automatic notch filter design, a technique of QRS loop spatial alignment, QRS loop time-synchronization, and ectopic QRS loop elimination presented here. Compared to the QRS loop alignment techniques presented in <xref ref-type="bibr" rid="B35">S&#xf6;rnmo (1998</xref>); <xref ref-type="bibr" rid="B2">Astrom et al. (2000</xref>); <xref ref-type="bibr" rid="B38">Vullings et al. (2013</xref>), the proposed algorithm omits transformation techniques, which could introduce a distortion in the average QRS loop of a record evaluation. Spatial and time synchronization to average the effect of heart movement during respiration, distance electrode variations, and muscular and random noises along with automatic detection to eliminate ectopic rhythms are used instead. To compare the results with those of the previous studies (<xref ref-type="bibr" rid="B35">S&#xf6;rnmo, 1998</xref>; <xref ref-type="bibr" rid="B2">Astrom et al., 2000</xref>; <xref ref-type="bibr" rid="B38">Vullings et al., 2013</xref>), the ratio of the morphologic variability reduction before and after the proposed algorithm application was assessed separately for three diagnostic groups of HC, MI, and BBB subjects. To evaluate the signal morphologic variability, the maximum relative deviation <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> was assesed. This parameter provides us the maximum spatial distance from the average QRS loop in three signals <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> relative to the range of signals.</p>
<p>The proposed preprocessing algorithm was applied to VCG records of the PTB database of 58 HC, 69 MI, and 34 BBB subjects, where 1/3 of the records of each diagnostic group were used for the algorithm design. The records were 2 min long, containing approximately 120 beats for averaging. The records are sampled at 1.000&#xa0;Hz (<xref ref-type="bibr" rid="B4">Bousseljot et al., 1995</xref>; <xref ref-type="bibr" rid="B10">Goldberger et al., 2000</xref>).</p>
</sec>
<sec sec-type="materials|methods" id="s2">
<title>2 Materials and methods</title>
<p>The initialization step of the data preprocessing algorithm (<xref ref-type="fig" rid="F1">Figure 1</xref>) is loading of an input database of VCG records accompanied by an anamnesis. In case of the PTB diagnostic database, a record is stored in a MAT/BIN file, accompanied by an anamnesis HEA file.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>VCG preprocessing algorithm.</p>
</caption>
<graphic xlink:href="fphys-14-1260074-g001.tif"/>
</fig>
<p>The VCG preprocessing algorithm is described by individual steps described below in <xref ref-type="sec" rid="s2-1">Section 2.1</xref> to <xref ref-type="sec" rid="s2-6">Section 2.6</xref>.</p>
<sec id="s2-1">
<title>2.1 Data filtering</title>
<p>In the first step of the algorithm, as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, a baseline wander and noise motion artifacts are filtered by the FIR high-pass (HP) filter with a passband cutoff frequency of 1&#xa0;Hz with respect to recommendations from <xref ref-type="bibr" rid="B13">Kligfield et al. (2007</xref>). Other artifacts caused by electromagnetic interference (EMI) of the 50-Hz power line are removed using a notch FIR filter. This type of filter was designed for offline biosignal processing due to its linear phase and minimal distortion of the filtered signal (<xref ref-type="bibr" rid="B19">Marchon and Naik, 2018</xref>).</p>
<sec id="s2-1-1">
<title>2.1.1 High-pass filter design</title>
<p>According to the American Heart Association (AHA), the filter with a cutoff frequency <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.05</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>dB</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is suitable for diagnostic purposes (MEDTEQ) (<xref ref-type="bibr" rid="B28">Reich, 2011</xref>). This analog first-order RC filter has a non-linear phase frequency characteristic, so it significantly distorts the VCG signal up to a frequency approximately one order higher than <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>The experimental measurements show that the cutoff frequency <inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.05</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> is insufficient for motion artifact filtering for the selected database file. Therefore, HP digital FIR filters with a higher cutoff frequency are designed. According to the relative specification of the filter, the parameters for the cutoff frequencies in the passband <inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in the range from <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mrow>
<mml:mn>0.2</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and the cutoff frequencies in the stopband <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>stop</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula> are selected. The requirement for the passband ripple <inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.017</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>dB</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and stopband attenuation <inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mtext>stop</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>54</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>dB</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> is selected as well.</p>
<p>With respect to the requirement for <inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (Eq. <xref ref-type="disp-formula" rid="e1">1</xref>) for the ripple amplitude <inline-formula id="inf13">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="bold">ripple</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3bc;</mml:mi>
<mml:mi mathvariant="bold">V</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> (such a small ripple does not affect the diagnostic VCG information) and amplitude of the VCG signal <inline-formula id="inf14">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="bold">VKG</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mtext>&#x2009;mV</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e1">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mn mathvariant="bold">20</mml:mn>
<mml:mo>&#x2219;</mml:mo>
<mml:mi mathvariant="bold">log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mtext>VKG</mml:mtext>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn mathvariant="bold">2</mml:mn>
<mml:mo>&#x2219;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mtext>ripple</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mtext>VKG</mml:mtext>
</mml:msub>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>The requirement for <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mtext>stop</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (Eq. <xref ref-type="disp-formula" rid="e2">2</xref>) for the band-stop amplitude drift is set by <inline-formula id="inf16">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mtext>drift</mml:mtext>
<mml:mo>_</mml:mo>
<mml:mtext>stop</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi mathvariant="normal">V</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and the drift amplitude <inline-formula id="inf17">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mtext>drift</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>mV</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> (with respect to motion artifacts in the input database):<disp-formula id="e2">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mtext>stop</mml:mtext>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mn mathvariant="bold">20</mml:mn>
<mml:mo>&#x2219;</mml:mo>
<mml:mi mathvariant="bold">log</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="bold">drift</mml:mtext>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">U</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
<mml:mi mathvariant="bold">r</mml:mi>
<mml:mi mathvariant="bold">i</mml:mi>
<mml:mi mathvariant="bold">f</mml:mi>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="bold">s</mml:mi>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>The filters are designed using the Parks&#x2013;McClellan optimalization method. To determine the effectiveness and suitability of the equivalent FIR filter with a cutoff frequency <inline-formula id="inf18">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.05</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and four FIR filters with the threshold frequencies <inline-formula id="inf19">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.2</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
<mml:mrow>
<mml:mo>;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
<mml:mrow>
<mml:mo>;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
<mml:mrow>
<mml:mo>;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, the filters are tested in randomly selected VCG records of healthy patients and patients with myocardial infarction and bundle branch blocks, which may be negatively affected by too high cutoff frequency of the filter due to a pathologically wide QRS complex.</p>
<p>In order to eliminate the isoelectric baseline fluctuation effectively, the filter with <inline-formula id="inf20">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> is selected. The filter with the cutoff frequency <inline-formula id="inf21">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> has already caused a gross distortion of the P and T waves, ST segment, and PQ segment of the records of patients with the width of the QRS complex, although the QRS complex itself has not been deformed (<xref ref-type="fig" rid="F2">Figure 2</xref>).</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>ECG record: &#x201c;s0429_re&#x201d; of the diagnostic PTB database of the patient with bundle branch block filtering detail. <bold>(A)</bold> FIR filter with the cutoff frequency <inline-formula id="inf22">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">2</mml:mn>
<mml:mtext>&#x2009;Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. <bold>(B)</bold> FIR filter with the cutoff frequency <inline-formula id="inf23">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mtext>pass</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mtext>&#x2009;Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="fphys-14-1260074-g002.tif"/>
</fig>
</sec>
<sec id="s2-1-2">
<title>2.1.2 Automatic notch filter design</title>
<p>The designed notch filter is applied automatically only in the case of exceedance in the level of interference by the Eq. <xref ref-type="disp-formula" rid="e3">3</xref>:<disp-formula id="e3">
<mml:math id="m26">
<mml:mrow>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mn mathvariant="bold">49.5</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mn mathvariant="bold">50.5</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mn mathvariant="bold">0.2</mml:mn>
<mml:mo>&#x2219;</mml:mo>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">Y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mn mathvariant="bold">5</mml:mn>
<mml:mo>_</mml:mo>
<mml:mn mathvariant="bold">15</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf24">
<mml:math id="m27">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mn>49.5</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>50.5</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> represents the amplitude frequency spectrum in the range <inline-formula id="inf25">
<mml:math id="m28">
<mml:mrow>
<mml:mrow>
<mml:mn>49.5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>&#x2013;<inline-formula id="inf26">
<mml:math id="m29">
<mml:mrow>
<mml:mrow>
<mml:mn>50.5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf27">
<mml:math id="m30">
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mo>_</mml:mo>
<mml:mo>1</mml:mo>
<mml:mo>5</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> is the amplitude frequency spectrum in the range <inline-formula id="inf28">
<mml:math id="m31">
<mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>&#x2013;<inline-formula id="inf29">
<mml:math id="m32">
<mml:mrow>
<mml:mrow>
<mml:mn>15</mml:mn>
<mml:mtext>&#xa0;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>According to the European standard EN 50160, &#x201c;<italic>Voltage characteristics of electricity supplied by public distribution systems</italic>&#x201d; is the mains frequency <inline-formula id="inf30">
<mml:math id="m33">
<mml:mrow>
<mml:mrow>
<mml:mn>50</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> with tolerance <inline-formula id="inf31">
<mml:math id="m34">
<mml:mrow>
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.50</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf32">
<mml:math id="m35">
<mml:mrow>
<mml:mn>99.5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> of the time defined. The harmonic voltage cannot exceed <inline-formula id="inf33">
<mml:math id="m36">
<mml:mrow>
<mml:mn>6</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> of the fundamental frequency amplitude.</p>
<p>For electromagnetic interference (EMI) filtering, the FIR notch filter is designed using Parks&#x2013;McClellan optimalization. The requirement for <inline-formula id="inf34">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mtext>stop</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>29</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>dB</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> is selected by keeping the mains interference amplitude <inline-formula id="inf35">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>50</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>50</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mi mathvariant="normal">V</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The cutoff frequency in the first and the second passbands <inline-formula id="inf36">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mtext>pass</mml:mtext>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>49.5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf37">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mtext>pass</mml:mtext>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>50.5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> is selected considering the feasibility of the filter and to meet the conditions for the narrowest band in accordance with VCG diagnostic information preservation.</p>
<p>The requirement for <inline-formula id="inf38">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mtext>stop</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is fulfilled for the designed filter with the bandwidth <inline-formula id="inf39">
<mml:math id="m42">
<mml:mrow>
<mml:mrow>
<mml:mn>0.1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. In the case of larger deviation from the fundamental frequency, the frequency of the notch filter <inline-formula id="inf40">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>notch</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is adjusted automatically based on the signal frequency spectrum. Filtering of harmonics is meaningless since the amplitude of the interferences reached a negligible level.</p>
</sec>
</sec>
<sec id="s2-2">
<title>2.2 QRS and PQ detection</title>
<p>One of the crucial steps in ECG analysis is to accurately detect the different waves forming the entire cardiac cycle. Most of the studies based on wavelet transformation identify almost all morphologies of ECG waveforms (<xref ref-type="bibr" rid="B18">Lingman et al., 2016</xref>). Especially, the wavelet transformation is worth investigating in P- and T-wave recognition (<xref ref-type="bibr" rid="B1">Addison, 2005</xref>; <xref ref-type="bibr" rid="B20">Martinez et al., 2004</xref>).</p>
<p>In this section, we present our previous work: a design of the QRS peak detector (detector of the R wave) including the time instants of the QRS onset and QRS end detection and the isoelectric PQ segment detection. The algorithm is based on biorthogonal wavelets since they excite various morphologies of ECGs better at different scales (<xref ref-type="bibr" rid="B12">Kijonka et al., 2022</xref>).</p>
<p>Here, we summarize the algorithm in eight points. The implementation with zero points and intervals detected is shown in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Zero points <inline-formula id="inf41">
<mml:math id="m44">
<mml:mrow>
<mml:mmultiscripts>
<mml:msubsup>
<mml:mi mathvariant="bold">z</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mprescripts/>
<mml:mi mathvariant="bold">L</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> left to the <inline-formula id="inf42">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mmultiscripts>
<mml:mi mathvariant="bold">b</mml:mi>
<mml:mprescripts/>
<mml:mtext>peak</mml:mtext>
<mml:none/>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf43">
<mml:math id="m46">
<mml:mrow>
<mml:mmultiscripts>
<mml:msubsup>
<mml:mi mathvariant="bold">z</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mprescripts/>
<mml:mi mathvariant="bold">R</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> right to the <inline-formula id="inf44">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mmultiscripts>
<mml:mi mathvariant="bold">b</mml:mi>
<mml:mprescripts/>
<mml:mtext>peak</mml:mtext>
<mml:none/>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> detected in the <inline-formula id="inf45">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mmultiscripts>
<mml:mi mathvariant="bold">b</mml:mi>
<mml:mprescripts/>
<mml:mtext>peak</mml:mtext>
<mml:none/>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> neighborhood given by the parameter <inline-formula id="inf46">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mtext>TT</mml:mtext>
<mml:mtext>LS</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The intervals between the zero points, which meet the conditions assessed (the amplitude threshold exceeding and others), are marked in green.</p>
</caption>
<graphic xlink:href="fphys-14-1260074-g003.tif"/>
</fig>
<sec id="s2-2-1">
<title>2.2.1 Basics</title>
<p>The wavelet transform allows us to analyze nonstationary nature signals with localization in time. For analysis, the continuous form of wavelet transform (CWT) was used, described by the Eq. <xref ref-type="disp-formula" rid="e4">4</xref>:<disp-formula id="e4">
<mml:math id="m50">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mi mathvariant="bold-italic">&#x3c8;</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold-italic">f</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">&#x221e;</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">&#x221e;</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3c8;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold">d</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf47">
<mml:math id="m51">
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> stands for a dilatation parameter, <inline-formula id="inf48">
<mml:math id="m52">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the translation parameter, and <inline-formula id="inf49">
<mml:math id="m53">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is a mother wavelet. CWT uses sampled data, but compared to the discrete wavelet transform (DWT), it allows finer resolution. The output is a transformed signal of the same number of samples as the original. A compact and symmetric biorthogonal wavelet was used. It provides time symmetry, prevents phase shifts of the transformed signal, and complies with the shape like the detected waveforms.</p>
</sec>
<sec id="s2-2-2">
<title>2.2.2 QRS peak detection</title>
<p>QRS peak detection is based on the wavelet transform <inline-formula id="inf50">
<mml:math id="m54">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of the input signals <inline-formula id="inf51">
<mml:math id="m55">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>1,2,3</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> corresponding to <inline-formula id="inf52">
<mml:math id="m56">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> signals, on scale <inline-formula id="inf53">
<mml:math id="m57">
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where the samples of the record <inline-formula id="inf54">
<mml:math id="m58">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf55">
<mml:math id="m59">
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the total number of samples of the signal. For the detection, the scale <inline-formula id="inf56">
<mml:math id="m60">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is used, which corresponds with the biorthogonal wavelet of pseudo-frequency approximately <inline-formula id="inf57">
<mml:math id="m61">
<mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>Hz</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>. The appropriate scale for QRS detection is determined experimentally based on the QRS frequency band. In the next step, the occurrences of the creation of QRS peaks are calculated. These sets are arranged based on exceedance of the amplitude threshold of the transformed signal and based on the specified maximum heart rate. From each set, just one time instant according to established rules was selected. It corresponds to the expected R peak wave.</p>
</sec>
<sec id="s2-2-3">
<title>2.2.3 QRS onset and QRS end detection</title>
<p>The QRS onset and offset detection is based on zero crossing of <inline-formula id="inf58">
<mml:math id="m62">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Zero points in the neighborhood of the local maxima of the function <inline-formula id="inf59">
<mml:math id="m63">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> (<xref ref-type="fig" rid="F3">Figure 3</xref>) are searched individually for each signal and each QRS detected. The zero points of the QRS onset and QRS end are determined based on the conditions set for exceeding the amplitude threshold of <inline-formula id="inf60">
<mml:math id="m64">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> between the zero-point intervals, interval lengths, and the sequence of suitable or unsuitable intervals (intervals that meet defined conditions) (<xref ref-type="bibr" rid="B12">Kijonka et al., 2022</xref>). The QRS onset and QRS end are then adjusted according to the <inline-formula id="inf61">
<mml:math id="m65">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> signal shape in the preceding or following interval.</p>
</sec>
<sec id="s2-2-4">
<title>2.2.4 Wide QRS onset and QRS end adjustment</title>
<p>In some cases, e.g., blockades, a wide QRS might occur. The previous parameters of the defined neighborhood of <inline-formula id="inf62">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mtext>TT</mml:mtext>
<mml:mtext>LS</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf63">
<mml:math id="m67">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> scale would be inadequate for the QRS onset and QRS end detection. The algorithm sets the wide QRS based on the conditions (<xref ref-type="bibr" rid="B12">Kijonka et al., 2022</xref>) and adjusts the wide QRS onset or QRS end. The wide QRS is evaluated based on the energy percentage of the wavelet coefficient rate in the neighborhood of the original QRS onset and QRS end in the scales <inline-formula id="inf64">
<mml:math id="m68">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>70</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf65">
<mml:math id="m69">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>120</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, respectively, and the percentage of energy in these scales on the window of width given by the <inline-formula id="inf66">
<mml:math id="m70">
<mml:mrow>
<mml:mmultiscripts>
<mml:msub>
<mml:mtext>TT</mml:mtext>
<mml:mtext>LS</mml:mtext>
</mml:msub>
<mml:mprescripts/>
<mml:none/>
<mml:mn>1</mml:mn>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> parameter. The QRS onset and QRS end adjustment is based on the <inline-formula id="inf67">
<mml:math id="m71">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> zero crossing on scale <inline-formula id="inf68">
<mml:math id="m72">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>70</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, while a similar procedure as in QRS onset and QRS end detection is maintained.</p>
</sec>
<sec id="s2-2-5">
<title>2.2.5 QRS onset and QRS end adjustment by slope</title>
<p>The adjustment of QRS onset and QRS end using the linear regression is based on the calculation of the slope at the temporal search window applied to the input signal in the area before the QRS onset or after the QRS end detected previously. The QRS onset or QRS end is shifted to the point that meets the specified threshold for the line slope (<xref ref-type="bibr" rid="B12">Kijonka et al., 2022</xref>) in the temporal search window.</p>
</sec>
<sec id="s2-2-6">
<title>2.2.6 PQ detection</title>
<p>The PQ segment detection using linear regression is based on finding a minimum slope on the temporal search window of the input signal in the neighborhood of the QRS onset. The time window with width <inline-formula id="inf69">
<mml:math id="m73">
<mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mtext>ms</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> is selected experimentally (<xref ref-type="bibr" rid="B12">Kijonka et al., 2022</xref>).</p>
</sec>
<sec id="s2-2-7">
<title>2.2.7 QRS onset and QRS end alignment between X, Y, and Z signals of a VCG record</title>
<p>The QRS onset and QRS end alignment between the <inline-formula id="inf70">
<mml:math id="m74">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> signals is determined based on conditions for exceeding the distances of the detected QRS onsets or ends. The maximum distance between the QRS onsets is set by the <inline-formula id="inf71">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mtext>TT</mml:mtext>
<mml:mtext>BS</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> parameter (<xref ref-type="bibr" rid="B12">Kijonka et al., 2022</xref>). In the case of an exceeding threshold, the further point is shifted to the mean value of the remaining two points. This process increases the robustness of the algorithm, and it is performed for the correct PQ segment detection and the correct QRS loop boundary detection in the case of erroneous QRS onset or end detection in some of the three VCG signals.</p>
</sec>
<sec id="s2-2-8">
<title>2.2.8 QRS loop boundary detection</title>
<p>The QRS boundaries of the record are given by the <inline-formula id="inf72">
<mml:math id="m76">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf73">
<mml:math id="m77">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf74">
<mml:math id="m78">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> is the left bound of the QRS loop and <inline-formula id="inf75">
<mml:math id="m79">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> is the right bound of the QRS loop. The values of the boundaries (in samples) indicate the distance between the synchronization wave and the left or right QRS loop bound. The detected QRS in the lead <inline-formula id="inf76">
<mml:math id="m80">
<mml:mrow>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is marked as the synchronization wave. The <inline-formula id="inf77">
<mml:math id="m81">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf78">
<mml:math id="m82">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> represent the constants for all the QRS loops of the record for the dominant length of the QRS loop. The <inline-formula id="inf79">
<mml:math id="m83">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf80">
<mml:math id="m84">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> parameters are computed using the Eqs. <xref ref-type="disp-formula" rid="e5">5</xref>, <xref ref-type="disp-formula" rid="e6">6</xref>:<disp-formula id="e5">
<mml:math id="m85">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi mathvariant="bold">bound</mml:mi>
<mml:mprescripts/>
<mml:mi mathvariant="bold">L</mml:mi>
<mml:none/>
</mml:mmultiscripts>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mi mathvariant="bold">med</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:munder>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
<disp-formula id="e6">
<mml:math id="m86">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi mathvariant="bold">bound</mml:mi>
<mml:mprescripts/>
<mml:mi mathvariant="bold">R</mml:mi>
<mml:none/>
</mml:mmultiscripts>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mi mathvariant="bold">med</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="bold-italic">I</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>where <inline-formula id="inf81">
<mml:math id="m87">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the sequence number of the QRS detected, <inline-formula id="inf82">
<mml:math id="m88">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the index of the signal, <inline-formula id="inf83">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the synchronization wave, <inline-formula id="inf84">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mtext>PQ</mml:mtext>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the set of points of the PQ interval, <inline-formula id="inf85">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the QRS offset, and <inline-formula id="inf86">
<mml:math id="m92">
<mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> stands for the median value.</p>
</sec>
</sec>
<sec id="s2-3">
<title>2.3 QRS loop spatial alignment</title>
<p>The isoelectric baseline detection is one of the most important steps in VCG preprocessing for the purpose of quantitative description by the features, especially by the features describing the P-, QRS, and T-loop spatial location. These loops should have the initial point in the origin of the coordinate system; thus, the instantaneous magnitude of the vector given by the three coordinates <inline-formula id="inf87">
<mml:math id="m93">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> should be 0 in the beginning of each heart action. It should be executed in the PQ and ST segments for the non-pathological cases. As the most suitable interval for the zero-heart electrical activity indication, the PQ segment appears suitable also for most of the pathological cases. The PQ intervals detected for the three X, Y, and Z VCG leads create the isoelectric coordinates of the QRS loop. The detection of the PQ intervals and QRS bounds is performed in the presented work by the methods (see <xref ref-type="sec" rid="s2-2">Section 2.2</xref>) described in more detail in the previous work (<xref ref-type="bibr" rid="B12">Kijonka et al., 2022</xref>).</p>
<p>The correction on the isoelectric baseline is computed for each VCG signal and each QRS complex detected, by the Eq. <xref ref-type="disp-formula" rid="e7">7</xref>:<disp-formula id="e7">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">ISO</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mi mathvariant="bold">mean</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">min</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>where <inline-formula id="inf88">
<mml:math id="m95">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the sequence number of QRS, <inline-formula id="inf89">
<mml:math id="m96">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is index of the signal, <inline-formula id="inf90">
<mml:math id="m97">
<mml:mrow>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the input signal, <inline-formula id="inf91">
<mml:math id="m98">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the sample of the signal, <inline-formula id="inf92">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mtext>PQ</mml:mtext>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the set of the points of the PQ interval, and <inline-formula id="inf93">
<mml:math id="m100">
<mml:mrow>
<mml:mtext>mean</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the mean value.</p>
<p>Each detected QRS complex of the record with the sequence number <inline-formula id="inf94">
<mml:math id="m101">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of the signal <inline-formula id="inf95">
<mml:math id="m102">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>1,2,3</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> bordered by the <inline-formula id="inf96">
<mml:math id="m103">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf97">
<mml:math id="m104">
<mml:mrow>
<mml:mmultiscripts>
<mml:mtext>bound</mml:mtext>
<mml:mprescripts/>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> is shifted by the voltage level <inline-formula id="inf98">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mtext>ISO</mml:mtext>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> so that the corresponding QRS loops are shifted in all three coordinates.</p>
<p>In the cases where the <inline-formula id="inf99">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mtext>ISO</mml:mtext>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is not correctly detected for all the QRS, the other correction method by the Eq. <xref ref-type="disp-formula" rid="e8">8</xref>:<disp-formula id="e8">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">I</mml:mi>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="bold">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mmultiscripts>
<mml:mi mathvariant="bold">bound</mml:mi>
<mml:mprescripts/>
<mml:mi mathvariant="bold">L</mml:mi>
<mml:none/>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>is used. Based on this relation, the isoelectric baseline <inline-formula id="inf100">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>ISO</mml:mtext>
<mml:mrow>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="normal">B</mml:mi>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is computed only from one point of the left QRS bound. This method is used in few number of cases, especially for the MI patients (see <xref ref-type="fig" rid="F5">Figure 5</xref>).</p>
</sec>
<sec id="s2-4">
<title>2.4 QRS loop time synchronization</title>
<p>An objective of the QRS loop time synchronization is to move individual heartbeats of a record to a common time-synchronization mark. As the time-synchronization mark, the QRS peak detected in the signal X was selected. For the optimal alignment of the individual heartbeats, a method of root mean square error minimization by individual heartbeat (three signals X, Y, and Z) time shifting, where the individual heart beats are shifted relative to the median heartbeat, is proposed.</p>
<p>All the detected QRS loops adjusted by the isoelectric coordinates (three detected isoelectric levels) are temporally aligned by the method of minimalization of the mean quadratic error from the median for the moving parameter <inline-formula id="inf101">
<mml:math id="m109">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The QRS loop alignment is performable in the timescale by the overlapping method (<xref ref-type="fig" rid="F4">Figure 4</xref>).</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Representative QRS loop given by the three <inline-formula id="inf102">
<mml:math id="m110">
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">Y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> signals marked as <inline-formula id="inf103">
<mml:math id="m111">
<mml:mrow>
<mml:msubsup>
<mml:mtext>QRS</mml:mtext>
<mml:mtext>mean</mml:mtext>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and all the QRS of each signal corrected by <inline-formula id="inf104">
<mml:math id="m112">
<mml:mrow>
<mml:msub>
<mml:mtext>ISO</mml:mtext>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> marked as <inline-formula id="inf105">
<mml:math id="m113">
<mml:mrow>
<mml:msup>
<mml:mmultiscripts>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mtext>ISO</mml:mtext>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf106">
<mml:math id="m114">
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf107">
<mml:math id="m115">
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of QRS detected in the signal of index <inline-formula id="inf108">
<mml:math id="m116">
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The range of <inline-formula id="inf109">
<mml:math id="m117">
<mml:mrow>
<mml:msubsup>
<mml:mtext>QRS</mml:mtext>
<mml:mtext>mean</mml:mtext>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is marked as <inline-formula id="inf110">
<mml:math id="m118">
<mml:mrow>
<mml:msubsup>
<mml:mtext>range</mml:mtext>
<mml:mtext>mean</mml:mtext>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="fphys-14-1260074-g004.tif"/>
</fig>
<p>The minimalization process and the <inline-formula id="inf111">
<mml:math id="m119">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> parameter finding for the each QRS loop <inline-formula id="inf112">
<mml:math id="m120">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> by the Eqs. <xref ref-type="disp-formula" rid="e9">9</xref>&#x2013;<xref ref-type="disp-formula" rid="e12">12</xref>:</p>
<p>
<inline-formula id="inf113">
<mml:math id="m121">
<mml:mrow>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> find median:<disp-formula id="e9">
<mml:math id="m122">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold">QRS</mml:mi>
<mml:mi mathvariant="bold">med</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mi mathvariant="bold">med</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
</mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mmultiscripts>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="bold">ISO</mml:mi>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>and the range of the median QRS:<disp-formula id="e10">
<mml:math id="m123">
<mml:mrow>
<mml:msubsup>
<mml:mtext>range</mml:mtext>
<mml:mtext>med</mml:mtext>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mtext>QRS</mml:mtext>
<mml:mtext>med</mml:mtext>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mtext>QRS</mml:mtext>
<mml:mtext>med</mml:mtext>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where <inline-formula id="inf114">
<mml:math id="m124">
<mml:mrow>
<mml:msup>
<mml:mmultiscripts>
<mml:mi>f</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mtext>ISO</mml:mtext>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the QRS detected corrected by the <inline-formula id="inf115">
<mml:math id="m125">
<mml:mrow>
<mml:msub>
<mml:mtext>ISO</mml:mtext>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
<p>
<inline-formula id="inf116">
<mml:math id="m126">
<mml:mrow>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> we define matrix <inline-formula id="inf117">
<mml:math id="m127">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi mathvariant="bold-italic">M</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> of the mean square deviations of the function <inline-formula id="inf118">
<mml:math id="m128">
<mml:mrow>
<mml:msup>
<mml:mmultiscripts>
<mml:mi>f</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mtext>ISO</mml:mtext>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf119">
<mml:math id="m129">
<mml:mrow>
<mml:msubsup>
<mml:mtext>QRS</mml:mtext>
<mml:mtext>med</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, where each element <inline-formula id="inf120">
<mml:math id="m130">
<mml:mrow>
<mml:mmultiscripts>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> of the matrix <inline-formula id="inf121">
<mml:math id="m131">
<mml:mrow>
<mml:mmultiscripts>
<mml:mi mathvariant="bold-italic">M</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mmultiscripts>
</mml:mrow>
</mml:math>
</inline-formula> is given by the Eq. <xref ref-type="disp-formula" rid="e11">11</xref>:<disp-formula id="e11">
<mml:math id="m132">
<mml:mrow>
<mml:mmultiscripts>
<mml:msub>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mmultiscripts>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="bold">mean</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mmultiscripts>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="bold">ISO</mml:mi>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mtext>QRS</mml:mtext>
<mml:mi mathvariant="bold">med</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:msubsup>
<mml:mtext>range</mml:mtext>
<mml:mi mathvariant="bold">med</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>where <inline-formula id="inf122">
<mml:math id="m133">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the moving parameter.</p>
<p>Finally, the <inline-formula id="inf123">
<mml:math id="m134">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for each <inline-formula id="inf124">
<mml:math id="m135">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is calculated for the mean quadratic error minimalization by the Eq. <xref ref-type="disp-formula" rid="e12">12</xref>:<disp-formula id="e12">
<mml:math id="m136">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mi mathvariant="bold">min</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3c4;</mml:mi>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
<mml:mn mathvariant="bold">8</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn mathvariant="bold">8</mml:mn>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:munder>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mmultiscripts>
<mml:msub>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mmultiscripts>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where the moving parameter <inline-formula id="inf125">
<mml:math id="m137">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is chosen in the range <inline-formula id="inf126">
<mml:math id="m138">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>&#x2013;<inline-formula id="inf127">
<mml:math id="m139">
<mml:mrow>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> samples. These limits were chosen experimentally based on maximum variations in QRS peak detection in pathological cases. Theoretically, higher limits of <inline-formula id="inf128">
<mml:math id="m140">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> could be selected for extremely variable signals, which will cause an increase in the algorithm evaluation time. The most probable value of <inline-formula id="inf129">
<mml:math id="m141">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3c4;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> calculated to the mean quadratic error minimalization was in the range of <inline-formula id="inf130">
<mml:math id="m142">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf131">
<mml:math id="m143">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> samples (<inline-formula id="inf132">
<mml:math id="m144">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf133">
<mml:math id="m145">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> milliseconds).</p>
<p>The process according to Eqs. <xref ref-type="disp-formula" rid="e9">9</xref>&#x2013;<xref ref-type="disp-formula" rid="e12">12</xref> repeats for the aligned QRS loops by the selected number of iterations. The greater the number of iterations is, the more precise the calculation of the median and of the mean quadratic deviations from the median can be achieved. A number of three iterations was chosen as an optimal value, where further increasing of iterations had a negligible effect on the mean quadratic deviation reduction.</p>
</sec>
<sec id="s2-5">
<title>2.5 Ectopic QRS loop elimination</title>
<p>The ectopic QRS loops can be presented in the record, e.g., due to the presence of ventricular extrasystoles, arrhythmias, or artifacts. To evaluate the representative QRS loop of the record, these ectopic QRS loops cannot be considered for the calculation. The ectopic QRS loops were identified by the extreme observation (outlier) method such that <inline-formula id="inf134">
<mml:math id="m146">
<mml:mrow>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the maximum square deviation, is computed (Eq. <xref ref-type="disp-formula" rid="e13">13</xref>). Similar statistical methods for the outlier detection in biosignals were also used in <xref ref-type="bibr" rid="B5">Cipra et al. (1990</xref>).<disp-formula id="e13">
<mml:math id="m147">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">dev</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msup>
<mml:mmultiscripts>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="bold">ISO</mml:mi>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold">QRS</mml:mi>
<mml:mi mathvariant="bold">mean</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold">range</mml:mi>
<mml:mi mathvariant="bold">mean</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>where <inline-formula id="inf135">
<mml:math id="m148">
<mml:mrow>
<mml:msubsup>
<mml:mtext>QRS</mml:mtext>
<mml:mtext>mean</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf136">
<mml:math id="m149">
<mml:mrow>
<mml:msubsup>
<mml:mtext>range</mml:mtext>
<mml:mtext>mean</mml:mtext>
<mml:mi>i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> stand for the mean values calculated analogously by Eqs. <xref ref-type="disp-formula" rid="e9">9</xref>, <xref ref-type="disp-formula" rid="e10">10</xref>.</p>
<p>Extreme observations with the interquartile range (IQR) <inline-formula id="inf137">
<mml:math id="m150">
<mml:mrow>
<mml:mo>&#x2200;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can be calculated by the Eq. <xref ref-type="disp-formula" rid="e14">14</xref>:<disp-formula id="e14">
<mml:math id="m151">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">dev</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mn mathvariant="bold">0.25</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn mathvariant="bold">3</mml:mn>
<mml:mi mathvariant="bold">IQR</mml:mi>
<mml:mo>&#x222a;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
<mml:mi mathvariant="bold">e</mml:mi>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mn mathvariant="bold">0.75</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn mathvariant="bold">3</mml:mn>
<mml:mi mathvariant="bold">IQR</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>Then, <inline-formula id="inf138">
<mml:math id="m152">
<mml:mrow>
<mml:msub>
<mml:mtext>dev</mml:mtext>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the extreme observation.</p>
<p>All the <inline-formula id="inf139">
<mml:math id="m153">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> QRS loops, for which at least one signal <inline-formula id="inf140">
<mml:math id="m154">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> meets Eq. <xref ref-type="disp-formula" rid="e14">14</xref>, are excluded within the representative QRS loop of the record calculation.</p>
</sec>
<sec id="s2-6">
<title>2.6 Representative QRS loop evaluation</title>
<p>The output of the algorithm for VCG signal preprocessing is the representative QRS loop of a record calculated as the average of the QRS loops of the three <inline-formula id="inf141">
<mml:math id="m155">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> signals, moved on the voltage axes to the isoelectric coordinates, aligned in the time axes and treated out of the outliers.</p>
<p>To assess the signal morphologic variability before and after performing the presented methods of spatial alignment, time synchronization, and ectopic QRS elimination, the maximum relative error <inline-formula id="inf142">
<mml:math id="m156">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> parameter was computed by the Eq. <xref ref-type="disp-formula" rid="e15">15</xref>:<disp-formula id="e15">
<mml:math id="m157">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mi mathvariant="bold">MAX</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">max</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msup>
<mml:mmultiscripts>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mi mathvariant="bold">ISO</mml:mi>
</mml:mmultiscripts>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold">QRS</mml:mi>
<mml:mi mathvariant="bold">mean</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2219;</mml:mo>
<mml:mn mathvariant="bold">100</mml:mn>
</mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold">range</mml:mi>
<mml:mi mathvariant="bold">mean</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msubsup>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>where <inline-formula id="inf143">
<mml:math id="m158">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> computes the maximum spatial distance from the average QRS loop in the three signals <inline-formula id="inf144">
<mml:math id="m159">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>Z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> relative to the range of signals. The maximum spatial distances of individual QRS loops from the average QRS loop are clearly visible in <xref ref-type="fig" rid="F4">Figure 4</xref>, where all the QRS loops of a record are shown by the overlapping display method (brighter color) and calculated mean QRS loop&#x2014;representative QRS loop of the record is shown in a darker color. A signal with the largest deviation from the mean indicates the maximum error.</p>
<p>The results of <inline-formula id="inf145">
<mml:math id="m160">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for the records of healthy controls (HC), MI patients, and BBB patients are shown in <xref ref-type="table" rid="T1">Table 1</xref>. Low values of <inline-formula id="inf146">
<mml:math id="m161">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> indicate low intra-individual variability and, therefore, a more accurate calculation of the representative QRS loop of the record.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Summarization of <inline-formula id="inf147">
<mml:math id="m162">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mi mathvariant="bold">MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for the HC, MI and BBB diagnoses.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">
<inline-formula id="inf148">
<mml:math id="m163">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>MAX</mml:mi>
<mml:mo>&#x2013;</mml:mo>
<mml:mo>1</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (%)</th>
<th align="center">
<inline-formula id="inf149">
<mml:math id="m164">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>MAX</mml:mi>
<mml:mo>&#x2013;</mml:mo>
<mml:mo>2</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (%) reduction factor (&#x2212;)</th>
<th align="center">
<inline-formula id="inf150">
<mml:math id="m165">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>MAX</mml:mi>
<mml:mo>&#x2013;</mml:mo>
<mml:mo>3</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (%) reduction factor (&#x2212;)</th>
<th align="center">Extreme observations (%)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="left">
<bold>HC</bold>
</td>
<td rowspan="2" align="left">19.2</td>
<td align="left">14.6</td>
<td align="left">12.2</td>
<td rowspan="2" align="left">2.9</td>
</tr>
<tr>
<td align="left">0.24</td>
<td align="left">0.36</td>
</tr>
<tr>
<td rowspan="2" align="left">
<bold>MI</bold>
</td>
<td rowspan="2" align="left">31.1</td>
<td align="left">22.2</td>
<td align="left">19.3</td>
<td rowspan="2" align="left">2.9</td>
</tr>
<tr>
<td align="left">0.29</td>
<td align="left">0.38</td>
</tr>
<tr>
<td rowspan="2" align="left">
<bold>BBB</bold>
</td>
<td rowspan="2" align="left">29.1</td>
<td align="left">20.1</td>
<td align="left">17.2</td>
<td rowspan="2" align="left">4.2</td>
</tr>
<tr>
<td align="left">0.31</td>
<td align="left">0.41</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>
<inline-formula id="inf151">
<mml:math id="m166">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>MAX</mml:mi>
<mml:mo>_</mml:mo>
<mml:mo>1</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>&#x2014;without ttime-synchronization, extreme observations not excluded.</p>
</fn>
<fn>
<p>
<inline-formula id="inf152">
<mml:math id="m167">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>MAX</mml:mi>
<mml:mo>_</mml:mo>
<mml:mo>2</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>&#x2014;without time-synchronization, extreme observations excluded.</p>
</fn>
<fn>
<p>
<inline-formula id="inf153">
<mml:math id="m168">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3b4;</mml:mi>
<mml:mrow>
<mml:mi>MAX</mml:mi>
<mml:mo>_</mml:mo>
<mml:mo>3</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>&#x2014;time-synchronized, extreme observations excluded.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>The <inline-formula id="inf154">
<mml:math id="m169">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> parameter also plays an important role in determining the patient&#x2019;s condition in long-term patient monitoring, where the significant changes in intra-individual variability [changes in <inline-formula id="inf155">
<mml:math id="m170">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> greater than 10% (<xref ref-type="bibr" rid="B15">Laufberger, 1980</xref>)] point to the deterioration or improvement of the patient&#x2019;s state.</p>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>3 Results</title>
<p>The maximum relative error <inline-formula id="inf156">
<mml:math id="m171">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is evaluated for individual diagnostic groups of 58 HC, 69 MI, and 34 BBB subjects (<xref ref-type="fig" rid="F6">Figure 6</xref>). A significant reduction of the <inline-formula id="inf157">
<mml:math id="m172">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is achieved by the ectopic QRS elimination described in <xref ref-type="sec" rid="s2-5">Section 2.5</xref>. Further reduction is achieved by the time synchronization technique presented in the <xref ref-type="sec" rid="s2-4">Section 2.4</xref> in combination with the ectopic QRS elimination, while the percentage of the detected ectopic QRS is preserved or reduced.</p>
<p>A summary of the results of <inline-formula id="inf158">
<mml:math id="m173">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is presented in <xref ref-type="table" rid="T1">Table 1</xref>, where the <inline-formula id="inf159">
<mml:math id="m174">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is evaluated for individual diagnostic groups of HC, MI, and BBB subjects. The lower value of <inline-formula id="inf160">
<mml:math id="m175">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and, thus, probably, the lower intra-individual variability are evaluated in healthy subjects. A relatively high average reduction factor of 0.38 for all observed diagnostic groups is achieved, without accompanying transformations methods used in previous studies (<xref ref-type="bibr" rid="B35">S&#xf6;rnmo, 1998</xref>; <xref ref-type="bibr" rid="B38">Vullings et al., 2013</xref>).</p>
<p>For most of the records, only the HP filter is used. The automatically selected 50-Hz notch filter according to the Eq. <xref ref-type="disp-formula" rid="e3">3</xref> is especially used in the MI case (45%), subsequently in HC (26%), and least in BBB (18%) (<xref ref-type="fig" rid="F5">Figure 5</xref>). For majority of the records, the isoelectric baseline detection is used by Eq. <xref ref-type="disp-formula" rid="e7">7</xref>. The isoelectric baseline detection according to Eq. <xref ref-type="disp-formula" rid="e8">8</xref> is only used in the case of artifacts presented in the processed signal, which made it impossible to detect the PQ segments identically for all the QRS. The indicator of this state is also observable by a higher level of <inline-formula id="inf161">
<mml:math id="m176">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (<xref ref-type="fig" rid="F6">Figure 6</xref>).</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Summarization of the usage of the HP filter or HP filter in combination with the notch filter for each group for the HC, MI, and BBB diagnoses <bold>(A)</bold>. Isoelectric baseline by <inline-formula id="inf162">
<mml:math id="m177">
<mml:mrow>
<mml:msub>
<mml:mtext>ISO</mml:mtext>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (PR) or by <inline-formula id="inf163">
<mml:math id="m178">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">I</mml:mi>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mi mathvariant="bold">O</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="bold">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (<sub>L</sub>bound) usage for each diagnostic group <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="fphys-14-1260074-g005.tif"/>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Probability distributions of <inline-formula id="inf164">
<mml:math id="m179">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3b4;</mml:mi>
<mml:mi mathvariant="bold">MAX</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (%) and extreme observations (%) for the not time-synchronized QRS with the extreme observation not excluded (a), or for the not time-synchronized QRS with the extreme observation excluded (b), or for time-synchronized QRS with the extreme observation excluded (c). The calculations are evaluated for the group of HC (top), MI (middle) and BBB (bottom) subjects diagnoses.</p>
</caption>
<graphic xlink:href="fphys-14-1260074-g006.tif"/>
</fig>
</sec>
<sec sec-type="discussion" id="s4">
<title>4 Discussion</title>
<p>The automatic classification of a VCG record requires data preprocessing of three X, Y, and Z orthogonal leads involving algorithms for the onset and end of individual P-QRS-T loop detection. A slow baseline wander requires that the origin of a VCG loop is translated to its isoelectric coordinates before further data processing (<xref ref-type="bibr" rid="B12">Kijonka et al., 2022</xref>). Loop translation is considered a part of the data preprocessing used for VCG loop alignment (<xref ref-type="bibr" rid="B35">S&#xf6;rnmo, 1998</xref>; <xref ref-type="bibr" rid="B38">Vullings et al., 2013</xref>). Application of these methods allows for comparison of the translated VCG loops of a single record or a comparison between different records and is substantial for intra-individual variability of a record assessment (<xref ref-type="bibr" rid="B26">Penhaker, 2014</xref>) for further VCG processing and VCG feature extraction considering the topological arrangement of a VCG loop (<xref ref-type="bibr" rid="B15">Laufberger, 1980</xref>; <xref ref-type="bibr" rid="B16">Le et al., 2013</xref>). To compare multiple spatially aligned QRS loops with QRS onset, QRS peak and QRS end are detected, and the QRS loops should be first time-synchronized. The best alternative for time synchronization is using the most accurately detected time instant, that is represented by the QRS peak (e.g., in the X lead). However, due to morphologic variability caused in particular by respiration-induced movements of the heart and variability in physiological origin, the QRS loops synchronized by the QRS peak still have falsely high intra-individual variability. By applying the multipass time-synchronization method presented in this study, the QRS loops are synchronized by small time shifts (&#xb1;8&#xa0;ms) relative to the original synchronization of the QRS peak to minimize the maximum relative error. A relatively high reduction factor of the morphologic variability is achieved. The beat-to-beat amplitude changes caused by respiration cycles and white noise are averaged in the resulting representative QRS loop of a record, where the impact of additional geometric transformation methods (<xref ref-type="bibr" rid="B35">S&#xf6;rnmo, 1998</xref>; <xref ref-type="bibr" rid="B2">Astrom et al., 2000</xref>; <xref ref-type="bibr" rid="B38">Vullings et al., 2013</xref>) would have a negligible effect on the resulting average curve.</p>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>The methods of VCG signal preprocessing to compute a representative QRS loop of a VCG record evaluation were presented and applied in the analysis of VCG records from the diagnostic PTB database of 58 healthy subjects, pathological cases of 69 MI subjects, and 34 BBB subjects. Relatively small intra-individual variability was measured after spatial alignment, and time synchronization implemented by algorithms was presented in this study. The maximum relative deviation of 12.2% for HC, 19.3% for MI, and 17.2% for BBB diagnostic groups was evaluated. The variability was reduced by a factor of 0.36 for HC, 0.38 for MI, and 0.41 for BBB after QRS time synchronization and ectopic QRS elimination were performed. The presented methods of the template QRS loop of a VCG record evaluation can better differentiate between morphologies of healthy and pathological subjects of individual diagnostic groups and different degrees of disability. Application of the proposed algorithm on the other databases of VCG records is expected based on the usage of the validated method of the fiducial point of the P-QRS-T wave detection.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>Publicly available datasets were analyzed in this study. These data can be found at: Xingwen Fu, 12 August 2021, &#x201c;ptb-diagnostic-ecg-database-1.0.0,&#x201d; IEEE Dataport, doi: <ext-link ext-link-type="uri" xlink:href="https://dx.doi.org/10.21227/zx3d-d450">https://dx.doi.org/10.21227/zx3d-d450</ext-link>.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>JK: writing&#x2013;original draft, investigation, methodology, software, and visualization. PV: writing&#x2013;review and editing, and validation. MP: supervision and writing&#x2013;review and editing. JK: supervision and writing&#x2013;review and editing.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. This article has been produced with the financial support of the European Union under the LERCO CZ.10.03.01/00/22_003/0000003 project via the Operational Programme Just Transition. The work and the contributions were supported by the project SP2023/028 &#x201c;Biomedical Engineering systems XIX&#x201d;.</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Addison</surname>
<given-names>P. S.</given-names>
</name>
</person-group> (<year>2005</year>). <article-title>Wavelet transforms and the ECG: a review</article-title>. <source>Physiological Measurement</source> <volume>26</volume> (<issue>5</issue>), <fpage>R155</fpage>&#x2013;<lpage>R199</lpage>. <comment>PMID: 16088052</comment>. <pub-id pub-id-type="doi">10.1088/0967-3334/26/5/R01</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Astrom</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Carro Santos</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>S&#xf6;rnmo</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Laguna</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Wohlfart</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2000</year>). <article-title>Vectorcardiographic loop alignment and the measurement of morphologic beat-to-beat variability in noisy signals</article-title>. <source>IEEE Transactions on Biomedical Engineering</source> <volume>47</volume> (<issue>4</issue>), <fpage>497</fpage>&#x2013;<lpage>506</lpage>. <pub-id pub-id-type="doi">10.1109/10.828149</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Berbari</surname>
<given-names>E. J.</given-names>
</name>
<name>
<surname>Lander</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>1993</year>). &#x201c;<article-title>The methods of recording and analysis of the signal averaged ECG</article-title>,&#x201d; in <source>Signal averaged Electrocardiography</source>. Editor <person-group person-group-type="editor">
<name>
<surname>Gomes</surname>
<given-names>J. A.</given-names>
</name>
</person-group> (<publisher-loc>Dordrecht</publisher-loc>: <publisher-name>Springer</publisher-name>). <pub-id pub-id-type="doi">10.1007/978-94-011-0894-2_4</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bousseljot</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Kreiseler</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Allard</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>1995</year>). <article-title>Use of the PTB&#x27;s ECG signal database CARDIODAT via the Internet</article-title>. <source>PhysioNet</source>, <fpage>317</fpage>&#x2013;<lpage>318</lpage>.</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cipra</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Fuchs</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Form&#xe1;nek</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Kub&#xe1;t</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Mikiskov&#xe1;</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zaj&#xed;cek</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>1990</year>). <article-title>Detection and interpolation of outliers in biosignals</article-title>. <source>Activitas nervosa superior</source> <volume>32</volume> (<issue>4</issue>), <fpage>283</fpage>&#x2013;<lpage>291</lpage>. <comment>PMID: 2082646</comment>.</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Correa</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Arini</surname>
<given-names>P. D.</given-names>
</name>
<name>
<surname>Correa</surname>
<given-names>L. S.</given-names>
</name>
<name>
<surname>Valentinuzzi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Laciar</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Identification of patients with myocardial infarction. Vectorcardiographic and electrocardiographic analysis</article-title>. <source>Methods of Information in Medicine</source> <volume>55</volume> (<issue>3</issue>), <fpage>242</fpage>&#x2013;<lpage>249</lpage>. <pub-id pub-id-type="doi">10.3414/ME15-01-0101</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dehnavi</surname>
<given-names>A. R. M.</given-names>
</name>
<name>
<surname>Rabbani</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Farahabadi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mahjoob</surname>
<given-names>M. P.</given-names>
</name>
<name>
<surname>Dehnavi</surname>
<given-names>N. R.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Detection and classification of cardiac ischemia using vectorcardiogram signal via neural network</article-title>. <source>Journal of Research in Medical Sciences</source> <volume>16</volume> (<issue>2</issue>), <fpage>136</fpage>&#x2013;<lpage>142</lpage>.</citation>
</ref>
<ref id="B8">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Dokur</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Olmez</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Korurek</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Yazgan</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>1996</year>). &#x201c;<article-title>Detection of ECG waveforms by using artificial neural networks</article-title>,&#x201d; in <conf-name>Proceedings of the 18th Annual International Conference of the IEEE Engineering in Medicine and Biology Society</conf-name>, <conf-loc>Amsterdam, The Netherlands</conf-loc>, <conf-date>31 October, 1996</conf-date>, <fpage>929</fpage>&#x2013;<lpage>930</lpage>. <pub-id pub-id-type="doi">10.1109/IEMBS.1996.652646</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Ge</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2008</year>). &#x201c;<article-title>Detecting myocardial infraction using VCG leads</article-title>,&#x201d; in <conf-name>Proceedings of the 2nd international conference on bioinformatics and biomedical engineering</conf-name>, <conf-loc>Shanghai, China</conf-loc>, <conf-date>16-18 May 2008</conf-date> (<publisher-name>IEEE</publisher-name>).</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Goldberger</surname>
<given-names>A. L.</given-names>
</name>
<name>
<surname>Amaral</surname>
<given-names>L. A.</given-names>
</name>
<name>
<surname>Glass</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Hausdorff</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Ivanov</surname>
<given-names>P. C.</given-names>
</name>
<name>
<surname>Mark</surname>
<given-names>R. G.</given-names>
</name>
</person-group> (<year>2000</year>). <article-title>PhysioBank, PhysioToolkit, and PhysioNet: components of a new research resource for complex physiologic signals</article-title>. <source>circulation</source> <volume>101</volume> (<issue>23</issue>), <fpage>e215</fpage>&#x2013;<lpage>e220</lpage>. <pub-id pub-id-type="doi">10.1161/01.cir.101.23.e215</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huebner</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Schuepbach</surname>
<given-names>W. M. M.</given-names>
</name>
<name>
<surname>Seeck</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Sanz</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Meier</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Voss</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Cardiogoniometric parameters for detection of coronary artery disease at rest as a function of stenosis localization and distribution</article-title>. <source>Medical and Biological Engineering and Computing</source> <volume>48</volume> (<issue>5</issue>), <fpage>435</fpage>&#x2013;<lpage>446</lpage>. <pub-id pub-id-type="doi">10.1007/s11517-010-0594-1</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kijonka</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Vavra</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zonca</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Penhaker</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A wavelet-based VCG QRS loop boundaries and isoelectric coordinates detector</article-title>. <source>Frontiers in Physiology</source> <volume>13</volume>, <fpage>2218</fpage>. <pub-id pub-id-type="doi">10.3389/fphys.2022.941827</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kligfield</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Gettes</surname>
<given-names>L. S.</given-names>
</name>
<name>
<surname>Bailey</surname>
<given-names>J. J.</given-names>
</name>
<name>
<surname>Childers</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Deal</surname>
<given-names>B. J.</given-names>
</name>
<name>
<surname>Hancock</surname>
<given-names>E. W.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>Recommendations for the standardization and interpretation of the electrocardiogram: part I: the electrocardiogram and its technology: a scientific statement from the American heart association Electrocardiography and arrhythmias committee, council on clinical cardiology; the American college of cardiology foundation; and the heart rhythm society: endorsed by the international society for computerized electrocardiology</article-title>. <source>Circulation</source> <volume>115</volume> (<issue>10</issue>), <fpage>1306</fpage>&#x2013;<lpage>1324</lpage>. <pub-id pub-id-type="doi">10.1161/CIRCULATIONAHA.106.180200</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kral</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Spaciokardiografie. K 20. V&#xfd;ro&#x10d;&#xed; &#xfa;mrt&#xed; akademika vil&#xe9;ma laufbergera</article-title>. <source>Cor Et Vasa: International Journal of Cardiology</source> <volume>48</volume> (<issue>9</issue>). <comment>ISSN 0010-8650</comment>.</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Laufberger</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>1980</year>). <article-title>Octant vectorcardiography</article-title>. <source>Physiologia Bohemoslovaca</source> <volume>29</volume> (<issue>6</issue>), <fpage>481</fpage>&#x2013;<lpage>494</lpage>.</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Le</surname>
<given-names>T. Q.</given-names>
</name>
<name>
<surname>Bukkapatnam</surname>
<given-names>S. T. S.</given-names>
</name>
<name>
<surname>Benjamin</surname>
<given-names>B. A.</given-names>
</name>
<name>
<surname>Wilkins</surname>
<given-names>B. A.</given-names>
</name>
<name>
<surname>Komanduri</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Topology and random-walk network representation of cardiac dynamics for localization of myocardial infarction</article-title>. <source>IEEE Transactions on Biomedical Engineering</source> <volume>60</volume> (<issue>8</issue>), <fpage>2325</fpage>&#x2013;<lpage>2331</lpage>. <pub-id pub-id-type="doi">10.1109/TBME.2013.2255596</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lee</surname>
<given-names>G. B.</given-names>
</name>
<name>
<surname>Wilson</surname>
<given-names>W. J.</given-names>
</name>
<name>
<surname>Amplatz</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Tuna</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>1968</year>). <article-title>Correlation of vectorcardiogram and electrocardiogram with coronary arteriogram</article-title>. <source>Circulation</source> <volume>38</volume>, <fpage>189</fpage>&#x2013;<lpage>200</lpage>. <pub-id pub-id-type="doi">10.1161/01.cir.38.1.189</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lingman</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hartford</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Karlsson</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Herlitz</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Rubulis</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Caidahl</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Value of the QRS-T area angle in improving the prediction of sudden cardiac death after acute coronary syndromes</article-title>. <source>International Journal of Cardiology</source> <volume>218</volume>, <fpage>1</fpage>&#x2013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1016/j.ijcard.2016.05.005</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Marchon</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Naik</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>A novel linear phase FIR high pass filter for biomedical signals</article-title>,&#x201d; in <conf-name>Proceedings of the 2018 IEEE Distributed Computing, VLSI, Electrical Circuits and Robotics (DISCOVER)</conf-name>, <conf-loc>Mangalore, India</conf-loc>. <pub-id pub-id-type="doi">10.1109/DISCOVER.2018.8674120</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Martinez</surname>
<given-names>J. P.</given-names>
</name>
<name>
<surname>Almeida</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Olmos</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Rocha</surname>
<given-names>A. P.</given-names>
</name>
<name>
<surname>Laguna</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>ECG signal analysis and arrhythmia detection using wavelet transform</article-title>. <source>Journal of The Institution of Engineers (India): Series B</source> <volume>97</volume>, <fpage>499</fpage>&#x2013;<lpage>507</lpage>. <pub-id pub-id-type="doi">10.1007/s40031-016-0247-3</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mart&#xed;nez</surname>
<given-names>J. P.</given-names>
</name>
<name>
<surname>Almeida</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Olmos</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Rocha</surname>
<given-names>A. P.</given-names>
</name>
<name>
<surname>Laguna</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>A wavelet-based ECG delineator: evaluation on standard databases</article-title>. <source>IEEE Biomedical Engineering</source> <volume>51</volume>, <fpage>570</fpage>&#x2013;<lpage>581</lpage>. <pub-id pub-id-type="doi">10.1109/TBME.2003.821031</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Mazomenos</surname>
<given-names>E. B.</given-names>
</name>
</person-group> (<year>2012</year>). &#x201c;<article-title>A time-domain morphology and gradient based algorithm for ECG feature extraction</article-title>,&#x201d; in <conf-name>Proceedings of the Industrial technology (ICIT), 2012 IEEE international conference on</conf-name>, <conf-loc>Athens, Greece</conf-loc>, <conf-date>March 2012</conf-date> (<publisher-name>IEEE</publisher-name>), <fpage>117</fpage>&#x2013;<lpage>122</lpage>.</citation>
</ref>
<ref id="B23">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Mazomenos</surname>
<given-names>E. B.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Acharyya</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Bhattacharya</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Rosengarten</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Maharatna</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2012</year>). &#x201c;<article-title>A Time-Domain Morphology and Gradient based algorithm for ECG feature extraction</article-title>,&#x201d; in <conf-name>Proceedings of the 2012 IEEE International Conference on Industrial Technology</conf-name>, <conf-loc>Athens, Greece</conf-loc>, <conf-date>March 2012</conf-date>. <pub-id pub-id-type="doi">10.1109/ICIT.2012.6209924</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="web">
<collab>Medteq</collab> (<year>2023</year>). <article-title>&#x201c;ECG filters&#x201d;</article-title>. <comment>[cit. 2023-02-15]. Available at: <ext-link ext-link-type="uri" xlink:href="http://www.medteq.info/med/ECGFilters">http://www.medteq.info/med/ECGFilters</ext-link>.</comment>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pan</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Tompkins</surname>
<given-names>W. J.</given-names>
</name>
</person-group> (<year>1985</year>). <article-title>A real-time QRS detection algorithm</article-title>. <source>IEEE Transactions on Biomedical Engineering</source> <volume>32</volume> (<issue>3</issue>), <fpage>230</fpage>&#x2013;<lpage>236</lpage>. <pub-id pub-id-type="doi">10.1109/TBME.1985.325532</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Penhaker</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>Evaluation of electrocardiographic leads and establishing significance intra-individuality</article-title>,&#x201d; in <conf-name>Proceedings of the Innovations in Bio-inspired Computing and Applications: Proceedings of the 4th International Conference on Innovations in Bio-Inspired Computing and Applications, IBICA 2013</conf-name>, <conf-loc>Ostrava, Czech Republic</conf-loc>, <conf-date>August 22-24, 2013</conf-date> (<publisher-name>Springer International Publishing</publisher-name>).</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pipberger</surname>
<given-names>H. V.</given-names>
</name>
<name>
<surname>Carter</surname>
<given-names>T. N.</given-names>
</name>
<name>
<surname>Pipberger</surname>
<given-names>H. A.</given-names>
</name>
</person-group> (<year>1962</year>). <article-title>Analysis of the normal and abnormal vectorcardiogram in its own reference frame</article-title>. <source>Circulation</source> <volume>25</volume> (<issue>5</issue>), <fpage>827</fpage>&#x2013;<lpage>840</lpage>. <pub-id pub-id-type="doi">10.1161/01.cir.25.5.827</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Reich</surname>
<given-names>D. L.</given-names>
</name>
</person-group> (<year>2011</year>). <source>Monitoring in anesthesia and perioperative care</source>. <publisher-loc>Cambridge, UK</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</citation>
</ref>
<ref id="B29">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Romero</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>A vectorial approach for evaluation of depolarization changes during acute myocardial ischemia</article-title>,&#x201d; in <conf-name>Proceedings of the 2010 Computing in cardiology</conf-name>, <conf-loc>Belfast, UK</conf-loc>, <conf-date>26-29 September 2010</conf-date> (<publisher-name>IEEE</publisher-name>).</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sahambi</surname>
<given-names>J. S.</given-names>
</name>
<name>
<surname>Tandon</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Bhatt</surname>
<given-names>R. K. P.</given-names>
</name>
</person-group> (<year>1997</year>). <article-title>Using wavelet transforms for ECG characterization. An on-line digital signal processing system</article-title>. <source>IEEE Engineering in Medicine and Biology Magazine</source> <volume>16</volume> (<issue>1</issue>), <fpage>77</fpage>&#x2013;<lpage>83</lpage>. <pub-id pub-id-type="doi">10.1109/51.566158</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Schellong</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>1939</year>). <source>Grundzuge einer klinischen Vektorcardiographie des Herzens</source>. <publisher-loc>Berlin, Germany</publisher-loc>: <publisher-name>Springer-Verlag</publisher-name>.</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Simonson</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>1976</year>). <article-title>Vectorcardiographic (VCG) recognition and differentiation of myocardial infarction (MI)</article-title>. <source>Advances in Cardiology</source> <volume>16</volume>, <fpage>386</fpage>&#x2013;<lpage>393</lpage>. <pub-id pub-id-type="doi">10.1159/000398429</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Soria-Olivas</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Mart&#xed;nez-Sober</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Calpe-Maravilla</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Guerrero-Mart&#xed;nez</surname>
<given-names>J. F.</given-names>
</name>
<name>
<surname>Chorro-Gasc&#xf3;</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Esp&#xed;-L&#xf3;pez</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Application of adaptive signal processing for determining the limits of P and T waves in an ECG</article-title>. <source>IEEE Transactions on Biomedical Engineering</source> <volume>45</volume> (<issue>8</issue>), <fpage>1077</fpage>&#x2013;<lpage>1080</lpage>. <pub-id pub-id-type="doi">10.1109/10.704877</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>S&#xf6;rnmo</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>1993</year>). <article-title>Time-varying digital filtering of ECG baseline wander</article-title>. <source>Medical and Biological Engineering and Computing</source> <volume>31</volume>, <fpage>503</fpage>&#x2013;<lpage>508</lpage>. <pub-id pub-id-type="doi">10.1007/BF02441986</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>S&#xf6;rnmo</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Vectorcardiographic loop alignment and morphologic beat-to-beat variability</article-title>. <source>IEEE Transactions on Biomedical Engineering</source> <volume>45</volume> (<issue>12</issue>), <fpage>1401</fpage>&#x2013;<lpage>1413</lpage>. <pub-id pub-id-type="doi">10.1109/10.730434</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>van Alst&#xe9;</surname>
<given-names>J. A.</given-names>
</name>
<name>
<surname>van Eck</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Herrmann</surname>
<given-names>O. E.</given-names>
</name>
</person-group> (<year>1986</year>). <article-title>ECG baseline wander reduction using linear phase filters</article-title>. <source>Computers and biomedical research, an international journal</source> <volume>19</volume> (<issue>5</issue>), <fpage>417</fpage>&#x2013;<lpage>427</lpage>. <pub-id pub-id-type="doi">10.1016/0010-4809(86)90037-6</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Vullings</surname>
<given-names>H. J. L. M.</given-names>
</name>
<name>
<surname>Verhaegen</surname>
<given-names>M. H. G.</given-names>
</name>
<name>
<surname>Verbruggen</surname>
<given-names>H. B.</given-names>
</name>
</person-group> (<year>1998</year>). &#x201c;<article-title>Automated ECG segmentation with dynamic time warping</article-title>,&#x201d; in <conf-name>Proceedings of the 20th Annual International Conference of the IEEE Engineering in Medicine and Biology Society. 20. Biomedical Engineering Towards the Year 2000 and Beyond (Cat. No.98CH36286)</conf-name>, <conf-loc>Hong Kong, China</conf-loc>, <conf-date>November 1998</conf-date> (<publisher-name>IEEE</publisher-name>), <fpage>163</fpage>&#x2013;<lpage>166</lpage>.</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Vullings</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Mischi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Oei</surname>
<given-names>S. G.</given-names>
</name>
<name>
<surname>Bergmans</surname>
<given-names>J. W. M.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Novel Bayesian vectorcardiographic loop alignment for improved monitoring of ECG and fetal movement</article-title>. <source>IEEE Transactions on Biomedical Engineering</source> <volume>60</volume> (<issue>6</issue>), <fpage>1580</fpage>&#x2013;<lpage>1588</lpage>. <pub-id pub-id-type="doi">10.1109/TBME.2013.2238938</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>