This application is a U.S. National Phase Entry of PCT/CN2020/104897 titled Method and Apparatus for Clock Synchronization in Wireless Network filed Jul. 27, 2020, which is hereby incorporated by reference herein in its entirety.
Aspects of the present disclosure relate to wireless network technologies. More specifically, certain implementations of the present disclosure relate to clock synchronization of wireless network.
The background section provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in the background section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in the background section.
Clock synchronization among a set of nodes distributed in a wireless network is a fundamental functionality and essential for specific implementations. For example, clock synchronization is essential for maintaining collision-free communications in a time division multiple access (TDMA) communication system, for collecting data and tagging data with the time of occurrences in a sensor network, for scheduling power-saving sleep/wake up for coordinated nodes, and for recording timestamps, order events, and signals for industrial control and security purposes.
There are typically two ways of clock synchronization: pairwise synchronization, where one node is synchronized with another node by exchanging timing information, and network-wide synchronization, where a group of nodes in a network are globally synchronized by referring to a reference node or extending from pairwise synchronization.
Several factors may cause the clock synchronization of a wireless network to become less accurate as time goes by, such as oscillator imperfection, environmental changes like temperature variation, and aging of components. As such, various protocols have been designed to adjust clock synchronization, such as Global Position System (GPS), Network Time Protocol (NTP), and Precision Time Protocol (PTP). But in an implementation environment of a wireless network, the GPS is energy consuming and requires outdoor environment, the NTP has low synchronization accuracy due to uncertain access delay, and the PTP has a high cost of communication overheads.
Several challenges must be overcome in terms of clock synchronization over a wireless network. For example, random transmission delay of timestamp packets during timestamp packet exchange between nodes may affect the timestamp packet exchange process and deteriorates the clock synchronization. There are several possible sources of transmission delay, including sending time, accessing time, transmission time, propagation time, reception time, and receiving time. To address random transmission delay in timestamp packet transmission, a series of timestamps may be exchanged over a certain time period between two nodes, and different models, such as Gaussian, exponential, Weibull, and Gamma, may be employed to estimate random delay distributions. The clock time phase offset (clock offset) and the clock frequency offset (clock skew) must also be considered. One existing clock synchronization scheme uses the Maximum Likelihood Estimator (MLE) model to provide a joint estimation of both the clock offset and the clock skew in a two-way pairwise synchronization implementation based on the assumptions of known fixed transmission delay and the Gaussian distribution model for random transmission delay. Another existing clock synchronization scheme uses the exponential distribution model rather than the Gaussian distribution model. Still another existing clock synchronization scheme provides a joint estimation of both the clock offset and the clock skew while assuming that fixed transmission delay is unknown and the random transmission delay follows the Gaussian distribution model, and proposes a linear synchronization model for estimating the clock skew with the clock correction when the clock skew is relatively small.
But existing clock synchronization schemes in a wireless network implementation fail to fully consider transmission faults such as packet loss, and estimate the clock parameters, i.e., the clock offset and the clock skew, based on the assumption that all timestamp packets are fully received. However, in practical situations, not all the timestamp packets may reach the destination node without any loss. Several factors may cause packet loss, such as an unreliable wireless link between nodes and abrupt environmental changes. The loss of timestamp packets has a serious effect over the performance of clock synchronization, especially when the packet loss is successive in a harsh wireless environment. Studies have shown that the packet loss ratio could be as high as 50% in a dense sensor network based on experimental results, and the packet loss ratio varies based on specific environments and distance from the base station or the reference node. To address packet loss, the lost packets have to be retransmitted, thereby increasing the synchronization overhead over the wireless link.
Additionally, the timestamp packets actually received by the destination node may be corrupted by noise due to random transmission delay, and in practical behave as lost packets or packets having missing data. The Cramer-Rao Lower Bound (CRLB) is directly proportional to noise variance caused by transmission delay and inversely proportional to the number of synchronization rounds. To address noise corruption, most existing clock synchronization schemes have to increase the number of synchronization rounds, thereby increasing the communication overheads and energy consumption.
There is a need to design a clock synchronization scheme for the implementation environment of a wireless network, which provides long-term clock synchronization with periodic resynchronization and also has advantages of low energy consumption, geographical flexibility, as well as accuracy, robustness, and simplicity. For example, a wireless sensor network (WSN) typically relies on batteries to power the sensor nodes and therefore prefers a low cost of communication overheads and less energy consumption.
Conventional approaches may be costly, cumbersome, and/or inefficient. Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skills in the art, through comparison of such systems with some aspects of the present disclosure as set forth in the remainder of the present disclosure with reference to the drawings.
Accordingly, there is a need to solve the technical problems associated with clock synchronization in a wireless network, including random transmission delay of timestamp packet exchanging, timestamp packet loss, and contamination. The technical solution to these technical problems must also consider factors associated with specific implementation environments, such as low energy consumption, geographical flexibility, accuracy, robustness, and simplicity.
According to one aspect, a computer-implemented method of synchronizing an electronic device with a reference node in a wireless network is provided. The electronic device is in communication with the reference node via a wireless link. The method includes: performing timestamp packet exchanging between the electronic device and the reference node successively for a certain number of rounds; where performing timestamp packet exchanging between the electronic device and the reference node includes for each round respectively: sending a first timestamp packet from the electronic device to the reference node, the first timestamp packet including a first time value of a local time of the electronic device upon sending the first timestamp packet, responsive to the sending of the first timestamp packet, sending a second timestamp packet from the reference node to the electronic device, the second timestamp packet including a second time value of a local time of the reference node upon receiving the first timestamp packet and a third time value of a local time of the reference node upon sending the second timestamp packet, recording a fourth time value of a local time of the electronic device upon receiving the second timestamp packet, using the first time value, the second time value, the third time value, and the fourth time value to form a set of time values corresponding to the each of the plurality of rounds; transforming all sets of time values corresponding to the performed set of rounds into one or more low-rank matrices; applying a Matrix-Completion-Based formulation to the one or more low-rank matrices to obtain a recovered matrix; calculating clock parameters and transmission delay associated with the wireless link based on the recovered matrix; and synchronizing the electronic device with respect to the reference node based on the clock parameters and the transmission delay.
According to another aspect, an electronic device is provided. The electronic device includes: a transceiver for sending and receiving data packets via a wireless link with a reference node of a wireless network; a processor; a storage device storing instructions that, when executed by the processor, cause the processor to perform: performing timestamp packet exchanging between the electronic device and the reference node successively for a certain number of rounds; where performing timestamp packet exchanging between the electronic device and the reference node includes, for each round respectively: sending a first timestamp packet from the electronic device to the reference node, the first timestamp packet including a first time value of a local time of the electronic device upon sending the first timestamp packet, responsive to the sending of the first timestamp packet, receiving a second timestamp packet from the reference node to the electronic device, the second timestamp packet including a second time value of a local time of the reference node upon receiving the first timestamp packet and a third time value of a local time of the reference node upon sending the second timestamp packet, recording a fourth time value of a local time of the electronic device upon receiving the second timestamp packet, using the first time value, the second time value, the third time value, and the fourth time value to form a set of time values corresponding to the each of the plurality of rounds; transforming all sets of time values corresponding to the performed set of rounds into one or more low-rank matrices; applying a Matrix-Completion-Based formulation to the one or more low-rank matrices to obtain a recovered matrix; calculating clock parameters and transmission delay associated with the wireless link based on the recovered matrix; and synchronizing the electronic device with respect to the reference node based on the clock parameters and the transmission delay.
According to a further aspect, a system including one or more computers and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform the above-discussed method is provided.
According to a further aspect, a computer-readable storage medium including instructions which, when executed by a computer, cause the computer to carry out the above-discussed method is provided.
Overall, the technical solutions have beneficial technical effects that are tied to the technical features, and these beneficial technical effects are directed to long-term clock synchronization among nodes of a wireless network, which not only solves the technical problems (including random transmission delay of timestamp packet exchanging, timestamp packet loss, and contamination), but also afford technical advantages in comparison with prior art (such as low energy consumption, geographical flexibility, accuracy, robustness, and simplicity).
These and other advantages, aspects, and novel features of the present disclosure, as well as details of illustrated embodiments thereof, will be more fully understood from the following description and drawings. The features and advantages described in the specification are not all inclusive, and many additional features and advantages will be apparent to those skilled in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineated or circumscribe the disclosed subject matter.
The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve purposes of illustrative only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the embodiments described herein.
The present disclosure will now be described with reference to certain embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous particular embodiments are set forth in order to provide a thorough understanding of the principles and practical applications of the present invention. However, it will be understood by those skilled in the art that the detailed description is not intended to be exhaustive or to be limited to the precise forms disclosed. The embodiments are not limited to the precise terms and components disclosed herein. Various modifications or variances may be made in the arrangement, operation, and details of the methods and apparatuses of the embodiments without departing from the spirit and scope of the present invention. Also, well-known methods, procedures, components, circuits, and networks have not been described in details so as not to unnecessarily obscure aspects of the embodiments. It will be appreciated that any module, unit, component, server, computer, terminal or device exemplified herein that stores or executes computer readable instructions, data structures, program modules, or other data may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices. It will also be appreciated that any application, module, algorithm, or method herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media.
The terminology used in the detailed description is for the purpose of describing particular embodiments only and is not intended to be limiting the present invention. As utilized herein, the terms “circuits” and “circuitry” refer to physical electronic components (i.e. hardware) and any software and/or firmware (“code”) which may configure the hardware, be executed by the hardware, and or otherwise be associated with the hardware. As used herein, for example, a particular processor and memory may include a first “circuit” when executing a first one or more lines of code and may include a second “circuit” when executing a second one or more lines of code. As utilized herein, “and/or” means any one or more of the items in the list joined by “and/or”. As an example, “x and/or y” means any element of the three-element set {(x), (y), (x, y)}. In other words, “x and/or y” means “one or both of x and y”. As another example, “x, y, and/or z” means any element of the seven-element set {(x), (y), (z), (x, y), (x, z), (y, z), (x, y, z)}. In other words, “x, y and/or z” means “one or more of x, y and z”. As utilized herein, the term “exemplary” means serving as a non-limiting example, instance, or illustration. As utilized herein, the terms “e.g.,” and “for example” set off lists of one or more non-limiting examples, instances, or illustrations. As utilized herein, a circuitry or a device is “operable” to perform a function whenever the circuitry or device includes the necessary hardware and code (if any is necessary) to perform the function, regardless of whether performance of the function is disabled or not enabled (e.g., by a user-configurable setting, factory trim, etc.).
As utilized herein, the terms “first”, “second”, “third”, “fourth”, and the like are used to describe various elements so as to distinguish one element from another. These elements should not be limited by these terms. For example, “a first gesture” and “a second gesture” as utilized in the same particular embodiment mean two different gestures. “A first gesture” in one embodiment may be termed “a second gesture” in another embodiment, or may be termed “a third gesture” in still another embodiment, depending on the context. As utilized herein, the singular terms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the terms “comprise”, “include”, “have”, “compose”, and “dispose” in all tenses, when used in the specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As utilized herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting”, depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event]”, depending on the context.
Referring to
Still referring to
Still referring to
Still referring to
Still referring to
TA=αTB+β (1)
With respect to formula (1), a represents the clock skew (i.e., clock frequency offset), and β represents the clock offset (i.e., clock time phase offset), respectively, of the destination node 102 with respect to the reference node 100. The clock skew and the clock offset together are clock parameters, which may be used to adjust the time TB of the destination node 102 to obtain the time TA of the reference node 100 according to formula (1).
A synchronization cycle between the reference node 100 and the destination node 102 includes one or more synchronization rounds, represented by a number N (N is a positive integer equal to or larger than 1). For a K-th round out of the N synchronization rounds of the synchronization cycle, the destination node 102 at a respective local time T1,k (send time) sends a timestamp packet containing the value of T1,k (a first timestamp packet) via the wireless link 104 to the reference node 100; the reference node 100 at a respective local time T2,k (reception time) receives the first timestamp packet and the value of T1,k; then the reference node 100 at a respective local time T3,k (send back time) sends back another timestamp packet containing the values of T2,k and T3,k (a second timestamp packet) via the wireless link 104 to the destination node 102; the destination node 102 at a respective local time T4,k (end of the K-round) receives the second timestamp packet. Accordingly, times T2,k and T3,k are recorded by the reference node 100 and then sent to the destination node 102, while times T1,k and T4,k are recorded by the destination node 102. The recording of a respective local time at the reference node 100 or the destination node 102 is performed by local timing devices as discussed above, and means local current time at the reference node 100 or the destination node 102 respectively. At the end of the K-th round, the destination node 102 has a set of time values associated with the first timestamp packet and the second timestamp packet, represented as {T1,k, T2,k, T3,k, T4,k}k=1 to N. The relationship among the set of time values in the K-th round synchronization satisfies:
T2,k=αT1,k+β+α(d+Gk) (2)
T3,k=αT4,k+β−α(d+Hk) (3)
With respect to formulas (2) and (3), α represents the clock skew (i.e., clock frequency offset), and β represents the clock offset (i.e., clock time phase offset), respectively, of the destination node 102 with respect to the reference node 100; d represents the fixed portion of the timestamp packet transmission delay from the destination node 102 to the reference node 100 via the wireless link 104; Gk and Hk represent the random portion of the timestamp packet transmission delay from the destination node 102 to the reference node 100 via the wireless link 104 in the uplink direction (i.e., from the destination node 102 to the reference node 100) and the downlink direction (i.e., from the reference node 100 to the destination node 102) respectively. During the two exchanges of timestamp packets, i.e., the exchanges of the first and the second timestamp packets, the clock parameters are assumed to be constant due to the relatively stable characteristics of the wireless link 104. The random portion of the timestamp packet transmission delay may follow the distribution models of Gaussian, exponential, Weibull, or Gamma. In some situations, the clock skew is small and therefore it is safe to assume that a equals one. The recorded set of time values in the K-th round is subject to packet loss and noise corruption, and may also be affected by random transmission delay, and therefore may have missing data or incomplete data. Accordingly, the recorded set of time values in the K-th round of synchronization may be treated as an incomplete and low-rank matrix, and may be subject to the signal processing of matrix completion in order to recover the original matrix containing the loss data or missing data. The recovered original matrix may then be used to derive the clock parameters and adjust the destination node 102 based on the clock parameters to be synchronized with the reference node 100. In a wireless network environment, there may be additional nodes and these additional nodes may be synchronized globally with the reference node 100 similar to how the destination node 102 is synchronized.
Referring to
Step 200: providing a reference node 100 and a destination node 102 connected with the reference node 100 via a wireless link 104, both the reference node 100 and the destination node 102 including a processor, a memory, and a timing device for recording local times, respectively.
Step 202: arranging the reference node 100 and the destination node 102 to exchange timestamp packets for N rounds via the wireless link 104, where N is a positive integer equal to or larger than 1.
Step 204: for each round out of the N rounds, respectively, obtaining a first time value, a second time value, a third time value, and a fourth time value associated with a first timestamp packet sent from the destination node 102 to the reference node 100 and a second timestamp packet sent from the reference node 100 to the destination node 102. Step 204 is described further in details: the destination node 102 sends a first timestamp packet to the reference node 100 containing a first time value, where the first time value represents the local time of the destination node 102 at sending the first timestamp packet; the reference node 100 receives the first timestamp packet and records a second time value, where the second time value represents the local time of the reference node 100 at receiving the first timestamp packet; the reference node 100 sends a second timestamp packet corresponding to the first timestamp packet to the destination node 102, where the second timestamp packet contains the second time value and a third time value, the third time value representing the local time of the reference node 100 at sending the second timestamp packet; the destination node 102 receives the second timestamp packet and records a fourth time value, where the fourth time value represents the local time of the destination node 102 at receiving the second timestamp packet.
Step 206: transforming the recorded first time value, second time value, third time value, and fourth time value for a K-th round out of the N rounds into a set of time values for the K-th round, where K is a positive integer not larger than N.
Step 208: transforming the recorded N sets of time values for the N rounds of synchronization into one or more low-rank matrices.
Step 210: applying matrix formulations to the one or more low-rank matrices to obtain a recovered matrix.
Step 212: calculating the clock parameters and the transmission delay based on the recovered matrix.
With respect to steps 200 to 206, the set of time values for the K-th round may be represented as {T1,k, T2,k, T3,k, T4,k}k=1 to N. The first time value, second time value, third time value, and the fourth time value for the K-th round are represented as T1,k, T2,k, T3,k, and T4,k, respectively.
With respect to steps 208 to 212, a low-rank matrix means the data contained in the matrix is missing or lost due to random transmission delay and noise corruption during the timestamp packet exchanging between the reference node 100 and the destination 102. A low-rank matrix may be represented as M∈RP×Q with a rank r<<min {P, Q}. Assuming that some of the entries {Mi,j} of the low-rank matrix are known and the indices (i, j)∈Ω are randomly selected, and the observed entries can be represented by an observation operator PΩ(M), the relationship satisfies:
In the absence of noise, the original matrix M can be recovered by the optimization problem:
min rank(Φ);s.t. PΩ(Φ)=PΩ(M) (5)
With respect to formula (5), rank (Φ) defines the rank of the recovered matrix Φ. The rank minimization problem in formula (5) is equivalent to searching for a minimum rank matrix Φ that matches well with the observed entries Mi,j, (i, j)∈Ω. A convex relaxation alternative that minimizes the nuclear norm of the low rank matrix may be employed. Because the rank of a matrix equals to the number of its non-zero singular values, as a convex relaxation, the rank can be replaced by the nuclear norm, which is the sum of its singular values. The rank minimization problem is turned into the nuclear norm minimization problem as:
min ∥Φ∥;s.t. PΩ(Φ)=PΩ(M) (6)
where ∥Φ∥ is the nuclear norm of the matrix Φ, and is defined as:
where σi,j≥0 is the i-th singular value of the matrix Φ. A variety of techniques may be employed to solve the convex optimization problem in the formula (6), including but not limited to singular value thresholding (SVT), fixed point continuation with approximate singular value decomposition (FPCA), iterative reweighted least squares algorithm (IRLS-M), combination of spectral techniques and manifold optimization (OptSpace), and spectral matrix completion. In the present disclosure, the technique of OptSpace algorithm is used to illustrate the processes for clock synchronization, and other appropriate techniques may be employed to obtain a recovered matrix and to calculate the clock parameters.
Referring to
Steps 300 to 306 are similar to the steps of 200 to 206 as discussed above, and will not be repeated herein. At step 306, the set of time values for the K-th round may be represented as {T1,k, T2,k, T3,k, T4,k}k=1 to N. The first time value, second time value, third time value, and the fourth time value for the K-th round are represented as T1,k, T2,k, T3,k, and T4,k, respectively.
Step 308: calculating an uplink timestamp matrix MU and a downlink timestamp matrix MV based on the recorded N sets of time values for the N rounds of synchronization. At step 308, for a K-th round of synchronization, the differences between the K-th uplink and downlink timestamps satisfy:
Uk=T2,k−T1,k=d+Gk+β (8)
Vk=T4,k−T3,k=d+Hk−β (9)
For all N rounds of synchronization, all uplink timestamps are used to form a sequence u which represents u={Uk}k=1 to N. And all downlink timestamps are used to form a sequence v which represents v={Vk}k=1 to N. The two sequences u and v are further divided into two low-rank delay matrices having P segments of length Q: MU∈RP×Q and MV∈RP×Q, respectively. Specifically, with respect to formula (8), the differences between the second time value and the first time value in each round of synchronization out of the N rounds are used to formulate the sequence {Uk}k=1 to N, which is then transformed into the uplink timestamp matrix MU. With respect to formula (9), the differences between the fourth time value and the third time value in each round of synchronization out of the N rounds are used to formulate the sequence {Vk}k=1 to N, which is then transformed into the downlink timestamp matrix MV. In this embodiment, the clock parameter a, i.e., the clock skew of the destination node 102 with respect to the reference node 100, is presumed to be 1, because there are situations where the clock skew is relatively small, meaning there is relatively small fluctuation in the clock frequency and there is no need to provide frequency offset.
Step 310: transforming the two timestamp matrices MU and MV into corresponding observation operators PΩ(MU) and PΩ(MV), respectively. The two delay matrices MUn and MVn are noisy versions of the two low-rank matrices MU and MV, meaning the delay matrices MUn and MVn reflect the random transmission delay caused by noise pollution. MUn corresponding to the uplink timestamp matrix MU and MVn corresponding to the downlink timestamp matrix MV, respectively. The signal processing technique based on Matrix Completion allows transforming low-rank matrices into observation operators in order to recover loss data, as following:
With respect to formulas (10) and (11), Ωu and Ωv are the coordinates of the known entries in matrices MU and MV, respectively. In consideration of random transmission delay, the matrices MUn and MVn are defined to be:
MUn(i,j)=MU(ij)+Zu(ij) (12)
MVn(i,j)=MV(i,j)+Zv(i,j) (13)
With respect to formulas (12) and (13), Zu and Zv are random transmission delay caused by noise, and are represented as {Gk}k=1 to N and {Hk}k=1 to N, respectively.
Step 312: applying matrix completion to the two timestamp matrices MUn and MVn with the corresponding observation operators PΩ(MUn) and PΩ(MVn) to obtain recovered matrices.
In this embodiment, the nuclear norm minimization is employed as an exemplary technique, and other appropriate matrix completion may be employed to achieve a similar result. At step 312, the recovered matrices satisfy:
min ∥MU∥;s.t. ∥PΩu(MU)−PΩu(MUn)∥F<ηu (14)
min ∥MV∥;s.t. ∥PΩv(MV)−PΩv(MVn)∥F<ηv (15)
With respect to formulas (14) and (15), ηu>0 and ηv>0 are regularization parameters controlling the tolerance error of the minimizer. Accordingly, at step 312, recovered matrices are obtained which agree with the observed entries by nuclear norm minimization and also have taken into account the data loss or missing.
Step 314: calculating the clock offset based on the recovered matrices and performing the clock synchronization using the calculated clock offset.
Assuming the random transmission delays of {Gk}k=1 to N and {Hk}k=1 to N are normally distributed with the same mean μ and variance σn2. A likelihood function based on formulas (8) and (9) satisfies:
The likelihood function is differentiated with respect to the clock offset β to obtain:
Accordingly, the clock offset β is calculated as:
With respect to formulas (18) and (19), the clock offset β is calculated based on the means of the sequences u and v, respectively. The CRLB of the calculated clock offset β is obtained by differentiating the likelihood function with respect to the clock offset β and the expected value based on formula (18) to obtain:
With respect to formula (20), σn2 represents the estimated noise variance after matrices recovery. Accordingly, with respect to steps 300 to 306, the timestamp packet exchanges between the reference node 100 and the destination node 102 are performed, then recovered matrices are obtained from formulas (14) and (15), and then are used to calculate clock parameters in consideration of packet loss and random transmission delay. The calculated clock parameters are used to adjust the destination node 102 with respect to the reference node 100 to finish the clock synchronization which accounts for the factors of packet loss and random transmission delay.
Referring to
In situations where the clock skew is not ignorable, which means the clock parameter a, i.e., the clock skew of the destination node 102 with respect to the reference node 100, is not equal to 1. In this embodiment, the potential frequency fluctuation must be taken into consideration.
Steps 400 to 406 are similar to the steps of 200 to 206 as discussed above, and will not be repeated herein. At step 406, the set of time values for the K-th round may be represented as {T1,k, T2,k T3,k, T4,k}k=1 to N. The first time value, second time value, third time value, and the fourth time value for the K-th round are represented as T1,k, T2,k, T3,k, and T4,k, respectively.
Step 408: calculating a timestamp matrix M based on the recorded N sets of time values for the N rounds of synchronization, where the matrix M has N rows, each row of the matrix M corresponding to a set of time values of a specific round of synchronization.
At step 408, the calculated timestamp matrix M holds the recorded set of time values for the N rounds of synchronization. With respect to packet loss, if the timestamp packet exchange for a K-th round is lost due to conditions of the wireless link 104 or the hardware components of the reference node 100 or the destination node 102, the timestamp matrix M will miss the K-th row, which corresponds to the set of time values for the K-th round, except for the first time value that represents the beginning time of the K-th round. If the clock skew and the clock offset are almost constant during the N rounds of synchronization, then the matrix M will show a strong correlation, considering that the destination node 102 actually sends timestamp packets in a constant interval. Also, in situations where the clock skew is ignorable (meaning α=1) and the delays are fixed, then the matrix M may be expressed as: M=1NXT+t14T, where XT=[0, D, D+b+β, 2D+b−β] and t=[T1,1+T1,2 . . . T1,N]T. Here 1N represents an all-one vector of length N. Hence M is a rank-two matrix.
Step 410: using the timestamp matrix M to obtain a noisy version Mn corresponding to the timestamp matrix M, and using the noisy version Mn to obtain an output matrix MΩn.
At step 410, the entries of the matrix M are affected by random transmission delay and therefore satisfy:
Mn(i,j)=M(i,j)+Z(i,j) (21)
With respect to formula (21), Z represents the noise caused by random transmission delays. The obtained noisy version Mn is then used to calculate an output matrix MΩn, which holds the observed entries of the noisy version Mn and have all lost positions filled with zero.
Step 412: trimming the output matrix MΩn to obtain a recovered matrix.
At step 412, the output matrix MΩn is trimmed and the orthogonal projection of the trimmed matrix MΩn onto the set of rank-k matrices is defined as:
With respect to formula (22), the trimming eliminates the over represented rows and columns, and the singular value decomposition of the output matrix MΩn is obtained by:
{tilde over (M)}Ω
The recovered matrix may be obtained by solving:
min ∥Ω(XSYT)−Ω(Mn)∥F2 (24)
With respect to formula (24), through standard gradient descent with line search using the calculated rank-k projection as the initial guess, i.e., X=X0, and Y=Y0. PΩ(M) represents the observation operator containing all the observed entries in matrix M, following the same definition as in formulas (10) and (11). The optimal X, S and Yreconstruct the low rank complete timestamps matrix M.
Step 414: calculating the clock skew and the clock offset based on the recovered matrix and performing the clock synchronization using the calculated clock skew and clock offset.
Referring to formulas (2) and (3), they may be rewritten into:
All the N rounds of synchronization may be stacked into a single matrix as:
With respect to formula (27), x1=1/α, x2=1/β, and x3=d.
Assuming that the random transmission delays of {Gk}k=1 to N and {Hk}k=1 to N are both normally distributed with zero mean μ=0 and variance σn2, then the random transmission delays follow the distribution as: Gi˜(0, σn2), Hi˜(0, σn2). The formula (27) may be used to calculate the likelihood function as:
With respect to formula (28), TA, TB, and X are defined as in formula (27). For a specific set of timestamps, the likelihood function of formula (28) may be differentiated with respect to X to obtain:
{circumflex over (X)}=(TAHTA)−1TAHTB (29)
Formula (29) provides that the estimated clock skew, clock offset, and fixed delay as:
{circumflex over (α)}=1/{circumflex over (x)}1 (30)
{circumflex over (β)}={circumflex over (x)}2/{circumflex over (x)}1 (31)
{circumflex over (d)}={circumflex over (x)}3 (32)
Accordingly, the CRLBs of the estimated clock skew and clock offset satisfies:
Accordingly, with respect to formula (19), there are:
With reference to formulas (33) to (37), the CRLBs of the estimated clock skew and clock offset are obtained, and they show that the embodiment reduces the number of rounds N while achieving a good performance of clock synchronization.
With reference to
With reference to
With reference to
With reference to
With reference to
While the present disclosure has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. The disclosure of the embodiments is for purposes of illustrative only, and is not intended for limiting the scope of the present invention. Also, it is appreciated that the previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2020/104897 | 7/27/2020 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2022/021010 | 2/3/2022 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
9693325 | Park | Jun 2017 | B1 |
9843405 | Aweya | Dec 2017 | B2 |
11500850 | Jonik | Nov 2022 | B1 |
11907143 | Zhao | Feb 2024 | B2 |
20040008661 | Myles et al. | Jan 2004 | A1 |
20090158075 | Biberstein | Jun 2009 | A1 |
20110216660 | Lee et al. | Sep 2011 | A1 |
Number | Date | Country |
---|---|---|
102244925 | Nov 2011 | CN |
107395308 | Nov 2017 | CN |
108400827 | Aug 2018 | CN |
109041202 | Dec 2018 | CN |
110138487 | Aug 2019 | CN |
110401505 | Nov 2019 | CN |
111092713 | May 2020 | CN |
111385048 | Jul 2020 | CN |
2541815 | Jan 2013 | EP |
2020147727 | Jul 2020 | WO |
Entry |
---|
Elnahas, Osama et al. “Robust Clock Synchronization via Low Rank Approximation in Wireless Networks”, Feb. 5, 2020. URL:https://arxiv.org/pdf/2002.01769.pdf. |
Candes, Emmanuel J. et al. “Matrix Completion With Noise”, Jun. 30, 2010. URL:https://sci-hub.st/10.1109/JPROC.2009.2035722. |
WIPO, International Search Report and Written Opinion for International Application No. PCT/CN2020/104897, Apr. 29, 2021. |
The first office action issued in corresponding CN application No. 202010733478.0 dated Dec. 31, 2020. |
The second office action issued in corresponding CN application No. 202010733478.0 dated Mar. 17, 2021. |
Number | Date | Country | |
---|---|---|---|
20230284157 A1 | Sep 2023 | US |