五点三次平滑滤波
算法簡介
五點三次平滑濾波能夠有效去除信號中的高頻隨機噪聲,在數字信號處理中有著廣泛應用,且濾波效果和靈活性優于滑動平均濾波。五點三次平滑濾波效果如下圖所示:
完整代碼(java)
//函數參數說明:a為一維輸入信號, m為五點三次平滑的階數,階數越高,濾波后的信號越平滑但耗時也更長。
float[] Mean5_3(float[] a, int m) {float[] b = new float[a.length];int n = a.length;for (int k = 0; k < m; k++) {b[0] = (69 * a[0] + 4 * (a[1] + a[3]) - 6 * a[2] - a[4]) / 70;b[1] = (2 * (a[0] + a[4]) + 27 * a[1] + 12 * a[2] - 8 * a[3]) / 35;for (int j = 2; j < n - 2; j++) {b[j] = (-3 * (a[j - 2] + a[j + 2]) + 12 * (a[j - 1] + a[j + 1]) + 17 * a[j]) / 35;}b[n - 2] = (2 * (a[n - 1] + a[n - 5]) + 27 * a[n - 2] + 12 * a[n - 3] - 8 * a[n - 4]) / 35;b[n - 1] = (69 * a[n - 1] + 4 * (a[n - 2] + a[n - 4]) - 6 * a[n - 3] - a[n - 5]) / 70;}return b; }總結
- 上一篇: 【一起学Rust】Rust学习前准备——
- 下一篇: 倒计时、定时器的五种方式,有这篇就够了