A GNSS data processing method based on single-observation filtering
By decomposing the design matrix and covariance matrix into independent row vectors or scalars, processing each observation and distinguishing parameter types, the problem of low efficiency in processing high-dimensional observation data is solved, achieving efficient GNSS data processing that is applicable to multi-mode scenarios and reduces hardware dependence.
Patent Information
- Application Number
- CN202511596159.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-04
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2045-11-04
AI Technical Summary
Existing technologies are inefficient when processing high-dimensional observation data, making it difficult to meet the real-time data processing needs of lightweight terminals.
The design matrix, observation vector, and covariance matrix are decomposed into multiple row vectors or scalars, processed on an observation-by-observation basis, and common parameters and non-common parameters are distinguished. Data processing is carried out using an observation-by-observation filtering method, including single-epoch and multi-epoch processing.
It significantly reduces computational complexity, improves data processing efficiency, adapts to different processing scenarios, supports multi-mode GNSS processing, reduces hardware dependence, and expands application boundaries.
Smart Images

Figure CN121049940B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to an improvement of a single-observation filtering GNSS data processing technology, and belongs to the field of GNSS data processing, in particular to a single-observation filtering GNSS data processing method. BACKGROUND
[0002] In GNSS data processing, Kalman filtering and least squares are two core parameter estimation methods, which are widely used in high-precision scenarios such as positioning, navigation and timing. However, there are significant differences in processing methods between the two. The standard least squares method adopts the "epoch-independent solution" mode, that is, all parameters are calculated separately for each epoch. Although the structure is simple, the efficiency is low when solving multiple parameters. Kalman filtering realizes dynamic solution through "state recursion", which requires presetting initial values for all state parameters and updating the parameters as a whole, and is more suitable for time series data processing.
[0003] With the development of GNSS technology, the integration of multi-frequency and multi-system has led to a sharp increase in observations, and the terminal sampling rate has also been continuously improved. In this case, the limitations of traditional methods are more and more obvious: when processing high-dimensional observation data and large-scale state estimation, the computational load increases significantly and the efficiency decreases substantially, making it difficult to meet the real-time data processing needs of lightweight terminals.
[0004] The Chinese patent application with the application number CN202510585370.4 and the application date of May 8, 2025 discloses a GNSS data processing method based on a generalized least squares filter, which includes the following steps: first, constructing an observation model, and then obtaining a generalized least squares filter based on the least squares principle; first, defining a transformation matrix within each epoch to determine the dynamic change of the dimension of the state parameter, and then constructing a dynamic model according to the real time-varying characteristics of the state parameter; initializing the filter according to the parameter least squares estimate value of the first epoch, passing the state estimate value of the previous epoch to the current epoch to obtain the predicted value of the state parameter, adjusting the predicted value through the observation model, and combining the original observation data to obtain the estimate value of the current epoch; first, the estimate value of the current epoch is used as the basis for prediction of the next epoch; the above scheme updates the estimate value of the state parameter according to the original observation data and the dynamic model to obtain real-time positioning information with accurate positioning accuracy without relying on initial state values, but does not solve the problem of low efficiency when processing high-dimensional observation data.
[0005] The information disclosed in this BACKGROUND section is only for the purpose of increasing the understanding of the background of the present patent application and should not be taken as an acknowledgment or any form of suggestion that this information forms prior art that is publicly known. SUMMARY
[0006] The application aims to overcome the problem of low efficiency in processing high-dimensional observation data in the prior art, and provides a GNSS data processing method based on single observation filtering and having high efficiency in processing high-dimensional observation data.
[0007] To achieve the above object, the technical solution of the application is as follows: a GNSS data processing method based on single observation filtering, comprising the following steps:
[0008] In the first step, the design matrix, observation vector and covariance matrix are first decomposed into multiple row vectors or scalars, at this time, the observation values are independent of each other, then one observation value is processed each time, and after all observation values in the current epoch are processed through multiple cycles, the state vector and covariance matrix updated recursively in the current epoch are obtained;
[0009] In the second step, the GNSS parameters in the state vector are divided into common parameters and non-common parameters, the common parameters are updated when each observation value is processed, and the non-common parameters are updated as needed, then new parameters are gradually added to the state vector, that is, the observation values are processed to obtain an extended state vector and covariance matrix;
[0010] In the third step, the data processing is performed by using the above-mentioned extended state vector and covariance matrix, including single-epoch processing and multi-epoch processing.
[0011] In the single-epoch processing, the following steps are performed:
[0012] First, initial values are given to all parameters, and a prior variance is set for each initial value to meet the starting condition of single observation filtering, then the observation values are processed to obtain the state vector and variance covariance matrix in the current epoch;
[0013] In the multi-epoch processing, the following steps are performed:
[0014] First, the covariance matrix of the predicted state vector obtained based on the previous epoch is subjected to Cholesky decomposition to obtain a conversion matrix N, then the predicted state vector and its variance covariance matrix are transformed to a new parameter space based on the conversion matrix N, the measurement equation is subjected to equivalent transformation, and the observation values are processed on this basis; after all observation values are processed, the converted state vector and covariance matrix are restored to the state vector and covariance matrix in the original parameter space;
[0015] In the fourth step, all observation values are processed according to the above-mentioned first to third steps, and then the state estimation in the current epoch is output as the result of GNSS positioning.
[0016] The first step specifically includes the following steps: The matrix is a diagonal matrix, and represents All observations in the set are independent of each other, then, and is expressed as a set consisting of row vectors:
[0017] ;
[0018] wherein the design matrix is decomposed into row vectors , and are decomposed into scalars, wherein denotes the variance of the observation , and the measurement update is performed in turn times based on each individual observation, while the observation data are independent of each other, that is, is a diagonal matrix, as shown below:
[0019] ;
[0020] wherein and , in the formula is a single scalar, and only the reciprocal thereof needs to be calculated at each measurement update, and after recursive solving of the above formula, the and at time are obtained.
[0021] In the second step, the GNSS parameters in the state vector are divided into common parameters and non-common parameters, and the common parameters are updated when processing each observation, and the non-common parameters are updated as needed, specifically as follows:
[0022] Combined with the original GNSS observation equation, it is expressed as:
[0023] ;
[0024] wherein is the pseudo-range, is the phase observation value, is the geodetic distance, is the receiver clock error, is the zenith tropospheric delay, is the projection function coefficient, and the common parameters include the geodetic distance, the receiver clock error, the zenith tropospheric delay and the projection function, and the common parameters are parameters related to all observations;
[0025] is the satellite clock error, is the receiver phase bias, is the satellite phase bias, For receiver code bias, For satellite code bias, For integer ambiguity, For slant ionospheric delay of the first frequency, frequency 1 to The conversion factor of is The non-common parameters are only related to part of the observations, including satellite clock error, receiver phase bias and code bias, satellite phase bias and code bias, integer ambiguity and hardware delay.
[0026] The new parameters are then gradually added to the state vector, i.e. processing observation by observation, to obtain an extended state vector and a covariance matrix, which are as follows:
[0027] ;
[0028] Wherein, is the initial value of the new parameter, is the variance thereof, and after all observation processing is completed, the state vector at the kth epoch is obtained and .
[0029] In the third step, it is assumed that there are two receivers tracking the same set of satellites at the same time , and the full-rank single-frequency single-difference ionospheric fixed RTK model is as follows:
[0030] ;
[0031] Wherein, represents the inter-station single difference, represents the product of the user coordinate and the line-of-sight vector , and respectively represent the OMC pseudo-range observation and the phase observation, and the remaining parameters are defined as follows:
[0032] .
[0033] Let the reference satellite be , and expand the full-rank single-frequency single-difference ionospheric fixed RTK model into a matrix form, which is represented as:
[0034] .
[0035] When performing single-epoch processing, the covariance matrix is a diagonal matrix, which meets the requirement of parameter-by-parameter estimation.
[0036] When performing multi-epoch data processing, after time updating, there is a correlation between the predicted values of all parameters, so the covariance matrix Not diagonal matrix, since there is a correlation between common parameters and non-common parameters, each measurement update based on a single observation will affect all parameters, so joint update of all parameters is needed.
[0037] The covariance matrix Cholesky decomposition is performed, which is in the form as follows:
[0038] ;
[0039] Wherein, is a lower triangular matrix and is a diagonal matrix, then is set, and the variance thereof is expressed as At this time, the measurement equation is converted into:
[0040] .
[0041] Since is a diagonal matrix, Initial values of all parameters in are independent of each other, so that the SOF method is directly applied for observation-by-observation processing, when all observation processing is completed, and can be converted back to and , namely:
[0042] .
[0043] Compared with the prior art, the present application has the beneficial effects that:
[0044] 1. In the GNSS data processing method based on single observation filtering, the design matrix, observation vector and covariance matrix are first decomposed into multiple row vectors or scalars, at which time the observation values are independent of each other, then one observation value is processed each time, and after all observation values in the current epoch are processed through multiple cycles, the state vector and covariance matrix of the current epoch are obtained; the GNSS parameters in the state vector are divided into common parameters and non-common parameters, the common parameters are updated when each observation value is processed, and the non-common parameters are updated as needed, then new parameters are gradually added to the state vector, i.e. the observation values are processed to obtain an extended state vector and covariance matrix; when the above extended state vector and covariance matrix are used for data processing, single epoch processing and multi-epoch processing are included; in single epoch processing, initial values are assigned to all parameters, and a prior variance is set for each initial value to meet the starting condition of single observation filtering, then the state vector and its variance covariance matrix of the current epoch are obtained through observation value processing; in multi-epoch processing, the covariance matrix of the predicted state vector based on the last epoch is first subjected to Cholesky decomposition to obtain a conversion matrix N, then the predicted state vector and its variance covariance matrix are transformed to a new parameter space based on the conversion matrix N, the measurement equation is equivalently transformed, and observation value processing is performed on this basis; after all observation values are processed, the converted state vector and covariance matrix are restored to the state vector and covariance matrix in the original parameter space; all observation values are processed according to the above first to third steps, and then the state estimation of the current epoch is output as the result of GNSS positioning;
[0045] The advantages of the present application are as follows:
[0046] The first point, the first step greatly reduces the computational complexity by converting the traditional high-dimensional matrix inversion operation into multiple scalar division;
[0047] The second point, the parameter-by-parameter update strategy is introduced in the second step, which only updates the parameters related to the current observation by distinguishing between common parameters and non-common parameters, avoids synchronous calculation of all parameters, reduces redundant calculation, makes the state vector dimension expand with observation instead of being initially fixed at a high dimension, and improves the data processing speed of each epoch and the overall running efficiency;
[0048] The third point, in the third step, the observation-by-observation processing and parameter-by-parameter estimation are used to avoid high-dimensional matrix inversion process, significantly reduce the computational complexity, improve the processing efficiency, and adapt to the dynamic changes of state parameters over time, with good scalability and practicality.
[0049] Therefore, the present application has high efficiency when processing high-dimensional observation data.
[0050] 2、The GNSS data processing method based on single observation value filtering in the application supports different processing scenes, and the SOF method is applicable to single epoch data processing and recursive estimation of multiple epochs. Single epoch directly starts parameter-by-parameter estimation through a diagonal covariance matrix. Multiple epochs eliminate parameter correlation through decorrelation conversion, so that the observation-by-observation processing logic can be migrated to time series data. The SOF method is stable in RTD (pseudo-range difference), IFRTK (ionosphere fixed carrier phase difference), IWRTK (ionosphere weighted carrier phase difference), PPP (precise point positioning) and other scenes, and can process complex conditions such as ambiguity dynamic change caused by satellite rise and fall, and has good adaptability and consistency. Therefore, the application has strong scene adaptability and supports multi-mode GNSS processing.
[0051] 3、The GNSS data processing method based on single observation value filtering in the application, the state vector is gradually expanded with new parameters (such as phase observation introduced ambiguity), without pre-defining fixed dimension, adapting to the scene of dynamic change of parameter number. Due to the improvement of calculation efficiency, the SOF method can realize high-precision real-time processing on lightweight terminals with limited computing resources, such as low-cost GNSS receivers, reduce the dependence on high-performance hardware, and reduce the overall cost of the system, which provides the possibility for the application of GNSS in unmanned aerial vehicles, automatic driving, Internet of Things and other resource-limited scenes. Therefore, the application reduces the degree of hardware dependence and expands the application boundary. BRIEF DESCRIPTION OF DRAWINGS
[0052] Figure 1 It is a single observation value filtering framework diagram of the application.
[0053] Figure 2 It is a schematic diagram of observation value processing one by one in the application.
[0054] Figure 3 It is a single epoch positioning error time series diagram in east, north and high directions under RTD, IFRTK and IWRTK three models in the application.
[0055] Figure 4 It is a multi-epoch positioning error time series diagram in east, north and high directions under RTD, IFRTK and IWRTK three models in the application.
[0056] Figure 5 It is a diagram of theoretical calculation time and efficiency improvement of LS, KF and SOF three methods under single epoch and multi-epoch modes in the application.
[0057] Figure 6 It is a comparison diagram of calculation time of SOF, LS and KF three methods based on simulation data in the application.
[0058] Figure 7is a calculation efficiency improvement situation diagram of the SOF method based on simulation results and theoretical calculation results in the application.
[0059] Figure 8 is a calculation time comparison diagram of the SOF, LS and KF three methods based on measured GNSS data in the application.
[0060] Figure 9 is a calculation efficiency improvement situation diagram of the SOF method in different system combinations and application scenarios in the application.
[0061] Figure 10 is a schematic diagram of the calculation time of each epoch in different application scenarios under the combination of GPS / Galileo / BDS systems in the application. DETAILED DESCRIPTION
[0062] The application is further described in detail in the following description and specific embodiments in conjunction with the accompanying drawings.
[0063] Reference Figures 1 to 10 A GNSS data processing method based on single observation filtering, the GNSS data processing method based on single observation filtering comprises the following steps:
[0064] Firstly, the design matrix, observation vector and covariance matrix are decomposed into multiple row vectors or scalars, at this time the observation values are independent of each other, then one observation value is processed each time, after all observation values of the current epoch are processed through multiple cycles, the state vector and covariance matrix of the current epoch are obtained;
[0065] Secondly, the GNSS parameters in the state vector are divided into common parameters and non-common parameters, when processing each observation value, the common parameters are updated, the non-common parameters are updated as needed, then new parameters are gradually added to the state vector, that is, the observation values are processed to obtain an extended state vector and covariance matrix;
[0066] Thirdly, when the above-mentioned extended state vector and covariance matrix are used for data processing, single-epoch processing and multi-epoch processing are included.
[0067] When the single-epoch processing is performed, the following steps are included:
[0068] Firstly, initial values are given to all parameters, and a prior variance is set for each initial value to meet the starting condition of single observation filtering, then the observation values are processed to obtain the state vector and variance covariance matrix of the current epoch.
[0069] When the multi-epoch processing is performed, the following steps are included:
[0070] First, the covariance matrix of the predicted state vector based on the previous epoch is decomposed by Cholesky to obtain the conversion matrix N, and then the predicted state vector and its variance covariance matrix are transformed into a new parameter space based on the conversion matrix N, while the measurement equation is equivalently transformed, and on this basis, the observation values are processed one by one; after all the observation values are processed, the transformed state vector and covariance matrix are restored to the state vector and covariance matrix in the original parameter space.
[0071] Fourthly, all the observation values are processed according to the first to third steps, and then the state estimation of the current epoch is output as the result of GNSS positioning.
[0072] The first step is specifically: first assume is a diagonal matrix, indicating that all observation values in are independent of each other, and then is expressed as a set composed of row vectors:
[0073] ;
[0074] Wherein, the design matrix is decomposed into row vectors , and are decomposed into scalars, wherein represents the variance of the observation value , based on each individual observation value, the measurement update is performed in turn times, while the observation data are independent of each other, that is, is a diagonal matrix, which is specifically as follows:
[0075] ;
[0076] Wherein, and , in the formula is a single scalar, only the reciprocal thereof needs to be calculated at each measurement update, and after recursive solving of the above formula, the and at the time are obtained.
[0077] In the second step, the GNSS parameters in the state vector are divided into common parameters and non-common parameters, and when processing each observation value, the common parameters are updated, and the non-common parameters are updated as needed, which is specifically:
[0078] Combined with the original GNSS observation equation, it is expressed as:
[0079] ;
[0080] wherein, is the pseudo-range, is the phase observation, is the geodetic distance, is the receiver clock bias, is the zenith tropospheric delay, is the projection function coefficient, the common parameters include the geodetic distance, the receiver clock bias, the zenith tropospheric delay and the projection function, and the common parameters are parameters related to all observations;
[0081] is the satellite clock bias, is the receiver phase bias, is the satellite phase bias, is the receiver code bias, is the satellite code bias, is the integer ambiguity, is the slant ionospheric delay of the first frequency, the frequencies 1 to are conversion coefficients, and the non-common parameters are only related to part of the observations, including the satellite clock bias, the receiver phase bias and code bias, the satellite phase bias and code bias, the integer ambiguity and the hardware delay.
[0082] The new parameters are then added to the state vector step by step, that is, the observations are processed one by one, to obtain an extended state vector and a covariance matrix, which are specifically:
[0083] ;
[0084] wherein, is the initial value of the new parameter, is the variance thereof, after all the observations are processed, the and at the kth epoch are obtained.
[0085] In the third step, it is assumed that there are two receivers tracking the same set of satellites at the same time, and the frequencies are , and the full-rank single-frequency single-difference ionosphere-fixed RTK model is as follows:
[0086] ;
[0087] wherein, denotes the inter-station single difference, denotes the product of the user coordinates and the line-of-sight vector , respectively represent the OMC pseudo-range observation and the phase observation, and the remaining parameters are defined as follows:
[0088] .
[0089] Let the reference satellite be , and the full rank single frequency single difference ionosphere fixed RTK model is expanded into matrix form, expressed as:
[0090] .
[0091] The single epoch processing, the covariance matrix is a diagonal matrix, which meets the requirements of parameter estimation.
[0092] When the multi-epoch data processing is carried out, after time updating, there is a correlation between the predicted values of all parameters, so the covariance matrix is no longer a diagonal matrix, and since there is a correlation between common parameters and non-common parameters, each measurement update based on a single observation will affect all parameters, so joint updating of all parameters is required.
[0093] The covariance matrix is subjected to Cholesky decomposition, which has the following form:
[0094] ;
[0095] Wherein, is a lower triangular matrix and is a diagonal matrix, then , and its variance is expressed as At this time, the measurement equation is converted to:
[0096] .
[0097] Since is a diagonal matrix, all the initial values of the parameters in are independent of each other, so the SOF method is directly applied for observation-by-observation processing, and when all observation processing is completed, and can be converted back to and respectively, that is:
[0098] .
[0099] The supplementary technical features of the application are as follows:
[0100] Aiming at the problem of low calculation efficiency of traditional least square (LS) and Kalman filter (KF) methods in multi-frequency multi-mode, high-sampling GNSS real-time positioning scene, the SOF method uses the observation-by-observation processing and parameter-by-parameter estimation strategy, avoids high-dimensional matrix inversion operation, and can significantly improve the GNSS data processing efficiency without losing accuracy. The experimental results show that in the typical scenes of real-time difference (RTD), ionosphere-fixed real-time kinematic (IFRTK), ionosphere-weighted real-time kinematic (IWRTK) and precise point positioning (PPP), the single epoch processing result of the SOF method is consistent with that of the LS method, and the multi-epoch processing result of the SOF method is consistent with that of the KF method. In the single epoch mode, the calculation efficiency of the SOF method in the RTD / IFRTK / IWRTK scene is improved by 49% / 77% / 74% compared with the LS method, and in the multi-epoch mode, the calculation efficiency of the SOF method in the PPP / IFRTK / IWRTK scene is improved by 41% / 56% / 34% compared with the KF method. The application can effectively improve the data processing efficiency of GNSS terminal, and has wide prospect and great potential in reducing hardware cost and expanding GNSS application scene.
[0101] Embodiment 1:
[0102] A GNSS data processing method based on single observation filter, the GNSS data processing method based on single observation filter comprises the following steps:
[0103] The first step is to decompose the design matrix, observation vector and covariance matrix into a plurality of row vectors or scalars, at which time the observation values are independent of each other, then one observation value is processed each time, and after all observation values of the current epoch are processed through multiple cycles, the state vector and covariance matrix of the current epoch are obtained. Recursive update;
[0104] The second step is to divide the GNSS parameters in the state vector into common parameters and non-common parameters, update the common parameters when processing each observation value, and update the non-common parameters as needed, then gradually add new parameters to the state vector, that is, process observation by observation, to obtain an extended state vector and covariance matrix;
[0105] The third step is to use the above-mentioned extended state vector and covariance matrix for data processing, including single epoch processing and multi-epoch processing;
[0106] In single epoch processing, specifically:
[0107] First, all parameters are given initial values, and a priori variance is set for each initial value to meet the starting conditions of single observation filtering, and then the state vector and its variance-covariance matrix of the current epoch are obtained by processing each observation value;
[0108] In multi-epoch processing, specifically:
[0109] First, the covariance matrix of the predicted state vector based on the previous epoch is decomposed by Cholesky to obtain the conversion matrix N, and then the predicted state vector and its variance-covariance matrix are transformed into a new parameter space based on the conversion matrix N, and the measurement equation is equivalently transformed, and then the observation value is processed; after all observation values are processed, the converted state vector and covariance matrix are restored to the state vector and covariance matrix in the original parameter space;
[0110] Fourthly, all observation values are processed according to the first to third steps, and then the state estimation of the current epoch is output as the result of GNSS positioning.
[0111] Embodiment 2:
[0112] Embodiment 2 is basically the same as embodiment 1, the difference is:
[0113] The gain matrix needs to be inverted, the dimension of the matrix is , wherein represents the dimension of the observation vector, since the time complexity of matrix inversion is about , a large amount of calculation will be brought by a large number of observations in the current epoch, therefore, the calculation of the gain matrix is decomposed into times measurement update, each time only one observation value is processed, and the calculation of the gain matrix only involves the inversion of a matrix, which is actually equivalent to a simple scalar division, the specific content is as follows: first, assume is a diagonal matrix, which means that all observation values in are independent of each other, then and are expressed as a set composed of row vectors:
[0114] ;
[0115] wherein, the design matrix is decomposed into row vectors , and are decomposed into scalars, where, denotes the variance of the observation , based on each individual observation, the measurement update is performed sequentially, i.e. times, while the observation data are independent of each other, i.e. is a diagonal matrix, which is shown as follows:
[0116] ;
[0117] where, and , in which is a single scalar, only the inverse of which needs to be calculated at each measurement update, and after recursively solving the above formula, the and at time are obtained.
[0118] It should be noted that this method ignores the correlation between observations. Therefore, the premise is that the observation data must be independent of each other, i.e. is a diagonal matrix. In GNSS data processing, most studies assume that the original observations (non-difference, non-combination) are not correlated, so the variance-covariance matrix can be set as a diagonal matrix, but the correlation introduced by difference or combination should be avoided, for example, double-difference observations are correlated, while inter-station single-difference has no such problem.
[0119] Embodiment 3:
[0120] Embodiment 3 is basically the same as Embodiment 1, the difference is that:
[0121] After processing each observation, all parameters in the state vector need to be updated synchronously, especially when updating the covariance matrix , the amount of calculation is still large. In actual GNSS data processing, it is not necessary to update all parameters at each measurement update, but only a part of them. When processing each observation, the common parameters are updated, and the non-common parameters are updated as needed, which is as follows:
[0122] Combined with the original GNSS observation equation, it is expressed as:
[0123] ;
[0124] where, is the pseudo-range, is the phase observation, is the geodetic distance, is the receiver clock error, is the zenith tropospheric delay, For the projection function coefficient, the common parameters include satellite-geodetic distance, receiver clock error, zenith troposphere delay and projection function, and the common parameters are parameters related to all observations;
[0125] For satellite clock error, For receiver phase bias, For satellite phase bias, For receiver code bias, For satellite code bias, For integer ambiguity, For slant ionospheric delay of the first frequency, frequency 1 to The conversion coefficient of is
[0126] In the filtering process, all common parameters are updated every time an observation is processed; and the non-common parameters are only updated when the observation corresponding to the non-common parameters is processed, for example, when the pseudo-range observation is processed, the ambiguity parameter does not need to be estimated, and the ambiguity is only estimated when the corresponding carrier phase observation is processed, therefore, the dimension of the state vector gradually increases with the progress of the observation, and this method can flexibly reduce the calculation steps, thereby further improving the efficiency.
[0127] The detailed process is shown in Figure 1 , and Figure 1 shows matrix reduction, which specifically includes dividing the design matrix into a set of row vectors with increasing length, and decomposing the variance-covariance matrix and the observation vector into scalars, the purpose of this step is to eliminate zero elements and reduce unnecessary calculation steps, and facilitate the processing of observations one by one, as shown in Figure 2 , which shows processing observations one by one, in this process, the length of the state vector increases with the addition of new parameters;
[0128] The new parameters are then gradually added to the state vector, that is, the observations are processed one by one, to obtain an extended state vector and a covariance matrix, specifically:
[0129]
[0130] , wherein, is the initial value of the new parameter, is the variance thereof, after all observations are processed, the and at the kth epoch are obtained.
[0131] It is worth noting that, although the parameter-by-parameter estimation is superior to the simultaneous estimation of all parameters in computational efficiency, it requires The initial values (predictions) of the non-common parameters are independent of each other in the SOF method, so the SOF method can be directly applied in single epoch processing. However, in multi-epoch data processing, it is essential to eliminate the correlation between the predicted state vectors, which requires a transformation of the form of the estimable parameters.
[0132] Embodiment 4:
[0133] Embodiment 4 is basically the same as Embodiment 1, except that:
[0134] To better illustrate the specific process of the SOF method in GNSS data processing, taking single-difference RTK as an example, assume that there are two receivers simultaneously tracking the same set of satellites with a frequency of The full-rank single-frequency single-difference ionosphere-fixed RTK model is as follows:
[0135] ;
[0136] wherein, represents the inter-station single difference, represents the product of the user coordinates and the line-of-sight vector , and respectively represent the OMC pseudo-range observation and the phase observation, and the remaining parameters are defined as follows:
[0137] .
[0138] Let the reference satellite be , and expand the full-rank single-frequency single-difference ionosphere-fixed RTK model into matrix form, denoted as:
[0139] .
[0140] According to Figure 1 , the flow of observation data processing and parameter estimation is shown in Table 1, and next we use the SOF method to solve the above formula, the calculation details of which are listed in Table 1. It can be clearly seen that in the process of processing observation by observation, the dimension of the vector continuously increases with the introduction of new parameters, indicating that this is a parameter-by-parameter estimation process;
[0141] Table 1 Order of observation data processing and parameter update in state vector In the process of processing observation by observation, the parameter symbol represented in bold in the state vector represents the first introduced new parameter;
[0142] ;
[0143] The single epoch processing, the SOF method belongs to Kalman filter in essence, needs to provide initial value for all estimable parameters, especially in the time update stage. However, in single epoch processing, in order to keep consistent with least square (LS) in accuracy, at the same time meet the requirement of initial condition of SOF method, we can only give an inaccurate initial value for each parameter and a larger variance, although theoretically, infinite variance can allow any initial value, but this cannot be realized in actual calculation; in addition, too large variance may affect the stability of numerical calculation, even lead to filter divergence. Therefore, the setting of initial value and error range needs to be considered carefully, the covariance matrix is a diagonal matrix, which meets the requirement of parameter estimation.
[0144] Table 2 lists the method for setting initial value and prior variance, since this step is only used to meet the starting condition of SOF method, therefore, it is not necessary to accurately determine the variance of each initial value, but can give a value much larger than the actual variance, to reduce the influence of initial value uncertainty on single epoch result;
[0145] Table 2 setting of initial value and prior variance:
[0146] ;
[0147] When the multi epoch data processing is carried out, after the time update, there is correlation between the predicted values of all parameters, therefore, the covariance matrix is no longer a diagonal matrix, since there is correlation between common parameters and non common parameters, each measurement update based on single observation will affect all parameters, therefore, joint update of all parameters is needed, and the independent update mode of each observation and each parameter can not be used any more.
[0148] In order to meet the condition of observation by observation estimation, we can apply decorrelation method to transform the state vector, to ensure that the initial values in prior state vector are independent of each other, the covariance matrix is decomposed by Cholesky, which is in the following form:
[0149] ;
[0150] wherein, is a lower triangular matrix and is a diagonal matrix, then let , and its variance is expressed as at this time, the measurement equation is transformed as:
[0151] .
[0152] Due to is a diagonal matrix, the initial values of all parameters are independent of each other, so that the SOF method is directly applied for observation-by-observation processing, and when all observations are processed, and can be converted back to and , that is:
[0153] .
[0154] Example 5:
[0155] Example 5 is basically the same as Example 1, except that:
[0156] First, review the traditional Kalman filter, assuming that the system state model and the measurement model are linear, and using a recursive structure, the system is described by a state equation and a measurement equation;
[0157] ;
[0158] wherein the subscript represents the epoch (time), represents the state vector of the estimable parameters, represents its transformation matrix, and represent the control input matrix and the control vector, respectively, represents the system noise vector, which is subject to a normal distribution with zero mean, and the variance-covariance matrix is , and represent the design matrix and the observation vector, respectively, is the observation noise vector, which is usually assumed to be a Gaussian noise vector with zero mean, and the variance-covariance matrix is ;
[0159] The specific implementation of the Kalman filter mainly includes two steps: time update and measurement update;
[0160] Time update, also known as prediction, is used to estimate the prior state and prior variance-covariance of the current epoch based on the state estimate value of the previous epoch, which is specifically represented as:
[0161] ;
[0162] wherein, is the estimate value of at the previous time , and is the predicted state vector, represents its state at the current time the error covariance matrix of the state vector, is the process noise covariance;
[0163] The measurement update, also called filtering, combines the prior estimate with the new observation vector to construct an improved posterior estimate as:
[0164]
[0165] where, is the gain matrix, which determines the weight size of the new measurement value and the predicted value, and are the updated state vector and the variance covariance matrix at the current time , respectively.
[0166] Example 6:
[0167] Example 6 is basically the same as Example 1, the difference is that:
[0168] Referring to Figures 3 to 4 To verify the equivalence and reliability of the single observation filter (SOF) method proposed in the present application in the actual GNSS positioning scene, simulation experiments based on four typical high-precision positioning models of RTD, IFRTK, IWRTK and PPP are designed, and are compared and analyzed with the traditional least squares method (LS) and Kalman filter (KF), respectively. The experimental data includes short baseline (25 meters) and medium baseline (50 kilometers), the observation time is one day, the sampling interval is 30 seconds, and there are 2880 epochs in total.
[0169] Figure 3 The single-epoch positioning error time series of RTD, IFRTK and IWRTK models in the east (E), north (N) and high (U) directions are shown. The left column is the result based on the least squares method (LS), the middle column is the result based on the single observation filter (SOF) method, and the right column represents the difference (Diff) between the LS and SOF results. The results show that the error difference between SOF and LS is within 1 millimeter in both ambiguity float solution and fixed solution, and has high consistency. Due to the strong ionospheric activity, the ambiguity solution in the IWRTK model appears error in some epochs during the day (leading to large error in some epochs of fixed solution), but the fixed solutions of the two methods remain the same.
[0170] Figure 4 The multi-epoch positioning error time series of the RTD, IFRTK and IWRTK models in the east (E), north (N) and up (U) directions are shown. The left column is the result based on the least squares (LS) method, the middle column is the result based on the single observation filter (SOF) method, and the right column represents the difference (Diff) between the LS and SOF results. As in the single-epoch result, the SOF and KF also maintain high consistency in the positioning error in the multi-epoch processing mode, verifying the equivalence of the two in terms of theoretical structure and numerical implementation. From the error time series, it can be seen that the SOF and KF are completely consistent in the error trend in the two stages of floating solution and fixed solution, without obvious deviation or error accumulation phenomenon.
[0171] Example 7
[0172] Example 7 is basically the same as Example 1, except that:
[0173] Reference Figures 5 to 10 The single observation filter method (SOF) proposed in the application is compared and analyzed with the traditional least squares method (LS) and Kalman filter (KF) in terms of calculation efficiency. The experiment includes theoretical efficiency analysis, verification based on simulated data, and efficiency test based on measured GNSS data.
[0174] Figure 5 The theoretical calculation time and efficiency improvement of the LS, KF and SOF methods in single-epoch (SE) and multi-epoch (ME) modes are shown. The solid line in the figure represents the calculation time of each method, and the brown dashed line represents the calculation efficiency improvement ratio (Pt) of SOF compared with LS / KF method. The results show that as the number of satellites increases, the efficiency improvement of the SOF method significantly increases. In single-epoch mode, the average efficiency improvement of SOF compared with LS method in RTD, IFRTK and IWRTK scenarios is 58%, 85% and 81%, respectively; in multi-epoch mode, the average efficiency improvement compared with KF method in PPP, IFRTK and IWRTK scenarios is 67%, 78% and 66%, respectively.
[0175] Figure 6 The calculation time comparison of SOF, LS and KF based on simulated data is shown. The column chart represents the actual calculation time measured in the simulation experiment, with units of microseconds (μs); the curve represents the corresponding theoretical calculation time, with units of clock cycles. The results show that the time consumption of the SOF method in actual calculation is highly consistent with the theoretical analysis, verifying its high calculation efficiency under simulation conditions.
[0176] Figure 7The efficiency improvement of the SOF method based on simulation results and theoretical calculation results is shown. Although the efficiency improvement of the simulation results is slightly lower than the theoretical value, it still maintains a significant advantage. The difference is mainly due to the existence of CPU frequency fluctuations, memory allocation and function calls in the actual program execution, as well as the slight difference between the basic operation time and the theoretical estimate. Therefore, the SOF method still shows excellent calculation efficiency in engineering implementation.
[0177] Figure 8 The calculation time of the SOF, LS and KF methods based on measured GNSS data is shown. The column chart represents the time consumed in processing the measured data, with the unit of seconds (s); the curve represents the corresponding theoretical calculation time, with the unit of clock cycles. The results show that the SOF method is significantly better than the LS and KF methods under different system combinations.
[0178] Figure 9 The calculation efficiency improvement of the SOF method under different system combinations and positioning scenarios is shown. In the single epoch mode, the SOF method is 49%, 77% and 74% better than the LS method in the RTD, IFRTK and IWRTK scenarios, respectively; in the multi-epoch mode, it is 41%, 56% and 34% better than the KF method in the PPP, IFRTK and IWRTK scenarios, respectively. This result further verifies the universality and efficiency advantage of the SOF method under different processing modes and positioning scenarios.
[0179] Figure 10 The calculation time of each epoch in different application scenarios under the GPS / Galileo / BDS (GEC) system combination is shown, with the unit of milliseconds (ms). The results show that due to the fluctuations in the number of satellites in the actual epoch, the "spike points" caused by the fluctuations in the CPU frequency at some time will also affect the efficiency evaluation accuracy, but the overall calculation trend is still consistent with the theoretical expectation, indicating that the SOF method has good stability in actual operation.
[0180] The above only describes the preferred embodiments of the present application, and the protection scope of the present application is not limited to the above embodiments. Any equivalent modifications or changes made by those skilled in the art based on the disclosed content of the present application shall be included in the protection scope of the claims.
Claims
1. A GNSS data processing method based on single-observation filtering, characterized in that: The GNSS data processing method based on single-observation filtering includes the following steps: The first step is to decompose the design matrix, observation vector, and covariance matrix into multiple row vectors or scalars. At this point, the observations are independent of each other. Then, one observation is processed at a time. After multiple iterations, all the observations of the current epoch are processed, and the recursively updated state vector and covariance matrix of the current epoch are obtained. The second step is to divide the GNSS parameters in the state vector into common parameters and non-common parameters. When processing each observation, the common parameters are updated and the non-common parameters are updated as needed. Then, new parameters are gradually added to the state vector, i.e., each observation is processed to obtain the extended state vector and covariance matrix. The third step involves data processing using the extended state vector and covariance matrix described above, including single-epoch processing and multi-epoch processing. When processing a single epoch, the specific steps are as follows: First, all parameters are assigned initial values, and a prior variance is set for each initial value to meet the starting condition of single-observation filtering. Then, observation-by-observation processing is performed to obtain the state vector and its variance-covariance matrix of the current epoch. When processing multiple epochs, the specific steps are as follows: First, the covariance matrix of the predicted state vector obtained from the previous epoch is decomposed by Cholesky to obtain the transformation matrix N. Then, based on the transformation matrix N, the predicted state vector and its variance-covariance matrix are transformed to a new parameter space. At the same time, the measurement equation is equivalently transformed, and observation-by-observation processing is performed on this basis. After all observations have been processed, the transformed state vector and covariance matrix are restored to the original state vector and covariance matrix of the parameter space. Fourth step: Process all observations according to steps one through three above, and then output the state estimate for the current epoch as the result of GNSS positioning.
2. The GNSS data processing method based on single-observation filtering according to claim 1, characterized in that: The first step specifically involves: first assuming It is a diagonal matrix, representing All observations are independent of each other, and then... and Represented as a set of row vectors: ; Among them, the design matrix Decomposed into row vectors , and They were decomposed into scalars, of which Represents the observed value The variance is calculated sequentially based on each individual observation. Each measurement update is independent of the other, meaning the observation data are mutually independent. It is a diagonal matrix, as shown below: ; in, and In the formula It is a single scalar; its reciprocal can be calculated simply by recursively solving the above formula, and we will obtain... Moment and .
3. The GNSS data processing method based on single-observation filtering according to claim 1, characterized in that: In the second step, the GNSS parameters in the state vector are divided into common parameters and non-common parameters. When processing each observation, the common parameters are updated, and the non-common parameters are updated as needed. Specifically: Combining the original GNSS observation equations, it can be expressed as: ; in, For pseudo-range, For phase observations, For the distance of the guard, For receiver clock bias, For zenith tropospheric delay, These are the projection function coefficients. Common parameters include satellite-to-Earth distance, receiver clock error, zenith tropospheric delay, and projection function. These common parameters are related to all observations. For satellite clock bias, For receiver phase deviation, For satellite phase deviation, For receiver code deviation, Due to satellite code deviation, For integer phase ambiguity, For the first frequency of oblique ionospheric delay, frequency 1 to The conversion factor is The non-common parameters are only related to some observations, including satellite clock bias, receiver phase and code bias, satellite phase and code bias, integer phase ambiguity, and hardware delay.
4. The GNSS data processing method based on single-observation filtering according to claim 3, characterized in that: The process then involves progressively adding new parameters to the state vector, i.e., processing each observation individually, to obtain an expanded state vector and covariance matrix, specifically: ; in, The initial values for the new parameters are... Given its variance, after processing all observations, we obtain the variance at the k-th epoch. and .
5. The GNSS data processing method based on single-observation filtering according to claim 1, characterized in that: In the third step, it is assumed that there are two receivers. Simultaneously tracking the same set of satellites The frequency is The full-rank, single-frequency, single-difference ionospheric fixed RTK model is shown below: ; in, Indicates the single difference between stations. Represents user coordinates and view vector The product of These represent the OMC pseudorange and phase observations, respectively. The remaining parameters are defined as follows: 。 6. A GNSS data processing method based on single-observation filtering according to claim 5, characterized in that: [The following is a partial translation of the original text, which is not possible without further context.] The reference satellite is The full-rank, single-frequency, single-difference ionospheric fixed RTK model is expanded into a matrix form, as follows: 。 7. A GNSS data processing method based on single-observation filtering according to claim 6, characterized in that: During the single-epoch processing, the covariance matrix It is a diagonal matrix that satisfies the requirements for parameter-by-parameter estimation.
8. The GNSS data processing method based on single-observation filtering according to claim 1, characterized in that: When performing multi-history data processing, after the time update, there is a correlation between the predicted values of all parameters, therefore the covariance matrix... It is no longer a diagonal matrix. Since there is a correlation between common and non-common parameters, each measurement update based on a single observation will affect all parameters. Therefore, it is necessary to update all parameters jointly.
9. A GNSS data processing method based on single-observation filtering according to claim 8, characterized in that: For the covariance matrix The Cholesky decomposition takes the following form: ; in, It is a lower triangular matrix and Let it be a diagonal matrix, and then let... And its variance is expressed as At this point, the measurement equation is transformed into: 。 10. A GNSS data processing method based on single-observation filtering according to claim 9, characterized in that: because It is a diagonal formation. The initial values of all parameters are independent of each other, so the SOF method can be directly applied for observation-by-observation processing. After all observations have been processed, and They can be converted back separately. and ,Right now: 。
Citation Information
Patent Citations
GNSS data processing method based on generalized least square filter
CN120103391A
Network RTK parameter resolving method based on dual systems
CN115980807A
Configuration of validity timer
WO2023050300A1