Filtre passe bas simple

Revision:
2:46a658fe2f70
Parent:
1:999ae031e7c1
Child:
3:79a6e3d33887
--- a/FiltrePB.cpp	Mon Feb 15 15:16:59 2016 +0000
+++ b/FiltrePB.cpp	Mon Feb 15 17:19:56 2016 +0000
@@ -3,17 +3,17 @@
 FiltrePB::FiltrePB(){
 }
 
-FiltrePB::FiltrePB(float fc, float Ts){
-    vep=vsp=0.0;
-    tau=1.0/(fc*2*3.1415);    //calcul de la constante de temps
-    a=1.0/(1+(2*tau/Ts));     //calcul du coefficient a du filtre
-    b=(1-(2*tau/Ts))*a;       //calcul du coefficient b du filtre
+FiltrePB::FiltrePB(float fc, float Ts) : Ts_m(Ts), fc_m(fc){
+    vep_m=vsp_m=vs_m=0.0;
+    tau_m=1.0/(fc_m*2*3.1415);    //calcul de la constante de temps
+    a_m=1.0/(1+(2*tau_m/Ts_m));     //calcul du coefficient a du filtre
+    b_m=(1-(2*tau_m/Ts_m))*a_m;       //calcul du coefficient b du filtre
 }
 
-float FiltrePB::FiltreExe(float ve){
-    vs=a*ve+a*vep+b*vsp;       
-    vep=ve;
-    vsp=vs;      
-    return vs;
+float FiltrePB::compute(float ve){
+    vs_m=a_m*ve+a_m*vep_m+b_m*vsp_m;       
+    vep_m=ve;
+    vsp_m=vs_m;      
+    return vs_m;
 }