WO2015183390A1 - Positioning in indoor locations and other gps-denied environments - Google Patents

Positioning in indoor locations and other gps-denied environments Download PDF

Info

Publication number
WO2015183390A1
WO2015183390A1 PCT/US2015/022550 US2015022550W WO2015183390A1 WO 2015183390 A1 WO2015183390 A1 WO 2015183390A1 US 2015022550 W US2015022550 W US 2015022550W WO 2015183390 A1 WO2015183390 A1 WO 2015183390A1
Authority
WO
WIPO (PCT)
Prior art keywords
estimates
range
measurements
velocity
algorithm
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/US2015/022550
Other languages
French (fr)
Inventor
Ely V. SOTO
Daniel WEIGAND
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boeing Co
Original Assignee
Boeing Co
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
Application filed by Boeing Co filed Critical Boeing Co
Publication of WO2015183390A1 publication Critical patent/WO2015183390A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06—Systems determining position data of a target
    • G01S13/08—Systems for measuring distance only
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50—Systems of measurement based on relative movement of target
    • G01S13/58—Velocity or trajectory determination systems; Sense-of-movement determination systems
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257—Hybrid positioning
    • G01S5/0258—Hybrid positioning by combining or switching between measurements derived from different systems
    • G01S5/02585—Hybrid positioning by combining or switching between measurements derived from different systems at least one of the measurements being a non-radio measurement
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0273—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves using multipath or indirect path propagation signals in position determination
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0278—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves involving statistical or probabilistic considerations
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0294—Trajectory determination or predictive filtering, e.g. target tracking or Kalman filtering
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00—Measuring distances in line of sight; Optical rangefinders
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S1/00—Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith
    • G01S1/02—Beacons or beacon systems transmitting signals having a characteristic or characteristics capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters; Receivers co-operating therewith using radio waves
    • G01S1/08—Systems for determining direction or position line
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S2201/00—Indexing scheme relating to beacons or beacon systems transmitting signals capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters
    • G01S2201/01—Indexing scheme relating to beacons or beacon systems transmitting signals capable of being detected by non-directional receivers and defining directions, positions, or position lines fixed relatively to the beacon transmitters adapted for specific applications or environments
    • G01S2201/02—Indoor positioning, e.g. in covered car-parks, mining facilities, warehouses
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/06—Position of source determined by co-ordinating a plurality of position lines defined by path-difference measurements
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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
    • G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40—Data acquisition and logging

Definitions

  • the disclosure is related to positioning systems and, more particularly, to positioning methods and systems used in locations where signals are susceptible to heavy interference, noise, or multipath.
  • GPS Global Positioning System
  • LOS clear line of sight
  • GEOCOM Mobile Positioning System developed by The Boeing Company.
  • the GEOCOM system combines local inertial, magnetic, and barometric data for each receiver with peer-to-peer ranging signals received from other receivers within a reception range.
  • the peer-to-peer range estimates are combined with the local sensor data to determine accurate position estimates of each receiver.
  • a method for extracting Doppler/velocity measurements by using the minimum variance distortionless response (MVDR) algorithm at sub Hertz resolution for Doppler differentiation includes receiving in-phase and quadrature samples from a radio frequency based wireless communication system; correlating the samples against a known pattern to produce a correlation surface; generating a spectral estimate using the MVDR algorithm at sub-Hertz resolution; predicting which path is a line of sight path; and converting the line of sight path to a velocity measurement.
  • This method may also include using a time of arrival (TO A) estimator to generate a range measurement.
  • TO A time of arrival
  • a method for estimating the clock bias errors between two ranging units that uses spectrum exchanges, a modified aliased correlation, and an aliased Kalman filtering estimation to achieve usable Doppler measurements is also disclosed.
  • the estimate of clock bias may be used to remove a frequency error component of the clock bias prior to generating a velocity measurement.
  • a method for estimating range and velocity using range and velocity measurements from multiple sources is also disclosed.
  • the method uses external or known system probability knowledge to improve the final estimate.
  • the method produces a probability solution tree that can be tuned to the desired use of processing resources.
  • the method for estimating range and velocity includes receiving range and velocity measurements; estimating range, velocity, and acceleration for a number of particle hypotheses; comparing the estimates to a probability density function; selecting and testing measurements based on the comparison; discarding any particles that fail to meet a threshold; and updating the measurements for the non-discarded particles.
  • the method also includes selecting particles based on clustering and associating a confidence solution to the selected particles.
  • the method for extracting range measurements includes receiving in-phase and quadrature samples from a radio frequency based wireless communication system; applying a time shifting preserving transform to produce a set of equations; solving the set of channel equations; applying sparse channel compressive sensing; and applying a fading accumulator on the channel estimates to focus on steady peaks.
  • Figure 1 is an illustration of a ranging device, according to an example
  • Figure 2 is an illustration of a measurement algorithm, according to an example
  • Figure 3 is an illustration of a clock bias removal algorithm, according to an example
  • Figure 4 is an illustration of a range and velocity estimator algorithm, according to an example
  • Figure 5 is an illustration of a particle time step, according to an example
  • Figure 6 is an illustration of a channel estimation algorithm, according to an example
  • Figure 7 is an illustration of a correlation surface over time with Doppler, according to an example
  • Figure 8 is an illustration comparing a minimum variance distortionless response algorithm result with a fast Fourier transform result, according to an example
  • Figure 9 is an illustration of two spectral estimates, according to an example.
  • Figure 10 is an illustration of path nulling beamformer operation, according to an example.
  • Figure 11 is an illustration of particle filter operation, according to an example.
  • Figure 1 depicts a block diagram of a ranging device 100.
  • the ranging device 100 is a computing platform that receives signals from other ranging devices.
  • the ranging device 100 may be a geospatial locator unit used in a mobile positioning system.
  • the ranging device 100 may also be a mobile telephone, a tablet computer, sensor device, or any other computing device capable of measuring range and velocity relative to one or more other ranging devices.
  • the ranging device 100 may also transmit signals to other ranging devices.
  • the ranging device 100 is a combination of hardware and software components including a processor 102, data storage 104, and sensors 106.
  • the processor 102 may be one or more processors suitable for receiving input signals, executing machine language instructions, and providing output signals.
  • the processor 102 receives input signals from the data storage 104, the sensors 106, and external sources.
  • the processor 102 receives input signals from external sources over a wireless network via wireless links, such as Bluetooth, any version of IEEE 802.11, or other wireless based communication links.
  • the data storage 104 stores instructions that, upon execution by the processor 102, cause the ranging device 100 to perform functions.
  • the data storage 104 includes non-transitory media, such as secondary or persistent long term storage.
  • the data storage 104 may also include transitory computer readable medium, such as computer-readable media that stores data for short periods of time.
  • the data storage 104 may include any volatile or non-volatile storage systems.
  • the data storage 104 includes a measurement algorithm 108, a clock bias removal algorithm 110, a range and velocity estimator algorithm 112, and a channel estimation algorithm 114.
  • the data storage 104 may include other algorithms as well.
  • the algorithms 108-114 may be written in a suitable computer programming language, such as C++. The algorithms 108-114 are further described with respect to Figures 2-6.
  • the sensors 106 may include an inertial measurement unit (IMU), a barometer, and a magnetometer.
  • the IMU includes a combination of accelerometers and gyroscopes.
  • the sensors 106 may also include a GPS receiver for use when GPS signals are available. In this scenario, the ranging device 100 uses the GPS position solution until the environmental conditions are not suitable to receive or use GPS signals. The last known position from GPS is then used to initialize a position solution based on the other sensors' measurements and peer-to-peer ranging signals received from other ranging devices in the area.
  • FIG 2 is an illustration of the measurement algorithm 108.
  • the measurement algorithm 108 receives in-phase and quadrature (IQ) samples 202 from a radio frequency (RF) based wireless communication system. While a typical RF -based wireless communication system is described, the algorithms 108-114 are also suitable for use with other systems that measure range using sound waves, pressure waves, light, or other sources of range and velocity information. Indeed, the algorithms 108-114 can use a number of different measurements types and combine the different sources of range and velocity.
  • the ranging device 100 receives a waveform with a known pattern in the form of IQ samples, which are then captured and digitized.
  • the measurement algorithm 108 cross-correlates the IQ samples against the known pattern to produce a correlation surface. If the pattern contains modulated information overlaid as in a spread spectrum system, at block 206, this data is removed by way of a feedback mechanism. The cross correlation can be accumulated to provide additional gain at the expense of limiting the representable bandwidth.
  • the measurement algorithm 108 uses a spectral estimation technique 208 to generate a high precision spectral estimate.
  • the spectral estimation technique 208 takes the peak samples over time of the correlation surfaces and extracts the high resolution frequency information.
  • Figure 7 depicts an example correlation surface over time with Doppler.
  • the spectral estimation technique 208 uses the minimum variance distortionless response (MVDR) algorithm, preferably, at a sub-Hertz resolution.
  • MVDR minimum variance distortionless response
  • the MVDR algorithm has advantages over classical methods by better utilizing the available information and achieving higher spectral resolution with the same information. This high resolution allows the spectral estimation technique 208 to separate out multipath Doppler frequencies that are very close together.
  • the true frequencies are 5 and 5.2Hz with fast Fourier transform (FFT) and MVDR spectrum estimates computed from 256 samples.
  • FFT fast Fourier transform
  • external information 210 may be used to further distinguish and assign importance to the spectral peaks' channel paths 214. For example, if an IMU with a navigation engine is available, the estimate of the current relative velocity between two ranging devices 100 may be used to predict which path is the line of sight (LOS) at 212. Other information, such as relative power or delay, may also be used to discriminate between the detected paths.
  • the measurement algorithm 108 converts Doppler frequencies of the selected paths 214 to velocities 220 for use in the range and velocity estimator algorithm 112. The Doppler frequency is converted to velocity by taking into account the speed of the waveform or propagation velocity through the average transmission medium.
  • the estimated clock bias is used to correct the frequency estimate as described in Equation 1.
  • One source of error in these frequency estimates is from oscillator clock differences between a transmitter and the receiver in two ranging devices 100.
  • This clock error or 'clock bias' can be two orders of magnitude larger than the frequency estimate result and so the ranging device 100 may use a clock bias estimate 218 calculated by the clock bias removal algorithm 110 to correct the velocity measurements 220.
  • the clock bias removal algorithm 110 is described with respect to Figure 3.
  • FIG 3 is an illustration of the clock bias removal algorithm 110.
  • each receiver including the ranging device 100, has an unsynchronized oscillator tuned at a particular reference frequency. This frequency has a non-static error due to physical and manufacturing limitations. The magnitude of the frequency error and the rate at which it changes are parameters of the type and quality of the hardware oscillator used in the system.
  • the clock bias removal algorithm 110 removes the frequency error component of the clock bias error in order to acquire absolute knowledge of the Doppler frequency from the spectral estimation techniques.
  • the clock bias removal algorithm 1 10 leverages the exchange of spectral estimates between two ranging devices.
  • the transfer function of the RF channel is assumed to be reciprocal in the forward and reverse directions and is sufficiently stationary in time to acquire both forward and reverse spectral measurements.
  • Each ranging device produces spectral estimates that contain the relative clock error and any Doppler shifts from the RF paths (LOS or multipath) present in the channel.
  • the two ranging devices described as Unitl and Unit2 will experience a frequency shift in their spectrum estimates as SEl and SE2 as follows.
  • the clock bias removal algorithm 1 10 can cancel clock error by adding the frequencies SEl and SE2, resulting in no bias but a doubling of any Doppler shift. Also, the clock bias removal algorithm 1 10 can calculate the relative clock bias by subtracting the clock errors and dividing by two (i.e., (SEl - SE2)/2).
  • the clock bias removal algorithm 1 10 Upon receiving IQ samples 202a, 202b, the clock bias removal algorithm 1 10 cross- correlates the IQ samples against the known pattern to produce a correlation surface 204, removes modulated information 206, and generates a spectral estimate 208 as previously described with respect to the measurement algorithm 108.
  • the spectral estimates may be represented as follows.
  • Spectral Estimate e j*2* ⁇ clock ⁇ ⁇ fclock ⁇ +fd( - n ⁇
  • f clock (i) and f clock (k) are the clock biases from unit(i) and unit(k) oscillator
  • fd(n) is the Doppler shift for each particular path 1 :N.
  • the clock bias removal algorithm 110 may optionally implement a spectrum compression algorithm based on principal component analysis (PC A) 302 to allow for efficient sharing of the information over a data channel.
  • PCA principal component analysis
  • the PCA technique is used to classify spectrum by a set of orthogonal components, a subset of which contain the majority of the spectrum information. By selecting a subset of the principal components, the technique effectively acts as a lossy compression algorithm that can be used to reproduce the spectrum with high fidelity.
  • the clock bias removal algorithm 110 performs an alias-aware cross-correlation (AACC) 304 that can handle the frequency limited nature of the spectrum estimates.
  • AACC alias-aware cross-correlation
  • the inputs to the AACC 304 are two spectral estimates where the spectral data may wrap circularly around due to aliasing. Examples of two spectral estimates are depicted in Figure 9.
  • the AACC 304 correlates the two spectrums by circularly shifting one of the spectrums around the aliasing point.
  • This clock bias estimate is then used as the input into a multi-solution generator 306.
  • the clock bias removal algorithm 110 uses the multi-solution generator 306 to create different potential clock bias frequencies for the clock bias estimate 218. This is because there is an inherent ambiguity present in the AACC 304 result when the spectrum is aliased one or more times.
  • the multi-solution generator 306 creates a set of potential solutions given zero or more aliases, each at increments of the Nyquist frequency from the base clock bias. The maximum number of potential aliases considered is dictated by the drift rate of the ranging unit's oscillators.
  • the clock bias removal algorithm 110 provides the different potential clock bias frequencies obtained from the multi-solution generator 306 to a solution selection algorithm 308.
  • the solution selection algorithm 308 uses a 2 nd order Kalman filter 310 that tracks frequency and delta frequency of the clock bias, allowing process noise to account for the changes in acceleration.
  • the Kalman filter's new prediction is used to select out of the possible clock biases and select the best possible measurement.
  • the clock bias removal algorithm 110 then introduces the new selected measurement into the Kalman filter 310 for that time step to finalize the clock bias estimate 218, which may then be used by the measurement algorithm 108 to generate velocity measurements 220.
  • the measurement algorithm 108 also provides the selected potential paths 214 to a path nulling beamformer 222, which removes as much of the energy from the competing paths as possible.
  • the beamformer 222 acts like a filter focusing on the angles (frequencies) of interest while generating deep nulls at known frequencies with unwanted energy.
  • Figure 10 is an example of the path nulling beamformer 222 operation.
  • the measurement algorithm 108 provides the resulting samples from the beamformer 222 to a variety of different time of arrival estimation methods 224-230 to generate range measurements 232.
  • the measurement algorithm 108 may use one or more of the Early/Late 224, Early Slope 226, Early Zero Crossing 228, and High Resolution 230 interpolator methods to generate range measurements 232.
  • the measurement algorithm 108 may use other time of arrival estimation methods to produce a correlation peak range measurement based on the correlation pulse shape, such as the Gardner method. Which TOA estimator method used may be selected based on the needs of the range and velocity estimator algorithm 112, which can utilize numerous range measurements per time step, and different sources and techniques can provide additional information for estimation.
  • FIG 4 is an illustration of the range and velocity estimator algorithm 112.
  • the estimator algorithm 112 receives range measurements 402 (M range measurements, where M > 0), velocity measurements 404 (K velocity measurements, where K > 0), and probability information 406.
  • the estimator algorithm 112 receives the range and velocity measurements 232, 220 from the measurement algorithm 108.
  • the estimator algorithm 112 may receive the range measurements 402 from any available technique, such as from the channel estimation algorithm 114, while the velocity measurements 404 may be derived from Doppler or an alternative method.
  • the probability information 406 is any information that reflects the quality or confidence of the range and velocity measurements 402, 404.
  • the probability information 406 may include relative power, absolute power, signal to noise ratio, and navigation filter range and relative velocity estimates.
  • the probability information 406 may be used to select which inputs to be used by the estimator algorithm 112 based on the likelihood that one measurement is better than another.
  • the probability information 406 is provided by the sensors 106.
  • the inputs 402-406 to the range and velocity estimator algorithm 112 are not always available and, thus, the estimator algorithm 1 12 may receive the following possible sets of inputs: • Sets of range/velocity measurements 402, 404 with or without external probability information 406;
  • the estimator algorithm 112 associates the measurements at block 408.
  • Each set of ranges is extracted from specific path and Doppler frequency isolated by the beamformer 222, and that frequency was converted to a velocity in 216.
  • the set of ranges are, therefore, associated with that corresponding velocity measurement for further processing.
  • the range and velocity estimator algorithm 112 uses an algorithm derived from Rao- Blackwellized particle filter techniques 410 to solve for range and velocity while using available probability information 406 to discard contaminated or false measurements.
  • the estimator algorithm 112 produces a probability based multi-solution tree that dynamically adjusts and prunes itself as new measurements are taken.
  • the algorithm's processing complexity is highly tunable allowing a user to select the number of particles and tree size to match the needs of the system and application.
  • the particle filter 410 includes particles 412, a resampling algorithm 422, and a clustering algorithm 424.
  • Each particle 412 in the particle filter 410 includes a Kalman filter 414 with an associated probability density function (PDF) 416, and a measurement selector 418.
  • PDF probability density function
  • the particle filter 410 is a Rao-Blackwellized particle filter variant with specific extensions, but other particle filter designs may be used.
  • Figure 11 is an example of particle filter operation.
  • the Kalman filter 414 is a 3 rd order polynomial filter that estimates range, velocity, and acceleration. The inclusion of acceleration estimation in the Kalman filter 414 is useful, because unlike velocity in navigation, relative velocity between two ranging nodes does not normally stay constant with normal straight line human movement. Acceleration delta is handled by a small amount of process noise tuned to the expected acceleration changes in the system.
  • Equation 5 Kalman Filter State
  • each particle's Kalman filter predict function 504 is executed.
  • the predict function 504 estimates the range, velocity, and acceleration parameters based on past history.
  • the covariance of each particle's Kalman filter 414 is also decreased after estimating range, velocity, and acceleration.
  • Each particle 412 then copies the Kalman filter state information N times, one for each newly associated range, velocity, or range/velocity pair measurements from block 408.
  • Each copied state information is then updated using one of the measurements from block 408 using the Kalman filter update algorithm 502.
  • the update algorithm 502 generates an estimate based on those measurements, and updates the state and covariance of the filter 414.
  • the measurements can be clustered via a density based clustering algorithm and weighted accordingly using the external probability information input at block 420. This can reduce the effective number of measurements introduced into 502 and, therefore, reduce the number of Kalman filter updates executed per particle 412.
  • the weighting in block 420 is selected depending on the strength that the information assists in selecting the correct path, range, or velocity.
  • SNR path signal to noise ratio
  • IMU Inertial Measurement Unit
  • the SNR is often highly indicative of the line of sight path or at least of the potential corruption present in that path.
  • Relative velocity from a navigation filter can weighted depending on the current covariance of the filter.
  • the absolute velocity can be used to indicate the lack of Doppler and dictate if the channel estimation measurements from the channel estimation algorithm 114 should be used.
  • the measurement selection algorithm 418 compares the updated results for each particle 412 with how close they were to the prediction's 504 PDF 416 and any information 420 obtained from the external probability information 406. Each particle 412 may select a different
  • the measurement selection algorithm 418 updates the update history 506 to indicate the time since last update.
  • the measurement selection algorithm 418 performs a random roll (e.g., (0 ⁇ rand ⁇ 1) > 0.5) to decide if the best available measurement candidate is introduced despite the divergence from the PDF 416.
  • the measurement selection algorithm 418 updates the weight 508 with the final covariance of the particle's filter 414.
  • the resampling algorithm 422 receives the updated
  • the resampling algorithm 422 tests the particles 412 based on their weight and decaying importance history, which is based on the prior length of time between valid measurements. Any particles 412 that fail to meet a specified threshold are pruned and a new particle 412 is generated based on the results of the clustering algorithm 424.
  • the threshold is created by the nominal or worst case measurement update rate of the system and can be static or dynamic based on environmental conditions.
  • Tp is the update period based on history
  • T las t is the time since last update
  • pWa is the particle weight adjustment based on time update rate.
  • T p should be bounded, but adjusted dynamically based on a running mean of the time between updates.
  • pW is the final particle Weight
  • LHF is the likelihood function of the measurement versus the Kalman Filter's PDF
  • PrExt is the any external probability information
  • Proood is the general probability that the measurement is good.
  • the clustering algorithm 424 is a density based clustering algorithm (DBCA).
  • DBCA density based clustering algorithm
  • the DBCA is derived from the Density-Based Spatial Clustering of Applications with Noise (DBSCAN) algorithm with modifications to cluster in two dimensions for range and velocity.
  • DBSCAN Density-Based Spatial Clustering of Applications with Noise
  • the clustering algorithm 424 is used to generate two analysis groupings for the resampling step, one for the current measurement ranges and another for pre -resampling particle ranges. If a measurement cluster is identified that does not have a representative particle, the resampling algorithm assigns the replacement particle to represent it. Otherwise, the replacement particle is generated at the range of the lowest mean particle density from the pre-resampling group. Additionally, if a cluster is found to have too many particles representing it (e.g., > 10% particles), then the subset of the cluster's particles with the lowest weights are pruned and reassigned as above.
  • the clustering algorithm 424 creates another grouping for post-resampling particle ranges, which are used to represent distinct N potential solution clusters (PSC). These clusters are then processed by the confidence assignment algorithm 426 to associate the solution clusters with a confidence assignment based on the associated particle weights 508 and the combined probability for the applied measurements at block 420.
  • PSC potential solution clusters
  • each solution cluster is composed of N particles with a mean range, mean velocity, variance, mean particle weight, and any external probability information 406.
  • the variance, mean particle weight, and external probability information are combined to create a confidence value.
  • the specific weighting of these individual inputs into the confidence assignment is dictated by the strength of the external probability information and nominal magnitude of the noise process associated with the ranges.
  • the output 428 of the range and velocity estimator algorithm 112 is a set of range and velocity estimates with associated confidences as shown in Equation 8.
  • the maximum number of reported estimates may be limited by the confidence assignment as needed to prevent latter algorithms from processing unnecessary estimates. This approach is different than general particle filter implementations that generate an estimate based on a weighted average of all the particles.
  • the range estimate from the range and velocity estimator algorithm 112 can be used with channel estimation to extract improved range measurements.
  • channel estimation is used to correct for channel induced sample corruption that affects the estimate of the data in the transmission.
  • channel estimation can also be used to directly solve for the line-of-sight path (LOS) delay, which can be used for ranging purposes.
  • LOS line-of-sight path
  • the discrete system of a ranging radio transmitting a waveform over multipath channel can be described by:
  • x(k) is the waveform transmitted by the ranging radios
  • h(k) is the channel impulse response
  • n(k) is the noise contribution
  • y(k) is the observed waveform received by the ranging radio.
  • the transmitted waveform x(k) is known by the receiver.
  • Figure 6 is an illustration of the channel estimation algorithm 114.
  • the channel estimation algorithm 114 makes assumptions regarding characteristics of the channel.
  • the channel estimation algorithm 114 assumes that the multipath channel is sparse such that most (e.g., >75%) of the channel energy seen by the ranging device 100 is concentrated in a few (e.g., ⁇ 5) discrete delays or major paths. In other words, the channel response is composed of a few different impulses with varying amplitudes and delays. By taking advantage of this assumption, the channel estimation algorithm 114 improves a channel estimate by applying compressive sensing techniques.
  • Equation 10 Channel Estimation System Equations
  • M is the maximum delay spread of the multipath channel and N is the size of the input block used.
  • the maximum delay is dictated by the delay spread of the system, which is the maximum length of the multipath delay that contributes significant energy to the receiver.
  • the matrix X is further known as the Replica Channel Correlation Matrix 612.
  • the known replica waveform can be correlated with the input waveform to add additional gain in a similar fashion as described with respect to the measurement algorithm 108.
  • y(k) becomes a correlation output
  • x(k) is the replica autocorrelation.
  • the set of equations hold and processing can be performed in the same fashion.
  • the channel estimation algorithm 1 14 acquires received IQ samples 202 and correlates them at block 204 with the expected pattern replica.
  • the channel estimation algorithm 1 14 then processes the individual I and Q correlations and combines them using a time shift preserving transform 602, such as a simple differencing.
  • the transform 602 combines the two I/Q datasets to produce a single one with more information. This data set is then passed to the channel estimation algorithms 614 for further processing.
  • the least squares (LS) and minimum mean squares error (MMSE) solver algorithm 610 attempts to solve Equation 10 in order to estimate the channel response h(k).
  • the two channel estimation techniques are related and the LS solver can be described as a subset of the MMSE solver.
  • the least squares solver is described as follows: Equation 1 1 - Least Squares Solver
  • R h and R y are the autocorrelation matrices of h and y respectively.
  • R h , R y , and the noise variance ⁇ 2 are estimated in an adaptive fashion and are further described as the system adaptive channel parameters 608.
  • the least squares solver is used to estimate the channel while the channel parameters are estimated. Once the parameter estimates have converged, the MMSE solver is used.
  • the adaptive channel parameters at block 608 are updated with each time step by estimating the autocorrelation matrices R h , R y and noise variance ⁇ 2 as follows
  • R h (k) X # (R yy (k) - a 2 (k)l)X #H
  • R y (k) XR h (k)X h + d 2 ⁇ k)l
  • 0 ⁇ ⁇ ⁇ 1 is a forgetting factor
  • I is the identity matrix
  • X H is the hermitian transpose of X
  • X is the pseudo-inverse of X.
  • the channel estimation algorithm 1 14 After solving at block 610 for the channel estimate h(k), the channel estimation algorithm 1 14 focuses on the highest magnitude peaks at block 616 above a set threshold. A new sparse channel estimate is h s (k) is generated by creating an array with only the selected peaks from block 616. This channel estimate is then used to solve for the remaining received energy not represented by the sparse channel estimate.
  • y(k + 1) y(k) - y d (k)
  • the new y(k + 1) is then processed again by the LS/MMSE solver 610 in a recursive fashion.
  • the recursion is stopped when the rms change in y is below some small threshold.
  • the finalized h s (k) channel estimate from 616 is a transfer function describing the magnitude and delay of received LOS and multipath signals, where the earliest strong component or peak in time should be the LOS, if present. Therefore, if the channel is rapidly varying, the unstable multipath moves and changes while the delay of the LOS path is relatively steady. Using this assumption, multiple channel estimates can be accumulated in block 604 allowing for the delay of the LOS peak to build up and be more easily
  • hfinai (k) h s (k) + h s (k— 1), where 0 ⁇ ⁇ ⁇ 1
  • the forgetting factor ⁇ for the accumulations magnifies the strength of the most recent channel estimates.
  • the forgetting factor is tuned with the expected max rate of change of the line of sight path.
  • the channel estimation algorithm 1 14 then identifies the peaks with highest magnitude from hfi na i (k). These peaks 618 translate to channel delays / path ranges 620 and can be introduced into the range and velocity estimator algorithm 1 12 as a new set of range measurements.
  • the range measurements produced by the channel estimation algorithm 114 have a distinguishing attribute when compared to those produced by the measurement algorithm 108.
  • the channel estimation algorithm 114 is able to identify and distinguish paths without the need for frequency separation due to Doppler, therefore, the channel estimation algorithm 114 can be used when no relative motion is present between the transmitting and receiving ranging devices.
  • a method comprising receiving at least one of range or velocity measurements over time; generating multiple potential range, velocity, and acceleration estimates based on the received measurements; determining probabilities of the estimates; testing estimates based on their weight and decaying importance history; pruning estimates that fail to meet a threshold; generating a new estimate for the pruned estimates; clustering potential solutions based on a density of the estimates; and associating a confidence solution to the potential solutions.
  • the method disclosed herein further comprising clustering the measurements prior to generating the estimates.
  • the method disclosed herein further comprising receiving external probability information associated with the received measurements.
  • the method disclosed herein wherein the external probability information includes at least one of relative path power, absolute path power, signal to noise ratio, and navigation filter range and relative velocity estimates.
  • the method disclosed herein wherein generating the estimates includes using a particle filter with a Kalman filter state estimator.
  • velocity measurements are Doppler derived velocity measurements.
  • clock bias removal algorithm uses spectrum exchanges, a modified aliased correlation, and Kalman filtering state estimation.
  • time of arrival estimator is at least one of an Early/Late, Early Slope, Early Zero Crossing, and High Resolution interpolator.
  • a method for generating range and velocity measurements for use in a positioning system comprising receiving samples from a radio frequency based wireless communication system; correlating the samples against a known pattern to produce a correlation surface; generating a spectral estimate from the correlation surface using a minimum variance distortionless response algorithm; selecting paths likely to be a line of sight path from the spectral estimate;
  • generating a velocity measurement from a selected path using a path-nulling beamformer to isolate a single path from the paths likely to be a line of sight path; and using a time of arrival estimator to generate a range measurement from the isolated path.
  • the method of claim 12 further comprising estimating clock bias and removing a frequency error component of the clock bias prior to generating the velocity measurement.
  • the method disclosed herein wherein estimating clock bias includes performing an alias-aware cross correlation to match data from a first spectral estimate to a second spectral estimate.
  • the method disclosed herein wherein estimating clock bias includes creating different potential clock bias frequencies.
  • the method disclosed herein wherein estimating clock bias includes selecting one of the potential clock bias frequencies with a Kalman filter.
  • the method disclosed herein wherein selecting paths likely to be a line of sight path includes using external information.
  • a method for extracting range measurements using channel estimation comprising receiving samples from a radio frequency based wireless communication system; estimating a channel from the received samples using a least squares solver; generating a sparse channel estimate based on highest magnitude peaks obtained in the channel estimate; applying a decaying accumulator to the estimates over time; and converting the peaks to range estimates.
  • the method as disclosed herein wherein estimating the channel includes using a minimum mean square error solver with adaptive channel parameter updates.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Probability & Statistics with Applications (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

Methods for: (1) determining range, velocity, and acceleration estimates with associated confidences; and (2) extracting range estimates using channel estimation are disclosed. These methods can be used to improve positioning solutions obtained by positioning systems used in indoor locations and other GPS-denied environments.

Description

POSITIONING IN INDOOR LOCATIONS AND OTHER GPS-DENIED
ENVIRONMENTS
FIELD
The disclosure is related to positioning systems and, more particularly, to positioning methods and systems used in locations where signals are susceptible to heavy interference, noise, or multipath.
BACKGROUND
A Global Positioning System (GPS) is a positioning system that may be used to determine the specific location of a GPS receiver by calculating ranges from the receiver to multiple satellites. Many mobile telephones include GPS functionality, which allow applications to identify the location of the mobile telephone and provide services based on that location, such as providing a map display or driving directions. GPS works well in environments that have a clear line of sight (LOS) between the receiver and transmitters (e.g., satellites) used to determine position of the receiver. However, GPS is not available or does not function well in all environments.
In indoor locations and other GPS-denied environments, other positioning systems may be used. One example is the GEOCOM Mobile Positioning System developed by The Boeing Company. The GEOCOM system combines local inertial, magnetic, and barometric data for each receiver with peer-to-peer ranging signals received from other receivers within a reception range. The peer-to-peer range estimates are combined with the local sensor data to determine accurate position estimates of each receiver.
But even with these positioning systems, signals may become corrupted by noise, interference, and multipath. Multipath occurs when signals do not directly travel to a receiver, but instead are reflected off of walls or other obstructions before arriving at the receiver. Thus, it is beneficial to develop ranging solutions that distinguish these reflected paths and account for their contributed errors. This is especially beneficial when the positioning system is being used in emergency situations where knowing the locations of users is critical.
SUMMARY
A method for extracting Doppler/velocity measurements by using the minimum variance distortionless response (MVDR) algorithm at sub Hertz resolution for Doppler differentiation is disclosed. The method for extracting Doppler/velocity measurements includes receiving in-phase and quadrature samples from a radio frequency based wireless communication system; correlating the samples against a known pattern to produce a correlation surface; generating a spectral estimate using the MVDR algorithm at sub-Hertz resolution; predicting which path is a line of sight path; and converting the line of sight path to a velocity measurement. This method may also include using a time of arrival (TO A) estimator to generate a range measurement.
A method for estimating the clock bias errors between two ranging units that uses spectrum exchanges, a modified aliased correlation, and an aliased Kalman filtering estimation to achieve usable Doppler measurements is also disclosed. The estimate of clock bias may be used to remove a frequency error component of the clock bias prior to generating a velocity measurement.
A method for estimating range and velocity using range and velocity measurements from multiple sources is also disclosed. The method uses external or known system probability knowledge to improve the final estimate. The method produces a probability solution tree that can be tuned to the desired use of processing resources.
The method for estimating range and velocity includes receiving range and velocity measurements; estimating range, velocity, and acceleration for a number of particle hypotheses; comparing the estimates to a probability density function; selecting and testing measurements based on the comparison; discarding any particles that fail to meet a threshold; and updating the measurements for the non-discarded particles. The method also includes selecting particles based on clustering and associating a confidence solution to the selected particles.
A method for extracting range measurements using a combination of compressive sensing and classical channel estimation techniques by combining information from the in- phase and quadrature components of the signal is also described. The method for extracting range measurements includes receiving in-phase and quadrature samples from a radio frequency based wireless communication system; applying a time shifting preserving transform to produce a set of equations; solving the set of channel equations; applying sparse channel compressive sensing; and applying a fading accumulator on the channel estimates to focus on steady peaks.
The features, functions, and advantages that have been discussed can be achieved independently in various embodiments or may be combined in yet other embodiments further details of which can be seen with reference to the following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Presently preferred embodiments are described below in conjunction with the appended drawing figures, wherein like reference numerals refer to like elements in the various figures, and wherein:
Figure 1 is an illustration of a ranging device, according to an example;
Figure 2 is an illustration of a measurement algorithm, according to an example;
Figure 3 is an illustration of a clock bias removal algorithm, according to an example;
Figure 4 is an illustration of a range and velocity estimator algorithm, according to an example;
Figure 5 is an illustration of a particle time step, according to an example;
Figure 6 is an illustration of a channel estimation algorithm, according to an example; Figure 7 is an illustration of a correlation surface over time with Doppler, according to an example;
Figure 8 is an illustration comparing a minimum variance distortionless response algorithm result with a fast Fourier transform result, according to an example;
Figure 9 is an illustration of two spectral estimates, according to an example;
Figure 10 is an illustration of path nulling beamformer operation, according to an example; and
Figure 11 is an illustration of particle filter operation, according to an example.
The drawings are for the purpose of illustrating example embodiments, but it is understood that the inventions are not limited to the arrangements and instrumentality shown in the drawings.
DETAILED DESCRIPTION
Figure 1 depicts a block diagram of a ranging device 100. The ranging device 100 is a computing platform that receives signals from other ranging devices. For example, the ranging device 100 may be a geospatial locator unit used in a mobile positioning system. The ranging device 100 may also be a mobile telephone, a tablet computer, sensor device, or any other computing device capable of measuring range and velocity relative to one or more other ranging devices. The ranging device 100 may also transmit signals to other ranging devices.
The ranging device 100 is a combination of hardware and software components including a processor 102, data storage 104, and sensors 106. The processor 102 may be one or more processors suitable for receiving input signals, executing machine language instructions, and providing output signals. The processor 102 receives input signals from the data storage 104, the sensors 106, and external sources. The processor 102 receives input signals from external sources over a wireless network via wireless links, such as Bluetooth, any version of IEEE 802.11, or other wireless based communication links. The data storage 104 stores instructions that, upon execution by the processor 102, cause the ranging device 100 to perform functions. Preferably, the data storage 104 includes non-transitory media, such as secondary or persistent long term storage. The data storage 104 may also include transitory computer readable medium, such as computer-readable media that stores data for short periods of time. The data storage 104 may include any volatile or non-volatile storage systems.
The data storage 104 includes a measurement algorithm 108, a clock bias removal algorithm 110, a range and velocity estimator algorithm 112, and a channel estimation algorithm 114. The data storage 104 may include other algorithms as well. The algorithms 108-114 may be written in a suitable computer programming language, such as C++. The algorithms 108-114 are further described with respect to Figures 2-6.
The sensors 106 may include an inertial measurement unit (IMU), a barometer, and a magnetometer. The IMU includes a combination of accelerometers and gyroscopes. The sensors 106 may also include a GPS receiver for use when GPS signals are available. In this scenario, the ranging device 100 uses the GPS position solution until the environmental conditions are not suitable to receive or use GPS signals. The last known position from GPS is then used to initialize a position solution based on the other sensors' measurements and peer-to-peer ranging signals received from other ranging devices in the area.
Figure 2 is an illustration of the measurement algorithm 108. In the example shown in Figure 2, the measurement algorithm 108 receives in-phase and quadrature (IQ) samples 202 from a radio frequency (RF) based wireless communication system. While a typical RF -based wireless communication system is described, the algorithms 108-114 are also suitable for use with other systems that measure range using sound waves, pressure waves, light, or other sources of range and velocity information. Indeed, the algorithms 108-114 can use a number of different measurements types and combine the different sources of range and velocity. In the RF example, the ranging device 100 receives a waveform with a known pattern in the form of IQ samples, which are then captured and digitized. At block 204, the measurement algorithm 108 cross-correlates the IQ samples against the known pattern to produce a correlation surface. If the pattern contains modulated information overlaid as in a spread spectrum system, at block 206, this data is removed by way of a feedback mechanism. The cross correlation can be accumulated to provide additional gain at the expense of limiting the representable bandwidth.
The measurement algorithm 108 uses a spectral estimation technique 208 to generate a high precision spectral estimate. The spectral estimation technique 208 takes the peak samples over time of the correlation surfaces and extracts the high resolution frequency information. Figure 7 depicts an example correlation surface over time with Doppler.
In one example, the spectral estimation technique 208 uses the minimum variance distortionless response (MVDR) algorithm, preferably, at a sub-Hertz resolution. The MVDR algorithm has advantages over classical methods by better utilizing the available information and achieving higher spectral resolution with the same information. This high resolution allows the spectral estimation technique 208 to separate out multipath Doppler frequencies that are very close together. In Figure 8, the true frequencies are 5 and 5.2Hz with fast Fourier transform (FFT) and MVDR spectrum estimates computed from 256 samples.
Once the spectral estimate is generated, external information 210 may be used to further distinguish and assign importance to the spectral peaks' channel paths 214. For example, if an IMU with a navigation engine is available, the estimate of the current relative velocity between two ranging devices 100 may be used to predict which path is the line of sight (LOS) at 212. Other information, such as relative power or delay, may also be used to discriminate between the detected paths. At block 216, the measurement algorithm 108 converts Doppler frequencies of the selected paths 214 to velocities 220 for use in the range and velocity estimator algorithm 112. The Doppler frequency is converted to velocity by taking into account the speed of the waveform or propagation velocity through the average transmission medium. The estimated clock bias is used to correct the frequency estimate as described in Equation 1.
Equation 1 - Velocity Computation
( ( ClockBias(218) \ PropagationVelocity\ PathFrequencies(214)- * —
2 j J \ Carrier Frequency /
One source of error in these frequency estimates is from oscillator clock differences between a transmitter and the receiver in two ranging devices 100. This clock error or 'clock bias' can be two orders of magnitude larger than the frequency estimate result and so the ranging device 100 may use a clock bias estimate 218 calculated by the clock bias removal algorithm 110 to correct the velocity measurements 220. The clock bias removal algorithm 110 is described with respect to Figure 3.
Figure 3 is an illustration of the clock bias removal algorithm 110. In the RF -based wireless communication system, each receiver, including the ranging device 100, has an unsynchronized oscillator tuned at a particular reference frequency. This frequency has a non-static error due to physical and manufacturing limitations. The magnitude of the frequency error and the rate at which it changes are parameters of the type and quality of the hardware oscillator used in the system.
These errors translate into a frequency and timing error within positioning systems that can cause large deviations in the Doppler and time of arrival estimates. As described further, the clock bias removal algorithm 110 removes the frequency error component of the clock bias error in order to acquire absolute knowledge of the Doppler frequency from the spectral estimation techniques. The clock bias removal algorithm 1 10 leverages the exchange of spectral estimates between two ranging devices. The transfer function of the RF channel is assumed to be reciprocal in the forward and reverse directions and is sufficiently stationary in time to acquire both forward and reverse spectral measurements. Each ranging device produces spectral estimates that contain the relative clock error and any Doppler shifts from the RF paths (LOS or multipath) present in the channel.
Also, while both ranging devices experience the same Doppler shift due to motion, the relative clock error will be negated between each other. For example, the two ranging devices described as Unitl and Unit2 will experience a frequency shift in their spectrum estimates as SEl and SE2 as follows.
Equation 2 - Frequency Shift in Spectrum Estimates
SEl = (ciockError(Unitl)- ClockError(Unit2 ^ + Doppler
SE2 = (ClockError(JJnit2)- ClockError(JJnitl)) + Doppler If the spectral estimates from both units are gathered, then the clock bias removal algorithm 1 10 can cancel clock error by adding the frequencies SEl and SE2, resulting in no bias but a doubling of any Doppler shift. Also, the clock bias removal algorithm 1 10 can calculate the relative clock bias by subtracting the clock errors and dividing by two (i.e., (SEl - SE2)/2).
Upon receiving IQ samples 202a, 202b, the clock bias removal algorithm 1 10 cross- correlates the IQ samples against the known pattern to produce a correlation surface 204, removes modulated information 206, and generates a spectral estimate 208 as previously described with respect to the measurement algorithm 108. The spectral estimates may be represented as follows.
Equation 3 - Spectral Estimates
Spectral Estimate = e j*2*^clock^~fclock^+fd(-n^ where fclock(i) and fclock(k) are the clock biases from unit(i) and unit(k) oscillator, and fd(n) is the Doppler shift for each particular path 1 :N.
Once these measurements are available on the respective ranging devices, the clock bias removal algorithm 110 may optionally implement a spectrum compression algorithm based on principal component analysis (PC A) 302 to allow for efficient sharing of the information over a data channel. The PCA technique is used to classify spectrum by a set of orthogonal components, a subset of which contain the majority of the spectrum information. By selecting a subset of the principal components, the technique effectively acts as a lossy compression algorithm that can be used to reproduce the spectrum with high fidelity.
After the spectral estimates are co-located, the clock bias removal algorithm 110 performs an alias-aware cross-correlation (AACC) 304 that can handle the frequency limited nature of the spectrum estimates. The inputs to the AACC 304 are two spectral estimates where the spectral data may wrap circularly around due to aliasing. Examples of two spectral estimates are depicted in Figure 9. In order to match the data from one spectral estimate to another that may be partially wrapped, the AACC 304 correlates the two spectrums by circularly shifting one of the spectrums around the aliasing point. The known receiver mixing frequencies 312a, 312b are used to adjust the clock offset present in the clock bias due to the mixing frequencies (i.e., clockBiasEst = clockBiasEst - (mixFreql - mixFreq2)). This clock bias estimate is then used as the input into a multi-solution generator 306.
The clock bias removal algorithm 110 uses the multi-solution generator 306 to create different potential clock bias frequencies for the clock bias estimate 218. This is because there is an inherent ambiguity present in the AACC 304 result when the spectrum is aliased one or more times. The multi-solution generator 306 creates a set of potential solutions given zero or more aliases, each at increments of the Nyquist frequency from the base clock bias. The maximum number of potential aliases considered is dictated by the drift rate of the ranging unit's oscillators.
The clock bias removal algorithm 110 provides the different potential clock bias frequencies obtained from the multi-solution generator 306 to a solution selection algorithm 308. The solution selection algorithm 308 uses a 2nd order Kalman filter 310 that tracks frequency and delta frequency of the clock bias, allowing process noise to account for the changes in acceleration.
Equation 4 - Kalman Filter State clock bias Hz)
Kalman Filter State =
relative clock velocity (ΔΗζ)
When a new set of potential clock bias frequencies are available, the Kalman filter's new prediction is used to select out of the possible clock biases and select the best possible measurement. The clock bias removal algorithm 110 then introduces the new selected measurement into the Kalman filter 310 for that time step to finalize the clock bias estimate 218, which may then be used by the measurement algorithm 108 to generate velocity measurements 220.
Returning to Figure 2, the measurement algorithm 108 also provides the selected potential paths 214 to a path nulling beamformer 222, which removes as much of the energy from the competing paths as possible. The beamformer 222 acts like a filter focusing on the angles (frequencies) of interest while generating deep nulls at known frequencies with unwanted energy. In order to extract the measurement specific to one of the paths of interest, a single path is isolated and the energy of competing paths is removed, if possible. Figure 10 is an example of the path nulling beamformer 222 operation.
The measurement algorithm 108 provides the resulting samples from the beamformer 222 to a variety of different time of arrival estimation methods 224-230 to generate range measurements 232. For example, the measurement algorithm 108 may use one or more of the Early/Late 224, Early Slope 226, Early Zero Crossing 228, and High Resolution 230 interpolator methods to generate range measurements 232. The measurement algorithm 108 may use other time of arrival estimation methods to produce a correlation peak range measurement based on the correlation pulse shape, such as the Gardner method. Which TOA estimator method used may be selected based on the needs of the range and velocity estimator algorithm 112, which can utilize numerous range measurements per time step, and different sources and techniques can provide additional information for estimation.
Figure 4 is an illustration of the range and velocity estimator algorithm 112. The estimator algorithm 112 receives range measurements 402 (M range measurements, where M > 0), velocity measurements 404 (K velocity measurements, where K > 0), and probability information 406. In one embodiment, the estimator algorithm 112 receives the range and velocity measurements 232, 220 from the measurement algorithm 108. However, the estimator algorithm 112 may receive the range measurements 402 from any available technique, such as from the channel estimation algorithm 114, while the velocity measurements 404 may be derived from Doppler or an alternative method.
The probability information 406 is any information that reflects the quality or confidence of the range and velocity measurements 402, 404. For example, the probability information 406 may include relative power, absolute power, signal to noise ratio, and navigation filter range and relative velocity estimates. The probability information 406 may be used to select which inputs to be used by the estimator algorithm 112 based on the likelihood that one measurement is better than another. In one example, the probability information 406 is provided by the sensors 106.
The inputs 402-406 to the range and velocity estimator algorithm 112 are not always available and, thus, the estimator algorithm 1 12 may receive the following possible sets of inputs: • Sets of range/velocity measurements 402, 404 with or without external probability information 406;
• Sets of range only measurements 402 with or without external probability information 406; and
• Sets of velocity only measurements 404 with or without external probability
information 406.
After receiving the range and velocity measurements 402, 404, the estimator algorithm 112 associates the measurements at block 408. Each set of ranges is extracted from specific path and Doppler frequency isolated by the beamformer 222, and that frequency was converted to a velocity in 216. The set of ranges are, therefore, associated with that corresponding velocity measurement for further processing.
The range and velocity estimator algorithm 112 uses an algorithm derived from Rao- Blackwellized particle filter techniques 410 to solve for range and velocity while using available probability information 406 to discard contaminated or false measurements.
Beneficially, the estimator algorithm 112 produces a probability based multi-solution tree that dynamically adjusts and prunes itself as new measurements are taken. The algorithm's processing complexity is highly tunable allowing a user to select the number of particles and tree size to match the needs of the system and application.
The particle filter 410 includes particles 412, a resampling algorithm 422, and a clustering algorithm 424. Each particle 412 in the particle filter 410 includes a Kalman filter 414 with an associated probability density function (PDF) 416, and a measurement selector 418. In one example, the particle filter 410 is a Rao-Blackwellized particle filter variant with specific extensions, but other particle filter designs may be used. Figure 11 is an example of particle filter operation. Preferably, the Kalman filter 414 is a 3rd order polynomial filter that estimates range, velocity, and acceleration. The inclusion of acceleration estimation in the Kalman filter 414 is useful, because unlike velocity in navigation, relative velocity between two ranging nodes does not normally stay constant with normal straight line human movement. Acceleration delta is handled by a small amount of process noise tuned to the expected acceleration changes in the system.
Equation 5 - Kalman Filter State
range
Kalman Filter State relative velocity
relative acceleration
The operation of the particle filter 410 is described with respect to Figure 5. At the beginning of each measurement time step 500, each particle's Kalman filter predict function 504 is executed. The predict function 504 estimates the range, velocity, and acceleration parameters based on past history. The covariance of each particle's Kalman filter 414 is also decreased after estimating range, velocity, and acceleration.
Each particle 412 then copies the Kalman filter state information N times, one for each newly associated range, velocity, or range/velocity pair measurements from block 408. Each copied state information is then updated using one of the measurements from block 408 using the Kalman filter update algorithm 502. The update algorithm 502 generates an estimate based on those measurements, and updates the state and covariance of the filter 414.
Alternatively, if the number of measurements is high and processing is a
consideration, the measurements can be clustered via a density based clustering algorithm and weighted accordingly using the external probability information input at block 420. This can reduce the effective number of measurements introduced into 502 and, therefore, reduce the number of Kalman filter updates executed per particle 412. The weighting in block 420 is selected depending on the strength that the information assists in selecting the correct path, range, or velocity.
Some examples of external probability information are path signal to noise ratio (SNR) as well as relative and absolute velocity measurements extracted from an Inertial Measurement Unit (IMU) based navigation filter. The SNR is often highly indicative of the line of sight path or at least of the potential corruption present in that path. Relative velocity from a navigation filter can weighted depending on the current covariance of the filter. The absolute velocity can be used to indicate the lack of Doppler and dictate if the channel estimation measurements from the channel estimation algorithm 114 should be used.
Once all the Kalman filter updates have been processed for each particle 412, the measurement selection algorithm 418 compares the updated results for each particle 412 with how close they were to the prediction's 504 PDF 416 and any information 420 obtained from the external probability information 406. Each particle 412 may select a different
measurement or no measurement if none of the measurements is aligned with the prediction PDF 416. If a measurement was accepted into the particle 412, the measurement selection algorithm 418 updates the update history 506 to indicate the time since last update.
If none of the measurements met the minimum threshold to update the particle, the measurement selection algorithm 418 performs a random roll (e.g., (0 < rand < 1) > 0.5) to decide if the best available measurement candidate is introduced despite the divergence from the PDF 416. The measurement selection algorithm 418 updates the weight 508 with the final covariance of the particle's filter 414.
Returning to Figure 4, the resampling algorithm 422 receives the updated
measurements from the current time step for the particles 412. The resampling algorithm 422 tests the particles 412 based on their weight and decaying importance history, which is based on the prior length of time between valid measurements. Any particles 412 that fail to meet a specified threshold are pruned and a new particle 412 is generated based on the results of the clustering algorithm 424. The threshold is created by the nominal or worst case measurement update rate of the system and can be static or dynamic based on environmental conditions.
Equation 6 - Particle Weight Adjustment Tp
pWa = , 0 < pWa < 1
Tiast
where Tp is the update period based on history, Tlast is the time since last update, and pWa is the particle weight adjustment based on time update rate. Tp should be bounded, but adjusted dynamically based on a running mean of the time between updates.
Equation 7 - Particle Weight pWQc + 1) = pW(k) * LHF * PrExt * PrGood * pWa where pW is the final particle Weight, LHF is the likelihood function of the measurement versus the Kalman Filter's PDF, PrExt is the any external probability information, and Proood is the general probability that the measurement is good.
In one example, the clustering algorithm 424 is a density based clustering algorithm (DBCA). The DBCA is derived from the Density-Based Spatial Clustering of Applications with Noise (DBSCAN) algorithm with modifications to cluster in two dimensions for range and velocity.
The clustering algorithm 424 is used to generate two analysis groupings for the resampling step, one for the current measurement ranges and another for pre -resampling particle ranges. If a measurement cluster is identified that does not have a representative particle, the resampling algorithm assigns the replacement particle to represent it. Otherwise, the replacement particle is generated at the range of the lowest mean particle density from the pre-resampling group. Additionally, if a cluster is found to have too many particles representing it (e.g., > 10% particles), then the subset of the cluster's particles with the lowest weights are pruned and reassigned as above. After the resampling 422 has occurred, the clustering algorithm 424 creates another grouping for post-resampling particle ranges, which are used to represent distinct N potential solution clusters (PSC). These clusters are then processed by the confidence assignment algorithm 426 to associate the solution clusters with a confidence assignment based on the associated particle weights 508 and the combined probability for the applied measurements at block 420.
Specifically, each solution cluster is composed of N particles with a mean range, mean velocity, variance, mean particle weight, and any external probability information 406.
The variance, mean particle weight, and external probability information are combined to create a confidence value. The specific weighting of these individual inputs into the confidence assignment is dictated by the strength of the external probability information and nominal magnitude of the noise process associated with the ranges.
Equation 8 - Solution Cluster
E{PSCr(n))
E(PSCv n))
Solution Data(l. . N) = var(PSCr (n))
E(PSCw(n))
PrExt(PSCw(n))
E{PSCr(n
Solution(l. . N) = E(PSCv n))
Confidence where PSCr v w are the potential solution cluster's mean range, velocity, and weight.
The output 428 of the range and velocity estimator algorithm 112 is a set of range and velocity estimates with associated confidences as shown in Equation 8. The maximum number of reported estimates may be limited by the confidence assignment as needed to prevent latter algorithms from processing unnecessary estimates. This approach is different than general particle filter implementations that generate an estimate based on a weighted average of all the particles.
Beneficially, the range estimate from the range and velocity estimator algorithm 112 can be used with channel estimation to extract improved range measurements. In most systems, channel estimation is used to correct for channel induced sample corruption that affects the estimate of the data in the transmission. As described, channel estimation can also be used to directly solve for the line-of-sight path (LOS) delay, which can be used for ranging purposes.
The discrete system of a ranging radio transmitting a waveform over multipath channel can be described by:
Equation 9 - System Equation
y(k) = x k) * h k) + n(k).
Here, x(k) is the waveform transmitted by the ranging radios, h(k) is the channel impulse response, n(k) is the noise contribution, and y(k) is the observed waveform received by the ranging radio. The transmitted waveform x(k) is known by the receiver.
Figure 6 is an illustration of the channel estimation algorithm 114. The channel estimation algorithm 114 makes assumptions regarding characteristics of the channel.
Specifically, the channel estimation algorithm 114 assumes that the multipath channel is sparse such that most (e.g., >75%) of the channel energy seen by the ranging device 100 is concentrated in a few (e.g., <5) discrete delays or major paths. In other words, the channel response is composed of a few different impulses with varying amplitudes and delays. By taking advantage of this assumption, the channel estimation algorithm 114 improves a channel estimate by applying compressive sensing techniques.
A set of system equations can be constructed to estimate the multipath channel h(k) as follows: Equation 10 - Channel Estimation System Equations
Figure imgf000019_0001
where M is the maximum delay spread of the multipath channel and N is the size of the input block used. The maximum delay is dictated by the delay spread of the system, which is the maximum length of the multipath delay that contributes significant energy to the receiver. The matrix X is further known as the Replica Channel Correlation Matrix 612.
If the system requires additional processing gain or reduced processing speed, the known replica waveform can be correlated with the input waveform to add additional gain in a similar fashion as described with respect to the measurement algorithm 108. In this case, y(k) becomes a correlation output and x(k) is the replica autocorrelation. Otherwise, the set of equations hold and processing can be performed in the same fashion. Specifically, the channel estimation algorithm 1 14 acquires received IQ samples 202 and correlates them at block 204 with the expected pattern replica.
The channel estimation algorithm 1 14 then processes the individual I and Q correlations and combines them using a time shift preserving transform 602, such as a simple differencing. The transform 602 combines the two I/Q datasets to produce a single one with more information. This data set is then passed to the channel estimation algorithms 614 for further processing.
The least squares (LS) and minimum mean squares error (MMSE) solver algorithm 610 attempts to solve Equation 10 in order to estimate the channel response h(k). The two channel estimation techniques are related and the LS solver can be described as a subset of the MMSE solver. The least squares solver is described as follows: Equation 1 1 - Least Squares Solver
h{k) = X#y{k)
where X# = (XH)~JXH is the pseudo-inverse of X. The MMSE solver is described as follows:
Equation 12 - MMSE Solver
h = RhXH (XRhPH +
Figure imgf000020_0001
= X# {1 - o2Ry ~1)y{ ) where Rh and Ry are the autocorrelation matrices of h and y respectively. Rh, Ry, and the noise variance σ2 are estimated in an adaptive fashion and are further described as the system adaptive channel parameters 608.
At startup, the least squares solver is used to estimate the channel while the channel parameters are estimated. Once the parameter estimates have converged, the MMSE solver is used. The adaptive channel parameters at block 608 are updated with each time step by estimating the autocorrelation matrices Rh, Ry and noise variance σ2 as follows
Equation 13 - Adaptive Channel Parameters
k
Ryy (k) = (l - X) j k-iy{i)yH (i)
i=l
Rh (k) = X# (Ryy(k) - a2 (k)l)X#H Ry(k) = XRh (k)Xh + d2 {k)l P = XX* 'and Porth = I - P
Figure imgf000020_0002
where 0 < λ < 1 is a forgetting factor, I is the identity matrix, XH is the hermitian transpose of X, and X is the pseudo-inverse of X.
After solving at block 610 for the channel estimate h(k), the channel estimation algorithm 1 14 focuses on the highest magnitude peaks at block 616 above a set threshold. A new sparse channel estimate is hs (k) is generated by creating an array with only the selected peaks from block 616. This channel estimate is then used to solve for the remaining received energy not represented by the sparse channel estimate.
Equation 14 - Recursive Sparse Estimation
^ (k)— if h(k) > thresh
s I 0, otherwise
yd {k) = X - hs (k)
y(k + 1) = y(k) - yd (k)
The new y(k + 1) is then processed again by the LS/MMSE solver 610 in a recursive fashion. The recursion is stopped when the rms change in y is below some small threshold.
The finalized hs (k) channel estimate from 616 is a transfer function describing the magnitude and delay of received LOS and multipath signals, where the earliest strong component or peak in time should be the LOS, if present. Therefore, if the channel is rapidly varying, the unstable multipath moves and changes while the delay of the LOS path is relatively steady. Using this assumption, multiple channel estimates can be accumulated in block 604 allowing for the delay of the LOS peak to build up and be more easily
distinguished from noise.
Equation 15 - Fading peak accumulation
hfinai (k) = hs (k) + hs (k— 1), where 0 < λ < 1
The forgetting factor λ for the accumulations magnifies the strength of the most recent channel estimates. The forgetting factor is tuned with the expected max rate of change of the line of sight path.
At block 618, the channel estimation algorithm 1 14 then identifies the peaks with highest magnitude from hfinai (k). These peaks 618 translate to channel delays / path ranges 620 and can be introduced into the range and velocity estimator algorithm 1 12 as a new set of range measurements. The range measurements produced by the channel estimation algorithm 114 have a distinguishing attribute when compared to those produced by the measurement algorithm 108. The channel estimation algorithm 114 is able to identify and distinguish paths without the need for frequency separation due to Doppler, therefore, the channel estimation algorithm 114 can be used when no relative motion is present between the transmitting and receiving ranging devices.
In summary, methods for: (1) extracting Doppler/velocity measurements; (2) estimating relative clock bias errors; (3) determining range and velocity estimates with associated confidences; and (4) extracting range estimates using channel estimation have been described. These methods can be used separately or combined to improve positioning solutions obtained by positioning systems used in indoor locations and other GPS-denied environments. For example, these methods can be used for location and positioning in first responder, military, and civilian applications.
It is intended that the foregoing detailed description be regarded as illustrative rather than limiting and that it is understood that the following claims including all equivalents are intended to define the scope of the invention. The claims should not be read as limited to the described order or elements unless stated to that effect. Therefore, all embodiments that come within the scope and spirit of the following claims and equivalents thereto are claimed as the invention.
According to one aspect of the present disclosure there is provided a method, comprising receiving at least one of range or velocity measurements over time; generating multiple potential range, velocity, and acceleration estimates based on the received measurements; determining probabilities of the estimates; testing estimates based on their weight and decaying importance history; pruning estimates that fail to meet a threshold; generating a new estimate for the pruned estimates; clustering potential solutions based on a density of the estimates; and associating a confidence solution to the potential solutions.
The method disclosed herein further comprising clustering the measurements prior to generating the estimates.
The method disclosed herein further comprising receiving external probability information associated with the received measurements.
The method disclosed herein wherein the external probability information includes at least one of relative path power, absolute path power, signal to noise ratio, and navigation filter range and relative velocity estimates.
The method disclosed herein wherein generating the estimates includes using a particle filter with a Kalman filter state estimator.
The method disclosed herein wherein the velocity measurements are Doppler derived velocity measurements.
The method disclosed herein wherein the Doppler-derived velocity measurements are obtained using a minimum variance distortionless response spectrum estimator algorithm.
The method disclosed herein wherein the Doppler-derived velocity measurements are corrected using a clock bias removal algorithm.
The method disclosed herein wherein the clock bias removal algorithm uses spectrum exchanges, a modified aliased correlation, and Kalman filtering state estimation.
The method disclosed herein wherein the range measurements are generated using a path nulling beamformer and a time of arrival estimator.
The method disclosed herein wherein the time of arrival estimator is at least one of an Early/Late, Early Slope, Early Zero Crossing, and High Resolution interpolator.
According to another aspect of the present disclosure there is provided a method for generating range and velocity measurements for use in a positioning system, comprising receiving samples from a radio frequency based wireless communication system; correlating the samples against a known pattern to produce a correlation surface; generating a spectral estimate from the correlation surface using a minimum variance distortionless response algorithm; selecting paths likely to be a line of sight path from the spectral estimate;
generating a velocity measurement from a selected path; using a path-nulling beamformer to isolate a single path from the paths likely to be a line of sight path; and using a time of arrival estimator to generate a range measurement from the isolated path.The method of claim 12, further comprising estimating clock bias and removing a frequency error component of the clock bias prior to generating the velocity measurement.
The method disclosed herein wherein estimating clock bias includes performing an alias-aware cross correlation to match data from a first spectral estimate to a second spectral estimate.
The method disclosed herein wherein estimating clock bias includes creating different potential clock bias frequencies.
The method disclosed herein wherein estimating clock bias includes selecting one of the potential clock bias frequencies with a Kalman filter.
The method disclosed herein wherein selecting paths likely to be a line of sight path includes using external information.
According to still another aspect of the present disclosure there is provided a method for extracting range measurements using channel estimation, comprising receiving samples from a radio frequency based wireless communication system; estimating a channel from the received samples using a least squares solver; generating a sparse channel estimate based on highest magnitude peaks obtained in the channel estimate; applying a decaying accumulator to the estimates over time; and converting the peaks to range estimates. The method as disclosed herein wherein estimating the channel includes using a minimum mean square error solver with adaptive channel parameter updates.
The method as disclosed herein wherein the range estimates are input to a range and velocity estimator algorithm.

Claims

We claim:
1. A method, comprising:
receiving at least one of range or velocity measurements over time;
generating multiple potential range, velocity, and acceleration estimates based on the received measurements;
determining probabilities of the estimates;
testing estimates based on their weight and decaying importance history;
pruning estimates that fail to meet a threshold;
generating a new estimate for the pruned estimates;
clustering potential solutions based on a density of the estimates; and
associating a confidence solution to the potential solutions.
2. The method of claim 1, further comprising clustering the measurements prior to generating the estimates.
3. The method of claims 1 or 2, further comprising receiving external probability information associated with the received measurements.
4. The method of claim 3, wherein the external probability information includes at least one of relative path power, absolute path power, signal to noise ratio, and navigation filter range and relative velocity estimates.
5. The method of any preceding claim, wherein generating the estimates includes using a particle filter with a Kalman filter state estimator.
6. The method of any preceding claim, wherein the velocity measurements are Doppler derived velocity measurements.
7. The method of claim 6, wherein the Doppler-derived velocity measurements are obtained using a minimum variance distortionless response spectrum estimator algorithm.
8. The method of claim 6, wherein the Doppler-derived velocity measurements are corrected using a clock bias removal algorithm.
9. The method of claim 8, wherein the clock bias removal algorithm uses spectrum exchanges, a modified aliased correlation, and Kalman filtering state estimation.
10. The method of any preceding claim, wherein the range measurements are generated using a path nulling beamformer and a time of arrival estimator.
11. The method of claim 10, wherein the time of arrival estimator is at least one of an Early/Late, Early Slope, Early Zero Crossing, and High Resolution interpolator.
12. A method for extracting range measurements using channel estimation, comprising: receiving samples from a radio frequency based wireless communication system; estimating a channel from the received samples using a least squares solver;
generating a sparse channel estimate based on highest magnitude peaks obtained in the channel estimate;
applying a decaying accumulator to the estimates over time; and
converting the peaks to range estimates.
13. The method of claim 12, wherein estimating the channel includes using a minimum mean square error solver with adaptive channel parameter updates.
14. The method of claim 12, wherein the range estimates are input to a range and velocity estimator algorithm.
PCT/US2015/022550 2014-05-30 2015-03-25 Positioning in indoor locations and other gps-denied environments Ceased WO2015183390A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/291,109 2014-05-30
US14/291,109 US10488505B2 (en) 2014-05-30 2014-05-30 Positioning in indoor locations and other GPS-denied environments

Publications (1)

Publication Number Publication Date
WO2015183390A1 true WO2015183390A1 (en) 2015-12-03

Family

ID=52815356

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/022550 Ceased WO2015183390A1 (en) 2014-05-30 2015-03-25 Positioning in indoor locations and other gps-denied environments

Country Status (2)

Country Link
US (1) US10488505B2 (en)
WO (1) WO2015183390A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107907859A (en) * 2017-11-17 2018-04-13 安徽工程大学 A kind of indoor orientation method based on compressed sensing, storage medium and equipment
US11378403B2 (en) 2019-07-26 2022-07-05 Honeywell International Inc. Apparatus and method for terrain aided navigation using inertial position

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091754B2 (en) * 2014-05-21 2018-10-02 Apple Inc. Correcting interference of non-line-of-sight signals
JP6432423B2 (en) * 2015-03-31 2018-12-05 株式会社デンソー Object detection apparatus and object detection method
US20180070212A1 (en) * 2016-09-02 2018-03-08 Athentek Innovations, Inc. Systems and methods to track movement of a device in an indoor environment
US10473466B2 (en) * 2016-12-09 2019-11-12 Honeywell International Inc. Apparatus and method for data-based referenced navigation
EP3631491A4 (en) * 2017-06-01 2021-02-24 TerraNet AB VEHICLE SELF-POSITIONING
CN107493106B (en) * 2017-08-09 2021-02-12 河海大学 Frequency and angle joint estimation method based on compressed sensing
JP6873009B2 (en) * 2017-08-24 2021-05-19 株式会社デンソーテン Radar device and target detection method
CN110568404B (en) * 2019-08-16 2022-04-19 中国人民解放军63921部队 Relay indoor positioning method and device
CN111275090B (en) * 2020-01-16 2021-07-16 山东大学 A GNSS ultra-fast clock error prediction method
CN113625309B (en) * 2021-07-23 2023-09-29 哈尔滨工程大学 A multipath parameter estimation method based on the unscented differential particle filter algorithm
CN114978818B (en) * 2022-01-20 2023-05-26 南京邮电大学 Adaptive channel estimation method and system based on compressed sensing
CN114722336B (en) * 2022-04-26 2024-11-22 中国电子科技集团公司第五十四研究所 Moving target positioning method based on two-dimensional Fourier transform and particle filter

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039063A1 (en) * 2000-11-08 2002-05-16 Nira Dynamics Ab Map-aided positioning
WO2007101453A1 (en) * 2006-03-07 2007-09-13 Nokia Corporation A method of tracking a state of a mobile electronic device
US20120022784A1 (en) * 2010-06-25 2012-01-26 Thales Navigation filter for a navigation system using terrain correlation

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365516A (en) * 1991-08-16 1994-11-15 Pinpoint Communications, Inc. Communication system and method for determining the location of a transponder unit
US6917644B2 (en) * 1996-04-25 2005-07-12 Sirf Technology, Inc. Spread spectrum receiver with multi-path correction
US6198765B1 (en) * 1996-04-25 2001-03-06 Sirf Technologies, Inc. Spread spectrum receiver with multi-path correction
US6047017A (en) * 1996-04-25 2000-04-04 Cahn; Charles R. Spread spectrum receiver with multi-path cancellation
US6249252B1 (en) * 1996-09-09 2001-06-19 Tracbeam Llc Wireless location using multiple location estimators
US20020131393A1 (en) * 1997-08-12 2002-09-19 Andrew Baldridge Graphic user interface for a radio location determination system
US6459704B1 (en) * 1997-08-12 2002-10-01 Spectrum Tracking Systems, Inc. Method and system for radio-location determination
GB9900340D0 (en) * 1999-01-09 1999-02-24 Motorola Ltd A method of and system for estimating a time of arrival of a radio signal
FR2813465B1 (en) * 2000-08-29 2005-04-08 Mitsubishi Electric Inf Tech METHOD OF JOINT CHANNEL ESTIMATION AND ARRIVAL DIRECTION
US6408246B1 (en) * 2000-10-18 2002-06-18 Xircom Wireless, Inc. Remote terminal location algorithm
DE60142846D1 (en) * 2000-11-14 2010-09-30 Symbol Technologies Inc METHOD AND SYSTEM FOR LOCATING A MOBILE RADIO DEVICE
US6756940B2 (en) * 2001-12-18 2004-06-29 Intel Corporation Remote terminal location algorithm
US6889052B2 (en) * 2002-08-30 2005-05-03 Motorola, Inc. Method and apparatus for generating time of arrival estimates for use in determining a location
US7490008B2 (en) * 2004-09-17 2009-02-10 Itt Manufacturing Enterprises, Inc. GPS accumulated delta range processing for navigation applications
US7746939B2 (en) * 2005-07-29 2010-06-29 Itt Manufacturing Enterprises, Inc. Methods and apparatus for encoding information in a signal by spectral notch modulation
US20070286264A1 (en) * 2006-06-07 2007-12-13 Nokia Corporation Interference reduction in spread spectrum receivers
US8305265B2 (en) * 2007-05-29 2012-11-06 Toyon Research Corporation Radio-based direction-finding navigation system using small antenna
US8406280B2 (en) * 2008-03-18 2013-03-26 Argon St, Inc. System and method for mitigating severe multipath interference for geolocation and navigation
US9516621B2 (en) * 2012-10-04 2016-12-06 Ramot At Tel-Aviv University Ltd. Method and system for estimating position
US9640866B2 (en) * 2013-02-07 2017-05-02 Rajendra Kumar Systems and methods for multi-beam antenna architectures for adaptive nulling of interference signals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039063A1 (en) * 2000-11-08 2002-05-16 Nira Dynamics Ab Map-aided positioning
WO2007101453A1 (en) * 2006-03-07 2007-09-13 Nokia Corporation A method of tracking a state of a mobile electronic device
US20120022784A1 (en) * 2010-06-25 2012-01-26 Thales Navigation filter for a navigation system using terrain correlation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SEONG-HOON PETER WON ET AL: "Fastening tool tracking system using a Kalman filter and particle filter combination;Fastening tool tracking system using a KF and PF combination", MEASUREMENT SCIENCE AND TECHNOLOGY, IOP, BRISTOL, GB, vol. 22, no. 12, 15 November 2011 (2011-11-15), pages 125108, XP020214443, ISSN: 0957-0233, DOI: 10.1088/0957-0233/22/12/125108 *
T. M. CLEMONS III AND K.C. CHANG: "ESTIMATION FILTERS FOR MISSILE TRACKING WITH AIRBORNE LASER", PROC. OF SPIE, PO BOX 10 BELLINGHAM WA 98227-0010 USA, vol. 6238, no. 623804-1, 1 January 2006 (2006-01-01), XP040225189 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107907859A (en) * 2017-11-17 2018-04-13 安徽工程大学 A kind of indoor orientation method based on compressed sensing, storage medium and equipment
US11378403B2 (en) 2019-07-26 2022-07-05 Honeywell International Inc. Apparatus and method for terrain aided navigation using inertial position

Also Published As

Publication number Publication date
US10488505B2 (en) 2019-11-26
US20150346333A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
US10488505B2 (en) Positioning in indoor locations and other GPS-denied environments
US20230324501A1 (en) Robust toa-estimation using convolutional neural networks (or other function approximations) on randomized channel models
US9874624B2 (en) Interference detection and rejection for wide area positioning systems using maximal ratio combining in the correlation domain
US9860866B2 (en) Systems and methods providing transmit diversity to combat multipath effects in position estimation
US12050274B2 (en) TDOA-based positioning system using terrestrial wireless signal sources
US9019159B2 (en) Ranging diversity-reception method and receiver
HK1217992A1 (en) Methods and systems for improving time of arrival determination
US11959993B2 (en) System and method for enabling determination of a position of a receiver within a space
Nam et al. Least-squares-based iterative multipath super-resolution technique
CA3015048C (en) Receiving device
CN110178049B (en) Multipath management in global navigation satellite system
Kirmaz et al. Time-based vs. fingerprinting-based positioning using artificial neural networks
US7965237B2 (en) Mobile system and method for position estimation
JP7626543B2 (en) Method and system for geographic location of terminals deployed in groups - Patents.com
Lin et al. Compressive sensing based location estimation using channel impulse response measurements
KR101232365B1 (en) Apparatus and method for multiple moving source positioning in wireless sensor network
KR20100069351A (en) Parameter estimation apparatus and method of wideband multi-antenna wireless channel
KR20210079882A (en) Method for Estimating Distance Using Channel Amplitude Infomration Estimated from LTE signal Based on Neural Network
Xiong et al. High resolution TOA estimation based on compressed sensing
Huang et al. DVB-T positioning with a one shot receiver
Niang et al. Random Forest and XGBoost Based Fingerprinting Using MMSE: An Approach to Data-Centric AI to Enhance Indoor Wi-Fi Localization Systems.
Suraweera et al. A passive tracking system with decimeter-level accuracy using IEEE 802.11 signals
US20260089677A1 (en) Method and system for toa (time of arrival) and positioning estimation in ofdm/ofdma based waveforms
Anh et al. Primary user localization using Bayesian compressive sensing and path-loss exponent estimation for cognitive radio networks.
de Sousa et al. Enhanced vehicle localization in urban NLoS using multipath ray tracing fingerprints

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: 15715086

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: 15715086

Country of ref document: EP

Kind code of ref document: A1