5
A
回答
11
我需要從非常嘈雜的CPU消耗數據中提取信號。這裏是Jeff McClintock中值濾波器...
將平均值和中值初始化爲零,然後對於每個樣本的「英寸」,向輸入樣本的中值增加一個小增量。最終,它將在大約50%的投入樣本更大,50%比中位數少的點上解決。 增量的大小應該與實際的中位數成正比。由於我們不知道實際的中位數,我用平均數作爲粗略估計。步長計算爲估計值的0.01倍。越小的步長越準確,但需要更長時間才能解決。
float median = 0.0f;
float average = 0.0f;
// for each sample
{
average += (abs(sample) - average) * 0.1f; // rough running average magnitude.
median += _copysign(average * 0.01, sample - median);
}
相關問題
- 1. 用SVG濾波器實現自適應閾值濾波器
- 2. 在張量流中實現高通濾波器
- 3. 如何在Matlab中實現高通巴特沃斯濾波器?
- 4. 在Verilog中實現FIR濾波器
- 5. 在MATLAB中實現微分濾波器
- 6. 在C#中實現FIR濾波器
- 7. 如何爲iPhone加速計實現高通濾波器?
- 8. PHP褻瀆濾波器的實現
- 9. 使用矢量實現FIR濾波器
- 10. 的Restlet多濾波器實現
- 11. Butterworth高通濾波器,Matlab
- 12. 平行中值濾波器
- 13. 與Matlab不同的高斯濾波器內核高斯濾波器內核
- 14. MATLAB中的三維高斯濾波器
- 15. 在matlab中旋轉高斯濾波器
- 16. 如何使用knockoutjs實現高效過濾器
- 17. MATLAB中的高通濾波
- 18. 使用高效移動平均濾波器的步幅
- 19. vue2無功濾波器值?
- 20. 蟒濾波器無值
- 21. OpenCV卡爾曼濾波器/ Python的實際實現?
- 22. python中的環中值濾波器
- 23. python中的圓形中值濾波器
- 24. FIR濾波器實現中的窗口大小
- 25. 如何在c#/ Silverlight中實現帶通濾波器
- 26. 如何在C中實現IIR濾波器?
- 27. 在目標c中實現了巴特沃思濾波器
- 28. 如何在Matlab中實現低通Butterworth濾波器?
- 29. 如何在Matlab中實現帶通Butterworth濾波器?
- 30. iPhone麥克風高通濾波器
雖然該解決方案是非常有效的,當心以下注意事項的: 1)的收斂速度取決於信號幅度(比較具有不同的偏移量和幅度的階躍響應),因此不收斂對信號接近零! 2)對於接近恆定的輸入信號,該估計引入具有'平均值* 0.01'幅度和採樣率頻率的抖動。3)短脈衝偏移(其中位數本來不是,因此作爲胡椒和噪聲濾波器而受歡迎) – orzechow 2017-06-06 12:02:46
是的,消除抖動的一個改進是限制步長(平均值* 0.01),而不是大於錯誤信號(樣本 - 中位數),即:std :: max(平均值* 0.01,fabs(樣本 - 中位數))。 – 2017-10-04 23:20:23