一段PID微分项滤波的代码原理不是特别懂
//注释是写的低通滤波器PID中D的滤波//代码是算出微分项之后的滤波
//代码来自APM飞控
float RC = 1/(2*PI*_fCut);
derivative = _last_derivative +((delta_time / (RC + delta_time)) * (derivative - _last_derivative));
能解释一下怎么就起到滤波作用了?
我感觉就是这一次结果 = 变化量*比例系数 + 上一次的结果 (比例系数小于1罢了) 数字低通滤波,楼主网上搜一下吧。 据说这是种模拟RC滤波器的算法:输出量=上次的输出量+系数*(输人量-上次输出量) 系数越小,当前输入量在当前输出量里所起的作用越小,当前的输出量越依赖于上次的输出量,从而起到滤波的作用
页:
[1]