//滤波参数
float sos[2][6]={{0.00418553 ,0.00837105 , 0.00418553 , 1. , -1.08130803, 0.31257603},
{ 1. , 2. , 1. , 1. , -1.35390591 , 0.6434766}};
float prod_1[3] = {0,0,0};
float res0_1[3]= {0,0,0};
float res_1[3]= {0,0,0};
//函数声明
double Low_Pass(double data);
//使用函数,这里根据自己需求改写
Current_Resistance = Low_Pass(Current_Resistance);
//滤波公式
double Low_Pass(double data){
prod_1[0]= data;
res0_1[0] = (sos[0][0] * prod_1[0]) + (sos[0][1] * prod_1[1]) + (sos[0][2] * prod_1[2]) - (sos[0][4] * res0_1[1]) - (sos[0][5] * res0_1[2]);
res_1[0] = (sos[1][0] * res0_1[0]) + (sos[1][1] * res0_1[1]) + (sos[1][2] * res0_1[2]) - (sos[1][4] * res_1[1]) - (sos[1][5] * res_1[2]);
prod_1[2]=prod_1[1];
prod_1[1]=prod_1[0];
res0_1[2]=res0_1[1];
res0_1[1]=res0_1[0];
res_1[2]=res_1[1];
res_1[1]=res_1[0];
return res_1[0];
}