Vous êtes sur la page 1sur 124

N° d’ordre : 09/2021-C/ELC

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE


Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université des Sciences et de la Technologie Houari Boumediène

Faculté d’electronique et Informatique

THESE DE DOCTORAT
Présentée pour l’obtention du grade de Docteur

En : ELECTRONIQUE

Spécialité : Instrumentation Electronique

Par : MEDDAH Karim

Intitulée

Implémentation sur FPGA d’un système intelligent pour la


surveillance de l’état de santé des patients souffrant
d’arythmie cardiaque

Soutenue publiquement le 9/10/2021 devant le jury composé de :

M. BOUKHENOUS S. Professeur à l’USTHB Président


Mme. KEDIR TALHA M. Professeur à l’USTHB Directrice de thèse
M. BAHOURA M. Professeur à l’UQAR Co-directeur de thèse
M. MEKAOUI S. Professeur à l’USTHB Examinateur
M. ADNANE M. Professeur à l’ENP Examinateur
M. BOUHEDDA M. Maître de conférence /A à l’U Médéa Invité
République Algérienne Démocratique et Populaire
Ministère d’Enseignement Supérieur et de la Recherche Scientifique
Université des Sciences et de la Technologie Houari Boumediene

Docteur en Instrumentation électronique


Karim MEDDAH

Implémentation sur FPGA d’un système


intelligent pour la surveillance de l’état de
santé des patients souffrants d’arythmie
cardiaque

Jury :
M. Samir BOUKHENOUS Encadrants :
M. Slimane MEKAOUI Pr. Malika KEDIR-TALHA
M. Mourad ADNANE Pr. Mohammed BAHOURA
M. Mounir BOUHEDDA

Version finale du
20 octobre 2021
Remerciements

Avant tout, je remercie Dieu de


m’avoir donné la force d’aller jusqu’au bout.

Ce travail de thèse a été réalisé au laboratoire d’instrumentation de l’université des sciences


et de la technologie au sein de l’équipe instrumentation biomédicale en collaboration avec le
département de mathématiques, informatique et génie de l’université du Québec à Rimouski.
Mes premiers remerciements vont au Professeure Kedir-Talha Malika Djahéda, pour
avoir accepté de m’encadrer pour cette thèse. Je lui suis particulièrement reconnaissant pour
son soutien, ses conseils, sa patience et sa sagesse. Veuillez accepter, chère Professeure, l’ex-
pression de ma profonde gratitude.
Mes remerciements vont aussi au Professeur Bahoura Mohammed qui a co-encadré ce
travail et qui n’a ménagé aucun effort pour l’aboutissement de cette thèse.
Je présente toute ma reconnaissance aux Professeurs Mekaoui Slimane, Adnane Mou-
rad et Bouhadda Mounir pour avoir accepté d’examiner mon travail et au Professeur Bou-
khenous Samir pour avoir accepté de faire partie de mon jury de thèse et de le présider.
Croyez Messieurs, à mon estime et à mon profond respect.
Je remercie les collègues doctorants de laboratoire LINS d’avoir manifesté autant d’intérêt
à mon égard et m’avoir permis de trouver ma place au sein du groupe. Je pense particu-
lièrement à Hadjer Zairi, Bensenouci Amine, Attab Abdelkader, Hachemi Cherrih, Koceila
Kassou, Timlelt Hakima, Besskri Besma, Bahloul Lies, Hariz Hafid, Ferhat Lamine et Hafid
Abdel Akram.
Je remercie tous les enseignants qui ont contribué à mon parcours universitaire depuis le
début et pour qui notre gratitude et reconnaissance sont éternelles.
Je n’aurai jamais de mots assez chaleureux pour exprimer toute ma gratitude à l’égard de
mes parents, mes frères, ma soeur, et à mes amis d’enfance Sid-Ali, Sid-Ahmed, Nas Eddine
et Abd Arrahmen.
Finalement, je remercie le Ministère de l’Enseignement Supérieur et de la Recherche Scien-
tifique du Gouvernement Algérien, et le département de mathématiques, informatique et génie
de l’Université du Québec à Rimouski qui sans eux ce travail n’aurait pas pu être réalisé.

1
Je dédié ce travail à :

“La mémoire de mon père.


Ma mère que dieu la protège.
Ma chère soeur et mes chèrs frères : Hassiba,Nassim,Imad et tous leurs enfants. “
3

Résumé
e traitement de l’information médicale s’est développé grâce à l’évolution de la microélectronique
Len proposant des systèmes de plus en plus performants pour exécuter des algorithmes très com-
plexes. La rencontre de ces deux univers a donné naissance aux systèmes intelligents embarqués dans
le domaine du diagnostic automatique en général et cardiaque en particulier. Dans ce contexte, le
FPGA (Field Programmable Gate Array) avec ses grandes capacités d’intégration et de reconfigu-
ration en font un composant clé pour développer rapidement des prototypes de systèmes médicaux.
Dans cette thèse nous avons proposé deux prototypes fondés sur un ensemble de méthodes d’analyse
et de traitement avancé du signal, qui permettent la conception de deux systèmes intelligents opé-
rants en temps réel et qui réalisent à partir d’un signal biomédical, la reconnaissance automatique des
battements cardiaques tout en intégrant l’acquisition de signal électrocardiogramme (ECG) dans le
système embarqué. Le premier système dédié à la détection du complexe QRS basé sur l’exploitation
d’un ensemble de techniques de filtrage numérique et les différentes caractéristiques du complexe QRS
du signal ECG afin d’assurer sa détection pour établir un diagnostic concernant le type d’arythmie
"Tachycardie ou Bradycardie". Le deuxième système de diagnostic repose sur différents types de tech-
niques du traitement avancé du signal ECG afin d’établir l’origine de l’arythmie. Après une étape de
segmentation exploitant le premier système et en se basant sur l’aspect non stationnaire de ce signal,
nous avons exploité la transformée en ondelettes discrètes DWT pour la sélection des paramètres les
plus pertinents. Le choix entre le classifieur Support Vecteur Machine SVM et les réseaux de neurones
artificiels a été abordé en terme de performance et temps de classification. Cette recherche apporte
plusieurs contributions importantes dans le domaine de l’analyse et la classification des signaux bio-
médicaux d’une part et d’autre part dans l’implémentation hardware sous FPGA des prototypes de
détection des arythmies cardiaques.
La première contribution consiste en une nouvelle méthode simple et efficace pour la détection
du complexe QRS basée sur la dérivée centrée et le théorème des valeurs intermédiaires.
La deuxième contribution propose un système intelligent capable de classer les arythmies
cardiaques d’une façon automatique et précise. La première phase de notre approche consiste en
l’application d’une technique de segmentation automatique du signal ECG moyennant la première
méthode proposée. La deuxième phase s’intéresse au choix judicieux des paramètres caractéristiques
qui a été établi sur la base d’une étude de l’état de l’art. La dernière phase a été dédiée à la classification
des signaux ECG par la technique des réseaux de neurones artificiels à deux couches cachées, après une
étude sur le choix judicieux de l’ondelette et du classifieur. Nos travaux ont montré qu’avec seulement
treize paramètres extraits des domaines temporel et fréquentiel, une classification en cinq types de
battements est efficacement réalisée. Le système intelligent que nous avons implémenté permet non
seulement de détecter la présence d’une arythmie, mais aussi d’identifier l’origine de la pathologie.
La troisième contribution réalise l’implémentation hardware. Les deux systèmes intelligents
que nous avons développés ont été implémentés sur la carte FPGA moyennant le Xilinx System Ge-
nerator pour DSP et la Nexys-4 evaluation kit. Les performances des deux systèmes proposés ont
été testées à partir des signaux réels de banques de données publiques. Les résultats obtenus sur le
composant hardware ont été comparés avec ceux de l’implémentation software sur Matlab et avec ceux
des méthodes existantes dans littérature.
Mots clés : FPGA, QRS détection, Classification des battements d’ECG, Système embarqué,
arythmie.
‫ملخص‬
‫إن الفضل في تطور معالجة المعلومات الطبية يعود للتطور الرهيب الذي شهدته الإلـكترونيات الدقيقة والذي سمح بإنشاء أنظمة‬
‫أكثر فاعلية تعمل بخوارزميات معقدة للغاية‪ .‬أدى دمج هاذين العالمين إلى ولادة مجال الأنظمة الذكية المدمجة في مجال التشخيص‬
‫التلقائي عامة ً وتشخيص أمراض القلب خاصة ً‪.‬‬
‫في هذا السياق‪ ،‬لعبت مصفوفة البوابات المنطقية القابلة للبرمجة )‪ (FPGA‬دورا أساسيا بفضل قدراتها الـكبيرة في الإدماج وإعادة‬
‫التصميم‪ ،‬حيث جعلت منها جزءا ً لا يتجزأ في تطوير النماذج الأولية للأنظمة الطبية‪.‬‬
‫في هذه الأطروحة اقترحنا نموذجين أوليين يعتمدان على مجموعة من طرق التحليل ومعالجة الإشارات المتقدمة‪ ،‬والتي تسمح بتصميم‬
‫نظامين ذكيين يعملان في الوقت الفعلي واللذان من خلال إشارة طبية حيو ية‪ ،‬يمكنهما التعرف تلقائيا ً على نبضات القلب و‬
‫الأمراض المرافقة لها‪.‬‬
‫النظام الاول مخصص للـكشف عن موجة من موجات القلب وهي اللـ ‪ QRS‬والذي يعتمد على استغلال مجموعة من تقنيات‬
‫المعالجة الرقمية والخصائص المختلفة لهاته الموجة‪.‬‬
‫يعتمد نظام التشخيص الثاني على معالجة أنواع مختلفة من إشارات وموجات القلب ‪ ECG‬من أجل استخراج العوامل المميزة‪.‬‬
‫استناد ًا إلى الجانب الغير ثابت لهذه الإشارة‪ ،‬قمنا باستغلال تحو يل الموجات المنفصلة ‪ DWT‬لاختيار العوامل الأكثر صلة بناء ً على‬
‫معايير الأداء‪.‬‬
‫يقدم هذا البحث عدة مساهمات مهمة في مجال تحليل واستخراج خصائص الإشارات الطبية الحيو ية‪ .‬تتمحور المساهمة الأولى في‬
‫تقديم طر يقة جديدة بسيطة وفعالة للـكشف عن موجة ‪ QRS‬اعتمادا على المشتقة المركز ية ونظر ية القيم المتوسطة‪.‬‬
‫تقدم المساهمة الثانية نهج ًا آليًا مثاليًا لتصنيف ضربات القلب‪ .‬المرحلة الأولى هي التجزئة التلقائية لإشارة تخطيط القلب الـكهربائية‬
‫وذلك لاستخراج اضطراب خفقان القلب‪ .‬يتبع ذلك تخفيض في عدد العوامل المستعملة مما يسمح بتحسين الموارد مع الحفاظ‬
‫على كفاءة وأداء النظام‪ .‬المرحلة النهائية مخصصة لتصنيف إشارات تخطيط القلب الـكهربائية بتقنية الشبكة العصبية الاصطناعية‬
‫المكونة من طبقتين بعد دراسة دقيقة للاختيار الأمثل للخوارزميات‪.‬‬
‫دراستنا هاته والنتائج المحصل عليها تؤكد إمكانية تطوير نظام ذكي مدمج وفعال يسمح بالمراقبة المستمرة للأشخاص المصابين بأمراض‬
‫القلب إضافة ً الى تشخيص حالة القلب والذي سيجعل استعماله في المناطق التي لا ٺتوفر على رعاية طبية ممكنا ًوغير مكلف‪.‬‬
Abstract —
he Medical information processing has developed as a result of the evolution of microelectronics by
T offering increasingly high-performance systems for executing very complex algorithms. The com-
bination of these two worlds has given birth to intelligent embedded systems in the field of automatic
diagnosis in general and cardiac diagnosis in particular. In this context, the FPGA (Field Program-
mable Gate Array) with its great integration and reconfiguration capacities make it a key component
for the rapid development of medical system prototypes. In this thesis, we proposed two prototypes
based on a set of advanced signal processing and analysis methods, which allow the design of two in-
telligent systems operating in real time and which carry out, from a biomedical signal, the automatic
recognition of heartbeats while integrating the acquisition of the electrocardiogram (ECG) signal in
the embedded system. The first system dedicated to the detection of the QRS complex based on the
exploitation of a set of digital filtering techniques and the different characteristics of the QRS complex
of the ECG signal to ensure its detection in order to establish a diagnosis concerning the type of
arrhythmia "Tachycardia or Bradycardia".
The second diagnostic system uses different types of advanced ECG signal processing techniques to
establish the origin of the arrhythmia. After a segmentation step using the first system and based
on the non-stationary aspect of this signal, we used the discrete wavelet transform DWT to select
the most relevant parameters. The choice between the SVM Support Vector Machine classifier and
artificial neural networks was discussed in terms of performance and classification time. This research
brings several important contributions in the field of biomedical signal analysis and classification on
the one hand and in the hardware implementation under FPGA of the cardiac arrhythmia detection
prototypes on the other hand.
The first contribution consists of a new, simple and efficient method for the QRS complex
detection based on the centred derivative and the intermediate value theorem.
The second contribution proposes an intelligent system to classify cardiac arrhythmias in an
automatic and precise way. The first phase of our approach consists in the application of an automatic
ECG signal segmentation technique using the first proposed method. The second phase focuses on
the judicious choice of characteristic parameters which has been established on the basis of a state
of the art study. The last phase was dedicated to the classification of ECG signals using the two-
hidden-layer artificial neural network technique, after a study on the judicious choice of the wavelet
and the classifier. Our work has shown that with only thirteen parameters extracted from the time
and frequency domains, a classification into five types of beats is efficiently performed. The intelligent
system that we have implemented not only allows us to detect the presence of an arrhythmia but also
to identify the origin of the pathology.
The third contribution carries out the hardware implementation. The two intelligent systems
we developed were implemented on the FPGA board using the Xilinx System Generator for DSP and
the Nexys-4 evaluation kit. The performance of the two proposed systems has been tested using real
signals from public databases. The results obtained on the hardware component were compared with
those of the software implementation on Matlab and with those of existing methods in the literature.
keywords : FPGA, QRS detection, ECG beat classification, Embedded system, Arrhythmia.
Table des matières

1 Introduction générale 14
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Objectifs de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Contribution personnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Organisation du manuscrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Système Cardiovasculaire et troubles du rythme. 18


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Maladies cardiovasculaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Notion de base du système cardiovasculaire . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Système cardiovasculaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.2 Circulation artérielle et veineuse . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.3 Électrocardiogramme ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.4 Ondes et Intervalles de L’ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.5 Dérivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 Troubles du rythme et de la conduction cardiaque . . . . . . . . . . . . . . . . . . . . 26
2.4.1 Rythme cardiaque sinusal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.2 Blocs cardiaques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.3 Arythmies cardiaques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.4 Artefacts visibles sur l’électrocardiogramme . . . . . . . . . . . . . . . . . . . . 32
2.5 Base de données des signaux ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3 Classification des arythmies cardiaques 37


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Techniques d’analyse du signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.1 Analyse temporelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.2 Analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6
Table des matières 7

3.2.3 Analyse temps-fréquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39


3.2.4 Analyse temps-échelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Techniques de réduction d’espace de mesure . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.1 Analyse par composante principale (ACP) . . . . . . . . . . . . . . . . . . . . 40
3.3.2 Analyse par composante Indépendante (ACI) . . . . . . . . . . . . . . . . . . . 42
3.4 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.1 Réseaux de neurones artificiels RNA . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.2 Séparateurs à vaste marge SVM . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5 Méthodes de classification des arythmies cardiaques . . . . . . . . . . . . . . . . . . . 47
3.5.1 Méthodes pour la détection du complexe QRS . . . . . . . . . . . . . . . . . . 47
3.5.2 Méthodes pour la classification des arythmies cardiaques . . . . . . . . . . . . . 56
3.6 Évaluation des performances du système de classification . . . . . . . . . . . . . . . . 58
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4 Méthodes proposées pour la classification des arythmies 61


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 Méthode proposée pour la détection du complexe QRS . . . . . . . . . . . . . . . . . . 62
4.2.1 Étape de prétraitement du signal ECG . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.2 Étape de détection de l’onde R . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2.3 Détection du type d’arythmie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.4 Validation des performances du détecteur de QRS . . . . . . . . . . . . . . . . 66
4.3 Deuxième méthode proposée pour la classification des battements cardiaques . . . . . 69
4.3.1 Méthodologie de l’approche proposée . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.2 Segmentation du battement du coeur . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.3 Extraction des paramètres pertinents . . . . . . . . . . . . . . . . . . . . . . . 71
4.3.4 Choix de l’architecture de ANN et SVM . . . . . . . . . . . . . . . . . . . . . . 73
4.3.5 Évaluation des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5 Conception du système embarqué 81


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Architectures numériques dédiées aux implémentations matérielles . . . . . . . . . . . 82
5.2.1 Processeurs à usage général GPP . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2.2 Processeurs de traitement du signal DSP . . . . . . . . . . . . . . . . . . . . . 83
5.2.3 Circuit spécifique ASIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2.4 Processeurs reconfigurables FPGA . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.5 Langages de programmation FPGA . . . . . . . . . . . . . . . . . . . . . . . . 88
Table des matières 8

5.2.6 Carte Xilinx Nexys 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90


5.3 Carte d’acquisition du signal ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.1 Electrodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.2 Schéma électrique de la carte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4 Carte "Analog Discovery" et l’interface "WaveForms" . . . . . . . . . . . . . . . . . . 93
5.5 Méthodes d’implémentations des systèmes proposés pour la détection et la classification
des arythmies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.5.1 Architecture de l’implémentation Hardware sur FPGA du système de détection 96
5.5.2 Test en temps réel et validation du système proposé . . . . . . . . . . . . . . . 100
5.5.3 Implémentation hardware du deuxième système proposé . . . . . . . . . . . . . 102
5.6 Résultats et discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.6.1 Test en Co-simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.6.2 Évaluation des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.6.3 Comparaison des performances . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.6.4 Évaluation en temps réel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

6 Conclusion générale et perspective 114


Table des figures

2.1 Système artériel et le système veineux . . . . . . . . . . . . . . . . . . . . . . . . . . . 20


2.2 L’anatomie de cœur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Schéma du cycle cardiaque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Schéma de la Coupe longitudinale du cœur . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5 Tracé de l’électrocardiogramme ECG . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6 Les dérivations de Einthoven (en haut) et celles proposées par Goldberger (en bas)
[Zairi 2020] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.7 Les dérivations précordiales unipolaires . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.8 Rythme sinusal, segmentation de l’enregistrement MIT-BIH Arrythmia database 100 :
0-10 s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.9 Exemple de Bloc Auriculo-Ventriculaire (BAV)type II de l’enregistrement MIT-BIH
Arrythmia database 231 :0-10 s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.10 Exemple de Bloc de Branche Gauche de l’enregistrement MIT-BIH Arrythmia database
207 : 1662-1672s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.11 Exemple de Bloc de Branche droite de l’enregistrement MIT-BIH Arrythmia database
124 : 218-228 s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.12 Exemple de Tachycardie supra-ventriculaire de l’enregistrement MIT-BIH Arrhythmia
database 209 : 863-873 s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.13 Exemple de Fibrillation auriculaire de l’enregistrement MIT-BIH Arrythmia database
201 : 0-10 s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.14 Exemple d’extrasystolique ventriculaire de l’enregistrement MIT-BIH Arrythmia data-
base 119 : 0-10 s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.15 Exemple de bigéminisme de l’enregistrement MIT-BIH Ahhythmia database 200 : 1746-
1756 s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.16 Exemple de trigémie de l’enregistrement MIT-BIH Arrythmia database 124 : 1746-1756 s. 31
2.17 Exemple de Tachycardie ventriculaire de l’enregistrement MIT-BIH Arrythmia database
205 : 1458-1468 s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.18 Exemple de Fibrillation ventriculaire de l’enregistrement MIT-BIH Arrythmia database
207 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.19 Exemple de Bruit de secteur sur enregistrement en temps réel avec notre système d’ac-
quisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

9
Table des figures 10

2.20 Exemple de Bruit dû au mauvais contact électrode-peau de l’enregistrement MIT-BIH


Arrythmia database 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.21 Exemple de Bruit : Dérive de la ligne de base de l’enregistrement MIT-BIH Arrythmia
database 202 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.22 Exemple de Bruit musculaire sur l’enregistrement de MIT-BIH Arrythmia database 104 35

3.1 Analyse en Composantes Principales de données distribuées selon une gaussienne mul-
tivariée. La droite rouge correspond à l’axe de projection maximisant la variance, et
donc par définition, à la première composante principale. La droite verte correspond
à la deuxième composante principale et se déduit de la première grâce à la contrainte
d’orthogonalité et au fait qu’il n’y a ici que deux variables. . . . . . . . . . . . . . . . 41
3.2 Modèle d’un seul perceptron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3 Types de fonctions d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Architecture d’un réseau MLP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5 Classification binaire avec plusieurs hyperplans.[Boujelben 2018] . . . . . . . . . . . . 46
3.6 Représentation de deux classes dans un espace R2. Comme il est indiqué, la discri-
mination des deux classes peut être réalisée en utilisant un discriminant non linéaire
[Nocua 2009]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.7 Résultats des différents étapes : (A) : Signal ECG, (B) Filtrage passe-bande, (C) Déri-
vation, (D) Transformation non linéaire, (E) Intégration. [HADJ SLIMANE 2006]. . . 48
3.8 Les bandes fréquentielles relatives du complexe QRS, les ondes P et T, le bruit mus-
culaire et les artefacts de mouvement sur la base d’une moyenne de 150 battements
[Mittnacht 2011] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.9 L’enregistrement 108m présente un taux des faux positifs FP élevé, L’amplitude des
ondes P est proche de celle du complexe QRS. . . . . . . . . . . . . . . . . . . . . . . . 50
3.10 L’enregistrement 222m, L’onde P a une amplitude importante comparable à celle du
complexe QRS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.11 Les résultats des étapes : ECG Signal, (1) Filtrage passe-bande, (2) Dérivation, (3)
Transformation non linéaire, (4) Intégration, (5)Filtrage passe-bas, (6) détection de pic.
[Dubois 2004]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.12 Seuillage en amplitude proposé par Dubois [Dubois 2004]. . . . . . . . . . . . . . . . . 52
3.13 Seuillage en temps proposé par Dubois [Dubois 2004]. . . . . . . . . . . . . . . . . . . 52
3.14 Exemple d’une tachycardie présente dans l’enregistrement 207m . . . . . . . . . . . . . 53
3.15 Les différentes étapes de la méthode proposée par Lugan : (a) Signal ECG, (b) Dériva-
tion, (c)Filtrage passe-bas + Détection. ([Laguna 1990]). . . . . . . . . . . . . . . . . . 53
3.16 Spectres de puissance de quatre types de QRS [Zidelmal 2012b] . . . . . . . . . . . . . 54
3.17 Décomposition du signal ECG à l’aide de l’ondelette «Haar» pour l’enregistrement 221
(segment de 10 sec). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.18 Comparaison entre la méthode de Zidelmal (a) et l’algorithme de Tompkins (b). Les
points représentent les positions du pic R détectées où les rectangles représentent les bat-
tements non détectés ; y3 est la dérivée seconde au carré du signal ECG [Zidelmal 2012b] 55
3.19 Organigrame global d’une architecture de classification . . . . . . . . . . . . . . . . . . 56
Table des figures 11

4.1 Procédure de la méthode proposée pour la détection du complexe QRS [Meddah 2019] 62
4.2 A partir des 5 QRS précédents, l’algorithme calcule un seuil. Un maximum est validé
comme complexe QRS s’il est supérieur au seuil. . . . . . . . . . . . . . . . . . . . . . 65
4.3 Si aucun QRS n’est détecté avant un certain temps - 166 % de l’intervalle RR moyen
des 5 derniers complexes validés -, l’algorithme recommence la recherche de maximum
avec un seuil abaissé à 5 % de la moyenne des amplitudes des 5 derniers maxima validés. 65
4.4 Battements de la classe Normale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5 Battements de la classe PVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.6 Battements de la classe LBBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.7 Battements de la classe RBBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.8 Battements de la classe APB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.9 Organigramme de la méthode proposée pour la classification des battements du coeur. 70
4.10 Décomposition par la DWT (db3)d’un signal ECG . . . . . . . . . . . . . . . . . . . . 72
4.11 Taux de précision pour les différentes fonctions du SVM . . . . . . . . . . . . . . . . . 75
4.12 Taux de précision pour différents nombre de composantes principales utilisées . . . . . 75
4.13 Comparaison entre les architectures ANN et SVM en termes de sensibilité pour chaque
classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.14 Comparaison entre les architectures ANN et SVM en termes de spécificité pour chaque
classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.15 Comparaison entre les architectures ANN et SVM en termes de prédiction positive pour
chaque classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.16 Comparaison entre les architectures ANN et SVM en termes de taux de précision pour
chaque classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.17 La courbe de ROC pour la classe Normal obtenue avec le classifieur SVM . . . . . . . 78
4.18 La courbe de ROC pour la classe APB obtenue avec le classifieur SVM . . . . . . . . . 78

5.1 Architecture standard d’un FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86


5.2 Architecture conceptuelle d’un FPGA actuel . . . . . . . . . . . . . . . . . . . . . . . 87
5.3 Bibliothèque de XSG dans Simulink/Matlab . . . . . . . . . . . . . . . . . . . . . . . . 90
5.4 Présentation de la cart Nexys 4 de Digilent . . . . . . . . . . . . . . . . . . . . . . . . 91
5.5 Schéma électrique de la carte d’acquisition du signal. . . . . . . . . . . . . . . . . . . . 92
5.6 (a)Les cartes d’Analog Discovery 1 & 2, (b)L’interface WaveForms . . . . . . . . . . . 94
5.7 Diagramme du système embarqué proposé et le banc d’essai de validation. . . . . . . . 95
5.8 Flot de conception sous XSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.9 Schéma global de l’implémentation de l’architecture proposée pour la détection des
complexes QRS au moyen la bibliothèque de blocs XSG . . . . . . . . . . . . . . . . . 97
5.10 Implémentation du sous-système de prétraitement de la Fig. 5.9 . . . . . . . . . . . . . 97
5.11 Implémentation du filtre passe-bande de la Fig. 5.10 en utilisant XSG blockset . . . . 98
5.12 Implémentation du filtre dérivé de la Fig. 5.10 en utilisant XSG blockset . . . . . . . 98
Table des figures 12

5.13 Implémentation du filtre intégrateur de la Fig. 5.10 en utilisant le blockset XSG . . . 98


5.14 Implémentation du filtre passe-bas de la Fig. 5.10 en utilisant XSG blockset . . . . . 98
5.15 Implémentation du sous-système de détection de l’onde R et du calcul des battements
cardiaques de la Fig. 5.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.16 Implémentation du sous-système de la décision de classe présentée dans Fig. 5.9 moyen-
nant la bibliothèque XSG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.17 Schéma du JTAG Hardware co-simulation de l’architecture proposée dans la Fig. 5.9 . 100
5.18 Schéma de l’implémentation en temps réel du détecteur de complexes QRS et le calcul
de fréquence cardiaque avec bibliothèque XSG. . . . . . . . . . . . . . . . . . . . . . . 101
5.19 Implémentation de bloc de contrôle d’affichage de la Fig. 5.18 réalisé avec bibliothèque
XSG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.20 Implémentation de bloc de contrôle d’affichage de la Fig. 5.18 réalisé avec bibliothèque
XSG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.21 Le schéma global de la transformée d’ondelette discrète . . . . . . . . . . . . . . . . . 103
5.22 Réalisation des filtres passe-bas et passe-haut de la figure 5.21 . . . . . . . . . . . . . . 104
5.23 Implémentation de l’architecture interne de la fonction variance . . . . . . . . . . . . . 105
5.24 Architecture interne d’un perceptron multicouche . . . . . . . . . . . . . . . . . . . . . 106
5.25 Architecture interne d’un neurone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.26 Implémentation de l’architecture interne de la fonction tangente hyperbolique de la
figure 5.25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.27 Sortie de chaque étape de prétraitement en utilisant la co-simulation matérielle sur
Nexys 4. (a) Signal ECG original de l’enregistrement n 107 : 1234–1238 s, (b) Sortie du
filtre passe-bande, (c) Sortie du filtre dérivateur, (d) Sortie de la transformation non
linéaire, (e) Sortie de l’intégrateur, (f) Sortie du filtre passe-bas. . . . . . . . . . . . . 108
5.28 Sortie de chaque étape de détection du QRS en utilisant la co-simulation matérielle sur
Nexys 4 pour le même signal d’entrée comme Fig. 5.27 : (g) Sortie du filtre dérivateur,
(h) Sortie de la détection de crête maximale, (i) Sortie de la validation du temps, (j)
Sortie de la validation de l’amplitude. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.29 Le tracé du signal ECG et de la localisation des pics R pour le segment 1102–1112 s de
l’enregistrement n 222 du MIT-BIH, présentant un décalage de la ligne de base. . . . . 109
5.30 Le signal ECG et le tracé de localisation des pics R pour le segment 172–182 s de
l’enregistrement N 101 du MIT-BIH, qui présente un changement brutal et important
de l’amplitude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.31 Tracé du signal ECG et de la localisation des pics R pour le segment 1358–1368 s de
l’enregistrement n 208 du MIT-BIH, avec des artefacts musculaires. . . . . . . . . . . . 110
5.32 Tracé du signal ECG et de la localisation des pics R pour le segment 348–361 s de
l’enregistrement n 200 du MIT-BIH, avec des artefacts musculaires. . . . . . . . . . . . 110
5.33 Banc d’essai utilisé pour valider l’implémentation en temps réel du système proposé :
(a) Test du signal ECG généré, (b) test du signal ECG acquis avec Analog Discovery. 113
Liste des sigles et acronymes

AAPB Abberated Atrial Premature Beat


ACC Accuracy
ACI Analyse Composante Indépendante
ACP Analyse Composante Principale
APB Atrial Premature Beat
CHF Congestive Heart Failure beat
DWT Discrète Wavelet Transform
DTCWT Dual Tree Wavelet Transforms
ECG ElectroCardioGramme
FPGA Field Programmable Gate Array
FPNB Fusion of Paced and Normal Beat
FVNB Fusion of Ventricular and Normal Beat
LBBB Left Bundle Branch Block
MLP Multi Layer Perceptron
NAV Nœud Auriculo Ventriculaire
NEB Nodal Escape Beat
NB Normal Beat
NPB Nodal Premature Beat
PB Paced Beat
PVC Premature Ventricular Contraction
RBBB Right Bundle Branch Block
SVM Support Vector Machines
VEB Ventricular Escape Beat
VFW Ventricular Flutter Wave
XSG Xilinx Système Générateur

13
Chapitre 1

Introduction générale

Contents
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Objectifs de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Contribution personnelle . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Organisation du manuscrit . . . . . . . . . . . . . . . . . . . . . . . 17

1.1 Introduction
Avec plus de 58 000 morts par an, les troubles du rythme cardiaque et les pathologies qui y sont
liées sont de plus en plus croissantes. Ils sont les premières causes de mortalité en Algérie avec 36.4 %
de décès annuels [Global Health Statistics 2013]. Ils se traduisent par un cœur qui bat trop lentement,
trop vite ou de manière anarchique, et nécessitent souvent un appareillage spécifique (stimulateurs,
défibrillateurs).
L’arythmie cardiaque est une perturbation du rythme cardiaque qui peut dans certains cas né-
cessiter un traitement adapté. Le coeur bat normalement de façon régulière à un rythme allant de
60 à 80 fois par minute. On parle d’arythmie dans les cas où le cœur bat à moins de 60 pulsations
(bradycardie) ou à plus de 100 pulsations par minute sans cause apparente (tachycardie). On parle
ainsi d’arythmie lorsque la fréquence cardiaque change, et lorsque le rythme de chaque contraction
devient irrégulier.
Ces arythmies se caractérisent par un fort degré d’urgence et traduisent qu’il est impératif de
prendre en charge très tôt les patients souffrants de cette maladie. De plus, les arythmies mineures
informent sur l’état de récupération cardiaque des patients et doivent donc être détectées notam-
ment pour prévenir une dégénérescence possible en arythmies sévères. Ces patients doivent être sous
surveillance en continu et ils nécessitent l’intervention d’un personnel médical aguerri et du maté-
riel spécialisé pour une opération thérapeutique rapide [Portet 2005]. Le suivi continu de ces patients
nécessite un équipement lourd et un important personnel médical ce qui n’est pas toujours évident
dans les pays en voie de développement. D’après l’Organisation mondiale de la santé il y a un médecin
pour chaque 1300 habitants en Algérie [Global Health Statistics 2013, Mackay 2004]. L’automatisation
de la détection et la surveillance des patients deviennent une nécessité absolue. Dans ce contexte, la
réalisation d’un prototype hardware sous FPGA d’un système intelligent pour la détection et la clas-
sification automatique des arythmies cardiaques présente une solution optimale pour réduire le coût

14
1.2. Objectifs de la thèse 15

tout en gardant la même couverture médicale. Ce système aura pour tâche d’assurer une surveillance
constante et quotidienne des patients au cours des 24 heures, ce qui aidera le clinicien à aboutir à
l’interprétation précise de l’électrocardiogramme (ECG) et établir un diagnostic sur l’état du cœur de
son malade.
L’ECG représente l’enregistrement de l’activité électrique de cœur, il est défini principalement par trois
ondes importantes, l’onde P, l’onde T et le complexe QRS. Ce complexe QRS est l’onde la plus carac-
térisante pour le signal ECG. Il représente le phénomène de dé-polarisation des ventricules cardiaques.
Une classification automatique de ce complexe QRS pour chaque battement est très importante pour
le diagnostic des cas pathologiques. Cependant, une telle classification n’est possible qu’à partir d’une
bonne détection du complexe QRS.
La réalisation d’un tel système fonctionnant en temps réel nous ramène à introduire la notion de sys-
tème embarqué. Avec les progrès sur la capacité d’intégration des circuits électroniques, les systèmes
embarqués récents peuvent couramment effectuer des milliards d’opérations par seconde grâce à plu-
sieurs milliards de portes logiques. Ces circuits permettent de réaliser des applications avec de bonnes
performances en termes de vitesse de traitement sans cesse croissante[Saptono 2011].
La dernière décennie a vu l’explosion du marché des systèmes embarqués dans nombreux domaines
industriels et grand public tels que les télécommunications, les satellites, et le traitement du signal
biomédical pour réaliser des systèmes embarqués qui ont favorisé et généré une compétition industrielle
dans les axes comme le coût, les performances et surtout le "Time to market" pour que le produit soit
présent sur le marché. Le FPGA (Field Programmable Gate Array) répond à ces besoins, il est devenu
un élément clé pour le développement rapide des prototypes avec ses grandes capacités d’intégration
et de reconfiguration. Pour assurer la large diffusion de l’utilisation de ce type de circuits, plusieurs
langages et environnements de développement ont été proposés pour les rendre plus accessibles à des
non-experts en électronique.
Dans ce contexte, et en intégrant l’acquisition de signal électrocardiogramme (ECG) et son trai-
tement sur un système embarqué, notre thèse vise dans un premier lieu à proposer une méthodologie
optimale et efficace permettant la mise au point des deux systèmes intelligents pouvant détecter des
battements cardiaques, en étudiant et en développant des algorithmes appropriés. Ils auront pour tâche
de choisir des paramètres pertinents du signal biomédical en tenant compte de ses spécificités phy-
siologiques, décrivant ainsi ce signal dans un langage plus ou moins précis, et sélectionner le langage
optimal à utiliser pour établir un diagnostic automatique.

La deuxième étape de notre travail consiste à réaliser le modèle hardware pour l’implémentation
sous FPGA en utilisant l’outil de programmation Xilinx System Generator (XSG) fonctionnant sur
l’environnement Simulink de Matlab. Une comparaison entre les résultats de Matlab et les résultats
de FPGA a été faite avec ceux qui existent dans la littérature. Le système proposé a été testé en
temps réel moyennant l’Analog Discovery et les convertisseurs Ana/Dig et Dig/Ana (PmodAD1 et
PmodDA2).

1.2 Objectifs de la thèse


Les travaux de cette thèse contribuent à faciliter l’établissement du diagnostic médical en appli-
quant des outils de traitement du signal. Notre objectif principal est de réaliser un prototype hardware
sous FPGA d’un système intelligent capable de détecter et classifier automatiquement en temps réel,
les battements cardiaques . Le premier prototype que nous avons proposé réalise le monitoring et le
suivi régulier en temps réel des patients à risque de crises cardiaques sans nécessiter une gestion lourde
et coûteuse de l’hôpital.
Notre première implémentation sous FPGA était la réalisation du prototype hardware d’un sys-
1.3. Contribution personnelle 16

tème intelligent de classification des arythmies cardiaques selon un calcul de la fréquence cardiaque.
Ce système repose sur le concept de détection du QRS moyennant la notion de filtrage numérique
et de seuillage adaptatif. Cependant, le système proposé reste inefficace devant certaines variantes
d’arythmies dont la répercussion sur l’apport sanguin nécessite d’aller encore plus loin dans la prise
en charge technique de ces pathologies, car elles peuvent mener à un accident vasculaire cérébral, à
une crise cardiaque, à une insuffisance cardiaque ou à une mort subite.

Ainsi nous avons proposé dans une deuxième phase, un autre système intelligent qui exploite
l’aspect spectral de chaque type de battement en appliquant les outils du traitement avancé du signal
tels que les ondelettes et les réseaux de neurones artificiels (RNA). Ce système vise à classer cinq types
de battements cardiaques, à savoir les battements normaux (N), Premature Ventricular Contractions
(PVC), Atrial Premature Beats (APB), Left Bundle Branch Block Beats (LBBB) et Right Bundle
Branch Block Beats (RBBB). Un volet important de cette méthode est de localiser en temps réel les
complexes QRS du signal ECG qui indiquent des battements cardiaques normaux (localisant ainsi des
battements anormaux). Ces objectifs ont été atteints en tenant compte des étapes suivantes :
1. Réduction du bruit du signal ECG : Les enregistrements ECG sont généralement contami-
nés avec différentes sources de bruit. Pour pallier à ce problème, nous avons appliqué différentes
techniques d’annulation du bruit des basses fréquences et des hautes fréquences basées sur la
transformation en ondelettes.
2. Extraction des caractéristiques morphologiques : Des informations importantes des
signaux ECG sont extraites. L’information des intervalles RR a également été utilisée pour
réduire graduellement le nombre de paramètres à extraire et donc la quantité d’informations
à analyser.
3. Analyse : Après avoir extrait les caractéristiques morphologiques et exploité les spécificités
des patients, une analyse a été effectuée pour classer et localiser les battements cardiaques.
Les descriptions sur les outils du traitement avancé du signal utilisés dans la conception du
deuxième système ont été présentées dans le chapitre 4.

1.3 Contribution personnelle

Trois contributions apparaissent dans notre thèse, la 1ère exploite l’algorithme de [Pan 1985] en
l’adaptant à l’implémentation hardware sous FPGA [Meddah 2019]. Ceci est réalisé en se référant au
théorème des valeurs intermédiaires et la dérivée centrée. Vu la dangerosité d’une certaine variante
d’arythmies, nous nous sommes proposés dans une deuxième contribution de mettre au point un autre
système intelligent qui exploite les techniques de détections du QRS déjà développées et lui combiner
des techniques de traitement avancées du signal. Ainsi le prétraitement du signal ECG a été réalisé
en détectant le QRS afin de localiser le battement, pour ensuite extraire des paramètres pertinents
afin de les injecter à l’entrée du classifieur ANN. Une optimisation importante a été réalisée dans
cette méthode en la comparant avec les travaux qui existent déjà dans littérature. Seulement treize
paramètres statistiques ont été extraits et utilisés pour avoir des résultats compétitifs par rapport à
ceux obtenus par d’autres méthodes. La troisième contribution est dédiée à l’implémentation des deux
systèmes intelligents que nous avons développés. Un premier prototype sous FPGA est réalisé et a
pour tâche de détecter en temps réel la présence d’une bradycardie ou d’une tachycardie. Le deuxième
prototype hardware sous FPGA à pour tâche de préciser le type d’arythmie en d’autres termes de
trouver l’origine de la pathologie liée au rythme cardiaque.
1.4. Organisation du manuscrit 17

1.4 Organisation du manuscrit


L’évolution de nos travaux ont suivi le cheminement suivant :

— Après un chapitre d’introduction, le second chapitre présente sommairement le fonctionne-


ment du système cardiovasculaire. Il permet en particulier de comprendre l’origine des signaux
électriques enregistrés par l’électrocardiogramme et les différents types d’artefacts qui l’af-
fectent ainsi que quelques pathologies cardiaques typiques avec l’illustration de chacune, par
un enregistrement ECG correspondant.

— Dans le chapitre 3 nous présenterons une synthèse des différentes méthodes de traitement du
signal, appliquées dans le domaine du traitement et de la classification des signaux biomédi-
caux. Étant donné l’aspect non-stationnaire du signal ECG, les approches proposées exploitent
en général, les techniques de traitement et d’analyse temporelles et fréquentielles du signal, les
techniques de réduction d’espace et les différents algorithmes de classification. Ainsi, nous dres-
serons dans ce chapitre un état de l’art des travaux en traitement du signal ECG pour localiser
le complexe QRS ou extraire ses caractéristiques les plus pertinentes.

— Dans le chapitre 4, nous présenterons dans un premier temps la méthodologie adoptée pour le
développement du système intelligent qui va permettre la détection du complexe QRS dans un
signal ECG moyennant la dérivée centrée et le théorème des valeurs intermédiaire. Ce système
sera capable de calculer la fréquence cardiaque et donc déduire éventuellement la présence
d’une tachycardie ou d’une bradycardie. Dans un deuxième temps, nous décrirons en détail les
différentes phases du traitement constituant le deuxième système de classification. Une étude
comparative entre les deux classifieurs ( SVM et ANN) a été réalisée en termes de performance
afin de sélectionner le mieux adapté à notre application. L’ensemble sera appliqué à une base
de données standard MIT-BIH d’arhythmie [Moody 2001], base publique de référence utilisée
pour la localisation des battements cardiaques et la reconnaissance automatique d’arythmies.
— Dans le chapitre 5, nous présenterons le modèle du système embarqué. Nous citerons d’abord
les différents composants électroniques permettant une réalisation matérielle tels que : pro-
cesseur généraliste, DSP, FPGA, Soc... . Nous décrirons la carte d’acquisition réalisée pour
exploiter des signaux physiologiques ECG afin de tester les systèmes développés en temps réel
grâce à l’outil Analog Discovery et son interface graphique Waveform. À la fin de ce chapitre,
nous présenterons les deux modèles hardwares sous Xilinx System Generator associés aux deux
systèmes proposés.Le premier sera capable de détecter automatique en temps réel le complexe
QRS, le second classera les battements en se basant sur l’architecture des réseaux de neurones.
Une étude comparative des résultats software (Matlab) et hardware (FPGA) de nos systèmes
avec ceux des travaux déjà publiés dans la littérature sera présentée à la fin de ce chapitre.
Enfin en conclusion, nous présenterons un bilan de ce travail de recherche et les perspectives d’avenir
pour son amélioration.
Chapitre 2

Système Cardiovasculaire et troubles


du rythme.

Contents
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Maladies cardiovasculaires . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Notion de base du système cardiovasculaire . . . . . . . . . . . . 20
2.3.1 Système cardiovasculaire . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.2 Circulation artérielle et veineuse . . . . . . . . . . . . . . . . . . . . 20
2.3.3 Électrocardiogramme ECG . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.4 Ondes et Intervalles de L’ECG . . . . . . . . . . . . . . . . . . . . . 23
2.3.5 Dérivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 Troubles du rythme et de la conduction cardiaque . . . . . . . . 26
2.4.1 Rythme cardiaque sinusal . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.2 Blocs cardiaques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.3 Arythmies cardiaques . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.4 Artefacts visibles sur l’électrocardiogramme . . . . . . . . . . . . . . 32
2.5 Base de données des signaux ECG . . . . . . . . . . . . . . . . . . 35
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.1 Introduction
Le signal Électrocardiogramme (ECG) est un outil précieux pour le diagnostic médical. Dans ce
chapitre, nous allons faire un survol sur les notions et la terminologie de base, concernant l’électro-
cardiographie. Nous commencerons par l’anatomie du cœur, la description de son activité mécanique
et électrique, ensuite on se focalisera sur l’électrocardiogramme, sa composition et son importance
dans l’analyse médicale. À la fin de ce chapitre, nous présenterons les différents maladies et artefacts
des signaux ECGs. Pour illustrations, nous considérerons les enregistrements recueillis de la base de
données MIT-BIH d’arhythmie disponible en ligne sur physionet.org [Moody 2001].

18
2.2. Maladies cardiovasculaires 19

2.2 Maladies cardiovasculaires


Les maladies cardiaques sont la cause la plus courante de mortalité dans notre société d’après
l’Organisation mondiale de la santé. Une maladie cardiaque décrit une série d’affections qui touchent
le cœur. Parmi les maladies qui révèlent de la catégorie des maladies cardiaques, on trouve les maladies
des vaisseaux sanguins, les problèmes de rythme cardiaque ( arythmie) et les malformations cardiaques
congénitales.
Le suivi et le traitement des personnes touchées par une pathologie cardiaque coûtent très cher au
trésor public, ce qui représente un enjeu médical et financier en même temps. Dans ce contexte, les
chercheurs scientifiques ont relevé le défi en proposant des systèmes intelligents permettant la détection
des pathologies cardiaques offrant ainsi une aide au diagnostic médical tout en améliorant le quotidien
des malades. Ces systèmes sont développés en exploitant les techniques les plus modernes de traitement
du signal, de l’électronique et de l’informatique.

Causes des maladies cardiaques

Les causes des maladies cardiaques varient selon le type de la maladie. Nous notons les deux types
les plus fréquents causant des pathologies cardiaques :

Causes des maladies cardiovasculaires Bien que les maladies cardiovasculaires puissent dé-
signer différents problèmes cardiaques ou vasculaires, le terme est souvent utilisé pour désigner les
dommages causés au cœur ou aux vaisseaux sanguins par l’athérosclérose, une accumulation de plaques
de graisse dans les artères. Cette graisse épaissit et raidit les parois des artères, ce qui peut inhiber le
flux sanguin dans les artères vers les organes et les tissus.
L’athérosclérose est également la cause la plus fréquente de maladies cardiovasculaires. Elle peut
être causée par des problèmes pouvant être corrigés tels qu’une mauvaise alimentation, le manque
d’exercice, l’obésité et le tabagisme.

Causes de l’arythmie cardiaque Parmi les causes courantes des rythmes cardiaques anormaux
(arythmies) où des conditions peuvent entraîner des arythmies, nous pouvons citer :
— Les malformations cardiaques congénitales
— Maladie des artères coronaires
— L’hypertension artérielle
— Diabète
— Tabagisme
— Consommation excessive d’alcool ou de caféine
— Drogues
— Stress
— Certains médicaments en vente libre, les médicaments sur ordonnance, les compléments ali-
mentaires et les remèdes à base de plantes.
— Maladie cardiaque valvulaire
Chez une personne saine ayant un cœur normal et en bonne santé, il est peu probable qu’une arythmie
mortelle se développe sans un déclencheur extérieur, comme un choc électrique ou la consommation
de drogues illégales. Cela est principalement dû au fait que le cœur d’une personne en bonne santé ne
présente aucune anomalie susceptible de provoquer une arythmie, comme une zone de tissu cicatrisée.
Cependant, dans un cœur malade ou déformé, les impulsions électriques du cœur peuvent ne pas
démarrer ou ne pas se propager correctement, ce qui augmente le risque d’arythmie.
2.3. Notion de base du système cardiovasculaire 20

2.3 Notion de base du système cardiovasculaire

2.3.1 Système cardiovasculaire

Constitué du cœur et des vaisseaux (les artères et les veines), le système cardiovasculaire a pour
fonction de distribuer aux organes, par le sang, l’oxygène et les nutriments indispensables à leur vie,
tout en éliminant leurs déchets.

2.3.2 Circulation artérielle et veineuse

Le sang circule à l’intérieur d’un réseau constitué de "canalisations" Fig.2.1, aux calibres parfai-
tement adaptés à leurs fonctions :
— Les artères, depuis la grosse aorte (2,5 centimètres de diamètre) jusqu’aux petites artérioles
(pas plus de 2 millimètres), conduisent le sang chargé d’oxygène du cœur vers les organes.
— Les capillaires, fins "comme des cheveux", assurent, à l’intérieur de chaque organe, la circulation
du sang.
— Les veines ramènent au cœur le sang chargé de gaz carbonique.

Figure 2.1 – Système artériel et le système veineux

La circulation proprement dite est assurée par le cœur, organe ayant le rôle de pompe et de distributeur
de sang. La régularité d’activité du cœur est commandée par un stimulus électrique. Ce dernier dépend
du système nerveux autonome. Le cycle cardiaque ne tolère aucune interruption, car certaines cellules
2.3. Notion de base du système cardiovasculaire 21

meurent lorsqu’elles ne sont plus alimentées en sang artériel. C’est pourquoi les défaillances cardiaques
sont si fatales.

Le cœur

Le cœur est un organe creux et musculaire responsable de la circulation sanguine. Il propulse le


sang grâce aux contractions de son tissu musculaire nommé myocarde. Il est composé de deux moitiés
gauche et droite séparées par une épaisse cloison. Chaque côté (le cœur gauche et le cœur droit) est
composé par deux cavités appelées l’oreillette et le ventricule communicant entre eux par une valve
à sens unique. L’oreillette droite récupère le sang pauvre en oxygène de la veine cave supérieure et
inférieure, et le propulse dans le ventricule droit. À son tour, il se contracte et envoie le sang dans les
poumons où il est chargé en oxygène. Le sang revient au cœur dans l’oreillette gauche, puis passe dans
le ventricule gauche et il sera envoyé vers les organes dans le réseau artériel (voir Fig.2.2). Dans ce qui
suit, l’activité du cœur est présentée selon deux axes : l’activité mécanique et l’activité électrique.

Figure 2.2 – L’anatomie de cœur

Activité mécanique cardiaque Le cœur propulse le sang grâce aux contractions de son tissu
musculaire appelé myocarde. Ce cycle se répète constamment et comprend trois phases distinctes (
Figure 2.3 ) :
— La systole auriculaire : La contraction des oreillettes et l’éjection du sang vers les ventricules, la
fermeture des valves auriculo-ventriculaires et la présence d’un bruit grave du coeur (représente
1/6 du cycle).
— La systole ventriculaire :la contraction des ventricules et l’éjection du sang vers les organes, la
fermeture des valves sigmoïdes ou artérielles (aortique à gauche et pulmonaire à droite) et la
présence du bruit aigu du coeur (représente 1/6 du cycle).
— Diastole : la relaxation de toutes les parties du coeur, le remplissage passif (représente 2/3 du
cycle).
2.3. Notion de base du système cardiovasculaire 22

Figure 2.3 – Schéma du cycle cardiaque

Activité électrique de cœur L’activité mécanique précédente enchaine une activité électrique
autonome sans l’intervention du système nerveux. Le responsable de cette autonomie est un groupe de
cellules situé dans l’atrium gauche nommé "noeud sinusal". Le signal électrique généré est de quelques
millivolts, il sera transmis à un autre groupe de cellule, le "noeud atrio-ventriculaire". À partir de là,
l’influx nerveux parvient aux ventricules grâce au faisceau de His et au réseau de Purkinje. On parle
d’arythmie (ou de trouble du rythme/de la conduction) lorsque la conduction de ce courant électrique
est perturbée. L’électrocardiogramme (ECG) représente la mesure de cette activité électrique. Comme
le montre la figure 2.4 chaque onde de l’électrocardiogramme est liée à un phénomène électrique,
l’onde P est due à la contraction des oreillettes (dépolarisation auriculaire), le complexe QRS reflète
la contraction des ventricules (dépolarisation ventricule) et enfin, l’onde T est le contrôle électrique de
la repolarisation ventriculaire.

2.3.3 Électrocardiogramme ECG

Historique de l’électrocardiogramme se situe vers les années 1880, où Augustus Waller [Waller 1893]
et E Marey [DeSilva 1997] montrent la possibilité du suivi à partir de la peau l’activité électrique de
coeur. Cette activité a été enregistrée avec l’électromètre capillaire par les physiologistes britanniques
John Burden Sanderson et Frederick Page quelques années plus tôt[Sanderson 1878] .Ils ont montré
qu’elle est composée de deux phases (plus tard appelées QRS et T). En 1887 Augustus D. Waller a
publié le premier électrocardiogramme humain, alors qu’en 1895 Willem Einthoven a défini les cinq dé-
flexions P, Q, R, S et T [Hurst 1998]. Il utilise le galvanomètre à cordes en 1901 et publie les premières
classifications d’électrocardiogrammes pathologiques en 1906. Il obtiendra en 1924 un prix Nobel pour
ses travaux sur l’électrocardiographie.
L’électrocardiographie (ECG) c’est la représentation graphique de l’activité électrique du cœur. Cette
2.3. Notion de base du système cardiovasculaire 23

Figure 2.4 – Schéma de la Coupe longitudinale du cœur

activité électrique est liée aux variations de potentiel électrique des cellules spécialisées dans la contrac-
tion (myocytes) et des cellules spécialisées dans l’automatisme et la conduction des influx. Elle est
recueillie par des électrodes à la surface de la peau.

∗ L’électrocardiogramme est le tracé papier de l’activité électrique dans le cœur.


∗ L’électrocardiographe est l’appareil permettant de faire un électrocardiogramme.
∗ L’électrocardioscope, ou le scope, est un appareil affichant le tracé sur un écran.

2.3.4 Ondes et Intervalles de L’ECG

Le tracé relevé, nommé électrocardiogramme (ECG) ou (EKG), présente un aspect caractéristique ;


ses déformations sont le signe d’anomalies dans le fonctionnement cardiaque. Toute interprétation de
l’électrocardiogramme se réfère aux caractéristiques de forme et de largeur d’onde du signal ECG
normal présentée dans Figure 2.5.

Onde P : Elle correspond à la dépolarisation des oreillettes depuis le noeud sinusal vers le noeud
atrio-ventriculaire. Elle peut être positive ou négative avec une durée de l’ordre de 90 ms. c’est l’onde
qui précède le complexe QRS, généralement il est difficile de l’observer sur l’ECG surtout dans des
conditions bruitées.

Complexe QRS : Il correspond à la dépolarisation ventriculaire précédant l’effet mécanique de


contraction. Il a l’amplitude la plus grande de signal ECG, et il est composé de trois ondes accolées qui
suivent l’onde P, une onde appelée Q en premier d’amplitude négative, une onde appelée R positive
dans un ECG normal et finalement l’onde S qui est négative. La durée normale de complexe QRS est
comprise entre 85 et 95 ms.

Onde T : Elle correspond à la repolarisation des ventricules, elle peut être positive, négative ou
biphasique. C’est l’onde qui succède le complexe QRS après retour à la ligne isoélectrique (sauf pa-
thologie particulière), son amplitude est plus faible que celle du complexe QRS.
2.3. Notion de base du système cardiovasculaire 24

Figure 2.5 – Tracé de l’électrocardiogramme ECG

Intervalle PR : L’intervalle PR qui a une durée entre 0.14 à 0.2 second mesurée entre le début de
l’onde P et le début de complexe QRS, c-a-dire la durée entre la dépolarisation des oreillettes et du
nœud AV. Ce temps est le temps nécessaire pour qu’une impulsion électrique passe de nœud sinusal
aux ventricules, il est utilisé pour la détection d’arythmie et la variabilité de fréquence cardiaque.

Segment ST : Ou encore durée de stimulation complète des ventricules. Elle correspond à l’inter-
valle durant lequel les ventricules restent dans un état de dépolarisation actif. C’est le temps entre la
fin de l’onde S et le début de l’onde T.

Intervalle PQ : C’est intervalle de temps entre le début de dépolarisation des oreillettes et celle
du ventricule. C’est le temps de propagation de l’impulsion électrique du nœud sinusal jusqu’aux
ventricules. Il est mesuré entre le début de l’onde P et le début du complexe QRS.

Intervalle QT : Cet intervalle correspond au temps de systole ventriculaire, qui va du début de


l’excitation des ventricules jusqu’à la fin de leur relaxation. C’est le temps entre le début du complexe
QRS et la fin de l’onde T.

2.3.5 Dérivations

L’électrocardiogramme c’est l’enregistrement de l’activité électrique du coeur, par des électrodes


sur la surface de corps. Selon leurs emplacements, on distingue différentes dérivations. L’ECG standard
est enregistré sur 12 dérivations (six dérivations des membres et six précordiales), avec une vitesse de
déroulement du papier à 25 mm par seconde et une amplitude de 10 mm pour 1 mV. Dans ce qui
suit, nous représenterons les différentes dérivations standards de l’ECG clinique et l’enregistrement
ambulatoire de Holter, la nomenclature des ondes et intervalles utilisée pour l’analyse de l’ECG, les
différents troubles du rythme et de la conduction cardiaque avec détails, et à la fin les différents
artefacts visibles sur l’ECG lors d’enregistrement.
2.3. Notion de base du système cardiovasculaire 25

Trois dérivations bipolaires (ou dérivations standard) : Les dérivations bipolaires ou


dites standards ont été proposées par Einthoven [Einthoven 1906] au début du vingtième siècle et elles
sont encore utilisées aujourd’hui. Elles permettent d’étudier l’activité électrique du cœur sur le plan
frontal. Ces trois signaux sont la différence potentielle entre des points très éloignés au niveau du corps.
On distingue :
— La dérivation I (D1) : Mesure bipolaire entre bras gauche et bras droit.

DI = V L − V R

— La dérivation II (DII) : Mesure bipolaire entre jambe gauche et bras droit.

DII = V F − V R

— La dérivation III (DIII) : Mesure bipolaire entre jambe gauche et bras gauche.

DIII = V F − V L
Où VR correspond au potentiel du bras droit, VL correspond au potentiel du bras gauche et VF
correspond au potentiel de la jambe gauche. La jambe droite est reliée à la masse. Les vecteurs obtenus
forment alors un triangle équilatéral appelé triangle d’Einthoven comme il est représenté sur la figure
2.6 (en haut).

Figure 2.6 – Les dérivations de Einthoven (en haut) et celles proposées par Goldberger (en
bas) [Zairi 2020]

Trois dérivations unipolaires aVR, aVL, aVF : Ces dérivations nous permettent aussi
d’étudier la variation de l’activité électrique sur le plan frontal. Elles ont été déterminées par Wilson
[Wilson 1934] en 1934 et améliorées par Goldberger [Goldberger 1942]. Elles nous permettent d’obtenir
2.4. Troubles du rythme et de la conduction cardiaque 26

des signaux de plus grandes amplitudes. Chaque signal représente la différence entre le potentiel d’une
électrode et la moyenne des potentiels recueillis par les deux autres électrodes. Ces dérivations sont
connues par aVR, aVL et aVF ; où "a" : augmented voltage ; c-à-dire chaque potentiel recueil est
amplifié. Le "V" signifie que c’est une dérivation unipolaire. "R", "L" et "F" est (Right, Left, Foot).
Ces dérivations sont indiquées dans la figure 2.6 (en bas), les tensions sont calculées comme suit :

VL + VF
aV R = VR − (2.1)
2

VR + VF
aV L = VL − (2.2)
2

VL + VR
aV F = VF − (2.3)
2

Six dérivations précordiales : sont des dérivations unipolaires proposées par Wilson [Wilson 1944].
Les électrodes exploratrices sont placées près du cœur, en des points précis sur le thorax. Elles nous
permettent d’obtenir les dérivations V1 à V6. Chaque potentiel est calculé par rapport à la valeur
moyenne des potentiels VR, VL et VF. Ces dérivations nous permettent de mesurer l’activité élec-
trique de cœur sur le plan horizontal. La figure (2.7) nous montre l’emplacement des électrodes sur le
thorax.

Figure 2.7 – Les dérivations précordiales unipolaires

2.4 Troubles du rythme et de la conduction cardiaque


L’électrocardiogramme est le meilleur outil pour diagnostiquer une arythmie, sous cette dénomina-
tion on regroupe les arythmies cardiaques et les blocs cardiaques, qui peuvent être facilement détectés
par le constat de électrocardiogramme (ECG).
Le rythme sinusal est le rythme idéal du cœur. Les pathologies ou anomalies sont détectées et classées
en fonction de leur déviation par rapport à ce rythme sinusal pendant l’analyse de l’ECG. Chaque dé-
viation visible sur l’ECG peut être attribuée à une anomalie physiologique. Ainsi, les blocs cardiaques
sont dus à un défaut de conduction de l’onde de dépolarisation à travers le myocarde différencié et les
arythmies sont générées par un foyer ectopique prenant le relais ou supplantant le nœud sinusal. Ces
2.4. Troubles du rythme et de la conduction cardiaque 27

pathologies ne sont pas exclusives, un patient peut être atteint d’arythmies et de blocs cardiaques. Les
sections suivantes détaillent le rythme sinusal, les blocs cardiaques et certaines arythmies cardiaques
[Clifford 2006] [Portet 2005].

2.4.1 Rythme cardiaque sinusal

Un rythme sinusal correspond au rythme cardiaque normal, c’est-à-dire piloté par le nœud si-
nusal avec conservation de la séquence «contraction des oreillettes »-« contraction des ventricules ».
L’électrocardiogramme dans ce cas ne révèle aucun trouble. Il doit présenter cet enchainement : l’onde
P de dépolarisation des oreillettes (systole), l’espace PG qui est le temps de conduction auriculo-
ventriculaire, l’ensemble QRS qui est une dépolarisation/repolarisation ventriculaire (qui dure de 0,6 à
0,1 seconde) et l’onde T qui est une repolarisation des ventricules (diastole ventriculaire). Son rythme
est compris entre 60 et 80 battements par minute avec un intervalle régulier entre des battements
normaux (voir figure 2.8). Le cœur s’accélère normalement lors d’une activité physique, dans des
circonstances physiologiques qui exigent un surcroît de demandes métaboliques ou sous l’effet des
émotions ou d’excitants tels que le café et le tabac.

0.5
Amplitude (V)

-0.5

0 1 2 3 4 5 6 7 8 9 10
Temps (S)

Figure 2.8 – Rythme sinusal, segmentation de l’enregistrement MIT-BIH Arrythmia database


100 : 0-10 s.

2.4.2 Blocs cardiaques

Le bloc est un exemple de problème de conduction. C’est un défaut localisé de propagation de


l’impulsion électrique dans le tissu cardiaque. Ce défaut peut être plus ou moins sévère : freinant
(allongement du temps de parcours), intermittant (le blocage de la conduction se fait aléatoirement),
ou complet (aucune conduction). Lorsqu’il est complet, c’est-à-dire que l’absence de conduction est
totale, des stimulateurs cardiaques "pacemakers" de réserve comme un foyer ectopique auriculaire,
ou le nœud AV, peuvent prendre le relais et entraîner des bradycardies ou tachycardies. À l’inverse,
lorsqu’il apparaît de manière sporadique, suivant le cas, il peut se manifester par des troubles du
rythme : on observe alors une irrégularité.
Il existe essentiellement trois types de « blocs » classés suivant leurs localisations : le bloc sinoauriculaire
(SA) situé entre le sinus et les oreillettes, le bloc auriculo-ventriculaire (AV) entre les oreillettes et les
ventricules, et le bloc de branche (droit et/ou gauche) au niveau de la transmission à chacun des deux
ventricules ; ce sont surtout les deux premiers (blocs SA et AV) qui sont susceptibles d’entraîner des
troubles du rythme. Nous allons détailler les trois types de blocs cardiaques :
2.4. Troubles du rythme et de la conduction cardiaque 28

Bloc Sino-Auriculaire (Bloc SA)

C’est une anomalie de la conduction où les impulsions du nœud sinusal sont bloquées à leur sortie
("bloc "), ce qui empêche l’influx d’atteindre les oreillettes et les ventricules. La conséquence est qu’au
moins un cycle complet n’est pas effectué. Après la pause, dû au bloc, le cycle reprend normalement
si aucun autre foyer ectopique n’a déclenché de contraction.

Blocs auriculo-ventriculaires (BAV)

Dans le cas d’un bloc AV, l’influx se propage correctement au niveau des oreillettes, mais il n’est
pas transmis aux ventricules : la contraction des oreillettes n’est donc pas suivie de la contraction des
ventricules. Ce type de bloc est habituellement caractérisé par son degré de sévérité :
— Les BAV d’ordre 1 : correspondent à l’allongement de la distance PR, c’est-à-dire que la
conduction entre les oreillettes et les ventricules s’effectue difficilement, lentement, mais n’est
pas absente. Chaque onde P est donc suivie d’un complexe QRS ; le rythme est régulier.
— Les BAV d’ordre 2 : ils se traduisent par le blocage de certaines impulsions issues des oreillettes ;
et donc une onde P n’est pas suivie par un complexe QRS. Lorsque les segments PR précédents
sont normaux, on parle de Mobitz de type 2. Lorsque les segments précédents sont rallongés,
on parle de Mobitz de type 1 (voir Fig.2.9).
— Les BAV d’ordre 3 : correspondent à l’absence totale de conduction entre les oreillettes et les
ventricules. Dans ce cas-là, les activités de ces deux parties du cœur ne sont pas dépendantes,
c’est à dire que le sinus continu à assurer la régularité des battements auriculaires, alors que
le rythme et la fréquence ventriculaires sont contrôlés par le nœud auriculo-ventriculaire, le
faisceau de His ou les ventricules eux-mêmes. Ces stimulateurs substitutifs sont plus lents
que le stimulateur cardiaque naturel (nœud sinusal ou sinoauriculaire), ils sont identifiables
par la forme et la fréquence des battements. Les activités auriculaire et ventriculaire sont
complètement dissociées.
2

1.5
Amplitude (V)

0.5

-0.5

-1
0 1 2 3 4 5 6 7 8 9 10
Temps (S)

Figure 2.9 – Exemple de Bloc Auriculo-Ventriculaire (BAV)type II de l’enregistrement MIT-


BIH Arrythmia database 231 :0-10 s

Blocs de branche

Le bloc de branche est dû au blocage de la dépolarisation dans une des branches du faisceau de His.
Un bloc dans l’une ou l’autre branche provoque un retard dans la dépolarisation du ventricule auquel
elle appartient. La dépolarisation des ventricules est désynchronisée et le complexe QRS est élargi par
rapport à l’ECG normal. Les Figures 2.10 et 2.11 indiquent respectivement un bloc de branche gauche
(noté en anglais LBBB Left Bundle Branch Block) et un bloc droit ( noté en anglais RBBB Right
Bundle Branch Block).
2.4. Troubles du rythme et de la conduction cardiaque 29

0.8

0.6
Amplitude (V)

0.4

0.2

-0.2

-0.4

1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672
Temps (S)

Figure 2.10 – Exemple de Bloc de Branche Gauche de l’enregistrement MIT-BIH Arrythmia


database 207 : 1662-1672s.

1.5

1
Amplitude (V)

0.5

-0.5

-1

-1.5
218 219 220 221 222 223 224 225 226 227 228
Temps (S)

Figure 2.11 – Exemple de Bloc de Branche droite de l’enregistrement MIT-BIH Arrythmia


database 124 : 218-228 s.

2.4.3 Arythmies cardiaques

Elles sont une cause majeure de mortalité et constituent une partie très importante de la problé-
matique des maladies cardiovasculaires. L’arythmie survient lorsque l’excitation électrique naît hors du
nœud sinusal, dans le nœud atrio-ventriculaire ou les ventricules par exemple, ou que l’onde électrique
ne suit plus les voies préférentielles de propagation. L’arythmie affecte le rythme et la régularité de si-
gnal ECG, donc on peut classer une arythmie soit en fonction de son lieu de formation soit en fonction
de ses effets sur le rythme cardiaque. Dans le premier cas, on parle d’une tachycardie lorsque le cœur
bat trop rapidement (tachy = rapide) ;, ou d’une bradycardie lorsqu’il bat trop lent (brady = lent).
Dans le deuxième cas, on parle d’arythmie supra-ventriculaire lorsque le trouble se déclare dans les
oreillettes ou le nœud atrio-ventriculaire. Ou d’arythmie ventriculaire lorsqu’il apparaît dans les ventri-
cules. Les paragraphes suivants présentent quelques arythmies dites supra-ventriculaires (auriculaires
ou jonctionnelles) et des arythmies ventriculaires [Mackay 2004].

Arythmies supra-ventriculaires

Tachycardie supra-ventriculaire : On parle d’une tachycardie supra-ventriculaire lorsque le


cœur s’emballe soudainement et bat très rapidement, jusqu’à 150 à 220 fois par minute comme il est
montré sur la figure (2.12). Ces épisodes peuvent durer quelques secondes ou se prolonger pendant
plusieurs heures. Ils s’arrêtent aussi soudainement qu’ils sont apparus. Cette maladie peut affecter les
jeunes comme les personnes âgées, et elle persiste toute la vie. Cette maladie est rarement dangereuse,
2.4. Troubles du rythme et de la conduction cardiaque 30

après la crise de tachycardie supra-ventriculaire le malade se sent fatigué, ces crises sont gênantes et
elles diminuent la qualité de vie.

1.5
Amplitude (V)

0.5

-0.5

-1
863 864 865 866 867 868 869 870 871 872 873
Temps (S)

Figure 2.12 – Exemple de Tachycardie supra-ventriculaire de l’enregistrement MIT-BIH Ar-


rhythmia database 209 : 863-873 s.

Fibrillation auriculaire : La fibrillation auriculaire est une maladie cardiaque qui accélère le
rythme du cœur et le fait battre de manière irrégulière comme montré sur la figure (2.13). S’agit d’un
trouble du rythme du cœur très fréquent, en particulier chez les sujets de plus de 60 ans. Le diagnostic
est difficile, car les symptômes de fibrillation auriculaire ne sont absolument pas ressentis.

1
Amplitude (V)

0.5

-0.5
0 1 2 3 4 5 6 7 8 9 10
Temps (S)

Figure 2.13 – Exemple de Fibrillation auriculaire de l’enregistrement MIT-BIH Arrythmia


database 201 : 0-10 s.

Arythmies ventriculaires

Arythmie extrasystolique : C’est la plus fréquente. Les extrasystoles sont des battements ec-
topiques, uniques ou répétés, provenant d’un seul ou de plusieurs foyers qui peuvent entraîner des
sensations désagréables de rates, de coups dans la poitrine, d’arrêts de cœur ou de palpitations. Si les
extrasystoles se multiplient et que la stimulation électrique suit le mouvement, la fréquence cardiaque
augmentera, on parlera alors de tachycardie. La figure 2.14 montre une arythmie extrasystolique ven-
triculaire, on remarque que dans ce genre d’anomalie le complexe QRS est plus large que dans le cas
normal (environ 120 ms).
2.4. Troubles du rythme et de la conduction cardiaque 31

1
Amplitude (V)

-1

-2

0 1 2 3 4 5 6 7 8 9 10
Temps (S)

Figure 2.14 – Exemple d’extrasystolique ventriculaire de l’enregistrement MIT-BIH Arryth-


mia database 119 : 0-10 s.

Bigéminismes et trigéminismes : Ce sont des rythmes à deux commandes. La commande


de base (généralement sinusale) est interrompue par des battements d’origine ectopique. Lorsqu’on se
trouve en présence d’un bigéminisme, les QRS qui appartiennent au rythme de base sont suivis d’un
QRS d’origine ectopique avec une succession de 1/1. On parle de trigéminisme lorsqu’on est en présence
d’une succession 2/1. Les figures 2.15 et 2.16 présentent respectivement un exemple de bigéminisme
et de trigéminisme ventriculaires.
1

0.5
Amplitude (V)

-0.5

-1

-1.5

-2

1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756
Temps (S)

Figure 2.15 – Exemple de bigéminisme de l’enregistrement MIT-BIH Ahhythmia database


200 : 1746-1756 s.

1
Amplitude (V)

-1

-2

1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412
Temps (S)

Figure 2.16 – Exemple de trigémie de l’enregistrement MIT-BIH Arrythmia database 124 :


1746-1756 s.
2.4. Troubles du rythme et de la conduction cardiaque 32

Tachycardie ventriculaire : La tachycardie ventriculaire représente l’arythmie la plus grave,


elle est en général la manifestation d’un dysfonctionnement du muscle cardiaque. Elle peut apparaître
à tout âge, mais elle est fréquemment la conséquence d’un infarctus du myocarde. Elle provoque
l’élargissement de complexe QRS et l’accélération de rythme cardiaque voir Figure 2.17.
1.5

1
Amplitude (V)

0.5

-0.5

-1

-1.5

1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468
Temps (S)

Figure 2.17 – Exemple de Tachycardie ventriculaire de l’enregistrement MIT-BIH Arrythmia


database 205 : 1458-1468 s.

Fibrillation ventriculaire : Elle est la cause principale de la mort subite. Lors de la fibrillation
ventriculaire, l’activité électrique cardiaque est désordonnée, ce qui empêche une contraction efficace
du cœur. Lorsque les contractions cardiaques sont anarchiques, le cœur ne peut plus assurer sa fonction
de pompe cardiaque. Les organes ne sont alors plus irrigués, et la personne perd connaissance et ne
respire plus. Si cet état se prolonge, des dégâts irréversibles apparaissent suivis du décès de la victime.
La figure 2.18 présente un exemple de fibrillation ventriculaire extraite de l’enregistrement 207 de la
base de données MIT-BIH.
1

0.5
Amplitude (V)

-0.5

-1

-1.5

-2
52 53 54 55 56 57 58 59 60 61 62
Temps (S)

Figure 2.18 – Exemple de Fibrillation ventriculaire de l’enregistrement MIT-BIH Arrythmia


database 207

2.4.4 Artefacts visibles sur l’électrocardiogramme

Lors du processus d’acquisition, les signaux ECG sont affectés par de multiples sources de bruits.
L’étape de prétraitement est très importante afin de diminuer le plus possible l’effet de ces inter-
férences perturbatrices, tout en conservant avec beaucoup d’attention les composantes utiles du si-
gnal. Le problème est surtout posé dans le cas d’un traitement automatique où la présence de ces
2.4. Troubles du rythme et de la conduction cardiaque 33

bruits peut induire en erreur le diagnostic final. Ces perturbations ont fait l’objet de plusieurs études
[Moody 1984, Chen 2006, Von Borries 2006] mais certaines d’entre elles restent encore difficiles à trai-
ter de manière automatique. Les effets indésirables peuvent avoir plusieurs sources : techniques, phy-
siques ou pathologiques. Nous allons surtout développer l’aspect technique et physique des artefacts
présents sur les tracés électrocardiographiques notamment sur les tracés Holter particulièrement brui-
tés.

Bruits techniques

La mauvaise manipulation lors de l’utilisation de matériel d’enregistrement peut induire des bruits
dont les plus courants sont présentés ci-dessous

Bruit de secteur L’alimentation des appareils de l’enregistrement sur secteur peut parfois brouiller
le signal électrocardiographique avec une onde dont l’harmonique fondamentale est à 50/60 Hz. On
considère ce bruit comme un bruit additif. Il apparaît sur tous les enregistrements et il peut dans
certains cas être d’une amplitude assez forte. Ce bruit peut être éliminé facilement en appliquant
un filtre sélectif de 50/60 Hz correspond à la fréquence de secteur.La figure 2.19 nous montre un
exemple de bruit de secteur enregistré avec notre carte d’acquisition de signal ECG à une fréquence
d’échantillonnage de 500 Hz.

1.6

1.4
Amplitude arbitraire

1.2

0.8

0.6
6 8 10 12 14 16 18
Temps (Sec)

Figure 2.19 – Exemple de Bruit de secteur sur enregistrement en temps réel avec notre
système d’acquisition

Bruit dû aux mouvements d’électrodes Il y a certains pics qui apparaissent sur l’enregistre-
ment de l’électrocardiogramme dus au mauvais contact électrode-peau. Ces pics apparaissent comme
des sauts brusques sur le signal et ils peuvent parfois être confondus avec les ondes du tracé normal.
Ce bruit est très difficile à filtrer parce que sa bande fréquentielle se trouve dans la même bande que
le complexe QRS. La figure 2.20 présente un exemple de bruit dû au mauvais contact électrode-peau
extraite de la base de données MIT-BIH enregistrement 101m.

Autres bruits courants Il existe d’autres sources de bruit technique parmi elles on cite les
artefacts causés par le mouvement des câbles électriques, des bruits dus à la saturation des instruments
de mesure et au mauvais câblage, et même des bruits dus au port des vêtements synthétiques. Bruits
physiques L’activité électrique de corps humain peut causée des artefacts physiques additifs au signal
électrocardiogramme, parmi eux on cite les commandes de contraction des muscles ou la respiration.
2.4. Troubles du rythme et de la conduction cardiaque 34

1
Amplitude (V)

-1

-2

-3
173 174 175 176 177 178 179 180 181 182 183
Temps (S)

Figure 2.20 – Exemple de Bruit dû au mauvais contact électrode-peau de l’enregistrement


MIT-BIH Arrythmia database 101

Mouvements de la ligne de base : Dans la plupart des enregistrements des signaux ECGs, la
ligne de base peut être infectée par le mouvement de la cage thoracique lors de l’activité respiratoire
(voir Fig.2.21), et les mauvais contacts électrode-peau. Ces perturbations sont considérées comme des
bruits lors de l’analyse du signal ECG, et elles peuvent être facilement filtrées vu qu’elles se situent
dans la basse fréquence qui empiète peu sur celle de l’ECG normal.

0.6

0.4
Amplitude (V)

0.2

-0.2

-0.4

1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013
Temps (S)

Figure 2.21 – Exemple de Bruit : Dérive de la ligne de base de l’enregistrement MIT-BIH


Arrythmia database 202

Bruit myoéletrique ou tremblement somatique : Lors de l’enregistrement du signal élec-


trocardiogramme, des perturbations peuvent s’additionner au signal tout dépend de l’état du patient,
s’il est très tendu ou atteint de la maladie de Parkinson. Un bruit de haute fréquence lié à la tension
musculaire peut noyer le signal, ces bruits sont assez gênants lorsque le patient bouge beaucoup ou
lorsqu’il frissonne, et ils peuvent fausser le diagnostic automatique. Dans un signal ECG noyé de bruit
musculaire les ondes P et T sont presque inaperçues comme le montre la figure 2.22.

Autres artefacts altérant l’ECG : L’utilisation de certains médicaments peut causer un chan-
gement sur le tracé de l’électrocardiogramme, on cite la digoxine qui bloque la conduction AV et ralentit
la fréquence cardiaque. Une inversion de l’onde T, une réduction de l’intervalle QT ou encore un abais-
sement du segment ST peut être causé par le médicament digitaline.
L’ECG d’un individu qui souffre des maladies telles que l’hyperthyroïdie, l’ischémie ou l’hypokaliémie
peut avoir une onde T aplatie ou encore un intervalle QT prolongé.
2.5. Base de données des signaux ECG 35

1.5

1
Amplitude (V)

0.5

-0.5

-1

-1.5
309 310 311 312 313 314 315 316 317 318 319
Temps (S)

Figure 2.22 – Exemple de Bruit musculaire sur l’enregistrement de MIT-BIH Arrythmia


database 104

2.5 Base de données des signaux ECG

La base de données MIT-BIH est une base de données publique prise comme référence dans la
majorité des travaux traitant les techniques de reconnaissances des pathologies cardiaques en l’oc-
currence les arythmies. À titre comparatif avec les travaux de l’état de l’art et vu l’importance
de cette banque de données, tous les tests réalisés dans le cadre de l’élaboration de cette thèse se
sont basés sur l’exploitation de cette même base qui est disponible en ligne via le site physionet.org
[Goldberger 2000, Moody 2001].

Base de données des arythmies : La base de données d’arythmie MIT-BIH contient 48 enre-
gistrements extraits d’une demi-heure d’enregistrements ambulatoires à deux voies, obtenus à partir
de 47 sujets étudiés par le laboratoire des arythmies cardiaques de l’hôpital Boston’s Beth Israël entre
1975 et 1979. Les enregistrements ont été échantillonnés à 360 Hz avec une résolution de 11-bit sur
une gamme de 10 mV et dont la première voie correspond au signal obtenu par la dérivation bipo-
laire périphérique standard (DII). La seconde voie est obtenue par dérivations précordiales unipolaires
(V1,V2 ou V5). Cette base de données a été vérifiée manuellement par au minimum deux experts
cardiologues, dans laquelle chaque complexe QRS a été annoté manuellement et séparément. La base
de données contient 23 enregistrements notés "la série 100", qui ont été choisis au hasard parmi 4000
sujets. 60 % de ces enregistrements ont été obtenus à partir des hospitaliers. 25 enregistrements notés
la série 200,ont aussi été sélectionnés du même ensemble, présentant une variété de phénomènes peu
ordinaire, mais ayant une signification clinique importante.
Les différents cas pathologiques traités dans cette base de données sont :

N Battement normal. V Battement ventriculaire prématuré.


L Bloc de branche gauche. F Fusion entre V et N.
R Bloc de branche droit. e Battement atrial échappé.
A Battement atrial prématuré. J Battement nodal (jonctionnel) échappé.
a Battement atrial prématuré (aberré). E Battement ventriculaire échappé.
J Battement nodal prématuré (jonctionnel). P Battement ectopique.
S Battement supra ventriculaire prématuré. F Fusion entre P et N.
Q Battement non classé
2.6. Conclusion 36

2.6 Conclusion
Dans ce chapitre, nous avons présenté l’élément essentiel de notre étude qui est " le cœur", il
permettra d’alimenter en oxygène et en nutriments des organes. Ses activités mécaniques engendrent
une activité électrique qui est enregistrée via d’électrodes placées sur la surface de peau. Cet enregis-
trement nommé ECG (électrocardiogramme) représente l’outil de base pour la détection des anomalies
cardiaques. Nous avons également présenté dans ce chapitre les différentes maladies d’arythmie car-
diaque qui peuvent affecter le tracé de l’ECG.
La détection automatique de ces maladies représente le cœur de ce travail. Cependant, il est très dif-
ficile d’automatiser ce processus si on n’a pas un signal de qualité, autrement dit le signal ECG est
très bruité. Dans le but de résoudre ces obstacles, nous avons étudié les différents bruits qui peuvent
affecter ce signal.
À la fin de ce chapitre, nous avons décrit la base de données utilisée dans nos travaux, et les différentes
annotations utilisées pour localiser les troubles cardiaques. Dans ce qui suit, nous allons présenter les
différentes méthodes exploitées pour automatiser la détection du complexe QRS et la classification des
battements du coeur.
Chapitre 3

Classification des arythmies


cardiaques

Contents
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Techniques d’analyse du signal . . . . . . . . . . . . . . . . . . . . 38
3.2.1 Analyse temporelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.2 Analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.3 Analyse temps-fréquence . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4 Analyse temps-échelle . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Techniques de réduction d’espace de mesure . . . . . . . . . . . . 40
3.3.1 Analyse par composante principale (ACP) . . . . . . . . . . . . . . 40
3.3.2 Analyse par composante Indépendante (ACI) . . . . . . . . . . . . . 42
3.4 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.1 Réseaux de neurones artificiels RNA . . . . . . . . . . . . . . . . . . 42
3.4.2 Séparateurs à vaste marge SVM . . . . . . . . . . . . . . . . . . . . 45
3.5 Méthodes de classification des arythmies cardiaques . . . . . . . 47
3.5.1 Méthodes pour la détection du complexe QRS . . . . . . . . . . . . 47
3.5.2 Méthodes pour la classification des arythmies cardiaques . . . . . . . 56
3.6 Évaluation des performances du système de classification . . . . 58
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

3.1 Introduction
La détection et la classification robuste des battements cardiaques constituent le préalable à toute
analyse du signal ECG. Ce chapitre présentera l’état de l’art des différentes méthodes utilisées pour la
détection du complexe QRS et pour la classification des battements du Cœur. Une brève description
des différentes techniques d’analyse du signal sera introduite avant d’exposer les différentes méthodes
existantes dans la littérature pour la classification de l’arythmie.

37
3.2. Techniques d’analyse du signal 38

3.2 Techniques d’analyse du signal


L’identification automatique des arythmies cardiaques a attiré de nombreuses recherches. Il re-
présente une mixture entre plusieurs disciplines comme la médecine, le traitement du signal et la
reconnaissance des formes. Divers algorithmes ont été mis au point, pour détecter le complexe QRS
dans le signal ECG. La diversité de ces algorithmes reflète clairementle développement important dans
le domaine du traitement du signal [Kohler 2002a]. Nous citons comme exemples, les algorithmes basés
sur la pente de l’onde R [Pan 1985, Hamilton 1986, Arzeno 2008], D’autres travaux sur les signaux
cardiaques utilisent des approches basées sur la transformée en ondelettes (TO) pour obtenir une dé-
composition spectrale locale dans l’espace ou dans le temps, pour la détection des transitions rapides
ou des discontinuités dans l’ECG [Farge 1990, Mallat 1992, ZIDELMAL 2012a, Berwal 2018]. Basée
sur le même principe que la TO, la décomposition modale empirique (EMD) décompose le signal ECG
en IMF (fonctions modales intrinsèques) [Beya 2010, Jalil 2010], des composantes allant des échelles
les plus grossières vers les échelles les plus fines, c’est une représentation de plus en plus précise du
signal cardiaque traité et, contrairement à la TO, l’EMD n’utilise pas de fonction analysante.
Cependant, il existe de nombreuses autres approches telles que les algorithmes génétiques [Diker 2019],
les filtres quadratiques [Phukpattaranont 2015] méthodes heuristiques [Christov 2004], la transformée
de Hilbert (HT) [Benitez 2001], et la décomposition en mode empirique [Kozia 2018, Pal 2012].

3.2.1 Analyse temporelle

L’analyse temporelle est une analyse classique très utilisée qui dépend directement des paramètres
statistiques pour évaluer le signal, puis pour donner une caractéristique des anomalies potentielles.
Par exemple, la moyenne et l’écart-type sont respectivement utilisés pour refléter la tendance centrale
et la variabilité. Les valeurs de crêtes et de moyenne quadratique sont rapportées au niveau du tracé
global du signal. Le Skewness et le Kurtosis sont des paramètres de forme qui estiment l’écart d’une
distribution par rapport à la distribution normale. Ces paramètres statistiques sont simples à mettre
en œuvre (à implémenter) , mais ce sont des outils peu sensibles à la détection des anomalies.

3.2.2 Analyse spectrale

La transformée de Fourier est un outil incontournable pour l’analyse spectrale des signaux station-
naire, elle permet la réalisation des filtres linéaire à partir de la représentation fréquentielle accomplie.
Cependant, cette méthode d’analyse n’est réservée que pour les signaux stationnaire, son analyse fré-
quentielle reste globale et non locale [Beya 2014].
La transformée de Fourier X(f ) (3.1) d’un signal x(t) n’existe que si celui-ci est à carré sommable
(signal à énergie finie) [Brishoual 2001]. La TF directe est exprimée par la relation suivante :

Z +∞
X(f ) = x(t)e−j2πf t dt (3.1)
−∞

Avec : f est la fréquence du signal en Hz.


La TF est reversible, il est donc possible de reconstruire le signal initial x(t) avec la transformée de
Fourier inverse (TFI) :

Z +∞
x(t) = X(f )ej2πf t df (3.2)
−∞
3.2. Techniques d’analyse du signal 39

Dans le cas des signaux discrets, on parle de la transformée de Fourier discrète (TDF) dont l’expression :

N −1
n
X
X(k) = x(n)e−j2πk N pour 0 ≤ k < N (3.3)
n=0

3.2.3 Analyse temps-fréquence

Les représentations d’un signal, conjointement en temps et en fréquence, permettent une des-
cription des signaux non stationnaires et une analyse du comportement fréquentiel du signal au
cours du temps. Contrairement à la TF qui décrit le contenu global d’un signal, la représentation
temps-fréquence (RTF) situe l’énergie dans le plan temps-fréquence (t ;υ). Le spectrogramme et la
distribution de Wigner Ville sont les plus utilisés pour la représentation temps-fréquence des signaux
cardiaques[Beya 2014].

3.2.4 Analyse temps-échelle

Afin de surmonter les problèmes temps-fréquence de la transformée de Fourier d’une part et le


problème de la taille de la fenêtre de la transformée de Fourier fenêtrée d’autre part Jean Morlet et
Alex Grossmann ont proposé une solution connue par la transformée en ondelettes (Wavelet Trans-
form (WT)) [Grossmann 1985]. Cette solution permet de régler la finesse de l’analyse en temps ou en
fréquence indépendamment l’une de l’autre.
La transformée en ondelettes (WT) est alors une stratégie qui décompose un signal en fréquences,
en conservant une localisation temporelle. La transformée en ondelettes est, en fait, une extension de
l’analyse de Fourier. Elle remplace la sinusoïde de la transformée de Fourier par une famille de trans-
lation et dilatation d’ondelette. C’est donc une décomposition du signal à analyser sur des fonctions à
support en temps et en fréquence et dont les fréquences s’adaptent à celles de ce dernier.

La transformée en ondelettes continue (CWT) notée Wx (a, b) de x(t) est alors une fonction des
deux variables a et b définie par le produit scalaire :
Z +∞

Wx (a, b) = x(t)ψa,b dt (3.4)
−∞


ψa,b est la fonction complexe conjuguée de l’ondelette ψa,b , dépendant des facteurs de translation b et
de dilatation a . La dilatation change l’étendue temporelle de l’ondelette (a > 1 augmente son étendue
temporelle, a < 1 la réduit), tandis que la translation localise l’ondelette dans le temps :

1 t−b
ψa,b (t) = √ ψ( ) (3.5)
a a

Selon que les valeurs des paramètres a et b sont considérés de manière continue ou discrète, on
parlera alors d’une transformée en ondelettes continue ou discrète.
La transformée en ondelettes discrète (DWT) fonctionne sur un sous-ensemble spécifique de valeurs
discrètes de l’échelle et du temps, elle est simple à implémenter et elle assure suffisamment d’informa-
tions en un temps notablement réduit.
La discrétisation du plan temps-échelle correspond à la construction d’une grille non uniforme définie
par les paramètres :a = am 0 et b = nb0 am 2
0 avec a0 > 1, b0 > 0 et (m, n) ∈ N . Généralement, c’est
un échantillonnage dyadique qui est considéré (avec a0 = 2 et b0 = 1 ).
3.3. Techniques de réduction d’espace de mesure 40

La DWT peut être décrite mathématiquement comme un ensemble de produits internes entre
une séquence de longueur finie et une base d’ondelettes discrétisée. Chaque produit interne donne un
coefficient de transformation en ondelettes. Ainsi, la DWT peut être exprimée en :
N
X −1

Wx (m, n) = x(t)ψm,n (t) (3.6)
i=0

Où Wx (m, n) est un coefficient de la DWT, x(t) est une séquence de longueur N ; L’expression la base
d’ondelettes discrétisée est :  
1 1
Ψm,n (t) = p m Ψ m t − nb0 (3.7)
a0 a0
am
0 et b0 sont les versions discrétisées des paramètres d’échelle et de translation, respectivement.
L’exposant * désigne un conjugué complexe.
En effet, une application très intéressante de la DWT est l’analyse multirésolution développée
par Meyer et Mallat. Le principe est d’utiliser un filtrage en cascade utilisant deux bancs de filtres à
réponse impulsionnelle finie (FIR). Le signal est décomposé en parties basse et haute fréquence. La
partie passe-haut (g) est associée à l’ondelette mère discrète et produit des informations détaillées.
La partie passe-bas (h) est la version miroir associée à la fonction de mise à l’échelle et produit des
approximations grossières. Afin de conserver le même nombre d’entrées et de sorties, le produit de
convolution provoqué par les filtres est sous-échantillonné par un facteur 2. Seulement les coefficients
d’approximation sont traités par ces deux filtres en fonction du nombre de niveaux. La fréquence
dominante du signal contribue à l’identification du nombre de niveaux de décomposition [Mallat 1999].
Par conséquent, les coefficients de l’approximation DWT (Ai) et les détails (Di) sont donnés par les
fonctions suivantes : X
Ai = h[k]x[2n − k] (3.8)
k
X
Di = g|k|x[2n − k] (3.9)
k

où n et k indiquent des coefficients de temps discrets et x représente le signal d’entrée pour chaque
niveau. i représente le nombre de niveaux de décomposition.
Cependant, son inconvénient majeur réside dans la spécification de la fonction de base (l’ondelette
mère) qui est difficile à choisir. L’ondelette mère doit être la même pour toute la durée du signal, qui
n’est pas entièrement correcte à cause de la non-stationnarité du signal ECG.

3.3 Techniques de réduction d’espace de mesure

Introduction

Généralement un système de classification présente une phase très importante basée sur la ré-
duction de l’espace de mesure de ses paramètres caractéristiques. Pour cela, nous aborderons dans ce
qui suit les différentes techniques de projection spatiale. Nous essayerons de présenter l’essentiel des
approches utilisées.

3.3.1 Analyse par composante principale (ACP)

L’Analyse en Composantes Principales (ACP ou PCA en anglais) est une des plus anciennes mé-
thodes statistiques exploratoires connue pour la réduction de la dimension. Son principe consiste à
3.3. Techniques de réduction d’espace de mesure 41

transformer un ensemble de variables possiblement corrélées en un nouvel ensemble de variables or-


thogonales et donc non corrélées, ce qui permet la recherche des axes principaux (ou axes d’inertie)
qui garantissent une dispersion maximale des données. Ces nouvelles variables (ou composantes prin-
cipales) définissent des axes factoriels qui servent de base à une représentation graphique plane des
variables initiales(Figure 3.1). L’interprétation des résultats se restreint généralement aux deux pre-

Figure 3.1 – Analyse en Composantes Principales de données distribuées selon une gaussienne
multivariée. La droite rouge correspond à l’axe de projection maximisant la variance, et donc
par définition, à la première composante principale. La droite verte correspond à la deuxième
composante principale et se déduit de la première grâce à la contrainte d’orthogonalité et au
fait qu’il n’y a ici que deux variables.

miers plans factoriels, avec un minimum de perte d’information, sous réserve que ceux-ci expliquent
la plus grande variance du nuage des variables initiales [Saporta 2006].
L’ACP utilise des matrices diagonales, symétriques et carrées [Lefèvre 2014]. En effet, pour un en-
semble de données X de dimension d, la projection des données sur le premier vecteur propre ou
autrement dit première composante principale, conserve un maximum de variance, cela correspond
au carré de la plus grande valeur propre des données originales X [Le Borgne 2004]. Si on note w1 la
direction de premier vecteur propre cela revient donc à l’estimer de façon à ce qu’il vérifie :
n 2 o
w1 = arg kwk=1 max E wT X (3.10)

Les principales composantes w1 , ..., wn où (1 6 n 6 d ) sont des axes orthogonaux sur lesquels on
code le maximum de variance dans l’espace prévu, les n axes principaux sont définis par :
" !#2 
 n−1
X 
wn = arg max E wT X − wi wiT X (3.11)
|w|=1  
i=1

Nous obtenons la matrice des données à espace réduit Y, en projetant X sur l’espace réduit défini
uniquement par les n premiers vecteurs singuliers wn :

Y = wnT X (3.12)

Les n composantes principales du vecteur d’observation Xi sont données par le vecteur des caractéris-
tiques réduit, défini par :
Yi = wT Xi (3.13)
3.4. Classification 42

w1 , ..., wm sont représentés par les n premiers vecteurs propres de la matrice de covariance z :
N
1 X
z= (XN − µ)(Xi − µ)T (3.14)
N i=1

où µ représente la moyenne et N le nombre d’échantillons.

zwi = λi wi (3.15)

où λi représente la ième plus grande valeur propre de z.

3.3.2 Analyse par composante Indépendante (ACI)

L’ACI en réalité est une extension de l’analyse en composantes principales (ACP). En fait, l’ACI
cherche l’indépendance des statistiques d’ordre supérieur à deux des variables mesurées. Ainsi, l’ACI,
qui cherche à expliquer une variable aléatoire multidimensionnelle X en termes de composantes li-
néairement et statistiquement indépendantes, peut être reformulée comme étant la minimisation de la
corrélation entre les composantes de X tout en maximisant l’aspect non gaussien de chaque compo-
sante :
X = AS (3.16)
Où : A : est la matrice de mélange, S : est un vecteur aléatoire de taille n. Le but est donc de retrouver
la matrice de séparation W telle que :
S = WX (3.17)
de telle manière que les composantes de S soient aussi indépendantes que possible au sens de la
maximisation d’une fonction F (S) qui est une mesure de l’indépendance statistique[Khorrami 2010].
Dépendant de la nature du problème de classification (vecteur de données, choix des caractéristiques,
et choix du classifieur), la réduction de dimensions peut être fondamentale pour avoir de bonnes
performances de classification.

3.4 Classification
La classification ou plus précisément la classification supervisée dans notre cas est une tâche de
fouille de données qui consiste à construire un classifieur à partir d’un ensemble de données disponibles
étiquetées par leur classe (phase d’apprentissage), et ensuite à prédire la classe de nouvelles données
avec ce classifieur (phase de classification). Au cours de la phase d’apprentissage, l’ensemble des données
étiquetées est partagé en deux sous-ensembles : un ensemble d’apprentissages pour construire le modèle
(ou règle) de classification automatique, et un ensemble de tests pour l’évaluer. La classification consiste
donc à examiner les caractéristiques d’un élément nouvellement présenté afin de l’affecter à une classe
d’un ensemble prédéfini. Dans cette thèse, nous nous sommes intéressés à deux classifieurs supervisés :

3.4.1 Réseaux de neurones artificiels RNA

Les réseaux neuronaux artificiels ou en anglais Artificial neural networks (ANN) sont un paradigme
du traitement de l’information qui s’inspire de la façon dont le système nerveux biologique traite
l’information, comme le cerveau. Il est composé d’un grand nombre d’éléments de traitement hautement
interconnectés (neurones) qui travaillent à l’unisson pour résoudre un problème spécifique.
Le schéma suivant représente le modèle général d’ANN qui s’inspire d’un neurone biologique. Il est
également appelé Perceptron.
3.4. Classification 43

Figure 3.2 – Modèle d’un seul perceptron.

Dans la figure 3.2, pour une seule observation x = [x1 x2 x3 ....xm ] représente les différentes entrées
(variables indépendantes) du réseau. Chacune de ces entrées est multipliée par un poids de connexion
ou synapse. Les poids sont représentés par w = [w1,1 w1,2 w1,3 ...w1,m ]. Le poids indique la force d’un
noeud particulier. Alors que, le b est la valeur de biais, qui permet de déplacer la fonction d’activation
vers le haut ou vers le bas.
Dans le cas le plus simple, ces produits sont additionnés, et injectés dans une fonction de transfert
(fonction d’activation) pour générer un résultat, et ce résultat est envoyé vers la sortie.

La sortie « n » de l’intégrateur est donnée par l’équation suivante :


m
X
n= w1,i xi + b = w1,1 x1 + w1,2 x2 + ..... + w1,m xm + b (3.18)
i=1

La fonction d’activation décide si un neurone doit être activé ou non en calculant la somme pondérée
et en ajoutant un biais. Le motif est d’introduire de la non-linéarité dans la sortie d’un neurone. La
valeur de sortie y est le résultat de la fonction de transfert ϕ appliquée au niveau d’activation n

y = ϕ(wT x + b) (3.19)

Il existe plusieurs fonctions d’activation nous citons les plus utilisées :


— fonction d’activation Marche/Heaviside ( seuillage).
— fonction d’activation linéaire.
— fonction d’activation logistique ou sigmoïde.
— fonction d’activation Tangente hyperbolique.
La figure 3.3 illustre les différentes formes de fonctions d’activation. La fonction de transfert sigmoïde
présentée dans la figure. son équation est donnée par :
1
y= (3.20)
1 + e−n
Notons également, la fonction tangente hyperbolique qui représente la version symétrique de la fonction
sigmoïde.
2
y= −1 (3.21)
1 + e−2n
La technologie des réseaux de neurones vise généralement à résoudre des problèmes complexes de
traitement du signal ou de reconnaissance de formes. Parmi les exemples d’applications commerciales
importantes depuis 2000, on peut citer la reconnaissance de l’écriture manuscrite pour le traitement
3.4. Classification 44

+1 b b

b 𝑾𝑻 𝒙 b 𝑾𝑻 𝒙 b 𝑾𝑻 𝒙
-1 -b -b

b 𝑾𝑻 𝒙
-b

Figure 3.3 – Types de fonctions d’activation

des chèques, la transcription de la parole en texte, l’analyse des données d’exploration pétrolière,
les prévisions météorologiques, la prévention, détection et classification des maladies cardiaques où
encore la reconnaissance faciale. Il existe plusieurs modèles de réseaux de neurones tout dépend de
l’architecture réalisée, nous citons les plus importants et les plus utilisés :
— Feed-forward neural networks.
— Recurrent neural networks.
— Convolutional neural networks.
— Deconvolutional neural networks.
— Modular neural networks.
Le choix du type de réseaux de neurones est une étape cruciale dans la réalisation du modèle. En
général les FFNN sont utilisés dans les applications de régression et de classification, les RNN utilisé
dans les applications d’analyse temps-fréquence alors que les modèle de deep learning à base de CNN
sont beaucoup plus pour les applications de traitement d’image et de vidéo (computer vision).

Figure 3.4 – Architecture d’un réseau MLP.


3.4. Classification 45

Le but de notre travail est d’arriver à classifier automatiquement les cinq types de battements
cardiaques à partir des caractéristiques extraites du signal ECG. Le perceptron multicouche (MLP)
présente la solution idéale pour résoudre ce type de problème.
Le MLP est un réseau composé de plusieurs couches successives. Une couche est un ensemble de
neurones n’ayant pas de connexion entre eux. Une couche d’entrée liée aux signaux d’entrée, un neurone
par entrée xi , une couche en sortie relative à la sortie globale du système. Une ou plusieurs couches
cachées participent au transfert. Chaque couche est constituée d’un nombre variable de neurones. Sa
mise au point est établie grâce à l’information qui circule de la couche d’entrée vers la couche de sortie
uniquement. La représentation graphique de modèle MLP est illustrée à la figure 3.4. Cette dernière
représente un réseau de neurones MLP à trois couches. Il est constitué de m neurones dans sa couche
d’entrée, une couche cachée avec j neurones et chacune des couches de sortie de 5 neurones correspond
aux cinq types de battements à classifier.
Il est à noter que le nombre de neurones et de couches de l’approche proposée sera élaboré sur la base
des essais ( apprentissage/test) et en tenant compte des performances. Il n’y a pas une règle à suivre
pour définir le nombre de couches ou encore de neurones. Un modèle avec faible nombre de neurones
peut ne pas être suffisamment puissant pour modéliser une fonction complexe, alors qu’un modèle avec
un nombre important de neurones peut conduire à un overfitting des ensembles d’apprentissages ce
que conduit à une perte de la capacité de généralisation du modèle.

3.4.2 Séparateurs à vaste marge SVM

La classification SVM est une méthode de classification supervisée binaire (à deux classes). Elle fut
introduite par Vapnik en 1995. Le principe des SVM consiste à définir, par apprentissage, une surface
de séparation entre les attributs (ou point) des classes positives et négatives minimisant le risque
d’erreur et maximisant la marge entre les classes [Vapnik 2013, Burges 1998]. Le but est d’essayer
d’apprendre à partir d’un ensemble du couple f , donc à estimer cette fonction suivant la règle de
décision :
y = signe(f (x)) (3.22)
Dans le cas linéaire, ou les données sont linéairement séparables (voir figure 3.5), une fonction dis-
criminante f est obtenue par combinaison linéaire du vecteur d’entrée xi et vecteur de sortie yi , et
s’écrit : 
(w.xi ) + b > 0 ⇒ yi = +1
(3.23)
(w.xi ) + b < 0 ⇒ yi = −1
L’équation définit l’hyperplan séparateur.

(w.xi ) + b = 0 (3.24)

Avec w est un vecteur de poids à d-dimension dans l’espace des caractéristiques, et b est un paramètre
de biais.
Théoriquement il existe plusieurs hyperplans séparateurs satisfaisants les équations 3.23 et 3.24,
ceci montre qu’il n’existe pas de solution unique. Selon la théorie de Vapnick[Vapnik 2013], les SVM
reposent sur deux notions : celle de la marge maximale et celle de la fonction noyau. Elles sont capables
de résoudre des problèmes de discrimination non linéaire. Cette marge est définie comme la distance
entre un hyperplan et les points échantillons les plus proches appelés vecteurs support et représentés
par la figure 3.5.

Séparation non linéaire Dans les applications réelles, la classification des échantillons ne peut
pas être réalisée avec des discriminants linéaires. La Figure 3.6 représente un de ces cas. Comme nous
le voyons, la frontière entre les deux classes correspond plus clairement à un cercle. Dans ce cas, où les
3.4. Classification 46

Figure 3.5 – Classification binaire avec plusieurs hyperplans.[Boujelben 2018]

classes ne sont pas linéairement séparables, il est nécessaire de modifier l’équation 3.23 par l’équation
3.25.
f (x) = w.K(x) + b (3.25)
Ainsi, la fonction K(x) va réaliser la projection des données xi appartenant à l’espace Rn dans un

Figure 3.6 – Représentation de deux classes dans un espace R2. Comme il est indiqué, la
discrimination des deux classes peut être réalisée en utilisant un discriminant non linéaire
[Nocua 2009].

autre espace afin de permettre une classification linéaire dans le nouvel espace Rn+1 .
Les fonctions K(x), ou fonctions du noyau vont permettre la projection de ces données dans un
nouvel espace. Ces fonctions noyau doivent respecter néanmoins quelques contraintes comme il a été
indiqué par Mercer [Mercer 1909]. De cette façon, les principales fonctions utilisées sont :
— Le noyau linaire
K (xi , xj ) = xTi xj (3.26)
— Le noyau polynomial p
K (xi , xj ) = xTi , xj + 1 (3.27)
3.5. Méthodes de classification des arythmies cardiaques 47

Où p est l’ordre du noyau polynomial. Le polynôme du degré le plus bas correspond au noyau
linéaire, et il n’est pas le préféré en cas de relation non linéaire entre les caractéristiques. Le
degré du noyau polynomial contrôle la flexibilité du classifieur et un degré plus élevé permet
une marge de décision plus flexible par rapport aux limites linéaires [Savas 2019].

— Le noyau Gaussien
2
kxi − xj k 
2

K (xi , xj ) = exp(− 2
) = exp −γ kxi − xj k (3.28)

Où σ définit la largeur du noyau. Si le paramètre σ est proche de zéro, le SVM a tendance
à s’adapter trop (Surapprentissage en anglais Overfitting), ce qui signifie que toutes les instances
d’apprentissage sont utilisées comme vecteurs de support [Savas 2019]. L’attribution d’une valeur plus
élevée à σ peut entraîner un sous-ajustement, ce qui conduit toutes les instances à être classées dans
une classe. Par conséquent, une valeur appropriée doit être choisie pour la largeur du noyau.

3.5 Méthodes de classification des arythmies cardiaques


De nos jours, les systèmes intelligents jouent un rôle important dans notre vie quotidienne. Par
conséquent, le développement des nouvelles méthodes et systèmes de reconnaissance automatiques
d’arythmies cardiaques ne se limite pas au logiciel (Software) mais elle peut être étendue à la mise en
œuvre matérielle (implémentation hardware) afin de réduire la consommation d’énergie, la taille du
prototype et la charge de calcul, ce qui les rendre plus adaptés aux systèmes embarqués. Généralement,
nous avons deux méthodes principales de classification des arythmies, la première se base sur la détec-
tion du complexe QRS dans le signal ECG afin de surveiller la fréquence cardiaque. Cette dernière nous
permet d’identifier une tachycardie, une bradycardie ou bien un rythme normal de coeur. La deuxième
méthode de classification est plus sophistiquée, elle exploite les outils de traitement avancé du signal
tels que la DWT, ANN, SVM et KNN, afin d’identifier le type d’arythmie présente dans le battement
s’il y a lieu telle que RBBB, LBBB, PVC ou encore APB. Dans ce qui suit, nous allons présenter
un aperçu sur quelques méthodes utilisées pour la détection du complexe QRS et la classification des
arythmies cardiaques.

3.5.1 Méthodes pour la détection du complexe QRS

Depuis des décennies, plusieurs projets se sont focalisés sur la détection des complexes QRS. Kolar
et al. [Kohler 2002b] ont rassemblé ces méthodes dans le travail intitulé "The principles of software
QRS detection". Ils ont récapitulé les différentes méthodes par catégorie ainsi leurs performances
ont été exposées. La plupart des techniques exploitent le calcul de la dérivée suivi par un seuillage
[Pan 1985, Arzeno 2008, Dubois 2004]. D’autres utilisant plus de caractéristiques telles que la dérivée
seconde ou l’amplitude. Elles se différencient entre elles par leurs sensibilités aux différents bruits et
aux dérives de la ligne de base. Une nouvelle catégorie de détecteurs des complexes QRS a vu le jour,
ses techniques sont basées sur des techniques de traitement avancé du signal telles que les réseaux de
neurones [Xue 1992], les ondelettes [Le Page 2003, Chen 2006] ou encore les séparateurs à vaste marge
[Zidelmal 2012b].

Méthode de Pan & Tompkins

Présentation de la Méthode En 1985, Pan et Tompkins ont proposé une méthode simple et
rapide pour la détection du complexe QRS dans le signal ECG. Cette méthode est devenue la plus
3.5. Méthodes de classification des arythmies cardiaques
Chapitre III : Méthodes de détection des complexes QRS
48

III.3. La méthode de Pan & Tompkins pour la détection du complexe


populaire et la plus utilisée pour la détection. Elle se base sur une succession de filtres afin d’obtenir un
QRS [Pan, 1985]
signal prêt à être exploité pour la localisation de pics [Pan 1985]. Elle regroupe les étapes suivantes :
III.3.1. Présentation de la méthode
1. Filtrage passe-bande
Cette méthode est basée sur une analyse numérique des pentes, amplitudes et
2. Filtre Dérivateur
intervalles des différentes ondes composant le signal ECG : elle regroupe (Figure
3. Une Transformation
III.1). non linéaire
1- Filtrage passemobile
4. Une Fenêtre d’intégration bande
2- Dérivation
À tire illustratif, la figure suivante 3.7 présente les différents signaux obtenus à la fin de chaque
étape, pour un segment 3- d’un
Transformation
signal de nonlalinéaire
base de données MIT-BIH acquis avec une fréquence d’échan-
tillonnage de 360 Hz. 4- Intégration

1500
A
(a) 1000

500
0 100 200 300 400 500 600 700 800 900 1000
B
200

(b) 0

-200
Amplitude arbitraire

0 100 200 300 400 500 600 700 800 900 1000
C
20

(c) 0

-20
0 100 200 300 400 500 600 700 800 900 1000
400
D
(d) 200

0
0 100 200 300 400 500 600 700 800 900 1000
200
E
(e) 100

0
0 100 200 300 400 500 600 700 800 900 1000
Nombre d'échantillons

Figure III.1 (a) Signal ECG original


Figure 3.7 – Résultats des différents étapes : (A) : Signal ECG, (B) Filtrage passe-bande,
(b) Filtrage passe-bande
(C) Dérivation, (D) Transformation non linéaire, (E) Intégration. [HADJ SLIMANE 2006].
(c) Dérivation
(d) Transformation non linéaire
Étant donné que l’énergie maximale du complexe QRS dans le signal ECG est présente dans la
bande passante 5-15 Hz (voir(e)Fig.
Intégration
3.8) [Mittnacht 2011], il est normal d’appliquer un filtre de passe-
bande afin d’éliminer les bruits ajoutés sur les signaux ECG, tels que : le bruit de la ligne de base, le
bruit du muscle, les interférences du réseau (5025Hz / 60 Hz) et aussi les interférences des ondes T qui
sont considérées comme un bruit qui fausse les bonnes détections.
Pan & Tompkins utilisent dans leur algorithme une structure en cascade d’un filtre passe-bas et
un filtre passe-haut. Les équations 3.29 et 3.30 représentent les fonctions de transfert de ces filtres, et
la figure 3.7.B nous montre le résultat de ces deux étapes.

(1 − Z −6 )2
H(Z) = (3.29)
(1 − Z −1 )2

−1 + 32Z −16 + Z −32


H(Z) = (3.30)
1 + Z −1
Le complexe QRS est connu par sa courte durée (entre 0.02 et 0.2 seconde) et sa forte amplitude,
sa dérivée présentant des valeurs maximales élevées. Ainsi la prochaine étape après le filtrage passe-
bande est l’application d’un filtre dérivateur représenté par sa fonction de transfert qui est donnée par
3.5. Méthodes de classification des arythmies cardiaques 49

Figure 3.8 – Les bandes fréquentielles relatives du complexe QRS, les ondes P et T, le
bruit musculaire et les artefacts de mouvement sur la base d’une moyenne de 150 battements
[Mittnacht 2011]

l’équation 3.31 , le résultat de cette étape apparait sur la figure 3.7.C


1
H(Z) = (−Z −2 − 2Z −1 + 2z + z 2 ) (3.31)
8T

Après avoir appliqué le filtre dérivateur, le signal résultat est mise au carré, afin de mieux séparer
les complexes QRS d’ondes T, cette opération est assurée par l’équation suivante 3.32 et le résultat
est représenté sur la figure 3.7.D
Y (nT ) = [x(nT )]2 (3.32)
L’étape qui suit la mise aux carrées est la fenêtre d’intégration mobile. Cette opération va contenir
les informations de la pente et de la largeur du complexe QRS. Le résultat apparait sur la figure 3.7,
grâce à l’application de la fonction suivante 3.33 :
1
Y (nT ) = [x(nT − (N − 1)T ) + x(nT − (N − 2)T ) + ........ + x(nT )]2 (3.33)
N
La taille de la fenêtre d’intégration est très importante et elle doit être bien choisie. Elle est adaptée
à la largeur moyenne d’un complexe QRS ; sachant que si elle est trop grande, le maximum est décalé
en temps par rapport à la position de R (influence de l’onde T) et si, dans le cas contraire, elle est
trop petite on aura plusieurs pics de maximum pour le même complexe QRS. La taille choisie par
Pan & Tompkins est de 150 ms, ce qui correspond au double de la largeur du complexe QRS ; après
l’application des différentes étapes sur un signal ECG, le résultat va être un signal qui possède un seul
maximum absolu pour chaque complexe QRS. Il est possible qu’il possède d’autres maxima locaux
d’une amplitude beaucoup plus faible que la première et qui sont généralement soit des bruits soit
l’ondes T.
Pour résoudre ce problème pan & Tompkins proposent dans la partie de détection, un seuillage en
amplitude afin d’écarter et d’éliminer les petits pics en amplitude et un seuillage en temps pour éliminer
le comptage de l’onde T en tant qu’un complexe QRS. Ces deux types de seuillage sont bien détaillés
dans l’algorithme proposé par Pan& Tompkins [Pan 1985].

Limites de la méthode L’algorithme présenté par Pan & Tompkins [Pan 1985] a un bon taux de
détection du complexe QRS de 99.3 %. Cependant il présente un point faible devant les enregistrements
3.5. Méthodes de classification des arythmies cardiaques 50

qui présentent un rapport signal/bruit très élevé tels que les enregistrements 108m, 203m et 222m de
la base de données MIT-BIH. En effet, dans l’enregistrement 108m (Figure 3.9 ), le taux d’erreur
est très élevé à cause que l’amplitude des ondes P est très proche de celle du complexe QRS, ce qui
fausse la détection. Dans l’enregistrement 222m (figure 3.10), l’allure d’onde P est comparable avec la
morphologie du complexe QRS, ce qui est une cause d’erreur et donc cela engendre un taux élevé des
faux positifs (FP).
Enregistrement 108m

1020

1000 l’onde P
Amplitude arbitraire

980

960

940

920

900
Complexe QRS
880

860

840

820
200 400 600 800 1000 1200 1400
Nombre d’échantillons

Figure 3.9 – L’enregistrement 108m présente un taux des faux positifs FP élevé, L’amplitude
des ondes P est proche de celle du complexe QRS.

Enregistrement 222m
1140

1120

1100

1080 Complexe QRS


Amplitude arbitraire

1060
L’onde P
1040

1020

1000

980

960

940

920
7500 8000 8500 9000 9500 10000
Nombre d’échantillons

Figure 3.10 – L’enregistrement 222m, L’onde P a une amplitude importante comparable à


celle du complexe QRS.

Méthode de Dubois

Présentation de la méthode Cette méthode proposée par Dubois a été inspirée principalement
de la méthode de Pan & Tompkins [Pan 1985], elle est composée de plusieurs filtres numériques en
cascade comme suit :
1. Filtre passe-bande.
2. Filtre Dérivateur.
3. Transformation non linéaire.
4. Intégration.
5. Filtre passe-bas.
6. Seuillage adaptatif.

Filtrage passe-bande Dubois dans sa méthode [Dubois 2004], applique un filtre passe-bande de
5-15 Hz et d’ordre 4 de type butterworth RII. Ce filtre permet d’éliminer les fréquences et ne garde
3.5. Méthodes de classification des arythmies cardiaques 51
Chapitre 3 Détection des ondes QRS

ECG

Figure 3: Décomposition des six étapes de l’algorithme :


1- 3.11
Figure – Les
filtrage résultats des étapes : ECG Signal, (1) Filtrage passe-bande, (2) Dérivation,
passe-bande,
2- dérivation,
(3) Transformation nonnon-linéaire,
3- transformation linéaire, (4) Intégration, (5)Filtrage passe-bas, (6) détection de pic.
4-
[Dubois intégration,
2004].
5- filtrage passe-bas,
6- détection du maximum.

que celle de complexe QRS. La fonction de transfert de ce filtre proposée par Dubois est donnée par
I.1
l’équationL’Algorithme
3.34, et le résultat de cette étape qui est présenté sur la figure 3.11.1
−2 −4
Dans la suite, nous décrirons en détail − 0.040
0.020 les Z + 0.020
six étapes Z
de l’algorithme de la Figure 3. Les
H(Z) = (3.34)
1 −expressions
valeurs numériques des 3.4390 Z −1
+littérales Z −2
4.5302 proposées Z −3
− 2.7382 ici correspondent
+ 0.6413 Z −4
à un signal
échantillonné à 200Hz, mais l’algorithme s’adapte à toutes les fréquences d’échantillonnage.
Dérivation Après avoir appliqué le filtre passe-bande, le complexe QRS est remarquable par sa
courte durée
I.1.1
et sa grande amplitude ainsi nous introduisons à cette phase un filtre dérivateur qui a
Filtrage passe-bande (Figure 3-1)
pour fonction de transfert l’équation 3.35. Le résultat de cette étape est sur la figure 3.11.2
D’après les données physiologiques, les ondes R ont une énergie maximale dans la bande 5-
X −1 −3 −4
15 Hz [Thakor, 1984]. Il est H(z)
donc = 2Z − 2Z par
= 1de+ commencer
naturel ˘Z un filtrage du signal dans cette
(3.35)
Y
bande.

Transformation non linéaire L’étape suivante est la transformation non linéaire assurée par
l’équation ... afin de garder la symétrie entre les ondes R et les ondes QS et encore pour rendre le
57 dans la figure 3.11.3
signal positif. Le résultat de cette étape est présenté

Y (z)
H(z) = = [X(z)]2 (3.36)
X(z)

Intégration Ce traitement est succédé par l’application d’un filtre intégrateur suivi par un filtre
passe-bas qui va permette d’obtenir un maximum unique pour chaque complexe QRS. L’équation 3.37
présente la fonction de transfert de ce filtre et le résultat de cette phase est sur la figure 3.11.4

k=54
1 X
y(n) = x(n − k) (3.37)
54
k=1
3.5. Méthodes de classification des arythmies cardiaques 52

Filtrage passe-bas Le filtre passe-bas va éliminer le bruit résiduel de haute fréquence, il est du
premier ordre butterworth avec une fréquence de coupure de 1Hz. Sa fonction de transfert est décrite
par l’équation 3.38, le résultat est présenté sur la figure 3.11.5
Chapitre 3 Détection des ondes QRS
Y (z) 0.015 + 0.015Z −1
H(z) = = −1
(3.38)
En outre, l’amplitude des battements 1 − 0.9690Z
X(z) pouvant varier fortement au cours d’un même
enregistrement et d’un enregistrement à l’autre, les seuils utilisés ne peuvent pas être fixés a
Seuillage
priori : ilsadaptatif Comme nous
sont donc calculés l’avons
tout au longdéjà fait remarquer, le signal résultant du l’étape du
de l’analyse.
prétraitement présente un maximum unique pour chaque complexe QRS, il peut en outre possède
d’autres maxima locaux de plus faible amplitude qui correspondent généralement au bruit sinon aux
I.1.6.a
ondes T. Cette Seuil adaptatif
étape consiste à appliquerendeux
amplitude
seuils, un en amplitude et l’autre en temps.
Le seuil adaptatif en amplitude consiste à calculer la valeur du seuil qui vaut 30 % de l’amplitude
moyenne des cinqendernières
Le seuillage amplitudeondespermet
R détectées. Si l’amplitude
de distinguer les du prochaincorrespondant
maxima maximum dépasse auxceondes
seuil, R de
il est considéré comme validé ; sinon, l’algorithme continue à chercher le prochain maximum.(Figure
ceux correspondant aux ondes T qui sont en général beaucoup plus faibles.
3.12).
L’algorithme
Dans calcule
plusieurs cas, on peut unobserver
seuil quiunevaut 30soudaine
baisse % de l’amplitude moyenne
de l’amplitude des ondes des
R, 5donc
dernières ondes R
qu’elle va
détectées,
causer et recherche
la non-détection le prochain
de plusieurs maximum.
complexes QRS. PourSi ce maximum
surmonter cetteest d’amplitude
difficulté, supérieure
un seuillage en au
temps a été appliqué, il consiste à baisser la valeur du seuil en amplitude à 5 % si
seuil, il est considéré comme correspondant à un complexe QRS et est ainsi validé ; sinon, aucun QRS n’a été
détecté dans un intervalle de 166 % de la moyenne des cinq derniers intervalles RR validés (Figure
l’algorithme continue jusqu’au maximum suivant (Figure 5).
3.13).

Amplitude moyenne
Seuil à 30% de l’amplitude des 5
derniers maxima détectés

Chapitre 3 Détection des ondes QRS

intervalleQRS validéde la moyenne des sept derniers intervalles


de 166% RR validés, l’algorithme
non détecté
recommence
Figure 5 : Alapartir
recherche
des 5 de
QRSmaximum avecl’algorithme
précédents, un seuil abaissé à 10%
calcule de laUn
un seuil. moyenne des est
maximum 5 validé
comme complexe
derniers maxima, QRS
Figure au –s’il
lieu
3.12 desest30%
supérieur
Seuillage au seuil
précédents (Figure
en amplitude 6).
proposé par Dubois [Dubois 2004].

Autrement dit, on recherche ici les maxima du signal


>166% RR qui sont supérieurs à un seuil ajusté tout
Amplitude
au long de moyenne
l’algorithme. Mais cette simple adaptation du seuil en amplitude ne suffit pas :
dans plusieurs cas (changement de position, extrasystole ventriculaire, …) on peut observer
une baisse soudaine de l’amplitude des aux ondes R donc de l’amplitude des maxima
associés ; dans ce cas, l’algorithme est mis en défaut car les maxima sont tousàen
seuil précédent dessous du
30%

seuil. nouveau seuil à 10%

QRS validé détecté

Figure 6 : I.1.6.b Seuil


Si aucun QRS adaptatif
n’est en temps
détecté avant un certain temps - 166% de l’intervalle RR moyen des
5 derniers complexes validés
Figure 3.13 -, l’algorithme
– Seuillage recommence
en temps proposé la recherche
par de maximum
Dubois [Dubois 2004].avec un seuil
abaissé à 10% de la moyenne des amplitudes des 5 derniers maxima validés.
Pour surmonter cette difficulté, on tient compte de la forte probabilité d’observer un QRS
Ce système permet dès lors la détection de petits complexes parmi d’autres de grande
dans un certain intervalle de temps : si aucun nouveau complexe n’est détecté dans un
amplitude, tout en ne détectant pas les petites ondes trop proches de celles déjà validées.
Limites de la méthode La méthode présentée par Dubois a un taux de détection de 98.90 %.
Comme celle de Pan Tompkins {pan1985real, elle présente un taux élevé de fausse détection pour
60
quelques enregistrements dus à des pathologies particulières telles qu’une tachycardie ventriculaire ou
I.2 Résultats

L’algorithme a principalement été validé par l’étude de la base MIT, dans laquelle chaque
complexe QRS a été annoté manuellement. Ici, l’algorithme étant monopiste, l’analyse porte
uniquement sur la première voie des enregistrements. L’analyse simultanée des voies est
présentée au paragraphe suivant.
Le taux des réussite global sur cette base est de 98.90%. Sa distribution est représentée ci-
3.5. Méthodes de classification des arythmies cardiaques 53

le cas des extrasystoles de faible amplitude. En effet, pour une tachycardie ventriculaire (Figure 3.14),
le taux d’erreur est très élevé, car le patient présente des séries de tachycardie ventriculaire séparées.
Enregistrement 207m
1200

1150

1100
Amplitude arbitraire

1050

1000

950

900

850

800

750
8.3 8.4 8.5 8.6 8.7 8.8 8.9
Nombre d’échantillons 4
x 10

Figure 3.14 – Exemple d’une tachycardie présente dans l’enregistrement 207m

La méthode de Laguna et al.

Présentation de la méthode Cette méthode a été aussi largement inspirée de la méthode de


Pan & Tompkins [Pan 1985], avec quelques améliorations afin d’augmenter la vitesse de traitement et
rendre l’algorithme de détection du complexe QRS plus facile. Laguna et al. commencent leur analyse
par l’application d’un filtre dérivateur numérique (figure 3.15), le signal résultant passe ensuite à
travers un filtre passe-bas afin d’éliminer les bruits résiduels. Une fois le signal ECG est différencié
et filtré, on passe à la partie de la détection de complexe QRS. Elle comporte deux seuils : un en
amplitude et l’autre en temps.
Au début, après l’étape de prétraitement c’est
Chapitre IIIà:dire le dérivateur
Méthodes et le filtrage
de détection passe-bas,
des complexes QRS Laguna et

1200

1100

(a) 1000

900
0 100 200 300 400 500 600 700 800
500
Amplitude arbitraire

Qp

(b) 0

-500
0 100 200 300 400 500 600 700 800
200
PKn
Rp
H
(c) 0
H
PKb PKa
-200
0 100 200 300 400 500 600 700 800
Nombre d'échantillons

Figure III.4 (a) Signal ECG original


Figure 3.15 – Les (b)
différentes étapes de la méthode proposée par Lugan : (a) Signal ECG, (b)
le signal ECG après dérivation noté d(n)
Dérivation, (c)Filtrage passe-bas +duDétection.
(c) Le signal issu ([Laguna
filtrage passe-bas noté1990]).
f(n)

Comme première étape après différenciation et filtrage, Laguna et al.


al. observent durant deux secondes le signal ECG pour définir PK1 comme étant la valeur absolue du 1
observent durant les deux premières secondes du signal f(n) , le pic positif ou négatif
pic le plusleélevé par rapport à la ligne de base qu’elle soit positive ou négative., puis il fixe un seuil H1
plus élevé par rapport à la ligne de base, et ils définissent PK comme étant la 1
égal à quatre-vingts pourdecent
valeur absolue de la
ce pic valeur
initial. Puis P Kfixent
de ils 1 (H1un= seuil
0.8P K .) (figure(80
H 1=0.8PK 3.15). Le déclenchement
pour-cent de la de 1 1

la recherche de l’onde
valeur du pic R se lance
initial) lorsqu’on
(figure dépasse
III.4.c). La détection H1la. Laguna
le seuilde position et
deal. définissent
l’onde R notépour
R chaque p

cycle de signal ECG la valeur


est déclenchée lorsqueabsolue du H
le seuil picest
maximal
dépassé.noté P Kn . et
Laguna Leal.
prochain Hn+1pour
seuilaussi
définissent 1 est défini par
chaque cycle du signal f(n) le pic maximal en valeur absolue correspondant qu’on
note PKn. Le prochain seuil Hn+1 est défini par la relation suivante:

Hn+1=0.8Hn+0.2(0.8PKn) III.6

1
f(n) est la désignation du signal après différentiation et filtrage

29
3.5. Méthodes de classification des arythmies cardiaques 54

la relation suivante :
Hn+1 = 0.8Hn + 0.2(0.8P Kn ) (3.39)
Cette dernière représente le seuillage en amplitude, ce qui concerne le seuillage en temps, l’algorithme
test si aucun complexe QRS n’a été détecté pendant un intervalle de temps de 180 % du dernier
intervalle R-R moyen (RRav1 ). Il recommence la recherche du pic maximum avec un seuil Hn0 réduit
4
de 20 % par rapport à Hn (Hn0 = Hn
5
L’intervalle (RRav1 ) est défini par :


0.8RRav + 0.2RR 1.5RRav > RR < 0.5RRav
RRav1 =
RRav ailleurs
La position de pic R noté Rp est détectée après la détection du pic P Kn ; elle est définie comme étant
le passage par zéro de signal prétraité qui se situe entre le pic P Kn et la position qui correspond à la
valeur en amplitude la plus élevée entre P Ka et P Kb . avec P Ka le pic le plus proche situé avant P Kn
et P Kb le pic le plus proche situé après P Kn . (voir figure 3.15.C)

Limites de la méthode Les limites de cette méthode sont les mêmes que celles de la méthode de
Pan & Tompkins Pan1985, cependant cette méthode présente l’avantage de la rapidité de vitesse de
traitement et donc rend l’implémentation de l’algorithme plus facile,plus rapide et plus adaptée aux
applications des systèmes portables embarqués.

Méthode de Zidelmal

Présentation de la méthode Dans le travail de Zidelmal [Zidelmal 2012b], une nouvelle mé-
thode de détection du complexe QRS a été proposée. Elle se base sur le calcul de l’énergie de chaque
complexe QRS pour les différents niveaux de la décomposition discrète en ondelettes.

Figure 3.16 – Spectres de puissance de quatre types de QRS [Zidelmal 2012b]

A l’origine, et afin d’étudier l’énergie de chaque type de complexe QRS, une fenêtre d’une largeur
180 ms a été définie, l’équivalant aux 64 échantillons pour la fréquence 360 Hz (18 échantillons avant
et 46 après le position de pic R). La figure 3.16 montre le spectre de puissance pour chaque type de
complexe QRS ( Normal, RBBB, LBBB et PVC).
3.5. Méthodes de classification des arythmies cardiaques 55

L’algorithme de cette méthode propose d’appliquer la décomposition de la DWT pour chaque


segment du signal ECG de 512 échantillons ce qui est équivalant à deux complexes QRS. Puis, extraire
la valeur de l’énergie des deux niveaux quatre et cinq. Le produit de l’énergie de ces deux niveaux
va être utilisé afin de localiser le complexe QRS. Il est à noter que l’énergie a été calculée par la
transformée de Fourier rapide FFT, le h dans la figure 3.17 représente le produit de l’énergie dans les
niveaux quatre et cinq.

Figure 3.18 – Comparaison entre la méthode


de Zidelmal (a) et l’algorithme de Tomp-
kins (b). Les points représentent les positions
Figure 3.17 – Décomposition du signal ECG
du pic R détectées où les rectangles repré-
à l’aide de l’ondelette «Haar» pour l’enregis-
sentent les battements non détectés ; y3 est
trement 221 (segment de 10 sec).
la dérivée seconde au carré du signal ECG
[Zidelmal 2012b]

La méthodologie suivante résume la procédure utilisée pour détecter la localisation du pic R utili-
sant l’ondelette de type "Haar" :
1. Appliquer la transformée en ondelettes de Haar au signal ECG x(i).
Q
5
2. Calculer le produit h = j=4 dj .

3. Localisation du QRS : sélectionner h(i) associé au complexe QRS en utilisant


un seuil = 0, 3 * max (h),
— Si h(i) ≥ λ alors dans la position i ⇒ QRS (candidat),
— Sinon, la position i ⇒ P asdeQRS.
4. Identifier les différents complexes QRS : si i, i’ sont des positions sélectionnées consécutives :|i−
i| < 36 puis i, i0 ⇒ même QRS.
Sinon (|i − i| > 36) i, i0 ⇒ Pas le même QRS. (36 ∗ f s = 100 ms est la durée standard du
QRS),
5. Élimination de la détection multiple : un pic survenant dans la période réfractaire (200 ms)
n’est pas pris en compte. Cette contrainte est d’ordre physiologique en raison de la période
réfractaire pendant laquelle la dépolarisation ventriculaire ne peut pas se produire,
6. Recherche des complexes QRS manqués : Si aucun complexe QRS n’est détecté dans un inter-
valle de 150 % de l’intervalle RR actuel, nous appliquons une recherche en utilisant un seuil
3.5. Méthodes de classification des arythmies cardiaques 56

secondaire de 0,5 fois le précédent pour le segment de temps intermédiaire afin de trouver les
pics manqués. Cette valeur de segment a été utilisée dans [Hamilton 1986, Arzeno 2008] et a
une origine physiologique : la valeur du temps entre des battements de coeur adjacents ne peut
pas changer plus rapidement que cela.
La figure 3.18 montre les résultats de cette méthode de détection du complexe QRS (partie a), et
comment moyennant le seuil en amplitude il est possible de surmonter les limites de la méthode de
Pan & Tompkins comme il apparait dans la deuxième partie (b) de la figure.

3.5.2 Méthodes pour la classification des arythmies cardiaques

Il existe plusieurs méthodes de classification et elles ne cessent de s’améliorer avec le développement


technologique. Commençant par les voisins les plus proches (KNN), les séparateurs à vaste marge
(SVM), les réseaux de neurones, arrivant à la combinaison de ces méthodes (ANN, SVM, KNN et
d’autres), ou encore l’apprentissage profond (deep learning). La majorité de ces méthodes a en commun
l’architecture globale représentée sur la Fig.3.19, elles se différencient entre elles par les outils utilisés
à chaque étape. La plupart des méthodes de classification commencent par une étape de prétraitement

Décomposition Calcul des intervalles


en DWT RR ANN

Extraction des SVM


Débruitage et
filtrage paramètres par DWT Classe
KNN
ECG Extraction des Arbre de Décision
Détection du paramètres HOS
complexe QRS

Apprentissage et
Prétraitement Extraction des paramètres
classification

Figure 3.19 – Organigrame global d’une architecture de classification

afin de rendre le signal plus exploitable, suivie par une étape d’extraction de paramètres pertinents qui
seront utilisés dans la dernière étape de classification ( apprentissage et test) afin de donner la classe
correspondante au battement.

Étape de prétraitement

Tout algorithme de classification commence par une étape de prétraitement du signal ECG afin
de le conditionner au traitement qu’il va subir en limitant les sources d’erreur telles que les bruits
qui lui sont ajoutés lors de l’acquisition. Cette étape peut être réalisée à partir de filtres numériques
[Thomas 2015, Xia 2018, Afkhami 2016] ou à partir d’autres outils comme les ondelettes [Alqudah 2019,
Elhaj 2016]. Une autre opération faisant partie du prétraitement est nécessaire, c’est la segmentation
du signal en battement. Cette dernière peut être réalisée par un détecteur de complexe QRS. Elle
permet de sélectionner le segment (battement) à classifier. Le prétraitement réalisé dans le travail de
Jinuan et al. [He 2020], quatre étapes sont utilisées avant de passer à l’extraction des caractéristiques :
— Une calibration de fréquence d’échantillonnage afin d’utiliser une variété de signaux extraits
de plusieurs bases de données acquises avec différentes fréquences d’échantillonnage.
— Une correction (élimination) de la ligne de base a été réalisée avec deux filtres médians de 200
ms et 600 ms en largeur.
3.5. Méthodes de classification des arythmies cardiaques 57

— un débruitage du signal moyennant la transformée en ondelette discrète DWT avec Daubechies-


4 (db4) comme fonction mère.
— Une segmentation du signal ECG en battements en exploitant le détecteur du complexe QRS
proposé par Pan [Pan 1985], et en choisissant une fenêtre de 235 échantillons (90 échantillons
avant le pic R et 144 après le pic R).
Comme nous l’avons déjà souligné, le signal ECG a subi plusieurs phases de prétraitement afin
d’assurer une bonne extraction des caractéristiques et donc obtenir une meilleure précision de classi-
fication.

Étape d’extraction des paramètres

Les performances des techniques de la reconnaissance automatique du battement de l’ECG et


la classification dépendent principalement des caractéristiques extraites du signal. Il existe plusieurs
techniques d’extraction de paramètres qu’elles soient dans le domaine temporel, fréquentiel ou encore
des caractéristiques extraites de l’analyse temps-fréquence.
Thomas et ses collaborateurs [Thomas 2015] proposent l’extraction des paramètres par une ana-
lyse temps-fréquence en appliquant les ondelettes, ainsi des paramètres de l’allure de battement en
calculant les paramètres statistiques d’ordre supérieur HOS ( Skewness et Kurtosis). Ils utilisent aussi
l’information de l’énergie du battement et l’information sur l’intervalle RR qui ont été largement uti-
lisés dans ce genre d’application tout en prouvant leur importance dans la séparation des battements
normaux par rapport aux battements PVC [Zhang 2014].
Vu le nombre important des paramètres extraits dans cette étape, une réduction de taille est néces-
saire. Plusieurs techniques de réduction de taille de vecteur de caractéristiques existent, les plus utilisées
sont la technique d’analyse par composante principale (ACP) [Alqudah 2019], l’analyse par composante
indépendante (ICA) [Ye 2012] ou la combinaison des deux [Li 2016, Elhaj 2016, Martis 2013, Ye 2012].
Chawla [Chawla 2009] présente une étude comparative entre l’utilisation de l’ACP et de l’ICA
pour réduire le bruit et les artefacts du signal ECG et montre que l’ACP est une meilleure technique
pour réduire le bruit, tandis que l’ICA est meilleure pour extraire les caractéristiques. En see basant
sur cette étude Ye [Ye 2012] a utilisé l’ICA pour l’extraction des caractéristiques, un total de 114
paramètres ont été utilisés puis réduits moyennant l’analyse par composante principale à seulement
18 paramètres.

Étape de classification

Cette étape consiste en premier lieu à utiliser les caractéristiques extraites dans l’étape précédente,
afin de trouver le meilleur classifieur ou le meilleur paramétrage du classifieur, qui permet de bien
identifier les différents types de battements. Dans une deuxième phase, la base de données test sera
appliquée au classifieur développé afin de calculer et de quantifier les performances du système mis en
place.
Dans la littérature, aucune particularité ou caractéristique spécifique n’a été identifiée pour diffé-
rencier un battement d’ECG d’un autre. Les classifieurs disponibles sont principalement basés sur les
réseaux neuronaux artificiels (ANN) [Zairi 2019, Thomas 2015], un mélange d’approches expertes et
de fuzzy logique [Özcan 2010], de séparateurs à vaste marge (SVM) [Banupriya 2014, Li 2016] et de
réseau neuronal de probabilité (PNN) [Wang 2013, Alqudah 2019], ou même des combinaisons entres
ces classifieurs [Elhaj 2016, Zhang 2014].
3.6. Évaluation des performances du système de classification 58

3.6 Évaluation des performances du système de classification


L’évaluation de nos algorithmes d’apprentissages automatiques est une opération essentielle pour
mesurer la qualité de nos modèles proposés à bien classifier l’arythmie. Elle est basée sur l’utilisation
d’une méthode de calcul appelée la matrice de confusion, qui nous permet de représenter les perfor-
mances en identifiant les types d’erreurs (les faux positifs et faux négatifs) et les exemples de test
correctement prédits (les vrais positifs et les vrais négatifs). À partir de cette matrice, plusieurs indi-
cateurs de performances peuvent être calculés tels que le taux de précision (Accuracy), la sensibilité
(Se), la spécificité (Sp) ou encore la prédiction positive (ppv) qui reflètent les caractéristiques des
modèles.

Matrice de confusion La matrice de confusion ou également appelée tableau de contingence


est un outil permettant de mesurer les performances d’un modèle de Machine Learning en vérifiant
notamment à quelle fréquence ses prédictions sont exactes par rapport à la réalité dans des problèmes
de classification. Cette matrice permet de comprendre de quelle façon le modèle de classification est
confus lorsqu’il effectue des prédictions. Ceci permet non seulement de savoir quelles sont les erreurs
commises, mais surtout le type d’erreurs commises.
Prenons l’exemple de tableau 3.1 représente une matrice de confusion d’un système à deux classes.
Les colonnes représentent les nombres d’occurrences des classes prédites alors que les lignes représentent
leurs réelles classes. Par conséquent, les valeurs de diagonale sont les prédictions correctes et les restes
sont les erreurs de classification. À partir de cette matrice de confusion, quatre indices peuvent être
distingués nommé (TP, FP, TN et FN) qui seront utilisés pour étudier les performances du système.
La définition de ces indices est comme suit :

Table 3.1 – Matrice de confusion à deux classes

Classe prédite
Classe d’origine
Classe 1 Classe 2

Classe 1 TP FN
Classe 2 FP TN

Les termes TP, FN, FP et TN représentent les résultats de la prédiction et sont définis comme
suit :
— TP : pour Vrai Positif (True Positive) ; il désigne un objet appartenant à la classe 1 prédit
dans sa vraie classe d’origine (Par exemple un complexe QRS détecté correctement).
— FN : pour Faux Négatif (False Negative) ; il désigne un objet appartenant à la classe 1 prédit
dans la classe 2 (Par exemple un complexe QRS non détecté ).
— FP : pour Faux Positif (False Positive), il désigne un objet appartenant à la classe 2, prédit
dans la classe 1 (Par exemple un bruit détecté comme étant un complexe QRS).
— TN : pour Vrai Négatif (True Negative), il désigne un objet appartenant à la classe 2, prédit
dans sa vraie classe d’origine
Dans le cas d’une matrice d’un système multiclasses (voir Tab.3.2), les faux positifs FP sont
représentés sur la colonne de la classe alors que les faux négatifs FN sont ceux de la ligne. Excepté les
TP, toutes les prédictions restantes sont considérées comme des TN [Yeh 2010].

Indicateurs de performances À partir de matrice de confusion du système, plusieurs indica-


teurs de performances peuvent être calculés. Le taux de classification global ou taux de précision (
3.6. Évaluation des performances du système de classification 59

Table 3.2 – Matrice de confusion utilisé pour calculé les performances de l’une des cinq classes

Classe prédite
Classe d’origine
Normal RBBB LBBB PVC APB
Normal TN TN FP TN TN
RBBB TN TN FP TN TN
LBBB FN FN TP FN FN
PVC TN TN FP TN TN
APB TN TN FP TN TN

Accuracy) représente la capacité de système à bien classifier les différentes classes, il est calculé à partir
l’équation suivante :

TP + TN
Accuracy (Acc) = (3.40)
TP + TN + FP + FN

D’autres indicateurs comme la sensibilité (Sensivity) qui représente le nombre de classifications


correctes relatif à la classe positive. La prédictivité positive est utilisée pour évaluer la capacité de
l’algorithme à séparer les vrais positifs (TP) de faux positifs (FP). La spécificité (Specifity) correspond
au nombre de classifications correctes de la classe négative. Ces indicateurs peuvent être calculés par
les équations suivantes :

TP
Sensitivity (Se) = (3.41)
TP + FN

TP
P ositive predictivity (P pr) = (3.42)
TP + FP

TN
Specif icity (Sp) = (3.43)
TN + FP

Courbes ROC ou dites aussi caractéristiques de performances sont une technique de mesure de
la performance d’un classificateur binaire. Elles sont couramment utilisées dans la prise de décision
médicale. La courbe ROC correspond à la représentation graphique du couple (1 – spécificité ; sensibi-
lité). Plus le classifieur est performant, plus la sensibilité est proche de 1. Plus le résultat de la matrice
de confusion est proche du coin supérieur gauche, meilleure est la prédiction.

Aire sous la courbe ROC – Area under curve (AUC) est la valeur de mesure d’intégralité de
l’aire à deux dimensions située sous l’ensemble de la courbe ROC. En général, des valeurs AUC plus
élevées indiquent une meilleure performance du classifieur. Les valeurs possibles d’AUC sont comprises
dans une plage de 0 à 1 (capacité de diagnostic parfaite).

Validation croisée ou cross validation une méthode d’estimation de fiabilité des algorithmes
d’apprentissage fondée sur une technique d’échantillonnage. En divisant les données en deux segments :
l’un pour l’apprentissage du modele et l’autre pour sa validation. Dans une validation croisée typique,
les ensembles d’apprentissage et de validation doivent se croiser au cours d’itérations d’une maniere
successive, de sorte que chaque de donnée ait une chance d’être validée.
3.7. Conclusion 60

La validation croisée permet d’utiliser l’intégralité de plusieurs ensembles de validation d’une même
base de données pour entraîner et tester et ainsi obtenir une estimation plus robuste, avec biais et
variance, de la performance de validation du modèle.
La validation croisée presente de nombreuses sous-méthodes de validation, parmi lesquelles, nous
citons (holdout method, k-fold cross-validation et leave-one-out cross-validation). Dans cette recherche,
nous avons opté pour la méthode k fold cross, avec k=5.
Soit une base d’apprentissage Zj contenant j éléments : Zj = x1 ; ......; xj , la validation croisée consiste
à appliquer les cinq étapes suivantes :
1 Diviser l’ensemble des exemples en k sous-ensembles disjoints de taille j/k
2 Apprendre sur les k − 1 sous-ensembles restants.
3 Calculer la matrice de confusion sur la k nième partie.
4 Réitérer le processus k fois.
5 Obtenir la matrice de confusion globale.
6 Calculer le taux final de classification ainsi les autres indices de performances.

3.7 Conclusion
Dans ce chapitre, nous avons présenté les différentes techniques d’analyse du signal cardiaque ainsi
les outils de réduction d’espace. La théorie des réseaux de neurones et les séparateurs à vaste marge
ont été exposés suivis par quelques méthodes de la littérature pour la détection du complexe QRS et
les méthodes de classification d’arythmie. Nous avons présenté à la fin du chapitre les critères les plus
utilisés pour l’évaluation des performances des méthodes qui seront proposées dans cette thèse.
Chapitre 4

Méthodes proposées pour la


classification des arythmies

Contents
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 Méthode proposée pour la détection du complexe QRS . . . . . 62
4.2.1 Étape de prétraitement du signal ECG . . . . . . . . . . . . . . . . . 62
4.2.2 Étape de détection de l’onde R . . . . . . . . . . . . . . . . . . . . . 63
4.2.3 Détection du type d’arythmie . . . . . . . . . . . . . . . . . . . . . . 66
4.2.4 Validation des performances du détecteur de QRS . . . . . . . . . . 66
4.3 Deuxième méthode proposée pour la classification des batte-
ments cardiaques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.1 Méthodologie de l’approche proposée . . . . . . . . . . . . . . . . . . 69
4.3.2 Segmentation du battement du coeur . . . . . . . . . . . . . . . . . . 69
4.3.3 Extraction des paramètres pertinents . . . . . . . . . . . . . . . . . 71
4.3.4 Choix de l’architecture de ANN et SVM . . . . . . . . . . . . . . . . 73
4.3.5 Évaluation des performances . . . . . . . . . . . . . . . . . . . . . . 75
4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.1 Introduction

Dans ce qui suit, nous allons présenter les deux méthodes de classification des arythmies cardiaques
développées dans cette thèse. La première méthode basée sur les filtres numériques permet de détecter le
complexe QRS dans un signal ECG et puis l’affecter à l’une des trois classes : tachycardie, bradycardie
ou normale. La deuxième méthode de classification exploite les méthodes du traitement avancé du
signal telles que la DWT, l’ANN et les SVM, afin de classifier chaque battement du coeur dans l’une
des cinq classes suivantes (Normal, RBBB, LBBB, PVC ou APB).

61
4.2. Méthode proposée pour la détection du complexe QRS 62

4.2 Méthode proposée pour la détection du complexe QRS


Ce premier algorithme comprend deux étapes essentielles pour la détection du complexe QRS. La
première est l’étape de prétraitement, composée par cinq filtres consécutifs, nous commencerons par
un filtre passe-bande et un filtre dérivateur, suivi par un filtre de mise au carré, et nous terminerons
par un filtre intégrateur et un filtre passe-bas. La deuxième étape est celle de la détection de pic R,
elle est composée de trois parties : le calcul de la dérivée centrée, la détection de pic de maximum
moyennant le théorème des valeurs intermédiaires et en fin un seuillage en amplitude et un autre en
temps comme il est illustré sur la figure 4.1. Dans ce qui suit, nous allons détailler les différentes étapes
de cette méthode de détection du complexe QRS.

Figure 4.1 – Procédure de la méthode proposée pour la détection du complexe QRS


[Meddah 2019]

4.2.1 Étape de prétraitement du signal ECG

Cette étape est principalement inspirée de la méthode proposée par Pan et Tompkins [Pan 1985],
avec l’ajout de filtre passe-bas pour avoir un signal de sortie bien lisse [Dubois 2004]. Étant donné
la composition fréquentielle du signal ECG et la bande fréquentielle du complexe QRS qui se situe
entre [5-15] Hz (voir Fig. 3.8)[Mittnacht 2011], le signal ECG a été premièrement filtré par un filtre
passe-bande de 5-15 Hz de type butterworth d’ordre 4 (Filtre à réponse impulsionnelle infinie), sa
fonction de transfert est définie par l’équation 4.1. :

((6.765 − 13.53z −2 + 6.765z −4 ) ∗ 10−3 )


H(z) = (4.1)
1 − 3.711z −1 + 5.209z −2 − 3.278z −3 + 07812−4

Le complexe QRS se caractérise par sa grande variation en amplitude par rapport aux autres ondes
du signal ECG. Ceci apparait sur la pente temporelle de cette onde. Pour extraire l’information de la
pente du complexe QRS, nous avons appliqué un filtre dérivateur défini par la fonction de transfert
suivante :
H(z) = 0.2002z −1 + 0.4004z −3 − 0.4004z −4 − 2.002z −5 (4.2)
Afin de réduire la complexité des calculs en manipulant que des valeurs positives au lieu des valeurs
positives et d’autres négatives,et afin d’assurer la symétrie de détection entre les ondes R et les ondes
QS, nous avons appliqué une transformation non linéaire au signal résultant de l’étape précédente, par
4.2. Méthode proposée pour la détection du complexe QRS 63

le calcul de la mise au carré. Cette opération nous permet d’obtenir que des valeurs positives d’une
part,d’autre par d’augmenter la marge entre les petites et les grandes amplitudes. L’équation suivante
exprime cette opération :
y(n) = [x(n)]2 (4.3)
Nous avons appliqué par la suite une fenêtre d’intégration mobile suivie par un filtre passe-bas, ceci
nous permet d’obtenir un maximum unique pour chaque complexe. Le choix de la largeur de cette
fenêtre d’intégration est très important, si la largeur est trop grande, le maximum détecté sera décalé
en temps par rapport à la position de l’onde R due à l’influence de l’onde T. Dans le cas contraire,
si la largeur est trop petite, nous obtiendrons plusieurs pics pour la même onde R [Dubois 2004].
D’après les travaux de Pan et Tompkins [Pan 1985], la largeur adaptée doit correspondre au double
de la largeur moyenne d’un complexe QRS l’équivalant à 0.15 seconde. L’opération d’intégration est
définie par l’équation suivante :
XN
y(n) = x(n − k) (4.4)
k=1

Avec N étant la taille de la fenêtre d’intégration, qui est égale au double de la durée du complexe QRS
(150ms). Pour une fréquence d’échantillonnage de 360 Hz :

N = 0.150s X 360s−1 = 54

La dernière opération dans l’étape de prétraitement est l’application d’un filtre passe-bas afin de
rendre le signal lisse, d’enlever le bruit résiduel de haute fréquence et d’obtenir un maximum unique
pour chaque complexe QRS. Ce filtre est un filtre récursif (RII) d’ordre 1 et d’une fréquence de coupure
1 Hz, sa fonction de transfert est exprimée comme suit :

0.00865 + 0.00865z −1
H(z) = (4.5)
1 − 0.98269z −1

4.2.2 Étape de détection de l’onde R

Toujours dans cette phase de l’étape de prétraitement et à la fin de l’opération précédente, le


signal résultant possède un maximum unique pour chaque onde R ; il a également d’autres maximas
locaux avec une amplitude plus faible en général. Cela peut correspondre soit au bruit soit à l’onde
T. IL faut préciser qu’après la localisation de l’onde R moyennant la dérivée centrée,cette étape de
détection consiste à sélectionner le maximum qui correspond à l’onde R tout en ignorant les maxima
trop faibles qui peuvent être des bruits grâce à un seuillage en amplitude. Ajouter à ça, un seuillage en
temps est introduit afin d’écarter les maximas très proches qui peuvent être causés par les ondes T. Vu
la haute variation d’amplitude des battements dans le même enregistrement ou par rapport d’autres
enregistrements, ces seuils ne peuvent pas être fixés, mais calculés au fur et à mesure c’est ce qu’on
appelle seuillage adaptatif. Ces deux types de seuils ainsi que la localisation de pic R sont décrits dans
les paragraphes suivants :

Dérivée centrée Mathématiquement parlant, la valeur maximale d’un signal se situe là ou la


dérivée est nulle. De cette façon, nous avons calculé la dérivée centrée du signal obtenu à l’étape de
prétraitement pour chaque point. La dérivée centrée du signal à l’instant du temps nT est définie par
la fonction suivante :
s(nT + T ) − s(nT − T )
d(nT ) = (4.6)
2T
Avec T : représente la période d’échantillonnage.
4.2. Méthode proposée pour la détection du complexe QRS 64

Détection du pic maximal Pour détecter les pics du signal prétraité auparavant, une détection
du passage par le zéro de la dérivée de ce signal calculée à partir de l’équation 4.6 a été faite. Cette
détection peut se faire moyennant le théorème des valeurs intermédiaires. Un maximum du signal
est présent lorsque le produit des deux valeurs consécutives de la dérivée est nul, l’équation suivante
exprime ce théorème : (
sPeak (n) Si d(n)d(n − 1) < 0;
s(n) is (4.7)
sNotPeak (n) Si d(n)d(n − 1) ≥ 0;

Le bloc de détection des pics réalisé avec les équations 4.6 et 4.7 nous a permis de localiser les deux
types (minimum et maximum). Cependant, pour la détection du complexe QRS, nous nous sommes
intéressés qu’aux pics de maxima qui représentent l’onde R. Ainsi, une sélection du type de pic a été
faite par une deuxième condition exprimée par l’équation suivante :


sMaxPeak (n) Si (d(n)d(n − 1) < 0) & (d(n + 1) < d(n − 1));

s(n) is sMinPeak (n) Si (d(n)d(n − 1) < 0) & (d(n + 1) > d(n − 1)); (4.8)

sNotPeak (n) Si (d(n)d(n − 1) ≥ 0);

Cette étape de détection du pic du maximum permet de détecter les complexes QRS dans le signal
ECG. Elle peut également détecter des maxima locaux d’amplitudes plus petites pouvant correspondre
au bruit ou aux ondes T. Malheureusement, cette étape n’est pas suffisante pour identifier uniquement
les pics correspondants aux ondes R. Par conséquent, deux seuillages sont ajoutés : un seuillage d’am-
plitude pour ignorer les pics du maximum avec de petites amplitudes causées par le bruit et un seuillage
en temps pour éliminer les pics trop proches les uns des autres, probablement causés par les ondes T.
Des seuils adaptatifs sont utilisés, car l’amplitude des battements peut varier considérablement d’un
enregistrement à l’autre, voire au sein d’un même enregistrement [Dubois 2004].

Seuillage adaptatif en temps et en amplitude : Le seuillage en amplitude permet de


distinguer les pics de l’onde R des pics de l’onde T, qui sont généralement beaucoup plus petits. Le
seuillage en amplitude est défini comme 25% de la valeur moyenne des cinq derniers pics d’onde R
détectés. Le prochain pic sera validé et considéré comme une onde R s’il dépasse ce seuil ; sinon,
l’algorithme continue la recherche du prochain maximum (voir Fig. 4.2). L’équation 4.9 exprime ce
seuillage en amplitude.
(
sQRS (n) Si (sMaxPeak (n) > 0.25sMeanPeak );
sMaxPeak (n) is (4.9)
sNoise (n) otherwise.

Avec sMeanPeak est l’amplitude moyenne des cinq derniers pics d’onde R détectés.
Dans plusieurs cas (changement de position, extrasystole ventriculaire ...), une diminution
soudaine de l’amplitude des ondes R peut être observée. Cela entraîne la non-détection de
plusieurs pics d’onde R inférieurs à la valeur du seuil. Par conséquent, pour surmonter cette
limitation, la probabilité d’observer le QRS dans un intervalle donné a été prise en compte.
Donc, si aucun nouveau pic d’onde R n’est détecté à l’aide du seuil d’amplitude de 25 % de la
valeur moyenne des cinq derniers pics de l’onde R validés dans le 166 % du temps moyen des
cinq intervalles RR précédents, l’algorithme redémarre la recherche des pics d’onde R à l’aide
d’un seuil abaissé à 5 % de la moyenne des cinq derniers pics d’onde R détectés [Dubois 2004]
(voir Fig.4.3).
4.2. Méthode proposée pour la détection du complexe QRS 65

Figure 4.2 – A partir des 5 QRS précédents, l’algorithme calcule un seuil. Un maximum est
validé comme complexe QRS s’il est supérieur au seuil.

Du coup, le seuillage en amplitude peut être exprimé par l’équation suivante 4.10 :
 (
 RR < 1.66 RRMean
SQRS (n)



& SMaxPeak (n) > 0.25 SMeanPeak



 (
SMaxPeak (n) is RR > 1.66RRMean (4.10)

 SQRS (n) Si


 & SMaxPeak (n) > 0.05 SMeanPeak


S
Noise (n) otherwise

Avec sMeanPeak est l’amplitude moyenne des cinq derniers pics d’onde R détectés, et RRMean
représente la moyenne, en échantillons, des cinq derniers intervalles RR.

Figure 4.3 – Si aucun QRS n’est détecté avant un certain temps - 166 % de l’intervalle RR
moyen des 5 derniers complexes validés -, l’algorithme recommence la recherche de maximum
avec un seuil abaissé à 5 % de la moyenne des amplitudes des 5 derniers maxima validés.

Cependant, dans certains cas pathologiques, le pic de l’onde T adjacente a une amplitude
significative et peut donc être confondu avec un pic de l’onde R [Kohler 2002b]. Pour éviter
les erreurs de détection erronée, une validation temporelle est introduite. Le temps minimum
entre deux pics R est de 0,2 seconde. Dans notre cas, il est nécessaire que le système attende 72
échantillons pour valider un autre pic d’onde R. Cette valeur est calculée par 0.2 s × 360 Hz =
72, où 360 Hz est la fréquence d’échantillonnage.
4.2. Méthode proposée pour la détection du complexe QRS 66

Enfin, la détection du pic maximum est effectuée à l’aide d’un seuil adaptatif d’amplitude
et de temps, comme suit :
 (
 72 < RR < 1.66 RRMean
SQRS (n) Si



& SMaxPeak (n) > 0.25 SMeanPeak



 (
SMaxPeak (n) is RR > 1.66 RRMean (4.11)

SQRS (n) Si


 & SMaxPeak (n) > 0.05 SMeanPeak


S
Noise (n) otherwise

Avec sMeanPeak est l’amplitude moyenne des cinq pics d’ondes R détectés précédemment,
et RRMean représente la moyenne, en échantillons, des cinq derniers intervalles RR. Ces deux
valeurs sont ajustées de manière adaptative à chaque nouvelle détection de pic d’onde R.

4.2.3 Détection du type d’arythmie

Après la détection des pics de l’onde R, la fréquence cardiaque peut être obtenue en
mesurant l’intervalle RR. Elle est défini comme suit :
1 60fs
Heart rate = beats/min = beats/min (4.12)
TR NR
Avec TR représente le temps, en minutes, entre deux R pics consécutifs, fs est la fréquence
d’échantillonnage, et NR est le nombre d’échantillons compris entre deux pics d’onde R suc-
cessifs. Dans ce cas fs = 360 Hz.
La fréquence cardiaque est calculée après chaque détection d’un complexe QRS, mais la
détection d’arythmie (tachycardie ou bradycardie) est effectuée lorsque la valeur moyenne
des cinq dernières valeurs de la fréquence cardiaque dépasse 120 battements par minute ou
lorsqu’elle est inférieure à 50 battements par minute.

4.2.4 Validation des performances du détecteur de QRS

Pour évaluer les performances de la méthode de détection du complexe QRS et les comparer
avec les méthodes similaires déjà publiées par les chercheurs, trois grandeurs sont généralement
calculées pour chaque enregistrement (TP, FP et FN) comme nous l’avons détaillé dans la
partie évaluation des performances 3.6 de la thèse.
Ces paramètres nous permettent de calculer certains indicateurs de performances statis-
tiques tels que la sensibilité Se, la prédictivité positive PPV, le taux d’erreur DER et le taux
de précision Acc pour comparer les performances de notre méthode avec celles qui existent
dans la littérature
La sensibilité est utilisée pour évaluer la capacité de l’algorithme à détecter correctement
les pics R, par contre la prédictivité positive c’est pour évaluer la capacité de l’algorithme
à séparer les vrais positifs (TP) des faux positifs (FP). Le taux d’erreurs est exploité pour
4.2. Méthode proposée pour la détection du complexe QRS 67

évaluer le score de l’algorithme et la précision (Acc)(Accuracy) est le rapport entre les ré-
sultats corrects (vrais positifs et vrais négatifs) par rapport au nombre total de cas testés
[Baratloo 2015]. Généralement, un battement est considéré comme correctement détecté (TP)
si la position détectée est décalée à moins de 100 ms de la position annotée [Meyer 2006]. Des
exemples des signaux avec les positions relatives des complexes détectés, ainsi que les résul-
tats de performances des détecteurs sont présentés dans la partie 5.6. Nous avons testé notre
méthode de détection du complexe QRS sur l’ensemble des signaux de la base de données
MIT-BIH, les résultats obtenus pour chaque signal sont présentés dans le tableau 4.2. Un taux
de classification global de la base de données obtenu est d’environ 99.26 % ce qui est très élevé
par rapport à celui des travaux de la littérature. Une sensibilité et spécificité de 99.58 % et
99.68 % ont été obtenues respectivement avec un taux d’erreur de 0.74 %. L’analyse des ré-
sultats individuels pour chaque enregistrement montre que l’algorithme s’adapte bien avec les
différents signaux. Cependant, une faiblesse aux signaux trop bruités tels que l’enregistrement
207m et 228m a été remarquée. Dans ces cas nous obtenons un taux d’erreur élevé dans les
deux enregistrements soit 13.09 % et 8.35 % respectivement.

La méthode de détection du pic d’onde R proposée a été comparée aux méthodes existantes
validées sur l’ensemble de la base des données MIT-BIH. Les résultats de notre implémentation
sur Matlab sont comparés à ceux des autres systèmes softwares comme c’est indiqué dans le
tableau 4.1, la performance de la notre est comparable aux méthodes de la littérature. La
principale erreur a été causée par certains enregistrements (N◦ 105, 108, 114, 203, 207 et 228),
ce qui a entraîné une erreur supérieure à 3 %. Ces enregistrements souffrent d’un changement
de la qualité du signal, un changement de la ligne de base, et des ondes P élevées et pointues
[Cvikl 2007]. Ces deux propriétés permettent aux ondes P d’être qualifiés comme étant un
complexe QRS, et elles produisent un grand nombre de PF (faux positifs) à plusieurs endroits
dans les enregistrements. Les résultats de FN (faux négatifs) ont généralement été causés par
des contractions ventriculaires prématurées (PVC). Ces PVCs ont une faible amplitude et se
produisent entre deux battements normaux de forte amplitude. Dans ce cas, le battement ne
dépasse pas le niveau de seuil de détection minimum et donc il n’est pas détecté [Cvikl 2007].

Table 4.1 – Comparaison de performances de notre méthode de détection du complexe QRS


avec les méthodes Software existantes en utilisant la base de données du MIT-BIH

Méthode (FN+TP) FN FP Se(%) PPV(%) DER (%) Acc(%)


Pan & Tompkins [Pan 1985] 116137 507 277 99.56 99.76 0.68 99.33
Zidelmal et al. [ZIDELMAL 2012a] 109494 393 193 99.64 99.82 0.54 99.47
Panigrahy et al. [Panigrahy 2016] 109474 58 116 99.95 99.89 0.16 99.84
Mak et al. [Mak 012] 109134 753 330 99.31 99.70 1.00 99.01
Ravanshad et al. [Ravanshad 2014] 109428 1216 651 98.89 99.40 1.73 99.30
La méthode proposée [Meddah 2019] 109 470 458 350 99.58 99.68 0.74 99.26
4.2. Méthode proposée pour la détection du complexe QRS 68

Table 4.2 – Performance de l’implémentation software sur Matlab de la méthode proposée


pour la détection du complexe QRS utilisant la base de données MIT-BIH d’arythmie .

Enregistrement Implémentation software (MATLAB)

Name TP FP FN Se (%) PPV (%) DER(%) Acc (%)

100m 2273 0 0 100.00 100.00 0.00 100.00


101m 1865 1 0 100.00 99.95 0.05 99.95
102m 2187 0 0 100.00 100.00 0.00 100.00
103m 2082 0 2 99.90 100.00 0.10 99.90
104m 2218 10 11 99.51 99.55 0.95 99.06
105m 2569 25 3 99.88 99.04 1.09 98.92
106m 2026 0 0 100.00 100.00 0.00 100.00
107m 2135 0 1 99.95 100.00 0.05 99.95
108m 1761 39 2 99.89 97.83 2.33 97.72
109m 2530 0 2 99.92 100.00 0.08 99.92
111m 2124 0 0 100.00 100.00 0.00 100.00
112m 2539 0 0 100.00 100.00 0.00 100.00
113m 1794 0 0 100.00 100.00 0.00 100.00
114m 1747 8 131 93.02 99.54 7.96 92.63
115m 1952 0 0 100.00 100.00 0.00 100.00
116m 2394 0 6 99.75 100.00 0.25 99.75
117m 1535 0 0 100.00 100.00 0.00 100.00
118m 2278 0 0 100.00 100.00 0.00 100.00
119m 1987 0 0 100.00 100.00 0.00 100.00
121m 1863 0 0 100.00 100.00 0.00 100.00
122m 2475 0 0 100.00 100.00 0.00 100.00
123m 1518 0 0 100.00 100.00 0.00 100.00
124m 1619 8 0 100.00 99.51 0.49 99.51
200m 2599 0 2 99.92 100.00 0.08 99.92
201m 1936 0 26 98.67 100.00 1.34 98.67
202m 2130 1 6 99.72 99.95 0.33 99.67
203m 2924 2 56 98.12 99.93 1.98 98.05
205m 2656 0 0 100.00 100.00 0.00 100.00
207m 1856 239 4 99.78 88.59 13.09 88.42
208m 2939 0 15 99.49 100.00 0.51 99.49
209m 3005 1 0 100.00 99.97 0.03 99.97
210m 2614 1 36 98.64 99.96 1.42 98.60
212m 2748 0 0 100.00 100.00 0.00 100.00
213m 3251 0 0 100.00 100.00 0.00 100.00
214m 2262 0 0 100.00 100.00 0.00 100.00
215m 3362 0 0 100.00 100.00 0.00 100.00
217m 2207 0 0 100.00 100.00 0.00 100.00
219m 2154 0 0 100.00 100.00 0.00 100.00
220m 2048 0 0 100.00 100.00 0.00 100.00
221m 2425 0 1 99.96 100.00 0.04 99.96
222m 2480 0 2 99.92 100.00 0.08 99.92
223m 2603 0 1 99.96 100.00 0.04 99.96
228m 1904 11 148 92.79 99.43 8.35 92.29
230m 2256 0 0 100.00 100.00 0.00 100.00
231m 1571 0 0 100.00 100.00 0.00 100.00
232m 1780 4 0 100.00 99.78 0.22 99.78
233m 3078 0 3 99.90 100.00 0.10 99.90
234m 2753 0 0 100.00 100.00 0.00 100.00
Total 109012 350 458 99.58 99.68 0.74 99.26
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 69

4.3 Deuxième méthode proposée pour la classification des bat-


tements cardiaques

Dans ce qui suit, nous allons proposer une nouvelle méthode optimisée pour la détection
automatique du type de battement et le classifier dans l’une des cinq classes (N, RBBB,
LBBB, PVC et APB) comme mentionné dans le tableau 4.3. Cette nouvelle méthode exploite
celle que nous venons de présenter en premier qui est basée sur la détection des QRS. Après
la détection des pics R, l’enregistrement du signal ECG sera segmenté en battements puis
rangé dans un vecteur à partir duquel sera effectué un calcul de caractéristiques. Ces vecteurs
doivent impérativement avoir la même dimension pour que les caractéristiques des battements
correspondants soient calculées dans les mêmes conditions. Ainsi un total de 99469 battements
de coeurs a été réparti sur les cinq classes dont 74422 battements annotés comme normaux
( environ 75 % des battements sont des battements normaux). Les figures (Fig.4.4, Fig.4.5,
Fig.4.6, Fig.4.7, et Fig.4.8.) présentent les cinq types de battements extraits de la base de
données sélectionnée.
Table 4.3 – Detail of ECG beats used in this study

Types of Beat Number of Beats


Normal (N) 74422
Left Bundle Branch Block (LBBB) 8046
Right Bundle Branch Block (RBBB) 7220
Premature ventricular contraction (PVC) 7101
Atrial premature beat (APB) 2680

4.3.1 Méthodologie de l’approche proposée

L’organigramme de la figure 4.9 décrit la méthodologie de l’approche proposée pour la


détection et la classification de l’arythmie à partir des signaux ECG. Elle comprend trois
étapes : le prétraitement du signal, l’extraction des caractéristiques ainsi que l’apprentissage
et la classification afin d’assigner le battement à l’une des cinq classes.
Le signal ECG a été normalisé avant d’appliquer la méthode de détection du complexe QRS
proposée dans [Meddah 2019]. Après avoir sélectionné les 245 échantillons autour du pic R,
les caractéristiques sont extraites et servent d’entrée au classifieurs (ANN ou SVM) qui les
affectera à l’une des cinq classes : normale (N), Premature Ventricular Contraction (PVC),
Right Bundle Branch Block (RBBB), Left Bundle Branch Block (LBBB) et Atrial Premature
Beat (APB). Au total, treize (13) caractéristiques sont sélectionnées après leur extraction :
trois caractéristiques directement extraites du battement de l’ECG, six autres exploitent le 3e,
4e et 5e niveau de la décomposition en ondelettes, et quatre caractéristiques font intervenir
les intervalles RR (voir le tableau 4.4).

4.3.2 Segmentation du battement du coeur

Les signaux filtrés et normalisés seront segmentés en plusieurs pulsations cardiaques indi-
viduelles ce qui représente un cycle cardiaque (P-QRS-T) en tirant avantage des emplacements
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 70

1
1
Normalized amplitude

0.8

Normalized amplitude
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0 50 100 150 200
Sample 0
0 50 100 150 200
Sample

Figure 4.4 – Battements de la classe Nor-


Figure 4.5 – Battements de la classe PVC
male
1 1

Normalized amplitude
Normalized amplitude

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
0 50 100 150 200 0 50 100 150 200
Sample## Sample

Figure 4.6 – Battements de la classe LBBB Figure 4.7 – Battements de la classe RBBB
1
Normalized amplitude

0.8

0.6

0.4

0.2

0
0 50 100 150 200
Sample

Figure 4.8 – Battements de la classe APB.

Détection du Calcul des intervalles


complexe QRS RR Normal

RBBB
Sélection de 245
ECG Normalisation & Extraction des
échantillons Classification
autour du pic R Prétraitement paramètres par DWT LBBB

PVC
Extraction des
paramètres HOS
APB

Prétraitement Extraction des paramètres Apprentissage et classification

Figure 4.9 – Organigramme de la méthode proposée pour la classification des battements du


coeur.

des pics R détectés par l’algorithme de Meddah et al. [Meddah 2019]. Pour chaque pic R dé-
tecté, 100 échantillons (250 ms) avant ce pic R et 144 échantillons (400 ms) après ce même pic
R sont prélevés pour représenter un battement de coeur, ce qui est suffisamment long pour
capturer des échantillons représentants la repolarisation des ventricules et suffisamment court
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 71

pour exclure les battements voisins [Alejo 2010, He 2020].

4.3.3 Extraction des paramètres pertinents

Une classification réussie des battements du coeur dépend principalement des informations
extraites du signal ECG. Divers paramètres du domaine temporel et fréquentiel sont utilisés
dans la littérature, les caractéristiques temporelles les plus utilisées pour augmenter et amé-
liorer le taux de précision global étant l’intervalle RR, qui représente le temps entre deux
battements cardiaques successifs [Kropf 2017, Sahoo 2020]
Comme cela a été prouvé expérimentalement dans [Zhang 2014], l’intervalle RR est l’une
des caractéristiques les plus indispensables pour la classification des battements du cœur et
il a une grande capacité à distinguer les battements PVC des battements normaux. Dans ce
travail, quatre types d’intervalles RR sont extraits des signaux ECG : pré-RR, post-RR, RR1
et RR2 . Les intervalles pré-RR et post-RR correspondent respectivement à l’intervalle RR
précédent et suivant le battement actuel. Alors que les valeurs RR1 et RR2 correspondent
aux valeurs moyennes des cinq intervalles RR qui précèdent et qui suivent le battement de
référence (actuel).
Contrairement aux différents travaux dans la littérature, nous n’avons pas normalisé les
intervalles RR par rapport à la valeur maximale des intervalles RR appartiennent à l’enregis-
trement comme il est considéré dans les travaux de [Ye 2010, He 2020]. Cela nous dispense de
traiter l’enregistrement deux fois (une fois pour connaitre tous les intervalles RR et calculer la
valeur moyenne et une autre fois pour faire la classification), ce qui rend notre méthode plus
rapide et adaptée à une implémentation en temps réel. Une deuxième amélioration est propo-
sée pour préserver les notions de rapidité et de fonctionnement en temps réel, c’est l’utilisation
de la valeur moyenne des cinq derniers intervalles RR au lieu de la moyenne des intervalles de
la dernière minute [Sahoo 2020] ou encore la valeur moyenne des dix derniers intervalles RR
calculés [Ye 2010].
En ce qui concerne les statistiques d’ordre supérieur (higher order statistics, HOS), elles
sont utiles pour saisir les changements subtils dans les données de l’ECG [Özbay 2010]. Dans
ce travail, l’asymétrie en anglais "Skewness" (statistiques de 3ème ordre) et l’aplatissement
nommé en anglais "Kurtosis" (statistiques de 4ème ordre) sont calculés pour chaque battement
de coeur. Ils peuvent être mathématiquement déterminés à partir des équations 4.13 et 4.14 ,
où X1...,N désigne tous les échantillons de données dans un signal, (x̄) est la moyenne et s est
l’écart type [He 2020].

PN 3
1 i=1 Xi − X̄
Skewness = (4.13)
N s3
PN 4
1 i=1 Xi − X̄
Kurtosis = −3 (4.14)
N s4
Les coefficients d’ondelettes fournissent des informations dans le domaine du temps et
de la fréquence d’un signal, qui sont considérées comme les meilleures caractéristiques du
signal ECG [Luz 2016]. Le choix de la fonction d’ondelette mère utilisée pour l’extraction
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 72

des coefficients est pertinent pour la performance de la classification finale. Nos travaux de re-
cherches précédents [Slimane 2016, Zairi 2019] ainsi que plusieurs autres travaux [Prasad 2003,
Sarkaleh 2012, Ceylan 2018] ont montré que la famille d’ondelette "Daubechies" est la mieux
adaptée pour le traitement du signal ECG. Cette adaptation est due à la ressemblance entre
la forme de l’ondelette mère "Daubechies" et la forme du signal ECG. Dans ce travail, la
fonction d’ondelette Daubechies est choisie en raison de sa simplicité et du fait qu’elle a été
Extraction de paramètres de la seconde approche
démontrée comme l’ondelette idéale pour l’analyse de signaux à court terme [Zairi 2019].

L’approche repose sur DWT puis réduction par ACP ou ACI,


Le nombre de niveaux de décomposition est un autre paramètre très important dans l’utili-
sation des ondelettes. Comme il a été déjà montré dans nos précédents travaux [OuldSlimane 2017,
Zairi 2020], une décomposition de cinq niveaux est largement suffisante afin d’obtenir des pré-
cisions optimales. Une décomposition de cinq niveaux nous permet d’avoir les informations
Décomposition du signal ECG à 5 niveaux
de chaque onde du signal ECG tout en nous focalisant sur l’onde la plus importante qui
est le complexe QRS. D’après la figure 4.10, nous remarquons que la bande fréquentielle de
complexes QRS de [5-25] Hz se situe dans les niveaux 3, 4 et 5 et ceci pour une fréquence
d’échantillonnage de 360 Hz. C’est pour cette raison que nous avons choisi d’écarter les in-
formations situées dans les niveaux 1 et 2 qui sont moins utiles pour cette application. Cette
décision a été justifiée par les études présentées dans [Prasad 2003]

Signal ECG
signal ECG normal
D1 90 – 180
600

500

400 Fe=360Hz D2 45– 90


l amplitude en micro volt

300

200

100
D3 22,5 – 45
0

DWT D4
-100

-200
11,2 –22,5
0 1 2 3 4 5 6 7 8 9 10
le temps (s)

D5 5,6 – 11,6

Figure 4.10 – Décomposition par la DWT (db3)d’un signal ECG

De nombreux paramètres statistiques ont été utilisés pour améliorer la précision de la


3 et les
classification, telle que l’énergie, l’écart type, la moyenne, les spectres d’ordre supérieur
paramètres multidomaines [Sahoo 2018, Yao 2018]. Le travail proposé dans cette thèse a utilisé
la variance calculée sur le battement ECG, ainsi que l’écart type et les valeurs moyennes de la
décomposition DWT aux niveaux 3,4 et 5. Ces caractéristiques sont définies par les équations
suivantes :
r Pn
i=1 (xi − x̄)2
Standard Deviation = (4.15)
n

V ariance = (Standard Deviation)2 (4.16)

Pn
i=1 xi
Average x̄ = (4.17)
n
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 73

Avec xi est la ieme valeur d’échantillon, n est le nombre d’échantillons, et x̄ est la moyenne
des valeurs des échantillons.
Le tableau 4.4 présente les treize paramètres pertinents extraits de l’ensemble de la phase
de prétraitement. Il englobe quatre paramètres des intervalles RR qui reflètent la variation de
la fréquence cardiaque, trois paramètres statistiques représentant la variation de l’allure de
battement et six paramètres du domaine temps-fréquence calculés à partir de la décomposition
discrète en ondelettes.
Table 4.4 – Liste des caractéristiques extraites pour la classification des battements du cœur

Features Description Features Description


RRi Pre RR interval Esd,1 Standard deviation of DWT Detail 3
RRi+1 Post RR interval Esd,2 Standard deviation of DWT Detail 4
RR1 Average of 5 Pre RR-interval Esd,3 Standard deviation of DWT Detail 5
RR2 Average of 5 Post RR-interval Em,1 Mean of DWT Detail 1
Vkurt Kurtosis of the ECG beat Em,2 Mean of DWT Detail 2
Vsk Skewness of the ECG beat Em,3 Mean of DWT Detail 3
Vvar Variance of the ECG beat

4.3.4 Choix de l’architecture de ANN et SVM

Choix de l’architecture du réseau de neurones

L’architecture choisie dans le travail de cette thèse est une conception neuronale d’une
perception multicouche. En effet, l’architecture a quatre couches au total, une couche d’entrée,
une autre pour la sortie et deux couches cachées. La détermination du nombre de neurones
dans la couche cachée est une tâche essentielle dans la conception des classifieurs neuronaux.
Le nombre de neurones dans la couche d’entrée et la couche de sortie est défini en fonction de
l’objectif de travail. La couche de sortie contient cinq neurones représentant les cinq classes
de la sortie de l’algorithme (classe Normal, RBBB, LBBB, PVC et APB), alors que le nombre
de couches de l’entrée est défini en fonction de nombre de paramètres sélectionnés dans la
phase d’extraction (13 entrées dans notre cas). La difficulté réside dans le choix du nombre de
neurones dans les couches cachées, ceci sera défini empiriquement après plusieurs essais.
Ainsi, un réseau avec trop peu de neurones cachés serait incapable de faire la différence
entre les différentes classes. En revanche, si le réseau a trop de neurones cachés, il peut y avoir
une surparamétrisation du réseau, en plus la durée d’apprentissage deviendra excessivement
longue. Ces remarques ont été prises en considération lors de la mise au point de notre système
de diagnostic. Pour définir le nombre de neurones dans les couches cachées, nous avons cal-
culé le taux global de classification (précision) ACC défini par l’équation 3.40 pour plusieurs
architectures, le nombre de neurones cachés considérés est celui qui correspond au taux de
précision maximal.
Dans cette étude, le meilleur résultat a été obtenu pour deux couches cachées ayant 18
neurones chacune. L’ensemble des résultats sont présentés dans le tableau 4.5.
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 74

Table 4.5 – Performance de MLP en termes de taux de précision pour différentes architectures

ECG architecture Acc % ECG architecture Acc %


MLP [13,10,5] 97.0 MLP [13,10,10,5] 97.9
MLP [13,15,5] 97.7 MLP [13,15,15,5] 98.0
MLP [13,18,5] 97.8 MLP [13,18,18,5] 98.3
MLP [13,22,5] 97.9 MLP [13,22,22,5] 98.2
MLP [13,25,5] 98.2 MLP [13,25,25,5] 98.0
MLP [13,30,5] 78.1 MLP [13,30,30,5] 97.9
MLP [13,35,5] 98.0 MLP [13,35,35,5] 97.8

Les fonctions de transfert choisies pour les trois couches cachées et de la couche sortie,
sont du type tangente hyperbolique et sigmoïde respectivement puisqu’il a été démontré que
ces fonctions permettent de créer des frontières de décision concaves, fermées nécessaires pour
résoudre les différents types de problèmes de classification [Bishop 1995].

Choix de l’architecture du SVM

Avec la même méthode d’évaluation de performances de l’architecture de réseau de neu-


rones, nous avons testé les performances de différentes architectures SVM. Pour ce faire, nous
avons injecté les treize paramètres déjà calculés pour les 99469 battements dans les différents
modèles de SVM réalisés. Nous avons utilisé le noyau de polynomial pour plusieurs ordres et
avons aussi utilisé le noyau gaussien pour différents paramétrages.
La figure 4.11 présente les performances de classification SVM en cinq classes pour les
trois premiers degrés (p) du polynôme noyau (Equ. 3.27) ainsi que les trois types de noyaux
Gaussiens. Dans l’analyse gaussienne, le paramètre γ du noyau dans l’équation (Equ.3.28) est
ajusté à différentes valeurs selon les hypothèses suivantes [Savas 2019] :
p
γf G = n/4, Pour fine Gaussian,

γmG = n, Pour medium Gaussian,

γcG = 4 n, Pourr coarse Gaussian,

Avec n représentant le nombre d’éléments dans notre vecteur de caractéristiques, treize


paramètres dans notre cas. Donc le paramètre γ aura comme valeur : :

γf G = 1.80, Pour fine Gaussian,


γmG = 3.60, Pour medium Gaussian,
γcG = 14.42, Pour coarse Gaussian,

Nous remarquons que le noyau Gaussian moyen donne les meilleurs résultats comparé aux
autres noyaux, cette fonction sera choisie dans l’implémentation hardware de notre méthode.
Dans un but de réduire le nombre de paramètres à injecter dans le SVM, nous avons étudié
l’impact de l’analyse par composante principale sur les performances de système. Malheureuse-
ment, le choix de deux ou trois premières composantes principales influence beaucoup le taux
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 75

100
100,00
98,80 98,70
98,00
98,00 95
96,70

Taux de précision
96,00 95,40
90
94,00
85
92,00
90,60
90,00 80

88,00
75
86,00 2 3 4 5 6 7 8 9 10 11 12
Fine Gaussian Medium Coarse Kernel Kernel Kernel Acc 83,2 91,5 94,5 96 97,3 97,4 98 98,4 98,5 98,5 98,6
Gaussian Gaussian linéaire quadratique cubique

Figure 4.12 – Taux de précision pour diffé-


Figure 4.11 – Taux de précision pour les dif-
rents nombre de composantes principales uti-
férentes fonctions du SVM
lisées

de classification, la perte est estimée à plus de 10 % de précision pour un tel choix comme le
montre la figure 4.12. Pour garantir un meilleur taux de classification, l’ensemble des treize
paramètres extraits seront maintenus pour la classification SVM.

4.3.5 Évaluation des performances

Afin d’appliquer la méthode de 5-cross-validation sur les résultats de notre architecture,


nous avons divisé la base des signaux obtenus en cinq. Pour chaque cinq signaux consécutifs,
l’un d’entre eux sera dans la base de test et les quatre autres dans la base d’apprentissage.
Nous avons répété cette opération cinq fois, à chaque opération on change le signal utilisé
dans le test. Nous avons calculé les matrices de confusion à chaque opération et la matrice de
confusion globale comme il est présenté dans les tableaux 4.6 et 4.7 :
La matrice de confusion globale nous montre le nombre de battements dans chaque classe.
Les valeurs sur la diagonale représentent des prédictions correctes alors que le reste représente
les erreurs de classification. À partir de ces résultats, nous avons calculé les différents para-
mètres d’évaluation pour chaque type des cinq classes (Normal, RBBB, LBBB, PVC et APB).
Le taux de classification global de l’architecture ANN s’élève à 98.30 %.
De la même manière, c’est à dire nous avons calculé les cinq sous matrices de confusion
pour calculer la matrice de confusion globale de l’architecture proposée à base de SVM. Elle
est représentée sur le tableau 4.8.
À partir des tableaux représentant les matrices de confusion de l’architecture ANN (Tab.4.7)
et l’architecture SVM (Tab.4.8), et en appliquant la méthode de calcul expliquer dans le ta-
bleau 3.2. Nous avons calculé les différents paramètres de performances pour chaque classe
parmi les cinq classes (Normal, RBBB, LBBB, PVC et APB). Le tableau 4.9 présente la sen-
sibilité, la spécificité, la valeur prédictive positive et le taux de classification Acc calculés pour
chaque classe des deux architectures (ANN & SVM). Les deux méthodes présentent une haute
précision de détection spécialement pour les classes RBBB et LBBB avec un Léger avantage
pour les séparateurs à vaste marge (SVM) (Voir Fig.4.16).
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 76

Table 4.6 – Les cinq matrices de confusion pour la méthode de crosse-validation

True class
First 5-fold cross validation Second 5-fold cross validation
Normal LBBB RBBB PVC APB Normal LBBB RBBB PVC APB
Predicted class Normal 14769 33 25 46 49 14774 30 30 50 53
LBBB 21 1565 1 11 2 18 1573 3 3 1
RBBB 14 2 1416 6 3 23 2 1409 0 0
PVC 41 7 0 1348 42 43 3 0 1363 21
APB 39 2 2 9 440 27 1 2 4 461
Third 5-fold cross validation Fourth 5-fold cross validation
Normal LBBB RBBB PVC APB Normal LBBB RBBB PVC APB
Predicted class Normal 14776 20 31 50 54 14764 34 35 50 80
LBBB 22 1583 2 8 1 23 1568 4 4 5
RBBB 25 3 1410 0 5 28 0 1402 1 2
PVC 28 2 1 1348 13 38 5 1 1358 14
APB 33 1 0 14 463 32 2 2 7 435
Fifth 5-fold cross validation
Normal LBBB RBBB PVC APB
Predicted class Normal 14772 27 19 60 40
LBBB 23 1577 3 8 2
RBBB 25 1 1417 1 4
PVC 39 5 1 1342 41
APB 26 0 4 10 449

Table 4.7 – Matrice de confusion pour ANN

Classe prédite
Classe d’origine
Normal RBBB LBBB PVC APB

Normal 73855 144 140 256 276


RBBB 107 7866 13 34 11
LBBB 115 8 7054 8 14
PVC 189 22 3 6759 131
APB 157 6 10 44 2248

L’analyse des résultats illustrés dans les figures (Fig. 4.13, Fig. 4.14, Fig. 4.15 et Fig.4.16)
montre que les deux méthodes présentent une spécificité élevée ce qui se traduit par une dé-
tection correcte des cas qui n’appartiennent pas à la classe étudiée. La valeur de prédiction
positive est plus élevée pour les cas normaux par rapport aux autres classes, ceci est dû au
nombre important de battements normaux inclus dans la phase d’apprentissage ( plus de 70
% de la base) ce qui a permis aux algorithmes de bien reconnaître les battements de la classe
normale. De même, la prédiction positive de la classe normale est plus importante que celle
des autres classes pour la même raison ( nombre des battements normaux important). La sen-
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 77

Table 4.8 – Matrice de confusion pour SVM

Classe prédite
Classe d’origine
Normal RBBB LBBB PVC APB

Normal 74211 63 21 99 28
RBBB 126 7895 1 24 0
LBBB 136 6 7072 4 2
PVC 243 7 5 6832 14
APB 357 7 13 52 2251

Table 4.9 – Performances des architechtures proposées pour les différentes classes

TP FP FN TN Se Sp Pp Acc
Classe
ANN SVM ANN SVM ANN SVM ANN SVM ANN SVM ANN SVM ANN SVM ANN SVM
Normal 73855 73833 568 1172 816 589 24231 23875 98.91 99.21 97.71 95.32 99.24 98.44 98.61 98.23
PVC 6759 6702 342 267 345 399 92024 92101 95.14 94.38 99.63 99.71 95.18 96.17 99.31 99.33
RBBB 7054 7879 166 200 145 167 92105 91223 97.99 97.92 99.82 99.78 97.70 97.52 99.69 99.63
LBBB 7866 7043 180 129 165 177 91259 92120 97.95 97.55 99.80 99.86 97.76 98.20 99.65 99.69
APB 2248 2084 432 160 217 569 96573 96629 91.20 78.55 99.55 99.83 83.88 92.87 99.35 99,27

100,00 98,91 99,72


97,99 98,12 97,95 97,95 100,00 99,63 99,81 99,82 99,91 99,80 99,96
99,55
99,95

96,21
95,14
99,00
95,00
91,20 97,71
98,00
90,00
97,00 96,56
85,00 83,99
96,00

80,00
95,00

75,00 94,00
Normal PVC RBBB LBBB APB Normal PVC RBBB LBBB APB

ANN SVM ANN SVM

Figure 4.13 – Comparaison entre les ar- Figure 4.14 – Comparaison entre les ar-
chitectures ANN et SVM en termes de sen- chitectures ANN et SVM en termes de spé-
sibilité pour chaque classe cificité pour chaque classe

sibilité de l’algorithme est la capabilité de distinguer les battements d’une classe correctement
par rapport aux autres battements, ceci est proportionnel au nombre de battements d’une
classe, plus le nombre est élevé, plus l’algorithme apprendre à bien séparer les battements. La
sensibilité des battements normaux est la plus élevée alors que la sensibilité des battements
APB est la plus basse, ceci est dû au nombre de battements utilisés lors de phase d’apprentis-
sage ( plus de 70 % des battements sont normaux contre moins de 3% des battements APB).
Nous remarquons sur la figure 4.13 que la méthode de réseau de neurones est plus flexible à
reconnaitre le battement APB contrairement à la méthode SVM malgré le nombre réduit de
battements. Ceci est dû aux avantages de la méthode ANN, les poids de l’architecture per-
4.3. Deuxième méthode proposée pour la classification des battements
cardiaques 78

1,00 0,99 0,99 0,99 0,99 100,00


0,97 0,98 0,98 0,98 99,81
99,76
99,80 99,69 99,65
0,95
99,55
0,95 99,60 99,49
99,31 99,35
99,40
0,90 99,20
99,00 98,92

0,85 0,84 98,80


98,61
98,60
0,80 98,40
98,20
0,75 98,00
Normal PVC RBBB LBBB APB Normal PVC RBBB LBBB APB

ANN SVM ANN SVM

Figure 4.15 – Comparaison entre les ar- Figure 4.16 – Comparaison entre les archi-
chitectures ANN et SVM en termes de pré- tectures ANN et SVM en termes de taux de
diction positive pour chaque classe précision pour chaque classe

mettent d’augmenter la probabilité et la chance d’identifier un battement APB correctement.


Par contre les séparateurs à vaste marge sont connus par leurs forces à séparer une classe par
rapport à d’autres comme il est illustré dans la figure 4.15, le SVM peut facilement séparer
les battements qui n’appartiennent pas à la classe APB comparé aux réseaux de neurones.
À titre indicatif, nous avons présenté les courbes de ROC pour les deux classes présentant
le taux de précision le plus faible ( classe Normal et classe APB). La figure 4.17 présente la
courbe de ROC obtenue par la classification par SVM pour la classe normale, le point rouge
indique que notre classifieur attribue 4 % des battements anormaux à la classe normale et il
classe correctement tous les battements normaux (taux 100 %). De même, le classifieur arrive
a classifié 82 % des battements APB correctement à leur classe (4.18).

Figure 4.17 – La courbe de ROC pour


Figure 4.18 – La courbe de ROC pour la
la classe Normal obtenue avec le classifieur
classe APB obtenue avec le classifieur SVM
SVM

Une comparaison entre le taux de classification de la méthode conçue à base de réseaux de


4.4. Conclusion 79

neurones et la méthode basée sur le support vecteur machine est présentée dans le tableau 4.10.
Un total de 479 battements de plus ont été bien classées par les SVM par rapport au ANN, ce
qui élève le taux total de classification du SVM à 98. 79 contre 98.30 pour l’ANN. Plusieurs

Table 4.10 – Comparaison des performances entre les architectures ANN et SVM

Classifieur TP Total Acc


ANN 97782 99469 98,30
SVM 98261 99469 98,79

études de classification existent dans la littérature, Tableau 4.11 présent quelques travaux
parmi ces études. Les méthodes proposées pour la classification des battements du coeur sont
essentiellement optimales en les comparant avec les autres méthodes. Avec seulement treize
paramètres extraits dans la phase de traitement, nous avons obtenu un taux de classification
de 98.79 et 98.30 qui est plus grand que le taux de la plupart des autres méthodes.

Table 4.11 – comparaison de quelques études de reconnaissance sur l’ensemble de la base de


données MIT-BIH avec l’approche proposée.

Method Features set N Features Classifier Acc


Zhang et al.(2014) [Zhang 2014] RR intervals & Morphological infos 45 SVM 89.59 %
Fatin et al. (2016) [Elhaj 2016] KPCA+DWT+HOS+ICA 28 SVM-RBF NN 98.9 %
Martis et al. (2013) [Martis 2013] Bispectrum+ PCA 12 SVM-RBF 93.48 %
Shu et al. (2019) [Oh 2019] ECG signal 1000 samples modified U-net (CNN) 97.32 %
Yeh et al. (2010) [Yeh 2010] Fuzzy c-means 9 Range-overlaps method 93.57 %
Martis et al. (2012) [Martis 2012] PCA 12 Feed forward NN, LS-SVM 98.11 %
Jinyuan et al. (2020) [He 2020] RR interval+HOS+wavelet coefficients 12 SVM KNN MLP 93.0 %
Li et al. (2016) [Li 2016] PCA + k-ICA 20 SVM 97.78 %
Proposed DWT-HOS-RRintervals 13 ANN 98.3 %
Proposed DWT-HOS-RRintervals 13 SVM 98.79 %

Le travail présenté par Fatin et al. [Elhaj 2016] a obtenu un taux légèrement plus grand
que notre méthode (98.9 % contre 98.79 % et contre 98.30 %), mais avec plus que le double
des paramètres extrait (28 paramètres pour Fatin et al. [Elhaj 2016] contre seulement 13 para-
mètres dans notre algorithme). Ce nombre important des paramètres influencera la complexité
du calcul et le temps d’exécution, ce qui engendra des pertes en énergie et en performance
du système final. Ceci, nous mène à dire que l’architecture proposée est plus adaptée pour les
applications en temps réel et qu’elle a fait ses preuves pour être implémentée dans un système
embarqué complet fonctionnant en temps réel afin de détecter et de classer les arythmies.

4.4 Conclusion

Des millions de personnes dans le monde entier souffrent d’arythmie cardiaque. Dans ce tra-
vail, nous avons proposé deux systèmes de monitoring de la détection automatisée de l’arythmie
à partir de signal ECG. La première architecture est basée sur les filtres numériques afin de
4.4. Conclusion 80

détecter le complexe QRS dans le signal ECG. Une nouvelle approche de détection fondée sur
la dérivée centrée et le théorème des valeurs intermédiaire a été proposée. Elle nous a permis
de détecter les complexes QRS avec une précision de 99.26 ce qui nous a permis de surveiller
efficacement la variation des rythmes cardiaques et donc détecter instantanément l’apparition
d’une tachycardie ou une bradycardie.
La deuxième méthode proposée se compose de trois modules : un module de segmentation
de signal ECG en battements, un module d’extraction des paramètres pertinents et un module
d’apprentissage et de classification à base de réseau de neurones artificielle (ANN) ou à base
de support vecteur machine (SVM). Le module ANN est composé de deux couches chacune
d’entre elles contient 18 neurones connectés entre eux d’une manière "Réseau de neurones
à action directe" où en anglais "Feedforward neural network ", alors que le module SVM
est conçu avec un noyau gaussien d’ordre moyen. En tout, nous avons extrait 13 paramètres
à partir des battements segmentés, 4 intervalles RR, trois paramètres statiques directement
calculés sur le battement et six autres paramètres calculés à partir de la décomposition dis-
crète en ondelette. Les méthodes proposées ont démontré une amélioration significative de
la performance de classification par rapport aux méthodes précédemment développées pour
la classification entièrement automatique des battements cardiaques sur le MIT-BIH avec un
taux de précision de 98.30 et 98.79 respectivement pour les ANN et SVM. Les méthodologies
proposées dans cette étude peuvent être considérées comme des modèles dans la recherche et
le développement des systèmes de détection de l’arythmie et les applications de télémédecine.
Chapitre 5

Conception du système embarqué

Contents
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Architectures numériques dédiées aux implémentations matérielles 82
5.2.1 Processeurs à usage général GPP . . . . . . . . . . . . . . . . . . . . 83
5.2.2 Processeurs de traitement du signal DSP . . . . . . . . . . . . . . . 83
5.2.3 Circuit spécifique ASIC . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2.4 Processeurs reconfigurables FPGA . . . . . . . . . . . . . . . . . . . 85
5.2.5 Langages de programmation FPGA . . . . . . . . . . . . . . . . . . 88
5.2.6 Carte Xilinx Nexys 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3 Carte d’acquisition du signal ECG . . . . . . . . . . . . . . . . . . 90
5.3.1 Electrodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.2 Schéma électrique de la carte . . . . . . . . . . . . . . . . . . . . . . 91
5.4 Carte "Analog Discovery" et l’interface "WaveForms" . . . . . . 93
5.5 Méthodes d’implémentations des systèmes proposés pour la dé-
tection et la classification des arythmies . . . . . . . . . . . . . . . 95
5.5.1 Architecture de l’implémentation Hardware sur FPGA du système de
détection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.5.2 Test en temps réel et validation du système proposé . . . . . . . . . 100
5.5.3 Implémentation hardware du deuxième système proposé . . . . . . . 102
5.6 Résultats et discussion . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.6.1 Test en Co-simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.6.2 Évaluation des performances . . . . . . . . . . . . . . . . . . . . . . 109
5.6.3 Comparaison des performances . . . . . . . . . . . . . . . . . . . . . 111
5.6.4 Évaluation en temps réel . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

5.1 Introduction

Avec le développement des nouvelles technologies et leur utilisation dans les nouveaux pro-
duits, il devient intéressant d’intégrer une démarche d’aide au diagnostic dans un processus de

81
5.2. Architectures numériques dédiées aux implémentations matérielles 82

calcul automatique. Le rôle des techniques d’analyse et de traitement du signal est primordial
dans le domaine de l’électronique médicale, il permet la réalisation du système intelligent ex-
pert capable d’établir un diagnostic automatique d’une pathologie. Ce système offre une aide
au diagnostic et un suivi régulier des patients. Avec une surveillance permanente c’est-à-dire
un monitoring ambulatoire, il est possible de prévenir une crise sans nécessiter une prise en
charge hospitalière lourde et coûteuse.
Dans ce contexte, ce chapitre décrit un aperçu complet sur les supports hardwares utilisés
dans la conception des systèmes portatifs intelligents pour le diagnostic médical, ainsi qu’une
justification de notre choix quant aux FPGAs par rapport aux autres architectures proposées.
Par la suite, nous aborderons la conception hardware des systèmes proposés dans cette thèse
en détaillant toutes les étapes et les différentes phases de l’architecture matérielle, allant de la
carte d’acquisition du signal ECG jusqu’à l’implémentation sous FPGA des différents modules.
Pour montrer la validé et la robustesse de nos systèmes, des résultats de tests seront présentés
et une comparaison avec les travaux de la littérature sera établie.

5.2 Architectures numériques dédiées aux implémentations ma-


térielles

Dans cette section, nous allons décrire les différentes architectures électroniques permettant
l’implémentation hardware des algorithmes de traitement du signal en temps réel. Nous allons
aussi discuter les avantages et les inconvénients de chacune d’elles, et nous conclurons par la
description de l’architecture choisie pour notre système.
Les fabricants de circuits intégrés numériques s’attachent à fournir des circuits présentant
des densités d’intégration toujours plus élevées, pour des vitesses de fonctionnement de plus
en plus grandes. À l’origine, ils ont réalisé des circuits SSI (Small Scale Integration), les
fonctions logiques intégrées se sont développées avec la mise au point du transistor MOS dont
la facilité d’intégration a permis la réalisation de circuits MSI (Medium Scale Integration) puis
LSI (Large Scale Integration) puis VLSI (Very Large Scale Integration). Ces deux dernières
générations ont vu l’avènement des microprocesseurs et microcontrôleurs. Bien que ces
derniers aient révolutionné l’électronique numérique par la possibilité de réaliser n’importe
quelle fonction par programmation d’un composant générique, ils traitent l’information de
manière séquentielle (du moins dans les versions classiques), ne répondant pas toujours aux
exigences de rapidité.
Au début des années 70, un nouveau composant électronique a vu le jour, caractérisé par la
possibilité de configurer par programmation n’importe quelle fonction logique et l’implémenter
physiquement sous forme hardware. D’abord dédiés à des fonctions simples en combinatoire
(décodage d’adresse par exemple), ces circuits laissent aujourd’hui au concepteur la possibilité
d’implémenter des composants aussi divers qu’un inverseur et un microprocesseur au sein d’un
même boîtier ; le circuit n’est plus limité à un mode de traitement séquentiel de l’information
comme avec les microprocesseurs.
5.2. Architectures numériques dédiées aux implémentations matérielles 83

5.2.1 Processeurs à usage général GPP

L’histoire des microprocesseurs a débuté en 1971 avec l’apparition de l’Intel 4004. Celui-
ci était un microprocesseur 4 bits comportant 2300 transistors, gravés dans une technologie
pMOS de 10 µm avec une fréquence maximale de 750 kHz. Depuis cette date, une quin-
zaine de générations se sont succédées. De nos jours, l’Intel Core I7 utilise une technologie
de 0,032 micron avec 1 170 000 000 transistors. Les fréquences courantes atteignent 3.3 Giga
Hertz. Il est à noter que depuis l’apparition de la famille Core dans les années 2005-2006,
le circuit contient plusieurs cœurs de processeurs (4 dans le Core I7). Pour implémenter une
application sur un microprocesseur, on réalise d’abord une description algorithmique avec un
langage de programmation quelconque qui est ensuite transcrite en séquence d’instructions
pour le microprocesseur cible. Les compilateurs sont les outils qui se chargent de cette phase
de transformation. La plupart des microprocesseurs effectuent une exécution séquentielle des
opérations. L’absence de parallélisme impose souvent plusieurs cycles machine pour exécuter
une ligne de programme.
— Le chemin de données ou « datapath » est constitué de l’unité arithmétique et lo-
gique servant aussi bien pour le traitement de l’algorithme lui-même que pour le calcul
des adresses mémoires lors d’adressage complexe. Il comporte également des registres
d’usage général et des registres primordiaux au fonctionnement du microprocesseur
tels que le compteur de programme (PC : Program Counter), le pointeur de pile (SP :
Stack Pointer), les registres de flags, et parfois le registre d’instruction (IR : Instruction
Register).
— Le contrôleur qui contient le registre d’instructions quand celui-ci n’est pas déjà présent
dans le chemin de données est la clef du modèle séquentiel de la machine Von Neumann.
Il séquence et contrôle toutes les opérations effectuées à l’intérieur du processeur, et gère
aussi les exceptions, telles que débordements de capacité, les requêtes d’interruptions,
les transactions sur les bus, etc.
L’exécution de chaque instruction se décompose en 3 phases [Shiva 2000] :
— Cycle de recherche d’instruction : Le compteur programme PC contient l’adresse de la
prochaine instruction à exécuter permettant de transférer celle-ci de la RAM au registre
d’instruction IR. Parallèlement, le contrôleur incrémente de 1 la valeur présente dans
le compteur programme PC, qui contient alors l’adresse de l’instruction suivante.
— Cycle de décodage d’instruction : Le registre d’instruction IR contient l’instruction
à exécuter, celle-ci est lue par le décodeur, qui va générer une séquence de macro-
instructions nécessaire à l’exécution de cette instruction. Cette séquence commande les
opérations dans le datapath ainsi que les chargements de registres, les lectures/écritures
en mémoire et les opérations sur les entrées/sorties, etc.
— Cycle d’exécution : L’instruction considérée est traitée dans le datapath.

5.2.2 Processeurs de traitement du signal DSP

Les processeurs de traitement du signal (DSP) sont des puces conçues initialement pour
gérer les cartes son des casques, les PC, les smartphones, les haut-parleurs intelligents et tout
équipement audio de studio. Grâce à l’énorme progrès de la technologie de semi-conducteur,
5.2. Architectures numériques dédiées aux implémentations matérielles 84

les DSP ont bénéficié de la rapidité (grâce au faible temps de commutation) et en puissance
de calculs (grâce au nombre de bits des bus internes). L’utilisation de cette technologie a aug-
menté considérablement avec l’exploitation dans le domaine de télécommunication (téléphone
numérique, puis téléphone sans fil GSM) au début des années 1990, puis grâce à ses possibi-
lités de traitement et d’exécution rapide des algorithmes complexes du traitement du signal
tout en maintenant une faible consommation d’énergie. Parallèlement aux microprocesseurs
et aux microcontrôleurs, les processeurs de traitement numérique du signal, ou DSP (Digi-
tal Signal Processor), ont bénéficié des énormes progrès en rapidité (grâce au faible temps
de commutation) et en puissance de calculs (grâce au nombre de bits des bus internes) des
composants logiques intégrés programmables. Utilisés initialement pour gérer la carte son des
micro-ordinateurs, les DSP ont vu leur utilisation s’accroître considérablement depuis 1985,
grâce à ses possibilités de traitement rapide de certaines commandes numériques faisant appel
à des algorithmes complexes permettant ainsi le travail en « temps réel ».

5.2.3 Circuit spécifique ASIC

Les circuits intégrés à application spécifique ou ASIC sont, comme leur nom l’indique,
des circuits intégrés non standard qui ont été conçus pour une utilisation ou une application
spécifique. En général, un ASIC est conçu pour un produit dont la production est à grande
échelle, et il peut contenir une très grande partie de l’électronique nécessaire sur un seul
circuit intégré. Comme on peut l’imaginer, le coût de la conception d’un ASIC est élevé, et
c’est pourquoi il est généralement réservé aux produits à grand volume.
Malgré le coût de la conception d’un ASIC, ils peuvent être très rentables pour de nom-
breuses applications où les volumes sont élevés. Il est possible d’adapter la conception de l’ASIC
pour répondre aux exigences exactes du produit et l’utilisation d’un ASIC peut signifier qu’une
grande partie de la conception globale peut être contenue dans un seul circuit intégré et que le
nombre de composants supplémentaires peut être considérablement réduit. En conséquence,
ils sont largement utilisés dans des produits à fort volume comme les téléphones portables ou
d’autres applications similaires, souvent pour des produits de consommation où les volumes
sont plus importants, ou pour des produits commerciaux qui sont largement utilisés.
Les premiers circuits intégrés à application spécifique (ASIC) ne concernaient tradition-
nellement que les fonctions logiques. Aujourd’hui, les ASIC à signaux mixtes peuvent intégrer
des fonctions analogiques (y compris RF) et logiques. Ces ASIC à signaux mixtes sont parti-
culièrement utiles pour pouvoir réaliser un système complet sur puce, le SoC. Dans ce cas, un
système ou un produit complet est intégré sur une puce et pratiquement aucun autre compo-
sant n’est nécessaire. Cela fait de la conception d’un ASIC à signaux mixtes une proposition
très intéressante pour de nombreuses applications. Le développement et la fabrication d’une
conception ASIC, y compris la mise en plan de l’ASIC, sont un processus très coûteux. Afin
de réduire les coûts, il existe différents niveaux de personnalisation qui peuvent être utilisés.
Ceux-ci peuvent permettre de réduire les coûts pour les conceptions pour lesquelles de grands
niveaux de personnalisation de l’ASIC ne sont pas nécessaires. Il existe essentiellement trois
niveaux d’ASIC qui peuvent être utilisés :
— Gate Array Ce type d’ASIC est le moins personnalisable. Ici, les couches de silicium
5.2. Architectures numériques dédiées aux implémentations matérielles 85

sont standard, mais les couches de métallisation permettant les interconnexions entre
les différentes zones de la puce sont personnalisables. Ce type d’ASIC est idéal lorsqu’un
grand nombre de fonctions standard sont requises et qu’elles peuvent être connectées
d’une manière particulière pour répondre à une exigence donnée.
— Cellule standard Pour ce type d’ASIC, le masque est une conception personnalisée,
mais le silicium est constitué de composants de bibliothèque. Cela donne un degré élevé
de flexibilité, à condition que les fonctions standard soient en mesure de répondre aux
exigences.
— Conception entièrement sur mesure Ce type d’ASIC est le plus flexible, car il
implique la conception de l’ASIC jusqu’au niveau du transistor. La configuration de
l’ASIC peut être adaptée aux exigences exactes du circuit. Bien qu’il offre le plus haut
degré de flexibilité, les coûts sont beaucoup plus élevés et son développement prend
beaucoup plus de temps. Les risques sont également plus élevés, car l’ensemble de la
conception n’a pas été testé et n’est pas constitué à partir d’éléments de bibliothèque
déjà utilisés.
En fin de compte, un ASIC est un choix judicieux pour diverses raisons. Un ASIC peut réduire
la taille de votre produit, les coûts peuvent être considérablement réduits et vous disposerez
d’une puce à laquelle personne ne peut accéder à part vous. Ces raisons à elles seules devraient
inciter l’utilisateur à envisager le développement de son propre ASIC.

5.2.4 Processeurs reconfigurables FPGA

Le premier FPGA a été inventé par Ross Freeman (cofondateur de Xilinx) en 1985. Depuis
cette époque, leur capacité logique s’est considérablement améliorée et ils sont devenus un choix
populaire, car les systèmes FPGA peuvent être reprogrammés après fabrication du prototype
pour réaliser d’autres applications. Certains FPGA peuvent être reprogrammés infiniment et
d’autres de façon limitée.
En général, les FPGA sont des puces de silicium programmables avec un ensemble de blocs
logiques programmables entourés par des blocs d’entrée/sortie qui sont reliés par des réseaux
d’interconnexion programmables pour devenir toute sorte de circuit ou de système numérique.
Les FPGA sont développés à partir de mémoires mortes programmables (programmable read-
only memory PROM) et de dispositifs logiques programmables (PLD).
Contrairement aux processeurs, les FPGA sont de nature véritablement parallèle. Chaque
tâche de traitement indépendante est assignée à une section dédiée de la puce. Par consé-
quent, la performance d’une partie de l’application n’est pas affectée lorsque d’autres tâches
de traitement sont ajoutées.

Architecture d’un FPGA L’architecture précise d’un FPGA varie d’un fournisseur à
l’autre. Nous présentons ici (Fig.5.1.) une structure FPGA standard qui contient les éléments
suivants :
5.2. Architectures numériques dédiées aux implémentations matérielles 86

Blocs logiques programmables : Les blocs logiques peuvent être formés de milliers
de transistors à des millions de transistors. Ils mettent en œuvre les fonctions logiques re-
quises pour la conception et se composent de modules logiques tels que les combinaisons de
transistors, les tables de correspondance (look-up tables LUT) et la fonction de contrôle et de
transmission (flip-flops et multiplexeurs).

Blocs d’E/S programmables : Ils relient les blocs logiques aux composants externes
par l’intermédiaire de broches d’interface.

Ressources d’interconnexion programmables : Ce sont des interconnexions électri-


quement programmables (prépositionnées verticalement et horizontalement) qui fournissent
le chemin d’acheminement des blocs logiques programmables. Les chemins d’acheminement
contiennent des segments de fil de longueurs variables qui peuvent être interconnectés par des
commutateurs électriquement programmables. La densité du FPGA dépend du nombre de
segments utilisés pour les trajets de routage. La figure 5.2 montre la structure interne d’un

Figure 5.1 – Architecture standard d’un FPGA

FPGA à matrice symétrique. C’est l’architecture présente dans le FPGA actuel. L’utilisateur
peut programmer des fonctions exécutées par chaque unité (CLB : bloc logique configurable).
Nous programmons également l’interconnexion entre les cellules. Le dernier FPGA peut être
configuré en une centaine de millisecondes. Les FPGA sont utilisés pour le développement
rapide et peu coûteux des ASIC [Messaoudi 2012].

Consommation d’énergie Les FPGA consomment beaucoup plus d’énergie que les ASIC
car ils possèdent un grand nombre de transistors par fonction logique afin de programmer les
composants. Les FPGA à faible consommation d’énergie sont idéaux et représentent un défi
pour les fabricants des FPGA. Il existe trois types de consommation d’énergie à prendre en
compte pour concevoir un FPGA efficace :
— Puissance statique : Il s’agit de la puissance consommée par les pertes des transistors
lorsqu’aucun signal ne passe.
5.2. Architectures numériques dédiées aux implémentations matérielles 87

Figure 5.2 – Architecture conceptuelle d’un FPGA actuel

— Puissance dynamique : c’est la puissance consommée par le basculement des tran-


sistors pendant le fonctionnement du circuit.
— Puissance d’entrée/sortie : c’est la la puissance consommée par les portes d’en-
trée/sortie, y compris les entrées/sorties générales et les émetteurs-récepteurs série à
grande vitesse.

Comparaison entre FPGA et ASIC

Lorsqu’on compare les ASIC structurés aux FPGA, chacun a ses avantages propres. Pour
la phase de conception initiale, les FPGA l’emportent incontestablement. Les concepteurs ont
la possibilité de synthétiser de la logique RTL dans un circuit FPGA afin de concrétiser un
concept théorique en un dispositif physique et de valider le fait que ce concept fonctionne
comme prévu. Ce système peut être remodifié, peaufiné, amélioré ou purement et simplement
mis au rancart sans plus d’investissement pour un projet que le temps passé par les concepteurs
et le coût des FPGA. Cependant, pour la production en volume. Le coût d’un circuit ASIC
structuré est nettement (jusqu’à 10 fois) plus faible que celui d’un FPGA, ce qui économise
de grosses sommes d’argent lorsque le volume total du programme s’approche du seuil de
production. Le tableau 5.1 récapitule les principaux avantages/inconvénients des FPGA et
ASIC alors que le tableau 5.2 résume les 10 différences entre ces deux technologies.
5.2. Architectures numériques dédiées aux implémentations matérielles 88

Table 5.1 – Extrait de comparaison entre FPGA et ASIC

Critère de comparaison FPGA ASIC

Performances X

Délai de commercialisation X

Flux de conception X

coût par unité X

Accès a la technnologie X

Efficacité énergétique X

Blocs analogiques X

5.2.5 Langages de programmation FPGA

La description d’un circuit logique avec un schéma est limitée aux circuits les plus simples. Il est
difficile de dessiner un circuit complexe avec un schéma de portes logiques. Il est encore plus difficile
de le modifier. Parfois, un simple changement dans une équation booléenne du circuit se répercute
par une grande quantité de connexions à corriger. De plus, il est difficile, voire impossible, d’utiliser
des variables en guise de paramètres d’un circuit représenté par un schéma. Pour ces raisons, les
langages de description matérielle (Hardware Description Language – HDL) ont vu le jour au début
des années 1980 lorsque la complexité des circuits à concevoir a rendu impossible l’utilisation exclusive
des schémas. Les avantages des HDL par rapport aux schémas sont :
— les HDL permettent de décrire des systèmes complexes complets.
— les HDL favorisent la décomposition en modules paramétrables.
— les HDL facilitent l’établissement de spécifications et d’interfaces clairement définies.
— les HDL normalisent l’échange d’informations entre plusieurs groupes travaillant sur un même
projet.
Les HDL peuvent servir à :
— la modélisation des circuits (surtout numériques).
— la description des circuits en vue de leur synthèse (i.e. leur réalisation matérielle).
— la documentation des circuits.
Les deux langages de programmation HDL de loin les plus populaires sont le Verilog et le VHDL.
Ces deux langages jouissent de popularités semblables, et sont supportés également par la plupart des
outils de conception. Verilog ressemble un peu au langage C, et VHDL ressemble à ADA. Les deux
langages sont relativement faciles à apprendre, mais difficiles à maîtriser. VHDL est plus vaste, bien
que plusieurs des particularités pour lesquelles Verilog n’a pas d’équivalent soient rarement utilisées.
Quand on connaît l’un des deux langages, il est relativement aisé de passer à l’autre. Un troisième
outil, Xilinx System Generator XSG, gagne en popularité. Dans cette thèse, on ne considèrera que le
XSG.
Le Xilinx System Generator est un outil de programmation des puces FPGA développé par Xilinx.
Il est spécifiquement dédié aux puces de FPGA fabriquées par Xilinx. Il permet aux développeurs de
travailler dans l’environnement Simulink de Matlab et de générer des noyaux paramétrés particuliè-
rement optimisés pour les FPGA de Xilinx (Fig. 5.3.). L’outil est intégré à Xilinx ISE Design Suite
(System Edition) et Xilinx Vivado HL (System Edition). Par défaut, le Xilinx Blockset contient plus
5.2. Architectures numériques dédiées aux implémentations matérielles 89

Table 5.2 – Comparaison entre les technologies FPGA et ASIC

N FPGA ASIC
1 Circuit reconfigurable. Les FPGA peuvent être recon- Circuit permanent. Une fois que le circuit spé-
figurés avec une conception différente. Ils ont la même cifique à l’application est fixé dans le silicium,
capacité de reconfigurer une partie de la puce alors il ne peut plus être modifié. Le circuit fonc-
que les autres zones de la puce fonctionnent encore ! tionnera de la même manière pendant toute
Cette fonction est largement utilisée dans le calcul sa durée de vie.
accéléré dans les centres de données.
2 La conception est généralement spécifiée en utilisant Même chose que pour le FPGA. La conception
des langages de description matérielle (HDL) tels que est spécifiée à l’aide de HDL telle que Verilog,
VHDL ou Verilog. VHDL, etc.
3 Accès plus facile. On peut commencer à développer Très grande difficulté d’accès en termes de
un FPGA pour seulement 30 dollars américains. coût, de courbe d’apprentissage, de liaison
avec la fonderie de semi-conducteurs, etc. Dé-
marrer le développement d’un ASIC à partir
de zéro peut coûter des millions de dollars.
4 Ne convient pas à la production de masse en très Convient pour une production de masse en très
grand volume. grand volume.
5 Moins efficace sur le plan énergétique, il nécessite plus Beaucoup plus efficace que les FPGA. La
de puissance pour la même fonction, ce que l’ASIC consommation d’énergie des ASIC peut être
peut réaliser à une puissance plus faible. contrôlée et optimisée de manière très précise.
6 Fréquence de fonctionnement limitée par rapport à Les ASIC fabriqués à l’aide du même noyau de
l’ASIC d’un noyau de processus similaire. Le routage processus peuvent fonctionner à une fréquence
et la logique configurable consomment la marge de beaucoup plus élevée que les FPGA puisque
temps dans les FPGA. leur circuit est optimisé pour leur fonction spé-
cifique.
7 Les conceptions analogiques ne sont pas possibles Les ASIC peuvent avoir des circuits analo-
avec les FPGA. Bien que les FPGA puissent contenir giques complets, par exemple un émetteur-
du matériel analogique spécifique tel que des PLL, récepteur WiFi, sur la même puce avec des
des ADC, etc., ils ne sont pas très flexibles pour créer noyaux de microprocesseur. C’est l’avantage
par exemple des émetteurs-récepteurs RF. qui fait défaut aux FPGA.
8 Les FPGA sont très adaptés aux applications telles Les ASIC ne sont absolument pas adaptés
que systèmes de prédiction et détection, les radars, aux domaines d’application dans lesquels la
les stations de base des téléphones portables, etc., conception pourrait devoir être mise à jour fré-
pour lesquelles la conception actuelle pourrait devoir quemment ou de temps en temps.
être améliorée afin d’utiliser un meilleur algorithme
ou une meilleure conception. Dans ces applications,
le coût élevé des FPGA n’est pas le facteur décisif.
La programmabilité est plutôt le facteur décisif.
9 Préféré pour le prototypage et la validation d’un Il n’est pas recommandé de prototyper un mo-
design ou d’un concept. De nombreux ASIC sont dèle à l’aide d’ASIC, sauf s’il a été absolument
prototypés en utilisant les FPGA eux-mêmes ! Les validé. Une fois que le silicium a été enlevé, il
principaux fabricants de processeurs utilisent eux- n’y a presque rien à faire pour corriger un bug
mêmes des FPGA pour valider leurs systèmes sur de conception (des exceptions s’appliquent).
puce (SoC). Il est plus facile de s’assurer que la
conception fonctionne correctement comme prévu en
utilisant le prototypage FPGA.
10 Les concepteurs de FPGA n’ont généralement pas be- Les concepteurs d’ASIC doivent s’occuper de
soin de s’occuper de la conception du back-end. Tout tout, du RTL jusqu’à l’arbre de réinitiali-
est géré par des outils de synthèse et de routage qui sation, l’arbre d’horloge, la disposition phy-
garantissent que la conception fonctionne comme dé- sique et le routage, le noyau de proces-
crit dans le code RTL et respecte le timing. Ainsi, les sus, les contraintes de fabrication (DFM), les
concepteurs peuvent se concentrer sur la conception contraintes de test (DFT), etc. En général,
de RTL. chacun des domaines mentionnés est traité par
une personne spécialisée différente.
5.3. Carte d’acquisition du signal ECG 90

Figure 5.3 – Bibliothèque de XSG dans Simulink/Matlab

de 90 blocs DSP, allant de simples additionneurs, multiplicateurs, etc. à des blocs complexes tels que
des blocs de correction d’erreur directe Forward Error Correction blocks, des fast Fourier transforms
FFTs, des filtres et des mémoires, etc. Certains de ces blocs prennent également en charge la DSP en
virgule flottante. La bibliothèque Floating-Point fournie par Xilinx répertorie de tels blocs. En outre,
le System Generator comprend également les blocs mcode et Black Box, qui peuvent être utilisés pour
intégrer les codes Matlab et HDL, respectivement, directement dans l’environnement de conception
Simulink.

5.2.6 Carte Xilinx Nexys 4

La carte Nexys 4 est une plate-forme de développement des circuits numériques complets et prêts
à l’emploi, basée sur la dernière puce FPGA Artix-7TM de Xilinx. Avec sa puce d’Artix-7 de grande
capacité (Xilinx référence XC7A100T-1CSG324C), ses généreuses mémoires externes et sa collection
de ports USB, Ethernet et autres, la Nexys 4 peut accueillir des conceptions allant des circuits com-
binatoires d’introduction aux puissants processeurs embarqués. Plusieurs périphériques intégrés, dont
un accéléromètre, un capteur de température, un microphone numérique MEMs, un amplificateur de
haut-parleur et de nombreux dispositifs d’entrée/sortie permettent d’utiliser le Nexys 4 pour un large
éventail de conceptions sans avoir besoin d’autres composants. La figure 5.4 présente la Nexys-4 ainsi
les différents composants principaux de cette carte.

5.3 Carte d’acquisition du signal ECG


Pour assurer une excellente détection des pathologies cardiaques,nous devons assurer une excellente
qualité du signal issu des électrodes. Ce dernier passera par plusieurs étapes de prétraitement avant de
passer à la numérisation. Les sous-sections suivantes décriront en détail chaque partie de notre carte
d’acquisition utilisée dans cette thèse.

5.3.1 Electrodes

Les électrodes sont les premiers outils utilisés pour enregistrer un signal ECG. Ce sont des cap-
teurs placés sur la peau qui servent à convertir le flux ionique en flux électrique. Nous avons réalisé
5.3. Carte d’acquisition du signal ECG 91

Figure 5.4 – Présentation de la cart Nexys 4 de Digilent

l’acquisition à l’aide de trois électrodes (une sur la main gauche, une sur la main droite et une sur le
pied à droite).

5.3.2 Schéma électrique de la carte

Le schéma électrique complet de la carte d’acquisition réalisée est représenté sur la Fig. 5.5. Il
est composé de plusieurs étapes. Le signal provenant des électrodes passe d’abord par l’amplificateur
d’instrumentation (Fig. 5.5. (A)), il sera filtré par deux filtres, un passe-bas et autre passe-haut (Fig.
5.5. ( B), Fig. 5.5. (C)) respectivement. Les filtres ont été séparés par un amplificateur suiveur pour
préserver les informations et l’énergie du signal (Fig. 5.5. (D)). Le signal résultant doit être amplifié
et ajusté pour être numérisé avec le convertisseur analogique-numérique, comme indiqué sur la Fig.
5.5. (E).

Pre-amplification

Le signal capté par les électrodes est un signal de faible amplitude et très bruyant. À cet effet, la
préamplification est une étape critique. Elle consiste à amplifier le signal acquis et à éliminer au maxi-
mum le bruit en mode commun. Généralement, l’étape de préamplification des signaux physiologiques
est assurée par un amplificateur d’instrumentation du fait de ses caractéristiques adaptées à ce type
d’application. Dans ce travail, l’amplificateur d’instrumentation AD620 a été utilisé. Il est caractérisé
par son faible coût et sa grande précision. Il ne nécessite qu’une seule résistance externe pour définir
5.3. Carte d’acquisition du signal ECG 92

Electrod 1 +Vcc
+Vcc +Vcc
C3 C4
- R1 R2
39pF 39pF
Rg 160 k 160 k
Electrod 2
1k AD620AN + +
ThT
eLupg
r (E)
TL074 074ade
+ - -c
ircu
it
Electrod 3 R3 R4
C1 C2
10k 10k
-Vcc 10nF 10nF
-Vcc -Vcc
Ref 10M
(A) (B) (C) (D)
R5 B40K360
10 k
P
re-amp
l
ifica
tion Thefo
l r H
lowe igh
-passFi
lte
r
Low
-passF
i
lte
r R6 10k R7 10k
+Vcc
+Vcc
-
TL074 -
R8 10k
Output to ADC TL074
+
+

50k
-Vcc R9 10k
-Vcc
Thefo
l
lowe
r
(F)
Theadd
it
iono
ftheo
ffse
t +Vcc

Figure 5.5 – Schéma électrique de la carte d’acquisition du signal.

un gain allant de 1 à 10 000. Dans notre cas, le gain a été ajusté par une résistance variable de 1k Ω.
L’équation 5.1 a été utilisée pour calculer la valeur de résistance afin de rendre l’amplification du gain
égale à G = 7.

G−1
R= (5.1)
49.9 kΩ
Avec Rg = 120Ω.

Filtre passe-bas

Le filtre passe-bas sélectionné est un filtre passif du second ordre avec une fréquence de coupure
calculée par l’équation suivante :

1
Fcutof f 1 = √ (5.2)
2∗π R1 ∗ R2 ∗ C1 ∗ C2

Pour les valeurs de R1 = R2 = 160kΩ and C1 = C2 = 10nF , la fréquence de coupure est égale à 100
Hz.

Filtre passe-haut

Pour éliminer les bruits de basses fréquences comme , le bruit respiratoire ou bruit du mouvement,
un filtrage passe-haut d’une fréquence de coupure de 0.5 Hz a été appliqué. Il s’agit d’un filtre passif
d’ordre deux. Sa fréquence de coupure est calculée avec l’équation suivante :

1
Fcutof f 2 = √ (5.3)
2∗π R1 ∗ R2 ∗ C1 ∗ C2
5.4. Carte "Analog Discovery" et l’interface "WaveForms" 93

Circuit d’amplification

Le signal acquis a une faible amplitude, une amplification est nécessaire pour continuer le traite-
ment. Cette amplification a été réalisée avec un circuit basé sur un amplificateur opérationnel OP07
et avec un gain égal à G = 140 calculé comme suit :

V R1
G=1− (5.4)
R5

Addition de l’offset

Après l’étape d’amplification du signal, et avant de passer à la conversion analogique/numérique,


une étape intermédiaire est nécessaire. Elle consiste à ajouter une tension continue au signal, cette
dernière va permettre d’éliminer la partie négative du signal ce qu’il le rend adéquat à la plage de
conversion de l’ADC.

Suiveur

Un suiveur est un amplificateur de tension utilisé pour transférer une tension du premier circuit
au second sans affecter son énergie (G=1). Nous avons utilisé ce suiveur à deux niveaux, premièrement
entre le filtre passe-bas et le filtre passe-haut, et deuxièmement à la sortie de la carte d’acquisition.
Il est a note que nous avons utilise un amplificateur d’isolation avec le circuit de la Fig.5.3. Cet
amplificateur d’isolement assure une séparation galvanique entre les entrées et les sorties, de sorte
qu’ils ne transmet que les signaux souhaités et élimine les hautes tensions de mode commun.

5.4 Carte "Analog Discovery" et l’interface "WaveForms"


Le Digilent Analog Discovery TM , développé en collaboration avec Analog Devices Inc., est un ins-
trument multifonctionnel qui peut mesurer, enregistrer et générer des signaux analogiques et d’autres
numériques(figure 5.6). L’Analog Discovery nous a permis d’exploiter une diversité de signaux analo-
giques acquis en temps réel et d’autres signaux numériques stockés dans le PC (simulation analogique
des bases de données publiques de signaux physiologiques), à l’aide de simples sondes filaires ; l’adap-
tateur BNC Analog Discovery et les sondes BNC peuvent également être utilisés pour connecter et
utiliser les entrées et les sorties.
Analog Discovery 2 communique avec WaveForms via une connexion USB à l’ ordinateur, installé
sur le PC, ce qui permet de configurer les paramètres de l’Analog Discovery et d’afficher les signaux
résultants issus de n’importe quel circuit. Les WaveForms peuvent être téléchargées et installées en
moins de 60 secondes et peuvent être testées sans matériel grâce à sa fonction de mode démo. En plus
de l’utilisation des instruments dans l’application, WaveForms dispose d’un outil d’édition de scripts,
qui permet de personnaliser les instruments en JavaScript.
Nous avons vu précédemment que le développement d’une commande implémentable sur FPGA est
une tâche très complexe, car elle exige une connaissance et une maitrise très avancées des technologies
relatives à ce type de circuit et de leurs environnements de développements. Malgré ces inconvénients,
il reste très intéressant d’exploiter ce type de circuit, car il nous offre des performances qu’on ne
trouve pas dans les autres circuits. On peut résumer leur puissance de calcul parallèle qui nous permet
d’économiser le temps, en plus de leur flexibilité de configuration et reconfiguration. Les FPGA pos-
sèdent une gestion dynamique de connectivité à leur environnement, ce qui permet implémentation de
5.4. Carte "Analog Discovery" et l’interface "WaveForms" 94

(a) (b)

Figure 5.6 – (a)Les cartes d’Analog Discovery 1 & 2, (b)L’interface WaveForms

différents algorithmes adéquats à des applications très pointues (dans le domaine médical), tout en gar-
dant une grande flexibilité de communication à des environnements très variés en conservant toujours
l’efficacité énergétique et les performances nécessaires. Après avoir eu un aperçu sur la présentation
du support hardware qui va être utilisée dans la conception du système, ainsi que la justification du
choix du dispositif et de ses caractéristiques, nous aborderons dans ce qui va suivre la conception de
l’architecture matérielle du système proposé.
Le rôle que va jouer cette carte dans la phase de test est primordial. Il faut noter que pour la
validation d’un système intelligent dans le domaine du traitement et de la classification des signaux
il est nécessaire d’utiliser une base de données publique prise comme référence par la communauté
des chercheurs scientifiques dans ce domaine. La Mit Data base est une référence dans le domaine
du traitement du signal cardiaque. Ainsi pour pouvoir valider notre système embarqué sur la base de
données en question il faut :
Dans un premier temps, convertir ces signaux numériques en signaux analogiques comme est
montré sur la figure 5.5. Cette phase est représentée par le cheminement des données de l’ordinateur
(base de données numériques) vers la carte via l’analog discovery (conversion du signal numérique en
signal analogique) et les Pmod AD1 (conversion Analogique /Numériques). Dans cette phase l’analog
discovry à pour rôle de convertir les signaux numériques en signaux analogiques ECG à la fréquence
cardiaque de leur acquisition d’origine et là nous auront les signaux ECG réels prêts à être transférer
vers la carte FPGA. Les Pmod AD1 vont discrétiser chaque signal ECG présent à l’entrée du FPGA
tout en réalisant le synchronisme des échantillons acquis et les transférer vers cette carte.
Le signal traité par FPGA va suivre deux cheminements traduisant les résultats du traitement :
Le premier est l’envoi de la valeur de la fréquence déterminée par le système sur un afficheur 7
segments.
Le deuxième réalise l’affichage en temps réel du signal à traiter et affiche le résultat de sa classi-
fication. Cette phase est réalisée grâce au cheminement représenté par fig5.5 à partir de la carte vers
l’ordinateur. Ainsi, il est possible de visualiser sur le PC le signal acquis à l’entrée de la carte FPGA.
Moyennant les Pmod DA2 (conversion numérique /Analogique ) le signal reçu par le FPGA pour être
traité sera aussi présent à la sortie du FPGA pour ensuite passer à travers la carte analog discovry qui
cette fois ci va le convertir en signal ECG numérique et le visualiser en temps réel sur l’ordinateur.
Dans un deuxième temps et après validation de notre système, la fig 5.7 représente un deuxième
cheminement du signal ECG. Le signal acquis dans ce cas à partir d’un malade moyennant notre carte
d’acquisition. L’ECG récolté dans ce cas est analogique et avant toute acquisition via le FPGA il
passe par le Pmod AD1 (conversion Analogique /Numériques). De la même manière que pour la phase
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 95

antécédente nous aurons le cheminement du résultat de traitement vers l’afficheur 7 segments et la


visualisation dn temps réel du signal acquis, sur PC grâce aux Pmod DA2 et l’analog discovry.

Personal Computer Analog Discovery

ECG module Pmod AD1


acquisition

ZOOM

7-segments Nexys 4
display provided
by Nexys 4

WaveForm interface Analog Discovery Pmod DA2

Figure 5.7 – Diagramme du système embarqué proposé et le banc d’essai de validation.

5.5 Méthodes d’implémentations des systèmes proposés pour


la détection et la classification des arythmies

Deux implémentations différentes de l’algorithme de la détection d’arythmie ont été réalisées. La


méthode proposée a d’abord été implémentée et validée dans un logiciel utilisant l’environnement
Matlab (Chapitre 4), puis matériellement à l’aide d’une puce FPGA à faible coût.
La conception de nos systèmes de détection et de classification a été réalisée moyennant l’outil
de conception Xilinx System Generator, qui permet d’utiliser l’environnement Simulink basé sur un
modèle MathWorks pour la conception sur FPGA. Ce qui rend l’algorithme développé applicable et
compatible avec toutes les cartes FPGA de la famille Xilinx. Nos systèmes sont implémentés sur la
carte Nexys4 dotée d’une puce artix7, qui nous permet d’analyser les performances de notre algorithme
afin de garantir le bon fonctionnement des systèmes en temps réel.
La réalisation du modèle se fait sur l’environnement Simulink de Matlab, une nouvelle bibliothèque
est ajoutée à celle de Simulink appelée XSG. Elle contient plus de 90 blocs allant de simples blocs
comme additionneur au plus compliqué comme les DSP et les blocs de FFT.
L’implémentation hardware sous FPGA passe par trois phases essentielles, premièrement le dé-
veloppement du modèle sous l’environnement Simulink de Matlab avec les blocs de Xilinx System
Generator inclus sa simulation. Deuxièmement la génération de code VHDL qui décrit le modèle en
langage machine. Et finalement une étape de synthèse qui consiste à assurer par l’ISE de Xilinx le
routage et le paramétrage de la carte (Voir Fig.5.8.)
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 96

Figure 5.8 – Flot de conception sous XSG

5.5.1 Architecture de l’implémentation Hardware sur FPGA du système


de détection

Cette sous-section décrit la mise en œuvre sur un FPGA de l’architecture proposée pour la détection
d’arythmie en utilisant le blockset XSG. Elle montre également comment le modèle conçu basé sur
XSG a été testé et validé sur une puce FPGA à partir de Simulink de Matlab (co-simulation matérielle).
Enfin, elle présente comment l’architecture proposée peut être téléchargée et exécutée en temps réel
sur FPGA, indépendamment de l’environnement Matlab/Simulink.

Conception matérielle sur XSG Après la réussite de la mise en œuvre logicielle de la si-
mulation basée sur Matlab, la méthode proposée a été implémentée sur une puce FPGA utilisant
la bibliothèque XSG et la carte d’évaluation Nexys-4. L’outil XSG a été utilisé pour configurer, tes-
ter et implémenter l’algorithme proposé sur la carte d’évaluation. Cet outil fournit un système de
modélisation et une génération automatique de code HDL à partir de l’environnement Simulink de
Matlab.
La figure 5.9 présente le diagramme global du système proposé pour la détection des arythmies
réalisé moyennant la bibliothèque du XSG. Ce modèle est constitué de trois blocs principaux : un
premier sous-système de prétraitement du signal, suivi par un autre sous-système de détection du
complexe QRS et le calcul de la fréquence cardiaque et finalement un sous-système pour la décision
de la classe.
En plus de ces sous-systèmes, nous avons utilisé plusieurs autres blocs afin de lancer la simulation.
Les blocs en question sont : le bloc "signal from workspace" pour télécharger le signal ECG depuis
l’espace de travail de Matlab, le bloc Scope qui permet de tracer les signaux résultants, le bloc "Display"
pour afficher la fréquence cardiaque calculée et la classe associée au battement. D’autres blocs sont
indispensables pour la simulation, le bloc en rouge nommé "System Generator" permet de sélectionner
et de configurer la carte FPGA ainsi les paramètres associés à la simulation. Les passerelles Geteway In
/ Out permettent de configurer le type de signal dans le modèle et donc de passer du type de données
virgule flottante sur Simulink au type virgule fixe dans les blocs de XSG ou inversement.
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 97

double
Out
System
Generator Bool Gateway Out Scope
Peak Detection
double UFix_11_0 UFix_24_5
ECG In Pre-processing
UFix_9_0 UFix_2_0 double
Gateway In Heart Rate Arrhythmia detection Out
ECG From 0
Arrhythmia MIT-BIH Gateway Out1
Pre-processing Peaks Detection and Display
Heart Rate Calculation1
class_decision double
Out 75

Gateway Out2 Display1

Figure 5.9 – Schéma global de l’implémentation de l’architecture proposée pour la détection


des complexes QRS au moyen la bibliothèque de blocs XSG

Comme décrit dans la sous-section 4.2.1, l’étape de prétraitement (sous-système) est divisée en cinq
phases principales. La figure 5.10 présente cette étape réalisée à l’aide des blocs de la bibliothèque
du XSG. Les détails de la mise en œuvre de ces cinq phases de prétraitement sont présentés dans les
figures. 5.11–5.14. Commençant par la figure 5.11 qui représente le filtre passe-bande de [5-20] Hz mis
en œuvre avec les blocs du XSG. Nous avons choisi le diagramme de forme directe afin de schématiser
ce filtre, ce choix nous permet d’optimiser le nombre de blocs de retard. L’implémentation du filtre
de dérivation avec les blocs XSG est présentée dans la figure 5.12. L’opération de la mise au carré
du signal a été réalisée à l’aide de bloc de multiplication comme il est illustré dans la figure 5.10.
L’implémentation de la fenêtre mobile d’intégration a été illustrée sur la figure 5.13. Elle consiste à
additionner les 54 valeurs consécutives du signal, et finalement la figure 5.14 présente l’implémentation
du filtre RII passe-bas avec une fréquence de coupure de 1 Hz et de forme directe II.

a
UFix_11_0 Fix_23_15 Fix_23_15 UFix_18_5 UFix_24_5 UFix_24_5
1 Low-pass Derivative ab Integrator Low-pass 1
b
In1 Out2
Low-pass Filter Derivative Mult1 Integrator Low-pass
Filter Filter Filter

Figure 5.10 – Implémentation du sous-système de prétraitement de la Fig. 5.9

Le signal prétraité va être injecté dans le sous-système de détection du complexe QRS ainsi que
dans le sous-système de calcul de la fréquence cardiaque, comme décrit dans les sous-sections 4.2.2 et
4.2.3.

La figure. 5.15 présente la mise en œuvre de l’ensemble de la phase de détection du complexe QRS
et du calcul de fréquence cardiaque, basée sur les blocs du XSG ; ses différentes étapes sont entourées
de lignes pointillées en rouge. Après l’application de la dérivée centrée sur le signal prétraité à l’étape
antérieure, le pic du maximum est alors détecté. Pour que ce pic soit considéré comme étant un pic
de l’onde R, il doit respecter les contraintes d’amplitude et de temps appliquées dans les étapes de
validation d’amplitude et de temps, respectivement. Comme il est illustré sur la figure (Fig. 5.15),
le pic de maximum détecté est validé en tant que pic de l’onde R uniquement si son amplitude est
supérieure à 25% de la moyenne des cinq derniers pics dont les maximas sont validés et dans un délai
supérieur à 200 ms (72 échantillons) par rapport au précédent pic de maximum (validé). Toutefois, le
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 98

Input
UFix_11_0
1 a Fix_40_15 Fix_35_15 Fix_23_15 Fix_23_15
a+b x 0.006765 1 x 0.2002
Fix_40_15 b
Input
a+b

AddSub5 CMult4
AddSub4 CMult1
CMult5 Delay5 z -1
Delay1 z-1
a

x 3.711 Fix_40_15 Fix_23_15


Fix_40_15 Fix_40_15 Fix_23_15
x 0.4004
a+b

b
AddSub3 -1
CMult6 Delay4 z
Delay2 z-2 CMult2 AddSub1

a+b
a

Fix_40_15 Fix_35_15
Fix_40_15 x (-5.209) x (-0.01353) Fix_23_15
Fix_40_15 Fix_23_15
x (-0.4004) Fix_23_15

b
a+b

CMult3

a+b
AddSub1 -1 AddSub7
CMult7 Delay3 z

b
CMult3

a+b
a

Delay3 z-1 AddSub2


Fix_40_15 Fix_31_15
x 3.279
Fix_40_15
Fix_23_15 Fix_23_15

Delay2 z-1 a
CMult8 Fix_23_15
a Fix_23_15 Fix_23_15 a+b
Fix_40_15 Fix_30_15 a+b x (-0.2002) b 1
x (-0.7813) x 0.006765 b 1
Fix_40_15 Output
Output AddSub3
AddSub9 CMult4
CMult2

Figure 5.11 – Implémentation du filtre Figure 5.12 – Implémentation du filtre dé-


passe-bande de la Fig. 5.10 en utilisant rivé de la Fig. 5.10 en utilisant XSG block-
XSG blockset set

Figure 5.13 – Implémentation du filtre intégrateur de la Fig. 5.10 en utilisant le blockset


XSG

UFix_24_5
1 a
UFix_24_5 UFix_24_5
Input1 a+b x 0.008651
b

AddSub1 CMult3
a
-1 UFix_24_5
Delay1 z a+b
b 1
CMult1
Output1
UFix_24_5 AddSub3
UFix_24_5
x 0.9827 x 0.008651
UFix_22_5

CMult2

Figure 5.14 – Implémentation du filtre passe-bas de la Fig. 5.10 en utilisant XSG blockset

seuil d’amplitude sera réduit à 5% de la moyenne des derniers cinq pics des maximas validés si aucune
onde R n’a été détectée à moins de 166% de la valeur moyenne des cinq derniers intervalles RR validés.
la fréquence cardiaque est calculée en divisant 60fs = 21600 par le nombre d’échantillons com-
pris entre deux pics consécutifs (intervalle RR). La moyenne des cinq dernières valeurs de l’intervalle
est utilisée comme entrée dans la phase de décision, selon (4.12). Si cette valeur dépasse 120 bat-
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 99

tements/minute, le système classera ce rythme comme étant une tachycardie (classe 2) ; si elle est
inférieure à 50 battements/minute, il sera classé comme une bradycardie (classe 1). Cependant, il sera
classé comme normal (classe 0) si la fréquence cardiaque représentée est comprise entre 50 et 120
battements/minute, comme indiqué dans Fig. 5.16. Le sous-système de décision de la classe a été mis
en œuvre à l’aide de deux composants relationnels pour obtenir l’index de classe à 2 bits.

Figure 5.15 – Implémentation du sous-système de détection de l’onde R et du calcul des


battements cardiaques de la Fig. 5.9

Hardware co-simulation Le modèle basé sur XSG peut être simulé dans l’environnement Sim-
mulink de Matlab pour valider l’approche de la mise en œuvre matérielle proposée. Cependant, il peut
être exécuté sur la puce FPGA depuis Matlab/Simulink à l’aide de la co-simulation matérielle. Le
System Generator générera automatiquement le fichier bitstream et son bloc Simulink associé ( voir
la Fig. 5.17).
Le fichier Bitstream sera chargé plus tard et sera exécuté sur la carte FPGA (Nexys-4) à l’aide
de la connexion JTAG (Connexion avec câble USB). Le System Generator lit les signaux MIT-BIH
à partir de l’espace de travail Matlab (Workspace) et les envoie à la carte FPGA via la connexion
USB-JTAG.
double
Out
Bool Gateway Out
Peak Detection

5.5. Méthodes d’implémentations des systèmes


In proposés pour la détection et la
ECG
double UFix_11_0
Pre-processing
UFix_24_5

Fix_9_0 UFix_2_0
Gateway In Heart Rate Arrhythmia detection Out
classification des arythmies ECG From
100
Arrhythmia MIT-BIH Gateway Out1
Pre-processing Peaks Detection and
Heart Rate Calculation1
class_decision
Out
Gateway Out2

1 In1
Relational1
Fix_9_0
a Bool
UFix_7_0 a>b System double
120 b hi Generator
Gateway Out Scope1
UFix_2_0
Constant1 a Bool
} 1 ECG
double
Gateway In
JTAG
Gateway Out1
double
Display

0
UFix_6_0 lo Co-sim

b a<b Out1 ECG From


50 Arrhythmia MIT-BIH1
double
Gateway Out2 75
Relational2 Concat
Constant final_2017
Display1

hwcosim

Figure 5.16 – Implémentation du sous-


Figure 5.17 – Schéma du JTAG Hard-
système de la décision de classe présentée
ware co-simulation de l’architecture propo-
dans Fig. 5.9 moyennant la bibliothèque
sée dans la Fig. 5.9
XSG.

Il relit ensuite le signal de la détection du complexe QRS et la fréquence cardiaque depuis la


connexion JTAG pour les afficher sur l’interface de Simuink à l’aide des blocs Scope et Display, res-
pectivement. Il est à noter que la carte Nexys-4 doit être configurée manuellement pour réaliser la
co-simulation matérielle.

5.5.2 Test en temps réel et validation du système proposé

L’architecture XSG proposée peut être téléchargée et testée en temps réel sur une puce FPGA,
indépendamment de l’environnement Matlab/Simulink. Comme illustré sur la Fig. 5.7, des modules
électroniques supplémentaires sont nécessaires pour fonctionner en temps réel. Dans un premier lieu et
afin de valider notre système hardware, il faut tester la détection sur une base de données de référence.
Pour cela, nous avons exploité la base de données MIT-BIH des signaux ECG atteints d’arythmie.
Nous avons stocké ces signaux sur un ordinateur personnel (PC). La première validation a été faite
par la co-simulation, où les signaux de la base sont envoyés via la connexion JTAG-USB à la carte
FPGA afin de procéder au traitement. Une deuxième validation a été réalisée moyennant le dispositif
Analog Discovery. Ce dernier nous permet de prendre le signal numérique stocké sur le PC et de
le convertir en un signal analogique afin de simuler une acquisition du signal ECG en temps réel
avec ces signaux de référence de la base de données MIT-BIH. Une troisième validation a été réalisée
en temps réel avec des signaux ECG acquis sur huit personnes volontaires et moyennant la carte
d’acquisition décrite dans la partie 5.3. Pour la deuxième et troisième validation, nous avons utilisé
des convertisseurs analogiques/numériques (PmodAD1) pour convertir les signaux générés par l’analog
discovery et les signaux acquis par la carte, en des signaux numériques exploitables par la carte FPGA.
Par contre des convertisseurs numériques/analogiques (PmodDA2) sont exploités afin de convertir les
signaux numériques générés par la carte FPGA en des signaux analogique pour les afficher sur l’analog
discovery. Il faut noter aussi que dans la première validation, la carte FPGA fonctionne en harmonie
avec Matlab ( même fréquence de fonctionnement) ce que nous permet d’afficher les résultats sur les
scope et les afficheurs de Simulink/Matlab. Alors que dans la deuxième et troisième validation, la carte
FPGA fonctionne indépendamment de Matlab ce que veut dire qu’elle peut atteindre une fréquence
maximale d’opération de (100 Mhz), c’est la raison pour laquelle nous avons envoyé les résultats à
l’analog discovery pour l’affichage.
La valeur de cette fréquence cardiaque calculée est affichée sur 3 digits de l’afficheur 7 segments
disponibles sur la carte d’évaluation Nexys4, et la LED RVB est utilisée pour indiquer la classe ap-
propriée. Fig. 5.18 présente le diagramme basé sur XSG de l’implémentation matérielle en temps réel
du système proposé pour la détection du complexe QRS et de calcul de la fréquence cardiaque. Des
composants supplémentaires ont été ajoutés pour la configuration de la carte pour un fonctionnement
en temps réel :
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 101

— a) Module PmodAD1 : Nous avons ajouté un bloc de configuration permettant d’acquérir


le signal ECG reçu en bus série (Serial Peripheral Interface Protocol).
— b) Module PmodDA2 : Pour fournir le signal de détection du complexe QRS résultant ainsi
le signal ECG retardé, nous avons utilisé un module de configuration PmodDA2 afin d’envoyer
l’information avec le protocole SPI.
— c) Module d’affichage 7 segments : Afin d’afficher la fréquence cardiaque sur l’afficheur 7
segments disponible sur la carte Nexys4, une configuration de ce dernier est requise, elle est
assurée par ce module.

System
Generator FDATool
Down Sample Bool
Bool UFix_1_0 Peak Detection
JA1 cast s UFix_16_0 z
-1 UFix_16_0 UFix_24_5 UFix_3_0
nmm -1 RGB1
z p Pre-processing Arrhythmia detection
Convert en 2 UFix_9_0 nmm A
Heart Rate nmm
Serial to Parallel

Pre-processing Peaks Detection and class_decision B


UFix_1_0 nmm
Heart Rate Calculation1

UFix_1_0 C
cast nmm
UFix_1_0
UFix_1_0
Bool Convert4 D
Control AD1/DA2 nmm
UFix_1_0
UFix_16_0 UFix_16_0 UFix_1_0
x 2000 
2 p s JB1
Display Control Block
nmm UFix_1_0 E
Up Sample1 Pmod DA2_2 nmm
CMult Parallel to Serial
UFix_1_0
Delay1 F
nmm
UFix_1_0
UFix_16_0 UFix_16_0 UFix_1_0
Control AD1/DA2
z
-64

2 p s JB2
UFix_3_0
G
nmm nmm
Up Sample2 Pmod DA2_3
Parallel to Serial1 Display Control Block
AN012
nmm

Figure 5.18 – Schéma de l’implémentation en temps réel du détecteur de complexes QRS et


le calcul de fréquence cardiaque avec bibliothèque XSG.

UFix_1_0
sel 1
UFix_1_0 a
UFix_4_0
bcd0 d0 UFix_1_0
UFix_4_0 2
UFix_9_0 UFix_8_0 UFix_4_0
1 cast hex bcd1 d1 b
In1 UFix_4_0 UFix_1_0
Convert3 bcd2 d2 UFix_1_0 3
Binary--BCD c
Mux1
Converter UFix_1_0
UFix_2_0 BCD to 7-Segment Decoder 4
++ Slice Block
d
UFix_1_0
UFix_1_0
Counter2 5
UFix_3_0 e
6 sel UFix_1_0
6
Constant1
d0 UFix_1_0 f
UFix_3_0
5 UFix_3_0
8 UFix_1_0
d1 7
Constant3 AN
UFix_3_0 g
3 d2 Slice Block BCD to 7-Segment Decoder

Constant4 UFix_5_0
Mux 31 An34568
nmm
Constant6

Figure 5.19 – Implémentation de bloc de contrôle d’affichage de la Fig. 5.18 réalisé avec
bibliothèque XSG.

Figure 5.19 montre plus de détails sur le module basé sur XSG qui contrôle l’affichage de la fréquence
cardiaque. Il est composé de trois blocs principaux : le premier bloc est une boîte noire programmée en
VHDL qui convertit la valeur de la fréquence cardiaque du binaire en BCD (décimal codé en binaire). Il
permet de séparer les valeurs de la fréquence cardiaque du BCD en centaines, en dizaines et en unités.
Le second est basé sur les blocs Slice : il permet de séparer chaque chiffre sur quatre bits. Le troisième
bloc est le décodeur BCD à 7 segments, qui permet le décodage des informations de 4 bits en un signal
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 102

de commande de 7 bits. Un compteur à 2 bits pilote deux blocs de multiplexeur permettant un affichage
séquentiel sur les trois afficheurs 7 segments. L’architecture a d’abord été conçue pour l’implémentation
matérielle en co-simulation(Fig. 5.17), puis a été testée et validée sur l’implémentation hardware en
temps réel (Fig. 5.18). Les ressources requises pour l’architecture proposée sont présentées dans le
tableau. 5.3. L’architecture de temps réel nécessite plus de ressources que la co-simulation matérielle
en raison de l’ajout des blocs de configuration supplémentaires pour les Pmods et l’afficheur 7 segments.

Table 5.3 – Estimation des ressources requises par la méthode proposée sur la carte Nexys4

Architecture Hardware co-simulation Real time


Utilisation des ressources
Slices (15,850) 2,238 (14%) 2,299 (14%)
LUTs (63,400) 6,925 (10%) 7,157 (11%)
Flip Flops (126,800) 2,226 (1%) 2,542 (2%)
Bonded IOBs (210) 24 (11%) 26 (12%)
DSP48E1s (240) 4 (1%) 4 (1%)
Fréquence maximale de fonctionnement 3.936 MHz 3.933 MHz
Puissance totale estimée 42 mW 42 mW

L’architecture proposée consomme moins de ressources (Slices, LUT et IOB), ce qui la rend plus
adaptée aux applications des systèmes fonctionnant en temps réel.

5.5.3 Implémentation hardware du deuxième système proposé

Pour l’implémentation du système de classification proposé, nous avons utilisé le premier système
de détection du complexe QRS présenté dans la Fig.5.9 afin de segmenter le signal ECG en batte-
ments comme il est illustré dans la figure 5.20. Cette dernière présente le modèle global d’un système
de classification contenant une étape de prétraitement et de segmentation (A) suivie par une étape
d’extraction de paramètres pertinents (B) et finalement une étape d’apprentissage et de décision (C).

012 345 678

Figure 5.20 – Implémentation de bloc de contrôle d’affichage de la Fig. 5.18 réalisé avec
bibliothèque XSG.
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 103

Conception de la DWT

La conception de la décomposition discrète en ondelette a été réalisée en se basant sur les travaux
de Mallat [Mallat 1999]. La méthode la plus répandue pour implémenter la DWT est l’utilisation des
bancs de filtre sous forme d’une structure pyramidale, technique développée et expliquée en détail dans
les travaux de Zairi [Zairi 2020]. La sortie y[n] d’un filtre FIR est définie comme la convolution de N
coefficients de filtre c[k] avec une séquence d’échantillons de données d’entrée x[n] :
N
X −1
y(n) = c[k]x[n − k] (5.5)
k=0

89
8 7
7 9 64 76  0129 64 76 6 9 64 76 7  !"#$%ÿ%'((!#)*$%ÿ
7 0127
ÿ  
 7 89
8 6
 0129 64 76 6 9 64 76  0129 64 76 6 9 64 76 6
0126
ÿ  7  6 ÿ  6 89
8 5

 0129 64 76 6 9 64 76  0129 64 76 6 9 64 76 5


0125
ÿ  5  5 ÿ  4 89
8 4

 0129 64 76 6 9 64 76  0129 64 76 6 9 64 76 4


0124
ÿ  3 ÿ  
 4 89
8 3
 0129 64 76 6 9 64 76  0129 64 76 6 9 64 76 3
0123
ÿ   ÿ  

Figure 5.21 – Le schéma global de la transformée d’ondelette discrète

Les informations de détail du signal sont obtenues par les filtres passe-haut alors que les informa-
tions d’approximations sont obtenues par les filtres passe-bas comme il est illustré sur la figure 5.21.
La figure 5.22. présente le schéma interne du filtre passe-bas ( à gauche) et du filtre passe-haut (à
droite).
Comme nous l’avons mentionné dans le chapitre précédent (Chap.4.), nous avons effectué plusieurs
tests avec différentes ondelettes dans la phase d’apprentissage afin de sélectionner la meilleure en termes
de performances. Notre choix s’est porté sur l’ondelette de la famille Daubechies d’ordre 3(DB3) qui a
présenté les meilleures performances pour ce genre d’application [Zairi 2020]. Le tableau 5.4 présente
les coefficients de l’ondelette choisie moyennant la fonction "Wfilters" de Matlab.

Table 5.4 – Coefficients de daubechies

Tap Passe-bas (H) Passe-haut (G)


0 0.035226291882101 -0.332670552950957
1 -0.085441273882241 0.806891509313339
2 -0.135011020010391 -0.459877502119331
3 0.459877502119331 -0.135011020010391
4 0.806891509313339 0.085441273882241
5 0.332670552950957 0.035226291882101

Calcul des paramètres caractéristiques Pour une classification performante, le vecteur des carac-
téristiques sélectionnées doit être optimal. Généralement un bon paramètre caractérise une classe
5.5. Méthodes d’implémentations des systèmes proposés pour la détection et la
classification des arythmies 104

double Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 double Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12
1 z−1 z−1 z−1 z−1 z−1 1 z−1 z−1 z−1 z−1 z−1
In1 In1
Delay5 Delay1 Delay2 Delay3 Delay4 Delay Delay1 Delay2 Delay3 Delay4

−0.45989990234375

0.03521728515625
0.03521728515625

0.45989990234375

−0.135009765625
−0.135009765625

0.3326416015625

−0.3326416015625

0.806884765625
−0.08544921875

0.806884765625

0.08544921875
C1 C2 C3 C4 C5 C6 C2 C3 C4 C5 C6
C1

Fix_16_14 Fix_16_14 Fix_16_14 Fix_16_14 Fix_16_14 Fix_16_14 Fix_16_14 Fix_16_14 Fix_16_14 Fix_16_14
Fix_16_14
Fix_16_14
a

b
a

Mult1 Mult2 Mult3 Mult4 Mult5 Mult Mult1 Mult2 Mult3 Mult4 Mult5
a × b

a × b

a × b

a × b

a × b
Mult

a × b

a × b

a × b

a × b

a × b

a × b
a × b

Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12
Fix_24_12
a

b
a

b
AddSub AddSub1 AddSub2 AddSub3 AddSub4
AddSub AddSub1 AddSub4
a + b

a + b

a + b

a + b

a + b

AddSub2 AddSub3

a + b

a + b

a + b
a + b

a + b
Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12 Fix_24_12
Fix_24_12 Fix_24_12 Fix_24_12
Fix_24_12 Fix_24_12

1 Out1 1 Out1

Figure 5.22 – Réalisation des filtres passe-bas et passe-haut de la figure 5.21

lorsqu’il est fortement corrélé à cette classe. Notre étude dans le chapitre 4 a montré que les treize
paramètres extraits sont suffisants pour une bonne classification. À partir du signal de détection de
l’onde R nous pouvons segmenter le signal ECG en battements, mais aussi calculer l’intervalle RR
entre deux battements et la valeur moyenne des cinq derniers intervalles. De cette façon nous avons
calculé les 4 intervalles RR lors de notre développement dans la partie 4.3.3.
Nous avons aussi calculé les neuf autres paramètres en implémentant les équations qui les défi-
nissent, moyennant des blocs basiques de XSG (additionneurs, soustracteurs, multiplieurs ...ect). À
titre d’exemple, la figure 5.23 présente le modèle de calcul de la variance à base des blocs XSG.

Implémentation du réseau de neurones

Nous avons choisi pour cette application le réseau de neurones comme classifieur. L’architecture
d’un réseau MLP est un ensemble de neurones rassemblés dans des couches, commençant par une
couche d’entrée recevant le vecteur des caractéristiques de 13 paramètres calculés précédemment sui-
vie par deux couches cachées de 18 neurones chacune et finalement par une couche de cinq sorties
correspondantes aux cinq classes mises en jeu. [Chen 2003].
Nous vous rappelons qu’une étude a été menée au chapitre précédent afin de trouver une architec-
ture optimale et performante de réseau de neurones sous l’environnement Matlab.
Afin de simplifier l’affichage de l’architecture globale du réseau de neurones, nous avons présenté
quelques blocs internes de cette dernière sur la figure 5.24. Les treize paramètres pertinents extraits
dans la phase précédente seront injectés à l’entrée des 18 neurones de la première couche cachée.
Chaque neurone de cette couche présente une seule sortie, l’ensemble de 18 sorties sera utilisé comme
entrées dans chaque neurone des 18 sorties qui seront utilisées comme entrées dans chaque neurone
des 18 neurones de la deuxième couche cachée. Cette dernière présente aussi 18 sorties qui seront de
leurs côtés utilisés comme entrées dans la couche de sortie. Elle est composée de cinq neurones chacun
d’entre eux à 18 entrées et une seule sortie qui correspond à l’une des cinq classes ( Normal, RBBB,
LBBB, PVC et APB).
La figure 5.25. présente l’architecture interne d’un neurone réalisée avec la bibliothèque XSG. Pour
5.6. Résultats et discussion 105

Mult4
a UFix_25_10
b Fix_24_12
rst +=b b ab a z-1 Fix_26_12
en Fix_16_14 b ab d -1
z
Fix_26_12
Accumulator1 0.0146484375 en q
Constant1 Mult1
Register1
UFix_10_0 UFix_10_0
++ ++

a
b
D1 a Bool

a-b
a Bool AddSub1
ba = b 2
Fix_24_12 Counter3 ba  b Counter1
1 UFix_10_0 UFix_10_0 Relational1 x2
7 Relational3 68 Fix_51_38
Constant5 Constant2 1
a x1
Fix_48_24
ba  b
b Fix_48_24 a Fix_50_38
rst +=b b ab d -1
z q
Fix_50_38
Mult2 en
en
Accumulator2 Mult3
UFix_16_14 Register2
0.0146484375
Constant3

Figure 5.23 – Implémentation de l’architecture interne de la fonction variance

un neurone de la première couche cachée, treize paramètres sont à l’entrée, ils correspondent aux
paramètres pertinents extraits dans la phase précédente. Ils seront multipliés chacun avec le poids
qui leur correspond. Les produits seront additionnés et injectés à l’entrée de la fonction hyperbolique.
Contrairement aux neurones de la deuxième couche cachée et la couche de sortie, qui ont dix-huit
paramètres à l’entrée correspondante aux sorties de la couche précédente ( la première et la deuxième
couche cachée respectivement).
La figure 5.26. présente la fonction tangente hyperbolique réalisée avec les blocs de XSG, le plus
important c’est le bloc ROM qui exploite la fonction tangente prédéfinie dans Matlab afin de calculer
le résultat.
Il est à noter que les valeurs des poids et les biais des neurones ont été calculés à partir de Matlab
lors de la phase d’apprentissage. Nous avons évalué le fonctionnement et validé la fonction sigmoïde
et la fonction tangente hyperbolique de Simulink avec celles du xilinx dans nos travaux présentés dans
la thèse de Zairi [Zairi 2020].

5.6 Résultats et discussion


L’architecture proposée pour la détection du complexe QRS en temps réel et le calcul de la fré-
quence cardiaque a été testée dans une première étape dans l’environnement Matlab/Simulink à l’aide
de la co-simulation matérielle, puis vérifiée dans un environnement d’implémentation hardware en
temps réel.

5.6.1 Test en Co-simulation

Après avoir généré le fichier Bitream et le bloc associé à la co-simulation (Fig.5.17). Nous avons
testé l’implémentation via la connexion JTAG. la figure 5.27 présente les résultats obtenus pour cette
implémentation, elle est divisée en six sous-figures. La première décrit le signal d’entrée ECG original
injecté à l’entrée de l’architecture afin de procéder à la détection du complexe QRS et la détection
d’arythmie. Le reste des graphes montre les différents résultats de la phase de prétraitement, du filtre
passe-bande au filtre passe-bas (sous-figures 5.27 (a - f)). Pour cette illustration, nous avons utilisé
l’enregistrement N◦ 107 entre 1234 et 1238 secondes. Les résultats de la phase de détection du complexe
5.6. Résultats et discussion 106

01ÿ34567849ÿ
4 ÿ34567849ÿ
4
45  4ÿ754 754ÿ
4ÿ976 4

01ÿ34567849ÿ
4ÿ
64 64ÿ754

Figure 5.24 – Architecture interne d’un perceptron multicouche

QRS sont affichés sur la figure 5.28, elle est également divisée en quatre sous-figures successives, sous-
figures 5.28 (g - j), fournissant ainsi les sorties de la dérivée, la détection du pic de maximum, la
validation du temps et les étapes de validation de l’amplitude.
Le signal prétraité passe par l’étape de détection du complexe QRS qui comporte quatre phases. Il
passe par la dérivée centrée, puis par le détecteur de crête de maximum basé sur le théorème des valeurs
intermédiaire . Les étapes de validation temporelle et la validation d’amplitude seront appliquées au
maximum détecté afin de le valider. Nous avons choisi quelques enregistrements contenant différents
bruits et nous avons présenté leurs résultats de détection. Par exemple la figure 5.29 présente un
segment de signal ECG de l’enregistrement 222 de la base de données MIT-BIH et les résultats de la
détection du complexe QRS. Ce segment d’enregistrement présente un décalage de la ligne de base
et malgré cet inconvénient, notre algorithme peut facilement détection correctement les différents
complexes QRS.
Il est à noter que la bande fréquentielle de la ligne de base est comprise entre 0-2.5 Hz, elle est
complètement éliminée par la phase de prétraitement de la méthode proposée.
5.6. Résultats et discussion 107

Figure 5.25 – Architecture interne d’un neurone

0123ÿ567

Figure 5.26 – Implémentation de l’architecture interne de la fonction tangente hyperbolique


de la figure 5.25

Une autre illustration sur la figure 5.30 présente un cas de changement brusque de l’amplitude
dans le segment correspondant au 172-182 s dans d’enregistrement de ECG numéro 101. La méthode
proposée détecte correctement les pics des complexes QRS, mais malheureusement avec deux pics
de plus "faux positifs FP" qui correspondent à un bruit détecté en étant un complexe QRS. Les
signaux ECG sont touchés beaucoup plus par les artefacts musculaires (bruit) comme il est apparent
sur les figures (Fig. 5.31 et Fig. 5.32). Nous remarquons que même si l’amplitude de ces artefacts est
importante, notre méthode a pu facilement éliminer ces bruits et détecter correctement les complexes
QRS.
5.6. Résultats et discussion 108

Figure 5.27 – Sortie de chaque étape de prétraitement en utilisant la co-simulation matérielle


sur Nexys 4. (a) Signal ECG original de l’enregistrement n 107 : 1234–1238 s, (b) Sortie du
filtre passe-bande, (c) Sortie du filtre dérivateur, (d) Sortie de la transformation non linéaire,
(e) Sortie de l’intégrateur, (f) Sortie du filtre passe-bas.
5.6. Résultats et discussion 109

Figure 5.28 – Sortie de chaque étape de détection du QRS en utilisant la co-simulation


matérielle sur Nexys 4 pour le même signal d’entrée comme Fig. 5.27 : (g) Sortie du filtre
dérivateur, (h) Sortie de la détection de crête maximale, (i) Sortie de la validation du temps,
(j) Sortie de la validation de l’amplitude.

Figure 5.29 – Le tracé du signal ECG et de la localisation des pics R pour le segment 1102–
1112 s de l’enregistrement n 222 du MIT-BIH, présentant un décalage de la ligne de base.

5.6.2 Évaluation des performances

Pour évaluer les performances de l’algorithme proposé pour la détection du complexe QRS, les
paramètres statistiques proposés dans la partie 3.6 sont utilisés :
Nous présentons dans le tableau 5.5. les performances de la méthode proposée pour les deux im-
5.6. Résultats et discussion 110

Figure 5.30 – Le signal ECG et le tracé de localisation des pics R pour le segment 172–182
s de l’enregistrement N 101 du MIT-BIH, qui présente un changement brutal et important de
l’amplitude.

Figure 5.31 – Tracé du signal ECG et de la localisation des pics R pour le segment 1358–1368
s de l’enregistrement n 208 du MIT-BIH, avec des artefacts musculaires.

Figure 5.32 – Tracé du signal ECG et de la localisation des pics R pour le segment 348–361
s de l’enregistrement n 200 du MIT-BIH, avec des artefacts musculaires.
5.6. Résultats et discussion 111

plémentations : software sous Matlab et hardware sous FPGA. Les performances sont calculées en
utilisant la base de données MIT-BIH des arythmies. L’implémentation software sous MATLAB a cor-
rectement détecté un total de 109 012 des pics R (TP) et 350 comme faux R-pics (FP)( correspondent
a des bruits détectés comme étant des ondes R). L’algorithme a manqué la détection de 458 pics R
(FN).
D’après l’analyse des résultats de ce tableau, nous avons constaté qu’il y avait un grand nombre
de faux négatifs (FN) et faux positif (FP) pour les enregistrements(N◦ 105, 108, 114, 203, 207 et 228).
Ces enregistrements souffrent d’un changement de la qualité du signal, un changement de la ligne de
base, et des ondes P élevées et pointues [Cvikl 2007].
Avec plus de 800 ondes mal détectées (FP+FN),les performances de système s’élèvent à 99.26 %
pour le taux de précision, 0.74% pour le taux d’erreur et 99.58 % et 99.68 % pour la sensibilité et la
prédiction positive respectivement.
Les résultats obtenus par l’implémentation hardware sous FPGA sont très proches de ceux obtenus
par l’implémentation software sous MATLAB. Les différences peuvent être attribuées à des erreurs de
quantification.

5.6.3 Comparaison des performances

D’autre part, pour l’architecture basée sur FPGA, les résultats sont comparés à ceux d’autres
systèmes basés sur du matériel (Table 5.6). L’architecture proposée présente une amélioration de la
méthode de Pan et Tompkins, avec une nouvelle méthode efficace de détection du complexe QRS .
Son implémentation matérielle sur FPGA s’est avérée optimale pour les systèmes embarqués. On peut
noter qu’El Mimouni et al. [El Mimouni 2013] et Chowdhury et al. [Chowdhury 2012] n’ont pas
testé leurs systèmes sur l’ensemble de la base de données MIT-BIH, mais qu’ils ont choisi quelques
enregistrements qu’ils considéraient comme les plus bruyants.

5.6.4 Évaluation en temps réel

Figure 5.33 montre le banc d’essai utilisé pour valider la mise en œuvre en temps réel du système
proposé. Le bitstream généré à partir du modèle basé sur XSG, présenté en haut de l’écran dans Fig.
5.33 (a) et Fig. 5.33 (b), été chargé sur la carte FPGA Nexys4 par le biais d’un câble de programmation
USB. Le signal analogique ECG a été fourni par le dispositif Analog Discovery de la base de données
MIT-BIH arrythmia pour la figure 5.33 (a), à l’aide de l’outil WaveForms installé sur le PC et à
partir des trois électrodes illustrées à la figure 5.33 (b). Le signal analogique ECG a ensuite été acquis
par la carte FPGA via le module PmodAD1 (convertisseur analogique-numérique) à une fréquence
d’échantillonnage de 360 Hz. Le signal de détection du QRS résultant avec une version retardée du
signal ECG d’origine a été simultanément transmis par le module PmodDA2 (convertisseur numérique-
analogique). Le périphérique Analog Discovery a acquis ces deux signaux à l’aide de l’outil WaveForms,
comme indiqué en bas de l’écran de Fig. 5.33 (a) et Fig. 5.33 (b). Le signal d’origine a été retardé
afin de synchroniser ses complexes QRS avec les impulsions de détection. D’autre part, la fréquence
cardiaque est affichée à l’aide des trois afficheurs 7 segments de droite disponibles sur la carte Nexys4,
le voyant RVB s’allume pour décrire les cas de décision de classe : le bleu indique la tachycardie, le
rouge indique la bradycardie et le vert indique une situation normale.
5.6. Résultats et discussion 112

Table 5.5 – Performances des implémentations software (MATLAB) et Hardware (XSG) de


la méthode proposée pour la détection de l’onde R en utilisant la base de données MIT-BIH
Arrythmia.

Record Software (MATLAB) implementation Hardware (FPGA) implementation


Name TP FP FN Se (%) PPV (%) DER(%) Acc (%) TP FP FN Se (%) PPV (%) DER (%) Acc (%)

100m 2273 0 0 100.00 100.00 0.00 100.00 2273 0 0 100.00 100.00 0.00 100.00
101m 1865 1 0 100.00 99.95 0.05 99.95 1865 3 0 100.00 99.84 0.16 99.84
102m 2187 0 0 100.00 100.00 0.00 100.00 2187 0 0 100.00 100.00 0.00 100.00
103m 2082 0 2 99.90 100.00 0.10 99.90 2084 0 0 100.00 100.00 0.00 100.00
104m 2218 10 11 99.51 99.55 0.95 99.06 2191 8 38 98.30 99.64 2.10 97.94
105m 2569 25 3 99.88 99.04 1.09 98.92 2571 35 1 99.96 98.66 1.40 98.62
106m 2026 0 0 100.00 100.00 0.00 100.00 2026 0 0 100.00 100.00 0.00 100.00
107m 2135 0 1 99.95 100.00 0.05 99.95 2136 0 0 100.00 100.00 0.00 100.00
108m 1761 39 2 99.89 97.83 2.33 97.72 1760 26 2 99.89 98.54 1.59 98.43
109m 2530 0 2 99.92 100.00 0.08 99.92 2532 0 0 100.00 100.00 0.00 100.00
111m 2124 0 0 100.00 100.00 0.00 100.00 2124 1 0 100.00 99.95 0.05 99.95
112m 2539 0 0 100.00 100.00 0.00 100.00 2539 0 0 100.00 100.00 0.00 100.00
113m 1794 0 0 100.00 100.00 0.00 100.00 1794 0 0 100.00 100.00 0.00 100.00
114m 1747 8 131 93.02 99.54 7.96 92.63 1861 58 17 99.09 96.98 4.03 96.13
115m 1952 0 0 100.00 100.00 0.00 100.00 1952 0 0 100.00 100.00 0.00 100.00
116m 2394 0 6 99.75 100.00 0.25 99.75 2396 1 4 99.83 99.96 0.21 99.79
117m 1535 0 0 100.00 100.00 0.00 100.00 1535 0 0 100.00 100.00 0.00 100.00
118m 2278 0 0 100.00 100.00 0.00 100.00 2278 1 0 100.00 99.96 0.04 99.96
119m 1987 0 0 100.00 100.00 0.00 100.00 1987 0 0 100.00 100.00 0.00 100.00
121m 1863 0 0 100.00 100.00 0.00 100.00 1863 0 0 100.00 100.00 0.00 100.00
122m 2475 0 0 100.00 100.00 0.00 100.00 2476 0 0 100.00 100.00 0.00 100.00
123m 1518 0 0 100.00 100.00 0.00 100.00 1518 0 0 100.00 100.00 0.00 100.00
124m 1619 8 0 100.00 99.51 0.49 99.51 1619 0 0 100.00 100.00 0.00 100.00
200m 2599 0 2 99.92 100.00 0.08 99.92 2600 1 1 99.96 99.96 0.08 99.92
201m 1936 0 26 98.67 100.00 1.34 98.67 1904 2 58 97.04 99.90 3.15 96.95
202m 2130 1 6 99.72 99.95 0.33 99.67 2121 1 15 99.30 99.95 0.75 99.25
203m 2924 2 56 98.12 99.93 1.98 98.05 2967 1 13 99.56 99.97 0.47 99.53
205m 2656 0 0 100.00 100.00 0.00 100.00 2656 0 0 100.00 100.00 0.00 100.00
207m 1856 239 4 99.78 88.59 13.09 88.42 1855 315 3 99.84 85.48 17.14 85.37
208m 2939 0 15 99.49 100.00 0.51 99.49 2948 0 6 99.80 100.00 0.20 99.80
209m 3005 1 0 100.00 99.97 0.03 99.97 3005 2 0 100.00 99.93 0.07 99.93
210m 2614 1 36 98.64 99.96 1.42 98.60 2628 2 22 99.17 99.92 0.91 99.10
212m 2748 0 0 100.00 100.00 0.00 100.00 2748 0 0 100.00 100.00 0.00 100.00
213m 3251 0 0 100.00 100.00 0.00 100.00 3250 0 0 100.00 100.00 0.00 100.00
214m 2262 0 0 100.00 100.00 0.00 100.00 2261 1 1 99.96 99.96 0.09 99.91
215m 3362 0 0 100.00 100.00 0.00 100.00 3362 0 0 100.00 100.00 0.00 100.00
217m 2207 0 0 100.00 100.00 0.00 100.00 2207 1 0 100.00 99.95 0.05 99.95
219m 2154 0 0 100.00 100.00 0.00 100.00 2154 0 0 100.00 100.00 0.00 100.00
220m 2048 0 0 100.00 100.00 0.00 100.00 2048 0 0 100.00 100.00 0.00 100.00
221m 2425 0 1 99.96 100.00 0.04 99.96 2425 0 1 99.96 100.00 0.04 99.96
222m 2480 0 2 99.92 100.00 0.08 99.92 2480 10 4 99.84 99.60 0.56 99.44
223m 2603 0 1 99.96 100.00 0.04 99.96 2604 0 0 100.00 100.00 0.00 100.00
228m 1904 11 148 92.79 99.43 8.35 92.29 2052 10 0 100.00 99.52 0.49 99.52
230m 2256 0 0 100.00 100.00 0.00 100.00 2256 0 0 100.00 100.00 0.00 100.00
231m 1571 0 0 100.00 100.00 0.00 100.00 1571 0 0 100.00 100.00 0.00 100.00
232m 1780 4 0 100.00 99.78 0.22 99.78 1780 5 0 100.00 99.72 0.28 99.72
233m 3078 0 3 99.90 100.00 0.10 99.90 3078 0 0 100.00 100.00 0.00 100.00
234m 2753 0 0 100.00 100.00 0.00 100.00 2753 0 0 100.00 100.00 0.00 100.00

Total 109012 350 458 99.58 99.68 0.74 99.26 109280 484 186 99.83 99.56 0.61 99.39
5.7. Conclusion 113

Table 5.6 – Comparaison des performances de notre méthode proposée avec les méthodes
implémentées sous FPGA pour la détection du complexe QRS et tester sur MIT BIH database

Method Se (%) PPV (%) Acc (%)


El Mimouni & Karim [El Mimouni 2013] 99.52 96.80 96.21
Chowdhury et al.[Chowdhury 2012] 97.06 98.04 95.21
Cvikl et al. [Cvikl 2007] 99.82 99.82 99.64
Panigrahy et al. [Panigrahy 2016] 99.94 99.89 99.84
Our method 99.83 99.56 99.39

Figure 5.33 – Banc d’essai utilisé pour valider l’implémentation en temps réel du système
proposé : (a) Test du signal ECG généré, (b) test du signal ECG acquis avec Analog Discovery.

5.7 Conclusion
Dans cette partie de travail, un détecteur d’arythmie cardiaque en temps réel a été proposé.
Après un aperçu complet sur les supports hardwares utilisés dans la conception des systèmes portatifs
intelligents pour le diagnostic médical, nous avons justifié notre choix quant aux FPGAs.
Après la mise au point d’un système d’acquisition de signaux ECG capables d’être traités par
FPGA, nous avons implémenté le système intelligent qui permet de détecter en temps réel si le signal
acquis est normal ou il présente un problème d’arythmie. Il est à rapppeler que la méthode proposée a
d’abord été développée sous un environnement (Matlab) puis optimisée afin de maximiser la détection
des complexes QRS et de minimiser les fausses détections provoquées par le bruit. La dernière phase
de ce process était son implémentation matérielle basée sur FPGA. La méthode proposée a été évaluée
en temps réel, via le dispositif Analog Discovery, à l’aide de la base de données standard MIT-BIH. La
performance et l’efficacité de notre système ont été évaluées en termes de sensibilité, de précision et de
taux d’erreur. L’architecture matérielle proposée a conduit aux résultats suivants : taux moyens des
Acc de 99,39%, taux de Sensibilité et de prédictivités positives de 99,83% et 99,56% respectivement.
Comparé aux méthodes matérielles existantes de Pan et Tompkins, notre système proposé, basé sur
FPGA, fournit de meilleurs résultats.
Chapitre 6

Conclusion générale et perspective

L’arythmie est l’une des maladies des plus meurtrières dans le monde. Nos travaux de recherches
visent à apporter une solution dans le domaine de la santé publique en termes de dépistage et de
maladie cardiaque "médecine scolaire" et en termes d’égalité de soin en touchant les zones les plus
isolées.
Notre contribution s’inscrit dans la réalisation de deux prototypes de détection d’anomalie car-
diaque d’une façon globale et d’une arythmie au sens le plus précis.
Ces prototypes de systèmes intelligents ont été développés et implémentés matériellement sous
FPGA, l’un capable de distinguer le cas normal du cas d’une pathologie liée au rythme cardiaque, le
deuxième précise le type d’arythmie et donc nous oriente vers l’origine de la pathologie.
Il faut noter que les travaux de notre groupe de recherche ont contribué dans notre orientation.
Notre expérience à partir de nos travaux déjà réalisés ont fait qu’on a pu acquérir une certaine maîtrise
dans le domaine du traitement avancé du signal ECG et de sa classification qui nous a permis d’aller
vers l’implémentation hardwares des systèmes intelligents que nous avons développés.
Pour finaliser ces prototypes, une démarche technique a été mise au point. La première phase de
cette démarche consistait à développer à partir d’une étude approfondie de l’état de l’art, les outils
et les techniques de bases qui étaient capables de nous orienter vers la mise au point de systèmes
intelligents susceptibles de nous classer automatiquement des pathologies cardiaques.
À l’origine notre objectif était de réaliser au moins un prototype de système intelligent pouvant
réaliser un diagnostic en temps réel sur la base d’une acquisition de signaux ECG.
Effectivement l’enregistrement de l’activité électrique du cœur (ECG) est l’outil de base dans le
diagnostic des troubles cardiaques. Ainsi nous avons entamé cette thèse par la description en détail la
source de ce signal et les différents troubles cardiaques associés à la pathologie du rythme.
L’analyse de l’ECG permet de mieux le caractériser et de faire ressortir les informations utiles pour
établir un diagnostic médical fiable. En ciblant l’arythmie comme pathologie, nous avons implicitement
visé la détection du QRS et les techniques qui lui sont associées.
Vu les limitations des méthodes existantes dans la littérature concernant la détection et l’identifi-
cation des complexes QRS, nous avons développé une nouvelle technique de détection de ce dernier,
adaptée au temps réel, basée sur la dérivée centrée et le théorème des valeurs intermédiaires. À titre
comparatif avec les méthodes proposées dans la littérature, cette méthode présente des performances
compétitives.
À cette étape de notre développement, nous avons finalisé un système intelligent capable de dis-

114
Conclusion 115

tinguer en cas d’arythmie une "bradycardie" ou une " Tachycardie".


Pour aller plus loin dans la prospection de la pathologie du rythme et identifier le type d’arythmie,
nous avons proposé un deuxième système qui permet la classification battement par battement des
différents types d’arythmies. Un total de 99469 battements a été classé en cinq types de classes :
Normale (N), Premature Ventricular Contraction (PVC), Right Bundle Branch Block (RBBB), Left
Bundle Branch Block (LBBB) et Atrial Premature Beat (APB).
Ce second système est réalisé en trois étapes : la première est la segmentation des battements
de l’ECG basée sur la méthode de détection du complexe QRS qui exploite le premier système déjà
développé. Dans la deuxième étape, une extraction d’un total de treize paramètres pertinents a été
réalisée. Ces derniers incluent les intervals RRs et les paramètres statistiques calculés à partir de
battement ou encore à partir de la décomposition discrète en ondelette DWT. Finalement, l’étape
d’apprentissage et de classification du battement a été concrétisée par les réseaux de neurones artificiels
et les séparateurs à vaste marge.
Les performances des deux systèmes proposés dans cette thèse ont été évaluées sur les signaux
ECG de la base de données MIT-BIH arrythmia. Cette base de données contient 48 enregistrements
d’ECG ambulatoire d’une demi-heure acquis avec une fréquence d’échantillonnage de 360 Hz sachant
que chaque battement a été annoté manuellement avec au minimum deux cardiologues. Les méthodes
de classification et de localisation du complexe QRS proposées donnent respectivement un grand taux
de classification et une parfaite précision de localisation.
Après la mise au point d’un système d’acquisition de signaux ECG capables d’être traités par
FPGA, nous avons implémenté nos deux systèmes intelligents qui permettent de détecter en temps
réel si le signal acquis est normal ou il présente un problème d’arythmie tout en précisant le type de la
pathologie en question. Ainsi nous étions amenés à réaliser l’implémentation matérielle sur FPGA des
deux systèmes proposés. Ces derniers ont été testés en temps réel, via le dispositif Analog Discovery,
à l’aide de la base de données standard MIT-BIH. Les performances et l’efficacité de nos systèmes
ont été évaluées en termes de sensibilité, de précision et de taux d’erreur. Comparés aux méthodes
matérielles existantes, nos deux systèmes fournissent de meilleurs résultats.
Sur le plan perspectif, la création d’une start up à cette phase de nos travaux est très envisageable.
Elle permettrait le développement et la commercialisation de tels systèmes qui pourraient contribuer
très efficacement dans la prévention des maladies cardiaques chez les enfants "médecine scolaire" et
par une meilleure qualité de vie en touchant les régions isolées.
Nous pourrons aussi associer à ce type de systèmes des cartes mémoire amovibles de stockage
de données numériques (SD) embarquées permettant des acquisitions de longues durées (Holter). Cet
enregistrement pourra être par la suite déchiffré et grâce à une plateforme didactique, il va être exploi-
table par le cardiologue. Cette plateforme va lui offrir la possibilité de connaitre le temps d’apparition
de l’arythmie sur l’enregistrement ainsi que sa durée.
Il faut noter qu’à travers ces travaux nous avons pu acquérir une certaine maîtrise dans le domaine
de l’implémentation hardware sous FPGA des techniques de traitement avancé du signal et de sa
classification ce qui nous permettra d’aller vers l’implémentation d’autres systèmes de classification
des signaux d’une façon générale et biomédicaux en particulier.
Bibliographie

[Afkhami 2016] Rashid Ghorbani Afkhami, Ghanbar Azarnia et Mohammad Ali Tinati. Cardiac ar-
rhythmia classification using statistical and mixture modeling features of ECG signals. Pattern
Recognition Letters, vol. 70, pages 45–51, 2016.
[Alejo 2010] Roberto Alejo, José Martínez Sotoca, Rosa Maria Valdovinos et P Toribio. Edited nearest
neighbor rule for improving neural networks classifications. In International Symposium on
Neural Networks, pages 303–310. Springer, 2010.
[Alqudah 2019] Ali Mohammad Alqudah, Alaa Albadarneh, Isam Abu-Qasmieh et Hiam Alquran.
Developing of robust and high accurate ECG beat classification by combining Gaussian mixtures
and wavelets features. Australasian physical & engineering sciences in medicine, vol. 42, no. 1,
pages 149–157, 2019.
[Arzeno 2008] Natalia M Arzeno, Zhi-De Deng et Chi-Sang Poon. Analysis of First-Derivative Based
QRS Detection Algorithms. IEEE Transactions on Biomedical Engineering, vol. 55, no. 2, pages
478–484, 2008.
[Banupriya 2014] CV Banupriya et S Karpagavalli. Electrocardiogram beat classification using support
vector machine and extreme learning machine. In ICT and Critical Infrastructure : Proceedings
of the 48th Annual Convention of Computer Society of India-Vol I, pages 187–193. Springer,
2014.
[Baratloo 2015] Alireza Baratloo, Mostafa Hosseini, Ahmed Negida et Gehad El Ashal. Part 1 : simple
definition and calculation of accuracy, sensitivity and specificity. Emergency (Tehran, Iran),
vol. 3, no. 2, pages 48–49, 2015.
[Benitez 2001] D Benitez, P A Gaydecki, A Zaidi et A P Fitzpatrick. The Use of the Hilbert Transform
in ECG Signal Analysis. Computers in biology and medicine, vol. 31, no. 5, pages 399–406,
2001.
[Berwal 2018] Deepak Berwal, Ashish Kumar et Yogendera Kumar. Design of high performance QRS
complex detector for wearable healthcare devices using biorthogonal spline wavelet transform.
ISA transactions, vol. 81, pages 222–230, 2018.
[Beya 2010] O Beya, B Jalil, E Fauvet et O Laligant. Empirical modal decomposition applied to
cardiac signals analysis. In Wavelet Applications in Industrial Processing VII, volume 7535,
page 75350B. International Society for Optics and Photonics, 2010.
[Beya 2014] Ouadi Beya. Analysis and recognition of vibratory signals : contribution to the treatment
and analysis of cardiac signals for telemedecine. Theses, Université de Bourgogne, Mai 2014.
[Bishop 1995] Christopher M Bishop. Neural networks for Pattern Recognition. Oxford university
press, 1995.
[Boujelben 2018] Ons Boujelben et Mohammed Bahoura. Efficient FPGA-based architecture of an
automatic wheeze detector using a combination of MFCC and SVM algorithms. Journal of
Systems Architecture, vol. 88, pages 54–64, 2018.

116
Bibliographie 117

[Brishoual 2001] Morgan Brishoual. Reconstruction de données. Application à la dosimétrie des ra-
diotéléphones. Theses, INSA de Rennes, Octobre 2001.
[Burges 1998] Christopher JC Burges. A tutorial on support vector machines for pattern recognition.
Data mining and knowledge discovery, vol. 2, no. 2, pages 121–167, 1998.
[Ceylan 2018] Rahime Ceylan. The effect of feature extraction based on dictionary learning on ECG
signal classification. International Journal of Intelligent Systems and Applications in Enginee-
ring, vol. 6, no. 1, pages 40–46, 2018.
[Chawla 2009] MPS Chawla. A comparative analysis of principal component and independent com-
ponent techniques for electrocardiograms. Neural Computing and Applications, vol. 18, no. 6,
pages 539–556, 2009.
[Chen 2003] QCYW Chen, YW Chan et K Worden. Structural fault diagnosis and isolation using
neural networks based on response-only data. Computers & Structures, vol. 81, no. 22-23,
pages 2165–2172, 2003.
[Chen 2006] Szi-Wen Chen, Hsiao-Chen Chen et Hsiao-Lung Chan. A real-time QRS detection me-
thod based on moving-averaging incorporating with wavelet denoising. Computer methods and
programs in biomedicine, vol. 82, no. 3, pages 187–195, 2006.
[Chowdhury 2012] Shubhajit Roy Chowdhury. Field Programmable Gate Array Based Fuzzy Neural
Signal Processing System For Differential Diagnosis Of QRS Complex Tachycardia And Tachy-
arrhythmia In Noisy ECG Signals. Journal of medical systems, vol. 36, no. 2, pages 765–775,
2012.
[Christov 2004] Ivaylo I Christov. Real Time Electrocardiogram QRS Detection Using Combined Adap-
tive Threshold. Biomedical engineering online, vol. 3, no. 1, pages 1–9, 2004.
[Clifford 2006] Gari D Clifford, Francisco Azuaje et Patrick McSharry. Advanced methods and tools
for ecg data analysis. Artech House, Inc., 2006.
[Cvikl 2007] Matej Cvikl, Franc Jager et Andrej Zemva. Hardware implementation of a modified delay-
coordinate mapping-based QRS complex detection algorithm. EURASIP Journal on Applied
Signal Processing, vol. 2007, no. 1, pages 104–104, 2007.
[DeSilva 1997] Regis A. DeSilva. George Ralph Mines, Ventricular Fibrillation and the Discovery of
the Vulnerable Period1. Journal of the American College of Cardiology, vol. 29, no. 6, pages
1397 – 1402, 1997.
[Diker 2019] Aykut Diker, Derya Avci, Engin Avci et Mehmet Gedikpinar. A new technique for ECG si-
gnal classification genetic algorithm Wavelet Kernel extreme learning machine. Optik, vol. 180,
pages 46–55, 2019.
[Dubois 2004] R. Dubois. Application des nouvelles méthodes d’apprentissage à la détection précoce
d’anomalies cardiaques en électrocardiographie. Theses, Université Pierre et Marie Curie - Paris
VI, Janvier 2004.
[Einthoven 1906] Willem. Einthoven. Electrocardiogramme. In archives internationales de physiologie,
pages 132–164, 1906.
[El Mimouni 2013] El Hassan El Mimouni et Mohammed Karim. Novel Real-Time FPGA-based QRS
Detector using Adaptive Threshold with the Previous Smallest Peak of ECG Signal. Journal of
Theoretical & Applied Information Technology, vol. 50, no. 1, 2013.
[Elhaj 2016] Fatin A Elhaj, Naomie Salim, Arief R Harris, Tan Tian Swee et Taqwa Ahmed. Arrhyth-
mia recognition and classification using combined linear and nonlinear features of ECG signals.
Computer methods and programs in biomedicine, vol. 127, pages 52–63, 2016.
[Farge 1990] Marie Farge. Transformee en ondelettes continue et application a la turbulence. Société
Mathématique Française, vol. 5, 1990.
Bibliographie 118

[Global Health Statistics 2013] GHS Global Health Statistics. The atlas of heart diseas and strock.
2013.
[Goldberger 1942] Emanuel Goldberger. A simple, indifferent, electrocardiographic electrode of zero
potential and a technique of obtaining augmented, unipolar, extremity leads. American Heart
Journal, vol. 23, no. 4, pages 483–492, 1942.
[Goldberger 2000] A. L. Goldberger, L. A. N. Amaral, L. Glass, J. M. Hausdorff, P. C. Ivanov, R. G.
Mark, J. E. Mietus, G. B. Moody, C. K. Peng et H. E. Stanley. PhysioBank, PhysioToolkit,
and PhysioNet : Components of a new research resource for complex physiologic signals. Circu-
lation Electronic Pages ; http://circ.ahajournals.org/content/101/23/e215.full, 2000.
[Online ; accessed on Dec. 2018].
[Grossmann 1985] Alex Grossmann et Jean Morlet. Decomposition of functions into wavelets of
constant shape, and related transforms. In Mathematics+ Physics : Lectures on Recent Results
(Volume 1), pages 135–165. World Scientific, 1985.
[HADJ SLIMANE 2006] Zine-Eddine. HADJ SLIMANE. Analyse Et Synthese De Methodes De De-
tection Du Complexe Qrs Du Signal Electrocardiogramme. PhD thesis, Université Abou-Bakr
Belkaid Tlemcen, 2006.
[Hamilton 1986] Patrick S Hamilton et Willis J Tompkins. Quantitative Investigation of QRS De-
tection Rules Using the MIT/BIH Arrhythmia Database. IEEE transactions on biomedical
engineering, no. 12, pages 1157–1165, 1986.
[He 2020] Jinyuan He, Jia Rong, Le Sun, Hua Wang, Yanchun Zhang et Jiangang Ma. A framework
for cardiac arrhythmia detection from IoT-based ECGs. World Wide Web, pages 1–16, 2020.
[Hurst 1998] J Willis Hurst. Naming of the waves in the ECG, with a brief account of their genesis.
Circulation, vol. 98, no. 18, pages 1937–1942, 1998.
[Jalil 2010] Bushra Jalil, Ouadi Beya, Eric Fauvet et Olivier Laligant. Singularity detection by wa-
velet approach : application to electrocardiogram signal. In Wavelet Applications in Industrial
Processing VII, volume 7535, page 753506. International Society for Optics and Photonics,
2010.
[Khorrami 2010] Hamid Khorrami et Majid Moavenian. A comparative study of DWT, CWT and
DCT transformations in ECG arrhythmias classification. Expert systems with Applications,
vol. 37, no. 8, pages 5751–5757, 2010.
[Kohler 2002a] B-U Kohler, Carsten Hennig et Reinhold Orglmeister. The principles of software QRS
detection. IEEE Engineering in Medicine and biology Magazine, vol. 21, no. 1, pages 42–57,
2002.
[Kohler 2002b] B-U Kohler, Carsten Hennig et Reinhold Orglmeister. The Principles of Software QRS
Detection. IEEE Engineering in Medicine and Biology Magazine, vol. 21, no. 1, pages 42–57,
2002.
[Kozia 2018] Christina Kozia, Randa Herzallah et David Lowe. ECG-Derived Respiration Using a
Real-Time QRS Detector Based on Empirical Mode Decomposition. In 2018 12th International
Conference on Signal Processing and Communication Systems (ICSPCS), pages 1–8. IEEE,
2018.
[Kropf 2017] Martin Kropf, Dieter Hayn et Günter Schreier. ECG classification based on time and
frequency domain features using random forests. In 2017 Computing in Cardiology (CinC),
pages 1–4. IEEE, 2017.
[Laguna 1990] P Laguna, NV Thakor, P Caminal, R Jane, Hyung-Ro Yoon, A Bayés de Luna, V Marti
et Josep Guindo. New algorithm for QT interval analysis in 24-hour Holter ECG : performance
and applications. Medical and Biological Engineering and Computing, vol. 28, no. 1, pages 67–
73, 1990.
Bibliographie 119

[Le Borgne 2004] Hervé Le Borgne. Analyse de scènes naturelles par composantes indépendantes. PhD
thesis, Institut National Polytechnique de Grenoble-INPG, 2004.
[Le Page 2003] Ronan Le Page. Détection et analyse de l’onde P d’un éléctrocardiogramme : applica-
tion au dépistage de la fibrillation auriculaire. PhD thesis, 2003. Thèse de doctorat dirigée par
Boucher, Jean-Marc Électronique Brest 2003.
[Lefèvre 2014] Thomas Lefèvre. On forms and functions, theories and pratices. Theses, Université de
Bretagne Occidentale (UBO), Mai 2014.
[Li 2016] Hongqiang Li, Huan Liang, Chunjiao Miao, Lu Cao, Xiuli Feng, Chunxiao Tang et Enbang
Li. Novel ECG signal classification based on KICA nonlinear feature extraction. Circuits,
Systems, and Signal Processing, vol. 35, no. 4, pages 1187–1197, 2016.
[Luz 2016] Eduardo José da S Luz, William Robson Schwartz, Guillermo Cámara-Chávez et David
Menotti. ECG-based heartbeat classification for arrhythmia detection : A survey. Computer
methods and programs in biomedicine, vol. 127, pages 144–164, 2016.
[Mackay 2004] J Mackay et Mensah G. Les statistiques sur les décès en Algérie. Organisation Mondiale
de la Santé, 2004.
[Mak 012] Pui In Mak, Chio In Ieong, Chi Pang Lam, Cheng Dong, Mang I Vai, Peng Un Mak,
Sio Hang Pun, Feng Wan et Rui Paulo da Silva Martins. A 0.83-µW QRS detection processor
using quadratic spline wavelet transform for wireless ECG acquisition in 0.35-µm CMOS. vol. 6,
no. 6, pages 586–595, 2012.
[Mallat 1992] Stephane Mallat et Wen Liang Hwang. Singularity Detection and Processing with Wa-
velets. IEEE transactions on information theory, vol. 38, no. 2, pages 617–643, 1992.
[Mallat 1999] Stéphane Mallat. A wavelet tour of signal processing. Academic press, 1999.
[Martis 2012] Roshan Joy Martis, U Rajendra Acharya, KM Mandana, Ajoy Kumar Ray et Chandan
Chakraborty. Application of principal component analysis to ECG signals for automated diag-
nosis of cardiac health. Expert Systems with Applications, vol. 39, no. 14, pages 11792–11800,
2012.
[Martis 2013] Roshan Joy Martis, U Rajendra Acharya, KM Mandana, Ajoy Kumar Ray et Chandan
Chakraborty. Cardiac decision making using higher order spectra. Biomedical Signal Processing
and Control, vol. 8, no. 2, pages 193–203, 2013.
[Meddah 2019] Karim Meddah, Malika Kedir Talha, Mohammed Bahoura et Hadjer Zairi. FPGA-
based system for heart rate monitoring. IET Circuits, Devices & Systems, vol. 13, no. 6, pages
771–782, 2019.
[Mercer 1909] James Mercer. Xvi. functions of positive and negative type, and their connection the
theory of integral equations. Philosophical transactions of the royal society of London. Series A,
containing papers of a mathematical or physical character, vol. 209, no. 441-458, pages 415–446,
1909.
[Messaoudi 2012] Kamel Messaoudi. Traitement des signaux et images en temps réel : "implantation
de H.264 sur MPSoC". 2012. Thèse de doctorat Instrumentation et informatique de l’image
Université Badji Mokhtar-Annaba 2012.
[Meyer 2006] Carsten Meyer, Jose Fernandez Gavela et Matthew Harris. Combining algorithms in
automatic detection of QRS complexes in ECG signals. IEEE Transactions on Information
Technology in Biomedicine, vol. 10, no. 3, pages 468–475, 2006.
[Mittnacht 2011] Alexander J. C. Mittnacht, Martin London et David L. Reich. Electrocardiography,
page 36–44. Cambridge University Press, 2011.
[Moody 1984] George B Moody, W Muldrow et Roger G Mark. A noise stress test for arrhythmia
detectors. 1984.
Bibliographie 120

[Moody 2001] G. B. Moody et R. G. Mark. The impact of the MIT-BIH Arrhythmia Database. IEEE
Engineering in Medicine and Biology Magazine, vol. 20, no. 3, pages 45–50, May 2001.
[Nocua 2009] Ronald Nocua. Conception et développement d’un système ambulatoire pour la mesure
de l’activité du Système Nerveux Autonome pour la surveillance de personnes âgées à domicile.
Theses, Université Joseph-Fourier - Grenoble I, Dcembre 2009.
[Oh 2019] Shu Lih Oh, Eddie YK Ng, Ru San Tan et U Rajendra Acharya. Automated beat-wise
arrhythmia diagnosis using modified U-net on extended electrocardiographic recordings with
heterogeneous arrhythmia types. Computers in biology and medicine, vol. 105, pages 92–101,
2019.
[OuldSlimane 2017] Saliha OuldSlimane. Modélisation et Compression du signal cardiaque en vue de
détection automatique des anomalies cardiovasculaires. PhD thesis, USTHB, Algerie, 2017.
[Özbay 2010] Yüksel Özbay et Gülay Tezel. A new method for classification of ECG arrhythmias using
neural network with adaptive activation function. Digital Signal Processing, vol. 20, no. 4, pages
1040–1049, 2010.
[Pal 2012] Saurabh Pal et Madhuchhanda Mitra. Empirical Mode Decomposition Based ECG Enhan-
cement and QRS Detection. Computers in biology and medicine, vol. 42, no. 1, pages 83–92,
2012.
[Pan 1985] Jiapu Pan et Willis J Tompkins. A Real-Time QRS Detection Algorithm. IEEE transac-
tions on biomedical engineering, no. 3, pages 230–236, 1985.
[Panigrahy 2016] D Panigrahy, M Rakshit et P K Sahu. FPGA Implementation of Heart Rate Moni-
toring System. Journal of medical systems, vol. 40, no. 3, pages 1–12, 2016.
[Phukpattaranont 2015] Pornchai Phukpattaranont. QRS detection algorithm based on the quadratic
filter. Expert Systems with Applications, vol. 42, no. 11, pages 4867–4877, 2015.
[Portet 2005] François Portet. Algorithms piloting for cardiac arrhythmias recognition. Theses, Uni-
versité Rennes 1, Dcembre 2005.
[Prasad 2003] G Krishna Prasad et JS Sahambi. Classification of ECG arrhythmias using multi-
resolution analysis and neural networks. In TENCON 2003. Conference on convergent techno-
logies for Asia-Pacific region, volume 1, pages 227–231. IEEE, 2003.
[Ravanshad 2014] Nassim Ravanshad, Hamidreza Rezaee-Dehsorkh, Reza Lotfi et Yong Lian. A Level-
Crossing Based QRS-Detection Algorithm For Wearable ECG Sensors. IEEE journal of biome-
dical and health informatics, vol. 18, no. 1, pages 183–192, 2014.
[Sahoo 2018] Santanu Sahoo, Priti Das, Prativa Biswal et Sukanta Sabut. Classification of heart
rhythm disorders using instructive features and artificial neural networks. International Journal
of Medical Engineering and Informatics, vol. 10, no. 4, pages 359–381, 2018.
[Sahoo 2020] Santanu Sahoo, Asit Subudhi, Manasa Dash et Sukanta Sabut. Automatic Classification
of Cardiac Arrhythmias Based on Hybrid Features and Decision Tree Algorithm. International
Journal of Automation and Computing, pages 1–11, 2020.
[Sanderson 1878] J. Burdon Sanderson et F. J. M. Page. Experimental Results Relating to the Rhyth-
mical and Excitatory Motions of the Ventricle of the Heart of the Frog, and of the Electrical
Phenomena Which Accompany Them. Proc R Soc, vol. 27, pages 410–414, 1878.
[Saporta 2006] Gilbert Saporta. Probabilités, analyse des données et statistique. Editions Technip,
2006.
[Saptono 2011] Debyo Saptono. Conception d’un outil de prototypage rapide sur le FPGA pour des
applications de traitement d’images. PhD thesis, Dijon, 2011.
[Sarkaleh 2012] Maedeh Kiani Sarkaleh et Asadollah Shahbahrami. Classification of ECG arrhyth-
mias using discrete wavelet transform and neural networks. International Journal of Computer
Science, Engineering and Applications, vol. 2, no. 1, page 1, 2012.
Bibliographie 121

[Savas 2019] Caner Savas et Fabio Dovis. The Impact of Different Kernel Functions on the Perfor-
mance of Scintillation Detection Based on Support Vector Machines. Sensors, vol. 19, no. 23,
page 5219, 2019.
[Shiva 2000] Sajjan G Shiva. Computer design and architecture. 2000.
[Slimane 2016] Saliha Ould Slimane, Malika Kedir Talha, Zairi Hadjer et Slimane Mekaoui. Compari-
son of time and frequency methods for cardiac anomalies recognition. Biomedical Engineering :
Applications, Basis and Communications, vol. 28, no. 02, page 1650010, 2016.
[Thomas 2015] Manu Thomas, Manab Kr Das et Samit Ari. Automatic ECG arrhythmia classification
using dual tree complex wavelet based features. AEU-International Journal of Electronics and
Communications, vol. 69, no. 4, pages 715–721, 2015.
[Vapnik 2013] Vladimir Vapnik. The nature of statistical learning theory. Springer science & business
media, 2013.
[Von Borries 2006] RF Von Borries, JH Pierluissi et H Nazeran. Wavelet transform-based ECG baseline
drift removal for body surface potential mapping. In Engineering in Medicine and Biology
Society, 2005. IEEE-EMBS 2005. 27th Annual International Conference of the, pages 3891–
3894. IEEE, 2006.
[Waller 1893] A Waller. An introduction to human physiology. New-York : Longmans Green, 1893.
[Wang 2013] Jeen-Shing Wang, Wei-Chun Chiang, Yu-Liang Hsu et Ya-Ting C. Yang. ECG arrhyth-
mia classification using a probabilistic neural network with a feature reduction method. Neu-
rocomputing, vol. 116, pages 38 – 45, 2013. Advanced Theory and Methodology in Intelligent
Computing.
[Wilson 1934] Frank N Wilson, Franklin D Johnston, A Garrard Macleod et Paul S Barker. Elec-
trocardiograms that represent the potential variations of a single electrode. American Heart
Journal, vol. 9, no. 4, pages 447–458, 1934.
[Wilson 1944] Frank N Wilson, Franklin D Johnston, Francis F Rosenbaum, Herman Erlanger,
Charles E Kossmann, Hans Hecht, Nelson Cotrim, Roberto Menezes de Oliveira, Roberto Scarsi
et Paul S Barker. The precordial electrocardiogram. American Heart Journal, vol. 27, no. 1,
pages 19–85, 1944.
[Xia 2018] Yufa Xia, Huailing Zhang, Lin Xu, Zhifan Gao, Heye Zhang, Huafeng Liu et Shuo Li.
An automatic cardiac arrhythmia classification system with wearable electrocardiogram. IEEE
Access, vol. 6, pages 16529–16538, 2018.
[Xue 1992] Qiuzhen Xue, Yu Hen Hu et Willis J Tompkins. Neural-network-based adaptive matched
filtering for QRS detection. IEEE Transactions on Biomedical Engineering, vol. 39, no. 4, pages
317–329, 1992.
[Yao 2018] Zhen-Jie Yao, Jie Bi et Yi-Xin Chen. Applying deep learning to individual and community
health monitoring data : A survey. International Journal of Automation and Computing, vol. 15,
no. 6, pages 643–655, 2018.
[Ye 2010] Can Ye, Miguel Tavares Coimbra et BVK Vijaya Kumar. Arrhythmia detection and classifi-
cation using morphological and dynamic features of ECG signals. In 2010 Annual International
Conference of the IEEE Engineering in Medicine and Biology, pages 1918–1921. IEEE, 2010.
[Ye 2012] Can Ye, BVK Vijaya Kumar et Miguel Tavares Coimbra. Heartbeat classification using mor-
phological and dynamic features of ECG signals. IEEE Transactions on Biomedical Engineering,
vol. 59, no. 10, pages 2930–2941, 2012.
[Yeh 2010] Yun-Chi Yeh, Wen-June Wang et Che Wun Chiou. A novel fuzzy c-means method for
classifying heartbeat cases from ECG signals. Measurement, vol. 43, no. 10, pages 1542–1555,
2010.
Bibliographie 122

[Zairi 2019] Hadjer Zairi, Malika Kedir Talha, Karim Meddah et Saliha Ould Slimane. FPGA-based
system for artificial neural network arrhythmia classification. Neural Computing and Applica-
tions, pages 1–16, 2019.
[Zairi 2020] Hadjer Zairi. Analyse et Traitement des Signaux Biomédicaux en Vue d’un Diagnostic
Automatique. PhD thesis, USTHB, Algerie, 2020.
[Zhang 2014] Zhancheng Zhang, Jun Dong, Xiaoqing Luo, Kup-Sze Choi et Xiaojun Wu. Heart-
beat classification using disease-specific feature selection. Computers in biology and medicine,
vol. 46, pages 79–89, 2014.
[ZIDELMAL 2012a] Zahia ZIDELMAL. Reconnaissance d’arythmies cardiaque par Support Vector
Machines. PhD thesis, Thèse de Doctorat, Université Mouloud Mammeri-Tizi Ouzou., 2012.
[Zidelmal 2012b] Zahia Zidelmal, Ahmed Amirou, Mourad Adnane et Adel Belouchrani. QRS detec-
tion based on wavelet coefficients. Computer methods and programs in biomedicine, vol. 107,
no. 3, pages 490–496, 2012.
[Özcan 2010] N. Ö. Özcan et F. Gürgen. Fuzzy Support Vector Machines for ECG Arrhythmia Detec-
tion. In 2010 20th International Conference on Pattern Recognition, pages 2973–2976, 2010.

Vous aimerez peut-être aussi