Solving Method, Device and Storage Medium for Float Solution in Baseline Solution

By employing satellite phase difference calculations and initial row transformations to address extreme small numbers in the matrix, the method improves the accuracy of baseline float solutions in satellite navigation, addressing the ill-conditioned matrix challenge.

CN116520379BActive Publication Date: 2025-07-15XIAMEN XINNUO ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310422598.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-19
Publication Date
2025-07-15
Estimated Expiration
2043-04-19

AI Technical Summary

Technical Problem

In global satellite navigation, the method equation of the baseline floating point solution is a pathological matrix, and the existing technology solution methods have problems such as many iterations, long time and low solution accuracy.

Method used

By performing elementary row transformation on the pathological matrix, finding non-extreme decimal elements for row transformation, avoiding matrix inverse error caused by extreme decimals, and using the least squares method to calculate floating-point solutions.

Benefits of technology

The calculation accuracy of baseline solutions was improved, for example, the accuracy rate was improved by 99% in the experiment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116520379B_ABST
    Figure CN116520379B_ABST
Patent Text Reader

Abstract

The present invention provides a method, apparatus, and storage medium for solving the floating-point solution in baseline solution, which are used to solve the baseline between two satellite receivers. The method includes: determining the satellites simultaneously received by the two satellite receivers; calculating the current positions of the determined satellites; performing inter-satellite difference and inter-receiver difference on the carrier phase values of the determined satellites; forming a floating-point solution equation; and using the least squares method to calculate the three-dimensional coordinates of the baseline. Among them, during the process of calculating the three-dimensional coordinates of the baseline, when an extremely small number appears, by finding the row that meets the requirements, that is, finding other rows in the same column that are not extremely small numbers, and using the characteristics of elementary row transformation to modify the row where the extremely small number appears, the problem of inverting the ill-conditioned matrix caused by the existence of the extremely small number is avoided, and the calculation accuracy of baseline solution is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of satellite navigation and positioning, and particularly to a method, device, and storage medium for solving the floating-point solution in baseline solution in global satellite navigation. Background Art

[0002] In the technical field of satellite navigation and positioning, a baseline refers to the connection line between two satellite receivers in a space rectangular coordinate system. The baseline is a vector line that contains the height difference information and the pointing azimuth information of the connection line between the two receivers. Baseline solution is to calculate this vector line. Currently, the core difficulty in solving the floating-point solution of the baseline in global satellite navigation is that the normal equation of the floating-point solution formed by multiple satellites is an ill-conditioned matrix, and solving the normal equation requires inverting the normal equation matrix. For an ill-conditioned matrix, if a certain variable in the matrix undergoes a small change, such as a 0.1% change, the inverse matrix of this matrix will change by a hundred or a thousand times accordingly. The prior art mainly uses methods such as the spectral correction method, the Kalman wave method, and the regularization method to solve the normal equation of the above floating-point solution; however, in practical applications, the normal equation of the floating-point solution often appears as a matrix of more than 20*20, and the methods of the above prior art have problems such as extremely high iteration times, requiring a large amount of iteration time, and a decrease in the solution accuracy. Summary of the Invention

[0003] Embodiments of the present invention provide a method, device, and storage medium for solving the floating-point solution in baseline solution in global satellite navigation, so as to solve the floating-point solution equation that is an ill-conditioned matrix, thereby improving the calculation accuracy of the floating-point solution in baseline solution.

[0004] To achieve the above object, on the one hand, a method for solving the floating-point solution in baseline solution is provided, which is used to solve the baseline between two satellite receivers, including:

[0005] S1, determining the satellites simultaneously received by the two satellite receivers;

[0006] S2, solving the current positions of the satellites determined in step S1;

[0007] S3, performing inter-satellite difference and inter-receiver difference on the carrier phase values of the satellites determined in step S1 to obtain the carrier phase difference value Wherein:

[0008]

[0009] Wherein,

[0010]

[0011]

[0012] Where λ is the wavelength, r is the three-dimensional baseline coordinates to be solved, X is the integer ambiguity to be solved, is the noise after multiple differencing, and i, j, a, and b are all positive integers. a and b represent the numbers of satellite receivers, and i and j represent the numbers of satellites; represents the carrier phase value of satellite i of receiver a; represents the carrier phase value of satellite i of receiver b; represents the differential value of the inter-receiver carrier phase between receiver a and receiver b that can both receive satellite i; represents the differential value of the inter-receiver carrier phase between receiver a and receiver b that can both receive satellite j; represents the differential value of the inter-satellite carrier phase between satellite i and satellite j;

[0013] S4. Use the position solved in step S2 and the differential value of the carrier phase determined in step S3 to form a floating-point solution equation according to the following formula:

[0014] Δx = G -1 B, where Δx is the floating-point solution of r to be solved, and I is the identity matrix;

[0015] S5. Use the least squares method to calculate Δx through the following formula, where (G T G) is an n×n ill-conditioned symmetric matrix, and n is a positive integer:

[0016] Δx = (G T G) -1 G T B;

[0017] S6. Concatenate the n×n identity matrix on the right side of the matrix (G T G) to obtain the matrix N, where:

[0018] N = [G T G I];

[0019] S7. Perform elementary row operations on the matrix N to transform the first column into a column vector with the first element being 1 and the other elements being 0;

[0020] S8. Continue with elementary row operations to find the inverse of the ill-conditioned symmetric matrix (G T G), including:

[0021] S81. When performing each elementary row transformation operation, determine whether the value of the element (x, x) in the x-th row and x-th column (where x is a positive integer from 2 to n - 1) is an extremely small number. If so, find an element (y, x) in the same column whose corresponding element value is not an extremely small number (where y is a positive integer from x + 1 to n). Perform a row transformation by adding the x-th row to the y-th row to obtain an updated value of (x, x); and

[0022] S82. Continue to perform elementary row transformations on the matrix after eliminating extremely small numbers and obtain the inverse (G T G) of the ill-conditioned symmetric matrix (G T G) -1 ;

[0023] S9. Calculate the floating-point solution Δx using matrix multiplication:

[0024] Δx = (G T G) -1 G T B.

[0025] Preferably, in the method described above, when the absolute value of the value of the element (x, x) is less than or equal to 1e - 10, it is determined that the value of (x, x) is an extremely small number; when the absolute value of the value of the element (y, x) is greater than 1e - 10, it is determined that the value of (y, x) is not an extremely small number.

[0026] Preferably, in the method described above, step S7 includes:

[0027] Step S71. Take the values of the elements (1, 1) and (2, 1) in matrix N. Divide the first row by the value of (1, 1), and then subtract the product of the first row multiplied by (2, 1) from the second row;

[0028] Step S72. Perform the same operation on each subsequent row in matrix N according to step S71. Take the value of the element (x, 1), and subtract the product of the first row multiplied by (x, 1) from the x-th row, where x is a positive integer from 3 to n.

[0029] Preferably, in the method described above, step S82 includes:

[0030] S821. Take the updated value of (x, x), divide the x-th row by the value of (x, x), and then subtract the product of the x-th row multiplied by (y, x) from the y-th row, where x is a positive integer from 2 to n - 1, y is a positive integer from x + 1 to n, and for each change in x, y must take all positive integers from x + 1 to n;

[0031] S822. Take the value of the element (n, n), divide the n-th row by the value of (n, n), and then subtract the product of the n-th row multiplied by (x, n) from the x-th row, where x is a positive integer from n - 1 to 1;

[0032] S823, subtract the product of the x-th row multiplied by (y, x) from the y-th row, where x is a positive integer from n - 1 to 2, and y is a positive integer from x - 1 to 1. And for each change in x, y must take all positive integers from x - 1 to 1;

[0033] S824, split out the sub-matrix (1∶n, n + 1∶2n) from the matrix obtained after the above elementary transformation. The sub-matrix is a ill-conditioned matrix (G T G), and find the inverse matrix of the sub-matrix (G T G) -1 .

[0034] Preferably, in the method described above, after step S2 and before step S3, one or more of the following conditions are further included to screen the satellites to be processed in step S3:

[0035] The elevation angle of the satellite satisfies a predetermined elevation angle condition;

[0036] The signal-to-noise ratio of the satellite satisfies a predetermined signal-to-noise ratio threshold;

[0037] The low-level test result of the satellite satisfies a predetermined condition;

[0038] The second derivative value obtained by taking the second derivative of the carrier phase of the satellite is less than a predetermined derivative threshold.

[0039] Preferably, in the method described above, in step S2, the current position (x, y, z) of the satellite is calculated by the following formula:

[0040] x = xk * cos(w * t) + yk * sin(w * t)

[0041] y = -xk * sin(w * t) + yk * cos(w * t)

[0042] z = zk

[0043] Where (xk, yk, zk) is the position of the satellite at the emission moment calculated according to the satellite motion trajectory, w is the angular velocity of the earth's rotation, and t is the satellite signal propagation time.

[0044] On the other hand, a device for solving the floating-point solution in baseline solution is provided, which includes a memory and a processor. The memory stores at least one program, and the at least one program is executed by the processor to implement the method described in any of the above.

[0045] On yet another hand, a navigation and positioning device is provided, which includes a memory and a processor. The memory stores at least one program, and the at least one program is executed by the processor to implement the method described in any of the above.

[0046] On the other hand, a computer-readable storage medium is provided, in which at least one segment of program is stored, and the at least one segment of program is executed by a processor to implement the method described in any one of the above.

[0047] The above technical solution has the following technical effects:

[0048] When using the method of the embodiment of the present invention to solve the floating-point solution of baseline solution, when a very small number appears, by finding the row that meets the requirements, that is, finding other rows in the same column that are not very small numbers, and using the characteristics of elementary row transformation to modify the row where the very small number appears, the problem of inverse matrix calculation of ill-conditioned matrix caused by the existence of very small numbers is avoided, and the calculation accuracy of baseline solution is greatly improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 It is a schematic flow chart of the method for solving the floating-point solution in baseline solution according to an embodiment of the present invention;

[0050] Figure 2 It is a schematic structural diagram of the device for solving the floating-point solution in baseline solution according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0051] To further illustrate the embodiments, the present invention provides drawings. These drawings are a part of the disclosure of the present invention, which are mainly used to illustrate the embodiments and can be used to explain the operation principle of the embodiments in conjunction with the relevant descriptions in the specification. With reference to these contents, those of ordinary skill in the art should be able to understand other possible implementation manners and the advantages of the present invention. The components in the drawings are not drawn to scale, and similar component symbols are usually used to represent similar components.

[0052] The present invention will be further described below in conjunction with the drawings and specific embodiments.

[0053] Embodiment 1:

[0054] Figure 1 It is a schematic flow chart of the method for solving the floating-point solution in global satellite navigation baseline solution according to an embodiment of the present invention. As Figure 1 , the method for solving the floating-point solution in the baseline solution of this embodiment is used to solve the baseline between two satellite receivers, and it includes:

[0055] S1, determining the satellites simultaneously received by two satellite receivers;

[0056] S2, calculating the current positions of the satellites determined in step S1;

[0057] S3, performing satellite-to-satellite difference and receiver-to-receiver difference on the carrier phase values of the satellites determined in step S1 to obtain the corresponding carrier phase difference values Where:

[0058]

[0059] Among them,

[0060]

[0061]

[0062] where λ is the wavelength, r is the three-dimensional baseline coordinates to be solved, and X is the integer ambiguity to be solved, is the noise after multiple differencing, and i, j, a, and b are all positive integers. a and b represent the numbers of satellite receivers, and i and j represent the numbers of satellites; represents the carrier phase value of satellite i of receiver a; represents the carrier phase value of satellite i of receiver b; represents the differential value of the inter-receiver carrier phase between receiver a and receiver b that can both receive satellite i; represents the differential value of the inter-receiver carrier phase between receiver a and receiver b that can both receive satellite j; represents the differential value of the inter-satellite carrier phase between satellite i and satellite j; among them, where refers to the unit vector of the vector line from receiver a to satellite i, refers to the unit vector of the vector line from receiver a to satellite j, b ab represents the difference in the three-dimensional baseline coordinates between receiver a and receiver b;

[0063] Among them, both step S2 and step S3 are preparations for step S4, and the order of step S2 and step S3 can be interchanged;

[0064] S4, use the position solved in step S2 and the differential value of the carrier phase determined in step S3 to form a floating-point solution equation according to the following formula:

[0065] Δx = G -1 B, where Δx is the floating-point solution of r to be solved above, and I is the identity matrix;

[0066] S5, use the least squares method to calculate Δx through the following formula, where (G T G) is an n×n ill-conditioned symmetric matrix, and n is a positive integer:

[0067] Δx = (G T G) -1 G TB;

[0068] S6. Concatenate the \(n\times n\) identity matrix to the right of matrix \((G T G)\) to obtain matrix \(N\), where:

[0069] N = [G T G I];

[0070] S7. Perform elementary row operations on matrix \(N\) to transform the first column into a column vector with the first element being 1 and other elements being 0;

[0071] S8. Continue to perform elementary row operations to find the inverse of the ill-conditioned matrix \((G T G)\), including:

[0072] S81. When performing each elementary row operation, determine whether the value of the element \((x, x)\) in the \(x\)-th row and \(x\)-th column (\(x\) is a positive integer from 2 to \(n - 1\)) is an extremely small number; if so, find the element \((y, x)\) in the same column whose value is not an extremely small number (\(y\) is a positive integer from \(x + 1\) to \(n\)), and perform a row transformation by adding the \(x\)-th row to the \(y\)-th row to obtain the updated value of \((x, x)\); and

[0073] S82. Continue to perform elementary row operations on the matrix after eliminating the extremely small numbers and obtain the inverse of the ill-conditioned symmetric matrix \((G T G)\) \((G T G) -1 ;

[0074] S9. Calculate the floating-point solution \(\Delta x\) using matrix multiplication:

[0075] \(\Delta x=(G T G) -1 G T B.

[0076] Example 2:

[0077] The method for solving the floating-point solution in baseline calculation according to another embodiment of the present invention includes the following steps:

[0078] Step 1: Screen the satellites simultaneously received by two receivers;

[0079] For example, the numbers of GPS satellites are 1 - 32, and the numbers of Beidou satellites are 1 - 64; two receivers respectively receive satellites, and the satellites can be screened according to different satellite numbers to select the common received satellite numbers.

[0080] Step 2: Use the following formula to calculate the current positions \((x, y, z)\) of the satellites screened in Step 1:

[0081] x = xk * cos(w * t)+yk * sin(w * t)

[0082] y = -xk * sin(w * t) + yk * cos(w * t)

[0083] z = zk

[0084] The above (x, y, z) are the position coordinates of the satellite in the constructed space rectangular coordinate system, where the origin of the coordinate system is at the mass point of the earth, the x-axis points to the intersection of the prime meridian and the equator, the y-axis is the x-axis rotated 90° eastward along the equator, and the z-axis points to the North Pole. In the formula, (xk, yk, zk) are the positions at the satellite launch time calculated according to the satellite motion trajectory, w is the angular velocity of the earth's rotation, and t is the satellite signal propagation time.

[0085] Before step three later, satellites are usually screened. By screening out satellites that meet the predetermined requirements and then performing step three, the accuracy of the baseline solution can be further improved. Conventional screening methods include: satellite elevation angle limit, satellite signal-to-noise ratio limit, satellite low-level test (LLT, Low Level Test) limit such as the limit on the state of the satellite phase-locked loop locking the satellite signal; in addition to these three limits, a limit on the second derivative value of the carrier phase can also be adopted.

[0086] In specific implementation, one or more of the following conditions can be used to screen the satellites to be processed in step three:

[0087] The elevation angle of the satellite meets the predetermined elevation angle condition; for example, satellites with an elevation angle in the range of 0 - 15 degrees and 80 - 90 degrees are excluded;

[0088] The signal-to-noise ratio of the satellite meets the predetermined signal-to-noise ratio threshold; for example, satellites with a signal-to-noise ratio below 30 are excluded;

[0089] The result of the low-level test of the satellite meets the predetermined condition; for example, satellites with an LLT less than 8 are excluded;

[0090] The second derivative value obtained by taking the second derivative of the carrier phase of the satellite is less than the predetermined derivative threshold.

[0091] Among them, the second derivative value of the carrier phase refers to taking the second derivative of the carrier phase value of each satellite, and physically it is to obtain the change curve of the slope of the carrier phase. When the slope change of the carrier phase is relatively smooth, the second derivative value is small, and the signal of the satellite with this characteristic is relatively stable. The inventor selects satellites with a small second derivative value of the carrier phase according to this discovered characteristic, that is, satellites with a relatively stable signal can be selected. Using this screening condition can improve the accuracy of the baseline solution by 10% in practical applications.

[0092] Step three: Perform inter-satellite differential and inter-receiver differential, and calculate using the following formula

[0093]

[0094] Among them,

[0095]

[0096]

[0097] and in both r and X represent variables, where is the carrier phase value, λ is the wavelength, r is the three-dimensional baseline coordinates to be solved, X is the integer ambiguity to be solved. Among them, i, j, a, and b are all positive integers. a and b represent the numbers of satellite receivers, and i and j represent the numbers of satellites; represents the carrier phase value of satellite i of receiver a; represents the carrier phase value of satellite i of receiver b; represents the differential value of the inter-receiver carrier phase between receiver a and receiver b that can both receive satellite i; similarly, represents the differential value of the inter-receiver carrier phase between receiver a and receiver b that can both receive satellite j; represents the inter-satellite differential value between the differential values of the inter-receiver carrier phase between satellite i and satellite j; the subscript ab represents the subtraction of receivers a and b, and ij represents the subtraction of satellites i and j; is the noise after multiple differencing, and it can be ignored in subsequent calculations.

[0098] Step Four: Form a floating-point solution equation according to the following formula;

[0099]

[0100] where Δx is the floating-point solution of r to be solved above, and I is the identity matrix.

[0101] Step Five: Use the least squares method to calculate Δx:

[0102] Δx = (G T G) -1 G T B.

[0103] Step Six: Among them, (G T G) belongs to an ill-conditioned symmetric matrix. An ill-conditioned symmetric matrix must be a full-rank matrix, so it must be invertible; when the matrix G TWhen \(G\) is an \(n\times n\) matrix, assume that the \(n\times n\) identity matrix is concatenated on the right side of the matrix, where \(n\) is a positive integer; that is,

[0104] \(N = [G\) T \(G\ I]\).

[0105] Step 7: Take the values of \((1, 1)\) and \((2, 1)\), divide the first row by the value of \((1, 1)\), and then subtract the first row multiplied by the value of \((2, 1)\) from the second row; where \((1, 1)\) refers to the element corresponding to the first row and the first column in the matrix, and \((2, 1)\) refers to the element corresponding to the second row and the first column in the matrix; that is,

[0106] \(N\) (1,1∶2n) \(=\) \(N\) (1,1∶2n) \( / \) \(N\) (1,1)

[0107] \(N\) (2,1∶2n) \(=\) \(N\) (2,1∶2n) \(-\) \(N\) (1,1∶2n) \(*\) \(N\) (2,1) .

[0108] Step 8: Perform the same operation on each subsequent row as in the previous step. Take the value of \((x, 1)\) and subtract the first row multiplied by the value of \((x, 1)\) from the \(x\)-th row; in this step, \(x\) is a positive integer from \(3\) to \(n\); that is,

[0109] \(N\) (x,1∶2n) \(=\) \(N\) (x,1∶2n) \(-\) \(N\) (1,1∶2n) \(*\) \(N\) (x,1) .

[0110] Through the above Steps 7 and 8, elementary row operations are performed on the matrix \(N\), and the first column is transformed into a column vector with the first element being \(1\) and the other elements being \(0\).

[0111] Step 9: From this step on, a judgment condition needs to be added to each row transformation operation. If the value of the element \((x, x)\) in the \(x\)-th row and \(x\)-th column has an absolute value less than \(1e - 10\), find the value of the element \((y, x)\) in the \(y\)-th row and \(x\)-th column with an absolute value greater than \(1e - 10\) in the column vector \((x + 1:n, x)\), where \(y\) is a positive integer from \(x + 1\) to \(n\) in this step, and add the \(x\)-th row to the \(y\)-th row;

[0112] if (\(|N\) (x,x) \(| \lt 1e - 10\))

[0113] find \(|N\) (x+1∶n,x) \(| \gt 1e - 10\)

[0114] \(N\) (x,1∶2n) \(=\) \(N\) (x,1∶2n) \(+\) \(N\) (y,1∶2n)

[0115] Through this step, the extremely small numbers that appear in the ill-conditioned symmetric matrix are processed into other non-extremely small numbers, thus avoiding large deviations that occur in the subsequent inversion process;

[0116] Step Ten: Take the value of the element (x, x), divide the x-th row by the value of (x, x), and then subtract the x-th row multiplied by (y, x) from the y-th row; where x is a positive integer from 2 to n - 1 and y is a positive integer from x + 1 to n in this step. There is a double loop here, and for each change in x, all y values need to be traversed, that is:

[0117] N (x,1∶2n) = N (x,1∶2n) / N (x,x)

[0118] N (y,1∶2n) = N (y,1∶2n) - N (x,1∶2n) * N (y,x) .

[0119] Step Eleven: Take the value of the element (n, n), divide the n-th row by (n, n), and then subtract the n-th row multiplied by (x, n) from the x-th row; where x is a positive integer from n - 1 to 1 in this step; that is:

[0120] N (n,1∶2n) = N (n,1∶2n) / N (n,n)

[0121] N (x,1∶2n) = N (x,1∶2n) - N (n,1∶2n) * N (x,n) .

[0122] Step Thirteen: Subtract the x-th row multiplied by (y, x) from the y-th row; where x is a positive integer from n - 1 to 2 and y is a positive integer from x - 1 to 1 in this step. There is a double loop here, that is, for each change in x, all y values need to be traversed. Specifically:

[0123] N (y,1∶2n) = N (y,1∶2n) - N (x,1∶2n) * N (y,x) .

[0124] Step Fourteen: Split out the submatrix from the (n + 1)-th column to the 2n-th column in the n * 2n order matrix obtained after transformation, that is, the submatrix (1:n, n + 1:2n). This submatrix is the obtained ill-conditioned symmetric matrix G T The inverse matrix of G (G T G) -1 , specifically:

[0125] (G T G) -1 = N (1∶n,n+1∶2n) .

[0126] Step 15: Calculate the floating-point solution Δx using matrix multiplication:

[0127] Δx = (G T G) -1 G T B,

[0128] Thus, the floating-point solution in baseline calculation is obtained.

[0129] For an ill-conditioned matrix, if a variable in the matrix undergoes a small transformation, such as a 0.1% change, the inverse matrix of this matrix will change by a hundred or a thousand times accordingly. This is because extremely small numbers will appear during the matrix inversion process, specifically manifested as absolute values less than 1e-10. Conventional determinant inversion and row transformation inversion do not handle this situation specially, which will lead to serious deviations in the calculation results and make the accuracy of baseline calculation very low. When using the method of the embodiment of the present invention to solve the floating-point solution of baseline calculation, when extremely small numbers appear, by finding the rows that meet the requirements, that is, finding other rows in the same column that are not extremely small numbers, and using the characteristics of elementary row transformation to modify the row where the extremely small numbers appear, the problem of ill-conditioned matrix inversion caused by the existence of extremely small numbers is avoided, and the calculation accuracy of baseline calculation is greatly improved. For example, in the experiment, the preferred embodiment can increase the accuracy to 99%.

[0130] Embodiment 3:

[0131] The present invention also provides a device for solving the floating-point solution in baseline calculation, as Figure 2 shown. The device includes a processor 201, a memory 202, a bus 203, and a computer program stored in the memory 202 and executable on the processor 201. The processor 201 includes one or more processing cores. The memory 202 is connected to the processor 201 through the bus 203. The memory 202 is used to store program instructions. When the processor executes the computer program, it implements the steps in the above method embodiment of Embodiment 1 of the present invention.

[0132] Furthermore, as an executable solution, the device for solving the floating-point solution in baseline calculation can be a computer unit, and this computer unit can be a computing device such as an MCU, a desktop computer, a notebook, a palm computer, and a cloud server. The computer unit may include, but is not limited to, a processor and a memory. Those skilled in the art can understand that the above composition structure of the computer unit is only an example of the computer unit, and does not constitute a limitation on the computer unit. It may include more or fewer components than the above, or combine some components, or different components. For example, the computer unit may further include input / output devices, network access devices, a bus, etc., and the embodiment of the present invention does not make a limitation on this.

[0133] Further, as an executable solution, the so-called processor may be a Central Processing Unit (CPU), or may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The processor is the control center of the computer unit and connects various parts of the entire computer unit using various interfaces and lines.

[0134] The memory can be used to store the computer program and / or modules. The processor realizes various functions of the computer unit by running or executing the computer program and / or modules stored in the memory, and by calling the data stored in the memory. The memory may mainly include a program storage area and a data storage area. Among them, the program storage area can store an operating system and application programs required for at least one function; the data storage area can store data created according to the use of the mobile phone, etc. In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as a hard disk, memory, plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage devices.

[0135] Embodiment 4:

[0136] The embodiment of the present invention also provides a navigation and positioning device, including a memory and a processor. The memory stores at least one segment of program, and the at least one segment of program is executed by the processor to implement the method described in any of the above.

[0137] Embodiment 5:

[0138] The present invention also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method in the above embodiments of the present invention are implemented.

[0139] If the modules / units integrated in the computer unit are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on such understanding, to implement all or part of the processes in the above-described embodiment methods of the present invention, it can also be completed by instructing relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above-described various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), and software distribution medium, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice within the jurisdiction.

[0140] Although the present invention has been specifically shown and described in conjunction with the preferred embodiments, those skilled in the art should understand that various changes can be made to the present invention in terms of form and details without departing from the spirit and scope of the present invention defined by the appended claims, and all such changes are within the protection scope of the present invention.

Claims

1. A method for solving the floating-point solution in baseline solution, which is used to solve the baseline between two satellite receivers, characterized in that, Including: S1. Determine the satellites simultaneously received by the two satellite receivers; S2. Calculate the current positions of the satellites determined in step S1; S3, perform inter-satellite differential and inter-receiver differential on the carrier phase values of the satellites determined in the step S1 to obtain the carrier phase difference values Wherein: Among them, where λ is the wavelength, r is the three-dimensional baseline coordinates to be solved, X is the integer ambiguity to be solved, is the noise after multiple differencing, and i, j, a, and b are all positive integers. a and b represent the numbers of satellite receivers, and i and j represent the numbers of satellites; represents the carrier phase value of satellite i of receiver a; represents the carrier phase value of satellite i of receiver b; represents the inter-receiver carrier phase difference value between receiver a and receiver b that can both receive satellite i; represents the inter-receiver carrier phase difference value between receiver a and receiver b that can both receive satellite j; represents the inter-satellite carrier phase difference value between satellite i and satellite j; S4, using the position calculated in step S2 and the carrier phase difference value determined in step S3 Form a floating-point solution equation according to the following formula: Δx = G -1 B, where Δx is the floating-point solution of r to be solved, and I is the identity matrix; S5. Calculate Δx using the least squares method through the following formula, where (G T G) is an n×n ill-conditioned symmetric matrix and n is a positive integer: Δx = (G T G) -1 G T B; S6. Concatenate the \(n\times n\) identity matrix to the right of the matrix (G T G) to obtain matrix N, where: N = [G T G I]; S7. Perform elementary row operations on matrix N to transform the first column into a column vector with the first element being 1 and other elements being 0; S8, continue with elementary row operations to find the inverse of the ill-conditioned symmetric matrix (G T G), including: S81. When performing each elementary row operation, determine whether the value of the element (x, x) in the x-th row and x-th column (where x is a positive integer from 2 to n - 1 in this step) is an extremely small number. If so, find the element (y, x) that is not an extremely small number in the same column (where y is a positive integer from x + 1 to n in this step), and perform a row transformation by adding the x-th row to the y-th row to obtain an updated value of (x, x); and S82, continue to perform elementary row transformation on the matrix after eliminating extremely small numbers, and obtain the inverse (G T G) of the ill-conditioned symmetric matrix (G T G) -1 ; S9. Calculate the floating-point solution Δx using matrix multiplication: Δx = (G T G) -1 G T B.

2. The method according to claim 1, characterized in that, When the absolute value of the value of the element (x, x) is less than or equal to 1e - 10, it is determined that the value of the element (x, x) is an extremely small number; when the absolute value of the value of the element (y, x) is greater than 1e - 10, it is determined that the value of the element (y, x) is not an extremely small number.

3. The method according to claim 1, wherein The said step S7 includes: Step S71. Take the values of the elements (1, 1) and (2, 1) in matrix N, divide the first row by the value of (1, 1), and then subtract the product of the first row multiplied by (2, 1) from the second row; Step S72. Perform the same operation on each subsequent row in matrix N according to step S71, take the element value of (x, 1), and subtract the product of the first row multiplied by (x, 1) from the x-th row, where x is a positive integer from 3 to n in this step.

4. The method according to claim 1, wherein The said step S82 includes: S821. Take the updated value of (x, x), divide the x-th row by the value of (x, x), and then subtract the product of the x-th row multiplied by (y, x) from the y-th row, where x is a positive integer from 2 to n - 1 in this step, y is a positive integer from x + 1 to n in this step, and for each change in x, y must take all positive integers from x + 1 to n; S822. Take the element value (n, n), divide the n-th row by (n, n), and then subtract the product of the n-th row multiplied by (x, n) from the x-th row, where x is a positive integer from n - 1 to 1 in this step; S823. Subtract the product of the x-th row multiplied by (y, x) from the y-th row, where x is a positive integer from n - 1 to 2 in this step, y is a positive integer from x - 1 to 1 in this step, and for each change in x, y must take all positive integers from x - 1 to 1; S824, split out the sub-matrix (1:n, n+1:2n) in the matrix obtained after completing the elementary transformation, and the sub-matrix is the inverse matrix (G T G) of the ill-conditioned symmetric matrix (G T G) -1 .

5. The method according to claim 1, wherein After step S2 and before step S3, one or more of the following conditions are also included to screen the satellites to be processed in step S3: The elevation angle of the satellite satisfies a predetermined elevation angle condition; The signal-to-noise ratio of the satellite satisfies a predetermined signal-to-noise ratio threshold; The low-level test result of the satellite satisfies a predetermined condition; The second derivative value obtained by performing a second derivative on the carrier phase of the satellite is less than a predetermined derivative threshold.

6. The method according to claim 1, characterized in that, In the said step S2, the current position (x, y, z) of the satellite is calculated through the following formula: x = xk * cos(w * t) + yk * sin(w * t) y = - xk * sin(w * t) + yk * cos(w * t) z = zk Among them, (xk, yk, zk) is the position of the satellite at the launch moment calculated according to the satellite's motion trajectory, w is the angular velocity of the Earth's rotation, and t is the satellite signal propagation time.

7. A device for solving the floating-point solution in baseline solution, characterized in that, It includes a memory and a processor. The memory stores at least one program, and the at least one program is executed by the processor to implement the method according to any one of claims 1 to 6.

8. A navigation and positioning device, characterized in that, It includes a memory and a processor. The memory stores at least one program, and the at least one program is executed by the processor to implement the method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, At least one program is stored in the storage medium, and the at least one program is executed by the processor to implement the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Decorrelation method of global navigation satellite system (GNSS) integer ambiguity based on finishing pretreatment

    CN102636800A

  • GNSS (Global Navigation Satellite System) non-difference ambiguity determination method based on parameter constraint, andrapid positioning method

    CN113325453A