找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3147|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

加權(quán)遞推平均濾波程序 請問一下各位大佬,這個加權(quán)濾波為什么要加權(quán)。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:586048 發(fā)表于 2020-5-29 19:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. /*
  2. A、名稱:加權(quán)遞推平均濾波法
  3. B、方法:
  4.     是對遞推平均濾波法的改進,即不同時刻的數(shù)據(jù)加以不同的權(quán);
  5.     通常是,越接近現(xiàn)時刻的數(shù)據(jù),權(quán)取得越大。
  6.     給予新采樣值的權(quán)系數(shù)越大,則靈敏度越高,但信號平滑度越低。
  7. C、優(yōu)點:
  8.     適用于有較大純滯后時間常數(shù)的對象,和采樣周期較短的系統(tǒng)。
  9. D、缺點:
  10.     對于純滯后時間常數(shù)較小、采樣周期較長、變化緩慢的信號;
  11.     不能迅速反應(yīng)系統(tǒng)當(dāng)前所受干擾的嚴(yán)重程度,濾波效果差。
  12. E、整理:shenhaiyu 2013-11-01
  13. */

  14. int Filter_Value;

  15. void setup() {
  16.   Serial.begin(9600);       // 初始化串口通信
  17.   randomSeed(analogRead(0)); // 產(chǎn)生隨機種子
  18. }

  19. void loop() {
  20.   Filter_Value = Filter();       // 獲得濾波器輸出值
  21.   Serial.println(Filter_Value); // 串口輸出
  22.   delay(50);
  23. }

  24. // 用于隨機產(chǎn)生一個300左右的當(dāng)前值
  25. int Get_AD() {
  26.   return random(295, 305);
  27. }

  28. // 加權(quán)遞推平均濾波法
  29. #define FILTER_N 12
  30. int coe[FILTER_N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};    // 加權(quán)系數(shù)表
  31. int sum_coe = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12; // 加權(quán)系數(shù)和
  32. int filter_buf[FILTER_N + 1];
  33. int Filter() {
  34.   int i;
  35.   int filter_sum = 0;
  36.   filter_buf[FILTER_N] = Get_AD();
  37.   for(i = 0; i < FILTER_N; i++) {
  38.     filter_buf[i] = filter_buf[i + 1]; // 所有數(shù)據(jù)左移,低位仍掉
  39.     filter_sum += filter_buf[i] * coe[i];
  40.   }
  41.   filter_sum /= sum_coe;
  42.   return filter_sum;
  43. }
復(fù)制代碼

對比滑動平均濾波(遞推平均濾波)它的優(yōu)勢是什么,看上去好像就靈敏度高了一些

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:586048 發(fā)表于 2020-5-29 20:07 | 只看該作者
本帖最后由 hzw854025403 于 2020-5-29 20:08 編輯

下面是我對靈敏度和滯后時間的理解,對不對
2.靈敏度高是什么意思:
        靈敏度是指 ADC采集到的值實際反映到輸出結(jié)果的時間,不會被之前的數(shù)據(jù)所拖累,
        說白了就是采集數(shù)據(jù)實時反映的速度,靈敏度越高,對ADC采集的值反映更快

3.滯后時間:
被控對象的被控變量的變化落后于干擾的現(xiàn)象叫滯后
滯后時間與靈敏度成反比,靈敏度越高,滯后時間就越短,
但是,在10個濾波算法中,靈敏度越低的濾波效果就越平滑,對于偶然的脈沖干擾越差
回復(fù)

使用道具 舉報

板凳
ID:586048 發(fā)表于 2020-5-29 20:12 | 只看該作者
加權(quán)的實際意義在于那?如果我不加權(quán),就單單遞推平均濾波好像也差不多。
回復(fù)

使用道具 舉報

地板
ID:162664 發(fā)表于 2020-5-30 22:29 | 只看該作者
建議看看《匠人手記》。畢竟你發(fā)的這段程序是出自該書作者n多年前的帖子。書中有詳細(xì)注明。
怎么理解我覺得用過的人或者有足夠深刻理解的人講的相對好些,我沒用過這種方式不好評論。
回復(fù)

使用道具 舉報

5#
ID:586048 發(fā)表于 2020-6-1 09:54 | 只看該作者
gxslxxm 發(fā)表于 2020-5-30 22:29
建議看看《匠人手記》。畢竟你發(fā)的這段程序是出自該書作者n多年前的帖子。書中有詳細(xì)注明。
怎么理解我覺 ...

謝謝!我已經(jīng)知道為什么了
回復(fù)

使用道具 舉報

6#
ID:586048 發(fā)表于 2020-6-1 10:02 | 只看該作者
鏈接: https://pan.baidu.com/s/1WZqy6oCJsQ9ph_OtyXV5YA 提取碼: 3dy1
這個是樓上說的匠人筆記以及我對加權(quán)遞推平均濾波的一些看法,有興趣的可以看一下
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表