Communications system

A communications system comprising a master-node and a slave-node. The master-node comprising: a GNSS receiver configured to provide a GNSS based time reference signal; a master-timing-reference-calibrator configured to determine a master-timing-reference-calibration-signal, for calibrating the master reference timing circuit, based on the GNSS based time reference signal; and a master-reference-timing-circuit configured to provide a master-clock-signal based on the master-timing-reference-calibration-signal, wherein the master-clock-signal is a clock signal for the master-node; and a master-transmitter configured to determine a master-communications-signal using the master-clock signal. The slave-node comprising: a slave-receiver configured to receive the master-communications-signal from the master-node; a slave-timing-reference-calibrator configured to determine a slave-timing-reference-calibration-signal based on the master-communications-signal; and a slave-timing-reference-circuit configured to provide a slave-clock-signal based on the slave-timing-reference-calibration-signal, wherein the slave-clock-signal is a clock signal for the slave-node.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the priority under 35 U.S.C. § 119 of European Patent application no. 17181692.9, filed on Jul. 17, 2017, the contents of which are incorporated by reference herein.

The present disclosure relates to communications systems, and in particular to communications systems that include at least two nodes that have locally generated clock signals.

According to a first aspect of the present disclosure there is provided a communications system comprising:a master-node comprising:a GNSS receiver configured to provide a GNSS based time reference signal;a master-timing-reference-calibrator configured to determine a master-timing-reference-calibration-signal, for calibrating the master reference timing circuit, based on the GNSS based time reference signal;a master-reference-timing-circuit configured to provide a master-clock-signal based on the master-timing-reference-calibration-signal, wherein the master-clock-signal is a clock signal for the master-node; anda master-transmitter configured to determine a master-communications-signal using the master-clock-signal;a slave-node comprising:a slave-receiver configured to receive the master-communications-signal from the master-node;a slave-timing-reference-calibrator configured to determine a slave-timing-reference-calibration-signal based on the master-communications-signal; anda slave-timing-reference-circuit configured to provide a slave-clock-signal based on the slave-timing-reference-calibration-signal, wherein the slave-clock-signal is a clock signal for the slave-node.

In one or more embodiments:the master-timing-reference-calibration-signal is representative of a master-timing-parameter for the master-reference-timing-circuit; and/orthe slave-timing-reference-calibration-signal is representative of a slave-timing-parameter for the slave-reference-timing-circuit.

In one or more embodiments, the master-reference-timing-circuit comprises a master-crystal-oscillator and/or the slave-timing-reference-circuit comprises a slave-crystal-oscillator.

In one or more embodiments, the master-transmitter comprises a master-UWB-transmitter, the master-communications-signal comprises an ultra wide band communications signal, and the slave-receiver comprises a slave-UWB-receiver.

In one or more embodiments, the communications system further comprises:a master-calibrator-processor configured to determine a master-clock-reliability-indicator that is representative of the quality of the master-clock-signal; and optionallywherein the master-timing-reference-calibrator is configured to determine the master-timing-reference-calibration-signal based on the master-clock-reliability-indicator.

In one or more embodiments, the communications system further comprises:a GNSS-quality-monitor configured to determine a GNSS-timing-indicator that is representative of the quality of the GNSS based time reference signal; and optionallywherein the master-timing-reference-calibrator is configured to determine the master-timing-reference-calibration-signal based on the GNSS-timing-indicator.

In one or more embodiments:the master-timing-reference-calibrator is configured to determine the master-timing-reference-calibration-signal based on a communications-quality-indicator; and/orthe slave-timing-reference-calibrator is configured to determine the slave-timing-reference-calibration-signal based on the communications-quality-indicator; and optionallythe communications link between the master-node and the slave-node.

In one or more embodiments, the communications system further comprises:a slave-calibrator-processor configured to determine a slave-clock-reliability-indicator that is representative of the quality of the slave-clock-signal; and optionallywherein the slave-timing-reference calibrator is configured to determine the slave-timing-reference-calibration-signal based on the slave-clock-reliability-indicator.

In one or more embodiments, the communications system further comprises:a master-calibrator-processor configured to determine a master-clock-reliability-indicator that is representative of the quality of the master-clock-signal; and whereinthe master-transmitter is configured to provide the master-clock-reliability-indicator to the slave-node;the slave-receiver is configured to receive the master-clock-reliability-indicator from the master-node; andthe slave-timing-reference-calibrator is configured to determine the slave-timing-reference-calibration-signal based on the master-clock-reliability-indicator.

In one or more embodiments, the master-timing-reference-calibrator is configured to:periodically determine the master-timing-reference-calibration-signal; and/ordetermine the master-timing-reference-calibration-signal in response to a master-calibration-trigger-signal.

In one or more embodiments, the communications system further comprises a master-calibrator-processor configured to set the master-calibration-trigger-signal based on one or more of:a master-temperature-value associated with the master-node; anda master-clock-reliability-indicator that is representative of the quality of the master-clock-signal.

In one or more embodiments, the slave-timing-reference-calibrator is configured to determine the slave-timing-reference-calibration-signal in response to a slave-calibration-trigger-signal.

In one or more embodiments, the communications system further comprises a slave-calibrator-processor configured to set the slave-calibration-trigger-signal based on one or more of:a slave-temperature-value associated with the slave-node;a communication-quality-indicator that is representative of the communications link between the master-node and the slave-node; anda slave-clock-reliability-indicator that is representative of the quality of the slave-clock-signal.

In one or more embodiments, the communications system further comprises:a slave-calibrator-processor configured to determine a slave-timing-indicator that is representative of the quality of the slave-clock-signal; anda master-calibrator-processor configured to determine a master-timing-indicator that is representative of the quality of the master-clock-signal; and whereinthe slave-timing-reference-calibrator is configured to determine the slave-timing-reference-calibration-signal based on the master-timing-indicator and the slave-timing-indicator.

In one or more embodiments, the GNSS receiver is hard-wired to the master-timing-reference-calibrator.

There may be provided a method comprising:a master-node:determining a master-timing-reference-calibration-signal, for calibrating the master reference timing circuit, based on a GNSS based time reference signal;providing a master-clock-signal based on the master-timing-reference-calibration-signal, wherein the master-clock-signal is a clock signal for the master-node; anddetermining a master-communications-signal using the master-clock-signal; anda slave-node:receiving the master-communications-signal from the master-node;determining a slave-timing-reference-calibration signal based on the master-communications-signal; andproviding a slave-clock-signal based on the slave-timing-reference-calibration-signal, wherein the slave-clock-signal is a clock signal for the slave-node.

There may be provided a method of processing comprising:a GNSS receiver of a master-node providing a GNSS based time reference signal;determining a master-timing-reference-calibration-signal based on the GNSS based time reference signal;providing a master-clock-signal based on the master-timing-reference-calibration-signal, wherein the master-clock signal is a clock signal for the master-node;determining a master-communications-signal using the master-clock-signal;a slave-receiver of a slave-node receiving the master-communications-signal;determining a slave-timing-reference-calibration-signal based on the master-communications-signal; andproviding a slave-clock-signal based on the slave-timing-reference-calibration-signal, wherein the slave-clock-signal is a clock signal for the slave-node.

While the disclosure is amendable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that other embodiments, beyond the particular embodiments described, are possible as well. All modifications, equivalents, and alternative embodiments falling within the spirit and scope of the appended claims are covered as well.

Ultra Wide Band (UWB) pulse based communication and ranging systems can accurately determine distance and time difference between TX and RX due to time resolution that is inversely proportional to bandwidth, and can require an accurate timing reference at both receiver (RX) and transmitter (TX) to efficiently set up the communication. The accuracy of the timing reference can be based on a frequency reference such as one derived from a crystal (x-tal). Such crystals have production tolerances and can exhibit temperature and ageing effects. The ageing effects can be dominant in some cases. To help satisfy the accuracy requirements in UWB (˜10's ppm), the crystal can be calibrated at production. Such calibration can also apply temperature compensation. This one-time calibration however does not cope with the ageing effects of the crystal over life time.

Hence systems can take into account a sufficient margin to cope with these inaccuracies, which can involve additional cost of the system both in terms of the integrated circuit (IC) hardware, and the quality of the crystal.

FIG. 1illustrates an example embodiment of a communications system that includes a master-node102and a slave-node104. As will be discussed in detail below, the master-node102can generate a master-clock-signal108, which is calibrated using received GNSS based time reference signals114. The GNSS based time reference signals114can provide accurate timing information that is extracted from GNSS signals, such as 1 pps (pulse per second). The master-node102can determine a master-communications-signal106using the master-clock-signal108, and transmit that master-communications-signal106to the slave-node104. The slave-node104can then calibrate a slave-clock-signal110for the slave-node104using the received master-communications-signal106.

The system can therefore provide a calibration method for clock signals in a hybrid system, such as those provided by crystal oscillators in a UWB system. A hybrid system can be considered as one that includes nodes with direct access to GNSS, and nodes without direct access to GNSS. The calibration method can reduce the inaccuracy of the clock signals over the lifetime of the components because accurate calibration of both nodes can be performed using GNSS based time reference signals (either directly or indirectly).

The master-node102includes a global navigation satellite system (GNSS) receiver112, such as a GPS receiver, which provides a GNSS based time reference signal114.

The master-node102could be a vehicle or a smartphone, as non-limiting examples of devices that can have a GNSS receiver112. The slave-node104could be a car key, a toke, a beacon, a sensor, a component that is configured to communicate using Bluetooth low energy, or an internet-of-things (IoT) node, as non-limiting examples of devices that may not have a GNSS receiver.

The master-node102also includes a master-timing-reference-calibrator116and a master-reference-timing-circuit120. The master-timing-reference-calibrator116can determine a master-timing-reference-calibration-signal118for the master-reference-timing-circuit120based on the GNSS based time reference signal114. The master-timing-reference-calibration-signal118can be representative of a master-timing-parameter for the master-reference-timing-circuit120, and can also be referred to as a master-timing-reference-calibration-signal. The master-reference-timing-circuit120can provide the master-clock-signal108based on the master-timing-reference-calibration-signal118. For instance, and as discussed in more detail below, the master-timing-reference-calibrator116can determine the accuracy of the master-clock-signal108by comparing it with timing information received as part of the GNSS based time reference signal114, and then set a master-timing-parameter of the master-reference-timing-circuit120in order to improve the accuracy of the master-clock-signal208, if required. For example, the master-timing-reference-calibration-signal118can be a digital value as result of a calibration cycle.

The master-clock-signal108is a clock signal for the master-node102. In this example, the master-clock-signal108is a clock signal for a master-transmitter122of the master-node102. The master-transmitter122can determine the master-communications-signal106using the master-clock-signal. The master-communications-signal106can be a communications signal according to any communications protocol. In one example the communications protocol is a UWB pulse based system, which can have particularly stringent requirements for timing accuracy.

The slave-node104includes a slave-receiver124that can receive the master-communications-signal106from the master-node102. The slave-receiver124can receive the master-communications-signal106via wireless communication channel, which can be directly from the master-node102, or indirectly via an intermediate node. The slave-node104also includes a slave-timing-reference-calibrator126can determine a slave-timing-reference-calibration-signal128based on the master-communications-signal106. The slave-timing-reference-calibration-signal128can be representative of a slave-timing-parameter for the slave-reference-timing-circuit130. The slave-reference-timing-circuit130can provide the slave-clock-signal110based on the slave-timing-reference-calibration-signal128. The slave-timing-reference-calibrator126can determine the accuracy of the slave-clock-signal110by comparing it with timing information received as part of the master-communications-signal106, and then set a slave-timing-parameter of the slave-reference-timing-circuit130in order to improve the accuracy of the slave-clock-signal110, if required. In this way, the slave-clock-signal110is calibrated indirectly using information from the GNSS based time reference signal114of the master-node102.

The slave-clock-signal110is a clock signal for the slave-node104. In examples where the master-node102and the slave-node104are configured for two-way communication with each other, the master-node102can also include a master-receiver (not shown), and the slave-node104can include a slave-transmitter (not shown). The slave-clock-signal110can be used by the slave-transmitter to determine a slave-communications-signal to be transmitted to the master-receiver. In this way, communications modules (transmitters/receivers) associated with the master-node102and the slave-node104can be operated with clock signals that are well synchronised with each other, and therefore have good clock/frequency accuracy.

The master-reference-timing-circuit120and/or the slave-reference-timing-circuit130can be any circuit that can provide a suitable clock signal. For example, an RC network or any oscillator, including a crystal oscillator, can be used. Irrespective of the type of timing circuit that is used, a timing-parameter of the timing circuit can be set by the associated calibrator so as to calibrate/adjust the clock-signal that is provided as an output. Both the master-reference-timing-circuit120and the slave-reference-timing-circuit130can be calibrated based on the received GNSS based time reference signal114(either directly for the master-node102, or indirectly for the slave-node104).

FIG. 2shows another example embodiment of a communications system that includes a master-node202and a slave-node204.

In this example, a master-crystal-oscillator220provides the functionality of a master-reference-timing-circuit, and a slave-crystal-oscillator230provides the functionality of a slave-reference-timing-circuit.

The master-node202includes a GNSS receiver212, which receives satellite signals, and provides a GNSS based time reference signal214to a master-UWB-transceiver222. The master-UWB-transceiver222can provide the functionality of both a master-UWB-transmitter and a master-UWB-receiver, for communicating with the slave-node204.

FIG. 2shows a master-communications-signal206transmitted from the master-node202to the slave-node204, and also a slave-communications-signal236transmitted from the slave-node204to the master-node202.

The master-UWB-transceiver222includes a master-timing-reference-calibrator216(which can also be referred to as a master reference calibration engine) and a master-quality-monitor232(which can also be referred to as a reference quality monitor). The master-crystal-oscillator220provides a master-clock-signal to the master-UWB-transceiver222.

In this example, the GNSS-receiver212is hard-wired to the master-timing-reference-calibrator216. In this way, the master-UWB-transceiver222can have a hard-wired (direct) reference to the GNSS receiver212. The GNSS receiver212can thus provide a hard-wired timing/frequency or time interval reference for the master-UWB-transceiver222.

In some examples, the master-timing-reference-calibrator216can periodically determine the master-timing-reference-calibration-signal (based on the GNSS based time reference signal). In this way, the master-timing-reference-calibrator216can re-calibrate the master-crystal-oscillator220periodically. The optimal period can be a trade-off between: (i) stability of the master-crystal-oscillator220, (ii) availability of a GNSS based time reference signal214, and (iii) energy budget. In some examples, the period can be adaptively set, for example such that a longer period is applied when observed changes are within certain limits.

In some examples, the master-timing-reference-calibrator216can determine the master-timing-reference-calibration-signal in response to a master-calibration-trigger-signal. Various examples of how the master-calibration-trigger-signal can be set are described below with reference toFIGS. 3aand3b.

The master-quality-monitor232can determine a master-timing-indicator that is representative of the quality/accuracy of the master-clock-signal provided by the master-crystal-oscillator220. As will be discussed below, the master-timing-reference-calibrator216can determine the master-timing-indicator using a counting algorithm, or any other algorithm that is known in the art. The master-timing-reference-calibrator216can then determine a master-timing-reference-calibration-signal for the master-crystal-oscillator220based on the master-timing-indicator. For example, the master-timing-reference-calibrator216can adjust a master-timing-parameter until the master-timing-indicator satisfies a master-quality-criteria. The master-quality-criteria may be: a maximum value for the master-timing-indicator; or satisfaction of a predefined-threshold level. Further details of an example that uses a “reliability indicator” are provided below with reference toFIGS. 3aand3b.

The master-node202can also include a GNSS-quality-monitor (not shown) that can determine a GNSS-timing-indicator that is representative of the availability/quality of the GNSS based time reference signal214. The master-timing-reference-calibrator216can then determine a master-timing-reference-calibration-signal for the master-crystal-oscillator220based on the GNSS-timing-indicator. For example, the master-timing-reference-calibrator216can only adjust a master-timing-parameter if the GNSS-timing-indicator satisfies a GNSS-timing-criteria. The GNSS-timing-criteria may be: a minimum value for the GNSS-timing-indicator; or satisfaction of a predefined-threshold level.

The slave-node204includes a slave-UWB-transceiver224. The slave-UWB-transceiver224can provide the functionality of both a slave-UWB-transmitter and a slave-UWB-receiver, for communicating with the master-node202.

In this example, the slave-UWB-transceiver224includes a slave-timing-reference-calibrator226(which can also be referred to as a slave reference calibration engine) and a slave-quality-monitor234(which can also be referred to as a reference quality monitor). The slave-crystal-oscillator230provides a slave-clock-signal to the slave-UWB-transceiver224.

The slave-quality-monitor234can determine a slave-timing-indicator that is representative of the quality of the slave-clock-signal provided by the slave-crystal-oscillator230. The slave-timing-reference-calibrator226can then determine a slave-timing-reference-calibration-signal210for the slave-crystal-oscillator230based on the slave-timing-indicator. For example, the slave-timing-reference-calibrator226can adjust a slave-timing-parameter until the slave-timing-indicator satisfies a slave-quality-criteria. The slave-quality-criteria can be the same as, or different to, the master-quality-criteria.

In a similar way to the master-timing-reference-calibrator216, the slave-timing-reference-calibrator226can determine the slave-timing-reference-calibration-signal based on the master-communications-signal: (i) periodically; and/or (ii) in response to a slave-calibration-trigger-signal. Various examples of how the slave-calibration-trigger-signal can be set are described below with reference toFIGS. 4aand4b.

FIG. 3ashows components of a master-node according to an example embodiment that is similar to the master-node ofFIG. 1.FIG. 3ashows a GNSS receiver312, a master-timing-reference-calibrator316and a master-reference-timing-circuit320.FIG. 3bshows the master-timing-reference-calibrator316in more detail.

The GNSS receiver312provides a GNSS based time reference signal, which is this example is referred to as a GNSS timing reference314, to the master-timing-reference-calibrator316. In this example, the master-timing-reference-calibrator316also receives a system-parameter-signal338that is representative of one or more system parameters, including master-node-parameters. As will be described below, the master-timing-reference-calibrator316can use the system-parameter-signal338to provide a master-timing-reference-calibration-signal318to the master-reference-timing-circuit320, for calibrating the master-reference-timing-circuit320.

The master-reference-timing-circuit320provides a master-clock-signal308(for example for a master-transmitter (not shown)) and also provides a master-timing-signal342to the master-timing-reference-calibrator316. The master-timing-signal342may be the same as the master-clock signal308, or may be any representation of the master-clock-signal308that is suitable for processing by the master-timing-reference-calibrator316.

In this example, as shown inFIG. 3b, the master-timing-reference-calibrator316includes an error-measurement-block250. The error-measurement-block350can process the GNSS timing reference314and the master-timing-signal342in order to determine a master-error-signal349that is representative of a difference between the two signals. The master-error-signal349can be representative of a master-timing-indicator, and in some examples can be calculated by using a counting algorithm that compares the master-clock-signal308with the (presumed accurate) GNSS timing reference314.

The master-timing-reference-calibrator316also includes a master-calibrator-processor349in this example, which can process the system-parameter-signal338and/or the master-error-signal349in order to set a master-calibration-trigger-signal when it is determined that the master-reference-timing-circuit320should be calibrated. When the master-calibration-trigger-signal is set, the master-calibrator-processor348can provide a master-timing-reference-calibration-signal318to the master-reference-timing-circuit320for re-calibration. In this way, calibration can be provided on demand. This can be in addition to, or instead of, any periodic re-calibration that may be performed.

The master-calibration-trigger-signal can include calibration data that is expected to improve the accuracy of the master-reference-timing-circuit320. In some examples, different sets of calibration data can be sent to the master-reference-timing-circuit320sequentially, in order to achieve a desired improvement in the accuracy of the master-reference-timing-circuit320, or until the accuracy no longer significantly improves when new calibration data is sent. This can be determined by the master-calibrator-processor348monitoring the value of the master-error-signal349.

The master-calibrator-processor348can set the master-calibration-trigger-signal in one or more of the following ways, as non-limiting examples:the system-parameter-signal338may be representative of a master-temperature-value associated with the master-node. The master-temperature-value can represent the temperature of the environment around the master-node202, the master-node202itself, or a component within the master-node202(such as the temperature of the master-reference-timing-circuit320). In some examples, the master-temperature-value may represent a rate of change of temperature with respect to time, and/or a temperature-difference value. The temperature-difference value can be representative of a difference between a current temperature and the temperature when the master-reference-timing-circuit320was last calibrated.The master-calibrator-processor348can set the master-calibration-trigger-signal based on the master-temperature-value. For example, when the master-temperature-value exceeds a temperature-threshold value. Using a temperature value to trigger calibration can be advantageous since temperature can affect the timing of the master-clock-signal308that is provided by the master-reference-timing-circuit320.the master-calibrator-processor348can determine a master-clock-reliability-indicator that is representative of an overall indication on how reliable the master-clock-signal is. The master-clock-reliability-indicator can be calculated based on a (optionally weighted) combination of parameters such as: (i) time since last calibration, (ii) temperature off-set since last calibration, (iii) previous calibration settings and conditions, (iv) variation of calibration, etc. As will be discussed below, in one implementation, the master-timing-reference-calibrator316can keep in memory a log of relevant parameters that can influence the accuracy of the master-clock-signal, and can apply a calibration control algorithm to the logged parameter values to calculate a value for the master-clock-reliability-indicator.The master-calibrator-processor348can set the master-calibration-trigger-signal based on the master-clock-reliability-indicator. For example, when the master-clock-reliability-indicator exceeds a reliability-threshold value. Using a reliability indicator to trigger calibration can be advantageous since it can take into account one or more parameters that influence the timing of the master-clock-signal308that is provided by the master-reference-timing-circuit320.

As discussed above, the master-timing-reference-calibrator316can assess when/if calibration is needed, or is likely to be beneficial. In this example, the master-timing-reference-calibrator316can also process and store relevant system parameters in memory, such as the data log346shown inFIG. 3b. For example, the master-timing-reference-calibrator316can store one or more system parameter values that are received as part of the system-parameter-signal338and/or a master-timing-indicator that is represented by the master-error-signal349. The master-timing-reference-calibrator316can store such information periodically and/or at instants in time that the master-reference-timing-circuit320is re-calibrated.

In some examples, the master-timing-reference-calibrator316can determine the master-clock-reliability-indicator based on information, including historic information, stored in the data log346. The master-timing-reference-calibrator316can also optionally store the master-clock-reliability-indicator in reliability-indicator-memory344. The master-calibrator-processor348can set the master-calibration-trigger-signal based on variations of the information stored in the data log346and/or the reliability-indicator-memory344. For instance, if a value is determined to have changed by more than a predetermined amount since the last re-calibration and/or if the rate of change of a value exceeds a threshold-value.

Optionally, the master-calibrator-processor348may only send new calibration data to the master-reference-timing-circuit320in response to a master-calibration-trigger-signal if a GNSS-timing-indicator, which can be representative of the availability/quality of the GNSS based time reference signal, satisfies a predetermined GNSS-threshold value

FIG. 4ashows components of a slave-node according to an example embodiment that is similar to the slave-node ofFIG. 1.FIG. 4ashows a slave-receiver424, a slave-timing-reference-calibrator426and a slave-reference-timing-circuit430.FIG. 4bshows the slave-timing-reference-calibrator426in more detail.

The slave-receiver424receives a master-communications-signal (not shown) and provides a slave-timing-difference-signal456to the slave-timing-reference-calibrator426. The slave-timing-reference-calibrator426also receives a system-parameter-signal454that is representative of one or more system parameters, including slave-node-parameters. Parts of the system-parameter-signal454can be received from the slave-receiver424and/or other components associated with the slave-node. As will be described below, the slave-timing-reference-calibrator426can use the system-parameter-signal454to provide a slave-timing-reference-calibration-signal428to the slave-reference-timing-circuit430, for calibrating the slave-reference-timing-circuit430.

The slave-reference-timing-circuit430provides a slave-clock-signal410. In this example for the slave-receiver424, and also provides a slave-timing-signal452to the slave-timing-reference-calibrator426. The slave-timing-signal452may be the same as the slave-clock-signal410, or may be any representation of the slave-clock-signal410that is suitable for processing by the slave-timing-reference-calibrator426.

In this example, as shown inFIG. 4b, the slave-timing-reference-calibrator426includes an error-measurement-block464. The error-measurement-block464can process the slave-timing-difference-signal456and optionally the slave-timing-signal452in order to determine a slave-error-signal461that is representative of a difference between the slave-clock-signal410and the master-clock-signal that has been received as part of the master-communications-signal. The slave-error-signal461can be representative of a slave-timing-indicator.

In some examples, the slave-timing-difference-signal456and/or the slave-error-signal461can be representative of an offset between the local slave-clock signal410and an incoming received UWB master-communications-signal. For instance, the slave-receiver424can provide information that is representative of a timing difference between the slave-receiver424and the master-transmitter, such as: a carrier frequency error signal, which can be a measure for carrier offset of TX frequency to RX frequency as detected in the (UWB) slave-receiver424; and an accurate time interval within the master-communications-signal (based on TX timing accuracy).

In some examples, a master-UWB-transceiver (not shown) can transmit the master-timing-indicator to the slave-node. The transmission can be based on any protocol, and in this example is a UWB protocol. The slave-receiver424can therefore receive the master-timing-indicator from the master-node, and provide it to the slave-timing-reference-calibrator426as part of the system-parameter-signal454. As will be discussed below, the slave-timing-reference-calibrator426can determine the slave-timing-reference-calibration-signal428based on the master-timing-indicator. For example, the slave-timing-reference-calibrator426can use the master-timing-indicator in combination with the offset described above to set the slave-timing-reference-calibration-signal428, and optionally can store this information in memory.

The slave-timing-reference-calibrator426also includes a slave-calibrator-processor462in this example, which can process the system-parameter-signal454and/or the slave-error-signal461in order to set a slave-calibration-trigger-signal when it is determined that the slave-reference-timing-circuit430should be calibrated. When the slave-calibration-trigger-signal is set, the slave-calibrator-processor462can provide a slave-timing-reference-calibration-signal428to the slave-reference-timing-circuit430for re-calibration. This can be in addition to, or instead of, any periodic re-calibration that may be performed. In the same way as the master-calibration-trigger-signal described above, the slave-calibration-trigger-signal428can include calibration data that is expected to improve the accuracy of the salve-reference-timing-circuit430.

The slave-calibrator-processor462can set the slave-calibration-trigger-signal428in one or more of the following ways, as non-limiting examples:if the slave-timing-difference-signal456and/or the slave-error-signal461are below a minimum-error-threshold, then the slave-calibrator-processor462can set the slave-calibration-trigger-signal such that re-calibration is performed.the system-parameter-signal454may be representative of a slave-temperature-value associated with the slave-node. The slave-temperature-value can represent any temperature associated with the slave-node, that corresponds to the examples described above with reference to the master-node. The slave-calibrator-processor462can set the slave-calibration-trigger-signal based on the slave-temperature-value.the system-parameter-signal454may be representative of a communications-quality-indicator, which is representative of the quality of the communications link between the master-node and the slave-node. The communications-quality-indicator can be determined from one or both of a master-communications-signal and a slave-communications-signal. For instance, if the communications-quality-indicator drops below a threshold-value then the slave-timing-reference-calibrator426can set the slave-calibration-trigger-signal for recalibrating the slave-reference-timing-circuit430.the slave-calibrator-processor462can determine a slave-clock-reliability-indicator that is representative of an overall indication on how reliable the slave-clock-signal is, in a similar way to the master-clock-reliability-indicator that is described above. As will be discussed below, in one implementation, the slave-timing-reference-calibrator426can keep in memory a log of relevant parameters that can influence the accuracy of the slave-clock-signal, and can apply a calibration control algorithm to the logged parameter values to calculate a value for the slave-clock-reliability-indicator.The slave-calibrator-processor462can se the slave-calibration-trigger-signal based on the slave-clock-reliability-indicator.

In this example, the slave-timing-reference-calibrator426can also process and store relevant system parameters in memory, such as the data log460shown inFIG. 4b. For example, the slave-timing-reference-calibrator426can store one or more system parameter values that are received as part of the system-parameter-signal454and/or a slave-timing-indicator that is represented by the slave-error-signal461or the slave-timing-difference-signal456. The slave-timing-reference-calibrator426can determine the slave-clock-reliability-indicator based on information, including historic information, stored in the data log460. The slave-timing-reference-calibrator426can also optionally store the slave-clock-reliability-indicator in reliability-indicator-memory458. The slave-timing-reference-calibrator426can store any of the information described herein periodically and/or at instants in time that the slave-reference-timing-circuit430is re-calibrated. In some examples, the slave-node can pass on the slave-clock-reliability-indicator to any downstream nodes that can use the slave-clock-signal410to calibrate a local timing circuit.

The slave-calibrator-processor462can optionally set the slave-calibration-trigger-signal based on variations of the information stored in the data log460and/or the reliability-indicator-memory458. For instance, if a value is determined to have changed by more than a predetermined amount since the last re-calibration and/or if the rate of change of a value exceeds a threshold-value.

Optionally, the slave-calibrator-processor462may only send new calibration data to the slave-reference-timing-circuit430in response to a slave-calibration-trigger-signal if the master-timing-indicator and/or the slave-timing-indicator satisfies a slave-update-criteria. For example, by comparing the master-timing-indicator with the slave-timing-indicator, and only determining/adjusting the slave-timing-reference-calibration-signal428if the result of the comparison satisfies a comparison-threshold. For instance, only if the master-timing-indicator is greater than the slave-timing-indicator, or only if the master-timing-indicator is at least a predetermined amount greater that the slave-timing-indicator. In this way, the slave-reference-timing-circuit430is only re-calibrated if the calibration is expected to improve the quality of the slave-clock-signal410. In this way, the slave-timing-reference-calibrator426can determine the slave-timing-reference-calibration-signal428based on both the master-timing-indicator and the slave-timing-indicator. The master-timing-indicator value can be transmitted in the UWB protocol as part of the master-communications-signal, and can be used to trigger calibration of the slave-node via a UWB link.

In this way, re-calibration can be performed based on one or both of: frequency offset estimation (single of multiple transmissions to iterative converge); and time delta between transmissions controlled by accurate master timing, as non-limiting examples.

In some examples, the master- or slave-timing-reference-calibrator can calibrate the master- or slave-timing-reference-circuit from scratch. That is, the clock-signal does not necessarily need to have a timing that is sufficiently close to a desired timing, in order for the slave-timing-reference-calibrator to be able to improve the accuracy of the clock-signal. In this way, the system can have a sufficiently large margin to accommodate a large offset in the timing of the clock-signal. The slave-timing-reference-calibrator can thus be used for production calibration (such that it requires no prior information, for example for first time start calibration, or following a loss of data for re-initialisation), or in a forced calibration mode or a recovery calibration mode (for example where only small deviations/errors in the timing information are expected).

The master-timing-reference-calibrator216and/or slave-timing-reference-calibrator226can be considered as an intelligent control system that executes calibration sequences. It can provide a recovery mode in case of failure (such as loss of calibration memory), and it can provide a mode for initial calibration that can be used for initial calibration (such as for factory or device initialisation).

Returning now toFIG. 2, one example of a calibration event that can be performed by one or both of the UWB-transceivers222,224is as follows.

A re-cal trigger flag can be stored in memory that is accessible by the UWB-transceiver222,224. The re-cal trigger flag can be set by a calibration-trigger-signal based on expiry of an elapsed time, determination of an environmental difference (such as temperature), or an observed frequency delta in UWB link (that is a difference between the timings of the master- and slave-clock signals208,210, as non-limiting examples, and as discussed above.

In the re-cal trigger flag is set, then: (i) the GNSS-quality-monitor can determine a GNSS-timing-indicator that is representative of the availability of the GNSS based time reference signal214; and (ii) a communications-quality-monitor (which could be proved by the slave-quality-monitor234and/or the master-quality-monitor232) can determine a communications-quality-indicator that is representative of the quality of the communications link between the master-node202and the slave-node204. A controller (not shown) can then compare the GNSS-timing-indicator and the communications-quality-indicator with associated criteria/thresholds. If the GNSS-timing-indicator and the communications-quality-indicator do not satisfy the associated criteria-thresholds, then the sequence is stopped without calibrating the master-crystal-oscillator220and the slave-crystal-oscillator230.

If the GNSS-timing-indicator and the communications-quality-indicator do satisfy the associated criteria/thresholds, then the sequence continues by the master-timing-reference-calibrator216and/or the slave-timing-reference-calibrator226executing a counting cycle based on a latest calibration value that is available, and calculating a different timing-parameter value for the associated crystal-oscillator220,230. For instance, a number of cycles in the clock-signal in a predefined period can be counted (for the master-node202; GNSS can use 1 pps; for the slave-node204: a fixed accurate repetition period can be defined for a protocol (such as UWB) that is used by the slave-node202). For a 27 MHz reference crystal oscillator, that is 27 M counts in case of no error and the count difference is used to calibrate the associated crystal-oscillator220,230. In this way, the delta in the count is compared to the expected count and then is used to calibrate. Such processing is known in the art, for example as described in Appendix A of “NIST Frequency Measurement and Analysis System: Operator's Manual” by Michael A. Lombardi. In this way, the master-timing-reference-calibrator216and/or the slave-timing-reference-calibrator226can determine a calibration-signal based on the communications-quality-indicator.

In some examples, the controller can re-do the counting cycle for the clock-signal when the new timing-parameter value is applied, and verify that the timing accuracy of the clock-signal associated with the new timing-parameter value is within a target accuracy. If the timing accuracy is within the target accuracy, then calibration is finalised, the master-timing-reference-calibrator216and/or the slave-timing-reference-calibrator226stores the new timing-parameter value and optionally other relevant data (such as a time stamp, temperature, etc), and sets/maintains the calibration-signal for the associated crystal-oscillator220,230based on the new timing-parameter value. The master-timing-reference-calibrator216and/or the slave-timing-reference-calibrator226can also reset the re-cal trigger flag.

If the timing accuracy associated with the new timing-parameter value is not within the target accuracy, then the master-timing-reference-calibrator216and/or the slave-timing-reference-calibrator226can apply a different timing-parameter value, and then determine whether or not the timing accuracy associated with that timing-parameter value is within the target accuracy. In some examples, the master-timing-reference-calibrator216and/or the slave-timing-reference-calibrator226can limit the number of times that different timing-parameter values are tried to a predetermined number. If the timing accuracy fails to converge satisfactorily (by not satisfying an accuracy-threshold or other accuracy-criteria), then the calibration sequence is stopped without calibrating the master-crystal-oscillator220and the slave-crystal-oscillator230. That is, the timing-parameter can be returned to the values that they had before the calibration sequence began. In one example implementation, a controller can monitor the accuracy by executing a plurality of calibration cycles, and monitoring the relative spread as an indicator for the accuracy/reliability of the calibration action.

It will be appreciated that the generation of the master-timing-reference-calibration-signal and/or the slave-timing-reference-calibration-signal may be based on sequential processing (such as generating a trigger signal and then checking some other parameter) or combined processing (such as by using an algorithm that processes multiple/all parameters together).

Examples disclosed herein can be used in, or with, any device that has a UWB transceiver. For instance, for car access and smart access solutions (distance bounding feature) that can include a: car, car key, smartphone, IoT devices, etc.

One or more of the examples disclosed herein relate to a system for reference calibration in UWB ranging/communication systems, based on a combination of GNSS enabled nodes as well as nodes without GNSS. A reference quality can be monitored and calibrated according to needs either based on the available GNSS reference, or based on the UWB signal from a higher quality node.

As discussed above, systems disclosed herein can also communicate status information between nodes, and can include appropriate schemes for initiating calibration actions. Also, systems can include functionality to enable them to recover from a totally uncalibrated situation (that could also be used for initial calibration of the system).