你现在位置:首页>技术论文>软件知识>正文
几种简单的数字滤波
日期:2008-3-26 21:52:41 来源:本站整理  
点击: 作者:未知
点击【】放大字体.
假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();
WWW_PLC※JS_COM-PmLC-技.术_网

1、限副滤波
WW.W_PLCJS_COM-PLC-技.术_网

/*  A值可根据实际情况调整
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    value为有效值,new_value为当前采样值  
WWcW_PLCJS_COM-PLC-技.术_网

    滤波程序返回有效的实际值  */
WW.W_PLCJS_COM-PLC-技.术_网

#define A 10
plcjs.技.术_网

char value;
WWW_PLC※JS_COM-PmLC-技.术_网

char filter()
WWW_PLCJS@_COM%-PLC-技.术_网

{
WWW.PLCJS.COM——可编程控制器技术门户

   char  new_value;
WWW.PLCJS.COM——可编程控制器技术门户

   new_value = get_ad();
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

   if ( ( new_value - value > A ) || ( value - new_value > A )
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

      return value;
WW.W_PLCJS_COM-PLC-技.术_网

   return new_value;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

         
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

}
WWW.PLCJS.COM——可编程控制器技术门户

2、中位值滤波法
WWW_P※LCJS_CO※M-PLC-技-.术_网

/*  N值可根据实际情况调整
——可——编——程——控-制-器-技——术——门——户

    排序采用冒泡法*/
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

#define N  11
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

char filter()
WWcW_PLCJS_COM-PLC-技.术_网

{
WW.W_PLCJS_COM-PLC-技.术_网

   char value_buf[N];
WWW.PLCJS.COM——可编程控制器技术门户

   char count,i,j,temp;
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

   for ( count=0;count<N;count++)
WWW_PL※CJS_COM-PLC-技.术_网

   {
WWW_PLC※JS_COM-PmLC-技.术_网

      value_buf[count] = get_ad();
WWW_P※LCJS_CO※M-PLC-技-.术_网

      delay();
WWW.PLCJS.COM——可编程控制器技术门户

   }
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

   for (j=0;j<N-1;j++)
WWW_P※LCJS_CO※M-PLC-技-.术_网

   {
WWW_PLCJS_COM-PLC-技.术_网

      for (i=0;i<N-j;i++)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

      {
P.L.C.技.术.网——可编程控制器技术门户

         if ( value_buf[i]>value_buf[i+1] )
WW.W_PLC※JS_C,OM-PL,C-技.术_网

         {
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

            temp = value_buf[i];
WWW_PLCJS_COM-PLC-技.术_网

            value_buf[i] = value_buf[i+1]; 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

             value_buf[i+1] = temp;
plcjs.技.术_网

         }
P.L.C.技.术.网——可编程控制器技术门户

      }
WWW_P※LCJS_COM-PLC-)技.术_网

   }
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

   return value_buf[(N-1)/2];
WW.W_PLCJS_COM-PLC-技.术_网

}     
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

3、算术平均滤波法
P.L.C.技.术.网——可编程控制器技术门户

/*
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

*/
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

#define N 12
WW.W_PLC※JS_C,OM-PL,C-技.术_网

char filter()
WWcW_PLCJS_COM-PLC-技.术_网

{
W1WW_P4LCJS_COM-PLC-技.术_网

   int  sum = 0;
WWcW_PLCJS_COM-PLC-技.术_网

   for ( count=0;count<N;count++)
WWW_PLCJS@_COM%-PLC-技.术_网

   {
WW.W_PLCJS_COM-PLC-技.术_网

      sum + = get_ad();
plcjs.技.术_网

      delay();
WW.W_PLCJS_COM-PLC-技.术_网

   }
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

   return (char)(sum/N);
plcjs.技.术_网

}
plcjs.技.术_网

4、递推平均滤波法(又称滑动平均滤波法)
WWW_PL※CJS_COM-PLC-技.术_网

/*
WWcW_PLCJS_COM-PLC-技.术_网

*/
W1WW_P4LCJS_COM-PLC-技.术_网

#define N 12 
WWW_PLC※JS_COM-PmLC-技.术_网

char value_buf[N];
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

char i=0;
plcjs.技.术_网

char filter()
P.L.C.技.术.网——可编程控制器技术门户

{
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

   char count;
WW.W_PLC※JS_C,OM-PL,C-技.术_网

   int  sum=0;
WWW_PLC※JS_COM-PmLC-技.术_网

   value_buf[i++] = get_ad();
WWW_PLCJS_COM-PLC-技.术_网

   if ( i == N )   i = 0;
WW.W_PLC※JS_C,OM-PL,C-技.术_网

   for ( count=0;count<N,count++)
WWW_PL※CJS_COM-PLC-技.术_网

      sum = value_buf[count];
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

   return (char)(sum/N);
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

}
WW.W_PLCJS_COM-PLC-技.术_网

5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
WWW_PLCJS@_COM%-PLC-技.术_网

/*
WW.W_PLC※JS_C,OM-PL,C-技.术_网

*/
P.L.C.技.术.网——可编程控制器技术门户

#define N 12
WWW_PLCJS@_COM%-PLC-技.术_网

char filter()
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

{
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

   char count,i,j;
W1WW_P4LCJS_COM-PLC-技.术_网

   char value_buf[N];
——可——编——程——控-制-器-技——术——门——户

   int  sum=0;
WWcW_PLCJS_COM-PLC-技.术_网

   for  (count=0;count<N;count++)

本新闻共2页,当前在第11 2  
WWW.PLCJS.COM——可编程控制器技术门户

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行