A method for correcting clock drift

A model-based approach for correcting clock drift in signal sampling devices addresses inefficiencies by using pre-prepared models tagged with environmental scenarios, ensuring accurate and efficient drift correction in diverse conditions.

WO2026010507A1PCT designated stage Publication Date: 2026-01-08REFLECTION MARINE NORGE AS

Patent Information

Application Number
PCT/NO2025/050121
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-01
Filing Date
2025-07-01
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

Existing methods for correcting clock drift in signal sampling devices, such as seismic nodes, are inefficient and require costly and time-consuming drift measurements, especially in environments with unpredictable temperature changes, and do not account for varying environmental conditions during deployment.

Method used

A computer-implemented method using a pre-prepared model set of deterministic models, tagged with different environmental scenarios, to correct for clock drift by matching environmental sensor data with the appropriate model, minimizing the need for real-time measurements.

Benefits of technology

Enables efficient and accurate clock drift correction in signal sampling devices by adapting to various environmental conditions without requiring extensive real-time data collection, reducing survey preparation and post-survey processing time and costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure NO2025050121_08012026_PF_FP_ABST
    Figure NO2025050121_08012026_PF_FP_ABST
Patent Text Reader

Abstract

Described herein is a computer implemented method for correcting for clock drift of a system clock in a signal sampling device comprising the system clock and configured to sample a signal in real time, the method comprising: obtaining data relating to an environmental parameter of an environment of the signal sampling device; matching the data relating to the environmental parameter to an environmental scenario; selecting, from a model set, a model tagged with the matched environmental scenario; and correcting for clock drift of the system clock using the selected model. Also described herein is a method for preparing a model set for clock drift correction, a sampling device, and a computer implemented method for correcting for clock drift of the system clocks of an array of signal sampling devices.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] A Method for Correcting Clock Drift

[0002] The present invention relates to a method for correcting for clock drift in a signal sampling device, to a method for preparing a model set for clock drift correction, to a sampling device comprising data storage having a model set for clock drift correction stored thereon, and to a computer implemented method for correcting for clock drift of the system clocks of an array of signal sampling devices.

[0003] Electronic systems, and in particular systems including digital circuits, use system clocks in order to provide a timing reference for operations. Clocks are used, for example, in distributed systems where the operation of the various parts of the system need to be synchronized. One important use of a system clock is in sampling systems, where a continuous signal is sampled periodically to produce an output that is discrete and timestamped. The time at which each measurement of the signal, or each sample, is taken needs to be known accurately in order to be able to reproduce the continuous signal as precisely as possible. It is therefore crucial that the clock used to time the sampling is able to maintain as close to a desired clock rate as possible.

[0004] A specific example of a sampling system where an accurate system clock is required is a node or a device for sampling a seismic signal or another type of signal (i.e. temperature or orientation) as part of a geological survey. Seismic surveying techniques are a crucial tool for studying the structure of the earth’s subsurface. The information obtained from such surveys is of wide scientific interest and can be used to study the make-up and history of the earth, as well as for locating and accessing underground reservoirs of hydrocarbon-based fossil fuels. Seismic surveys use acoustic sources, such as air guns or marine vibrators in the case of marine seismic surveys, which are configured to emit acoustic energy at selected frequencies to then propagate through the earth’s surface and subsurface. The acoustic waves are reflected at boundaries between different materials within the subsurface structure, or are refracted, and travel back towards sensors located close to the surface either within one or more streamers towed behind a survey vessel, or positioned at particular locations on the earth’s surface (such as on the seabed). Seabed seismic nodes may be located within nodes or along cables. The sensors sample the acoustic signal received from the sub-surface periodically and convert the received acoustic signal into a digital signal which is sent to a processor for analysis. The collected signals carry with them information about the materials either side of the different boundaries, and the positions of the boundaries themselves.

[0005] The seismic sensors themselves can include one or more of a number of different types of device capable of detecting a seismic wave within the surrounding material (air, water, or the material of the node itself). These can include pressure sensors such as hydrophones and motion sensors such as geophones or accelerometers (for example MEMS accelerometers). Nodes can also include additional sensors for measuring a node position, orientation, temperature, for location of the node, and for monitoring of other parameters. Sensor measurements are taken periodically, and the measurements need to be associated with timing information to allow for proper analysis of the received signal.

[0006] The accuracy of an internal clock is particularly important in the case of an autonomous seismic node to be used in remote or mountainous regions, or on the seabed, where there is likely to be no connection available to an external time reference for some or all of the survey. It will also, however, play a role where signals to an external time reference may be lost intermittently or in any situation where an internal clock is used to provide a time stamp for the signal sampling. The accurate timing of the sampling in all these cases depends on the reliability of the internal system clock.

[0007] For applications relating to geological surveys, as well as others, sensor systems often use atomic clocks or oscillators, such as crystal oscillators or MEMS oscillators, as the internal clocks. These are accurate, free-running clocks which can operate at high frequency. Crystal oscillators make use of the natural mechanical resonance of piezoelectric materials when subjected to an electric field. The resonant frequency with which the piezoelectric material changes shape and then returns to its previous shape is very regular and can be used to provide a precise timing signal. Atomic clocks instead make use of a natural oscillation frequency of atoms changing state. While these types of clocks are very accurate, the frequency of the clock signal does drift over time in a manner which will depend on properties of the environment where the clock is located.

[0008] Attempts have been made to correct for this drift, for example by assuming a linear drift throughout deployment and correcting timing information associated with a received signal accordingly. Changes in temperature of the surroundings over time can, however, result in a non-linear and much more unpredictable drift. This effect can be significant where the oscillator is used in extreme conditions, such as in a seismic node underwater, since in such a case the temperature of the node may drop significantly during deployment.

[0009] Some progress has been made in adapting the oscillators themselves in order to try to reduce the effect of temperature on drift. An example of this is the use of ovens in oven controlled crystal oscillators in order to try to minimize changes in temperature. Some authors have also used more complex models to correct for drift in this type of situation. US-A-2019 / 0094402, for example, describes a method using a parabolic fit to correct for drift in a specific node. A comparison between the system clock of the node itself and a reference clock is carried out before the node is deployed and after it is retrieved. The relationship between time and drift is then extrapolated for the intervening time assuming that the frequency deviation is linear. A correction for temperature changes that have occurred during the intervening time is applied to the comparison data before the fit is carried out to correct these to a constant reference temperature. This correction is based either on measurements for the specific node to determine a relationship between frequency of oscillation and temperature for the system clock within a specific node or based on a generic relationship. US-A- 2021 / 0263477 describes a method involving fitting a polynomial of order two or greater to clock drift data measured using a time reference just before and just after deployment. The above methods make various assumptions in order to estimate a drift rate during a period of deployment of a node for which a time reference is not available. They also require a comparison of the operation of the system clock and a reference clock to be carried out for the specific node at least for a period prior to and / or post deployment. A more efficient and effective method for correcting for clock drift is therefore desired.

[0010] According to a first aspect of the present invention, there is provided a computer implemented method for correcting for clock drift of a system clock in a signal sampling device comprising the system clock and configured to sample a signal in real time, the method comprising: obtaining data relating to an environmental parameter of an environment of the signal sampling device; matching the data relating to the environmental parameter to an environmental scenario; selecting, from a model set comprising at least two different models, a model tagged with the matched environmental scenario; and correcting for clock drift of the system clock using the selected model.

[0011] A set of pre-prepared deterministic models that are non-data driven, in that they do not depend on the recorded clock data for the sampling device, is available. These models can be easily applied whenever a signal is to be sampled or has been sampled by the device without the requirement of repeated drift measurements and / or model fitting at the time of sampling. This means that drift correction can be carried out efficiently, by minimising the number of measurements required on the vessel, which is particularly important in the context of seismic surveys where any additional time taken recording drift data on a survey vessel or vehicle just prior to or after the survey will be costly. The sampling device can include at least one sensor for monitoring an environmental parameter (i.e., temperature, magnetic field strength, mechanical stress or any other property of the surroundings close to or sometimes even within the device) and at least one sensor for sampling the signal itself (i.e., hydrophones or geophones to sample a seismic signal if the device is a seismic node). It can be advantageous to locate the environmental sensor within any housing of the sensor device so that it measures properties of the environment as close as possible to the system clock, since the conditions internal to the device housing can be different to those outside of the device during deployment, or the conditions internal and external to the housing can take some time to equalize. This is not necessarily the case, though, and the environmental sensor can be located external to the device housing in some examples. The environmental sensor can be coupled to the device housing or located some distance away from it, provided that conditions in the vicinity of the housing (in the environment of the device) can be monitored using the sensor.

[0012] The sampling device includes the system clock for which drift is to be corrected, and it is this clock which is used to timestamp samples taken, by the device, of the signal. Drift correction is therefore crucial to providing an accurate representation of the signal. Providing different models for different environmental scenarios, along with a way to select between these models, is a simple way to account for possible differences in operating environments for the device whilst requiring minimal additional measurements of drift to be taken in relation to the specific device. Reference to the model being tagged can be to the model comprising additional metadata linked to an environmental scenario. A model can be tagged with a “temperature shock” scenario, for example, in which case the detection of a temperature shock by the environmental sensor (which will be a temperature sensor or another type of sensor able to detect a thermal shock) will result in this tagged model being selected, because the measured data will match the environmental scenario tag for the model. Other types of “stressed” models can be envisaged, such as models associated with mechanical shocks, and so on. Where a model is present to represent a “stressed” scenario, there may also be a model present that is associated with a “non-stressed” scenario. The latter will be used where stress (such as a mechanical or thermal shock) is not detected by the environmental sensor.

[0013] The criteria for finding a match between environmental sensor data and the environmental scenario with which a model is tagged can be pre-set, and may comprise a range of possible measured values which are to be matched with a particular scenario. The criteria for matching may be whether the environmental parameter falls below or above a particular threshold over a time period, for example, or whether the parameter rises or drops more than a certain amount within a time period. The measurements taken of the environmental parameter can be matched with one scenario if some particular requirement is met, and with the other if these requirements are not met.

[0014] Reference to the at least two models being different may be to the models being of a different type or to models being of the same type, but with optimizable parameters optimized to different values.

[0015] In embodiments, obtaining the data relating to the environmental parameter comprises collecting, by one or more environmental sensors of the signal sampling device, the data relating to the environmental parameter. Collecting the data may comprise recording the data. This ensures that the conditions in the vicinity of the specific system clock at issue are accounted for in the best possible way.

[0016] In embodiments, the method comprises receiving, from the signal sampling device, data representing the sampled signal, wherein correcting for clock drift of the system clock comprises correcting the data representing the sampled signal in a postprocessing step.

[0017] In embodiments, correcting for clock drift of the system clock comprises adjusting the frequency of the system clock during collection and time stamping, by the signal sampling device, of data representing the sampled signal. Usually, the correction will be applied either during deployment or during post-processing, but it is possible to apply corrections both during deployment and during post-processing.

[0018] In embodiments, the environmental parameter comprises one or more of temperature, mechanical stress, or magnetic field strength.

[0019] In embodiments, the data relating to the environmental parameter is collected at the same time as the sampled data is collected by the device. This may be during the whole or a part of the deployment period for the device. In embodiments, the data relating to the environmental parameter is collected at a different time to the sampled data (such as during a previous survey or at another time).

[0020] In embodiments, the method comprises: prior to receiving the data, preparing the model set by: 1 ) selecting a group of oscillators and calculating a frequency error at a plurality of time points throughout a test period by comparing oscillator cycle counts to a reference clock source; 2) selecting a model type comprising one or more parameters for optimization; and 3) optimizing the parameters of the model by fitting to the calculated frequency error, and repeating steps 1 to 3 for each model in the set. The group of oscillators can be the same or a different group for the different models, and can be of the same or a different size. The type of oscillator, number of oscillators in the group, and the environment in which the oscillators are held during the test period can be adapted, and may be different for at least some of the models in the set. The oscillator groups may comprise between 50 and 100 oscillators for all of the models. Fitting to the calculated frequency error refers to the selection of parameters for the model which result in drift estimates by the model matching, so far as possible, the measured drift of the oscillators during the test period. The fitting can be done in a number of ways, with a preferred method being the minimization of a maximum difference between the model estimates of drift and the measured drift for all of the oscillators at each time point. A model set produced in this way is then usable to correct for drift in all devices having similar clocks, and can produce accurate results with minimal or no drift measurements being required to be taken for that specific node.

[0021] In embodiments, the method comprises, during the test period for each model in the set, controlling at least one property of the surroundings to subject the group of oscillators to controlled environmental conditions which are different for each model in the set, and tagging the optimized model with an environmental scenario relating to the conditions applied during the test period for that model. The environmental parameter may be temperature, magnetic field strength, or mechanical stress, for example. This allows models to account to at least some extent for the conditions in which a device has been or will be subjected during data collection. The models are much better able to fit data for a specific scenario, again without requiring, or by requiring fewer, drift measurements relating to the device itself. Each model will be tagged with an environmental scenario based on the conditions the oscillators are subjected to during the test period for that model.

[0022] In embodiments, the model set comprises a first model for which the group of oscillators is subjected to a constant or slowly varying property of the surroundings during the test period and a second model for which the group of oscillators is subjected to a rapid change in the property of the surroundings (a shock) during the test period, and the first model is tagged with a non-stressed scenario and the second model with a stressed scenario. The “shock” may be represented as a quick or sudden change in the property of the surroundings (i.e. , the change in value of the property having a gradient above a predetermined threshold level for the stressed scenario and having a gradient below the predetermined threshold level for the nonstressed scenario). The property of the surroundings may be one or more of temperature, magnetic field strength, or mechanical stress.

[0023] In embodiments, the property of the surroundings is temperature, the non-stressed model is a non-temperature shock model and the stressed model is a temperature shock model. A temperature shock refers to a rapid rise or fall in temperature of a particular size within a defined time period. The shock threshold can be defined as a specific temperature gradient being exceeded. The size of temperature change and / or the steepness of the temperature gradient representing the threshold should be selected based on the type of oscillator used and under what conditions the behaviour of the oscillator is likely to change significantly. As an example, a temperature shock could be defined for a particular situation as a rise or fall in temperature of more than 10 degrees over a time period of less than 1 day. It is possible to include models relating to temperature rises or falls of different sizes and different gradients, but including one temperature shock and one non-temperature shock model provides good results if these are applied, respectively, in all situations where temperature shocks are present, and in all situations where they are not. The same principle can be applied for other parameters than temperature, such as magnetic field strength or mechanical stress (a mechanical shock model and a nonmechanical shock model, for example).

[0024] In embodiments, the first model (non-stressed / non-shock) is a quadratic model and the second model (stressed / shock) is a non-quadratic non-linear model. In embodiments, the non-temperature-shock model is a quadratic model and the temperature-shock model is a non-quadratic non-linear model.

[0025] In embodiments, the data storage is a data storage of the signal sampling device and the method comprises storing the model set on the data storage of the signal sampling device. In embodiments, the data storage is external to the device. The models can then be stored remotely from the device for use in drift correction postacquisition.

[0026] In embodiments, the duration of the test period is at least 10 days. The duration of the test period may be at least 30 days, more preferably at least 60 days, and most preferably at least 90 days. This provides an accurate model particularly suited for seismic surveys which are of roughly this duration.

[0027] In embodiments, optimizing the parameters of the model comprises minimizing max{err1 (tj), err2(tj), ... , errN(tj)}, where erri(tj) is the model error of drift for oscillator i at time j. The same minimization process should be carried out for each time point j = 1 to L, so that the selected parameters will be those that minimize the maximum error for the group of oscillators at all time points. The model error is represented by the difference between the drift calculated by the model for that oscillator at that time point and the actual drift measured by comparison with the reference clock for that oscillator at that time point.

[0028] In embodiments, the plurality of time points are periodically spaced throughout the duration of the test period. The time points may be evenly spaced apart. In embodiments, the plurality of time points are spaced up to 10 seconds apart, and preferably up to 1 second apart. The plurality of time points include a time point at the very start of the test period and a time point at the very end of the test period.

[0029] In embodiments, the method comprises storing the obtained data on data storage of the signal sampling device and the method comprises, prior to obtaining the data, storing the model set on the data storage of the signal sampling device.

[0030] In embodiments, the device is a seismic node. The device may be a seabed seismic node. Application of the model set, and preparation of the models in a lab environment, is particularly advantageous when applied to seismic nodes because, as mentioned, reducing the time required to prepare for the survey and time used post-survey is crucial in terms of cost. A very accurate system clock is also required for these types of devices, and environmental factors can play an important role. Using model sets which are adapted to different environmental scenarios is an efficient way to achieve an accurate correction with minimal additional time and effort required during and immediately before / after the survey itself. In embodiments, the method comprises collecting the data relating to an environmental parameter using a sensor of the node, such as a temperature sensor where the environmental parameter is temperature, and collecting the data representing a sampled signal using one or more seismic sensors, such as one or more hydrophones or geophones of the node.

[0031] In embodiments, the device is autonomous. The device may be an autonomous node, such as an autonomous seismic node. Autonomous refers to the fact that during a period in which signal data is being collected, there is no external communication or exchange of information between the device and any other device. The device is configured to operate without communication to any other unit during a deployment period. The deployment period may span the time period between deployment and retrieval for a seismic node, and may cover the entire time period during which seismic data is being collected. This type of device will continue to record data, such as seismic data, and its clock will continue to run with related data being stored in a data storage unit of the device. The data is stored within the device and can be downloaded once the deployment period has ended and the device is back on a survey vessel (for example).

[0032] In embodiments, the method comprises obtaining the data relating to an environmental parameter using the one or more environmental sensors of the node and obtaining seismic data as the signal data using one or more seismic sensors of the node. The seismic sensors may be geophones, accelerometers, and / or hydrophones. The environmental sensors may measure temperature, magnetic field strength, or mechanical stress. These environmental sensors may be positioned outside of a main node housing or inside to measure the conditions closer to the system clock itself.

[0033] In embodiments, the method comprises determining total drift during a deployment period from measurements of the system clock cycle and the global time taken before and after deployment, and applying an additional linear drift correction based on the determined total drift. Although measurements from the specific device are not required in order to produce the model set, these can be taken before and / or after deployment in order to apply an additional correction for any residual drift (which may be assumed to be linear). In such a case, measurements at deployment and retrieval of the global time and local clock cycle are taken so that the total drift over the deployment period can be derived. A correction for residual drift can then be applied. This residual drift could be present as a result of the effects of the environment on the electronics driving the system clock (temperature dependencies in corresponding electronic parts, parasitic offset currents, finite DAC calibration resolution, and so on). These measurements also allow a total deployment time to be determined.

[0034] The method of the first aspect may be carried out separately for some or each sensor device within an array of multiple devices, so that in principle a different model for clock drift correction can be selected for different devices of the array. The array may comprise a plurality of autonomous sampling devices, each having their own system clock. Although the nodes can be connected via cabling for transfer of data and / or power, the nodes can also be completely physically separate from one another, or can be connected via ropes or similar for handling only, with no data / power connection between the different nodes in the array. This allows the system to adapt to conditions which are very variable across the area over which an array is distributed. In one example selected devices, which are distributed spatially throughout the array, can be used to select a model from the set which is applied to correct for drift of the system clocks of a group of devices adjacent or near to the selected device. Each device in the array or each group of devices may be equipped with an environmental sensor from which the data relating to an environmental parameter of an environment of that device is obtained. If the data is very different for two devices within the array, or two groups of devices, this could result in different models being selected from the set for correction for the two devices or the two groups. The system is therefore extremely adaptable to different or extreme environmental conditions, while simplifying processing in cases where complex models are not necessarily required.

[0035] According to a second aspect of the present invention, there is provided a method for preparing a model set for clock drift correction, the method comprising: 1 ) selecting a group of N oscillators and calculating a frequency error at a plurality of time points throughout a test period by comparing oscillator cycle counts to a reference clock source; 2) selecting a model type comprising one or more parameters for optimization; 3) optimizing the parameters of the model by fitting to the calculated frequency error; and repeating steps 1 to 3 for each model in the set. In embodiments, the method is a method for preparing a model set for drift correction in the system clock of a signal sampling device. The system clock is configured to time stamp the signal being detected by the device. In embodiments, the signal sampling device is a seismic node for sampling a seismic signal.

[0036] According to a third aspect of the present invention, there is provided a sampling device comprising data storage, the data storage having a model set prepared according to the second aspect stored thereon. In embodiments the device is a seismic node. In embodiments, the device is a seabed seismic node. According to a fourth aspect of the present invention, there is provided a computer implemented method for correcting for clock drift of the system clocks of an array of signal sampling devices configured to sample signals in real time, wherein the array of signal sampling devices includes a first signal sampling device comprising a first system clock and a second signal sampling device comprising a second system clock, the method comprising: correcting for clock drift of the first system clock using a first model selected from a model set prepared according to the second aspect; correcting for clock drift of the second system clock using a second model selected from the same model set; wherein the first model and the second model are mutually different models. The signal sampling devices may be autonomous signal sampling devices. Different nodes within the same array can therefore have their system clocks corrected differently, despite their proximity. This might be useful if environmental conditions vary a lot between the positions of different nodes within the array. In embodiments, selection of the first and second model is based on the monitoring of an environmental parameter in the environment of the separate nodes in the array, as described in connection with the first aspect above.

[0037] According to a fifth aspect of the present invention, there is provided a computer implemented method for correcting for clock drift in a signal sampling device comprising a system clock, the method comprising: collecting, using at least one sensor of the device, data representing a sampled signal; selecting, from a model set comprising one or more models stored in data storage and based on expected or measured conditions during data collection, a model tagged with an environmental scenario; and correcting for clock drift of the system clock using the selected model. The selecting of the model can be carried out either before or after sampling of the data. In embodiments, the method comprises, prior to selecting the model, preparing the model set by: 1 ) selecting a group of oscillators and calculating a frequency error at a plurality of time points throughout a test period by comparing oscillator cycle counts to a reference clock source; 2) selecting a model type comprising one or more parameters for optimization; and 3) optimizing the parameters of the model by fitting to the calculated frequency error, and repeating steps 1 to 3 for each of the one or more models in the set.

[0038] In embodiments, the model set comprises two or more models tagged with different environmental scenarios. The environmental scenarios may be a stressed scenario and a non-stressed scenario, for example. The stressed model, tagged with the stressed scenario, may be a mechanical shock model or a temperature shock model. The model set can include a non-stressed model (no mechanical or temperature shock - tagged with a non-stressed scenario), a mechanical shock model, and a temperature shock model. In some cases, the set can include a further model associated with a scenario where combinations of different types of shock or nonshock scenarios are present. For example, one of the models in the set can be tagged with a scenario where both a temperature shock and a mechanical shock are present.

[0039] In embodiments, the method comprises receiving, from the signal sampling device, data representing the sampled signal, wherein correcting for clock drift of the system clock comprises correcting the data representing the sampled signal.

[0040] In embodiments, correcting for clock drift of the system clock comprises adjusting the frequency of the system clock during collection and time stamping, by the signal sampling device, of data representing a sampled signal.

[0041] According to a sixth aspect of the present invention, there is provided a signal sampling device configured to sample signals in real time, comprising a computer including a processor and a memory, wherein the computer is configured to implement a method according to any of the first, second, fourth, and fifth aspects. In embodiments, the signal sampling device comprises one or more environmental sensors, configured to collect data relating to an environmental parameter

[0042] According to a seventh aspect of the present invention, there is provided a computer including a processor and a memory configured to perform a method according to any one or more of the first, second, fourth, and fifth aspects; a computer program comprising instructions which, when executed by a computer including a processor and a memory, cause the computer to perform a method according to any one or more of the first, second, fourth, and fifth aspects; and / or a non-transient computer- readable storage medium comprising instructions which, when executed by a computer including a processor and a memory, cause the computer to perform a method according to any one or more of the first, second, fourth, and fifth aspects.

[0043] Embodiments of the present invention will now be described, by way of example only, with reference to the following diagrams wherein:

[0044] Figure 1 illustrates a model fit to data measured in the laboratory;

[0045] Figure 2 is a block diagram showing a method for preparing a model set; and

[0046] Figure 3 is a block diagram illustrating the steps in a method for applying a model set in order to correct for clock drift.

[0047] The method described herein is based on the preparation and application of a model set which can be applied to clock-based systems to correct for clock drift. Use of the model set to correct seismic or environmental data sampled by a seismic node during a seismic survey is described in detail herein, but the method can be applied to any device to be used for signal sampling, and more generally to any electronic system using a system clock exhibiting drift.

[0048] The model set is prepared using a plurality of oscillators of the same type, which are monitored throughout a test period under laboratory conditions while access to a global reference clock is available. The oscillators referred to here can each be a single oscillator or can be made up of a group of oscillators that together make up a sampling or system clock. The duration of the test period is selected to be the same as, similar to, or at least as long as a length of time that the system to which the models will be applied is to be used without access to an external time reference during sampling. For models to be applied to a seismic node, therefore, the test period will be at least 10 days, more preferably at least 30 days, still more preferably at least 60 days, and most preferably at least 90 days. These are representative lengths of time required to carry out a seismic survey, and in the case of a seabed seismic survey represent the usual time between deployment of the node on the seabed for a seabed seismic survey and retrieval of the node at the end of the survey.

[0049] Monitoring of the group of oscillators during the test period comprises collecting data reflecting a drift of the oscillator frequency at specific time points throughout the test period. The drift is the difference between the counted oscillator cycles per second and the reading from the global reference clock (which can be any reference clock, such as GNSS or a disciplined rubidium atomic clock). Specifically, a comparison is made between the number of oscillator tics counted by the oscillator from the time of one global time measurement to the time of the next global time measurement and the “expected” nominal number of cycles between these two time points. This is used to estimate the difference between the nominal oscillator frequency (which is the number of oscillations per second for a perfect oscillator with zero deviation) and the actual number of cycles per second for the oscillator under test. The relative frequency error, df / f, at each point in time can be represented as drift per second, or drift rate, for that oscillator at that specific time point. The drift in relative clock frequency, df / f, relative to the external reference (the relative frequency error) is estimated from measured drift periodically over the entire test period for each oscillator in the set, and this data is recorded for use in model optimization.

[0050] The number of oscillators in the group, N, may be between 10 and 1000, preferably between 50 and 200. The number of oscillators in the group can vary, and may be selected as the lowest number of oscillators that is statistically significant based on the observed variations in the type of oscillator at issue. The model set can include a plurality of different model types which are designed to be applied to different environmental scenarios. In a simple case, two different model types are used which are associated with two different environmental scenarios. These scenarios may represent the presence and absence of a mechanical or temperature shock, or may relate to a particular change in magnetic field that is likely to occur during use of the modelled system. In one example, the first model in the set (a “temperature shock model”) is to be applied in a situation where the node or device will be subjected to a temperature shock during use, and the second model (a “non-temperature shock model”) is to be applied in cases where there will be no temperature shock. A temperature shock can refer, for example, to a sharp change in temperature over a short time period, for example a drop or a rise in temperature of over 10 degrees within a time frame of less than 1 day. The thresholds for what constitutes a temperature shock can be selected depending on the type of oscillator being tested in the production of the models. A temperature gradient that causes a significant change in the behaviour of the oscillator at issue will be considered a temperature-shock scenario.

[0051] To produce each model, a suitable model type needs to be selected. The model is represented by one or more equations including one or more parameters to be optimised, and preparation of the model comprises optimisation of these parameters. The model can, for example, be polynomial, logarithmic, or exponential, or can involve any other function of time containing constraints and parameters that can be optimized. The model type (i.e. , the form of the equations making up the model and the parameters to be optimized) can be the same for models associated with different environmental scenarios or can be different. Where the environmental scenario relates to the presence or absence of a temperature shock, both the temperature shock and the non-temperature shock models can be of the same type, but it has been found that a much better result can be achieved if different model types are applied to these different scenarios. In a preferred example, the non- temperature shock model is based on a quadratic function and the temperature shock model on a non-linear function, one example of which is set out below. The temperature shock model can, for example, comprise a function including a logarithmic part plus some polynomial terms. The above can also be applied in case of a rapid change in any environmental parameter likely to affect the operation of the sampling device, such as magnetic field strength or mechanical stress (magnetic or mechanical shocks), wherein the model tagged with a stressed scenario is based on a non-linear function and the model tagged with a non-stressed scenario is based on a quadratic function.

[0052] Once the model type has been selected, optimization of the model parameters is carried out. This is done using the data which has been collected for all of the oscillators in the group and for the entire duration of the test period. The laboratory conditions will be adapted throughout the test period to represent the environmental scenario that the model is to reflect. For the temperature shock model, therefore, the temperature of the oscillators in the group will be adjusted so that it falls or rises rapidly at least once during the test period to represent the temperature shock. For a non-temperature shock model, the temperature of surroundings will vary more slowly or will be kept constant throughout the test period.

[0053] Figure 1 illustrates data collected over the 90 day test period for one of the oscillators in the group (grey) and the frequency error estimated by the best model fit for a shocked model. The effect of the temperature shock on the data itself can be seen as the steeper rise in frequency error within the first day or so of the test period. The graph shows the relative frequency error estimates, df / f, measured in ppb based on GNSS readings (grey) and the model (black) for an oscillator. The model has been optimized using data from the entire group of N oscillators, but data from only one of these is shown in the graph.

[0054] A drift per unit time (the drift rate) or any equivalent quantity including the relative frequency error, df / f, as a function of time over the whole test period for each oscillator in the group represents the data to be used in the optimization. As mentioned above, this drift rate, for each oscillator, can be measured as the drift between two readings of the external reference time, divided by the time elapsed between the two readings, and will be noted periodically. The data will be collected for each oscillator in the group at least once every minute, more preferably at least once every 10 seconds, and most preferably at least once every second (a 1 PPS GNSS signal output can provide a global time reference every full second, for example). The model itself estimates a drift rate error for each of the oscillators, and parameters of the model can then be optimized by comparing the drift, which is the integral of the draft rate, estimated by the model to the drift value actually measured for each of the oscillators throughout the entire duration of the test period, or by comparing the drift rate itself or another equivalent quantity. For a group of N oscillators with i = 1 , 2, ... N, and where comparisons are made with L global time readings with j = 1 , 2,... .L, the difference between the drift relative to the global time reading and the drift estimated by the model is the model error ern(tj) for oscillator i at time j.

[0055] A preferred method for parameter optimization minimises the maximum model error for all oscillators and at all time points during the test period. The values of the model parameters which minimize this value will then be selected. For a group of N oscillators and L global time readings, as above, the following expression is minimized for each time point j = 1 to L: max{ern(tj), err2(tj),... , errN(tj)}. Here erri(tj) is the model error of the drift for the ith oscillator at time point j. Where a model involves several parameters to be optimized, methods such as Monte Carlo methods, simulated annealing, genetic algorithms, gradient descent, or similar can be used to assist with the optimization process.

[0056] The same process is followed for all models in the set, possibly represented by different mathematical functions, with conditions in the lab throughout the test period being adjusted to represent the environmental conditions with which each of the models is to be linked (the environmental scenario with which the model will be tagged). As mentioned above, the test period over which data is collected for optimization of the model is selected to be similar to the time period over which the clock drift for a specific device will eventually need to be corrected using the models. Figure 2 is a block diagram setting out the steps required for preparation of a model of the set. At step 1 , a group of N oscillators is selected. At step 2, oscillator cycle counts for each of the N oscillators in the group and global clock readings are recorded periodically throughout the entire duration of the test period. During the test period at least one property of the environment in which the oscillators are located is controlled to reflect the environmental scenario to which the model will relate. At step 3, the frequency error or equivalent drift per unit time (drift rate) for each of the oscillators relative to a global clock reading is calculated from the recorded data. At step 4, a model type is selected with one or more parameters to be optimized. At step 5, the one or more parameters of the model are optimized to find the parameters which are best able to fit the data collected during the test period. Preferably, this optimization minimizes the maximum error for all oscillators at each time point, although other methods can be used (minimizing the mean error for all of the oscillators at each time point, for example). At step 6, the model is validated by performing separate experiments with different durations that can confirm the model’s validity based on some given criteria. Validation may comprise checking that the accuracy of the model meets some predetermined threshold accuracy requirement when a sensor node is actually in use. This may mean that the difference between the model-calculated frequency drift and the actual frequency drift is below a certain threshold after a certain time period (less than 1 ms maximum deviation over two months of deployment, for example).

[0057] To produce a model set, steps 1 to 6 are repeated subjecting the N oscillators to different environmental conditions, and selecting a suitable model type for those conditions. The final model set will therefore comprise a set of models that are optimized, with each model being associated with a particular environmental scenario and usually also a specific oscillator type.

[0058] One specific model which has been found to provide good results when applied to a temperature shock scenario (the temperature shock model) is represented by the following equations: where c, Tm, and x are the parameters (in this case constants) to be optimized when preparing the model, ferr(t) is the final relative frequency error estimate, df / f, at time t, f’err(t) is the first approximation with f’m being its mean value over the test period. D is the total drift during the test period, T is the total duration of the test period in seconds, t is the time in seconds, and u is the unit of frequency error suitable for the type of oscillator being used (i.e in ppb or ppm). The total drift D can then be represented by:

[0059] An example of a suitable model type for application in a situation where there is no temperature shock (the non-temperature shock model) is as follows, where the same letters indicate the same parameters as listed above for the temperature shock model, with a representing an additional constant for optimization: drift at time t

[0060] The model set can also include models relating to different oscillator types, again with each model relating to a specific environmental scenario. These can be produced by repeating steps 1 to 6 of figure 2 but with a group of oscillators of the relevant type.

[0061] As mentioned, when correcting for drift of the system clock, measurements can be taken before and after deployment of the device of the local clock frequency and the global time. These measurements can be used to correct for any residual, or additional, linear drift, but they can also be used to determine a total deployment time and a total drift during the deployment period. When the models are to be applied to collected data, these values can be used to initialize the models. However, an estimate for these parameters can be entered as an alternative if measurements are not taken or are not available. The estimate can be based on lab tests or using historical data for the same or a similar node, preferably under similar conditions.

[0062] The process of collecting data relating to a group of oscillators under laboratory conditions in which at least one environmental parameter is controlled to reflect the environmental scenario with which the model is to be associated can be repeated for a number of different scenarios, for different oscillator types, and using a number of different model types. Once these models have been optimized using the collected data, these can be used to correct clock drift in a range of real scenarios very easily and without the requirement of additional real-time data collection during a survey or similar. Usually, a model set to be applied for a specific signal sensing device will include models relating to an oscillator of a particular type. This type will be the same as the system clock of the device.

[0063] The model set can be stored as software in the clocked system for which a correction is to be applied, or can be stored externally. The correction itself can either be carried out in real time or after the sampling is complete (for example after a survey is complete in the case of correction for a seismic node).

[0064] The selection and application of a suitable model from the set will typically follow the steps set out in figure 3. In step 7, a parameter is monitored in the environment surrounding the device. This may, for example, be a temperature, mechanical stress, or a magnetic field strength close to a seismic node. The seismic node in this case represents the device and a temperature or magnetic sensor on the node provides the reading. The environmental parameter can be measured only once, but most often a series of measurements will be taken to give a profile of the environmental parameter over time. The parameter may be measured periodically or continuously throughout the entire period during which the data to be corrected is being collected (i.e. the entire actual deployment period for a seismic node). In step 8, the data collected by the sensor, which may be a single measurement or a profile representing a series of measurements over time, is matched to an environmental scenario. For a seismic node where temperature shocks are being considered, the data can be matched with a shock scenario if a drop of a specific size (i.e. 10 degrees) or over is observed within a specified time period (i.e. 1 day), for example. In step 9, the model associated with the environmental scenario is selected. The shocked model will be selected in the specific example discussed above if a temperature shock is observed. In the final step 10, the selected model is used for correction of the data collected by the device (i.e. the data representing a sampled signal collected during the deployment period) or to directly adjust the frequency of the system clock.

[0065] Models can be tagged with their associated environmental scenario as meta data, which can make model selection from the set simpler. Depending on which environmental parameters the models in the set are associated with, selection of a model will usually involve monitoring of one, some, or all of the relevant parameters during use of the clocked system and then selection of a suitable model from the set based on the measurements taken. In an example where a model set is intended for correction of clock drift in a seismic node being used for sampling of a seismic signal, an environmental parameter will be monitored using a sensor located on the node, and may be monitored throughout the duration of the seismic survey. Where the model set comprises two models associated with a temperature shocked and a non-temperature-shocked scenario, a temperature sensor on the node can be used to monitor a temperature of the environment surrounding the node throughout the survey. The temperature data can be used to determine whether a temperature shock has occurred. If a temperature shock has occurred, the temperature shock model can be used to correct clock drift for the seismic data collected in the survey, if no temperature shock is detected, the non-shocked model can be selected.

[0066] An alternative is to select a model based on expected environmental conditions for a survey, or based on one or more measurements of at least one environmental parameter taken before the data collection (i.e. a seismic survey) or in a previous data collection scenario of a similar type. As an example, where a temperature shock is expected to occur during a seismic survey (for example because a seismic node will be dropped off the side of a vessel and will travel from the surface to the seabed), the temperature-shock model can be selected from the set and clock drift can be corrected for either in real time during the survey or fully corrected afterwards during processing.

[0067] The model set, once prepared, may be stored in data storage on the same device as the clocked system to which drift correction will be applied. The device can include a controller which is operable to select a model from the set and to apply corrections to the data collected, either in real time or afterwards once the timestamped data has been recorded. As mentioned, the selection may be made in response to a measurement, or a set of measurements, taken using a sensor also collocated with or positioned on or within the device. The sensor may be a temperature sensor or a sensor for measuring mechanical stress or magnetic field strength.

[0068] If the correction is to be applied during operation of the signal sensing device, this can be by way of continuous adjustment of the frequency of the system clock itself. The model predicts how the system clock is likely to drift with respect to a nominal clock rate, and will adjust based on this while the device is in use in order to keep the frequency of the system clock in line with the nominal as far as possible. The timestamped data representing a detected signal can, alternatively, be corrected in a post-processing step using the model.

Claims

Claims1 . A computer implemented method for correcting for clock drift of a system clock in a signal sampling device comprising the system clock and configured to sample a signal in real time, the method comprising: obtaining data relating to an environmental parameter of an environment of the signal sampling device; matching the data relating to the environmental parameter to an environmental scenario; selecting, from a model set comprising at least two different models, a model tagged with the matched environmental scenario; and correcting for clock drift of the system clock using the selected model.

2. The method of claim 1 , wherein obtaining the data relating to the environmental parameter comprises collecting, by one or more environmental sensors of the signal sampling device, the data relating to the environmental parameter.

3. The method of any of claims 1 and 2, comprising receiving, from the signal sampling device, data representing the sampled signal, wherein correcting for clock drift of the system clock comprises correcting the data representing the sampled signal in a post-processing step.

4. The method of any of claims 1 to 3, wherein correcting for clock drift of the system clock comprises adjusting the frequency of the system clock during collection and time stamping, by the signal sampling device, of data representing the sampled signal.

5. The method according to any of claims 1 to 4, wherein the environmental parameter comprises one or more of temperature, mechanical stress, or magnetic field strength.

6. The method of any of claims 1 to 5 comprising: prior to receiving the data, preparing the model set by:1 ) selecting a group of oscillators and calculating a frequency error at a plurality of time points throughout a test period by comparing oscillator cycle counts to a reference clock source;2) selecting a model type comprising one or more parameters for optimization; and3) optimizing the parameters of the model by fitting to the calculated frequency error, and repeating steps 1 to 3 for each model in the set.

7. The method of claim 6, comprising, during the test period for each model in the set, controlling at least one property of the surroundings to subject the group of oscillators to controlled environmental conditions which are different for each model in the set, and tagging the optimized model with an environmental scenario relating to the conditions applied during the test period for that model.

8. The method of claim 7, wherein the model set comprises a first model for which the group of oscillators is subjected to a constant or slowly varying property of the surroundings during the test period and a second model for which the group of oscillators is subjected to a rapid change in the property of the surroundings during the test period, and the first model is tagged with a non-stressed scenario and the second model with a stressed scenario.

9. The method of claim 8, wherein the first model is a quadratic model and the second model is a non-quadratic non-linear model.

10. The method of any of claims 6 to 9, wherein the duration of the test period is at least 10 days.11 . The method of any of claims 6 to 10, wherein optimizing the parameters of the model comprises minimizing max{ern(tj), err2(tj), ... , errN(tj)}, where erri(tj) is the model error of drift for oscillator i at time j.

12. The method of any of claims 1 to 11 , comprising storing the obtained data on data storage of the signal sampling device and the method comprises, prior to obtaining the data, storing the model set on the data storage of the signal sampling device.

13. The method of any of claims 1 to 12, wherein the device is a seismic node.

14. The method of claim 2, comprising obtaining the data relating to an environmental parameter using the one or more environmental sensors of the node and obtaining seismic data as the signal data using one or more seismic sensors of the node.

15. The method of any of claims 1 to 14, comprising determining total drift during a deployment period from measurements of the system clock cycle and the global time taken before and after deployment, and applying an additional linear drift correction based on the determined total drift.

16. A method for preparing a model set for clock drift correction, the method comprising:1 ) selecting a group of N oscillators and calculating a frequency error at a plurality of time points throughout a test period by comparing oscillator cycle counts to a reference clock source;2) selecting a model type comprising one or more parameters for optimization;3) optimizing the parameters of the model by fitting to the calculated frequency error; and repeating steps 1 to 3 for each model in the set.

17. A sampling device comprising data storage, the data storage having a model set prepared according to claim 16 stored thereon.

18. A computer implemented method for correcting for clock drift of the system clocks of an array of signal sampling devices configured to sample signals in real time, wherein the array of signal sampling devices includes a first signal sampling device comprising a first system clock and a second signal sampling device comprising a second system clock, the method comprising: correcting for clock drift of the first system clock using a first model selected from a model set prepared according to claim 16; correcting for clock drift of the second system clock using a second model selected from the same model set; wherein the first selected model and the second selected model are mutually different models.

19. A signal sampling device configured to sample signals in real time, comprising a computer including a processor and a memory, wherein the computer is configured to implement a method according to any of claims 1 to 16.

20. The signal sampling device of claim 19, comprising one or more environmental sensors, configured to collect data relating to an environmental parameter.

Citation Information

Patent Citations

  • Temperature compensated parabolic skew estimation for clocks on an autonomous seismic node

    US20190094402A1

  • Method and system for estimating the drift of a clock for dating seismic data samples

    US20210263477A1

  • Real-time clock error correction method used exploration instrument

    CN106909065A

  • Methods and apparatus for compensating a clock bias in a GNSS receiver

    US20100045523A1

  • Systems and methods for frequency compensation of real-time-clock systems

    US20200328718A1

Cited By

  • Acoustic test system with underwater movement and fixed measurement array collaboration

    CN121956002A