This invention relates to techniques for determining location and more specifically to techniques that utilize low-earth-orbit-based communication satellite signals.
The NAVSTAR Global Positioning System (GPS) developed by the United States Department of Defense uses a constellation of between 24 and 32 medium-earth-orbit satellites that transmit precise microwave signals, which allows devices embodying GPS sensors to determine their current location. Initial applications were predominantly military; the first widespread consumer application was navigational assistance.
Although satellite-based positioning systems such as GPS have revolutionized the positioning arts, the altitude of medium-earth-orbit-based satellites is relatively high. For example, GPS satellites orbit at an altitude of approximately 20,000 miles above sea level. GPS signals are thus relatively weak due to the resulting propagation loss over such a large range. GPS signals, being already relatively weak, are thus too attenuated for reception in weak-signal environments such as indoors or in urban canyons. As set forth in the parent applications to this matter, Applicant thus developed a positioning system in which terrestrial (or satellite) communication signals are used in lieu of or in addition to traditional satellite-based-positioning systems.
In accordance with an aspect of the disclosure, a method is provided that includes: correlating a set of first samples taken by a first receiver of a transmission from a low-earth-orbit communication satellite transmission communication satellite with a set of second samples of a replica of transmission to determine a correlation peak, wherein the set of second samples establishes a time of the transmission; and determining a first pseudorange between the first receiver and the low-earth-orbit communication satellite based upon a time different between the correlation peak and the time of transmission.
In accordance with another aspect of the disclosure, a system is provided that includes: a correlator configured to correlate a first set of samples taken by a first receiver of a transmission from a low-earth-orbit communication satellite with a second set of samples of the replica of the transmission to determine a correlation peak, wherein the first set of samples are time stamped with a time of receipt according to a first clock in the first receiver, and wherein the second set of samples are time stamped with a time of receipt according to a second clock in a second receiver; and a time-difference-of-arrival generator configured to determine a first pseudorange between the first receiver and the low-earth-orbit communication satellite based upon the correlation peak and a time of the transmission.
In accordance with yet another aspect of the disclosure, a method of determining the ephemeris of a communication satellite, comprising: sampling and time-stamping a signal from the communication at a plurality of ground stations to form a time-stamped series of samples at each ground station, wherein each ground station has a known location; uploading the series of samples from each ground station to a server; and at the server: identifying a synchronization signal in each series of samples; and using a time of receipt of the synchronization signal at each ground station and the ground station's known location to determine the ephemeris of the communication satellite.
2 illustrates a client device having a position determined through correlation of communication satellite signals in accordance with an aspect of the disclosure.
In a traditional satellite-based positioning system such as GPS, the satellites continually broadcast a repeating pseudorandom code such as a Gold code. Each GPS satellite has its own unique Gold code that is transmitted continuously. In particular, the Gold codes have a length of 1023 chips that are transmitted at 1.023 Mchips per second. Each GPS satellite thus completes its Gold code transmission over one milli-second. A GPS satellite thus repeats its Gold code transmission at a 1 KHz rate. To provide its ephemeris and time of transmission, the GPS satellite modulates its Gold code transmission with a 50 bit per second navigation data overlay.
A satellite-based positioning system (SBPS) receiver may then correlate a received pseudorandom code with its own copy of the pseudorandom code to determine a pseudorange between the receiver and the SBPS satellite. It is a pseudorange instead of a range because the receiver's clock has an unknown offset from the SBPS satellite's clock. By collecting four pseudo-ranges from four SBPS satellites, an SBPS receiver may then calculate its Cartesian X,Y,Z position on earth and its clock offset.
But as noted earlier, SBPS signals are typically unusable in weak signal environments. The Applicant has thus developed a communication-signal-based positioning system. With respect to this system, a communication satellite transmitter such as a Starlink satellite will transmit a stream of bits that may be analogized to the chips continually repeated by an SBPS satellite. Assuming the time of transmission and location of the communication satellite transmitter is known, the receiver could correlate its own copy of the transmitted bitstream with the received bits to obtain a pseudorange to the communication satellite transmitter. Alternatively, the receiver could timestamp the received bit signal and upload the timestamped received bit signal to a remote processor such as in the cloud. The remote processor could then perform the correlation and obtain the necessary pseudoranges.
But note the problem with such a communication signal correlation: the communication signal from the communication satellite is always changing depending upon its information content, it is not a repeated pseudorandom code as transmitted by an SBPS satellite. The receiver thus has no copy a priori of the data being transmitted. Moreover, even if the communication transmitter transmits a repeating synchronization signal as part of its communication bitstream, the time of transmission by the communication transmitter is unknown. Similarly, the location of the communication transmitter may be unknown. Applicant thus discloses a plurality of ground stations (which may also be denoted as “sniffer” devices since they sense/sniff the satellite signals) that each have a known location and an accurate clock.
An example constellation of four ground stations is shown in
In one implementation, a client device may then record the time of arrival for the same synchronization signal. Based upon this time of arrival, a pseudorange may be determined between the client device and the communication satellite. With four such pseudoranges, the client device's position and clock offset with respect to the accurate ground station clock may be determined. But for increased accuracy, the synchronization signal may instead be used as a timing device to trigger a client device 110 to sample the communication bits transmitted by the communication satellite 100 following the synchronization signal as shown in
The following discussion will assume that the low-earth-orbit communication satellites are Starlink satellites without loss of generality. Starlink satellites are a convenient choice of a suitable communication satellite because the constellation of Starlink satellites is relatively large (well in excess of 4,000 satellites). A client device will thus typically be able to sample a plurality of Starlink satellite signals at any given time and location. In addition, the low-earth orbit of the Starlink satellites introduces considerably less propagation loss as compared to a typical SBPS orbit. The Starlink satellite signal will thus be higher power as compared to an SBPS signal power. In addition, the high bandwidth (e.g., 250 MHZ) of a Starlink signal eliminates multipath effects and provides a greater precision (e.g., 1 foot accuracy) as compared to an SBPS signal. For example, the L1 bandwidth of a GPS signal is just 2 MHZ, which is more than an order of magnitude smaller than the Starlink bandwidth. However, it will be appreciated that other types of communication satellites may also be sampled such as Iridium satellites, Kuiper, or satellites for 5G communication.
Since the Starlink satellites are proprietary, there may be no publishing of an ephemeris database for them. But the ground stations 105 disclosed herein solve that problem. There are a number of ways to provide the signal replica for such varying sources. The signal replica may be provided directly from a source (or sources), as an active participant of determining the TDOA between the source and the client device. However, the present invention does not require the active participation of the source. For example, the ground stations 105 are used herein are examples of “sniffer” devices. Each sniffer device is a receiver that samples a received signal from the communication satellite source during the same time period that the client device samples a received signal from the same wireless source. In contrast to the client device, each sniffer has an accurate clock so that it may accurately timestamp the received samples from the wireless source. For example, each ground station may timestamp its signal samples according to GPS time. The resulting time-stamped samples are denoted herein as a “datagram.” The datagrams from the ground stations may be uploaded to a remote server. The remote server may then identify the synchronization signal within the datagrams and note the time of receipt of the synchronization signal at each ground station. From this time of receipt and the known locations of the ground stations, the remote server may determine the ephemeris and/or the orbital parameters of the communication satellite.
An example of a sniffer device is a GPS-enabled mobile device such as a cellphone. Such devices are already configured to sample a wireless signal such as from a WiFi source or from a cellular base station. The sniffer device may then upload the resulting datagram to the “cloud” (e.g., the Internet) to one or more servers. Similarly, the client device uploads its datagram to the cloud as well. The following discussion will refer simply to the “cloud” to refer to the server or servers that are configured to practice the advantageous positioning disclosed herein. The cloud also may use the x,y,z location of the wireless source and the sniffer in order to time-stamp the transmitted signal from the wireless source. Since the range between the wireless source and the sniffer are known, the time of transmission for the wireless source for the datagram received by the sniffer is determined by multiplying the range by the speed of light to get the propagation delay and then subtracting the propagation delay from the time of receipt at the sniffer.
With regard to the communication satellite signal, the transmitted signal changes depending upon its data content. However, it is not necessary to decode the data (if any) that is encoded in the transmitted signal, since the transmitted data from the wireless source is sampled (forming a replica signal) and is used only to cross correlate with the signal received by the client in order to determine the ranging information between the client and the wireless source. The cloud thus correlates the client datagram and the sniffer datagram in an analogous fashion as a GPS receiver correlates its received satellite signal samples with its stored PRN replica. The data content of the communication satellite source is thus akin to the “data” in a GPS PRN sequence. The ones and zeros in a datagram may thus be denoted as chips since the “data” is actually the correlation peak determined by the cloud (as will be explained further herein, note that the correlation may also be performed by the client device in alternative embodiments).
A wireless provider will have many customers whose devices may all be configured to act as a sniffer: The cloud will thus be updated continually with sniffer datagrams of available communication satellite sources. A client device need merely sample sufficient sources such that the cloud may determine its position. In that regard, each correlation between a sniffer datagram and the corresponding client datagram results in a pseudorange, which is “pseudo” due to the unknown offset between the client device's clock and the accurate clock in the sniffer. As is well known in the GPS arts, four pseudoranges may be used to determine the x,y,z position of a GPS receiver as well as its clock offset. Similarly, four pseudoranges for a client device as disclosed herein may be used to determine its x,y,z position and its clock offset. Alternatively, if the z coordinate has an assumed value, just three pseudoranges are necessary. But note the power of the resulting technique: the client device may be indoors or in other weak-signal environments (weak with respect to GPS) but still receive 3 to 4 wireless signals from corresponding communication satellites. Regardless of how the datagram (or datagrams) are collected, the client device need merely timestamp them as to their time of receipt and upload them to the cloud. The cloud may then correlate the client datagrams with the corresponding sniffer datagrams to determine through a time-difference-of-arrival (TDOA) technique the location of the client device. Just like the communication satellite sources, the client devices in the disclosed techniques and systems herein require no hardware modifications. Conventional mobile devices may be instead be merely configured with a software download to practice the advantageous position determination disclosed herein.
As noted above, mobile devices may be configured to act as “sniffers” with regard to sampling the communication satellite sources and uploading a time-stamped series of such samples to a server in the cloud. The resulting time-stamped series of samples is denoted herein as a “datagram.” For example, a sniffer such as a handset may take digital samples of the received signal from a communication satellite source over a certain period of time (e.g., tens of milliseconds). Each sniffer has a relatively accurate clock such as provided by GPS time so that the datagram may be time stamped. Given the sampling rate, the sniffer need merely stamp one sample (e.g., the beginning or ending sample) of the datagram. The remaining samples in the datagram will have a known time of arrival based upon the time stamp for the time-stamped sample. Alternatively, more than one sample in a datagram may have a time stamp.
The sniffer uploads the resulting datagram to the cloud. Because the communication satellite source will not typically have an already known location, the cloud may use datagrams from multiple sniffers to calculate, through a TDOA technique such as used in GPS, the X, Y, Z location of the communication satellite and its time of transmission. The client device also uploads a datagram to the server. Note the analogy to a traditional GPS receiver: the receiver needs to have a copy of the PRN sequence transmitted by the satellite. In the present matter, that copy is provided by a sniffer. For example, consider the system shown in
The accuracy of the location coordinates that are generated for the client device improves as the number of communication satellites for which a TDOA can be determined increases. Further, the signals received by the client device from communication satellites, even in close physical proximity may be weak, inhibiting the ability to determine the TDOA. It is well known in the signal processing arts that the signal-to-noise ratio (SNR) for a weak received signal can be improved through extended coherent integration. However, in contrast to GPS, the “PRN” sequence for a networking wireless source such as a communication satellite does not end. There are thus no navigation bit boundaries that must be accounted for as the length of the datagrams is increased. But as will be explained herein, one cannot simply increase the number of samples in a datagram indefinitely. In that regard, extending the coherent cross-correlation between the client device datagram and the sniffer datagram is inhibited by at least two factors: a) frequency off-set caused by carrier frequency off-set and Doppler shift, and b) by time offset caused by uncertainty of the local clock of the client device.
Doppler shift causes the same effect on the sampling as does the receiver sampling rate. For example, suppose a client device has a very accurate clock such as an atomic clock. The effect of the clock drift for such a clock is negligible unless an enormous time sequence of the received signal is being cross-correlated and coherently summed. But the client device clock accuracy cannot change the physics of the Doppler effect: the apparent period or length of a received signal sequence is either increased or decreased by the Doppler. In other words, the time scale for the received signal sequence is either too fast or too slow. For example, if the communication satellite is traveling towards the client device, the Doppler shift is positive. The received signal will not have their nominal timing in such a scenario but instead will be compressed in time (having a faster apparent time scale). Even if the client device clock ticks perfectly (no sampling rate errors), the Doppler compressed received signal will be too short as shown in
For example, suppose the expansion or compression is 2.5% of a sample period. That means that even if a first sample is centered perfectly in the sampling time period, a final sample will be displaced by 2.5% of the sample period times the number of samples N in the datagram from where it should have been sampled (if Doppler shift were accounted for). The same failure in coherent integration as discussed above with regard to the sampling rate will level off the coherent integration gain. The effects of Doppler shift and receiver sampling rate makes the transmitted signal replica desynchronized with the samples of the received signal. For this reason, conventional coherent integration techniques have always been unsatisfactory and do not boost performance in weak-signal environments. The following discussion is directed to the processing of relatively long datagrams such that the drift of the local clock in the client device (and sampling rate) and/or Doppler effects would otherwise cause error if the relatively long datagram were simply cross-correlated with the replica. Note that the sniffer devices have accurate clocks such that the replica signals are relatively “perfect” with regard to clock drift errors.
The deleterious effects of sampling-rate error and Doppler on the sampling of the received signal of a client device may be avoided by a constructive resampling. The resampling is “constructive” because one cannot go back in time and actually sample the received signal at the proper sampling rate. But because of sampling rate and the Doppler shift, the received signal will typically be sampled at too fast of a rate or too slow. If the received signal could have been sampled at the proper clock rate—one that has no sampling-rate error and is also increased or decreased to account for Doppler-shift-induced expansion or compression of the apparent time scale for the received signal—then the samples of the received signal and corresponding samples of the transmitted signal replica are synchronous. Given such a re-alignment of the re-sampled received signal with the samples of the transmitted signal replica, a sufficient length of the received signal may then be cross-correlated with the appropriate transmitted signal replica and coherently added to solve the weak-signal dilemma for determining the TDOA of signals transmitted by a communication satellite and received by a client device. This re-sampling may alternatively be performed on the transmitted signal replica.
The alignment of the received signal and the transmitted signal replica can be performed in the time domain or in the frequency domain. A time-domain embodiment will be discussed first.
As discussed above, a received signal can be compressed or expanded in time depending upon its Doppler shift. Such a compression or expansion is with reference to a “true” time for the received signal in the absence of a Doppler shift. Such misalignment of the received signal with the true time scale is independent of the client device clock rate. But as also discussed above, the client device clock rate itself may be too fast or too slow with reference to such a true time scale. On the other hand, the transmitted signal replica is generated according to the true time scale. The transmitted signal replica can be cross-correlated with the corresponding received signal in either the time domain or the frequency domain. Analogous cross-correlation in the time or frequency domains is well known with regard to the conventional cross-correlation of a single received signal with a transmitted signal replica.
But regardless of whether the cross-correlation is performed in the time or frequency domain, the transmitted signal replica are generated as time samples corresponding to the time samples of the received signal. Since a client device in a weak-signal environment has not yet acquired a position fix, its sampling rate is unknown. In generating a transmitted signal replica in such a case, the client device thus has no information on how fast or slow its clock is ticking. It can only assume that the clock is sampling according to a nominal or intended sampling rate. The transmitted signal replica is thus generated according to this intended sampling rate and “true” time scale. But such an intended sampling rate will fail because it does not account for the Doppler shift or the client device sampling rate error. The sampling by the client device is thus resampled as shown in
The processing shown in
It will be appreciated that the re-sampling discussed above could instead be practiced on the samples of the transmitted signal replica. For example, the resampling operation performed by DSP/microprocessor may instead be performed on the transmitted signal samples. The FFT for the transmitted signal replica would then be an FFT of the re-sampled transmitted signal replica. The samples of the received signal would then be processed by frequency-domain correlator without any re-sampling. However, the samples of the transmitted signal replica would be re-sampled. Since either the samples of the received signal or the transmitted signal replica samples can be chosen for re-sampling, the samples that are not re-sampled may be referred to as not-re-sampled samples. In both cases, re-sampled samples are cross-correlated with not-re-sampled samples. If the received signals are re-sampled, the not-re-sampled samples are the transmitted signal replica samples. Conversely, if the transmitted signal replica samples are re-samples, the samples of the received signal would be the not-re-sampled samples.
Note that the signal processing techniques may be performed offline—they do not need to be performed in the receiver taking the samples of the received signals. Instead, such a receiver could upload the received samples to a server or other external node that would then perform the resampling and coherent addition discussed herein. Such offline processing is attractive for applications such as handsets that may not have sufficient computing power to perform the re-sampling and coherent addition of the resulting cross-correlations.
As yet another alternative, the effective resampling of the received signal may be performed in the frequency domain through an appropriate filtering operation. As discussed with regard to the time-domain resampling, the re-sampling filtering may be performed on either the FFT of the samples for the received signal or on the FFT of the transmitted signal replica. For example, the time-domain re-sampling by DSP/microprocessor would be omitted. Instead, a re-sampling filter would be inserted between the FFT operation and the subsequent multiplication for either the received signal sample path of the transmitted signal replica path. As discussed with regard to the time-domain embodiment, a frequency domain re-sampling need not be performed by the receiver taking the samples of the received signal.
Another embodiment is shown in
The embodiments discussed above may be performed using cloud-based resources. This includes, but not limited to, signal processing and coordinate generation. The transmitted signal replica and receive signals may be uploaded on a real-time or not real-time basis using a wide variety of data communications options. This is generally shown by
As mentioned, it is necessary to know the location coordinates of the communication satellite.
Further, since the signal replica signals are used as a reference signal only, the decoding of any data contained in the transmitted signal is not required. The signal replica data is used in a similar manner to the PRN codes are used to determine ranging information between a GPS satellite and a GPS receiver. In other words, even though the communication satellite source is transmitting digital data, there is no need to decode the digital data. Indeed, the transmissions from the source may be entirely analog. In that regard, the signal replica may include any type of transmitted signal, including analog and/or digital signals, as well as signals that are encrypted.
The receiver performance can be improved by using multiple antennas. The received signal from multiple antennas can be combined to improve the signal to noise ratio (SNR) and as a result, improve the quality and accuracy of the TDOA estimation. Further, a MIMO engine is capable of estimating the Direction of Arrival (DOA) of the received signals. The DOA and TDOA can be combined to improve the TDOA estimation and resolve the multi-path ambiguity by eliminating the multipath signal that affects the TDOA estimation.
In another embodiment of the invention the Direction of Arrival (DOA) can be estimated by using multiple antennas. The DOA can be estimated by using a steering vector and finding the cross correlation of the received signal from multiple antennas and the steering vector. The DOA can be estimated by scanning the angle of the steering vector. The angle of arrival can be used to filter the received signal to eliminate the multipath signal from the unwanted directions. In addition, the DOA can be fed to the navigation engine and add constraints to the navigation equations.
As those of some skill in this art will by now appreciate and depending on the particular application at hand, many modifications, substitutions and variations can be made in and to the materials, apparatus, configurations and methods of use of the devices of the present disclosure without departing from the scope thereof. In light of this, the scope of the present disclosure should not be limited to that of the particular embodiments illustrated and described herein, as they are merely by way of some examples thereof, but rather, should be fully commensurate with that of the claims appended hereafter and their functional equivalents.
This application is a continuation-in-part of U.S. patent application Ser. No. 15/930,277, filed May 12, 2020, which is a continuation of U.S. patent application Ser. No. 16/378,116, filed Apr. 8, 2019, issued as U.S. Pat. No. 10,649,092 on May 12, 2020, which is a continuation of U.S. patent application Ser. No. 14/998,500, filed Jan. 12, 2016, issued as U.S. Pat. No. 10,254,408 on Apr. 9, 2019, which claims the benefit of U.S. Provisional Pat. Application No. 62/102,587, filed Jan. 12, 2015, all of which are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
62102587 | Jan 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16378116 | Apr 2019 | US |
Child | 18486961 | US | |
Parent | 14998500 | Jan 2016 | US |
Child | 16378116 | US |