1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| import numpy as np
import matplotlib.pyplot as plt
i=[] #création d'une liste vide
i=np.loadtxt("tipe3.txt") #On affecte les valeurs de notre fichier txt à notre liste
N=len(i) #permet de connaître le nombre d'éléments dans i
print(N)
t =[] #création d'une liste vide qui comportera la variable de temps
t=np.linspace(0,0.02*N,N) #création de la variable temps, elle doit être de la même dimension que i
# Sachant de le delay de notre acquisition Arduino est de 20 ms, on multiplie N par 0.02s
def lissage(data,largeur): # On prend la moyenne glissante avec un nombre "largeur" de points consécutifs"
L = []
for i in range(len(data)-largeur):
val = 0
for j in range(largeur):
val += data[i+j]
val /= largeur
L.append(val)
return L #
# Application de la procédure de lissage
largeur = 15
donnees_lissees = lissage(i,largeur)
temps_lisse = t[largeur//2:-largeur//2] # On réduit aussi la liste des temps
plt.plot(temps_lisse,donnees_lissees)
plt.title('Variation cardiaque en fonction du temps - moyenne glissante')
plt.show() |
Partager