|Publication number||US7657230 B2|
|Application number||US 10/233,096|
|Publication date||Feb 2, 2010|
|Filing date||Aug 29, 2002|
|Priority date||Aug 29, 2002|
|Also published as||CA2496963A1, CN1688891A, CN100552470C, EP1554597A2, US20040043726, WO2004021029A2, WO2004021029A3, WO2004021029A8|
|Publication number||10233096, 233096, US 7657230 B2, US 7657230B2, US-B2-7657230, US7657230 B2, US7657230B2|
|Inventors||Douglas N. Rowitch|
|Original Assignee||Qualcomm Incorporated|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (12), Non-Patent Citations (2), Referenced by (2), Classifications (14), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This invention relates to the fields of position determination and GPS geo-location systems, and, more specifically, to procedures for detecting multi-path conditions which may introduce error into the position determination process.
The GPS geo-location system is a system of earth orbiting satellites from which entities visible to the satellites are able to determine their position. Each of the satellites transmits a signal marked with a repeating pseudo-random noise (PN) code of 1,023 chips uniquely identifying the satellite. The 1,023 chips repeat every millisecond. The signal is also modulated with data bits, where each data bit has a 20 ms duration in the modulated signal.
The station 100 searches for a transmission from a particular satellite by correlating the PN code for the satellite with a received signal. The received signal is typically a composite of transmissions from one or more satellites visible to the station's receiver in the presence of noise. The correlation is performed over a range of possible shifts of the PN code known as the search window W. Each correlation is performed over an integration time I which may be expressed as the product of Nc and M, where Nc is the coherent integration time, and M is number of coherent integrations which are non-coherently combined.
The correlation values are associated with the corresponding PN code shifts to define a correlation function. Any peaks in the correlation function are located, and compared to a predetermined noise threshold selected so that the false alarm probability is at or below a predetermined value. A time measurement for the satellite is derived from the earliest non-sidelobe peak in the correlation function which exceeds the threshold.
Due to the asynchronous relationship between the sampling clock and the actual peak, there is often a divergence between the sampled peak of the correlation function and the actual peak. This situation is illustrated in
An interpolation procedure can be applied to the samples of the correlation function in an effort to better estimate the location of the actual peak. In quadratic interpolation, a quadratic function is fitted to several samples of the correlation function. An interpolated peak is then located from the coefficients of the quadratic function. The interpolated peak is often closer to the actual peak than the sampled peak.
The process of locating the peak of the correlation function is complicated when certain multi-path conditions are present. The reason is that an accurate time measurement is the time associated with the line of sight peak in the correlation function, but the peaks introduced by the multi-path condition may interfere with the line of sight peak, making it difficult or impossible to determine the time associated with this peak.
These renderings will introduce multiple peaks in the ensuing correlation function since both renderings are modulated with the same PN code. If the peaks are separated widely in time, typically by 1.5 chips or more, and do not interfere with one another, the time associated with the earlier line of sight peak may be determined and form the time measurement for the correlation function.
However, if the peaks occur close enough in time that they interfere with one another, it may not be possible to determine the time associated with the earlier line of sight peak. In this case, an accurate time measurement may not be possible.
This error can be significant. Consider histogram 600 of
This degree of error is inconsistent with the FCC's mandate that subscriber stations, for 911 call purposes, be capable of estimating or having estimated their locations with sufficient accuracy such that the estimates are accurate to within 50 m 68% of the time, and are accurate to within 150 m 95% of the time.
A method is described of detecting an interfering multi-path condition. An interfering multi-path condition is one in which line of sight and multi-path signals are received sufficiently close in time to one another that the line of sight peak cannot be distinguished from the multi-path peak in the ensuing correlation function. Such multi-path is often referred to as “short” multi-path.
A pulse of a correlation function derived from a received signal is located. Then, a parameter of the pulse is determined. The parameter is analyzed to determine if it is inconsistent with a non-interfering hypothesis. The non-interfering hypothesis is the hypothesis that the pulse is derived from a line-of-sight signal not subject to an interfering multi-path condition.
If the parameter is inconsistent with the non-interfering hypothesis, an interfering multi-path condition is detected.
In one example, a width test is employed to detect an interfering multi-path condition. According to this test, the width of the pulse at a selected energy offset from the peak energy is determined. This pulse width is then compared with a range of possible widths which are characteristic of a non-interfering hypothesis. If the width is outside this range, an interfering multi-path condition is detected.
In a second example, a ratio test is employed to detect an interfering multi-path condition. According to this test, the ratio of the peak energy to the energy at a selected time offset from the peak is determined. This ratio is then compared with a range of possible ratios which are characteristic of a non-interfering hypothesis. If the ratio is outside the range, an interfering multi-path condition is detected.
In a third example, a plurality of ratios is determined, each at a different time offset from the peak. Each ratio is compared to a range of possible ratios which are characteristic of a non-interfering hypothesis. If one ratio is outside its corresponding range, an interfering multi-path condition is detected.
In a fourth example, a combination of the width and ratio tests is employed to detect an interfering multi-path condition. In this example, an interfering multi-path condition is detected if either test is satisfied.
In one application, once an interfering multi-path condition has been detected, any time measurement derived from the correlation function is either discarded or de-weighted in a subsequent position determination process. In another application, once an interfering multi-path has been detected, the correlation function is corrected so that the line-of-sight peak can be distinguished from the other peaks. A time measurement is derived from this peak and used in the position determination process.
The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views.
As utilized herein, terms such as “about” and “substantially” are intended to allow some leeway in mathematical exactness to account for tolerances that are acceptable in the trade. Accordingly, any deviations upward or downward from the value modified by the terms “about” or “substantially” in the range of 1% to 20% should be considered to be explicitly within the scope of the stated value.
Moreover, as used herein, the term “software” includes source code, assembly language code, binary code, firmware, macro-instructions, micro-instructions, or the like, or any combination of two or more of the foregoing.
Furthermore, the term “memory” refers to any processor-readable medium, including but not limited to RAM, ROM, EPROM, PROM, EEPROM, disk, floppy disk, hard disk, CD-ROM, DVD, or the like, or any combination of two or more of the foregoing, on which may be stored a series of software instructions executable by a processor.
The terms “processor” or “CPU” refer to any device capable of executing a series of instructions and includes, without limitation, a general- or special-purpose microprocessor, finite state machine, controller, computer, digital signal processor (DSP), or the like.
The method begins after a correlation function has been derived from a received signal. In one implementation, the received signal is a composite of signals transmitted from one or more GPS satellites visible to the receiver. In this implementation, the correlation function is derived by correlating the received signal with a PN code for one of the satellites over a range of shifts of the PN code within a predetermined search window W.
The method begins in step 702. Step 702 comprises determining one or more parameters of a pulse in the correlation function. In one implementation, the pulse is a potential line-of-sight pulse. A potential line-of-sight pulse is a pulse with may be derived from a line of sight transmission.
More specifically, the following formula may be used to determine the width w of the pulse at an arbitrary K1 dB down from the sampled peak:
where a is the quadratic coefficient, y0 is equal to y(−b/2a), and K is equal to
Alternatively, the following formula may be used to estimate the squared width w* about 1.25 dB down from the sampled peak:
This formula, unlike (1) above, does not depend on y0 or K, and is therefore computationally efficient.
Referring again to
From step 704, the method proceeds to step 706. In step 706, an interfering multi-path condition is detected if, in step 704, the one or more parameters are determined to be inconsistent with the non-interfering hypothesis. In one example of step 706, the interfering multi-path condition is indicated by setting a flag.
In one embodiment, step 704 is performed by comparing one or more of the parameters determined in step 702 with a corresponding range of possible values which are characteristic of a non-interfering hypothesis. If a parameter is outside its corresponding range, an interfering multi-path condition is determined to be present.
In one implementation of this embodiment, the range which is employed in step 704 has a relationship with and depends on the interpolation offset. In one example, the interpolation offset is the time offset between the interpolated and sampled peaks of a pulse of the correlation function. In
In one implementation example, the relationship between interpolation offset and the parameter range exists because of the divergence between the shape of the pulse and the shape of a true quadratic function. In
In one example, a width test is employed to detect whether there is an interfering multi-path condition. According to this test, quadratic interpolation is applied to the peak sample and the two adjacent samples of the pulse, and the width of the pulse is determined from the coefficients of the resulting quadratic function. The interpolation offset for the pulse is also determined. The interpolation offset is then used as an index to a look-up table. The lookup table is accessed and returns a range of possible widths which are characteristic of a non-interfering hypothesis. The width of the pulse is then compared with this range. If outside the range, an interfering multi-path condition is detected.
Each range in the table is characteristic of a non-interfering hypothesis. In this particular example, the non-interfering hypothesis is the hypothesis that the line of sight peak and any multi-path peak in the correlation function are separated by more than 1.5 chips. Each range in the table was determined through simulation. However, it should be appreciated that embodiments are possible where the ranges are determined analytically. It should also be appreciated that these ranges are heavily dependent on the shape of the pulse resulting from the correlation procedure.
There are 20 entries in the table. The first entry 802 a is associated with the index 0, the second 802 b with the index 1, the third 802 c with the index 2, and so on, such that the last entry 802 d is associated with the index 19.
To access the table, the interpolation offset is determined from the pulse and mapped into one of these index values. Then, the index is used to retrieve a range from the lookup table. In the particular example illustrated, the mapping is as follows:
cpind = 0 −0.525 <= icp < −0.475 cpind = 1 −0.475 <= icp < −0.425 cpind = 2 −0.425 <= icp < −0.375 . . . . . . cpind = 19 0.425 <= icp < 0.475
Here, cpind is the table index, and icp is the measured interpolation offset in terms of chips. Also, values of icp which are less than −0.525 are mapped to cpind=0, and values of icp which equal or exceed 0.475 are mapped to cpind=19. The following pseudo-code also embodies this mapping:
Applying this pseudo-code, an interpolation offset of 0.2 chips maps to an index of 14. The table entry in
In a second example, a ratio test is employed to detect whether there is an interfering multi-path condition. According to this test, a ratio of the sampled peak energy to the sampled energy a selected time offset from the peak is determined. The interpolation offset is determined and used as an index to a look-up table. The access returns a range of possible ratios which are characteristic of a non-interfering hypothesis. The ratio is compared to the range, and if outside the range, an interfering multi-path condition is detected.
In one embodiment, this process is performed for a plurality of ratios, each associated with a different time offset from the peak. In this embodiment, an access to the lookup table yields a plurality of ranges, one for each of the ratios. An interfering multi-path condition is detected if one of the ratios is outside its corresponding range. Alternatively, it should be appreciated that an embodiment is possible where an interfering multi-path condition is detected only if two or more of the ratios are outside their corresponding ranges.
Each entry in the table is associated with a row index. For example, the first entry 904 a is associated with the row index 0, the second entry 904 b with the row index 1, and the third entry 904 c with the row index 2.
To access the table, the interpolation offset is determined and then mapped into one of the row index values using the identical mapping to that set forth above in relation to the table of
Next, the time offset used in forming a ratio is mapped into a column index. This column index mapping is as follows:
ppind = 0 2 chips early ppind = 1 1.5 chips early ppind = 2 1 chip early ppind = 3 0.5 chips early ppind = 4 0.5 chips late ppind = 5 1 chip late ppind = 6 1.5 chips late ppind = 7 2 chips late
Here, ppind refers to the column index. The column index is used to select one of the ranges associated with a row index.
In one application of the foregoing, an interpolation offset of 0.2 chips maps to a row index of 14, and a time offset of 1.5 chips late maps to a column index of 6. The range in
If any one of the eight (8) tests represented by a table entry fails, then the ratio tests fails. However, it should be appreciated than an embodiment is possible in which the ratio test fails only if two or more of the tests fail.
In a third example, both the width and ratio tests are employed. In this example, an interfering multi-path condition is detected if the pulse width is outside the range of possible widths which are characteristic of a non-interfering hypothesis, or if any one of the calculated ratios is outside its corresponding range which is characteristic of a non-interfering hypothesis.
An embodiment of a system for detecting an interfering multi-path condition is illustrated in
In one implementation, a lookup table is stored in memory 1004 which implements a pre-existing relationship between interpolation offset and a parameter range characteristic of an interfering multi-path condition. In this implementation, the processor 1002 determines an interpolation offset for a pulse of a correlation function stored in the memory. Processor 1002 also determines a parameter for the pulse. The processor 1002 uses the interpolation offset to determine a parameter range from the lookup table which is inconsistent with a non-interfering multi-path condition. The processor 1002 compares the parameter to this range, and if outside the range, detects an interfering multi-path condition.
An embodiment of a subscriber station in a wireless communication system is illustrated in
Radio transceiver 1106 is configured to modulate baseband information, such as voice or data, onto an RF carrier, and demodulate a modulated RF carrier to obtain baseband information.
An antenna 1110 is configured to transmit a modulated RF carrier over a wireless communications link and receive a modulated RF carrier over a wireless communications link.
Baseband processor 1108 is configured to provide baseband information from CPU 1102 to transceiver 1106 for transmission over a wireless communications link. CPU 1102 in turn obtains this baseband information from an input device within user interface 1116. Baseband processor 1108 is also configured to provide baseband information from transceiver 1106 to CPU 1102. CPU 1102 in turn provides this baseband information to an output device within user interface 1116.
User interface 1116 comprises a plurality of devices for inputting or outputting user information such as voice or data. The devices typically included within the user interface include a keyboard, a display screen, a microphone, and a speaker.
GPS receiver 1112 is configured to receive and demodulate GPS satellite transmissions, and provide the demodulated information to correlator 1118.
Correlator 1118 is configured to derive GPS correlation functions from the information provided to it by GPS receiver 1112. For a given PN code, correlator 1118 produces a correlation function which is defined over a range of code phases which define a search window W. Each individual correlation is performed in accordance with defined coherent and non-coherent integration parameters (Nc, M).
Correlator 1118 is also configured to derived pilot-related correlation functions from information relating to pilot signals provided to it by transceiver 1106. This information is used by the subscriber station to acquire wireless communications services.
Channel decoder 1120 is configured to decode channel symbols provided to it by baseband processor 1108 into underlying source bits. In one example, where the channel symbols are convolutionally encoded symbols, the channel decoder is a Viterbi decoder. In a second example, where the channel symbols are serial or parallel concatenations of convolutional codes, the channel decoder 1120 is a turbo decoder.
Memory 1104 in configured to hold software instructions embodying the method of
Memory 1104 is also configured to hold one or more lookup tables, each embodying a relationship which exists between interpolation error and a parameter range which is characteristic of an interfering multi-path condition. Examples include a lookup table for implementing a width test and a lookup table for implementing a ratio test. CPU 1102 is configured to access and utilize one or more of these lookup tables to determine a parameter range which corresponds to a particular interpolation offset, and use this range to determine whether an interfering multi-path condition is present.
CPU 1102 is configured to derive measurements from the peaks of the GPS correlation functions provided to it by correlator 1118, and detect whether an interfering multi-path condition in present in relation to any of these peaks using the method of
CPU 1102 is also configured derive time measurements from these peaks, and the root mean square error (RMSE) associated with each of these time measurements.
These measurements and RMSE values are provided to a PDE (not shown). The PDE weights each of the measurements based on the inverse of its corresponding RMSE value, and then estimates the location the subscriber station based on the weighted measurements. Alternatively, the subscriber station determines its own location from this information.
In one embodiment, the CPU 1102 flags time measurements derived from peaks which are subject to an interfering multi-path condition, and these measurements are either ignored or de-weighted in the position determination process. Alternatively, the CPU 1102 corrects the peaks which are subject an interfering multi-path condition so that accurate time measurements may be derived from them. These measurements are then used in the position determination process.
While various embodiments, implementations and examples have been described, it will be apparent to those of ordinary skill in the art that many more embodiments, implementations and examples are possible that are within the scope of this invention. In particular, embodiments are possible where an interfering multi-path condition is detected in relation to signals transmitted by base stations in wireless communications systems, including omni base stations and individual sectors in a multi-sector cell, or signals transmitted by combinations of base stations and GPS satellites. Consequently, the invention is not to be limited except in relation to the appended claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5692008 *||Sep 19, 1995||Nov 25, 1997||Novatel, Inc.||Apparatus for estimating a line of sight signal propagation time using a reduced-multipath correlation function|
|US5982811 *||Jun 26, 1997||Nov 9, 1999||General Electric Company||Method for efficient sampling in a correlator|
|US6047017 *||Jul 25, 1997||Apr 4, 2000||Cahn; Charles R.||Spread spectrum receiver with multi-path cancellation|
|US6313786 *||Feb 1, 1999||Nov 6, 2001||Snaptrack, Inc.||Method and apparatus for measurement processing of satellite positioning system (SPS) signals|
|US6614244||Dec 10, 2001||Sep 2, 2003||Fab Solutions, Inc.||Semiconductor device inspecting apparatus|
|US6987820 *||Oct 18, 2000||Jan 17, 2006||Honeywell International, Inc.||Apparatus for navigation satellite signal quality monitoring|
|US7096132 *||Oct 16, 2003||Aug 22, 2006||Qualcomm Incorporated||Procedure for estimating a parameter of a local maxima or minima of a function|
|US20020050944||Nov 13, 2001||May 2, 2002||Leonid Sheynblat||Method and apparatus for measurement processing of satellite positioning system (SPS) signals|
|US20030008622||Jun 11, 2001||Jan 9, 2003||Fernandez-Corbaton Ivan J.||System and method for the detection and compensation of radio signal time of arrival errors|
|JP2001008907A||Title not available|
|JPH08293852A||Title not available|
|WO2000045191A2||Jan 24, 2000||Aug 3, 2000||Snaptrack, Inc.||Method and apparatus for measurement processing of satellite positioning system (sps) signals|
|1||International Preliminary Examination Report PCT/US2003/027180, International Search Authority US Jun. 29, 2006.|
|2||International Search Report PCT/US2003/027180, International Search Authority European Patent Office Apr. 19, 2004.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8446310 *||Jun 12, 2009||May 21, 2013||Raytheon Company||Method and system for locating signal jammers|
|US20100045506 *||Feb 25, 2010||Raytheon Company||Method And System For Locating Signal Jammers|
|U.S. Classification||455/65, 455/67.11, 455/63.1, 375/254|
|International Classification||H04B1/707, G01S1/00, H04L1/00, H04B1/00, H04B17/00, G01S19/46, G01S19/21|
|Cooperative Classification||H04L1/0065, H04L1/0059, G01S19/22|
|Aug 29, 2002||AS||Assignment|
Owner name: QUALCOMM INCORPORATED, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROWITCH, DOUGLAS N.;REEL/FRAME:013260/0606
Effective date: 20020813
Owner name: QUALCOMM INCORPORATED,CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROWITCH, DOUGLAS N.;REEL/FRAME:013260/0606
Effective date: 20020813
|Dec 28, 2010||CC||Certificate of correction|
|Mar 18, 2013||FPAY||Fee payment|
Year of fee payment: 4