基于秒脉冲频偏的采样点补偿方法、装置、介质及产品与流程
本发明属于采样点误差补偿,具体涉及一种基于秒脉冲频偏的采样点补偿方法、装置、介质及产品。
背景技术:
1、节点式地震采集仪是一种适合高密度、无缆化、分布式地震勘探的采集设备。每个节点通常独立完成传感、采样、授时、存储和状态记录,大规模布设后再统一回收数据进行处理。由于各节点在野外独立工作,节点之间缺少实时有线同步链路,因此每台节点设备的本地采样时间精度直接影响多节点数据的对齐效果。
2、在地震勘探中,采样时间误差会造成震相到时偏差、波形相位偏移、互相关峰值移动和叠加能量下降。对于浅层高分辨率勘探、微弱反射识别和复杂地质体成像等应用,多个节点之间的时间一致性尤其重要。
3、现有节点式地震采集仪通常采用全球导航卫星系统(global navigationsatellite system,gnss)模块获取绝对时间,并利用gnss输出的秒脉冲信号对系统时钟进行同步。然而,gnss信号在山地、密林、矿区、沟谷、城镇遮挡区等环境中可能不稳定,连续开启gnss模块也会增加功耗。为保证长期工作,节点设备通常需要依靠本地温度补偿晶体振荡器(temperature compensated crystal oscillator,tcxo)、压控温度补偿晶体振荡器(voltage controlled temperature compensated crystal oscillator,vctcxo)或其他高稳晶振进行连续守时和采样。
4、本地晶振虽然能够提供连续时钟,但其输出频率会受到供电状态、器件差异、长期运行状态以及外围连接方式影响。当节点连续采样数小时、数天甚至数十天时,微小频偏会累计为明显的采样点误差。此类误差不仅表现为系统时间偏差,还会导致一个授时周期内模数转换器(analog-to-digital converter,adc)实际采样点数与理论采样点数不一致。若不对该问题进行处理,后期数据时间轴对齐、数据切片和多节点联合处理均可能受到影响。
5、现有方法多侧重于gnss对实时时钟(real-time clock,rtc)或系统时间的校准,或者依赖晶振自身温度补偿,但对于adc连续采样数据流中因本地采样时钟频偏产生的采多、采少以及样点累计误差,缺少闭环补偿机制。因此,有必要提出一种更加贴合节点式地震采集仪嵌入式工作流程的采样点误差补偿方案。
技术实现思路
1、本发明的目的是提供一种基于秒脉冲频偏的采样点补偿方法、装置、介质及产品,用以解决现有技术中存在的上述问题。
2、为了实现上述目的,本发明采用以下技术方案:
3、第一方面,本发明提供了一种基于秒脉冲频偏的采样点补偿方法,应用于节点式地震采集仪,包括:
4、在高速外部旁路模式下,读取当前秒脉冲信号到达时本地定时器的计数值;
5、根据当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数值之差计算出当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率;
6、基于当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率与本地高稳晶振的理论频率,或模数转换器在当前秒脉冲信号周期内的实际采样点数与理论采样点数,确定出当前秒脉冲信号周期的频偏误差率,其中,秒脉冲信号周期内的实际采样点数是指秒脉冲信号周期内模数转换器的缓冲区的有效数据点总数;
7、对当前秒冲信号周期的频偏误差率进行有效判别,并对判别的有效频偏误差率进行多周期平滑滤波处理,得到滤波频偏误差率;
8、计算模数转换器在当前秒脉冲信号周期的理论采样点数与实际采样点数之差,得到离散补偿点数;
9、基于离散补偿点数,在下一秒脉冲信号周期对采样点数进行周期边界离散补偿,根据滤波频偏误差率在下一秒脉冲信号周期内逐采样点累加累计误差变量,并当累计误差变量的绝对值大于等于1时触发采样点数单点补偿。
10、在一个可能的设计中,在读取当前秒脉冲信号到达时本地定时器的计数值之前,所述方法还包括:
11、在节点式地震采集仪上电或从低功耗状态唤醒后启动gnss模块,并进行gnss授时初始化;
12、将节点式地震采集仪的系统时钟切换至高速外部旁路模式。
13、在一个可能的设计中,在读取当前秒脉冲信号到达时本地定时器的计数值之后,所述方法还包括:
14、判断当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数器是否会发生溢出;
15、如果当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数器不会发生溢出,则按照如下公式确定出当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数值之差;
16、c_k=count_k-count_{k-1}
17、如果当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数器会发生溢出,则按照如下公式确定出当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数值之差;
18、c_k=count_k+count_max-count_{k-1}
19、其中,count_k表示当前秒脉冲信号到达时本地定时器的计数值,count_{k-1}表示前一秒脉冲信号到达时本地定时器的计数值,count_max表示本地定时器的最大计数值;
20、基于当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数值之差,按照如下公式计算出当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率;
21、hse_actual_fq,k=c_k/t_pps
22、其中,t_pps表示当前秒脉冲信号周期所对应的时长。
23、在一个可能的设计中,基于当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率与本地高稳晶振的理论频率,或模数转换器在当前秒脉冲信号周期内的实际采样点数与理论采样点数,确定出当前秒脉冲信号周期的频偏误差率,包括:
24、如果节点式地震采集仪的主控系统当前处于驯服阶段,则基于当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率与本地高稳晶振的理论频率,按照如下公式确定出当前秒脉冲信号周期的频偏误差率;
25、timeerrorrate_k=(hse_actual_fq,k-hse_theory_fq)/hse_actual_fq,k
26、其中,hse_actual_fq,k表示当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率,hse_theory_fq表示当前秒脉冲信号周期内本地高稳晶振的理论频率;
27、如果节点式地震采集仪的主控系统当前处于驯服阶段之后的稳定阶段,则基于模数转换器在当前秒脉冲信号周期内的实际采样点数与理论采样点数,按照如下公式确定出当前秒脉冲信号周期的频偏误差率;
28、timeerrorrate_k=(n_a,k-n_t,k)/n_a,k
29、其中,n_a,k表示当前秒脉冲信号周期内模数转换器的实际采样点数,n_t,k表示当前秒脉冲信号周期内模数转换器的理论采样点数。
30、在一个可能的设计中,对当前秒冲信号周期的频偏误差率进行有效判别,并对判别的有效频偏误差率进行多周期平滑滤波处理,得到滤波频偏误差率,包括:
31、判断当前秒冲信号周期的频偏误差率的绝对值是否超出第一预设误差率阈值,如果未超出第一预设误差率阈值,则判定当前秒冲信号周期的频偏误差率有效;或
32、判断当前秒冲信号周期的频偏误差率与前一秒冲信号周期的频偏误差率之间的频偏误差率差值,与前一秒冲信号周期的且有效的频偏误差率差值之间的差值绝对值是否超出第二预设误差率阈值,如果未超出第二预设误差率阈值,则判定当前秒冲信号周期的频偏误差率有效,其中,前一秒冲信号周期的频偏误差率差值为前一秒冲信号周期的频偏误差率与前一秒冲信号周期之前的相邻秒冲信号周期的频偏误差率之间的差值;
33、如果最近连续多个秒冲信号周期的频偏误差率均无效,则标记模数转换器的时钟状态异常;
34、如果最近连续多个秒冲信号周期中有至少一个秒冲信号周期的频偏误差率有效,则计算最近连续多个有效秒冲信号周期的频偏误差率的平均值,得到所述滤波频偏误差率;其中,有效秒冲信号周期为频偏误差率有效的秒冲信号周期。
35、在一个可能的设计中,基于离散补偿点数,在下一秒脉冲信号周期对采样点数进行周期边界离散补偿,包括:
36、基于离散补偿点数,在下一秒脉冲信号周期开始位置进行一次性采样点数补偿;
37、根据滤波频偏误差率在下一秒脉冲信号周期内逐采样点累加累计误差变量,并当累计误差变量的绝对值大于等于1时触发采样点数单点补偿,包括:
38、根据滤波频偏误差率在下一秒脉冲信号周期内逐采样点累加累计误差变量;
39、当累计误差变量的绝对值大于等于1,且累计误差变量为正数时,则增加一个采样点数并将增加的采样点数写入缓冲区;
40、当累计误差变量的绝对值大于等于1,且累计误差变量为负数时,则控制缓冲区写指针回退一个采样点。
41、在一个可能的设计中,在对采样点数进行周期边界离散补偿和触发采样点数单点补偿之前,所述方法还包括:
42、判断当前缓冲区的写入指针是否会越界、当前缓冲区是否有足够空间、离散补偿点数是否超过预设补偿点数阈值、当前是否正在执行文件落盘操作、当前模数转换器的采样任务是否处于允许采样点补偿状态、当前gnss模块是否异常以及当前秒脉冲信号是否异常;
43、所述基于离散补偿点数,在下一秒脉冲信号周期对采样点数进行周期边界离散补偿,根据滤波频偏误差率在下一秒脉冲信号周期内逐采样点累加累计误差变量,并当累计误差变量的绝对值大于等于1时触发采样点数单点补偿,包括:
44、如果当前缓冲区的写入指针不会越界、当前缓冲区是有足够空间、离散补偿点数未超过预设补偿点数阈值、当前未正在执行文件落盘操作、当前模数转换器的采样任务处于允许采样点补偿状态、当前gnss模块是不存在异常且当前秒脉冲信号不存在异常,则基于离散补偿点数,在下一秒脉冲信号周期对采样点数进行周期边界离散补偿,根据滤波频偏误差率在下一秒脉冲信号周期内逐采样点累加累计误差变量,并当累计误差变量的绝对值大于等于1时触发采样点数单点补偿;
45、如果当前缓冲区的写入指针会越界、当前缓冲区没有足够空间、离散补偿点数超过预设补偿点数阈值、当前正在执行文件落盘操作、当前模数转换器的采样任务未处于允许采样点补偿状态、当前gnss模块异常或当前秒脉冲信号异常,则跳过采样点数补偿步骤。
46、第二方面,本发明提供了一种基于秒脉冲频偏的采样点补偿装置,包括:
47、读取单元,用于在高速外部旁路模式下,读取当前秒脉冲信号到达时本地定时器的计数值;
48、第一计算单元,用于根据当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数值之差计算出当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率;
49、确定单元,用于基于当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率与本地高稳晶振的理论频率,或模数转换器在当前秒脉冲信号周期内的实际采样点数与理论采样点数,确定出当前秒脉冲信号周期的频偏误差率,其中,秒脉冲信号周期内的实际采样点数是指秒脉冲信号周期内模数转换器的缓冲区的有效数据点总数;
50、判别及滤波单元,用于对当前秒冲信号周期的频偏误差率进行有效判别,并对判别的有效频偏误差率进行多周期平滑滤波处理,得到滤波频偏误差率;
51、第二计算单元,用于计算模数转换器在当前秒脉冲信号周期的理论采样点数与实际采样点数之差,得到离散补偿点数;
52、补偿单元,用于基于离散补偿点数,在下一秒脉冲信号周期对采样点数进行周期边界离散补偿,根据滤波频偏误差率在下一秒脉冲信号周期内逐采样点累加累计误差变量,并当累计误差变量的绝对值大于等于1时触发采样点数单点补偿。
53、第三方面,本发明提供了一种节点式地震采集仪,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如上述第一方面或第一方面任一可能设计所述的基于秒脉冲频偏的采样点补偿方法。
54、第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面或第一方面任一可能设计所述的基于秒脉冲频偏的采样点补偿方法。
55、第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面任一可能设计所述的基于秒脉冲频偏的采样点补偿方法。
56、有益效果:
57、本方公开了一种基于秒脉冲频偏的采样点补偿方案,可解决本地采样时钟受晶振频偏、供电状态和长期运行影响而产生累计采样误差,进而导致理论采样点数与实际采样点数不一致、采样数据时间标识偏移以及多节点数据后期对齐精度下降的问题。具体的,通过在高速外部旁路模式下,读取当前秒脉冲信号到达时本地定时器的计数值;根据当前秒脉冲信号与前一秒脉冲信号之间本地定时器的计数值之差计算出当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率;基于当前秒脉冲信号周期内本地高稳晶振的高速外部时钟实测频率与本地高稳晶振的理论频率,或模数转换器在当前秒脉冲信号周期内的实际采样点数与理论采样点数,确定出当前秒脉冲信号周期的频偏误差率,其中,秒脉冲信号周期内的实际采样点数是指秒脉冲信号周期内模数转换器的缓冲区的有效数据点总数;对当前秒冲信号周期的频偏误差率进行有效判别,并对判别的有效频偏误差率进行多周期平滑滤波处理,得到滤波频偏误差率;计算模数转换器在当前秒脉冲信号周期的理论采样点数与实际采样点数之差,得到离散补偿点数;基于离散补偿点数,在下一秒脉冲信号周期对采样点数进行周期边界离散补偿,根据滤波频偏误差率在下一秒脉冲信号周期内逐采样点累加累计误差变量,并当累计误差变量的绝对值大于等于1时触发采样点数单点补偿。如此,可将gnss秒脉冲从单纯系统对时信号扩展为本地采样时钟频偏观测基准,通过相邻秒脉冲信号之间的定时器计数值之差得到频偏误差率,能够量化本地晶振相对于gnss时间基准的偏差。同时,明确将高速外部时钟/本地高稳晶振、本地定时器、控制器时钟输出和模数转换器采样时钟纳入同一时钟链路,能够将本地高稳晶振的高速外部时钟频率与模数转换器采样点误差建立直接联系,而不是仅停留在rtc或系统时间层面,实现秒脉冲信号、本地计算器、频偏滤波、采样点统计和数据落盘流程相结合的采样点闭环补偿机制。其次,在采样点补偿之前,通过频偏误差率进行有效判别以及对有效频偏误差率进行多周期平滑滤波处理,使得补偿算法不直接受单个异常pps、计数抖动或中断延迟影响,提高频偏输入的稳定性和补偿动作的可靠性。此外,本发明采用周期边界离散补偿与秒脉冲信号周期内动态补偿相结合的方式,既能够在秒脉冲信号周期切换时消除上一秒脉冲信号周期的累计误差,又能够在秒脉冲信号周期内部逐步分散频偏误差,降低集中补偿引起的突变风险。最后,本发明适用于gnss间歇工作或短时失锁条件下的节点式地震采集任务,有助于降低连续gnss工作功耗,提高长期无人值守采集的时间一致性。
58、进一步的,本发明通过判断当前缓冲区的写入指针是否会越界、当前缓冲区是否有足够空间、离散补偿点数是否超过预设补偿点数阈值、当前是否正在执行文件落盘操作、当前模数转换器的采样任务是否处于允许采样点补偿状态、当前gnss模块是否异常以及当前秒脉冲信号是否异常等,确定是否跳过采样点数补偿步骤,使采样点数补偿与adc中断采样、rtos任务调度、数据缓冲和文件落盘流程相适应,避免补偿操作造成新的数据异常。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com