Projet ECG pour étudiants ingénieurs
Projet ECG pour étudiants ingénieurs
Sommaire .......................................................................................................................................................................... 2
Introduction ....................................................................................................................................................................... 3
Contexte ........................................................................................................................................................................ 3
Objectif ......................................................................................................................................................................... 3
Cahier des charges ........................................................................................................................................................ 3
Choix techniques ........................................................................................................................................................... 3
Planification .................................................................................................................................................................. 3
Détection – partie analogique ........................................................................................................................................... 4
Électrode ECG .............................................................................................................................................................. 4
Signal ECG ................................................................................................................................................................... 4
Amplificateur d'instrumentation (INA) ......................................................................................................................... 4
Multiplexeur (MUX) ..................................................................................................................................................... 4
Filtre de Sallen-Key (anti-aliasing) ............................................................................................................................... 5
Circuit de protection ..................................................................................................................................................... 5
Traitement – partie microcontrôleur ................................................................................................................................. 5
Conversion analogique-numérique ............................................................................................................................... 5
Filtrage numérique (FIR) .............................................................................................................................................. 5
Transmission des données (UART) .............................................................................................................................. 6
Valorisation – partie Java sur PC ...................................................................................................................................... 7
Sélection du port de communication ............................................................................................................................. 7
Fenêtre principale.......................................................................................................................................................... 7
Analyse spectrale (FFT) ................................................................................................................................................ 9
Sélection de la dérivation .............................................................................................................................................. 9
Conclusion ...................................................................................................................................................................... 10
Références ....................................................................................................................................................................... 10
Annexe ............................................................................................................................................................................ 11
Diagramme de Gantt ................................................................................................................................................... 11
Schéma électrique de la carte analogique ................................................................................................................... 11
Capture d’écran de l’électrocardiogramme ................................................................................................................. 11
Logigramme du programme embarqué microcontrôleur ............................................................................................ 12
2
(électrocardiogramme). Il s'agira donc de capter
Introduction l'activité électrique du cœur. Un ECG est
traditionnellement opéré à partir de plusieurs
dérivations qui sont chacune constituée de deux
Contexte électrodes. La mesure est de type différentielle.
Nous aurons à charge de mettre en forme les
Ce projet se situe dans le cadre du parcours Systèmes
signaux issus des électrodes ECG afin que ceux-ci
Embarqués Nomades (SEN) de la filière
présentent des niveaux acceptables pour la
Microélectronique et Télécommunication (MT) à
conversion analogique-numérique. Nous devrons
Polytech Marseille.
également gérer le multiplexage des différentes
Objectif dérivations.
Traitement : le module choisi pour cette partie
L’objectif principal est que nous mettions en commun sera constitué d'une carte à base de
nos acquis afin de proposer une solution technique à microcontrôleur STM32 qui intègre des
un problème posé. Cette solution devra être acceptée, fonctionnalités de conversion analogique-
partagée et assumée par l’ensemble de l’équipe. numérique. L'environnement logiciel MBED
servira à la programmation de ce module.
Si des problèmes techniques surgissent lors du
Valorisation : Une transmission des données se
déroulement des projets, des solutions alternatives
fera entre la carte de développement et le PC. La
devront être proposées. Notre capacité d’adaptation
programmation de l'application sera réalisée en
devra alors être mise à contribution afin de faire face à
Java sur le PC.
de nouvelles situations.
Une partie détection du monde physique Figure 1 - Architecture et choix matériel du système
regroupant différents capteurs, analogiques ou
numériques, axés autour du thème de l‘e-santé, Planification
(capteur physiologique, etc…).
Le projet se déroule sur 12 séances de 4h et se termine
Une partie gestion des données, composée d'un
par une présentation devant la promotion entière.
module microcontrôleur offrant différentes
fonctionnalités : conversion analogique- Pour planifier les taches à réaliser et leur déroulement
numérique, traitement et calcul de l'information, dans le temps, nous avons dressé un diagramme de
puis transmission filaire ou sans fil. Gantt, disponible en annexe de ce rapport.
Une partie affichage et valorisation des données
sur un PC. Le PC pourra recevoir les données en
filaire ou sans fil.
Choix techniques
Le système précédemment décrit peut se décliner avec
de nombreuses solutions technologiques. Dans le cadre
de ce projet, et notamment afin de prévoir la
disponibilité du matériel, les choix suivant ont été fait :
3
issus de capteurs. Il est généralement réalisé à partir
Detection – partie d'un ou de plusieurs amplificateurs opérationnels
(AOP), de telle manière qu'il améliore leurs
analogique caractéristiques comme le bruit d'amplification, le gain
en boucle ouverte, ou encore le taux de réjection de
mode commun.
Le but de cette partie est de capter l’activité du cœur à
partir de plusieurs dérivations chacune constituée de Nous utiliserons le composant AD623, celui-ci offre
deux électrodes et de mettre en forme les signaux issus un gain ajustable de 1 à 1000, un taux de rejection de
de ces électrodes afin que ceux-ci soient acceptables mode commun d’environ 100 dB et peut être alimenté
pour la conversion analogique-numérique. avec une alimentation simple 3,3 V.
Électrode ECG
Une électrode ECG est un autocollant à poser sur la
peau, incorporant un gel conducteur en contact avec la
peau d’un côté et d’un conducteur électrique de sortie
de l’autre.
Une paire d’électrodes forme une dérivation. Certains Il s’agit de connecter sur l’entrée Vin deux électrodes
systèmes ECG professionnels utilisent jusqu’à 10 ECG, de placer une résistance variable RG afin
électrodes dont une électrode pour l’annulation de d’ajuster le gain et enfin une source de tension réglable
bruit (et permettent l’affichage de 12 dérivations, le sur REF afin de régler le niveau de base de sortie
standard dans la médecine). Notre système comporte (offset de sortie).
jusqu’à 5 électrodes dont une électrode pour
l’annulation de bruit (donc 2 dérivations). Afin d’utiliser le maximum de la plage d’entrée du
convertisseur analogique-numérique (qui est 0-3,3 V),
Signal ECG nous réglons l’offset de sortie à 1,65 V et le gain à 100.
Cela nous permet d’avoir un signal ECG d’amplitude
La première étape dans la conception d’un système est
crête à crête environ égale à 300 mV, centré dans la
la compréhension du signal que le système va traiter.
plage du convertisseur.
Le signal provenant d’une paire d’électrodes (d’une
Multiplexeur (MUX)
dérivation) est un signal différentiel, d’une amplitude
de l’ordre de quelques millivolts, et avec une présence Après avoir vu comment mettre en forme le signal issu
spectrale maximale de 150 Hz pour un adulte. de deux électrodes à l’aide du composant AD623, nous
souhaitons faire la même chose pour une autre
De plus, le corps humain peut capter un certain nombre
dérivation (voir plus). Pour cela nous allons utiliser un
de parasites, provenant du secteur électrique, des
multiplexeur différentiel 4 canaux, le CD4052B.
lampes fluorescentes environnantes, etc. Ces parasites
se manifestent soit comme des signaux de mode
commun soit de mode différentiel. Nous allons contrer
les parasites de mode différentiel à l’aide de filtres et
les parasites de mode commun en utilisant un circuit à
rejection de mode commun.
5
Bien évidemment il y a un compromis à faire entre les
performances du filtre (atténuation dans la bande de
coupure, pente de la bande de transition) et le nombre
de coefficients du filtre et donc la durée de calcul.
6
mémoire des échantillons envoyés par le
Valorisation – partie microcontrôleur.
7
Figure 17 - Représentation d'un ECG
Figure 16 - Illustration "paramètres du signal"
Ces curseurs permettent par exemple de mesurer
La fréquence cardiaque affichée est la fréquence
précisément la durée et l’amplitude des ondes P, QRS,
cardiaque dite « instantanée ». C’est la fréquence
T et U, ou encore la durée de l’intervalle PR et du
cardiaque en battements par minute (bpm)
segment ST. Tous ces paramètres sont autant
correspondant à l’intervalle de temps entre deux pics
d’informations utiles à la détection de pathologie par
du signal. Le calcul de ce paramètre se fait toutes les
l’examen minutieux d’un ECG. Mais l’illustration la
200 ms. Cela consiste en une recherche de maximums
plus simple de l’utilisation de ces curseurs reste la
locaux dans les dernières 1500 ms en mémoire puis du
détermination de la fréquence cardiaque.
calcul de la fréquence cardiaque grâce à l’intervalle de
temps entre les deux derniers maximums locaux. On
trouve aussi dans ces paramètres la « fenêtre de temps
disponible ». Ceci est la fenêtre de temps maximal que
l’utilisateur peut afficher sur le graphe. Le réglage de
la fenêtre se fait dans une zone de texte sous le graphe.
8
Analyse spectrale (FFT) dans la partie précédente. Maintenant, dans les mêmes
conditions mais avec filtrage activé, voyons le spectre :
Le bouton FFT dans le menu clic droit ouvre une
nouvelle fenêtre qui affiche le spectre du signal ECG
affiché sur la fenêtre principale. L’ordonnée est
graduée en dB et l’abscisse en Hz. Par défaut, la
fenêtre de fréquence va de 0 à Fs/2 (Fs la fréquence
d’échantillonnage), donc de 0 à 250 Hz. L’affichage
est dynamique de la même manière que pour le signal
ECG. Les champs « fstart » et « fstop » permettent à
Figure 20 - FFT avec filtrage
l’utilisateur de sélectionner la fenêtre de fréquence
qu’il désire afficher. L’algorithme utilisé pour le calcul Une fois le filtrage activé, on parvient à deviner les
de cette FFT est l’algorithme de Cooley-Tukey en base gabarits des filtres utilisés sur cette figure : coupe-
2 avec entrelacement fréquentiel et ré-indiçage de bande à 50Hz et passe bas à 80 Hz. Toutes les
tableau par inversion des bits (bit reverse). Cet harmoniques indésirables sont ainsi affaiblies et on
algorithme nécessite en entrée un tableau dont la taille parvient à obtenir un électrocardiogramme de
est une puissance de deux. Ceci explique pourquoi la meilleure qualité.
fenêtre de temps de l’électrocardiogramme est fixée
par défaut à 2048 ms. Puisque la fréquence Sélection de la dérivation
d’échantillonnage est ici de 500 Hz, cela correspond à
Pour finir, le menu contextuel permet de choisir quelle
1024 échantillons. Et 1024 = 210 est une puissance de
dérivation doit être affichée. Par défaut, la dérivation 1
2. Avec cette fenêtre de temps judicieusement choisie,
est affichée. Si on sélectionne dérivation 0, le caractère
la FFT peut être utilisée et exploitée sans problème
‘0’ est envoyé au microcontrôleur et la sortie du
particulier. Lorsque la fenêtre de temps n’est pas une
multiplexeur est désactivée. Si la dérivation 1 est
puissance de 2, et donc le tableau de données en entrée
sélectionnée, le caractère ‘1’ est envoyé au
de la FFT n’a pas une taille qui est une puissance de 2,
microcontrôleur et le multiplexeur ne sort que la
l’implémentation de l’algorithme réalisée complète ce
dérivation 1 qui est tracée sur la fenêtre principale. De
tableau avec des zéros. Un spectre est alors affiché. Il a
même pour la dérivation 2 : caractère ‘2’ envoyée,
l’allure du spectre qu’il devrait avoir avec un
sortie du multiplexeur dérivation 2 et tracée sur la
algorithme de FFT fonctionnant avec un nombre de
fenêtre principale. Quand les dérivations 1 et 2 sont
points quelconque, mais il faut être prudent quant à son
sélectionnées, ‘3’ est envoyé au microcontrôleur qui
interprétation.
va faire commuter le multiplexeur entre chaque
Cette possibilité d’étudier le spectre d’un signal dans opération d’échantillonnage entre les dérivations 1 et
l’application est très utile pour déterminer ses 2. Une deuxième fenêtre s’ouvre où se trace
principales composantes spectrales et donc choisir l’électrocardiogramme de la deuxième dérivation. Les
judicieusement le filtrage à réaliser sur ce signal. deux dérivations sont ainsi tracées en même temps.
Tout d’abord, l’intégration d’un multiplexeur a Texas Instruments. (2009). Analog Front-End Design
nécessité la diminution de la fréquence for ECG Systems Using Delta-Sigma ADCs -
d’échantillonnage d’un facteur 2 (passage de 1000 Hz SBAA160A.
à 500 Hz) afin de pouvoir réaliser la routine de filtrage
numérique sur deux dérivations. Nous voulions réaliser
la communication sans fil entre le microcontrôleur et le
PC via le module BLE (Bluetooth Low Energy) du
STM32. Un exemple de communication BLE
disponible sur la plateforme MBED permettait
moyennant quelques modifications de faire fonctionner
ce protocole de communication côté microcontrôleur;
mais côté Java aucune bibliothèque ne permettait de se
connecter au module BLE.
10
Annexe
Diagramme de Gantt
11
Logigramme du programme embarqué microcontrôleur
12