High-precision instantaneous speed measurement method and system based on GNSS phase-locked loop state extraction

By extracting the velocity state variable, which has undergone integral smoothing, from the third-order digital phase-locked loop of the GNSS receiver and calculating the Doppler frequency shift, the contradiction between accuracy and real-time performance in existing GNSS velocity measurement technology is resolved. This results in a high-precision, real-time, and interference-resistant velocity measurement method suitable for autonomous driving and UAV navigation.

CN122085319BActive Publication Date: 2026-07-28BEIJING TIANHAIDA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING TIANHAIDA TECH CO LTD
Filing Date
2026-04-22
Publication Date
2026-07-28

AI Technical Summary

Technical Problem

Existing GNSS velocity measurement technologies present a trade-off between accuracy and real-time performance. The Doppler direct velocity measurement method lacks accuracy, while the carrier phase epoch difference method suffers from time lag and insufficient anti-interference capability, making it difficult to meet the requirements of high-precision real-time applications.

Method used

By extracting the velocity state variable, which has undergone integral smoothing, from the third-order digital phase-locked loop of the GNSS receiver and calculating the Doppler frequency shift, the velocity information of the receiver can be obtained directly, avoiding the noise and time lag problems of traditional methods.

Benefits of technology

It achieves high-precision instantaneous velocity measurement at the level of 0.001 to 0.005 meters per second, with zero lag per epoch and good anti-interference capability, meeting the real-time and accuracy requirements of applications such as autonomous driving and drone navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122085319B_ABST
    Figure CN122085319B_ABST
Patent Text Reader

Abstract

The application discloses a high-precision instantaneous speed measurement method and system based on GNSS phase-locked loop state extraction, and the method comprises the following steps: acquiring a speed state variable in a GNSS receiver phase-locked loop, wherein the speed state variable is used for representing frequency information after integral smoothing processing, the phase-locked loop is a third-order digital phase-locked loop, and the speed state variable is a second-order state variable in a third-order digital phase-locked loop state updating equation; performing frequency conversion processing on the speed state variable to obtain a Doppler frequency shift used for speed solution; and calculating speed information of the GNSS receiver based on the Doppler frequency shift. The speed state variable representing the frequency information after the integral smoothing processing is directly extracted from the GNSS receiver phase-locked loop to perform the Doppler frequency shift calculation, and the output control word containing instantaneous noise used in the traditional method is replaced, so that the contradiction between the insufficient precision of the existing Doppler direct speed measurement method and the time lag of the carrier phase epoch difference method is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of satellite navigation technology, and in particular to a high-precision instantaneous velocity measurement method and system based on GNSS phase-locked loop state extraction. Background Technology

[0002] Global Navigation Satellite Systems (GNSS) provide fundamental support for modern positioning, navigation, and timing. Besides position information, velocity information is equally crucial in many applications, such as autonomous driving, precision agriculture, drone navigation, and geodesy, all of which demand high accuracy, real-time performance, and reliability in velocity measurements. Currently, GNSS velocity measurement technologies are mainly classified into three categories: Doppler direct velocimetry, carrier phase epoch difference method, and position difference method. Among these, the Doppler direct velocimetry method directly calculates velocity based on the Doppler frequency shift of the satellite signal. Traditionally, this method reads the output control word of the phase-locked loop (PLL) and calculates the Doppler frequency shift using the difference between the frequency control word and the nominal frequency. This method offers good real-time performance, but its accuracy is limited due to quantization errors in the frequency control word and instantaneous noise in the PLL, typically ranging from 0.03 to 0.1 meters per second. The carrier phase epoch difference method calculates velocity by differentially analyzing carrier phase observations from adjacent epochs, achieving an accuracy of 0.01 to 0.03 meters per second. However, this method requires data from two epochs, suffers from time lag, and is sensitive to carrier phase cycle slips, which severely impact velocity measurement accuracy. The position difference method obtains velocity by time-difference analysis of position information, but has the worst accuracy, typically only 0.1 to 0.5 meters per second, and suffers from significant lag, making it unsuitable for high-precision real-time applications.

[0003] The aforementioned existing technologies each have significant limitations. On the one hand, high-precision methods, such as the carrier phase epoch difference method, often suffer from time lag, while real-time methods, such as the Doppler direct velocimetry method, lack sufficient accuracy, creating a contradiction between accuracy and real-time performance. On the other hand, the carrier phase method is sensitive to cycle slips, and its performance degrades significantly in complex environments such as signal obstruction and multipath propagation, exhibiting insufficient anti-interference capabilities. Furthermore, high-precision velocimetry methods typically require complex cycle slip detection and repair algorithms, resulting in high computational complexity, high hardware resource requirements, and significant system resource consumption. Therefore, there is an urgent need in this field for a GNSS velocimetry method that can achieve both high-precision velocimetry and good real-time performance and anti-interference capabilities. Summary of the Invention

[0004] The purpose of this invention is to provide a high-precision instantaneous velocity measurement method and system based on GNSS phase-locked loop state extraction. By directly extracting the velocity state variable, which represents the frequency information after integral smoothing, from the GNSS receiver phase-locked loop and performing Doppler frequency shift calculation, the velocity measurement accuracy is improved. This solves the contradiction between the insufficient accuracy of the existing Doppler direct velocity measurement method and the time lag of the carrier phase epoch difference method. It is applicable to fields such as autonomous driving, precision agriculture, UAV navigation, and geodesy.

[0005] To address the aforementioned technical problems, a first aspect of this invention provides a high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction, comprising the following steps: The velocity state variable in the phase-locked loop of the GNSS receiver is obtained. The velocity state variable is used to characterize the frequency information after integral smoothing. The phase-locked loop is a third-order digital phase-locked loop. The velocity state variable is the second-order state variable in the state update equation of the third-order digital phase-locked loop. The velocity state variable is subjected to frequency conversion processing to obtain the Doppler frequency shift; The velocity information of the GNSS receiver is calculated based on the Doppler frequency shift.

[0006] Further, the acquisition of the velocity state variables in the GNSS receiver phase-locked loop includes: After down-converting and analog-to-digital converting the satellite signal, coherent integration is performed with the local carrier signal to obtain the coherent integration result; The coherent integration result is input into the phase detector to obtain the phase error; Within the current tracking cycle, the velocity state variable maintained by the phase-locked loop is updated according to the phase error. The update method includes using an integral accumulation method to calculate the velocity state variable of the current tracking cycle based on the velocity state variable, acceleration state variable and phase error of the previous tracking cycle. After the speed state variable is updated, the current value of the speed state variable is read from the state register of the phase-locked loop.

[0007] Furthermore, the update formula for the velocity state variable is:

[0008] in, For velocity state variables, The acceleration state variable of the phase-locked loop is... For the preset loop filter coefficients, This refers to the phase error of the phase detector.

[0009] Further, the acquisition of the velocity state variables in the GNSS receiver phase-locked loop includes: At the end of each integration cycle, an acquisition operation is triggered, and the acquired speed state variable is synchronously latched with the corresponding timestamp before being output.

[0010] Further, the step of performing frequency conversion processing on the velocity state variable to obtain the Doppler frequency shift includes: Based on the velocity state variable and the preset calibration conversion coefficient, the estimated frequency is calculated. The calibration conversion coefficient is used to convert the numerical dimension of the velocity state variable into the frequency dimension. The Doppler frequency shift is obtained by subtracting the preset nominal intermediate frequency from the estimated frequency.

[0011] Further, the calculation of the estimated frequency based on the velocity state variable and the preset calibration conversion coefficient includes: The estimated frequency is obtained by performing a multiplication operation between the speed state variable and the preset calibration conversion coefficient, and a subtraction operation between the estimated frequency and the preset nominal intermediate frequency, using high-precision floating-point arithmetic.

[0012] Furthermore, the preset calibration conversion coefficient is determined jointly by the system clock frequency of the GNSS receiver and the design parameters of the phase-locked loop.

[0013] Further, the calculation of the GNSS receiver's velocity information based on the Doppler frequency shift includes: The Doppler frequency shifts corresponding to several satellites are obtained respectively. The Doppler frequency shifts are multiplied by the carrier wavelength and the negative value is taken to obtain the radial velocity of the GNSS receiver relative to the satellite. Based on several radial velocities and corresponding satellite position information, the three-dimensional velocity vector of the GNSS receiver is calculated using the least squares method or Kalman filtering.

[0014] Furthermore, it also includes: The acceleration state variable is updated based on the phase error. The update method includes updating by integral accumulation, which involves superimposing the product of the phase error and the coefficient of the first preset loop filter on the previous tracking cycle value of the acceleration state variable to obtain the updated acceleration state variable.

[0015] Accordingly, a second aspect of the present invention provides a high-precision instantaneous velocity measurement system based on GNSS phase-locked loop state extraction, which calculates the velocity information of a GNSS receiver based on the above-described high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction, including: The data receiving module is used to acquire the velocity state variables in the phase-locked loop of the GNSS receiver, and the velocity state variables are used to characterize the frequency information after integral smoothing. The frequency conversion module is used to perform frequency conversion processing on the velocity state variable to obtain the Doppler frequency shift used for velocity calculation. The velocity calculation module is used to calculate the velocity information of the GNSS receiver based on the Doppler frequency shift.

[0016] Accordingly, a third aspect of the present invention provides an electronic device, comprising: at least one processor; and a memory connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to cause the at least one processor to perform the above-described high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction.

[0017] Accordingly, a fourth aspect of the present invention provides a computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the above-described high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction.

[0018] The above-described technical solutions of the embodiments of the present invention have the following beneficial technical effects: 1. In terms of speed measurement accuracy, by extracting the speed state variable that has undergone integral smoothing from inside the phase-locked loop to replace the traditional output control word for Doppler frequency shift calculation, the speed measurement noise level is reduced by one to two orders of magnitude compared to the traditional method. Since the speed state variable obtains a smooth accumulation effect of multiple consecutive tracking cycles through integral accumulation in the state update equation, its noise level is significantly lower than that of the output control word containing proportional instantaneous noise. Thus, high-precision instantaneous speed measurement at the level of 0.001 to 0.005 m / s is achieved, which is significantly better than the accuracy level of 0.03 to 0.1 m / s of the traditional Doppler direct speed measurement method. 2. In terms of real-time performance, it achieves high-precision speed output with single epoch and zero lag. Unlike the traditional carrier phase epoch differential method, which requires differential calculation based on the carrier phase observations of two adjacent epochs and has inherent time lag, the speed state variable can be directly read from the phase-locked loop state register at the end of each integration period. After frequency conversion, the Doppler frequency shift of the current epoch can be obtained, and then the receiver speed can be calculated. There is no need to wait for subsequent epoch data, eliminating the time lag problem of speed measurement results and meeting the stringent real-time requirements of applications such as autonomous driving and drone navigation. 3. In terms of anti-interference capability, it has good adaptability to complex environments due to its insensitivity to carrier phase cycle slips. Since it uses the velocity state variable representing frequency information as the source of velocity measurement information, rather than directly using carrier phase observations, the impact of carrier phase cycle slips on the frequency state is much smaller than its impact on the phase observations. Therefore, it can maintain the stability of the velocity measurement results without relying on complex cycle slip detection and repair algorithms. By solving the three-dimensional velocity vector through the least squares method or Kalman filtering, it can further suppress measurement noise introduced by complex environments such as multipath effects and signal blockage, and can still maintain high velocity measurement accuracy under conditions of signal quality fluctuations. Attached Figure Description

[0019] Figure 1 This is a flowchart of a high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction provided in an embodiment of the present invention; Figure 2 This is a schematic diagram illustrating the implementation of the high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction provided in this embodiment of the invention; Figure 3 This is a flowchart of the phase-locked loop update process provided in an embodiment of the present invention; Figure 4 This is a schematic diagram of the statistical values ​​of speed measurement results provided in an embodiment of the present invention; Figure 5 These are statistical values ​​of speed measurement results obtained using traditional methods; Figure 6 This is a block diagram of a high-precision instantaneous velocity measurement system based on GNSS phase-locked loop state extraction provided in an embodiment of the present invention.

[0020] Figure label: 1. Data receiving module; 2. Frequency conversion module; 3. Speed ​​calculation module. Detailed Implementation

[0021] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to specific embodiments and the accompanying drawings. It should be understood that these descriptions are merely exemplary and not intended to limit the scope of the invention. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concept of the invention.

[0022] Please refer to Figure 1 and Figure 2 The first aspect of this invention provides a high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction, comprising the following steps: Step S100: Obtain the velocity state variable in the phase-locked loop of the GNSS receiver. The velocity state variable is used to characterize the frequency information after integral smoothing. The phase-locked loop is a third-order digital phase-locked loop, and the velocity state variable is the second-order state variable in the state update equation of the third-order digital phase-locked loop.

[0023] During the tracking of satellite signals by a GNSS receiver, the receiver's internal digital phase-locked loop (PLL) maintains multiple state variables to track changes in the carrier phase in real time. Specifically, at the receiver's front end, the GNSS satellite signal received by the antenna is filtered, amplified, and down-converted by the RF front end, converting it into an intermediate frequency (IF) signal. This IF signal is then sampled by an analog-to-digital converter (ADC) and input to the digital signal processing unit (DSP). Inside the DSP, the digital IF signal is mixed with a quadrature signal generated by a local oscillator to obtain a baseband in-phase component and a baseband quadrature component. These components are then correlated with a locally generated pseudo-random code, and the correlation result is input to a phase detector to obtain the phase error. Based on this phase error, the PLL updates its internally maintained state variables according to a preset state update equation.

[0024] The phase-locked loop (PLL) is a third-order digital PLL, maintaining three state variables in its state update equation, corresponding to different integration orders of the PLL: first-order, second-order, and third-order state variables. The first-order state variable corresponds to the PLL's output control word and is directly used to drive the numerically controlled oscillator (CNC) to generate a local carrier signal. Its update process includes a proportional term path, directly adding the instantaneous phase error of the current tracking period to the state variable, making it highly sensitive to the instantaneous noise output by the phase detector. The second-order state variable, the velocity state variable in this invention, corresponds to the frequency information of the received signal. It is updated in the state update equation through integration and accumulation. Specifically, the update method involves adding the current period's third-order state variable to the second-order state variable of the previous tracking period, and then adding the product of the phase error and the preset loop filter coefficients. Because the update path of the second-order state variable includes integration and accumulation of the third-order state variable, and the added proportional term contribution is smoothed by the loop filter, the noise level of the second-order state variable is significantly lower than that of the first-order state variable. The third-order state variable corresponds to the frequency change rate information of the received signal, i.e., the acceleration state variable, which is updated in the state update equation by directly accumulating the product of the phase error and the preset loop filter coefficients.

[0025] In a third-order digital phase-locked loop (PLL), the second-order state variable serves as an intermediate state connecting the first-order and third-order state variables. It reflects the continuous frequency variation trend while avoiding the instantaneous noise introduced by the proportional path. At the end of each integration cycle, the receiver directly reads the current value of this velocity state variable from the PLL's state register. This velocity state variable numerically corresponds to a deeply smoothed instantaneous frequency estimate. By utilizing the low-noise characteristics of the second-order state variable in the third-order PLL as the source of velocity information, replacing the traditional method of directly using the first-order state variable (i.e., the output control word), the measurement accuracy of Doppler shift is significantly improved while maintaining the dynamic performance of the carrier tracking loop.

[0026] Step S200: Perform frequency conversion processing on the velocity state variable to obtain the Doppler frequency shift used for velocity calculation.

[0027] After reading the velocity state variable from the phase-locked loop (PLL), the receiver needs to convert this state variable into a Doppler shift value with practical physical meaning. Specifically, the receiver pre-stores calibration conversion coefficients, which are determined by the receiver's system clock frequency and the PLL design parameters. These coefficients are used to convert the numerical dimensions of the velocity state variable into frequency dimensions. The receiver multiplies the read velocity state variable by these calibration conversion coefficients to obtain an estimated frequency value, which corresponds to the actual frequency of the received signal at the current tracking moment. Subsequently, the receiver acquires a preset nominal intermediate frequency (IF), which is the IF frequency corresponding to the receiver when receiving static signals. This nominal IF is determined by the local oscillator frequency of the RF front-end downconverter and is a basic configuration parameter of the receiver. The receiver subtracts the nominal IF from the estimated frequency value; the difference is the Doppler shift of the current satellite signal. During the frequency conversion process, the receiver uses double-precision floating-point arithmetic to perform multiplication and subtraction operations to ensure the numerical accuracy of the frequency conversion.

[0028] Step S300: Calculate the speed information of the GNSS receiver based on the Doppler frequency shift.

[0029] After obtaining the Doppler shift corresponding to a single satellite, the receiver multiplies this Doppler shift by the carrier wavelength of the corresponding satellite signal and takes the negative value to obtain the receiver's radial velocity relative to that satellite. Since the radial velocity of a single satellite only reflects the projection component of the receiver's velocity along the line connecting the receiver and the satellite, it cannot uniquely determine the receiver's three-dimensional velocity vector. Therefore, the receiver needs to perform the above processing on multiple satellites simultaneously. The receiver calculates the spatial position of each satellite based on the current satellite ephemeris data and, combined with the receiver's approximate position, obtains the line-of-sight unit vector of each satellite relative to the receiver. The receiver combines the radial velocity observations of at least four satellites with the corresponding line-of-sight unit vectors to construct a set of velocity equations. These equations are then solved using the least squares method or Kalman filtering to obtain the receiver's velocity vector in three-dimensional space: the northward velocity, the eastward velocity, and the celestial velocity, thus achieving high-precision instantaneous velocity measurement for the GNSS receiver.

[0030] By directly extracting the velocity state variable, which has undergone integral smoothing, from inside the phase-locked loop of the GNSS receiver to replace the traditional output control word for Doppler frequency shift calculation, and utilizing the low-noise characteristics obtained by the velocity state variable during the integral accumulation and update process, high-precision instantaneous velocity measurement with single epoch and zero hysteresis is achieved. While ensuring real-time performance, the velocity measurement accuracy is improved to more than an order of magnitude above that of the traditional direct Doppler velocity measurement method.

[0031] Specifically, step S100, obtaining the velocity state variables in the GNSS receiver phase-locked loop, includes: Step S110: After down-converting and analog-to-digital converting the satellite signal, coherent integration processing is performed with the local carrier signal to obtain the coherent integration result.

[0032] In the RF front-end of a GNSS receiver, the satellite signal received by the antenna is first amplified by a low-noise amplifier, and then converted into an intermediate frequency (IF) signal by a down-converter. This IF signal is then sampled by an analog-to-digital converter (ADC) to become a digital IF signal. In the digital signal processing unit, the receiver generates a local oscillator signal corresponding to the carrier frequency. This local oscillator produces two orthogonal signals: an in-phase carrier signal and a quadrature carrier signal. The digital IF signal is mixed with the in-phase and quadrature carrier signals respectively to obtain a baseband in-phase component and a baseband quadrature component. Based on this, the receiver locally generates a pseudo-random code corresponding to the tracked satellite. The baseband in-phase and quadrature components are then correlated with the local pseudo-random code. The integration time of the correlation operation is typically set to one pseudo-code period or an integer multiple of the pseudo-code period. After integration, the in-phase coherent integration result and the quadrature coherent integration result are obtained. These two coherent integration results reflect the phase alignment between the received signal and the locally replicated signal.

[0033] Step S120: Input the coherent integration result into the phase detector to obtain the phase error.

[0034] The receiver uses the in-phase coherent integration result and the quadrature coherent integration result obtained in step S110 as inputs to the phase detector. The phase detector processes the two coherent integration results according to a preset phase detection algorithm. For phase-locked loops (PLLs) commonly used for GNSS signal tracking, the phase detector typically uses the arctangent function to calculate the phase error. That is, it performs an arctangent operation based on the ratio of the quadrature coherent integration result to the in-phase coherent integration result to obtain the instantaneous phase difference between the received signal and the local carrier. This phase difference, expressed in radians, reflects the phase deviation between the local carrier signal and the actual received signal carrier within the current tracking period. The phase error output by the phase detector serves as the driving source for PLL state updates in subsequent steps. The PLL adjusts its internal state variables according to the magnitude and direction of this phase error, thereby gradually bringing the local carrier closer to the carrier phase of the actual received signal.

[0035] Step S130: In the current tracking cycle, the velocity state variables maintained by the phase-locked loop are updated according to the phase error. The update method includes using an integral accumulation method to calculate the velocity state variables of the current tracking cycle based on the velocity state variables, acceleration state variables, and phase error of the previous tracking cycle.

[0036] The phase-locked loop (PLL) performs a state update once per tracking cycle. Internally, it maintains multiple state variables, including velocity and acceleration state variables. During the state update process, the PLL first updates the acceleration state variable based on the phase error output by the phase detector in the current tracking cycle. The acceleration state variable is updated by adding the product of the phase error and a preset loop filter coefficient to the value from the previous cycle. Subsequently, the PLL updates the velocity state variable based on the updated acceleration state variable and the phase error of the current cycle. This update uses an integral accumulation method. Based on the velocity state variable from the previous tracking cycle, the acceleration state variable from the current cycle, and the phase error from the current cycle, the velocity state variable for the current tracking cycle is calculated. Specifically, the update method involves adding the acceleration state variable value from the current cycle to the velocity state variable from the previous cycle, and then adding the product of the phase error and another preset loop filter coefficient. This integral accumulation update method allows the velocity state variable to gradually accumulate the integral information of the phase error over multiple consecutive tracking cycles, thereby achieving a smoothing effect. Its numerical change trend reflects the continuous change process of the received signal frequency, while the influence of instantaneous phase fluctuations caused by thermal noise and other factors on the velocity state variable within a single tracking cycle is effectively suppressed.

[0037] In addition, high-precision instantaneous velocity measurement methods based on GNSS phase-locked loop state extraction also include: The acceleration state variable is updated based on the phase error. The update method includes updating by integral accumulation, which involves superimposing the product of the phase error and the coefficient of the first preset loop filter on the previous tracking cycle value of the acceleration state variable to obtain the updated acceleration state variable.

[0038] In step S130, the phase-locked loop (PLL) performs a state update once per tracking cycle. The PLL maintains multiple state variables, including acceleration and velocity state variables. During the state update process, the PLL first updates the acceleration state variable based on the phase error output by the phase detector in the current tracking cycle. The acceleration state variable is updated using an integral accumulation method, specifically by adding the product of the phase error of the current cycle and the coefficients of the first preset loop filter to the previous tracking cycle value of the acceleration state variable, thus obtaining the updated acceleration state variable. This update method enables the acceleration state variable to continuously track the rate of change of the received signal frequency, i.e., the first derivative of the frequency, thereby reflecting the dynamic trend of the received signal frequency. After the acceleration state variable is updated, the phase-locked loop (PLL) updates the velocity state variable based on the updated acceleration state variable and the phase error of the current cycle. The velocity state variable update employs an integral accumulation method. Based on the velocity state variable of the previous tracking cycle, the acceleration state variable of the current cycle, and the phase error of the current cycle, the velocity state variable of the current tracking cycle is calculated. Specifically, the update method involves superimposing the acceleration state variable value of the current cycle onto the velocity state variable of the previous cycle, and then superimposing the product of the phase error and the coefficients of the second preset loop filter. This hierarchical, progressive integral accumulation update method allows the acceleration and velocity state variables to gradually accumulate the integral information of the phase error over multiple consecutive tracking cycles. The acceleration state variable directly accumulates the weighted value of the phase error to track the rate of frequency change, while the velocity state variable achieves a smoothing effect by superimposing the integral information of the acceleration state variable. Its numerical change trend reflects the continuous change process of the received signal frequency, while the influence of instantaneous phase fluctuations caused by thermal noise and other factors on the velocity state variable within a single tracking cycle is effectively suppressed.

[0039] Step S140: After the speed state variable is updated, read the current value of the speed state variable from the state register of the phase-locked loop.

[0040] After the phase-locked loop (PLL) completes its state update for the current tracking cycle, the updated velocity state variable is stored in the corresponding PLL state register. At the end of the tracking cycle, the receiver reads the velocity state variable value from this state register; this value is the frequency state information after integral smoothing. For multi-channel receivers, each satellite channel independently maintains its own PLL and corresponding state register. At the end of each integration cycle, the receiver performs a read operation on each channel and synchronously latches the read velocity state variable with the timestamp corresponding to the current integration cycle to ensure the timing correspondence between the velocity state variable and the integration cycle. The read velocity state variable serves as the direct input for subsequent frequency conversion processing, replacing the traditional method of reading the output control word, fundamentally reducing the noise level of the frequency information source used for velocity measurement.

[0041] Through the above steps, the receiver directly obtains the speed state variable updated by the integration accumulation method from the phase-locked loop status register at the end of each integration cycle. Due to the integration smoothing effect introduced during the update process, the noise level of this speed state variable is significantly lower than that of the output control word used in the traditional method, thus providing a high signal-to-noise ratio frequency information source for subsequent Doppler frequency shift calculation and laying the data foundation for high-precision speed measurement.

[0042] Furthermore, the update formula for the velocity state variable is:

[0043] in, For velocity state variables, The acceleration state variable of the phase-locked loop. For the preset loop filter coefficients, This refers to the phase error of the phase detector.

[0044] like Figure 3As shown, in the digital phase-locked loop (PLL) design of a GNSS receiver, a state update operation is performed once per tracking cycle. The PLL maintains three core state variables: the output control word state variable, the velocity state variable, and the acceleration state variable. These three state variables correspond to different integration orders of the PLL. Before the state update begins, the PLL obtains the phase error of the current tracking cycle through a phase detector. This phase error reflects the instantaneous phase deviation between the local carrier signal and the actual received signal. Simultaneously, during system initialization, the PLL calculates the loop filter coefficients based on the preset natural frequency and damping ratio. These coefficients remain unchanged during receiver operation. The PLL first updates the acceleration state variable based on the phase error and the preset first loop filter coefficients. Specifically, the update method involves superimposing the product of the phase error and the first loop filter coefficients onto the previous cycle value of the acceleration state variable. This step enables the acceleration state variable to track the rate of change of the received signal frequency.

[0045] After the acceleration state variable is updated, the phase-locked loop (PLL) enters the velocity state variable update process. The velocity state variable update is based on the velocity state variable from the previous tracking cycle, the updated acceleration state variable for the current cycle, and the phase error for the current cycle. Specifically, the PLL uses the velocity state variable from the previous tracking cycle as the base value, adds the acceleration state variable from the current cycle, and then adds the product of the phase error and the preset second loop filter coefficients to obtain the updated velocity state variable. This update method allows the velocity state variable to accumulate the integral information of the phase error over consecutive tracking cycles. The contribution of the acceleration state variable reflects the cumulative effect of the frequency change rate, while the contribution of the product of the phase error and the second loop filter coefficients provides a correction term for the frequency error. Because the velocity state variable update path includes the retention of its own value from the previous cycle and the integral accumulation of the acceleration state variable, the variable numerically represents a deeply smoothed frequency estimate, which has a significant suppression effect on the instantaneous noise output of the phase detector within a single tracking cycle.

[0046] After the speed state variable is updated, the phase-locked loop further updates the output control word state variable. The update of the output control word state variable is based on the updated speed state variable for the current cycle and the phase error for the current cycle. Specifically, the update method is to add the product of the phase error and the preset third-loop filter coefficients to the speed state variable. The output control word state variable includes the contribution of the proportional term path, which directly adds the instantaneous phase error of the current cycle to the speed state variable. Therefore, the noise level of the output control word state variable is higher than that of the speed state variable. The updated output control word state variable is written to the control register of the numerically controlled oscillator (CNC) to generate a local carrier signal for tracking the received signal.

[0047] Through the aforementioned state update process, the phase-locked loop (PLL) simultaneously maintains state variables along three different integration paths within each tracking cycle. Among these, the velocity state variable, because it incorporates the integral information of the acceleration state variable during the update process and only includes a smoothed proportional term contribution, has a significantly lower noise level than the output control word state variable, which directly contains the proportional term of the instantaneous phase error. Therefore, extracting the velocity state variable from the PLL as a source of speed measurement information can fundamentally reduce the noise level of the frequency information source, laying the foundation for high-precision instantaneous speed measurement.

[0048] In addition, obtaining the velocity state variables in the GNSS receiver phase-locked loop in step S100 includes: Step S101: At the end of each integration cycle, trigger the acquisition operation, and output the acquired speed state variable after synchronously latching it with the corresponding timestamp.

[0049] In the digital signal processing architecture of a GNSS receiver, high-precision velocity measurement is typically achieved through a combination of hardware and software. High-real-time, high-parallel signal processing tasks are deployed in a field-programmable gate array (FPGA), while control logic and computation tasks are handled by a processor. Each integration cycle of the receiver has a fixed duration, such as one millisecond, two milliseconds, or twenty milliseconds, depending on the receiver configuration and the type of satellite signal being tracked. At the start of each integration cycle, the FPGA continuously executes baseband signal processing tasks such as coherent integration and correlation operations. At the end of the integration cycle, the coherent integration result is latched in a register, and an interrupt signal is sent to the processor. Upon receiving this interrupt signal, the processor immediately performs an acquisition operation of the phase-locked loop (PLL) state variables. Because the interrupt signal is strictly synchronized with the end of the integration cycle, the timing of the processor's acquisition operation is precisely limited to the end of each integration cycle.

[0050] During the acquisition operation, the processor reads the current value of the velocity state variable from the status register corresponding to the phase-locked loop (PLL) and simultaneously reads the timestamp corresponding to the current integration period from the system timing unit. This timestamp, typically based on the receiver's local clock, has a timing resolution at the microsecond level or even higher, and is used to identify the signal reception time corresponding to the velocity state variable. The processor synchronously latches the read velocity state variable and the timestamp, binding them into a single data unit within the same processing cycle and storing it in a memory buffer. For multi-constellation, multi-channel receivers, which simultaneously track signals from multiple satellites, each satellite channel independently maintains its own PLL status register. At the end of each integration period, the processor performs an acquisition operation on all channels, synchronously latching the velocity state variables of each channel with the global timestamp of the same integration period, forming a complete set of observation data for that integration period.

[0051] By triggering the acquisition at the end of each integration cycle and synchronously latching the velocity state variables with the timestamp, the receiver ensures a strict one-to-one correspondence between the velocity state variables and the signal reception time. The timestamp provides a precise time reference for subsequent Doppler shift calculations and velocity solutions, enabling joint solutions of velocity state variables from different satellite channels under the same time reference. Furthermore, since the acquisition operation is performed instantly at the end of the integration cycle, there is no additional time delay in acquiring the velocity state variables, providing timing assurance for single-epoch, zero-hysteresis, high-precision instantaneous velocimetry.

[0052] Specifically, step S200 involves performing frequency conversion on the velocity state variable to obtain the Doppler frequency shift used for velocity calculation, including: Step S210: Calculate the estimated frequency based on the velocity state variable and the preset calibration conversion coefficient. The calibration conversion coefficient is used to convert the numerical dimensions of the velocity state variable into the frequency dimensions.

[0053] After the GNSS receiver acquires the velocity state variable, this variable is represented as a dimensionless digital quantity, or a digital quantity corresponding to an accumulation unit within the phase-locked loop (PLL). Its magnitude directly reflects the PLL's tracking status of the received signal frequency. To convert this digital quantity into a frequency value with actual physical meaning, the receiver pre-stores calibration conversion coefficients. These coefficients are calculated and determined during the receiver initialization phase based on the receiver's system clock frequency and the PLL's design parameters. The system clock frequency determines the frequency resolution and adjustment step size of the numerically controlled oscillator (CNC), while the PLL's design parameters include the structure of the loop filter, the bit width of the state variable, and the update period. These parameters collectively determine the actual frequency change corresponding to each unit of the velocity state variable's digital value. During frequency conversion, the receiver multiplies the read velocity state variable by these calibration conversion coefficients. The result of this multiplication is the estimated frequency, which corresponds to the actual frequency value of the local carrier signal within the current tracking period. During multiplication, the receiver typically uses double-precision floating-point arithmetic to ensure the accuracy of the frequency conversion and avoid additional quantization errors caused by truncation or rounding.

[0054] Step S220: Subtract the preset nominal intermediate frequency from the estimated frequency to obtain the Doppler frequency shift.

[0055] The estimated frequency calculated by the receiver in step S210 is the actual frequency value of the local carrier signal. This frequency value includes both the nominal intermediate frequency (IF) component and the Doppler shift component. The nominal IF frequency is a fixed parameter determined during the design of the GNSS receiver's RF front-end, and is determined by the local oscillator frequency of the downconverter. For example, in a GPS L1 band receiver, the RF signal is usually converted to a fixed IF frequency after downconversion, such as 1575.42 MHz, which corresponds to an IF frequency of 1.40 MHz or a similar value. This nominal IF frequency is pre-stored in the receiver as a basic configuration parameter. The receiver subtracts this nominal IF frequency from the estimated frequency obtained in step S210; the difference is the Doppler shift of the current satellite signal. The Doppler shift is the carrier frequency offset caused by the relative motion between the receiver and the satellite; its magnitude and direction reflect the radial velocity of the receiver relative to the satellite. After obtaining the Doppler frequency shift through subtraction, the receiver uses this Doppler frequency shift as an input parameter for subsequent velocity calculation, which is used to calculate the radial velocity between the receiver and the satellite.

[0056] Through the frequency conversion process described above, the receiver converts the dimensionless velocity state variable within the phase-locked loop into a Doppler frequency shift value with clear physical meaning. Since the velocity state variable has already undergone integral smoothing to reduce noise levels during acquisition, and the frequency conversion process employs calibrated conversion coefficients for precise dimensional conversion and double-precision floating-point arithmetic, the resulting Doppler frequency shift has high measurement accuracy, providing an accurate data foundation for subsequent velocity calculations based on the Doppler frequency shift.

[0057] Further, in step S220, calculating the estimated frequency based on the velocity state variable and the preset calibration conversion coefficient includes: Step S221: Use high-precision floating-point arithmetic to perform multiplication of the speed state variable and the preset calibration conversion coefficient, and subtraction of the estimated frequency and the preset nominal intermediate frequency to obtain the estimated frequency.

[0058] In the digital signal processing architecture of a GNSS receiver, the state update of the phase-locked loop (PLL) and the acquisition of velocity state variables are typically performed at the hardware level using fixed-point arithmetic to improve processing speed and reduce resource consumption. The velocity state variables are stored in the PLL's state register as fixed-point numbers, with their numerical range, bit width, and decimal point position determined by the PLL's design parameters. Similarly, the preset calibration conversion coefficients are stored in the receiver's parameter storage area in either fixed-point or floating-point form. When the receiver needs to convert the velocity state variables to an estimated frequency, it first converts the velocity state variables from fixed-point format to high-precision floating-point format, such as using a 64-bit double-precision floating-point representation, to retain all significant digits of the velocity state variables and avoid precision loss during format conversion. Subsequently, the receiver reads the preset calibration conversion coefficients in high-precision floating-point form and performs a multiplication operation between the velocity state variables and the calibration conversion coefficients. This multiplication operation is performed in the floating-point arithmetic unit, which maintains the precision of intermediate results during the calculation process and avoids introducing additional quantization errors due to truncation or rounding. The result of the multiplication operation is the floating-point representation of the estimated frequency. After obtaining the estimated frequency, the receiver continues to use high-precision floating-point arithmetic to perform a subtraction operation between the estimated frequency and the preset nominal intermediate frequency (IF). The preset nominal IF is also stored and used in the operation as a high-precision floating-point number. The difference obtained from the subtraction operation is the floating-point representation of the Doppler frequency shift. By using high-precision floating-point arithmetic throughout the frequency conversion process, the receiver ensures that the conversion accuracy from the velocity state variable to the Doppler frequency shift is not affected by quantization errors during numerical computation, thus maintaining the low-noise characteristics obtained by the velocity state variable during integral smoothing and providing a high-precision Doppler frequency shift input for subsequent velocity calculation.

[0059] Specifically, the preset calibration conversion coefficients in step S210 are determined jointly by the GNSS receiver's system clock frequency and the phase-locked loop (PLL) design parameters. During the system design and initialization phase of the GNSS receiver, determining the calibration conversion coefficients requires comprehensive consideration of the receiver's hardware characteristics and the PLL's software parameters. The receiver's system clock frequency determines the operating reference of the numerically controlled oscillator (CCO). The CCO generates a local carrier signal based on the control word output by the PLL, and its frequency resolution and adjustment step size are jointly determined by the system clock frequency and the CCO's bit width. The higher the system clock frequency, the higher the frequency adjustment accuracy achievable by the CCO. Meanwhile, the PLL design parameters include the coefficients of the loop filter, the bit width representation of the state variables, the scaling factor of the state variables, and the duration of the integration period. In the digital implementation of the PLL, to balance computational efficiency and dynamic range, the velocity state variables are typically represented in fixed-point format, and their decimal point position and the actual physical quantity corresponding to each unit amplitude are determined by the design parameters. The calculation process for the calibration conversion coefficient involves corresponding a unit digital value of the velocity state variable to a frequency adjustment step of the numerically controlled oscillator (CNC), and then converting the digital step into an actual frequency change in Hertz using the system clock frequency. Specifically, during the initialization phase, the receiver calculates the frequency resolution of the CNC based on the system clock frequency, i.e., the actual frequency change corresponding to each digital adjustment step. Then, based on the mapping relationship between the velocity state variable and the CNC oscillator control word in the phase-locked loop (PLL), it determines the linear conversion coefficient between the velocity state variable and the frequency. Once determined, this coefficient remains unchanged during normal receiver operation and is used to convert the read velocity state variable into an estimated frequency value in Hertz at the end of each integration cycle, thus completing the precise dimensional conversion from the digital value within the PLL to the actual frequency.

[0060] Specifically, step S300, which calculates the GNSS receiver's velocity information based on Doppler frequency shift, includes: Step S310: Obtain the Doppler frequency shift corresponding to several satellites, multiply the Doppler frequency shift by the carrier wavelength and take the negative value to obtain the radial velocity of the GNSS receiver relative to the satellite.

[0061] After the GNSS receiver extracts the Doppler frequency shift from multiple satellite signals, the Doppler frequency shift value for each satellite has been obtained through the aforementioned frequency conversion process. This Doppler frequency shift value reflects the carrier frequency offset caused by the relative motion between the receiver and the satellite. Since different satellites transmit carrier signals with different nominal frequencies—for example, the carrier frequency of the GPS L1 band is 1575.42 MHz, and the carrier frequency of the BeiDou B1 band is 1561.98 MHz—the receiver needs to determine the carrier wavelength based on the carrier frequency of each satellite when calculating radial velocity. The carrier wavelength is calculated by dividing the speed of light by the carrier frequency, which is in Hertz (Hz). The result is a wavelength value in meters. For each satellite, the receiver multiplies its corresponding Doppler frequency shift by the carrier wavelength of the satellite signal, then takes the negative value to obtain the receiver's radial velocity relative to the satellite. The radial velocity is physically represented as the projection component of the receiver velocity onto the line connecting the receiver and the satellite. A positive value indicates that the receiver and satellite are moving away from each other, while a negative value indicates that they are moving closer. Since the radial velocity is obtained only by relying on the Doppler frequency shift of the current epoch and does not involve the data difference between adjacent epochs, it has zero hysteresis characteristics.

[0062] Step S320: Based on several radial velocities and corresponding satellite position information, calculate the three-dimensional velocity vector of the GNSS receiver using the least squares method or Kalman filtering.

[0063] After acquiring the radial velocities of at least four satellites, the receiver needs to convert these one-dimensional radial velocity observations into its own three-dimensional velocity vector. The receiver first calculates the spatial coordinates of each satellite based on the current satellite ephemeris data, which is contained in the navigation message. The receiver obtains the satellite's orbital parameters by demodulating the navigation message and calculates the satellite's instantaneous position in the geocentric-ground-fixed coordinate system based on the signal transmission time and orbital model. Simultaneously, the receiver needs to obtain its own approximate position, which can be obtained through standard positioning calculations and serves as an auxiliary input for velocity calculation. For each satellite, the receiver calculates the line-of-sight unit vector from the receiver to the satellite based on the satellite's position and its approximate position. This unit vector reflects the satellite's orientation in the receiver's coordinate system. The relationship between the radial velocity and the receiver's three-dimensional velocity is described by a dot product equation, where the radial velocity equals the dot product of the receiver's three-dimensional velocity vector and the line-of-sight unit vector. Therefore, each satellite provides a linear equation with the unknowns being the receiver's northward, eastward, and celestial velocities. When four or more satellites are observed, the receiver constructs a system of equations consisting of multiple linear equations and solves this system using the least squares method. When the number of observed equations exceeds the number of unknowns, the least squares method can comprehensively utilize all observed values, resulting in a statistically optimal velocity estimate. For dynamic scenarios where the receiver's motion state changes continuously, the receiver can use Kalman filtering for velocity calculation. Kalman filtering utilizes the radial velocity observation value of the current epoch, combined with the velocity estimate from the previous epoch and the receiver's motion model, to recursively estimate the velocity, thus obtaining a smoother and more stable velocity output even with high observation noise. Through the above calculations, the receiver ultimately obtains a three-dimensional velocity vector in meters per second, including northward, eastward, and celestial velocities, achieving high-precision instantaneous velocity measurement.

[0064] In one specific hardware implementation, a heterogeneous architecture of a field-programmable gate array (FPGA) and an ARM core is used to implement the aforementioned high-precision instantaneous velocity measurement method. High real-time, high-parallelism digital signal processing tasks, including baseband signal processing tasks such as coherent integration and correlation operations, are deployed on the FPGA. Complex control logic, loop filter calculations, observation latching, and velocity measurement calculations are deployed on the ARM processor. After receiving GNSS satellite signals, the antenna filters and amplifies the signals before outputting radio frequency (RF) signals to the RF front-end. The RF front-end uses an RF chipset, including a low-noise amplifier and a down-converter, to convert the RF signals into intermediate frequency (IF) signals, which include both analog and digital IF signals. A digital intermediate frequency (IF) signal is directly input to a field-programmable gate array (FPGA) chip for correlation calculations. This correlation calculation mixes the IF signal sampled by analog-to-digital conversion with a quadrature signal generated by a local oscillator to obtain baseband in-phase and quadrature components. The baseband in-phase and quadrature components of each channel are then correlated with a locally generated pseudo-random code to obtain the correlation peak value. The integrated in-phase and quadrature component values ​​are output, and the FPGA latches the results of the correlation calculations. An ARM processor extracts the latched correlation results from the FPGA and performs third-order phase-locked loop (PLL) calculations. Each channel uses a third-order digital PLL to track the carrier phase, with the phase error output from the phase detector serving as the input. At the end of each integration cycle, the ARM processor packages the velocity state variables, in-phase component values, quadrature component values, code phase, and timestamp data for each channel into a data frame for latching, serving as input for subsequent velocity measurement calculations.

[0065] like Figure 4 and Figure 5 As shown, in a specific embodiment of the present invention, the technical effect of the present invention is verified through a static speed measurement comparison experiment. A GNSS antenna is placed statically, and the received signal is split into two paths by a power divider, which are respectively input to a receiver using the method of the present invention and a receiver using the traditional Doppler direct velocity measurement method. The serial ports of the two receivers are connected to a computer, and serial port receiving software is opened on the computer. The speed measurement data of the two receivers are saved as text files. MATLAB software is used to statistically analyze the static speed measurement accuracy of the two receivers. The statistical results show that the root mean square error of the speed measurement result of the receiver using the method of the present invention is 0.007 m / s, while the root mean square error of the speed measurement result of the receiver using the traditional method is 0.079 m / s. This indicates that the speed measurement accuracy improvement effect of the method of the present invention is significant.

[0066] Accordingly, please refer to Figure 6A second aspect of this invention provides a high-precision instantaneous velocity measurement system based on GNSS phase-locked loop state extraction, which calculates the velocity information of a GNSS receiver based on the aforementioned high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction, including: Data receiving module 1 is used to acquire the velocity state variables in the phase-locked loop of the GNSS receiver. The velocity state variables are used to characterize the frequency information after integral smoothing. Frequency conversion module 2 is used to perform frequency conversion processing on the velocity state variables to obtain the Doppler frequency shift used for velocity calculation; Velocity calculation module 3 is used to calculate the velocity information of the GNSS receiver based on Doppler frequency shift.

[0067] Accordingly, a third aspect of the present invention provides an electronic device, comprising: at least one processor; and a memory connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to cause the at least one processor to perform the above-described high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction.

[0068] Accordingly, a fourth aspect of the present invention provides a computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the above-described high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction.

[0069] The embodiments of the present invention aim to protect the above-mentioned high-precision instantaneous velocity measurement method and system based on GNSS phase-locked loop state extraction, which has the following effects: 1. In terms of speed measurement accuracy, by extracting the speed state variable that has undergone integral smoothing from inside the phase-locked loop to replace the traditional output control word for Doppler frequency shift calculation, the speed measurement noise level is reduced by one to two orders of magnitude compared to the traditional method. Since the speed state variable obtains a smooth accumulation effect of multiple consecutive tracking cycles through integral accumulation in the state update equation, its noise level is significantly lower than that of the output control word containing proportional instantaneous noise. Thus, high-precision instantaneous speed measurement at the level of 0.001 to 0.005 m / s is achieved, which is significantly better than the accuracy level of 0.03 to 0.1 m / s of the traditional Doppler direct speed measurement method. 2. In terms of real-time performance, it achieves high-precision speed output with single epoch and zero lag. Unlike the traditional carrier phase epoch differential method, which requires differential calculation based on the carrier phase observations of two adjacent epochs and has inherent time lag, the speed state variable can be directly read from the phase-locked loop state register at the end of each integration period. After frequency conversion, the Doppler frequency shift of the current epoch can be obtained, and then the receiver speed can be calculated. There is no need to wait for subsequent epoch data, eliminating the time lag problem of speed measurement results and meeting the stringent real-time requirements of applications such as autonomous driving and drone navigation. 3. In terms of anti-interference capability, it has good adaptability to complex environments due to its insensitivity to carrier phase cycle slips. Since it uses the velocity state variable representing frequency information as the source of velocity measurement information, rather than directly using carrier phase observations, the impact of carrier phase cycle slips on the frequency state is much smaller than its impact on the phase observations. Therefore, it can maintain the stability of the velocity measurement results without relying on complex cycle slip detection and repair algorithms. By solving the three-dimensional velocity vector through the least squares method or Kalman filtering, it can further suppress measurement noise introduced by complex environments such as multipath effects and signal blockage, and can still maintain high velocity measurement accuracy under conditions of signal quality fluctuations.

[0070] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0071] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0072] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0073] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0074] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that modifications or equivalent substitutions can still be made to the specific implementation of the present invention. Any modifications or equivalent substitutions that do not depart from the spirit and scope of the present invention should be covered within the scope of protection of the claims of the present invention.

Claims

1. A high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction, characterized in that, Includes the following steps: The velocity state variable in the phase-locked loop of the GNSS receiver is obtained. The velocity state variable is used to characterize the frequency information after integral smoothing. The phase-locked loop is a third-order digital phase-locked loop. The velocity state variable is the second-order state variable in the state update equation of the third-order digital phase-locked loop. The velocity state variable is subjected to frequency conversion processing to obtain the Doppler frequency shift; The velocity information of the GNSS receiver is calculated based on the Doppler frequency shift. The step of performing frequency conversion processing on the velocity state variable to obtain the Doppler frequency shift includes: Based on the velocity state variable and the preset calibration conversion coefficient, the estimated frequency is calculated. The calibration conversion coefficient is used to convert the numerical dimension of the velocity state variable into the frequency dimension. The Doppler frequency shift is obtained by subtracting the preset nominal intermediate frequency from the estimated frequency. The calculation of the estimated frequency based on the velocity state variable and the preset calibration conversion coefficient includes: The estimated frequency is obtained by performing a multiplication operation between the speed state variable and the preset calibration conversion coefficient, and a subtraction operation between the estimated frequency and the preset nominal intermediate frequency, using high-precision floating-point arithmetic. The preset calibration conversion coefficients are determined by the system clock frequency of the GNSS receiver and the design parameters of the phase-locked loop.

2. The high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction according to claim 1, characterized in that, The acquisition of velocity state variables in the GNSS receiver phase-locked loop includes: After down-converting and analog-to-digital converting the satellite signal, coherent integration is performed with the local carrier signal to obtain the coherent integration result; The coherent integration result is input into the phase detector to obtain the phase error; Within the current tracking cycle, the velocity state variable maintained by the phase-locked loop is updated according to the phase error. The update method includes using an integral accumulation method to calculate the velocity state variable of the current tracking cycle based on the velocity state variable, acceleration state variable and phase error of the previous tracking cycle. After the speed state variable is updated, the current value of the speed state variable is read from the state register of the phase-locked loop.

3. The high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction according to claim 2, characterized in that, The update formula for the velocity state variable is: in, For velocity state variables, The acceleration state variable of the phase-locked loop is... For the preset loop filter coefficients, This refers to the phase error of the phase detector.

4. The high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction according to claim 1, characterized in that, The acquisition of velocity state variables in the GNSS receiver phase-locked loop includes: At the end of each integration cycle, an acquisition operation is triggered, and the acquired speed state variable is synchronously latched with the corresponding timestamp before being output.

5. The high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction according to claim 1, characterized in that, The calculation of the GNSS receiver's velocity information based on the Doppler frequency shift includes: The Doppler frequency shifts corresponding to several satellites are obtained respectively. The Doppler frequency shifts are multiplied by the carrier wavelength and the negative value is taken to obtain the radial velocity of the GNSS receiver relative to the satellite. Based on several radial velocities and corresponding satellite position information, the three-dimensional velocity vector of the GNSS receiver is calculated using the least squares method or Kalman filtering.

6. The high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction according to any one of claims 1-5, characterized in that, Also includes: The acceleration state variable is updated based on the phase error. The update method includes updating by integral accumulation, which involves superimposing the product of the phase error and the coefficient of the first preset loop filter on the previous tracking period value of the acceleration state variable to obtain the updated acceleration state variable.

7. A high-precision instantaneous velocity measurement system based on GNSS phase-locked loop state extraction, characterized in that, The high-precision instantaneous velocity measurement method based on GNSS phase-locked loop state extraction as described in any one of claims 1-6 calculates the velocity information of the GNSS receiver, including: The data receiving module is used to acquire the velocity state variables in the phase-locked loop of the GNSS receiver, and the velocity state variables are used to characterize the frequency information after integral smoothing. The frequency conversion module is used to perform frequency conversion processing on the velocity state variable to obtain the Doppler frequency shift used for velocity calculation. The velocity calculation module is used to calculate the velocity information of the GNSS receiver based on the Doppler frequency shift.