Chapitre 4 Implémentation de l’Algorithme de Détection du complexe QRS

 

4-1 : Détection des pics R

 

Non-syntactic QRS Détection  (Pan et Tompkins) :

Cette méthode  a  été  présentée  par  Pan et W. J. Tompkins, traitant de  la détection des complexes QRS .

 

Cette  méthode,  relativement  simple,  est  basée  sur  les  principales Caractéristiques des complexes QRS pour réaliser leur détection (fig. 4-1).

 

 

Fig 4-1 : Algorithme de détection des pics R de la méthode Pan et Tompkins

 

Le signal sortant des amplificateurs est filtré par un filtre passe-bas, puis un filtre passe haut, présentant les fonctions de transfert suivantes (fig. 4-2) :

 

 

 Filtre Passe-bas :                       Filtre Passe-haut :

 

 

 

Fig 4-2 : Fonctions de transfert des filtres passe-bas et passe-haut

 

 

Le  signal  ainsi  obtenu  à  la  sortie  de  ces deux  filtres  subit  d’une  part  un seuillage direct,  et  d’autre  part  un  seuillage  indirect,  après  dérivation, élévation  au  carré  et  application  d’un  filtre  à  Réponse  Impulsionnelle Finie (RIF) – ou Moving Average filter (MA filter).

 

Chaque  seuillage  est  réalisé  à  l’aide  d’un  comparateur,  renvoyant  un signal TTL b,c’est-à-dire un signal logique 0 ou 1 (High or Low) selon le niveau de l’entrée x[n] par rapport au seuil T  (fig. 4-3).

 

Fig 4-3 : Obtention d’un signal ″tout ou rien″ b par application d’un seuil T au signal x[n]

 

 

Un retardateur (delay) permet de compenser le retard du au traitement (dérivation,  carré…),et  ainsi  de  resynchroniser  les  deux  signaux  logiques (seuillages T1 et T2).

Le MA filter correspond à un filtre dont la sortie peut s’écrire :

où Nw représente la longueur du moyennage.

On obtient ainsi en sortie un signal TTL qui renvoit un ‘1’ lorsqu’un pic est détecté, et vaut 0 sinon (fig. 4-4).

 

 

Fig 4-4 :  En haut, signal ECG  - En bas, détection des battements cardiaques

 

 

4-2 : Règles de détection :

- Les seuils T1 et T2 sont ajustés de battements en battements dans  le but de compenser les évolutions d’amplitude des pics R.

-  Lorsqu’un  pic  R  n’est  pas  détecté  après  un  intervalle  de  temps  défini, l’algorithme traite à nouveau le signal en revenant à la détection précédente, en appliquant un seuil plus bas.

 

•  Nonlinear high pass filter for R-wave detection (Keselbrener, Keselbrener et Akselrod) : Un article  publié  en  1997  par  L.  Keselbrener,  M.  Keselbrener  et  S. Akselrod présente une autre méthode, simple et facile à implémenter, pour la détection des pics R  sur un  signal ECG.

Cette méthode est basée sur la soustraction d’une version filtrée du signal, au signal original. Le principe est de corriger la ligne de base, afin de pouvoir appliquer un seuillage fixe.

 

Fig 4-5 : Organigramme de la procédure de détection  des pics R

 

Les  différentes  étapes  de  l’application  de cette  méthode  sur  un  signal  présentant  des variations  de  la  ligne  de  base  (A)  sont représentées sur la figure (4-5). 

 Tout  d’abord  un  filtre  passe-bas  est appliqué  au  signal  ECG :  le  filtre  utilisé  est  un filtre  médian  non  linéaire,  avec  une  fenêtre rectangulaire. On obtient ainsi, après  filtrage, un signal  lissé ne présentant plus aucune  trace de pics  R  (B).  En  effet,  seules  les  variations  très lentes  sont  conservées  (variations  du  niveau isoélectrique).

 On soustrait ensuite  ce signal  lissé  (B) au signal original (A), ce qui équivaut à un filtrage passe-haut : le signal résultant de la soustraction présente des pics R non déformés, sans déviation de  la  ligne  de  base  (niveau  isoélectrique constant). 

 

Enfin, une détection par seuillage simple est appliquée au signal  filtré passe-haut obtenu :

un maximum est détecté chaque fois que le signal dépasse  une  valeur  de  seuil  spécifiée  par l’utilisateur.  Bien  évidemment,  des méthodes  de détection  plus  élaborées  peuvent  également  être appliquées,  mais  un  seuillage  constant  est généralement suffisant.

L’avantage  de  la méthode  de  soustraction  du  signal  lissé  par  application d’un  filtre médian  est  qu’elle  crée  un  filtre  passe-bas  non  linéaire  capable  de supprimer ces variations de la ligne de base, sans pour autant déformer les pics R. En effet, le signal soustrait au signal original est une version filtrée passe-bas ne  présentant  aucune  trace  de  complexes  QRS ;  le  signal  obtenu  après soustraction  ne  présentera  donc  pas  de  distorsion  dans  la  détection  des intervalles R-R.

 

De plus, elle permet d’utiliser ensuite une détection par simple seuillage.  Enfin, cette méthode permet une détection précise des pics R, même dans le cas de signaux ECG complètement non stationnaires.

 

 4-3 Problématiques des signaux ECG

 

A tout signal ECG, viennent se greffer des phénomènes accessoires qui peuvent le polluer et qui dans certain cas, le rendent méconnaissable. Ces signaux parasites sont le bruit. Ce bruit a des origines diverses :

 

  • L’agitation thermique des électrodes.
  • La présence de champs électromagnétiques due à la proximité d'émetteurs, de transformateurs, de moteurs et de générateurs d’ondes de basse ou de moyenne fréquence sont aussi à l’origine de parasites  (radio, TV, radar, téléphone portable, etc.) et peuvent induire des courants dans le patient.
  • Les signaux biologiques peuvent constituer du bruit les un pour les autres. Ainsi en est-il de l’électromyogramme (EMG) qui est un bruit très gênant pour l’ECG

 

Les remèdes sont nombreux et variant selon la cause. Citons par exemple la mise à la terre pour évacuer les parasites du potentiel du secteur, les divers modes de blindage pour constituer des cages de faraday, utilisation des filtres analogiques et des filtres numériques.

 

Nous avons utilisé une techniques permettent d'améliorer le rapport S/B et permettant de détecter le pique R. Le filtrage numérique du signal

 

Les méthodes numériques de filtrage sont indispensables dans ce cas et devront être choisies avec soin. Elles reposent toutes sur le principe, d'une élimination des indésirables et d'une restauration ultérieure du signal débarrassé du bruit.

 

  Nous avons opté pour  filtrage qui lui-même se divise en deux parties : un filtre passe bas et un filtre passe haut

 

4-4 Implémentation

 

4-4-1 Matlab

Matlab est un environnement de calcul intégré basé sur un langage de programmation qui permet   le développement   rapide d'applications.  Le  langage permet   la manipulation d'objets mathématiques à  l'aide de  fonctions.  Matlab qui ont été conçus à  l'origine pour   le calcul  matriciel (MATrix LABoratory).

 

Matlab dispose de fonctions de calcul de base ainsi que de bibliothèques plus spécialisées appelées boîtes à outils (toolboxes). Nous allons nous intéresser à l'une d'elles en particulier, la boîte à outils ondelettes.

 

4-4-2 Les ondelettes

La  théorie des ondelettes   est  apparue au début  des années 90,  elle  touche de nombreux domaines des mathématiques, notamment le traitement du signal et le traitement d’images. La boîte à outils Ondelettes de Matlab propose de nombreuses  fonctions de manipulation des ondelettes.

L'analyse multirésolution donne un ensemble de signaux d'approximation et  de détails d'un signal  de départ  en suivant une   approche   fin-à-grossier   (fine-to-coarse).  On   obtient   une décomposition multi-échelle du signal de départ en séparant à chaque   niveau   de   résolution   les   basses   fréquences (approximation) et les hautes fréquences (détails) du signal.

 

L utilisations de la transformée en ondelettes pour des signaux ECG est réalisée dans [Daubechies 88] Les auteurs constatent que les coefficients prépondérants décrivent les complexes QRS et que ces complexes sont bien analysée en approximations et détails en utilisant l’ondelette Daubechies .

 

4-5 Pratique et programme sous matlab

 

Nous avons téléchargé du site web officiel de « University of rochester medical center » centre « for quantitative électrocardiography and cardiac safety » Centre pour l’électrocardiographie quantitative et sécurité cardiaque, la base de données de l’ECG NORMAL ce qui est un fichier sous l’extension (TXT),

  • On copie ce fichier dans le système d’exploitation de l’ordinateur.
  • On va sur le MATLAB, en cliquant sur « Editor » puis on écrit le code suivant :.

 

x1 = importdata('base des donnees.txt');

base des donnees.txt : nom du fechier

 

  • D’un clic sur le bouton d’Exécution « RUN » Le matlab va automatiquement télécharger la base des données en donnant les valeurs que porte  cette base.

 

   Pour qu’on puisse voir le graphe de l’ECG il suffit de taper le code

 

 plot (x1)

 

Figure 4-6 Tracé de l’ECG x1

 

  • On utilisant ces codes

plot(t(200:600),x1(200:600))

xlim([1 3])

 

    On constate l’apparition d’un nouveau graphe qui montre un fragment de l’ECG, limité entre 01 et 03 secondes.

Figure 4-7 Tracé de l’ECG x1 et un fragment de 3 seconds.

 

  • Filtrage LPF (filtre passe bas), en tapant les codes de wavelete dans toolbox suivants :

 

h_LP=filter(b,a,[1 zeros(1,12)]);

 

x2 = conv (x1 ,h_LP);

x2 = x2/ max( abs(x2 ));

 

     On obtient le graphe suivant :

Figure 4-8 Tracé de l’ECG x1 après le filtrage passe bas.

 

 

  • Filtrag HPF(filtre passe haut) : en tapant les codes de wavelete dans toolbox suivants 

 

h_HP=filter(b,a,[1 zeros(1,32)]);

x3 = conv (x2 ,h_HP);

x3 = x3/ max( abs(x3 ));

 

Pour obtenir le graphe suivant :

 

Figure 4-9 Tracé de l’ECG x1 après le filtrage passe haut.

 

   La dernière et la plus importante étape est celle de la détection du complexe QRS, donc on utilise  les codes de détecteur de wavalete.

 

Et on obtient les résultats du graphe suivant : 

 

Figure 4-10 Tracé de l’ECG x1 avec détection des position des onde Q, R, et S..

 

 

  • Le triangle:     signifie la position du R, autrement dit, la détection de la plus ample onde du signal ECG
  • Le cercle     signifie la position du Q, autrement dit, la détection du début du complexe QRS.
  • L’étoile     signifie la position du S, autrement dit, la détection du la fin du complexe QRS.

 

 

4-5 Conclusion

 

 Les  résultats  obtenus  avec  cette méthode  sont  très  satisfaisants.

La  détection  des  instants  d’apparition  des  pics R  est  réalisée  avec  une  grande précision.

La méthode a été testée sur des signaux simulés et des signaux réels.

Les  signaux  simulés  permettent  de  chiffrer  la  précision  de  la  détection,  par comparaison avec les instants exacts d’apparition des pics.