System and method for mitigating platform movement in a communication system
The method stabilizes client transceiver clocks in communication systems by adjusting receive and transmit clocks based on synchronization packets and relative motion prediction, ensuring synchronization accuracy comparable to stable reference clocks.
Patent Information
- Application Number
- JP2024102532
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-10
- Filing Date
- 2024-06-26
- Publication Date
- 2025-11-12
- Estimated Expiration
- 2040-09-30
AI Technical Summary
In communication systems, synchronization between transceivers is challenged by changes in propagation delay due to relative motion, particularly when using repeaters, which affect the synchronization signals.
A method and system for stabilizing a client transceiver's reference clock relative to a reference terminal by adjusting the receive and transmit clocks based on elapsed time and synchronization packets, using a Kalman filter to predict and correct for relative motion, and employing a phase-locked loop to enhance clock stability.
The solution effectively compensates for relative motion and clock errors, maintaining synchronization accuracy comparable to a stable reference clock, even with inexpensive crystal oscillators, by adjusting clocks in the rate domain.
Smart Images

Figure 0007768499000061 
Figure 0007768499000062 
Figure 0007768499000063
Abstract
Description
[Technical Field]
[0001] One or more aspects of embodiments according to the present invention relate to communication systems, and more particularly to systems and methods for maintaining synchronization in communication systems. [Background technology]
[0002] In commercial (or military) communication systems, it is advantageous to synchronize multiple transceivers that exchange data, for example, to ensure frequency hopping. In some situations, data is transmitted between the transceivers via a repeater. Synchronization signals exchanged by the transceivers can be affected by changes in propagation delay when there is relative motion between the transceivers and the repeater. Thus, there is a need for a system and method for mitigating platform motion in a communication system. Summary of the Invention
[0003] According to one embodiment of the present invention, there is provided a method for stabilizing a reference clock of a client transceiver relative to a reference terminal in the presence of relative motion between the client transceiver and the reference terminal, the method comprising: the client transceiver transmitting a probe packet to the reference terminal; the client transceiver receiving the probe packet from the reference terminal; the client transceiver receiving a first synchronization packet from the reference terminal; and adjusting a rate of the reference clock based on the elapsed time between the client transceiver transmitting the probe packet to the reference terminal and the client transceiver receiving the probe packet from the reference terminal, and based on the time at which the client transceiver receives the probe packet.
[0004] In some embodiments, the method includes the steps of: a client transceiver receiving a plurality of synchronization packets from a reference terminal, the plurality of synchronization packets including a first synchronization packet; adjusting a rate of a receive clock to track the plurality of synchronization packets received from the reference terminal; and adjusting a transmit clock based on a first correction signal based on the adjustment of the rate of the receive clock and a second correction signal based on the time elapsed between the client transceiver transmitting a probe packet to the reference terminal and the client transceiver receiving the probe packet from the reference terminal.
[0005] In some embodiments, the first correction signal is the opposite of the rate adjustment applied to the receive clock.
[0006] In some embodiments, the method includes adjusting the rate of the reference clock based on a clock error signal, the clock error signal being calculated based on a difference between an average of the time at which a reference event occurred at the transmitting clock as measured at the reference clock, the time at which a reference event occurred at the receiving clock as measured at the reference clock, and the expected time at which the reference event occurred, measured with respect to the clock.
[0007] In some embodiments, adjusting the rate of the reference clock includes controlling the rate of the reference clock with a control signal that is based on a first term that is proportional to the clock error signal.
[0008] In some embodiments, adjusting the rate of the reference clock includes controlling the rate of the reference clock with a control signal based on a weighted sum including the first term.
[0009] In some embodiments, the weighted sum further includes a second term that is proportional to the integral of the clock error signal.
[0010] In some embodiments, the method further includes the steps of: receiving, by the client transceiver, a plurality of synchronization packets from a reference terminal, the plurality of synchronization packets including a first synchronization packet; adjusting a rate of a receive clock to track the plurality of synchronization packets received from the reference terminal; and adjusting a transmit clock based on a first correction signal based on the adjustment of the rate of the receive clock and a second correction signal based on the time elapsed between the client transceiver transmitting a probe packet to the reference terminal and the client transceiver receiving the probe packet from the reference terminal.
[0011] In some embodiments, the first correction signal is the inverse of the rate adjustment applied to the receive clock.
[0012] In some embodiments, adjusting the rate of the reference clock includes controlling the rate of the reference clock using a control signal based on a weighted sum, the weighted sum including a first term proportional to the clock error signal and a second term proportional to an integral of the clock error signal.
[0013] According to one embodiment of the present invention, there is provided a system for stabilizing a reference clock of a client transceiver relative to a reference terminal in the presence of relative motion between the client transceiver and the reference terminal, the reference terminal being configured to retransmit probe packets received from the client transceiver and transmit a plurality of synchronization packets, the system including a client transceiver including a processing circuit that causes the client transceiver to transmit the probe packets to the reference terminal, and is configured to subsequently: receive the probe packet from the reference terminal; receive the first synchronization packet of the plurality of synchronization packets from the reference terminal; and adjust the rate of the reference clock based on the elapsed time between the client transceiver transmitting the probe packet to the reference terminal and the client transceiver receiving the probe packet from the reference terminal, and based on the time at which the client transceiver receives the probe packet.
[0014] In some embodiments, the processing circuit is configured to: adjust a rate of a receive clock to track the multiple synchronization packets received from the reference terminal after the client transceiver receives multiple synchronization packets from the reference terminal; and adjust a transmit clock based on a first correction signal based on the adjustment of the rate of the receive clock and a second correction signal based on the time elapsed between the client transceiver transmitting a probe packet to the reference terminal and the client transceiver receiving the probe packet from the reference terminal.
[0015] In some embodiments, the first correction signal is the inverse of the rate adjustment applied to the receive clock.
[0016] In some embodiments, the processing circuitry is configured to adjust the rate of the reference clock based on a clock error signal, the clock error signal being calculated based on a difference between an average of the time at which a reference event occurred at the transmitting clock as measured at the reference clock, the time at which a reference event occurred at the receiving clock as measured at the reference clock, and the expected time at which the reference event occurred, measured with respect to the clock.
[0017] In some embodiments, adjusting the rate of the reference clock includes controlling the rate of the reference clock with a control signal based on a first term proportional to the clock error signal.
[0018] In some embodiments, adjusting the rate of the reference clock includes controlling the rate of the reference clock with a control signal based on a weighted sum that includes the first term.
[0019] In some embodiments, the weighted sum further includes a second term that is proportional to the integral of the clock error signal.
[0020] In some embodiments, the processing circuit is further configured to: adjust a rate of a receive clock to track the multiple synchronization packets received from the reference terminal after the client transceiver receives multiple synchronization packets from the reference terminal; and adjust a transmit clock based on a first correction signal based on the adjustment of the rate of the receive clock and a second correction signal based on the time elapsed between the client transceiver transmitting a probe packet to the reference terminal and the client transceiver receiving the probe packet from the reference terminal.
[0021] In some embodiments, the first correction signal is the inverse of the rate adjustment applied to the receive clock.
[0022] In some embodiments, adjusting the rate of the reference clock includes controlling the rate of the reference clock using a control signal based on a weighted sum, the weighted sum including a first term proportional to the clock error signal and a second term proportional to an integral of the clock error signal. [Brief explanation of the drawings]
[0023] Features, aspects, and embodiments are described in conjunction with the accompanying drawings. [Figure 1A] 1 is a schematic diagram of a communication system according to one embodiment of the present invention; [Figure 1B] FIG. 2 is a block diagram of a transceiver according to one embodiment of the present invention. [Figure 1C] FIG. 4 is a timing diagram of a transmission of a synchronization signal according to an embodiment of the present invention. [Figure 2A] 1 is a schematic diagram of a communication system according to one embodiment of the present invention; [Figure 2B] 1 is a schematic diagram of a communication system according to one embodiment of the present invention; [Figure 3] 1 is a graph of time offset as a function of time, according to one embodiment of the present invention. [Figure 4A] FIG. 2 is a timing diagram according to one embodiment of the present invention. [Figure 4B] FIG. 2 is a timing diagram according to one embodiment of the present invention. [Figure 4C] FIG. 2 is a block diagram of a portion of a phase-locked loop, according to one embodiment of the present invention. [Figure 5A] 4 is a graph of propagation delay as a function of time in accordance with one embodiment of the present invention. [Figure 5B] 1 is a graph of time base accuracy as a function of time, according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0024] The detailed description set forth below in connection with the accompanying drawings is intended to describe exemplary embodiments of systems and methods for mitigating platform movement in a communication system provided in accordance with the present invention and is not intended to represent the only manner in which the present invention may be constructed or utilized. This description describes features of the present invention with reference to the illustrated embodiments. However, it should be understood that the same or equivalent functions and structures may be achieved by different embodiments that are also intended to be encompassed within the scope of the present invention. As shown elsewhere in this specification, like element numbers are intended to indicate like elements or features.
[0025] 1, in some embodiments, a communications network includes a master transceiver 105, one or more client transceivers 110, and a satellite. The satellite may act as a repeater 115 or "bent pipe" and simply retransmit received signals with a nominal (and substantially constant) delay. Each of the transceivers can transmit data to the repeater 115, and each of the transceivers can receive data retransmitted by the repeater 115 (regardless of whether the retransmitted data was originally transmitted to the repeater 115 by the receiving transceiver or another transceiver).
[0026] The repeater 115 may be a spacecraft orbiting the Earth outside the atmosphere, or any other fixed or mobile repeater, such as an unmanned aerial vehicle (UAV). One or more of the transceivers may be on a mobile platform (e.g., an aircraft or ship). In some embodiments, the system operates in the presence of relative motion between the master transceiver and the repeater 115, and also in the presence of relative motion between each client transceiver and the repeater 115.
[0027] Communications may be a frequency hopping system or a time division multiplexing system, or a hybrid system using both time division multiplexing and frequency hopping. In such systems, transmissions may occur during predefined time slots, and frequency changes may occur at some or all of the time slot boundaries. Each time slot may be referred to as a "hop." Several hops may be used to perform synchronization, and such hops may be referred to as "synchronization hops" or "sync hops." In some embodiments, no frequency hopping or no time division multiplexing is used, and transmission units may be generally referred to as "packets," with packets used to perform synchronization referred to as "synchronization packets" and other packets referred to as "data packets."
[0028] Referring to FIG. 1B, each transceiver may include a receiver 120 including a receive clock 125 and a transmitter 130 including a transmit clock 135. The respective rates of the transmit clock 135 and the receive clock 125 may be adjusted during operation to compensate for changes in propagation delay caused by relative motion of the transceiver and the repeater. For example, the receive clock 125 may be adjusted so that the receive frequency (e.g., the frequency of the local oscillator used by the receiver) switches at time slot boundaries even in the presence of relative motion of the transceiver and the repeater. Each of the transmit clock 135 and the receive clock 125 may be implemented, for example, in synchronous digital circuitry using an accumulator and an increment register. During each cycle of the reference clock 140, the contents of the increment register may be added to the accumulator. A rollover of the respective accumulator may initiate a new cycle (or a new half-cycle) of the transmit clock 135 or the receive clock 125. The rate of such a clock can be modified by writing a different value to an increment register. The offset of such a clock can also be adjusted, for example, by writing a modified value to an accumulator.
[0029] The synchronization packets may be transmitted according to a predetermined schedule available to all transceivers. Each synchronization packet may include (e.g., consist of) a predetermined bit pattern that allows any transceiver receiving the synchronization packet to accurately determine the extent to which the synchronization packet arrived earlier or later than expected. Such errors in the reception of a synchronization packet by a transceiver may be caused, for example, by relative motion of the transceiver and repeater, or errors in the reference clock 140, or both. Such errors in the reception time of a synchronization packet by a transceiver may be used to adjust the rate of the transceiver's receive clock 125 (e.g., by changing the value stored in an increment register).
[0030] Referring to FIG. 1C, in some embodiments, the master transceiver 105 provides a timing framework and transmits synchronization packets. The timing framework may be a schedule containing the locations of packets or sequences that can be used for timing. The locations of these packets or sequences within this schedule may be specified a priori by the master transceiver 105 and by the client transceiver 110. Specific locations may be dedicated to specific client transceivers 110. Packets used for timing may also carry some data. The schedule may be fixed or may change over time. A first client transceiver 110 (e.g., client A) may track the received synchronization packets and transmit its own data packets at the appropriately synchronized time (e.g., in a hybrid system employing both time division multiplexing and frequency hopping, transmit a data packet (or “data hop”) in a time slot assigned to client A). A second client transceiver 110 may also track the synchronization packets and receive data packets transmitted by client A, for example.
[0031] In some embodiments, the transmission timing of the master transceiver 105 can be adjusted to compensate for the relative motion of the master transceiver 105 and the repeater, such that the timing of synchronization packets (and data packets) retransmitted by the repeater 115 is approximately the same as it would be in the absence of relative motion between the master transceiver 105 and the repeater. Referring to FIG. 2A , the master transceiver 105 can transmit multiple synchronization packets to the repeater, as described above. The master transceiver 105 can then predict, from the round-trip propagation delay of each synchronization packet to the repeater 115, the expected round-trip propagation delay experienced by the next synchronization packet transmitted by the master transceiver 105, for example. Based on this prediction, the master transceiver 105 can adjust the transmission time of the next synchronization packet so that the next synchronization packet is retransmitted by the repeater 115 at approximately the same time as if there were no relative motion between the master transceiver 105 and the repeater.
[0032] The prediction may be performed by an estimator, such as a Kalman filter. The estimator may estimate elements of a state vector based on the time elapsed between transmitting each of a plurality of synchronization packets from the master transceiver 105 to the repeater and receiving each of the plurality of synchronization packets from the repeater by the master transceiver 105. The elements of the state vector may be parameters of a model of the relative motion of the master transceiver 105 and the repeater, such as an estimated round-trip delay, an estimated rate of change of the round-trip delay (i.e., first derivative with respect to time), an estimated second derivative with respect to time of the round-trip delay, an estimated third derivative with respect to time of the round-trip delay, etc.
[0033] The transmission time may then be adjusted by half the expected change from nominal in the expected reception time of the synchronization packet back to the master transceiver 105. Ideally, a factor of 1 / 2 is used, based on the assumption that the time of retransmission by the repeater (not the reception time of the synchronization packet back to the master transceiver 105) is made independent of the relative motion of the transceiver and repeater. In some embodiments, the effect of the adjustment may be, or approximately: The time t at which the nth pulse is transmitted tn (i.e., the adjusted transmission time) may be given by, or approximately given by, the following equation: t tn =t tn0 -1 / 2*(t rne -t rn0 ) where t tn0 is the scheduled time to transmit the nth pulse (i.e., the unadjusted transmission time), and t rne is the time that the Kalman filter expects to receive the nth pulse if it is sent at the scheduled time, and t rn0 is the time to receive the nth pulse in the absence of relative motion and adjustment of the transmission time.
[0034] This correction can be achieved in the rate domain (rather than the time offset domain) (using the rate adjustability of the transmit clock 135) as follows: Half of the estimated future time rate can be applied in the opposite (backward) direction to the transmit clock: If the estimated future time rate is expected to be x ns / sec (i.e., if synchronization packets are expected to arrive earlier), then the transmit clock is slowed down by x / 2 ns / sec.
[0035] In some embodiments, half of the estimated future time rate is also applied to future times when signals are received. One way to do this is to subtract half of the previously estimated future time rate from the time rate predicted by the tracking loop for the current time. For example, a signal may be transmitted by a master transceiver at current time t0, and that signal may be predicted to arrive at a repeater at future time t1, and the signal retransmitted by the repeater may be predicted to be received at the master transceiver at future time t2. At time t0, the tracking loop is used to predict that at time t2, the propagation time will decrease at a rate of x ns / sec. At time t0, the master transceiver's transmit clock is slowed by x / 2 ns / sec. At time t2, the tracking loop may predict, for example, that the propagation delay of the received signal is now changing by y ns / sec, and so at time t2, the receive clock may be sped up by (yx / 2) ns / sec.
[0036] FIG. 2B shows an example of such a method. In FIGS. 2A and 2B, the repeater 115 is shown as stationary and the master transceiver 105 is shown as moving. However, the analysis and operation may be similar if the repeater 115 is moving instead, or if both are moving. As shown in FIG. 2B, the actual motion may not be exactly the same as the predicted motion, and the actual and predicted motions may differ; however, the variation in retransmission times at the repeater 115 may nevertheless be less than if no prediction correction were performed.
[0037] FIG. 3 shows the performance measured as the variation in retransmission time (or "time offset") at repeater 115, as observed in a hardware-in-the-loop simulation.
[0038] In some embodiments, the reference clock 140 of the client transceiver 110 may be stabilized relative to the reference clock 140 of the master transceiver 105. In such a system, the reference clock of the master transceiver 105 may be a highly stable, relatively expensive clock (e.g., an atomic clock), and the reference clock of the client transceiver 110 may be a relatively inexpensive clock (e.g., a crystal oscillator) that, stabilized relative to the reference clock of the master transceiver 105, may exhibit stability comparable to that of the reference clock of the master transceiver 105. In some embodiments, the reference clock 140 of the client transceiver 110 may be stabilized in a manner similar to another system that includes or is connected to a stable time reference. For example, in some embodiments, the client transceiver 110 may exchange packets directly with the master transceiver 105 (without retransmitting packets through an intervening repeater), or the repeater may contain a stable time reference that may exchange packets with the client transceiver 110, allowing the reference clock 140 of the client transceiver 110 to be stabilized to the stable time reference of the repeater.
[0039] During operation, the receive clock 125 of the client transceiver 110 can track synchronization packets received from the master transceiver 105. This allows the rate of the receive clock 125 of the client transceiver 110 to adjust to compensate for (i) the relative motion of the client transceiver 110 and the repeater 115, and (ii) rate errors in the reference clock 140 of the client transceiver 110. Additionally, during operation, the client transceiver 110 can periodically send "probe" packets to the repeater 115 and receive retransmitted probe packets from the repeater 115 to measure the round-trip propagation time between the client transceiver 110 and the repeater 115.
[0040] The transmit clock 135 of the client transceiver 110 may then be adjusted based on two correction signals: (i) a first correction signal based on an adjustment to the rate of the receive packet trigger generator (specifically, the rate of the transmit clock 135 may be adjusted in the opposite direction by the same amount as the receive clock), and (ii) a second correction signal based on the round-trip propagation time between the client transceiver 110 and the repeater 115 (which may be used to adjust the offset of the transmit clock 135). The average of the transmit clock 135 and receive clock 125 can then have (low frequency) stability comparable to that of the reference block 140 of the master transceiver 105, since relative movement of the client transceiver 110 and repeater 115 (which makes equal and opposite adjustments to the rates of the receive clock 125 and the transmit clock 135, respectively) does not affect the average of the transmit clock 135 and receive clock 125, and the average of the transmit clock 135 and receive clock 125 can be corrected (as a result of the above adjustments) for any rate error in the reference clock 140 of the client transceiver 110 (relative to the rate of the reference clock 140 of the master transceiver 105).
[0041] 4A and 4B illustrate this mode of operation, in which the difference between (i) a composite clock (e.g., reference clock 140 of client transceiver 110) and (ii) the average of transmit clock 135 and receive clock 125 (or equivalently, the difference between a transmit timestamp (stamped by the composite clock) and a receive timestamp (also stamped by the composite clock) is an error signal that can be used, for example, to adjust the rate of reference clock 140 of client transceiver 110. The transmit timestamp can be the time indicated by the reference clock when a reference event (e.g., a frame boundary) occurred on the transmit clock, and similarly, the receive timestamp can be the time indicated by the reference clock when a reference event (e.g., a frame boundary, etc.) occurred on the receive clock. Reference events need not be periodic events but can occur at arbitrarily scheduled times, in which case the error signal can be the difference between (i) the average of the transmit and receive timestamps of reference events occurring at the scheduled times, and (ii) the scheduled time of the reference event.
[0042] The reference clock 140 of the client transceiver 110, offset by the error signal, can be a clock signal with stability comparable to that of the reference clock 140 of the master transceiver 105. However, this signal may be relatively noisy. Thus, as shown in FIG. 4C, the error signal can be used as part of a phase-locked loop in which the reference clock 140 of the client transceiver 110 is a variable-rate oscillator. The error signal can be filtered by a filter that combines two components: a first component proportional to the error signal (including a weighting factor K1 as shown) and a second component proportional to the integral of the error signal (including a weighting factor K2 as shown). FIG. 5A shows a simulation of the variation in propagation delay between a repeater and (i) the master transceiver (first curve 505) and (ii) the client transceiver (second curve 510). FIG. 5B shows (i) the time error of the master transceiver (first curve 515) and (ii) the time error of the client transceiver (second curve 520) in a simulation that includes stabilization of the client transceiver's reference clock relative to the master transceiver's reference clock.
[0043] The methods described herein can be further understood through the code in the following code listings. Each listing is labeled with a filename at the top of the listing. Filenames ending in ".m" label code written in the MATLAB® programming language, while the remaining listings are C++ code listings. The MATLAB® code implements a simulation that includes both some of the methods described above and a simulation environment that simulates, for example, the relative motion of the terminal and repeater.
[0044] Listing sim01.m contains the code for the top-level simulation function. Line 40 instantiates an instance of the eventMgr (event manager) class (specified in eventMgr.m) with the variable em. The loop from lines 50 to 97 configures the transceivers (or "terminals") to be simulated and adds TxFrame and RxFrame events to each terminal's event manager's event queue (lines 64 and 70). Each frame in the simulation has a duration of 20 ms and consists of multiple hops, at which point synchronization is performed. Next, the simulation runs (i.e., the passage of time is simulated) in the loop from lines 108 to 258. The switch statement starting at line 112 takes appropriate action depending on the destination of the event being processed. If the destination is a satellite (i.e., the repeater identified as destination number 0), then at line 141 the event is returned to the event queue with the new destination (the master transceiver identified (at line 140) as destination number 1) and the time (received time) (mm(1), an instance of the motion class instantiated at line 7 and specified in motionclass.m) generated by the motion manager at line 159. As the repeater 115 is broadcasting to all terminals, a copy (or "clone") of the event is placed in each terminal's event queue (at line 151), with each clone having the corresponding terminal as its destination (line 149) and the time generated by the corresponding motion manager (line 150).
[0045] In line 167 and following lines, the simulation handles an event for one of the terminals (i.e., not for the repeater, and not for the simulation itself). In line 173, if the event is the receipt of a synchronization packet, the function handleRxEvent (in handleRxEvent.m) is called. This function adjusts the terminal's receive clock based on the discrepancy between the receipt time of the synchronization packet and the expected receipt time of the synchronization packet. Line 184 corresponds to the transition to a new frame at the receiver, e.g., the rollover of the accumulator of the terminal's receive clock.
[0046] At line 189, the simulation processes a Tx Frame event, which occurs when a terminal passes a known time increment such as a frame, e.g., when the accumulator of the terminal's transmit clock rolls over. A list of hops to transmit during the next frame is created (by a call to the function handleTxFrame in handleTxFrame.m at line 191), and for each hop, an event corresponding to the hop's receipt at repeater 115 is added to the event queue (in the loop from lines 196 to 209). At lines 210-224, the code converts the frame # time error to a time error in seconds and keeps track of the appropriate time shift based on the appropriate terminal in the network.
[0047] The list handleRxEvent.m contains code to simulate the reception of a synchronization packet (or "sync" or "synchronization hop") by a terminal. In lines 12 and 13, a time error (timeErr) is calculated, corresponding to the difference between the reception time of the synchronization packet and the expected reception time of the synchronization packet. In lines 14 and 15, simulated noise is added to timeErr to form a simulated measurement error (timeMeas). This value is passed to the reception tracker (a simulation implemented in C++ code) in lines 18 and 19.
[0048] If the simulation determines that the source of a received synchronization packet is the receiving terminal itself, then the synchronization packet is called a "probe" packet and is used for transmission tracking, in line 32. The difference between the probe packet's reception time and the probe packet's expected reception time (represented by sign (isLate) and magnitude (errMag)) is passed to the transmission tracker in line 64. The estimated rate of change of the round-trip delay is then returned from the Kalman filter in line 67 (along with the estimation error (the square root of the variance estimated by the Kalman filter)).
[0049] The list handleRxFrame.m contains the function handleRxFrame (described above), which contains code to simulate receive frame boundaries (corresponding to rollover of the terminal's receive clock accumulator). The receive tracker is called on lines 15 and 16, and lines 24 and 26 set the rates of the terminal's transmit and receive clocks, respectively, based on the tracker's output. The tracker's output is half the estimated future time rate (a multiplication by half is performed on lines 239 and 240 of the list TrackingLoop.cpp).
[0050] The listing trackLib.cpp contains definitions for various functions called by the MATLAB® code, including the ftLoop_addTimeErrorMeasurement function at line 161, the tLoop_loadHwMeasurements function at line 186, the select_tLoop function at line 131, the txTrack_select function at line 8, the txTrack_init function at line 20, the txTrack_getAccuracy function at line 46, the txTrack_calcMeasAccuracy function at line 25, the txTrack_update function at line 32, and the tLoop_processLoop2 function at line 213.
[0051] As used herein, the word "or" is inclusive, so for example, "A or B" means either one of (i) A, (ii) B, and (iii) A and B. As used herein, when a method (e.g., an adjustment) or a first quantity (e.g., an element of a state vector) is said to be "based on" a second quantity (e.g., a time interval), it means that the second quantity is an input to the method or affects the first quantity. For example, the second quantity may be an input (e.g., the only input or one of multiple inputs) to a function that calculates the first quantity, or the first quantity may be equal to the second quantity, or the first quantity may be the same as the second quantity (e.g., stored in the same location or multiple locations in memory).
[0052] In some embodiments, the methods described herein are performed by one or more processing circuits in a transceiver. The term "processing circuit" is used herein to mean any combination of hardware, firmware, and software used to process data or digital signals. Processing circuit hardware may include, for example, application-specific integrated circuits (ASICs), general-purpose or dedicated central processing units (CPUs), digital signal processors (DSPs), graphics processing units (GPUs), and programmable logic devices such as field-programmable gate arrays (FPGAs). As used herein, a processing circuit means that each function is performed by hardwired hardware configured to perform that function, or by more general-purpose hardware such as a CPU configured to execute instructions stored on a non-transitory storage medium. A processing circuit may be fabricated on a single printed circuit board (PCB) or distributed across multiple interconnected PCBs. A processing circuit may include other processing circuits. For example, a processing circuit may include two processing circuits, an FPGA, and a CPU, interconnected on a PCB.
[0053] While a limited number of embodiments of the system and method for mitigating platform movement in a communication system have been specifically described and illustrated herein, many modifications and variations will be apparent to those skilled in the art. It should therefore be understood that the system and method for mitigating platform movement in a communication system used in accordance with the principles of the present invention may be embodied in ways other than those specifically described herein. The present invention is also defined by the following claims and their equivalents.
[0054] Code Listing TIFF0007768499000001.tif240170TIFF0007768499000002.tif240170TIFF0007768499000003.tif240170TIFF0007768499000004.tif240170TIFF0007768499000005.tif240170TIFF0007768499000006.tif240170TIFF0007768499000007.tif240170TIFF0007768499000008.tif240170TIFF0007768499000009.tif240170TIFF0007768499000010.tif240170TIFF0007768499000011.tif240170TIFF0007768499000012.tif240170TIFF0007768499000013.tif240170TIFF0007768499000014.tif240170TIFF0007768499000015.tif240170TIFF0007768499000016.tif240170TIFF0007768499000017.tif240170TIFF0007768499000018.tif240170TIFF0007768499000019.tif240170TIFF0007768499000020.tif240170TIFF0007768499000021.tif240170TIFF0007768499000022.tif240170TIFF0007768499000023.tif240170TIFF0007768499000024.tif240170TIFF0007768499000025.tif240170TIFF0007768499000026.tif240170TIFF0007768499000027.tif240170TIFF0007768499000028.tif240170TIFF0007768499000029.tif240170TIFF0007768499000030.tif240170TIFF0007768499000031.tif240170TIFF0007768499000032.tif240170TIFF0007768499000033.tif240170TIFF0007768499000034.tif240170TIFF0007768499000035.tif240170TIFF0007768499000036.tif240170TIFF0007768499000037.tif240170TIFF0007768499000038.tif240170TIFF0007768499000039.tif240170TIFF0007768499000040.tif240170TIFF0007768499000041.tif240170TIFF0007768499000042.tif240170TIFF0007768499000043.tif240170TIFF0007768499000044.tif240170TIFF0007768499000045.tif240170TIFF0007768499000046.tif240170TIFF0007768499000047.tif240170TIFF0007768499000048.tif240170TIFF0007768499000049.tif240170TIFF0007768499000050.tif240170TIFF0007768499000051.tif240170TIFF0007768499000052.tif240170TIFF0007768499000053.tif240170TIFF0007768499000054.tif240170TIFF0007768499000055.tif240170TIFF0007768499000056.tif240170TIFF0007768499000057.tif240170TIFF0007768499000058.tif240170TIFF0007768499000059.tif240170TIFF0007768499000060.tif240170.
Claims
1. 1. A method for stabilizing a reference clock signal of a client transceiver relative to a reference terminal in the presence of relative motion between the client transceiver and the reference terminal, the method comprising: the client transceiver transmitting a probe packet to the reference terminal; receiving, by the client transceiver, the probe packet from the reference terminal; receiving, by the client transceiver, a plurality of synchronization packets from the reference terminal, the plurality of synchronization packets including a first synchronization packet; adjusting the rate of a received clock signal to track the plurality of synchronization packets received from the reference terminal; a first correction signal based on adjusting the rate of the received clock signal; a second correction signal based on a total time from when the client transceiver transmits the probe packet to the reference terminal to when the client transceiver receives the probe packet from the reference terminal; adjusting the rate of the transmit clock signal; after the step of adjusting the rate of the transmit clock signal, adjusting the rate of the reference clock signal; Including, adjusting the rate of the reference clock signal includes adjusting the rate of the reference clock signal based on a clock error signal; the clock error signal is measured relative to the reference clock signal; an average of the time measured on the reference clock signal when a reference event occurs on the transmit clock signal and the time measured on the reference clock signal when the reference event occurs on the receive clock signal; calculated based on the difference between the scheduled occurrence time of the reference event and the method.
2. The method of claim 1 , wherein the first correction signal is the inverse of a rate adjustment applied to the received clock signal.
3. 2. The method of claim 1, wherein adjusting the rate of the reference clock signal comprises controlling the rate of the reference clock signal with a control signal based on a first term that is proportional to the clock error signal.
4. 4. The method of claim 3, wherein adjusting the rate of the reference clock signal comprises controlling the rate of the reference clock signal with a control signal based on a weighted sum including the first term.
5. The method of claim 4 , wherein the weighted sum further includes a second term proportional to an integral of the clock error signal.
6. 1. A system for stabilizing a reference clock signal of a client transceiver relative to a reference terminal in the presence of relative motion between the client transceiver and the reference terminal, the reference terminal being configured to retransmit probe packets received from the client transceiver and transmit a plurality of synchronization packets, the system including a client transceiver including processing circuitry that causes the client transceiver to: transmitting a probe packet to the reference terminal; receiving the probe packet from the reference terminal; receiving a first synchronization packet of the plurality of synchronization packets from the reference terminal; after receiving the plurality of synchronization packets from the reference terminal; adjusting the rate of a received clock signal to track the plurality of synchronization packets received from the reference terminal; a first correction signal based on adjusting the rate of the received clock signal; a second correction signal based on a total time from when the client transceiver transmits the probe packet to the reference terminal to when the client transceiver receives the probe packet from the reference terminal; Adjusting the rate of the transmit clock signal, after adjusting the rate of the transmit clock signal; configured to adjust the rate of the reference clock signal; to adjust the rate of the reference clock signal, the processing circuitry is configured to adjust the rate of the reference clock signal based on a clock error signal; the clock error signal is measured relative to the reference clock signal; an average of the time measured on the reference clock signal when a reference event occurs on the transmit clock signal and the time measured on the reference clock signal when the reference event occurs on the receive clock signal; calculated based on the difference between the scheduled occurrence time of the reference event and the system.
7. 7. The system of claim 6, wherein the first correction signal is the inverse of a rate adjustment applied to the received clock signal.
8. 7. The system of claim 6, wherein to adjust the rate of the reference clock signal, the processing circuitry is configured to control the rate of the reference clock signal using a control signal based on a first term that is proportional to the clock error signal.
9. 9. The system of claim 8, wherein to adjust the rate of the reference clock signal, the processing circuitry is configured to control the rate of the reference clock signal using a control signal based on a weighted sum including a first term.
10. 10. The system of claim 9, wherein the weighted sum further includes a second term proportional to an integral of the clock error signal.
Citation Information
Patent Citations
High-robustness satellite constellation time self-synchronization method
CN110518960A
Communication terminal and control method thereof, and program
JP2006310964A
Communication system and radio communication device
JP2007043563A
Timing system and method for time synchronization over a packet network
JP2011525308A
Synchronous waveform clock synchronization without a system controller
US20170359793A1