Bonjour à tous,
A l'issue d'un projet basé sur le codage d'un logiciel en Python devant permettre d'acquérir, visualiser et traiter les données issues d'une carte électronique récupérant le signal ECG d'un patient.
Le signal ECG arrive comme signal audio sur le PC (car un audio codec est présent sur la carte électronique) et ce signal se présente au final comme un tableau de 44100 échantillons (fréquence d’échantillonnage). Je suis bloquée par la manière de coder. La façon de procéder est la suivante.
Tout d’abord j’ai mon signal, un vecteur de points. Je cherche à enregistrer les maxima locaux sachant que l'indice de ces pics ne peut pas être trop proche les uns des autres. 5000 points minimum entre l'indice de 2 pics voisins me semble correct pour éviter qu'un battement cardiaque soit considéré comme 2 pics. Je pensais utiliser la fonction findpeaks de Python ici.
Ensuite je veux enregistrer tous les indices de ces points dans un vecteur de taille n.
Ensuite je fais ensuite la différence entre le point suivant et le point courant pour avoir tous les intervalles de battements. Ce qui donnerait un vecteur de taille n-1.
Enfin je ferais la moyenne arithmétique des ces intervalles pour trouver l’intervalle moyen. Ce qui me permettrait d’obtenir ma fréquence exprimée en nombre de points. Si f=23000, pour la mettre en bpm : f(bpm) = f/44100*60, où 44100 est la fréquence d’échantillonnage et je multiplie par 60 car c’est par minute.
Je vous remercie par avance pour votre aide.
Partager