WO2014043250A1 - Navigation based on locations of ofdm transmitters - Google Patents

Navigation based on locations of ofdm transmitters Download PDF

Info

Publication number
WO2014043250A1
WO2014043250A1 PCT/US2013/059285 US2013059285W WO2014043250A1 WO 2014043250 A1 WO2014043250 A1 WO 2014043250A1 US 2013059285 W US2013059285 W US 2013059285W WO 2014043250 A1 WO2014043250 A1 WO 2014043250A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal receiver
pilot
terrestrial transmitter
terrestrial
moving signal
Prior art date
Application number
PCT/US2013/059285
Other languages
French (fr)
Inventor
Richard G. Keegan
Jerry E. Knight
Original Assignee
Deere & Company
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/022,010 external-priority patent/US20150070209A1/en
Application filed by Deere & Company filed Critical Deere & Company
Publication of WO2014043250A1 publication Critical patent/WO2014043250A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/45Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
    • G01S19/46Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement the supplementary measurement being of a radio-wave signal type

Definitions

  • the disclosed embodiments relate generally to the field of signal processing at a signal receiver and in particular to a method and system for performing navigation at a signal receiver using range measurements to OFDM transmitters.
  • Satellite signal receivers e.g., GPS/Global Positioning System receivers, such as those used in automotive applications
  • perform various navigation functions by continuously computing and updating navigation parameters such as their ranges to satellites, their respective geographical locations and coordinates, and their speeds and velocities of motion in different directions.
  • a moving signal receiver obtains an initial set of signal receiver positions (e.g., using navigation information obtained from satellites or from the Global Navigation Satellite System, such as GPS tracking assistance including latitude, longitude, and elevation information) and at each of the respective positions, the moving signal receiver computes a respective range (e.g., a scalar distance) to a terrestrial transmitter (e.g., to an OFDM transmitter or transmit tower located on or substantially on the surface of the earth). The moving signal receiver then computes a location of the terrestrial transmitter (e.g., using methods such as triangulation) using the measured ranges to the terrestrial transmitter measured relative to the various positions of the moving signal receiver.
  • a respective range e.g., a scalar distance
  • a terrestrial transmitter e.g., to an OFDM transmitter or transmit tower located on or substantially on the surface of the earth.
  • the moving signal receiver then computes a location of the terrestrial transmitter (e.g., using methods such as triangulation) using the measured ranges to the terrestrial transmitter measured relative to
  • the moving signal receiver After obtaining a location fix for the terrestrial transmitter, the moving signal receiver performs subsequent navigation (e.g., updating its own location estimate, determining its velocity or speed of motion, and the like) with reference to the terrestrial transmitter.
  • subsequent navigation e.g., updating its own location estimate, determining its velocity or speed of motion, and the like
  • the moving signal receiver after obtaining an initial set of GNSS- aided positioning information, performs substantially all subsequent navigation using signals received from one or more terrestrial transmitters; thereby reducing or eliminating its reliance on GNSS-aided positioning or on satellite signals for subsequent navigation.
  • the moving signal receiver performs subsequent navigation using signals received from one or more terrestrial transmitters when predefined conditions are detected, such as a lack of GNSS signals or a lack of GNSS signals that meet predefined quality criteria (e.g., GNSS signals may fail to satisfy the predefined quality criteria due to one or more of weak signals, the presence of multipath signals, etc.).
  • predefined conditions such as a lack of GNSS signals or a lack of GNSS signals that meet predefined quality criteria (e.g., GNSS signals may fail to satisfy the predefined quality criteria due to one or more of weak signals, the presence of multipath signals, etc.).
  • a system and method for performing terrestrial navigation compute a range between a transmit location (e.g., a terrestrial transmitter) and a signal receiver (e.g., the moving signal receiver) through a determination of signal propagation time, by computing relative measures (e.g., differences) between computed phases of two or more designated orthogonal signals (e.g., of two or more pilot tones) transmitted by one or more terrestrial transmitters.
  • a transmit location e.g., a terrestrial transmitter
  • a signal receiver e.g., the moving signal receiver
  • relative measures e.g., differences
  • Alternative embodiments provide a system and method for performing navigation by computing a range between a transmit location and a signal receiver by correlating designated signal patterns (e.g., pilot tones) received from transmit locations (e.g., terrestrial transmitters) with locally stored (at the signal receiver) templates of the designated signal patterns, to obtain a signal propagation time and range to the transmit locations
  • designated signal patterns e.g., pilot tones
  • transmit locations e.g., terrestrial transmitters
  • a method of performing navigation is performed at a moving signal receiver.
  • the method includes determining a plurality of signal receiver positions and corresponding ranges to the moving signal receiver from a first terrestrial transmitter by, while positioned at each of a plurality of distinct positions, determining a position of the moving signal receiver based on signals received from one or more respective sources distinct from the first terrestrial transmitter; and while determining the position of the moving signal receiver, concurrently obtaining a respective range to the moving signal receiver from the first terrestrial transmitter.
  • the method further includes computing a location of the first terrestrial transmitter based on the plurality of signal receiver positions and corresponding ranges.
  • a method of computing a range between a transmit location and a signal receiver is performed at a signal receiver system having one or more processors and memory storing one or more programs for execution by the one or more processors so as to perform the method.
  • the method includes receiving, at the signal receiver, a time-domain signal that includes a plurality of pilot tones at a plurality of corresponding frequencies, where the time-domain signal is transmitted from a transmit location.
  • the method further includes extracting from the received time-domain signal pilot phase values corresponding to the pilot tones.
  • the method also includes computing a signal propagation time of the received time-domain signal by fitting an interpolation function to residual pilot phase values, corresponding to the extracted pilot phase values, and determining a slope of the interpolation function.
  • the method includes computing a range between the transmit location and the signal receiver by multiplying the computed signal propagation time with the speed of light.
  • a method of computing speed of the signal receiver is performed at a signal receiver system.
  • the method includes computing a first set of ranges, including said computed range, using signals received from a set of transmit locations at the signal receiver at a first time.
  • the method further includes computing a second set of ranges using the same signals received from the set of transmit locations at the signal receiver at a second time.
  • the method also includes computing a set of range change rates based on the first set of ranges, the second set of ranges and a difference between the second time and the first time.
  • the method includes computing a speed of the signal receiver by combining the set of range change rates, where each range in the first set of ranges being computed by fitting an interpolation function to residual pilot phase values, corresponding to extracted pilot phase values, for a respective signal received by the signal receiver and determining a slope of the interpolation function.
  • a signal receiver system includes one or more processors, memory, and one or more programs; the one or more programs are stored in the memory and configured to be executed by the one or more processors and the one or more programs include instructions for performing operations in accordance with any of the methods described above.
  • a non-transitory computer readable storage medium has stored therein instructions which when executed by one or more processors, cause the signal receiver system to perform operations in accordance with any of the methods described above.
  • Figure 1 illustrates a navigation system including a GNSS navigation system, one or more terrestrial transmitters and a signal receiver, in accordance with some embodiments.
  • Figure 2 is a block diagram illustrating a signal receiver used for navigation based on range, position, location, and speed estimation, in accordance with some
  • Figures 3A-3D include block diagrams illustrating components of a signal receiver used for navigation based on range, position, location, and speed estimation, in accordance with some embodiments.
  • Figure 4 is a block diagram illustrating a digital processor in the signal receiver configured for estimation of range to a terrestrial transmitter or a transmit location, location of a terrestrial transmitter or a transmit location, position of the signal receiver, and, optionally, speed of the signal receiver, in accordance with some embodiments.
  • Figures 5A-5B include flow diagrams illustrating estimation of range to a transmit location and speed of the signal receiver, in accordance with some embodiments.
  • Figures 6A-6B include a flow chart illustrating a method of navigation based on an estimation of range to a transmit location and a speed of the signal receiver, in accordance with some embodiments.
  • Figure 7 A includes a flow diagram illustrating estimation of range to a terrestrial transmitter from a moving signal receiver, in accordance with some embodiments.
  • Figure 7B includes prophetic phase plots illustrating computation of residual pilot phase values for pilot tones in a signal received from a terrestrial transmitter, in accordance with some embodiments.
  • Figure 7C includes a prophetic phase plot illustrating an interpolation function fitted to residual pilot phase values, corresponding to extracted pilot phase values, for a plurality of pilot tones transmitted by a terrestrial transmitter, in accordance with some embodiments.
  • Figures 8A-8B include a flow chart illustrating a method of navigation based on an estimation of a plurality of positions of a moving signal receiver and corresponding ranges to a terrestrial transmitter, in accordance with some embodiments.
  • Satellite signal receivers for computing various -mentioned navigation parameters rely on obtaining multiple concurrent GNSS (Global Navigation Satellite Systems) or satellite signals.
  • the multiple concurrently-obtained signals from satellites facilitate conventional triangulation-based navigation.
  • satellite-based triangulation approaches to navigation are highly reliant on establishment of multiple simultaneous robust satellite links on a consistent and/or continuous basis.
  • satellite communication links are susceptible to disruption by environmental factors (e.g., weather conditions), physical factors (e.g., the absence or obstruction of direct or line of sight satellite signal propagation paths due to physical natural obstructions such as dense foliage, mountainous terrain, etc.), and man-made factors (e.g., physical obstructions from man-made structures such as buildings; signal degradation from electromagnetic interference).
  • first means “first,” “second,” etc.
  • these elements should not be limited by these terms. These terms are only used to distinguish one element from another.
  • a first signal could be termed a second signal, and, similarly, a second signal could be termed a first signal, without changing the meaning of the description, so long as all occurrences of the "first signal” are renamed consistently and all occurrences of the second signal are renamed consistently.
  • the first signal and the second signal are both signals, but they are not the same signal.
  • pilot tones are herein defined to mean orthogonal signals at known or predefined frequencies, typically at equally spaced frequencies in a predefined range of frequencies, having predefined data or signal patterns to facilitate identification and locking onto the pilot tones.
  • Figure 1 includes a block diagram illustrating a navigation system (e.g.,
  • Navigation System 100 comprising a satellite navigation system (e.g., a Global Navigation Satellite System (GNSS) composed of one or more satellites), a terrestrial navigation system (e.g., composed of one or more terrestrial transmit towers), and a signal receiver (e.g., Signal Receiver 120) for performing navigation functions.
  • GNSS Global Navigation Satellite System
  • a terrestrial navigation system e.g., composed of one or more terrestrial transmit towers
  • a signal receiver e.g., Signal Receiver 120
  • Navigation System 100 includes one or more satellites (e.g., GPS satellites), GNSS satellites, and the like.
  • GNSS Satellite(s) 110 transmit signals (e.g., signals containing navigation information) to be received by Signal Receiver 120.
  • signals e.g., signals containing navigation information
  • GNSS satellite(s) 110 transmit(s) signals in frequency bands corresponding to the LI frequency band (e.g., a frequency band that includes 1559 MHz - 1591 MHz, or a portion thereof), the L2 frequency band (e.g., a frequency band that includes 1211 MHz - 1243 MHz, or a portion thereof), and/or the L5 frequency band (e.g., a frequency band that includes 1160 MHz - 1192 MHz, or a portion thereof).
  • the LI frequency band e.g., a frequency band that includes 1559 MHz - 1591 MHz, or a portion thereof
  • the L2 frequency band e.g., a frequency band that includes 1211 MHz - 1243 MHz, or a portion thereof
  • the L5 frequency band e.g., a
  • Navigation System 100 further includes a terrestrial navigation system comprising one or more Transmit Location(s)/Tower(s) 130 (alternatively referred to herein as Terrestrial Transmitter(s) 130).
  • the one or more Transmit Location(s)/Tower(s) 130 correspond to or include terrestrial transmitters located on or substantially on the surface of planet earth (e.g., at a height of 0-100 feet above the earth's topographical surface).
  • the one or more Transmit Location(s)/Tower(s) 130 transmit one or more corresponding time-domain signals that each include a plurality of pilot tones at a plurality of corresponding frequencies (i.e., each pilot tone is transmitted at a respective corresponding frequency).
  • the one or more Transmit Location(s)/Tower(s) 130 correspond to or include OFDM transmitters (e.g., transmitters that transmit Orthogonal Frequency Division Multiplexed or OFDM signals).
  • the plurality of pilot tones correspond to OFDM pilot tones and are mutually orthogonal signals.
  • the spectral value (e.g., the power) of each of the other pilot tones in the plurality of pilot tones is negligible (e.g., each of the other pilot tones in the plurality of pilot tones has zero power).
  • the OFDM tones (also referred to herein as subcarriers) correspond to OFDM signal frequencies F P F 2 , P 2 , F 3 , F 4 , F 5 , F 6 , F 7 , P 3 , P 4 , F 8 , F 9 , F 10 , P 5 , P 6 , F n , F 12 , P 7
  • the plurality of pilot tones occur at designated frequencies forming a subset of the frequencies of the OFDM tones (also referred to herein as subcarriers) which are defined, for example, by LTE (Long Term Evolution) specifications.
  • the plurality of pilot tones occur at designated frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 .
  • the duration (or symbol period) of the OFDM time-domain signal is equal to, or an integral multiple of, the inverse of the frequency spacing (e.g., subcarrier frequency spacing, AF, as shown in Figure 7C) between the consecutive, orthogonal subcarrier or OFDM tone frequencies (of which the pilot tone frequencies form a subset).
  • the frequency spacing e.g., subcarrier frequency spacing, AF, as shown in Figure 7C
  • OFDM Orthogonal Frequency Division Multiplexing
  • U.S. Pat. No. 3,488,445 "Orthogonal Frequency Multiplex Data Transmission System” is hereby incorporated by reference as background information.
  • Signal Receiver 120 receives signals from the satellite navigation system (e.g., GNSS signals from GNSS Satellite(s) 110) and/or from the terrestrial navigation system (e.g., OFDM signals from the Terrestrial Transmitter(s) 130 or Transmit Location(s)/Tower(s) 130) and processes the satellite (e.g., GNSS) signals and the terrestrial (e.g., OFDM) signals individually or in combination to perform a navigation function (e.g., to compute a range between the transmit location and the signal receiver and/or to compute a speed of the signal receiver).
  • GNSS signals e.g., GNSS signals from GNSS Satellite(s) 110
  • the terrestrial navigation system e.g., OFDM signals from the Terrestrial Transmitter(s) 130 or Transmit Location(s)/Tower(s) 130
  • Signal Receiver 120 includes analog and digital circuitry for pre-processing the signals received from the terrestrial navigation system (e.g., OFDM signals). Signal Receiver 120 also includes analog and digital circuitry for pre-processing the signals received from the satellite navigation system (e.g., GNSS signals). Signal Receiver 120 includes signal conditioning elements (e.g., filters and amplifiers) in the analog signal processing circuitry that selectively emphasize signals having frequencies of interest, and reject or attenuate signals that do not have frequencies within the frequency band(s) of interest.
  • signal conditioning elements e.g., filters and amplifiers
  • FIG. 2 is a block diagram illustrating Signal Receiver 120 in accordance with some embodiments.
  • Signal Receiver 120 receives signals from one or more Transmit Location(s)/Tower(s) 130 (e.g., Transmit Location/Tower 130-a, Transmit Location/Tower 130-b, and the like) via Antenna 202-a and from one or more GNSS Satellite(s) 110 (GNSS Satellite 110-a, GNSS Satellite 110-b, and the like) via Antenna 202-b.
  • Transmit Location/Tower(s) 130 e.g., Transmit Location/Tower 130-a, Transmit Location/Tower 130-b, and the like
  • Antenna 202-a GNSS Satellite(s) 110
  • Antenna 202-a is tuned or tunable to frequencies corresponding to OFDM signal frequencies— e.g., as defined by LTE/Long Term Evolution specifications (as explained with reference to Figure 3A).
  • Antenna 202-b is tuned or tunable to frequencies (e.g., frequency bands) corresponding to GNSS signal frequencies (as explained with reference to Figure 3A).
  • Signal Receiver 120 includes analog and digital signal processing circuitry
  • OFDM Receiver 206-a includes Analog Signal Processing Circuitry 208-a and optionally, Sampling Circuitry 210-a.
  • Analog Signal Processing Circuitry 208-a is coupled to Antenna Interface 204-a for processing the received signals to produce filtered signals.
  • Analog Signal Processing Circuitry 208-a includes various frequency, amplitude, and phase conditioning components, such as, one or more analog filters and/or one or more gain (e.g., amplification) stages.
  • Analog Signal Processing Circuitry 208-a corresponds to or includes a low noise amplifier.
  • Sampling Circuitry 210-a optionally samples the filtered signals from Analog Signal Processing Circuitry 208 so as to produce digital representation(s) of the received time- domain signals.
  • circuitry for producing the digital representation(s) of the received time-domain signals further includes quantization circuitry and digitization circuitry.
  • Signal Receiver 120 further includes Range Estimator 212 to process the time- domain signals received from the one or more Transmit Location(s)/Tower(s) 130 to compute a range between the corresponding Transmit Location(s)/Tower(s) 130 and Signal Receiver 120 (as explained further with reference to Figure 3B).
  • Signal Receiver 120 includes analog and digital signal processing circuitry (e.g., GNSS Antenna Interface 204-b and GNSS Receiver 206-b) to pre- process time-domain signals (e.g., GNSS signals) obtained from one or more GNSS Satellite(s) 110.
  • GNSS Receiver 206-b includes Analog Signal Processing Circuitry 208-b and Sampling Circuitry 210-b.
  • Analog Signal Processing Circuitry 208-b is coupled to Antenna Interface 204-b for processing the received GNSS signals to produce filtered signals.
  • Analog Signal Processing Circuitry 208-b includes various frequency, amplitude and phase conditioning components, such as, one or more analog filters and/or one or more gain (amplification) stages.
  • the frequency, amplitude and phase conditioning components that constitute Analog Signal Processing Circuitry 208-b optionally have different frequency, amplitude, and phase conditioning properties than the corresponding frequency, amplitude and phase conditioning components compared to Analog Signal Processing Circuitry 208-a.
  • Analog Signal Processing Circuitry 208-b corresponds to or includes a low noise amplifier.
  • Circuitry for producing the digitized received signals further includes quantization circuitry and digitization circuitry.
  • Analog Signal Processing Circuitry 208-b includes a demodulator to down- convert the received GNSS signals to produce baseband signals.
  • Signal Receiver 120 further includes GNSS Signal Pre-Processing Module 213 to process the time-domain signals received from the one or more Satellite(s) 110 to augment navigation functions (e.g., to be used in conjunction with or independently from navigation parameters, such as range, location and/or speed computed by Range Estimator 212 based on the time-domain signals received from the one or more Transmit Location(s)/Tower(s) 130) performed by Signal Receiver 120.
  • GNSS Signal Pre-Processing Module 213 optionally includes compensation circuitry to compensate for amplitude and/or group delay distortions introduced by Antenna Interface 204-b and/or Analog Signal Processing Circuitry 208-b.
  • Signal Receiver 120 optionally includes a separate Antenna Interface 204-b,
  • GNSS Receiver(s) 206-b and/or GNSS Signal Pre-Processing Module 213 for each frequency band of interest for example, the LI (e.g., 1575.42 ⁇ 16 MHz; or 1559 MHz - 1591 MHz), L2 (e.g., 1227.6 ⁇ 16 MHz; or 1211 MHz -1243 MHz) and L5 (e.g., 1176.45 ⁇ 16 MHz; or 1160 MHz - 1192 MHz) frequency bands.
  • LI e.g., 1575.42 ⁇ 16 MHz; or 1559 MHz - 1591 MHz
  • L2 e.g., 1227.6 ⁇ 16 MHz; or 1211 MHz -1243 MHz
  • L5 e.g., 1176.45 ⁇ 16 MHz; or 1160 MHz - 1192 MHz
  • Signal Receiver 120 also includes Digital Processor 214, Clock
  • Digital Processor 214 processes the navigation parameters obtained from
  • the result includes a range to a satellite, ranges to multiple satellites, a range to a transmit location (e.g., a terrestrial transmitter), ranges to multiple transmit locations (e.g., terrestrial transmit locations), navigation result(s), geographical location(s), and/or satellite time value(s).
  • Digital Processor 214 is implemented using one or more microprocessors or other programmable processors. Digital Processor 214 is further described herein with reference to Figure 4. In some implementations, Digital Processor 214 is configured to operate on baseband signals.
  • Digital Processor 214 includes Microprocessor 218, optionally includes OFDM Signal Processor 216, and optionally includes GNSS Signal Processor 217.
  • GNSS Signal Processor 217 typically includes circuitry, such as correlators, for analyzing signals received from GNSS Satellite(s) 110 and thereby assisting Microprocessor 218 to perform navigation functions and optionally other functions.
  • Digital Processor 214 includes and executes control instructions for controlling synchronized sampling of the received OFDM signals based on the duration and start of the symbol period.
  • Digital Processor 214 (e.g., Microprocessor 218) provides pilot tone frequencies (e.g., by referencing an almanac or from LTE specifications) to Range Estimator 212 (e.g., to compute the range between respective Transmit Location(s)/Tower(s) 130 and Signal Receiver 120).
  • Digital Processor 214 e.g., OFDM Signal Processor 216) includes a circuitry corresponding to a speed estimation module that computes a speed of Signal Receiver 120 (e.g., as described in further detail in relation to Method 600, operations 628- 636) by computing a set of range change rates from a set of ranges (e.g., provided by Range Estimator 212), and by subsequently combining the set of range change rates.
  • Clock 240 provides synchronized clock timing signals to Sampling Circuitry 210-a and Sampling Circuitry 210-b.
  • Clock 240 receives control instructions from Digital Processor 214 for synchronized sampling of the received OFDM signals based on the duration and start of the OFDM symbol period, as described further below.
  • OFDM Antenna Interface 204-a, OFDM Receiver 206- a, Range Estimator 212, GNSS Antenna Interface 204-b, GNSS Receiver 206-b, GNSS Signal Pre-Processing Module 213, Digital Processor 214 and Clock 240 are all contained within a Housing 250.
  • OFDM Antenna Interface 204-a, OFDM Receiver 206- a, Range Estimator 212, GNSS Antenna Interface 204-b, GNSS Receiver 206-b, GNSS Signal Pre-Processing Module 213, Digital Processor 214 and Clock 240 are mounted on a single circuit board (e.g., Circuit Board 260).
  • OFDM Antenna Interface 204-a and/or GNSS Antenna Interface 204-b is/are not mounted on the circuit board on which the other components are mounted.
  • Circuit Board 260 is contained within Housing 250.
  • Figure 3A is a block diagram illustrating an Antenna Interface 204 (e.g.,
  • Antenna Interface 204 includes one or more filters (e.g., Filter(s) 304-a and Filter(s) 304-b) to limit the frequencies of Received Signals 302 to frequencies of interest.
  • Filter(s) 304-a and Filter(s) 304-b include filters with fixed or variable (e.g., tunable) properties.
  • Antenna Interface 204 also includes one or more Amplifiers 306 for amplifying or strengthening signals of interest. Amplifiers 306 may include one or more amplifiers with fixed or variable (e.g., tunable) properties.
  • Figure 3A represents a general architecture for Antenna Interface 204
  • the specific properties e.g., corner frequencies of Filter(s) 304-a and Filter(s) 304-b and/or amplification gains of Amplifiers 306
  • corner frequencies of Filter(s) 304-a and Filter(s) 304-b and/or amplification gains of Amplifiers 306 would be different for different applications (e.g., different for OFDM Antenna Interface 204-a and for GNSS Antenna Interface 204-b) and for interfacing with signals having different frequencies of interest and/or different amplitudes.
  • Antenna Interface 204 when configured as OFDM Antenna Interface 204-a is configured to operate at one or more predefined OFDM frequency bands (e.g., 1.4 MHz to 20 MHz, with 15 kHz subcarrier spacing, as defined by the LTE specification, or the frequency bands of any other OFDM signal, whether currently existing or built in the future) of the respective Transmit Location(s)/Tower(s) 130 ( Figure 1) and/or to adjust amplitudes of the OFDM signals.
  • predefined OFDM frequency bands e.g., 1.4 MHz to 20 MHz, with 15 kHz subcarrier spacing, as defined by the LTE specification, or the frequency bands of any other OFDM signal, whether currently existing or built in the future
  • Antenna Interface 204 when configured as GNSS Antenna Interface 204-b is configured to operate at one or more of the LI (e.g., 1575.42 ⁇ 16 MHz; or 1559 MHz - 1591 MHz), L2 (e.g., 1227.6 ⁇ 16 MHz; or 1211 MHz -1243 MHz) and/or L5 (e.g., 1176.45 ⁇ 16 MHz; or 1160 MHz - 1192 MHz) frequency bands and/or to adjust amplitudes of the GNSS signals.
  • LI e.g., 1575.42 ⁇ 16 MHz; or 1559 MHz - 1591 MHz
  • L2 e.g., 1227.6 ⁇ 16 MHz; or 1211 MHz -1243 MHz
  • L5 e.g., 1176.45 ⁇ 16 MHz; or 1160 MHz - 1192 MHz
  • Figure 3B includes a block diagram illustrating a Range Estimator 212, in accordance with some embodiments.
  • Range Estimator 212 processes the received time- domain signals at Signal Receiver 120 (e.g., OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130) to compute a range (e.g., Range 328) between the transmit location (e.g., Transmit Location(s)/Tower(s) 130) and the signal receiver (e.g., Signal Receiver 120).
  • Range Estimator 212 includes Pilot Phase Extraction Module 314, Interpolation Module 316, Signal Propagation Time Estimation Module 320, and Range Estimation Module 322 (sometimes called the Range Determination Module).
  • Pilot Phase Extraction Module 314 extracts from the received time-domain signals (e.g., OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130; received time-domain signal 502, Figure 5A) pilot phase values (e.g., phases of pilot tones present in the received time-domain signals) corresponding to a plurality of pilot tones at a plurality of corresponding frequencies (also referred to herein as 'pilot tone frequencies').
  • Range Estimator 212 generates, obtains, or otherwise provides a representation of the plurality of frequencies corresponding to the plurality of pilot tones (or, pilot tone frequencies). Accordingly, Pilot Phase Extraction Module 314 obtains the plurality of frequencies corresponding to the plurality of pilot tones.
  • Pilot Phase Extraction Module 314 obtains Pilot Tone Frequencies 326 (e.g., from Digital Processor 214, Figure 2, and/or by referencing a locally- stored or remotely- located almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications).
  • Pilot Tone Frequencies 326 e.g., from Digital Processor 214, Figure 2, and/or by referencing a locally- stored or remotely- located almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications.
  • Pilot Phase Extraction Module 314 extracts pilot phase values corresponding to a plurality of pilot tones by performing a time-to-frequency domain transformation (e.g., a Fourier transform) on a set of samples generated from sampling the received time-domain signal (e.g., OFDM signal received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130), as explained in further detail with reference to Figure 3C and with respect to operations 608-614 (Method 600, Figure 6A).
  • a time-to-frequency domain transformation e.g., a Fourier transform
  • Pilot Phase Extraction Module 314 extracts pilot phase values (or a representation thereof) corresponding to a plurality of pilot tones by processing the received time-domain signal (e.g., OFDM signal received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130) with a parallel set of signal correlators, as explained in further detail with reference to Figure 3D and with respect to operation 616 (Method 600, Figure 6A).
  • the received time-domain signal e.g., OFDM signal received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130
  • Interpolation Module 316 obtains extracted pilot phase values (e.g., phases of pilot tones present in the received time-domain signals, such as Extracted Pilot Phase Values 4>(Y k ) shown in Figure 7B) from Pilot Phase Extraction Module 314. Interpolation Module 316 optionally computes residual pilot phase values (e.g., Residual Pilot Phase Values cb(Y k )- 4>(X k ) shown in Figure 7B and in Figure 7C). To that end, in some embodiments, Interpolation Module 316 includes Residual Phase Extraction Module 318 to compute residual pilot phase values.
  • extracted pilot phase values e.g., phases of pilot tones present in the received time-domain signals, such as Extracted Pilot Phase Values 4>(Y k ) shown in Figure 7B
  • Interpolation Module 316 optionally computes residual pilot phase values (e.g., Residual Pilot Phase Values cb(Y k )- 4>(X k ) shown in Figure 7B and in
  • Residual Phase Extraction Module 318 optionally computes the aforementioned residual phase values, corresponding to the extracted pilot phase values (e.g., phases of pilot tones present in the time-domain signals received from terrestrial transmitted s)), by subtracting from the extracted pilot phase values a representation of the pilot phase values (e.g., Transmit Pilot Phase Values cb(X k ), shown in Figure 7B) at the transmit location (e.g., Transmit Location(s)/Tower(s) 130) at the time of signal transmission, as explained mathematically below:
  • ⁇ ( ⁇ ) is the phase of the pilot tone at the transmit location (X k ) or receive location (Y k )
  • k is the subcarrier index
  • AF is the subcarrier spacing (e.g., see Figure 7C);
  • ⁇ ⁇ is the phase difference between the transmit and receive references
  • the residual phase value for a given subcarrier cb(Y k )-
  • Interpolation Module 316 subsequently fits an interpolation function to residual pilot phase values (e.g., Interpolation function fitted to pilot phase values 506, Figure 5 A; and Interpolation Function 750 fitted to residual pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7 for corresponding pilot tones or pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , Figure 7C), corresponding to the extracted pilot phase values.
  • Interpolation Module 316 fits an interpolation function to the extracted pilot phase values (e.g., phases of pilot tones present in the received time-domain signals and extracted by Pilot Phase Extraction Module 314).
  • Interpolation Module 316 fits an interpolation function to residual pilot phase values, corresponding to the extracted pilot phase values using interpolation methods (e.g., curve-fitting, polynomial interpolation, spline interpolation, Gaussian interpolation, regression-based methods and the like).
  • interpolation methods e.g., curve-fitting, polynomial interpolation, spline interpolation, Gaussian interpolation, regression-based methods and the like.
  • Interpolation Module 316 obtains a representation of the plurality of frequencies corresponding to the plurality of pilot tones (e.g., Pilot tone frequencies 510, Figure 5 A). For example, as shown in Figure 3B, Pilot Phase Extraction Module 314 obtains Pilot Tone Frequencies 326 corresponding to the plurality of pilot tones in Received Time-Domain Signals 312, for example the signals received from a terrestrial transmitter.
  • pilot tone frequencies 510 e.g., Pilot tone frequencies 510, Figure 5 A
  • Pilot Phase Extraction Module 314 obtains Pilot Tone Frequencies 326 corresponding to the plurality of pilot tones in Received Time-Domain Signals 312, for example the signals received from a terrestrial transmitter.
  • Interpolation Module 316 obtains pilot tones or pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , respectively corresponding to the pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7 , as illustrated in Figure 7C.
  • Interpolation Module 316 obtains Pilot Tone Frequencies 326 by referencing an almanac (e.g., stored locally on Signal Receiver 120, or stored remote to and separate from Signal Receiver 120) and/or from referencing OFDM pilot tone frequencies defined by LTE specifications.
  • an almanac e.g., stored locally on Signal Receiver 120, or stored remote to and separate from Signal Receiver 120
  • Digital Processor 214 (e.g., Microprocessor 218, Figure 1) generates, obtains, or otherwise provides a representation of the plurality of frequencies (e.g., Pilot Tone Frequencies 326) corresponding to the plurality of pilot tones.
  • Interpolation Module 316 obtains a representation of the plurality of frequencies (e.g., Pilot Tone Frequencies 326) corresponding to the plurality of pilot tones from Digital Processor 214 (e.g., Microprocessor 218, Figure 1).
  • Signal Propagation Time Estimation Module 320 obtains from Interpolation
  • Module 316 an interpolation function fitted to residual pilot phase values (e.g., Interpolation function fitted to pilot phase values 506, Figure 5A; Interpolation Function 750 fitted to residual pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7 for corresponding pilot tones or pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , respectively, Figure 7C).
  • Signal Propagation Time Estimation Module 320 subsequently determines a slope of the interpolation function (e.g., as explained below with reference to Figure 7C).
  • Signal Propagation Time Estimation Module 320 determines the slope, td, of the interpolation function based on a difference in residual phase (or, equivalently, the difference in measured phase at the receiver), 2 ⁇ ?3 ⁇ 4, between two pilot tones having a frequency difference of ⁇ .
  • a difference in residual phase or, equivalently, the difference in measured phase at the receiver
  • 2 ⁇ ?3 ⁇ 4 between two pilot tones having a frequency difference of ⁇ .
  • the difference in residual phase between pilot tones 508 is 2 ⁇ 3 ⁇ 4 and the frequency difference between pilot tones 512 is ⁇ .
  • the difference in residual phase ⁇ 6 - ⁇ 3 2 ⁇ 3 ⁇ 4 between the pilot tones at frequencies P 6 and P 3 , and the frequency difference between pilot tones is ⁇ .
  • the phase of the pilots tones at the transmitter is the same for all pilot tones, and therefore the determination of the slope, td, can be determined by differencing the measured phase of two pilot tones having a frequency difference of ⁇ , without having explicit knowledge of the pilot tone phases at the transmitter (and thus without explicitly computing the residual phases). Stated another way, in such implementations, given two pilot tones transmitted by the same transmitter, the difference between the residual pilot tone phases of the two pilot tones is equal to the difference between the corresponding measured pilot tone phases.
  • Signal Propagation Time Estimation Module 320 obtains a representation of at least a subset of the plurality of frequencies corresponding to the plurality of pilot tones (e.g., from Digital Processor 214 Figure 2, from a local or remote almanac and/or from referencing OFDM pilot tone frequencies from LTE specifications).
  • Pilot Phase Extraction Module 314 obtains Pilot Tone Frequencies 326 (or a subset thereof) for the plurality of pilot tones, corresponding to which a difference in residual phase is computed (e.g., Difference in residual phase, 2 ⁇ 3 ⁇ 4, between pilot tones 508, Figure 5A).
  • Signal Propagation Time Estimation Module 320 obtains a representation of two frequencies, having a frequency difference of ⁇ , of two pilot tones, and computes the difference in residual phase, 2 ⁇ 3 ⁇ 4.
  • Signal Propagation Time Estimation Module 320 obtains, generates, or otherwise provides the frequency difference, ⁇ , between the two frequencies (e.g., between pilot tone frequencies P 6 and P 3 , Figure 7C) corresponding to the two pilot tones, and computes the difference in residual phase, 2 ⁇ 3 ⁇ 4 (e.g., for the pilot tones at frequencies P 6 and P 3 , Figure 7C).
  • Signal Propagation Time Estimation Module 320 computes a signal propagation time or slope of the interpolated function (e.g., Signal propagation time (td) or Slope of interpolation function 514, Figure 5 A).
  • Range Estimation Module 322 obtains a signal propagation time (e.g., Signal propagation time (t d ) or Slope of interpolation function 514, Figure 5 A) from Signal Propagation Time Estimation Module 320. Range Estimation Module 322 computes a range (e.g., Range 328; or Range between transmit location and signal receiver 518, Figure 5 A) between the transmit location (e.g., Transmit Location(s)/Tower(s) 130) and the signal receiver (e.g., Signal Receiver 120) by multiplying the computed signal propagation time with the speed of light (e.g., Speed of light 516, Figure 5A).
  • a signal propagation time e.g., Signal propagation time (t d ) or Slope of interpolation function 514, Figure 5 A
  • Range Estimation Module 322 computes a range (e.g., Range 328; or Range between transmit location and signal receiver 518, Figure 5 A) between the transmit location (e.g., Trans
  • Figure 3C includes a block diagram illustrating a Pilot Phase Extraction
  • Pilot Phase Extraction Module 314 extracts pilot phase values (e.g., Pilot Phase Values 344) corresponding to a plurality of pilot tones by performing a time-to-frequency domain transformation (e.g., a Fourier transform) on a set of samples generated from sampling received time-domain signals (e.g., Received Time -Domain Signals 312, such as OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130).
  • a time-to-frequency domain transformation e.g., a Fourier transform
  • Module 314 includes Synchronized Sampler 330, Serial-to-Parallel Converter 332, fast Fourier transform module (FFT) 334, Pilot Tone Frequency Complex Value Extraction Module 336, and Phase Estimation Module 338.
  • FFT module 334 is replaced with a generalized Fourier transform module.
  • Synchronized Sampler 330 samples the received time-domain signals (e.g., Received Time -Domain Signals 312) to generate a set of samples.
  • Received Time-Domain Signals 312 correspond to OFDM signals obtained from one or more OFDM transmit locations
  • Synchronized Sampler 330 samples Received Time-Domain Signals 312 for a period of the OFDM symbols.
  • Synchronized Sampler 330 samples Received Time-Domain Signals 312 beginning at a start time and for a duration specified by a timing reference (e.g., OFDM Symbol Time Reference 340) indicating an OFDM symbol start time and an OFDM symbol duration, respectively.
  • a timing reference e.g., OFDM Symbol Time Reference 340
  • Serial-to-Parallel Converter 332 obtains from Synchronized Sampler 330 a serial stream of samples corresponding to Received Time -Domain Signals 312 and converts them into a parallel stream of samples.
  • the number of parallel samples corresponds to the number of samples on which FFT 334 operates.
  • Serial-to-Parallel Converter 332 repeatedly buffers 1024 samples of the serial input obtained from Synchronized Sampler 330 and generates 1024 corresponding parallel samples.
  • FFT 334 obtains a parallel stream of samples from Serial-to-Parallel Converter
  • FFT 334 performs a Fourier transform on the set of samples to produce a set of complex value pairs.
  • FFT 334 performs a time-to-frequency domain transformation (e.g., a Fourier transform, using a fast Fourier transform implementation) on the parallel stream of samples obtained from Serial-to-Parallel Converter 332 to generate a set of complex value pairs, each complex value pair corresponding to a frequency bin.
  • the complex value pair for each frequency bin includes a real portion and an imaginary portion (alternately referred to herein as the in-phase or T component and the quadrature or 'Q ' component, respectively).
  • the complex value pair for each frequency bin has a corresponding magnitude value and phase value.
  • FFT 334 is implemented in software, hardware (e.g., on an FFT chip), or on a digital signal processor.
  • Pilot Tone Frequency Complex Value Extraction Module 336 obtains complex value pairs from FFT 334, each complex value pair corresponding to a frequency bin or frequency value (e.g., defined by the Fourier transform performed by FFT 334) in a frequency range that spans at least a subset of the frequency range of the received time- domain signal (e.g., Received Time-Domain Signals 312). Pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each pilot tone in a set of pilot tones that includes at least a subset of the aforementioned plurality of pilot tones.
  • a frequency bin or frequency value e.g., defined by the Fourier transform performed by FFT 3344
  • pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each pilot tone in a set of pilot tones that includes at least a subset of the aforementioned plurality of pilot tones.
  • pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each pilot tone in a subset of the pilot tones, e.g., for each of the pilot tones at
  • Pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each of the pilot tones at the designated pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 .
  • the frequency range Xi MHz to X 2 MHz is 1.4 MHz to 20 MHz
  • the pilot tones are OFDM subcarrier signals with 15 kHz subcarrier spacing.
  • Phase Estimation Module 338 obtains from Pilot Tone Frequency Complex
  • Phase Estimation Module 338 estimates (e.g., computes) phase values from the set of complex value pairs obtained from Pilot Tone Frequency Complex Value Extraction Module 336 to produce pilot phase values (e.g., Pilot Phase Values 344).
  • the estimated (e.g., computed) pilot phase values are phase values of each of the complex value pairs corresponding to the pilot tones in the set of pilot tones.
  • the complex value pair for each frequency bin e.g., for each pilot tone or each corresponding pilot tone frequency
  • the magnitude value ('r') and phase value (' ⁇ ') of a complex value pair relate to the real portion (' ⁇ ') and the imaginary portion ('y') of the respective complex value pair as follows:
  • Module 338 estimates (e.g., computes) phase values from the set of complex value pairs for each of the pilot tones at the designated pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 .
  • the total phase change (or phase shift) over the frequency span of the received signals e.g., the received OFDM signals
  • resulting discontinuities e.g., due to phase-wrapping
  • phase of the received signals are eliminated (e.g., by Phase Estimation Module 338), for example by methods such as "phase unwrapping" (e.g., by the addition or subtraction of integer multiples of 2 ⁇ radians).
  • Phase Estimation Module 338 estimates (e.g., computes) pilot phase values (e.g., Pilot Phase Values 344) from the set of complex value pairs for the set of pilot tones or pilot tone frequencies as described above.
  • Figure 3D includes a block diagram illustrating a Pilot Phase Extraction
  • Pilot Phase Extraction Module 314 extracts pilot phase values corresponding to a plurality of pilot tones by processing received time-domain signals (e.g., OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130) with a parallel set of signal correlators, each for correlating the received time-domain signal with a respective pilot tone. For example, as shown in Figure 3D, Received Time-Domain Signals 312 received at Pilot Phase Extraction Module 314 are processed with a parallel set of signal correlators (e.g., Signal Correlator 346-a, Signal Correlator 346-b, Signal Correlator 346-n, and the like).
  • received time-domain signals e.g., OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130
  • a parallel set of signal correlators each for correlating the received time-domain signal with a respective pilot tone.
  • Each of the signal correlators in the parallel set of signal correlators correlates (e.g., performs a mathematical cross-correlation operation by performing a series of shift, multiply, and add operations) the received signal (e.g., Received Time-Domain Signals 312) with a respective pilot tone (e.g., each of the respective Pilot Tone Signals 347) to extract pilot phase values (e.g., Pilot Phase Values 348-a, Pilot Phase Values 348-b, Pilot Phase Values 348-n, and the like) corresponding to the respective pilot tones.
  • Pilot Tone Signals 347 are typically locally stored or locally generated pilot tone signals, stored or generated within the receiver 120 that incorporated digital signal processor 324.
  • Pilot Phase Extraction Module 314 extracts a representation of pilot phase values (e.g., a measure of phase lag or time lag between respective pilot tones) rather than a direct measure of the pilot phase values.
  • pilot phase values e.g., a measure of phase lag or time lag between respective pilot tones
  • Figure 4 is a block diagram illustrating Digital Processor 214 in accordance with one embodiment of the present invention.
  • the Digital Processor 214 typically includes one or more processing units (CPU's) 402 for executing modules, programs and/or instructions stored in Memory 410 and thereby performing processing operations; one or more network or other Communications Interfaces 404; Memory 410; and one or more Communication Buses 409 for interconnecting these components.
  • the Communication Buses 409 optionally include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
  • the Digital Processor 214 optionally includes a User Interface 405 comprising a Display Device 406 and Input Devices 408.
  • Memory 410 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and optionally, but typically, includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices.
  • Memory 410 optionally includes one or more storage devices remotely located from the CPU(s) 402.
  • Memory 410, or alternately the non- volatile memory device(s) within Memory 410 comprises a non-transitory computer readable storage medium.
  • Memory 410, or the computer readable storage medium of Memory 410 stores the following programs, modules and data structures, or a subset thereof:
  • Operating System 412 that includes procedures for handling various basic system
  • Network Communication Module 414 that is used for connecting the Digital
  • Processor 214 to other computers via the one or more communication network interfaces 404 (wired or wireless) and one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on;
  • User Interface Module 416 that receives commands from the user via one or more Input Devices 408 of User Interface 405, generates user interface objects in Display Device 406, and/or displays maps, coordinates, routes, etc., related to the position of Signal Receiver 120;
  • Navigation Module 418 that produces navigation results (e.g., a range to satellite, ranges to multiple satellites, geographic positioning, location information, and/or a time value) by processing digitized satellite signals received from Satellite Positioning System Receiver 474 and/or by processing digitized OFDM signals received from OFDM Pilot Tone Receiver(s) 470;
  • Range Estimation Module 420 that computes a range between a respective transmit location (e.g., Terrestrial Transmitter(s) or Transmit Location(s)/Tower(s) 130) and Signal Receiver 120 (e.g., a moving signal receiver) by computing a signal propagation time of the received time-domain signal from extracted pilot phase values (e.g., as described in further detail in relation to Method 600, operations 620-624) and by subsequently multiplying the computed signal propagation time with the speed of light;
  • a respective transmit location e.g., Terrestrial Transmitter(s) or Transmit Location(s)/Tower(s) 130
  • Signal Receiver 120 e.g., a moving signal receiver
  • Speed Estimation Module 421 that computes a speed of Signal Receiver 120 (e.g., as described in further detail with reference to Method 600, operations 628-636) by computing a set of ranges and a corresponding set of range change rates, and by subsequently combining the set of range change rates;
  • Pilot Tone Frequencies 422 that include multiple sets of pilot tone frequencies (e.g., corresponding to OFDM pilot tone frequencies defined by LTE specifications), optionally obtained by referencing an almanac;
  • Position Estimation Module 424 that receives, computes, retrieves, or otherwise
  • a position e.g., a current or instantaneous position
  • a plurality of positions of Signal Receiver 120 e.g., the moving signal receiver
  • Transmitter Location Estimation Module 426 that computes a location of Terrestrial Transmitter(s) 130 (e.g., location of a first terrestrial transmitter 130-a, Figure 1; location of a second terrestrial transmitter 130-b, Figure 1 and the like) based on the plurality of signal receiver positions of Signal Receiver 120 (e.g., a plurality of positions of the moving signal receiver) obtained from Position Estimation Module 424 and corresponding ranges between the Terrestrial Transmitter(s) 130 and Signal Receiver 120 obtained from Range Estimation Module 420; as described with reference to Method 800, Figures 8A-8B.
  • Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and each of the modules corresponds to a set of instructions for performing a function described above.
  • the above identified modules or programs i.e., sets of instructions
  • Memory 410 stores a subset of the modules and data structures identified above.
  • Memory 410 optionally stores additional modules and data structures not described above.
  • Figure 4 shows a "Digital Processor"
  • Figure 4 is intended more as functional description of the various features which may be present in a set of digital processors than as a structural schematic of the embodiments described herein.
  • items shown separately could be combined and some items could be separated.
  • some items shown separately in Figure 4 could be implemented on single processors and single items could be implemented by one or more processors.
  • the actual number of processors used to implement Digital Processor 214 and how features are allocated among them will vary from one implementation to another, and may depend in part on the amount of data traffic that the system must handle during peak usage periods as well as during average usage periods.
  • Figure 5 A is a flow diagram illustrating range estimation at a signal receiver
  • received time-domain signal 502 e.g., Received Time -Domain Signals 312, Figures 3B-3D
  • the signal receiver e.g., Signal Receiver 120, Figure 2
  • Processed Time -Domain Signals 312, Figures 3B-3D are received at the signal receiver (e.g., Signal Receiver 120, Figure 2) and processed as shown in Figure 5 A to produce a Range 518 between a respective transmit location and the signal receiver (e.g., Range 328, Figure 3B).
  • Pilot phase values 504 e.g., Pilot Phase
  • Pilot phase values 504 e.g., Pilot Phase Values 344, Figure 3C
  • Received time-domain signal 502 e.g., Received Time -Domain Signals 312
  • FFT 520 Fourier transform
  • Pilot phase values 504 are extracted from Received time- domain signal 502 (e.g., Received Time-Domain Signals 312) by processing received time- domain signals (e.g., OFDM signals received at Signal Receiver 120 from Transmit
  • a parallel set of signal correlators e.g., Parallel Set of Signal Correlators 530
  • each for correlating the received time-domain signal with a respective pilot tone e.g., Parallel Set of Signal Correlators 530
  • Signal Receiver 120 subsequently obtains an Interpolation function fitted to pilot phase values 506 (as explained with reference to Interpolation Module 316, Figure 3B) and computes a Difference in residual phase (2 ⁇ 3 ⁇ 4) between pilot tones 508 (as explained with reference to Figure 3B).
  • Signal Receiver 120 also obtains Pilot tone frequencies 510 (e.g., Pilot Tone Frequencies 326), for example from an almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications, and computes Frequency difference ( ⁇ ) between pilot tones 512.
  • Pilot tone frequencies 510 e.g., Pilot Tone Frequencies 326
  • Signal Receiver 120 divides the computed Difference in residual phase
  • Signal Receiver 120 (e.g., Range Estimation Module 322, Figure 3B) then obtains Range between transmit location and signal receiver 518 (e.g., Range 328, Figure 3B) by multiplying Signal propagation time (td) 514 by the Speed of light 516.
  • Range Estimation Module 322, Figure 3B e.g., Range 328, Figure 3B
  • Figure 5B is a flow diagram illustrating speed estimation at a signal receiver
  • Signal Receiver 120 computes a first set of ranges, including First Computed Range (Rl) 552-a, using signals received (e.g., Received Time -Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550-a) First Measured Time (tl) 554-a.
  • Rl First Computed Range
  • Signal Receiver 120 computes a second set of ranges, including Second Computed Range (R2) 552-b, using signals received (e.g., Received Time-Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550-a) Second Measured Time (t2) 554-b.
  • a plurality of ranges is computed using signals received from a plurality of distinct transmit locations.
  • Signal Receiver 120 combines the plurality of ranges to obtain an estimate of the instantaneous position of Signal Receiver 120 (e.g., a position of Signal Receiver 120 as co-ordinates in a two-dimensional plane or a three- dimensional space).
  • a plurality of corresponding range spheres is optionally computed, each range sphere corresponding to a respective transmit location (defining the center of the respective sphere) and a range to the corresponding transmit location (defining the radius of the respective sphere).
  • Signal Receiver 120 then computes (e.g., by triangulation) one or more points of intersection of the plurality of range spheres as candidate positions of Signal Receiver 120.
  • Signal Receiver 120 optionally resolves a single position corresponding to a valid candidate position of Signal Receiver 120 by using additional information (e.g., elevation, one or more GNSS ranges and the like).
  • Signal Receiver 120 computes a plurality of range changes (e.g., to the same transmit location at different times or to different transmit locations). In such embodiments, Signal Receiver 120 computes a vector velocity (e.g., corresponding to the velocity of motion of Signal Receiver 120) based on the magnitudes and directions of two or more of the plurality of range changes. In some embodiments, Signal Receiver 120 performs a plurality of range change measurements after perturbing its position a plurality of times so as to obtain distinct range change measures with respect to a single transmit location. In some implementations, Signal Receiver 120 combines the plurality of range changes to obtain a vector velocity measurement.
  • a vector velocity e.g., corresponding to the velocity of motion of Signal Receiver 120
  • Signal Receiver 120 computes a two-dimensional velocity vector in the same plane as the two or more coplanar range changes by combining the magnitudes and directions of the coplanar range change measures.
  • Signal Receiver 120 computes three or more non-cop lanar range changes corresponding to three or more distinct transmitters, or three or more distinct measurement positions of Signal Receiver 120, then Signal Receiver 120 computes a three-dimensional velocity vector by combining the magnitudes and directions of the three or more non-coplanar range change measures.
  • Figures 6A-6B illustrate a flowchart representing a method 600 for computing a range to a signal receiver, according to certain embodiments of the invention.
  • method 600 is governed by instructions that are stored in a computer readable storage medium (e.g., memory 410 of digital processor 214, Figure 4) and that are executed by one or more processors (e.g., CPU(s) 402, Figure 4) of one or more signal receivers (e.g., signal receivers 120, Figure 2).
  • processors e.g., CPU(s) 402, Figure 4
  • each of the operations shown in Figures 6A-6B corresponds to instructions stored in a computer memory or computer readable storage medium (e.g., memory 410 of digital processor 214, Figure 4).
  • the computer readable storage medium optionally includes a magnetic or optical disk storage device, solid state storage devices such as Flash memory, or other non-volatile memory device or devices.
  • the computer readable instructions stored on the computer readable storage medium are in source code, assembly language code, object code, or other instruction format that is interpreted by one or more processors.
  • the signal receiver receives (602) a time-domain signal that includes a plurality of pilot tones at a plurality of corresponding frequencies.
  • the time-domain signal is transmitted (603) from a transmit location.
  • Signal Receiver 120 Figure 1 receives a time-domain signal (e.g., Received Time-Domain Signals 312, Figures 3B-3D; Received time-domain signal 502, Figure 5A) that includes a plurality of pilot tones at a plurality of corresponding frequencies (e.g., Pilot Tone Frequencies 326, Figure 3B).
  • the transmit location corresponds to (604) a terrestrial transmitter.
  • Received Time -Domain Signals 312 are transmitted from a transmit location (e.g., Transmit Location(s)/Tower(s) 130).
  • the transmit location corresponds to an OFDM transmitter (e.g., a transmitter that transmits OFDM— Orthogonal Frequency Division Multiplexed— signals).
  • the plurality of pilot tones are (605) mutually orthogonal signals.
  • the spectral value (e.g., the power) of each of the other pilot tones in the plurality of pilot tones is negligible (e.g., each of the other pilot tones in the plurality of pilot tones has zero power if the frequency synthesizer at the receiver accurately locks onto one of the known pilot tones).
  • orthogonality of the pilot tones is defined as follows:
  • the OFDM tones (also referred to herein as subcarriers) correspond to OFDM signal frequencies F l s Pi, F 2 , P 2 , F 3 , F 4 , F 5 , F 6 , F 7 , P 3 , P 4 , F 8 , F 9 , F 10 , P 5 , P 6 , Fn, F 12 , P 7
  • the plurality of pilot tones occur at designated frequencies forming a subset of the frequencies of the OFDM tones (also referred to herein as subcarriers) which are defined, for example, by LTE (Long Term Evolution) specifications.
  • the plurality of pilot tones occur at designated frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 .
  • the duration (or symbol period) of the OFDM time-domain signal is equal to, or an integral multiple of, the inverse of the frequency spacing (e.g., subcarrier frequency spacing) between the consecutive, orthogonal subcarrier or OFDM tone frequencies (of which the pilot tone frequencies form a subset).
  • the signal receiver extracts (606) from the received time-domain signal pilot phase values corresponding to the pilot tones. For example, as explained above with reference to Figure 3B, Signal Receiver (e.g., Pilot Phase Extraction Module 314) extracts from the received time-domain signal (Received Time-Domain Signals 312) pilot phase values (e.g., Pilot Phase Values 344, Figures 3C; Pilot Phase Value(s) 348, Figure 3D) corresponding to the pilot tones.
  • Pilot Phase Extraction Module 314 extracts from the received time-domain signal (Received Time-Domain Signals 312) pilot phase values (e.g., Pilot Phase Values 344, Figures 3C; Pilot Phase Value(s) 348, Figure 3D) corresponding to the pilot tones.
  • extracting from the received time-domain signal pilot phase values corresponding to the pilot tones includes operations 608-614.
  • the signal receiver samples (608) the received time-domain signal to generate a set of samples.
  • the signal receiver samples the received time- domain signal synchronized to the OFDM symbol period.
  • Synchronized Sampler 330 samples Received Time-domain Signals 312 synchronized to the OFDM symbol period as indicated by OFDM Symbol Time Reference 340, to generate a set of samples.
  • the signal receiver performs (610) a Fourier transform on the set of samples to produce a set of complex value pairs.
  • FFT 334 Figure 3C
  • performs a time-to-frequency domain transform e.g., a Fourier transform
  • the set of complex value pairs comprises (612) a complex value pair for each pilot tone in a set of pilot tones that comprises at least a subset of the plurality of pilot tones.
  • FFT 334 generates complex value pairs at frequency bins or frequency values (e.g., as defined by the Fourier transform performed by FFT 334) corresponding to frequencies Fi, Pi, F 2 , P 2 , F 3 , F 4 , F 5 , F 6 , F 7 , P 3 , P 4 , F 8 , F 9 , F 10 , P 5 , P 6 , F n , F 12 , P 7 (e.g., Figure 7C), and if the plurality of pilot tones occur at designated frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 (e.g., as defined by LTE specifications or as obtained from an almanac), then Pilot Tone Freque
  • Pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each of the pilot tones (e.g., at frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 ).
  • the signal receiver extracts (614) phase values from the set of complex value pairs to produce said pilot phase values.
  • Phase Estimation Module 338 estimates (e.g., computes) pilot phase values (e.g., Pilot Phase Values 344) from the set of complex value pairs for each pilot tone or pilot tone frequency as described mathematically above with reference to Figure 3C.
  • Phase Estimation Module 338 estimates (e.g., computes) pilot phase values (e.g., pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7 ) for each pilot tone or pilot tone frequency (e.g., for pilot tones at frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , respectively).
  • pilot phase values e.g., pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7
  • pilot phase values e.g., pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7
  • pilot tone or pilot tone frequency e.g., for pilot tones at frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , respectively.
  • Signal Receiver 120 when Received Time-Domain Signals 312 correspond to OFDM signals, Signal Receiver 120 (e.g., Synchronized Sampler 330) samples the Received Time-Domain Signals 312 for the period of the OFDM symbols (e.g., at a 15 KHz symbol rate as defined by LTE specifications).
  • the received OFDM signal includes more than one hundred (e.g., 900) distinct pilot and data tones (sometimes collectively called subcarriers).
  • Signal Receiver 120 (e.g., Synchronized Sampler 330) obtains 2 N samples, where N is an integer (e.g., 1024 samples), per OFDM symbol and subsequently, FFT 334 performs a 2 N point Fourier transform to obtain a set of 2 N complex value pairs. Generally, the number of points in the Fourier transform is greater than the number of subcarriers.
  • distinct transmitters e.g., Transmit Location(s)/Tower(s) 130-a, Transmit Location(s)/Tower(s) 130-b, and the like
  • the pilot tone frequencies for distinct transmitters are defined by LTE specifications.
  • extracting from the received time-domain signal pilot phase values corresponding to the pilot tones comprises processing (616) the received time-domain signal with a parallel set of signal correlators, each for correlating the received time-domain signal with a respective pilot tone.
  • a parallel set of signal correlators e.g., Signal Correlator 346-a, Signal Correlator 346-b, Signal Correlator 346-n, and the like.
  • Each of the signal correlators in the parallel set of signal correlators correlates (e.g., performs a mathematical cross- correlation operation by performing a series of shift, multiply, and add operations) the received signal (e.g., Received Time -Domain Signals 312) with a respective pilot tone (e.g., each of the respective Pilot Tone Signals 347) to extract pilot phase values (e.g., Pilot Phase Values 348-a, Pilot Phase Values 348-b, Pilot Phase Values 348-n, and the like) corresponding to the respective pilot tones.
  • pilot phase values e.g., Pilot Phase Values 348-a, Pilot Phase Values 348-b, Pilot Phase Values 348-n, and the like
  • the signal receiver computes (618) a signal propagation time of the received time-domain signal, e.g., by performing operations 620-624.
  • the signal receiver fits (620) an interpolation function to residual pilot phase values (e.g., Interpolation Function 750 fitted to residual pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7 for corresponding pilot tones at pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , respectively, Figure 7C), corresponding to the extracted pilot phase values.
  • Interpolation Function 750 fitted to residual pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7 for corresponding pilot tones at pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , respectively, Figure 7C
  • Interpolation Module 316 ( Figure 3B), fits an interpolation function (e.g., Interpolation function fitted to pilot phase values 506, Figure 5A; Interpolation Function 750, Figure 7C) to residual pilot phase values (e.g., pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7 for pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , respectively, as shown in Figure 7C), corresponding to the extracted pilot phase values.
  • Interpolation Module 316 optionally includes Residual Phase Extraction Module 318 to compute residual pilot phase values.
  • the signal receiver fits an interpolation function to residual pilot phase values, corresponding to the extracted pilot phase values using interpolation methods (e.g., curve- fitting, polynomial interpolation, spline interpolation, Gaussian interpolation, regression- based methods and the like). In some embodiments, the signal receiver fits (621) the interpolation function to the extracted pilot phase values.
  • interpolation methods e.g., curve- fitting, polynomial interpolation, spline interpolation, Gaussian interpolation, regression- based methods and the like.
  • the signal receiver fits (621) the interpolation function to the extracted pilot phase values.
  • the signal receiver determines (622) a slope of the interpolation function.
  • the slope, td, of the interpolation function corresponds to (624) a difference in residual phase, 2 ⁇ ?3 ⁇ 4, between two pilot tones having a frequency difference of ⁇ .
  • Signal Propagation Time Estimation Module 320 ( Figure 3B) computes a Difference in residual phase (2 ⁇ 3 ⁇ 4) between pilot tones 508 ( Figure 5A, Figure 7C).
  • Signal Propagation Time Estimation Module 320 ( Figure 3B) obtains Pilot tone frequencies 510 (e.g., Pilot Tone Frequencies 326, Figure 3B), for example from an almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications.
  • Signal Propagation Time Estimation Module 320 then computes or otherwise obtains a Frequency difference ( ⁇ ) between pilot tones 512 ( Figure 5A). As explained above, Signal Propagation Time Estimation Module 320 computes Signal propagation time (td) or Slope of interpolation function 514 by dividing the Difference in residual phase (2 ⁇ 3 ⁇ 4) between pilot tones 508 (see Figure 5A, Figure 7C) by the Frequency difference ( ⁇ ) between the same pilot tones 512 (see Figure 5 A, Figure 7C).
  • the signal receiver computes (626) a range between the transmit location and the signal receiver by multiplying the computed signal propagation time with the speed of light.
  • Range Estimation Module 322 ( Figure 3B) obtains Range between transmit location and signal receiver 518 (e.g., Range 328, Figure 3B) by multiplying Signal propagation time (td) 514 by the Speed of light 516 ( Figure 5 A).
  • the signal receiver computes (628) a first set of ranges, including said computed range, using signals received from a set of transmit locations at the signal receiver at a first time.
  • each range in the first set of ranges is computed (630) by fitting an interpolation function to residual pilot phase values, corresponding to extracted pilot phase values, for a respective signal received by the signal receiver and by determining a slope of the interpolation function.
  • Signal Receiver 120 computes a first set of ranges, including First Computed Range (Rl) 552-a ( Figure 5A), using signals received (e.g., Received Time-Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550-a) First Measured Time (tl) 554-a ( Figure 5A).
  • Signal Receiver 120 computes a first set of ranges, including First Computed Range (Rl) 552-a ( Figure 5A), using signals received (e.g., Received Time-Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550-a) First Measured Time (tl) 554-a ( Figure 5A).
  • Signal Receiver 120 computes a first set of ranges, including First Computed Range (R
  • the signal receiver computes (632) a second set of ranges using the same signals received from the set of transmit locations at the signal receiver at a second time.
  • Signal Receiver 120 computes a second set of ranges, including Second Computed Range (R2) 552- b, using signals received (e.g., Received Time-Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550- a) Second Measured Time (t2) 554-b.
  • the signal receiver then computes (634) a set of range change rates based on the first set of ranges, the second set of ranges and a difference between the second time and the first time.
  • AR/At Range Change Rate
  • Figures 6A-6B have been described are merely illustrative and are not intended to indicate that the described order is the only order in which the operations could be performed.
  • One of ordinary skill in the art would recognize various ways to reorder the operations described herein.
  • details of other processes described herein with respect to method 800 are also applicable in an analogous manner to method 600 described above with respect to Figures 6A-6B.
  • the interpolation function, extracted pilot phase values, residual pilot phase values, pilot tones, and ranges described above with reference to method 600 may have one or more of the characteristics of the various the interpolation function, extracted pilot phase values, residual pilot phase values, pilot tones, and ranges described herein with reference to method 800. For brevity, these details are not repeated here.
  • Figure 7A includes a flow diagram illustrating determination of the range to a terrestrial transmitter from a moving signal receiver, sometimes herein called estimation of the range, in accordance with some embodiments. Only those aspects of Figure 7A that differ from Figure 5A are described here, to avoid needless repetition.
  • the range between a terrestrial transmitter (transmit location) and a moving signal receiver is computed (718) from the signal (e.g., an OFDM signal) received (702) from the first terrestrial transmitter (e.g., Terrestrial Transmitter 130-a), using the methods explained herein with reference to Figure 5 A above.
  • the signal e.g., an OFDM signal
  • Figure 7B includes prophetic phase plots illustrating computation of residual pilot phase values corresponding to extracted pilot phase values for pilot tones in a signal (e.g., an OFDM signal) received from a terrestrial transmitter, in accordance with some embodiments
  • extracted pilot phase values e.g., ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • Extracted Pilot Phase Values 4>(Y k ) shown in Figure 7B) are obtained from an inverse Fourier transform of the signal received from the first terrestrial transmitter. For example, a respective phase value at a respective pilot tone frequency is computed from the respective complex value pair at the respective pilot tone frequency obtained from the inverse Fourier Transform of the signal received from the terrestrial transmitter.
  • a representation of the corresponding pilot phase values (e.g., Transmit Pilot Phase Values 4>(X k ) shown in Figure 7B) at the transmit location (e.g., at the Terrestrial Transmitters(s) 130 or Transmit Location(s)/Tower(s) 130) at the time of signal transmission is obtained (e.g., retrieved from an almanac or otherwise estimated by the moving signal receiver).
  • residual pilot phase values e.g., Residual Pilot Phase
  • ⁇ ( ⁇ ) is the phase of the pilot tone at the transmit location (X k ) or receive location (Y k )
  • k is the subcarrier index
  • AF is the subcarrier spacing (explained with reference to figure 7C below);
  • t d is the propagation delay;
  • ⁇ ⁇ is the phase difference between the transmit and receive references.
  • pilot tone frequencies, subcarrier spacing, and signal bandwidth are determined by referencing an almanac or from LTE specifications.
  • the pilot tone frequencies, subcarrier spacing, and signal bandwidth (e.g., OFDM signal bandwidth) used by a first terrestrial transmitter e.g., a first OFDM transmitter
  • the pilot tone frequencies, subcarrier spacing, and signal bandwidth e.g., OFDM signal bandwidth
  • a first terrestrial transmitter e.g., a first OFDM transmitter
  • signal bandwidth e.g., OFDM signal bandwidth
  • Figure 7B is intended more as an illustrative description of the phase relations between extracted pilot phase values, transmit pilot phase values, and residual pilot phase values, one or more of which are optionally used in the embodiments described herein.
  • the phase plots described with reference to Figure 7B could be discrete or continuous plots.
  • phase values corresponding to each of the extracted pilot phase values, transmit pilot phase values, and residual pilot phase values optionally correspond to the respective phase values measured only at a discrete set of pilot tone frequencies forming a small (e.g., sparse) subset of the OFDM signal frequency range.
  • phase plots described in Figure 7B would optionally correspond to discrete scatter plots with phase values computed or measured only at the discrete frequencies of pilot tones (e.g., as further explained with reference to Figure 7C below), rather than the continuous traces shown in Figure 7B.
  • Figure 7C includes a prophetic phase plot illustrating an interpolation function
  • pilot tone frequencies correspond to a discrete set of frequencies forming a small (e.g., sparse) subset of the OFDM signal frequency range.
  • the OFDM signal frequently includes data channels at a first predefined set of subcarrier frequencies and pilot tones at a second predefined set of subcarrier frequencies.
  • the OFDM tones (also referred to herein as subcarriers) correspond to OFDM signal frequencies (also called subcarrier frequencies) F P F 2 , P 2 , F 3 , F 4 , F 5 , F 6 , F 7 , P 3 , P 4 , F 8 , F 9 , F 10 , P 5 , P 6 , F n , F 12 , P 7 (as shown in Figure 7C)
  • the plurality of pilot tones occur at designated frequencies forming a subset of the frequencies of the OFDM tones which are defined, for example, by LTE (Long Term Evolution) specifications.
  • the plurality of pilot tones occur at illustrative designated frequencies Pi , P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 and data channels occur at F l s F 2 , F 3 , F 4 , F5, F 6 , F 7i Fs, F9, F10, Fn, Fi 2 .
  • the subcarrier frequency spacing between the consecutive, orthogonal subcarrier or OFDM tone frequencies (of which the pilot tone frequencies form a subset) is AF.
  • this subcarrier spacing is mathematically an inverse of the duration (or symbol period) of the OFDM time-domain signal or an inverse of an integral multiple thereof.
  • pilot phase values e.g., pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ , and ⁇ 7
  • pilot tone or pilot tone frequency e.g., for pilot tones or pilot tone frequencies Pi , P 2 , P 3 , P 4 , P5, P 6 , and P 7 respectively.
  • the residual pilot phase values e.g., to residual pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ , and ⁇ 7 for corresponding pilot tones or pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 respectively
  • Figures 8A-8B illustrate a flowchart representing a method 800 for performing navigation at a moving signal receiver, according to certain embodiments of the invention.
  • method 800 is governed by instructions that are stored in a computer readable storage medium (e.g., memory 410 of digital processor 214, Figure 4) and that are executed by one or more processors (e.g., CPU(s) 402, Figure 4) of one or more signal receivers (e.g., signal receivers 120, Figure 2).
  • processors e.g., CPU(s) 402, Figure 4
  • signal receivers e.g., signal receivers 120, Figure 2
  • each of the operations shown in Figures 8A-8B corresponds to instructions stored in a computer memory or computer readable storage medium (e.g., memory 410 of digital processor 214, Figure 4).
  • the computer readable storage medium optionally includes a magnetic or optical disk storage device, solid state storage devices such as Flash memory, or other non- volatile memory device or devices.
  • the computer readable instructions stored on the computer readable storage medium are in source code, assembly language code, object code, or other instruction format that is interpreted by one or more processors.
  • a moving signal receiver determines (802) a plurality of signal receiver positions and corresponding ranges to the moving signal receiver from a first terrestrial transmitter by, while positioned at each of a plurality of distinct positions, performing one or more of operations 804-820 described herein.
  • the plurality of signal receiver positions corresponds to three or more positions in a single plane defining a two- dimensional space (e.g., described as coordinates on a substantially planar portion of the topographical surface of planet earth, such as latitude and longitude coordinates).
  • the plurality of positions corresponds to three or more positions in at least two distinct planes defining a three-dimensional space (e.g., described as coordinates in three- dimensional space, such as latitude and longitude coordinates along with elevation above mean sea level).
  • determining corresponding ranges to the moving signal receiver from the first terrestrial transmitter comprises determining, at each of the plurality of positions, a respective scalar distance (e.g., a shortest distance without directionality) or a respective vector distance (e.g., a shortest distance with directionality or orientation) between an instantaneous (e.g., current) position of the moving signal receiver and the first terrestrial transmitter.
  • the first terrestrial transmitter e.g., a transmit tower
  • the first terrestrial transmitter is located on or substantially on the surface of planet earth (e.g., at a predefined height between 0-100 feet above the earth's topographical surface at the geographic location of the first terrestrial transmitter).
  • the first terrestrial transmitter is located at a predefined height between 0-100 feet above mean sea level.
  • the first terrestrial transmitter located at a geographic location at 1500 feet above mean sea level (e.g., on a hill) the first terrestrial transmitter is located at a predefined height between 1500- 1600 feet above mean sea level (or 0-100 feet above the earth's topographical surface at the hill).
  • the first terrestrial transmitter located at a geographic location at 1000 feet below mean sea level (e.g., in a cave or mine) the first terrestrial transmitter is located at a predefined height between 900-1000 feet below mean sea level (or 0-100 feet above the earth's topographical surface at the cave or mine).
  • the moving signal receiver determines (804) a position of the moving signal receiver based on signals received from one or more respective sources (e.g., GPS coordinates corresponding to the position of the moving signal receiver based on GNSS tracking or from one or more satellites, such as latitude, longitude, and/or elevation above mean sea level) distinct from the first terrestrial transmitter.
  • the moving signal receiver is a continuously or substantially continuously moving signal receiver and determining a position of the moving signal receiver comprises determining an instantaneous (e.g., a current) position of the continuously moving signal receiver.
  • the moving signal receiver is a signal receiver moving in discrete motion segments interspersed or interleaved with stationary states between consecutive motion segments (e.g., the moving signal receiver is quasi-static) and determining a position of the moving signal receiver comprises determining a position of the moving signal receiver during a respective stationary state between consecutive motion segments.
  • the moving signal receiver undergoes an average scalar displacement of at least 1 meter per second, at least 10 meters per second, or least 100 meters per second, or moves at any other speed suitable for performing a particular predefined function.
  • the one or more respective sources include (806) at least one GNSS satellite.
  • the position of the moving signal receiver corresponds to GPS (Global Positioning System) coordinates obtained from GNSS signals.
  • the first terrestrial transmitter is (808) an OFDM transmitter (e.g., a first OFDM transmitter that transmits Orthogonal Frequency Division Multiplexed or OFDM signals) that transmits a plurality of pilot tones (e.g., a first set of a plurality of pilot tones) at a plurality of corresponding frequencies (e.g., at a first set of corresponding frequencies); and the plurality of pilot tones are mutually orthogonal signals.
  • OFDM pilot tones are obtained by the moving signal receiver by referencing a locally-stored or remotely-located almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications.
  • the spectral value (e.g., the power) of each of the other pilot tones in the plurality of pilot tones is negligible (e.g., each of the other pilot tones in the plurality of pilot tones has zero power if the frequency synthesizer at the receiver accurately locks onto one of the known pilot tones). More generally, orthogonality of the pilot tones is defined as follows:
  • subcarriers correspond to OFDM signal frequencies Fi, Pi, F 2 , P 2 , F 3 , F 4 , F 5 , F 6 , F 7 , P 3 , P 4 , F 8 , F 9 , F 10 , P 5 , P 6 , Fn, F 12 , P 7 , the plurality of pilot tones occur at designated frequencies forming a subset of the frequencies of the OFDM tones (also referred to herein as subcarriers) which are defined, for example, by LTE (Long Term Evolution) specifications.
  • LTE Long Term Evolution
  • the plurality of pilot tones occur at designated frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 (see, for example, Figure 7C).
  • the duration (or symbol period) of the OFDM time-domain signal is equal to, or an integral multiple of, the inverse of the frequency spacing (e.g., subcarrier frequency spacing, AF, as shown in Figure 7C) between the consecutive, orthogonal subcarrier or OFDM tone frequencies (of which the pilot tone frequencies form a subset).
  • the moving signal receiver While determining the position of the moving signal receiver, concurrently obtains (810) a respective range (e.g., a scalar or vector distance) to the moving signal receiver from the first terrestrial transmitter.
  • a respective range e.g., a scalar or vector distance
  • the moving signal receiver is a continuously or substantially continuously moving signal receiver and obtaining a respective range to the moving signal receiver from the first terrestrial transmitter comprises obtaining (e.g., computing) an instantaneous (e.g., a current) range or instantaneous scalar or vector distance to the continuously moving signal receiver from the first terrestrial transmitter.
  • the moving signal receiver is a signal receiver moving in discrete motion segments interspersed or interleaved with stationary states between consecutive motion segments (e.g., the moving signal receiver is quasi-static) and obtaining a respective range to the moving signal receiver from the first terrestrial transmitter comprises obtaining (e.g., computing) a respective range or a respective scalar or vector distance to the moving signal receiver from the first terrestrial transmitter during a respective stationary state of the moving signal receiver between consecutive motion segments.
  • a respective range to the moving signal receiver from the first terrestrial transmitter is a distance between the moving signal receiver and the first terrestrial transmitter measured directly from an estimation of the signal propagation delay (td) introduced by the signal path between the respective position of the moving signal receiver and the location of the first terrestrial transmitter.
  • the range obtained directly from an estimation of the propagation delay (td) is a more accurate and reliable representation of the range or distance between the moving signal receiver and the first terrestrial transmitter as compared to code and carrier range measurements traditionally obtained from GNSS sources.
  • the satellite range measurements (e.g., code and carrier range measurements) obtained from GNSS sources are often subject to errors, biases, and skews in the satellite clock or in the receiver clock and are therefore less precise and less accurate than the range that is measured directly from a determination (sometime herein called estimation) of the signal propagation delay (t d ).
  • obtaining the respective range to the moving signal receiver from the first terrestrial transmitter comprises performing one or more of operations 812-820.
  • the moving signal receiver fits (812) an interpolation function to residual pilot phase values (e.g., Interpolation function fitted to pilot phase values 506, Figure 5 A; Interpolation Function 750 fitted to residual pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇ 7 for corresponding pilot tones or pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 , respectively, Figure 7C), corresponding to extracted pilot phase values, for the plurality of pilot tones transmitted by the first terrestrial transmitter.
  • an interpolation function to residual pilot phase values e.g., Interpolation function fitted to pilot phase values 506, Figure 5 A; Interpolation Function 750 fitted to residual pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ 6 , and ⁇
  • the extracted pilot phase values for the plurality of pilot tones include (814) a respective extracted pilot phase value, for a respective pilot tone in the plurality of pilot tones, computed from a respective complex value pair corresponding to the respective pilot tone, the respective complex value pair obtained from an inverse Fourier transform of a signal received from the first terrestrial transmitter (e.g., received signal 702, Figure 7A).
  • the moving signal receiver computes an inverse Fourier transform of the signal received from the first terrestrial transmitter and obtains extracted pilot phase values (e.g., Extracted Pilot Phase Values 4>(Y k ) shown in Figure 7B) from respective complex value pairs obtained from the inverse Fourier Transform.
  • extracted pilot phase values e.g., Extracted Pilot Phase Values 4>(Y k ) shown in Figure 7B
  • the magnitude value ('r') and phase value (' ⁇ ') of a complex value pair relate to the real portion (' ⁇ ') and the imaginary portion ('y') of the respective complex value pair as follows:
  • the moving signal receiver obtains (e.g., estimates or retrieves) a representation of the corresponding pilot phase values at the transmit location (e.g., Terrestrial Transmitters(s) 130 or Transmit Location(s)/Tower(s) 130) at the time of signal transmission (e.g., Transmit Pilot Phase Values 4>(X k ) shown in Figure 7B).
  • a representation of the corresponding pilot phase values at the transmit location e.g., Terrestrial Transmitters(s) 130 or Transmit Location(s)/Tower(s) 130
  • Transmit Pilot Phase Values 4>(X k ) shown in Figure 7B e.g., Transmit Pilot Phase Values 4>(X k ) shown in Figure 7B.
  • the moving signal receiver then computes residual pilot phase values (e.g., Pilot Phase Values, Figure 5A; Residual Pilot Phase Values 4>(Y k )-4>(X k ) shown in Figure 7B and in Figure 7C) corresponding to the extracted pilot phase values by subtracting from the extracted pilot phase values the corresponding pilot phase values at the transmit location (e.g., Transmit Pilot Phase Values 4>(X k ) shown in Figure 7B), as explained mathematically below:
  • residual pilot phase values e.g., Pilot Phase Values, Figure 5A; Residual Pilot Phase Values 4>(Y k )-4>(X k ) shown in Figure 7B and in Figure 7C
  • ⁇ ( ⁇ ) is the phase of the pilot tone at the transmit location (X k ) or receive location (Y k )
  • k is the subcarrier index
  • AF is the subcarrier spacing
  • ⁇ ⁇ is the phase difference between the transmit and receive references
  • the residual phase value for a given subcarrier k is equal
  • the moving signal receiver then fits an interpolation function to the residual pilot phase values corresponding to the extracted pilot phase values (see operation 506 in Figures 5A and 7A).
  • Figure 7C shows Interpolation Function 750 fitted to residual pilot phase values ⁇ , ⁇ 2 , ⁇ 3 , ⁇ 4 , ⁇ 5 , ⁇ , and ⁇ 7 for corresponding pilot tones or pilot tone frequencies Pi, P 2 , P 3 , P 4 , P 5 , P 6 , and P 7 .
  • the moving signal receiver samples the signal received from the first terrestrial transmitter for the period of the OFDM symbols (e.g., at a 15 KHz symbol rate as defined by LTE specifications).
  • the received OFDM signal includes more than one hundred (e.g., 900) distinct pilot and data tones.
  • the moving signal receiver or Signal Receiver 120 e.g., Synchronized Sampler 330
  • FFT 334 performs a 1024 point Fourier transform to obtain a set of 1024 complex value pairs.
  • distinct transmitters use distinct pilot tone frequencies for the designated pilot tones.
  • the pilot tone frequencies for distinct transmitters are defined by LTE specifications.
  • extracting pilot phase values corresponding to the pilot tones comprises processing the received signal with a parallel set of signal correlators, each for correlating the received signal with a respective pilot tone.
  • a parallel set of signal correlators e.g., Signal Correlator 346-a, Signal Correlator 346-b, Signal Correlator 346-n, and the like.
  • Each of the signal correlators in the parallel set of signal correlators correlates (e.g., performs a mathematical cross- correlation operation by performing a series of shift, multiply, and add operations) the received signal (e.g., Received Time-Domain Signals 312) with a respective pilot tone (e.g., each of the respective Pilot Tone Signals 347) to extract pilot phase values (e.g., Pilot Phase Values 348-a, Pilot Phase Values 348-b, Pilot Phase Values 348-n, and the like) corresponding to the respective pilot tones.
  • pilot phase values e.g., Pilot Phase Values 348-a, Pilot Phase Values 348-b, Pilot Phase Values 348-n, and the like
  • the aforementioned parallel set of signal correlators is replaced with a smaller number of correlators, each having a multiplexor to select a pilot tone from a set of pilot tones assigned to that signal correlator.
  • each signal correlator uses the multiplexors to cycle through the pilot tones coupled to each multiplexor, each signal correlator produces results (correlation results, pilot phase values) for multiple pilot tones.
  • the moving signal receiver determines (816) a slope of the interpolation function.
  • the slope of the interpolation function is scaled by a constant (e.g., 2 ⁇ ) to obtain td.
  • the moving signal receiver computes (820) the respective range to the moving signal receiver from the first terrestrial transmitter by multiplying the determined slope of the interpolation function with the speed of light. [00130]
  • the moving signal receiver (e.g., after determining a plurality of signal receiver positions and corresponding ranges) computes (822) a location of the first terrestrial transmitter based on the plurality of signal receiver positions and corresponding ranges.
  • the moving signal receiver uses mathematical triangulation to compute a location of the first terrestrial transmitter.
  • the moving signal receiver combines the plurality of ranges to obtain an estimate of the location of the first terrestrial transmitter (e.g., a location of the first terrestrial transmitter as co-ordinates in a two-dimensional plane or a three-dimensional space).
  • a plurality of corresponding range spheres is optionally computed, each range sphere corresponding to a respective signal receiver position (defining the center of the respective sphere) and a corresponding range to the first terrestrial transmitter (defining the radius of the respective sphere).
  • the moving signal receiver then computes (e.g., by triangulation) one or more points of intersection of the plurality of range spheres as candidate locations of the first terrestrial transmitter.
  • the moving signal receiver optionally resolves a single position corresponding to a valid candidate location of the first terrestrial transmitter by using additional information (e.g., elevation, one or more GNSS ranges and the like).
  • the moving signal receiver computes (824) a navigation result based on the computed location of the first terrestrial transmitter. In some embodiments, starting at a time subsequent to determination of the current position of the moving signal receiver (e.g., as explained with reference to operation 804-808) and determination of the location of the first terrestrial transmitter (e.g., as explained with reference to operation 822), the moving signal receiver performs continuous subsequent navigation (e.g., determining and/or updating its position, range to satellite, ranges to multiple satellites, range to terrestrial transmitter, ranges to multiple terrestrial transmitters, range change rate, speed or velocity based on the range change rate, geographic positioning, location information, and/or a time value, and the like) relative to the first transmitter.
  • continuous subsequent navigation e.g., determining and/or updating its position, range to satellite, ranges to multiple satellites, range to terrestrial transmitter, ranges to multiple terrestrial transmitters, range change rate, speed or velocity based on the range change rate, geographic positioning, location information, and/or a time value, and the like
  • the moving signal receiver performs such subsequent navigation without any further navigation input from the one or more respective sources, (e.g., satellites or GNSS sources).
  • the one or more respective sources e.g., satellites or GNSS sources.
  • the moving signal receiver performs such subsequent navigation without any further navigation input from the one or more respective sources, (e.g., satellites or GNSS sources).
  • sources e.g., satellites or GNSS sources.
  • GNSS sources e.g., satellites or GNSS sources.
  • the computed navigation result comprises one or more updated position estimates for the moving signal receiver relative to a standard geographical frame of reference (e.g., GPS coordinates such as latitude, longitude and/or elevation above mean sea level). In some embodiments, the computed navigation result comprises one or more updated position estimates for the moving signal receiver relative to a predefined frame of reference (e.g., relative to an architectural plan of a mall or indoor building, or relative to the computed location of the first terrestrial transmitter).
  • a standard geographical frame of reference e.g., GPS coordinates such as latitude, longitude and/or elevation above mean sea level.
  • the computed navigation result comprises one or more updated position estimates for the moving signal receiver relative to a predefined frame of reference (e.g., relative to an architectural plan of a mall or indoor building, or relative to the computed location of the first terrestrial transmitter).
  • the moving signal receiver while positioned at each of the plurality of distinct positions, concurrently determines (826) the position of the moving signal receiver and obtaining a plurality of additional respective ranges to the moving signal receiver from a plurality of additional terrestrial transmitters.
  • the additional terrestrial transmitters include: a second OFDM transmitter and a third OFDM transmitter.
  • the second OFDM transmitter transmits a second set of a plurality of pilot tones at a second set of corresponding frequencies (e.g., distinct from the first set of corresponding frequencies and specified or predefined based on LTE specifications and/or obtained from an almanac).
  • the third OFDM transmitter transmits a third set of a plurality of pilot tones at a third set of corresponding frequencies (e.g., optionally distinct from the first set of corresponding frequencies, optionally distinct from the second set of corresponding frequencies, and specified or predefined based on LTE specifications and/or obtained from an almanac).
  • the moving signal receiver computes (828) respective locations of the plurality of additional terrestrial transmitters based on the determined positions of the moving signal receiver and the plurality of additional respective ranges.
  • the moving signal receiver computes (830) a navigation result based on the computed location of the first terrestrial transmitter and the respective locations of the plurality of additional terrestrial transmitters.
  • a plurality of subsequent ranges from the plurality of additional terrestrial transmitters to the moving signal receiver is computed using subsequent signals received from the plurality of additional terrestrial transmitters.
  • the moving signal receiver combines the plurality of ranges to obtain an updated estimate of the instantaneous or updated position of the moving signal receiver (e.g., an updated position of the moving Signal Receiver 120 as co-ordinates in a two-dimensional plane or a three-dimensional space).
  • a plurality of corresponding range spheres is optionally computed, each range sphere corresponding to the range between a respective terrestrial transmitter of the plurality of terrestrial transmitters (defining the center of the respective sphere) and the moving signal receiver (defining the radius of the respective sphere).
  • the moving signal receiver then computes (e.g., by triangulation) one or more points of intersection of the plurality of range spheres as candidate positions (e.g., current or updated positions) of the moving signal receiver.
  • the moving signal receiver optionally resolves a single position corresponding to a valid candidate position of the moving signal receiver by using additional information (e.g., elevation, one or more GNSS ranges and the like).
  • the moving signal receiver updates (832) a previously obtained location of the first terrestrial transmitter based on the computed location of the first terrestrial transmitter.
  • the previously obtained location of the first terrestrial transmitter is a location retrieved from a database of locations of terrestrial transmitters (e.g., OFDM transmitters) in proximity to the receiver, from an almanac, or is a previously computed location (e.g., obtained by performing operations 802-822 described above).
  • Figures 8A-8B have been described are merely illustrative and are not intended to indicate that the described order is the only order in which the operations could be performed.
  • One of ordinary skill in the art would recognize various ways to reorder the operations described herein.
  • details of other processes described herein with respect to method 600 are also applicable in an analogous manner to method 800 described above with respect to Figures 8A-8B.
  • the interpolation function, extracted pilot phase values, residual pilot phase values, pilot tones, and ranges described above with reference to method 800 may have one or more of the characteristics of the interpolation function, extracted pilot phase values, residual pilot phase values, pilot tones, and ranges described herein with reference to method 600.

Abstract

A moving signal receiver (120) determines a plurality of signal receiver positions and corresponding ranges to the moving signal receiver (120) from a first terrestrial transmitter (130a) by, while positioned at each of a plurality of distinct positions, determining a position of the moving signal receiver (120) based on signals received from one or more respective sources (130b, 110a or 110b) distinct from the first terrestrial transmitter (130a); and while determining the position of the moving signal receiver (120), concurrently obtaining a respective range to the moving signal receiver (120) from the first terrestrial transmitter (130a). The moving signal receiver (120) computes a location of the first terrestrial transmitter (130a) based on the plurality of signal receiver positions and corresponding ranges.

Description

NAVIGATION BASED ON LOCATIONS OF OFDM
TRANSMITTERS
TECHNICAL FIELD
[0001] The disclosed embodiments relate generally to the field of signal processing at a signal receiver and in particular to a method and system for performing navigation at a signal receiver using range measurements to OFDM transmitters.
BACKGROUND
[0002] Satellite signal receivers (e.g., GPS/Global Positioning System receivers, such as those used in automotive applications) perform various navigation functions, by continuously computing and updating navigation parameters such as their ranges to satellites, their respective geographical locations and coordinates, and their speeds and velocities of motion in different directions.
SUMMARY
[0003] In accordance with some embodiments, a moving signal receiver obtains an initial set of signal receiver positions (e.g., using navigation information obtained from satellites or from the Global Navigation Satellite System, such as GPS tracking assistance including latitude, longitude, and elevation information) and at each of the respective positions, the moving signal receiver computes a respective range (e.g., a scalar distance) to a terrestrial transmitter (e.g., to an OFDM transmitter or transmit tower located on or substantially on the surface of the earth). The moving signal receiver then computes a location of the terrestrial transmitter (e.g., using methods such as triangulation) using the measured ranges to the terrestrial transmitter measured relative to the various positions of the moving signal receiver. After obtaining a location fix for the terrestrial transmitter, the moving signal receiver performs subsequent navigation (e.g., updating its own location estimate, determining its velocity or speed of motion, and the like) with reference to the terrestrial transmitter. As such, in some embodiments, after obtaining an initial set of GNSS- aided positioning information, the moving signal receiver performs substantially all subsequent navigation using signals received from one or more terrestrial transmitters; thereby reducing or eliminating its reliance on GNSS-aided positioning or on satellite signals for subsequent navigation. Alternatively, in some embodiments, the moving signal receiver performs subsequent navigation using signals received from one or more terrestrial transmitters when predefined conditions are detected, such as a lack of GNSS signals or a lack of GNSS signals that meet predefined quality criteria (e.g., GNSS signals may fail to satisfy the predefined quality criteria due to one or more of weak signals, the presence of multipath signals, etc.).
[0004] In accordance with some embodiments, a system and method for performing terrestrial navigation compute a range between a transmit location (e.g., a terrestrial transmitter) and a signal receiver (e.g., the moving signal receiver) through a determination of signal propagation time, by computing relative measures (e.g., differences) between computed phases of two or more designated orthogonal signals (e.g., of two or more pilot tones) transmitted by one or more terrestrial transmitters.
[0005] Alternative embodiments provide a system and method for performing navigation by computing a range between a transmit location and a signal receiver by correlating designated signal patterns (e.g., pilot tones) received from transmit locations (e.g., terrestrial transmitters) with locally stored (at the signal receiver) templates of the designated signal patterns, to obtain a signal propagation time and range to the transmit locations
[0006] In some embodiments, a method of performing navigation is performed at a moving signal receiver. The method includes determining a plurality of signal receiver positions and corresponding ranges to the moving signal receiver from a first terrestrial transmitter by, while positioned at each of a plurality of distinct positions, determining a position of the moving signal receiver based on signals received from one or more respective sources distinct from the first terrestrial transmitter; and while determining the position of the moving signal receiver, concurrently obtaining a respective range to the moving signal receiver from the first terrestrial transmitter. The method further includes computing a location of the first terrestrial transmitter based on the plurality of signal receiver positions and corresponding ranges.
[0007] In some embodiments, a method of computing a range between a transmit location and a signal receiver is performed at a signal receiver system having one or more processors and memory storing one or more programs for execution by the one or more processors so as to perform the method. The method includes receiving, at the signal receiver, a time-domain signal that includes a plurality of pilot tones at a plurality of corresponding frequencies, where the time-domain signal is transmitted from a transmit location. The method further includes extracting from the received time-domain signal pilot phase values corresponding to the pilot tones. The method also includes computing a signal propagation time of the received time-domain signal by fitting an interpolation function to residual pilot phase values, corresponding to the extracted pilot phase values, and determining a slope of the interpolation function. Further, the method includes computing a range between the transmit location and the signal receiver by multiplying the computed signal propagation time with the speed of light.
[0008] In some embodiments, a method of computing speed of the signal receiver is performed at a signal receiver system. The method includes computing a first set of ranges, including said computed range, using signals received from a set of transmit locations at the signal receiver at a first time. The method further includes computing a second set of ranges using the same signals received from the set of transmit locations at the signal receiver at a second time. The method also includes computing a set of range change rates based on the first set of ranges, the second set of ranges and a difference between the second time and the first time. Further, the method includes computing a speed of the signal receiver by combining the set of range change rates, where each range in the first set of ranges being computed by fitting an interpolation function to residual pilot phase values, corresponding to extracted pilot phase values, for a respective signal received by the signal receiver and determining a slope of the interpolation function.
[0009] In accordance with some embodiments, a signal receiver system includes one or more processors, memory, and one or more programs; the one or more programs are stored in the memory and configured to be executed by the one or more processors and the one or more programs include instructions for performing operations in accordance with any of the methods described above. In accordance with some embodiments, a non-transitory computer readable storage medium has stored therein instructions which when executed by one or more processors, cause the signal receiver system to perform operations in accordance with any of the methods described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 illustrates a navigation system including a GNSS navigation system, one or more terrestrial transmitters and a signal receiver, in accordance with some embodiments.
[0011] Figure 2 is a block diagram illustrating a signal receiver used for navigation based on range, position, location, and speed estimation, in accordance with some
embodiments.
[0012] Figures 3A-3D include block diagrams illustrating components of a signal receiver used for navigation based on range, position, location, and speed estimation, in accordance with some embodiments.
[0013] Figure 4 is a block diagram illustrating a digital processor in the signal receiver configured for estimation of range to a terrestrial transmitter or a transmit location, location of a terrestrial transmitter or a transmit location, position of the signal receiver, and, optionally, speed of the signal receiver, in accordance with some embodiments.
[0014] Figures 5A-5B include flow diagrams illustrating estimation of range to a transmit location and speed of the signal receiver, in accordance with some embodiments.
[0015] Figures 6A-6B include a flow chart illustrating a method of navigation based on an estimation of range to a transmit location and a speed of the signal receiver, in accordance with some embodiments.
[0016] Figure 7 A includes a flow diagram illustrating estimation of range to a terrestrial transmitter from a moving signal receiver, in accordance with some embodiments.
[0017] Figure 7B includes prophetic phase plots illustrating computation of residual pilot phase values for pilot tones in a signal received from a terrestrial transmitter, in accordance with some embodiments.
[0018] Figure 7C includes a prophetic phase plot illustrating an interpolation function fitted to residual pilot phase values, corresponding to extracted pilot phase values, for a plurality of pilot tones transmitted by a terrestrial transmitter, in accordance with some embodiments. [0019] Figures 8A-8B include a flow chart illustrating a method of navigation based on an estimation of a plurality of positions of a moving signal receiver and corresponding ranges to a terrestrial transmitter, in accordance with some embodiments.
[0020] Like reference numerals refer to corresponding parts throughout the drawings.
DESCRIPTION OF EMBODIMENTS
[0021] Satellite signal receivers for computing various -mentioned navigation parameters rely on obtaining multiple concurrent GNSS (Global Navigation Satellite Systems) or satellite signals. The multiple concurrently-obtained signals from satellites facilitate conventional triangulation-based navigation.
[0022] However, satellite-based triangulation approaches to navigation are highly reliant on establishment of multiple simultaneous robust satellite links on a consistent and/or continuous basis. Furthermore, satellite communication links are susceptible to disruption by environmental factors (e.g., weather conditions), physical factors (e.g., the absence or obstruction of direct or line of sight satellite signal propagation paths due to physical natural obstructions such as dense foliage, mountainous terrain, etc.), and man-made factors (e.g., physical obstructions from man-made structures such as buildings; signal degradation from electromagnetic interference).
[0023] Systems and methods are described below that reduce reliance on satellite signals for navigation, by using local, terrestrial transmitters that transmit designated orthogonal signals (such as pilot tones) at designated frequencies to facilitate navigation. The use of local, terrestrial transmitters improves navigation capabilities of a signal receiver by providing higher signal fidelity and improved robustness to environmental factors, thereby reducing the time required to resolve the signal receiver's location and/or speed.
[0024] It will be understood that, although the terms "first," "second," etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first signal could be termed a second signal, and, similarly, a second signal could be termed a first signal, without changing the meaning of the description, so long as all occurrences of the "first signal" are renamed consistently and all occurrences of the second signal are renamed consistently. The first signal and the second signal are both signals, but they are not the same signal.
[0025] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the claims. As used in the description of the embodiments and the appended claims, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
[0026] As used herein, the term "if may be construed to mean "when" or "upon" or
"in response to determining" or "in accordance with a determination" or "in response to detecting," that a stated condition precedent is true, depending on the context. Similarly, the phrase "if it is determined [that a stated condition precedent is true]" or "if [a stated condition precedent is true]" or "when [a stated condition precedent is true]" may be construed to mean "upon determining" or "in response to determining" or "in accordance with a determination" or "upon detecting" or "in response to detecting" that the stated condition precedent is true, depending on the context. The term "pilot tones" are herein defined to mean orthogonal signals at known or predefined frequencies, typically at equally spaced frequencies in a predefined range of frequencies, having predefined data or signal patterns to facilitate identification and locking onto the pilot tones.
[0027] Reference will now be made in detail to various embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention and the described embodiments. However, the invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. [0028] Figure 1 includes a block diagram illustrating a navigation system (e.g.,
Navigation System 100) comprising a satellite navigation system (e.g., a Global Navigation Satellite System (GNSS) composed of one or more satellites), a terrestrial navigation system (e.g., composed of one or more terrestrial transmit towers), and a signal receiver (e.g., Signal Receiver 120) for performing navigation functions.
[0029] Accordingly, Navigation System 100 includes one or more satellites (e.g.,
GNSS Satellite(s) 110). GNSS satellite(s) 110 transmit signals (e.g., signals containing navigation information) to be received by Signal Receiver 120. In some embodiments, GNSS satellite(s) 110 transmit(s) signals in frequency bands corresponding to the LI frequency band (e.g., a frequency band that includes 1559 MHz - 1591 MHz, or a portion thereof), the L2 frequency band (e.g., a frequency band that includes 1211 MHz - 1243 MHz, or a portion thereof), and/or the L5 frequency band (e.g., a frequency band that includes 1160 MHz - 1192 MHz, or a portion thereof).
[0030] Navigation System 100 further includes a terrestrial navigation system comprising one or more Transmit Location(s)/Tower(s) 130 (alternatively referred to herein as Terrestrial Transmitter(s) 130). In some embodiments, the one or more Transmit Location(s)/Tower(s) 130 correspond to or include terrestrial transmitters located on or substantially on the surface of planet earth (e.g., at a height of 0-100 feet above the earth's topographical surface). The one or more Transmit Location(s)/Tower(s) 130 transmit one or more corresponding time-domain signals that each include a plurality of pilot tones at a plurality of corresponding frequencies (i.e., each pilot tone is transmitted at a respective corresponding frequency). In some implementations, the one or more Transmit Location(s)/Tower(s) 130 correspond to or include OFDM transmitters (e.g., transmitters that transmit Orthogonal Frequency Division Multiplexed or OFDM signals). In such implementations, the plurality of pilot tones correspond to OFDM pilot tones and are mutually orthogonal signals. In such embodiments, at a frequency value corresponding to maximum spectral value (e.g., peak power) of a respective pilot tone (corresponding to a respective pilot tone frequency), the spectral value (e.g., the power) of each of the other pilot tones in the plurality of pilot tones is negligible (e.g., each of the other pilot tones in the plurality of pilot tones has zero power). Further as an example, as illustrated in Figure 7C, if the OFDM tones (also referred to herein as subcarriers) correspond to OFDM signal frequencies F P F2, P2, F3, F4, F5, F6, F7, P3, P4, F8, F9, F10, P5, P6, Fn, F12, P7, the plurality of pilot tones occur at designated frequencies forming a subset of the frequencies of the OFDM tones (also referred to herein as subcarriers) which are defined, for example, by LTE (Long Term Evolution) specifications. In this example, the plurality of pilot tones occur at designated frequencies Pi, P2, P3, P4, P5, P6, and P7.
[0031] Further, in such embodiments, the duration (or symbol period) of the OFDM time-domain signal is equal to, or an integral multiple of, the inverse of the frequency spacing (e.g., subcarrier frequency spacing, AF, as shown in Figure 7C) between the consecutive, orthogonal subcarrier or OFDM tone frequencies (of which the pilot tone frequencies form a subset). With respect to Orthogonal Frequency Division Multiplexing (OFDM), U.S. Pat. No. 3,488,445, "Orthogonal Frequency Multiplex Data Transmission System" is hereby incorporated by reference as background information.
[0032] Signal Receiver 120 (alternatively referred to herein as a moving signal receiver) receives signals from the satellite navigation system (e.g., GNSS signals from GNSS Satellite(s) 110) and/or from the terrestrial navigation system (e.g., OFDM signals from the Terrestrial Transmitter(s) 130 or Transmit Location(s)/Tower(s) 130) and processes the satellite (e.g., GNSS) signals and the terrestrial (e.g., OFDM) signals individually or in combination to perform a navigation function (e.g., to compute a range between the transmit location and the signal receiver and/or to compute a speed of the signal receiver). Accordingly, Signal Receiver 120 includes analog and digital circuitry for pre-processing the signals received from the terrestrial navigation system (e.g., OFDM signals). Signal Receiver 120 also includes analog and digital circuitry for pre-processing the signals received from the satellite navigation system (e.g., GNSS signals). Signal Receiver 120 includes signal conditioning elements (e.g., filters and amplifiers) in the analog signal processing circuitry that selectively emphasize signals having frequencies of interest, and reject or attenuate signals that do not have frequencies within the frequency band(s) of interest.
[0033] Figure 2 is a block diagram illustrating Signal Receiver 120 in accordance with some embodiments. In some embodiments, Signal Receiver 120 receives signals from one or more Transmit Location(s)/Tower(s) 130 (e.g., Transmit Location/Tower 130-a, Transmit Location/Tower 130-b, and the like) via Antenna 202-a and from one or more GNSS Satellite(s) 110 (GNSS Satellite 110-a, GNSS Satellite 110-b, and the like) via Antenna 202-b. In some embodiments, Antenna 202-a is tuned or tunable to frequencies corresponding to OFDM signal frequencies— e.g., as defined by LTE/Long Term Evolution specifications (as explained with reference to Figure 3A). In some implementations, Antenna 202-b is tuned or tunable to frequencies (e.g., frequency bands) corresponding to GNSS signal frequencies (as explained with reference to Figure 3A).
[0034] Signal Receiver 120 includes analog and digital signal processing circuitry
(e.g., OFDM Antenna Interface 204-a and OFDM Receiver 206-a) to pre-process time- domain signals (e.g., OFDM signals) obtained from one or more Transmit Location(s)/Tower(s) 130. OFDM Receiver 206-a includes Analog Signal Processing Circuitry 208-a and optionally, Sampling Circuitry 210-a. Analog Signal Processing Circuitry 208-a is coupled to Antenna Interface 204-a for processing the received signals to produce filtered signals. In some embodiments, Analog Signal Processing Circuitry 208-a includes various frequency, amplitude, and phase conditioning components, such as, one or more analog filters and/or one or more gain (e.g., amplification) stages. In some embodiments, Analog Signal Processing Circuitry 208-a corresponds to or includes a low noise amplifier. Sampling Circuitry 210-a optionally samples the filtered signals from Analog Signal Processing Circuitry 208 so as to produce digital representation(s) of the received time- domain signals. In some embodiments, circuitry for producing the digital representation(s) of the received time-domain signals further includes quantization circuitry and digitization circuitry. Signal Receiver 120 further includes Range Estimator 212 to process the time- domain signals received from the one or more Transmit Location(s)/Tower(s) 130 to compute a range between the corresponding Transmit Location(s)/Tower(s) 130 and Signal Receiver 120 (as explained further with reference to Figure 3B).
[0035] Furthermore, Signal Receiver 120 includes analog and digital signal processing circuitry (e.g., GNSS Antenna Interface 204-b and GNSS Receiver 206-b) to pre- process time-domain signals (e.g., GNSS signals) obtained from one or more GNSS Satellite(s) 110. GNSS Receiver 206-b includes Analog Signal Processing Circuitry 208-b and Sampling Circuitry 210-b. Analog Signal Processing Circuitry 208-b is coupled to Antenna Interface 204-b for processing the received GNSS signals to produce filtered signals. As explained above with reference to Analog Signal Processing Circuitry 208-a operable on time-domain signals (e.g., OFDM signals) obtained from one or more Transmit Location(s)/Tower(s) 130, in some embodiments, Analog Signal Processing Circuitry 208-b includes various frequency, amplitude and phase conditioning components, such as, one or more analog filters and/or one or more gain (amplification) stages. The frequency, amplitude and phase conditioning components that constitute Analog Signal Processing Circuitry 208-b optionally have different frequency, amplitude, and phase conditioning properties than the corresponding frequency, amplitude and phase conditioning components compared to Analog Signal Processing Circuitry 208-a. In some embodiments, Analog Signal Processing Circuitry 208-b corresponds to or includes a low noise amplifier.
[0036] Sampling Circuitry 210-b samples the filtered signals from Analog Signal
Processing Circuitry 208-b so as to produce digitized signals corresponding to the received time-domain GNSS signals. In some embodiments, circuitry for producing the digitized received signals further includes quantization circuitry and digitization circuitry. In some implementations, Analog Signal Processing Circuitry 208-b includes a demodulator to down- convert the received GNSS signals to produce baseband signals. Signal Receiver 120 further includes GNSS Signal Pre-Processing Module 213 to process the time-domain signals received from the one or more Satellite(s) 110 to augment navigation functions (e.g., to be used in conjunction with or independently from navigation parameters, such as range, location and/or speed computed by Range Estimator 212 based on the time-domain signals received from the one or more Transmit Location(s)/Tower(s) 130) performed by Signal Receiver 120. GNSS Signal Pre-Processing Module 213 optionally includes compensation circuitry to compensate for amplitude and/or group delay distortions introduced by Antenna Interface 204-b and/or Analog Signal Processing Circuitry 208-b.
[0037] Signal Receiver 120 optionally includes a separate Antenna Interface 204-b,
GNSS Receiver(s) 206-b and/or GNSS Signal Pre-Processing Module 213 for each frequency band of interest, for example, the LI (e.g., 1575.42 ± 16 MHz; or 1559 MHz - 1591 MHz), L2 (e.g., 1227.6 ± 16 MHz; or 1211 MHz -1243 MHz) and L5 (e.g., 1176.45 ± 16 MHz; or 1160 MHz - 1192 MHz) frequency bands.
[0038] It should be understood that the frequency bands described in this document
(such as LI , L2, and L5 frequency bands) are merely illustrative and representative; the signal receiver and methods performed by the signal receiver described herein can be configured to operate at frequency bands or frequencies not specifically listed here.
[0039] Additionally, Signal Receiver 120 also includes Digital Processor 214, Clock
240, Housing 250, and Circuit Board 260. [0040] Digital Processor 214 processes the navigation parameters obtained from
Range Estimator 212 and/or GNSS Signal Pre -Processing Module 213 so as to produce a Result 220. In some implementations, the result (e.g., Result 220) includes a range to a satellite, ranges to multiple satellites, a range to a transmit location (e.g., a terrestrial transmitter), ranges to multiple transmit locations (e.g., terrestrial transmit locations), navigation result(s), geographical location(s), and/or satellite time value(s). In some embodiments, Digital Processor 214 is implemented using one or more microprocessors or other programmable processors. Digital Processor 214 is further described herein with reference to Figure 4. In some implementations, Digital Processor 214 is configured to operate on baseband signals.
[0041] In some embodiments, Digital Processor 214 includes Microprocessor 218, optionally includes OFDM Signal Processor 216, and optionally includes GNSS Signal Processor 217. GNSS Signal Processor 217, if present, typically includes circuitry, such as correlators, for analyzing signals received from GNSS Satellite(s) 110 and thereby assisting Microprocessor 218 to perform navigation functions and optionally other functions. Digital Processor 214 includes and executes control instructions for controlling synchronized sampling of the received OFDM signals based on the duration and start of the symbol period. Digital Processor 214 (e.g., Microprocessor 218) provides pilot tone frequencies (e.g., by referencing an almanac or from LTE specifications) to Range Estimator 212 (e.g., to compute the range between respective Transmit Location(s)/Tower(s) 130 and Signal Receiver 120). In some embodiments, Digital Processor 214 (e.g., OFDM Signal Processor 216) includes a circuitry corresponding to a speed estimation module that computes a speed of Signal Receiver 120 (e.g., as described in further detail in relation to Method 600, operations 628- 636) by computing a set of range change rates from a set of ranges (e.g., provided by Range Estimator 212), and by subsequently combining the set of range change rates.
[0042] In some embodiments, Clock 240 provides synchronized clock timing signals to Sampling Circuitry 210-a and Sampling Circuitry 210-b. In some implementations, Clock 240 receives control instructions from Digital Processor 214 for synchronized sampling of the received OFDM signals based on the duration and start of the OFDM symbol period, as described further below. [0043] In some embodiments, OFDM Antenna Interface 204-a, OFDM Receiver 206- a, Range Estimator 212, GNSS Antenna Interface 204-b, GNSS Receiver 206-b, GNSS Signal Pre-Processing Module 213, Digital Processor 214 and Clock 240 are all contained within a Housing 250.
[0044] In some embodiments, OFDM Antenna Interface 204-a, OFDM Receiver 206- a, Range Estimator 212, GNSS Antenna Interface 204-b, GNSS Receiver 206-b, GNSS Signal Pre-Processing Module 213, Digital Processor 214 and Clock 240 are mounted on a single circuit board (e.g., Circuit Board 260). Alternatively, OFDM Antenna Interface 204-a and/or GNSS Antenna Interface 204-b is/are not mounted on the circuit board on which the other components are mounted. Typically, in embodiments that include Housing 250, Circuit Board 260 is contained within Housing 250.
[0045] Figure 3A is a block diagram illustrating an Antenna Interface 204 (e.g.,
OFDM Antenna Interface 204-a or GNSS Antenna Interface 204-b, Figure 2) in accordance with some embodiments. As shown in Figure 3A, Antenna Interface 204 includes one or more filters (e.g., Filter(s) 304-a and Filter(s) 304-b) to limit the frequencies of Received Signals 302 to frequencies of interest. Filter(s) 304-a and Filter(s) 304-b include filters with fixed or variable (e.g., tunable) properties. Antenna Interface 204 also includes one or more Amplifiers 306 for amplifying or strengthening signals of interest. Amplifiers 306 may include one or more amplifiers with fixed or variable (e.g., tunable) properties. While Figure 3A represents a general architecture for Antenna Interface 204, the specific properties (e.g., corner frequencies of Filter(s) 304-a and Filter(s) 304-b and/or amplification gains of Amplifiers 306) would be different for different applications (e.g., different for OFDM Antenna Interface 204-a and for GNSS Antenna Interface 204-b) and for interfacing with signals having different frequencies of interest and/or different amplitudes. For example, Antenna Interface 204 when configured as OFDM Antenna Interface 204-a (as shown in Figure 2) is configured to operate at one or more predefined OFDM frequency bands (e.g., 1.4 MHz to 20 MHz, with 15 kHz subcarrier spacing, as defined by the LTE specification, or the frequency bands of any other OFDM signal, whether currently existing or built in the future) of the respective Transmit Location(s)/Tower(s) 130 (Figure 1) and/or to adjust amplitudes of the OFDM signals. Also for example, Antenna Interface 204 when configured as GNSS Antenna Interface 204-b (as shown in Figure 2) is configured to operate at one or more of the LI (e.g., 1575.42 ± 16 MHz; or 1559 MHz - 1591 MHz), L2 (e.g., 1227.6 ± 16 MHz; or 1211 MHz -1243 MHz) and/or L5 (e.g., 1176.45 ± 16 MHz; or 1160 MHz - 1192 MHz) frequency bands and/or to adjust amplitudes of the GNSS signals.
[0046] Figure 3B includes a block diagram illustrating a Range Estimator 212, in accordance with some embodiments. Range Estimator 212 processes the received time- domain signals at Signal Receiver 120 (e.g., OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130) to compute a range (e.g., Range 328) between the transmit location (e.g., Transmit Location(s)/Tower(s) 130) and the signal receiver (e.g., Signal Receiver 120). Accordingly, in some implementations, Range Estimator 212 includes Pilot Phase Extraction Module 314, Interpolation Module 316, Signal Propagation Time Estimation Module 320, and Range Estimation Module 322 (sometimes called the Range Determination Module).
[0047] Pilot Phase Extraction Module 314 extracts from the received time-domain signals (e.g., OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130; received time-domain signal 502, Figure 5A) pilot phase values (e.g., phases of pilot tones present in the received time-domain signals) corresponding to a plurality of pilot tones at a plurality of corresponding frequencies (also referred to herein as 'pilot tone frequencies'). In some embodiments, Range Estimator 212 generates, obtains, or otherwise provides a representation of the plurality of frequencies corresponding to the plurality of pilot tones (or, pilot tone frequencies). Accordingly, Pilot Phase Extraction Module 314 obtains the plurality of frequencies corresponding to the plurality of pilot tones. For example, as shown in Figure 3B, Pilot Phase Extraction Module 314 obtains Pilot Tone Frequencies 326 (e.g., from Digital Processor 214, Figure 2, and/or by referencing a locally- stored or remotely- located almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications).
[0048] In some embodiments, Pilot Phase Extraction Module 314 extracts pilot phase values corresponding to a plurality of pilot tones by performing a time-to-frequency domain transformation (e.g., a Fourier transform) on a set of samples generated from sampling the received time-domain signal (e.g., OFDM signal received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130), as explained in further detail with reference to Figure 3C and with respect to operations 608-614 (Method 600, Figure 6A). [0049] In alternative embodiments, Pilot Phase Extraction Module 314 extracts pilot phase values (or a representation thereof) corresponding to a plurality of pilot tones by processing the received time-domain signal (e.g., OFDM signal received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130) with a parallel set of signal correlators, as explained in further detail with reference to Figure 3D and with respect to operation 616 (Method 600, Figure 6A).
[0050] Interpolation Module 316 obtains extracted pilot phase values (e.g., phases of pilot tones present in the received time-domain signals, such as Extracted Pilot Phase Values 4>(Yk) shown in Figure 7B) from Pilot Phase Extraction Module 314. Interpolation Module 316 optionally computes residual pilot phase values (e.g., Residual Pilot Phase Values cb(Yk)- 4>(Xk) shown in Figure 7B and in Figure 7C). To that end, in some embodiments, Interpolation Module 316 includes Residual Phase Extraction Module 318 to compute residual pilot phase values. Residual Phase Extraction Module 318 optionally computes the aforementioned residual phase values, corresponding to the extracted pilot phase values (e.g., phases of pilot tones present in the time-domain signals received from terrestrial transmitted s)), by subtracting from the extracted pilot phase values a representation of the pilot phase values (e.g., Transmit Pilot Phase Values cb(Xk), shown in Figure 7B) at the transmit location (e.g., Transmit Location(s)/Tower(s) 130) at the time of signal transmission, as explained mathematically below:
[0051] ct)(Yk) = ct>(Xk)+2nk-AF-td+ee
where:
φ(·) is the phase of the pilot tone at the transmit location (Xk) or receive location (Yk)
k is the subcarrier index;
AF is the subcarrier spacing (e.g., see Figure 7C);
td is the propagation delay; and
θε is the phase difference between the transmit and receive references
[0052] In such embodiments, the residual phase value for a given subcarrier = cb(Yk)-
Figure imgf000015_0001
[0053] Interpolation Module 316 subsequently fits an interpolation function to residual pilot phase values (e.g., Interpolation function fitted to pilot phase values 506, Figure 5 A; and Interpolation Function 750 fitted to residual pilot phase values φι, φ2, φ3, φ4, φ5, φ6, and φ7 for corresponding pilot tones or pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7, Figure 7C), corresponding to the extracted pilot phase values. In some embodiments, Interpolation Module 316 fits an interpolation function to the extracted pilot phase values (e.g., phases of pilot tones present in the received time-domain signals and extracted by Pilot Phase Extraction Module 314).
[0054] In some embodiments, Interpolation Module 316 fits an interpolation function to residual pilot phase values, corresponding to the extracted pilot phase values using interpolation methods (e.g., curve-fitting, polynomial interpolation, spline interpolation, Gaussian interpolation, regression-based methods and the like).
[0055] In some implementations, Interpolation Module 316 obtains a representation of the plurality of frequencies corresponding to the plurality of pilot tones (e.g., Pilot tone frequencies 510, Figure 5 A). For example, as shown in Figure 3B, Pilot Phase Extraction Module 314 obtains Pilot Tone Frequencies 326 corresponding to the plurality of pilot tones in Received Time-Domain Signals 312, for example the signals received from a terrestrial transmitter. As another example, Interpolation Module 316 obtains pilot tones or pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7, respectively corresponding to the pilot phase values φι, φ2, φ3, φ4, φ5, φ6, and φ7, as illustrated in Figure 7C. In some implementations, Interpolation Module 316 obtains Pilot Tone Frequencies 326 by referencing an almanac (e.g., stored locally on Signal Receiver 120, or stored remote to and separate from Signal Receiver 120) and/or from referencing OFDM pilot tone frequencies defined by LTE specifications. In some embodiments, Digital Processor 214 (e.g., Microprocessor 218, Figure 1) generates, obtains, or otherwise provides a representation of the plurality of frequencies (e.g., Pilot Tone Frequencies 326) corresponding to the plurality of pilot tones. In such embodiments, Interpolation Module 316 obtains a representation of the plurality of frequencies (e.g., Pilot Tone Frequencies 326) corresponding to the plurality of pilot tones from Digital Processor 214 (e.g., Microprocessor 218, Figure 1).
[0056] Signal Propagation Time Estimation Module 320 obtains from Interpolation
Module 316 an interpolation function fitted to residual pilot phase values (e.g., Interpolation function fitted to pilot phase values 506, Figure 5A; Interpolation Function 750 fitted to residual pilot phase values φι, φ2, φ3, φ4, φ5, φ6, and φ7 for corresponding pilot tones or pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7, respectively, Figure 7C). Signal Propagation Time Estimation Module 320 subsequently determines a slope of the interpolation function (e.g., as explained below with reference to Figure 7C). In some embodiments, Signal Propagation Time Estimation Module 320 determines the slope, td, of the interpolation function based on a difference in residual phase (or, equivalently, the difference in measured phase at the receiver), 2πΔ?¾, between two pilot tones having a frequency difference of Αΐ. For example, in Figure 5A, the difference in residual phase between pilot tones 508 is 2πΔΡ¾ and the frequency difference between pilot tones 512 is Αΐ. In another example, in Figure 7C the difference in residual phase φ6 - φ3 = 2πΔΡ¾ between the pilot tones at frequencies P6 and P3, and the frequency difference between pilot tones is Αΐ. In some implementations, the phase of the pilots tones at the transmitter is the same for all pilot tones, and therefore the determination of the slope, td, can be determined by differencing the measured phase of two pilot tones having a frequency difference of Αΐ, without having explicit knowledge of the pilot tone phases at the transmitter (and thus without explicitly computing the residual phases). Stated another way, in such implementations, given two pilot tones transmitted by the same transmitter, the difference between the residual pilot tone phases of the two pilot tones is equal to the difference between the corresponding measured pilot tone phases.
[0057] In some embodiments, Signal Propagation Time Estimation Module 320 obtains a representation of at least a subset of the plurality of frequencies corresponding to the plurality of pilot tones (e.g., from Digital Processor 214 Figure 2, from a local or remote almanac and/or from referencing OFDM pilot tone frequencies from LTE specifications). For example, as shown in Figure 3B, Pilot Phase Extraction Module 314 obtains Pilot Tone Frequencies 326 (or a subset thereof) for the plurality of pilot tones, corresponding to which a difference in residual phase is computed (e.g., Difference in residual phase, 2πΔΡ¾, between pilot tones 508, Figure 5A). In this example, Signal Propagation Time Estimation Module 320 obtains a representation of two frequencies, having a frequency difference of Αΐ, of two pilot tones, and computes the difference in residual phase, 2πΔΡ¾. Alternatively, or in addition, Signal Propagation Time Estimation Module 320 obtains, generates, or otherwise provides the frequency difference, Αΐ, between the two frequencies (e.g., between pilot tone frequencies P6 and P3, Figure 7C) corresponding to the two pilot tones, and computes the difference in residual phase, 2πΔί¾ (e.g., for the pilot tones at frequencies P6 and P3, Figure 7C). As such, Signal Propagation Time Estimation Module 320 computes a signal propagation time or slope of the interpolated function (e.g., Signal propagation time (td) or Slope of interpolation function 514, Figure 5 A).
[0058] Range Estimation Module 322 obtains a signal propagation time (e.g., Signal propagation time (td) or Slope of interpolation function 514, Figure 5 A) from Signal Propagation Time Estimation Module 320. Range Estimation Module 322 computes a range (e.g., Range 328; or Range between transmit location and signal receiver 518, Figure 5 A) between the transmit location (e.g., Transmit Location(s)/Tower(s) 130) and the signal receiver (e.g., Signal Receiver 120) by multiplying the computed signal propagation time with the speed of light (e.g., Speed of light 516, Figure 5A).
[0059] Figure 3C includes a block diagram illustrating a Pilot Phase Extraction
Module 314, in accordance with some embodiments. As shown in Figure 3C, Pilot Phase Extraction Module 314 extracts pilot phase values (e.g., Pilot Phase Values 344) corresponding to a plurality of pilot tones by performing a time-to-frequency domain transformation (e.g., a Fourier transform) on a set of samples generated from sampling received time-domain signals (e.g., Received Time -Domain Signals 312, such as OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130).
[0060] In some implementations, as shown in Figure 3C, Pilot Phase Extraction
Module 314 includes Synchronized Sampler 330, Serial-to-Parallel Converter 332, fast Fourier transform module (FFT) 334, Pilot Tone Frequency Complex Value Extraction Module 336, and Phase Estimation Module 338. In some implementations, FFT module 334 is replaced with a generalized Fourier transform module. Synchronized Sampler 330 samples the received time-domain signals (e.g., Received Time -Domain Signals 312) to generate a set of samples. In some embodiments, when Received Time-Domain Signals 312 correspond to OFDM signals obtained from one or more OFDM transmit locations, Synchronized Sampler 330 samples Received Time-Domain Signals 312 for a period of the OFDM symbols. In such embodiments, Synchronized Sampler 330 samples Received Time-Domain Signals 312 beginning at a start time and for a duration specified by a timing reference (e.g., OFDM Symbol Time Reference 340) indicating an OFDM symbol start time and an OFDM symbol duration, respectively. [0061] Serial-to-Parallel Converter 332 obtains from Synchronized Sampler 330 a serial stream of samples corresponding to Received Time -Domain Signals 312 and converts them into a parallel stream of samples. In some embodiments, the number of parallel samples corresponds to the number of samples on which FFT 334 operates. For example, if FFT 334 performs a 1024-point Fourier transform (e.g., operates on 1024 samples for each Fourier transform operation), then Serial-to-Parallel Converter 332 repeatedly buffers 1024 samples of the serial input obtained from Synchronized Sampler 330 and generates 1024 corresponding parallel samples.
[0062] FFT 334 obtains a parallel stream of samples from Serial-to-Parallel Converter
332 and performs a Fourier transform on the set of samples to produce a set of complex value pairs. In some implementations, FFT 334 performs a time-to-frequency domain transformation (e.g., a Fourier transform, using a fast Fourier transform implementation) on the parallel stream of samples obtained from Serial-to-Parallel Converter 332 to generate a set of complex value pairs, each complex value pair corresponding to a frequency bin. Moreover, the complex value pair for each frequency bin includes a real portion and an imaginary portion (alternately referred to herein as the in-phase or T component and the quadrature or 'Q ' component, respectively). Furthermore, the complex value pair for each frequency bin has a corresponding magnitude value and phase value. In various embodiments, FFT 334 is implemented in software, hardware (e.g., on an FFT chip), or on a digital signal processor.
[0063] Pilot Tone Frequency Complex Value Extraction Module 336 obtains complex value pairs from FFT 334, each complex value pair corresponding to a frequency bin or frequency value (e.g., defined by the Fourier transform performed by FFT 334) in a frequency range that spans at least a subset of the frequency range of the received time- domain signal (e.g., Received Time-Domain Signals 312). Pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each pilot tone in a set of pilot tones that includes at least a subset of the aforementioned plurality of pilot tones. For example (and as further illustrated in Figure 7C), for a frequency range spanning Xi MHz to X2 MHz, if FFT 334 generates complex value pairs at frequency bins or frequency values (e.g., as defined by the Fourier transform performed by FFT 334) corresponding to Fi, Pi, F2, P2, F3, F4, F5, F6, F7, P3, P4, F8, F9, F10, P5, P6, Fn, F12, P7, and if the plurality of pilot tones occur at designated frequencies Pi, P2, P3, P4, P5, P6, and P7 (e.g., as defined by LTE specifications or as obtained from an almanac) then Pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each pilot tone in a subset of the pilot tones, e.g., for each of the pilot tones at frequencies P3, P5, and P6. In some implementations, Pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each of the pilot tones at the designated pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7. In some implementations, the frequency range Xi MHz to X2 MHz is 1.4 MHz to 20 MHz, and the pilot tones are OFDM subcarrier signals with 15 kHz subcarrier spacing.
[0064] Phase Estimation Module 338 obtains from Pilot Tone Frequency Complex
Value Extraction Module 336 a complex value pair for each pilot tone in a set of pilot tones. Phase Estimation Module 338 then estimates (e.g., computes) phase values from the set of complex value pairs obtained from Pilot Tone Frequency Complex Value Extraction Module 336 to produce pilot phase values (e.g., Pilot Phase Values 344). In some embodiments, the estimated (e.g., computed) pilot phase values are phase values of each of the complex value pairs corresponding to the pilot tones in the set of pilot tones. As explained above, the complex value pair for each frequency bin (e.g., for each pilot tone or each corresponding pilot tone frequency) has a corresponding magnitude value and phase value. The magnitude value ('r') and phase value ('φ') of a complex value pair (e.g., denoted in complex form as z = 'x + jy') relate to the real portion ('χ') and the imaginary portion ('y') of the respective complex value pair as follows:
Figure imgf000020_0001
.
[0065] In some implementations (as illustrated in Figure 7C), Pilot Phase Estimation
Module 338 estimates (e.g., computes) phase values from the set of complex value pairs for each of the pilot tones at the designated pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7. [0066] In some embodiments, if the total phase change (or phase shift) over the frequency span of the received signals (e.g., the received OFDM signals) exceeds 2π radians, resulting discontinuities (e.g., due to phase-wrapping) in the phase of the received signals are eliminated (e.g., by Phase Estimation Module 338), for example by methods such as "phase unwrapping" (e.g., by the addition or subtraction of integer multiples of 2π radians).
[0067] As such, in some embodiments, Phase Estimation Module 338 estimates (e.g., computes) pilot phase values (e.g., Pilot Phase Values 344) from the set of complex value pairs for the set of pilot tones or pilot tone frequencies as described above.
[0068] Figure 3D includes a block diagram illustrating a Pilot Phase Extraction
Module 314, in accordance with some embodiments. In some embodiments, Pilot Phase Extraction Module 314 extracts pilot phase values corresponding to a plurality of pilot tones by processing received time-domain signals (e.g., OFDM signals received at Signal Receiver 120 from Transmit Location(s)/Tower(s) 130) with a parallel set of signal correlators, each for correlating the received time-domain signal with a respective pilot tone. For example, as shown in Figure 3D, Received Time-Domain Signals 312 received at Pilot Phase Extraction Module 314 are processed with a parallel set of signal correlators (e.g., Signal Correlator 346-a, Signal Correlator 346-b, Signal Correlator 346-n, and the like). Each of the signal correlators in the parallel set of signal correlators correlates (e.g., performs a mathematical cross-correlation operation by performing a series of shift, multiply, and add operations) the received signal (e.g., Received Time-Domain Signals 312) with a respective pilot tone (e.g., each of the respective Pilot Tone Signals 347) to extract pilot phase values (e.g., Pilot Phase Values 348-a, Pilot Phase Values 348-b, Pilot Phase Values 348-n, and the like) corresponding to the respective pilot tones. Pilot Tone Signals 347 are typically locally stored or locally generated pilot tone signals, stored or generated within the receiver 120 that incorporated digital signal processor 324. In some embodiments, Pilot Phase Extraction Module 314 extracts a representation of pilot phase values (e.g., a measure of phase lag or time lag between respective pilot tones) rather than a direct measure of the pilot phase values. However, since the range to a respective Transmit Location is determined based on the difference in residual phase between pilot tones transmitted from the same Transmit Location, such pilot phase values (e.g., having a fixed offset) work equally well as the phase values obtained using other embodiments described herein. [0069] Figure 4 is a block diagram illustrating Digital Processor 214 in accordance with one embodiment of the present invention. The Digital Processor 214 typically includes one or more processing units (CPU's) 402 for executing modules, programs and/or instructions stored in Memory 410 and thereby performing processing operations; one or more network or other Communications Interfaces 404; Memory 410; and one or more Communication Buses 409 for interconnecting these components. The Communication Buses 409 optionally include circuitry (sometimes called a chipset) that interconnects and controls communications between system components. The Digital Processor 214 optionally includes a User Interface 405 comprising a Display Device 406 and Input Devices 408. Memory 410 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and optionally, but typically, includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 410 optionally includes one or more storage devices remotely located from the CPU(s) 402. Memory 410, or alternately the non- volatile memory device(s) within Memory 410, comprises a non-transitory computer readable storage medium. In some embodiments, Memory 410, or the computer readable storage medium of Memory 410 stores the following programs, modules and data structures, or a subset thereof:
• Operating System 412 that includes procedures for handling various basic system
services and for performing hardware dependent tasks;
• Network Communication Module 414 that is used for connecting the Digital
Processor 214 to other computers via the one or more communication network interfaces 404 (wired or wireless) and one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on;
• User Interface Module 416 that receives commands from the user via one or more Input Devices 408 of User Interface 405, generates user interface objects in Display Device 406, and/or displays maps, coordinates, routes, etc., related to the position of Signal Receiver 120;
• Navigation Module 418 that produces navigation results (e.g., a range to satellite, ranges to multiple satellites, geographic positioning, location information, and/or a time value) by processing digitized satellite signals received from Satellite Positioning System Receiver 474 and/or by processing digitized OFDM signals received from OFDM Pilot Tone Receiver(s) 470;
• Range Estimation Module 420 that computes a range between a respective transmit location (e.g., Terrestrial Transmitter(s) or Transmit Location(s)/Tower(s) 130) and Signal Receiver 120 (e.g., a moving signal receiver) by computing a signal propagation time of the received time-domain signal from extracted pilot phase values (e.g., as described in further detail in relation to Method 600, operations 620-624) and by subsequently multiplying the computed signal propagation time with the speed of light;
• Speed Estimation Module 421 that computes a speed of Signal Receiver 120 (e.g., as described in further detail with reference to Method 600, operations 628-636) by computing a set of ranges and a corresponding set of range change rates, and by subsequently combining the set of range change rates;
• Pilot Tone Frequencies 422 that include multiple sets of pilot tone frequencies (e.g., corresponding to OFDM pilot tone frequencies defined by LTE specifications), optionally obtained by referencing an almanac;
• Position Estimation Module 424 that receives, computes, retrieves, or otherwise
estimates a position (e.g., a current or instantaneous position) of Signal Receiver 120 or a plurality of positions of Signal Receiver 120 (e.g., the moving signal receiver), for example as described in further detail with reference to Method 800, Figures 8A- 8B; and
• Transmitter Location Estimation Module 426 that computes a location of Terrestrial Transmitter(s) 130 (e.g., location of a first terrestrial transmitter 130-a, Figure 1; location of a second terrestrial transmitter 130-b, Figure 1 and the like) based on the plurality of signal receiver positions of Signal Receiver 120 (e.g., a plurality of positions of the moving signal receiver) obtained from Position Estimation Module 424 and corresponding ranges between the Terrestrial Transmitter(s) 130 and Signal Receiver 120 obtained from Range Estimation Module 420; as described with reference to Method 800, Figures 8A-8B. [0070] Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and each of the modules corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, Memory 410 stores a subset of the modules and data structures identified above. Furthermore, Memory 410 optionally stores additional modules and data structures not described above.
[0071] Although Figure 4 shows a "Digital Processor," Figure 4 is intended more as functional description of the various features which may be present in a set of digital processors than as a structural schematic of the embodiments described herein. In practice, and as recognized by those of ordinary skill in the art, items shown separately could be combined and some items could be separated. For example, some items shown separately in Figure 4 could be implemented on single processors and single items could be implemented by one or more processors. The actual number of processors used to implement Digital Processor 214 and how features are allocated among them will vary from one implementation to another, and may depend in part on the amount of data traffic that the system must handle during peak usage periods as well as during average usage periods.
[0072] Figure 5 A is a flow diagram illustrating range estimation at a signal receiver
(e.g., Signal Receiver 120), according to some embodiments. As explained above with reference to Figure 2 and Figures 3B-3D, received time-domain signal 502 (e.g., Received Time -Domain Signals 312, Figures 3B-3D) are received at the signal receiver (e.g., Signal Receiver 120, Figure 2) and processed as shown in Figure 5 A to produce a Range 518 between a respective transmit location and the signal receiver (e.g., Range 328, Figure 3B).
[0073] Accordingly, as shown in Figure 5A, Pilot phase values 504 (e.g., Pilot Phase
Values 344) are extracted from Received time-domain signal 502. In some embodiments, as explained with reference to Figure 3C, Pilot phase values 504 (e.g., Pilot Phase Values 344, Figure 3C) corresponding to a plurality of pilot tones are extracted from Received time- domain signal 502 (e.g., Received Time -Domain Signals 312) by performing a time-to- frequency domain transformation (e.g., a Fourier transform, FFT 520) on a set of samples generated from sampling Received time-domain signal 502. [0074] In alternative embodiments, as explained with reference to Figure 3D, Pilot phase values 504 (e.g., Pilot Phase Values 344, Figure 3C) are extracted from Received time- domain signal 502 (e.g., Received Time-Domain Signals 312) by processing received time- domain signals (e.g., OFDM signals received at Signal Receiver 120 from Transmit
Location(s)/Tower(s) 130) with a parallel set of signal correlators (e.g., Parallel Set of Signal Correlators 530), each for correlating the received time-domain signal with a respective pilot tone.
[0075] Signal Receiver 120 subsequently obtains an Interpolation function fitted to pilot phase values 506 (as explained with reference to Interpolation Module 316, Figure 3B) and computes a Difference in residual phase (2πΔΡ¾) between pilot tones 508 (as explained with reference to Figure 3B). Signal Receiver 120 also obtains Pilot tone frequencies 510 (e.g., Pilot Tone Frequencies 326), for example from an almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications, and computes Frequency difference (Δί) between pilot tones 512.
[0076] Signal Receiver 120 divides the computed Difference in residual phase
(2nAf*td) between pilot tones 508 (as dividend) by the Frequency difference (Δί) between pilot tones 512 (as divisor) and by a factor of 2π to obtain the Signal propagation time (td) or Slope of interpolation function 514 (e.g., as explained above with reference to Signal Propagation Time Estimation Module 320, Figure 3B).
[0077] Signal Receiver 120 (e.g., Range Estimation Module 322, Figure 3B) then obtains Range between transmit location and signal receiver 518 (e.g., Range 328, Figure 3B) by multiplying Signal propagation time (td) 514 by the Speed of light 516.
[0078] Figure 5B is a flow diagram illustrating speed estimation at a signal receiver
(e.g., Signal Receiver 120), according to some embodiments. Signal Receiver 120 computes a first set of ranges, including First Computed Range (Rl) 552-a, using signals received (e.g., Received Time -Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550-a) First Measured Time (tl) 554-a. Signal Receiver 120 computes a second set of ranges, including Second Computed Range (R2) 552-b, using signals received (e.g., Received Time-Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550-a) Second Measured Time (t2) 554-b. [0079] Signal Receiver 120 computes Range Change (AR = R2-R1) 556 by subtracting First Computed Range (Rl) 552-a from Second Computed Range (R2) 552-b. Signal Receiver 120 computes a difference between the second time (e.g., Second Measured Time (t2) 554-b) and the first time (e.g., First Measured Time (tl) 554-a) as Time Difference (At = t2-tl) 558. Signal Receiver 120 then computes a speed as Range Change Rate (AR/At) 560 by dividing Range Change 556 (as dividend) by Time Difference 558 (as divisor).
[0080] In some embodiments, a plurality of ranges is computed using signals received from a plurality of distinct transmit locations. Signal Receiver 120 combines the plurality of ranges to obtain an estimate of the instantaneous position of Signal Receiver 120 (e.g., a position of Signal Receiver 120 as co-ordinates in a two-dimensional plane or a three- dimensional space). In such embodiments, a plurality of corresponding range spheres is optionally computed, each range sphere corresponding to a respective transmit location (defining the center of the respective sphere) and a range to the corresponding transmit location (defining the radius of the respective sphere). Signal Receiver 120 then computes (e.g., by triangulation) one or more points of intersection of the plurality of range spheres as candidate positions of Signal Receiver 120. Signal Receiver 120 optionally resolves a single position corresponding to a valid candidate position of Signal Receiver 120 by using additional information (e.g., elevation, one or more GNSS ranges and the like).
[0081] In some embodiments, Signal Receiver 120 computes a plurality of range changes (e.g., to the same transmit location at different times or to different transmit locations). In such embodiments, Signal Receiver 120 computes a vector velocity (e.g., corresponding to the velocity of motion of Signal Receiver 120) based on the magnitudes and directions of two or more of the plurality of range changes. In some embodiments, Signal Receiver 120 performs a plurality of range change measurements after perturbing its position a plurality of times so as to obtain distinct range change measures with respect to a single transmit location. In some implementations, Signal Receiver 120 combines the plurality of range changes to obtain a vector velocity measurement. For example, if the two or more ranges lie in a single plane, Signal Receiver 120 computes a two-dimensional velocity vector in the same plane as the two or more coplanar range changes by combining the magnitudes and directions of the coplanar range change measures. On the other hand, if the Signal Receiver 120 computes three or more non-cop lanar range changes corresponding to three or more distinct transmitters, or three or more distinct measurement positions of Signal Receiver 120, then Signal Receiver 120 computes a three-dimensional velocity vector by combining the magnitudes and directions of the three or more non-coplanar range change measures.
[0082] Figures 6A-6B illustrate a flowchart representing a method 600 for computing a range to a signal receiver, according to certain embodiments of the invention. In some embodiments, method 600 is governed by instructions that are stored in a computer readable storage medium (e.g., memory 410 of digital processor 214, Figure 4) and that are executed by one or more processors (e.g., CPU(s) 402, Figure 4) of one or more signal receivers (e.g., signal receivers 120, Figure 2). In such embodiments, each of the operations shown in Figures 6A-6B corresponds to instructions stored in a computer memory or computer readable storage medium (e.g., memory 410 of digital processor 214, Figure 4). The computer readable storage medium optionally includes a magnetic or optical disk storage device, solid state storage devices such as Flash memory, or other non-volatile memory device or devices. The computer readable instructions stored on the computer readable storage medium are in source code, assembly language code, object code, or other instruction format that is interpreted by one or more processors.
[0083] The signal receiver receives (602) a time-domain signal that includes a plurality of pilot tones at a plurality of corresponding frequencies. The time-domain signal is transmitted (603) from a transmit location. For example, Signal Receiver 120 (Figure 1) receives a time-domain signal (e.g., Received Time-Domain Signals 312, Figures 3B-3D; Received time-domain signal 502, Figure 5A) that includes a plurality of pilot tones at a plurality of corresponding frequencies (e.g., Pilot Tone Frequencies 326, Figure 3B). In some embodiments, the transmit location corresponds to (604) a terrestrial transmitter. For example, Received Time -Domain Signals 312 are transmitted from a transmit location (e.g., Transmit Location(s)/Tower(s) 130). In some implementations, the transmit location corresponds to an OFDM transmitter (e.g., a transmitter that transmits OFDM— Orthogonal Frequency Division Multiplexed— signals).
[0084] In some embodiments, the plurality of pilot tones are (605) mutually orthogonal signals. In such embodiments, at a frequency value corresponding to maximum spectral value (e.g., peak power) of a respective pilot tone (corresponding to a respective pilot tone frequency), the spectral value (e.g., the power) of each of the other pilot tones in the plurality of pilot tones is negligible (e.g., each of the other pilot tones in the plurality of pilot tones has zero power if the frequency synthesizer at the receiver accurately locks onto one of the known pilot tones). More generally, orthogonality of the pilot tones is defined as follows:
jk2nt
for tones xk = ake τ for k = l --- K;
where - is the frequency spacing and K is the number of tones,
these tones are orthogonal if,
for all positive integers k = 1 ··· K, m = 1 --- K, and n:
1 fnT
xk Xmdt = 0, for k≠ m, where xm * is complex conjugate^x^ nT J0
Figure imgf000028_0001
[0085] Further, as an example (as illustrated in Figure 7C), if the OFDM tones (also referred to herein as subcarriers) correspond to OFDM signal frequencies Fl s Pi, F2, P2, F3, F4, F5, F6, F7, P3, P4, F8, F9, F10, P5, P6, Fn, F12, P7, the plurality of pilot tones occur at designated frequencies forming a subset of the frequencies of the OFDM tones (also referred to herein as subcarriers) which are defined, for example, by LTE (Long Term Evolution) specifications. In this example, the plurality of pilot tones occur at designated frequencies Pi, P2, P3, P4, P5, P6, and P7. Further, in such embodiments, the duration (or symbol period) of the OFDM time-domain signal is equal to, or an integral multiple of, the inverse of the frequency spacing (e.g., subcarrier frequency spacing) between the consecutive, orthogonal subcarrier or OFDM tone frequencies (of which the pilot tone frequencies form a subset).
[0086] The signal receiver extracts (606) from the received time-domain signal pilot phase values corresponding to the pilot tones. For example, as explained above with reference to Figure 3B, Signal Receiver (e.g., Pilot Phase Extraction Module 314) extracts from the received time-domain signal (Received Time-Domain Signals 312) pilot phase values (e.g., Pilot Phase Values 344, Figures 3C; Pilot Phase Value(s) 348, Figure 3D) corresponding to the pilot tones.
[0087] In some embodiments, extracting from the received time-domain signal pilot phase values corresponding to the pilot tones includes operations 608-614. In these embodiments, the signal receiver samples (608) the received time-domain signal to generate a set of samples. In some implementations, the signal receiver samples the received time- domain signal synchronized to the OFDM symbol period. For example, as shown in Figure 3C, Synchronized Sampler 330 samples Received Time-domain Signals 312 synchronized to the OFDM symbol period as indicated by OFDM Symbol Time Reference 340, to generate a set of samples. In some implementations, the signal receiver performs (610) a Fourier transform on the set of samples to produce a set of complex value pairs. For example, FFT 334 (Figure 3C) performs a time-to-frequency domain transform (e.g., a Fourier transform) on the set of samples to produce a set of complex value pairs.
[0088] In some implementations, the set of complex value pairs comprises (612) a complex value pair for each pilot tone in a set of pilot tones that comprises at least a subset of the plurality of pilot tones. For example, as described above with reference to Figure 3C, if FFT 334 generates complex value pairs at frequency bins or frequency values (e.g., as defined by the Fourier transform performed by FFT 334) corresponding to frequencies Fi, Pi, F2, P2, F3, F4, F5, F6, F7, P3, P4, F8, F9, F10, P5, P6, Fn, F12, P7 (e.g., Figure 7C), and if the plurality of pilot tones occur at designated frequencies Pi, P2, P3, P4, P5, P6, and P7 (e.g., as defined by LTE specifications or as obtained from an almanac), then Pilot Tone Frequency Complex Value Extraction Module 336 (Figure 3C) extracts a complex value pair for each of pilot tones in a subset of the pilot tones, e.g., for each of the pilot tones at frequencies P3, P5, and P6. In some implementations, Pilot Tone Frequency Complex Value Extraction Module 336 extracts a complex value pair for each of the pilot tones (e.g., at frequencies Pi, P2, P3, P4, P5, P6, and P7).
[0089] In some embodiments, the signal receiver extracts (614) phase values from the set of complex value pairs to produce said pilot phase values. For example, as explained with reference to Figure 3C above, Phase Estimation Module 338 estimates (e.g., computes) pilot phase values (e.g., Pilot Phase Values 344) from the set of complex value pairs for each pilot tone or pilot tone frequency as described mathematically above with reference to Figure 3C. For example, as further illustrated in Figure 7C, Phase Estimation Module 338 estimates (e.g., computes) pilot phase values (e.g., pilot phase values φι, φ2, φ3, φ4, φ5, φ6, and φ7) for each pilot tone or pilot tone frequency (e.g., for pilot tones at frequencies Pi, P2, P3, P4, P5, P6, and P7, respectively).
[0090] In some implementations, when Received Time-Domain Signals 312 correspond to OFDM signals, Signal Receiver 120 (e.g., Synchronized Sampler 330) samples the Received Time-Domain Signals 312 for the period of the OFDM symbols (e.g., at a 15 KHz symbol rate as defined by LTE specifications). In some embodiments, the received OFDM signal includes more than one hundred (e.g., 900) distinct pilot and data tones (sometimes collectively called subcarriers). Signal Receiver 120 (e.g., Synchronized Sampler 330) obtains 2N samples, where N is an integer (e.g., 1024 samples), per OFDM symbol and subsequently, FFT 334 performs a 2N point Fourier transform to obtain a set of 2N complex value pairs. Generally, the number of points in the Fourier transform is greater than the number of subcarriers. In some embodiments, distinct transmitters (e.g., Transmit Location(s)/Tower(s) 130-a, Transmit Location(s)/Tower(s) 130-b, and the like) use distinct pilot tone frequencies for the designated pilot tones. In some implementations, the pilot tone frequencies for distinct transmitters (e.g., transmit locations) are defined by LTE specifications.
[0091] In alternative embodiments, extracting from the received time-domain signal pilot phase values corresponding to the pilot tones comprises processing (616) the received time-domain signal with a parallel set of signal correlators, each for correlating the received time-domain signal with a respective pilot tone. For example, as explained above with reference to Figure 3D, Received Time-Domain Signals 312 received at Pilot Phase Extraction Module 314 are processed with a parallel set of signal correlators (e.g., Signal Correlator 346-a, Signal Correlator 346-b, Signal Correlator 346-n, and the like). Each of the signal correlators in the parallel set of signal correlators correlates (e.g., performs a mathematical cross- correlation operation by performing a series of shift, multiply, and add operations) the received signal (e.g., Received Time -Domain Signals 312) with a respective pilot tone (e.g., each of the respective Pilot Tone Signals 347) to extract pilot phase values (e.g., Pilot Phase Values 348-a, Pilot Phase Values 348-b, Pilot Phase Values 348-n, and the like) corresponding to the respective pilot tones.
[0092] The signal receiver computes (618) a signal propagation time of the received time-domain signal, e.g., by performing operations 620-624. The signal receiver fits (620) an interpolation function to residual pilot phase values (e.g., Interpolation Function 750 fitted to residual pilot phase values φι, φ2, φ3, φ4, φ5, φ6, and φ7 for corresponding pilot tones at pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7, respectively, Figure 7C), corresponding to the extracted pilot phase values. For example, Interpolation Module 316 (Figure 3B), fits an interpolation function (e.g., Interpolation function fitted to pilot phase values 506, Figure 5A; Interpolation Function 750, Figure 7C) to residual pilot phase values (e.g., pilot phase values φι, φ2, φ3, φ4, φ5, φ6, and φ7 for pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7, respectively, as shown in Figure 7C), corresponding to the extracted pilot phase values. As discussed above with reference to Figure 3B, Interpolation Module 316 optionally includes Residual Phase Extraction Module 318 to compute residual pilot phase values. In some embodiments, the signal receiver fits an interpolation function to residual pilot phase values, corresponding to the extracted pilot phase values using interpolation methods (e.g., curve- fitting, polynomial interpolation, spline interpolation, Gaussian interpolation, regression- based methods and the like). In some embodiments, the signal receiver fits (621) the interpolation function to the extracted pilot phase values.
[0093] The signal receiver determines (622) a slope of the interpolation function. In some embodiments, the slope, td, of the interpolation function corresponds to (624) a difference in residual phase, 2πΔ?¾, between two pilot tones having a frequency difference of Αΐ. For example, Signal Propagation Time Estimation Module 320 (Figure 3B) computes a Difference in residual phase (2πΔΡ¾) between pilot tones 508 (Figure 5A, Figure 7C). Signal Propagation Time Estimation Module 320 (Figure 3B) obtains Pilot tone frequencies 510 (e.g., Pilot Tone Frequencies 326, Figure 3B), for example from an almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications. Signal Propagation Time Estimation Module 320 then computes or otherwise obtains a Frequency difference (Δί) between pilot tones 512 (Figure 5A). As explained above, Signal Propagation Time Estimation Module 320 computes Signal propagation time (td) or Slope of interpolation function 514 by dividing the Difference in residual phase (2πΔΡ¾) between pilot tones 508 (see Figure 5A, Figure 7C) by the Frequency difference (Δί) between the same pilot tones 512 (see Figure 5 A, Figure 7C).
[0094] The signal receiver computes (626) a range between the transmit location and the signal receiver by multiplying the computed signal propagation time with the speed of light. For example, Range Estimation Module 322 (Figure 3B) obtains Range between transmit location and signal receiver 518 (e.g., Range 328, Figure 3B) by multiplying Signal propagation time (td) 514 by the Speed of light 516 (Figure 5 A).
[0095] In some embodiments, the signal receiver computes (628) a first set of ranges, including said computed range, using signals received from a set of transmit locations at the signal receiver at a first time. In some implementations, each range in the first set of ranges is computed (630) by fitting an interpolation function to residual pilot phase values, corresponding to extracted pilot phase values, for a respective signal received by the signal receiver and by determining a slope of the interpolation function. For example, as explained above with reference to Figure 5 A, Signal Receiver 120 computes a first set of ranges, including First Computed Range (Rl) 552-a (Figure 5A), using signals received (e.g., Received Time-Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550-a) First Measured Time (tl) 554-a (Figure 5A).
[0096] In some implementations, the signal receiver computes (632) a second set of ranges using the same signals received from the set of transmit locations at the signal receiver at a second time. For example, as explained above with reference to Figure 5A, Signal Receiver 120 computes a second set of ranges, including Second Computed Range (R2) 552- b, using signals received (e.g., Received Time-Domain Signals 312, Figures 3B-3D) from a set of transmit locations (e.g., Transmit Location(s)/Location(s) 130) at a corresponding (550- a) Second Measured Time (t2) 554-b.
[0097] The signal receiver then computes (634) a set of range change rates based on the first set of ranges, the second set of ranges and a difference between the second time and the first time. The signal receiver computes (636) a speed of the signal receiver by combining the set of range change rates. For example, as explained above with reference to Figure 5A, Signal Receiver 120 computes a respective Range Change (AR = R2-R1) 556 by subtracting First Computed Range (Rl) 552-a from Second Computed Range (R2) 552-b. Signal Receiver 120 computes a difference between the second time (Second Measured Time (t2) 554-b) and the first time (First Measured Time (tl) 554-a) as Time Difference (At = t2-tl) 558. Signal Receiver 120 then computes a speed as a respective Range Change Rate (AR/At) 560 by dividing Range Change 556 (as dividend) by Time Difference 558 (as divisor).
[0098] It should be understood that the particular order in which the operations in
Figures 6A-6B have been described are merely illustrative and are not intended to indicate that the described order is the only order in which the operations could be performed. One of ordinary skill in the art would recognize various ways to reorder the operations described herein. Additionally, it should be noted that details of other processes described herein with respect to method 800 (with reference to Figures 8A-8B) are also applicable in an analogous manner to method 600 described above with respect to Figures 6A-6B. For example, the interpolation function, extracted pilot phase values, residual pilot phase values, pilot tones, and ranges described above with reference to method 600 may have one or more of the characteristics of the various the interpolation function, extracted pilot phase values, residual pilot phase values, pilot tones, and ranges described herein with reference to method 800. For brevity, these details are not repeated here.
[0099] Figure 7A includes a flow diagram illustrating determination of the range to a terrestrial transmitter from a moving signal receiver, sometimes herein called estimation of the range, in accordance with some embodiments. Only those aspects of Figure 7A that differ from Figure 5A are described here, to avoid needless repetition. As shown in Figure 7A, the range between a terrestrial transmitter (transmit location) and a moving signal receiver is computed (718) from the signal (e.g., an OFDM signal) received (702) from the first terrestrial transmitter (e.g., Terrestrial Transmitter 130-a), using the methods explained herein with reference to Figure 5 A above.
[00100] Figure 7B includes prophetic phase plots illustrating computation of residual pilot phase values corresponding to extracted pilot phase values for pilot tones in a signal (e.g., an OFDM signal) received from a terrestrial transmitter, in accordance with some embodiments
[00101] Accordingly, in some embodiments, extracted pilot phase values (e.g.,
Extracted Pilot Phase Values 4>(Yk) shown in Figure 7B) are obtained from an inverse Fourier transform of the signal received from the first terrestrial transmitter. For example, a respective phase value at a respective pilot tone frequency is computed from the respective complex value pair at the respective pilot tone frequency obtained from the inverse Fourier Transform of the signal received from the terrestrial transmitter.
[00102] In some embodiments, a representation of the corresponding pilot phase values (e.g., Transmit Pilot Phase Values 4>(Xk) shown in Figure 7B) at the transmit location (e.g., at the Terrestrial Transmitters(s) 130 or Transmit Location(s)/Tower(s) 130) at the time of signal transmission is obtained (e.g., retrieved from an almanac or otherwise estimated by the moving signal receiver).
[00103] In such embodiments, residual pilot phase values (e.g., Residual Pilot Phase
Values 4>(Yk)-4>(Xk) shown in Figure 7B) corresponding to the extracted pilot phase values (e.g., Extracted Pilot Phase Values 4>(Yk) shown in Figure 7B) are obtained (e.g., computed) by subtracting from the extracted pilot phase values (e.g., Extracted Pilot Phase Values 4>(Yk) shown in Figure 7B) the corresponding pilot phase values at the transmit location (e.g., Transmit Pilot Phase Values 4>(Xk) shown in Figure 7B), as explained mathematically below:
[00104] φ(Υ = (Xk)+2nk-AF-td+Q£
where:
φ(·) is the phase of the pilot tone at the transmit location (Xk) or receive location (Yk)
k is the subcarrier index;
AF is the subcarrier spacing (explained with reference to figure 7C below); td is the propagation delay; and
θε is the phase difference between the transmit and receive references.
[00105] In such embodiments, the residual phase value for a given subcarrier = φ(Υ^- (Xk)=2nk-AF-td+Q£
[00106] It should be understood that the frequencies and frequency ranges described in
Figure 7B are merely illustrative and representative; the moving signal receiver and methods performed by the moving signal receiver described herein can be configured to operate at frequency bands or frequencies not specifically listed here. In some implementations, the pilot tone frequencies, subcarrier spacing, and signal bandwidth (e.g., OFDM signal bandwidth) are determined by referencing an almanac or from LTE specifications. Moreover, in some implementations, the pilot tone frequencies, subcarrier spacing, and signal bandwidth (e.g., OFDM signal bandwidth) used by a first terrestrial transmitter (e.g., a first OFDM transmitter) differ from the respective pilot tone frequencies, subcarrier spacing, and signal bandwidth (e.g., OFDM signal bandwidth) used by a second terrestrial transmitter (e.g., a second OFDM transmitter).
[00107] Furthermore, Figure 7B is intended more as an illustrative description of the phase relations between extracted pilot phase values, transmit pilot phase values, and residual pilot phase values, one or more of which are optionally used in the embodiments described herein. In practice, and as recognized by those of ordinary skill in the art, the phase plots described with reference to Figure 7B could be discrete or continuous plots. For example, phase values corresponding to each of the extracted pilot phase values, transmit pilot phase values, and residual pilot phase values optionally correspond to the respective phase values measured only at a discrete set of pilot tone frequencies forming a small (e.g., sparse) subset of the OFDM signal frequency range. In this scenario, the phase plots described in Figure 7B would optionally correspond to discrete scatter plots with phase values computed or measured only at the discrete frequencies of pilot tones (e.g., as further explained with reference to Figure 7C below), rather than the continuous traces shown in Figure 7B.
[00108] Figure 7C includes a prophetic phase plot illustrating an interpolation function
750 fitted to residual pilot phase values, corresponding to extracted pilot phase values, for a plurality of pilot tones transmitted by a terrestrial transmitter, in accordance with some embodiments. As explained above with reference to Figure 7B, in some embodiments, pilot tone frequencies correspond to a discrete set of frequencies forming a small (e.g., sparse) subset of the OFDM signal frequency range. In practice, the OFDM signal frequently includes data channels at a first predefined set of subcarrier frequencies and pilot tones at a second predefined set of subcarrier frequencies. In some embodiments, if the OFDM tones (also referred to herein as subcarriers) correspond to OFDM signal frequencies (also called subcarrier frequencies) F P F2, P2, F3, F4, F5, F6, F7, P3, P4, F8, F9, F10, P5, P6, Fn, F12, P7 (as shown in Figure 7C), the plurality of pilot tones occur at designated frequencies forming a subset of the frequencies of the OFDM tones which are defined, for example, by LTE (Long Term Evolution) specifications. As shown in Figure 7C, the plurality of pilot tones occur at illustrative designated frequencies Pi , P2, P3, P4, P5, P6, and P7 and data channels occur at Fl s F2, F3, F4, F5, F6, F7i Fs, F9, F10, Fn, Fi2.
[00109] Further, as shown in Figure 7C, in such embodiments, the subcarrier frequency spacing between the consecutive, orthogonal subcarrier or OFDM tone frequencies (of which the pilot tone frequencies form a subset) is AF. To ensure OFDM signal orthogonality, this subcarrier spacing is mathematically an inverse of the duration (or symbol period) of the OFDM time-domain signal or an inverse of an integral multiple thereof.
[00110] Shown in Figure 7C, are residual pilot phase values (e.g., pilot phase values φι , φ2, φ3, φ4, φ5, φβ, and φ7) for each pilot tone or pilot tone frequency (e.g., for pilot tones or pilot tone frequencies Pi , P2, P3, P4, P5, P6, and P7 respectively). Figure 7C further illustrates an interpolation function 750 fitted to the residual pilot phase values (e.g., to residual pilot phase values φι , φ2, φ3, φ4, φ5, φβ, and φ7 for corresponding pilot tones or pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7 respectively, Figure 7C), and an illustrative difference in residual phase, φ6 - φ3 = 2nAf* between pilot tones P6 and P3, Figure 7C corresponding to a frequency difference, Af, between the two frequencies of pilot tones P6 and P3.
[00111] Figures 8A-8B illustrate a flowchart representing a method 800 for performing navigation at a moving signal receiver, according to certain embodiments of the invention. In some embodiments, method 800 is governed by instructions that are stored in a computer readable storage medium (e.g., memory 410 of digital processor 214, Figure 4) and that are executed by one or more processors (e.g., CPU(s) 402, Figure 4) of one or more signal receivers (e.g., signal receivers 120, Figure 2). In such embodiments, each of the operations shown in Figures 8A-8B corresponds to instructions stored in a computer memory or computer readable storage medium (e.g., memory 410 of digital processor 214, Figure 4). The computer readable storage medium optionally includes a magnetic or optical disk storage device, solid state storage devices such as Flash memory, or other non- volatile memory device or devices. The computer readable instructions stored on the computer readable storage medium are in source code, assembly language code, object code, or other instruction format that is interpreted by one or more processors.
[00112] A moving signal receiver determines (802) a plurality of signal receiver positions and corresponding ranges to the moving signal receiver from a first terrestrial transmitter by, while positioned at each of a plurality of distinct positions, performing one or more of operations 804-820 described herein. In some embodiments, the plurality of signal receiver positions corresponds to three or more positions in a single plane defining a two- dimensional space (e.g., described as coordinates on a substantially planar portion of the topographical surface of planet earth, such as latitude and longitude coordinates). In some embodiments, the plurality of positions corresponds to three or more positions in at least two distinct planes defining a three-dimensional space (e.g., described as coordinates in three- dimensional space, such as latitude and longitude coordinates along with elevation above mean sea level). In some embodiments, determining corresponding ranges to the moving signal receiver from the first terrestrial transmitter comprises determining, at each of the plurality of positions, a respective scalar distance (e.g., a shortest distance without directionality) or a respective vector distance (e.g., a shortest distance with directionality or orientation) between an instantaneous (e.g., current) position of the moving signal receiver and the first terrestrial transmitter. [00113] In some embodiments, the first terrestrial transmitter (e.g., a transmit tower) is located on or substantially on the surface of planet earth (e.g., at a predefined height between 0-100 feet above the earth's topographical surface at the geographic location of the first terrestrial transmitter). For example, for a first terrestrial transmitter located at a geographic location at mean sea level (e.g., on or near a beach), the first terrestrial transmitter is located at a predefined height between 0-100 feet above mean sea level. As another example, for a first terrestrial transmitter located at a geographic location at 1500 feet above mean sea level (e.g., on a hill), the first terrestrial transmitter is located at a predefined height between 1500- 1600 feet above mean sea level (or 0-100 feet above the earth's topographical surface at the hill). As yet another example, for a first terrestrial transmitter located at a geographic location at 1000 feet below mean sea level (e.g., in a cave or mine), the first terrestrial transmitter is located at a predefined height between 900-1000 feet below mean sea level (or 0-100 feet above the earth's topographical surface at the cave or mine).
[00114] The moving signal receiver determines (804) a position of the moving signal receiver based on signals received from one or more respective sources (e.g., GPS coordinates corresponding to the position of the moving signal receiver based on GNSS tracking or from one or more satellites, such as latitude, longitude, and/or elevation above mean sea level) distinct from the first terrestrial transmitter. In some embodiments, the moving signal receiver is a continuously or substantially continuously moving signal receiver and determining a position of the moving signal receiver comprises determining an instantaneous (e.g., a current) position of the continuously moving signal receiver. In some embodiments, the moving signal receiver is a signal receiver moving in discrete motion segments interspersed or interleaved with stationary states between consecutive motion segments (e.g., the moving signal receiver is quasi-static) and determining a position of the moving signal receiver comprises determining a position of the moving signal receiver during a respective stationary state between consecutive motion segments. In various embodiments, the moving signal receiver undergoes an average scalar displacement of at least 1 meter per second, at least 10 meters per second, or least 100 meters per second, or moves at any other speed suitable for performing a particular predefined function.
[00115] In some embodiments, the one or more respective sources include (806) at least one GNSS satellite. In such embodiments, the position of the moving signal receiver corresponds to GPS (Global Positioning System) coordinates obtained from GNSS signals. In some embodiments, the first terrestrial transmitter is (808) an OFDM transmitter (e.g., a first OFDM transmitter that transmits Orthogonal Frequency Division Multiplexed or OFDM signals) that transmits a plurality of pilot tones (e.g., a first set of a plurality of pilot tones) at a plurality of corresponding frequencies (e.g., at a first set of corresponding frequencies); and the plurality of pilot tones are mutually orthogonal signals. In some embodiments, OFDM pilot tones are obtained by the moving signal receiver by referencing a locally-stored or remotely-located almanac and/or by referencing OFDM pilot tone frequencies defined by LTE specifications.
[00116] In some embodiments, at a frequency value corresponding to the maximum spectral value (e.g., peak power) of a respective pilot tone (corresponding to a respective pilot tone frequency), the spectral value (e.g., the power) of each of the other pilot tones in the plurality of pilot tones is negligible (e.g., each of the other pilot tones in the plurality of pilot tones has zero power if the frequency synthesizer at the receiver accurately locks onto one of the known pilot tones). More generally, orthogonality of the pilot tones is defined as follows:
jk2nt
for tones xk = ake τ for k = l --- K;
where - is the frequency spacing and K is the number of tones,
these tones are orthogonal if,
for all integers k = 1 ··· K, m = 1 ··· K, and n > 0:
1 fnT
xk Xmdt = 0, for k≠ m, where xm * is complex conjugate^x^ nT J0
Figure imgf000038_0001
[00117] Further, as an example (further illustrated in Figure 7C), if the OFDM tones
(also referred to herein as subcarriers) correspond to OFDM signal frequencies Fi, Pi, F2, P2, F3, F4, F5, F6, F7, P3, P4, F8, F9, F10, P5, P6, Fn, F12, P7, the plurality of pilot tones occur at designated frequencies forming a subset of the frequencies of the OFDM tones (also referred to herein as subcarriers) which are defined, for example, by LTE (Long Term Evolution) specifications. In this example, the plurality of pilot tones occur at designated frequencies Pi, P2, P3, P4, P5, P6, and P7 (see, for example, Figure 7C). Further, in such embodiments, the duration (or symbol period) of the OFDM time-domain signal is equal to, or an integral multiple of, the inverse of the frequency spacing (e.g., subcarrier frequency spacing, AF, as shown in Figure 7C) between the consecutive, orthogonal subcarrier or OFDM tone frequencies (of which the pilot tone frequencies form a subset).
[00118] While determining the position of the moving signal receiver, the moving signal receiver concurrently obtains (810) a respective range (e.g., a scalar or vector distance) to the moving signal receiver from the first terrestrial transmitter. In some embodiments, the moving signal receiver is a continuously or substantially continuously moving signal receiver and obtaining a respective range to the moving signal receiver from the first terrestrial transmitter comprises obtaining (e.g., computing) an instantaneous (e.g., a current) range or instantaneous scalar or vector distance to the continuously moving signal receiver from the first terrestrial transmitter. In some embodiments, the moving signal receiver is a signal receiver moving in discrete motion segments interspersed or interleaved with stationary states between consecutive motion segments (e.g., the moving signal receiver is quasi-static) and obtaining a respective range to the moving signal receiver from the first terrestrial transmitter comprises obtaining (e.g., computing) a respective range or a respective scalar or vector distance to the moving signal receiver from the first terrestrial transmitter during a respective stationary state of the moving signal receiver between consecutive motion segments.
[00119] In some embodiments, a respective range to the moving signal receiver from the first terrestrial transmitter is a distance between the moving signal receiver and the first terrestrial transmitter measured directly from an estimation of the signal propagation delay (td) introduced by the signal path between the respective position of the moving signal receiver and the location of the first terrestrial transmitter. In some embodiments, the range obtained directly from an estimation of the propagation delay (td) is a more accurate and reliable representation of the range or distance between the moving signal receiver and the first terrestrial transmitter as compared to code and carrier range measurements traditionally obtained from GNSS sources. The satellite range measurements (e.g., code and carrier range measurements) obtained from GNSS sources are often subject to errors, biases, and skews in the satellite clock or in the receiver clock and are therefore less precise and less accurate than the range that is measured directly from a determination (sometime herein called estimation) of the signal propagation delay (td).
[00120] In some embodiments, obtaining the respective range to the moving signal receiver from the first terrestrial transmitter comprises performing one or more of operations 812-820. In some embodiments, the moving signal receiver fits (812) an interpolation function to residual pilot phase values (e.g., Interpolation function fitted to pilot phase values 506, Figure 5 A; Interpolation Function 750 fitted to residual pilot phase values φι, φ2, φ3, φ4, φ5, φ6, and φ7 for corresponding pilot tones or pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7, respectively, Figure 7C), corresponding to extracted pilot phase values, for the plurality of pilot tones transmitted by the first terrestrial transmitter. In some embodiments, the extracted pilot phase values for the plurality of pilot tones include (814) a respective extracted pilot phase value, for a respective pilot tone in the plurality of pilot tones, computed from a respective complex value pair corresponding to the respective pilot tone, the respective complex value pair obtained from an inverse Fourier transform of a signal received from the first terrestrial transmitter (e.g., received signal 702, Figure 7A).
[00121] Stated differently, in some embodiments, the moving signal receiver computes an inverse Fourier transform of the signal received from the first terrestrial transmitter and obtains extracted pilot phase values (e.g., Extracted Pilot Phase Values 4>(Yk) shown in Figure 7B) from respective complex value pairs obtained from the inverse Fourier Transform.
[00122] As explained above, mathematically, the magnitude value ('r') and phase value ('φ') of a complex value pair (e.g., denoted in complex form as z = 'x + jy') relate to the real portion ('χ') and the imaginary portion ('y') of the respective complex value pair as follows:
Figure imgf000040_0001
[00123] In some embodiments, the moving signal receiver obtains (e.g., estimates or retrieves) a representation of the corresponding pilot phase values at the transmit location (e.g., Terrestrial Transmitters(s) 130 or Transmit Location(s)/Tower(s) 130) at the time of signal transmission (e.g., Transmit Pilot Phase Values 4>(Xk) shown in Figure 7B). In such embodiments, the moving signal receiver then computes residual pilot phase values (e.g., Pilot Phase Values, Figure 5A; Residual Pilot Phase Values 4>(Yk)-4>(Xk) shown in Figure 7B and in Figure 7C) corresponding to the extracted pilot phase values by subtracting from the extracted pilot phase values the corresponding pilot phase values at the transmit location (e.g., Transmit Pilot Phase Values 4>(Xk) shown in Figure 7B), as explained mathematically below:
[00124] φ(Υ = (Xk)+2nk-AF-td+Q£
where:
φ(·) is the phase of the pilot tone at the transmit location (Xk) or receive location (Yk)
k is the subcarrier index;
AF is the subcarrier spacing;
td is the propagation delay; and
θε is the phase difference between the transmit and receive references
[00125] In such embodiments, the residual phase value for a given subcarrier k is equal
Figure imgf000041_0001
[00126] In some embodiments, the moving signal receiver then fits an interpolation function to the residual pilot phase values corresponding to the extracted pilot phase values (see operation 506 in Figures 5A and 7A). For example, Figure 7C shows Interpolation Function 750 fitted to residual pilot phase values φι, φ2, φ3, φ4, φ5, φβ, and φ7 for corresponding pilot tones or pilot tone frequencies Pi, P2, P3, P4, P5, P6, and P7.
[00127] In some implementations, the moving signal receiver samples the signal received from the first terrestrial transmitter for the period of the OFDM symbols (e.g., at a 15 KHz symbol rate as defined by LTE specifications). In some embodiments, the received OFDM signal includes more than one hundred (e.g., 900) distinct pilot and data tones. The moving signal receiver or Signal Receiver 120 (e.g., Synchronized Sampler 330) obtains 1024 samples per OFDM symbol and subsequently, FFT 334 performs a 1024 point Fourier transform to obtain a set of 1024 complex value pairs. In some embodiments, distinct transmitters (e.g., Transmit Location(s)/Tower(s) 130-a, Transmit Location(s)/Tower(s) 130- b, and the like) use distinct pilot tone frequencies for the designated pilot tones. In some implementations, the pilot tone frequencies for distinct transmitters (e.g., transmit locations) are defined by LTE specifications.
[00128] In alternative embodiments, extracting pilot phase values corresponding to the pilot tones (e.g., from the signal received from the terrestrial transmitter) comprises processing the received signal with a parallel set of signal correlators, each for correlating the received signal with a respective pilot tone. For example, as explained above with reference to Figure 3D, Received Time-Domain Signals 312 received at Pilot Phase Extraction Module 314 are processed with a parallel set of signal correlators (e.g., Signal Correlator 346-a, Signal Correlator 346-b, Signal Correlator 346-n, and the like). Each of the signal correlators in the parallel set of signal correlators correlates (e.g., performs a mathematical cross- correlation operation by performing a series of shift, multiply, and add operations) the received signal (e.g., Received Time-Domain Signals 312) with a respective pilot tone (e.g., each of the respective Pilot Tone Signals 347) to extract pilot phase values (e.g., Pilot Phase Values 348-a, Pilot Phase Values 348-b, Pilot Phase Values 348-n, and the like) corresponding to the respective pilot tones. In other alternative embodiments, the aforementioned parallel set of signal correlators is replaced with a smaller number of correlators, each having a multiplexor to select a pilot tone from a set of pilot tones assigned to that signal correlator. Using the multiplexors to cycle through the pilot tones coupled to each multiplexor, each signal correlator produces results (correlation results, pilot phase values) for multiple pilot tones.
[00129] In some embodiments (e.g., subsequent to fitting an interpolation function to residual pilot phase values), the moving signal receiver determines (816) a slope of the interpolation function. In some embodiments, the slope, td, of the interpolation function corresponds (818) to a difference in residual phase, 2πΔ?¾ (e.g., Difference in residual phase φ6 - φ3 = 2πΔΡ¾ between pilot tones P6 and P3, Figure 7C) between two pilot tones of the plurality of pilot tones having a frequency difference Αΐ (e.g., between frequencies of pilot tones P6 and P3, Figure 7C). In some embodiments, the slope of the interpolation function is scaled by a constant (e.g., 2π) to obtain td. In some embodiments, the moving signal receiver computes (820) the respective range to the moving signal receiver from the first terrestrial transmitter by multiplying the determined slope of the interpolation function with the speed of light. [00130] The moving signal receiver (e.g., after determining a plurality of signal receiver positions and corresponding ranges) computes (822) a location of the first terrestrial transmitter based on the plurality of signal receiver positions and corresponding ranges. In some embodiments, the moving signal receiver uses mathematical triangulation to compute a location of the first terrestrial transmitter.
[00131] Stated differently, in some embodiments, the moving signal receiver combines the plurality of ranges to obtain an estimate of the location of the first terrestrial transmitter (e.g., a location of the first terrestrial transmitter as co-ordinates in a two-dimensional plane or a three-dimensional space). In such embodiments, a plurality of corresponding range spheres is optionally computed, each range sphere corresponding to a respective signal receiver position (defining the center of the respective sphere) and a corresponding range to the first terrestrial transmitter (defining the radius of the respective sphere). The moving signal receiver then computes (e.g., by triangulation) one or more points of intersection of the plurality of range spheres as candidate locations of the first terrestrial transmitter. The moving signal receiver optionally resolves a single position corresponding to a valid candidate location of the first terrestrial transmitter by using additional information (e.g., elevation, one or more GNSS ranges and the like).
[00132] In some embodiments, the moving signal receiver computes (824) a navigation result based on the computed location of the first terrestrial transmitter. In some embodiments, starting at a time subsequent to determination of the current position of the moving signal receiver (e.g., as explained with reference to operation 804-808) and determination of the location of the first terrestrial transmitter (e.g., as explained with reference to operation 822), the moving signal receiver performs continuous subsequent navigation (e.g., determining and/or updating its position, range to satellite, ranges to multiple satellites, range to terrestrial transmitter, ranges to multiple terrestrial transmitters, range change rate, speed or velocity based on the range change rate, geographic positioning, location information, and/or a time value, and the like) relative to the first transmitter. In such embodiments, the moving signal receiver performs such subsequent navigation without any further navigation input from the one or more respective sources, (e.g., satellites or GNSS sources). As such, in locations with poor GNSS signals or satellite coverage or connectivity such as inside malls, indoor settings inside concrete buildings, in certain geographic topology (such as glaciers, valleys, caves, underground mines), once the initial position of the moving receiver is established, subsequent navigation is performed using signals received from the first terrestrial transmitter, thereby reducing or eliminating the need to rely on satellites or GNSS sources for navigation guidance. In some embodiments, the computed navigation result comprises one or more updated position estimates for the moving signal receiver relative to a standard geographical frame of reference (e.g., GPS coordinates such as latitude, longitude and/or elevation above mean sea level). In some embodiments, the computed navigation result comprises one or more updated position estimates for the moving signal receiver relative to a predefined frame of reference (e.g., relative to an architectural plan of a mall or indoor building, or relative to the computed location of the first terrestrial transmitter).
[00133] In some embodiments, while positioned at each of the plurality of distinct positions, the moving signal receiver concurrently determines (826) the position of the moving signal receiver and obtaining a plurality of additional respective ranges to the moving signal receiver from a plurality of additional terrestrial transmitters. In some embodiments, the additional terrestrial transmitters include: a second OFDM transmitter and a third OFDM transmitter. In some embodiments, the second OFDM transmitter transmits a second set of a plurality of pilot tones at a second set of corresponding frequencies (e.g., distinct from the first set of corresponding frequencies and specified or predefined based on LTE specifications and/or obtained from an almanac). In some embodiments, the third OFDM transmitter transmits a third set of a plurality of pilot tones at a third set of corresponding frequencies (e.g., optionally distinct from the first set of corresponding frequencies, optionally distinct from the second set of corresponding frequencies, and specified or predefined based on LTE specifications and/or obtained from an almanac). In some embodiments, the moving signal receiver computes (828) respective locations of the plurality of additional terrestrial transmitters based on the determined positions of the moving signal receiver and the plurality of additional respective ranges. In some embodiments, the moving signal receiver computes (830) a navigation result based on the computed location of the first terrestrial transmitter and the respective locations of the plurality of additional terrestrial transmitters.
[00134] In some embodiments, after computing respective locations of the plurality of additional terrestrial transmitters, a plurality of subsequent ranges from the plurality of additional terrestrial transmitters to the moving signal receiver is computed using subsequent signals received from the plurality of additional terrestrial transmitters. The moving signal receiver combines the plurality of ranges to obtain an updated estimate of the instantaneous or updated position of the moving signal receiver (e.g., an updated position of the moving Signal Receiver 120 as co-ordinates in a two-dimensional plane or a three-dimensional space). In such embodiments, a plurality of corresponding range spheres is optionally computed, each range sphere corresponding to the range between a respective terrestrial transmitter of the plurality of terrestrial transmitters (defining the center of the respective sphere) and the moving signal receiver (defining the radius of the respective sphere). The moving signal receiver then computes (e.g., by triangulation) one or more points of intersection of the plurality of range spheres as candidate positions (e.g., current or updated positions) of the moving signal receiver. The moving signal receiver optionally resolves a single position corresponding to a valid candidate position of the moving signal receiver by using additional information (e.g., elevation, one or more GNSS ranges and the like).
[00135] In some embodiments, the moving signal receiver updates (832) a previously obtained location of the first terrestrial transmitter based on the computed location of the first terrestrial transmitter. In some embodiments, the previously obtained location of the first terrestrial transmitter is a location retrieved from a database of locations of terrestrial transmitters (e.g., OFDM transmitters) in proximity to the receiver, from an almanac, or is a previously computed location (e.g., obtained by performing operations 802-822 described above).
[00136] It should be understood that the particular order in which the operations in
Figures 8A-8B have been described are merely illustrative and are not intended to indicate that the described order is the only order in which the operations could be performed. One of ordinary skill in the art would recognize various ways to reorder the operations described herein. Additionally, it should be noted that details of other processes described herein with respect to method 600 (described herein with reference to Figures 6A-6B) are also applicable in an analogous manner to method 800 described above with respect to Figures 8A-8B. For example, the interpolation function, extracted pilot phase values, residual pilot phase values, pilot tones, and ranges described above with reference to method 800 may have one or more of the characteristics of the interpolation function, extracted pilot phase values, residual pilot phase values, pilot tones, and ranges described herein with reference to method 600. For brevity, these details are not repeated here. [00137] The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.

Claims

What is claimed is:
1. A method of performing navigation, the method comprising:
at a moving signal receiver, determining a plurality of signal receiver positions and corresponding ranges to the moving signal receiver from a first terrestrial transmitter by,
while positioned at each of a plurality of distinct positions,
determining a position of the moving signal receiver based on signals received from one or more respective sources distinct from the first terrestrial transmitter; and
while determining the position of the moving signal receiver, concurrently obtaining a respective range to the moving signal receiver from the first terrestrial transmitter; and
computing a location of the first terrestrial transmitter based on the plurality of signal receiver positions and corresponding ranges.
2. The method of claim 1, wherein the one or more respective sources include at least one GNSS satellite.
3. The method of claim 1, wherein:
the first terrestrial transmitter is an OFDM transmitter that transmits a plurality of pilot tones at a plurality of corresponding frequencies; and
the plurality of pilot tones are mutually orthogonal signals.
4. The method of claim 3, wherein obtaining the respective range to the moving signal receiver from the first terrestrial transmitter comprises:
fitting an interpolation function to residual pilot phase values, corresponding to
extracted pilot phase values, for the plurality of pilot tones transmitted by the first terrestrial transmitter;
determining a slope of the interpolation function; and
computing the respective range to the moving signal receiver from the first terrestrial transmitter by multiplying the determined slope of the interpolation function with the speed of light.
5. The method of claim 4, wherein the extracted pilot phase values for the plurality of pilot tones include a respective extracted pilot phase value, for a respective pilot tone in the plurality of pilot tones, computed from a respective complex value pair corresponding to the respective pilot tone, the respective complex value pair obtained from an inverse Fourier transform of a signal received from the first terrestrial transmitter.
6. The method of claim 4, wherein the slope, td, of the interpolation function corresponds to a difference in residual phase, 2πΔ?¾, between two pilot tones of the plurality of pilot tones having a frequency difference Αΐ.
7. The method of claim 1, further comprising:
computing a navigation result based on the computed location of the first terrestrial transmitter.
8. The method of claim 1, further comprising:
while positioned at each of the plurality of distinct positions, concurrently
determining the position of the moving signal receiver and obtaining a plurality of additional respective ranges to the moving signal receiver from a plurality of additional terrestrial transmitters;
computing respective locations of the plurality of additional terrestrial transmitters based on the concurrently determined position of the moving signal receiver and the plurality of additional respective ranges; and
computing a navigation result based on the computed location of the first terrestrial transmitter and the respective locations of the plurality of additional terrestrial transmitters.
9. The method of claim 1, further comprising:
updating a previously obtained location of the first terrestrial transmitter based on the computed location of the first terrestrial transmitter.
10. A moving signal receiver, comprising:
one or more processors;
memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
at the moving signal receiver, determining a plurality of signal receiver
positions and corresponding ranges to the moving signal receiver from a first terrestrial transmitter by,
while positioned at each of a plurality of distinct positions,
determining a position of the moving signal receiver based on signals received from one or more respective sources distinct from the first terrestrial transmitter; and
while determining the position of the moving signal receiver, concurrently obtaining a respective range to the moving signal receiver from a first terrestrial transmitter; and
computing a location of the first terrestrial transmitter based on the plurality of signal receiver positions and corresponding ranges.
11. The signal receiver of claim 10, wherein:
the first terrestrial transmitter is an OFDM transmitter that transmits a plurality of pilot tones at a plurality of corresponding frequencies; and
the plurality of pilot tones are mutually orthogonal signals.
12. The signal receiver of claim 11, wherein the instructions for obtaining the respective range to the moving signal receiver from the first terrestrial transmitter include instructions for:
fitting an interpolation function to residual pilot phase values, corresponding to
extracted pilot phase values, for the plurality of pilot tones transmitted by the first terrestrial transmitter;
determining a slope of the interpolation function; and
computing the respective range to the moving signal receiver from the first terrestrial transmitter by multiplying the determined slope of the interpolation function with the speed of light.
13. The signal receiver of claim 12, wherein the extracted pilot phase values for the plurality of pilot tones include a respective extracted pilot phase value, for a respective pilot tone in the plurality of pilot tones, computed from a respective complex value pair corresponding to the respective pilot tone, the respective complex value pair obtained from an inverse Fourier transform of a signal received from the first terrestrial transmitter.
14. The signal receiver of claim 12, wherein the slope, td, of the interpolation function corresponds to a difference in residual phase, 2nAf* , between two pilot tones of the plurality of pilot tones having a frequency difference Αΐ.
15. The signal receiver of claim 10, wherein the one or more programs further include instructions for:
computing a navigation result based on the computed location of the first terrestrial transmitter.
16. The signal receiver of claim 10, wherein the one or more programs further include instructions for:
while positioned at each of the plurality of distinct positions, concurrently
determining the position of the moving signal receiver and obtaining a plurality of additional respective ranges to the moving signal receiver from a plurality of additional terrestrial transmitters;
computing respective locations of the plurality of additional terrestrial transmitters based on the concurrently determined position of the moving signal receiver and the plurality of additional respective ranges; and
computing a navigation result based on the computed location of the first terrestrial transmitter and the respective locations of the plurality of additional terrestrial transmitters.
17. The signal receiver of claim 10, wherein the one or more programs further include instructions for updating a previously obtained location of the first terrestrial transmitter based on the computed location of the first terrestrial transmitter.
18. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a moving signal receiver with one or more processors, cause the moving signal receiver to:
at the moving signal receiver, determine a plurality of signal receiver positions and corresponding ranges to the moving signal receiver from a first terrestrial transmitter by,
while positioned at each of a plurality of distinct positions,
determining a position of the moving signal receiver based on signals received from one or more respective sources distinct from the first terrestrial transmitter; and
while determining the position of the moving signal receiver, concurrently obtaining a respective range to the moving signal receiver from a first terrestrial transmitter; and
computing a location of the first terrestrial transmitter based on the plurality of signal receiver positions and corresponding ranges.
19. The computer readable storage medium of claim 18, wherein:
the first terrestrial transmitter is an OFDM transmitter that transmits a plurality of pilot tones at a plurality of corresponding frequencies; and
the plurality of pilot tones are mutually orthogonal signals.
20. The computer readable storage medium of claim 19, wherein the instructions for obtaining the respective range to the moving signal receiver from the first terrestrial transmitter include instructions for:
fitting an interpolation function to residual pilot phase values, corresponding to
extracted pilot phase values, for the plurality of pilot tones transmitted by the first terrestrial transmitter;
determining a slope of the interpolation function; and
computing the respective range to the moving signal receiver from the first terrestrial transmitter by multiplying the determined slope of the interpolation function with the speed of light.
21. The computer readable storage medium of claim 20, wherein the extracted pilot phase values for the plurality of pilot tones include a respective extracted pilot phase value, for a respective pilot tone in the plurality of pilot tones, computed from a respective complex value pair corresponding to the respective pilot tone, the respective complex value pair obtained from an inverse Fourier transform of a signal received from the first terrestrial transmitter.
22. The computer readable storage medium of claim 20, wherein the slope, td, of the interpolation function corresponds to a difference in residual phase, 2πΔ?¾, between two pilot tones of the plurality of pilot tones having a frequency difference Αΐ.
23. The computer readable storage medium of claim 18, wherein the one or more programs further include instructions for:
computing a navigation result based on the computed location of the first terrestrial transmitter.
24. The computer readable storage medium of claim 18, wherein the one or more programs further include instructions for:
while positioned at each of the plurality of distinct positions, concurrently
determining the position of the moving signal receiver and obtaining a plurality of additional respective ranges to the moving signal receiver from a plurality of additional terrestrial transmitters;
computing respective locations of the plurality of additional terrestrial transmitters based on the concurrently determined position of the moving signal receiver and the plurality of additional respective ranges; and
computing a navigation result based on the computed location of the first terrestrial transmitter and the respective locations of the plurality of additional terrestrial transmitters.
25. The computer readable storage medium of claim 18, wherein the one or more programs further include instructions for updating a previously obtained location of the first terrestrial transmitter based on the computed location of the first terrestrial transmitter.
PCT/US2013/059285 2012-09-11 2013-09-11 Navigation based on locations of ofdm transmitters WO2014043250A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261699798P 2012-09-11 2012-09-11
US61/699,798 2012-09-11
US201361874885P 2013-09-06 2013-09-06
US61/874,885 2013-09-06
US14/022,010 US20150070209A1 (en) 2013-09-06 2013-09-09 Navigation Based on Locations of OFDM Transmitters
US14/022,010 2013-09-09

Publications (1)

Publication Number Publication Date
WO2014043250A1 true WO2014043250A1 (en) 2014-03-20

Family

ID=50278656

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/059285 WO2014043250A1 (en) 2012-09-11 2013-09-11 Navigation based on locations of ofdm transmitters

Country Status (1)

Country Link
WO (1) WO2014043250A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9194936B1 (en) 2014-07-09 2015-11-24 Deere & Company Determining location of a receiver with a multi-subcarrier signal
CN106093977A (en) * 2015-12-07 2016-11-09 北京航空航天大学 GNSS signal multiplexing efficiency measuring method based on software receiver

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243587B1 (en) * 1997-12-10 2001-06-05 Ericsson Inc. Method and system for determining position of a mobile transmitter
US20100220012A1 (en) * 2006-10-05 2010-09-02 Ivan Reede System and method to range using multi-carrier phasing synchronization
US7800541B2 (en) * 2008-03-31 2010-09-21 Golba Llc Methods and systems for determining the location of an electronic device
US8130141B2 (en) * 2008-09-10 2012-03-06 Commlabs, Inc. Wide area positioning system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243587B1 (en) * 1997-12-10 2001-06-05 Ericsson Inc. Method and system for determining position of a mobile transmitter
US20100220012A1 (en) * 2006-10-05 2010-09-02 Ivan Reede System and method to range using multi-carrier phasing synchronization
US7800541B2 (en) * 2008-03-31 2010-09-21 Golba Llc Methods and systems for determining the location of an electronic device
US8130141B2 (en) * 2008-09-10 2012-03-06 Commlabs, Inc. Wide area positioning system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9194936B1 (en) 2014-07-09 2015-11-24 Deere & Company Determining location of a receiver with a multi-subcarrier signal
US9310464B2 (en) 2014-07-09 2016-04-12 Deere & Company Determining location of a receiver with a multi-subcarrier signal
US9383430B2 (en) 2014-07-09 2016-07-05 Deere & Company Determining location of a receiver with a multi-subcarrier signal
US9482740B2 (en) 2014-07-09 2016-11-01 Deere & Company Determining location of a receiver with a multi-subcarrier signal
CN106093977A (en) * 2015-12-07 2016-11-09 北京航空航天大学 GNSS signal multiplexing efficiency measuring method based on software receiver
CN106093977B (en) * 2015-12-07 2022-11-08 北京航空航天大学 GNSS signal multiplexing efficiency measuring method based on software receiver

Similar Documents

Publication Publication Date Title
US10371806B2 (en) Doppler aided inertial navigation
AU2017268026B2 (en) Position estimation in a low earth orbit satellite communications system
CN107003378B (en) Portable electronic device and method for determining geographical position of portable electronic device
CN110351655B (en) Indoor positioning method and system based on signal multipath propagation measurement
US9261576B2 (en) Navigation using range measurements to OFDM transmitters
Martin et al. Bandwidth efficient cooperative TDOA computation for multicarrier signals of opportunity
US10649092B2 (en) TDOA-based positioning system using terrestrial wireless signal sources
US20190004144A1 (en) Detecting radio signal emitter locations
GB2508255A (en) Determining Locations of a Plurality of Radio Frequency Signal Sources
US20100171657A1 (en) System and method for wireless positioning and location determination
EP3688495A1 (en) System for determining a physical metric such as position
WO2018125333A2 (en) Sdr for navigation with lte signals
CN107843910B (en) Virtual multi-station TDOA (time difference of arrival) positioning method and device suitable for complex environment
US20150309155A1 (en) Method and Apparatus for Determining the Position Using Radio Signals and Atmospheric Pressure
JP6103167B1 (en) Receiver
Shamaei et al. Computationally efficient receiver design for mitigating multipath for positioning with LTE signals
US20150070209A1 (en) Navigation Based on Locations of OFDM Transmitters
Pittino et al. Outdoor and indoor experiments with localization using LTE signals
US9784815B2 (en) Separating ranging and data signals in a wireless positioning system
WO2014043250A1 (en) Navigation based on locations of ofdm transmitters
He et al. Indoor doppler error characterization for high sensitivity GNSS receivers
Sadrieh et al. Doppler characterization of a mobile GNSS receiver in multipath fading channels
WO2018153836A1 (en) Orthogonal correlation signals for detection and synchronization at low snr
US8212724B2 (en) Position indicating process
Yang et al. Mobile Positioning with DTV Signals (ATSC 8VSB and M/H) Standards

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13836654

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13836654

Country of ref document: EP

Kind code of ref document: A1