请问一个信号采样有关问题

请教一个信号采样问题
IC有一个输出信号,为25HZ方波或者一个低电平,MCU 20毫秒采样一次,采集10次,如果变化次数大于等于3次,则认为信号为方波信号,反之则认为是低电平。现在因为对该信号进行采样的task延迟(大概延迟了40ms左右,不固定),方波信号被误判定为低电平的概率大概是80%;当改为采集20次,变化次数大于等于3次时判定信号为方波信号时,方波信号被误判定为低电平的概率大概是2%。

那位高手能够给个通俗易懂的解释,先谢谢了。

------解决方案--------------------
20毫秒的采样间隔太短了,提高一点采样频率试试看


------解决方案--------------------
25HZ的方波 周期就是40ms,方波脉宽为20ms高,20ms低联系电平信号。
采样频率20ms 意思每20ms去读取信号的幅值。所以很可能读取不到连续的变化,既然已经知道IC是低电平信号或者方波信号,建议直接判断是否一直为低电平,这样比较容易

------解决方案--------------------
10次出现3次错误的概率,当然比20次出现3次错误的概率,大得多!


------解决方案--------------------
引用:
Quote: 引用:

25HZ的方波 周期就是40ms,方波脉宽为20ms高,20ms低联系电平信号。
采样频率20ms 意思每20ms去读取信号的幅值。所以很可能读取不到连续的变化,既然已经知道IC是低电平信号或者方波信号,建议直接判断是否一直为低电平,这样比较容易
如果task没有延迟,20ms取样周期是没问题的,在有干扰的情况下判断是否一直是低电平有一定概率把低电平误判为方波信号。现在纠结的是怎么解释20次采样误判的概率远低于10次采样误判的概率。


TASK延时不会影响你的采样结果,只会影响你结果的实时性。
感觉应该是代码有BUG。增加采样次数当然会增加采样的成功率。