Patent Description:
A local oscillator is an important component in a positioning system, such as a GNSS receiver. Local oscillators are often low cost components, including, for example, quartz crystals. These local oscillators are relatively unstable in comparison to high cost local oscillators such as atomic clocks. However, for many positioning applications this is not especially important since absolute time is calibrated in GNSS positioning calculations, and even low cost local oscillators can achieve stability over time periods that are longer than the time period over which signals are coherently integrated.

Some positioning applications require higher stability in the local oscillator. This is particularly important in applications that require the detection of weak signals, such as those that can be found in indoor environments. These weak signals require a long integration period if they are to be detected with sufficient strength to be used in positioning calculations. It is critical to achieve local oscillator stability over the integration period in order for these calculations to be effective.

One way of achieving high local oscillator stability is to replace a low cost quartz crystal with a higher cost local oscillator such as an atomic clock. This is possible for high cost positioning devices, but it is impractical for consumer products such as mobile phones.

Another method of achieving high local oscillator stability is to identify and correct local oscillator errors by detecting a reference signal that has a stable frequency. For example, a reference signal could be received from a GNSS satellite that uses an atomic clock as a local oscillator. After the removal of effects due to the satellite Doppler shift and satellite frequency reference variations, the received signal can act as a reference against which the local oscillator can be corrected. Effectively, this can allow the local oscillator of the positioning system to be locked to (or indexed based on) the local oscillator of the satellite. This method is effective for static receivers such as those that are used in surveying applications. However, it is not effective when applied to consumer products such as mobile phones that are free to move around, since this local movement can be the source of other errors.

An object of the present invention is to overcome and mitigate some of these problems.

<CIT> discloses a method of detecting when a user is stationary in order to improve detection of low level signals by a GNSS receiver.

<CIT> discloses a method of synchronising clocks within a navigation system.

<CIT> is directed to Doppler Aided Internal Navigation (DAIN) techniques that improve estimation of physical states of a receiver.

<CIT> discloses a coupled real time emulation method for a positioning and location system. An emulator is used to provide simulated data for testing the positioning and location system.

<NPL>) discloses techniques for improved speed estimation of a portable navigation device using accelerometer and gyroscope data together with GPS Doppler.

<CIT> discloses a method to produce a stable internal clock signal. This method involves correcting Doppler effects using a motion of the device after an internal clock signal has been derived. Therefore, an error of the internal clock is not corrected before producing the internal clock signal.

According to an aspect of the present invention there is provided a positioning system according to claim <NUM>.

In this way, the positioning system can remove errors introduced to the first local signal by instabilities in the local oscillator. Errors in the local oscillator can be isolated by removing the effects introduced to the received phase or the received frequency based on the relative movement of the receiver and the first reference source in the first reference direction. The local oscillator of the positioning system can therefore be locked to the local oscillator of the first reference source. This can be achieved even with a moving receiver because the motion module can eliminate effects caused by this local movement. By improving the accuracy of the local signal generated using the local oscillator a moving receiver can provide longer coherent integration of signals than would otherwise be possible. This means that, following correction to the frequency or phase of the local oscillator, the sensitivity of the receiver is significantly improved so that weaker positioning signals can be detected and used in positioning calculations.

In theory the present arrangement could be used to correct the frequency or phase of the local oscillator based on the known or predictable frequency or phase of the first reference source and the correction to the received frequency or the received phase. However, in practice it is usually sufficient to calculate an offset to the received frequency or the received phase, and to apply this offset when generating the first local signal.

The receiver is configured to receive a first positioning signal from a first positioning source in a first positioning direction. A correlation unit provides a first correlation signal by correlating the first local signal with the first positioning signal. The receiver can receive a plurality of positioning signals from respective positioning sources. By establishing ranges to these positioning sources the positioning system can calculate a position for the receiver. In addition, or as an alternative to position, the positioning system can provide outputs such as velocity, rotation or time coordinates.

The receiver may also receive a second reference signal from a second reference source in a second reference direction. An offset to the received frequency or the received phase of the second reference signal may be calculated based on the measured or assumed movement of the receiver in the second reference direction and the movement of the second reference source in the second reference direction. Thus, a plurality of reference sources may be used to calculate respective offset values for the frequency or phase of the local oscillator. The results achieved using the plurality of reference sources can be combined by averaging or any other mathematical technique as would occur to a person skilled in the art.

This approach can dramatically improve the stability of the frequency reference provided by the local oscillator in a positioning system. By calculating or estimating an offset (or a time series of offsets) to the local oscillator over the time period corresponding to the period of coherent integration of the received signal, it may be possible to provide coherent integration of received signals over periods of more than one second.

The receiver is free to move in its environment and still provide an offset to the local oscillator frequency. Preferably the measured or assumed movement of the receiver is variable in at least the first reference direction. The receiver may be stationary in the first reference direction for periods. However, this is not at all necessary for effective operation of the invention. The receiver is preferably free to move such that it is not fixed in position in its environment.

The local oscillator offset determination module is preferably configured to calculate a plurality or sequence of offsets to the received frequency or the received phase, as a function of time. Thus, the local oscillator offset determination module can calculate a vector that may include thousands of offset values that can represent changes in the behaviour of the local oscillator over time. This can allow the removal of errors that are due to a local oscillator with a varying frequency offset that changes in an unpredictable manner over the period of time required for coherent integration of a positioning signal.

Preferably the positioning system includes an inertial sensor configured to provide a measured movement of the positioning device in the first direction.

Advantageously the positioning system further comprises a motion compensation unit configured to provide motion compensation of at least one of the first local signal, the first positioning signal, and the first correlation signal based on the measured or assumed movement of the receiver in the first positioning direction.

In this way motion compensation can be applied to the first positioning signal, the local signal, or a combination thereof before the signals are correlated. Motion compensation may also be applied to the correlation signal, following correlation. By providing motion compensation in the first positioning direction, which extends between the receiver and the first positioning source, it is possible to achieve preferential gain for signals received along this direction. Thus, a line-of-sight signal between the receiver and the first positioning source will receive gain preferentially over a reflected signal that is received in a different direction. In a GNSS receiver this can lead to a remarkable increase in positioning accuracy because non-line-of-sight signals (e.g. reflected signals) are significantly suppressed. The strongest correlation may be achieved for the line-of-sight signal, even if the absolute power of this signal is less than that of a non-line-of-sight signal.

The first reference source may be a terrestrial transmitter. For example, the first remote source may be a cellular transmitter or DAB, DVB-T or analogue broadcasts. Importantly, the first reference source should have a stable and predictable frequency or phase. The local oscillator in the first reference source should, at least, be more stable than the local oscillator in the positioning system.

The first reference source may be a first satellite. The satellite may be a GNSS satellite, which has an atomic local oscillator with high stability.

The positioning system may comprise a reference source selection module configured to select the first reference source based on a determination that a direct line of sight is likely to be provided between the receiver and the first reference source. A plurality of reference sources may be available, and a number of these reference sources may be capable of operating as the first reference source. By selecting a reference source that has an unobstructed line of sight path to the receiver the received first reference signal is not adversely affected by reflections or other effects that could introduce an error to the frequency or phase, which may not be quantifiable.

The reference source selection module may be configured to select the first reference satellite based on a comparison of its elevation angle with a threshold. Preferably satellites are selected only if they have high elevation angles from the perspective of the receiver. In certain circumstances, satellites with particular elevation angles are more likely to have a direct line of sight with the receiver. This is especially important in challenging positioning environments such as urban canyons. In these environments, satellites with high elevation angles may be preferred as frequency references in comparison to terrestrial transmitters, the signals from which are more likely to be reflected before being received by a ground-level receiver. Satellite selection may also be performed based on a stored database including terrain profiles and building data, which may include information regarding building location, dimensions and construction materials, including locations of windows. This can allow the reference source selection module to select the first reference satellite if the first reference signal can be received along an unobstructed line of sight. For example, the reference source selection module may select a satellite with a low elevation angle if the building data in the stored database indicates that the relevant satellite can be viewed through a window along an unobstructed path that is not affected by any neighbouring buildings.

The motion module may be configured to identify a first time period based on measured movement of the receiver that corresponds to a time period of relative stability of the local oscillator. The motion module may be configured to identify a second time period based on measured movement of the receiver that corresponds to a time period of relative instability of the local oscillator. The correlation unit may be configured to provide the first correlation signal by correlating the first local signal with the first positioning signal, where the first local signal is provided during the first time period and the first positioning signal is received during the first time period. In this way, the correlated signals can be generated or received during time periods when the local oscillator is relatively stable. The correlation unit can therefore be inhibited during the second time period when the local oscillator is relatively unstable.

In one example the motion module may be configured to identify time periods corresponding to heel strikes in a receiver carried by a walking or running user. There may be high accelerations and high forces on the receiver during these time periods, which can cause temporary instabilities such that the local oscillator is less reliable. By identifying these time periods signal correlation can be performed for signals that are coherently integrated between heel strikes, and between periods of relative instability in the local oscillator. Of course, this can be applied during other periods in which the local oscillator is subject to shock. Thus, the second time period may correspond to measured movements of the receiver having an acceleration that is above a threshold value.

The positioning system may include at least two receivers. For example, the positioning system may be provided in a vehicle having a pair of antennas that are connected to separate receivers using the same local oscillator. One or both of the receivers may be used to receive the first reference signal from the first reference source in order to provide the correction to the frequency or phase of the local oscillator. In this arrangement it is possible that the correction could be applied to the local oscillator based on positioning signals received by one receiver. The corrected local oscillator signal could then be used for the correlation of a positioning signal received by the other receiver with a local signal. Such an arrangement is possible because the receivers share a single local oscillator.

According to another aspect of the present invention there is provided a method according to claim <NUM>.

According to yet another aspect of the invention there is provided a computer readable medium according to claim <NUM>.

The computer readable medium may be provided at a download server. Thus, the executable instructions may be acquired by the positioning system by way of a software upgrade.

A received positioning signal may include any known or unknown pattern of transmitted information, either digital or analogue, that can be found within a broadcast positioning signal by a cross-correlation process using a local copy of the same pattern. The received signal may be encoded with a chipping code that can be used for ranging. Examples of such received signals include GPS signals, which include Gold Codes encoded within the radio transmission. Another example is the Extended Training Sequences used in GSM cellular transmissions.

Conventionally phase changes in the received positioning signal caused by changes in the line-of-sight path between the receiver and the remote source were viewed as a nuisance that reduced positioning accuracy. The counter-intuitive approach of motion compensation can actually take advantage of these phase changes to improve identification of the line-of-sight signal from a positioning source.

The motion compensation unit can provide motion compensation to the local signal so that it more closely matches the received positioning signal. In another arrangement inverse motion compensation may be applied to the received positioning signal to reduce the effect on the received signal of the motion of the receiver. Similar results may be achieved by providing partial motion compensation to both the local signal and the received positioning signal. These techniques allow relative motion compensation to be applied between the local signal and the received positioning signal. In some embodiments motion compensation may be performed in parallel with correlation. Motion compensation can also be applied to the correlation signal directly.

In practice the received positioning signal may be processed as a complex signal, including in-phase and quadrature components. The local signal may be similarly complex. The correlation unit may be arranged to provide a correlation signal which may also be complex and which can be used as a measure of the correlation between these complex signals.

It may be possible to achieve high positioning accuracy by providing motion compensation of at least one of the local signal and the received positioning signal based on the measured or assumed movement in the first positioning direction. In practice, when applied to GNSS signals, the local and received signals may be encoded with a code which repeats periodically. For the GPS L1 C/A codes for example the local and received signals can include <NUM> pseudorandom number code chips. The local and received signals may be analogue waveforms which may be digitised to provide values at the radio sampling rate, which means there may be millions of values over a <NUM> time period. The correlation between the local signal digital values and the received signal digital values may be calculated, having first corrected either set of values using a motion compensation vector for the relevant time period. These data points may then be summed over the time period. In practice this can produce an accurate result because it works at the radio sampling frequency, although it may be computationally intensive.

A lower positioning accuracy may be achieved by providing motion compensation of the correlation signal. In the above example, when applied to the GPS L1 C/A codes, the correlation may be performed independently on each of the ~<NUM> pseudorandom number code chips to produce ~<NUM> complex correlator signal outputs. The motion compensation vector can then be applied to these ~<NUM> correlation signal components. Finally, the motion compensated correlation signal can be summed to produce a measure of the correlation. Thus, motion compensation of the correlation signal may produce an approximation of the result that can be achieved by motion compensation of the local signal and the received signal. However, for some applications the loss in accuracy may be negligible, and may be accepted because it enables a reduction in computational load.

The receiver may comprise an antenna and electronics for processing the received signal. Preferably the motion module is configured to provide a measured or assumed movement of the antenna.

The positioning system may be provided on a single positioning device. Various calculation modules in the positioning system could be provided separately so that the positioning system is distributed. For example, certain calculations, such as the calculations performed by the motion compensation unit and/or the correlation unit may be undertaken by processors in a network. Thus, an electronic user device may offload calculations to other processors in a network where appropriate in the interest of efficiency.

In a preferred arrangement the system includes a GNSS positioning device. Positioning using GNSS positioning devices produces a number of difficulties indoors, where signals are weak, and in urban canyons, where there can be multipath signals. By allowing for phase change in the received positioning signal by virtue of the receiver's motion in the direction of the remote source, the correlation can be improved. It may also be possible to increase the coherent correlation period, in effect providing preferential gain for line-of-sight signals. The GNSS positioning device may be provided in an electronic user device such as a smartphone.

Preferably the device includes a processor configured to determine the first positioning direction to the known or estimated position of the positioning source and a measured or assumed position of the receiver. In some arrangements the measured or assumed position of the receiver may be fairly crude. For example, the city or region of the receiver may be known based on terrestrial radio signals or the last-known-position. The reference or positioning source may be a GNSS satellite with a known position based on broadcast ephemeris. A significant improvement in positioning accuracy of the receiver can then be achieved by providing preferential gain for the line-of-sight signal. If the received signal contains modulated data, such as the GNSS bits, then preferably these are predicted or provided, aligned, and removed for example by using standard assistance techniques available to cellular network providers. The inertial sensor may comprise at least one accelerometer. In addition, the motion module may comprise a barometric sensor for indicating the receiver's height above sea level, a geomagnetic sensor for indicating a receiver's bearing, and other motion sensors as would be understood by a person skilled in the art.

The motion compensation unit may be configured to provide motion compensation of at least one of the local signal, the received positioning signal and the correlation signal, based on a plurality of vectors that are derived from the measured or assumed movement in the first direction. In this context the vectors are like a matrix column, representing a number of values. The plurality of vectors may be a sequence of phase vectors, or phasors which are 2D phase vectors indicative of amplitude and phase changes introduced into the received signal by the measured or assumed movement of the receiver. Phasors generally comprise at least amplitude and an angle that describe the measured or assumed movement of the receiver in the first direction. The plurality of vectors may be combined with the at least one of the local signal, the received signal and the correlation signal in the motion compensation device to provide relative motion compensation between the local and received signals.

The plurality of vectors may be indicative of the measured or assumed movement in the first positioning direction as a function of time. Thus, the plurality of vectors may reflect a detailed movement of the receiver in time. For example, the plurality of vectors may reflect movement of the receiver while it rests in a user's pocket while jogging, walking, running or undergoing some other repetitive motion. In this example the receiver may execute a cyclical motion with peaks in acceleration corresponding to each heel strike.

The device may include a memory configured to store a parameter or set of parameters related to the motion compensation provided for the at least one of the local signal, the received positioning signal and the correlation signal at a first time. At a second time, the motion compensation unit may be configured to provide motion compensation of at least one of the local signal, the received positioning signal and the correlation signal, based on the stored parameter or set of parameters. The stored parameter or set of parameter may be the motion compensated signal. Alternatively, the stored parameter or set of parameters may be a plurality of vectors that can be combined with the at least one of the local signal and the received positioning signal to produce the motion compensated signal.

Advantageously, the parameter or set of parameters can be stored based on the motion of the receiver at the first time. The parameter or set of parameters can then be re-used at the second time, if appropriate. In one example, the re-use of the parameter or set of parameters may be appropriate if the motion of the receiver at the second time is similar to the motion of the receiver at the first time.

Re-using the stored parameter or set of parameters can advantageously reduce computational load in comparison to a system where motion compensation is recalculated at every epoch. This can also decrease power consumption in the system, thereby improving battery life when the system is implemented on an electronic user device.

At the second time, the motion compensation unit may be configured to compare the measured or assumed movement of the receiver at the first time with a measured or assumed movement of the receiver at the second time and, based on the comparison, provide motion compensation of at least one of the local signal, the received positioning signal and the correlation signal, based on the stored parameter or set of parameters. The movement of the receiver is often highly similar in different time periods. In a car, speed and bearing may be similar over time periods separated by a few seconds, especially in motorway conditions. Similarly, when the receiver is held by a jogger it will typically have a predictable pattern of movement; if the speed and bearing of the user does not change, the pattern may be repeated in time periods separated by a few seconds or more. In these situations the comparison may indicate a substantial similarity between movement at the first time and movement at the second time. Thus, it may be efficient for the receiver to re-use parameters such as vectors or phasors that were calculated for the earlier epoch. These parameters may be used to provide effective motion compensation at the second time, while reducing computational load and preserving battery resources.

Features of the positioning system may be provided as method features and vice-versa.

Embodiments of the invention are now described, by way of example, with reference to the drawings, in which:.

<FIG> is a schematic view of a user <NUM> holding a positioning device <NUM> in an urban environment (to represent a challenging positioning environment). In this example the positioning device <NUM> can receive signals from first, second and third positioning satellites <NUM>, <NUM>, <NUM>. The positioning device <NUM> can also receive signals from a terrestrial transmitter <NUM>. The signal from the satellite <NUM> and the terrestrial transmitter <NUM> are received through buildings. These signals are attenuated by the material of the buildings, which means that the signal strengths can be low, especially for the signals received from the distant satellite <NUM>. In some instances the signal strengths may be too low for use in positioning calculations, unless the signals are integrated over a relatively long period of time (perhaps as much as <NUM> second, or longer). Received signals may also be subject to multipath, which represents an additional complication. In <FIG> the signals from satellites <NUM>, <NUM> can be received directly, along the line of sight, or reflected from a neighbouring building.

<FIG> is a schematic view of the positioning device <NUM> in an embodiment of the invention. In this example the positioning device <NUM> comprises a pair of antennas <NUM>, <NUM>. A single local oscillator <NUM> is provided which is generally simple and low cost.

For example, the local oscillator <NUM> may comprise a quartz crystal. The positioning device <NUM> also includes an inertial sensor <NUM>, which may include a plurality of separate motion sensors. Various modules are provided separately or together in a processor <NUM>. These modules may be provided in a single device or they may be provided in a distributed fashion across a network. The processor <NUM> includes a local signal generator <NUM>, a local oscillator offset determination module <NUM>, a reference source selection module <NUM>, a reference source motion determination module <NUM>, a correlator <NUM>, a motion compensation module <NUM>, a receiver motion determination module <NUM> and a positioning calculator <NUM>.

<FIG> is a flow diagram showing steps that can be undertaken in a positioning system in an embodiment of the invention. In use, at step S100, one of the antennas <NUM>, <NUM> receives a signal from one or more potential reference sources. The potential reference sources may be satellites <NUM>, <NUM>, <NUM> or terrestrial transmitters <NUM>. Importantly, the potential reference sources each have a highly stable local oscillator, which is at least more stable than the local oscillator <NUM> in the positioning device <NUM>.

At step S102 a reference source is selected, based on the received signals, using the reference source selection module <NUM>. In particular, the reference source selection module <NUM> selects a reference signal which is likely to satisfy a number of criteria relating to signal quality. A reference signal is selected if it has a signal strength above a minimum signal strength, is likely to be received along a direct line of sight (without reflections), and the relative motion between the reference source and the receiver is well known or estimated. These criteria may be satisfied by a terrestrial transmitter <NUM> or a satellite <NUM>, <NUM>, <NUM>. Where the reference source is a satellite, these criteria are more likely to be satisfied in particular scenarios with particular elevation angles. In <FIG> the satellites <NUM>, <NUM> are likely to be the best candidates for a reference source since they have high elevation angles, and signals can be received from them along unobstructed paths. These overhead satellites have motions with small components along the line of sight vector to the antenna <NUM>. Additionally, these satellites are more likely to present a direct line of sight and high signal strength to the antenna <NUM>. In one arrangement, the reference source selection module <NUM> only selects a satellite as a reference source if its elevation angle is above a threshold, which may be around <NUM> degrees.

The reference source selection module <NUM> may make use of information regarding position when selecting a reference signal. In one example, data may be determined that indicate that the user is positioned in an extreme urban environment, amidst very high buildings. This may be determined from, for example, cell tower positioning. In such a scenario the reference source selection module may provide a high threshold for the elevation angle of satellites, only selecting satellites if they have an elevation angle that is greater than around <NUM> degrees. In a different scenario data may indicate that the user is positioned in a suburban environment. The reference source selection module <NUM> may use this information to apply a lower threshold by selecting satellites that have an elevation angle that is greater than around <NUM> degrees.

In another arrangement, at step S102, the reference source selection module <NUM> can select a reference source while making use of three-dimensional map data. The three-dimensional map data may include information regarding mountains and other geographic features, as well as information regarding the shape and dimensions of buildings. The reference source selection module <NUM> can select a reference source that can provide a reference signal along an unobstructed path that does not intersect with any buildings or other features.

At step S104 the inertial sensor <NUM> provides a measured movement of the receiver <NUM>. At step S104, the motion of the receiver is determined in receiver motion determination module <NUM> using measurements made by the inertial sensor <NUM>, which may include measurements from a plurality of motion determination sensors. The inertial sensor <NUM> is fixed relative to the antenna <NUM>. Therefore, the measured movement of the inertial sensor <NUM> can be interpreted by the receiver motion determination module <NUM> as a measured movement of the antenna <NUM>. The receiver motion determination module <NUM> can determine a component of the measured movement that is in the direction of the selected reference source.

At step S106 the reference source motion determination module <NUM> determines the motion of the reference source. In particular, the reference source motion determination module <NUM> can determine the component of the motion of the reference source (which may be fixed on the ground) that is in the direction of the line of sight between the antenna <NUM>, <NUM> and the selected reference source.

The receiver motion determination module <NUM> and the remote source motion determination unit <NUM> can provide inputs to the local oscillator offset determination module <NUM>. In this way, the local oscillator offset determination module <NUM> can determine the relative movement of the receiver <NUM> and the selected reference source, along the vector that connects them. This can be determined initially based on a rough awareness of the location of the receiver <NUM> and the location of the reference source. The relative movement of the receiver <NUM> and the selected reference source can be improved once the location of the receiver and/or the selected reference source is known more accurately.

At step S108 the local oscillator offset determination module <NUM> can calculate the frequency or phase error that is introduced to the received reference signal <NUM>,<NUM>,<NUM>,<NUM> due to the relative movement of the reference source and the receiver <NUM>. The received reference signal is provided by the reference source at a known and stable frequency or phase. Therefore, once the Doppler error is removed, any remaining difference between the known frequency or phase of the reference source and the frequency or phase that is actually received can be attributed to an error in the frequency or phase reference provided by the local oscillator <NUM>. On this basis, the local oscillator offset determination module <NUM> is configured to calculate an offset to the frequency or phase reference provided by the local oscillator <NUM>.

At step S110 the local signal generator <NUM> generates a local signal using the frequency or phase reference provided by the local oscillator <NUM> together with the offset calculated by the local oscillator offset determination module <NUM>. In this way, the accuracy of the local oscillator <NUM> can be matched to the accuracy of the local oscillator of the reference source. Thus, the local signal can be provided with a greater stability. This improves the ability of the receiver <NUM> to integrate positioning signals coherently from satellites or other sources because these signals can be correlated against a local signal with a higher stability.

At step S112 the motion compensation module <NUM> is configured to provide motion compensation of at least one of the local signal and the received positioning signal.

This is achieved by using the receiver motion determination module <NUM> to provide the movement of the antenna <NUM>, <NUM> in the direction of the positioning source. If the positioning source is a GNSS satellite then the receiver motion determination module <NUM> provides the movement of the antenna <NUM> along the line of sight direction between the antenna and the satellite. In this way motion compensation can be applied to the received positioning signal, the local signal, or a combination thereof before the signals are correlated. Motion compensation may also be applied to the correlation signal, following correlation. By providing motion compensation in the direction which extends between the receiver and the positioning source it is possible to achieve preferential gain for signals received along this direction. Thus, a line-of-sight signal between the receiver and the positioning source will receive gain preferentially over a reflected signal that is received in a different direction. In a GNSS receiver this can lead to a remarkable increase in positioning accuracy and a better estimate of the signal phase because non-line-of-sight signals (e.g. reflected signals) are significantly suppressed. The highest correlation may be achieved for the line-of-sight signal, even if the absolute power of this signal is less than that of a non-line-of-sight signal.

At step S114 the correlator <NUM> is configured to correlate the local signal with a positioning signal received from a GNSS satellite <NUM>, <NUM>, <NUM> or other positioning source. A received positioning signal may include any known or unknown pattern of transmitted information, either digital or analogue. The presence of such a pattern can be determined by a cross-correlation process using a local copy of the same pattern (the local signal). The received positioning signal may be encoded with a chipping code that can be used for ranging. Examples of such received signals include GPS signals, which include Gold Codes encoded within the radio transmission. Another example is the Extended Training Sequences used in GSM cellular transmissions.

At step S116 the positioning calculator <NUM> is configured to output a position for the receiver <NUM>, based on the previous calculations. This can be achieved in the known way by establishing ranges to at least three positioning sources and using a mathematical filter to determine position. The position output by the receiver <NUM> can be used in a wide variety of applications, as is known in the art.

Advantageously the present techniques can allow the receiver <NUM> to integrate the received positioning signal over a long period of time, even though the receiver <NUM> is free to move within its environment. This is achieved by improving the stability of the local signal produced using the local oscillator <NUM> together with the offset calculated by the local oscillator offset determination module <NUM>. This can allow a received positioning signal to be integrated coherently over a period of <NUM> second or longer without introducing errors due to any inherent instability in the local oscillator <NUM>.

In one embodiment the inertial sensor <NUM> is arranged to measure an acceleration of the antenna <NUM>. If the acceleration of the antenna is determined to be above a threshold value then outputs from the receiver <NUM> can be inhibited. This is provided because it has been determined that the local oscillator <NUM> is especially unstable during periods of high acceleration such as may be experienced due to jolting movement. For a running or walking user these high accelerations may be experienced during heel strikes. Outputs from the receiver <NUM> can be provided for signals received between heel strikes, and outputs can be effectively inhibited for signals received during heel strikes. Effectively, this means that positioning signals are preferentially coherently integrated between heel strikes. This can improve the ability of the device to detect weak signals in an indoor environment. In another arrangement an additional local oscillator offset may be calculated based on the forces acting on the local oscillator <NUM>, rather than rejecting data from such periods. In some arrangements these forces may cause a predictable frequency offset, which can be applied at the local signal generator <NUM>.

The receiver <NUM> is provided with two antennas <NUM>, <NUM> in this embodiment. One or both of the antennas <NUM>, <NUM> may be used to receive the reference signal from the selected reference source. The offset calculated by the local offset calculator <NUM> could then be used to generate a local signal used for correlation against a positioning signal received from the other antenna <NUM>. This is possible because the two antennas <NUM>, <NUM> share a single local oscillator <NUM> which has a common offset.

In another arrangement, two separate receivers can be used. A first receiver can use a local oscillator signal provided by a second receiver, in place of its own local oscillator signal. Thus, the first receiver can rely on the local oscillator signals provided by the second receiver without needing to determine its own corrections. The first and second receivers may be co-mounted, or provided separately.

One form of noise that can arise in a communications channel arises from multi-path effects. A signal received at a receiver may have arrived at the receiver via multiple different paths each of which has different characteristics such as path length. The multi-path signals received are therefore generally received at different times and possibly with different attenuation characteristics and phase. Each multi-path signal may therefore act as noise in relation to each of the other multi-path signals. This can be a significant problem in circumstances where multi-path conditions are prevalent.

Even where multi-path conditions are not prevalent, noise can arise from other sources such as for example clock drift at a receiver, movement of the receiver causing Doppler shifts in frequency, and timing misalignment between a transmitter and the receiver, electromagnetic interference, and intentional jamming.

The signal may also be attenuated by the environment, for example obstructions in the propagation channel, degrading the signal to noise ratio of the received signal.

It would be desirable to improve correlation of a digital signal and a correlation code.

The inventors have realized that by performing a motion-compensated correlation it is possible to significantly improve the correlation of the received digital signal and a correlation code. By, for example, performing motion-compensated correlation along the direction of travel of a receiver, the correlation between received digital signals and the correlation code is significantly biased towards the correlation of a digital signal received along the direction of travel of the receiver and the correlation code. Therefore by compensating for movement of the receiver in a particular direction the gain of signals received from that particular direction is enhanced while the gain of signals received not from that direction (i.e. reflected signals arriving at the receiver from directions that are not toward the transmitter) is decreased. Therefore by performing motion-compensated correlation specifically along the line of sight vector from the receiver to the transmitter the signal to noise ratio of the received signals aligned with the direction of motion-compensation is increased, and the accuracy of the measurement of signal arrival time is improved. It is also possible, by performing the motion-compensated correlation to reduce or remove the effects of Doppler shift, including compensating for any motion of the transmitter.

The inventors have created a new type of motion-compensated correlation sequence (called a supercorrelator) that can be used to perform motion-compensated correlation. The motion-compensated correlation sequence may be stored and may be re-used.

A further advantage of using motion-compensated correlation is that longer correlation periods can be used to improve correlation gain. The use of longer correlation periods significantly improves the correlation gain and so makes the receiver significantly more sensitive.

A further advantage of motion-compensated correlation is the ability to perform long coherent integrations while the receiver is moving.

The following definitions will be used in this document:
A correlation code is a certain sequence of symbols that is known to have specific autocorrelation properties.

A correlation sequence is a sequence of symbols that is correlated with a digital signal during correlation. A symbol represents an integer number of one or more bits. The correlation sequence may be represented in the form of a sequence of real numbers, or a sequence of complex numbers.

Motion-compensated correlation is correlation that uses a motion-compensated correlation sequence.

A motion-compensated correlation sequence is a correlation sequence that has been phase-compensated in dependence upon movement (assumed or measured) of a receiver.

A motion-compensated correlation sequence is used in this document to refer to either a motion-compensated phasor sequence or a motion-compensated correlation code. In practice, the motion compensated correlation sequence is constructed using a motion-compensated phasor sequence.

A motion-compensated phasor sequence is a sequence of phasors that have been phase-compensated in dependence upon movement (assumed or measured) of a receiver.

A motion-compensated correlation code is a correlation code that has been compensated by a sequence of phasors that have been phase-compensated in dependence upon movement (assumed or measured) of a receiver. A motion-compensated correlation code may, for example, be formed by the combination of a correlation code and a motion-compensated phasor sequence.

The phase compensation may optionally also take into account any errors caused by instability of the local oscillator during the time period associated with the correlation sequence. The phase compensation may optionally also take into account the motion of the transmitters, for example in the case of satellite-based transmitters.

Motion compensation can be provided by direct measurements, modelling/predicting/estimating behaviour, or through indirect methods such as an optimisation process over a range of possible velocities.

Coherent integration is the summation of sequences of symbols in such a manner as to preserve the phase relationship of the input sequence throughout, such that sections of the sequence can be added together constructively in both amplitude and phase.

<FIG> illustrates an example of a system <NUM> for correlating a digital signal <NUM> and a correlation code <NUM>. The system <NUM> comprises a receiver system (receiver) <NUM> and processing system <NUM>.

The receiver <NUM> comprises an antenna or antennas <NUM> for receiving signals <NUM> to produce an analogue signal <NUM>. In this example, but not necessarily all examples, the analogue signal <NUM> is amplified by a pre-amplifier <NUM>, however this stage is optional. Next the analogue signal <NUM>, in this example but not necessarily all examples, is down-converted by down-converter <NUM> to a lower frequency analogue signal. However, this stage is also optional. The analogue signal <NUM> is then converted from analogue form to digital form by analogue to digital converter <NUM> to produce a digital signal <NUM>. This is the received digital signal. The received digital signal <NUM> is provided to processing system <NUM>.

The processing system <NUM> comprises a correlation system <NUM> and also, in this example but not necessarily all examples, comprises a control system <NUM>. The correlation system <NUM> correlates the received digital signal <NUM> with a correlation code <NUM>. The control system <NUM>, if present, may be used to control the correlation system <NUM>.

<FIG> illustrates an example of the processing system <NUM> for correlating a digital signal <NUM> and a correlation code <NUM>. This example does not use motion-compensated correlation based on a motion-compensated correlation sequence and is intended to demonstrate the difference between motion-compensated correlation using a motion-compensated correlation sequence and correlation that is not motion-compensated because it does not use a motion-compensated correlation sequence.

Initially a phase-adjustment module <NUM> adjusts the phase of the received digital signal <NUM>. This phase adjustment produces an in-phase digital signal (I) and a quadrature phase digital signal (Q). These complex digital signals are provided to a correlation module <NUM> which correlates the phase-adjusted digital signals with a correlation code <NUM>. The results of the correlation module <NUM> are output from the correlation system <NUM> to the control system <NUM>. The control system <NUM> uses the results of the correlation to provide a closed loop phase adjustment signal <NUM> to the phase adjustment module <NUM> and to provide a closed loop code adjustment signal <NUM> to a code generation module <NUM> used to produce the correlation code <NUM>.

Code-phase alignment may be achieved by adjusting the correlation code <NUM> using the closed loop code adjustment signal <NUM> which may, for example, form part of a delay locked loop. Carrier-phase alignment may be achieved by adjusting the phase of the received digital signal via the closed loop phase adjustment signal <NUM> which may be part of a phase locked loop.

While signal to noise levels are sufficiently high and a lock of the closed control loops is maintained, the closed control loops automatically compensate for Doppler shift arising from relative movement between the antenna <NUM> and a source of the received digital signals <NUM>. However, "lock" may be absent during an acquisition phase, or lost due to temporary signal loss or due to low signal to noise levels, for example.

The inventors have developed a new processing system <NUM>, illustrated in <FIG> that is suitable for use in a system as illustrated in <FIG>.

The new processing system provides improved correlation of the received digital signal <NUM> and a correlation code <NUM> by using motion-compensated correlation based upon a motion-compensated correlation sequence.

It should be appreciated that the processing system <NUM> of <FIG>, in contrast to the processing system <NUM> of <FIG>, uses open loop control <NUM> to produce a motion-compensated correlation code <NUM> used in a correlator <NUM> to correlate with the received digital signal <NUM>.

The processing system <NUM> illustrated in <FIG> may, for example, be a permanent replacement to the processing system <NUM> illustrated in <FIG> or may be used on a temporary basis as an alternative to the processing system <NUM> illustrated in <FIG>.

The open loop control <NUM> of the processing system <NUM> in <FIG> is based upon an assumed or measured movement <NUM> of the receiver <NUM> and is not based upon feedback (closing the loop) from the results of any correlation.

The processing system <NUM> for motion-compensated correlation of a received digital signal <NUM> and a correlation code <NUM> may be used for a number of different applications. It may, for example, be used for time and/or frequency synchronization and/or channel estimation and/or channel separation.

The correlation code <NUM> used may be application-specific. For example, where the processing system <NUM> is part of a direct sequence spread spectrum communication system such as a CDMA mobile telecommunications receiver, the correlation code (chipping code) is a pseudo-random noise code. For example, if the receiver <NUM> is a receiver for a global navigation satellite system (GNSS) the correlation code is a pseudo-random noise code, for example, a Gold code. For example, if the receiver <NUM> is a receiver for a communication system, the correlation code may be a training or pilot symbol sequence such as those used in orthogonal frequency division multiplexing (OFDM), long term evolution (LTE) and digital video broadcasting (DVB) standards.

In some examples, the correlation code <NUM> may be dependent upon an identity of a transmitter of the digital signal <NUM> separating the communication channel into different code divided channels via code division multiple access.

In some circumstances the digital signal <NUM> is modulated with data, for example navigation bytes in a GNSS system. However, in other examples the digital signal <NUM> is not modulated with data such as, for example, when it is a training or pilot sequence.

<FIG> illustrates an example of a correlation system <NUM> suitable for use in a processing system <NUM> of a system <NUM> for motion-compensated correlation of a digital signal <NUM> and a correlation code <NUM>. The motion-compensated correlation system <NUM> provides a motion-compensated correlator <NUM> comprising a correlator <NUM> and a motion-compensated correlation sequence generator <NUM>.

A receiver-motion module <NUM> which may or may not form part of the motion-compensated correlator <NUM> provides a movement signal <NUM>, indicative of movement of the receiver <NUM>, to the motion-compensated correlation sequence generator <NUM>.

The motion-compensated correlation sequence generator <NUM> comprises a motion-compensated phasor generator <NUM> which receives the movement signal <NUM> and produces a motion-compensated phasor sequence <NUM>.

The motion-compensated correlation sequence generator <NUM> additionally comprises a correlation code generator <NUM> which produces a correlation code <NUM>.

The motion-compensated correlation sequence generator <NUM> additionally comprises a combiner (mixer) <NUM> which combines the motion-compensated phasor sequence <NUM> and the correlation code <NUM> to produce a motion-compensated correlation code <NUM>, as shown in <FIG>. An alternative technique for combining these signals is shown in <FIG>.

The motion-compensated correlation code <NUM> is provided by the motion-compensated correlation sequence generator <NUM> to the correlator <NUM> which correlates the motion-compensated correlation code <NUM> with the received digital signal <NUM> to produce the correlation output <NUM>.

The motion-compensated correlator <NUM> comprises an open loop <NUM> from the receiver-motion module <NUM> through the motion-compensated correlation sequence generator <NUM> to the correlator <NUM>. There is no feedback resulting from the correlation output <NUM> to the motion-compensated correlation sequence generator <NUM> and it is therefore an open loop system.

It will therefore be appreciated that the correlator <NUM> performs the following method: correlating a digital signal <NUM> provided by a receiver <NUM> with a motion-compensated correlation code <NUM>, wherein the motion-compensated correlation code <NUM> is a correlation code <NUM> that has been compensated before correlation using one or more phasors dependent upon an assumed or measured movement of the receiver <NUM>. The correlation code <NUM> is compensated for movement of the receiver <NUM> before correlation by combining the correlation code <NUM> with the motion-compensated phasor sequence <NUM>. The motion-compensated phasor sequence <NUM> is dependent upon an assumed or measured movement of the receiver <NUM> during the time that the receiver <NUM> was receiving the digital signal <NUM>.

It will therefore be appreciated that the motion-compensated correlation sequence generator <NUM> causes correlation of a digital signal <NUM> provided by a receiver <NUM> with a motion-compensated correlation code <NUM>, wherein the motion-compensated correlation code <NUM> is a correlation code <NUM> that has been compensated before correlation using one or more phasors dependent upon an assumed or measured movement of the receiver.

The use of an open loop <NUM> for controlling the motion-compensated correlation has advantages, for example, it is fast because the control is not based upon the result of a preceding correlation. The use of the open loop control to perform motion-compensated correlation enables the correlator <NUM> to operate in situations where there is a low signal to noise ratio.

Although in <FIG> receiver-motion module <NUM>, the motion-compensated correlation sequence generator <NUM> and the correlator <NUM> are illustrated as part of the motion-compensated correlator <NUM>, in other examples only the correlator <NUM> may be part of the correlation system with the motion-compensated correlation code <NUM> being provided to the motion-compensated correlator <NUM> by a motion-compensated correlation system generator <NUM> that is not part of motion-compensated correlator <NUM>. In other examples, only the correlator <NUM> and the motion-compensated correlation sequence generator <NUM> may be part of the motion-compensated correlator <NUM> with the receiver-motion module <NUM> providing the movement signal <NUM> to the motion-compensated correlator <NUM>.

Although in this example, the motion-compensated correlation sequence generator <NUM> is illustrated as a single entity comprising the motion-compensated phasor generator <NUM>, the correlation code generator <NUM> and the combiner (mixer) <NUM>, it should be understood that these may be components distinct from the motion-compensated correlation sequence generator <NUM> or combined as components other than those illustrated within the motion-compensated correlation sequence generator <NUM>.

It will be appreciated by those skilled in the art that the motion-compensated correlator <NUM> illustrated in <FIG> is a significant and remarkable departure from what has been done before in that it adopts a counter-intuitive approach by modifying the correlation code <NUM> before correlation even though those correlation codes <NUM> may have been carefully designed for excellent cross-correlation results.

The motion-compensated correlator <NUM> illustrated in <FIG> may be permanently functional or may be temporarily functional. For example it may be functional during a satellite acquisition phase in a GNSS receiver, and/or when there is signal loss and/or when there are low signal to noise levels for example. The motion-compensated correlator <NUM> may preserve the phase coherence of the digital signal <NUM>, thus allowing longer coherent integration times.

<FIG> illustrates an example of the motion-compensated correlator <NUM> illustrated in <FIG>. This figure illustrates potential sub-components of the correlator <NUM>, and the motion-compensated correlation sequence generator <NUM>.

In this example the motion-compensated phasor generator <NUM> produces a motion-compensated phasor sequence <NUM> that comprises an in-phase component I and a quadrature phase component Q. Both of the in-phase component I and the quadrature phase component Q are mixed <NUM> with the same correlation code <NUM> produced by the code generator <NUM> to produce as the motion-compensated correlation code <NUM> an in-phase component I and a quadrature phase component Q. The correlator <NUM> mixes <NUM> the in-phase component of the motion-compensated correlation code <NUM> with the received digital signal <NUM> and performs an integration and dump <NUM> on the result to produce an in-phase correlation result <NUM>. The correlator <NUM> mixes <NUM> the quadrature phase motion-compensated correlation code <NUM> with the same received digital signal <NUM> and performs an integration and dump <NUM> on the result to produce the quadrature phase correlation result <NUM>.

It is important to note that the production of in-phase and quadrature phase signals occurs within the motion-compensated correlation code generator <NUM> when the motion-compensated phasor sequence <NUM> is produced. The combination (mixing) of the motion-compensated phasor sequence <NUM> with the correlation code <NUM> produces the motion-compensated correlation code <NUM> which is correlated with the received digital signal <NUM> to produce the correlation output <NUM>.

The integration performed within the correlator <NUM> produces a positive gain for those received digital signals <NUM> correlated with the movement signal <NUM> used to produce the motion-compensated phasor sequence <NUM>. Those received digital signals <NUM> that are not correlated with the movement signal <NUM> used to produce the motion-compensated phasor sequence <NUM> have a poor correlation with the motion-compensated correlation code <NUM>. There is therefore a differential gain applied by the motion-compensated correlator <NUM> to received digital signals <NUM> that are received in a direction aligned with the movement of the movement signal <NUM> used to produce the motion-compensated phase sequences <NUM> (increased gain) compared to those received digital signals <NUM> that are received in a direction not aligned with the movement of the movement signal <NUM>. It will therefore be appreciated that the motion-compensated correlator <NUM> significantly improves correlation performance in multi-path environments.

<FIG> schematically illustrates an example of a method <NUM> performed by the motion-compensated phasor generator <NUM>. At block <NUM>, a velocity is determined. This velocity may be determined by the motion-compensated phasor generator <NUM> from the movement signal <NUM> provided by the receiver-motion module <NUM> or it may be provided by the receiver-motion module <NUM>. The velocity is the velocity of the receiver <NUM> when receiving the digital signal <NUM> that is to be correlated. The velocity may be aligned along a particular direction for example a line of sight to a transmitter or a direction in which a strong signal is expected. At block <NUM> a Doppler frequency shift is calculated using the velocity v to determine a Doppler frequency shift. At block <NUM>, the Doppler frequency shift is integrated over time to determine a phase correction value ΔΦ(t). A phasor X(t) is determined at block <NUM> according to the formulation exp(iΔΦ(t)).

By performing the method <NUM> for each time period tn, corresponding to the sampling times of the digital signal <NUM> provided by the receiver <NUM>, it is possible to generate a sequence of phasors {X(tn)}. Each phasor has the same duration as a sample of the digital signal <NUM> and there is the same number of phasors X(tn) in a motion-compensated phasor sequence <NUM> as there are samples of the digital signal <NUM> and samples of a correlation code <NUM>. The correlation code <NUM> may be a series of sequential correlation code words, concatenated to match the duration of the digital signal <NUM> and the motion-compensated phasor sequence <NUM>. Each phasor X(t) represents a phase compensation based upon the motion of the receiver at time t that is applied to a corresponding sample of the correlation code <NUM>. In this way, the correlation code <NUM> becomes motion- compensated when the correlation code <NUM> is combined with the motion-compensated phasor sequence <NUM>.

A phasor X(t) is a transformation in phase space and it is complex valued, producing the in-phase component of the motion-compensated phasor sequence <NUM> via its real value and the quadrature phase component of the motion-compensated phasor sequence <NUM> via its imaginary value. The phasor X(t) is a cyclic phasor and may be expressed in a number of different ways, for example as a clockwise rotation from the real axis or as an anti-clockwise rotation from the imaginary axis. Although in this example, the phasor X(t) has a constant amplitude within the motion-compensated phasor sequence <NUM>, in other examples, the phasor may represent both a rotation and a change in amplitude instead of just a rotation. However, in other examples, such as the one illustrated, the phasor is for rotation only.

<FIG> illustrate an example of a motion-compensated correlation sequence storage system <NUM> during a write operation (<FIG>) and during a read operation (<FIG> illustrates a method <NUM> performed by the motion-compensated correlation sequence storage system <NUM>. The motion-compensated correlation sequence storage system <NUM> comprises a storage control module <NUM> which is configured to write to and read from an addressable memory <NUM>. The addressable memory <NUM> may, in some examples, be part of the motion-compensated correlation sequence storage system <NUM> and in other examples it may be separate from the motion-compensated correlation sequence storage system <NUM>.

In <FIG>, the storage control system <NUM> receives a movement signal <NUM> and a motion-compensated correlation sequence <NUM>. The storage control system <NUM> stores the motion-compensated correlation sequence <NUM> in the addressable memory <NUM> in a data structure <NUM> that is indexed by the movement signal <NUM>. That is, an index dependent upon the movement signal <NUM> may be used to access and retrieve the motion-compensated correlation sequence <NUM> from the addressable memory <NUM>.

It will be appreciated that <FIG> illustrates a write operation where the storage control system <NUM> writes the motion-compensated correlation sequence <NUM> to a memory so that it can be accessed at any later time via an index dependent upon the motion information <NUM> that corresponds to the motion index associated with the stored motion-compensated correlation sequence <NUM>.

<FIG> illustrates an example of a read access performed by the storage control system <NUM>. The storage control system <NUM> in this example receives movement signal <NUM> and uses this to produce an index <NUM> that is sent to the addressable memory <NUM>. If the addressable memory <NUM> stores a data structure <NUM> that is associated with the received index then it returns that motion-compensated correlation sequence <NUM> via a reply signal <NUM> to the storage control system <NUM>. The storage control system <NUM> provides the returned motion-compensated correlation sequence <NUM> to the motion-compensated correlation sequence generator <NUM> which uses the returned motion-compensated correlation sequence to provide a motion-compensated correlation code <NUM>.

It should be appreciated that in some instances the motion-compensated correlation sequence may be a motion-compensated phasor sequence <NUM>.

It should be appreciated that in some examples the motion-compensated correlation sequence may be a motion-compensated correlation code <NUM>.

<FIG> illustrates an example of a method <NUM> in which at a first time, at block <NUM>, the method <NUM> stores a motion-compensated correlation sequence in an addressable memory <NUM>. Then, at a later time, at block <NUM>, the method <NUM> causes addressing of the memory to obtain the stored motion-compensated correlation sequence; and then at block <NUM>, the method <NUM>, causes motion-compensated correlation of a correlation code and a digital signal using the obtained motion-compensated correlation sequence <NUM>.

The motion-compensated correlation sequence <NUM> is a correlation sequence that has been phase-compensated in dependence upon movement (assumed or measured) of the receiver <NUM>. The motion-compensated correlation sequence <NUM> may be a motion-compensated phasor sequence <NUM> comprising a sequence of phasors that have been phased-compensated in dependence upon movement (assumed or measured) of the receiver <NUM>. The motion-compensated correlation sequence <NUM> may be a motion-compensated correlation code <NUM> being a correlation code <NUM> that has been compensated by a sequence of phasors that have been phased-compensated in dependence upon movement (assumed or measured) of the receiver <NUM>.

In this example, the motion-compensated correlation sequence <NUM> is stored within a data structure <NUM> in the memory <NUM>. In some examples the data structure <NUM> may be generated by the motion-compensated correlation sequence generator <NUM> and provided to the motion-compensated correlation sequence storage system <NUM> for storage in accordance with the example illustrated in <FIG>. However, it is possible for the motion-compensated correlation storage system <NUM> to obtain the data structure <NUM> via a different mechanism. For example, the data structure <NUM> may be provided separately or pre-stored within the storage control system <NUM> or memory <NUM>.

The data structure <NUM> is an addressable data structure addressable for read access using a motion-dependent index as described in relation to <FIG>. Where the data structure <NUM> comprises a motion-compensated correlation sequence <NUM> that is a motion-compensated correlation code <NUM>, then the motion-compensated correlation code <NUM> may be based upon a reference or standard correlation code, for example, produced by a defined process, e.g. a Gold code or Barker code with defined cross-correlation characteristics. The reference or standard correlation code has been combined with a motion-compensated phasor sequence <NUM> to produce the motion-compensated correlation code <NUM>.

<FIG> illustrates an example of a motion-compensated correlation sequence (MCCS) re-use system <NUM>.

The MCCS re-use system <NUM> receives as an input the movement signal <NUM> which is used to determine whether a current in use motion-compensated correlation sequence <NUM> should be re-used for motion-compensated correlation of a received digital signal <NUM> (re-use current MCCS block <NUM>), and/or whether a previously used/stored motion-compensated correlation sequence <NUM> should be re-used/used for motion-compensated correlation of a received digital signal <NUM> (MCCS access block <NUM>) and/or whether a new motion-compensated correlation sequence <NUM> should be generated for motion-compensated correlation of a received digital signal <NUM> (MCCS generation block <NUM>) and/or whether motion-compensated correlation of a received digital signal <NUM> should be suspended (MCCS suspend block <NUM>).

The MCCS re-use system <NUM> determines if and what motion-correlation should be performed on a received digital signal <NUM> using the movement signal <NUM> which indicates movement of the receiver <NUM> while it was receiving the digital signal <NUM> that is to be correlated.

While in this example the MCCS re-use system <NUM> comprises a re-use current MCCS block <NUM>, a MCCS access block <NUM>, a MCCS generation block <NUM> and a MCCS suspend block <NUM>, in some examples, the MCCS re-use system <NUM> comprises mores blocks. In some examples, the MCCS re-use system <NUM> comprises only a sub-set of the blocks <NUM>, <NUM>, <NUM>, <NUM>, which may be any sub-set of one or more blocks <NUM>, <NUM>, <NUM>, <NUM>.

The MCCS re-use system <NUM> processes the movement signal <NUM> in MCCS re-use control block <NUM> to perform one or more tests to determine which of the blocks <NUM>, <NUM>, <NUM>, <NUM> should be used. For example the MCCS re-use control block <NUM> may perform a receiver-movement analysis test to determine which of the blocks <NUM>, <NUM>, <NUM>, <NUM> should be used. For example the re-use control block <NUM> may perform a receiver-movement comparison test comparing the movement of the receiver <NUM> represented by the input movement signal <NUM> with a previous movement of the receiver associated with a motion-compensated correlation sequence <NUM> to determine which of the blocks <NUM>, <NUM>, <NUM>, <NUM> should be used.

In some but not necessarily all examples, if the input movement signal <NUM> is determined to represent an assumed or measured movement of the receiver <NUM> that is the same as or corresponds to the immediately preceding movement of the receiver <NUM> then it may be determined by the re-use control block <NUM> that the trajectory of the receiver <NUM> is invariant (repeated) and the currently used motion-compensated correlation sequence <NUM> may be re-used via the re-use current MCCS block <NUM>.

In some but not necessarily all examples, if the input movement signal <NUM> is determined to represent an assumed or measured movement of the receiver <NUM> that is the same as or corresponds to an assumed or measured movement of the receiver <NUM> for which there exists a stored motion-compensated correlation sequence <NUM> associated with that receiver movement then it is determined by the MCCS re-use control block <NUM> that there is a receiver trajectory for which there exists a stored motion-compensated correlation sequence <NUM> and that stored motion-compensated correlation sequence <NUM> is accessed in the addressable memory <NUM> and used via the MCCS access block <NUM>. The accessed stored motion-compensated correlation sequence <NUM> may be a previously used and/or previously generated motion-compensated correlation sequence <NUM>.

The MCCS re-use control block <NUM> may determine that it is not desirable or possible to use a current/previous/stored motion-compensated correlation sequence <NUM>. For example, the MCCS re-use control block <NUM> may determine not to use the re-use current MCCS block <NUM> and not to use the MCCS access block <NUM>.

If the MCCS re-use control block <NUM> determines that it is still desirable to use motion-compensated correlation then the MCCS re-use control block <NUM> causes generation of a new motion-compensated correlation sequence <NUM> via the MCCS generation block <NUM>. The newly generated motion-compensated correlation sequence <NUM> is then used for motion-compensated correlation and may, in addition, be stored for future access by the motion-compensated correlation sequence storage system <NUM> as previously described.

If, however, the MCCS re-use control block <NUM> determines that conditions are not suitable for motion-compensated correlation, then motion-compensated correlation is suspended at the MCCS suspend block <NUM> and correlation is performed between the received digital signal <NUM> and the correlation code <NUM> without the use of a motion-compensated phasor sequence <NUM> determined from assumed or measured movement of the receiver <NUM> via open loop control <NUM>.

<FIG> illustrates a method <NUM> comprising at block <NUM>, causing or performing correlation of a first digital signal <NUM>, received by a receiver <NUM> during a first time, with a first motion-compensated correlation sequence <NUM> dependent upon a first assumed or measured movement of the receiver <NUM> during the first time; and
at block <NUM> causing or performing correlation of a second digital signal <NUM>, received by a receiver <NUM> during a second time, non-overlapping with the first time, with the first motion-compensated correlation sequence.

A second assumed or measured movement of the receiver <NUM> during the second time may be used to access the first motion-compensated correlation sequence <NUM> from an addressable memory <NUM>.

In another example, the method <NUM> may at block <NUM> additionally comprise: causing or performing correlation of a third digital signal <NUM>, received by the receiver <NUM> during the third time, non-overlapping with the first time and the second time, with the accessed first motion-compensated correlation sequence (block <NUM> or block <NUM> in <FIG>). The method <NUM> may comprise causing or performing use of a third assumed or measured movement of a receiver <NUM> during the third time to access the first motion-compensated correlation sequence from an addressable memory (block <NUM> in <FIG>).

In another example, the method <NUM> may at block <NUM> comprise: causing or performing correlation of a third digital signal <NUM>, received by the receiver <NUM> during a third time, non-overlapping with the first time and the second time, with a second motion-compensated correlation sequence <NUM> different to the first motion-compensated correlation sequence <NUM> and dependent upon an assumed or measured movement of the receiver <NUM> during the third time (block <NUM> or block <NUM> in <FIG>). The method <NUM> may comprise causing or performing generation of the second motion-compensated correlation sequence <NUM> dependent upon an assumed or measured movement of a receiver during the third time (block <NUM> in <FIG>).

The method <NUM> may comprise causing or performing a comparison test comparing the first assumed or measured movement and the third assumed or measured movement of the receiver <NUM>. When it is determined that the first movement and the third movement pass a comparison test, the method <NUM> may cause or perform correlating the third digital signal, received at the receiver during the third time, with the first motion-compensation sequence. When it is determined that the first movement and the third movement do not pass a comparison test, the method <NUM> may cause or perform correlating the third digital signal, received at the receiver during the third time, with the second motion-compensation sequence.

The method <NUM> may comprise causing or performing a comparison test comparing the first assumed or measured movement and a fourth assumed or measured movement of the receiver during a fourth time during which a fourth digital signal <NUM> is received (not shown in <FIG>). When it is determined that the first movement and the fourth movement do not pass a comparison test, the method <NUM> may cause or perform correlating the fourth digital signal with a motion-compensated correlation sequence dependent upon the fourth movement or with the correlation code <NUM>. When it is determined that the first movement and the fourth movement pass a comparison test, the method <NUM> may cause or perform correlating the fourth digital signal with the first motion-compensated correlation sequence.

Where the first motion-compensated correlation sequence <NUM> is a first motion-compensated correlation code <NUM>, that is a correlation code <NUM> compensated by a first motion-compensated phasor signal, the second motion-compensated correlation sequence <NUM> may be the same correlation code <NUM> compensated by a second, different motion-compensated phasor signal.

Where the first motion-compensated correlation sequence <NUM> is a first motion-compensated phasor sequence <NUM>, the second motion-compensated correlation sequence <NUM> is a second, different motion-compensated phasor sequence. However, the first motion-compensated phasor sequence <NUM> and the second motion-compensated phasor sequence <NUM> may be used to compensate the same correlation code <NUM> to produce different motion-compensated correlation codes <NUM>.

In this way, it may be possible to re-use an existing motion-compensated correlation sequence <NUM> for an extended period of time. In the case of static signal sources, such as terrestrial radio transmitters, or geostationary satellites, the period of time may be without bound. For moving transmitters, such as GNSS satellites, the reusability will decrease over time, as the Doppler shift of the signal changes relative to the one recorded in the MCCS. In this instance the sequences may be reusable for perhaps for as long as <NUM> or more seconds. Where the correlation code <NUM> has a length of <NUM>. , that is a duration of longer than <NUM>,<NUM> periods of the correlation code <NUM>.

It will be appreciated that the storage of the motion-compensated correlation sequence <NUM> for re-use may significantly reduce a computational load required to perform motion-compensated correlation.

As described in relation to <FIG>, the motion-compensated correlation sequence re-use system <NUM> may intelligently decide whether or not to perform motion-compensated correlation and, if it is to perform motion-compensated correlation, whether it is to generate a new motion-compensated correlation sequence <NUM> or whether it should re-use a motion-compensated correlation sequence <NUM> and, if it should re-use a motion-compensated correlation sequence <NUM>, whether it should re-use the currently used motion-compensated correlation sequence <NUM> or whether it should re-use a stored motion-compensated correlation sequence <NUM>. The re-use of a motion-compensated correlation sequence <NUM> is particularly advantageous where the receiver <NUM> is often involved in the same motion whether on a continual or intermittent basis. For example, if a pedestrian is walking with a particular direction and with a particular gait this may be detected and used as a movement signal <NUM> to determine whether or not to re-use a motion-compensated correlation sequence <NUM>. Particular well-defined triggers in the motion data, such as the heel strike of pedestrian walking motion, can be used to mark the beginning of reusable sections of motion-compensated correlation sequences, and to detect the moments in the future when the sections can be reused. Other aspects can be tested for similarity, such as compass heading, orientation, speed, etc. It would therefore be possible to re-use a motion-compensated correlation sequence <NUM> while a person is walking in the same direction while they maintain the same trajectory, i.e. the same bearing and walking speed. A detection of a change in the bearing, the stride length, the gait or the stride rate may cause an interrupt at the re-use system <NUM> which may then switch from using the re-use current MCCS block <NUM>, to using one or the other blocks <NUM>, <NUM>, <NUM>.

<FIG> illustrates a motion-compensated correlator <NUM> comprising a motion-compensated correlation sequence (MCCS) system <NUM> comprising a motion-compensated correlation sequence (MCCS) storage system <NUM>, a motion-compensated correlation sequence (MCCS) re-use system <NUM> and a motion-compensated correlation sequence (MCCS) generator <NUM>, all as previously described. The system <NUM> uses the re-use system <NUM> to determine whether or not to perform motion-compensated correlation and if it is to perform motion-compensated correlation then whether it is to generate a new motion-compensated correlation sequence <NUM> or to re-use a motion-compensated correlation sequence <NUM>. If it is to re-use a stored motion-compensated correlation sequence then the re-use system <NUM> provides the movement signal <NUM> received by the system <NUM> to the storage system <NUM> which performs a read access on a addressable memory <NUM> to obtain the motion-compensated correlation sequence <NUM>. The motion-compensated correlation sequence <NUM> read from the memory <NUM> is provided to the motion-compensated correlation sequence generator <NUM> if it is a motion-compensated phasor sequence to produce a motion-compensated correlation code <NUM> for the correlator <NUM> or is provided directly to the correlator <NUM> if it is a motion-compensated correlation code <NUM>. When a new motion-compensated correlation sequence <NUM> is required to be generated, the re-use system <NUM> controls the motion-compensated correlation sequence generator <NUM> to generate a motion-compensated correlation sequence <NUM> and to use that sequence for correlation of the digital signal <NUM>. The generated motion-compensated correlation sequence <NUM> may then be provided to the storage system <NUM> for storage in the addressable memory <NUM>.

<FIG> illustrates an example of a correlation code generator <NUM> that provides a correlation code <NUM> that may be used for motion-compensated correlation as described above. The correlation code <NUM> is a long correlation code as described below. A short code generator <NUM> produces a correlation code <NUM>'. A long code generator <NUM> concatenates the correlation code <NUM>' multiple times to produce the long correlation code <NUM>. The long correlation code may be stored in a buffer memory <NUM> that is of sufficient size to temporarily store a concatenation of multiple correlation codes <NUM>'. <FIG> illustrates an example of a long digital signal buffer <NUM> that temporarily stores a received digital signal <NUM> that may be used for motion-compensated correlation as described above. This is a buffer memory <NUM> that is of sufficient size to temporarily store received digital signal <NUM> that has a duration as long as the long correlation code <NUM>.

The digital signal <NUM> is a long digital signal, the correlation code <NUM> is a long correlation code, the motion-compensated correlation code <NUM> is a long motion-compensated correlation code.

The long digital signal <NUM>, the long correlation code <NUM> and the long motion-compensated correlation code <NUM> have the same length. Each having a duration greater than a length of the correlation code word e.g. greater than <NUM> for GPS or greater than <NUM> for GALILEO. For example, the duration may be N*<NUM> or M*<NUM> where N, M are natural numbers greater than <NUM>. It may in some examples be possible to change the duration, for example, in dependence upon confidence of receiver motion measurement. It may in some examples be possible to increase and/or decrease N or M. It may in some examples be possible to select between having a duration N*<NUM> or M*<NUM>. A longer duration increases correlation time providing better gain.

The long correlation code <NUM> is a concatenation of multiple ones of a same first correlation code <NUM>'.

The first correlation code <NUM>' may be a standard or reference code e.g. a Gold code, Barker code or a similar that has a fixed period T and predetermined cross-correlation properties.

A long motion-compensated correlation sequence <NUM> may be referred to as a supercorrelation sequence. A supercorrelation sequence may be a long motion-compensated phasor sequence or a long motion-compensated correlation code (phasor adjusted).

<FIG> illustrates an example of a motion-compensated correlator <NUM> comprising a motion-compensated correlation sequence (MCCS) system <NUM> optionally comprising a motion-compensated correlation sequence (MCCS) storage system <NUM>, optionally comprising a motion-compensated correlation sequence (MCCS) re-use system <NUM> and comprising multiple motion-compensated correlation sequence (MCCS) generators <NUM>.

Each of the multiple motion-compensated correlation code generators <NUM> generates a long motion-compensated correlation code <NUM> which is a long correlation code <NUM> that has been compensated, before correlation, using the same long motion-compensated phasor sequence <NUM> dependent upon an assumed or measured movement of the receiver <NUM>.

A first one of the multiple motion-compensated correlation code generators <NUM> produces an early long motion-compensated correlation code <NUM> which is a long correlation code <NUM> that has been compensated, before correlation, using the same long motion-compensated phasor sequence <NUM> dependent upon an assumed or measured present movement of the receiver <NUM> and time shifted to be early.

A second one of the multiple motion-compensated correlation code generators <NUM> produces a present (prompt) long motion-compensated correlation code <NUM> which is a long correlation code <NUM> that has been compensated, before correlation, using the same long motion-compensated phasor sequence <NUM> dependent upon an assumed or measured present movement of the receiver <NUM>.

A third one of the multiple motion-compensated correlation code generators <NUM> produces a late long motion-compensated correlation code <NUM> which is a long correlation code <NUM> that has been compensated, before correlation, using the same long motion-compensated phasor sequence <NUM> dependent upon an assumed or measured present movement of the receiver <NUM> and time shifted late.

Each of the early long motion-compensated correlation code, present (prompt) long motion-compensated correlation code and late long motion-compensated correlation code are separately correlated with the same long digital signal <NUM>.

The motion-compensated correlator <NUM> is suitable for use in a global navigation satellite system (GNSS) where the received digital signal <NUM> is transmitted by a GNSS satellite. The motion-compensated correlator <NUM> may be part of a GNSS receiver <NUM>.

In some but not necessarily all examples, down-conversion of a received signal before analogue to digital conversion to create the digital signal <NUM> occurs, in other examples it does not. Where down-conversion of a received signal before analogue to digital conversion to create the digital signal <NUM> occurs, in some but not necessarily all examples, the down-conversion is independent of a measured movement of the receiver <NUM> and is not controlled in dependence upon the measured movement of a receiver <NUM> of the received signal.

In some but not necessarily all examples a modulation removal block <NUM> may remove any data that has been modulated onto the signals being coherently integrated using the motion-compensated correlator. An example of this is the removal of the navigation bits from a received GNSS digital signal <NUM>' to produce the digital signal <NUM> processed by the motion-compensated correlator <NUM>.

In this example, the correlation code concatenated to produce the long correlation code <NUM> is a chipping code (a pseudorandom noise code). It may for example be a Gold code.

Each GNSS satellite may use a different long correlation code <NUM> in some examples. Multiple motion-compensated correlators <NUM> may be provided and may be assigned to different satellites. A motion-compensated correlator <NUM> then performs motion-compensated correlation for the assigned GNSS satellite.

Referring back to <FIG>, the velocity v may then be the line of sight velocity of the receiver <NUM> towards the assigned satellite. The motion-compensated correlator <NUM> then has selective increased gain for the digital signals <NUM> received from that satellite along the line of sight.

In some example, movement of the assigned satellite may be compensated by using as the velocity v the line of sight relative velocity between the receiver <NUM> and the assigned satellite. In other examples, movement of the assigned satellite may be compensated by using closed control loop as illustrated in <FIG>. Correlating the digital signal <NUM> provided by the receiver <NUM> with the long motion compensated correlation code <NUM> additionally uses one or more closed control loops <NUM>, <NUM> for maintenance of code-phase alignment and/or carrier-phase alignment <NUM>.

A control system <NUM> uses the results <NUM> of motion-correlated correlation to provide a closed-loop control signal <NUM> and/or a closed loop control signal <NUM>.

A closed-loop control signal <NUM> controls a phase adjust module <NUM> to adjust the phase of the motion-compensated correlation codes <NUM> to maintain carrier phase alignment.

A closed-loop control signal <NUM> controls each of the multiple motion-compensated correlation code generators <NUM> for the satellite to maintain code phase alignment. <FIG> illustrates an example of how motion-compensated correlation code generators <NUM> may maintain code-phase alignment via a closed loop control signal <NUM>. A numerical controlled oscillator <NUM> receives the control signal <NUM> and controls the long correlation code generator <NUM> using the short code generator <NUM> and a shift register <NUM> that buffers the long correlation code <NUM> and simultaneously operates as long code generator <NUM> and long code buffer <NUM> for the multiple motion-compensated correlation code generators <NUM> used for a particular satellite.

<FIG> illustrate different examples of a receiver-motion module <NUM> for producing a movement signal <NUM> indicative of a movement of the receiver <NUM> during a particular time duration. The receiver-motion module <NUM> illustrated in <FIG> produces a movement signal <NUM> indicative of a measured movement of the receiver <NUM>. The receiver-motion module <NUM> illustrated in <FIG> produces a movement signal <NUM> indicative of an assumed movement of the receiver <NUM>.

The movement signal <NUM> may be a parameterized signal defined by a set of one or more parameters.

The receiver-motion module <NUM> may, for example, be used to determine a velocity of a pedestrian or a vehicle.

The receiver-motion module <NUM> that measures the receiver movement as illustrated in <FIG> may have a local navigation or positioning system that tracks motion of the receiver <NUM>, such as a pedestrian dead reckoning system, an inertial measurement system, a visual tracking system, or a radio positioning system.

An inertial measurement system typically calculates velocity by integrating acceleration measurements from inertial sensors such as multi-axis accelerometers and gyroscopes.

A pedestrian dead reckoning system may detect a step from for the example a heel strike, estimation step/stride length, estimate a heading, and determine a 2D position.

A radio positioning system may, for example, use Wi-Fi positioning and/or Bluetooth positioning.

The receiver-motion module <NUM> that assumes the receiver movement, illustrated in <FIG>, may have a context detection system that detects a context of the receiver <NUM> such as a specific location at a specific time and determines a receiver velocity on a past history of the receiver velocity for the same context. A learning algorithm may be used to identify re-occurring contexts when the receiver velocity is predictable and to then detect that context to estimate the receiver velocity.

<FIG> illustrates an example of a record medium <NUM> such as a portable memory device storing a data structure <NUM>. The data structure <NUM> comprises: a motion-compensated correlation sequence <NUM> that is a combination of a (long) correlation code <NUM> and a (long) motion-compensated phasor sequence <NUM> or is a (long) motion-compensated phasor sequence <NUM>. The record medium <NUM> and the data structure <NUM> enables transport of the motion-compensated correlation sequence <NUM>. The data structure <NUM> may be configured as a data structure addressable for read access using a motion-dependent index.

In some but not necessarily all examples, the long motion-compensated correlation sequence <NUM> is a combination of a long correlation code <NUM> and a long motion-compensated phasor sequence <NUM> and the long correlation code <NUM> is a concatenation of multiple ones of the same standard correlation code.

A controller <NUM> may be used to perform one or more of the before described methods, the before described blocks and or all or part of a motion-compensated correlator <NUM>.

Implementation of a controller <NUM> may be as controller circuitry. The controller <NUM> may be implemented in hardware alone, have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware).

As illustrated in <FIG> the controller <NUM> may be implemented using instructions that enable hardware functionality, for example, by using executable computer program instructions <NUM> in a general-purpose or special-purpose processor <NUM> that may be stored on a computer readable storage medium (disk, memory etc) to be executed by such a processor <NUM>.

The memory <NUM> stores a computer program <NUM> comprising computer program instructions (computer program code) that controls the operation of all or part of a motion-compensated correlator <NUM> when loaded into the processor <NUM>. The computer program instructions, of the computer program <NUM>, provide the logic and routines that enables the apparatus to perform the methods illustrated in <FIG> The processor <NUM> by reading the memory <NUM> is able to load and execute the computer program <NUM>.

An apparatus comprising the controller may therefore comprise:
at least one processor <NUM>; and at least one memory <NUM> including computer program code <NUM> the at least one memory <NUM> and the computer program code <NUM> configured to, with the at least one processor <NUM>, cause the apparatus at least to perform:.

As illustrated in <FIG>, the computer program <NUM> may arrive at the apparatus <NUM> via any suitable delivery mechanism <NUM>. The delivery mechanism <NUM> may be, for example, a non-transitory computer-readable storage medium, a computer program product, a memory device, a record medium such as a compact disc read-only memory (CD-ROM) or digital versatile disc (DVD) or solid state memory, an article of manufacture that tangibly embodies the computer program <NUM>. The delivery mechanism may be a signal configured to reliably transfer the computer program <NUM>. The apparatus <NUM> may propagate or transmit the computer program <NUM> as a computer data signal.

As illustrated in <FIG>, a chip set <NUM> may be configured to provide functionality of the controller <NUM>, for example, it may provide all or part of a motion-compensated correlator <NUM>.

The blocks illustrated in the <FIG> may represent steps in a method and/or sections of code in the computer program <NUM>. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some blocks to be omitted.

The components of an apparatus or system required to perform one or more of the before described methods, the before described blocks and or all or part of a motion-compensated correlator <NUM>, need not be collocated, and data may be shared between components via one or more communication links.

<FIG> illustrates one example of a system comprising a remote device <NUM> and a remote processing system <NUM>. The remote device <NUM> comprises the receiver <NUM> and the receiver motion module <NUM>. The receiver motion module <NUM> comprises receiver motion sensors that provide receiver motion sensor data as the movement signal <NUM>. The remote device <NUM> is physically distant from the remote processing system <NUM> comprising the controller <NUM>. The remote device <NUM> and the remote device <NUM> communicate via communications link(s) <NUM>. The communications link(s) <NUM> may comprise of, for example, wireless communications (e.g. WiFi, BLE, Cellular Telephony, Satellite comms), cabled communications (e.g. Ethernet, landline telephone, fibre optic cable), physical storage media that may be transported between components (e.g. solid state memory, CD-ROM) or any combination thereof.

The digital signal <NUM> is provided by the remote device <NUM> to the remote processing system <NUM> via the communications link(s) <NUM>. The receiver motion sensor data is provided as movement signal <NUM> by the remote device <NUM> to the remote processing system <NUM> via the communications link(s) <NUM>.

The controller <NUM> of the remote processing system <NUM> comprises the motion-compensated correlator <NUM> comprising the correlator <NUM> and the motion-compensated correlation sequence generator <NUM>.

The motion-compensated correlation sequence generator <NUM> generates the motion-compensated correlation sequence <NUM> from processing of the movement signal <NUM>, and the correlator <NUM> performs motion-compensated correlation of the digital signal <NUM> using the motion-compensated correlation sequence <NUM> to produce correlation result <NUM>.

The motion-compensated correlation sequence generator <NUM>, may optionally be part of a motion-compensated correlation sequence (MCCS) system <NUM> and the motion-compensated correlation sequence <NUM> may optionally be stored by a motion-compensated correlation sequence storage system <NUM> in an addressable memory <NUM> of the remote processing system <NUM> for re-use.

In some but not necessarily all examples, the correlation result <NUM> is returned to the remote device <NUM> via the communications link(s) <NUM>.

In some but not necessarily all examples, the motion-compensated correlation sequence <NUM> is returned to the remote device <NUM> via the communications link(s) <NUM>.

In some but not necessarily all examples, the controller <NUM> performs additional post-processing of the correlation results <NUM> to derive higher-value outputs <NUM> (e.g. GNSS pseudoranges or position fixes from GNSS signals) that are transferred to the remote device <NUM> via communications link(s) <NUM>.

<FIG> illustrates another example of a system comprising a remote device <NUM> and a remote processing system <NUM>. The remote device <NUM> comprises the receiver <NUM> and the receiver motion module <NUM>. The receiver motion module <NUM> comprises receiver motion sensors that provide receiver motion sensor data as the movement signal <NUM>. The remote device <NUM> is physically distant from the remote processing system <NUM> comprising the controller <NUM>. The remote device <NUM> and the remote device <NUM> communicate via communications link(s) <NUM>. The communications link(s) <NUM> may comprise of, for example, wireless communications (e.g. WiFi, BLE, Cellular Telephony, Satellite comms), cabled communications (e.g. Ethernet, landline telephone, fibre optic cable), physical storage media that may be transported between components (e.g. solid state memory, CD-ROM) or any combination thereof.

The receiver motion sensor data is provided as movement signal <NUM> by the remote device <NUM> to the remote processing system <NUM> via the communications link(s) <NUM>.

Part of the motion-compensated correlator <NUM> (correlator <NUM>) is in the remote device <NUM> and part (motion-compensated correlation sequence generator <NUM>) is in the remote processing system <NUM>.

The motion-compensated correlation sequence generator <NUM> in the remote processing system <NUM> generates a motion-compensated correlation sequence <NUM> from processing of the received movement signal <NUM>. The motion-compensated correlation sequence <NUM> is transferred from the remote processing system <NUM> to the remote device <NUM> via the communications link(s) <NUM>.

The digital signal <NUM> is not provided by the remote device <NUM> to the remote processing system <NUM> via the communications link(s) <NUM>. Instead it is provided to the correlator <NUM> in the remote device <NUM>. The correlator <NUM> performs motion-compensated correlation of the digital signal <NUM> using the transferred motion-compensated correlation sequence <NUM> to produce correlation result <NUM>.

At the remote device <NUM>, the motion-compensated correlation sequence <NUM> may optionally be stored by a motion-compensated correlation sequence storage system <NUM> in an addressable memory <NUM> of the remote processing system <NUM> for re-use.

In a variation of the above described examples, the receiver motion module <NUM> may be configured to processes the receiver motion sensor data to derive a measured or assumed receiver motion value that is provided as movement signal <NUM>. This processed movement signal <NUM> may be passed to the remote processing system <NUM> instead of the raw receiver motion sensor data, removing the need for the remote processing system <NUM> to calculate the receiver motion from the receiver motion sensors data.

In a variation of the above described examples, the receiver motion module <NUM> may not be located at the remote device <NUM>, but may be located elsewhere, for example, at the remote processing system <NUM> or elsewhere.

<FIG> illustrates another example of a system comprising a remote device <NUM> and a remote processing system <NUM>. This system is similar to that illustrated in <FIG>, however, the correlation results <NUM> (and/or higher value outputs <NUM>) are not provided to the remote device <NUM>. The correlation results <NUM> (and/or higher value outputs <NUM>) are utilised/stored at the remote processing system <NUM>, or are provided to remote third-party clients <NUM> via communications link(s) <NUM> for further use/processing/storage.

It should be understood that the above examples may be further modified to include a plurality of remote devices <NUM>, and/or a plurality of remote processing systems <NUM> and/or a plurality of remote third party clients <NUM>, all connected by a plurality of communications links <NUM>/<NUM>.

The receiver <NUM> and the motion-compensated correlator <NUM> previously described and illustrated may, for example, be used for GNSS systems, radio systems (e.g. OFDM, DVB-T, LTE), sonar systems, laser systems, seismic systems etc..

The term 'causing or performing' as it appears in the claims may mean to cause but not perform, to perform but not cause or to cause and perform.

If an entity causes an action it means removal of the entity would mean that the action does not occur. If an entity performs an action the entity carries out the action.

The interconnection of items in a Figure indicates operational coupling and any number or combination of intervening elements can exist (including no intervening elements).

As used here 'hardware module' refers to a physical unit or apparatus that excludes certain parts/components that would be added by an end manufacturer or a user. A motion-compensated correlator <NUM> may be a hardware module. A motion-compensated correlation sequence generator <NUM> may be or may be part of a hardware module. A motion-compensated phasor generator <NUM> may be or may be part of a hardware module. A correlation code generator <NUM> may be or may be part of a hardware module. A receiver-motion module <NUM> may be or may be part of a hardware module. A correlator <NUM> may be or may be part of a hardware module. A motion-compensated correlation sequence storage system <NUM> may be or may be part of a hardware module. A (MCCS) re-use system <NUM> may be or may be part of a hardware module. A motion-compensated correlation sequence (MCCS) system <NUM> may be or may be part of a hardware module.

In this brief description, reference has been made to various examples. The use of the term 'example' or 'for example' or 'may' in the text denotes, whether explicitly stated or not, that such features or functions are present in at least the described example, whether described as an example or not, and that they can be, but are not necessarily, present in some of or all other examples. Thus 'example', 'for example' or 'may' refers to a particular instance in a class of examples. A property of the instance can be a property of only that instance or a property of the class or a property of a subclass of the class that includes some but not all of the instances in the class. It is therefore implicitly disclosed that a features described with reference to one example but not with reference to another example, can where possible be used in that other example but does not necessarily have to be used in that other example.

Claim 1:
A positioning system, comprising:
a local oscillator (<NUM>) for providing a local frequency or phase reference;
a receiver (<NUM>) configured to receive a first reference signal from a first reference source (<NUM>, <NUM>, <NUM>, <NUM>) in a first reference direction, the first reference signal having a received frequency and a received phase, wherein the first reference source provides the first reference signal at a known or predictable frequency or phase, and wherein the receiver is configured to receive a first positioning signal from a first positioning source in a first positioning direction;
a motion module (<NUM>) configured to provide a measured or assumed movement of the receiver in the first reference direction;
a reference source motion determination module (<NUM>) configured to provide a movement of the first reference source in the first reference direction;
a local oscillator offset determination module (<NUM>) configured to calculate an offset to the received frequency or the received phase based on the measured or assumed movement of the receiver in the first reference direction and the movement of the first reference source in the first reference direction;
a local signal generator (<NUM>) configured to use the local frequency or phase reference from the local oscillator, and the offset calculated by the local oscillator offset determination module, to provide at least a first local signal;
a correlation unit (<NUM>) configured to provide a first correlation signal by correlating the first local signal with the first positioning signal; and
a motion compensation unit (<NUM>) configured to provide motion compensation of at least one of the first local signal, the first positioning signal, and the first correlation signal based on the measured or assumed movement of the receiver in the first positioning direction.