﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Magic Machine-文章分类-其他文档</title><link>http://www.cppblog.com/Jianglu/category/4330.html</link><description>汀小洛</description><language>zh-cn</language><lastBuildDate>Sun, 07 Sep 2008 03:08:47 GMT</lastBuildDate><pubDate>Sun, 07 Sep 2008 03:08:47 GMT</pubDate><ttl>60</ttl><item><title>GUI Web Address</title><link>http://www.cppblog.com/Jianglu/articles/59738.html</link><dc:creator>蒋露</dc:creator><author>蒋露</author><pubDate>Sat, 23 Aug 2008 11:26:00 GMT</pubDate><guid>http://www.cppblog.com/Jianglu/articles/59738.html</guid><wfw:comment>http://www.cppblog.com/Jianglu/comments/59738.html</wfw:comment><comments>http://www.cppblog.com/Jianglu/articles/59738.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jianglu/comments/commentRss/59738.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jianglu/services/trackbacks/59738.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 12pt; COLOR: #99cc00"><br>OMGUI OMGUI - Open source Multiplatform GUI toolkit</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://omgui.sourceforge.net/">http://omgui.sourceforge.net/</a> 
<img src ="http://www.cppblog.com/Jianglu/aggbug/59738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jianglu/" target="_blank">蒋露</a> 2008-08-23 19:26 <a href="http://www.cppblog.com/Jianglu/articles/59738.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转] 10种软件滤波方法</title><link>http://www.cppblog.com/Jianglu/articles/44743.html</link><dc:creator>蒋露</dc:creator><author>蒋露</author><pubDate>Tue, 18 Mar 2008 02:43:00 GMT</pubDate><guid>http://www.cppblog.com/Jianglu/articles/44743.html</guid><wfw:comment>http://www.cppblog.com/Jianglu/comments/44743.html</wfw:comment><comments>http://www.cppblog.com/Jianglu/articles/44743.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jianglu/comments/commentRss/44743.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jianglu/services/trackbacks/44743.html</trackback:ping><description><![CDATA[<p>下面奉献——<br>匠人呕心沥血搜肠刮肚冥思苦想东拼西凑整理出来的10种软件滤波方法</p>
<p>1、限幅滤波法（又称程序判断滤波法）<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据经验判断，确定两次采样允许的最大偏差值（设为A）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每次检测到新值时判断：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果本次值与上次值之差&lt;=A,则本次值有效<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果本次值与上次值之差&gt;A,则本次值无效,放弃本次值,用上次值代替本次值<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 能有效克服因偶然因素引起的脉冲干扰<br>&nbsp;&nbsp;&nbsp; C、缺点<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无法抑制那种周期性的干扰<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 平滑度差<br>&nbsp;&nbsp;&nbsp; <br>2、中位值滤波法<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 连续采样N次（N取奇数）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 把N次采样值按大小排列<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取中间值为本次有效值<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 能有效克服因偶然因素引起的波动干扰<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对温度、液位的变化缓慢的被测参数有良好的滤波效果<br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对流量、速度等快速变化的参数不宜</p>
<p>3、算术平均滤波法<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 连续取N个采样值进行算术平均运算<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N值较大时：信号平滑度较高，但灵敏度较低<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N值较小时：信号平滑度较低，但灵敏度较高<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N值的选取：一般流量，N=12；压力：N=4<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 适用于对一般具有随机干扰的信号进行滤波<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这样信号的特点是有一个平均值，信号在某一数值范围附近上下波动<br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于测量速度较慢或要求数据计算速度较快的实时控制不适用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比较浪费RAM<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>4、递推平均滤波法（又称滑动平均滤波法）<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 把连续取N个采样值看成一个队列<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 队列的长度固定为N<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 把队列中的N个数据进行算术平均运算,就可获得新的滤波结果<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N值的选取：流量，N=12；压力：N=4；液面，N=4~12；温度，N=1~4<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对周期性干扰有良好的抑制作用，平滑度高<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 适用于高频振荡的系统&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 灵敏度低<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对偶然出现的脉冲性干扰的抑制作用较差<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不易消除由于脉冲干扰所引起的采样值偏差<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不适用于脉冲干扰比较严重的场合<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比较浪费RAM<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>5、中位值平均滤波法（又称防脉冲干扰平均滤波法）<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 相当于&#8220;中位值滤波法&#8221;+&#8220;算术平均滤波法&#8221;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 连续采样N个数据，去掉一个最大值和一个最小值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后计算N-2个数据的算术平均值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N值的选取：3~14<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 融合了两种滤波法的优点<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于偶然出现的脉冲性干扰，可消除由于脉冲干扰所引起的采样值偏差<br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 测量速度较慢，和算术平均滤波法一样<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比较浪费RAM</p>
<p><br>6、限幅平均滤波法<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 相当于&#8220;限幅滤波法&#8221;+&#8220;递推平均滤波法&#8221;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每次采样到的新数据先进行限幅处理，<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 再送入队列进行递推平均滤波处理<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 融合了两种滤波法的优点<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于偶然出现的脉冲性干扰，可消除由于脉冲干扰所引起的采样值偏差<br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比较浪费RAM</p>
<p>7、一阶滞后滤波法<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取a=0~1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本次滤波结果=（1-a）*本次采样值+a*上次滤波结果<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对周期性干扰具有良好的抑制作用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 适用于波动频率较高的场合<br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 相位滞后，灵敏度低<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 滞后程度取决于a值大小<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不能消除滤波频率高于采样频率的1/2的干扰信号<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>8、加权递推平均滤波法<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是对递推平均滤波法的改进，即不同时刻的数据加以不同的权<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通常是，越接近现时刻的数据，权取得越大。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 给予新采样值的权系数越大，则灵敏度越高，但信号平滑度越低<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 适用于有较大纯滞后时间常数的对象<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 和采样周期较短的系统<br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于纯滞后时间常数较小，采样周期较长，变化缓慢的信号<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不能迅速反应系统当前所受干扰的严重程度，滤波效果差</p>
<p>9、消抖滤波法<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置一个滤波计数器<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将每次采样值与当前有效值比较：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果采样值＝当前有效值，则计数器清零<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果采样值&lt;&gt;当前有效值，则计数器+1，并判断计数器是否&gt;=上限N(溢出)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果计数器溢出,则将本次值替换当前有效值,并清计数器<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于变化缓慢的被测参数有较好的滤波效果,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动<br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于快速变化的参数不宜<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系<br>统</p>
<p>10、限幅消抖滤波法<br>&nbsp;&nbsp;&nbsp; A、方法：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 相当于&#8220;限幅滤波法&#8221;+&#8220;消抖滤波法&#8221;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先限幅,后消抖<br>&nbsp;&nbsp;&nbsp; B、优点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 继承了&#8220;限幅&#8221;和&#8220;消抖&#8221;的优点<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 改进了&#8220;消抖滤波法&#8221;中的某些缺陷,避免将干扰值导入系统<br>&nbsp;&nbsp;&nbsp; C、缺点：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于快速变化的参数不宜<br><br>[http://www.52rd.com/bbs/dispbbs.asp?boardid=15&amp;id=6362] </p>
<img src ="http://www.cppblog.com/Jianglu/aggbug/44743.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jianglu/" target="_blank">蒋露</a> 2008-03-18 10:43 <a href="http://www.cppblog.com/Jianglu/articles/44743.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>