TDOA-Based Positioning System Using Low-Earth-Orbit-Based Satellites

Information

  • Patent Application
  • 20250116781
  • Publication Number
    20250116781
  • Date Filed
    October 13, 2023
    a year ago
  • Date Published
    April 10, 2025
    3 months ago
  • Inventors
    • Farrokhi; Farrokh (Sunnyvale, CA, US)
  • Original Assignees
    • ETHERWHERE COR[PRATION (Sunnyvale, CA, US)
Abstract
A positioning system is provided in which a client device samples a transmission from any suitable terrestrial wireless source. The resulting samples are correlated with replica samples to determine a position of the client device using time-difference-of-arrival-based calculations.
Description
TECHNICAL FIELD

This invention relates to techniques for determining location and more specifically to techniques that utilize low-earth-orbit-based communication satellite signals.


BACKGROUND

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.


SUMMARY

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.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a plurality of ground stations for tracking the location of a communication satellite in accordance with an aspect of the disclosure.



FIG. 2
2 illustrates a client device having a position determined through correlation of communication satellite signals in accordance with an aspect of the disclosure.



FIG. 3 illustrates a client device in a communication-satellite-based TDOA-based positioning system in accordance with an aspect of the disclosure.



FIG. 4A illustrates a correlator and TDOA generator to determine the location of a client device in accordance with an aspect of the disclosure.



FIG. 4B illustrates four TDOAs being generated for a client device.



FIG. 5 illustrates additional details for the correlator of FIG. 4A.



FIG. 6 illustrates the effect of Doppler on the sampling of a client (or server) datagram.



FIG. 7 illustrates the resampling of a datagram.



FIG. 8 illustrates a time-domain correlator for a resampled datagram.



FIG. 9 illustrates a frequency-domain correlator for a resampled datagram.



FIG. 10 illustrates a client device acting as a wireless source.



FIG. 11 illustrates a correlator for a datagram from the client device of FIG. 10.



FIG. 12A illustrates aspects of cloud-based processing in accordance with an aspect of the disclosure.



FIG. 12B illustrates a collection of four sniffer devices.



FIG. 12C illustrates the collection of a time-stamped sniffer datagram.



FIG. 13 illustrates a MIMO processing engine.



FIG. 14 illustrates a MIMO processing engine.



FIG. 15 illustrates a MIMO processing engine.



FIG. 16 illustrates a MIMO processing engine.



FIG. 17 illustrates a MIMO processing engine.





DETAILED DESCRIPTION

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 FIG. 1A. The ground stations 105 are located within the main beam of a communication satellite 100. But note that the ground stations 105 may instead be located in the sidelobes of the main beam if the synchronization signal transmitted by the satellite 100 is sufficiently strong. Each ground station 105 has a unique location and an accurate clock. Based upon the accurate clock, each ground station 105 may time the arrival when it receives a synchronization signal (or some other suitable timing signal) from the communication satellite 100. The ground stations 105 may then upload their measured time of arrivals to a remote server (not illustrated). The remote server may then calculate the satellite's location (ephemeris) and/or satellite orbit parameters such as Kepler parameters. In addition, the remote server may calculate the time of transmission for the synchronization signal based upon the time of arrivals at the ground stations 105 and the respective locations of the ground stations 105. Alternatively, one or more of the ground stations 105 may perform those calculations.


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 FIG. 2. The client device 110 may then stamp the resulting samples with a time of arrival as received and upload them through the cloud (e.g., the internet) to a remote server/processor 115. One or more of the ground stations 105 would also sample the same series of communication bits following the synchronizing signal and upload them to the remote server 115 in the same fashion. The remote server 115 may then correlate the samples from the client device 110 with the samples from the ground station 105 to obtain a pseudorange between the client device 110 and the satellite 100. With four such pseudoranges, the position and clock offset of the client device 110 may be determined. In an alternative implementation, the client device 110 itself may perform the correlation and positioning determination. In addition, note that one or more of the pseudoranges may be calculated using a sample of a traditional SBPS signal.


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 FIG. 3. The client device is located in a weak-signal environment but still readily receives signals from three communication satellites (as discussed above, the received signal power from a relatively-close low-earth-orbit communication satellite is considerably more powerful than the relatively-weak received GPS signal power such that the client devices disclosed herein may readily sample from a plurality of such communication satellite sources even in a GPS weak-signal environment). The client device uploads a time-stamped datagram (a time-stamped series of samples of the combined RF received signal from the various sources) to the server (not illustrated). Just like a GPS system, the server (or servers) may perform a cross-correlation of the datagram from the client device with the datagram from a sniffer tuned to a particular source to determine the correlation peak for the client's datagram with the sniffer datagram. The four unknowns for the client device: its unknown clock offset to the accurate clock in the sniffers and its x,y,z location may thus be derived from the resulting correlations in the server.



FIG. 4A illustrates another embodiment in which a TDOA-based positioning determination is made using communication satellite signals. In this example, there are four communication satellites A, B, C, and D. Given the relatively large number of Starlink satellites, having four such satellites in view is a typical scenario. The composite signal received by the client device is cross correlated in a correlator with a signal replica of the signal transmitted by satellite A. Further, if the transmitted signal from a source includes known, predictive or repetitive signals such as pre-amble and packet headers or other types of synchronization signals that allow for the time-stamping of the transmit time of received data, the signal replica may be extracted directly from the receive signal of the client device. Although discussed herein with regard to offline solutions such as in a server, it will be appreciated that the correlator shown in FIG. 4A may be located within the client device. The following discussion will be directed to server-based embodiments but it will thus be appreciated that the correlations disclosed herein may be performed in the client device. The signal replica signal is time stamped as discussed earlier, indicating the precise transmit time the signal transmitted from satellite A. The generation of the signal replica signal will be discussed in further detail below. Cross correlation of the signal received by the client device and the time-stamped signal replica of A is used to determine the TDOA between a transmitter and a receiver.



FIG. 4B illustrates that the TDOA information between a client device and four communication satellites may be used to solve for the x,y,z, location coordinates of a client device as well as its unknown clock offset to the accurate time used by the sniffers. As the location of the communication satellites are known as determined through the ground stations/sniffer devices disclosed herein, a navigational equation can be derived using the derived TDOA. Using the four navigational equations allow for a unique solution of the four unknowns to be determined: X, Y, and Z coordinates, and clock offset of the client device.



FIG. 5 illustrates an example of signal processing employed to determine the TDOA between a communication satellite and a client device. The composite signal received by the client device (receive signal) is correlated against a replica of the signal that was transmitted by each of the communication satellites. The correlator determines the receive or arrival time of the received signal from a communication satellite at the client device by using the well-understood process of cross correlation. Multiple correlator blocks in parallel may be used in order to acquire TDOA information from multiple communication satellites simultaneously. For the purpose of this discussion, we will focus on the operation of a single correlator block. The composite digital signal that is received by the client device is input to a delay line made up of multiple delay elements. Corresponding samples from a transmitted signal replica for the specific communication satellite source that is being acquired are multiplied with the output of each delay element. The product of each delayed signal and samples from the transmitted signal replica are summed and processed in a TDOA generator. The TDOA is determined between the client device and individual communication satellites. The local time of arrival is the local clock tick associated with the time of arrival of the signal that creates the largest correlation peak. The Time Difference of Arrival is the difference between the time of arrivals from two different transmitters. The obtained TDOAs are used to determine the location coordinates of a client device by employing, as an example, trilateration.


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 FIG. 6. Conversely, if the communication satellite is moving away from the client device, the Doppler shift is negative (the apparent time scale for the received signal is too slow). The received signal will again not have their nominal length in such a scenario but instead will be expanded in time as also shown in FIG. 6.


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.


Example Embodiments

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.


Time Domain Re-Sampling

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 FIG. 7.



FIG. 8 illustrates an implementation example. An RF front end and analog-to-digital converter (ADC) receives the received signal on an antenna and digitizes the received signal to form time samples of the received signal in a client device. The resulting original time samples are stored in a sample buffer. After uploading the resulting datagram to a server (or preformed in the client device), a microprocessor may then re-sample the original time samples at each of the desired test points or values across a search range for an effective sampling rate. The re-sampled time samples for a given tested effective sampling rate may then be correlated in correlators. Correlators are shown separately to comport with the description of the correlator of FIG. 5. In other words, each correlator includes the delay line for a corresponding transmitted signal replica from a specific communication satellite. If the received signals samples (as represented by re-sampled time samples) are to be cross-correlated with corresponding samples of the transmitted signal replica and then coherently summed, there would be a corresponding number of correlators. A coherent sum for each effective sampling rate may then be compared to the other coherent sums for the remaining effective sampling rates in a detection module (not illustrated but discussed below with regard to FIG. 8) to find the maximum value and determine the arrival times of the received signals accordingly. Although such a time-domain cross-correlation is theoretically possible, it is much more convenient to perform the cross-correlation in the frequency domain as shown in FIG. 9.


The processing shown in FIG. 9 is analogous to what was described in FIG. 8, except that time-domain correlators are replaced by a frequency domain correlator. In a frequency domain correlator, the resampled time samples for the received signal and the samples for the transmitted signal replica are each converted into the frequency domain by, for example, FFT operations. The resulting FFTs may then be multiplied before being converted into a resulting coherent sum of all the cross-correlations using an inverse FFT operation. In other words, all the cross-correlations for each received signal with its corresponding transmitted signal replica are accomplished by merely multiplying their corresponding FFTs and then performing an IFFT. For this reason, cross-correlation is typically performed in the frequency domain. A detection module detects the maximum cross-correlation value.


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.


Frequency Domain Re-Sampling

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.


Additional Embodiment

Another embodiment is shown in FIG. 10 and FIG. 11 where the TDOA information between a client device and one or more wireless communication devices using signals transmitted by a client device and received by the individual wireless communication devices. It is essentially obtaining the same information using the opposite implementation as what was described by FIG. 4 and FIG. 5.



FIG. 11 illustrates an example of signal processing employed to determine the TDOA between a wireless source and a client device. The composite signal received by the wireless communication device (receive signal) is correlated against a replica of the signal that was transmitted by a client device (transmitted signal replica). The correlator determines the receive or arrival time of the receive signal from a client device by using the well-understood process of cross correlation. The composite digital signal that is received by the wireless communication device is input to a delay line made up of multiple delay elements. Corresponding samples from a transmitted signal replica for the specific client device that is being acquired are multiplied with the output of each delay element. The product of each delayed signal and samples from the transmitted signal replica are summed and processed in a TDOA generator. The TDOA is determined between the wireless communication device and client device. The obtained TDOAs between the client device and multiple wireless communication devices are used to determine the location coordinates of the client device employing, as an example, trilateration. Further, the resampling techniques discussed in FIG. 8 and FIG. 9 in order to increase SNR are equally applicable to the implementation example shown in FIG. 11. Further, the above implementations using signal processing in either the time domain and frequency domain apply to the embodiment shown in FIG. 11.


Cloud Processing

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 FIG. 12A. Furthermore, sniffer devices may be employed by the system to provide the necessary signal to generate the transmitted signal replica signals from either individual client devices (as would be needed by the implementation shown in FIG. 10), or for individual wireless communication devices (as would be needed by the implementation shown in FIG. 4).


Determining Wireless Communication Device Location and Signal Replica

As mentioned, it is necessary to know the location coordinates of the communication satellite. FIG. 12B illustrates one embodiment which employs sniffer devices to determine the location coordinates of a communication satellite. The location of each sniffer device is known (such as through GPS or another satellite-based positioning system). Further, the local clock of each sniffer device is calibrated to precise time (e.g., GPS time). For example, the sniffer devices may contain a GPS receiver which may be used to provide location coordinates and clock calibration. Using the time of arrival (TOA) of the signal transmitted by the communication satellite and received at each sniffer device, the location of the communication satellite can be uniquely determined. In this example, the TOA received by four sniffer devices with known XYZ coordinates and a local clock calibrated to precise time provides four equations to solve for the four unknown variables of transmitter A; XYZ coordinates and its local clock offset from precise time.



FIG. 12C illustrates how a sniffer device can provide a time-stamped signal replica of the transmissions from a communication satellite. The transmitted signal from a specific communication satellite is detected and captured by the sniffer device. The sniffer distinguishes and selects the signal from a specific communication satellite by using various selection criteria, including RSSI, carrier frequency, and embedded information in the signal such as header/preamble information. The time-stamping of the signal replica signal may be achieved based on the known location of the sniffer device and that the local clock of the sniffer device is calibrated to precise time. Since the location of both the communication satellite and the sniffer device is known, the precise travel time of a signal between these two devices is precisely known. The transmit time of signals transmitted by the wireless communication device is estimated by subtracting the travel time from the receive time by the sniffer device. This is quite advantageous as the wireless source/communication satellite needs to have no modifications with regard to time stamping its transmissions yet the datagrams (a series of samples of the transmissions from the wireless source at the sniffer) may be readily time-stamped with regard to the time of transmission from the wireless source.


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.


MIMO Processing

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.



FIG. 13 shows a non-limiting example of the MIMO processing engine. The complex received signals from N antennas (ANT_1 to ANT_N) are multiplied by complex coefficients calculated by the coefficient calculator. The multiplier outputs are summed in the combiner block. The combined output which is a complex data stream is used for the correlation process. The coefficients are calculated by the coefficient calculator block by multiplying the inverse of the auto covariance matrix of the received signal from multiple antennas and the cross covariance of the received vector from multiple antennas by the transmitted signal replica. The combiner output is fed to the correlator. The correlator function is equivalent to that described with regard to FIG. 5. The transmitted signal replica can be resampled and the frequency shifted to match the frequency offset and sampling frequency of the received signals. Note that the MIMO processing disclosed herein may be advantageously performed by the sniffer devices (or in the remote server) to develop a more accurate estimate of the satellite location in a weak signal environment or when the satellite antenna pattern does not cover the sniffer location with a sufficiently-high signal gain.



FIG. 14 illustrates another embodiment of the invention where the transmitted signal replica signal is resampled and frequency shifted to remove the inaccuracy in the sampling frequency and carrier offset of the received signals. FIG. 15 illustrates another embodiment of the invention where instead it is the receive signal that is resampled and frequency shifted to remove the inaccuracy in the sampling frequency and carrier offset of the received signal. The search window for the correlation used in the MIMO signal processing discussed with regard to FIG. 14 may be narrowed based upon a time cue (time of sampling) from the client device as shown in FIG. 16. Similarly, the search window for the correlation used in the MIMO signal processing discussed with regard to FIG. 15 may be narrowed based upon the time cue from the client device as shown in FIG. 17.


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.

Claims
  • 1. A method, comprising: 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; anddetermining 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.
  • 2. The method of claim 1, wherein the low-earth-orbit communication satellite is a Starlink satellite.
  • 3. The method of claim 1, further comprising determining a plurality of additional pseudoranges between the first receiver and a plurality of corresponding additional low-earth-orbit communication satellites.
  • 4. The method of claim 3, further comprising determining a position of the first receiver based upon the first pseudorange and the plurality of additional pseudoranges.
  • 5. A system, comprising: 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; anda 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.
  • 6. The system of claim 5, wherein the time-difference-of-arrival generator is further configured to determine the time of the transmission from the replica of the transmission.
  • 7. The system of claim 5, wherein the time-difference-of-arrival generator is further configured to determine a plurality of additional pseudoranges between the first receiver and a corresponding plurality of additional low-earth-orbit communication satellites.
  • 8. The system of claim 7, wherein the time-difference-of-arrival generator is further configured to determine a position of the first receiver from the first pseudorange and the plurality of additional pseudoranges.
  • 9. 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; andat the server:identifying a synchronization signal in each series of samples; andusing 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.
CROSS-REFERENCE TO RELATED APPLICATIONS

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.

Provisional Applications (1)
Number Date Country
62102587 Jan 2015 US
Continuations (2)
Number Date Country
Parent 16378116 Apr 2019 US
Child 18486961 US
Parent 14998500 Jan 2016 US
Child 16378116 US