技术论坛

 中值滤波库(不排序,已验证)

返回主题列表
作者 主题
凌飞翼
奇侠

经验值:7092
发帖数:3450
精华帖:26
楼主    2010-11-15 13:57:17
主题:中值滤波库(不排序,已验证) 精华帖 
本程序适用于PID回路反馈控制信号的滤波处理,可以减少或防止受控设备抖动。
占用存储器数量=表长*2+16B。(数据区长度最小为4,最大为64)
表长=64的情况下耗时24.4mS,表长=4时,耗时3.3mS。
设计该库,是我一直以来的一个梦想。以前用数组滤波,稳定有了,偏差又来了。
面对调节阀的抖动,我十分心痛,不知道它这一生做了多少无用功。
如果因此而延长了调节阀寿命,不说省钱,少一次故障、少一次维修,也算是为低碳经济做贡献。

密码自己找1718
滤波效果图(下载)
量程&滤波(下载)

(2011-6-12增补:库中参数及说明请看5楼)
制冷、热工-许可证试验室承建,给了我深究测量与控制的绝好机会。分享-值得期待!
Zaxife
至圣

经验值:12573
发帖数:2503
精华帖:31
58楼    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;
这样做总比那些求平均值和楼主的中值滤波要高效吧?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。