注释、青春 发表于 2015-1-28 23:54:50

一段PID微分项滤波的代码原理不是特别懂

//注释是写的低通滤波器PID中D的滤波
//代码是算出微分项之后的滤波
//代码来自APM飞控
      float RC = 1/(2*PI*_fCut);
      derivative = _last_derivative +((delta_time / (RC + delta_time)) * (derivative - _last_derivative));
能解释一下怎么就起到滤波作用了?
我感觉就是这一次结果 = 变化量*比例系数 + 上一次的结果 (比例系数小于1罢了)

ibichao 发表于 2015-1-29 00:00:37

数字低通滤波,楼主网上搜一下吧。

xuekcd 发表于 2015-2-4 11:49:35

据说这是种模拟RC滤波器的算法:输出量=上次的输出量+系数*(输人量-上次输出量)

xuekcd 发表于 2015-2-4 11:53:23

系数越小,当前输入量在当前输出量里所起的作用越小,当前的输出量越依赖于上次的输出量,从而起到滤波的作用
页: [1]
查看完整版本: 一段PID微分项滤波的代码原理不是特别懂