Pau*_*l R 17

简单的单极低通递归IIR滤波器可以快速简便地实现,例如

xf = k * xf + (1.0 - k) * x;
yf = k * yf + (1.0 - k) * y;
Run Code Online (Sandbox Code Playgroud)

其中x,y是原始(未过滤)X/Y加速度计信号,xf,yf是滤波后的输出信号,k确定滤波器的时间常数(通常为0.9到0.9999之间的值......,其中k值较大意味着更长的时间常数).

您可以k凭经验确定,或者如果您知道所需的截止频率Fc,则可以使用以下公式:

k = 1 - exp(-2.0 * PI * Fc / Fs)
Run Code Online (Sandbox Code Playgroud)

Fs采样率在哪里.

注意,xf,yf是RHS上输出信号的先前值,以及上面表达式的LHS上的新输出值.

另请注意,我们假设您将以固定的时间间隔(例如每10 ms)对加速度计信号进行采样.时间常数将是k和该采样间隔的函数.