《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 10種簡單的數字濾波算法
10種簡單的數字濾波算法
摘要: 本文詳細介紹了10種簡單的用C語言描述的數字濾波算法。
Abstract:
Key words :

  假定從8位AD中讀取數據(如果是更高位的AD可定義數據類型為int),子程序為get_ad();

  1、限副濾波

  /* A值可根據實際情況調整

  value為有效值,new_value為當前采樣值

  濾波程序返回有效的實際值 */

  #define A 10

  char value;

  char filter()

  {

  char new_value;

  new_value = get_ad();

  if ( ( new_value - value 》 A ) || ( value - new_value 》 A )

  return value;

  return new_value;

  }

  2、中位值濾波法

  /* N值可根據實際情況調整

  排序采用冒泡法*/

  #define N 11

  char filter()

  {

  char value_buf[N];

  char count,i,j,temp;

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

  {

  value_buf[count] = get_ad();

  delay();

  }

  for (j=0;j《N-1;j++)

  {

  for (i=0;i《N-j;i++)

  {

  if ( value_buf[i]》value_buf[i+1] )

  {

  temp = value_buf[i];

  value_buf[i] = value_buf[i+1];

  value_buf[i+1] = temp;

  }

  }

  }

  return value_buf[(N-1)/2];

  }

  3、算術平均濾波法

  /*

  */

  #define N 12

  char filter()

  {

  int sum = 0;

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

  {

  sum + = get_ad();

  delay();

  }

  return (char)(sum/N);

  }

  4、遞推平均濾波法(又稱滑動平均濾波法)

  /*

  */

  #define N 12

  char value_buf[N];

  char i=0;

  char filter()

  {

  char count;

  int sum=0;

  value_buf[i++] = get_ad();

  if ( i == N ) i = 0;

  for ( count=0;count《N,count++)

  sum = value_buf[count];

  return (char)(sum/N);

  }

  5、中位值平均濾波法(又稱防脈沖干擾平均濾波法)

  /*

  */

  #define N 12

  char filter()

  {

  char count,i,j;

  char value_buf[N];

  int sum=0;

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

  {

  value_buf[count] = get_ad();

  delay();

  }

  for (j=0;j《N-1;j++)

  {

  for (i=0;i《N-j;i++)

  {

  if ( value_buf[i]》value_buf[i+1] )

  {

  temp = value_buf[i];

  value_buf[i] = value_buf[i+1];

  value_buf[i+1] = temp;

  }

  }

  }

  for(count=1;count《N-1;count++)

  sum += value[count];

  return (char)(sum/(N-2));

  }

  假定從8位AD中讀取數據(如果是更高位的AD可定義數據類型為int),子程序為get_ad();

  1、限副濾波

  /* A值可根據實際情況調整

  value為有效值,new_value為當前采樣值

  濾波程序返回有效的實際值 */

  #define A 10

  char value;

  char filter()

  {

  char new_value;

  new_value = get_ad();

  if ( ( new_value - value 》 A ) || ( value - new_value 》 A )

  return value;

  return new_value;

  }

  2、中位值濾波法

  /* N值可根據實際情況調整

  排序采用冒泡法*/

  #define N 11

  char filter()

  {

  char value_buf[N];

  char count,i,j,temp;

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

  {

  value_buf[count] = get_ad();

  delay();

  }

  for (j=0;j《N-1;j++)

  {

  for (i=0;i《N-j;i++)

  {

  if ( value_buf[i]》value_buf[i+1] )

  {

  temp = value_buf[i];

  value_buf[i] = value_buf[i+1];

  value_buf[i+1] = temp;

  }

  }

  }

  return value_buf[(N-1)/2];

  }

  3、算術平均濾波法

  /*

  */

  #define N 12

  char filter()

  {

  int sum = 0;

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

  {

  sum + = get_ad();

  delay();

  }

  return (char)(sum/N);

  }

  4、遞推平均濾波法(又稱滑動平均濾波法)

  /*

  */

  #define N 12

  char value_buf[N];

  char i=0;

  char filter()

  {

  char count;

  int sum=0;

  value_buf[i++] = get_ad();

  if ( i == N ) i = 0;

  for ( count=0;count《N,count++)

  sum = value_buf[count];

  return (char)(sum/N);

  }

  5、中位值平均濾波法(又稱防脈沖干擾平均濾波法)

  /*

  */

  #define N 12

  char filter()

  {

  char count,i,j;

  char value_buf[N];

  int sum=0;

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

  {

  value_buf[count] = get_ad();

  delay();

  }

  for (j=0;j《N-1;j++)

  {

  for (i=0;i《N-j;i++)

  {

  if ( value_buf[i]》value_buf[i+1] )

  {

  temp = value_buf[i];

  value_buf[i] = value_buf[i+1];

  value_buf[i+1] = temp;

  }

  }

  }

  for(count=1;count《N-1;count++)

  sum += value[count];

  return (char)(sum/(N-2));

  }

  6、限幅平均濾波法

  /*

  */

  略 參考子程序1、3

  7、一階滯后濾波法

  /* 為加快程序處理速度假定基數為100,a=0~100 */

  #define a 50

  char value;

  char filter()

  {

  char new_value;

  new_value = get_ad();

  return (100-a)*value + a*new_value;

  }

  8、加權遞推平均濾波法

  /* coe數組為加權系數表,存在程序存儲區。*/

  #define N 12

  char code coe[N] = {1,2,3,4,5,6,7,8,9,10,11,12};

  char code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;

  char filter()

  {

  char count;

  char value_buf[N];

  int sum=0;

  for (count=0,count《N;count++)

  {

  value_buf[count] = get_ad();

  delay();

  }

  for (count=0,count《N;count++)

  sum += value_buf[count]*coe[count];

  return (char)(sum/sum_coe);

  }

  9、消抖濾波法

  #define N 12

  char filter()

  {

  char count=0;

  char new_value;

  new_value = get_ad();

  while (value !=new_value);

  {

  count++;

  if (count》=N) return new_value;

  delay();

  new_value = get_ad();

  }

  return value;

  }

  10、限幅消抖濾波法

  /*

  */

  略 參考子程序1、9

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美亚洲三级| 一区二区三区欧美亚洲| 亚洲国产精品小视频| 国产欧美婷婷中文| 国产精品成人在线| 欧美激情在线播放| 麻豆久久久9性大片| 久久久久久一区| 欧美一区二区高清在线观看| 一区二区日韩伦理片| 亚洲精品一品区二品区三品区| 亚洲国产精品一区二区久| 欧美在线免费| 香蕉久久夜色精品国产| 亚洲资源av| 亚洲摸下面视频| 亚洲男人av电影| 亚洲欧美日韩国产综合| 亚洲小视频在线观看| 亚洲永久免费av| 午夜精品久久久久久久99热浪潮| 亚洲在线观看视频网站| 午夜视频在线观看一区二区| 先锋影音久久久| 久久国产精品久久久久久| 久久国产福利国产秒拍| 亚洲第一区色| 亚洲日韩欧美视频| 亚洲免费av片| 亚洲图片在线观看| 亚洲午夜久久久| 亚洲欧美国产另类| 欧美一区二粉嫩精品国产一线天| 欧美亚洲午夜视频在线观看| 欧美一区二区三区在线视频 | avtt综合网| 亚洲——在线| 欧美有码视频| 久久久久久一区二区| 欧美国产精品一区| 欧美午夜大胆人体| 国产人久久人人人人爽| 一区在线播放| 亚洲精品欧美精品| 亚洲一区二区视频在线| 欧美精品免费在线观看| 一区二区三区四区五区视频| 亚洲欧美日韩精品久久亚洲区| 欧美中文在线免费| 亚洲精品国产精品久久清纯直播| 中日韩美女免费视频网站在线观看| 亚洲永久在线| 久久女同互慰一区二区三区| 欧美精品一区二区三区四区| 国产精品久久久久久一区二区三区| 国内精品久久久久久影视8 | 亚洲精品小视频在线观看| 亚洲性感激情| 亚洲国产影院| 亚洲欧美日韩在线一区| 美女日韩欧美| 国产精品久久久久久模特| 国产一区二区丝袜高跟鞋图片| 亚洲欧洲精品一区二区精品久久久| 亚洲一区二区三区午夜| 亚洲精品看片| 欧美一区二区在线播放| 美日韩免费视频| 国产精品久久久久久久久免费桃花 | 激情欧美日韩一区| 一区二区三区精品久久久| 久久精品国产一区二区三区| 一区二区三区产品免费精品久久75 | 午夜精品区一区二区三| 免费久久99精品国产| 国产精品vvv| 亚洲国产精品第一区二区三区| 亚洲免费中文字幕| 日韩午夜免费视频| 久久久精品免费视频| 欧美日韩一级黄| 国产综合av| 亚洲午夜在线观看| 亚洲精品免费在线| 久久国产精品久久久久久| 欧美日韩久久不卡| 在线播放一区| 欧美一区二区日韩| 亚洲欧美卡通另类91av| 欧美激情一级片一区二区| 好看的av在线不卡观看| 亚洲一区二区三区免费观看| 一本久久a久久免费精品不卡| 噜噜噜91成人网| 国产日韩欧美在线播放不卡| 在线一区二区三区做爰视频网站| 亚洲日韩第九十九页| 久久天天狠狠| 国产日韩欧美亚洲| 亚洲午夜未删减在线观看| 亚洲最新视频在线播放| 欧美大片一区| 精品999久久久| 久久99在线观看| 欧美一区二区三区喷汁尤物| 欧美日韩在线三区| 最新亚洲一区| 久久久久久久久久久成人| 亚洲日本免费| 久久在线精品| 国产色综合网| 亚洲主播在线| 亚洲欧美日韩国产一区二区三区| 欧美日韩国产va另类| 最近看过的日韩成人| 亚洲精品男同| 欧美成人69av| 亚洲国产成人在线播放| 亚洲国产日韩欧美在线99| 久久久久成人精品免费播放动漫| 国产区精品视频| 午夜精品亚洲一区二区三区嫩草| 性做久久久久久| 国产精品永久在线| 亚洲欧美日韩精品久久久久| 欧美亚洲专区| 国产伦精品一区二区三区四区免费| 亚洲一区二区三区精品视频| 午夜精品一区二区三区在线播放| 国产精品乱人伦一区二区| 亚洲一线二线三线久久久| 性色av香蕉一区二区| 国产欧美日韩亚洲精品| 欧美国产一区二区| 亚洲国产成人在线| 久久婷婷久久| 1000部国产精品成人观看| 亚洲老板91色精品久久| 欧美日本韩国一区二区三区| 99在线|亚洲一区二区| 亚洲性视频网站| 国产老肥熟一区二区三区| 欧美一区二区三区在线免费观看| 狼人天天伊人久久| 亚洲高清视频一区| 亚洲视频久久| 国产日韩欧美制服另类| 久久精彩视频| 欧美激情免费观看| 一区二区日韩免费看| 欧美中文字幕精品| 国内揄拍国内精品久久| 亚洲精品欧美精品| 欧美三级乱码| 欧美亚洲三级| 欧美精品二区| 亚洲字幕在线观看| 久久久久久国产精品mv| 亚洲国产天堂久久国产91| 亚洲网站视频| 好看的av在线不卡观看| 亚洲免费电影在线观看| 欧美性猛交99久久久久99按摩 | 亚洲娇小video精品| 亚洲午夜一区二区| 国产真实乱子伦精品视频| 日韩亚洲综合在线| 国产精品亚洲综合久久| 亚洲缚视频在线观看| 欧美日韩精品一本二本三本| 亚洲欧美日韩精品久久久久| 欧美xart系列高清| 一区二区三区欧美视频| 久久久久久久久久久成人| 亚洲毛片一区二区| 久久精品国产久精国产一老狼| 亚洲激情影视| 欧美一区二区三区在线观看视频| 亚洲国产一区二区三区高清| 欧美一区二区成人6969| 亚洲国产精品一区二区三区| 亚洲欧美国产精品va在线观看| 一区在线免费观看| 亚洲免费婷婷| 亚洲国产一区视频| 欧美伊人久久久久久久久影院| 亚洲黑丝一区二区| 午夜一区不卡| 日韩视频一区二区| 久久综合色婷婷| 亚洲一区激情| 欧美日韩高清在线| 亚洲第一视频网站| 国产精品婷婷| 在线一区亚洲| 一区二区在线免费观看| 欧美一区二区在线免费观看| 亚洲另类视频| 欧美国产一区在线| 久久精品视频在线看|