Methods and apparatus for group delay variation compensation

By generating an ideal replica signal and calculating the correction factor, the problem of group delay variation caused by the filter is solved, improving the accuracy and efficiency of signal processing in the global navigation satellite system and simplifying filter design.

CN113933866BActive Publication Date: 2025-10-28U-BLOX
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110473790.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-29
Filing Date
2021-04-29
Publication Date
2025-10-28
Estimated Expiration
2041-04-29

AI Technical Summary

Technical Problem

In global navigation satellite systems, group delay variations caused by filters lead to spread spectrum signal distortion, affecting the accuracy of distance measurements. Existing compensation methods increase the requirements for filter components or are computationally intensive and time-consuming.

Method used

By generating an ideal replica signal, calculating the ideal autocorrelation function and aligning it with the distorted autocorrelation function, calculating a correction factor based on the ratio, applying it to the cross-correlation signal to compensate for group delay variations, and using a processor for signal processing and filter model correction.

Benefits of technology

It effectively compensates for group delay variations, improves the accuracy and efficiency of signal processing, and reduces the requirements for filter components and computational complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113933866B_ABST
    Figure CN113933866B_ABST
Patent Text Reader

Abstract

This invention relates to a method and apparatus for group delay variation compensation. A method for compensating for group delay variation in a CDMA spread spectrum receiver includes: receiving an RF signal; generating an ideal replica signal; filtering the RF signal through one or more filters; obtaining an ideal autocorrelation function (ACF) of the ideal replica signal; distorting the ideal ACF using a filtering model of the one or more filters to generate a distorted ACF; aligning the ideal ACF and the distorted ACF; calculating a set of correction factors based on the ratio of the ideal ACF to the distorted ACF; calculating a cross-correlation signal based on the filtered RF signal and the ideal replica signal; and obtaining a compensated correlation signal by applying the set of correction factors to the cross-correlation signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The apparatus and methods consistent with this disclosure generally relate to a system for compensating for variations in group delay in a spread spectrum receiver. Background Technology

[0002] In radio frequency (RF) circuits, different types of filters are used in various applications. It is understandable that when an RF signal passes through a filter, it will experience a certain degree of delay. RF signals may contain many frequencies. For example, spread-spectrum RF signals will experience group delay when passing through a filter. Group delay can be the delay in the amplitude envelope of the signal components at different frequencies.

[0003] In practice, filters may exhibit frequency-dependent nonlinear effects on the phase of the signal components of a spread-spectrum RF signal. These effects can cause the group delay to vary with frequency. Variations in the group delay can distort the shape of the spread-spectrum signal passing through the filter.

[0004] In Global Navigation Satellite System (GNSS) applications, distance measurement is used to determine the distance between a GNSS receiver and a GNSS satellite. Distance measurement is based on the cross-correlation between the spread spectrum signal received from the GNSS satellite and a replica signal generated by the GNSS receiver, which is identical to the spread spectrum signal except for time delay. If variations in group delay caused by filters distort the received spread spectrum signal, the cross-correlation function between the two signals may also be distorted. This distortion in the shape of the cross-correlation function can lead to errors in distance measurement.

[0005] Previous work to compensate for variations in group delay has attempted to implement filters with improved or reduced nonlinear effects. However, this increases the requirements for filter components. Other work involves adding circuitry before the signal processor or attempting to compensate for variations in group delay by introducing signal-specific correction factors, the computation of which is intensive and time-consuming. Summary of the Invention

[0006] According to some embodiments of this disclosure, a method for compensating for group delay variations in a CDMA spread spectrum receiver is provided, the method comprising: receiving an RF signal; generating an ideal copy signal; filtering the signal by one or more filters; obtaining an ideal autocorrelation function (ACF) of the ideal copy signal; distorting the ideal ACF using a filtering model of the one or more filters to generate a distorted ACF; aligning the ideal ACF and the distorted ACF; calculating a set of correction factors based on the ratio of the ideal ACF to the distorted ACF; calculating a cross-correlation signal based on the filtered RF signal and the ideal copy signal; and obtaining a compensated correlation signal by applying the set of correction factors to the cross-correlation signal.

[0007] According to some embodiments of this disclosure, a CDMA spread spectrum apparatus for compensating for group delay variations is provided, the CDMA spread spectrum apparatus comprising: a receiver configured to receive an RF signal; one or more filters configured to filter the RF signal; and at least one processor configured to: generate an ideal copy signal; obtain an ideal autocorrelation function (ACF) of the ideal copy signal; distort the ideal ACF using a filtering model of the one or more filters to generate a distorted ACF; align the ideal ACF and the distorted ACF; calculate a set of correction factors based on the ratio of the ideal ACF to the distorted ACF; calculate a cross-correlation signal based on the filtered RF signal and the ideal copy signal; and obtain a compensated correlation signal by applying the set of correction factors to the cross-correlation signal. Attached Figure Description

[0008] Figure 1A and Figure 1B An exemplary GNSS system, including a receiver for compensating for variations in group delay, is illustrated, consistent with some embodiments of this disclosure.

[0009] Figure 2 This is a diagram illustrating examples of ideal autocorrelation functions and distorted autocorrelation functions consistent with some embodiments of this disclosure.

[0010] Figure 3 This is a graph illustrating an example of the effect of signal-to-noise ratio (SNR) correction on the autocorrelation function, consistent with some embodiments of this disclosure.

[0011] Figure 4 This is a schematic diagram illustrating an exemplary receiver for compensating for variations in group delay, consistent with some embodiments of this disclosure.

[0012] Figure 5 This is a flowchart illustrating an exemplary process for compensating for variations in group delay, consistent with some embodiments of this disclosure.

[0013] Figure 6 This is a flowchart illustrating an exemplary process for compensating for variations in group delay based on SNR, which is consistent with some embodiments of this disclosure. Detailed Implementation

[0014] Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. The following description refers to the accompanying drawings, wherein, unless otherwise indicated, the same reference numerals in different drawings denote the same or similar elements. The implementations set forth in the following description of the exemplary embodiments do not represent all implementations consistent with this disclosure. Rather, they are merely examples of systems, apparatuses, and methods consistent with aspects of this disclosure as described in the appended claims.

[0015] Figure 1A Exemplary applications of receiver devices and methods for compensating for variations in group delay are illustrated. In some embodiments, the receiver devices and methods for compensating for variations in group delay can be implemented in a Global Navigation Satellite System (GNSS) 100. GNSS 100 includes at least one GNSS satellite 110 and a GNSS receiver device 120. In some embodiments, the GNSS receiver device 120 may be a CDMA receiver device. In some embodiments, the GNSS satellite 110 transmits an RF signal 102 for reception by the GNSS receiver 120. The RF signal 102 may be a spread spectrum signal. A spread spectrum signal is a signal having multiple components with different frequencies. Figure 1B An exemplary configuration of a GNSS receiver 120 is illustrated. The GNSS receiver 120 includes one or more components configured to receive and process RF signals 102. Figure 1B As shown, the GNSS receiver 120 includes, but is not limited to, the antenna 121, filter 122, mixer 123, oscillator 124, analog-to-digital converter (ADC) 125, and signal processor 126 connected as shown. See also... Figure 1A In some embodiments, the RF signal 102 may contain information for measuring the distance between the GNSS satellite 110 and the GNSS receiver 120, such as, for example, a ranging code 104a. The ranging code 104a may be a predetermined digital signal consisting of a series of 1s and 0s, repeated at fixed time intervals. The GNSS receiver 120 may also generate a copy code 104b. The copy code 104b may be the same as the ranging code 104a, also repeated at the same fixed time intervals. In some embodiments, the copy code 104b may be generated by the signal processor 126.

[0016] GNSS receiver 120 receives ranging code 104a from GNSS satellite 110. After a propagation time at the speed of RF signal propagation, RF signal 102 arrives at GNSS receiver 120. GNSS receiver 120 can determine the distance to GNSS satellite 110 by determining the propagation time of RF signal 102. In some embodiments, the propagation time of RF signal 102 can be determined by deriving the timing offset between ranging code 104a and copy code 104b. For example, signal processor 126 can calculate the cross-correlation function between ranging code 104a and copy code 104b. Since ranging code 104a and copy code 104b are identical, the cross-correlation function is an autocorrelation function (ACF). Because receiver components such as RF filter 102 may introduce a delay beyond the propagation time of RF signal 102, signal processor 126 considers this additional delay time to arrive at an accurate measurement. In some embodiments, filter 122 may have nonlinear frequency effects that cause variations in the group delay of RF signal 102. For example, filter 122 can cause different amounts of delay to different frequency components of RF signal 102. The difference in delay can be non-linear, therefore, signal processor 126 is needed to compensate for this difference.

[0017] Those skilled in the art will now understand that Figure 1A and Figure 1B This disclosure exemplifies only a non-limiting application of receiver devices and methods for compensating for variations in group delay. Embodiments of this disclosure can be applied to other suitable RF applications. Furthermore, one or more circuit components of the GNSS receiver 120 (such as antenna 121 or filter 122) may represent multiple components. For example, filter 122 may represent multiple filters. Additionally, one or more circuit components of the GNSS receiver 120 may be added, removed, or modified without departing from the inventive concept of this disclosure.

[0018] Figure 2 This is a graph illustrating examples of ideal ACF and distorted ACF. Figure 2 The curve was generated through simulation. Figure 2 In the diagram, the horizontal axis represents the delay domain in units of code chips, and the vertical axis represents the amplitude. The distortion in the simulation is a typical model for GNSS receivers, such as... Figure 1A and Figure 1B The model shown.

[0019] Curve 202 represents the ideal ACF. The ideal ACF is calculated by cross-correlating ranging code 104a with copy code 104b, without considering the group delay variation introduced by filter 122. The peak amplitude of curve 202 is 1, and the time corresponding to this peak represents the propagation time of the RF signal 102 from GNSS satellite 110 to GNSS receiver 120. Curve 204 represents the distorted ACF, which can be generated by convolving the ideal ACF with the impulse function modeled by filter 122. Curve 206 represents correlator tap correction. Correlator tap correction represents the location where the ideal ACF and distorted ACF are sampled in the delay domain. For example, in a spread spectrum receiver, each correlator tap correction output is a point on the distorted ACF.

[0020] The cross-correlation between the distorted filtered ranging code and the copy code at the filter output can be expressed by the following equation, m(k):

[0021] m(k)=(c(k)+n(k))*h(k)*c rep (k) 1(a)

[0022] m(k) = c(k), c rep (k)*h(k)+n(k)*c rep (k)*h(k) 1(b)

[0023] In equations 1(a) and 1(b), k is the time step, c(k) represents the ranging code 104a, and c rep (k) represents the 104b copy code, h(k) represents the impulse response of filter 122, and n(k) represents additive white noise. Because the ideal ACF or c acf (k) is just c(k) and c rep The convolution of (k) allows equation 1(b) to be simplified to:

[0024] m(k)=c acf (k), h(k)+n(k)*c rep (K)*h(k) 1(c)

[0025] As shown in Equation 1(c), m(k) represents the distortion of the ideal ACF caused by the impulse function h(k) and additive white noise. In other words, m(k) is the distorted ACF, where c acf (k)*h(k) represents the noiseless filter distortion, while n(k)*c rep (k)*h(k) represents the noise term. The convolution of Equation 1(c) yields:

[0026]

[0027] Nh The length of the number of samples in the function h(k) is represented by N. c This represents the length of the ideal ACF. In some implementations, the noise term in equation (2) can be ignored, meaning that for each delay of interest, the correction factor T can be determined by the following equation. c (k):

[0028]

[0029] Equation (3) shows that the correction factor can be calculated by dividing the value of the ideal ACF by the value of the distorted ACF. Equation (3) also shows that the ideal ACF and the distorted ACF need to be aligned in the delay domain before calculating the correction factor. In some implementations, taking the group delay of the filter to align the ideal ACF and the distorted ACF may not be sufficient, since the group delay of the filter may vary with frequency. Furthermore, since the variation in group delay causes shape distortion of the ideal ACF, multiple reference points can be used to measure alignment. For example, the delay measured from the maximum value of the ideal ACF to the maximum value of the distorted ACF can be used for alignment. Another alignment method may be to perform a least-squares fit between the ideal ACF and the distorted ACF, and then use the fitted position as the delay for alignment.

[0030] In some implementations, it may be advantageous to use an ideal ACF to calculate the correction factors, since amplitude variations are also compensated for by these correction factors, especially in the case of low-pass filtering. In some implementations, the ideal ACF can be band-limited first using a linear phase filter before calculating the correction factors.

[0031] Figure 3 This is a graph illustrating an example of the effect of additive white noise on the autocorrelation function. Figure 3 The curve was generated through simulation. Figure 3 In the diagram, the horizontal axis represents the delay domain, and the vertical axis represents the amplitude.

[0032] Curve 302 represents the ideal ACF, which corresponds to Figure 2 Curve 202. Curve 304 represents the distortion ACF without noise influence, which corresponds to Figure 2 Curve 204 in the diagram. Curve 308 represents the distortion ACF affected by the first noise signal, with an SNR of 20.0 dB. Curve 306 represents the distortion ACF affected by the second noise signal, with an SNR of 14.0 dB. Curve 310 represents the first noise signal. Curve 312 represents the second noise signal. (The text repeats itself here.) Figure 3 As shown, compared to the distortion caused solely by noise-free filtering, both the first and second noise signals cause additional distortion in the ideal ACF.

[0033] In some implementations, for example, the noise term in equation (2) is not ignored, and additional compensation terms are required to account for the noise effect. Due to the nonlinear behavior of the amplitude of the distorted ACF, amplitude scaling is not desired, as it may be necessary to scale the signal and noise by different factors. It is desirable to scale only the amplitude of the distorted ACF. Recall that the distorted ACF is expressed in equation 1(c) as:

[0034] m(k)=c acf (k)*h(k)+n(k)*c rep (k)*h(k) (1c)

[0035] In some implementations, it is not desirable for filter 122 to have a perceptible effect on the additive white Gaussian noise (AWGN) characteristics of the noise term. Therefore, the expected value of the magnitude of m(k) or |m(k)| is the Riciman mean R. m (υ(k),σ), whose parameters are given by the following equation:

[0036]

[0037] In equation (4), υ(k) is the amplitude of the distortion ACF without noise. Therefore, the distortion amplitude caused by noise can be expressed as:

[0038]

[0039] L 1 / 2 This represents a Laguerre polynomial. Because of the noise term (e.g., |m... N (k)|) depends on the signal-to-noise ratio (SNR), so the distortion of the ideal ACF may slightly alter the SNR in the observed amplitude of the distorted ACF, thus causing a change in the contribution of noise to the amplitude of the distorted ACF. In other words, if a scaling factor C is applied... t To correct for ACF distortion, the noise will not be scaled by the same amount as the signal, therefore R m (υ(k), σ)·C t ≠R m (υ(k)C t Therefore, in order to correct the distortion, an additional correction factor C is introduced. s This makes R m (υ(k), σ)·C t ·C s =R m (υ(k)C t , σ). C s This can be given by equation (6):

[0040]

[0041] In some implementations, the scaling factor C t Corresponding to the correction factor T in equation (3) c .

[0042] Figure 4 This is a schematic diagram illustrating a non-limiting example of a receiver 400 used to compensate for variations in group delay. Receiver 400 includes a receiver chain 410, a correction calculation module 420, and a correction application module 430.

[0043] The receiver chain 410 includes one or more downconversion circuits 411, one or more filters (including a low-pass (LP) filter 412 and a high-pass (HP) filter 413), an analog-to-digital converter (ADC) 414, a signal correlator 415, an SNR estimator 416, and a filter monitor 417.

[0044] The downconversion circuit 411 may include one or more components for receiving the RF signal 401, which may include the ranging code 104a, and for converting the RF signal 401 from an RF carrier frequency to a baseband frequency. Those skilled in the art will now understand that the downconversion circuit 411 may include one or more conventionally known components, such as an antenna, mixer, oscillator, filter, and / or amplifier. In some embodiments, the downconversion circuit 411 may filter the RF signal 401 during the downconversion process. In some embodiments, it may provide... Figure 4 An additional filter, not shown, is used to filter the RF signal 401 before it is down-converted by the down-conversion circuit 411.

[0045] LP filter 412 represents one or more filters adapted to allow signal components with frequencies below the cutoff frequency to pass through and attenuate signal components with frequencies above the cutoff frequency. HP filter 413 represents one or more filters adapted to allow signal components with frequencies above the cutoff frequency to pass through and attenuate signal components with frequencies below the cutoff frequency. LP filter 412 and HP filter 413 may have various parameters, some of which are known, while others are dynamic. For example, some parameters of LP filter 412 and HP filter 413 may be temperature-dependent, such that these parameters can change over time as the temperature of receiver chain 410 changes during continuous operation or under different conditions. Filter monitor 417 monitors these parameters of LP filter 412 and HP filter 413 and updates the monitored parameters to filter model 421 of correction calculation module 420 at predetermined time intervals, as described below. The monitored parameters may include temperature, voltage, current, power, duty cycle, operating time, and / or other parameters that may change the frequency response, phase response, group delay, and other aspects of the LP filter 412 and HP filter 413. The filter monitor 417 provides filter parameters 402 as output to the filter model 421.

[0046] In some implementations, it is possible to provide [something not in] Figure 4 The additional filter element or circuit assembly with filtering characteristics shown herein may be provided. For example, a mirror suppression filter, surface acoustic wave (SAW) filter, amplifier, and / or mixer with filtering function may be provided, which may also exhibit nonlinear phase behavior. In addition, the filter monitor 417 may monitor the parameters of the additional filter element or circuit assembly and update the monitored parameters as filter parameters 402 at predetermined time intervals.

[0047] In some embodiments, one or more combinations of LP filter 412 and HP filter 413 can work together to filter the RF signal 401. ADC 414 converts the filtered RF signal 401 from analog signal form to digital signal form. In some embodiments, LP filter 412 and HP filter 413 can further filter the digitized RF signal 401.

[0048] In some embodiments, one or more signal correlators 415 may cross-correlate the digitized RF signal 401 with a corresponding copy code. The corresponding copy code may be, for example, copy code 104b as shown in FIG1. ​​In some embodiments, the receiver 400 may receive multiple RF signals, each RF signal containing one or more ranging codes, and may provide multiple signal correlators 415, such as signal correlators 4151, 4152, ..., 415... N This allows each RF signal in the received RF signal to be provided as input to the corresponding signal correlator for cross-correlation with the corresponding copy code. In some embodiments, one or more signal correlators 415 provide a measured distortion CCF 403 as an output. In some embodiments, multiple signal correlators 415 provide multiple measured distortion CCFs 403, such as measured distortion CCF 1 4031, measured distortion CCF 2 4032, ..., measured distortion CCF N 403. N In some embodiments, the copy code may be stored on one or more computer-readable storage media and may be retrieved by the signal correlator 415 as needed. In some embodiments, the RF signal 401 and the copy code do not need to be correlated at every time point, and the signal correlator 415 performs cross-correlation only at multiple sampling time points. These sampling points may be referred to as taps. Therefore, the distortion CCF 403 measured at the output of the signal correlator 415 may be a series of taps.

[0049] In some embodiments, one or more SNR estimators 416 estimate the signal-to-noise ratio (SNR) of the measured distortion CCF 403. In the case of multiple measured distortion CCFs 403, multiple SNR estimators 416 can be provided, such that each measured distortion CCF 403 has a corresponding SNR estimator 416. In some embodiments, the measured distortion CCF 403 is provided as input to the SNR estimator 416, and SNR 404 is provided as output to the SNR estimator 416. For example, measured distortion CCF 1 4031, measured distortion CCF 2 4032, ..., measured distortion CCF N 403 N Provided to SNR estimators 4161, 4162, ..., 416 N SNR estimators 4161, 4162, ..., 416 N Output SNR 1 4041, SNR 2 4042, ..., SNR N404 N .

[0050] The correction calculation module 420 includes one or more filter models 421, one or more time alignment modules 422, one or more correction factor calculation modules 423, one or more SNR factor correction modules 424, and one or more combiners 425.

[0051] In some implementations, one or more ideal ACF signals 405 may be provided. The ideal ACF signal 405 may be provided as input to the filter model 421. In some implementations, multiple ideal ACF signals 405 may exist, such as ideal ACF signal 1 4051, ideal ACF signal 2 4052, ... ideal ACF signal N 405. N These are calculated based on the replication code. The total number of the ideal ACF signal 405, the ranging code, and the replication code can be a design choice for the receiver 400 and can depend on the number of RF signals received. In some implementations, one type of ideal ACF signal may be sufficient for an entire category of GNSS RF signals (such as GPS L1 C / A signals, Galileo EB / C signals, and / or other similar categories of RF signals with similar spectral power distributions).

[0052] In some embodiments, since the ranging code and copy code can be selected at any time before the correction factor is calculated (e.g., at design time), the ideal ACF signal 405 can also be calculated at that time. Therefore, the previously calculated ideal ACF signal 405 can be stored on one or more computer-readable storage media and retrieved as needed by the correction calculation module 420. In some embodiments, the ideal ACF signal 405 may correspond to c in equation (2). acf .

[0053] In some implementations, it may be desirable to limit the bandwidth of the ideal ACF signal 405 to simplify computation. For example, to sample a function or signal with high fidelity, the required sampling rate may be excessively high for functions or signals with large bandwidths or large frequency spreads. In some implementations, if the ranging code and copy code are known to require frequency spreads above a threshold, the corresponding ideal ACF signal 405 can be band-limited by applying a linear phase filter. In some implementations, band-limiting can be performed through mathematical operations, such as applying a pulse function modeled on a linear phase filter to the ideal ACF signal 405. In some implementations, the band-limited ideal ACF signal 405 can be pre-computed and stored in one or more computer-readable media retrievable by the correction calculation module 420. In some other implementations, the band-limited ideal ACF signal 405 can be calculated by the correction calculation module 420 as needed.

[0054] In some embodiments, one or more filter models 421 may be provided to generate models of various filters and one or more of the additional filter elements or circuit components described above for receiver 400. The filters and one or more of the additional filter elements or circuit components may include LP filters 412, HP filters 413, image rejection filters, SAW filters, amplifiers, and / or mixers with filtering functions, which also exhibit nonlinear phase behavior. In some embodiments, multiple filter models 421 may be provided, one filter model 421 for each ideal ACF signal 405. The model generated by filter model 421 may be a mathematical expression that simulates the effect of filters and filter-like components on each ideal ACF signal 405. The mathematical expression may be, for example, a transfer function or impulse function corresponding to h(k) in equations 1(a) to 1(c). In some embodiments, the filters and one or more of the additional filter elements or circuit components may be known prior to the calculation of the correction factor, so the model of filter model 421 may be pre-calculated and stored on one or more computer-readable storage media, and may be retrieved by the correction calculation module 420 as needed. In some implementations, the model of filter model 421 may depend on the operating conditions of receiver 400 and may therefore require updates. In some implementations, the model may depend on filter parameters 402, and filter parameters 402 may be received as input from filter monitor 417. In some implementations, filter model 421 may provide a modeled distortion ACF 406 as output. In some implementations, multiple filter models 421 may each provide a modeled distortion ACF 406 corresponding to the input ideal ACF signal 405 as output. For example, multiple filter models 4211, 4212, ..., 421 N It may generate ideal ACF signal 1 4051, ideal ACF signal 2 4052, ... ideal ACF signal N 405 based on filter parameter 402. N The modeling distortion ACF 1 4061, the modeling distortion ACF 2 4062, ..., the modeling distortion ACF N 406 N In some implementations, the modeled distortion ACF 406 corresponds to c in Equation 1(c). acf (k)*h(k).

[0055] One or more timing alignment modules 422 align the ideal ACF signal 405 with the modeled distorted ACF 406. The timing alignment module 422 can receive the ideal ACF signal 405 as input and the modeled distorted ACF 406 as input from the filter model 421. As previously described, the modeled distorted ACF 406 can be time-delayed relative to the ideal ACF signal 405. This delay can be intentionally introduced by the filter model 421 to simulate the effects of one or more of the various filters of the receiver 400 and additional filter elements or circuit components. The timing alignment module 422 can provide ACF 407. a and ACF D 407 b As output. ACF 407 a A series of taps or time samples representing the ideal ACF 405. D 407 b A series of taps representing the modeling distortion ACF 406. In some implementations, multiple time alignment modules 4221, 4222, ..., 422 N Provides corresponding ideal ACF signal 1 4051, ideal ACF signal 2 4052, ..., ideal ACF signal N 405 respectively. N And modeling distortion ACF 1 4061, modeling distortion ACF 2 4062, ..., modeling distortion ACF N 406 N ACF 1 407 a1 ACF 2 407 a2 …ACF N 407 aN and ACF D 1 407 b1 ACF D 2 407 b2 ..., ACF D N 407 bN ,like Figure 4 As shown.

[0056] In some implementations, the time alignment module 422 calculates a time offset value by measuring the time offset between the ideal ACF signal 405 and the peak value of the modeled distorted ACF 406, thereby aligning the ideal ACF 405 signal and the modeled distorted ACF 406. For example, the time alignment module 422 can obtain the peak value of the ideal ACF 405 and its corresponding tap from the taps of the ideal ACF signal 405. Similarly, the time alignment module 422 can obtain the peak value of the modeled distorted ACF 406 and its corresponding tap from the taps of the modeled distorted ACF 406. The time alignment module 422 determines the time offset value based on the difference between the taps of the peak values ​​of the ideal ACF signal 405 and the modeled distorted ACF 406. For example, if the peak value of the modeled distorted ACF 406 is offset by 5 taps relative to the peak value of the ideal ACF signal 405, then the time offset value is 5 taps. Then, the time alignment module 422 aligns the ideal ACF signal 405 and the modeled distorted ACF 406 by shifting the modeled distorted ACF 406 by a time offset value at the tap or measurement time. In some embodiments, the ACF... D 407 b It can be shifted by a time offset value, and ACF 407 a and ACF D 407 b It is aligned at the output of the time alignment module 422.

[0057] In some alternative embodiments, the time alignment module 422 calculates a time offset value by minimizing the sum of squared errors, thereby aligning the ideal ACF signal 405 and the modeled distorted ACF 406, where the error is the amplitude difference between the ideal ACF signal 405 and the modeled distorted ACF 406. For example, at each tap, the difference or error between the amplitudes of the ideal ACF signal 405 and the modeled distorted ACF 406 can be found, and the squared errors over all taps are summed to obtain the sum of squared errors. This process can be repeated, but the tap offsets are different in each iteration. An iteration that produces a minimum value (i.e., the minimum sum of squared errors) can be found during this process. The tap offset corresponding to this minimum sum of squared errors is the time offset value used to align the ideal ACF signal 405 and the modeled distorted ACF 406.

[0058] As previously mentioned, a tap is a sampling point in the delay domain of an autocorrelation function or cross-correlation function. The number of taps within a time period corresponds to the delay period. For example, a 1 MHz sampling frequency corresponds to a single tap with a 1 microsecond interval. Similarly, a 1 GHz sampling frequency corresponds to a single tap with a 1 nanosecond interval, and so on. In some embodiments, the sampling frequency is related to the received RF signal 401. For example, the sampling frequency can be selected as an integer multiple of the bandwidth or frequency spread of the RF signal 401. In some embodiments, the sampling frequency can be 4 times or 8 times the bandwidth of the RF signal 401. For example, if the RF signal 401 has a 1 MHz bandwidth, the sampling frequency can be 4 MHz or 8 MHz.

[0059] In some other embodiments, the timing alignment module 422 calculates a time offset value by using an estimate of the overall group delay of the receiver 400, thereby aligning the ideal ACF signal 405 and the modeled distorted ACF 406. In some embodiments, the overall group delay may be an estimate with respect to the RF carrier frequency and may be predetermined. For example, components in the receiver 400 may each cause some group delay. An estimate of the sum of these group delays relative to the RF carrier frequency can be obtained during the testing or design of the receiver 400.

[0060] One or more correction factor calculation modules 423 receive ACF 407 a and ACF D 407 b As input, the correction factor calculation module 423 provides the correction factor 408 as output. In some embodiments, multiple correction factor calculation modules 4231, 4232, ..., 423 N It can receive ACF 1 407 respectively a1 ACF 2 407 a2 ..., ACF N 407 aN and ACF D 1407 b1 ACF D 2 407 b2 ..., ACF D N 407 bN As input. Multiple correction factor calculation modules 4231, 4232, ..., 423 N Correction factors 1 (4081), 2 (4082), ..., N (408) are provided respectively. N As output.

[0061] In some implementations, by using ACF 407 a Divide by ACF D 407 bThe correction factor 408 is calculated. This calculation corresponds to equation (3), where the correction factor 408 corresponds to T. c (k), ACF 407 a Corresponding to molecules, while ACF D 407 b Corresponding to the denominator.

[0062] In some implementations, one or more SNR factor correction modules 424 may be provided. The SNR factor correction module 424 receives the ACF (Automatic Selection Function). D 407 b And SNR 404 as input. In some implementations, multiple SNR factor correction modules 4241, 4242, ..., 424 are used. N Each receives ACF separately D 1 407 b1 ACF D 2 407 b2 ..., ACF D N 407 bN One of them and SNR 14041, SNR 2 4042, ..., SNR N 404 N One of them is used as input. In some implementations, SNR 404 can be the same value for all measured distortions CCF 403. In some implementations, SNR 1 4041, SNR 2 4042, ..., SNR N 404 N These can correspond to the measured distortion CCF 1 4031, the measured distortion CCF 2 4032, ... the measured distortion CCF N 403, respectively. N SNR.

[0063] In some embodiments, the SNR factor correction module 424 provides an SNR factor 409 as an output. In some embodiments, multiple SNR factor correction modules 4241, 4242, ..., 424 are used. N SNR factor 1 4091, SNR factor 2 4092, ..., SNR factor N 409 are provided respectively. N As output.

[0064] Combiner 425 receives correction factor 408 and SNR factor 409 as input. In some embodiments, multiple combiners 4251, 4252, ..., 425 are used. N Correction factors 1 (4081), 2 (4082), ..., N (408) are received respectively. N One of them is SNR factor 1 4091, SNR factor 2 4092, ... SNR factor N 409 NOne of them is used as input. In some embodiments, the combiner 425 provides the correction factor 408 and the SNR factor 409 as outputs to the correction application module 430.

[0065] In some other implementations, the effect of noise may be minimal. Therefore, SNR and SNR factor can be ignored. For example, combiner 425 may only receive correction factor 408 and only output correction factor 408 to correction application module 430.

[0066] The correction application module 430 includes one or more correction modules 432. In some embodiments, the correction module 432 receives a correction factor 408 and an SNR factor 409 as input from the combiner 425. In some embodiments, multiple correction modules 4321, 4322, ..., 432 N Receive correction factors 1 4081, 2 4082, ..., N 408 respectively. N One of them and SNR factor 1 4091, SNR factor 2 4092, ..., SNR factor N 409 N One of them is used as input. In some other embodiments, the correction module 432 does not receive the SNR factor 409.

[0067] The correction module 432 can also receive the measured distortion CCF 403 as input. In some embodiments, multiple correction modules 4321, 4322, ..., 432 are used. N The measured distortion CCF 1 4031, the measured distortion CCF 2 4032, ..., the measured distortion CCF N 403 were received respectively. N One of them is used as input.

[0068] The correction module 432 applies a correction factor 408 to the measured distortion CCF 403 to produce a compensated CCF 450. In some embodiments, the correction module 432 applies a correction factor 408 and an SNR factor 409 to produce the compensated CCF 450. In some embodiments, the correction module 432 can apply the correction factor 408 to the measured distortion CCF 403 by multiplication, such that the compensated CCF 450 is the product of multiplications. Similarly, in some embodiments, the correction module 432 can apply the correction factor 408 and the SNR factor 409 to the measured distortion CCF 403 by multiplying all three values, such that the compensated CCF 450 is the product of multiplications. In some embodiments, multiple correction modules 4321, 4322, ..., 432... N This generates compensated CCF 1 4501, compensated CCF 2 4502, ..., compensated CCF N 450, respectively. NAs previously described, taps are sampling points in the delay domain, and the measured distortion CCF 403 can be a series of taps at the output of the signal correlator 415. The correction module 432 can map a set of correlation factors to a set of correlator taps. For example, the correction module 432 applies a correction factor 408 to the measured distortion CCF 403, and the compensated CCF 450 is output as a series of taps.

[0069] In some implementations, it is not necessary to calculate the correction factor 408 and the SNR factor 409 every time the correction module 432 applies a correction. For example, once obtained, the correction factor 408 and the SNR factor 409 can remain unchanged until certain conditions prove that updating the correction factor 408 and the SNR factor 409 is reasonable. In some implementations, the correction module 432 may apply the correction factor 408 at a first frequency and calculate and update the correction factor 408 at a second frequency. In some implementations, the first frequency is greater than the second frequency. For example, the time interval between updates to the values ​​of the correction factor 408 and the SNR factor 409 is longer than the time interval between correction applications performed by the correction module 432. In some implementations, the time interval between updates to the value of the correction factor 408 can be on the order of seconds, while the time interval between correction applications can be on the order of tens of milliseconds.

[0070] In some implementations, the correction calculation module 420 may update the value of the correction factor 408 only when the filter monitor 417 updates the filter model 421. For example, when the operating conditions of the receiver 400 remain relatively consistent, the output of the filter model 421 may be unaffected, and therefore the correction factor 408 will remain unchanged. Thus, if the operating conditions of the receiver 400 do not change, the correction factor 408 may not need to be updated. If the operating conditions of the receiver 400 change to a extent that significantly affects the output of the filter model 421, the correction calculation module 420 may update the value of the correction factor 408.

[0071] Those skilled in the art will now understand that the correction calculation module 420 and the correction application module 430 can be embodied as one or more processors performing signal processing operations. Various modules and sub-modules of the correction calculation module 420 and the correction application module 430 can be embodied as one or more processors, one or more computer storage media, or sub-components of software modules (such as computer-readable program instructions) programmed to cause one or more processors to perform their respective signal processing operations.

[0072] Figure 5 This is a flowchart illustrating an exemplary process performed by a receiver (such as receiver 400) to compensate for changes in group delay.

[0073] In step 502, receiver 400 receives the ranging signal. The ranging signal may be a spread spectrum signal.

[0074] In step 504, receiver 400 generates an ideal copy signal containing a copy code corresponding to the received ranging code. In some embodiments, receiver 400 retrieves the previously generated ideal copy signal from a computer storage medium.

[0075] In step 506, receiver 400 generates an ideal ACF based on the ideal copy signal. In some embodiments, receiver 400 retrieves the previously generated ideal ACF from a computer storage medium.

[0076] In step 508, receiver 400 may optionally band-limit the ideal ACF. In some embodiments, the ideal ACF can be band-limited by applying a linear phase filter.

[0077] In step 510, receiver 400 distorts the ideal ACF to generate a distorted ACF. In some embodiments, the ideal ACF is distorted by applying a filter model to simulate the effects of various filters in receiver 400.

[0078] In step 512, receiver 400 aligns the ideal ACF and the distorted ACF. In some embodiments, receiver 400 calculates a time offset between the ideal ACF and the distorted ACF, and then offsets the distorted ACF by the calculated time offset.

[0079] In step 514, receiver 400 calculates a set of correction factors based on the ratio of ideal ACF to distorted ACF.

[0080] In step 516, receiver 400 generates a correlation signal. In some embodiments, the correlation signal is generated by cross-correlating the received ranging signal and the ideal replica signal.

[0081] In step 518, receiver 400 applies a correction factor to the correlation signal. In some embodiments, the correction factor is applied by multiplying the correction factor and the correlation signal. The product of the multiplication is a compensated correlation signal, which compensates for variations in group delay.

[0082] Figure 6 This is a flowchart illustrating an exemplary process performed by a receiver (such as receiver 400) for compensating for variations in group delay based on SNR. In some embodiments, process 600 may also be performed in addition to process 500.

[0083] In step 602, receiver 400 generates a correlation signal. In some embodiments, the correlation signal is generated by cross-correlating the received ranging signal and the ideal replica signal.

[0084] In step 604, receiver 400 estimates the signal-to-noise ratio (SNR) of the relevant signal.

[0085] In step 606, receiver 400 calculates a set of SNR factors based on the SNR estimate.

[0086] In step 608, receiver 400 applies an SNR factor to the correlation signal. In some embodiments, the SNR factor is applied by multiplying a correction factor, an SNR factor, and the correlation signal. The product of the multiplications is a compensated correlation signal, which compensates for variations in group delay. In some embodiments, in step 518 of process 500, the SNR factor is applied to the correlation signal simultaneously with the correction factor.

[0087] The computer-readable storage medium disclosed herein can be a tangible device capable of storing instructions for use by an instruction execution device. The computer-readable storage medium can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanical encoding devices (such as punch cards or raised structures in recesses where instructions are recorded), and any suitable combination of the foregoing.

[0088] The computer-readable program instructions disclosed herein may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages ​​(including object-oriented programming languages) and conventional procedural programming languages. These computer-readable program instructions may execute entirely on a computing device as a standalone software package, or may execute partly on a first computing device and partly on a second computing device located remotely from the first computing device. In the latter case, the second remote computing device may be connected to the first computing device via any type of network, including local area networks (LANs) or wide area networks (WANs).

[0089] The flowcharts and block diagrams in the accompanying drawings illustrate examples of the architecture, functionality, and operation of possible implementations of systems, methods, and apparatuses according to various embodiments. It should be noted that in some alternative implementations, the functions indicated in the boxes may not occur in the order shown in the figures. For example, depending on the functions involved, two consecutively shown boxes may actually be executed substantially simultaneously, or sometimes in reverse order.

[0090] It should be understood that the described implementations are not mutually exclusive, and elements, components, materials, or steps described in conjunction with one example implementation can be combined with or removed from other implementations in a suitable manner to achieve desired design goals.

[0091] The references to “some embodiments” or “some exemplary embodiments” in this document mean that a particular feature, structure, or characteristic described in connection with that embodiment may be included in at least one embodiment. The phrases “one embodiment,” “some embodiments,” “another embodiment,” or “an alternative embodiment” appearing in various places in this disclosure do not necessarily all refer to the same embodiment, nor are they necessarily separate or alternative embodiments that are mutually exclusive with other embodiments.

[0092] It should be understood that the steps of the exemplary methods described herein are not necessarily required to be performed in the order described, and the order of steps in such methods should be understood as merely exemplary. For example, depending on the functionality involved, two consecutively shown boxes may actually be performed substantially simultaneously, or sometimes they may be performed in reverse order. Similarly, in methods consistent with various embodiments, additional steps may be included, and certain steps may be omitted or combined.

[0093] As used herein, the word “exemplary” is used to mean as an example, instance, or illustration. Any aspect or design described herein as “exemplary” should not be construed as preferred or advantageous over other aspects or designs. Rather, the use of the word is intended to present the concept in a specific manner.

[0094] As used in this disclosure, unless otherwise expressly stated, the term "or" covers all possible combinations unless impractical. For example, if a database is stated to include A or B, then unless otherwise expressly stated or impractical, the database may include A, or B, or A and B. As a second example, if a database is stated to include A, B, or C, then unless otherwise expressly stated or impractical, the database may contain A, or B, or C, or A and B, or A and C, or B and C, or A and B and C.

[0095] Furthermore, the articles “a” and “an” used in this disclosure and the appended claims should generally be interpreted as meaning “one or more”, unless otherwise stated or clearly indicated from the context to be in the singular form.

[0096] Unless otherwise explicitly stated, each value and range should be interpreted as an approximation, as if the value or range were preceded by the words “about” or “approximately”.

[0097] Although the elements in the following method claims (if any) are listed in a particular order, these elements are not necessarily intended to be limited to being implemented in that particular sequence unless the claims references imply a particular order for implementing some or all of those elements.

[0098] It should be understood that certain features of this disclosure described in the context of individual embodiments for clarity may also be provided in combination in a single embodiment. Conversely, for brevity, multiple features of this specification described in the context of a single embodiment may also be provided individually or in any suitable sub-combination or as appropriate in any other embodiment described in this specification. Unless otherwise indicated, certain features described in the context of various embodiments are not essential features of those embodiments.

[0099] It will also be understood that those skilled in the art can make various modifications, substitutions, and changes to the details, materials, and arrangements of the described and illustrated portions without departing from the scope of the invention, in order to interpret the nature of the described embodiments. Therefore, the appended claims cover all such substitutions, modifications, and changes falling within the terms of the claims.

Claims

1. A method for compensating for group delay variations in a CDMA spread spectrum receiver, the method comprising: Receive RF signals; Generate an ideal replication signal; The RF signal is filtered by one or more filters; Obtain the ideal autocorrelation function (ACF) of the ideal replicated signal; The ideal ACF is distorted by the filtering model of one or more filters to generate a distorted ACF; Align the ideal ACF and the distorted ACF; A set of correction factors is calculated based on the ratio of the aligned ideal ACF to the distorted ACF. The cross-correlation signal is calculated based on the filtered RF signal and the ideal replicated signal; as well as A compensated cross-correlation signal is obtained by applying the set of correction factors to the cross-correlation signal, wherein applying the set of correction factors to the cross-correlation signal includes multiplying the set of correction factors with the cross-correlation signal.

2. The method according to claim 1, further comprising band limiting the ideal ACF by applying a linear phase filter.

3. The method according to claim 1, further comprising: Estimate the signal-to-noise ratio (SNR) of the cross-correlated signal; A set of SNR factors are calculated based on the estimated SNR of the cross-correlation signal; as well as Before applying the set of correction factors to the cross-correlation signal, the set of correction factors is further modified based on the set of SNR factors.

4. The method according to claim 1, wherein, The ideal ACF is determined before receiving the RF signal.

5. The method according to claim 4, wherein, The ideal ACF is obtained from the storage medium.

6. The method according to claim 1, wherein, The distorted ACF and the ideal ACF are aligned by calculating the time offset between the peak amplitude of the distorted ACF and the peak amplitude of the ideal ACF.

7. The method according to claim 1, wherein, The RF signal is modulated using the RF carrier frequency, and the time offset value is calculated based on the overall group delay of the RF carrier frequency to align the distorted ACF with the ideal ACF.

8. The method according to claim 1, wherein, The distorted ACF and the ideal ACF are aligned by calculating a time offset value based on the minimum of the sum of the squares of the errors, wherein the error is the amplitude difference between the distorted ACF and the ideal ACF.

9. The method according to claim 1, wherein, The RF signal has a frequency spread; and The sampling frequency of the ideal ACF is an integer multiple of the frequency extension.

10. The method according to claim 9, wherein, The integer multiple is 4.

11. The method according to claim 9, wherein, The integer multiple is 8.

12. The method of claim 1, further comprising monitoring parameters of the one or more filters.

13. The method according to claim 12, wherein, The filtering model of the one or more filters is generated based on the parameters of the one or more filters.

14. The method of claim 1, further comprising mapping the set of correlation factors to a set of correlator taps.

15. The method according to claim 1, wherein, The set of correction factors is applied to the cross-correlation signal at a first frequency; the set of correction factors is updated at a second frequency; and the first frequency is greater than the second frequency.

16. The method according to claim 15, wherein, The update of the set of correction factors is triggered by changes in the parameters of one or more filters.

17. The method according to claim 1, wherein, The CDMA spread spectrum receiver is a Global Navigation Satellite System (GNSS) receiver.

18. The method according to claim 1, further comprising: The received RF signal is filtered by a receiving filter, and the RF signal is received at the RF carrier frequency; Downconverting the RF signal from the RF carrier frequency to the baseband frequency; and The down-converted RF signal is filtered by one or more filters.

19. A CDMA spread spectrum device for compensating for group delay variations, the CDMA spread spectrum device comprising: Receiver, the receiver being configured to receive RF signals; One or more filters, said one or more filters being configured to filter the RF signal; as well as At least one processor, said at least one processor being configured to: Generate an ideal replication signal; Obtain the ideal autocorrelation function (ACF) of the ideal replicated signal; The ideal ACF is distorted by the filtering model of one or more filters to generate a distorted ACF; Align the ideal ACF and the distorted ACF; A set of correction factors is calculated based on the ratio of the aligned ideal ACF to the distorted ACF. The cross-correlation signal is calculated based on the filtered RF signal and the ideal replicated signal; as well as A compensated cross-correlation signal is obtained by applying the set of correction factors to the cross-correlation signal, wherein applying the set of correction factors to the cross-correlation signal includes multiplying the set of correction factors with the cross-correlation signal.