光电脉冲上升沿检测

该博客探讨了光电脉冲边沿检测算法的优化方法,包括最大最小值更新、变化率检测以及角度变化判断。作者指出原始算法可能存在的问题,如陷入局部最小值和对微小浮动的误判,并提出了改进方案,旨在更准确地识别上升沿和下降沿。

方法一, 最大最小值, 跳变取50%
这种方法很简单, 但是这种方法 有bug, maxPulse 和minPulse 会陷入极限值, 例如 -0 和 -65536
应当要注意初始化参数的取值. 即便是取值正确也仍然会陷入局部最小值, 导致minPulse和maxPulse 取值失去作用.


  		/// <summary>
        /// 最大光电脉冲值
        /// </summary>
        public static float maxPulse = float.MinValue; //初始化这么小,是为了防止陷入默认值. 不变化

        /// <summary>
        /// 最小光电脉冲值
        /// </summary>
        public static float minPulse = float.MaxValue; //初始化这么大,是为了防止陷入默认值. 不变化

        /// <summary>
        /// 平均光电脉冲值
        /// </summary>
        public static float avgPulse = 0;

        /// <summary>
        /// 上一个光电脉冲值
        /// </summary>
        public static float prePulse = 0;
		/// <summary>
   
        /// 光电脉冲边沿检测
        /// </summary>
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值