#ifndef __FILTER_H__ #define __FILTER_H__ #include "config.h" //---------------------------------------------------------- // 中位值平均滤波器 int MAFilter(int * pBuff, int len); //---------------------------------------------------------- // 加权递推平均滤波器(线性权值) int WRAFilter(int * pBuff, int len); //---------------------------------------------------------- // 一阶低通滤波 typedef struct { float f1value; float lowpassxs; }LPF1stData; #ifdef _IN_FILTER_C // 参考默认值 const LPF1stData defaultLPF1st = { -1, 0.5f, }; #else extern const LPF1stData defaultLPF1st; #endif int LPF1st(LPF1stData * pLpf1st, int newData); //---------------------------------------------------------- // 二阶滤波 typedef struct { float f2value; // float b0; float a1; float a2; float preout; float lastout; }LPF2ndData; #ifdef _IN_FILTER_C // 参考默认值 // 截止频率(中心频率f0):30Hz 采样频率fs:500Hz const LPF2ndData defaultLPF2nd = { -1, 0.1883633f, 1.023694f, 0.2120577f, 0, 0, }; #else extern const LPF2ndData defaultLPF2nd; #endif int LPF2nd(LPF2ndData * pLpf2nd, int newData); //---------------------------------------------------------- #endif