[应用相关] 10种滤波算法ADC软件滤波方法及程序

[复制链接]
15093|23
 楼主| wailian1265k 发表于 2021-6-22 23:36 | 显示全部楼层
  1. 10、限幅消抖滤波法  
  2. /*
  3. */  
  4. 略 参考子程序1、9  
 楼主| wailian1265k 发表于 2021-6-22 23:37 | 显示全部楼层
11、IIR滤波例子  

  1. int  BandpassFilter4(int InputAD4)  
  2. {  
  3.     int  ReturnValue;   
  4.     int  ii;  
  5.     RESLO=0;  
  6.     RESHI=0;  
  7.     MACS=*PdelIn;  
  8.     OP2=1068; //FilterCoeff4[4];  
  9.     MACS=*(PdelIn+1);  
  10.     OP2=8;    //FilterCoeff4[3];  
  11.     MACS=*(PdelIn+2);  
  12.     OP2=-2001;//FilterCoeff4[2];  
  13.     MACS=*(PdelIn+3);  
  14.     OP2=8;    //FilterCoeff4[1];  
  15.     MACS=InputAD4;  
  16.     OP2=1068; //FilterCoeff4[0];  
  17.     MACS=*PdelOu;  
  18.     OP2=-7190;//FilterCoeff4[8];  
  19.     MACS=*(PdelOu+1);  
  20.     OP2=-1973; //FilterCoeff4[7];  
  21.     MACS=*(PdelOu+2);  
  22.     OP2=-19578;//FilterCoeff4[6];  
  23.     MACS=*(PdelOu+3);  
  24.     OP2=-3047; //FilterCoeff4[5];  
  25.     *p=RESLO;  
  26.     *(p+1)=RESHI;  
  27.     mytestmul<<=2;  
  28.     ReturnValue=*(p+1);  
  29.     for  (ii=0;ii<3;ii++)  
  30.     {  
  31.      DelayInput[ii]=DelayInput[ii+1];  
  32.      DelayOutput[ii]=DelayOutput[ii+1];  
  33.      }   
  34.      DelayInput[3]=InputAD4;  
  35.      DelayOutput[3]=ReturnValue;  
  36.       
  37.    //  if (ReturnValue<0)  
  38.    //  {  
  39.    //  ReturnValue=-ReturnValue;  
  40.    //  }  
  41.     return ReturnValue;   
  42. }  
foxsbig 发表于 2021-6-30 10:56 | 显示全部楼层
我们现在用卡尔曼
cr315 发表于 2021-6-30 16:21 | 显示全部楼层
感谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部