bonjour.
je voudrais savoir comment ce code de lissage fonctionne,
j'ai une lecture de capteur infrarouge qui est trop fluctuante,
j'aimerai la stabilisé.
Bonjour
C'est un filtre passe-bas numérique du premier ordre.
La fonction lpfilter() reçoit : data = donnée brute a filtrer filterVal : coefficient du filtre compris entre 0 et 0.99 (peut etre vu come un %) filterdedVAL : valeur filtrée précédente
Le calcul consiste à combiner un % de la valeur brute actuelle (instant n) avec un % de la valeur filtrée antérieure (instant n-1)
On actualise enfin la 'dernière valeur filtrée'
Avec *filterVal=*0,5 le filtre revient à une moyenne simple entre valeur brute actuelle et valeur filtrée précédente, c'est du 50/50
bonjour.
j'ai des soucis avec la fonction
voioà coment j'ai tra
voici le bout de code:
valeur_brute = Lect_Capt_1; } void filtre_pass_bas(int valeur_brute){ resultat_filtre_Prec= Lpfilter(resultat*.9+(resultat_filtre_Prec*.1),Coef_filtre ,resultat_filtre_Prec); } je pense que c'est ici que cela ne va pas je n'ai pas vraiment de relation avec le reste float Lpfilter(float valeur_brute, float Coef_filtre, float Valeur_Filtre_Prec){