Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
RANGE DETERMINATION WITHOUT PRIOR SYNCHRONIZATION BETWEEN TRANSCEIVERS
Document Type and Number:
WIPO Patent Application WO/2017/117671
Kind Code:
A1
Abstract:
Determining range between a first transceiver and a second transceiver by identifying a lowest one of a round trip time difference and multiplying by the speed of light. Round trip time differences between transmission of successive modulated carrier signals from the first transceiver and receipt of successive responsive modulated carrier signals from the second transceiver. Transmission of the signals based on respective soft clocks of the transceivers. Incremental known delays added to ones of the successive modulated carrier signals and a first one of the incremental known delays equal to zero. The incremental known delays are based on a system clock of the first transceiver and the soft clock of the first transceiver running at a lower frequency than the system clock thereof.

Inventors:
AFZAL MUHAMMAD HARIS (CA)
Application Number:
PCT/CA2017/050004
Publication Date:
July 13, 2017
Filing Date:
January 04, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FATHOM SYSTEMS INC (CA)
International Classes:
G01S13/74; H04W56/00; H04W80/00
Domestic Patent References:
WO2015045080A12015-04-02
Foreign References:
US20010053699A12001-12-20
US20140187193A12014-07-03
US20070200759A12007-08-30
Attorney, Agent or Firm:
DE KLEINE, Geoffrey et al. (CA)
Download PDF:
Claims:
Claims

1 . A method of determining range between a first transceiver and a second transceiver comprising:

transmitting, by a radio sub-system in communication with an antenna of the first transceiver, successive modulated carrier signals from the first transceiver based on a soft clock of the first transceiver, the soft clock stored in memory of the first transceiver and having a lower frequency than a system clock in communication with a processor of the first transceiver, incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on a system clock of the first transceiver;

receiving, at the radio sub-system in communication with the antenna,

successive responsive modulated carrier signals from the second transceiver, the successive responsive modulated carrier signals acknowledging receipt of the successive modulated carrier signals by the second transceiver;

determining, at the processor of the first transceiver in communication with the radio sub-system and memory, round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals;

storing the round trip time differences in the memory of the first transceiver;

determining range, at the processor of the first transceiver, by multiplying a lowest one of the round trip time differences by the speed of light, the lowest one of the round trip time differences corresponding to a phase match between the soft clock of the first transceiver and a soft clock of the second transceiver;

wherein range determination is performed without prior synchronization of the first transceiver and the second transceiver.

2. The method of claim 1 , comprising calculating a period of the round trip time differences, wherein a minimum round trip time difference occurs per period and the lowest one of the round trip time differences is an average of the minimum round trip time differences.

3. The method of claim 1 , wherein the incremental known delays are implemented by calling a no operation (NOP) instruction in software.

4. The method of claim 1 , wherein the range is output to another electronic device.

5. The method of claim 1 , wherein the successive modulated carrier signals comprise a data packet.

6. The method of claim 1 , wherein a phase match occurs when system clock of the first transceiver and a system clock of the second transceiver are exactly aligned.

7. The method of claim 1 , comprising repeating the method of claim 1 using a different carrier frequency and determining an average range based on the range and a different carrier frequency range.

8. The method of claim 1 , wherein the first radio sub-system is a BLE radio subsystem and the successive modulated carrier signals comprise a user-defined payload of packets transmitted by the BLE radio sub-system.

9. A non-transitory computer-readable medium having computer-readable code stored thereon, the computer-readable code executable by at least one processor of the first transceiver to perform the method of claim 1.

10. A first transceiver for determining range to a second transceiver, comprising: a radio sub-system in communication with an antenna of the first transceiver for transmitting successive modulated carrier signals and receiving successive responsive modulated carrier signals from the second transceiver, the successive responsive modulated carrier signals acknowledging receipt of the successive modulated carrier signals by the second transceiver;

a soft clock stored in memory, transmission of the successive modulated carrier signals determined based on the soft clock, the soft clock based on a system clock of the first transceiver and having a lower frequency than the system clock of the first transceiver;

a processor in communication with the radio sub-system and memory, for:

generating incremental known delays added to ones of the successive

modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on the system clock of the first transceiver,

determining round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals,

storing the round trip time differences in the memory, and

determining range by multiplying a lowest one of the round trip time differences by the speed of light, the lowest one of the round trip time differences corresponding to a phase match between the soft clock of the first transceiver and a soft clock of the second transceiver;

wherein range determination is performed without prior synchronization of the first transceiver with the second transceiver.

1 1 . The first transceiver of claim 10, comprising calculating a period of the round trip time differences, wherein a minimum round trip time difference occurs per period and the lowest one of the round trip time differences is an average of the minimum round trip time differences.

12. The first transceiver of claim 10, wherein the incremental known delays are implemented by calling a no operation (NOP) instruction in software.

13. A method of synchronizing a soft clock of a first transceiver with a soft clock of a second transceiver comprising:

transmitting, by a radio sub-system in communication with an antenna of the first transceiver, successive modulated carrier signals from the first transceiver based on a soft clock of the first transceiver, the soft clock stored in memory of the first transceiver and having a lower frequency than a system clock in communication with a processor of the first transceiver, incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on a system clock of the first transceiver;

receiving, at the radio sub-system in communication with the antenna,

successive responsive modulated carrier signals from the second transceiver, the successive responsive modulated carrier signals acknowledging receipt of the successive modulated carrier signals by the second transceiver;

determining, at the processor of the first transceiver in communication with the radio sub-system and memory, round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals;

storing the round trip time differences in the memory of the first transceiver;

determining ranges, at the main processing system of the first transceiver, by multiplying the round trip time differences by the speed of light and generating a wave pattern by plotting the ranges of the successive round trips;

performing frequency analytics of the wave pattern to identify a dominant frequency; and

determining a frequency difference and a phase difference between the soft clock of a first transceiver and a soft clock of a second transceiver.

14. The method of claim 13, comprising compensating for the frequency difference and the phase difference to maintain synchronization of the soft clock of the first transceiver with the system clock of the second transceiver.

15. The method of claim 13, wherein frequency analytics are performed by applying Fourier Transforms to the wave pattern.

16. A non-transitory computer-readable medium having computer-readable code stored thereon, the computer-readable code executable by at least one processor of the first transceiver to perform the method of claim 13.

17. A system for determining range between, comprising:

a first transceiver comprising: a first radio sub-system in communication with a first antenna for transmitting successive modulated carrier signals based on a soft clock stored in memory, transmission of the successive modulated carrier signals determined based on the soft clock, the soft clock based on a system clock of the first transceiver and having a lower frequency than the system clock of the first transceiver, incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on the system clock of the first transceiver;

a second transceiver comprising a second radio sub-system in communication with a second antenna for transmitting successive modulated responsive carrier signals, the successive responsive modulated carrier signals acknowledging receipt of the successive modulated carrier signals by the second transceiver;

wherein range is determined at the first transceiver by calculating round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals at a processor, storing the round trip time differences, and multiplying a lowest one of the round trip time differences by the speed of light.

18. The system of claim 17, wherein the first radio sub-system is a BLE radio subsystem and the successive modulated carrier signals comprise a user-defined payload of packets transmitted by the BLE radio sub-system.

19. The system of claim 17, wherein the successive modulated carrier signals comprise a data packet.

20. The system of claim 17, wherein the incremental known delays are implemented by calling a no operation (NOP) instruction in software.

Description:
RANGE DETERMINATION WITHOUT PRIOR SYNCHRONIZATION BETWEEN

TRANSCEIVERS

Technical Field

[0001] The present application relates to time of flight based range determination. Background

[0002] In some environments, signal timing may produce more accurate range results than received signal strength. Prior art signal timing approaches are limited because they require synchronization between transceivers prior to calculating a difference between a time that a signal is sent from a first transceiver and a time that the signal is received at a second transceiver. In the prior art, synchronization between the first transceiver and the second transceiver may be achieved in hardware by using a

Voltage Controlled Oscillator (VCO), for example.

[0003] When the first transceiver and the second transceiver are not synchronized, their system clocks are out of phase and at different frequencies. The soft clocks of the originator and transponder are generated using their respective system clocks and, therefore, are also unsynchronized. As will be appreciated by a person skilled in the art, even if crystal oscillators having the same frequency are used at both the first and second transceivers, a small random frequency offset, which is typically measured as parts per million (ppm), still exists. The small random frequency offset introduces an unknown bias that causes range estimations to include an error.

Summary

[0004] According to an aspect of the present disclosure there is provided a method of determining range between a first transceiver and a second transceiver comprising: transmitting, by a radio sub-system in communication with an antenna of the first transceiver, successive modulated carrier signals from the first transceiver based on a soft clock of the first transceiver, the soft clock stored in memory of the first transceiver and having a lower frequency than a system clock in communication with a processor of the first transceiver, incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on a system clock of the first transceiver; receiving, at the radio sub-system in

communication with the antenna, successive responsive modulated carrier signals from the second transceiver, the successive responsive modulated carrier signals

acknowledging receipt of the successive modulated carrier signals by the second transceiver; determining, at the processor of the first transceiver in communication with the radio sub-system and memory, round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals; storing the round trip time differences in the memory of the first transceiver; determining range, at the processor of the first transceiver, by multiplying a lowest one of the round trip time differences by the speed of light, the lowest one of the round trip time differences corresponding to a phase match between the soft clock of the first transceiver and a soft clock of the second transceiver; wherein range determination is performed without prior synchronization of the first transceiver and the second transceiver.

[0005] According to another aspect of the present disclosure there is provided a first transceiver for determining range to a second transceiver, comprising: a radio subsystem in communication with an antenna of the first transceiver for transmitting successive modulated carrier signals and receiving successive responsive modulated carrier signals from the second transceiver, the successive responsive modulated carrier signals acknowledging receipt of the successive modulated carrier signals by the second transceiver; a soft clock stored in memory, transmission of the successive modulated carrier signals determined based on the soft clock, the soft clock based on a system clock of the first transceiver and having a lower frequency than the system clock of the first transceiver; a processor in communication with the radio sub-system and memory, for: generating incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on the system clock of the first transceiver, determining round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals, storing the round trip time differences in the memory, and determining range by multiplying a lowest one of the round trip time differences by the speed of light, the lowest one of the round trip time differences corresponding to a phase match between the soft clock of the first transceiver and a soft clock of the second transceiver; wherein range determination is performed without prior synchronization of the first transceiver with the second transceiver.

[0006] According to yet another aspect of the present disclosure there is provided a method of synchronizing a soft clock of a first transceiver with a soft clock of a second transceiver comprising: transmitting, by a radio sub-system in communication with an antenna of the first transceiver, successive modulated carrier signals from the first transceiver based on a soft clock of the first transceiver, the soft clock stored in memory of the first transceiver and having a lower frequency than a system clock in

communication with a processor of the first transceiver, incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on a system clock of the first transceiver; receiving, at the radio sub-system in communication with the antenna, successive responsive modulated carrier signals from the second transceiver, the successive responsive modulated carrier signals acknowledging receipt of the successive modulated carrier signals by the second transceiver; determining, at the processor of the first transceiver in communication with the radio sub-system and memory, round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals; storing the round trip time differences in the memory of the first transceiver; determining ranges, at the main processing system of the first transceiver, by multiplying the round trip time differences by the speed of light and generating a wave pattern by plotting the ranges of the successive round trips; performing frequency analytics of the wave pattern to identify a dominant frequency; and determining a frequency difference and a phase difference between the soft clock of a first transceiver and a soft clock of a second transceiver.

[0007] According to another aspect of the present disclosure there a system for determining range between, comprising: a first transceiver comprising: a first radio subsystem in communication with a first antenna for transmitting successive modulated carrier signals based on a soft clock stored in memory, transmission of the successive modulated carrier signals determined based on the soft clock, the soft clock based on a system clock of the first transceiver and having a lower frequency than the system clock of the first transceiver, incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on the system clock of the first transceiver; a second transceiver comprising a second radio sub-system in communication with a second antenna for transmitting successive modulated responsive carrier signals, the successive responsive modulated carrier signals acknowledging receipt of the successive modulated carrier signals by the second transceiver; wherein range is determined at the first transceiver by calculating round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals, at a processor, storing the round trip time differences, and multiplying a lowest one of the round trip time differences by the speed of light.

Drawings

[0008] The following figures set forth examples of the present application in which like reference numerals denote like parts.

[0009] FIG. 1 is a schematic block diagram of a transceiver according to an example.

[0010] FIG. 2 is a schematic diagram depicting a transaction between a first transceiver and a second transceiver.

[0011] FIG. 3 is a graph depicting phase misalignment between soft clocks of the first transceiver and the second transceiver. [0012] FIG. 4 is a flowchart depicting a method of determining a range between a first transceiver and a second transceiver according to an example.

[0013] FIG. 5 is a flowchart depicting a method of determining a range between a first transceiver and a second transceiver according to another example.

[0014] FIG. 6 is a flowchart depicting operations performed at a second transceiver according to the method of determining a range between the first transceiver and the second transceiver of FIG. 5.

[0015] FIG. 7 is a flowchart depicting a method of calculating a phase difference between the first transceiver and the second transceiver according to an example.

[0016] FIG. 8 is a flowchart depicting a method of calculating a phase difference between the first transceiver and the second transceiver according to another example.

[0017] FIG. 9 is a flowchart depicting an example handshaking method.

[0018] FIG. 10 is a graph depicting transmission of a first packet by the first transceiver.

[0019] FIG. 1 1 is a graph depicting receipt of the first packet by the second transceiver.

[0020] FIG. 12 is a graph depicting transmission of an acknowledgement packet by the second transceiver.

[0021] FIG. 13 is a graph depicting receipt of the acknowledgement packet by the first transceiver.

[0022] FIG. 14 is a graph depicting transmission of another packet by the first transceiver after a known delay.

[0023] FIG. 15 is a graph depicting receipt, at the second transceiver, of successive packets transmitted after incremental known delays by the first transceiver.

[0024] FIG. 16 is a graph depicting estimated ranges between the first transceiver and the second transceiver versus time.

[0025] FIG. 17 is a graph depicting identification of a dominant frequency. Detailed Description

[0026] It will be appreciated that for simplicity and clarity of illustration, where

considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the examples described herein. However, it will be understood by those of ordinary skill in the art that the examples described herein may be practiced without these specific details. Unless explicitly stated, the methods described herein are not constrained to a particular order or sequence. Additionally, some of the described methods or elements thereof can occur or be performed at the same point in time. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the examples described herein. Also, the description is not to be considered as limiting the scope of the examples described herein.

[0027] Referring to FIG. 1 , a transceiver 10 includes a main processor sub-system 12, a radio sub-system 14 and an antenna 20. The main processor sub-system 12 controls overall operation of the transceiver 10. The main processor sub-system 12 includes a processor 22, memory 24 and a communication interface 26. The communication interface 26 enables communication via a wireless or a wired connection. An example of a main processor sub-system 12 is a Single Board Computer (SBC) with an

Operating System (OS).

[0028] The radio sub-system 14 communicates with the main processor sub-system 12 of the transceiver 10 and the antenna 20. The radio sub-system 14 receives modulated carrier signals from and transmits modulated carrier signals to other transceivers 10 via the antenna 20. In an example, the radio sub-system 14 is a standalone receiver and transmitter of radio signals such as WiFi, FM, AM, Bluetooth™, BLE (Bluetooth™ Low Energy), Zigbee, 6LoWPan and Digital TV, for example. The radio sub-system 14 is capable of down-converting, demodulating and decoding information transmitted by other transceivers 10 or transmitters. In an example, the standalone receiver may be realized using discrete components or using minimum hardware such as SDRs

(Software Defined Radios). In an example, the frequency of the carrier signal is configurable to support frequency diversification, which is useful for multipath mitigation.

[0029] The antenna 20 may be an omnidirectional antenna or another type of antenna, such as a directional antenna, for example. The transceiver 10 is powered by a power supply 28, which communicates with the main processor sub-system 12 via a power interface 16. In an example, the power supply 28 is one or more batteries. In another example, the power supply 28 is an electrical outlet. [0030] The transceiver 10 further includes a timer 32 that is based on a system clock 18 of the transceiver 10. The timer 32 may be a hardware timer that communicates with the main processor sub-system 12 or may be generated in software using interrupts. The transceiver 10 is also configured to generate a soft clock 30 when performing the methods disclosed herein. The soft clock 30 is based on the system clock 18 of the transceiver 10 and runs at a lower frequency than the system clock 18 and the timer 32. The soft clock 30 may be generated in software or may be performed through a hardware component, such as output compare (OC), for example. The soft clock 30 and timer 32, when generated in software, may be stored in memory 24. The memory 24 further stores software applications 36 for executing the methods described herein.

[0031] Referring also to FIG. 2, the communication between transceivers 10 may be referred to as a transaction. According to the methods described herein, during a transaction, one of the transceivers 10 functions as an originator and the other one of the transceivers 10 functions as a transponder. In the example of FIG. 2, transceiver 1 is the originator and transceiver 2 is the transponder. An example time domain representation of soft clocks of an originator and a transponder are shown in FIG. 3 in which the y-axis represents the zero or one logical value of the received signal and the x-axis represents time. Because the originator and transponder are not synchronized, their system clocks are out of phase and running at slightly different frequencies and, therefore, their soft clocks are also out of phase and running at slightly different frequencies.

[0032] Referring to FIG. 4, a method of determining range between a first transceiver and a second transceiver without performing prior synchronization is shown. At 40, successive modulated carrier signals are transmitted from the first transceiver based on a soft clock of the first transceiver, the soft clock having a lower frequency than a system clock of the first transceiver, incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on a system clock of the first transceiver. At 42, successive responsive modulated carrier signals are received from the second transceiver, the successive responsive modulated carrier signals acknowledging receipt of the successive modulated carrier signals by the second transceiver. At 44, round trip time differences are determined between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals. At 46, the round trip time differences are stored. At 48, range is determined by multiplying a lowest one of the round trip time differences by the speed of light, the lowest one of the round trip time differences corresponding to a phase match between the soft clock of the first transceiver and a soft clock of the second transceiver.

[0033] Referring to FIG. 5, an example of the method of FIG. 4 is described based on operations occurring at the originator following a successful handshaking procedure in which the first transceiver is determined to be the originator and the second transceiver is determined to be the transponder. An example handshaking procedure is shown in FIG. 9. According to the method of determining range of FIG. 4, at 102, following successful handshaking, a timer is initialized. At 104, a known delay, which will be applied to the carrier signals generated by the originator, is reset to zero. At 106, generation of the soft clock starts. At 108, the method waits until a rising edge of the soft clock occurs, and then a data packet is transmitted after the known delay and timer value TSTART is stored in memory 24, at 1 10. The data packet has a known pattern and is generated by the originator modulating a carrier signal. The data packet may be as short as a byte, for example, or may be longer. Example packet transmission by the originator is shown in FIG. 10. The packet is represented as a pulse for simplicity. As shown, because the known delay is set to zero, the pulse is aligned with the rising edge of the soft clock, indicated by reference numeral 30.

[0034] After an elapsed time corresponding to a range between the originator and transponder, the transponder receives the packet. Referring also to FIG. 6, operations occurring at the transponder during the method of determining range between a first transceiver and a second transceiver of FIG. 5 are shown. Following the successful handshaking procedure, generation of the soft clock of the transponder starts, at 160. At 162, the method waits until a rising edge of the soft clock occurs to acknowledge receipt of the packet transmitted from the originator, at 164. The packet is received prior to the rising edge of the soft clock of the transponder, as shown in FIG. 1 1. When the packet is received, the transponder transmits an acknowledgment packet back to the originator in response, at 168. The acknowledgement packet has the same known pattern as the data packet transmitted by the originator. FIG. 12 shows

acknowledgement packet transmission by the transponder, which occurs at the rising edge of the soft clock, indicated by reference numeral 32, of the transponder. As shown, the transponder delays acknowledgement packet transmission because of the phase offset between the soft clocks of the originator and transponder. Transmission of acknowledgement packets by the transponder repeats, at 166, in response to all packets received from the originator.

[0035] Referring still to FIG. 5, at 1 12 and 1 14, the acknowledgement packet, which was sent from the transponder, is received at the originator as shown in FIG. 13, for example. Acknowledgement by the originator is performed when the rising edge of the soft clock occurs. Timer value TEND is then stored in memory 24, at 1 16. The known delay is then incremented, at 1 18. The know delay may be implemented in software. In an example, the known delay is implemented by calling a no operation (NOP) instruction in software, which results in one system clock offset.

[0036] Transmission of the packet by the originator and receipt of an acknowledgement packet from the transponder completes one transaction. Multiple transactions are performed in order to determine the range between the first transceiver and the second transceiver. After completion of a transaction, it is determined if fewer than N packets have been transmitted. If so, the method waits until the next rising edge of the soft clock of the originator occurs, at 108, and then another packet is transmitted after the known delay and another TSTART timer value is stored in memory 24, at 1 10. At 1 12 and 1 14, a received packet, which was sent from the transponder, is acknowledged by the originator when a rising edge of the soft clock occurs and timer value TEND is stored in memory 24, at 1 16. Transmission of another packet after the known delay is shown in FIG. 14. As shown, the packet transmission is offset beyond the rising edge of the soft clock by the known delay, which is indicated by reference numeral 34.

[0037] Referring to FIG. 15, transmission of successive packets after regularly increasing known delays is shown. In the example of FIG. 15, four packets have been sent by the originator and are received at the transponder after successively increasing delays. As packets are transmitted with known incremental delays from the originator and acknowledgement packets are transmitted back to the originator when received by the transponder, an instance at which the received packet is aligned with the phase of the transponder's soft clock occurs. This packet is identified as the Nth packet in FIG. 15. As the known incremental delays continue to increase, the packet becomes misaligned again. Alignment and misalignment of the received packets repeats because the phase match and phase mismatch is periodic. Alignment with the phase of the transponder's soft clock may be exact or may be close, such as aligned to a selected accuracy level, for example. Any misalignment between the phase of the transponder's clock and the received packet will result in greater uncertainty in the range estimate that is determined using the methods described herein.

[0038] When N packets have been transmitted, ranges are calculated for all of the transmitted packets, at 122. The range, p, is determined based on the round trip time difference, TEND - TSTART, as follows:

~ c - f{T E ND - TSTART - φ - f}, where φ is the phase difference between the soft clocks of the originator and the transponder, c is the speed of light and τ is the known delay.

Because the soft clocks of the originator and the transponder are not synchronized, the range estimates are biased due to the phase difference. At 124, the period from all range estimates is calculated. Referring to FIG. 16, a time evolution of the varying ranges is shown. As shown, a saw tooth periodic wave pattern results due to the injection of known delays. Each cycle includes a lowest value. A frequency offset between the originator and transponder is a function of the slope of the saw tooth. At 126 and 128, the lowest values from the cycles are output then averaged and divided by two in order to determine the range between the originator and the transponder based

[0039] It is then determined if all carrier frequencies have been exhausted, at 130. If so, the range is estimated from the different frequencies, at 132. When only one frequency is available, the range is the same as was estimated at 128. If all carrier frequencies have not been exhausted, the method is repeated for the next carrier frequency, at 134, and repeated again until all carrier frequencies have been exhausted. The range when multiple carrier frequencies are available is estimated at 132 and may be a weighted average, for example.

[0040] The range estimate may be output to an electronic device 34 to indicate the range estimate to a user or for further processing. The electronic device 34 may be a Smartphone, laptop computer, desktop computer, or tablet in communication with the first transceiver, for example. The range estimate may be further processed as an input to another application, such as a location determining application, for example.

[0041] The range estimate includes an uncertainty due to system noise. System noise includes: clock jitter, radio front end noise, transmission channel noise and varying environment noise such as pedestrian traffic, for example. The effect of noise may be reduced by increasing a number of ranging transactions performed, for example.

Further, using multiple carrier frequencies may facilitate noise mitigation.

[0042] The communication interface 26 may be omitted for transceivers 10 that do not communicate with electronic devices other than transceivers 10, such as servers or mobile electronic devices, for example. In examples in which the communication interface 26 is omitted, an output device, such as a display, for example, may be included to indicate estimated range.

[0043] Referring now to FIG. 7, a method of synchronizing soft clocks of a first transceiver and a second transceiver is shown. At 136, successive carrier signals are transmitted from the first transceiver based on a soft clock of the first transceiver, the soft clock having a lower frequency than a system clock of the first transceiver, incremental known delays added to ones of the successive modulated carrier signals, a first one of the incremental known delays equal to zero to align transmission of a first one of the successive modulated carrier signals with a rising edge of the soft clock of the first transceiver, the incremental known delays based on a system clock of the first transceiver. At 138, successive responsive modulated carrier signals are received from the second transceiver, the successive responsive modulated carrier signals

acknowledging receipt of the successive modulated carrier signals by the second transceiver. At 140, round trip time differences between transmission of the successive modulated carrier signals and receipt of the successive responsive modulated carrier signals are determined and stored in a memory of the first transceiver. At 142, ranges are determined, at the main processing system of the first transceiver, by multiplying the round trip time differences by the speed of light and generating a wave pattern by plotting the ranges of the successive round trips. At 144, frequency analytics of the wave pattern are performed to identify a dominant frequency. At 146, a frequency difference and a phase difference between the soft clock of a first transceiver and a soft clock of a second transceiver are determined.

[0044] Referring to FIG. 8, an example of the method of FIG. 7 is shown. The method calculates ranges, at 122, using the same method described with respect to the example method of FIG. 5, and will not be repeated here. Then, frequency analytics of a wave pattern of the ranges vs. time, such as the saw tooth periodic wave pattern of FIG. 16, is performed and a dominant frequency is identified, at 148. The dominant frequency is the frequency offset between the originator and the transponder. The dominant frequency may be identified by applying Fourier transforms to the range data determined at 122, for example. Referring to FIG. 17, identification of an example dominant frequency 38 is shown. The period of the dominant frequency is calculated, at 150. Then, compensation for the known delay is performed, at 152, and a frequency difference between the first transceiver and the second transceiver is calculated, at 154. At 156, the phase difference between the first and second transceivers is calculated.

[0045] It will be appreciated by persons skilled in the art that although the method of synchronizing the soft clocks of the originator and transponder is shown as part of the method of determining range, the methods may be performed independently. For example, determining phase and frequency differences according to the example method described herein to synchronize soft clocks of originators and transponders may be useful in networking and assisted GNSS applications. In networking, time transfer among nodes of a mesh network may be achieved using the method of synchronizing soft clocks of a first transceiver and a second transceiver. In addition, time critical client server architectures may be supported by the method of synchronizing soft clocks of a first transceiver and a second transceiver.

[0046] The methods described herein may be performed by the main processor system 16 of a transceiver by executing one or more software applications that are stored in memory 24 as computer readable code. Alternatively, the methods may be performed by dedicated hardware of the main processor system 16, such as Application Specific Integrated Circuit (ASIC) or Graphics Processing Unit (GPU), for example, or by a combination of hardware and software. Parts of the method may alternatively be performed at one or more remote servers in communication with the transceiver 10. In such an example, compensation for delays associated with server communication may be performed.

[0047] Referring back to FIG. 9, the handshaking method will now be described with further reference to FIG. 2. At 170, a ranging request on a carrier frequency is transmitted to transceiver 2. If an acknowledgement is received, at 172, confirmation details are sent from transceiver 1 to transceiver 2 and successful handshaking is flagged, at 180. The confirmation details include: carrier frequencies, number of packets on each frequency and time outs. If acknowledgement is not received, at 172, and all carrier frequencies are exhausted, at 174, unsuccessful handshaking is flagged, at 176. Handshaking methods are well known and any such method may be used.

[0048] The methods described herein may be implemented using any wireless transmission protocol that permits inclusion of a user-defined payload within an overall transmitted packet. Such implementation allows for the methods described herein to be performed using types of radio sub-systems that prohibit low level access, such as Smartphone BLE radios, for example. According to an example, the successive modulated carrier signals are implemented as packets including the user-defined payload that are transmitted by the BLE radio sub-system. In this example, computer- implemented instructions for sending packets to the second transceiver are included in the transmission protocol of the first transceiver and estimation of range is performed by the first transceiver as previously described. Example transmission protocols that may be modified to include user defined payloads include: WiFi, FM, AM, Bluetooth™, BLE, Zigbee, 6LoWPan and Digital TV. An advantage of piggybacking the user-defined payload on packets that are being transmitted anyway is that the overall number of transmissions is reduced. Further, the methods may be implemented for hardware where direct access to the radio sub-systems is not possible.

[0049] Range determination, as described herein, may be used in environments in which GNSS-based range determination fails or is unreliable, such as dense urban environments and indoors, for example. The range determination system, methods and apparatus described herein may be used with radio beacon tracking systems and radio beacon location determination methods, systems and apparatus, such as described in PCT Application No. CA2016/051312, for example.

[0050] The method of determining range is performed when clocks of a first transceiver and a second transceiver are not synchronized. The transceivers 10 that perform the method described herein may include relatively inexpensive clocks, which may reduce costs significantly for applications in which multiple transceivers are deployed. In addition, transceiver clocks are not continuously monitored and controlled, which reduces resources dedicated to maintenance of clock synchronization.

[0051] Specific examples have been shown and described herein. However,

modifications and variations may occur to those skilled in the art. All such modifications and variations are believed to be within the scope and sphere of the present application.