数据采样的校准方法和系统与流程

文档序号:17047749发布日期:2019-03-05 19:44阅读:654来源:国知局
数据采样的校准方法和系统与流程

本发明属于数据采样技术领域,尤其涉及一种数据采样的校准方法和系统。



背景技术:

全球电力骨干网络均是三相交流电力系统,频率为50hz或60hz。为了保证电力系统的稳定运行,需要对三相交流电的电压和电流进行准确的测量。目前,主要的测量技术是基于计算机的数字化测量技术,即通过电压和电流传感器(或者互感器)把高电压、大电流的信号(即电力系统一次信号)转换为适合测量的幅值较小的电压或者电流信号(即电力系统二次信号),然后送入adc(模数转换器)进行量化变成数字信号,并利用数字信号处理技术对采集到的信号进行相应的变换、计算,从而感知单个电力设备以及局部电网或者全局电网的工作状态,并进一步做故障判断与隔离、稳态与暂态控制、参数估计、故障预测等等应用。

由于电力系统设备本身在物理空间上是分散的,因此对设备的数据采集也是分散进行的,然后通过有线或者无线通信把分散的数据汇集到主站,才能够做进一步计算。即智能电网的技术方向是通过布设大量的智能传感器,来感知各种电力设备(如变压器、线路、开关)的数据,并由单个设备的采样数据计算出电网的工作状态。

在对电力系统进行数据采集以及工作状态计算时,由于电力信号在电力设备中的传输速度接近光速,即每秒30万公里,或者说每微秒(us)300米。为了准确感知电力系统的整体状态,必须要获取同一时刻各个电力设备的数据,如果各个设备的采样数据在时间上差异太大,计算出的结果是没有意义的。比如在小电流接地配电网的单相接地故障定位这个应用领域,通过暂态零序电流进行故障定位是公认效果最好的故障定位方法,但是故障定位的前提是零序电流一定要准确,各相电流的采样时间偏差要控制在10us以内。在行波保护和雷电波定位这类应用领域,由于需要用时间差来计算空间距离,因此各个数据采集点的时间偏差要控制在1us以内。而由于电力系统中各个设备在地理位置上是分散的,因此要保证它们的采样时间严格同步,或者说把采样时间的偏差控制在10us以内,甚至1us,这是非常有挑战的。为了满足电力信号测量精度的要求,现代电力系统一般都采用较高的采样频率对电力信号进行高速采样,比如每个周期128、256、512个采样点。如果电力信号的频率是50hz,则每秒钟的数据采样频率分别为6400,12800,25600次。

假如要求实现12800的数据采样频率,一般会用12800整数倍频的高频时钟进行分频,例如用25.6m(即25600000)的时钟进行2000倍分频,或者用12.8m的时钟进行1000倍分频,这样就生成了频率为12800的采样信号。

电子系统上广泛使用低成本、低功耗的无源石英晶体振荡器(简称无源晶振,或者晶振)作为时钟源。石英晶体振荡器标称的理想频率和实际频率都是有一定偏差的,典型的频率偏差为±20ppm,这个偏差主要受晶体加工工艺的影响。在使用过程当中,石英晶体振荡器的频率还会受到温度的影响,随着时间的推移,石英晶体振荡器的频率还有老化现象。总之,常用的石英晶体振荡器的频率并非恒定,而是因个体差异、受工作环境影响、随时间缓慢变化的。

出于低成本和低功耗的考虑,电力系统配电网的数据采集设备大量采用普通的石英晶体振荡器作为采集设备的时钟源。即使两个采集设备以一秒的周期进行严格的时间同步,即每秒初两个采集设备的时间是严格同步的,同步误差为0,但是由于±20ppm频率偏差的影响,在这一秒钟的末尾,每个设备的时间和标准时间相比会产生±20us的偏差,造成两个采集设备之间会累计产生最大40us的时间偏差。40us的时间偏差会造成合成的零序电流当中有比较大的合成误差,严重影响了故障判断的准确性。如果时间同步的周期大于一秒钟,累计的时间偏差会成倍增加。每次时间同步会都需要数据采集设备消耗额外的能量,对于功耗敏感的数据采集设备而言,频繁的时间同步是一个巨大的功耗负担。

为了满足电力信号测量精度的要求,现代电力系统一般都采用较高的采样频率对电力信号进行高速采样,比如每个周期128、256、512个采样点。如果电力信号的频率是50hz,则每秒钟的数据采样频率分别为6400,12800,25600次,如果电力信号的频率是60hz,则每秒钟的数据采样频率分别为7680,15360,30720次。

假如要求实现12800的数据采样频率,一般会用12800整数倍频的高频时钟进行分频,例如用25.6m(即25600000)的时钟进行2000倍分频,或者用12.8m的时钟进行1000倍分频,这样就生成了频率为12800的采样信号。

电子系统上广泛使用低成本、低功耗的无源石英晶体振荡器(简称无源晶振,或者晶振)作为时钟源。石英晶体振荡器标称的理想频率和实际频率都是有一定偏差的,典型的频率偏差为±20ppm,这个偏差主要受晶体加工工艺的影响。在使用过程当中,石英晶体振荡器的频率还会受到温度的影响,随着时间的推移,石英晶体振荡器的频率还有老化现象。总之,常用的石英晶体振荡器的频率并非恒定,而是因个体差异、受工作环境影响、随时间缓慢变化的。

出于低成本和低功耗的考虑,电力系统配电网的数据采集设备大量采用普通的石英晶体振荡器作为采集设备的时钟源。即使两个采集设备以一秒的周期进行严格的时间同步,即每秒初两个采集设备的时间是严格同步的,同步误差为0,但是由于±20ppm频率偏差的影响,在这一秒钟的末尾,每个设备的时间和标准时间相比会产生±20us的偏差,造成两个采集设备之间会累计产生最大40us的时间偏差。40us的时间偏差会造成合成的零序电流当中有比较大的合成误差,严重影响了故障判断的准确性。如果时间同步的周期大于一秒钟,累计的时间偏差会成倍增加。每次时间同步会都需要数据采集设备消耗额外的能量,对于功耗敏感的数据采集设备而言,频繁的时间同步是一个巨大的功耗负担。



技术实现要素:

(一)发明目的

本发明的目的是提供一种能够减少后期数据校准的计算量的数据采样的时间同步、校准方法和系统。

(二)技术方案

为解决上述问题,本发明的第一方面提供了一种数据采样的时间同步、校准方法,包括:采用外部时钟源的实际时钟频率除以预设的目标采样率,得到实际采样间隔,所述实际采样间隔包括整数部分timerp_int和小数部分timerp_frag;基于时间同步信号的固有时间延迟与计算所述实际采样间隔的时间延迟之和,计算得到固定延迟时间;采用所述固定延迟时间乘以所述时钟频率,得到所述固定延迟时间对应的时钟周期数;采用所述时钟周期数除以所述采样间隔的整数部分,得到商值和第一余数,记所述第一余数为frago;将所述第一余数作为采样计数器在当前时间同步周期的第一次计数的初始计数值;基于所述初始计数值,控制ad采样器进行第一次采样。

根据本发明的另一个方面,提供一种数据采样的时间同步、校准系统,包括:采样间隔计算模块,用于采用外部时钟源实际的时钟频率除以预设的目标采样率,得到实际采样间隔,所述实际采样间隔包括整数部分timerp_int和小数部分timerp_frag;固定延迟时间计算模块,用于基于时间同步信号的固有时间延迟与计算所述实际采样间隔的时间延迟之和,计算得到固定延迟时间;时钟周期数计算模块,用于采用所述固定延迟时间乘以所述时钟频率,得到所述固定延迟时间对应的时钟周期数;采样预设值计算模块,用于采用所述时钟周期数除以所述采样间隔的整数部分,得到商值和第一余数,记所述第一余数为frago,以及将基于所述第一余数转换后的数值作为采样计数器的预设值;控制模块,用于每当计数器达到预设值或预设值的整数倍时,控制ad采样器进行采样。

本发明通过首先计算固定延迟时间,并计算得到固定时间延迟对应的时钟周期数,且将固定时间延迟对应的时钟周期数处以实际采样间隔的整数部分得到商值和第一余数,将第一余数作为采样计数器的第一次计数的初始计数值,从而基于所述初始计数值,控制ad采样器进行第一次采样。

(三)有益效果

本发明的上述技术方案具有如下有益的技术效果:由于误差是由固定时间延迟和守时误差两部分构成,因此在将固定时间延迟在前期采样过程中就消除掉之后,就能够减小采样过程中理想采样点的采样数值误差,从而在保证数据采样的时间同步精度的前提下,能够减少插值计算的计算量,使得需要校准的数据减少,并节省了功耗。

附图说明

图1是本发明实施例一的数据采样的时间同步、校准方法流程图;

图2是本发明实施例二介绍的关于实施例一中步骤s2的一种具体实施方式的流程图;

图3是本发明实施例三介绍的关于实施例一中步骤s6的一种具体实施方式的流程图;

图4是本发明实施例四介绍的关于实施例一中步骤s1的一种具体实施方式的流程图;

图5是本发明实施例五的数据采样的时间同步、校准方法的流程图;

图6是本发明实施例五中关于时间同步周期的时间轴示意图;

图7是本发明前述实施例中的实际采样间隔对应的时钟周期数的一种具体实施方式的流程图;

图8是本发明实施例六的数据采样的时间同步、校准方法流程图;

图9是关于本发明实施例六中步骤s801的原理性示意图;

图10是关于本发明实施例六中步骤s805的一种具体实施方式的流程图;

图11是本发明一个示例的示意图;

图12是本发明实施例七的一种数据采样的时间同步、校准系统的结构示意图;

图13是本发明实施例八的一种数据采样的时间同步、校准系统的结构示意图;

图14是本发明实施例九的一种数据采样的时间同步、校准系统的结构示意图;

图15是本发明实施例十的一种数据采样的时间同步、校准系统的结构示意图;

图16是关于本发明实施例十中关于校准模块的一种具体实施例方式的结构示意图;

图17是关于本发明实施例十的校准模块中插值子模块的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

请参阅图1,是本发明实施例一的数据采样的校准方法流程图,包括如下步骤s1-s6:

s1,采用外部时钟源的实际时钟频率除以预设的目标采样率,得到实际采样间隔,所述实际采样间隔包括整数部分timerp_int和小数部分timerp_frag;

具体地,外部时钟源的时钟频率是指每一秒钟之内外部时钟源的振荡次数。预设的目标采样率可以由用户自行设置。在大多数情况下,使用时钟频率除以目标采样率,都是无法整除的,因而得到的实际采样间隔就会存在整数部分和小数部分。例如:时钟频率为25600000,实际频率偏差是10ppm,则测量得到的实际的时钟频率为25600256,假如数据采样频率为12800,则实际采样间隔是2000.02个时钟周期。

s2,基于时间同步信号的固有时间延迟与计算实际采样间隔的时间延迟之和,计算得到固定延迟时间;

具体地,时间同步信号的作用是使各个采集器进行时间同步。时间同步信号可以是直接来自gps/北斗接收模块的秒脉冲,也可以是通过有线方式传送的时间同步信息,还可以是通过无线方式传送的时间同步信息。上述三种不同的时间同步方式会有不同的时间同步延时,且延时的偏差也不同。这些方式当中,来自全球定位系统的同步秒脉冲的精确度最高,可以达到广域10ns级别的同步精度。而采用有线方式可以达到1us~10us的同步精度,以及采用无线方式可以达到几十us~几百us的同步精度。具体地,根据时间同步延时的平均值可计算得到固有时间延时。

其中,计算实际采样间隔的时间延迟是指从接收到时间同步信号到完成采样间隔计算的时间延迟也可以固定下来。而当实际采样间隔的计算方法确定之后,其所使用的硬件电路也就定下来了,因为每个硬件电路的计算延时是和电路设计有关,因此计算实际采样间隔的时间延迟也就确定了。

s3,采用固定延迟时间乘以时钟频率,得到固定延迟时间对应的时钟周期数,记为fixed_dly_clk;

s4,采用时钟周期数除以实际采样间隔的整数部分,得到商值和第一余数,记第一余数为frago;

具体地,采用fixed_dly_clk除以实际采样间隔的整数部分timerp_int,得到商为n0,含义为固定延迟时间对应了多少个数据采样点。第一余数frag0,含义是除了n0个采样点以外,仍然有多少个时钟周期的延时。

s5,将第一余数作为采样计数器在当前时间同步周期的第一次计数的初始计数值;

s6,基于初始计数值,控制ad采样器进行第一次采样。

针对上述步骤s5和步骤s6,在具体实施过程中,由于实际的时钟频率是变化的,计算出的采样间隔时钟周期数不可能正好是整数,而是带有小数部分。因此,无法实现计数。需要通过以下方式对第一余数进行转换为能够用于计数的预设值,例如:小数部分数值为0.95,则通过以下方式计算得到经过处理后的小数部分数值:int(0.95*(1<<n_frag)),通过该计算方式能够得到能够用以小数计数器的计数值。具体地,如图2所示,本发明是采用如下方式计算实际采样间隔时钟周期数,得到整数部分以及经过处理能够用于计数器计数的小数部分:

s201,采用前一时间同步周期的实际时钟频率clk_freq除以目标采样率sps_target,其中,目标采样率是预先设定好的,得到第一商值(即实际采样间隔的整数部分),记为timerp_int,第一余数(即实际采样间隔的余数部分),记为clk_remain;

s202,采用前一时间同步周期的实际时钟频率clk_freq除以第一商值timerp_int,得到第二商值,记为sps0;

s203,采用第一余数clk_remain除以第二商值sps0,得到第三商值,记为timerp_frag。

具体地,在步骤s203中,当第一余数小于第二商值时,将第一余数左移n位,再采用左移n位后的第一余数除以第二商值,得到的结果的整数作为经过处理后的小数部分数值用以小数计数器进行计数。

在步骤s203中,由于第一余数clk_remain小于第二商值sps0,因此如果直接做整数除法商是0。为了保证实际采样间隔时钟周期数足够的计算精度,在计算除法以前需要把第一余数clk_remain左移n_frag位,比如n_frag为8、16、20、24、或者32位,第一余数左移以后的结果再除以第二商值sps0,得到的计算结果为第三商值timerp_frag的最高n_frag个小数位。

采用本发明的上述步骤s201-s203的方法计算得到的经过处理后的小数部分数值在用于小数计数器计数时,能够将多个采集器之间的时间偏差尽可能减小。

下面通过举例对上述实施方式进行解释说明:

例如:以标称频率为25600000,实际频率偏差是10ppm,则实际时钟频率为25600256。假如数据的目标采样率为12800,则实际采样间隔时钟周期数是2000.02个时钟周期。则计算方法如下:

s110:25600256/12800,第一商值timerp_int是2000,第一余数clk_remain为256;

s111:25600256/2000,第二商值sps0为12800;

s112:第一余数clk_remain除以第二商值sps0,即256/12800,在做除法以前,假如左移的位数是24位,则实际的运算是(256<<24)/12800=(2^32)/(2^8*50)=(2^24/50)=335544=0x51eb8,即timerp_frag为335544,小数计数器的预设值就是(1<<24)即2^24。

通过小数计数器能够达到实际补偿的时钟周期数为:sps0*timerp_frag/小数计数器的预设值,即335544*12800/2^24=0xfffff00/2^24=0xfffff00>>24=0xff,即255个时钟。而最初需要补偿的clk_remain为256,二者仅相差1个时钟周期。

需要说明的是:在s110,s111,s112的计算过程当中,所有的除法都是整数除法,每次除法都会得到相应的商和余数。在步骤s12中,可选地,可以将第一整数计数器的计数值减去整数部分数值以恢复初始状态重新开始计数,还可以是每当第一整数计数器的计数值等于整数部分的整数倍时,则触发小数计数器开始累加小数部分进行累加计数。

其中,时间同步周期是指自接收到一次全球定位系统发送的时间同步信号开始,将当前时间作为时间同步周期的起始时间,将下一次全球定位系统发送的时间同步信号的时间作为时间同步周期的结束时间,以此构成一个时间同步周期。具体地,除去第一个时间同步信号之外,其他时间同步信号的接收时间都是既作为前一时间同步周期的结束时间,同时也作为当前时间同步周期的开始时间。

其中,在进行计数时,是通过两个整数计数器和一个小数计数器来控制ad采样器的采样,两个整数计数器分别记为第一整数计数器和第二整数计数器,步骤s6的一种具体实施方式,如图3所示,包括:

s301,计算前一时间同步周期的实际采样间隔时钟周期数,实际采样间隔时钟周期数包括整数部分和小数部分;

s302,在当前时间同步周期内,当外部时钟源的第一个时钟周期信号到来时,分别触发第一、第二整数计数器在所述初始计数值的基础上进行加1计数;

s303,当第一整数计数器的计数值等于前一时间同步周期的实际采样间隔时钟周期数的整数部分数值时,触发小数计数器的计数值加上前一时间同步周期的实际采样间隔时钟周期数的小数部分转换得到的整数值,将所述第一整数计数器的计数值减去整数部分数值;

s304,当小数计数器的累加计数值大于或等于预设值时,触发第二整数计数器的计数值减1,将所述小数计数器的计数值减去所述预设值;

s305,当第二整数计数器的计数值等于前一时间同步周期的实际采样间隔时钟周期数的整数部分数值时,发送采样脉冲至采样器,以进行采样,且将第一、第二整数计数器和小数计数器清零作为各自的初始计数值重新开始计数,将所述第二整数计数器的计数值减去整数部分数值。

本发明实施例通过基于时间同步信号的固有时间延迟与计算实际采样间隔的时间延迟之和,计算得到固定延迟时间;进而采用固定延迟时间乘以时钟频率,得到所述固定延迟时间对应的时钟周期数;采用时钟周期数除以采样间隔的整数部分,得到商值和余数,记余数为frago;将基于余数转换后的数值作为采样计数器的预设值,以控制ad采样器进行采样。由于将固定时间延迟提前在时间同步的过程中就进行了消除,从而不需要在数据校准的过程中再考虑此部分固定时间延迟造成的误差,这样可以在保证数据采样同步精度的前提下,进一步减少插值计算的计算量,从而节省了功耗。

请参阅图4,是本发明是实例四的方法流程图,本发明实施例四是本发明实施例一的步骤s1的一种具体实施方式,步骤s1包括步骤s401-s403:

s401,采用时钟计数器对外部时钟源的时钟周期信号进行加1计数;

在本发明该实施例中,需要设置一时钟计数器对外部时钟源的振荡周期进行计数,时钟周期信号则是指外部时钟源的振荡次数,时钟源每振荡一次则相当于一个时钟周期的结束点以及另一个时钟周期的起始点,相邻两次时钟周期信号构成一个时钟周期,每当时钟源发出一个时钟周期信号,则时钟计数器加1进行计数。

s402,每当接收到外部的时间同步信号时,读取所述时钟计数器的计数值;

优选地,时间同步信号来自gps/北斗接收模块的秒脉冲、或通过有线方式传送的时间同步信号、或通过无线方式传送的时间同步信号。由于不同的时间同步方式会有不同的时间同步延时,并且延时的偏差也不同。这些方式当中,来自全球定位系统的同步脉冲的精确度是最高的,可以达到广域10ns级别的同步精度。采用有线方式可以达到1us以内的同步精度。采用无线方式可以达到10us以内的同步精度。时间同步的固定时间延迟可以通过数据校准算法进行纠正,但是时间延迟的的随机性偏差是无法进行消除的。上述时间偏差均为固定时间延迟,对于数据采样来说,时间同步误差是由固定时间延迟和守时误差共同决定的,守时误差是由晶体振荡器的一些原因造成的误差,可以通过小数计数器来减小,当时间同步误差能够控制得足够小时,且守时误差也可以控制的足够小时,则时间同步精度就可以控制在1us以内。

s403,采用相邻两次读取到的计数值的差值除以接收到的相邻两次时间同步信号的时间间隔,计算得到所述外部时钟源实际的时钟频率。

由于计算得到的实际采样间隔时钟周期数不是正好为整数,因此其包含整数部分和小数部分。

请参阅图5,为本发明实施例五的方法流程图,本发明实施例五是在实施例一的基础上,还包括如下步骤s501-s505:

s501,采用时钟计数器对外部时钟源的时钟周期信号进行加1计数;

具体地,是采用时钟计数器对外部时钟源进行计数。每当外部时钟源有效,时钟计数器的计数就增加一。每一秒钟之内时钟计数器增加的数值就是准确的时钟频率。外部时钟源可以是采用晶体振荡器。由于两次时间同步信号的接收时间间隔比较短(一般为一秒钟到一分钟),在此期间外部环境温度的变化不大,并且可以不考虑外部晶体振荡器的老化,因此可以认为晶体振荡器的频率基本是稳定不变的。

s502,每当接收到来自外部的时间同步信号时,读取时钟计数器的计数值;

优选地,时间同步信号来自gps/北斗接收模块的秒脉冲、或通过有线方式传送的时间同步信号、或通过无线方式传送的时间同步信号。由于不同的时间同步方式会有不同的时间同步延时,并且延时的偏差也不同。这些方式当中,来自全球定位系统的同步脉冲的精确度是最高的,可以达到广域10ns级别的同步精度。采用有线方式可以达到1us以内的同步精度。采用无线方式可以达到10us以内的同步精度。时间同步的固定时间延迟可以通过数据校准算法进行纠正,但是时间延迟的的随机性偏差是无法进行消除的。上述时间偏差均为固定时间延迟,对于数据采样来说,时间同步误差是由固定时间延迟和守时误差共同决定的,守时误差是由晶体振荡器的一些原因造成的误差,可以通过小数计数器来减小,当时间同步误差能够控制得足够小时,且守时误差也可以控制的足够小时,则时间同步精度就可以控制在1us以内。

s503,基于当前读取到的计数值和前一次读取到计数值,计算相邻两次计数值的差值绝对值;

例如:如图6所示,各个时间同步周期(t1,t2,t3)的时钟计数值分别是clk_cnt1,clk_cnt2,clk_cnt3。每当接收到时间同步信号时,就读取时钟计数值,分别计算abs(clk_cnt2-clk_cnt1),abs(clk_cnt3-clk_cnt2),即计算出相邻两个时间同步周期的时钟计数值的差值的绝对值delta_cnt,该差值反映了相邻两个时间同步周期时钟频率的变化。

s504,判断相邻两次时钟源的计数值的差值绝对值是否大于或等于预设的时钟计数偏差值;

具体地,预设的时钟计数偏差值max_cnt的计算公式是:允许的最大采样误差(us)*时钟频率(mhz),比如最大采样误差是1us,时钟频率为25.6mhz,则预设的时钟计数偏差值max_cnt=1*25.6=25.6。

s505,若相邻两次时钟源的计数值的差值绝对值大于或等于预设的时钟计数偏差值,则对采样的数据进行校准。

具体地,若相邻两次时钟源的计数值的差值绝对值大于或等于预设的时钟计数偏差值,则该时间同步周期内最后一个采样点的时间偏差超出了允许的范围,则需要进行采样数据的校准。

在本发明实施例的基础上,s504还存在其他的实施方式,包括:s506,若相邻两次时钟源的计数值的差值绝对值小于预设的时钟计数偏差值,则不对采样数据进行校准。

本发明上述实施例通过判断相邻两次时钟源的计数值的差值绝对值是否大于或等于预设的时钟计数偏差值,来决定是否需要数据校准,从而使得数据校准方法是按需进行的。由于电力系统大部分时刻都处于正常工作状态,采样到的数据不会真正去进行计算,这些采样数据在一段时间之内,会自动被覆盖。出于低功耗的考虑,只有当采样数据需要被使用时,才会进行数据的校准,并且把校准以后的采样数据送给计算平台进行计算。那些没有被使用的采样数据,则不会进行采样数据的校准。这样大大减少了数据校准所消耗的功耗,同时也保证了真正关心的采样值的时间同步和数据准确度。

请参阅图7,如图7所示,实际采样间隔对应的时钟周期数是按照以下方法计算得到的:

s71,每当接收到时钟周期信号时,采用时钟计数器进行加1计数;

在本发明该实施例中,需要设置一时钟计数器对外部时钟源的振荡周期进行计数,时钟周期信号则是指外部时钟源的振荡次数,每当时钟源发出一个时钟周期信号,则时钟计数器加1进行计数。

s72,每当接收到时间同步信号时,读取时钟计数器的当前计数值;

优选地,时间同步信号来自gps/北斗接收模块的秒脉冲、或通过有线方式传送的时间同步信号、或通过无线方式传送的时间同步信号。

s73,基于读取到的当前计数值和前一次读取到计数值之差,以及读取两次计数值的时间间隔,计算实际时钟频率;

s74,采用实际时钟频率乘以目标采样率,计算得到实际采样间隔对应的时钟周期数。

由于计算得到的实际采样间隔对应的时钟周期数不是正好为整数,因此其包含整数部分和小数部分。

请参阅图8,为本发明实施例六的方法流程图,本发明实施例六是在实施例五的基础上,还包括如下步骤s801-s805:

s801,在当前时间同步周期,基于前一时间同步周期的时间同步信号到来时读取的时钟计数器的计数值和目标数据采样率,计算得到实际采样时间间隔;

具体地,时间同步周期是分别以接收到的相邻两次时间同步信号为该周期的起始时间点和结束时间点。

如图9所示,s[0]、s[1]、s[2]为实际的采样时刻,其时间间隔是clk_cnt1除以目标数据采样率。计算公式为:timerp1=clk_cnt1/sps_target;式中,sps_target为目标数据采样率,clk_cnt1为第二个时间同步信号到来时时钟计数器的计数值,timerp1为实际采样时间间隔。

s802,在当前时间同步周期,基于当前时间同步周期的时间同步信号到来时读取的时钟计数器的计数值和目标数据采样率,计算得到理想采样时间间隔;

如图9所示,rs[0]、rs[1]、rs[2]、rs[3]、rs[4]是理想采样时刻的采样值,rs[0]、rs[1]、rs[2]、rs[3]、rs[4]之间的时间间隔是clk_cnt2除以目标数据采样率sps_target。计算公式为:timerp2=clk_cnt2/sps_target;式中,sps_target为目标数据采样率,clk_cnt2为第三个时间同步信号到来时时钟计数器的计数值,timerp2为理想采样时间间隔。

s803,采用理想采样时间间隔除以目标采样率,计算得到各个理想采样点对应的时钟时刻;

具体地,仍然以实施例一中所举例为示例,各个理想采样点对应的时钟时刻clk_i的计算方法是:clk_i=timerp2*i;式中,clk_i为t2时间段中第i个理想采样点对应的时钟时刻。

s804,采用各个理想采样点对应的时钟时刻除以所述实际采样时间间隔,计算得到各个理想采样点对应的时钟时刻对应的实际采样点的位置,记为j0;

具体地,计算方法是:j0=clk_i/timerp1;式中,j0为第i个理想采样点对应的时钟时刻对应的实际采样点。

s805,从当前采样周期1个理想采样点开始,基于所述各个理想采样点对应的实际采样点j0的采样值和与实际采样点j0相邻的实际采样点j1的采样值,以及相邻两个实际采样点的位置分别与当前理想采样点i之间的权重系数,利用插值算法计算得到各理想采样点的校准采样值。其中,插值算法可以采用线性插值、正弦插值、或者其它的非线性插值算法。但一般情况下,线性插值的插值精度就可以满足校准精度的要求。

请参阅图10,为本发明实施例七的方法流程图,本发明实施例七是在实施例六的基础上,步骤s805中相邻两个实际采样点的位置分别与当前理想采样点i之间的权重系数的计算方式的一种具体实施方式,包括s1001-s1003:

s1001,将当前理想采样点i对应的实际采样点j0位置取整;

s1002,将当前理想采样点i对应的实际采样点j0位置减去取整部分的数值,得到当前理想采样点i和另一实际采样点j1之间的权重系数,记为q1;

s1003,将1减去q1得到当前理想采样点i与计算得到的与当前理想采样点i对应的实际采样点j0之间的权重系数。

具体地,rs[i]为当前时间同步周期的第i个理想采样点的采样值,当前理想采样点i对应的时钟时刻对应的实际采样点位置为j0,根据j0的位置选取与其相邻的另一个实际采样点j1,其中,j0和j1分别位于当前理想采样点的两端;分别计算实际采样点j1与理想采样点n0+i之间的权重j0-int(j0)和实际采样点j0与理想采样点n0+i之间的权重1-(j0-int(j0))进行插值计算得到的。计算方法是:rs[i]=插值算法(s[int(j0)],s[int(j0)+1],j0-int(j0)),式中,rs[i]为t2时间段中第i个理想采样点的采样值;s[int(j0)]为t2时间段第j0个实际采样点的采样值,s[int(j0)+1]为t2时间段第j1个实际采样点的采样值,j0-int(j0)为第j1个实际采样点和当前理想采样点之间的权重系数,1-(j0-int(j0))为与j0相邻的另一实际采样点j1与当前理想采样点之间的权重系数。

下面以线性差值为例对上述插值计算过程进行说明:

假如当前理想采样点i对应的实际采样点位置是10.3,要利用s[10]和s[11]进行插值,j0-int(j0)=10.3-10=0.3。也就是说理想采样点i和s[11]的权重系数是0.3,理想采样点n0+i和s[10]的权重系数就是(1-0.3)=0.7。那么线性差值的结果就是0.7*s[10]+0.3*s[11]=s[10]-0.3*s[10]+0.3*s[11]=s[10]+0.3*(s[11]-s[10])。

本发明上述实施例的方法可以自动适应石英晶体振荡器的频率偏差,降低了数据采样的同步误差,把采样的同步误差控制在1us之内,提高了采样数据的可用性。

上述实施例的采样数据校准过程,可以在数据采集设备端进行,也可以在数据汇集设备端进行,也可以在云平台进行。如果不在数据采集设备进行数据校准,则需要数据采集设备提供用于数据校准的参数和原始采样数据。

如图11所示,通过下述示例对本发明的技术效果进行说明:

图11中,实心箭头指向的0us为理想采样点,

假设时间同步周期为50us,则实心箭头指向的50us、100us、150us和200us均为实际采样点,假设固定时间延迟为15us,则15us、65us、115us和165us均为现有技术的实际采样点,通过本发明的技术方案能够使得后期在校准时不再需要考虑固定时间延迟带来的误差,只需针对守时误差(指各个采样器在进行时间同步以后是否能够守住该同步后的时间)进行校准即可,能够减少后期校准的计算量,通过将固定时间延迟从触发采样器采样的第二整数计数器的计数值中减掉,使得在前期采样时就将固定时间延迟带来的采样误差消除掉。

如图12所示,一种数据采样的时间同步、校准系统,包括:

采样间隔计算模块1,用于采用外部时钟源实际的时钟频率除以预设的目标采样率,得到实际采样间隔,所述实际采样间隔包括整数部分timerp_int和小数部分timerp_frag;

固定延迟时间计算模块2,用于基于时间同步信号的固有时间延迟与计算所述实际采样间隔的时间延迟之和,计算得到固定延迟时间;

时钟周期数计算模块3,用于采用所述固定延迟时间乘以所述时钟频率,得到所述固定延迟时间对应的时钟周期数;

采样预设值计算模块4,用于采用所述时钟周期数除以所述采样间隔的整数部分,得到商值和余数,记所述余数为frago,以及将基于所述余数转换后的数值作为采样计数器6的预设值;

控制模块5,用于每当所述计数器达到所述预设值或所述预设值的整数倍时,控制ad采样器进行采样。

如图13所示,所述采样计数器6包括第一整数计数器61、第二整数计数器62和小数计数器63;

所述系统还包括外部时钟源7:

时钟源7,当自身第一个时钟周期信号发出时,分别触发第一、第二整数计数器在所述初始计数值的基础上进行加1计数;

第一整数计数器61,用于当其计数值等于前一时间同步周期的实际采样间隔时钟周期数的整数部分数值时,触发小数计数器63的计数值加上前一时间同步周期的实际采样间隔时钟周期数的小数部分转换得到的整数值,且将所述第一整数计数器的计数值减去整数部分数值;

小数计数器63,当其累加计数值大于或等于预设值时,触发第二整数计数器62的计数值减1,且将所述小数计数器的计数值减去所述预设值;

第二整数计数器62,用于当其计数值等于前一时间同步周期的实际采样间隔时钟周期数的整数部分数值时,发送采样脉冲至采样器,以进行采样,且将所述第二整数计数器的计数值减去整数部分数值。

如图14所示,一种数据采样的时间同步、校准系统还包括:

时钟计数器8,用于对外部时钟源的时钟周期信号进行加1计数;

计数读取模块9,用于每当接收到外部的时间同步信号时,读取所述时钟计数器的计数值;

时钟频率计算模块10,用于采用相邻两次读取到的计数值的差值除以接收到的相邻两次时间同步信号的时间间隔,计算得到所述时钟频率。

如图15所示,一种数据采样的时间同步、校准系统还包括:

时钟计数器8,用于对外部时钟源的时钟周期信号进行加1计数;

计数读取模块9,用于每当接收到外部的时间同步信号时,读取所述时钟计数器8的计数值;

差值绝对值计算模块11,用于基于当前读取到的计数值和前一次读取到计数值,计算相邻两次计数值的差值绝对值;

判断模块12,用于判断所述相邻两次时钟源的计数值的差值绝对值是否大于或等于预设的时钟计数偏差值;

校准模块13,用于当所述相邻两次时钟源的计数值的差值绝对值大于或等于预设的时钟计数偏差值时,对采样的数据进行校准。

如图16所示,校准模块13还包括:

实际采样时间间隔计算子模块131,用于在当前时间同步周期,基于前一时间同步周期的时间同步信号到来时读取的时钟计数器的计数值和目标数据采样率,计算得到实际采样时间间隔;

理想采样时间间隔计算子模块132,用于在当前时间同步周期,基于当前时间同步周期的时间同步信号到来时读取的时钟计数器的计数值和目标数据采样率,计算得到理想采样时间间隔;

理想采样点时间计算子模块133,用于采用所述理想采样时间间隔除以目标采样率,计算得到各个理想采样点对应的时钟时刻;

理想采样点对应实际采样点的计算子模块134,用于采用所述各个理想采样点对应的时钟时刻除以所述实际采样时间间隔,计算得到各个理想采样点对应的时钟时刻对应的实际采样点的位置,记为j0;

插值子模块135,用于从当前时间同步周期的第1个理想采样点开始,基于所述各个理想采样点对应的实际采样点j0的采样值和与实际采样点j0相邻的实际采样点j1的采样值,以及相邻两个实际采样点的位置分别与当前理想采样点i之间的权重系数,利用插值算法计算得到各理想采样点的校准采样值。

如图17所示,插值子模块135包括:

取整单元1350,用于将当前理想采样点i对应的实际采样点j0位置取整;

第一权重系数计算单元1351,用于将当前理想采样点i对应的实际采样点j0位置减去取整部分的数值,得到当前理想采样点i和另一实际采样点j1之间的权重系数,记为q1;

第二权重系数计算单元1352,用于将1减去q1得到当前理想采样点i与计算得到的与当前理想采样点i对应的实际采样点j0之间的权重系数。

需要说明的是,本发明数据采样的校准系统是与涉及计算机程序流程的数据采样的校准方法一一对应的装置/系统,由于在前已经对数据采样的校准方法的步骤流程进行了详细描述,在此不再对数据采样的校准系统的实施过程进行赘述。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1