1. Field of the Invention
The invention relates to communication networks and, more particularly, to a method for time synchronization in a communication network, a node in the communication network and a corresponding communication network.
2. Description of the Related Art
Communication networks are used in many technical fields to execute distributed processes automatically on a plurality of units. Particularly in industrial automation networks, it is very important for the automatic processes to be exactly synchronized with each other. To this end, the individual nodes in the communication network comprise corresponding clocks that are synchronized with a reference clock in a reference node. The reference node is frequently also referred to as a master node, while the other nodes with the internal clocks are, as rule, designated slave nodes.
Protocols for the synchronization of the clocks in a communication network known from the prior art are specified in the Institute of Electrical and Electronic Engineers (IEEE) industrial standard 1588, International Electrotechnical Commission (IEC) standard 61158 and IEEE standard 802.1AS. According to these protocols, synchronization messages are exchanged in the form of packets with time stamps. During this exchange, starting from the master node, a synchronization message is forwarded consecutively between the slave nodes. The synchronization message sent from the master node contains a time stamp of the first cycle counting state according to the reference clock at the time of transmission of the message. The slave nodes process this information and re-transmit synchronization messages. During this re-transmittal, each slave node adds the estimated delays between the time of transmission of the synchronization message in the preceding node and its own time of transmission to the first cycle counting state in the received synchronization message. The cycle counting state resulting therefrom is inserted in the synchronization message to be transmitted. Based on the information in the received synchronization messages, each slave node is able to synchronize its second cycle counting states according to its internal clock with the first cycle counting states according to the reference clock.
One problem with the above-described synchronization of the clocks is the fact that, due to measuring errors during the time determination, varying frequencies of the individual clocks, random environmental effects and unknown variations relating to the time delay between the reception and transmission of synchronization messages, the internal clocks in the slave nodes cannot be synchronized with the reference clock of the master node with sufficient precision.
In order to take into account the above uncertainties with synchronization of the clocks, it is known from the publication C. Na, R. L. Scheiterer, D. Obradovic, A Kaiman Filter Approach To Clock Synchronization Of Cascaded Network Elements, 1st IFAC Workshop on Estimation and Control of Networked Systems (NecSys'09), 24-26 Sep., 2009, Venice, Italy (“Scheiterer”) and a European patent application based on this publication (i.e., EPA 09 012 028.8) to use a probabilistic model for state variables of the nodes as a basis for estimating the first cycle counting states in each slave node and to use the estimated first cycle counting states to synchronize internal clocks with the reference clock. In this case, the course of the second cycle counting states of the respective second node in dependence upon first cycle counting states is not constant and upon reception of a new synchronization message, which causes the synchronization to be updated, step changes can occur.
It is an object of the invention to provide high-precision time synchronization, which is uniform over time, in a communication network.
This and other objects and advantages are achieved by providing a method for time synchronization in a communication network having a plurality of nodes, where the nodes comprise a first node and at least one second node. Here, the first node generates first cycle counting states according to a reference cycle frequency, which is based on a reference clock in this first node or which the first node receives from an absolute time source, e.g., GPS or DCF77. The at least one second node generates second cycle counting states according to an internal cycle frequency, which is set by an internal clock in the respective second node. In accordance with the method of the invention, the time synchronization is performed in consecutive synchronization cycles, in which, starting from the first node, synchronization messages are each consecutively transferred from a node to a further node. In addition, a synchronization message from a node contains a piece of information, which is used for time synchronization in the node receiving the synchronization message.
In accordance with the method of the invention, time synchronization occurs in a respective second node of at least a part of the second nodes and in particular in all second nodes based on steps i) and ii) explained below. In step i), a first cycle counting state for a second cycle counting state measured in a respective second node is estimated based on an estimation method with the aid of the information in a received synchronization message. Conventional estimation methods can be used for this (e.g., a decentralized or a centralized Kalman filter). Next, in a step ii), a controlled first cycle counting state based on a controlled system is then determined from the estimated first cycle counting state with the aid of a linear-quadratic regulator or a linear-quadratic Gaussian (LQG) regulator, which contains as a control variable a compensation factor, which estimates a current duty cycle ratio of the reference cycle frequency to the internal cycle frequency of the respective second node. Here, the controlled first cycle counting state represents the synchronized time. The LQG regulator is in particular suitable if no Kalman filter is used in step i).
The method in accordance with the invention is based on the knowledge that regulation based on a linear quadratic regulator, which is known per se from the prior art, can ensure precise synchronized time which remains uniform over time and hence achieves good synchronization of an internal cycle frequency of the respective second node with the reference cycle frequency of the first nodes. Here, the use of a compensation factor takes into account frequency fluctuations in the internal cycle frequency of the respective second node in a suitable manner.
In a particularly preferred embodiment of the method in accordance with the invention, the control variable is updated after each reception of a synchronization message in the respective second node and supplied to the plant. This ensures continuous updating of the synchronization. Here, the control variable is preferably supplied via a zero-order hold (ZOH) element of the plant, in order, in this way, to map the discrete updates on continuous dynamics of the plant.
In a preferred embodiment of the method in accordance with the invention, the controlled system for the linear-quadratic regulator at the time of the reception of a synchronization message in the k-th synchronization cycle in the n-th second node and immediately before an updating of the control variable is written as follows:
{circumflex over (x)}
n
C(k)={circumflex over (x)}nC(k−1)+on(k−1)·an(k),
where {circumflex over (x)}nC(k) is the controlled first cycle counting state at the time of reception of the synchronization message in the k-th synchronization cycle,
where on(k−1) is the compensation factor used in the (k−1)-th synchronization cycle, and
where an(k) is the time difference between two synchronization messages received consecutively in the respective second node, expressed in second cycle counting states according to the internal cycle frequency of the n-th second node.
The dynamics of the controlled system for the linear-quadratic regulator after updating of the control variable at the time of reception of the synchronization message in the k-th synchronization cycle in the n-th second node until the next updating of the control variable reads as follows:
x
n
C
={circumflex over (x)}
n
C(k)+on(k)·(Sn−TS(Snin(k))),
where xnC is the controlled first cycle counting state at the time of a measured second cycle counting state Sn of the respective second node (SLn) between the two updates, and
where TS(Snin(k)) is the measured second cycle counting state of the respective second node at the time of reception of the k-th synchronization.
The above compensation factor on(k) for the k-th synchronization cycle is preferably expressed as:
where {circumflex over (R)}n(k) is an estimated value for the duty cycle ratio of the reference cycle frequency to the internal cycle frequency of the n-th second node,
where {circumflex over (x)}nin is the first cycle counting state estimated in step i), and
where β is a positive factor, preferably lying between 5 and 20.
The derivation of this compensation factor may be found herein in the more detailed description. Corresponding methods for estimating the duty cycle ratio are sufficiently well known from the prior art and an embodiment of a method is also explained in the more detailed description.
In a particularly preferred embodiment, the first cycle counting state is estimated in step i) using an estimation method comprising a stochastic state estimator and, in particular, a Kalman filter. The Kalman filter is generally known from the prior art and estimates an unknown state of a system based on a corresponding state space model, which describes, on the one hand, the change in the state to be estimated (i.e., a state transition model) and, on the other, the relationship between the state and corresponding known observables (i.e., an observation model). The present inventors were able to demonstrate that a combination of a state estimation by the Kalman filter and a linear-quadratic regulator represents an optimal linear-quadratic Gaussian (LQG) regulator, where the LQG regulation is sufficiently well known from the prior art. Hence, a combination of a Kalman filter and a linear-quadratic regulator guarantees particularly good time synchronization.
In another particularly preferred embodiment, the first cycle counting state is estimated using an estimation method comprising a Kalman filter, which estimates the first cycle counting state at the time of reception of a synchronization message in the respective second node and an associated stochastic variance as a state, and uses the information in the received synchronization message as an observable. Here, the information in a synchronization message preferably comprises an estimated first cycle counting state at the time of transmission of the synchronization message in the respective second node and an associated stochastic variance.
In a particularly preferred embodiment of the method in accordance with the invention, the following state space model for the Kalman filter is used in the n-th second node for the k-th synchronization cycle:
x
n
in(k)=xnin(k−1)+an(k)·{circumflex over (R)}n(k)+an(k)·ηna(k),
x
n-1
out(k)=xnin(k)−cn(k)·{circumflex over (R)}n(k)−cn(k)+υn(k),
where xnin(k) is the first cycle counting state at the time of reception of the synchronization message in the n-th second node in the k-th synchronization cycle,
where xn-1out(k) is the first cycle counting state on the transmission of the synchronization message in the (n−1)-th second node or in the first node in the k-th synchronization cycle,
where an(k) is the time difference between two synchronization messages received consecutively, expressed in second cycle counting states according to the internal cycle frequency of the n-th second node,
where {circumflex over (R)}n(k) is an estimated value for the duty cycle ratio of the reference cycle frequency to the internal cycle frequency of the n-th second node,
where cn(k) is an estimated time delay between the time of transmission of the synchronization message from the (n−1)-th second node and the time of reception of this synchronization message in the n-th second node, expressed in second cycle counting states according to the internal cycle frequency of the n-th second node and
where ηna(k), ηnc(k) and υn(k) are Gaussian noise terms.
A derivation of the above-described state space model, which is based on the state space model described in the publications EPA 09 012 028.8 or Scheiterer can be found in the detailed description. Corresponding methods for estimating the duty cycle ratio or the time delay between the reception and transmission of synchronization message are sufficiently well known from the prior art.
In a further particularly preferred embodiment of the method in accordance with the invention, the estimated first cycle counting state at the time of transmission of the subsequent synchronization message in the respective second node and the associated stochastic variance are calculated from the first cycle counting state estimated by the Kalman filter at the time of reception of a synchronization message in the respective second node and the associated stochastic variance with the aid of a node processing time and inserted in the subsequent synchronization message. Here, the node processing time represents an estimated time delay in the respective second node between the reception of the synchronization message received in the respective second node and the transmission of the subsequent synchronization message. This estimated time delay can be determined by a second node in a simple manner via its local second cycle counting states.
The time synchronization used in accordance with the disclosed embodiments of the method of the invention is preferably based on one of the aforementioned IEEE 1588, IEC 61588 or IEEE 802.1AS standards. In a further embodiment, the nodes communicate in the communication network based on the known PROFINET standard. Moreover, the method in accordance with the disclosed embodiments of the invention is preferably used in a communication network in an industrial automation system.
It is also an object of the invention to provide a node for use as a second node in a method for time synchronization in a communication network, where the node is configured to perform the time synchronization according to steps i) and ii) of the method in accordance with the disclosed embodiments of the invention.
It is also an object of the invention to provide a communication network having a plurality of nodes, where the communication network comprises a first node and at least one second node in accordance with the invention. Here, the communication network is preferably configured to perform one or more of the above-described preferred embodiments of the method in accordance with the invention.
Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. It should be further understood that the drawings are not necessarily drawn to scale and that, unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.
Exemplary embodiments of the invention are described below in detail with reference to the attached figures, in which:
The transmission of synchronization messages is repeated in consecutive synchronization cycles, where k designates the current number of the synchronization cycle. To perform synchronization of the clocks, the synchronization messages SY(k) each contain a time stamp representing the cycle counting state of the reference clock at the time of transmission of the synchronization message. In the following, cycle counting states of the reference clock are also referred to as first cycle counting states. The corresponding cycle counting states based on the internal clock of the respective slave nodes are also referred to in the following as second cycle counting states. During the forwarding of a synchronization message from one slave node to the next, the first cycle counting state in the synchronization message is updated in that the time interval between the transmission of the synchronization message at the previous node until the transmission of the synchronization message in the current node is added to the time of the reference clock of the previously received synchronization message. This time interval is made up of the line delay and the bridge delay. Here, the line delay is the time interval between the transmission of the synchronization message in the preceding node and the reception of this synchronization message in the current node. On the other hand, the bridge delay is the time interval between the reception of a synchronization message in the current node and the transmission of the same synchronization message to the next mode. The line delay and bridge delay are subject to measuring errors.
In
In the diagram in
The synchronization message sent from the slave node SL1 is received in the slave node SL2 at the true second cycle counting state S2in(k) of the slave node SL2. This cycle counting state corresponds in turn to the measured second cycle counting state TS(S2in(k)) of the slave node SL2. The above-described method is then repeated, i.e., a new synchronization message SY(k) is sent to the next slave node etc. until all N slave nodes in the communication network have received a synchronization message. As shown in
The synchronization described with reference to
To achieve exact synchronization of this kind, in the embodiment of the method in accordance with the invention as described below, in the respective second node, a stochastic state estimator comprising a Kalman filter is combined with a control loop based on a linear-quadratic regulator, as described below in more detail with reference to
TS(x) is the time stamp of the local time of a node with the corresponding cycle counting state.
Rn(k) is the k-th RFC ratio, i.e., the frequency response ratio of the reference cycle frequency of the reference clock to the cycle frequency of the internal clock of the slave node SLn in the k-th synchronization cycle.
M(k) is the actual first cycle counting state when the k-th synchronization message (i.e., the synchronization message in the k-th synchronization cycle) is transmitted from the master node, where the measured cycle counting state TS(M(k)) belongs to this first cycle counting state.
Snin(k) is the actual second cycle counting state of the slave node SLn when the k-th synchronization message arrives in the slave node SLn, where the measured second cycle counting state TS(Snin(k)) belongs to this second cycle counting state.
xnin(k) is the first cycle counting state of the master node at the time when the second cycle counting state of the slave node SLn actually has the value TS(Snin(k)).
Snout(k) is the actual second cycle counting state value of the slave node SLn when the k-th synchronization message is transmitted from the slave node SLn, where the measured second cycle counting state TS(Snout(k)) belongs to this second cycle counting state.
xnout(k) is the first cycle counting state of the master node at the time when the second cycle counting state of the slave node SLn is actually TS(Snout(k)).
an(k))=TS(Snin(k))=TS(Snin(k−1)) is the local time difference between the arrival of two consecutive synchronization messages in the slave node SLn, which is measured in second cycle counting states of the internal clock of the slave node SLn.
bn(k)=TS(Snout(k))−TS(Snin(k)) is the bridge delay in the local time according to the second cycle counting states of the slave node SLn.
cn(k) is the line delay estimated in the local time according to the second cycle counting states of the slave node SLn.
υn(k) is a Gaussian random variable containing the combined effects of all uncertainties in the time measurements. Here, the Gaussian random variable υn(k) corresponds to the random variable defined in the publications EPA 09 012 028.8 and Scheiterer. Further references to derivations already performed in the aforementioned publications EPA 09 012 028.8 and Scheiterer are made below. Therefore, the disclosure content of these publications is hereby incorporated in the present application by reference thereto in their entirety.
To estimate the first cycle counting state on the reception of the synchronization message, in the slave node SLn, the synchronization information SI of the received synchronization message is initially supplied to a local Kalman filter KF. Here, the synchronization information comprises a first cycle counting state Cout={circumflex over (x)}n-1out,KF(k) estimated in the preceding slave node with the corresponding variance qout=qn-1out,KF(k). This estimated first cycle counting state is determined in the preceding slave node in the same manner as the estimated first cycle counting state is determined in the slave node SLn for the synchronization information SI′. The Kalman filter KF, the general structure of which is known from the prior art, uses a state space model, which is explained in more detail below, to estimate the first cycle counting state Cin={circumflex over (x)}nin,KF(k) with the corresponding variance qin=qnin,KF(k) at the time of reception of the synchronization message with the synchronization information SI in the slave node SLn. For performing the estimation with the Kalman filter, further variables used are the estimated line delay cn(k), which is estimated in a line delay estimator LDE using a method which is known per se. The Kalman filter KF with the internal clock SLC also uses measured time stamps of second cycle counting states TS(Snin(k)) in order on this basis to determine the above variable an(k)=TS(Snin(k))−TS (Snin(k−1)). In addition, the Kalman filter is supplied with the duty cycle ratio {circumflex over (R)}n(k) estimated in the slave node SLn, which designates the ratio between the reference cycle frequency of the master node to the cycle frequency of the internal clock of the slave node SLn. This duty cycle ratio is determined in an estimator RE, where second cycle counting states TS(Snin(k)) and the variable Cout are again supplied for this determination. The performance of the estimation of the duty cycle ratio is based on a method known per se from the prior art and is described in more detail below.
The estimated value Cin, one of the output variables of the Kalman filter KF, is then supplied to an optimal linear quadratic regulator LQR which, in the following, is also referred to as an LQR regulator. LQR regulation is generally known from the prior art and the special embodiment of the regulator used in
The combination of a Kalman filter KF with an LQR regulator LQR used as depicted in
To enable the slave node in
The individual calculations performed by the components shown in
x
n
in(k)=xnin(k−1)+an(k)·Rn(k) Eq. (1)
x
n
out(k)=xnin(k)+bn(k)·Rn(k) Eq. (2)
TS(M(k))=x1in(k)−c1(k)·R1(k)+vi(k) Eq. (3)
x
n-1
out(k)=xnin(k)−cn(k)·Rn(k)+υn(k) (for n>1) Eq. (4)
The equations (1) to (4) are defined in Scheiterer.
The variables in the above equations fall into the following categories:
As shown in
Here, {circumflex over (x)}n-1out,KF(k) corresponds to the estimated first cycle counting state in the received synchronization information SI, which was determined via a Kalman filter of the preceding slave node. The calculation of {circumflex over (x)}n-1out,KF(k) is explained below. The following applies for the first slave node SL1, which receives a synchronization message: {circumflex over (x)}n-1out,KF(k)=TS(M(k)). Consecutive estimations obtained according to equation (5) are averaged as follows for the final calculation of the estimated duty cycle ratio {circumflex over (R)}n(k):
This generates a better estimation. The uncertainty of the estimation is in turn modeled by a Gaussian random variable η˜N(0,ση2), where the choice of the variance ση2 once again lies within the scope of the person skilled in the art. This produces the following relationship between the true duty cycle ratio Rn(k) and the estimated duty cycle ratio {circumflex over (R)}n(k):
R
n(k)={circumflex over (R)}n(k)+ηhd n(k) Eq. (7)
Using the above equation (7), the following state space model is then used for the Kalman filter KF in
x
n
in(k)=xnin(k−1)+an(k)·{circumflex over (R)}n(k)+an(k)·ηna(k) Eq. (8)
x
n-1
out(k)=xnin(k)−cn(k)·{circumflex over (R)}n(k)−cn(k)·ηnc(k)+υn(k) Eq. (9)
Here, x0out(k)=TS(M(k)) so that the above equation (9) can be used to represent the expression according to the equations (3) and (4) as an equation. The superscript designations a and c indicate that the two noise terms ηna(k) and ηnc(k) are random variables which may be independent of each other and identically distributed and derived from the same distribution η˜N(0,ση2) of the equation (7). The observable used in the observation model of a Kalman filter is conventionally an actually observed variable, which is in fact observed in the system with associated noise. In the synchronization described here, the variable xn-1out(k) should be used as an observable, i.e., the master time at the time at which the preceding slave node sends the synchronization message SY(k), although this is not an observed variable in the conventional sense. Therefore, instead of this, the best available estimation therefor is used, i.e., a first cycle counting state estimated by the preceding slave node. Nevertheless, in the Kalman filter used here, this variable is treated as an observable because it is the only “observation” available at the time of reception of the synchronization message. The estimated value of the observables is designated below as {circumflex over (x)}n-1out(k).
The following explains the Kalman filtering performed on the basis of the above equations (8) and (9), where the steps performed are per se very familiar to the person skilled in the art and are only explained for elucidation.
According to the Kalman filter, initially a state is predicted as follows:
{circumflex over (x)}
n
in,KF(k,k−1)={circumflex over (x)}nin,KF(k−1,k−1)+an(k)·{circumflex over (R)}n(k) Eq. (10)
Here, the predicted estimated variance is written as follows
q
n
in,KF(k,k−1)=qnin,KF(k−1,k−1)+an2(k)·ση2 Eq. (11)
Then, the innovation or the measuring residual (difference between the actual observation and the prediction according to the observation model) is determined as follows:
z
n(k)={circumflex over (x)}n-1out(k)−({circumflex over (x)}nin,KF(k,k−1)−cn(k)·{circumflex over (R)}n(k)) Eq. (12)
Here, the residual variance is expressed as follows:
s
n(k)=qn-1out,KF(k,k)+qnin,KF(k,k−1)+cn2(k)·ση2+συ2 Eq. (13)
On the basis of the optimal Kalman gain
the following updated value is obtained for the state estimation:
{circumflex over (x)}
n
in,KF(k,k)={circumflex over (x)}nin,KF(k,k−1)+gnFK(k)·zn(k) Eq. (15)
The variance for this updated state estimation is expressed as follows:
q
n
in,KF(k,k)=(1−gnKF(k))·qnin,KF(k,k−1). Eq. (16)
The values obtained according to equations (15) and (16) correspond to the output Cin or qin from the Kalman filter KF in
As shown in
b
n(k)=TS(Snout(k))−TS(Snin(k))
With the aid of this bridge delay and using the estimated duty cycle ratio of the estimator RE, the component SDC then calculates the first cycle counting state on the transmission of the synchronization message as follows:
{circumflex over (x)}
out,KF(k,k)={circumflex over (x)}nin,KF(k,k)+bn(k)·{circumflex over (R)}n(k) Eq. (17)
Here, the estimated variance is expressed as follows:
q
n
out,KF(k,k)=qnin,KF(k,k)+bn2(k)·σΘ2 Eq. (18)
The values according to equations (17) and (18) are then integrated in the synchronization information SI′ of the transmitted synchronization message as corresponding values Cout′ and qout′. In the case of n=1, the master node sends the following values to the first slave node:
{circumflex over (x)}
0
out,KF(k,k)=TS(M(k)) and q0out,KF(k,k)=0.
The following now describes the regulation performed by the LQR regulator in detail. The regulation ensures that, in addition to the second cycle counting states Sn according to the internal clock of the slave node SLn, the controlled cycle counting state CT={circumflex over (x)}nc(k) is generated. From this, it is possible to calculate the synchronized time with the aid of the continuous dynamics of the controlled system PL in
x
n
C
={circumflex over (x)}
n
C(k)+on(k)·(Sn−TS(Snin(k))) Eq. (19)
for TS(Snin(k))≦Sn<TS(Snin(k+1)).
Here, on(k) designates the OCF factor at the time k (i.e., on reception of the k-th synchronization message). The OCF factor is generated by the LQR regulator LQR of the slave node SLn and is based on the reference signal, which the regulator receives from the Kalman filter KF (see
{circumflex over (x)}
n
C(k))={circumflex over (x)}nC(k−1)+on(k−1)·an(k) Eq. (20)
The LQR regulator is now implemented based on these discrete dynamics of the controlled system, where the above equation (19) can be used to calculate the controlled time at any time between the arrival of two consecutive synchronization messages.
In the presently described embodiment, the LQR regulator is used to calculate the optimal control sequence {on(k)}k=0K-1 to follow the output of the Kalman filter KF. Here, the control sequence is selected such that the following LQR cost function is minimized:
This means that the deviation of the controlled time from the reference time and the deviation of the control variable from the “reference-control variable” {circumflex over (R)}n(k) is to be minimized. The variable r represents a weighting factor which can be suitably defined by the person skilled in the art. The LQR regulator is a linear state regulator with feedback. Consequently, the following relationship applies, as is generally the case for linear state regulators:
o
n(k)−{circumflex over (R)}n(k)=kLQR·({circumflex over (x)}nC(k)−{circumflex over (x)}nin,KF(k,k)) Eq. (22)
To calculate the OCF factor according to equation (22), it is necessary to calculate the feedback gain kLQR. In the case of a LQR regulator, the feedback gain, which minimizes the cost function according to equation (21), is expressed by:
Here, p is the solution to the assigned discrete algebraic Riccati equation, i.e., the following applies:
Here, it is assumed that an(k)=an is always constant. The solution to equation (24) produces the following expression:
However, if p should be positive-definite, then the following applies:
The use of this result in the above equation (23) produces the following expression for kLQR:
Using the definition:
the LQR feedback gain can be expressed as follows:
Here, β is a positive value between zero and infinity and it is within the capacity of the person skilled in the art to define a suitable value for β for an LQR regulator. In the problem under consideration here, a value for β of between 5 and 20 has been found to be suitable.
Finally, if the above equation (29) is used in equation (22), the following optimal choice is obtained for the control variable in the form of the OCF factor:
Here, an is the control interval in the local time of the slave node SLn, where the nominal synchronization interval between two consecutive synchronization messages, which is constant, can be used as the value for an. The variable {circumflex over (R)}n(k) is expressed by the above equation (6) and the variable {circumflex over (x)}nin,KF(k,k) is expressed by the above equation (15). The parameter β regulates the magnitude of the fluctuations in the control variable on(k). If β is selected low, the LQR regulator reacts more quickly to errors, but this can result in large oscillations. If β is selected larger, the controlled time converges slowly toward the time according to the reference clock of the master node, but the fluctuation after convergence is lower. As previously explained, a suitable choice of β is within the capacity of the person skilled in the art.
With the embodiment of the method in accordance with the disclosed embodiments of the invention, the respective slave nodes can be synchronized with the time of the master node via a controlled local time regulated by an LQR regulator. Here, the content of the synchronization messages is used to propagate an estimation of the first cycle counting state of the master-slave with the associated estimated variance to the next node. With a respective slave node, its local time is controlled optimally using the LQR regulator, where the combination of the Kalman filter with the LQR regulator obtains an optimal LQG regulator as the inventors were able to demonstrate mathematically.
Second cycle counting states are generated by the at least one second node according to an internal cycle frequency, as indicated in step 420.
Starting from the first node of the plurality of nodes, synchronization messages are then transferred consecutively from a node of the plurality of nodes to a further node of the plurality of nodes to perform time synchronization in consecutive synchronization cycles, as indicated in step 430. Each synchronization message transmitted from the node of the plurality of nodes contains a segment of information that is used for time synchronization in a node receiving the synchronization message.
Next, time synchronization is performed in a respective second node of at least a part of the at least one second node such that a first cycle counting state for a second cycle counting state measured in the respective second node is estimated based on an estimation method dependent on the segment of information in the received synchronization message, as indicated in step 440.
Time synchronization is then performed in the respective second node of the at least a part of the at least one second node with a linear-quadratic regulator to determine a controlled first cycle counting state based on a controlled system from the estimated first cycle counting state, as indicated in step 450. The controlled first cycle counting state contains a compensation factor as a control variable, which estimates a current duty cycle ratio of a reference cycle frequency to an internal cycle frequency of the respective second node, and the controlled first cycle counting state indicates a synchronized time.
While there have shown and described and pointed out fundamental novel features of the invention as applied to a preferred embodiment thereof, it will be understood that various omissions and substitutions and changes in the form and details of the methods described and devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps which perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.
Number | Date | Country | Kind |
---|---|---|---|
1001424.0 | Feb 2010 | EP | regional |
10 2010 022 525.8 | Jun 2010 | DE | national |
This is a U.S. national stage of application No. PCT/EP2010/070849 filed 29 Dec. 2010. Priority is claimed on European Application No. 10001424.0 filed 11 Feb. 2010 and German Application No. 10 2010 022 525.8 filed 2 Jun. 2010, the contents of which are incorporated herein by reference in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2010/070849 | 12/29/2010 | WO | 00 | 8/13/2012 |