Patent Description:
The present disclosure relates to estimation of the position of a ground-based transceiver in a satellite communications system. In a particular form the present disclosure relates systems in which estimation is performed remote from the terminal.

This application is directed to satellite communications system <NUM> that is comprised of ground-based transceivers, referred to as terminals <NUM>, transmitting data <NUM> using radio signals to one or more low-earth-orbiting satellites <NUM>. These satellites transmit signals <NUM> to relay the terminals' radio signals to ground stations <NUM> where the received signals <NUM> are decoded and delivered to the destination.

In certain applications of interest, it is desired to obtain at the ground station <NUM> estimates of the location (e.g. latitude, longitude and altitude) of the terminals <NUM>. Example applications include tracking of remote, and potentially mobile assets, such as livestock, industrial machinery, shipping containers, palettes, and environmental sensors. These are applications in which the asset or sensor itself does not need to know its own position. Rather a central management system wishes to determine the location of all the assets/sensors. Such applications can be contrasted with navigation applications, where the terminal itself requires estimates of its own location.

In such systems it is often desirable to keep terminal cost, complexity, and power requirements as low as possible to allow widespread and extended use. Whilst terminals <NUM> can be fitted with GPS receivers which can be used to transmit their location to the Ground station <NUM> (via LEO satellite <NUM>), adding a GPS module/receiver adds to both the costs and power requirements. GPS modules require significant computational resources to estimate position, and additionally the GPS module must have up-to-date satellite ephemeris data. This typically requires the GPS module to periodically wake up and acquire the latest GPS almanac. In cold start it takes a GPS receiver <NUM> minutes to download the full almanac placing significant burden on power requirements for the terminal.

Assisted GPS systems can be used to reduce the computational burden or power requirements on the terminals by transmitting recent almanac information to terminals, and/or by allowing terminals to sample the GPS signal and to transmit the samples to a more capable processing device. However this requires the terminal to be capable of establishing a communication link with sufficient capabilities to send the samples over a communications channel between the terminal and the more capable processing device. In applications with remote terminals <NUM> as discussed above, this requirement can add significant cost and power requirements to terminals <NUM>.

There is thus a need to provide a system and method for remote estimation of the position of a ground-based terminal in a satellite communications system that avoids the requirement of a GPS module in the terminal, or at least to provide a useful alternative to existing systems and methods.

<CIT> "Geolocation method and apparatus for satellite based telecommunications systems" describes several method for determining the geolocation of a mobile terminal within a telecommunications satellite system. In this system the satellites operate as bent pipe mode immediately relaying signals received on an uplink onto a downlink without delay. Additionally the earth stations transmits time and frequency corrections to the terminals to ensure synchronisation of the terminals with the earth station. In a first method using a single earth station and satellite, the known location of the satellite is used to estimate the satellite to terminal time delay and a frequency offset if calculated from the difference between the received and reference carrier frequencies. Range and Doppler solution lines are generate and the position is estimated based on their intersection. In a second method, which provides greater accuracy, two earth stations and two satellites are used in cooperation to calculate the geolocation. However a disadvantage of both methods is that they rely on instantaneous relaying of signals by the satellites, accurate knowledge of the satellite position, and synchronisation of the terminal with the earth station which requires the terminals to actively listen for satellite signals which can waste power. Accordingly the methods are unsuitable for use in systems with low power terminals or for systems using uncontrolled or minimally controlled satellites (such as a cubesats) or where satellites do not have a persistent real-time connection to a ground station.

<NPL>, which determines a position of a terminal by estimating a range between a mobile terminal and a satellite at two different times. A ground station measures the station to satellite distance at the same times based on known station and satellite positions and this is used to estimate a range error. The procedure is repeated and the range error used as a correction value. Using this method the optimal time period for obtaining a position accuracy of <NUM> was <NUM> if the satellite was at an altitude of <NUM>, and around <NUM> for a position accuracy of <NUM>. Accordingly this system is unsuitable for use in systems with low power terminals or for systems using uncontrolled or minimally controlled satellites (such as a cubesats) or where satellites do not have a persistent real-time connection to a ground station.

<CIT> describes a communications satellite communications system and method, where a communications satellite <NUM> can pass messages between a user terminal <NUM> and an earth station <NUM>, as the communications satellite moves in an orbit <NUM><NUM>' as indicated by arrow <NUM>, comprises means for estimating the position of the user terminal <NUM>, on the surface of the earth <NUM>, relative to the nadir <NUM>, by means of doppler shift measurements and propagation delay measurements between the communications satellite <NUM> and the user terminal <NUM>. Where more than one communications satellite <NUM> is visible to the user terminal <NUM>, combination means are employed using propagation delays to plural communications satellites <NUM>, and/or recordal of the receipt times, by the user terminal <NUM>, of timed broadcasts from one or more communications satellites <NUM> to determine the propagation delay between the one or more communications satellites <NUM> and the user terminal <NUM>. In addition, delay signals from navigational satellites <NUM> can be processed by the user terminal <NUM> measuring the time of arrival of signals from the navigational satellites <NUM> and conveying the identity of the navigational satellite and the arrival time of the signal to the earth station, which calculates the position of the user terminal <NUM> and can relay an indication thereof back to the user terminal <NUM>.

<CIT> describes a system and method for determining the position of a user terminal (for example, a mobile wireless telephone) in a low-Earth orbit satellite communications system. The system includes a user terminal, at least one satellite with a known position and velocity, and a gateway (that is, a terrestrial base station) for communicating with the user terminal through the satellites. The method includes the steps of determining a range parameter and a range-rate parameter. A range parameter represents a distance between the satellite and the user terminal. A range-rate parameter represents a relative radial velocity between that satellite and the user terminal. The position of the user terminal on the Earth's surface is then determined based on the range parameter, the range-rate parameter, and the known position and velocity of the satellite.

The aforementioned problem is solved by the features of the independent claims. Optional embodiments are defined in the dependent claims.

According to a first aspect, there is provided a method for estimation of the position of a ground-based terminal in a satellite communications system comprising:.

The information may be one or more digital samples of the transmitted signal which are transmitted to the ground station or the information may be the retransmitted analog signal received by the satellite retransmitted to the ground station (ie bent pipe satellite).

In one form information relating to a transmission between a terminal and the satellite further comprises a time stamp that the transmission was received by the satellite with respect to an on board time or frequency reference, and/or a time stamp that the transmission was transmitted by the terminal with respect to a time or frequency reference. In one form the information relating to a transmission between a terminal and the satellite further comprises an estimated transmission time by the terminal based on a predetermined transmission schedule determined against the terminals time or frequency reference.

In one form, the terminal transmits a sequence of transmissions to the satellite, and the satellite transmits information relating to the sequence of transmissions to the ground station, and estimating one or more of a delay, Doppler or Doppler rate from the received information is performed for each transmission in the sequence of transmissions, and estimating the terminal position uses the estimate of the satellite's position at the time of each transmission, and each of the estimates for each transmission in the sequence of transmissions.

In a further form, estimating the terminal position is performed differentially on the difference between estimates between transmissions in the sequence of transmissions. This may be performed in cases where the on-board time or frequency reference is not synchronised to any global time or frequency reference and/or the satellite does not include an on-board position reference and/or the terminal is not synchronised to any global time or frequency reference.

In one form, the terminal comprises a stable clock and is not synchronised to any global time or frequency reference and the estimating the terminal position further comprises estimating a terminal offset with respect to a global time or frequency reference.

In one form, the satellite does not include an on-board position reference, and estimation of the terminal position further comprises estimating the satellite position.

In one form, the method further comprises:
receiving, at the satellite, one or more beacon signals from a terrestrial or space based source, the beacon signal comprising the beacons position and global timing with respect to a reference, and the satellite forwards samples of the signal to the ground station, and estimating the location of the terminal further comprises estimating at least one of a beacon delay, a beacon Doppler or a beacon Doppler rate for each beacon signal. This estimate can be used to improve the estimate of the satellite position and thus the terminal position.

In one form, the method further comprises:
receiving, at the terminal, one or more beacon signals from a terrestrial or space based source, the beacon signal comprising the beacons position and global timing with respect to a reference, and the terminal estimating one or more of a beacon Doppler or a beacon Doppler rate for each beacon signal, and including the estimates in one or more transmissions to the satellite, and estimating the location of the terminal further comprises estimating at least one of a beacon delay, a beacon Doppler or a beacon Doppler rate for each beacon signal.

In one form, the position estimating is performed using non-linear optimisation process for the time-varying position vector of the satellite based on a hypothesis of the position vector of the terminal at a time t.

In a further form, the method further comprises estimating the footprint of the satellite, and constraining the position vector of the terminal to be within the footprint.

In one form the terminal is configured to receive GPS L1 signals and performs coarse estimation of the "phase" (delay) of the C/A code and the Doppler frequency and to provide the estimates of the C/A code and Doppler frequency in one or more transmissions to the satellite, and the step of estimating the terminal position further comprises receiving a GPS almanac and using the received estimates of the C/A code and Doppler frequency to estimate the position of the terminal.

In a further form, the terminal obtains estimates of the C/A code and Doppler frequency by:.

According to a second aspect, there is provided a communications receiver included in or operatively connected to a ground station for estimation of the position of a ground-based terminal in a satellite communications system comprising:.

In a further form the communications receiver may be further configured to perform the further forms of the method of the first aspect. A communication system and terminals may also be provided which are configured to perform the method of the first aspect. The method may also be provided in a processor readable medium for configuring a process to perform the method of the first aspect.

Embodiments of the present disclosure will be discussed with reference to the accompanying drawings wherein:.

In the following description, like reference characters designate like or corresponding parts throughout the figures.

<FIG> is a schematic diagram of a low earth orbit satellite communications system according to an embodiment illustrating the broad system components and signal paths. The satellite communications system <NUM> is comprised of ground-based transceivers, referred to as terminals <NUM>, transmitting data <NUM> using radio signals to one or more low-earth-orbiting satellites <NUM>. These satellites transmit signals <NUM> to relay the terminals' radio signals to ground stations <NUM> where the received signals <NUM> are decoded and delivered to the destination. <FIG> is a more detailed schematic representation of this system showing various modules for performing position estimation from Doppler and delay estimates as described herein.

Embodiments of the system and method obtain a location estimate from measurements derived from the time-of flight (transmission path length from the terminal to the satellite), relative Doppler frequency (first derivative of path length), and rate of change of Doppler frequency (second derivative of path length) of the terminal's transmitted signals <NUM> as seen by a low-earth-orbiting (LEO) satellite <NUM>. The time of flight is the time delay between transmission and reception of the signal, and thus will be referred to as the delay (or time delay). Similarly the relative Doppler frequency and rate of change of Doppler frequency will be referred to as Doppler and Doppler rate. Embodiments of the method can optionally uses a sequence of such measurements, in which case these measurements do not need to be with respect to an absolute time or frequency reference, but can be differential, with respect to a particular chosen reference (e.g. the time and frequency of the first measurement).

The information relating to a transmission between (or from) a terminal and the satellite may be one or more digital samples of the transmitted signal (received at the satellite) which are then transmitted to the ground station or the information may be the retransmitted analog signal received by the satellite retransmitted to the ground station (ie bent pipe satellite). The information (or signals, or samples) is then provided to a communications receiver that performs an estimation process (described in detail below) which includes estimation of the delay, Doppler and/or Doppler rate.

The information relating to a transmission between a terminal and the satellite may also include a time stamp of the time that the transmission was received by the satellite with respect to an on board time or frequency reference. As will be discussed below, this time or frequency reference can be synchronised to a global reference, or may be an unsynchronised but stable time or frequency reference. Similarly the information may comprise a time stamp that the transmission was transmitted by the terminal with respect to a time or frequency reference in the terminal (that is the terminal adds this time stamp when transmitting). Again this may be synchronised to a global reference or it may be unsynchronised. In one embodiment the terminal does not time stamp its transmission but instead transmits based on a predetermined transmission schedule determined against the terminals time or frequency reference. For example this could be every second or some other fixed time interval (eg <NUM>, <NUM>, <NUM>, <NUM>, <NUM>). In this case the terminals schedule will be known by the position estimation module at the ground station. The time stamp information may be embedded in the transmission, and become available once the transmission is decoded and recovered, or it may be provided as an additional or side transmission from the satellite to the ground station. In the context of this specification the information relating to a transmission between a terminal and the satellite comprises the signal or sample(s) of the signal, and any metadata recoverable from the signal or sample, or sent along with the signal.

A position estimator <NUM> at the ground station <NUM> (or a site in communication with the ground station <NUM>) works by comparing the estimates of the terminal's delay/Doppler/Doppler rate, computed at the ground station <NUM> to the corresponding hypothesised quantities that would be expected for a particular hypothesis for the terminal's location. These quantities can be determined knowing the satellite's position <NUM>, an accurate estimate of which is available (either obtainable from another source or estimatable based on available/obtainable data) to the ground station. The location estimate is the hypothesis with the smallest total error between the estimated and hypothesised quantities. Typically estimation of the delay, Doppler and Doppler rate will also include estimation of errors in these quantities. This error (or uncertainty) can also be passed to the position estimator, and used in the position estimation process, such as by appropriately weighting estimates based on the error. Whilst only one of delay, Doppler or Doppler rate is required, performance will typically be improved if the estimates of two or all three values are provided.

More generally it will be appreciated that the estimation of the delay, Doppler or Doppler rate could be performed at the satellite. Further the entire method could be performed at the satellite (estimation of the delay, Doppler or Doppler rate and then position estimation using this information) provided it has sufficient computing and power resources. This leads to a general method that is illustrated in <FIG> which is a flowchart <NUM> of a method for estimation of the position of a ground-based terminal in a satellite communications system according to an embodiment. The method comprises:.

Embodiments of the method can additionally and optionally opportunistically exploit other beacon signals <NUM> received by the terminal. These beacon signals <NUM> may be a beacon signal <NUM> from a beacon satellite <NUM>, the GPS L1 signal <NUM> from a Global Positioning System (GPS) satellite <NUM>, or a beacon signal <NUM> from a terrestrial beacon <NUM>. We shall refer to all such signals <NUM> as "beacons". For such beacon signals <NUM> to be of use, it is required:.

In this case, the terminal <NUM> computes or otherwise estimates one or more of the delay/Doppler/Doppler rate estimates for a beacon signal (or beacon signals), and then transmits the estimate(s) of such beacon signals <NUM> as part of its data transmission <NUM> to the low earth orbit satellite <NUM>. The position estimator then compares the terminal computed estimates with their corresponding hypothetical values to refine the terminal position estimate. This process is described in more detail in Section <NUM> below.

In some instances, the location of the low earth orbit satellite may not be precisely known a-priori at the ground station. In such cases, terrestrial beacons can be optionally exploited to improve the ground station's estimate of the satellite position. In this case, the low earth orbit satellite additionally samples the terrestrial beacon signals and relays these samples to the ground station. The ground station can then use estimates of the delay/Doppler/Doppler rate of these signals to estimate, or to improve its estimate of the position of the satellite. The terrestrial beacons could be special instances of the general population of terminals, having trusted known locations (e.g. they may be equipped with standard GPS modules from which they derive their precise position and send it to the ground station). Alternatively, the beacons could be signals of opportunity, transmitted from known locations (e.g. terrestrial radio or television broadcasts).

The proposed positioning method has a number of advantages for remote tracking applications:.

The method described herein is applicable to both unsynchronised and synchronised terminals:.

The method described herein is also independently applicable to low earth orbit satellites with and without on-board global position and timing references:.

<FIG> is a detailed schematic representation of a system <NUM> for position estimation from Doppler and delay estimates according to an embodiment. The system consists of a remote user terminal <NUM>, transmitting a sequence of packets of data <NUM> containing user data via a satellite payload <NUM> in low earth orbit to a ground station <NUM>.

At time t, the distance d(t) between the terminal and satellite is <MAT> where xt(t) and xs(t) are respectively the positions of the terminal and satellite at time t. These positions can for example be expressed in Earth Centered Inertial (ECI) coordinates, and ∥·∥ is the standard euclidean distance measure. However other similar coordinates systems can also be used.

With reference to <FIG>, the terminal <NUM> receives user data <NUM>, for example from a sensor module integrated with or connected to the terminal (not shown) and/or identification data <NUM> such as a unique terminal identifier number, which may be stored in a memory. A packet formatting module <NUM> receives the user data <NUM> and identification data <NUM> and generates message bits <NUM>. A transmitter IQ waveform generator <NUM> receives the message bits <NUM> and slot timing information <NUM> to generate transmitter IQ samples <NUM>. A digital to analog (DAC) converter <NUM> provides analog signals to the RF transceiver front end <NUM> which transmits a signal <NUM> via antenna <NUM>. The RF transceiver front end <NUM> may be a wideband transceiver front end.

A Low Earth Orbit Satellite <NUM> includes a satellite payload <NUM> which has a RF front end <NUM> which receives the signal <NUM> transmitted from the terminal <NUM>. The time of flight τ(t) of a transmission <NUM> is: <MAT> where c is the speed of light. The relative velocity is <MAT> which directly gives Doppler frequency, ω(t) as <MAT> where ωc is the centre frequency of the transmission. Similarly, we can define the Doppler rate as <MAT>.

As will be elaborated below, and up to scaling constants, the underlying quantities of interest are d(t), and its first and second order time derivatives: d'(t) and d"(t). The choice of coordinates is arbitrary. Below, we will refer to delay, Doppler and Doppler rate, but the method would work equally using distance, velocity and acceleration, or any other invertible transformation of these quantities. Thus in the context of this specification references to delay, Doppler, and Doppler rate is to encompass equivalent quantities obtained from invertible transformation of these quantities.

The sequence of packets transmitted by the terminal will be indexed by j. Without loss of generality, we will assume that j = <NUM>,<NUM>,. , J - <NUM> where J is the number of packets transmitted by the terminal during the satellite pass. The satellite payload <NUM> samples the relevant radio frequency band via RF front end <NUM> (using a bandwidth that is wide enough to capture terminal transmissions allowing for Doppler shift) and an analog to Digital (ADC) converter <NUM> that provides spectrum samples <NUM> to a downlink transceiver <NUM> for transmission to the ground station <NUM>. In this embodiment the information relating to a transmission between a terminal and a satellite includes at least these spectrum samples. The information may additionally include any other metadata such as time stamps which may be added or separately transmitted to the ground station.

If the satellite has access to a precise global time reference (for example obtained from the Global Positioning System), it timestamps these digitised samples <NUM> and a downlink transceiver <NUM> relays them using a digital communications link <NUM>, which may be on a different frequency and of a different bandwidth, to a ground station <NUM>. The ground station <NUM> forwards these digital samples to a communications receiver <NUM> for processing. The communications receiver <NUM> may or may not be co-located with the ground station <NUM>. In other embodiments, other satellite payloads configuration which can relay the terminal signal <NUM> to the ground station <NUM> can be used. Note that the satellite can relay the signal <NUM> in real time if the ground station is within the field of view of the satellite <NUM>, or store and forward received signals <NUM> at a later time when the ground station is within the field of view of the satellite <NUM>.

The communications receiver <NUM> decodes the sequence of terminal packets from the received spectrum samples. The primary goal of the decoding process is to obtain or recover an estimate of the user data <NUM>. As part of the decoding process for packet j, the communications receiver also produces an associated estimate of the Doppler shift ω<NUM>j, Doppler rate ν<NUM>j, and delay τ<NUM>j <NUM>. These estimates <NUM> are all relative to a precise, stable time reference, which may or may not be the same reference available to the satellite, ground station or position processor (this will be elaborated below).

The subscript <NUM> is used to identify these estimates <NUM> with the low earth orbit satellite, and this subscript will be used later to discriminate between quantities relevant to other satellites (i.e. this will later index a list of available beacon satellites and/or terrestrial beacons).

The sequence of estimates {ω<NUM>j, ν<NUM>j, τ<NUM>j}, j = <NUM>,<NUM>,. , J - <NUM> (labelled <NUM>) are forwarded to a position estimation module <NUM>, which may or may not be co-located with the communications receiver <NUM>. Note in the context of this specification the term module encompasses hardware such as application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), or field programmable gate arrays (FPGAs) which are configured to implement the method, or a processor board with a processor and associated memory (on board or operatively linked) storing executable instructions to implement the method, along with other supporting components (power supplies, data buses, communications boards or chips, etc). The term module and processor will be used interchangeably in which case processor should be interpreted broadly as a processor unit and associated hardware and software.

The position estimation processor <NUM> has available the ephemeris data (orbital elements) pertaining to the low earth orbit satellite <NUM>. These are obtained for example from the most recently published Two Line Elements (TLE) which encode orbital elements for a given epoch (point in time). Using the sequence {ω<NUM>j, ν<NUM>j, τ<NUM>j} <NUM>, and the ephemeris data <NUM>, it produces a sequence of position estimates <NUM> of the position of the terminal at the time of transmission of each packet j = <NUM>,<NUM>,. , J - <NUM>.

In the case of time- and frequency-synchronous operation, the position estimation processor <NUM> can exploit the fact that the ω<NUM>j, ν<NUM>j, τ<NUM>j <NUM> are "absolute", i.e. are with respect to a known reference.

In the case of unsynchronised operation (either the terminal or the satellite does not have an accurate global time reference), the position estimation processor can instead exploit the stability of these estimates from different packets, i.e. can compare time and/or frequency estimates between packets with different index j. For example, the processor can operate differentially with respect to packet j = <NUM>, using the quantities <MAT> <MAT> <MAT>.

The choice of reference packet j = <NUM> is arbitrary and can be any other choice of j = <NUM>,<NUM>,. , J - <NUM>.

From satellite ephemeris data <NUM>, the position estimator <NUM> can determine at least an approximation of the time-varying position vector xs(t) of the low earth orbit satellite. Let tj be the transmission time of packet j = <NUM>,<NUM>,. Let xt(t) be a hypothesis for the position vector of the terminal at time t (in the same coordinate system as xs(t)). For simplicity we will for the moment assume xt(t) ≈ xt for the time interval (t<NUM>, tJ-<NUM>).

For a given xs(t), the "footprint" of the satellite can be determined. This is the set of positions X(t) on the earth from which (in the absence of obstructions) the satellite is visible. This represents the feasible set of choices for the terminal position at time t, i.e. we know that xt ∈ X(t). This footprint can easily be modified to account for small uncertainties in the satellite position, timing, and minimum elevation angles required for communication with the satellite. Let X =∩j X(tj).

We will now describe a method for position estimation according to an embodiment in which the terminals are synchronous terminals. In section <NUM>. <NUM> this embodiment will then be generalised to an embodiment in which the terminals are unsynchronised terminals.

Terrestrial or space-based beacon signals <NUM> that can be received by the low earth orbit satellite <NUM> can be used to improve performance by improving position estimates of the low earth orbit satellite. This is described in Section <NUM>. Beacon signals <NUM> can also be received by the terminal and used to improve position estimates <NUM>. This is described in Section <NUM>.

To begin with, assume that the terminal <NUM> has time and frequency synchronisation, such that the estimates ω<NUM>j, and ν<NUM>j are with respect to ωc and τ<NUM>j is with respect to the precise time tj of the transmission of packet j (i.e. is an estimate of the time-of-flight τ(tj).

For a given hypothetical terminal position xt and satellite position xs(t) at time t, let <MAT> be the hypothesis for the time-varying distance between the terminal and satellite at time t. Similarly define ω(t|xt), ν(t|xt) and τ(t|xt).

Define the error functions <MAT> <MAT> <MAT>.

Further we define the total error as <MAT> where α<NUM>j, β<NUM>j, γ<NUM>j are non-negative constants which are used to weight the contributions to the global error function. These constants can be used to tune the system performance and can be determined ahead of time by experiment, and may include change of unit factors to transform values to more comparable values. They can also be used to weight the contributions of estimates from different packets, according to quality measures reported for those packets (e.g. we can take less notice of estimates from packets with lower signal to noise ratio). Different estimators of τ, ω and ν may also report quality measures of these estimates, and these may also be used to select the weighting factors.

The position estimation processor produces an estimate x̂t of the terminal position by solving the following non-linear optimisation problem: <MAT>.

There are many known approaches for the solution of non-linear least squares optimisation problems. One example is the Levenberg-Marquardt algorithm. Such algorithms work iteratively, improving an initial guess by considering the gradient of the error function. A good choice for the initial guess is the ground track position of the satellite at time t. As we require a global solution in the region X, we can discretise this space (e.g. by gridding) and run a local optimiser such as Levenberg-Marquardt, initialising with each grid point. The global solution candidate(s) are those with the lowest resulting Δ(xt).

In other embodiments estimation may be performed using other functions or optimisation methods. For example a linear least squares approach could be used or hybrid solutions that use a linear method as a first estimate, and a non-linear method to further refine this estimate (or vice versa). Similarly other methods including iterative methods that seek to minimise the errors, for example by defining a function and minimising or maximising that function. In some cases the estimation process need to be guaranteed to be the optimal solution, but may be defined by satisfying a precision or stability based stopping criteria such as error less than a predetermined threshold, or the change between successive iterations or a sequence of iterations being less than a predetermined threshold.

It should be noted that in the absence of any other information concerning the terminal position, there may be unresolvable ambiguities. By this we mean that there will be two candidate terminal positions belonging to X that have the same minimal Δ(xt). In some cases such ambiguities can be resolved by employing additional information about the terminal position which may be known a-priori. For example, the approximate position of the terminal may already be known for example from a previously obtained position fix, and this information can be used to rule out the incorrect ambiguity.

As noted above, for simplicity the terminal was assumed to be stationary. However in some embodiments this assumption may be relaxed. In that case we replace xt with xt(t) in equation <NUM>-<NUM> so the error is estimated for each transmission and optimisation equation <NUM> solves for a position vector or position at a fixed time and a velocity component.

When the terminal lacks synchronisation of time and/or frequency to a known reference (but is otherwise stable over the duration of interest), it is still possible to construct an optimisation problem similar to equation <NUM>. The main modification required is to operate differentially, defining error functions similar to equations <NUM> - <NUM> on the quantities ω<NUM>j, ν<NUM>j, τ<NUM>j, j ∈ {<NUM>,<NUM>,. , J - <NUM>} defined in equations <NUM>-<NUM>.

The system can optionally exploit beacon signals <NUM> transmitted by terrestrial radio transmitters, or by satellites. It is required that these beacons have known (or estimable) positions. Examples include:.

Section <NUM> describes how to use such signals received by the low earth orbit satellite. Section <NUM> describes how to exploit such signals received by the terminal. Let the beacon signals be indexed by k = <NUM>,<NUM>,. , K - <NUM>, and let the beacon positions be bk.

In order to obtain accurate position estimates of the terminal <NUM>, it is important that the position estimator <NUM> has precise knowledge of the position of the satellite <NUM>. Estimates derived from TLE data may not be sufficiently accurate in practice. In order to improve performance, the satellite can additionally sample beacon signals <NUM> transmitted from space-based or terrestrial sources <NUM>, <NUM>, <NUM>. One example is for the low earth orbit satellite <NUM> to carry a GPS receiver payload, and to receive GPS signals to determine its position very accurately, and relay this information to the ground station <NUM>. This may not be desirable in some instances, as such GPS payload may not be present, or may use large quantities of power, and may use some of the available bandwidth.

Instead of receiving and decoding GPS signals, the satellite can additionally sample signals <NUM> from terrestrial beacon terminals <NUM> (or any other beacon) as shown in <FIG>.

The terrestrial beacon terminals <NUM> transmit their precise position and global timing (in addition to any other data that they may transmit). The satellite <NUM> additionally samples these signals and forwards these samples to the ground station <NUM> for provision to the position estimator <NUM>. The position estimator obtains <NUM> estimates of the delay τk, Doppler, ωk and Doppler rate νk for each of the beacon signals, k = <NUM>,<NUM>,. , K - <NUM>. These could be further indexed by particular packets transmitted by each beacon (e.g. ωkj), however this has been omitted for clarity.

Generalising the development in Section <NUM>. <NUM>, for a given hypothetical terminal position xt and hypothetical satellite position xs(t), define ω(t|xt, xs(t)), ν(t|xit, xs(t)) and τ(t|xt, xs(t)) as the Doppler, Doppler rate and delay at time t corresponding to particular hypothetical choices of terminal and satellite position. Similarly, define ω(t|bk, xs(t)), ν(t|bk, xs(t)) and τ(t|bk, xs(t)) be the hypothetical quantities for the known position of beacon k and hypothetical position of the satellite.

Define the error functions for packet j = <NUM>,<NUM>,. , J - <NUM> received at time tj as <MAT> <MAT> <MAT> and beacons observed at time tk as <MAT> <MAT> <MAT>.

Define the total error as <MAT> where similar to before, αk, βk, γk are additional non-negative constants which are used to weight the contributions of the beacon errors to the global error function.

Let <IMG> be the range of possible positions of the satellite <NUM> (e.g. obtained as an uncertainty ellipsoid about the trajectory predicted by the current TLE). The position estimation module <NUM> produces an estimate x̂t of the terminal position by solving the following non-linear optimisation problem:
<MAT>.

A by-product of equation <NUM> is an accurate position estimate for the low earth orbit satellite <NUM>. Extension to asynchronous operation is accomplished in a similar manner as described in Section <NUM>. <NUM>, operating on differential versions of the error functions. The method can be further extended to situation where the low earth orbit satellite <NUM> does not have a precise global time reference. In this case, the optimisation is extended to include the uncertainty in satellite timing reference t. Let <IMG> be the uncertainty in this timing reference:
<MAT>.

Beacons received by the terminal can also be utilised. In these embodiments the terminal is required to estimate at least one of the time delay τk, Doppler, ωk and Doppler rate νk of the signals from beacon k, and to transmit these estimates to the ground station <NUM> via the low earth orbit satellite <NUM>. By performing estimation of τk, ωk and/or νk at the terminal, this saves the requirement to send a sample of the signal to the ground station as in assisted GPS systems, and reduces the amount of data the terminal needs to send back to the ground station. The estimation may be performed using a decoder which processes and decodes received beacon signals.

Similar to the extension described in Section <NUM>, the position estimator then incorporates these estimates in its non-linear optimisation by extending the error function (Equation <NUM>) to include terms for these additional estimates, comparing to their hypothetical values given the known position of the beacon and the hypothesised position of the terminal xt. This method can be used in addition to the method described in Section <NUM>. The only difference is that the τk, ωk and νk and identity of the beacon (or its position) are computed by the terminal and transmitted to the ground station, rather than being computed at the ground station.

Section <NUM> describes a specific low-complexity method for obtaining (differential) delay and Doppler estimates from the L1 signals transmitted by the GPS constellation of satellites.

The GPS signal comprises a coarse acquisition C/A code which is a length <NUM> Gold code, constructed from two m-sequences, and is satellite specific. The code has period precisely <NUM>. The encrypted precision code (P(Y)) is at <NUM> Mchip/s and has period one week (~<NUM> × <NUM><NUM> chips. The navigation data is modulated at <NUM> bit/s onto the C/A code (bit period <NUM>, i.e. <NUM> C/A code repetitions per bit). The navigation data comprises <NUM> bits of telemetry data, <NUM> bits of handover data, GPS date and time, ephemeris data and almanac data. Telemetry and handover data are repeated every <NUM> seconds (<NUM> bits). The C/A and P(Y) codes are quadrature modulated with a 3dB attenuation for P(Y).

In GPS receiver terminology, pseudoranges are the absolute time differences between the time of transmission at the satellite (with respect to the start of a subframe) and the time of reception. In standard GPS receiver processing, the receiver is assumed to have an absolute time reference in order to obtain these pseudoranges.

The pseudorange for satellite j is the sum of two components: (a) the time difference measured at the start of the frame, which is discretised in milliseconds (the C/A code period), and (b) the code phase from the PLL, which is sub-millisecond resolution. In our system, we only require a receiver clock that is locally stable, and is not synchronised to any external source. By locally stable, we mean that it maintains its own time with sufficient accuracy over the duration of processing one vector of signal samples. Instead of determining the absolute pseudoranges, we compute differential pseudoranges. The differential pseudoranges are the relative delays between the relevant subframe boundary for each satellite and the earliest satellite.

In this section we will describe a particular instance of a beacon signal <NUM>, namely the L1 signal <NUM> transmitted by GPS satellites <NUM>. We will describe an embodiment of the position estimation method for obtaining the required delay and Doppler estimates from the received L1 signals <NUM>. One problem with traditional methods for obtaining position from GPS signals is that they require significant computational resources and GPS Ephemeris data that is not too stale. Such requirements can advantageously be avoided in this embodiment.

One way to address the first problem of significant computational resources in the terminal is to sample the GPS signal at the terminal, and to transmit these samples to a more capable central processing device. This idea is used in cellular radio applications and is known as assisted GPS. However this approach assumes the existence of a sufficiently capable communications channel between the terminal and the central processing unit. In many applications with geographically distributed terminal, such a communications channel or link is not available or feasible, either due to a lack of infrastructure or is prohibitive due to the additional cost, power, or bandwidth required to establish or maintain the required link.

In the present embodiment, this first problem is addressed by carefully splitting the computation between the terminal and a more capable central receiver so that the terminal needs only to transmit a small number of bits from the terminal to the central position estimation processor <NUM>. With regard to the second problem, GPS satellite ephemeris data is normally kept up-to-date via transmission of the "almanac". This is standard practice for a GPS receiver module. This requires that the device can receive these signals and that the device can be turned on (or brought out of sleep) for long enough to receive the almanac.

The method described herein avoids both of these requirements. Advantageously, and as distinct from other software-defined GPS receivers, this method does not require any almanac (or ephemeris) data at the terminal. Instead the position estimation is completed at the central processor, which can be provided with the almanac via standard communications links (e.g. via the Internet).

<FIG> shows a schematic representation <NUM> of a module for hybrid distributed position determination according to an embodiment. Corresponding parts in <FIG> are labelled accordingly. Additionally the terminal <NUM> comprises a GPS antenna <NUM> and a wideband RF transceiver front end <NUM> which provides baseband analog signals <NUM> to an ADC <NUM> which provides the GPS IQ samples to a Code Phase and Doppler estimator module <NUM>. This generates code phase and Doppler estimates {φ̂ij, ω̂ij} <NUM> which are compressed by compression module <NUM> which provides code phase and Doppler bits to packet forming module <NUM>. Estimates of the code phase and Doppler estimates {φ̂ij, ω̂ij} <NUM> are then obtained by the communications receiver <NUM> during decoding operations and provided to position estimator <NUM>.

<FIG> is a more detailed schematic diagram of a coarse C/A code phase/Doppler estimation module <NUM> in terminal <NUM> which performs coarse estimation of the "phase" (delay) of the C/A code and the Doppler frequency according to an embodiment. In this embodiment a serial Doppler/parallel phase approach is used for the estimation but in other embodiments it can also be done the other way around.

The common front end <NUM> receives a signal <NUM> and down-converts <NUM> to complex baseband <NUM> and samples <NUM> to produce a sequence of W complex samples <NUM>. In this embodiment the W samples are passed into a serial to parallel converter <NUM> and the front end then multiplies (in parallel) these samples by M complex sinusoids e-j<NUM>πfmkTs<NUM> to produce M sequences of samples xm, m = <NUM>,<NUM>,. , M, <NUM> each of length N <NUM>. The frequencies of the M sinusoids used for each column are chosen to cover the range of expected Doppler frequencies. A common choice for a stationary receiver would be to range from -<NUM> to <NUM> in steps of <NUM>. This yields M = <NUM>. Mobile receivers would need to expand this range to ±<NUM> and M = <NUM>. The front end then takes a zero-padded discrete Fourier transform <NUM> of each of these blocks of W time-domain samples to produce a vector of N complex frequency-domain samples <MAT> <NUM>.

The vectors y<NUM>, y<NUM>,. , yM <NUM> are provided to each of the per-satellite code phase estimator modules <NUM>. The code phase estimator for satellite j elementwise multiplies <NUM> each of the ym by a length N vector <MAT>, which is the N-point zero padded discrete Fourier transform of C/A code j <NUM>. For clarity, this is only shown for frequency bin m and satellite j in <FIG>. The result of this operation is labelled zmj <NUM>.

The peak detect block <NUM> outputs the code delay (and Doppler frequency ωj = <NUM>πfm) corresponding to the location of the largest magnitude element of the complex vector zmj. This can also be improved using interpolation of neighbouring elements. It also outputs the (interpolated) magnitude aj of this peak, which can be compared to a threshold to determine whether a signal from satellite j is present or not. Alternatively, the ratio of the magnitudes of the largest and second largest peaks can be tested using the Turkman-Walker test.

The method just described requires the following front end operations, shared by all satellite acquisition units:.

Additionally, for each satellite j = <NUM>,<NUM>,. , J and each frequency m = <NUM>,<NUM>,. , M there are N complex multiplications to form the vector zjm and N complex magnitude compares to find the peak. With J satellites, this amounts to M(W + Nlog<NUM>N + <NUM>JN) complex operations.

For example, with a stationary receiver and M = <NUM>, W = N = <NUM>, and J = <NUM> (equivalent to a "cold start"), there are ≈ <NUM> × <NUM><NUM> operations. For a general purpose processor running at <NUM> and assuming a single instruction per cycle, this corresponds to approximately <NUM> millisecond of processor time. This is compared with <NUM> minutes required to download the GPS Almanac and further processing time to actually acquire GPS signals based on the Almanac data.

A standard GPS receiver uses a phase locked loop (PLL) to continuously track the code phase on a sub-chip level. This requires continuous reception of signal from the GPS satellites and takes some amount of time to establish a stable lock. This is not possible if the receiver only has access to a short window of signal samples.

Instead, in the method described herein, the coarse delays and Doppler estimates <NUM> for the detected satellites are jointly refined. In one embodiment this can be implemented using a non-linear least squares approach such as Levenberg-Marquardt. This works by minimising the error norm between the received signal and a hypothesis signal formed as the superposition of time- and frequency-shifted versions of the C/A codes of the detected satellites. These individual signals are weighted by least squares estimates of their complex gain. This method can also produce an estimate of the Doppler rate by additionally applying Doppler rate to the hypothesis signals.

Let i ∈ <IMG> index the set of GPS satellites detected during coarse acquisition. Let ci(t) be the C/A code from GPS satellite i. Then the joint refinement step operates on the error signal ε(t) defined as <MAT> where tj, ωi, νi are the hypothesis refined delay, Doppler and Doppler rate for GPS satellite i. Additionally, ai is the complex gain for signal i.

The advantage of this approach is that it can operate using only a short window of samples, and so unlike conventional GPS receivers does not require continuous operation. This represents significant power savings to terminal. A second important advantage is that it jointly estimates the delays, Doppler, and Doppler rate. This takes into account the small (but important) cross correlation between the Gold codes used by GPS. It also properly accounts for the observation window size.

Those of skill in the art would understand that information and signals may be represented using any of a variety of technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

Those of skill in the art would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software or instructions, or combinations of both.

For a hardware implementation, processing may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, or other electronic units designed to perform the functions described herein, or a combination thereof. In some embodiments a computing device comprising one or more Central Processing Units (CPUs) may be used to perform some of the steps of the methods such as estimation of position. A CPU may comprise an Input/Output Interface, an Arithmetic and Logic Unit (ALU) and a Control Unit and Program Counter element which is in communication with input and output devices through the Input/Output Interface. The Input/Output Interface may comprise a network interface and/or communications module for communicating with an equivalent communications module in another device using a predefined communications protocol (e.g. Bluetooth, Zigbee, IEEE <NUM>, IEEE <NUM>, TCP/IP, UDP, etc). The computing device may comprise a single CPU (core) or multiple CPU's (multiple core), or multiple processors. The computing device may use a parallel processor, a vector processor, or be a distributed computing device. Memory is operatively coupled to the processor(s) and may comprise RAM and ROM components, and may be provided within or external to the device. The memory may be used to store an operating system and additional software modules or instructions. The processor(s) may be configured to load and executed the software modules or instructions stored in the memory.

Software modules, also known as computer programs, computer codes, or instructions, may contain a number a number of source code or object code segments or instructions, and may reside in any computer readable medium such as a RAM memory, flash memory, ROM memory, EPROM memory, registers, hard disk, a removable disk, a CD-ROM, a DVD-ROM, a Blu-ray disc, or any other form of computer readable medium. In some aspects the computer-readable media may comprise non-transitory computer-readable media (e.g., tangible media). In another aspect, the computer readable medium may be integral to the processor. The processor and the computer readable medium may reside in an ASIC or related device. The software codes may be stored in a memory unit and the processor may be configured to execute them. The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.

Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by computing device. Alternatively, various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that a computing device can obtain the various methods upon coupling or providing the storage means to the device.

As an example, "at least one of: a, b, or c" is intended to cover: α, b, c, α-b, a-c, b-c, and a-b-c.

As used herein, the terms "estimating" or "determining" encompasses a wide variety of actions. For example, "estimating" or "determining" may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, "estimating" or "determining" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like.

The above description refers to a Low Earth Orbit Satellite. However it is to be understood that a high altitude platform station such as a high altitude balloon, airship or fixed wing long endurance unmanned aircraft which can carry payloads and hover or fly for extended periods of time. Thus in the context of this specification satellite is to encompass both LEO satellites and high altitude platforms.

Embodiments of the systems, methods and apparatus described herein can be used to produce estimates of the terminal position (e.g. latitude, longitude and altitude) at the ground station, rather than at the terminals themselves. This can be contrasted with navigation applications, where the terminal itself requires estimates of its own location.

One application is tracking of remote, and potentially mobile assets, such as livestock, industrial machinery, shipping containers, palettes, and environmental sensors. These are applications in which the asset or sensor itself does not need to know its own position. Rather a central management system wishes to determine the location of all the assets/sensors.

Another application is providing independent validation of the location of an asset that may be separately reporting its position. For example, ships using the Automatic Identifications System broadcast their position (which may be derived from an on-board GPS module). The proposed method can be used to independently validate these reported positions for reasons of security and/or robustness. Similarly, the system could be used to validate the position of vehicles in a fleet tracking system.

As described above, position estimator <NUM> at the ground station <NUM> (or a site in communication with the ground station <NUM>) works by comparing the estimates of the terminal's time delay/Doppler/Doppler rate, computed at the ground station <NUM> to the corresponding hypothesised quantities that would be expected for a particular hypothesis for the terminal's location. These quantities can be determined knowing the satellite's position <NUM>, an accurate estimate of which is available (either obtainable from another source or estimatable based on available/obtainable data) to the ground station. The location estimate is the hypothesis with the smallest total error between the estimated and hypothesised quantities. Embodiments of the method can additionally and optionally opportunistically exploit other beacon signals <NUM> received by the terminal. In this case, the terminal <NUM> computes or otherwise estimates one or more of the delay/Doppler/Doppler rate estimates for a beacon signal (or beacon signals), and then transmits the estimate(s) of such beacon signals <NUM> as part of its data transmission <NUM> to the low earth orbit satellite <NUM>. The method described herein is applicable to both unsynchronised and synchronised terminals. The method described herein is also independently applicable to low earth orbit satellites with and without on-board global position and timing references. Further in some embodiment the estimation of the delay, Doppler or Doppler rate could be performed at the satellite and position estimation at the ground station or in a position estimation module connected to the ground station, or the entire method could be performed in the satellite (ie the position estimation module is in the satellite).

The reference to any prior art in this specification is not, and should not be taken as, an acknowledgement of any form of suggestion that such prior art forms part of the common general knowledge.

Claim 1:
A method for estimation of the position of a ground-based terminal (<NUM>) in a satellite communications system comprising:
receiving, by a satellite (<NUM>), a sequence of transmissions to the satellite (<NUM>) from the terminal (<NUM>);
Estimating, at a location remote from the terminal (<NUM>), each of a time delay, a Doppler frequency and a Doppler frequency rate of change of a transmission from the terminal to a satellite from information relating to each transmission in the sequence of transmissions, wherein the information relating to each transmission comprises at least a signal received by the satellite, or one or more digital samples of a signal received by the satellite;
Receiving an estimate of the position of the satellite (<NUM>) at the time of each transmission; and
Estimating the terminal position (<NUM>) using the estimate of the satellite's position and each of the estimates of the time delay, Doppler frequency, and Doppler frequency rate of change for each transmission in the sequence of transmissions,
wherein the information relating to each transmission is received via one or more transmissions (<NUM>) from the satellite (<NUM>) to a ground station (<NUM>), and estimating each of a time delay, a Doppler frequency, and a Doppler frequency rate of change is performed by a communications receiver (<NUM>) operatively connected to the ground station (<NUM>) and the time delay, Doppler frequency, and Doppler frequency rate of change are estimated during a decoding process by the communications receiver (<NUM>) to recover an estimate of a user data in the transmission.