一种提高里程脉冲计算车辆行驶速度精度的方法技术

技术编号:9870958 阅读:225 留言:0更新日期:2014-04-03 23:52
本发明专利技术公开一种提高里程脉冲计算车辆行驶速度精度的方法,包括以下步骤:步骤1:里程脉冲信号波形为矩形方波,当里程脉冲信号每次出现下降沿时,处理器产生中断,处理器的中断处理函数记录以下参数:里程脉冲数C、最后一次里程脉冲信号出现下降沿的时间点t、最后一次脉冲的周期T,其中,T=tn-tn-1,T的单位为秒;步骤2:采用均值法计算的当前实时脉冲速度Sa:Sa=Dt/Dc;采用周期法计算的当前实时脉冲速度St:St=1/T;步骤3:通过比较均值法求脉冲速度计算出的当前实时脉冲速度Sa和周期法求脉冲速度计算出的当前实时脉冲速度St,判定当前的实时脉冲速度值S。

【技术实现步骤摘要】

本专利技术涉及GPS行车记录仪,具体涉及行车记录仪的车载GPS设备中车辆行驶速度的精度的提高方法。
技术介绍
在当前的车载GPS设备和行车记录仪中,对车辆的实时行驶速度的计算,有以下两种常用技术手段: 1.通过GPS技术,利用车辆所处的经纬度变化来计算地球表面距离,再通过单位时间内的距离计算得到行驶速度; 2.利用车辆出厂时预装的里程脉冲信号,对车轮滚动时产生的脉冲进行采集统计,并将单位时间内的脉冲个数乘以脉冲系数可得到行驶速度。可将其简称为均值法求脉冲速度。以上两种方法中,前者由于GPS精度有限以及漂移问题,所以计算出的实时脉冲速度误差较大,比较少用。而后者的计算方法,在车辆行驶很慢(脉冲频率很低)时,计算出的脉冲速度误差很大,尤其在要求快速记录实时脉冲速度(如每200ms记录一个脉冲速度值)时,误差更大;而当脉冲信号受到突发干扰时,这种计算方法的抗干扰性也不高。举例说明,当项目需求要求设备每200ms计算一个脉冲速度时,则设备处理器在I秒钟内至少需要采集处理5次脉冲才能满足要求。当车辆慢速到每秒钟I个脉冲时,如果每200ms计算一个脉冲速度值,则理论上I秒钟内的5次采样的脉冲数增长,有I次为增长I个,另外4次为增长0,再将200ms扩展成单位时间I秒时,5个采样点的脉冲速度值中有I次为5个/秒,另外4次为O0
技术实现思路
因此,针对上述的问题,本专利技术公开,针对现有技术的技术方案进行改进,在基于里程脉冲均值法的基础上,增加脉冲周期的计算(可简称为周期法求脉冲速度),通过两种算法(即均值法求脉冲速度和周期法求脉冲速度)计算出的脉冲速度值的比较和取舍,解决只用均值法计算脉冲速度的误差大和抗干扰性差的问题。具体的,本专利技术的,包括以下步骤: 步骤1:里程脉冲信号波形为矩形方波,当里程脉冲信号每次出现下降沿时,处理器产生中断,处理器的中断处理函数记录以下参数:里程脉冲数C、最后一次里程脉冲信号出现下降沿的时间点t、最后一次脉冲的周期τ,其中,T=W1, τ的单位为秒; 步骤2:处理器的计算脉冲速度的线程中,周期性地进行计算更新实时脉冲速度S ;令上一次计算实时脉冲速度的时间为t_last ;本次计算实时脉冲速度的时间为t_cur ;本次计算实时脉冲速度距上次计算时的时间差为Dt, Dt = t_cur - t_last ;上一次计算实时脉冲速度的里程脉冲总数为C_last ;本次计算实时脉冲速度的里程脉冲总数为C_cur ;本次计算实时脉冲速度时相对上次计算时的脉冲增加数为Dc, Dc = C_cur - C_last ; 采用均值法计算的当前实时脉冲速度Sa:Sa = Dt/Dc ; 采用周期法计算的当前实时脉冲速度St:St = 1/T; 步骤3:通过比较均值法求脉冲速度计算出的当前实时脉冲速度Sa和周期法求脉冲速度计算出的当前实时脉冲速度St,判定当前的实时脉冲速度值S,具体判定如下: 步骤31:如果(Sa-St)的绝对值大于预设值W,则表明误差太大,信号受到干扰,不更新脉冲速度值S,结束本次脉冲速度更新;否则继续步骤32 ; 步骤32:判断Sa大于预设值M时,将S更新为用均值法求脉冲速度计算出的当前实时脉冲速度Sa ;否则,将S更新为用周期法求脉冲速度计算出的当前实时脉冲速度St。优选的,所述预设值W=7,该值与记录频度及脉冲速度的加脉冲速度有关,此处为每秒计算5个脉冲速度值时的合理经验值。优选的,所述M=100。这个M可选的取值范围比较大,与CPU的处理效率和定时器精度等有关系,从几十到几百均可,这里的100是在400MHz主频CPU上验证后较合理的经验值。本专利技术通过采用上述方案,与现有技术相比,其具有如下有益效果: 1.通过两种不同脉冲速度算法(均值法求脉冲速度和周期法求脉冲速度)的结合对比,增加了里程脉冲受到突发性干扰时的过滤作用; 现有技术中,除了均值法和周期法求脉冲速度,还有一种脉冲速度的计算办法是,利用里程脉冲信号作为硬件计数器的触发信号,使用CPU的硬件计数器模块对该信号进行硬件计数,然后软件定时获取计数值进行脉冲速度计算,我们不妨简称这种方法为“硬件计数法”求脉冲速度。这种计算方法的缺点有:a.该方法需要使用到CPU额外的定时/计数器模块资源;b.这种算法的软件抗干扰性不高,对外部里程脉冲信号的稳定性要求非常高,增加了硬件设计的复杂度;c.该方法的里程脉冲总数是硬件模块采集的,软件无法获取脉冲信号的周期,导致无法同时使用本方案中所述的均值法或周期法进行脉冲速度计算;由于硬件计数法求脉冲速度的上述缺点尤其是其中的第c点,所以不能将它使用到本方案中作为比较对象; 2.当脉冲速度较低时,采用脉冲周期计算得的频率作为脉冲速度,巧妙地避开了频率低时平均脉冲速度计算带来的误差,提高了脉冲速度的精度,并最终提高了车辆的行驶脉冲速度。【附图说明】图1为里程脉冲信号的示意图; 图2为脉冲速度的计算流程图。【具体实施方式】现结合附图和【具体实施方式】对本专利技术进一步说明。如图1所示为里程脉冲信号波形,当信号每次出现下降沿时,处理器产生中断,在中断处理函数中需要记录以下参数: 里程脉冲数(设为C)自加I ; 最后一次脉冲下降沿的时间点t (如图中的tl、t2); 最后一次脉冲的周期T(如图1中,T=t2-tl, T的单位为秒); 在程序的计算脉冲速度的线程中,周期性地进行计算更新实时脉冲速度(设为S),该处理线程如图2所示。为最终计算得S,先对以下将涉及的参数符号进行说明: 上一次进行计算实时脉冲速度时的时间为t_last ; 本次计算实时脉冲速度时的时间为t_cur ; 本次计算实时脉冲速度距上次计算时的时间差为Dt (Dt = t_cur - t_last ); 上一次进行计算实时脉冲速度时的里程脉冲总数为C_last ; 本次进行计算实时脉冲速度时的里程脉冲总数为C_cur ; 本次计算实时脉冲速度时相对上次计算时的脉冲增加数为Dc ( Dc = C_cur - C_last); 设均值法计算的当前实时脉冲速度为Sa ; 设周期法计算的当前实时脉冲速度为St ; 均值法计算脉冲速度得Sa: Sa = Dt/Dc ; 周期法计算脉冲速度得St: St = 1/T ; 通过比较Sa和St,判定当前的脉冲速度值S的步骤为: 如果(Sa-St)的绝对值大于W,W的取值与记录频度以及脉冲速度的加脉冲速度有关,W的范围须大于记录频度(这里的频度为每秒5次),并尽量小,太大将影响防干扰效果。本实施例中,W=7,为每秒计算5个脉冲速度值时的合理经验值。那么,如果I Sa-St I >7,则说明误差太大,信号受到干扰,不更新脉冲速度值S,完成本次脉冲速度更新;否则继续步骤b; 判断Sa大于M,用Sa更新S ;否则,用St更新S。M与CPU的处理效率和定时器精度等有关系,从几十到几百均可,这里M取100,100是在400MHz主频CPU上验证后较合理的经验值。尽管结合优选实施方案具体展示和介绍了本专利技术,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本专利技术的精神和范围内,在形式上和细节上可以对本专利技术做出各种变化,均为本专利技术本文档来自技高网...

【技术保护点】
一种提高里程脉冲计算车辆行驶速度精度的方法,包括以下步骤:步骤1:里程脉冲信号波形为矩形方波,当里程脉冲信号每次出现下降沿时,处理器产生中断,处理器的中断处理函数记录以下参数:里程脉冲数C、最后一次里程脉冲信号出现下降沿的时间点t、最后一次脉冲的周期T,其中,T=tn‑tn‑1,T的单位为秒;步骤2:采用均值法计算的当前实时脉冲速度Sa:Sa = Dt/Dc ;采用周期法计算的当前实时脉冲速度St:St = 1/T;其中,Dt为本次计算实时脉冲速度距上次计算时的时间差,Dt = t_cur – t_last;t_last为上一次计算实时脉冲速度的时间;t_cur为本次计算实时脉冲速度的时间;Dc为本次计算实时脉冲速度时相对上次计算时的脉冲增加数,Dc = C_cur – C_last;C_last为上一次计算实时脉冲速度的里程脉冲总数;C_cur为本次计算实时脉冲速度的里程脉冲总数;步骤3:通过比较均值法计算出的当前实时脉冲速度Sa和周期法计算出的当前实时脉冲速度St,判定当前的实时脉冲速度值S,具体判定如下:步骤31:如果(Sa‑St)的绝对值大于预设值W,则表明误差太大,信号受到干扰,不更新脉冲速度值S,结束本次脉冲速度更新;否则继续步骤32;步骤32:判断Sa大于预设值M时,将S更新为用均值法求脉冲速度计算出的当前实时脉冲速度Sa;否则,将S更新为用周期法求脉冲速度计算出的当前实时脉冲速度St。...

【技术特征摘要】
1.一种提高里程脉冲计算车辆行驶速度精度的方法,包括以下步骤: 步骤1:里程脉冲信号波形为矩形方波,当里程脉冲信号每次出现下降沿时,处理器产生中断,处理器的中断处理函数记录以下参数:里程脉冲数C、最后一次里程脉冲信号出现下降沿的时间点t、最后一次脉冲的周期τ,其中,T=W1, τ的单位为秒; 步骤2:采用均值法计算的当前实时脉冲速度Sa:Sa = Dt/Dc ; 采用周期法计算的当前实时脉冲速度St:St = 1/T; 其中,Dt为本次计算实时脉冲速度距上次计算时的时间差,Dt = t_cur - t_last ;t_last为上一次计算实时脉冲速度的时间;t_cur为本次计算实时脉冲速度的时间; Dc为本次计算实时脉冲速度时相对上次计算时的脉冲增加数,Dc = C_cur - C_last ;C_las...

【专利技术属性】
技术研发人员:郑福弟任赋黄杭星郭亚松
申请(专利权)人:厦门雅迅网络股份有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1