quote:以下是引用Zaxife在2011-08-22 19:44:05的发言:
如果纯粹的为了给输入模拟量滤波,我认为根本没必要这样做得这么复杂吧?
感觉还是直接用VW0映射AIW0,初始化时直接把AIW0传送给VW0,然后每周期都去判断;
如果 AIW0 > VW0,那么PID模拟量使用的是VW0 * 1.01的结果;
如果 AIW0 < VW0,那么PID模拟量使用的是VW0 * 0.99的结果;
这样就像是电容滤波的效果,对尖脉冲有很好的过滤效果。
如果闲过滤不好,可以降低比例,比如1.001,0.999;
这样做总比那些求平均值和楼主的中值滤波要高效吧?
你的VW0要不要进行修正或者刷新呢?
如果刷新就有可能出现跳变啊.....
如果不刷新,有可能跟实际AIW越离越远....
中值滤波却既能保证滤波后的数值准确性,又能消除干扰造成的信号尖封。