Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TIME SYNCHRONIZATION ALGORITHM FOR MEASUREMENT SYSTEMS WITH RANDOM DELAYS
Document Type and Number:
WIPO Patent Application WO/2007/009458
Kind Code:
A2
Abstract:
Method and system for synchronisation of measurements from a number of sensor systems functionally connected to a host computer, the method comprising - sending a trigger message M0 to the sensor systems for starting the measurements by the sensor systems and the transmission of the measurements to the host computer, - sending a sequence of following messages Mi (i=l, 2, 3, ..., N) from the host computer to the sensor systems and storing the sending time xi (i=l, 2, 3, ..., N) for each message Mi (i=l, 2, 3, ..., N) - for each received message Mi (i=l, 2, 3, ..., N) at a sensor system, sending response messages mi (i=l, 2, 3, ..., N) from the sensor system to the host computer, the response messages mi (i=l, 2, 3, ..., N) implying information indicative of the receiving times yi (i=l, 2, 3, ..., N) of the received messages by the sensor system, - storing the receiving time yi (i=l, 2, 3, ..., N) at the host computer for each received response message mi (i=l, 2, 3, ..., N) and relating the sending time sequence Xi (i=l, 2, 3, ..., N) to the receiving time sequences yi (i=l, 2, 3, ..., N) for each sensor system for finding a relative time shift between reception of the trigger message by the different sensor systems.

Inventors:
BRINCKER, Rune (Charlottehøj 68, Aalborg, DK-9000, DK)
LARSEN, Jesper, Abildgaard (Brandevej 10, lejlighed 3, Aalborg Ø, DK-9220, DK)
LAGÖ, Thomas, Lars-Göran (70 Himalaya CT, US-Alpine, UT, 84004, US)
Application Number:
DK2006/000411
Publication Date:
January 25, 2007
Filing Date:
July 13, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
PINOCCHIO DATA SYSTEMS APS (Niels Jernes Vej 10, Aalborg Øst, DK-9220, DK)
BRINCKER, Rune (Charlottehøj 68, Aalborg, DK-9000, DK)
LARSEN, Jesper, Abildgaard (Brandevej 10, lejlighed 3, Aalborg Ø, DK-9220, DK)
LAGÖ, Thomas, Lars-Göran (70 Himalaya CT, US-Alpine, UT, 84004, US)
International Classes:
H04Q9/00; H04Q9/00
Attorney, Agent or Firm:
PATRADE A/S (Fredens Torv 3A, Aarhus C, DK-8000, DK)
Download PDF:
Claims:

CLAIMS

1. Method for synchronisation of measurements from a number of sensor systems functionally connected to a host computer, the method comprising

- sending a trigger message M 0 to the sensor systems for starting the measurements by the sensor systems and the transmission of the measurements to the host computer,

- sending a sequence of following messages Mi (i=l, 2, 3, ..., N) from the host computer to the sensor systems and storing the sending time x; (i=l, 2, 3, ..., N) for each message Mi (i=l, 2, 3, ..., N)

- for each received message M; (i=l, 2, 3, ..., N) at a sensor system, sending response messages m; (i=l, 2, 3, ..., N) from the sensor system to the host computer, the response messages m; (i=l, 2, 3, ..., N) implying information indicative of the receiving times yi (i=l, 2, 3, ..., N) of the received messages by the sensor system,

- storing the receiving time yi (i=l, 2, 3, ..., N) at the host computer for each received response message m; (i=l, 2, 3, ..., N) and relating the sending time sequence Xi (i=l, 2, 3, ..., N) to the receiving time sequences yi (i=l, 2, 3, ..., N) for each sensor system for finding a relative time shift between reception of the trigger message by the different sensor systems.

2. Method according to claim 1, wherein the method comprises using the time shift for synchronised sampling of the measurements from the sensor systems.

3. Method according to claim 1 or 2, wherein the information indicative of the receiving time is found by determining the number of the transmitted measurements from the sensor system to the host computer prior to the response message my (i=l, 2, 3, ..., N) and multiplying this number, by a constant representing the time span between two consecutive measurements.

4. Method according to claim 1 or 2, wherein the information indicative of the receiving time is a digital tag attached to the response message mi (i=l, 2, 3, ..., N), the tag indicating the time elapsed from start of the measurements by the sensor system.

5. Method according to any preceding claim 1, wherein the step of relating the sending time sequence Xj (i=l, 2, 3, ..., N) to the receiving time sequences yj (i=l, 2, 3, ..., N) for each sensor system implies linear regression between the sending time sequence and the receiving time sequence.

6. Method according to claim 5, wherein a distance between intercept of the regression line with a sending time axis is identified as a relative time delay of the sensor

7. Method according to claim 6, wherein the method comprises using discrete Fourier analysis for removing the influence of the time delay.

8. Method according to an preceding claim, wherein the response message mi (i=l, 2, 3, ..., N) is attached to a measurement result.

9. Method according to claim 8, wherein the response message m; is a digital signal with a number of bits, wherein the method comprises using the first few of the number of bits for tagging the return message m; by a digital tag, wherein the tag is uniquely related to the following message Mi, wherein the method comprises using the tag for uniquely relating each sending time x; to the corresponding receiving time Vj.

8. Method according to claim 7, wherein the tag is identical to the following message Mi or identical to part of the following message Mi.

9. System for synchronisation between a host computer and at least one electronic unit, wherein the system comprises a host computer and at least one electronic unit functionally connected with the host computer, wherein

- the host computer is configured for sending a trigger message M 0 to the sensor systems for starting the measurements by the sensor systems and the transmission of the measurements to the host computer, - the host computer is configured for sending a sequence of following messages M; (i=l, 2, 3, ..., N) from the host computer to the sensor systems and storing the sending time x; (i=l, 2, 3, ..., N) for each message Mi (i=l, 2, 3, ..., N)

- the sensor system is configured for sending response messages m; (i=l, 2, 3, ..., N) from the sensor system to the host computer for each received message Mj 2, 3, ..., N), the response messages mi (i=l, 2, 3, ..., N) implying information indicative of the receiving times yi (i=l, 2, 3, ..., N) of the received messages by the sensor system,

- the host computer is configured for storing the receiving time yi (i=l, 2, 3, ..., N) at the host computer for each received response message m; (i=l, 2, 3, ..., N) and relating the sending time sequence x; (i=l, 2, 3, ..., N) to the receiving time sequences y, (i=l, 2, 3, ..., N) for each sensor system for finding a relative time shift between reception of the trigger message by the different sensor systems.

10. System according to claim 9, wherein the host computer is configured for using the time shift for synchronised sampling of the measurements.

11. System according to claim 9 or 10, wherein the host computer is configured for the information indicative of the receiving time is found by determining the number of the transmitted measurements from the sensor system to the host computer prior to the response message mi (i=l, 2, 3, ..., N) and multiplying this number by a constant representing the time span between two consecutive measurements.

12. System according to claim 9 or 10, wherein the information indicative of the receiving time is a tag attached to the response message mi (i=l, 2, 3, ..., N), the tag indicating the time elapsed from start of the measurements by the sensor system.

13. System according to any one of the preceding claims 9-12, wherein the host computer is configured for relating the sending time sequence Xi (i=l, 2, 3, ..., N) to the receiving time sequences y; (i=l, 2, 3, ..., N) for each sensor system by linear regression between the sending time sequence and the receiving time sequence.

14. System according to claim 13, wherein the host computer is configured for identifying a distance between intercept of the regression line with a sending time axis as a relative time delay of the sensor.

15. System according to claim 14, wherein host computer is configured for using discrete Fourier analysis for removing the influence of the time delay.

16. System according to any one of the preceding claims 10-15, wherein the sensor system is configured for attaching a response message m.j (i=l, 2, 3, ..., N) to a measurement result.

17. System according to any one of the preceding claims 10-16, wherein the response message mj is a digital signal with a number of bits, wherein the sensor system is con- figured for using the first few of the number of bits for tagging the return message m; by a digital tag, wherein the tag is uniquely related to the following message Mj.

18. System according to claim 17, wherein the host computer is configured for using the tag for uniquely relating each sending time x; to the corresponding receiving time yi.

19. System according to claim 18, wherein the tag is an identification of the message Mj from the host computer.

20. System according to claim 19, wherein the tag is identical to the following message Mj or identical to part of the following message M;.

Description:

Time Synchronization Algorithm for Measurement Systems with Random Delays

FIELD OF THE INVENTION The present invention concerns the problem of time synchronisation for signals between electronic units such as a sensor and a central host computer.

BACKGROUND OF THE INVENTION

When a central computer receives related signals from a number of sensors, it is often of vital importance that the signals can be timely related to each other. For example, the sensors may be a number of vibration sensors measuring vibration amplitudes in a building as described in International patent application WO 01/33182. In order to get an overall picture of the vibration in the building, the signals from the sensors need to be correctly timely related to each other in order to achieve a proper sampling.

A typical system according to prior art for such measurements consists of a host computer servicing a number of sensors as shown in the top of Figure 1. The host computer may alternatively service a number of distribution nodes, each of the nodes ser- vicing a number of sensors, as illustrated in the bottom of FIG. 1. Digital transmission between host and nodes, host and sensors and/or nodes and sensors might be wired or wireless. Each of the nodes might be. a computer, and even each of the sensors might be a computer, the system describes a hierarchical system where the host is the computer that controls the measurement process, the nodes control the process at a local level and the sensors control the process at the sensor level.

Each sensor will have a clock to perform the A/D conversion with a certain time step At. Usually the clock rate is not the most important time synchronization problem; it exists, but is not essential in most applications, hi most applications the most impor- tant problem is the problem of getting the sampling process started at the same time in all sensors.

In a digital system, a message is send to all sensors to tell each sensor to start measuring; this message is called the triggering message, see Figure 2 for illustration. If nothing is done to reduce time uncertainty on the message reception, the different sensors will receive the triggering message at different time, and thus, the sampling process will start at different times. Therefore, the problem is to secure, that the triggering message reaches all sensors at exactly the same time, or within an acceptable time uncertainty. To secure this quality, normally, a real time operative system is used in the host computer and in the communication between the host computer and the node/sensor. Alternatively, specialized hardware solutions are developed to secure that the time uncertainty on message reception is as small as needed.

DESCRIPTION / SUMMARY OF THE INVENTION

It is the purpose of the invention to simplify the above mentioned system by an alter- native approach for time synchronisation.

This purpose is achieved by a method for synchronisation of measurements from a number of sensor systems functionally connected to a host computer, the method comprising - sending a trigger message M 0 to the sensor systems for starting the measurements by the sensor systems and the transmission of the measurements to the host computer, - sending a sequence of following messages Mi (i=l, 2, 3, ..., N) from the host computer to the sensor systems and storing the sending time Xi (i=l, 2, 3, ..., N) for each message Mi (i=l, 2, 3, ..., N) - for each received message M; (i=l, 2, 3, ..., N) at a sensor system, sending response messages m; (i=l, 2, 3, ..., N) from the sensor system to the host computer, the response messages mj (i=l, 2, 3, ..., N) implying information indicative of the receiving times yi (i=l, 2, 3, ..., N) of the received messages Mi (i=l, 2, 3, ..., N) by the sensor system, - storing the receiving time yi (i=l, 2, 3, ..., N) at the host computer for each received response message m; (i=l, 2, 3, ..., N) and relating the sending time sequence Xj (i=l, 2, 3, ..., N) to the receiving time sequences yi (i=l, 2, 3, ..., N) for each sensor system

for finding a relative time shift between reception of the trigger message by the different sensor systems.

The purpose is also achieved by a system for synchronisation between a host computer and at least one electronic unit, wherein the system comprises a host computer and at least one electronic unit functionally connected with the host computer, wherein

- the host computer is configured for sending a trigger message M 0 to the sensor systems for starting the measurements by the sensor systems and the transmission of the measurements to the host computer, - the host computer is configured for sending a sequence of following messages Mj Cb=I, 2, 3, ..., N) from the host computer to the sensor systems and storing the sending time Xi (i=l, 2, 3, ..., N) for each message Mj (i=l, 2, 3, ..., N)

- the sensor system is configured for sending response messages mi (i=l, 2, 3, ..., N) from the sensor system to the host computer for each received message Mi (i=l, 2, 3, ..., N), the response messages mi (i=l, 2, 3, ..., N) implying information indicative of the receiving times yϊ (i=l, 2, 3, ..., N) of the received messages by the sensor system,

- the host computer is configured for storing the receiving time yi (i=l, 2, 3, ..., N) at the host computer for each received response message mi (i=l, 2, 3, ..., N) and relating the sending time sequence x; (i=l, 2, 3, ..., N) to the receiving time sequences yϊ (i=l, 2, 3, ..., N) for each sensor system for finding a relative time shift between reception of the trigger message by the different sensor systems.

For example, the sensor system may comprise a sensor with a digital interface for communication with the host computer. The sensor may measure physical parameters analogously and transform the measurements into digital data, or the digital data may be formed in a different way by the sensor. The term "host computer" also implies computer systems with several computers.

The invention utilises a sending of a sequence of messages M; to the sensor systems, and receiving response messages m; in return. The time x; of each message Mj in the time frame of the host computer is then related to the reception time yi of each response message mi in the time frame of the sensor system and can be used for evaluation for determining the relative reception time for the trigger message M 0 at the num-

ber of sensors. The determined relative time shift Tsm ft between the reception time yo of the trigger message M 0 at the various sensor systems may then be used for synchronised sampling of the measurements from the sensor systems.

The invention is based on standard operative systems without any hardware solutions to enhance time synchronization.

The information indicative of the receiving time y* (i=l, 2, 3, ..., N) of the received , messages Mi (i=l, 2, 3, ..., N) by the sensor system may be found in various ways. A first way is to determine the number of the transmitted measurements from the sensor system to the host computer prior to the response message mi (i=l, 2, 3, ..., N). This number of measurements may then be multiplied by a constant representing the time span between two consecutive measurements. A second way is by the sensor system to attach a digital tag to the response message mi (i=l, 2, 3, ..., N), the tag indicating the time elapsed from start of the measurements yo by the sensor system.

Preferably, the evaluation is of a statistical nature, for example by relating the sending time sequence Xj (i=l, 2, 3, ..., N) to the receiving time sequences yi (i=l, 2, 3, ..., N) for each sensor system may imply linear regression between the sending time sequence and the receiving time sequence. The distance between intercept of the regression line with a sending time axis may be identified as a relative time delay Ts h a t of the sensor. By using discrete Fourier analysis the influence of the time delay Ts h a t can be removed. Having removed the time delay Ts h i ft , the measurement data from the sensor systems may be sampled in a synchronised manner.

The response message mi (i=l, 2, 3, ..., N) may be a message independent of the measurement data sent to the host computer. Alternatively, the message may be attached to a measurement result.

In a system, where measurement results are sent as digital data between electronic units, the measurements data can be used to send additional information, such as tags on the data, which will be explained in further detail in the following. This further

invention can be utilised in connection with the invention as defined by the claims. However, this further invention may also be used in other relations.

When measurements results in measured data, the corresponding digital data consists of a number of bits for each measurement (a data point). Typically, there is a certain degree of noise in the data such that the fist few bits, for example the first 4 bits in the case of a noise level of 24 dB or the first 8 bits in the case of a noise level of 48 dB, do not contribute to the true and desired measurement signal but represent the noise level.

For example, 4 bits noise in a 24 bit signal represent only 1 part per million, and there is still left 20 bits for the true signal corresponding to 120 db.

Thus, in practice, a general method could comprise providing a number of consecutive discrete measurement signals as digital data with a first number of bits, determining a second number of bits less than the first number of bits, and using this second number of first bits for digital messages together with the measurement signal in the remaining number of bits. For example the second number of bits could correspond to the noise level of the signal, which has been determined, and the digital message could be placed in the first few bits of the signal.

As the first few bits of the measurement signal are not important for the measurement signal itself, because the first few bits represent the noise level, these first few bits may be used for sending a message m; of some kind, for example an identification tag along with the measurement. Such identification tag may include messages like the identification of the sender, the sending time, or a unique relationship to the message Mi from the host computer that caused the sending of the measurement data as a response. The latter is important in relation to the invention as described further in the following.

When an electronic unit in a system according to the invention receives a message Mj, a return message mj, for example together with measurement data, is sent as a response. In one embodiment, the position of the returned messages in the data series from the sensor identifies the time a sensor has received the messages Mj. However, due to delay in the transmission line between the electronic unit and the host com-

puter, the response message m* may be delayed so much that the following response message mj +1 arrives earlier at the host computer than m;. This would imply - if no correction is performed - that the time x; erroneously would be related to the sending time Vj +1 of message mi +1 and the time Xj +1 would be related to the sending time yi for the message mi. The result is not only a larger statistical uncertainty in the regression analysis between the sending and the receiving time, but it would also introduce noise in the measurements, because the messages from the sensors are not correctly correlated and sampled. In another embodiment of the invention, this is cured by tagging each message mi with a uniquely identifying tag for the message Mj from the host computer, as corresponding correction can be performed in the system, where the message mi due to the tag can be correctly assigned to message Mj. Using the tag, each sending time Xj can be uniquely related to the corresponding receiving time y;. The tag may be an identification of the message M; , be a part of the message M f , or be the message M; itself, which is sent back as a response together with measurement data in the case of sensors or with data of another kind.

In the case where a reduction of the noise due to the reservation of the first few bits for a tag is not desired on a general basis, artificial noise may be introduced again as a final step by converting the message into this artificial noise.

In the case that the first few bits, for example first four bits, are not enough for sending a message as desired, because the length of the message is larger, the first few bits of consecutive data points may be used in combination. Special dummy tags may be used for indicating start and end of a message. For example, when using 4 bits from the first message, four bits from the second and four bits from the third message, a 12 bit message can be sent. Every fourth message may contain a dummy tag indicating that the next message begins with the following message.

The invention may be used for a great variety of related measurements. Among those, but not limiting, are seismic measurements, measurements in meteorology, and vibration measurements in buildings, bridges, or other civil engineering structures as well as in vehicles, aerospace structures or other mechanical engineering structures.

As a summary, it may be said that the present invention is aimed at systems where digital sensors are serviced by a central host computer, and where it is essential to the applications of the measured signals that the different sensor signals are synchronized. This algorithm is not based on the idea of securing a common clock definition for all sensors, but on the idea of letting the individual clock uncertainty exist during a measurement session and then later identify and correct for the clock errors. The clock errors are identified by broadcasting messages to all sensors; the messages are then received by the sensors and send back to the host attached to the data stream. The position of the returned messages in the data series from the sensors identifies the time each sensor has received the messages, and using a simple linear regression algorithm allows for the identification of the time when the sampling process was started. This procedure will typically reduce the time uncertainty in the system with a factor of 100- 1000.

SHORT DESCRIPTION OF THE DRAWINGS

The invention will be explained in more detail with reference to the drawing, where

FIG. 1 illustrates a prior art computer system communicating with sensors, optionally through nodes, FIG. 2 illustrates the problem with triggering uncertainty in a prior art system,

FIG. 3 illustrates the system according to the invention, where a number of messages are sent to sensors,

FIG. 4 illustrates the time sequence for received data streams,

FIG. 5 shows a linear regression between the sending time and the response receiving time,

FIG. 6 illustrates a series of discrete measurement messages.

DETAILED DESCRIPTION / PREFERRED EMBODIMENT

In the following, a number of steps for the synchronisation of related signals from sen- sors are illustrated.

Algorithm step 1: Host messages

FIG. 3 illustrates the invention. A host computer is to receive synchronised measurement data from the sensors.

The first step in resolving the problem of the unwanted uncertainty on the message reception time is to make the host not send only one triggering message M 0 =Start to the sensors, but let the host be sending a multitude of following messages M; (i=l, 2, 3, ..., N) to the sensors, see Figure 3. This multitude of following messages Mj (i=l, 2, 3, ..., N) may be sent to the sensors through a wireless network, for example a telephone network.

The communication between the host and sensors is assumed to have such properties that even though the sensors will receive the messages Mj (i=l, 2, 3, ..., N) at different times, in average,, the time it takes for one message from the broadcasting of the host to the reception in a certain sensor is the same for all sensors.

Table 1. Host message list

hi the host computer system, the data are arranged as illustrated by table 1 of the time points where the messages were broadcasted, where the entrances in the first row are the time x 0 when the triggering message "Start" was send, the time X 1 when the first message M 1 after the triggering message "Start" was sent, etc, and this continues until

the sampling process is terminated after the host has been broadcasting N messages to all sensors.

The time slip between broadcasting times do not need to be the same, it can follow any pattern that is convenient. However, the average time between the broadcasting is δx so that the total time of the sampling process is

(1) x max = NAx

The messages can contain any kind of information; they just need to have a unique way of identification. A simple way of constructing an identifiable message sequence is to construct a sequence of increasing integers 1, 2, 3 ... N M .

Algorithm step 2: Sensor message return

As soon as a message Mj (i=l, 2, 3, ..., N) as broadcasted by the host is received in a sensor, the message is returned by next measurement sampling value or as a separate message m; (i=l, 2, 3, ..., N). Thus, when the host receives data from a sensor, the data stream m; (i=l, 2, 3, ..., N) has the earlier broadcasted messages Mj (i=l, 2, 3, ..., N) returned from each sensor. Alternatively, the response message m; contains only part of the message M f form the host computer, or an identification tag uniquely identifying the message Mj.

Normally, the position in the data stream identifies the time y t when messages Mj was received by the sensor. This implies the assumption that all measurements in the data stream of measurements from a sensor are performed by the sensor equidistant in time, and the for the sensor local time yj is found by multiplying the number of received measurements before m; at the host computer by the time distance between successive measurements. This time distance may be known at the host computer or statistically found by dividing a time span over a large number of measurements with the number of measurements in the time span.

Alternatively, the return message m; may additionally comprise an indication of the sensors local time for reception of the message Mi, which is identical to the time yϊ

passed from reception time y 0 of the trigger message M 0 . This time yi may be a time directly obtained from the internal clock of the computer, or the time maybe indirectly expressed as a number for the measurement. The latter implies the assumption that all measurements are performed by the sensor equidistant in time.

As mentioned above, the message m; may be part of the measurement in the data stream from the sensor, or the message m; may be a separate signal parallel to the measurement data stream. Figure 4 illustrates that each sensor returns the broadcasted messages attached to the data stream, where the position in the data stream identifies the message reception time.

It should be noted that in certain situations, due to broadcasting delays, it may occur, that return messages are received in incorrect order. For example, a return message mi is delayed such that return message nii + i is received before m;. However, as the return signal mj + i contains the message MJ+ I - or at least part of it or a correct reference to Mj +1 - the correct order is easily established.

Table 2. Sensor message return list

Thus, after reception of the data from each sensor, for each sensor, a sensor message return list can be established as shown in Table 2. This means, that since the right column in Table 1 and Table 2 are the same, Table 1 and Table 2 establishes a relation between the broadcasting time and the reception time, see Table 3.

Table 3. broadcasting/reception time list

Broadcasting time | Reception time

It should be noted here that the correct correlation between the time frame of the sensor with the times yi and the time frame of the host computer with the times Xj is not found, as there is a time constant expressing the time between sending M; and receiving m, that is unknown. However, the exact value of this constant is not necessary, as the sensor measurements have only to be related with respect to each other and not truly to the time frame of the host computer. This will be explained in more detail in the following.

Algorithm step 3: Triggering time estimation

Once the broadcasting/reception time list, see Table 3, has been established, as described in the preceding section, the relationship is used to identify the underlying time shift between sensor signals. This may be done by linear regression.

As explained earlier, it is assumed that the communication between the host and the receiving unit have such properties that the time delay between broadcasting and reception of a message in average is the same for all sensors, thus it is same as stating

(2) y 1 = T Q +T l +x l

under the condition that the clock rate is the same for all clocks in the system of sensors and computers (the assumption of identical clock rates do not need to be satisfied, but since the clock rate is not the essential problem, we will simplify the notation to concentrate on the main issue which is the random time delay of the triggering message). The two time constants describe the static part and the random part of the delay respectively, thus T 0 is a fixed value, common for all sensors, and T 1 is a zero mean

random variable with standard deviation σ x describing the time uncertainty in the system. However, in general form, the formula can be rewritten like a normal first order polynomial

(3) y t = a + bx i

Now, performing a standard linear regression on the time data will give us an estimate of the two constants a,b . The constant a is an estimate of the time shift between the host computer clock and the sensor clock. The constant b is an estimate of the clock rate of the sensor clock. Normally, this factor will be unity or at least close to unity.

The regression is indicated in FIG. 5, where the reception time yi versus broadcasting time Xj is illustrated. It is seen, that there is a time delay AT 1 between the actual reception time V 1 and the expected reception time V 1 ' as deduced from the regression line. This time difference is due to the random variations in the transmission between the host computer and the sensor. Such time differences δT can be negative or positive as illustrated by the points V 1 and y 2 . In fact, delays may result in response messages m 3 and Hi 4 arriving at y 3 and y 4 in the wrong order as illustrated in FIG. 5, where m 4 arrives at y 4 before y 3 due to delay of the m 3 message.

It should also be noted, that the broadcasting times need not be equidistant in time, as it is also illustrated in the abscissa in FIG. 5.

The trigger message M 0 is per definition received at the local unit at the local time y Q = 0. After the host has received all receiving times y 0 , ..., y N the linear regression is performed, and the time y o ' can be estimated as y o ' = a + bx Q . The time y Q ' is an estimate of the local time where we would have wanted the measuring process to start and must be estimated for each local unit individually. If all the local units had received the trigger message at this time, the trigger time uncertainty would have been much smaller, and the time synchronization problem would not have been present. However, each of the sensors received the message was received with a little time shift that is the

difference between y o and y o ' , thus the signal must be corrected for the time shift

T shift - y$ ~ yo' f° r eacn ca i ur ^-

The value of y 0 in the time frame of the host computer is not known for any sensor. However, this is not necessary for the correct sampling procedure as long as the relative time difference for the receipt of the trigger message Mo is known. Thus, in practice, it suffices to set y 0 to zero and shift the data stream by the calculated time T shifi .

The uncertainty σ τ on T shift is the same as the uncertainty on the intercept of the verti- cal axis, and using standard formulas for linear regression theory yields the result

(4) σ τ =

4N

Thus, the inherent time uncertainty of the system is reduced by a factor proportional to the square root of the number of broadcasted messages. Since it is realistic to broadcast of the order of 10 4 -10 6 messages to each sensor during one measurement session, it is realistic to reduce the inherent time uncertainty of the system by a factor of 10 —10 . Such an uncertainty reduction is significant and will in must cases sufficiently improve the system time accuracy for practical time synchronization applica- tions

Algorithm step 4: Time shifting

Once the expected time delay of the triggering time T trig has been estimated, the influence from the uncertainty on the triggering on the sampling values can be removed by the following procedure.

The individual time series must be time shifted corresponding to the difference between the expected triggering delay T trig and the actual triggering time yo , let this time difference be T shift = y o -y o ' , see Figure 5.

Let the raw data influenced by the time delay be denoted u 0 (t) . The corresponding Fourier transform U 0 (/) can then be calculated by the Discrete Fourier Transform, DFT. The Fourier transform of the undisturbed signal U(f) can now be obtained by using the well known time shift property of the Fourier transform

After calculating the undisturbed Fourier transform, the undisturbed time signal u(t) is found by inverse discrete Fourier transform.

Illustrations

When measurements results in measured data 20, as illustrated in FIG. 6, the corre- sponding digital data 21 consists of a number of bits b for each measurement signal

22, 22', 22". Typically, there is a certain noise level NL in the data such that the fist few bits, for example as illustrated the first 4 bits bl, b2, b3, do not contribute to the true and desired measurement signal but represent the noise level. These bits may be used for tagging the signal 22, for example in order to uniquely relating the signal to a certain message as described above.