Method performed in a radio system
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- FOCAL POINT POSITIONING LTD
- Filing Date
- 2023-08-03
- Publication Date
- 2026-06-10
AI Technical Summary
Low-cost local oscillators used in consumer devices, such as smartphones, are relatively unstable, which can affect the accuracy of GNSS positioning, especially in challenging signal environments like urban canyons or indoors.
A method that determines the frequency offset and rate offset of the local oscillator by calculating phasor sequences indicative of the phase evolution of received signals due to receiver motion, and using these sequences to generate phase-compensated correlation signals, thereby selecting a preferred frequency offset to correct for errors in the local oscillator.
This method effectively improves the stability of the local oscillator, enabling more accurate and reliable signal processing, such as longer coherent integration times, which is particularly advantageous in challenging signal environments.
Smart Images

Figure GB2023052064_06022025_PF_FP_ABST
Abstract
Description
[0001]METHOD PERFORMED IN A RADIO SYSTEM FIELD OF THE INVENTION The present invention relates to a method, typically performed in a radio system. In particular, the invention is directed to a method that can determine an error in a frequency reference provided by a local oscillator. The invention has particular application in GNSS positioning. BACKGROUND Modern devices such as cellular phones have local oscillators that can provide a frequency reference for a variety of different applications. One application that requires a frequency reference from a local oscillator is GNSS positioning. In GNSS positioning applications, a local oscillator provides a frequency reference that is used to generate a local replica of a GNSS signal received from a positioning satellite. As is known in the art, a plurality of local replicas with different time offsets can be correlated with a signal received from a satellite to determine the time taken for the received signal to travel from the satellite to the receiver, and hence the distance from the receiver to the satellite. By performing such ranging calculations for at least four satellites, a position fix for the receiver may be obtained. However, the local oscillators used in modern consumer devices are typically low- cost oscillators, such as quartz oscillators. These local oscillators are often relatively unstable compared to high-cost oscillators such as atomic clocks. 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. However, 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 “urban canyons” or indoor environments where building block or attenuate positioning signals. These weak signals require a long coherent 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 coherent integration period in order for these calculations to be effective. It is therefore desirable to improve the stability of local oscillators. However, devices that are inherently more stable than low cost crystal oscillators – such as atomic clocks – are prohibitively expensive and impractical for modern consumer devices. WO2019 / 008327 and WO2019 / 063983 describe techniques for improving the stability of a low-cost local oscillator using SupercorrelationTM processing. However, there is a continued need to develop the techniques for improving the stability in local oscillators. This is particularly the case for consumer devices such as smartphones which, in addition to typically using low-cost oscillators as discussed above, also have relatively limited processing power and battery resources. SUMMARY OF INVENTION In accordance with a first aspect of the present invention there is provided a method, comprising: (a) receiving, at a receiver, a plurality of signals from a plurality of remote sources; (b) providing a plurality of local signals using a frequency reference generated by a local oscillator; (c) determining a motion of the receiver; (d) for each of the plurality of received signals: calculating a plurality of phasor sequences that are indicative of the phase evolution of the received signal due to the component of the determined motion of the receiver along a selected direction of arrival of the received signal, and wherein each of the plurality of phasor sequences is further indicative of a respective hypothesis pair of a frequency offset, ∆^, and a frequency rate offset, ∆^̇, of the frequency reference, each of the plurality of phasor sequences being indicative of a different hypothesis pair; and calculating a plurality of phase-compensated correlation signals by, for each of the plurality of phasor sequences: correlating the received signal with a corresponding one of the local signals to calculate a correlation signal; and calculating a phase-compensated correlation signal by providing phase compensation of at least one of the local signal, the received signal and the correlation signal using the phasor sequence; (e) generating a search space parameterized by ∆^ and ∆^̇; (f) populating the search space based on the signal powers of the plurality of phase-compensated correlation signals calculated for the plurality of hypothesis pairs, for each of the plurality of received signals, to thereby generate a dataset of phase-compensated correlation signal power for the plurality of remote sources as a function of ∆^ and ∆^̇; and (g) selecting a preferred frequency offset as a frequency offset of the frequency reference based on the dataset; wherein the method further comprises adjusting the search space based on a determination of a receiver parameter and / or an external environment parameter. The present invention provides a technique for correcting for errors in the local oscillator by determining a frequency offset of the frequency reference generated by the local oscillator. In this way, the stability of the local oscillator is effectively improved. This enables more accurate and reliable signal processing to be performed, for example by allowing longer coherent integration times. This is particularly advantageous in challenging signal environments such as urban canyons or indoors, where the received signals may have low power due to attenuation, or where reflections and multipath effects are prevalent. The local oscillator is typically a crystal oscillator such as a quartz oscillator. The local oscillator may comprise a temperature-compensated crystal oscillator (TCXO), a voltage-controlled crystal oscillator (VCXO), or a temperature-sensing crystal oscillator (TSXO). The term “frequency offset” (∆^) refers to the difference in the frequency of the frequency reference generated by the local oscillator compared to a frequency reference generated by a fully stable ideal frequency source. The frequency offset can also be referred to as a frequency error. The term “frequency rate offset” (∆^̇, ^^ equivalently ∆ ^ ^^^) is an offset in the rate of change of frequency and refers to the error in the rate of change (over time) of the frequency of the frequency reference generated by the local oscillator compared to one generated by a fully stable ideal frequency source, which would have a rate of change of frequency of zero. It can also be described as the error in an estimate of the true rate of change of the frequency of the frequency reference. The method may be extended to higher order clock terms (for example the rate of change of the frequency rate), which may be advantageous if the oscillator is particularly unstable. The frequency offset of the frequency reference is selected based on a dataset of phase-compensated correlation signal power as a function of ∆^ and ∆^̇. In other words, the overall time-varying frequency error is found by conducting a search across a search space parameterized by ∆^ and ∆^̇. The described methods could be extended to include higher order frequency error terms. In the present invention, the search space is advantageously adjusted based on a determination of a receiver parameter. In this way, the invention optimises the search across the search space to minimise the processing power and battery resources required to determine the frequency offset. This is because each point in the search space corresponds to at least one phase-compensated correlation process, and thus adjusting the search space may reduce or otherwise optimise the number of phase-compensated correlations to be performed. This is particularly advantageous in consumer devices such as smartphones which have limited computational and battery resources. Typically, the preferred frequency offset (∆^) corresponds to an optimised value of the phase-compensated correlation signal power as a function of ∆^ and ∆^̇. The optimised value of the phase-compensated correlation signal power is typically found by applying a mathematical optimisation process to the dataset. A suitable cost function may be applied to the dataset in order to find the optimised value of the phase-compensated correlation signal power. In embodiments, the preferred frequency offset (∆^) corresponds to a maximum of the phase-compensated correlation signal power as a function of ∆^ and ∆^̇. In other words, the preferred frequency offset may be selected by finding a maximum value of the dataset, which corresponds to the (∆^, ∆^̇) pair that provides the greatest phase-compensated correlation signal power. The maximum may be the global maximum of the dataset, although in some embodiments the selected frequency offset may correspond to a local maximum of the dataset. As set out above, in step (e) of the method, the search space parameterized by ∆^ and ∆^̇is generated. The search space (“search window”) can be defined as an upper and lower bound along each axis of the (∆^, ∆^̇) space. In step (f), the search space is populated based on the signal powers (e.g. correlation signal powers) of the plurality of phase-compensated correlation signals calculated for the plurality of hypothesis pairs, for each of the plurality of received signals, to thereby generate the dataset from which the preferred frequency offset may be selected. The dataset comprises the signal powers of the plurality of phase-compensated correlation signals calculated for the plurality of hypothesis pairs, for each of the plurality of received signals, as a function of ∆^ and ∆^̇. Typically, a data point for a particular point in the (∆^, ∆^̇) search space may be a function (typically a summation) of the signal powers for each received signal. The function may be a weighted function such as a weighted summation, for example to favourably weight high signal powers received from a plurality of different remote sources in the same region of the search space over high signal powers in a different region of the search space received from only one remote source (which may be indicative of an erroneous event such as a reflection or multipath interference). The local oscillator may be assumed to have substantially constant frequency and frequency rate offsets over a time period. Herein, this time period may be referred to as an “epoch” and may in some cases be equal to the coherent integration time. Embodiments of the method typically select a preferred frequency offset as the offset of the frequency reference for each epoch. In other words, the frequency reference may exhibit varying frequency and frequency rate offsets across multiple epochs which are corrected for with corresponding frequency offsets. Typically, the sequence of steps (a) to (g) constitutes an epoch for which a preferred frequency offset is selected. Typically, a preferred pair of frequency and frequency rate offsets are selected for each epoch. By selecting preferred frequency (and, typically, frequency rate) offsets for a plurality of time periods, the stability of the local oscillator is increased, leading to improved signal processing. The method of the present invention comprises adjusting the search space based on a determination (e.g. a measurement) of a receiver parameter and / or an external environment parameter. Adjusting the search space may occur within an epoch, as will now be described. In embodiments, the receiver parameter comprises a determined frequency offset and / or a determined frequency rate offset of the frequency reference based on a subset of the dataset. In this way, the search space may be dynamically adjusted such that it is not necessary to populate the full search space that was initially generated. For example, the subset of the dataset may indicate that the optimised phase-compensated signal power is likely to be located within a smaller search window than the one initially generated (e.g. located within a smaller ∆^ and / or ∆^̇range than that defining the initial search space). In such an instance, the search space may be reduced in size based on the determined frequency offset and / or frequency rate offset, based on the subset of the dataset. The subset of the dataset may be an initial set of data points (e.g. the first X data points) used to populate the space. A preferred frequency offset and / or frequency rate offset may be selected based on the initial set of data points (e.g. based on a maximum of the initial set of data points) and this determined offset or offsets used to adjust the search space for the subsequent points of the dataset. In embodiments, the subset of the dataset corresponds to a subset of the plurality of received signals. For example, a signal from a first remote source (e.g. processed on a first channel of the receiver) may be used to determine an initial frequency offset ∆^, and the search space adjusted based on the initial frequency offset for processing of the signals received from the remaining remote sources (e.g. on respective channels of the receiver). Typically, the subset of the plurality of received signals comprises signals from more than one remote source, in order to increase the confidence of the determined initial frequency and / or frequency rate offset(s) used to adjust the search space. Typically, the search space is adjusted based on a percentage of the determined frequency offset and / or the determined frequency rate offset. For example, if the determined frequency offset based on a subset of the dataset corresponds to a particular point in (∆^, ∆^̇) space, the adjusted search space may be defined by a range of ∆^ and ∆^̇values that each cover a predetermined percentage (e.g. + / - 50%) of the selected values corresponding to the determined frequency and frequency rate offsets. Adjusting the search space may occur between epochs, as will now be described. In embodiments, the receiver parameter comprises a previously selected frequency offset and / or a previously selected frequency rate offset. In other words, the receiver parameter comprises a selected frequency offset and / or frequency rate offset based on a dataset generated for signals received at the receiver in a preceding time period (or “epoch”). Previously selected frequency and / or frequency rate offset(s) will typically be used if the motion of the receiver is substantially the same in the two time periods (e.g. the motion of the receiver is determined to be substantially the same within a predetermined threshold). In a corresponding manner to that discussed above, in embodiments the search space may be adjusted based on a percentage of the previously selected frequency offset and / or the previously selected frequency rate offset. It is noted that the search space may be adjusted both within a given epoch (time period) and between epochs. In some embodiments, the receiver parameter may comprise the motion of the receiver (e.g. as determined in step (c)). In such examples, the search space may be adjusted in view of a predetermined threshold of a metric of the receiver motion. For example, if the receiver is determined to be moving with a speed that is greater than a predetermined threshold, then the search space may be adjusted to define relatively larger ranges of either or both of ∆^ and ∆^̇. As the speed of the receiver increases, any error in the measured motion of the receiver will have a relatively larger effect on the phase compensation, and thus a larger search window is preferred (at least initially) in order to ensure that the ∆^ and ∆^̇offset values of the frequency reference will be captured within the search space. Similarly, if a confidence threshold of the determined motion of the receiver is below a predetermined threshold, then the search space may be adjusted accordingly to include relatively larger ranges of the frequency and / or frequency rate parameters. In embodiments, the motion of the receiver in step (c) is determined based on measurements from which position or movement may be inferred. Typically, the receiver motion is based on data from at least one inertial sensor, for example an accelerometer (configured to measure linear acceleration) or gyroscope (configured to measure rotational velocity). The inertial sensor(s) may be part of an inertial measurement unit (IMU) located on the receiver. Other examples of sensors that provide measurements from which the receiver motion may be determined include magnetometers, barometers, GNSS (Global Navigation Satellite System) modules, and camera- or visual odometry-based systems. In some embodiments, the movement of the receiver may be predicted based on patterns of movement in previous epochs, for example using a trained machine learning model such as a neural network. In some embodiments, the receiver parameter may comprise an operating condition of the receiver. The stability of the local oscillator is typically adversely affected (e.g. increased or more frequent changes in the ∆^ and ∆^̇offset values) when it is at a higher temperature or exposed to electromagnetic effects or vibrations. These external influences on the stability of the local oscillator are typically dependent on an operating condition of the receiver. For example, operation of a touchscreen of a smartphone may increase the temperature and / or electromagnetic fields in the vicinity of the local oscillator. Thus, if an operating condition of the receiver is indicative of a larger range of error in the frequency reference due to a decrease in the stability of the local oscillator, the search space may be enlarged accordingly. Conversely, if the operating conditions are changed such that the stability of the frequency reference is predicted to increase (for example if a touchscreen is no longer in use), then the search space may be reduced in size in order to reduce processing load and battery consumption. Examples of operating conditions of the receiver that may be used to adjust the search space include: temperature, a rate of change of temperature, a voltage of, or associated with, the local oscillator, a rate of change of this voltage, and a motion of the local oscillator, such as the presence or degree of an impact or vibration. Any number of and combination of operating conditions may be implemented. We have described above examples where the search space may be adjusted based on a determination (e.g. measurement) of a receiver parameter. Alternatively or in addition, the search space may be adjusted based on an external environment parameter (e.g. a determination of an external environment parameter). The external environment parameter is a parameter of the environment external to the receiver. This may include the signal environment of the receiver, for example whether the receiver is in an open sky environment or an urban canyon. In embodiments, the external environment parameter comprises a probability that a shortest geometrical path between the receiver and a remote source is blocked. The shortest geometrical path may be described as the line of sight (LOS) direction between the receiver and remote source. For example, the LOS direction between the receiver and a remote source may be blocked by a building (e.g. the power of the signal attenuated by an amount greater than a predetermined threshold). As described above, the phasor sequences are indicative of the determined motion of the receiver along a selected direction of arrival of the received signal. It is therefore possible to map particular directions of arrival to the (∆^, ∆^̇) search space. Consequently, if it is determined that the LOS direction to one or more remote sources has a high probability of being blocked (e.g. the probability being greater than a predetermined threshold), then the search space may be adjusted to remove those regions where no or minimal phase-compensated correlation signal power is expected. This advantageously means that compute resources are not unnecessarily used in computing phase- compensated correlation signals for regions of the search space where no power is expected. The probability that a shortest geometrical path between the receiver and a remote source is blocked may be calculated using techniques known to the skilled person in the art. For example, a (e.g.3D) building model may be used in conjunction with a current estimate of the receiver position to determine whether the LOS direction between the receiver and a particular remote source is likely to be blocked. In some examples, the external environment parameter may comprise a building model. In another example, the external environment parameter may comprise a likelihood that a spoofer is present in the receiver’s environment. In such scenarios, if a spoofer is determined to be present, the search space may be adjusted to remove region(s) expected to have erroneously high phase- compensated correlation signal power values due to signals arriving from the spoofer. In general, adjusting the search space may comprise one or more of: adjusting the size of the search space, adjusting the shape of the search space, adjusting the resolution of the search space. In this way, the search space may be adjusted to optimally find the frequency offset of the frequency reference. As has been discussed above, the search space is parameterized by the parameters ∆^ and ∆^̇, and can be defined as an upper and lower bound along each dimension of the (∆^, ∆^̇) space. The size of the search space may be adjusted by changing the upper and / or lower bounds of at least one of the axes of the (∆^, ∆^̇) space. Similarly, the shape of the search space may be adjusted by changing the upper and lower bounds of one of the axes in a different manner from the other. This may be advantageous if it is predicted that one of the frequency offset or the frequency rate offset has a larger uncertainty than the other, and consequently a larger search window is preferred over the corresponding dimension to ensure that the correct offset is found. For example, certain changes in operating conditions (e.g. an increase in temperature due to turning on a 5G modem) may cause a particularly large change in the rate of change of frequency of the local oscillator. Therefore, in such a scenario, the frequency rate offset dimension of the search space may be widened more than the frequency offset dimension, thereby changing the shape of the search space. In other examples, the shape of the search space may be adjusted by removing region(s) expected to have no or minimal power, or erroneously high power as described above. When adjusting the size or shape of the search space, the resolution (i.e. the size of each bin) may remain the same. This is particularly advantageous when it is desired to save computational resources when reducing the size of the search space. In some embodiments, adjusting the search space may comprise adjusting the resolution of the search space. For example, the resolution of the search space may be increased (smaller bin size) in order to increase the accuracy of the (∆^, ∆^̇) solution. This may be particularly advantageous in examples where the search space is reduced in size, as the resolution of the reduced search space may be increased without significantly affecting the compute resources required compared to the original larger search space. As discussed above, in step (g) of the method, a preferred frequency offset is selected as the frequency offset of the frequency reference. This allows errors in the frequency reference to be corrected and provide an effectively stabilised local oscillator. In some embodiments, the method may further comprise selecting a preferred frequency rate offset of the frequency reference, based on the dataset. In the same way as discussed above, the preferred frequency offset typically corresponds to the optimised value (e.g. a global or local maximum) of the phase- compensated correlation signal power as a function of ∆^ and ∆^̇. Thus, in embodiments, the method comprises selecting a preferred “pair” of frequency and frequency rate offsets. In preferred embodiments, the method may further comprise using the preferred frequency offset to provide a corrected local signal. The frequency offset may be applied to the frequency reference to generate a corrected frequency reference. Similarly, in embodiments in which a preferred frequency rate offset of the frequency reference is selected, this preferred frequency rate of change may additionally be used to provide a corrected local signal (e.g. to provide time- varying frequency correction). The (corrected) local signal is typically generated by a frequency synthesiser that uses the corrected frequency reference. Preferably the method may further comprise using the corrected local signal to calculate a metric of interest (e.g. of the receiver). The metric of interest is typically a tracking or navigation metric. Preferably, the metric of interest is at least one of a position of the receiver, a velocity of the receiver, a direction of motion of the receiver, a time. The metric of interest may be calculated using conventional radio signal (e.g. GNSS signal) processing techniques known in the art that utilise a correlation between the received signal and a local signal that is a replica of the received signal. The method comprises calculating a plurality of phasor sequences that are indicative of the phase evolution of the received signal due to the component of the determined motion of the receiver along a selected direction of arrival of the received signal. A phasor sequence comprises a sequence of phasors that each comprise a phase angle and an amplitude based upon the motion of the receiver (typically the motion of an antenna of the receiver) at a particular time t. Each phasor sequence is indicative of the phase changes introduced into the received signal as a result of the component of the antenna motion along the selected direction of arrival as a function of time. A phase-compensated correlation signal based on a phasor sequence that is indicative of the receiver motion along the selected direction (e.g. the component of the receiver motion along that direction) will exhibit preferential power for a signal received along that direction in comparison with a signal that is not received along that direction. Typically, the selected direction of arrival of the received signal is the expected shortest path, or geodesic, between the receiver and the respective remote source from which the signal is received. This is typically referred to as the line of sight (LOS) direction, even if objects obscure the actual physical path. The LOS direction may be known or approximated from a current approximation of the receiver position, and knowledge of the position of the remote source, for example from ephemeris data from a satellite constellation. However, it is envisaged that the selected direction of arrival of the received signal may be different from the LOS direction. For example, the selected direction of arrival may be a direction of arrival after the signal has undergone a reflection. Each of the plurality of phasor sequences is further indicative of a hypothesis pair of a frequency offset, ∆^, and a frequency rate offset, ∆^̇, of the frequency reference. In other words, the phase angle of each phasor represents the hypothesised frequency and frequency rate offset for the respective time t. For each received signal, a plurality of phasor sequences are calculated that represent different hypotheses of the frequency and frequency rate offsets. Typically, for each received signal, the phasor sequences are each indicative of the receiver motion along the same selected direction of arrival (e.g. the LOS direction), such that the only differences between the phasor sequences are due to the different (∆^, ∆^̇) hypotheses. However, in some embodiments, the phasor sequences may be indicative of different directions of arrival (e.g. different “hypotheses” of the direction of arrival). By calculating a plurality of phasor sequences in this way, a corresponding plurality of phase-compensated correlation signals may be calculated for each received signal. Each phase-compensated correlation signal is calculated by correlating the received signal with a local signal to calculate a correlation signal, and providing phase compensation of at least one of the local signal, the received signal and the correlation signal using the phasor sequence. Phase compensation can be provided to the local signal before correlation by combining (e.g. mixing) the phasor sequence with the local signal before the correlation process. In another arrangement, phase compensation may be provided to the received signal before correlation. Similar results may be achieved by providing partial phase compensation to both the local and received signals. In some embodiments, phase compensation may be performed in parallel with the correlation. Phase compensation may also be applied to the correlation signal (e.g. the result of the correlation between the local and received signals). It will be appreciated that the phasor sequences will need to be modified accordingly dependent on whether they are being used to perform phase compensation of the local signal, received signal and / or the correlation signal. In general, phase compensation may be provided using techniques known in the art. For example, WO2017 / 163042, hereby incorporated by reference, provides further information on performing phase compensation. As has been discussed, the invention involves generating a search space parameterized by ∆^ and ∆^̇. Thus, a two-dimensional search space is defined. In some embodiments, the search space may be defined by further parameters (such as signal direction of arrival) that may be hypothesised by variations in the phasor sequences. In accordance with a second aspect of the invention there is provided a system, comprising: a receiver; a local oscillator configured to generate a frequency reference; a motion unit configured to determine a motion of the receiver; and one or more processors configured to perform the steps of: (a) receiving, at the receiver, a plurality of signals from a plurality of remote sources; (b) providing a plurality of local signals using the frequency reference; (c) determining a motion of the receiver; (d) for each of the plurality of received signals: calculating a plurality of phasor sequences that are indicative of the phase evolution of the received signal due to the component of the determined motion of the receiver along a selected direction of arrival of the received signal, and wherein each of the plurality of phasor sequences is further indicative of a respective hypothesis pair of a frequency offset, ∆^, and a frequency rate offset, ∆^̇, of the frequency reference, each of the plurality of phasor sequences being indicative of a different hypothesis pair; and calculating a plurality of phase-compensated correlation signals by, for each of the plurality of phasor sequences: correlating the received signal with a corresponding one of the local signals to calculate a correlation signal; and calculating a phase-compensated correlation signal by providing phase compensation of at least one of the local signal, the received signal and the correlation signal using the phasor sequence; (e) generating a search space parameterized by ∆^ and ∆^̇; (f) populating the search space based on the signal powers of the plurality of phase-compensated correlation signals calculated for the plurality of hypothesis pairs, for each of the plurality of received signals, to thereby generate a dataset of phase-compensated correlation signal power for the plurality of remote sources as a function of ∆^ and ∆^̇; and (g) selecting a preferred frequency offset as a frequency offset of the frequency reference based on the dataset; wherein the method further comprises adjusting the search space based on a determination of a receiver parameter and / or an external environment parameter. The system of the second aspect of the invention therefore provides the same advantages as described above with reference to the first aspect of the invention. The one or more processors may be configured to perform the method of any of the examples described above with reference to the first aspect of the invention. The system is typically a wireless communication system configured to receive radio signals. Typically, the system is a positioning system, preferably a GNSS positioning system. In some embodiments, the system may be a communications system such as a cellular communications system, or a Wi-Fi or Bluetooth communications system. The system is typically provided on a single user device, such as a positioning device or electronic user device such as a smartphone. Alternatively, various units in the system could be provided separately so that the system is distributed (i.e. configured as a distributed system). For example, certain calculations 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 interests of efficiency. The motion unit typically comprises one or more inertial sensors that may be part of an inertial measurement unit (IMU) located on the receiver (e.g. forming a constituent part of the receiver). The remote sources from which signals are received are typically trusted remote sources (such as GNSS positioning satellites), from which received data may be trusted, i.e. assumed to be correct. A received signal may include any known or unknown pattern of transmitted information, either digital or analogue, that can be found within a broadcast 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. In a further example, the received signals may include pilot symbol sequences that may be used for correlation, such as those used in orthogonal frequency division multiplexing (OFDM), long term evolution (LTE) and digital video broadcasting (DVB) standards. The receiver may typically comprise (e.g. or be attached to) a right hand circularly polarised (RHCP) antenna. Typically, the receiver comprises (e.g. or is attached to) an antenna having a length that is shorter than a wavelength of the received signals. In this way, the antenna acts as a dipole. For example, the wavelength of the GPS L1 C / A signal is approximately 19cm, and consequently the antenna typically has a length shorter than 19cm (typically much shorter). This is advantageous for use in smartphone and wearable devices, for example. In some embodiments, the receiver may comprise a patch antenna or a helical antenna. In any of the aspects of the present invention, the receiver may be a GNSS receiver. The receiver may be implemented on an electronic user device such as a smartphone. The remote sources are typically GNSS satellites. The plurality of received signal may typically comprise GPS L1 signals and / or GPS L5 signals. However, as discussed the present invention may also be applied to other (e.g. radio) signals such as cellular, DAB or DVB, Wi-Fi or Bluetooth signals received from respective remote sources. BRIEF DESCRIPTION OF DRAWINGS Examples of the invention will now be described with reference to the accompanying drawings, in which:- Figure 1 is a schematic diagram illustrating an environment in which embodiments of the invention may be utilised; Figure 2 is a schematic diagram of a receiver according to an embodiment of the invention; Figure 3 is a flow diagram outlining the principal steps of a method according to an embodiment of the invention; Figure 4 schematically illustrates the adjustment of a search space according to an embodiment of the invention; Figure 5 is a flow diagram outlining the steps according to an embodiment of the invention; Figures 6 and 7 schematically illustrate the adjustment of a search space according to an embodiment of the invention; and Figure 8 is a flow diagram outlining the principal steps of a method according to an embodiment of the invention. DETAILED DESCRIPTION The following example embodiments and methods are described with respect to a positioning system configured to calculate a position of a receiver. However, it is envisaged that other types of systems configured to determine a value using an unstable local oscillator may employ the method of the invention. In such cases, the positioning signals as described below may be replaced more generally with other types of (radio frequency) signals. Figure 1 is a schematic diagram illustrating, by way of example, an environment in which the method and system of the present invention may be used to provide a positioning solution. A receiver 100 comprises an antenna 102 configured to receive radio signals from remote sources comprising a first satellite 2, a second satellite 4, and a third satellite 6. The antenna is typically a RHCP antenna. The receiver 100 may also receive radio signals from a remote ground source 8. A tall building 12 bisects the lines of sight from the receiver 100 to the third satellite 6 and the ground source 8. The building 12 attenuates the signals from the third satellite 6 and the ground source 8, making the signals weaker and thus making it more difficult for the receiver 100 to obtain an accurate measurement of position. The same building 12 could also provide a path for a reflected signal from the first satellite 2 to the antenna 102. The remote reference sources may operate as part of any navigation system known in the art, for example a GNSS system. In general, the reference sources can be comprised of any combination of satellite sources, terrestrial sources, or other types of reference sources. Figure 2 shows a schematic diagram of the receiver 100 according to an embodiment of the invention. In the present embodiment the receiver 100 is configured as (or as a component part of) a smartphone, but in general may be configured as (or as a component part of) any other device capable of determining a position or other navigation metric, for example a laptop, tablet, vehicle navigation device, or wearable device. In this example embodiment, the receiver 100 comprises an antenna 102, a front end block 104 coupled to the antenna, a local oscillator 106, a signal generator 108, a correlator 110, a phase compensation unit 112, hypothesis unit 114, motion unit 116, signal processing unit 118, and positioning unit 120. A processor 122 is configured to operate the various units of the positioning device in accordance with executed firmware or software, for example as stored in memory 124. In this embodiment, the various units of the positioning system are provided on the receiver 100; however, in alternative embodiments the various units of the system units may be provided separately with different associated processors, or may be provided in a distributed fashion across a network. The front end block 104 is configured to provide initial processing of signals received by the antenna 102 and may comprise any suitable components, such as an amplifier or an analogue to digital converter. The local oscillator 106 is generally simple and low cost, and may comprise a crystal oscillator such as a quartz oscillator in one example. The local oscillator 106 is configured to provide a frequency reference for various applications in the receiver 100. The motion unit 116 includes sensors that can measure the motion of the receiver 104, in particular the motion of the antenna 102. The antenna 102 and motion unit 104 are configured to move as a single unit and therefore the motion as measured by the motion unit corresponds to that of the antenna. The motion unit 116 can include inertial sensors such as accelerometers and gyroscopic sensors, data from which may be used to infer the motion of the receiver. The motion unit 116 typically comprises an inertial measurement unit (IMU) using inertial sensors, although other means of determining a motion of the receiver may alternatively or additionally be used, such as barometers, magnetometers, visual odometry or GNSS systems. In some embodiments the motion unit 116 may include a trained machine learning model that may predict the motion of the receiver. The remainder of the various units and components of the positioning system will be described herein with reference to Figures 3 and 4. Figure 3 illustrates the principal steps of a method 200 for correcting the frequency reference provided by the low cost local oscillator 106 of the receiver 100, according to an embodiment of the invention. The method will be described with reference to the receiver 100 and environment illustrated in Figures 1 and 2. At step S201, the receiver receives a plurality of positioning signals 14, 18, 16 from the reference sources 2, 4 and 6 respectively. The received signals are typically buffered for use in subsequent repetitive processing. As discussed above, the positioning signal 16 is weaker than the signals 14 and 18 due to being attenuated by the building 12 that is positioned along the line of sight (LOS) between the positioning device 100 and the reference source 6. Typically, the broadcast signal received at the antenna is an analogue signal and is amplified, down-converted to baseband or lower frequency and converted to digital form by an analogue to digital converter. These steps take place in the front end block 104. At step S203, the motion unit 116 determines the motion of the receiver. The motion unit 116 may measure the motion of the receiver using data obtained from inertial sensors as part of an IMU, for example integrating acceleration measurements from an accelerometer in order to infer a velocity of the receiver. The motion unit may assume (“predict”) the motion of the receiver based on patterns of movement in previous epochs. For instance, if previous measurements indicate that the receiver is moving in a constant direction and at a constant speed, then it may be assumed with an acceptable level of confidence that the current motion is the same as that in previous time epochs. This is particularly the case for motion contexts in which the motion is likely to remain substantially similar, for example if the receiver is located within a vehicle moving along a straight road. By assuming the motion of the receiver in previous epochs, processing load may be reduced and battery resources conserved. The motion unit 116 may compute the motion based upon historical motion at specific times of day or may use machine learning, for example, a trained neural network, to predict motion from historical motion data. At step S205, a plurality of phase-compensated correlation signals are calculated. The phase compensation is based on the motion of the receiver determined in step S203, and additionally on hypotheses of a frequency offset (∆^) and a frequency rate offset (∆^̇) of the frequency reference generated by the local oscillator 106. These offsets may be referred to as frequency and frequency rate errors of the local oscillator 106. We consider first the signal 14 received from the first remote source 2. The phase compensation unit 112 receives the determined motion of the receiver from the motion unit 116. In particular, the phase compensation unit receives the component of the determined motion along the LOS (“straight line”) direction between the receiver 100 and the remote source 2. The component of the determined receiver motion along a particular direction may be calculated using standard mechanics equations as is known in the art. The LOS direction may be known or estimated based on an initial estimate of the receiver’s position and from broadcast orbital data or ephemeris from the satellite constellation. An initial estimate of the receiver’s position may be determined using conventional GNSS ranging calculations based on the signals that are available. An initial estimate of position can also be determined based on cellular data if available (e.g. where the system is provided in a smartphone). Typically an initial estimate of position can be determined using conventional techniques within an accuracy of better than 20 metres, depending on the receiver’s environment. The phase compensation unit 112 also receives, from the hypothesis unit 114, a plurality of hypothesis pairs of a frequency offset, ∆^, and a frequency rate offset, ∆^̇, of the frequency reference produced by the local oscillator 106. The frequency offset and frequency rate offset are with respect to a fully stable ideal frequency reference. In practice, the remote sources, which typically use high quality oscillators such as atomic oscillators, may be used as the ideal frequency reference source. Such high quality oscillators operate within much narrower frequency windows compared to local oscillators typically found on handheld commercial receivers. In other words, the high quality oscillators are more accurate and operate within a much lower frequency tolerance compared to many low quality oscillators. Upon receipt of the information from the motion unit 116 and the hypothesis unit 114, the phase compensation unit 112 generates a plurality of phasor sequences based on the determined component of motion of the receiver along the LOS direction to the remote source 2, and based on the plurality of (∆^, ∆^̇) hypothesis pairs. Hence, the phase compensation unit generates the same number of phasor sequences, m, as the number of hypothesis pairs generated by the hypothesis unit. In more detail, each phasor sequence is indicative of the predicted phase changes introduced into the received signal 14 as a result of the relative motion between the receiver and the remote source 2 along the LOS direction. Each phasor sequence is further indicative of the phase changes (“phase errors”) predicted to be introduced into the local signal calculated by the signal generator 108 due to the offset of the frequency reference produced by the local oscillator 106, as predicted by the respective hypothesis pair. Each phasor sequence ɸ comprises a plurality of phasors, with each phasor typically having the same time duration as a sample of the received signal. There is typically the same number, N, of phasors ɸi (I = 1..N) in a generated phasor sequence ɸ as there are samples of the received signal and samples of the local signal during the time period within which the signal is received and the receiver movement is measured. Each phasor ɸi contains an amplitude and a phase angle, and represents a phase compensation based upon the motion of the receiver at a time t such that a phasor sequence made up of a plurality of phasors is indicative of the receiver motion along a particular direction as a function of time over a time period T. For example, a velocity of the receiver derived from the motion unit 116 may be used to determine a Doppler frequency shift introduced into the received signal due to the motion of the receiver along the line-of-sight direction. The Doppler frequency shift may then be integrated over time in order to estimate a phase value. Each phasor of the phasor sequence also provide a phase compensation for the corresponding of (∆^, ∆^̇) hypothesis pair for the time period T. Thus, the phasor sequence may be referred to as a “phase-compensated” phasor sequence. A phasor ɸiis a transformation in phase space and is complex valued, producing the in-phase component of the phase-compensated phasor sequence via its real value, and the quadrature phase component of the phase-compensated phasor sequence via its imagery value. The phasor ɸi is typically 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. Still referring to the signal 14 received from the remote source 2, a plurality of phase-compensated correlation signals are calculated. Each phase- compensated correlation signal is generated by combining a respective phasor sequence generated by the phase compensation unit 112 with the local signal generated by the signal generator 108 before correlation of the local signal with the received signal, as schematically illustrated by the directional arrow i in Figure 2. In this way, the phasor sequence may be used to adjust, at sub-wavelength accuracy, the carrier phase of the local code (e.g. GNSS PRN code) encoded in the local signal over one or more periods (lengths) of the received code encoded in the received signal. This produces a phase-compensated correlation signal. The signals and / or correlation results are complex signals comprising in-phase (I) and quadrature phase (Q) components. The method applies each phase offset in the phasor sequence to a corresponding complex sample in the local signal. The received signal 14 is correlated with a set of (different) phase-compensated local signals corresponding to each of the (∆^, ∆^̇) hypothesis pairs to generate a set of phase-compensated correlation signals for the received signal 14. The same process is performed for signals 18 and 16 received from remote sources 4 and 6 respectively, with the phase compensation being based on the set of (∆^, ∆^̇) hypothesis pairs and the determined component of the receiver motion along the respective LOS direction to the remote source. In this way, the method generates a plurality of phase-compensated correlation signals for each received signal, thereby generating a plurality of phase-compensated correlation signals corresponding to a set of (∆^, ∆^̇) hypothesis pairs. In the above-described embodiment, the phase-compensated phasor sequences are applied to the local signal to calculate the phase-compensated correlation signals. However, in alternative embodiments, the phase-compensated phasor sequences may be applied to the received signal or the correlation signal to generate the phase-compensated correlation signal. These alternative procedures are schematically illustrated by the dashed directional arrows ii and iii respectively in Figure 2. It will be appreciated that the phasors may be required to be adjusted depending on whether they are applied to the local signal, received signal, or the correlation signal, in order to achieve the desired phase compensation. In some embodiments, phasor sequences may be applied to more than one of the signals (e.g. applied to both the local signal and received signal). In general, the method may comprise providing phase compensation of at least one of the local signal, received signal, or the correlation signal. Returning to Figure 3, at step S207, the signal processing unit 118 generates a search space parameterized by (e.g. having dimensions of) ∆^ and ∆^̇. Such a search space is schematically illustrated in Figure 4. Figure 4 shows a graph 400 comprising two axes that represent a range of possible frequency offset values ∆^ on the y-axis, and a range of frequency rate offset values ∆^̇on the x-axis, for a particular time period T (“epoch”). This time period T may be a time period for which it is assumed that the local oscillator has a substantially constant frequency and frequency rate offset, and may correspond to the desired coherent integration time. The desired coherent integration time is typically at least 20ms, and may be as long as ~1 second in some instances, for example in environments where weak signals or reflections are prevalent. Each point on the graph (shown schematically at 404) corresponds to a point in (∆^, ∆^̇) space, where each point in the space represents a possible combination of offset values. A search space (“search window”) can be defined as an upper and lower bound along each axis of the (∆^, ∆^̇) space, between which a subset of the points in this space are contained. The points in the graph represent the hypothesised (∆^, ∆^̇) pairs generated by the hypothesis unit 114 and represented by the corresponding phasor sequences and resulting phase-compensated correlation signals. Referring back to Figure 3, at step S209, the signal processing unit 118 populates the search space. More specifically, the search space is populated with the phase-compensated correlation signal power, z, of each of the phase-compensated correlation signals calculated for each of the received signals. The dependency of the local signal on the phasor sequences generated by the phase compensation unit 112 means that a phase-compensated signal power value z is function, F, of the hypothesised frequency offset ∆^ and frequency rate offset ∆^̇of the local oscillator 106: z = F(∆^, ∆^̇). The function F is constructed by combining the phase-compensated correlation signal power values computed in (∆^,∆^̇) space for each received signal 14, 16, 18. In some examples, the combination can be carried out by a sum or weighted sum of the z values computed for each point in (∆^,∆^̇) space, for each of the remote sources. Example (arbitrary) contours are plotted on the graph 400 as a simplified illustration of how values of the function F could vary over the ^∆^, ∆^̇^ space. In use during a positioning calculation, the correlator 110 performs the correlation for each hypothesis pair in the search window to generate the dataset from which the best-fit values of the frequency and frequency rate offsets can be selected. The preferred values of the frequency offset and frequency rate offset correspond to an optimised value of the function F. In other words, a mathematical optimisation process may be applied to the dataset to find the ^∆^, ∆^̇^ values that optimise the function F. This may be achieved by combining the results from each individual remote source using a suitable cost function (e.g. summation or weighted summation). In this embodiment, the optimisation comprises maximising the function F. A maximum 410 of the function F is shown in Figure 4. The maximum 410 corresponds to the best-fit values 412, 414 for the frequency offset and frequency rate offset in the time period T. Thus, based on the dataset 400, these best-fit values most closely represent the true error in the local oscillator during the particular time period T. The maximum value of the function may be found using standard techniques known in the art. For example, the maximum may be found by performing gradient ascent on the “complete” function F across the search space. In another example, when each bin is populated, the (combined) phase-compensated signal power for the bin is compared with the preceding maximum that has been obtained during population of the search space. If the value in the current bin exceeds the preceding maximum value, then the maximum value of the dataset is updated to the value of the current bin. In general, the correlation results z may be analysed to determine best-fit values 412, 414 using any other constraint or optimisation mechanism. For example, dependent on the mathematical configuration used, a search for a minimum value may be performed, or alternatively a best-fit determination based on more complex criteria or a suitable cost function may be performed. It will be appreciated that testing every hypothesis pair value within the search space to determine the best fit values for the frequency and frequency rate offsets of the local oscillator is both time consuming and requires a large amount of compute resources. Referring back to Figure 3, in step S211 of the method, the signal processing unit 118 adjusts the search space based on a determined parameter of the receiver, with the aim of minimising the computational resources required to determine the frequency and frequency rate offset errors associated with the local oscillator. This is particularly advantageous when the method is performed in handheld positioning devices such as smartphones where processing power and battery resources are limited. In one embodiment, the search space may be adjusted based on a subset of the dataset corresponding to a subset of the plurality of received signals. The steps of this example method 300 of adjusting the search space are set out in Figure 5. At step S301, initial best fit values of ∆^ and ∆^̇are selected based on a subset of the received signals processed by the receiver within an initial search space. With reference to Figure 6, initially a large ^∆^, ∆^̇^ search space is defined as schematically illustrated at 602. The receiver may then process the signal 14 received from remote source 2 by populating the initial large search space 602 with signal power gain values z calculated by providing phase compensation of the received signal based on the plurality of ^∆^, ∆^̇^ hypotheses encompassed by search space 602. Based on this initial plot, a “hotspot” of signal power gain in the ^∆^, ∆^̇^ space is revealed, as schematically represented by the contour lines in the plot of Figure 6. The initial best fit values 612, 614 for the frequency and frequency rate offsets are then determined from the maximum 610 (or other optimisation) of the dataset 600 obtained from the first remote source 2 across the initial search space 602. Referring back to Figure 5, at step S303, the signal processing unit 118 dynamically adjusts the search space based on the initial best fit values of the frequency and frequency rate offsets. More specifically, the signal processing unit 118 adjusts the search space by reducing its size. In other words, the search space is adjusted by reducing the range of ∆^ values and the range of ∆^̇values to search over when processing the signals 18 and 16 received from remote sources 4 and 6. The adjusted search space, which has been reduced in size, is illustrated at 606 in Figure 6. The adjusted search space 606 may be set based on a percentage of the initially determined offsets, such as a search window of ± 50% of the initial best fit values of the frequency and frequency rate offsets. The search window size may alternatively be calculated using more complicated formulas. The resolution of the adjusted search space 606 may be maintained to be the same as that of the initial larger search space 602. In other words, the size of the frequency bins of ∆^ and ∆^̇are the same in both the initial broad search space 602 and the adjusted smaller search space 606. This means that the number of correlation calculations to perform in the adjusted (smaller) search space is advantageously reduced compared to the initial search space, thereby reducing the battery power and compute resources required to do so. Alternatively, in some optional embodiments, in step S305, the signal processing unit 118 may additionally adjust the resolution when adjusting the search space. The resolution may be increased (i.e. smaller bin sizes) across one or both of ∆^ and ∆^̇. In some cases this may mean that the number of correlation calculations to perform in the adjusted search space 606 is similar to (or even greater than) that of the initial search space 602. However, advantageously, by adjusting the search space in this manner (e.g. to focus on the “hotspot” revealed by the processing performed on the first received signal 14), the accuracy of the determined frequency and frequency rate offsets of the local oscillator 106 may be increased. Once the signal processing unit 118 has calculated the adjusted search space by reducing its size (and, optionally, adjusting the resolution), in step S307 the signal processing unit feeds back this information to the hypothesis unit 114. Based on this feedback from the signal processing unit, the hypothesis unit generates the required ∆^ and ∆^̇hypotheses in order to populate the adjusted search space using the corresponding phase-compensated correlation signals. In the example described above, the initial best fit values of the frequency and frequency rate offsets were determined based on the phase-compensated correlation values calculated from a single remote source 2. In practice, it is preferred to determine the initial best fit values based on phase-compensated correlation values from a plurality of (e.g. three) different remote sources before adjusting the search space for the next N remote sources. This provides additional confidence in the initial estimates for the ∆^ and ∆^̇values before adjusting the size of the search space to focus on a particular region. For example, if only one received signal were used for the initial determination of the frequency and frequency rate offsets, there is the possibility that this could be a reflected or multipath interfered signal which would provide an erroneous initial estimate for the frequency offset values and, consequently, an incorrect adjustment of the search space. Using a plurality of positioning signals to determine the initial frequency and frequency rate offsets avoids this issue because each of the received positioning signals has a common hypothesised frequency offset that produces a strong phase-compensated correlation signal. Referring back to the flow diagram of Figure 3, following adjustment of the search space, the adjusted search space is populated with the phase-compensated correlation results calculated for the received signals for the remaining remote sources (i.e. the remote sources not used to generate the initial plot used to adjust the search space). In this way, steps S209 and S211 of Figure 3 are not necessarily performed sequentially, and may be performed in parallel. Following population of the adjusted search space, at step S213, the signal processing unit 118 selects a preferred frequency offset value ∆^ and a preferred frequency rate offset value ∆^̇based on the (adjusted) dataset. In the same manner as discussed above, the preferred values of ∆^ and ∆^̇may be found by applying a mathematical optimisation process to the dataset across the adjusted search space. This may typically involve finding a maximum of the function z across the adjusted search space. In the embodiment discussed above, the subset of the dataset corresponds to a subset of the received signals. In another embodiment, the search space may be adjusted based on a subset of the dataset generated from received signals from all of the remote sources. Such a technique is schematically illustrated in Figure 7, which shows a dataset 700. Initially a large search space is defined as schematically shown at 702. As discussed above, the signal processing unit 118 begins to populate the initial search space 702 based on the hypotheses generated in the hypothesis unit 114 and resulting correlation signals, from each of the remote sources 2, 4, 6. The initial correlation results are schematically shown at 716, which in this example are close to the “true” point 710 in the ^∆^, ∆^̇^ space representing the best fit values for the frequency error of the local oscillator. The initial X data points 716 populating the search window 702 can be used to determine an “initial” estimate of the frequency and frequency rate offsets. Based on these initially determined values of ∆^ and ∆^̇, the search window 702 may then be adjusted to reduce its size, as schematically shown at 706. The adjusted search window may be set based on a percentage of the initially determined offsets. In some embodiments, the first test point of a search window may effectively set the initial estimate for the offset values, as the search space may be adjusted based on the corresponding frequency offset of the first correlation value z. This may be the case if there is prior knowledge of the expected “true” frequency offset, and the initial correlation result used to populate the search space is within a predetermined threshold of the first point. Prior knowledge of the expected “true” frequency offset may include knowledge of the local oscillator behaviour in the current operating conditions, or a best-fit (∆^,∆^̇) pair calculated from a previous time period. In other scenarios, there may be little or no prior knowledge of the expected frequency offset of the local oscillator, and a larger number of z values are desired before adjusting (narrowing) the search space based on the initial subset. Turning back to Figure 3, at step S215, the signal generator 108 generates a local signal using the frequency and frequency rate offsets selected in step S213. In more detail, once the ∆^ and ∆^̇values have been selected in step S213, these are passed to the signal generator. The signal generator (which is typically a frequency synthesiser) is then configured to use the frequency reference provided by the local oscillator 106 and apply the ∆^ and ∆^̇values in order to generate a local signal that is corrected for the errors or instabilities in the local oscillator over the time period T. In practice, the frequency and frequency rate offsets (“corrections”) may be applied using a suitable phasor sequence over the time period T, element-wise mixed with the local signal that has been stored in memory. This may be a phasor sequence that was previously generated by the phase compensation unit 112 and stored in memory. In other examples, a new phasor sequence may be generated based on the selected frequency and frequency rate offsets. At step S217, the receiver uses the corrected local signal provided by the signal generator 108 to calculate a positioning solution. This is performed by correlating the corrected local signal with a received signal in the correlator 110 to provide a range or pseudo-range calculation to the corresponding remote source, as is known in the art. The corrected local signal may be used to calculate other navigation or tracking metrics such as a velocity, a direction of motion, or a time. In the embodiments discussed above, the search space was adjusted within a particular time period (epoch) for which a positioning solution is calculated. Figure 8 sets out the principal steps of a method 400 according to an embodiment of the invention in which the search space may be dynamically adjusted between epochs (e.g. between iterative cycles of the receiver calculating a positioning solution). The steps S401 to S415 of the method 400 substantially correspond to the steps S201 to S217 of the method 200 described in Figure 3, with the omission of step S211. The method 400 begins at step S401 where the receiver 100 receives a plurality of positioning signals 14, 18, 16 from the reference sources 2, 4 and 6 respectively. At step S403 the motion unit 116 determines the motion of the receiver 100, in the manner described herein above in relation to step S203 of the method 300. At step S405, a plurality of phase-compensated correlation signals are calculated based on the motion of the receiver determined in step S403, and additionally based on hypotheses of the frequency and frequency rate offsets (or “errors”) of the local oscillator 106. The process for calculating the plurality of phase- compensated correlation signals is the same as that set out herein above with reference to step S205 of the method 200. At step S407, the signal processing unit 118 generates a search space parameterized by ∆^ and ∆^̇, for example as schematically illustrated in Figure 4. Upon initialisation of the receiver (i.e. during the first iterative cycle of the steps S401 to S415), the initial search space may be a predefined (“default”) search space having a predefined size, shape and resolution. The search space may then be adjusted between iterative cycles as will be discussed below. At step S409 of the method, the signal processing unit 118 populates the search space. In more detail, the search space is populated with phase-compensated correlation signal power values, z, of each of the phase-compensated correlation signals calculated in step S405. This is performed in the same manner as has been described above with reference to step S209 of Figure 3. At step 411, the signal processing unit selects a preferred frequency offset value ∆^ and a preferred frequency rate offset value ∆^̇based on the populated data set. This is typically based on a maximum of the function F of the completed ^∆^, ∆^̇^ search space. The preferred values may be selected based on any suitable technique for finding a maximum of the function F. Following selection of the preferred frequency and frequency rate offset values, at step S413 the signal generator 108 generates a (corrected) local signal using the frequency and frequency rate offset values selected in step S411. As described herein above, the signal generator is configured to use the frequency reference provided by the local oscillator 106 and apply the ∆^ and ∆^̇values to generate a local signal that is corrected for the errors or instabilities in the local oscillator. At step S415, the receiver uses the corrected local signal provided by the signal generator 108 to calculate a positioning (or other navigation or tracking) solution, in the same manner as described above with reference to step S217 of Figure 3. The method 400 then returns to step S401 via step S417 in which the search space is adjusted for the subsequent iteration of the cycle of steps S401 to S415 (subsequent epoch). This advantageously enables the search space to be dynamically adjusted such that it provides the most computationally efficient way to determine the clock error of the local oscillator for a particular iterative cycle. In one embodiment, step S417 comprises adjusting the size and / or resolution of the search space based on previously selected frequency and frequency rate offsets calculated in a preceding epoch. For example, the size of the search space may be reduced to focus on a particular region of the search space in which the previously selected ∆^ and ∆^̇values were located, in a similar manner to that schematically shown in Figure 6. The reduction in size of the search space is typically based on a range defined by previously selected ∆^ and ∆^̇values. For example, the adjusted search space may be defined by a range of ∆^ and ∆^̇values that each cover + / - 50% of the selected values from the preceding iteration. Although in some embodiments the search space may be adjusted through amendment of both of the ∆^ and ∆^̇ranges, in some embodiments, only one of the ranges may be adjusted. For example, if there is more uncertainty in the estimated frequency offset of the local oscillator compared to the frequency rate offset, then the range of the frequency rate dimension of the search space may be reduced to a tighter range than the frequency offset dimension. In the above embodiments, the adjustment of the search space has been performed based on the results of populating the search space, either within a given epoch, or between epochs. In other words, the search space may be dynamically adjusted based on a determination of the frequency and frequency rates offsets themselves. Alternatively or additionally, the search space may be adjusted based on a determination of a different parameter of the receiver, as will now be discussed. In some embodiments, the search space may be adjusted based on the motion of the receiver determined in step S403. Depending on the motion of the receiver, either or both of the ∆^ and ∆^̇ranges of the search space may be adjusted at step S417 in view of a predetermined threshold of a metric of the receiver motion. For example, if the motion measured by the motion unit 116 indicates that the receiver is moving with a speed that is greater than a predetermined value (e.g. if the receiver is positioned within a fast-moving vehicle), then relatively larger ranges of ∆^ and ∆^̇may be used to define the search space in the subsequent epoch compared to if the measured speed is less than the predetermined value. As the speed of the receiver increases, any error in the measured motion of the receiver will have a relatively larger effect on the phase compensation, and thus a larger initial search window is preferred (at least initially) in order to ensure that the ∆^ and ∆^̇offset values of the local oscillator will be captured within the search space. In another example, the search space may be adjusted in step S417 based on a confidence level of the motion of the receiver determined by the motion unit 116. This may be a confidence level in the speed or direction of motion of the receiver, for example. If the confidence level of the motion is below a predetermined threshold, then the search space may be adjusted to define a relatively large search window that is preferred compared to if the confidence level is greater than the predetermined threshold. This ensures that the values for the frequency and frequency offset of the local oscillator will be captured within the search space. Adjustment of the search space based on the determined receiver motion is typically performed between epochs, although it is envisaged that the adjustment could be performed based on the receiver motion within a given epoch. In the above examples, the search space may be defined or adjusted based on the determined motion of the receiver by the motion unit 116. Alternatively or additionally, the search space generated in step S407 may be generated based on a measured operating condition of the receiver. Physical properties of the local oscillator 106, such as temperature or its inertial state, affect the stability of the local reference signal produced by the local oscillator. For example, the stability of a local oscillator is typically adversely affected (i.e. increased or more frequent changes in the ∆^ and ∆^̇offset values) when the local oscillator is at a higher temperature, or while a touchscreen of the device is in operation (due to heating or electromagnetic effects, for example). The temperature of the local oscillator may be measured by a using a thermocouple or a thermistor that is in close proximity with the local oscillator. In such cases, a relatively larger search window is preferred. Thus, if a measured operating condition of the receiver is predicted to change the frequency stability of the local oscillator, the search space may be adjusted accordingly at step S417. Examples of operating conditions of the receiver that may be used to define and / or adjust the search space include: temperature, a rate of change of temperature, a voltage of, or associated with, the local oscillator, a rate of change of this voltage, and a motion of the local oscillator, such as the presence or degree of an impact or vibration. Any number of and combination of operating conditions may be implemented. Adjustment of the search space based on the determined receiver operating condition is typically performed between epochs, although it is envisaged that the adjustment could be performed based on the operating condition within a given epoch. The search space may be adjusted based on a pre-populated look-up table, for example stored in memory 124 and accessible by the signal processing unit 118. Such a look-up table may be populated with a predetermined range for each of ∆^ and ∆^̇, for a selection of receiver motion (e.g. speed, confidence level) and / or operating conditions (e.g. temperature). A particular lookup table may be utilised dependent on an expected stability of the receiver’s local oscillator, for example based on the receiver chipset. In some examples, the search space may be adjusted based on an external environment parameter. The shape of the search space may be adjusted based on knowledge or prior knowledge of the receiver’s signal environment. Signal directions of arrival may be mapped onto the search space. Therefore, the search space may be adjusted to remove (or otherwise ignore) regions of the search space that are expected to have a blocked LOS direction. Techniques known to the skilled person in the art may be used to determine whether a particular LOS direction to a remote source is likely to be blocked. For example, a 3D building model may be used to determine if a LOS direction is blocked, based on a current estimate of the receiver location. In other examples, analysis of the signals received at the receiver may be used to determine if a LOS direction is blocked (e.g. as described further in WO2019 / 058119). The search space may be adjusted to change its shape by removing regions corresponding to those directions that are expected to receive no (or minimal) phase-compensated correlation signal power due to the LOS direction being blocked. This may be achieved by changing the ranges of the ∆^ and ∆^̇dimensions. In another example, a weighting mask may be applied that has zero weighting for the region(s) where no power is expected. As a further example, such a mask may have a zero weighting for bins in a certain region(s) of the ^∆^, ∆^̇^ search space where excess power is being transmitted that is not caused by the errors in the local frequency reference (e.g. due to a detected spoofer). The zero weighting prevents the erroneous excess power dominating the dataset and providing incorrect values for the frequency and frequency rate offsets. Adjustment of the search space in this way may occur within an epoch or between epochs.
Claims
CLAIMS 1. A method, comprising: (a) receiving, at a receiver, a plurality of signals from a plurality of remote sources; (b) providing a plurality of local signals using a frequency reference generated by a local oscillator; (c) determining a motion of the receiver; (d) for each of the plurality of received signals: calculating a plurality of phasor sequences that are indicative of the phase evolution of the received signal due to the component of the determined motion of the receiver along a selected direction of arrival of the received signal, and wherein each of the plurality of phasor sequences is further indicative of a respective hypothesis pair of a frequency offset, ∆^, and a frequency rate offset, ∆^̇, of the frequency reference, each of the plurality of phasor sequences being indicative of a different hypothesis pair; and calculating a plurality of phase-compensated correlation signals by, for each of the plurality of phasor sequences: correlating the received signal with a corresponding one of the local signals to calculate a correlation signal; and calculating a phase-compensated correlation signal by providing phase compensation of at least one of the local signal, the received signal and the correlation signal using the phasor sequence; (e) generating a search space parameterized by ∆^ and ∆^̇; (f) populating the search space based on the signal powers of the plurality of phase-compensated correlation signals calculated for the plurality of hypothesis pairs, for each of the plurality of received signals, to thereby generate a dataset of phase-compensated correlation signal power for the plurality of remote sources as a function of ∆^ and ∆^̇; and(g) selecting a preferred frequency offset as a frequency offset of the frequency reference based on the dataset; wherein the method further comprises adjusting the search space based on a determination of a receiver parameter and / or an external environment parameter.
2. The method of claim 1, wherein the preferred frequency offset corresponds to an optimised value of the phase-compensated correlation signal power as a function of ∆^ and ∆^̇.
3. The method of claim 2, wherein the preferred frequency offset corresponds to a maximum of the phase-compensated correlation signal power as a function of ∆^ and ∆^̇.
4. The method of any of the preceding claims, wherein the receiver parameter comprises a determined frequency offset and / or a determined frequency rate offset of the frequency reference based on a subset of the dataset.
5. The method of claim 4, wherein the subset of the dataset corresponds to a subset of the plurality of received signals.
6. The method of claim 4 or claim 5, wherein the search space is adjusted based on a percentage of the determined frequency offset and / or the determined frequency rate offset.
7. The method of any of the preceding claims, wherein the receiver parameter comprises a previously selected frequency offset and / or a previously selected frequency rate offset .
8. The method of claim 7, wherein the search space is adjusted based on a percentage of the previously selected frequency offset and / or the previously selected frequency rate offset.
9. The method of any of the preceding claims, wherein the receiver parameter comprises the motion of the receiver.
10. The method of any of the preceding claims, wherein the receiver parameter comprises an operating condition of the receiver.
11. The method of any of the preceding claims, wherein the external environment parameter comprises a probability that a shortest geometrical path between the receiver and a remote source is blocked.
12. The method of any of the preceding claims, wherein the external environment parameter comprises a building model.
13. The method of any of the preceding claims, wherein adjusting the search space comprises one or more of: adjusting the size of the search space, adjusting the shape of the search space, adjusting the resolution of the search space.
14. The method of any of the preceding claims, further comprising selecting a preferred frequency rate offset of the frequency reference, based on the dataset.
15. The method of any of the preceding claims, further comprising using the preferred frequency offset to provide a corrected local signal.
16. The method of claim 15, further comprising using the corrected local signal to calculate a metric of interest, preferably wherein the metric of interest is at least one of a position of the receiver, a velocity of the receiver, a direction of motion of the receiver, a time.
17. A system, comprising: a receiver; a local oscillator configured to generate a frequency reference; a motion unit configured to determine a motion of the receiver; and one or more processors configured to perform the steps of:(a) receiving, at the receiver, a plurality of signals from a plurality of remote sources; (b) providing a plurality of local signals using the frequency reference; (c) determining a motion of the receiver; (d) for each of the plurality of received signals: calculating a plurality of phasor sequences that are indicative of the phase evolution of the received signal due to the component of the determined motion of the receiver along a selected direction of arrival of the received signal, and wherein each of the plurality of phasor sequences is further indicative of a respective hypothesis pair of a frequency offset, ∆^, and a frequency rate offset, ∆^̇, of the frequency reference, each of the plurality of phasor sequences being indicative of a different hypothesis pair; and calculating a plurality of phase-compensated correlation signals by, for each of the plurality of phasor sequences: correlating the received signal with a corresponding one of the local signals to calculate a correlation signal; and calculating a phase-compensated correlation signal by providing phase compensation of at least one of the local signal, the received signal and the correlation signal using the phasor sequence; (e) generating a search space parameterized by ∆^ and ∆^̇; (f) populating the search space based on the signal powers of the plurality of phase-compensated correlation signals calculated for the plurality of hypothesis pairs, for each of the plurality of received signals, to thereby generate a dataset of phase-compensated correlation signal power for the plurality of remote sources as a function of ∆^ and ∆^̇; and (g) selecting a preferred frequency offset as a frequency offset of the frequency reference based on the dataset; wherein the method further comprises adjusting the search space based on a determination of a receiver parameter and / or an external environment parameter.
18. The system of claim 17, wherein the one or more processors are configured to perform the method according to any of claims 1 to 16.
19. The system of claim 17 or claim 18, wherein the system is a positioning system, preferably a GNSS positioning system.
20. The method or system of any of the preceding claims, wherein the receiver is a GNSS receiver.
21. The method or system of any of the preceding claims, wherein the local oscillator comprises a temperature-compensated crystal oscillator, TCXO, a voltage-controlled crystal oscillator, VCXO, or a temperature-sensing crystal oscillator, TSXO.
22. The method or system of any of the preceding claims, wherein the plurality of received signals comprise GPS L1 signals and / or GPS L5 signals.
23. The method or system of any of the preceding claims, wherein the receiver comprises a right hand circularly polarised, RHCP, antenna.
24. The method or system of any of the preceding claims, wherein the receiver comprises an antenna having a length that is shorter than a wavelength of the received signals.
25. The method or system of any of the preceding claims, wherein the receiver comprises a patch antenna or a helical antenna.