延时滤波比较适合对脉冲宽度已知的干扰信号进行滤波,这样可以更准确地确定延时时间,既不会因为延时时间太短而导致滤波不理想,又不会因为延时时间过长而导致资源浪费。而且,延时程序不仅可以有效地消除开关类信号的抖动,还可以滤去干扰、噪音等其他尖峰波,抗干扰强,可靠性高。
如果电路中存在多路输入信号时,当检测到任意一路输入信号状态发生变化时即执行延时程序,在执行延时程序的过程中将检测不到其他输入状态的变化,所以能够识别的动作间隔不可能小于延时时间T,特别是当多路输入信号的状态集中在短时间内变化时,电路的性能会严重下降。并且,由于频繁执行延时程序,会影响系统的效率和实时性。
2 判决滤波
判决滤波是一种基于概率统计的滤波方法。在采样时钟CLK 的控制下,每隔时间t 对开关信号进行一次采样,并对时间T0内采集到的n 个采样值进行判断( n = T0 /t) ,如果这n 个采样值中高电平‘1’的个数百分比大于X,则输出高电平; 相反,如果低电平‘0’的个数百分比大于X,则输出低电平。
采用一个n 位寄存器来实现判决滤波,寄存器各个位的值依次为采样得到的n 个采样值。寄存器的模型如图6 所示。
图6 寄存器模型