Clock frequency offset calibration method of gnss signal simulation source and signal simulation source
Patent Information
- Application Number
- CN202611087171.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-21
- Publication Date
- 2026-10-09
AI Technical Summary
但在教学演示、售后培训等新兴场景中,需要将模拟源压缩至一种USB接口的适配器形态(即USB·dongle),即插即用、USB供电,同时对成本、面积和功耗施加严格限制,因此无法容纳TCXO/OCXO,只能使用消费级晶振(初始精度±10-20 ppm,温漂±20-30 ppm)
本方法通过将真实GNSS定位结果作为参考位置,并利用消费级晶振驱动的模拟源输出的多历元观测参数(伪距、钟差或解算位置)构建残差序列,进而对残差序列进行线性拟合得到时间漂移率以反推晶振频偏,再生成符号相反的反向补偿量实时修正载波NCO和码NCO的频率字,并迭代直至漂移率和频偏变化量收敛,从而在不增加高精度时钟基准和专用标定设备的前提下,在现场即可完成对模拟源时钟频偏的闭环校准,显著降低了硬件成本与体积,同时通过多历元线性拟合有效抑制了单次定位噪声和卫星几何不良的影响,使残余频偏达到消费级TCXO精度水平,并解决了初始大频偏下无法锁定及温漂老化导致的再校准难题,具有低成本、高普适性和现场可执行性。
Smart Images

Figure CN122883210A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of satellite navigation signal simulation and testing technology, and in particular to a clock frequency offset calibration method for a GNSS signal simulation source and the signal simulation source itself. Background Technology
[0002] A GNSS signal simulator is a device capable of generating simulated Global Navigation Satellite System (GNSS) radio frequency signals, widely used in navigation receiver R&D testing, production verification, and educational demonstrations. Traditional GNSS signal simulators typically take the form of rack-mounted or portable instruments, internally configured with a high-precision clock reference (such as a TCXO or OCXO, frequency accuracy ±0.5-2 ppm) to ensure the carrier frequency, code rate, and pseudorange accuracy of the simulated signal. However, in emerging scenarios such as educational demonstrations and after-sales training, it is necessary to compress the simulator into a USB adapter form (i.e., a USB dongle) for plug-and-play, USB-powered operation. At the same time, strict limitations are imposed on cost, area, and power consumption, thus preventing the inclusion of TCXOs / OCXOs and requiring the use of consumer-grade crystal oscillators (initial accuracy ±10-20 ppm, temperature drift ±20-30 ppm).
[0003] Frequency deviations in consumer-grade crystal oscillators synchronously affect the carrier NCO and code NCO of all satellite channels through a shared clock path, causing the carrier frequency and code rate to systematically deviate from their nominal values. When the analog source only generates signals from the four satellites that meet the minimum positioning requirements, the receiver lacks redundant observations to detect and eliminate this deviation, resulting in continuous position drift and even inability to achieve stable positioning. To address this issue, existing technologies primarily employ three approaches: using high-precision clock references such as TCXOs / OCXOs on the hardware side, but this contradicts the low cost and small size requirements of dongles; estimating the receiver's own clock bias through Kalman filtering, but this estimates the receiver clock, not the analog source clock, and cannot correct the signal source frequency deviation in reverse; and calibrating the crystal oscillator frequency individually with precision instruments before shipment, but this requires specialized equipment and cannot cope with temperature drift and aging during use, making the calibration values prone to failure.
[0004] Therefore, there is a lack of a clock frequency offset calibration method in the existing technology that does not increase the hardware cost of the dongle, does not require dedicated calibration equipment, and can be dynamically performed in the field. Summary of the Invention
[0005] Therefore, it is necessary to provide a clock frequency offset calibration method and a signal simulation source for a GNSS signal simulation source that can be dynamically executed on-site without increasing dongle hardware costs or requiring dedicated calibration equipment, in order to address the aforementioned technical problems.
[0006] A clock frequency offset calibration method for a GNSS signal analog source, the method comprising: Obtain the actual GNSS positioning results as a reference position; The analog signal generated by the GNSS signal analog source is acquired, and the corresponding observation parameters are obtained based on the analog signal. The observation parameters include at least one of pseudorange observation, receiver clock error, or calculated position. The GNSS signal analog source uses a consumer-grade crystal oscillator to generate analog signals from at least four GNSS satellites, and the carrier NCO and code NCO of the GNSS signal analog source share the same clock source. Based on the reference position and the observation parameters, a multi-epoch residual sequence is constructed; Linear fitting is performed on the residual sequence of the multi-epoch to obtain the time drift rate, and the crystal frequency offset of the GNSS signal analog source is inferred from the time drift rate. A reverse compensation amount is generated based on the crystal oscillator frequency offset, and the frequency words of the carrier NCO and code NCO are corrected using the reverse compensation amount; Repeat the correction process of the carrier NCO and code NCO frequency words until the time drift rate and the crystal oscillator frequency offset change are both less than the corresponding preset thresholds, then the clock frequency offset calibration is completed.
[0007] In one embodiment, when the observation parameters are pseudorange observations, constructing a multi-epoch residual sequence based on the reference position and the observation parameters includes: Based on the reference position and the preset ephemeris of the GNSS signal simulation source, the theoretical pseudorange for each epoch is calculated. The pseudorange observation is subtracted from the theoretical pseudorange to obtain a multi-epoch pseudorange residual sequence.
[0008] In one embodiment, when the observation parameter is the receiver clock bias, the multi-epoch receiver clock bias sequence is directly used as the residual sequence.
[0009] In one embodiment, when the observation parameter is the solution location, constructing the multi-epoch residual sequence includes: Calculate the difference between the solution position and the reference position for each epoch to obtain a multi-epoch position residual sequence; The crystal frequency offset of the GNSS signal analog source is deduced from the time drift rate, including: Obtain the geometric accuracy factor of the current satellite configuration, and inversely deduce the crystal oscillator frequency offset based on the position drift rate obtained by fitting the position residual sequence of the multi-epoch and the geometric accuracy factor.
[0010] In one embodiment, if acquisition, tracking, or localization cannot be completed based on the analog signal before acquiring the observation parameters, a coarse frequency sweep step is performed, including: Centered on the nominal frequency word, multiple candidate frequency words are generated according to a preset step size and written sequentially into the NCO frequency word register of the GNSS signal simulation source until stable acquisition, tracking or positioning is obtained. The current candidate frequency word is used as the initial frequency word for fine calibration.
[0011] In one embodiment, the reverse compensation amount has the opposite sign to the crystal oscillator frequency offset.
[0012] In one embodiment, the change in crystal frequency offset is the absolute value of the difference between the crystal frequency offsets estimated by two consecutive iterations.
[0013] In one embodiment, the actual GNSS positioning result is obtained by the mobile phone's built-in GNSS receiving module; The GNSS signal simulation source is a dongle with a USB interface. The acquisition of the analog signal generated by the GNSS signal analog source and the corresponding observation parameters obtained from the analog signal include: receiving the digital I / Q baseband data output by the dongle through the USB interface, and having the software receiver capture, track, extract pseudorange, and calculate the positioning of the digital I / Q baseband data to obtain the pseudorange observation, receiver clock error, or calculated position.
[0014] This application also provides a signal simulation source, including: Consumer-grade crystal oscillators are used to provide a reference clock. The carrier NCO and the code NCO share the clock of the consumer-grade crystal oscillator; The NCO frequency word register group is used to store the frequency words that control the output frequency of the carrier NCO and the code NCO. Digital baseband channel, used to generate analog signals from at least four GNSS satellites; A communication interface is used to receive an externally written frequency offset compensation amount, wherein the frequency offset compensation amount is an amount whose sign is opposite to that of the crystal oscillator frequency offset of the GNSS signal analog source; The NCO frequency word register group updates the frequency words of the carrier NCO and code NCO according to the frequency offset compensation amount.
[0015] In one embodiment, a non-volatile memory is also included, which is used to store the crystal oscillator frequency offset estimate and / or frequency offset compensation value obtained from calibration, and is automatically loaded as the initial compensation value upon the next power-on.
[0016] The aforementioned clock frequency offset calibration method and signal simulation source for the GNSS signal simulation source use the acquired real GNSS positioning results as a reference position, acquire the simulated signal generated by the GNSS signal simulation source, and obtain the corresponding observation parameters based on the simulated signal. The observation parameters include at least one of pseudorange observation, receiver clock error, or calculated position. The GNSS signal simulation source uses a consumer-grade crystal oscillator to generate simulated signals from at least four GNSS satellites, and the carrier NCO and code NCO of the GNSS signal simulation source share the same clock source. Based on the reference position and observation parameters, a multi-epoch residual sequence is constructed. The multi-epoch residual sequence is linearly fitted to obtain the time drift rate. The crystal oscillator frequency offset of the GNSS signal simulation source is then inferred from the time drift rate. A reverse compensation amount is generated based on the crystal oscillator frequency offset. The frequency words of the carrier NCO and code NCO are corrected using the reverse compensation amount. This correction process for the carrier NCO and code NCO frequency words is repeated until both the time drift rate and the crystal oscillator frequency offset change are less than the corresponding preset thresholds, thus completing the clock frequency offset calibration.
[0017] Beneficial effects: This method uses real GNSS positioning results as a reference position and constructs a residual sequence using multi-epoch observation parameters (pseudorange, clock error, or calculated position) from a consumer-grade crystal oscillator-driven analog source. The residual sequence is then linearly fitted to obtain the time drift rate, which is used to inversely deduce the crystal oscillator frequency offset. An inverse compensation amount with opposite signs is then generated to correct the frequency words of the carrier NCO and code NCO in real time. This process is iterated until the drift rate and frequency offset changes converge. Thus, closed-loop calibration of the analog source clock frequency offset can be completed on-site without adding a high-precision clock reference or dedicated calibration equipment, significantly reducing hardware cost and size. Simultaneously, multi-epoch linear fitting effectively suppresses the effects of single-shot positioning noise and satellite geometric defects, achieving residual frequency offset accuracy at the level of a consumer-grade TCXO. It also solves the problems of inability to lock under initial large frequency offsets and recalibration difficulties caused by temperature drift and aging. This method is characterized by low cost, high universality, and on-site feasibility. Attached Figure Description
[0018] Figure 1 This is a flowchart illustrating a clock frequency offset calibration method for a GNSS signal analog source in one embodiment; Figure 2 This is a schematic diagram of the overall calibration process of this method in one embodiment; Figure 3 This is a schematic diagram summarizing the simulation results in the pseudorange / clock difference domain in one embodiment, wherein, Figure 3 (a) shows schematic diagrams of the final residual frequency offset under different simulation scenarios. Figure 3 (b) shows a schematic diagram illustrating the change in the proportion of NCO frequency words with the number of iterations in a typical scenario. Figure 3(c) shows a schematic diagram illustrating the change in the estimated frequency offset of each round as a function of the number of iterations in a typical scenario; Figure 4 This is a schematic diagram illustrating an example of the convergence curves of position residuals and residual frequency offsets during iterative calibration in one embodiment. Figure 5 This is a schematic diagram of the clock frequency offset calibration system for a GNSS signal analog source in one embodiment. Detailed Implementation
[0019] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0020] In addressing the problem in existing technologies where USB dongle-type GNSS signal analog sources suffer from clock frequency offset due to the use of consumer-grade crystal oscillators, and where no redundant observations are available to detect and eliminate this offset when only four satellite signals are generated, leading to a systematic deviation of the analog signal's carrier frequency and code rate from their nominal values and the receiver's inability to achieve stable positioning, this application provides the following... Figure 1 As shown, a clock frequency offset calibration method for a GNSS signal analog source is provided, specifically including: Step S100: Obtain the actual GNSS positioning result as a reference position.
[0021] Step S110: Obtain the analog signal generated by the GNSS signal simulation source, and obtain the corresponding observation parameters based on the analog signal. The observation parameters include at least one of pseudorange observation, receiver clock error, or calculated position. The GNSS signal simulation source uses a consumer-grade crystal oscillator to generate analog signals from at least four GNSS satellites, and the carrier NCO and code NCO of the GNSS signal simulation source share the same clock source.
[0022] Step S120: Construct a multi-epoch residual sequence based on the reference position and observation parameters.
[0023] Step S130: Perform linear fitting on the residual sequence of the multi-epochs to obtain the time drift rate, and inversely deduce the crystal oscillator frequency offset of the GNSS signal simulation source based on the time drift rate.
[0024] Step S140: Generate a reverse compensation amount based on the crystal oscillator frequency offset, and use the reverse compensation amount to correct the frequency words of the carrier NCO and code NCO.
[0025] Step S150: Repeat the correction process of the carrier NCO and code NCO frequency words until the time drift rate and the crystal oscillator frequency offset change are both less than the corresponding preset thresholds, then the clock frequency offset calibration is completed.
[0026] In step S100, the actual GNSS positioning result can be obtained by the mobile phone's built-in GNSS receiver module. The positioning accuracy of a mobile phone in open environments is typically 3-5 meters, which can be used as a reference position on site. To reduce random noise in a single positioning attempt, A stable reference position can be obtained by using a moving average or low-pass filtering over multiple epochs. If the mobile phone is indoors or in an environment with weak GNSS signal, the user can be prompted to move to a window or outdoors. When implementing this on a computer, a reference location can be obtained through an external USB GPS receiver or Bluetooth GPS module.
[0027] In step S110, the GNSS signal analog source is a USB dongle, which uses a consumer-grade crystal oscillator (initial accuracy ±10-20ppm, temperature drift ±20-30ppm) to generate intermediate frequency or baseband analog signals for at least four GNSS satellites via a digital baseband channel. All satellite channels share the same crystal oscillator clock for their carrier NCO and code NCO; therefore, the crystal oscillator frequency offset will affect the carrier frequency and code rate of each satellite in the same proportion.
[0028] In this embodiment, there are two preferred methods for obtaining observation parameters. The first method involves feeding the dongle's RF output via an SMA cable into the phone's antenna test port or the external test input of the GNSS chip through a hardware port. The phone's GNSS chip then outputs the raw observations (pseudorange, clock bias, or calculated position). The second method involves the dongle outputting digital I / Q baseband data via a USB interface. The software receiver built into the phone's app captures, tracks, extracts pseudorange, and calculates the location to obtain the pseudorange observations, receiver clock bias, or calculated position. This method is not dependent on whether the phone's GNSS hardware test port is open, making it more widely applicable.
[0029] In this embodiment, after the mobile phone's GNSS chip or the software receiver built into the APP processes the analog signal, it is transmitted over multiple consecutive epochs. Output pseudorange observations for each simulated satellite Receiver clock bias estimation Or the position obtained by pseudorange calculation As an example, the pseudorange observation equation can be expressed as:
[0030] In the above formula, The receiver's position to be estimated. For receiver clock bias, This represents the unmodeled error.
[0031] Furthermore, dongle clock frequency offset The effect on pseudorange is introduced through the frequency deviation of the code NCO. Let the nominal code rate be [value missing]. The actual output code rate is ,in For continuously input dongle signals, after deducting geometric distance, satellite clock error, and fixed offset, the frequency offset mainly manifests as a linear change in pseudorange residual or receiver clock error residual over time. Its drift rate has the following approximate relationship with the crystal oscillator frequency offset:
[0032] In this embodiment, multi-epoch drift rate is used to estimate the crystal oscillator frequency offset. Although the initial pseudorange and fixed offset of different satellites may differ, under the same dongle clock source, the time drift rate caused by code rate deviation has a common component. During receiver calculation, at least four pseudorange observations are jointly solved. and Location residuals This can be used to determine whether the calibration has converged; while the estimation of frequency offset is based on the time drift rate of the multi-epoch pseudorange residual or clock error residual. Using the multi-epoch fitting method, the instantaneous noise and single-positioning geometric error in the actual positioning of the mobile phone are more easily distinguished from the continuous drift caused by the dongle crystal frequency offset, thus obtaining more stable calibration results.
[0033] In this embodiment, if acquisition, tracking, or positioning cannot be completed based on the analog signal before obtaining the above observation parameters, a coarse frequency sweep step is performed, including: generating multiple candidate frequency words with the nominal frequency word as the center and according to a preset step size, and writing them sequentially into the NCO frequency word register of the GNSS signal analog source until stable acquisition, tracking, or positioning is obtained, and using the current candidate frequency word as the initial frequency word for fine calibration.
[0034] Specifically, in practical applications, if the initial crystal oscillator frequency deviation is too large, the receiver may be unable to acquire, track, or perform localization calculations on the analog signal output by the dongle. In this case, before obtaining the observation parameters, a coarse frequency sweep step needs to be performed to find an initial frequency word value that allows the receiver to operate stably.
[0035] Specifically, a set of candidate absolute frequency words is generated centered on the nominal frequency word, following a preset step size (e.g., a frequency word increment corresponding to 2 ppm). These candidate frequency words cover the expected crystal oscillator deviation range (e.g., ±20 ppm). The APP sequentially writes each candidate frequency word into the dongle's NCO frequency word register via the USB interface and attempts to acquire or locate it with the receiver. After each write, it waits for the receiver or software receiver to attempt to acquire, track, and locate the currently output analog signal. When the receiver obtains stable acquisition, tracking, or coarse positioning results (e.g., successfully locking onto at least 4 satellites and outputting the calculated position), the frequency sweep stops, and the current candidate frequency word is recorded as the initial frequency word for fine calibration. .
[0036] If a stable location cannot be obtained throughout the entire frequency sweep range, the user is prompted to check the connection between the dongle and the mobile phone, the signal strength, or the satellite configuration, or to adjust the frequency sweep step size and range appropriately and then re-perform the coarse frequency sweep.
[0037] After obtaining the initial frequency word for fine calibration, this frequency word is used as the current NCO frequency word, and the process proceeds to the subsequent fine calibration steps (i.e., steps S110 to S150). This coarse frequency sweep mechanism ensures that even under extreme deviation conditions of consumer-grade crystal oscillators, this method can still automatically converge to a working initial state.
[0038] In step S120, the residual sequence is constructed in three ways according to the type of observation parameters, corresponding to pseudorange observations, receiver clock errors, and solution positions, respectively.
[0039] In this embodiment, when the observation parameter is a pseudorange observation, a multi-epoch residual sequence is constructed based on the reference position and the observation parameter, including: calculating the theoretical pseudorange for each epoch based on the reference position and the preset ephemeris of the GNSS signal simulation source, subtracting the pseudorange observation from the theoretical pseudorange to obtain the multi-epoch pseudorange residual sequence.
[0040] Specifically, let dongl generate N GNSS satellite signals (N≥4), and the position of satellite i... and clock difference Calculated by dongle according to the preset ephemeris, these are known quantities. (Based on reference position) And the star calendar calculates each epoch. The theoretical pseudorange is expressed as:
[0041] Next, the actual observed pseudorange is subtracted from the theoretical pseudorange to obtain the pseudorange residual, which is expressed as:
[0042] Data from multiple consecutive epochs are collected to form a multi-epoch pseudorange residual sequence.
[0043] It should be noted that the above pseudorange residuals The pseudorange residual contains multiple components: a fixed bias, a receiver clock error term, and a time-varying term caused by the dongle code NCO frequency offset. The dongle crystal frequency offset, which this method aims to estimate, only affects the code rate, causing a linear time-varying pseudorange drift. This drift is reflected in the receiver clock error component as a common time drift rate for all satellites. Therefore, it is necessary to separate the receiver clock error component from the pseudorange residual and eliminate interference from position errors and the fixed bias to obtain a clean clock drift signal for frequency offset estimation.
[0044] To separate the receiver clock error component from the pseudorange residuals mentioned above, an observation matrix is further constructed. At the reference position... Linearization is performed at the observation matrix. for Matrix, its first The row is represented as:
[0045] In the above formula, .when hour For a square matrix, when the rank is full, the inverse can be directly calculated; when... When using least squares pseudo-inverse ,in This is a weight matrix determined based on carrier-to-noise ratio, elevation angle, or observation quality. If... If the condition number is too large, regularized pseudo-inverse or satellite configuration can be used.
[0046] Furthermore, the pseudorange residual vector of each epoch is projected onto the position-clock error residual space:
[0047] Taking the fourth component, we obtain the equivalent receiver clock error residual sequence. The linear drift rate of this sequence directly reflects the cumulative effect of the dongle crystal frequency offset in the pseudo-range domain and is the main input for subsequent frequency offset estimation.
[0048] In this embodiment, as an alternative or auxiliary method, if the receiver has already calculated... and Calculate the posterior residuals, then the residuals should be written as:
[0049] In the above formula, Used to subtract the receiver's current clock error. Posterior residuals are primarily used for observation quality checks and gross error removal. Furthermore, when the four observations exactly solve for the four unknowns, the posterior residuals are theoretically close to zero, making them unsuitable as the primary input for frequency offset estimation. Frequency offset estimation should preferentially use the clock error residual sequence obtained from the aforementioned projection. Or directly use the output of the receiver / software receiver. sequence.
[0050] In this embodiment, when the observation parameter is the receiver clock bias In this case, there is no need to construct an observation matrix and projection; the receiver clock error sequence from multiple epochs can be directly used as the residual sequence.
[0051] Specifically, during the positioning calculation process, the receiver or software receiver performs the following calculations every epoch: It will output receiver clock bias estimate The clock difference values from multiple epochs are directly used as the residual sequence. Since this sequence directly contains the common time drift component caused by the dongle crystal frequency offset, it can be used for subsequent drift rate fitting and frequency offset inversion. This method is simpler, but requires the receiver to provide a clock bias calculation output.
[0052] In this embodiment, when the observation parameter is the solution position When constructing a multi-epoch residual sequence, the process involves calculating the difference between the solution position and the reference position for each epoch to obtain the multi-epoch position residual sequence.
[0053] Specifically, the receiver outputs the solution location. Calculate the difference between the solution position and the reference position for each epoch to obtain the position residual sequence:
[0054] Meanwhile, the above sequence can be used as an auxiliary judgment for calibrating convergence. When the magnitude of the position residual is less than the preset threshold, it indicates that the positioning accuracy has met the requirements.
[0055] However, it's important to note that if only the calculated position is available but the original pseudorange or clock bias is not, the position residual sequence should only be used as a coarse calibration and convergence auxiliary indicator, not as the preferred analytical input for frequency offset estimation. This is because the position residuals, after the calculation process, are affected by the satellite's geometric distribution, requiring the use of parameters such as the geometric accuracy factor to infer the frequency offset. Therefore, their accuracy is lower than directly using pseudorange or clock bias residuals.
[0056] In step S130, after obtaining the equivalent receiver clock error residual sequence... After obtaining the clock bias sequence (or directly), it is necessary to extract the linear drift rate reflecting the crystal oscillator frequency offset from the sequence.
[0057] Specifically, for clock error residual sequences Perform a linear fit (e.g., using least squares linear fit) to obtain the slope of its change over time, and obtain the clock error residual drift rate, expressed as:
[0058] If the receiver or software receiver directly outputs the calculated clock difference You can also directly address Linear fitting yields the same drift rate, expressed as:
[0059] The aforementioned drift rate reflects the continuous cumulative effect of the dongle's code NCO frequency offset in the pseudorange domain.
[0060] For clarity, this article uses the following conventions. This indicates the dongle crystal or sampling clock relative to the nominal frequency. The actual offset. This indicates that the actual clock speed is too fast. The crystal oscillator frequency offset affects the code rate. The pseudorange residual deviates proportionally from the nominal value, thus drifting approximately linearly with time.
[0061] Based on the derivation, the crystal oscillator frequency offset The following approximate relationship exists between clock error residual drift rate and clock error:
[0062] In the above formula, This refers to the nominal frequency of the crystal oscillator. The speed of light. Therefore, the drift rate obtained from the fitting can be used to deduce the estimated value of the crystal oscillator frequency offset. .
[0063] As an alternative, the pseudorange drift rate of each satellite can be directly fitted using the pseudorange residuals of multiple satellites. The equivalent drift rate can be obtained by averaging the drift rates of each satellite according to weights (such as carrier-to-noise ratio or elevation angle). The crystal oscillator frequency offset can also be given by the following formula:
[0064] To improve the reliability of the estimation, the app can simultaneously calculate two frequency offset estimates: one based on pseudorange residuals and the other based on receiver clock bias, and perform consistency checks. When the difference between the two exceeds a preset threshold, it is determined that the current observation data is affected by factors such as multipath propagation, loss of lock, or poor satellite configuration. Data for that time window is then discarded and reacquired.
[0065] It should be noted that if the app can only obtain the solution location... If the original pseudorange or clock bias cannot be obtained, the position residual sequence is only used as a coarse calibration and convergence auxiliary indicator, and not as the preferred analytical input for frequency offset estimation. This is because the position residual is less sensitive to frequency offset, and back-calculation requires knowledge of the satellite's geometric accuracy factor, making it less accurate than directly using pseudorange or clock bias residuals.
[0066] By using the above linear fitting and relational calculations, the estimated crystal frequency offset of the dongle in the current iteration can be obtained, which can be used in subsequent steps to generate the reverse compensation amount.
[0067] In this embodiment, if only the solution location can be obtained... If pseudorange or clock error cannot be obtained, then the position residual sequence of multiple epochs can be processed first. Linear fitting was performed to obtain the position drift rate. Then, the geometric accuracy factor of the current satellite configuration is obtained, and the crystal oscillator frequency offset is inferred by using the relationship between the position drift rate and the geometric accuracy factor. This method is less accurate than directly using pseudorange or clock error residuals, and therefore is only used as a coarse calibration or auxiliary means.
[0068] In step S140, the reverse compensation amount has the opposite sign to the crystal oscillator frequency offset.
[0069] In this embodiment, what is written to the dongle is not... It is not itself, but the compensation quantity opposite to its sign:
[0070] Specifically, the APP will This is converted to the compensation amount for the NCO frequency word. If the dongle's NCO output frequency satisfies... And the actual frequency of the sampling clock is ,in Therefore, to compensate for an excessively fast or slow sampling clock, the NCO frequency word should be compensated in reverse proportion. If Let represent the cumulative crystal oscillator frequency offset relative to the nominal clock, then:
[0071] Equivalently, under the cumulative update method, the frequency word increment is:
[0072] like Indicates the current frequency word The measured residual crystal oscillator frequency offset of this round, and Incremental updates will then be used.
[0073] The increment at this time is The app connects via USB. or absolute frequency words Write the frequency word register to the dongle firmware. The frequency words for both the carrier NCO and code NCO are updated according to the aforementioned compensation factor; when or This indicates that when the crystal oscillator is too fast, the compensated NCO frequency word decreases, and vice versa.
[0074] In step S150, after completing the transmission of the reverse compensation amount and the frequency word update, the system waits for the receiver to relock the signal, then returns to step S110 to reacquire the observation parameters, construct the residual sequence, estimate the residual crystal oscillator frequency offset, and generate the compensation amount again for correction. This process is repeated iteratively to gradually approach the optimal frequency word.
[0075] In this embodiment, the APP calculates the current position residual in each iteration. Time drift rate of pseudorange or clock error residual And the change in the estimated crystal oscillator frequency offset between two consecutive iterations. .
[0076] Specifically, the convergence criterion simultaneously satisfies the following condition: when the absolute value of the position residual is... The horizontal component is less than a preset accuracy threshold (e.g., 1 meter), and the vertical component is less than a preset accuracy threshold (e.g., 2 meters); the drift rate of the pseudorange residual or clock error residual is less than a preset drift threshold; the change in position residual and the change in crystal oscillator frequency offset estimate in two consecutive iterations are both less than a preset stability threshold. When all the above conditions are met, the current frequency offset is determined to be within an acceptable range, the iteration stops, and the clock frequency offset calibration is completed. In addition, if the number of iterations reaches a preset upper limit (e.g., 10 times), calibration is also stopped to avoid infinite looping.
[0077] In this embodiment, after iterative convergence, the APP will finally obtain the estimated crystal oscillator frequency offset value. and / or reverse compensation amount The timestamp is written to the non-volatile memory on the dongle chip (such as the free area of the FPGA configuration Flash) and can also be stored locally in the application. Upon the next power-on, the dongle automatically loads the previously stored frequency offset compensation value as the initial frequency word, significantly shortening the initial positioning time. Furthermore, the calibration history stored locally in the application can be used to track the crystal oscillator's aging trend, reminding the user to recalibrate when the frequency offset drift exceeds a preset threshold.
[0078] As a specific implementation process of this embodiment, the above method can be executed according to the following steps: Step 1: Initialization. Connect the phone to the dongle. After the dongle is powered on, press the default frequency (initial assumption). Generate signals from at least four GNSS satellites. The app reads the open-environment positioning results from the phone's GNSS chip. (At least 4 real satellites are involved in the calculation, with a horizontal accuracy of <5m), and the reference position is obtained by averaging or filtering over multiple epochs. If the phone is indoors or in an environment with weak GNSS signal, the app will prompt the user to move to a window or outdoors.
[0079] Step 2: Acquire dongle signal observations. The mobile phone GNSS chip or the software receiver in the app processes the dongle input signal and outputs pseudorange sequences, clock error sequences, and / or calculated positions over multiple consecutive epochs. If the dongle clock frequency offset is too large, causing the receiver to be unable to complete acquisition, tracking, or positioning, the APP enters the coarse frequency sweep stage: with the nominal frequency word or the last stored frequency word as the center, a set of candidate absolute frequency words are generated according to a preset step size (such as 2ppm) and written to the dongle one by one; when stable acquisition, tracking, or coarse positioning is obtained, the frequency sweep stops, the candidate frequency word is used as the initial value for fine calibration, and the analysis and fine calibration process in steps three to five is entered.
[0080] Step 3: Calculate the residual sequence. The APP calculates the residual sequence based on the dongle ephemeris and reference position. Calculate the theoretical pseudorange, subtract the actual observed pseudorange from the theoretical pseudorange, and obtain the multi-epoch pseudorange residual sequence; simultaneously, it can calculate... As a closed-loop convergence metric. If the absolute value of the location residual... The horizontal component is <1m and the vertical component is <2m, the pseudo-range or clock error residual drift rate is lower than the preset drift threshold, and the results are consistent across two consecutive iterations. Changes and If all changes are below the preset stability threshold, the current frequency offset is determined to be within an acceptable range, and the calibration ends.
[0081] Step 4: Calculate the frequency offset. Calculate the crystal oscillator frequency offset using the multi-epoch residual drift rate method described in S1 to S4 above. And generate reverse compensation amount .like The matrix condition number is too high (satellite configuration is close to coplanar or collinear, receiver DOP value is too high), and the app prompts that the current satellite configuration geometry is poor. The user should change to a preset configuration with better PDOP and try again.
[0082] Step 5: Issue compensation and iterate. The APP will... The value is converted into an NCO frequency word compensation value and written to the dongle's NCO register via the USB CDC / HID protocol. After waiting for the receiver to relock the signal (approximately 1-2 seconds), return to step two.
[0083] Step Six: Store the calibration results. After iterative convergence, the APP will store the final crystal oscillator frequency offset estimate. Final compensation amount The timestamp is written to the dongle's on-chip non-volatile memory (such as the free area of the FPGA configuration Flash) and the application's local storage. Upon the next power-on, the dongle automatically loads the previous frequency offset compensation value as the initial value, shortening the initial calibration time. The calibration history stored locally in the application can be used to track the crystal oscillator's aging trend, reminding the user to recalibrate when the frequency offset drift exceeds a preset threshold.
[0084] like Figure 2 The diagram shows the overall calibration process in this embodiment. First, the actual GNSS positioning result is obtained as a reference position. Then, the observation parameters of the dongle signal are acquired. If the receiver cannot stably acquire, track, or locate the signal, the coarse frequency sweep stage begins: candidate frequency words are generated and written sequentially with the nominal frequency word as the center, step by step, until stable positioning is achieved, after which the fine calibration process begins. If the signal is already stable, the crystal oscillator frequency offset is directly estimated. The reverse compensation value is generated and written to the NCO frequency word register. Then, it is determined whether the convergence condition is met (position residual, drift rate, and frequency offset change are all less than the threshold). If convergence is not achieved, the system returns to reacquire observations and continues iterating; if convergence is achieved, the calibration results are saved (stored in dongle non-volatile memory and locally in the APP), and the calibration ends.
[0085] The following section uses the USB dongle teaching demonstration system based on the BDS B1 satellite as an example to explain the above method in detail.
[0086] Hardware configuration: The USB dongle uses a small FPGA or dedicated digital baseband chip to generate signals from four BDS B1 satellites (N=4, sampling clock). The data is output to the mobile phone via an RF conditioning network or a USB I / Q data channel. The crystal oscillator is a ±20 ppm consumer-grade SMD crystal (e.g., 3225 package, 16.368 MHz). The USB interface is USB-C, powered by 5V / 200 mA.
[0087] 4-satellite preset configuration: The antenna phase centers of the four satellites are preset to ECEF coordinates, taken from the actual orbital positions of typical GEO / IGSO / MEO satellites in the BDS broadcast ephemeris. The elevation and azimuth angles of each satellite are configured according to the optimal PDOP (approximately 1.5): one satellite is close to the zenith (elevation angle approximately 85°), and the other three are evenly distributed at azimuth intervals of approximately 120°, with elevation angles of 30°-50°.
[0088] Link budget: In conducted input or USB I / Q input scenarios, the dongle output signal strength is jointly set by a fixed attenuator, output amplitude, and the dynamic range of the mobile phone receiver. In a typical configuration, the mobile phone equivalent carrier-to-noise ratio (C / N0) can be set to a level significantly higher than the GNSS acquisition and tracking threshold (e.g., higher than 40 dB-Hz) to ensure that the software receiver or mobile phone GNSS chip can stably acquire, track, and output pseudorange or clock bias sequences.
[0089] Calibration accuracy: Limited by the accuracy of mobile phone GNSS positioning (approximately 3-5 m in open environments), the residual error of frequency offset calibration is equivalent to the frequency offset corresponding to a pseudorange deviation of approximately 3-5 m. When calculated using an average pseudorange of approximately 25,000 km, the residual frequency offset is approximately 0.1-0.2 ppm, which is close to the frequency accuracy level of consumer-grade TCXOs. This accuracy meets the positioning requirements for teaching demonstrations and functional testing.
[0090] To verify the convergence of the frequency offset estimation symbol, NCO reverse compensation direction, and multi-epoch drift rate estimation in this method, a pseudorange / clock bias domain closed-loop simulation was performed. This simulation does not simulate the complete RF link and the actual GNSS baseband acquisition process; it is mainly used to verify the convergence trend of the APP-side closed-loop algorithm at the pseudorange residual and receiver clock bias residual levels. Figure 3 Let the residual frequency offset of the dongle crystal be denoted as _residual_ppm. Then the pseudo-moment residual slope satisfies: d(pseudorange residual) / dt=-c*residual_ppm*1e-6 The APP estimates the residual slope through multi-epoch linear fitting and inversely calculates the residual frequency offset using the following formula: estimated_ppm=-slope / c*1e6 The NCO frequency word is then updated according to the reverse compensation principle: F_new=F_current / (1+estimated_ppm*1e-6) Simulations were performed under various scenarios, including crystal oscillator bias (too fast), crystal oscillator bias (to too slow), meter-level pseudorange noise, short observation window, and fine calibration after coarse frequency sweep. The results are shown in Table 1, and the corresponding simulation curves are as follows: Figure 3 As shown. Among them, Figure 3 (a) shows the final residual frequency offset under different simulation scenarios. The results show that the final residual frequency offset converges to a range close to 0 ppm under scenarios such as fast crystal oscillator offset, slow crystal oscillator offset, added noise, short observation window, and fine calibration after coarse calibration. This indicates that the multi-epoch residual drift rate estimation can give stable compensation results under different initial frequency offset and noise conditions. Figure 3(b) shows a schematic diagram illustrating the change of the NCO frequency word ratio with the number of iterations in a typical scenario. It can be seen that when the crystal oscillator is too fast, the NCO ratio is less than 1; when the crystal oscillator is too slow, the NCO ratio is greater than 1, indicating that the compensation direction is opposite to the actual deviation direction of the crystal oscillator, which conforms to the reverse compensation relationship. In the 0.5ppm scenario after coarse calibration, the NCO ratio is close to 1, requiring only minor correction. Figure 3 (c) shows a schematic diagram of the change of estimated frequency offset in each round with the number of iterations in a typical scenario. It can be seen that when the initial frequency offset is large, the estimated value in the first round is large and then decreases rapidly. After two to three rounds of iteration, the estimated frequency offset is close to 0 ppm, indicating that the closed-loop calibration process can gradually eliminate the frequency offset of the dongle crystal oscillator.
[0091] Table 1 Simulation results under different scenarios
[0092] Simulation results show that when the crystal oscillator bias is positive, the NCO frequency word ratio is less than 1; when the crystal oscillator bias is negative, the NCO frequency word ratio is greater than 1, consistent with the reverse compensation relationship. Even after adding meter-level pseudorange noise and clock bias noise, multi-epoch drift rate estimation can still bring the residual frequency offset to a low level. This simulation is used to verify the algorithm's closed-loop, symbol direction, and compensation trend, and is not equivalent to a complete RF link or real mobile phone software receiver performance test.
[0093] Figure 4 Examples of convergence curves for position residuals and residual frequency offsets during iterative calibration are provided, visually demonstrating the convergence trend of the calibration process. In the aforementioned clock frequency offset calibration method for a GNSS signal simulation source, the actual GNSS positioning result is obtained as a reference position. A multi-epoch residual sequence is constructed using at least one of the pseudorange observations output by the simulation source, the receiver clock error, or the calculated position. The time drift rate is then obtained by linear fitting of the residual sequence, thereby deducing the crystal oscillator frequency offset of the simulation source. This process does not rely on a high-precision clock reference (such as a TCXO / OCXO) within the simulation source and requires no dedicated calibration equipment. Calibration can be completed on-site using only the GNSS positioning capabilities of ordinary computing devices such as mobile phones. This significantly reduces hardware costs, size, and power consumption, making the practical application of miniature simulation sources in USB dongle form in scenarios such as teaching demonstrations and after-sales training possible.
[0094] Because this method employs a multi-epoch linear fitting approach, the instantaneous noise (typically 3-5 meters) and random geometric errors of a single mobile phone positioning are effectively smoothed, while the systematic pseudorange drift caused by the crystal oscillator frequency offset is accurately extracted as a common linear component. This allows for the acquisition of stable and convergent frequency offset estimates even under the extreme condition of generating only 4 satellites and having no redundant observations, thus solving the dilemma of traditional schemes being unable to detect and eliminate systematic biases due to the lack of redundant observations.
[0095] This method generates a reverse compensation value with the opposite sign to the crystal oscillator's frequency offset and directly corrects the frequency words of the carrier NCO and code NCO within the analog source, enabling the carrier frequency and code rate of the subsequent output of the analog source to synchronously return to their nominal values. The iterative calibration mechanism further ensures that the residual frequency offset and drift rate gradually converge to below the preset threshold, thus automatically compensating for real-time frequency offsets caused by factors such as temperature changes and aging of the crystal oscillator in actual use, eliminating the need to return it to the factory for recalibration and achieving true dynamic on-site maintenance.
[0096] Furthermore, this method is compatible with three types of observation parameters (pseudorange, clock bias, and solution location) and supports acquiring observation parameters by processing USB I / Q digital baseband data through a software receiver. Therefore, it is not dependent on whether the mobile phone has an open external RF test port, and has broad equipment compatibility. With the two-stage design of coarse frequency sweep and fine calibration, even in extreme cases where the initial frequency deviation is as high as ±20 ppm, it can automatically search for lockable frequency word intervals, ensuring a smooth start to the calibration process.
[0097] In summary, this method, with its core advantages of low cost, high efficiency, and field feasibility, completely solves the technical bottleneck of unstable positioning of miniature GNSS signal analog sources due to frequency offset of consumer-grade crystal oscillators, and significantly improves the practicality and reliability of analog sources.
[0098] It should be understood that, although Figure 1 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0099] This application also provides a clock frequency offset calibration system for a GNSS signal analog source. For example... Figure 5As shown, the system consists of two parts: a USB dongle (hardware) and a mobile app (software).
[0100] In this embodiment, the USB dongle end includes: Digital baseband channel: Generates intermediate frequency or baseband analog signals from at least four GNSS satellites and maintains them. The code phase, carrier phase, and navigation message modulation status of each satellite.
[0101] Channel State Storage Unit (BRAM): Maintains the carrier NCO phase and code NCO of each analog satellite. Phase, code generator status, and message data.
[0102] Clock divider and NCO frequency word register group: Receives frequency offset compensation values from the APP and updates the NCO frequency word of each satellite.
[0103] Digital combiner and output interface: Combines multiple satellite baseband or intermediate frequency signals and outputs them to an RF conditioning network or USB I / Q data channel.
[0104] USB interface (CDC or HID type): power supply (5V / 500mA) + data communication, used to receive APP calibration commands.
[0105] Analog conditioning network: includes impedance matching, low-pass filtering, DC blocking capacitor, and fixed attenuator.
[0106] In this embodiment, the mobile APP includes: Mobile GNSS reference positioning reading module: Obtains the mobile phone's positioning results under real satellite signals via Android Location API or iOS Core Location. If the terminal system opens the Android GnssMeasurementAPI or similar raw observation interface, it can further read the pseudorange, Doppler or carrier phase of the real satellite for reference position quality assessment. However, the basic reference input of this invention is the positioning result rather than relying on the raw observation.
[0107] The dongle signal positioning and calculation module acquires the pseudorange, clock error, or positioning results from the dongle's analog signal. When the mobile phone chip supports external RF input mode and raw observation output, it reads directly from the GNSS chip; when the mobile phone does not support this, it receives the digital I / Q baseband data output by the dongle via USB, and completes acquisition, tracking, pseudorange formation, and calculation as a software receiver within the APP.
[0108] Frequency offset reverse calculation module: Executes the multi-epoch residual drift rate estimation algorithm of the aforementioned steps S120 to S130.
[0109] Calibration control module: manages the iteration process, issues NCO frequency word compensation values, and determines convergence conditions.
[0110] Calibration log module: Records each iteration , , And convergence state.
[0111] In this embodiment, there are two ways for the mobile phone to obtain dongle signal observations: First, the RF output of the dongle is fed into the mobile phone's antenna test port or the external test input of the GNSS chip via an SMA cable (if the mobile phone has such a port and allows reading the raw observations); second, the digital I / Q baseband signal generated by the dongle is received via a USB interface, and the software receiver module in the APP completes the acquisition, tracking, and calculation at the application layer. The second method does not rely on the mobile phone's hardware test port, has a wider range of applications, and can be considered the preferred implementation path.
[0112] In this embodiment, the calibration data path is: GNSS chip, APP (reading) ), APP (reading or calculating pseudorange, clock error, or...) of dongle signals ), APP (based on multi-epoch drift rate) And generate reverse compensation amount The calibration loop is entirely established on the APP side, while the dongle only receives the frequency offset compensation amount and updates the NCO frequency word.
[0113] It should be noted that this system is merely an exemplary implementation environment for this method and is not intended to limit the scope of protection of this application. Those skilled in the art can apply the method to combinations of other computing devices (such as computers and tablets) and analog sources without departing from the principles of this application.
[0114] This application also provides a GNSS signal simulation source (e.g., a USB dongle) that can be manufactured and used independently, the structure of which is as follows: Figure 5 The dongle part in the image shows the specific components: Consumer-grade crystal oscillators are used to provide a reference clock. These oscillators can be found in SMD packages with ±20 ppm accuracy (such as the 3225 package, 16.368 MHz), eliminating the need for high-precision clock sources such as TCXOs or OCXOs.
[0115] The carrier NCO and code NCO share the same clock source as the consumer-grade crystal oscillator, used to generate the carrier frequency and code clock, respectively. Because they share the same clock source, the frequency offset of the crystal oscillator synchronously affects the carrier and code rates of all satellite channels.
[0116] The NCO frequency word register group is used to store the digital frequency word that controls the output frequency of the carrier NCO and the code NCO. This register group can receive frequency offset compensation amounts written externally through a communication interface and update the frequency word according to the compensation amounts, thereby dynamically adjusting the output frequency of the NCO.
[0117] The digital baseband channel is used to generate intermediate frequency or baseband analog signals for at least four GNSS satellites and maintain the code phase, carrier phase, and navigation message modulation state of each satellite.
[0118] A communication interface is provided for receiving externally written frequency offset compensation values. These compensation values are the opposite of the sign of the crystal oscillator frequency offset of the analog source (e.g., if the crystal oscillator is off-center, the compensation value is negative, reducing the frequency word). This communication interface can be a USB interface (supporting CDC or HID protocols) and simultaneously provides device power (5V / 500mA) and data transmission capabilities.
[0119] Optional non-volatile memory (such as the free area of the FPGA configuration Flash) is used to store the estimated crystal frequency offset and / or the frequency offset compensation value obtained at the end of calibration. When the analog source is powered on again, the stored value is automatically loaded as the initial compensation value, thereby shortening the initial positioning time and supporting the tracking of crystal aging trends.
[0120] In addition, the analog source may also include auxiliary circuits such as digital combiner and output interface (combining multiple signals into a single intermediate frequency / baseband output), and analog conditioning network (impedance matching, low-pass filtering, DC blocking capacitor, fixed attenuator) to ensure signal quality and output stability. Together, these structures constitute a low-cost, field-calibrated miniature GNSS signal analog source.
[0121] The specific functions of the above structure are the same as those of the dongle terminal in the aforementioned system architecture, and will not be repeated here. This simulation source can be used as a standalone product in conjunction with any external calibration device (such as a mobile phone or computer) to implement this method.
[0122] For specific details regarding the GNSS signal simulation source (USB dongle), please refer to the description above of the hardware structures involved in the calibration method (such as consumer-grade crystal oscillator, carrier NCO, code NCO, frequency word register group, etc.), which will not be repeated here. The various modules on the mobile app side (reference positioning reading module, signal calculation module, frequency offset inverse calculation module, calibration control module, and log module) can be implemented in software and stored in the memory of the mobile phone or other computing device, and executed by the processor. These modules can also be partially or entirely embedded in hardware or independent of the processor of the computing device. Those skilled in the art should understand that such hardware and software implementations fall within the scope of protection of this application.
[0123] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0124] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A clock frequency offset calibration method for a GNSS signal analog source, characterized in that, The method includes: Obtain the actual GNSS positioning results as a reference position; The analog signal generated by the GNSS signal analog source is acquired, and the corresponding observation parameters are obtained based on the analog signal. The observation parameters include at least one of pseudorange observation, receiver clock error, or calculated position. The GNSS signal analog source uses a consumer-grade crystal oscillator to generate analog signals from at least four GNSS satellites, and the carrier NCO and code NCO of the GNSS signal analog source share the same clock source. Based on the reference position and the observation parameters, a multi-epoch residual sequence is constructed; Linear fitting is performed on the residual sequence of the multi-epoch to obtain the time drift rate, and the crystal frequency offset of the GNSS signal analog source is inferred from the time drift rate. A reverse compensation amount is generated based on the crystal oscillator frequency offset, and the frequency words of the carrier NCO and code NCO are corrected using the reverse compensation amount; Repeat the correction process of the carrier NCO and code NCO frequency words until the time drift rate and the crystal oscillator frequency offset change are both less than the corresponding preset thresholds, then the clock frequency offset calibration is completed.
2. The clock frequency offset calibration method for a GNSS signal analog source according to claim 1, characterized in that, When the observation parameters are pseudorange observations, the step of constructing a multi-epoch residual sequence based on the reference position and the observation parameters includes: Based on the reference position and the preset ephemeris of the GNSS signal simulation source, the theoretical pseudorange for each epoch is calculated. The pseudorange observation is subtracted from the theoretical pseudorange to obtain a multi-epoch pseudorange residual sequence.
3. The clock frequency offset calibration method for a GNSS signal analog source according to claim 1, characterized in that, When the observation parameter is the receiver clock bias, the multi-epoch receiver clock bias sequence is directly used as the residual sequence.
4. The clock frequency offset calibration method for a GNSS signal analog source according to claim 1, characterized in that, When the observation parameter is the solution location, constructing the multi-epoch residual sequence includes: Calculate the difference between the solution position and the reference position for each epoch to obtain a multi-epoch position residual sequence; The crystal frequency offset of the GNSS signal analog source is deduced from the time drift rate, including: Obtain the geometric accuracy factor of the current satellite configuration, and inversely deduce the crystal oscillator frequency offset based on the position drift rate obtained by fitting the position residual sequence of the multi-epoch and the geometric accuracy factor.
5. The clock frequency offset calibration method for a GNSS signal analog source according to claim 1, characterized in that, If acquisition, tracking, or localization cannot be achieved based on the analog signal before acquiring the observation parameters, a coarse frequency sweep step is performed, including: Centered on the nominal frequency word, multiple candidate frequency words are generated according to a preset step size and written sequentially into the NCO frequency word register of the GNSS signal simulation source until stable acquisition, tracking or positioning is obtained. The current candidate frequency word is used as the initial frequency word for fine calibration.
6. The clock frequency offset calibration method for a GNSS signal analog source according to claim 1, characterized in that, The reverse compensation amount has the opposite sign to the crystal oscillator frequency offset.
7. The clock frequency offset calibration method for a GNSS signal analog source according to claim 1, characterized in that, The change in crystal oscillator frequency offset is the absolute value of the difference between the crystal oscillator frequency offsets estimated in two consecutive iterations.
8. The clock frequency offset calibration method for a GNSS signal analog source according to any one of claims 1-7, characterized in that, The actual GNSS positioning result is obtained by the mobile phone's built-in GNSS receiving module; The GNSS signal simulation source is a dongle with a USB interface. The acquisition of the analog signal generated by the GNSS signal analog source and the corresponding observation parameters obtained from the analog signal include: receiving the digital I / Q baseband data output by the dongle through the USB interface, and having the software receiver capture, track, extract pseudorange, and calculate the positioning of the digital I / Q baseband data to obtain the pseudorange observation, receiver clock error, or calculated position.
9. A signal analog source, characterized in that, include: Consumer-grade crystal oscillators are used to provide a reference clock. The carrier NCO and the code NCO share the clock of the consumer-grade crystal oscillator; The NCO frequency word register group is used to store the frequency words that control the output frequency of the carrier NCO and the code NCO. Digital baseband channel, used to generate analog signals from at least four GNSS satellites; A communication interface is used to receive an externally written frequency offset compensation amount, wherein the frequency offset compensation amount is an amount whose sign is opposite to that of the crystal oscillator frequency offset of the GNSS signal analog source; The NCO frequency word register group updates the frequency words of the carrier NCO and code NCO according to the frequency offset compensation amount.
10. The signal analog source according to claim 9, characterized in that, It also includes a non-volatile memory, which is used to store the crystal oscillator frequency offset estimate and / or frequency offset compensation value obtained from calibration, and is automatically loaded as the initial compensation value upon the next power-on.