Method, apparatus and system for improving radio signal reception
By employing gradient analysis to determine frequency and frequency rate offsets in low-cost oscillators, the method improves signal reception and positioning accuracy in challenging environments, addressing instability issues in consumer radio devices.
Patent Information
- Application Number
- PCT/GB2025/050600
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-21
- Filing Date
- 2025-03-21
- Publication Date
- 2025-09-25
AI Technical Summary
Low-cost local oscillators in modern consumer radio devices, such as quartz oscillators, are relatively unstable, making it difficult to detect weak signals in challenging environments like urban canyons or indoors, necessitating longer coherent integration periods for effective positioning calculations, which is not feasible without prohibitively expensive atomic clocks.
A method using gradient analysis to efficiently determine frequency and frequency rate offsets in a local oscillator by selectively populating a search space with joint power values, leveraging assumptions about the dataset's properties to reduce computational load and improve signal reception.
This approach enhances the stability of low-cost oscillators, allowing accurate signal detection and positioning in challenging environments by efficiently identifying optimal frequency offsets, reducing computational resources, and improving signal reception.
Smart Images

Figure GB2025050600_25092025_PF_FP_ABST
Abstract
Description
METHOD, APPARATUS AND SYSTEM FOR IMPROVING RADIO SIGNAL RECEPTIONBACKGROUNDField
[0001] Embodiments of the present principles relate to radio systems. In particular, embodiments are directed to a method, apparatus, and system for improving radio signal reception in a radio signal receiver.Description of the Related Art
[0002] Modem radio system 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 Global Navigation Satellite System (GNSS) positioning (e.g., such systems include GPS, GLONASS, Beidou, GALILEO, and the like). 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 (i.e. , a pseudorange). By performing such ranging calculations for at least four satellites, a position fix for the receiver can be obtained.
[0003] However, the local oscillators used in modem consumer radio 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.
[0004] However, some positioning applications require longer periods of stability for 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 buildings 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 long coherent integration period in order for these calculations to be effective.
[0005] Therefore, there is a need in the art for improving the stability of low cost oscillators, such as low-cost crystal oscillators, to obviate a need for implementing prohibitively expensive devices, such as such as atomic clocks, which are impractical for modern consumer radio devices.SUMMARY
[0006] Embodiments of the present principles generally relate to a method, apparatus and system for improving radio signal reception in a radio signal receiver as shown in and / or described in connection with the figures and the disclosure provided herein.
[0007] Various features and advantages of the present principles can be appreciated from a review of the following detailed description along with the accompanying figures in which like reference numerals refer to like parts throughout.BRIEF DESCRIPTION OF DRAWINGS
[0008] So that the manner in which the above recited features of the present principles can be understood in detail, a more particular description of the principles, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments in accordance with the present principles, and are therefore not to be considered limiting of its scope, for the principles may admit to other equally effective embodiments.
[0009] Figure 1 depicts a schematic diagram of a communication environment in which an embodiment of the present principles can be applied in accordance with at least one embodiment of the present principles;
[0010] Figure 2 depicts a schematic diagram of a receiver that operates in accordance with at least one embodiment of the present principles;
[0011] Figure 3A depicts is a flow diagram of a method of operation of a radio signal receiver of the present principles in accordance with at least one embodiment of the present principles;
[0012] Figure 3B depicts a flow diagram of the continuation of the method of Figure 3A in accordance with at least one embodiment of the present principles;
[0013] Figure 4 depicts a schematic diagram of a search space used in receiving radio signals in accordance with at least one embodiment of the present principles;
[0014] Figure 5 depicts a schematic diagram of a search space used in receiving radio signals in accordance with at least one alternate embodiment of the present principles; and
[0015] Figure 6 depicts a plot diagram 400 of a process of generating a dataset used in receiving radio signals in accordance with at least one embodiment of the present principles.
[0016] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. The figures are not drawn to scale and may be simplified for clarity. It is contemplated that elements and features of one embodiment may be beneficially incorporated in other embodiments without further recitation.DETAILED DESCRIPTION
[0017] Embodiments of the present principles generally relate to methods, apparatuses and systems for improving radio signal reception in a radio signal receiver. While the concepts of the present principles are susceptible to variousmodifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and are described in detail below. It should be understood that there is no intent to limit the concepts of the present principles to the particular forms disclosed. On the contrary, the intent is to cover all modifications, equivalents, and alternatives consistent with the present principles and the appended claims. For example, although embodiments of the present principles will be described primarily with respect to specific radio signals originating from specific transmitters and being received by specific receivers, embodiments in accordance with the present principles can be applied to substantially any radio signals originating from substantially any transmitter and being received by substantially any receiver. In addition, although the following example embodiments and methods are described with respect to a positioning system configured to calculate a position of a receiver, in alternate embodiments, the principles described herein can be applied in other types of systems configured to determine a value using an unstable local oscillator. In such embodiments, the positioning signals as described below can be replaced more generally with other types of (radio frequency) signals.
[0018] Embodiments of the present principles provide methods, apparatuses, and systems, which include at least calculating a phasor sequence that is indicative of the phase evolution of a respective received signal due to a component of a determined receiver motion along a respective selected direction of arrival of the received signal, in which the phasor sequence is further indicative of a hypothesis pair of a frequency offset, Af, and a frequency rate offset, A , of the frequency reference, the hypothesis pair corresponding to a respective coordinate in a search space, and combining signal powers of each of phase-compensated correlation signals calculated for each of received signals representing a first joint power (a joint correlation result) for a plurality of remote sources as a function of Af and A . The methods, apparatuses and systems can further include repeating the process using a next hypothesis pair to compute a second joint power, applying gradient analysis to the first and second joint power to determine a next hypothesis pair to use to compute a next joint power, and determining an optimal joint power (an optimal joint correlation result) that identifies a preferred frequency offset as a frequency offset of the frequency reference.
[0019] In accordance with the present principles, a frequency and frequency rate offset in the frequency reference, which may be provided by a relatively unstable local oscillator, can be determined more efficiently and accurately. The determined frequency offset of the present principles can be used within a radio signal receiver to improve reception of radio signals. In embodiments of the present principles, efficient determination of the frequency offset is achieved by selectively populating a search space with joint power values, rather than exhaustively populating a search space by calculating a joint power (a combination of the power in the correlation results or signals associated with each source) for each coordinate within the search space or a search window of the search space. Embodiments of the present principles are performed using gradient analysis to determine the next frequency and frequency rate hypothesis pair to use to calculate the joint power. In one embodiment, an initial hypothesis pair (i.e. , a starting point) is determined using a property of a search space. The property is assumed before the dataset (i.e., of the search space) is selectively populated. For example, in some embodiments, a prediction about a distribution of the dataset can be made based on prior studies of local oscillators. The assumed property allows gradient analysis (i.e., gradient ascent or descent) to be performed with fewer iterations (i.e., by selecting and calculating fewer datapoints in the dataset) before the optimal joint power (e.g., a maximum joint power) of the dataset can be identified. As calculating each joint power is computationally intensive, this approach can save significant amounts of computational resources in comparison to an exhaustive population of the dataset. Implementing an assumed property of the dataset, in accordance with embodiments of the present principles can be used to constrain or otherwise inform the gradient analysis process to perform the process more efficiently in various ways. In some embodiments, selecting a preferred frequency offset can also be described as determining a best estimate of the frequency offset of the frequency reference.
[0020] In some instances, performing gradient ascent in one coordinate system can be considered equivalent to performing gradient descent in a different coordinate system, for instance where a negative multiplier is applied to each joint power. Therefore, in the description herein, both gradient ascent and gradient descent are intended to be included by the term “gradient analysis” as used herein. For this reason,it may be described herein that gradient analysis can be used to determine an “optimal” joint power, where optimal can be a maximum or a minimum depending on the choice of coordinate system.
[0021] In some embodiments, methods of the present principles can include a computer implemented method. A computer program product for performing the methods of various embodiments of the present principles can also be provided in a further embodiments. Methods of the present principles can be performed in a radio system to improve signal reception and can also be considered a method of determining a frequency offset of a frequency reference of a radio receiver. In such embodiments, the frequency reference can be provided by a local oscillator of the radio receiver.
[0022] In some embodiments, assuming the property of the dataset, wherein the dataset is a collection of joint power values, can be performed implicitly within another process or method. In one example, the gradient analysis is constrained or performed based on assumed principal components of the dataset. In another example, the search space can be initialised with a coordinate system that aligns with assumed principal components of the dataset. In any case, the assumed property can be any property that enables gradient analysis to be performed more efficiently.
[0023] In the description herein, the term “frequency offset” (A ) 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” (A , equivalently Ais 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. In some embodiments, a method of the present principles can be extended to higher order clock terms (for example the rate of change of the frequency rate), which can be advantageous if the oscillator is particularlyunstable. Functions performed “for each of the received signals” can also be described as performed for each of a plurality of selected remote sources. For example, remote sources can be selected from a local or online repository of positioning sources. In some embodiments, a particular remote source can be “selected” by generating a corresponding local signal, which can replicate a deterministic signal from the remote source.
[0024] In one embodiment, assuming a property of the dataset comprises assuming principal components of the dataset, in which using gradient analysis can be performed by setting a coordinate system of the search space to align with the principal components. In this way, gradient analysis can be performed more efficiently. In such embodiments, a transformed coordinate system enables the maximum of the dataset to be calculated and identified with fewer iterations.
[0025] In one embodiment, the principal components can be determined using a Principal Component Analysis, PCA, technique. The PCA technique can be performed as a preliminary step on a previously calculated search space dataset for a different frequency reference produced by the same or a similar type of local oscillator. In some embodiments, the principal components of the dataset can have the dimensions of (Af + A ) and (Af- A ).
[0026] In one embodiment, a method of the present principles can further include using the determined frequency offset of the frequency reference to correct a signal derived from the frequency reference during a calculation of a physical metric. For example, the determined frequency offset of the frequency reference could be used to correct a subsequent local signal produced using the frequency reference, or a correlation signal derived from correlating an uncorrected subsequently produced local signal with a received signal.
[0027] In one embodiment, the physical metric can include a position. In such embodiments, a method of the present principles can be used to calculate a physical position of the receiver. A method of the present principles works well in positioning calculations because in some challenging environments obtaining an accurate position fix requires integrating signals over a relatively long coherent integration time.Integrating coherently over long time periods, such as about one second, may not be possible if a local oscillator (and thus a frequency reference produced by the local oscillator) is not stable over the coherent integration period. In other embodiments, a physical metric could include any other metric that may require a high-quality frequency reference to calculate accurately, such as a time, a velocity, or a direction of motion.
[0028] In one embodiment, determining an optimal joint power can include determining a maximum joint power. In such embodiments, the optimal joint power is the maximum joint power, such that function (t) of a method of the present principles includes determining a maximum joint power based on the selective population. Such a maximum joint power can include a global maximum or a local maximum. In alternate embodiments in which other coordinate systems are implemented, determining an optimal joint power can include determining a minimum joint power.
[0029] In some embodiments, using gradient analysis to select subsequent coordinates for population can be performed for a predetermined number of iterations. In such embodiments, the predetermined number of iterations can be set to a sufficiently high number of iterations for calculating the optimal joint power accurately, while also being sufficiently low to reduce the computational load. In some embodiments, subsequent coordinates can be selected as such, until a more optimal joint power cannot be found.
[0030] In some embodiments, the process of using gradient analysis including determining a gradient between populated coordinates in the search space, and the process of determining joint power is repeated until the gradient is determined to have crossed a threshold or is substantially zero (i.e., the joint power has reached a maximum or minimum). In such embodiments, the populated coordinates can, for example, include the two most recently populated coordinates or two adjacent or nearby coordinates corresponding to the joint power with the highest (or lowest, depending on the choice of coordinate system) value. Accordingly, the selective population is only repeated as many times as necessary to find an optimal joint power to save computational resources.
[0031] In some embodiments, selecting one or more first coordinates in accordance with the present principles can include selecting two coordinates. In this way, a slope can be derived from two datapoints, providing a starting point for performing gradient analysis. In some embodiments, the two coordinates can be adjacent or located nearby (i.e. , within about 2 or 3 coordinates) in the search space.
[0032] Alternatively or in addition, in some embodiments, three or more coordinates can be selected as initial coordinates. In the case of three coordinates, the coordinates can be non-colinear, such that a slope of a plane can be analysed during the gradient analysis.
[0033] In some embodiments of the present principles, determining a motion of the receiver can include assuming a movement based on a pattern of movement of the receiver in previous epochs or measuring a motion of the receiver using one or more (e.g., inertial) sensors. In such embodiments, a motion of the receiver can be calculated using one or more sensors or can be inferred using a previous pattern of movement. In some embodiments, a trained machine learning model, such as a trained neural network, can be implemented to determine a motion of the receiver. It should be appreciated that determining a component of motion could be performed in a number of ways known in the art, for instance using standard mechanics equations, and such known ways are to be considered included in the embodiments of the present principles.
[0034] Figure 1 depicts a schematic diagram of a communication environment in which an embodiment of the present principles can be applied in accordance with at least one embodiment of the present principles. In the embodiment of Figure 1 , 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.
[0035] 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 can include any known or unknown pattern of transmitted information, either digital or analogue, that can befound within a broadcast signal by a cross-correlation process using a local copy of the same pattern. The received signal can 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 can include pilot symbol sequences that can be used for correlation, such as those used in orthogonal frequency division multiplexing (OFDM), long term evolution (LTE) and digital video broadcasting (DVB) standards.
[0036] Referring back to Figure 1 , in some embodiments of the present principles, the antenna 102 can include a RHCP antenna. In the embodiment of Figure 1 , the receiver 100 can also receive radio signals from a remote ground source 8. Further in the embodiment of Figure 1 , a 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. In Figure 1 , the same building 12 can also provide a path for a reflected signal from the first satellite 2 to the antenna 102.
[0037] In the embodiment of Figure 1 , the remote reference sources can operate as part of any navigation system known in the art, for example a GNSS system. In general, the reference sources can comprise any combination of satellite sources, terrestrial sources, or other types of reference sources.
[0038] Figure 2 depicts a schematic diagram of a receiver of the present principles, such as the receiver 100 of Figure 1 , which operates in accordance with at least one embodiment of the present principles. In the embodiment of Figure 2, the receiver 100 is configured as (or as a component part of) a smartphone, but in general can be configured as (or as a component part of) any other device, for example a laptop, tablet, vehicle navigation device, or wearable device, capable of determining a position or other navigation metric.
[0039] In embodiments of the present principles, the receiver can include (or be attached to) a right hand circularly polarised (RHCP) antenna. In some embodiments,the receiver of the present principles can include (or be attached to) an antenna having a length that is shorter than a wavelength of the received signals. In such embodiments, the antenna acts as a dipole. For example, the wavelength of the GPS L1 C / Asignal is approximately 19cm, and consequently the antenna can have a length shorter than 19cm (typically much shorter). Such embodiments are advantageous for use in smartphone and wearable devices, for example. In some embodiments, the receiver can include a patch antenna or a helical antenna.
[0040] In any of the embodiments of the present principles, the receiver can be a GNSS receiver. In such embodiments, the receiver can be implemented on an electronic user device such as a smartphone. In such embodiments, remote sources can include GNSS satellites. The plurality of received signals can include GPS L1 signals and / or GPS L5 signals. Alternatively or in addition, embodiments of the present principles can be applied to other (e.g., radio) signals such as cellular, DAB or DVB, Wi-Fi or Bluetooth signals received from respective remote sources.
[0041] Referring back to the embodiment of Figure 2, the receiver 100 includes 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, a hypothesis unit 114, a motion unit 116, signal processing unit 118, and positioning unit 120. In the embodiment of Figure 2, at least one 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. The at least one processor 122 can include any form of processor or combination of processors including, but not limited to, central processing units, microprocessors, microcontrollers, field programmable gate arrays, graphics processing units, digital signal processors, and the like. In the embodiment of Figure 2, the memory 124 can include one or more forms of non- transitory computer readable media including one or more of, or any combination of, read-only memory or random-access memory. In the embodiment of Figure 2, the various units of a positioning system are provided on the receiver 100; however, in alternative embodiments, the various units of the system can be provided separately with different associated processors or can be provided in a distributed fashion across a network.
[0042] In the embodiment of Figure 2, the front-end block 104 is configured to provide initial processing of signals received by the antenna 102 and can include any suitable components, such as, but not limited to, an amplifier, downconverter and / or an analogue to digital converter. The local oscillator 106 of Figure 2 can include a simple and low cost oscillator and can include a crystal oscillator such as a quartz oscillator. In the embodiment of Figure 2, the local oscillator 106 is configured to provide a frequency reference for various applications of the receiver 100.
[0043] In the embodiment of Figure 2, 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 116 corresponds to that of the antenna 102. 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 can include an inertial measurement unit (IMU) using inertial sensors, although other means of determining a motion of the receiver, such as barometers, magnetometers, visual odometry or GNSS systems, can alternatively or additionally be used. In some embodiments of the present principles, the motion unit 116 can include a trained machine learning model that can predict the motion of the receiver.
[0044] The various units and components of embodiments of a receiver of the present principles, such as the receiver 100 of Figure 1 , and their operation will be described herein with reference to Figures 3-6. For example,
[0045] Figures 3A and 3B depict a flow diagram of a method 200 of operation of a radio signal receiver of the present principles in accordance with at least one embodiment of the present principles. That is, Figures 3A and 3B depict a flow diagram of a method 200 for determining an error in, and correcting, the frequency reference provided by the low-cost local oscillator 106 of the receiver 100, according to at least one embodiment of the present principles. The method 200 will be described with reference to the receiver 100 and environment illustrated in Figures 1 and 2, although it should be appreciated the method 200 could be performed in otherenvironments with other suitable apparatuses. Although the steps of the method 200 are presented in order, the method 200 is not limited as such. For example, in some embodiments one or more of the method steps can be performed substantially simultaneously (e.g., in parallel).
[0046] The method 200 can begin at S201 during which the receiver 100 receives a plurality of signals 14, 18, 16 from the reference sources 2, 4 and 6, respectively. The received signals are typically digitized and buffered for use in subsequent repetitive processing. In the embodiment of Figures 3A and 3B, the broadcast signal received at the antenna 102 is an analogue signal and is amplified, downconverted to baseband or lower frequency and converted to digital form by an analogue to digital converter. In the embodiment of Figures 3A and 3B, these processes described in S201 take place in the front-end block 104 of a receiver of the present principles, such as the receiver 100 of Figures 1 and 2. The method 200 can proceed to S203.
[0047] At S203, the motion unit 116 determines the motion of the antenna of the receiver 100. In some embodiments, the motion unit 116 can measure the motion of the receiver 100 using data obtained from inertial sensors as part of an IMU, for example integrating acceleration measurements from an accelerometer to infer a velocity of the receiver 100. In some embodiments, the motion unit 116 can assume (“predict”) the motion of the receiver 100 based on patterns of movement in previous epochs. For instance, if previous measurements indicate that the receiver 100 is moving in a constant direction and at a constant speed, then it can 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 100 is located within a vehicle moving along a straight road. By assuming the motion of the receiver 100 in previous epochs, processing load can be reduced, and battery resources conserved. Alternatively or in addition, in some embodiments, the motion unit 116 can compute the motion of the receiver based upon historical motion at specific times of day or can use machine learning, for example, a trained neural network, to predict motion from historical motion data. The method 200 can proceed to S205.
[0048] At S205, the signal processing unit 118 generates a search space parameterized by (i.e., having dimensions of) A and A , a frequency offset and an offset in a rate of change of frequency (“frequency rate”), respectively. Such a search space is schematically illustrated in Figure 4.
[0049] That is, Figure 4 depicts a graph 400 comprising two axes that represent a range of possible frequency offset values A , on the y-axis, and a range of frequency rate offset values A , on the x-axis, of the local oscillator 106, for a particular time period (“epoch”) T. In some embodiments, such as the embodiment of Figure 4, this time period, T, can be a time period for which it is assumed that the local oscillator 106 has a substantially constant frequency rate offset and can correspond to the desired coherent integration time. In some embodiments, the desired coherent integration time can be at least 20ms and can be as long as ~1 second, for example in environments where weak signals or reflections are prevalent. In the embodiment of Figure 4, each point (or “bin”) on the graph (shown schematically at 404) corresponds to a point in (A , A ) space, where each point in the space represents a possible combination of offset values for the local oscillator 106.
[0050] A multi-dimensional representation of a function “z” is shown in the graph 400 of Figure 4, which will be described in further detail below. Briefly, the function, z, represents the combined signal power of phase-compensated correlation signals calculated (in a subsequent operation described below) for each of the signals received at S201 as a function of A and A . In some embodiments, each phase- compensated correlation signal has had a phase correction applied based on the corresponding point or “bin” in A and A space. Points in A and A space that are closer to the “true” offset in the local oscillator 106 provide a more effective correction, thereby counteracting the instability of the local oscillator 106 more effectively. This, in turn, increases the signal power of each of the phase-compensated correlation signals. By determining values for the function, z, across the search space to find a maximum (or minimum, in other coordinate systems) in accordance with the present principles, an estimate of the frequency and frequency rate offset in the local oscillator 106 can be identified. Alternatively or in addition, in some embodiments, parametersother than the power can be optimised, or the function, z, can represent a more complex cost function than the power of the correlation signals.
[0051] In some embodiments of the present principles, the “complete” function, z, is not calculated for the entire search space to identify the maximum of the function. As described in more detail below, in accordance with the present principles, gradient analysis techniques are used to selectively determine points in the search space for which the function, z, should be calculated (or “populated”). Optionally, the method 200 can leverage predictable patterns of local oscillator behaviour to perform gradient analysis more efficiently, i.e., the predictable patterns can be used to determine an initial coordinate in the search space. Alternatively or in addition, in some embodiments, the initial coordinate can be randomly selected. The use of gradient analysis in accordance with the present principles, enables a maximum or minimum of the function, and therefore a corresponding best estimate (or “optimal”) frequency and frequency rate offset of the local oscillator 106 to be identified by calculating as few points in the search space as possible.
[0052] Returning to S205 of method 200, at this stage, the function, z, has not been calculated. Nevertheless, in some embodiments, knowledge of generic local oscillator behaviour (e.g., based on studies of other local oscillators of the same or a similar kind or quality) enables one or more assumptions to be made about the function, z, before any values of the function have been calculated. For example, the temperature of the oscillator can indicate a particular frequency and frequency rate for the oscillator. In some embodiments, an offset can be computed as a coordinate where a maximum power should be located. This coordinate becomes the initial coordinate used as an initial hypothesis. Alternatively or in addition, in some embodiments, processor loading, screen activation, ambient temperature, and combinations thereof, can have a deterministic impact on the oscillator frequency can be noted, such that an initial coordinate for the search space can be logically selected. The method 200 can proceed to S207.
[0053] At S207, as an optional operation (as indicated by the dashed box), a property of a dataset is assumed, wherein the dataset is a collection of values of the function,z, in the search space. In such embodiments, the property can be any property that enables gradient analysis to be performed more efficiently. In the embodiment the method 200 of Figure 2, the assumed property is assumed principal components PC1 , PC2 of the dataset as shown in Figure 4. It should be noted that the principal components of the function, z, are related to how frequency and frequency rate impact the evolution of the correlation sequences with time. Briefly, principal components of a function represent the axes along which a function has the most variance, where lower principal component numbers indicate higher variance.
[0054] In some embodiments, the coordinate system of the search space can be reoriented based on the assumed principal components PC1 , PC2, as illustrated by the graph 400’ in Figure 5. The graph 400’ of Figure 5 has an axis parameterised (i.e. , with dimension of) Af+ Af along the y axis and A - Af along the x axis. Operating in this transformed search space enables gradient analysis to be performed more efficiently, as described in greater detail below.
[0055] S205 and S207 have been described as distinct steps for the purposes of illustration. In some embodiments, a transformed search space according to the graph 400’ can be initialised from the outset, in which case the assumption about the dataset is effectively performed simultaneously or implicitly. The method 200 can proceed to S209.
[0056] At S209, which comprises several sub operations as indicated by the indented positioning of the flow-chart boxes in Figure 3A, the search space is selectively populated. In Figure 3A, “Selective population” refers to the technique of not calculating z (joint power) for each Af , Af coordinate in a search space or search window, but rather calculating values at coordinates most likely to be (or be nearer) the maximum of the function, z. The method 200 can proceed to S211 .
[0057] At S211 , a starting (Af, Af) coordinate is selected for which to calculate a value of the function, z. In some embodiments, the starting coordinate can be picked arbitrarily or within a common range of oscillator offsets as described above. The method 200 can proceed to S213.
[0058] At S213, a value (joint power) for the selected coordinate is calculated in a series of further operations shown in S215 to S227, as indicated by the indented positioning of these blocks in Figures 3A and 3B.
[0059] That is, at S215, for each signal received at S201 (or equivalently for each remote source 2, 4, 6 and any further remote sources) a phase-compensated correlation signal is calculated in a series of further operations in S217 to S223. The phase-compensation is based on the motion of the receiver 100 determined in S203. Additionally, the phase-compensation is based on hypotheses of a frequency offset (A ) and a frequency rate offset (A ) of a frequency reference generated by the local oscillator 106, each offset corresponding to the currently selected coordinate in the search space. These offsets can also be referred to as frequency and frequency rate errors of the local oscillator 106. In the embodiment of Figures 3A and 3B, the signal 14 received from the first remote source 2 is considered first. That is, the first remote source 2 can be selected, e.g., from known positioning sources stored in the memory 124, for processing. The method 200 can proceed to S217.
[0060] At S217, the signal generator 108 generates a local signal corresponding to the signal 14 received from the first remote source 2, where the local signal is intended to replicate the signal 14. In some embodiments, the local signal and the received signal 14 can be deterministic positioning signals, for example, including Gold codes, as known in the art. The method 200 can proceed to S219.
[0061] At S219, a phasor sequence is calculated that is indicative of relative motion between the receiver 100 and the remote source 2 as well as a frequency correction and frequency rate correction corresponding to the currently selected coordinate (hypothesis pair) in the search space.
[0062] In some embodiments, to do this, the phase compensation unit 112 receives the determined motion of the receiver 100 from the motion unit 116. For example, in some embodiments, the phase compensation unit can receive the component of the determined motion along the LOS (“straight line”) direction between the receiver 100 and the remote source 2. In some embodiments, the component of the determined receiver motion along a particular direction can be calculated using standardmechanics equations as is known in the art. In some embodiments, the LOS direction can 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 can be determined using conventional GNSS ranging calculations based on the signals that are available. Alternatively or in addition, in some embodiments, 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).
[0063] The phase compensation unit 112 also receives from the hypothesis unit 114, a hypothesis pair of a frequency offset, A , and a frequency rate offset, A , corresponding to the currently selected coordinate in the search space. The frequency offset and frequency rate offset are with respect to a fully stable ideal frequency reference. 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. That is, the high- quality oscillators are more accurate and operate within a much lower frequency tolerance compared to many low-quality oscillators.
[0064] Upon receipt of the information from the motion unit 116 and the hypothesis unit 114, the phase compensation unit 112 generates a phasor sequence based on the determined component of motion of the receiver, for example, along the LOS direction to the remote source 2, and based on the current (A , A ) coordinate (or “hypothesis pair”). In more detail, the 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, for example, 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.
[0065] The phasor sequence comprises a plurality of phasors, with each phasor typically having the same time duration as a sample of the received signal. In some embodiments, there are 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. That is, each phasor, <|)i, contains an amplitude and a phase angle, and represents a phase compensation based upon the motion of the receiver 100 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, in some embodiments, a velocity of the receiver derived from the motion unit 116 can be used to determine a Doppler frequency shift introduced into the received signal 14 due to the motion of the receiver 100 along the line-of-sight direction. The Doppler frequency shift can then be integrated over time in order to estimate a phase value. Each phasor <|)i of the phasor sequence also contains phase compensation corresponding to the (A , A ) hypothesis pair for the time period, T. Thus, the phasor sequence can be referred to as a “phase-compensated” phasor sequence.
[0066] A phasor (|)i is 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. In some embodiments, the phasor <|)i is a cyclic phasor and can 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. The method 200 can proceed to S221 .
[0067] At S221 , a correlation signal is calculated by correlating the received signal with the corresponding local signal. The method 200 can proceed to S223.
[0068] At S223, a phase-compensated correlation signal is calculated for the received signal 14. In some embodiments, the phase-compensated phasor sequence is applied to the local signal, thereby generating a local signal that accounts for relative motion between the receiver 100 and the remote source 2 and includes a frequency andfrequency rate correction according to the currently selected coordinate in the search space. This adjusted local signal is then correlated with the received signal 14 at S221 , thereby calculating a phase-compensated correlation signal. As such, S221 and S223 are not distinct, and in some embodiments, can be performed simultaneously (i.e. , in parallel). In the embodiment of Figure 2, such an approach is illustrated schematically by arrow, i.
[0069] A technique for performing phase compensated correlation is known as SUPERCORRELATION™ as described in commonly assigned US patent 9,780,829, issued 3 October 2017; US patent 10,321 ,430, issued 11 June 2019; US patent 10,816,672, issued 27 October 2020; US patent publication 2020 / 0264317, published 20 August 2020; US patent publication 2020 / 0319347, published 8 October 2020, and US patent publication 2024 / 0045077, published 8 February 2024, which are hereby incorporated herein by reference in their entireties.
[0070] Alternatively or in addition, in some embodiments, the phase-compensated phasor sequences can be applied to the received signal 14, or a correlation signal derived from correlating the (unadjusted) local signal and the received signal 14, to generate the phase-compensated correlation signal. In this latter case, S221 and S223 are distinct and occur in sequence. These alternative processes are schematically illustrated in Figure 2 by the dashed directional arrows ii and iii, respectively. In some embodiments, 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.
[0071] In some embodiments, phasor sequences can be applied to more than one of the signals (e.g. applied to both the local signal and received signal). That is, embodiment of the method 200 can include providing phase compensation of at least one or more of the local signal, received signal, or the correlation signal. In such embodiments, the phase-compensated correlation signal can be generated by combining the phasor sequence generated by the phase compensation unit 112 at S219 with the local signal generated by the signal generator 108. In such embodiments, the phasor sequence can be used to adjust, at sub-wavelengthaccuracy, the carrier phase of the local signal over one or more periods (lengths) of the received code encoded in the received signal. Such process produces a phase- compensated correlation signal. The signals and / or correlation results are complex signals comprising in-phase (I) and quadrature phase (Q) components. In such embodiments, the method applies each phase offset in the phasor sequence to a corresponding complex sample in the local signal. The resulting phase compensated correlation signal will have a higher signal power when the currently selected coordinate in the search space is closer to the “true” frequency and frequency rate of change difference between the local oscillator 106 and an oscillator of the first remote source 2. The result is due to the fact that the generated phasor sequence more effectively corrects the local signal so that its waveform resembles the received signal 14 more closely.
[0072] In some embodiments, once the above steps have been completed for the received signal 14, S217 to S223 can be repeated for further signals received from other remote sources, such as remote sources 4 and 6, until a plurality of respective phase-compensated correlation signals has been calculated. Such process is illustrated schematically in Figure 3A by the looped arrow returning to S215. As illustrated in the embodiment of Figures 3A and 3B, in each case, the phasor sequence generated at reiterations of S219 encodes the same frequency and frequency rate correction according to the currently selected coordinate in the search space. However, because each received signal comes from a different source at a different position relative to the receiver 100, each respective phasor sequence will be indicative of a different frequency correction for the relative motion between the respective source and the receiver 100. The method 400 can proceed to S225.
[0073] At S225, the signal power of each of the phase compensated correlation signals are combined (e.g., summed) to calculate a “joint power” of the signals. The joint power is a calculated value, i.e. , a datapoint, of the function, z, for the currently selected coordinate (in the embodiment of Figures 3A and 3B, the selected initial coordinate of S211 ). The signal power can be calculated using any suitable metric known in the art.
[0074] Figure 6 depicts a plot diagram 400 of a process of generating a dataset used in receiving radio signals in accordance with at least one embodiment of the present principles. That is, Figure 6 shows a plurality of 3D graphs that illustrate the purpose of combining the signal powers in S225 of the method 200 of Figure 4. The graphs shown in Figure 6 are fully plotted across all of a (A , A ) search space for the purposes of illustration. It should be understood that plots 402-406 are purposefully not calculated in the method 200, and the joint correlation plot 400 is only calculated at select coordinates, as described further below.
[0075] In the embodiment of Figure 6, plots 402, 404 and 406 are of datasets representing the phase-compensated correlation signal power for different remote sources as a function of frequency and rate of change of frequency (A , A ). That is, in some embodiments, all received signals have different phase variations due to the motion of the receiver 100, because the receiver 100 is moving differently with respect to different lines of sight to each remote source. However, all received signals are processed with the same, common, frequency error within the time period T introduced by the local oscillator. Therefore, calculating a phase-compensated correlation signal using a phasor sequence indicative of the actual frequency error in the local oscillator 106 produces a phase-compensated correlation signal with a higher signal power for each received signal. By combining the signal power of phase- compensated correlation results for several sources, the frequency and frequency rate offset is revealed as corresponding to the maximum of the combined function.
[0076] Plot 400 of Figure 6 shows the results of combining the individual datasets 402, 404, 406, and corresponds to the function, z, of Figures 4 and 5. The plot 400 of Figure 6 is typically generated by summing the phase-compensated correlation signal powers (z) of each individual dataset across the (A , A ) space. In some embodiments, this can be a simple summation (i.e. no weightings) or can be a weighted summation based on one or more properties of the signals or remote sources of the individual datasets.
[0077] As can be seen from Figure 6, the remote sources exhibit a number of peaks across the search space, but the peak that occurs due to correction of errors in thelocal oscillator is coincident in the search space for each remote source. When combining phase-compensated signal powers for multiple sources in this way (referred to as calculating a “joint power” or “joint correlation result”), the highest power accumulates in a common (A , A ) bin in the joint correlation result 400. The frequency and frequency rate offset of this maximum value (in this example) 410 corresponds to the best estimate of the error in the local oscillator 106 in a given epoch.
[0078] With reference back to Figures 3A and 3B, once S225 has been completed for the first time, a single datapoint of z has been calculated. The method 200 can then proceed to S227 (continued in Figure 3B) and set the currently selected coordinate’s datapoint as equal to the joint power calculated in S225.
[0079] Alternatively or in addition, in some embodiments, at S229, one or more further initial coordinates can be selected at this stage for population. In some embodiments, it can be necessary in some scenarios to calculate two or more datapoints in the search space in order to perform gradient analysis. In some embodiments, the two or more initial datapoints can be nearby or adjacent coordinates in the search space. Alternatively or in addition, in some embodiments, it can be sufficient to calculate a single initial datapoint. In embodiments in which S229 is performed, the method 200 returns to S213 and determines a joint power for the one or more further initial coordinates, as illustrated schematically by the arrow depicted in Figures 3A and 3B returning to S213. Once joint powers have been calculated for each of the further initial coordinates, the method 200 can proceed to S231 .
[0080] At S231 , gradient analysis is performed based on the coordinates already populated in order to intelligently select further coordinates in the search space for population. In some embodiments, performing gradient analysis on the initially populated coordinates involves analysing the slope of the small portion of the function, z, that has been mapped out, and using this slope to select the next coordinate for population. For example, assuming that the gradient analysis is gradient ascent, if two adjacent datapoints of the initially populated coordinates are descending along a particular direction and ascending along an opposite direction in the search space,the third coordinate for population will be chosen in the direction of ascending joint power. Once the third coordinate has been populated, a new coordinate will be selected towards the direction of apparent highest slope, which may appear to be in a different direction due to the extra information provided by the now-populated third coordinate. Over several iterations, the selected coordinates tend to converge towards a coordinate corresponding to a maximum.
[0081] The described approach of the present principles is illustrated in a simplified way by coordinates 406a-406d in Figure 5, consecutively selected using gradient ascent. As shown, each successive coordinate (from a to d) is located closer to the maximum 410 of the function, z. In some embodiments, a much larger number of coordinates than four can be calculated before the maximum is identified, and a gradient function can be used to determine the slope of the dataset.
[0082] Alternatively or in addition, in some embodiments, the gradient ascent performed in S231 utilises the assumed property of the dataset of S207. The gradient ascent can locate the maximum of the function, z, in fewer iterations in the coordinate system of Figure 5 transformed to align with the assumed principal components PC1 , PC2 of z, compared to a non-transformed coordinate system (of Figure 4). That is, the maximum of the function, z, can be located by selecting and calculating values at fewer coordinate points. The transformed coordinate system aligned with the principal components, in accordance with the present principles, can prevent “zigzagging” or overshooting of selected coordinates away from the maximum. In this manner, performing the gradient analysis can be described as constrained by or performed based on the assumed property of the dataset. Selective population performed in this way allows the maximum of z to be located more quickly, without exhaustively calculating a joint power for each point within a search space or search window.
[0083] In some embodiments of the present principles, gradient analysis can be implemented using techniques and functions known in the art. Furthermore, in some embodiments, performing gradient ascent in one coordinate system is completely equivalent to performing gradient descent in a different coordinate system, for instance where a negative multiplier is applied to each joint power. Therefore, bothgradient ascent and gradient descent are intended to be included by the term “gradient analysis” as used herein. For this reason, it may be described herein that gradient analysis can be used to determine an “optimal” joint power, where optimal can be a maximum or a minimum depending on the choice of coordinate system.
[0084] Once gradient analysis has been performed and a new coordinate has been selected in S231 , the method 200 can return to S213 and calculates a joint power for a newly selected coordinate, as described above. That is, in some embodiments, at S233, S213 through S231 can repeated, so that a joint power can be calculated for a series of coordinates in the search space that are successively closer to the maximum of the function z (as exemplified by coordinates 406a-d in Figure 5). These operations can be repeated for a threshold number of times or until it can be determined that an optimal value has been found. In particular, in some embodiments, selective population can be repeated until a gradient is found that is substantially zero or crosses a threshold. It may not be possible or computationally practical to selectively populate until a gradient of exactly zero is found, therefore in some embodiments, the use of a threshold gradient provides a compromise between accuracy and computational load.
[0085] Once S233 has been completed, the process of S209 (the selective population of the search space) is complete. The method 200 can proceed to S235.
[0086] At S235, the coordinates in the search space corresponding to the maximum of z, previously identified, are taken as the best estimate for the frequency and frequency rate offsets of the local oscillator 106 in the current epoch. That is, in some embodiments, the frequency offsets corresponding to the maximum joint power are selected as the preferred frequency offsets for the local oscillator 106 in the current epoch.
[0087] At this stage, the best estimates for the frequency offsets can be used to correct the frequency reference of the local oscillator 106 in any suitable calculation or operation. In the example provided below, a position is calculated in S237 and S239, however it would be appreciated that, in other embodiments, any other suitable metric could be calculated alternatively.
[0088] That is, in some embodiments, at S237, the signal generator 108 generates a local signal using the best estimate of the frequency and frequency rate offsets selected in S235. In more detail, in some embodiments, once the optimal A and A offset values have been determined in S235, the offset values can be communicated to the signal generator 108. The signal generator 108 (which can include a frequency synthesiser) is configured to use the frequency reference provided by the local oscillator 106 and to apply the A and A values to generate a local signal that is corrected for the errors or instabilities in the local oscillator over the time period, T. In some embodiments, the frequency and frequency rate offsets (“corrections”) can be applied using a suitable phasor sequence over the time period T, and element-wise mixed with the local signal that has been stored in memory 124. In some embodiments, the phasor sequence can include a phasor sequence that was previously generated by the phase compensation unit 112 and stored in memory 124. Alternatively or in addition, in some embodiments, a new phasor sequence can be generated based on the selected frequency and frequency rate offsets. The method 200 can proceed to S239.
[0089] At S239, the receiver 100 uses the corrected local signal provided by the signal generator 108 to calculate a positioning solution. In some embodiments, the calculation can be 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. In some embodiments, the corrected local signal can be used to calculate other navigation or tracking metrics of the receiver such as a velocity, a direction of motion, or a time.
[0090] Regardless of the metric, the corrected local signal enables a more accurate correlation to be performed, despite the instability of the local oscillator 106. Using gradient analysis constrained or based upon the assumed property of the local oscillator 106 to selectively determine joint powers for different offsets, best estimates of frequency offsets in the local oscillator 106 can be determined more efficiently compared to more exhaustive methods. In some embodiments, the best estimate of the frequency and frequency rate errors calculated in S235 can be used to create“corrected” received signals, or to correct correlation signals produced from correlating an uncorrected local signal and an uncorrected received signal.
[0091] In some embodiments a method for receiving a radio signal at a receiver includes a) receiving, at a receiver, a plurality of signals from a plurality of remote sources and determining a motion of an antenna of the receiver, and for each of the received signals, b) generating a respective local signal using a frequency reference of the receiver, c) calculating a phasor sequence that is indicative of the phase evolution of the respective received signal due to a component of the determined motion along a respective selected direction of arrival of the received signal, and wherein the phasor sequence is further indicative of a hypothesis pair of a frequency offset, Af, and a frequency rate offset, A , of the frequency reference, the hypothesis pair corresponding to a respective coordinate in a search space, d) calculating a correlation signal (a correlation result) by correlating the received signal with the respective local signal, e) calculating a phase-compensated correlation signal by providing phase compensation of at least one of the respective local signal, the received signal, and the correlation signal using the phasor sequence, f) combining signal powers of each of the phase-compensated correlation signals calculated for each of the received signals representing a first joint power (a joint correlation result) for the plurality of remote sources as a function of Af and A , g) selecting a next hypothesis pair, repeating (a), (b), (c), (d) and (e) using the next hypothesis pair to compute a second joint power, i) applying gradient analysis to the first and second joint power to determine a next hypothesis pair to use to compute a next joint power using (a), (b), (c), (d) and (e), and h) determining an optimal joint power (an optimal joint correlation result) that identifies a preferred frequency offset as a frequency offset of the frequency reference.
[0092] In some embodiments a system for improved receiving of a radio signal at a receiver includes a receiver, a local oscillator configured to generate a frequency reference, a motion unit configured to determine a motion of an antenna of the receiver, one or more processors, and a memory including programs and / or instructions, which when executed by the processor, configure the system to perform a method including; a) receiving, at the receiver, a plurality of signals from a pluralityof remote sources, b) determining a motion of the antenna of the receiver using the motion unit, and c) for each of the received signals, generating a respective local signal using a frequency reference of the receiver, calculating a phasor sequence that is indicative of the phase evolution of the respective received signal due to a component of the determined motion along a respective selected direction of arrival of the received signal, and wherein the phasor sequence is further indicative of a hypothesis pair of a frequency offset, Af, and a frequency rate offset, A , of the frequency reference, the hypothesis pair corresponding to a respective coordinate in a search space, calculating a correlation signal by correlating the received signal with the respective local signal, calculating a phase-compensated correlation signal by providing phase compensation of at least one of the respective local signal, the received signal, and the correlation signal using the phasor sequence, d) combining signal powers of each of the phase-compensated correlation signals calculated for each of the received signals to thereby generate a datapoint in the dataset, the datapoint representing a first joint power for the plurality of remote sources as a function of Af and A , e) selecting a next hypothesis pair, f) repeating (a), (b), (c), (d), and (e) using the next hypothesis pair to compute a second joint power, g) applying gradient analysis to the first and second joint powers to determine a next hypothesis pair to use to compute a next joint power using (a), (b), (c), (d) and (e), and h) determining an optimal joint power that identifies of the dataset based on the selective population and selecting a preferred frequency offset as a frequency offset of the frequency reference based on the determined optimal joint power.
[0093] In some embodiments, the system of the present principles includes a wireless communication system configured to receive radio signals. For example, in one embodiment, the system includes a positioning system, for example, a GNSS positioning system. Alternatively or in addition, in some embodiments, the system can include be a communications system, such as a cellular communications system, or a Wi-Fi or Bluetooth communications system.
[0094] In some embodiments, the system is provided on a single user device, such as a positioning device or electronic user device such as a smartphone. Alternatively or in addition, in some embodiments, various units in the system could be providedseparately so that the system is distributed (i.e. , configured as a distributed system). For example, certain calculations can be undertaken by processors in a network. Thus in such embodiments, an electronic user device can offload calculations to other processors in a network in the interests of efficiency.
[0095] According to another embodiment of the invention, there is provided a computer program product (such as a non-transient computer readable medium) comprising instructions which, when the program is executed by a computer, cause the computer to carry out the operations a) through j) of the one or more processors of the system embodiment of the present principles.
[0096] It should be appreciated that, while various items are illustrated as being stored in memory or on storage while being used, these items or portions of them can be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments some or all of the software components can execute in memory on another device and communicate with a computing device via inter-computer communication. Some or all of the system components or data structures can also be stored (e.g., as instructions or structured data) on a computer-accessible medium or a portable article to be read by an appropriate drive, various examples of which are described above. In some embodiments, instructions stored on a computer-accessible medium separate from the computing device can be transmitted to the computing device via transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network and / or a wireless link. Various embodiments can further include receiving, sending or storing instructions and / or data implemented in accordance with the foregoing description upon a computer- accessible medium or via a communication medium. In general, a computer- accessible medium can include a storage medium or memory medium such as magnetic or optical media, e.g., disk or DVD / CD-ROM, volatile or non-volatile media such as RAM (e.g., SDRAM, DDR, RDRAM, SRAM, and the like), ROM, and the like.
[0097] The methods and processes described herein may be implemented in software, hardware, or a combination thereof, in different embodiments. In addition,the order of methods can be changed, and various elements can be added, reordered, combined, omitted or otherwise modified. All examples described herein are presented in a non-limiting manner. Various modifications and changes can be made as would be obvious to a person skilled in the art having benefit of this disclosure. Realizations in accordance with embodiments have been described in the context of particular embodiments. These embodiments are meant to be illustrative and not limiting. Many variations, modifications, additions, and improvements are possible. Accordingly, plural instances can be provided for components described herein as a single instance. Boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and can fall within the scope of claims that follow. Structures and functionality presented as discrete components in the example configurations can be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements can fall within the scope of embodiments as defined in the claims that follow.
[0098] In the foregoing description, numerous specific details, examples, and scenarios are set forth in order to provide a more thorough understanding of the present disclosure. It will be appreciated, however, that embodiments of the disclosure can be practiced without such specific details. Further, such examples and scenarios are provided for illustration, and are not intended to limit the disclosure in any way. Those of ordinary skill in the art, with the included descriptions, should be able to implement appropriate functionality without undue experimentation.
[0099] References in the specification to “an embodiment,” etc., indicate that the embodiment described can include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is believed to be within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly indicated.
[0100] Embodiments in accordance with the disclosure can be implemented in hardware, firmware, software, or any combination thereof. Embodiments can also be implemented as instructions stored using one or more machine-readable media, which may be read and executed by one or more processors. A machine-readable medium can include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device or a “virtual machine” running on one or more computing devices). For example, a machine-readable medium can include any suitable form of volatile or non-volatile memory.
[0101] In addition, the various operations, processes, and methods disclosed herein can be embodied in a machine-readable medium and / or a machine accessible medium / storage device compatible with a data processing system (e.g., a computer system), and can be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. In some embodiments, the machine-readable medium can be a non-transitory form of machine-readable medium / storage device.
[0102] Modules, data structures, and the like defined herein are defined as such for ease of discussion and are not intended to imply that any specific implementation details are required. For example, any of the described modules and / or data structures can be combined or divided into sub-modules, sub-processes or other units of computer code or data as can be required by a particular design or implementation.
[0103] In the drawings, specific arrangements or orderings of schematic elements can be shown for ease of description. However, the specific ordering or arrangement of such elements is not meant to imply that a particular order or sequence of processing, or separation of processes, is required in all embodiments. In general, schematic elements used to represent instruction blocks or modules can be implemented using any suitable form of machine-readable instruction, and each such instruction can be implemented using any suitable programming language, library, applicationprogramming interface (API), and / or other software development tools or frameworks. Similarly, schematic elements used to represent data or information can beimplemented using any suitable electronic arrangement or data structure. Further, some connections, relationships or associations between elements can be simplified or not shown in the drawings so as not to obscure the disclosure.
[0104] This disclosure is to be considered as exemplary and not restrictive in character, and all changes and modifications that come within the guidelines of the disclosure are desired to be protected.
[0105] Any block, step, module, or otherwise described herein may represent one or more instructions which can be stored on non-transitory computer readable media as software and / or performed by hardware. Any such block, module, step, or otherwise can be performed by various software and / or hardware combinations in a manner which may be automated, including the use of specialized hardware designed to achieve such a purpose. As above, any number of blocks, steps, or modules may be performed in any order or not at all, including substantially simultaneously, i.e. , within tolerances of the systems executing the block, step, or module.
[0106] Where conditional language is used, including, but not limited to, “can,” “could,” “may” or “might,” it should be understood that the associated features or elements are not required. As such, where conditional language is used, the elements and / or features should be understood as being optionally present in at least some examples, and not necessarily conditioned upon anything, unless otherwise specified.
[0107] Where lists are enumerated in the alternative or conjunctive (e.g., one or more of A, B, and / or C), unless stated otherwise, it is understood to include one or more of each element, including any one or more combinations of any number of the enumerated elements (e.g. A, AB, AC, ABC, ABB, etc.). When “and / or” is used, it should be understood that the elements may be joined in the alternative or conjunctive.
[0108] While the foregoing is directed to embodiments of the present principles, other and further embodiments of the present principles may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Claims
CLAIMS1 . A method for receiving a radio signal at a receiver, comprising: a) receiving, at a receiver, a plurality of signals from a plurality of remote sources; b) determining a motion of an antenna of the receiver; c) for each of the received signals:(i) generating a respective local signal using a frequency reference of the receiver;(ii) calculating a phasor sequence that is indicative of the phase evolution of the respective received signal due to a component of the determined motion along a respective selected direction of arrival of the received signal, and wherein the phasor sequence is further indicative of a frequency offset, Af, and a frequency rate offset, A , of the frequency reference based on a selected hypothesis pair corresponding to a respective coordinate in a search space;(iii) calculating a correlation signal by correlating the received signal with the respective local signal; and(iv) calculating a phase-compensated correlation signal by providing phase compensation of at least one of the respective local signal, the received signal, and the correlation signal using the phasor sequence; d) combining signal powers of each of the phase-compensated correlation signals calculated for each of the received signals representing a first joint power for the plurality of remote sources as a function of Af and A ; e) selecting a next hypothesis pair; f) repeating (a), (b), (c), (d) and (e) using the next hypothesis pair to compute a second joint power; g) applying gradient analysis to the first and second joint power to determine a next hypothesis pair to use to compute a next joint power using (a), (b), (c), (d) and (e); and h) determining a joint power of the determined joint powers that identifies a frequency offset as a frequency offset to use to correct a frequency of the frequency reference of the receiver.
2. The method of claim 1 , wherein the search space comprises a range of possible frequency offset values and a range of frequency rate offset values of the frequency reference of the receiver, as hypothesis pairs.3 The method of claim 1 , wherein an initial hypothesis pair is determined based on known operating parameters of frequency references at least similar to the frequency reference of the receiver.4 The method of claim 1 , wherein a joint power is determined for less than all hypothesis pairs in the search space.5 The method of claim 1 , further comprising applying the frequency offset identified by the determined joint power, to a frequency of the frequency reference of the receiver to correct a frequency of the frequency reference of the receiver based on the identified frequency offset.6 The method of claim 5, further comprising using a frequency-corrected frequency reference of the receiver to determine a parameter to be used in a positioning solution for the receiver such as at least one of a velocity of the motion of at least one of the receiver or a source of a signal received by the receiver, a direction of motion of at least one of the receiver or a source of a signal received by the receiver,, or a time associated with a signal received by the receiver.7 An apparatus for receiving a radio signal at a receiver, comprising: at least one processor and at least one memory for storing programs and instructions that, when executed by the at least one processor, causes the apparatus to perform operations comprising: d) receiving a plurality of signals from a plurality of remote sources; e) determining a motion of an antenna; f) for each of the received signals:(iii) generating a respective local signal using a frequency reference;(iv) calculating a phasor sequence that is indicative of the phase evolution of the respective received signal due to a component of the determined motion along a respective selected direction of arrival of the received signal, and wherein the phasor sequence is further indicative of a frequency offset, Af, and a frequency rate offset, A , of the frequency reference based on a selected hypothesis pair corresponding to a respective coordinate in a search space;(iii) calculating a correlation signal by correlating the respective received signal with the respective local signal; and(iv) calculating a phase-compensated correlation signal by providing phase compensation of at least one of the respective local signal, the received signal, and the correlation signal using the phasor sequence; d) combining signal powers of each of the phase-compensated correlation signals calculated for each of the received signals representing a first joint power for the plurality of remote sources as a function of Af and A ; e) selecting a next hypothesis pair; f) repeating (a), (b), (c), (d) and (e) using the next hypothesis pair to compute a second joint power; g) applying gradient analysis to the first and second joint power to determine a next hypothesis pair to use to compute a next joint power using (a), (b), (c), (d) and (e); and h) determining a joint power of the determined joint powers that identifies a frequency offset as a frequency offset to use to correct a frequency of the frequency reference.8 The apparatus of claim 7, wherein the search space comprises a range of possible frequency offset values and a range of frequency rate offset values of the frequency reference.9 The apparatus of claim 7, wherein an initial hypothesis pair is determined based on known operating parameters of frequency references at least similar to the frequency reference.
10. The apparatus of claim 7, wherein a joint power is determined for less than all hypothesis pairs in the search space.
11. The apparatus of claim 7, wherein the apparatus further performs applying the frequency offset identified by the determined joint power, to a frequency of the frequency reference to correct a frequency of the frequency reference based on the identified frequency offset.
12. The apparatus of claim 11 , wherein the apparatus further performs using a frequency- corrected frequency reference to determine a parameter to be used in a positioning solution of the antenna such as at least one of a velocity of the motion of at least one of the antenna or a source of a signal received by the antenna, a direction of motion of at least one of the antenna or a source of a signal received by the antenna, or a time associated with a signal received by the antenna.
13. A system for improved signal reception at a receiver, comprising: a local oscillator configured to generate a frequency reference; a motion unit configured to determine a motion of at least one of the receiver or the antenna; at least one signal source; a receiver, comprising; at least one antenna; at least one processor and at least one memory for storing programs and instructions that, when executed by the at least one processor, causes the receiver to perform operations comprising: a) receiving a plurality of signals from the at least one signal source; b) determining, using the motion unit, a motion of at least one of the receiver or the antenna; c) for each of the received signals:i) generating a respective local signal using the local oscillator; ii) calculating a phasor sequence that is indicative of the phase evolution of a respective received signal due to a component of the determined motion along a respective selected direction of arrival of the received signal, and wherein the phasor sequence is further indicative of a frequency offset, Af, and a frequency rate offset, A , of the frequency reference based on a selected hypothesis pair corresponding to a respective coordinate in a search space; iii) calculating a correlation signal by correlating the respective received signal with the respective local signal; and iv) calculating a phase-compensated correlation signal by providing phase compensation of at least one of the respective local signal, the received signal, and the correlation signal using the phasor sequence; d) combining signal powers of each of the phase-compensated correlation signals calculated for each of the received signals representing a first joint power for the plurality of remote sources as a function of Af and A ; e) selecting a next hypothesis pair; f) repeating (a), (b), (c), (d) and (e) using the next hypothesis pair to compute a second joint power; g) applying gradient analysis to the first and second joint power to determine a next hypothesis pair to use to compute a next joint power using (a), (b), (c), (d) and (e); and h) determining a joint power of the determined joint powers that identifies a frequency offset as a frequency offset to use to correct a frequency of the frequency reference.
14. The system of claim 13, wherein the search space comprises a range of possible frequency offset values and a range of frequency rate offset values of the frequency of the local oscillator.
15. The system of claim 13, wherein an initial hypothesis pair is determined based on known operating parameters of frequency references at least similar to the local oscillator.
16. The system of claim 13, wherein a joint power is determined for less than all hypothesis pairs in the search space.
17. The system of claim 13, wherein the receiver further performs applying the frequency offset identified by the determined joint power, to a frequency of the frequency reference to correct a frequency of the frequency reference based on the identified frequency offset.
18. The system of claim 17, wherein the receiver further performs using a frequency- corrected frequency reference to determine a parameter to be used in a positioning solution of the antenna such as at least one of a velocity of the motion of at least one of the antenna or a source of a signal received by the antenna, a direction of motion of at least one of the antenna or a source of a signal received by the antenna, or a time associated with a signal received by the antenna.
Citation Information
Patent Citations
Method, apparatus, computer program, chip set, or data structure for correlating a digital signal and a correlation code
US10321430B2
Method and system for correcting the frequency or phase of a local signal generated using a local oscillator
US10816672B2
Method and system for calibrating a system parameter
US20200264317A1
System for determining a physical metric such as position
US20200319347A1
Method, apparatus, computer program, chip set, or data structure for correlating a digital signal and a correlation code
US9780829B1