Positioning method and device, and location-based service providing method
By reconstructing the complete pseudorange of the satellite and combining with the Kalman filtering algorithm, the problem of difficulty in achieving accurate positioning in weak signal areas is solved, and the success rate and accuracy of positioning solution are improved.
Patent Information
- Application Number
- CN202110567814.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-24
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2041-05-24
AI Technical Summary
The existing positioning technology is difficult to achieve accurate positioning when the number of observed satellites is small. Especially when the satellite signal is poor, the classic satellite positioning solution method requires parsing the complete GNSS packets of at least 4 satellites, and positioning at rough time. The solution method requires observing 5 satellites, making it difficult to solve the positioning position in a weak signal area.
By obtaining the complete pseudorange of the satellite in the previous epoch, and using the pseudorange submillisecond measurement value to reconstruct the complete pseudorange of the current epoch, combined with the Kalman filtering algorithm, the positioning position of the positioned object is determined, even if it is not possible Positioning can also be achieved if at least 4 satellites are observed.
The positioning resolution success rate and accuracy in the weak signal area are improved, and the position of the targeted object can be solved without observing at least 4 satellites or 5 satellites.
Smart Images

Figure CN115390107B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a positioning method and device, and a location-based service providing method. Background Art
[0002] With the advancement of Internet technology, the application of positioning technology is becoming more and more extensive, and people are increasingly relying on positioning technology in their daily lives such as travel. For example, in navigation scenarios, it is necessary to continuously obtain the location information of the device so as to continuously provide navigation services for the device.
[0003] In the existing technology, the classic satellite positioning solution method usually needs to parse the complete GNSS messages of at least 4 satellites, so the positioning cycle is long, and it is difficult to achieve accurate positioning when the satellite signal is poor. Although the coarse time positioning solution method does not need to parse the complete GNSS message of the satellite, it requires at least 5 satellites to achieve single-point positioning. Therefore, how to efficiently achieve accurate positioning of the device when the number of observed satellites is small is one of the main problems that need to be solved in positioning technology. Summary of the invention
[0004] The embodiments of the present disclosure provide a positioning method and device, and a location-based service providing method.
[0005] In a first aspect, an embodiment of the present disclosure provides a positioning method, which includes:
[0006] Obtain the complete pseudorange of the first coarse time satellite in the previous epoch;
[0007] reconstructing the complete pseudorange of the first coarse time satellite at the current epoch based on the complete pseudorange of the first coarse time satellite at the previous epoch and the pseudorange sub-millisecond measurement value of the current epoch; the pseudorange sub-millisecond measurement value is obtained based on the code phase measurement value obtained by parsing the satellite signal received from the first coarse time satellite;
[0008] The positioning position of the positioned object in the current epoch is determined according to the complete pseudorange of the first coarse time satellite in the current epoch.
[0009] Further, the obtaining of the complete pseudorange of the first coarse time satellite in the previous epoch includes:
[0010] Acquire a pseudo-range sub-millisecond measurement value of the first coarse time satellite in the previous epoch and positioning information of the positioned object in the previous epoch;
[0011] The complete pseudorange of the first coarse time satellite in the previous epoch is restored based on the sub-millisecond measurement value of the pseudorange of the first coarse time satellite in the previous epoch and the positioning information of the positioned object in the previous epoch.
[0012] Further, restoring the complete pseudorange of the first coarse time satellite in the previous epoch according to the pseudorange sub-millisecond measurement value of the first coarse time satellite in the previous epoch and the positioning information of the positioned object in the previous epoch includes:
[0013] Determine the position coordinates of the first coarse time satellite in the previous epoch according to the ephemeris of the first coarse time satellite;
[0014] Predicting a predicted pseudorange value of the first coarse time satellite at the previous epoch according to the position coordinates of the first coarse time satellite at the previous epoch and the positioning information of the positioned object at the previous epoch;
[0015] Determine a whole millisecond predicted value of the pseudorange of the first coarse time satellite at the previous epoch according to the sub-millisecond measured value of the pseudorange of the first coarse time satellite at the previous epoch and the predicted value of the pseudorange;
[0016] The complete pseudorange of the first coarse time satellite in the previous epoch is determined according to the whole millisecond predicted value of the pseudorange of the first coarse time satellite in the previous epoch and the sub-millisecond measured value of the pseudorange.
[0017] Further, reconstructing the complete pseudorange of the first coarse time satellite at the current epoch according to the complete pseudorange of the first coarse time satellite at the previous epoch and the pseudorange sub-millisecond measurement value of the current epoch includes:
[0018] Determine a predicted pseudorange value of the first coarse time satellite at a current epoch according to the complete pseudorange of the first coarse time satellite at a previous epoch and a pseudorange change rate of the first coarse time satellite at two adjacent epochs;
[0019] Determine a whole millisecond predicted value of the pseudorange and a sub-millisecond predicted value of the pseudorange of the first coarse time satellite at the current epoch according to the predicted value of the pseudorange of the first coarse time satellite at the current epoch;
[0020] When the difference between the pseudorange sub-millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite at the current epoch is less than or equal to a preset threshold, determining the complete pseudorange of the first coarse time satellite at the current epoch according to the pseudorange whole millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite at the current epoch;
[0021] When the difference between the pseudorange sub-millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite in the current epoch is greater than a preset threshold, the complete pseudorange of the first coarse time satellite in the current epoch is determined based on the pseudorange whole millisecond predicted value after increasing or decreasing the preset number of milliseconds and the pseudorange sub-millisecond measured value.
[0022] Further, determining the positioning position of the positioned object at the current epoch according to the complete pseudorange of the first coarse time satellite at the current epoch includes:
[0023] The Kalman filter method is used to calculate the positioning position of the positioned object in the current epoch according to the complete pseudorange of the first coarse time satellite in the current epoch.
[0024] Furthermore, the method further comprises:
[0025] For a second coarse time satellite that was not observed in the previous epoch but is observed in the current epoch, the complete pseudorange of the second coarse time satellite in the current epoch is determined based on the positioning position of the positioned object in the current epoch and the sub-millisecond measurement value of the pseudorange of the second coarse time satellite in the current epoch.
[0026] In a second aspect, a location-based service provision method is provided in an embodiment of the present disclosure, wherein the method uses the positioning method described in the first aspect to locate the position of the service object, and the location-based service includes: one or more of: navigation, map rendering, and route planning.
[0027] In a third aspect, an embodiment of the present disclosure provides a positioning device, which includes:
[0028] An acquisition module is configured to acquire a complete pseudorange of the first coarse time satellite in the previous epoch;
[0029] a reconstruction module, configured to reconstruct the complete pseudorange of the first coarse time satellite at a current epoch based on the complete pseudorange of the first coarse time satellite at a previous epoch and a pseudorange sub-millisecond measurement value of a current epoch; the pseudorange sub-millisecond measurement value is obtained based on a code phase measurement value obtained by parsing a satellite signal received from the first coarse time satellite;
[0030] The determination module is configured to determine the positioning position of the positioned object in the current epoch according to the complete pseudorange of the first coarse time satellite in the current epoch.
[0031] In a fourth aspect, an embodiment of the present disclosure provides a location-based service providing device, wherein the device uses the positioning device described in the third aspect to locate the position of the service object, and the location-based service includes: one or more of: navigation, map rendering, and route planning.
[0032] The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions.
[0033] In one possible design, the structure of the above-mentioned device includes a memory and a processor, the memory is used to store one or more computer instructions that support the above-mentioned device to execute the above-mentioned corresponding method, and the processor is configured to execute the computer instructions stored in the memory. The above-mentioned device may also include a communication interface for the above-mentioned device to communicate with other devices or communication networks.
[0034] In a fifth aspect, an embodiment of the present disclosure provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the method described in any one of the above aspects.
[0035] In a sixth aspect, an embodiment of the present disclosure provides a computer-readable storage medium for storing computer instructions used by any of the above-mentioned devices, and when the computer instructions are executed by a processor, they are used to implement the method described in any of the above-mentioned aspects.
[0036] In a seventh aspect, an embodiment of the present disclosure provides a computer program product, which includes computer instructions, and when the computer instructions are executed by a processor, they are used to implement the method described in any of the above aspects.
[0037] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:
[0038] In the disclosed embodiment, during the positioning process, after the initial positioning of the positioned object is completed, the complete pseudorange of the coarse time satellite in the current epoch can be reconstructed in the subsequent epochs based on the complete pseudorange of the coarse time satellite in the previous epoch and the pseudorange sub-millisecond measurement value, and then the reconstructed complete pseudorange is used to solve the positioning position of the positioned object in the current epoch. Through the above method, the disclosed embodiment can solve the positioning position of the positioned object even in a weak signal area where the complete pseudorange of at least 4 satellites cannot be observed, or the code phase measurement values of at least 5 satellites cannot be observed, thereby improving the success rate of position solution and positioning accuracy of the positioned object.
[0039] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Other features, objectives and advantages of the present disclosure will become more apparent through the following detailed description of non-limiting embodiments in conjunction with the accompanying drawings.
[0041] Figure 1 A flowchart of a positioning method according to an embodiment of the present disclosure is shown.
[0042] Figure 2 A schematic diagram showing the structure of a satellite signal.
[0043] Figure 3 A schematic diagram of an application scenario on a vehicle terminal according to an embodiment of the present disclosure is shown.
[0044] Figure 4 A structural block diagram of a positioning device according to an embodiment of the present disclosure is shown.
[0045] Figure 5 It is a structural diagram of an electronic device suitable for implementing a positioning method and / or a location-based service providing method according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0046] Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement them. In addition, for the sake of clarity, parts not related to the description of the exemplary embodiments are omitted in the accompanying drawings.
[0047] In the present disclosure, it should be understood that terms such as "include" or "have" are intended to indicate the presence of features, numbers, steps, behaviors, components, parts, or a combination thereof disclosed in the specification, and do not exclude the possibility that one or more other features, numbers, steps, behaviors, components, parts, or a combination thereof exist or are added.
[0048] It should also be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present disclosure may be combined with each other. The present disclosure will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0049] The details of the embodiments of the present disclosure are described in detail below through specific examples.
[0050] Figure 1 FIG. 1 is a flow chart of a positioning method according to an embodiment of the present disclosure. Figure 1 As shown, the positioning method includes the following steps:
[0051] In step S101, the complete pseudorange of the first coarse time satellite in the previous epoch is obtained.
[0052] In the disclosed embodiment, the coarse time signal can be understood as a received satellite signal, which cannot be parsed into a complete navigation message due to quality problems, so the complete pseudorange cannot be calculated, and only the sub-millisecond pseudorange can be determined; the coarse time satellite can be understood as the satellite signal received from the satellite is a coarse time signal. The first coarse time satellite in the disclosed embodiment includes a satellite whose complete pseudorange is not parsed in the satellite signal received at the current epoch.
[0053] In step S102, the complete pseudorange of the first coarse time satellite in the current epoch is reconstructed based on the complete pseudorange of the first coarse time satellite in the previous epoch and the pseudorange sub-millisecond measurement value of the current epoch; the pseudorange sub-millisecond measurement value is obtained based on the code phase measurement value obtained by parsing the satellite signal received from the first coarse time satellite.
[0054] In step S103, the positioning position of the positioned object in the current epoch is determined according to the complete pseudorange of the first coarse time satellite in the current epoch.
[0055] In this embodiment, the located object may be, for example, a mobile phone, an iPad, a computer, a smart watch, a vehicle, a robot, etc. The located object may receive satellite signals from multiple positioning satellites. It is understandable that the satellite signals received by the located object at different times may come from different positioning satellites, and the number of positioning satellites corresponding to the satellite signals that can be received may also be different. The located object may calculate the location of the located object at the current moment based on the satellite signals of the multiple positioning satellites received at the current moment.
[0056] In some embodiments, the positioned object decodes the received satellite signals.
[0057] Figure 2 A schematic diagram of the structure of satellite signals is shown in FIG. Figure 2 As shown, a satellite signal may include multiple subframes, each subframe period is 6 seconds, each subframe sends 300 bits of data, each bit period is 20ms, each bit sends 20 C / A codes, each C / A code period is 1ms, each C / A code sends 1023 code elements, each code element contains multiple carriers, and each carrier frequency is about 1G. Since a C / A code is sent in 1ms, the code phase measurement value corresponding to the satellite can be obtained by measuring the offset of the code element, that is, the pseudo-range sub-millisecond value.
[0058] Pseudorange refers to the logical distance between the satellite and the positioned object. This logical distance is not the true distance between the satellite and the positioned object because errors such as the clock error between the positioned object and the satellite need to be considered. The pseudorange can be obtained by subtracting the signal transmission time of the satellite signal received by the positioned object from the signal reception time and then multiplying it by the speed of light. The signal transmission time can be determined based on the second time of week (TOW) decoded from the satellite signal. The pseudorange corresponds to two values: the pseudorange full millisecond measurement value and the pseudorange sub-millisecond value. The pseudorange full millisecond measurement value can be determined by the TOW of a complete satellite signal received, while the pseudorange sub-millisecond measurement value can be obtained by measuring the offset of the code element. Even if the complete satellite signal is not received, the pseudorange sub-millisecond measurement value can be obtained by measuring the offset of the code element.
[0059] It should be noted that when positioning based on satellites, the positioning satellite must be locked for at least a period of time, for example 1 second, to obtain a complete satellite signal and decode the seconds of the week from it. The position of the positioning satellite is then determined based on the signal transmission time indicated by TOW and the ephemeris of the positioning satellite (the ephemeris is used to indicate the correspondence between time and satellite position) (which can be expressed in the form of satellite coordinates of the positioning satellite in the geocentric coordinate system), and the position of the located object is then determined based on the satellite coordinates.
[0060] In the classic GNSS single-point position solution method, the TOW of at least 4 positioning satellites needs to be solved to complete the position solution. However, when the positioned object is in an environment where the signal is interfered or blocked, it may not be able to lock the satellite signal for a long time, that is, it cannot receive the complete satellite signal, or the number of satellites corresponding to the received complete satellite signal is small, which will result in the inability to solve the position of the positioned object through the classic GNSS single-point position solution method. In the coarse time positioning solution method, it is not necessary to solve the TOW of the positioning satellite, but it is necessary to observe at least 4 positioning satellites, that is, to obtain the code phase measurement values of at least 4 positioning satellites, and then the positioning position of the positioned object can be solved according to the coarse time positioning solution method. However, if the positioned object is located in a weak signal area, resulting in the number of satellites that can be observed being less than 4, the position of the positioned object cannot be solved by the coarse time positioning solution method.
[0061] The Kalman filter algorithm is an algorithm that can be used for continuous positioning. In the tightly combined Kalman filter algorithm, if any single-point positioning method is used to complete the single-point positioning of the object to be positioned, that is, to obtain the initial position information of the object to be positioned, then in theory, in the subsequent positioning process, as long as at least one satellite is observed, the position of the object to be positioned can be solved. Therefore, in the embodiment of the present disclosure, the coarse-time positioning solution method can be applied to the Kalman filter algorithm to achieve the position positioning of the object to be positioned, which can improve the positioning effect of the object to be positioned in the weak signal area.
[0062] A coarse time satellite can be understood as a satellite that can be observed by the positioned object in the current epoch, but due to weak signals, the satellite signal emitted by the observed coarse time satellite cannot be locked for a long time, so that the complete pseudorange cannot be parsed from the received satellite signal, that is, the TOW cannot be parsed from the satellite signal received from the coarse time satellite. These satellites can be called coarse time satellites. From the above description, it can be seen that the code phase measurement value can be parsed from the satellite signal received from the coarse time satellite, and the pseudorange sub-millisecond measurement value of the coarse time satellite can be obtained through the code phase measurement value.
[0063] It should be noted that the epoch can be understood as the time when the positioned object receives the satellite signal. The current epoch is the time when the satellite signal is currently received, and the previous epoch is the time when the satellite signal was last received.
[0064] In the disclosed embodiment, at the beginning of positioning, the initial position and initial clock error of the positioned object can be obtained by a single point positioning algorithm. For example, the complete pseudoranges of at least 4 satellites can be used to solve the initial position and initial clock error of the positioned object by a classic GNSS positioning algorithm. Of course, it is understandable that other single point positioning algorithms can also be used, such as a coarse time positioning algorithm that uses coarse time information of at least 5 satellites to solve the initial position and initial clock error of the positioned object.
[0065] In some embodiments, the positioning information of the located object may include the positioning position and the clock error. Therefore, after obtaining the initial position and the initial clock error of the located object, the positioning method proposed in the embodiment of the present disclosure may be used to continuously position the located object from the next epoch.
[0066] In the next epoch, the complete pseudoranges of the one or more first coarse time satellites in the current epoch can be reconstructed based on the complete pseudoranges of the satellites in the previous epoch according to the one or more first coarse time satellites observed in the current epoch, and then the position information of the positioned object in the current epoch is obtained based on the complete pseudoranges of the first coarse time satellites. It should be noted that the previous epoch may be the initial epoch for obtaining the initial position of the positioned object, or it may not be the initial epoch.
[0067] It should also be noted that a coarse time satellite is a satellite that resolves the code phase measurement value from the received satellite signal, but does not resolve the TOW (the pseudo-range whole millisecond measurement value corresponding to the complete pseudo-range). Therefore, the first coarse time satellite is a satellite from which the complete pseudo-range is not resolved from the satellite signal received from the first coarse time satellite in the current epoch. The complete pseudo-range of the first coarse time satellite in the previous epoch can be known, or it can be restored through the positioning information of the positioned object in the previous epoch. However, it can be understood that the first coarse time satellite is a satellite that can be observed in the previous epoch, that is, a satellite that receives a satellite signal from the first coarse time satellite in the previous epoch.
[0068] In the disclosed embodiment, since the complete pseudorange of the first coarse time satellite in the previous epoch is known, the complete pseudorange of the first coarse time satellite in the current epoch can be reconstructed by the complete pseudorange of the first coarse time satellite in the previous epoch and the pseudorange sub-millisecond measurement value of the current epoch. As described above, the pseudorange sub-millisecond measurement value is obtained according to the code phase measurement value parsed from the satellite signal received from the first coarse time satellite.
[0069] After reconstructing the complete pseudorange of the first coarse time satellite, the positioning position of the positioned object in the current epoch can be determined based on the complete pseudorange of the first coarse time satellite. It can be understood that when the complete pseudorange of the first coarse time satellite is known, the first coarse time satellite can no longer be considered as a coarse time satellite, but a satellite with known pseudorange whole millisecond values and pseudorange sub-millisecond values. The positioning position of the positioned object can be easily solved according to the pseudorange whole millisecond values and pseudorange sub-millisecond values of the satellite. Specifically, a suitable position solution method can be selected according to the number of reconstructed first coarse time satellites and the requirements of position positioning accuracy.
[0070] In the disclosed embodiment, during the positioning process, after the initial positioning of the positioned object is completed, the complete pseudorange of the coarse time satellite in the current epoch can be reconstructed in the subsequent epochs based on the complete pseudorange of the coarse time satellite in the previous epoch and the pseudorange sub-millisecond measurement value, and then the reconstructed complete pseudorange is used to solve the positioning position of the positioned object in the current epoch. Through the above method, the disclosed embodiment can solve the positioning position of the positioned object even in a weak signal area where the complete pseudorange of at least 4 satellites cannot be observed, or the code phase measurement values of at least 5 satellites cannot be observed, thereby improving the success rate of position solution and positioning accuracy of the positioned object.
[0071] When the first coarse time satellite is also a coarse time satellite in the previous epoch, in an optional implementation of this embodiment, step S101, i.e., the step of obtaining the complete pseudorange of the first coarse time satellite in the previous epoch, further includes the following steps:
[0072] Acquire a pseudo-range sub-millisecond measurement value of the first coarse time satellite in the previous epoch and positioning information of the positioned object in the previous epoch;
[0073] The complete pseudorange of the first coarse time satellite in the previous epoch is restored based on the sub-millisecond measurement value of the pseudorange of the first coarse time satellite in the previous epoch and the positioning information of the positioned object in the previous epoch.
[0074] In this optional implementation, the first coarse time satellite is one or more satellites that can be observed in the current epoch, but the complete pseudorange cannot be resolved. The first coarse time satellite is also an observed satellite in the previous epoch, and can be a coarse time satellite or a non-coarse time satellite in the previous epoch, that is, the complete pseudorange can be directly resolved from the satellite signal received from the first coarse time satellite in the previous epoch, or the complete pseudorange cannot be resolved. When the complete pseudorange of the first coarse time satellite is resolved from the satellite signal received in the previous epoch, the complete pseudorange can be directly obtained in the current epoch; and when the complete pseudorange of the first coarse time satellite is not resolved from the satellite signal received in the previous epoch, the complete pseudorange of the first coarse time satellite can be restored based on the positioning information of the positioned object in the previous epoch and the sub-millisecond measurement value of the pseudorange of the first coarse time satellite in the previous epoch. The position information of the positioned object includes position coordinates and clock error. As described above, the complete pseudorange includes pseudorange sub-millisecond measurement values and pseudorange whole millisecond measurement values, and the pseudorange sub-millisecond measurement value of the first coarse time satellite can be determined based on the code phase measurement value, while the pseudorange whole millisecond measurement value cannot be parsed from the satellite signal due to insufficient satellite signal lock time. As can be seen from the above records, the complete pseudorange of the first coarse time satellite is the logical distance between the first coarse time satellite and the positioned object, which is the distance obtained by considering the clock error and other errors in the real distance between the first coarse time satellite and the positioned object. Therefore, when the positioning information (including positioning position and clock error) of the positioned object is known, the complete pseudorange of the first coarse time satellite in the previous epoch can be predicted based on the position coordinates of the first coarse time satellite in the previous epoch, the position coordinates of the positioned object and the clock error of the positioned object. The position coordinates of the first coarse time satellite in the previous epoch can be determined based on the ephemeris of the first coarse time satellite (the ephemeris is used to indicate the corresponding relationship between the epoch and the actual position of the first coarse time satellite).
[0075] In an optional implementation of this embodiment, the step of restoring the complete pseudorange of the first coarse time satellite in the previous epoch according to the sub-millisecond measurement value of the pseudorange of the first coarse time satellite in the previous epoch and the positioning information of the positioned object in the previous epoch further includes the following steps:
[0076] Determine the position coordinates of the first coarse time satellite in the previous epoch according to the ephemeris of the first coarse time satellite;
[0077] Predicting a predicted pseudorange value of the first coarse time satellite at the previous epoch according to the position coordinates of the first coarse time satellite at the previous epoch and the positioning information of the positioned object at the previous epoch;
[0078] Determine a whole millisecond predicted value of the pseudorange of the first coarse time satellite at the previous epoch according to the sub-millisecond measured value of the pseudorange of the first coarse time satellite at the previous epoch and the predicted value of the pseudorange;
[0079] The complete pseudorange of the first coarse time satellite in the previous epoch is determined according to the whole millisecond predicted value of the pseudorange of the first coarse time satellite in the previous epoch and the sub-millisecond measured value of the pseudorange.
[0080] In this optional implementation, the ephemeris of the first coarse time satellite is used to indicate the correspondence between the epoch and the actual position of the coarse time satellite. The actual position of the first coarse time satellite in the previous epoch, that is, the position coordinates of the first coarse time satellite, can be determined based on the ephemeris of the first coarse time satellite and the previous epoch.
[0081] The predicted pseudorange value of the first coarse time satellite in the previous epoch can be predicted based on the position coordinates of the first coarse time satellite and the position information of the located object in the previous epoch. Pseudorange is the logical distance between the satellite and the located object, not the real distance. The logical distance is usually obtained by multiplying the difference between the transmission time and the reception time of the satellite signal by the speed of light. However, since the transmission time of the satellite signal of the first coarse time satellite (depending on TOW) cannot be parsed from the satellite signal, it can be predicted using the position coordinates of the first coarse time satellite in the previous epoch and the position information of the located object. The position information of the located object includes the positioning position and clock error of the located object in the previous epoch. In some embodiments, the real distance between the first coarse time satellite and the located object can be directly calculated based on the position coordinates of the first coarse time satellite and the position information of the located object. After considering the clock error of the located object on the basis of the real distance, the predicted pseudorange value of the first coarse time satellite in the previous epoch can be obtained.
[0082] The pseudorange prediction value of the first coarse time satellite includes a pseudorange whole millisecond prediction value and a pseudorange sub-millisecond prediction value. It should be noted that the pseudorange sub-millisecond prediction value in the pseudorange prediction value is not as accurate as the pseudorange sub-millisecond measurement value obtained according to the code phase measurement value because it is a prediction value. Therefore, the pseudorange whole millisecond prediction value can be obtained by rounding the pseudorange prediction value, and the pseudorange whole millisecond prediction value can be combined with the pseudorange sub-millisecond measurement value to obtain a more accurate complete pseudorange.
[0083] The following is an example of the restoration process of the complete pseudorange of the first coarse time satellite with reference to the above embodiment:
[0084] In some embodiments, the complete pseudorange of the coarse time satellite can be restored using the following formula:
[0085] (1)
[0086] in, is the predicted pseudorange value of the coarse time satellite at the initial epoch, , , is the position coordinate of the satellite in the previous epoch in coarse time, , , is the initial position coordinate of the located object in the previous epoch, It is the clock error of the positioned object in the previous epoch.
[0087] The whole millisecond predicted value of the pseudorange of the coarse time satellite can be restored as follows:
[0088] (2)
[0089] in, is the predicted value of the pseudorange of the coarse time satellite in whole milliseconds, is the sub-millisecond pseudorange measurement of the coarse time satellite (obtained from the code phase measurement resolved from the satellite signal), is the rounding function.
[0090] The restored complete pseudorange of the first coarse time satellite may include the pseudorange whole millisecond prediction value and pseudorange sub-millisecond measurements Through the above method, the complete pseudorange of each observed coarse-time satellite in the current epoch can be restored.
[0091] In an optional implementation of this embodiment, step S103, i.e., the step of reconstructing the complete pseudorange of the first coarse time satellite at the current epoch according to the complete pseudorange of the first coarse time satellite at the previous epoch and the pseudorange sub-millisecond measurement value of the current epoch, further includes the following steps:
[0092] Determine a predicted pseudorange value of the first coarse time satellite at a current epoch according to the complete pseudorange of the first coarse time satellite at a previous epoch and a pseudorange change rate of the first coarse time satellite at two adjacent epochs;
[0093] Determine a whole millisecond predicted value of the pseudorange and a sub-millisecond predicted value of the pseudorange of the first coarse time satellite at the current epoch according to the predicted value of the pseudorange of the first coarse time satellite at the current epoch;
[0094] When the difference between the pseudorange sub-millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite at the current epoch is less than or equal to a preset threshold, determining the complete pseudorange of the first coarse time satellite at the current epoch according to the pseudorange whole millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite at the current epoch;
[0095] When the difference between the pseudorange sub-millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite in the current epoch is greater than a preset threshold, the complete pseudorange of the first coarse time satellite in the current epoch is determined based on the pseudorange whole millisecond predicted value after increasing or decreasing the preset number of milliseconds and the pseudorange sub-millisecond measured value.
[0096] In this optional implementation, after the pseudorange restoration process in the previous step, the complete pseudorange of the first coarse time satellite in the previous epoch can be obtained, that is, after the pseudorange restoration in the previous step, the complete pseudoranges of all the first coarse time satellites in the previous epoch are known. In the current epoch, the complete pseudorange of the first coarse time satellite in the previous epoch can be used to reconstruct the complete pseudorange of the first coarse time satellite in the current epoch.
[0097] The predicted pseudorange value of the first coarse time satellite in the current epoch can be determined based on the complete pseudorange of the first coarse time satellite in the previous epoch and the pseudorange change rate of the first coarse time satellite. The pseudorange change rate of the first coarse time satellite can be the pseudorange change rate of the two adjacent epochs before and after the first coarse time satellite, and the pseudorange change rate can be determined in advance based on the pseudorange change of the first coarse time satellite in multiple adjacent epochs in the past.
[0098] In the reconstruction process, the pseudorange prediction value of the first coarse time satellite in the current epoch can be predicted based on the pseudorange change rate of the first coarse time satellite and the complete pseudorange of the first coarse time satellite in the previous epoch, and the pseudorange prediction value may include a pseudorange whole millisecond prediction value and a pseudorange sub-millisecond prediction value. After obtaining the pseudorange prediction value of the first coarse time satellite in the current epoch, the pseudorange whole millisecond measurement value and the pseudorange sub-millisecond measurement value can be obtained from the pseudorange prediction value. In some embodiments, the pseudorange whole millisecond measurement value can be obtained by rounding the pseudorange prediction value, and the pseudorange sub-millisecond prediction value can be obtained by taking the sub-millisecond part of the pseudorange prediction value.
[0099] Under ideal circumstances, the pseudorange sub-millisecond predicted value may be the same as the pseudorange sub-millisecond measured value obtained by the code phase measurement value. However, since the pseudorange predicted value has a certain error, when the pseudorange sub-millisecond measured value is close to the pseudorange sub-millisecond predicted value, for example, when the difference between the two is less than or equal to a preset threshold, the pseudorange predicted value may be considered to be more accurate. Therefore, the pseudorange whole millisecond predicted value in the pseudorange predicted value may be directly determined as the pseudorange whole millisecond value in the final pseudorange, and the pseudorange sub-millisecond measured value may be determined as the pseudorange sub-millisecond value in the final pseudorange.
[0100] However, when the pseudorange sub-millisecond measurement value differs greatly from the pseudorange sub-millisecond prediction value, for example, when the difference between the two is greater than a preset threshold, it can be considered that the pseudorange prediction value is not very accurate. The reason may be that the pseudorange change rate of the first coarse time satellite in the two epochs before and after and the time difference between the two epochs are inaccurate, resulting in a pseudorange millisecond flip in the pseudorange. Therefore, the pseudorange whole millisecond prediction value can be offset forward or backward, that is, the pseudorange whole millisecond prediction value is increased or decreased by a predetermined number of milliseconds, and then the offset pseudorange whole millisecond prediction value is determined as the pseudorange whole millisecond value of the final pseudorange, and the pseudorange sub-millisecond measurement value is determined as the pseudorange sub-millisecond value.
[0101] In some embodiments, the pseudorange whole millisecond prediction value can be offset forward by 1 millisecond to obtain a forward offset pseudorange whole millisecond value, and the pseudorange whole millisecond prediction value can be offset backward by 1 millisecond to obtain a backward offset pseudorange whole millisecond value, and the two can be combined with the pseudorange sub-millisecond measurement value to obtain two pseudorange candidate values, and finally the pseudorange candidate value that is closer to the complete pseudorange in the previous epoch is determined as the final pseudorange of the first coarse time satellite in the current epoch.
[0102] The following is a detailed explanation with examples.
[0103] Assuming that N_old is the pseudorange integer millisecond value of the first coarse time satellite in the complete pseudorange of the previous epoch, the pseudorange prediction value of the first coarse time satellite in the current epoch can be calculated using the complete pseudorange of the previous epoch and the pseudorange change rate of two adjacent epochs:
[0104] p_new_predict = p_old + time_delta *(prr_new+prr_old) / 2
[0105] Among them, p_new_predict is the pseudorange prediction value of the first coarse time satellite in the current epoch, p_old is the complete pseudorange of the first coarse time satellite in the previous epoch, prr_old and prr_new are the pseudorange change rates of the first coarse time satellite in the two adjacent epochs respectively, time_delta is the time interval between two observations, and the pseudorange sub-millisecond prediction value z0_new_predict can be obtained by taking the sub-millisecond part of p_new_predict, and the pseudorange whole millisecond prediction value N_new_predict can be obtained by rounding p_new_predict to the integer millisecond. The pseudorange sub-millisecond measurement value of the first coarse time satellite in the current epoch can be recorded as z0_new.
[0106] Determine the difference between z0_new_predict and z0_new. If the difference between the two is not large, that is, the difference between the two is less than or equal to a preset threshold, the preset threshold can be set in advance, for example, it can be set to 0.5 times the millisecond pseudorange, then the final pseudorange of the first coarse time satellite can be determined as: N_new_predict*millisecond pseudorange+z0_new. If the difference is large, for example, it exceeds 0.5 times the millisecond pseudorange, it can be considered that the millisecond flip of the pseudorange occurs due to inaccurate time_delta, prr_new or prr_old. Therefore, the pseudorange candidate values can be calculated as follows: (N_new_predict-1)*millisecond pseudorange+z0_new, and (N_new_predict+1)*millisecond pseudorange+z0_new, and the pseudorange candidate value that is closer to the complete pseudorange of the previous epoch is selected as the complete pseudorange of the first coarse time satellite of the current epoch.
[0107] In an optional implementation of this embodiment, step S103, i.e., the step of determining the positioning position of the positioned object at the current epoch according to the complete pseudorange of the first coarse time satellite at the current epoch, further includes the following steps:
[0108] The Kalman filter method is used to calculate the positioning position of the positioned object in the current epoch according to the complete pseudorange of the first coarse time satellite in the current epoch.
[0109] In this optional implementation, since the complete pseudorange of the first coarse time satellite in the current epoch is obtained through reconstruction prediction, there is a certain error between it and the actual observation value. Therefore, in order to obtain a more accurate positioning position, the Kalman filter method can be used to solve the positioning position of the located object in the current epoch based on the complete pseudorange of the first coarse time satellite in the current epoch. Since the Kalman filter method is a known position solution method, the specific details are not repeated here. The embodiment of the present disclosure applies the coarse time solution method to the Kalman filter position solution method, and uses the complete pseudorange restoration and reconstruction process of the coarse time satellite to predict the complete pseudorange of the coarse time satellite in the current epoch, so that in weak signal areas, the positioning position of the located object can be efficiently and accurately solved.
[0110] It should be noted that the above method proposed in the embodiment of the present disclosure is not limited to using the Kalman filter method to solve the positioning position of the positioned object in the current epoch, and other single-point positioning methods can also be used to solve the positioning position of the positioned object in the current epoch. As long as the positioning position of the positioned object in the current epoch can be solved by using the complete pseudorange of one or more coarse-time satellites obtained by reconstruction in the current epoch, the above method proposed in the embodiment of the present disclosure can be used.
[0111] It should also be noted that when solving the positioning position of the positioned object in the current epoch, in order to make the position solution more accurate, it is not limited to using the first coarse time satellite that reconstructs the complete pseudorange, but other satellites that can observe the complete pseudorange (that is, satellites that can directly parse TOW from the received satellite signals) can also be used. The specific setting can be based on actual conditions and is not specifically limited here.
[0112] In an optional implementation of this embodiment, the method further includes the following steps:
[0113] For a second coarse time satellite that was not observed in the previous epoch but is observed in the current epoch, the complete pseudorange of the second coarse time satellite in the current epoch is determined based on the positioning position of the positioned object in the current epoch and the sub-millisecond measurement value of the pseudorange of the second coarse time satellite in the current epoch.
[0114] In this optional implementation, the second coarse time satellite is a satellite observed in the current epoch, and the satellite signal lock time is short, resulting in failure to resolve the complete pseudorange from the received satellite signal. The second coarse time satellite is different from the first coarse time satellite in that the complete pseudorange of the second coarse time satellite in the previous epoch is unknown, that is, in the previous epoch, the second coarse time satellite was not observed, so the complete pseudorange of the positioned object in the previous epoch could not be restored based on the positioning position of the positioned object in the previous epoch. Therefore, the second coarse time satellite includes satellites whose complete pseudoranges are not resolved in the satellite signals received in the current epoch and satellites that were not observed in the previous epoch.
[0115] When solving the positioning position of the positioned object in the current epoch, since the complete pseudorange of the second coarse time satellite in the previous epoch cannot be restored by the above method proposed in the embodiment of the present disclosure, the second coarse time satellite cannot be used as the first coarse time satellite in the above text, and then the positioning position of the positioned object in the current epoch is solved by reconstructing the complete pseudorange of the second coarse time satellite in the current epoch.
[0116] However, after the positioning position of the positioned object in the current epoch is calculated using the complete pseudorange of the first coarse time satellite, the complete pseudorange of the second coarse time satellite in the current epoch can be restored based on the positioning position of the positioned object in the current epoch and the observation value of the second coarse time satellite in the current epoch (that is, the pseudorange sub-millisecond measurement value obtained from the code phase measurement value), so that it can be used in the next epoch to reconstruct the complete pseudorange of the second coarse time satellite in the next epoch, and then the positioning position of the positioned object in the next epoch can be calculated based on the reconstructed complete pseudorange.
[0117] In some embodiments, the restoration process of the complete pseudorange of the second coarse time satellite at the current epoch can refer to the restoration process of the complete pseudorange of the first coarse time satellite at the previous epoch in the above text, and will not be repeated here. It should be noted that the clock error of the positioned object at the current epoch can be calculated based on the complete pseudorange of the first coarse time satellite, the actual position of the first coarse time satellite currently used, and the positioning position of the positioned object at the current epoch, for example, it can be calculated according to the above formula (1).
[0118] According to a location-based service providing method according to an embodiment of the present disclosure, the location-based service providing method includes: using the above-mentioned positioning method to locate the position of the service object, and the location-based service includes: one or more of navigation, map rendering, and route planning.
[0119] In this embodiment, the location-based service provision method can be executed on a terminal, and the terminal may include but is not limited to a mobile terminal that can connect to a network (such as a 4G / 5G network, wifi, Bluetooth) to obtain a network positioning position, such as a mobile phone, iPad, computer, smart watch, vehicle, etc. In view of the situation where the navigation effect is poor due to inaccurate positioning in a weak signal area, the disclosed embodiment applies the above positioning method to the terminal used by the user, thereby improving the location-based service provision effect.
[0120] The service object may be a vehicle, a person, etc. The location of the service object may be obtained by using the above positioning method. For details, please refer to the above description of the positioning method, which will not be repeated here.
[0121] Figure 3 FIG. 1 is a schematic diagram showing an application scenario on a vehicle terminal according to an embodiment of the present disclosure. Figure 3 As shown, the vehicle terminal is located in an open area at the beginning of positioning. The satellite signals of at least 4 satellites are obtained through tracking and observation, and the complete pseudoranges of at least 4 satellites are resolved through these satellite signals (that is, the TOWs of at least 4 satellites are resolved). The position information of the vehicle terminal is calculated using the classical position solution method, including the positioning position and clock error.
[0122] After a period of continuous positioning and navigation in the above manner, the vehicle enters a tunnel. Due to the weak signal in the tunnel, if the vehicle terminal only observes two satellites A and B in the current epoch (in actual situations, more satellites can be observed), and fails to resolve the complete pseudoranges of the two satellites (that is, fails to resolve the TOW of the two satellites), only the code phase measurement values of the two satellites are resolved. Therefore, the two satellites are equivalent to the first coarse time satellites of the current epoch.
[0123] In addition, since the vehicle terminal was still outside the tunnel in the previous epoch, the position information of the vehicle terminal in the previous epoch has been solved by the classical position solution method. Assuming that the complete pseudorange of the first coarse time satellite A in the previous epoch is the directly observed value, and although the first coarse time satellite B was observed in the previous epoch, the complete pseudorange could not be resolved, so the pseudorange sub-millisecond measurement value can be obtained according to the code phase measurement value of the first coarse time satellite B in the previous epoch, and then the complete pseudorange of the first coarse time satellite B can be restored according to the position information of the vehicle terminal in the previous epoch and the pseudorange sub-millisecond measurement value. Of course, it can be understood that the vehicle terminal can also observe other satellites in the previous epoch, and the positioning position of the vehicle terminal in the previous epoch can be obtained by solving the complete pseudoranges of other satellites observed in the previous epoch.
[0124] After obtaining the complete pseudoranges of the first coarse time satellites A and B in the previous epoch, the complete pseudoranges of the first coarse time satellites A and B in the current epoch can be reconstructed using the method mentioned above in the embodiment of the present disclosure, and then the complete pseudoranges of the first coarse time satellites A and B are processed accordingly using the Kalman filter algorithm model, and finally the positioning position of the vehicle terminal in the current epoch is obtained. During a period of time when the vehicle terminal is in the tunnel, the positioning position of the vehicle terminal can be solved by the above method until the vehicle exits the tunnel and can lock at least 4 satellites for a long time again.
[0125] Of course, it should be noted that in the above process, in order to improve the positioning efficiency, after using the classical position solution method to obtain the initial position information of the vehicle terminal, that is, the initial position and the initial clock difference, the above method proposed in the embodiment of the present disclosure can be used to continuously position the vehicle terminal, without the need to use the above method proposed in the embodiment of the present disclosure to perform positioning only after the vehicle terminal enters the tunnel.
[0126] The following are embodiments of the apparatus of the present disclosure, which can be used to execute embodiments of the method of the present disclosure.
[0127] Figure 4 FIG. 2 shows a structural block diagram of a positioning device according to an embodiment of the present disclosure. The device can be implemented as part or all of an electronic device through software, hardware, or a combination of both. Figure 4 As shown, the positioning device comprises:
[0128] The acquisition module 401 is configured to acquire the complete pseudorange of the first coarse time satellite in the previous epoch.
[0129] In the disclosed embodiment, the coarse time signal can be understood as a received satellite signal, which cannot be parsed into a complete navigation message due to quality problems, so the complete pseudorange cannot be calculated, and only the sub-millisecond pseudorange can be determined; the coarse time satellite can be understood as the satellite signal received from the satellite is a coarse time signal. The first coarse time satellite in the disclosed embodiment includes a satellite whose complete pseudorange is not parsed in the satellite signal received at the current epoch.
[0130] The reconstruction module 402 is configured to reconstruct the complete pseudorange of the first coarse time satellite in the current epoch based on the complete pseudorange of the first coarse time satellite in the previous epoch and the pseudorange sub-millisecond measurement value of the current epoch; the pseudorange sub-millisecond measurement value is obtained based on the code phase measurement value obtained by parsing the satellite signal received from the first coarse time satellite.
[0131] The first determination module 403 is configured to determine the positioning position of the positioned object in the current epoch according to the complete pseudorange of the first coarse time satellite in the current epoch.
[0132] In an optional implementation of this embodiment, when the first coarse time satellite is also a coarse time satellite in the previous epoch, the acquisition module 401 includes:
[0133] A first acquisition submodule is configured to acquire a pseudorange sub-millisecond measurement value of the first coarse time satellite in a previous epoch and positioning information of the positioned object in the previous epoch;
[0134] The restoration submodule is configured to restore the complete pseudorange of the first coarse time satellite in the previous epoch based on the sub-millisecond measurement value of the pseudorange of the first coarse time satellite in the previous epoch and the positioning information of the positioned object in the previous epoch.
[0135] In an optional implementation of this embodiment, the restoration submodule includes:
[0136] A first determination submodule is configured to determine the position coordinates of the first coarse time satellite in the previous epoch according to the ephemeris of the first coarse time satellite;
[0137] a prediction submodule, configured to predict a predicted pseudorange value of the first coarse time satellite at a previous epoch according to the position coordinates of the first coarse time satellite at a previous epoch and the positioning information of the positioned object at the previous epoch;
[0138] A second determination submodule is configured to determine a whole millisecond pseudorange prediction value of the first coarse time satellite in a previous epoch according to the sub-millisecond pseudorange measurement value of the first coarse time satellite in a previous epoch and the pseudorange prediction value;
[0139] The third determination submodule is configured to determine the complete pseudorange of the first coarse time satellite in the previous epoch based on the whole millisecond predicted value of the pseudorange of the first coarse time satellite in the previous epoch and the sub-millisecond measured value of the pseudorange.
[0140] In an optional implementation of this embodiment, the reconstruction module 402 includes:
[0141] a fourth determination submodule, configured to determine a predicted pseudorange of the first coarse time satellite at a current epoch based on the complete pseudorange of the first coarse time satellite at a previous epoch and a pseudorange change rate of the first coarse time satellite at two adjacent epochs;
[0142] a fifth determination submodule, configured to determine a whole millisecond predicted pseudorange value and a sub-millisecond predicted pseudorange value of the first coarse time satellite at a current epoch according to the predicted pseudorange value of the first coarse time satellite at a current epoch;
[0143] a sixth determination submodule, configured to determine the complete pseudorange of the first coarse time satellite at the current epoch according to the pseudorange full millisecond prediction value and the pseudorange sub millisecond measurement value of the first coarse time satellite at the current epoch when the difference between the pseudorange sub millisecond prediction value and the pseudorange sub millisecond measurement value of the first coarse time satellite at the current epoch is less than or equal to a preset threshold;
[0144] The seventh determination submodule is configured to determine the complete pseudorange of the first coarse time satellite in the current epoch according to the pseudorange whole millisecond prediction value and the pseudorange submillisecond measurement value after increasing or decreasing a preset number of milliseconds when the difference between the pseudorange submillisecond prediction value and the pseudorange submillisecond measurement value of the first coarse time satellite in the current epoch is greater than a preset threshold.
[0145] In an optional implementation of this embodiment, the first determining module 403 includes:
[0146] The solution submodule is configured to use a Kalman filter method to solve the complete pseudorange of the first coarse time satellite in the current epoch to obtain the positioning position of the positioned object in the current epoch.
[0147] In an optional implementation of this embodiment, the device further includes:
[0148] The second determination module is configured to determine the complete pseudorange of the second coarse time satellite in the current epoch based on the positioning position of the positioned object in the current epoch and the sub-millisecond measurement value of the pseudorange of the second coarse time satellite in the current epoch, for a second coarse time satellite that was not observed in the previous epoch but observed in the current epoch.
[0149] The above-mentioned positioning device proposed in the embodiment of the present disclosure corresponds to the positioning method mentioned above. For specific details, please refer to the description of the positioning method mentioned above, which will not be repeated here.
[0150] According to a location-based service providing device according to an embodiment of the present disclosure, the device can be implemented as part or all of an electronic device through software, hardware, or a combination of both. The navigation device uses the above positioning device to locate the location of the service object, and the location-based service includes: navigation, map rendering, route planning or one or more thereof.
[0151] The location-based service providing device in this embodiment corresponds to the above-mentioned location-based service providing method. For specific details, please refer to the above-mentioned description of the location-based service providing method, which will not be repeated here.
[0152] Figure 5 It is a structural diagram of an electronic device suitable for implementing the positioning method and / or the location-based service providing method according to an embodiment of the present disclosure.
[0153] like Figure 5 As shown, the electronic device 500 includes a processing unit 501, which can be implemented as a processing unit such as a CPU, a GPU, an FPGA, and an NPU. The processing unit 501 can perform various processes in the embodiments of any of the above methods of the present disclosure according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage part 508 to a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 are also stored. The processing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0154] The following components are connected to the I / O interface 505: an input section 506 including a keyboard, a mouse, etc.; an output section 507 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 508 including a hard disk, etc.; and a communication section 509 including a network interface card such as a LAN card, a modem, etc. The communication section 509 performs communication processing via a network such as the Internet. A drive 510 is also connected to the I / O interface 505 as needed. A removable medium 511, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 510 as needed, so that a computer program read therefrom is installed into the storage section 508 as needed.
[0155] In particular, according to an embodiment of the present disclosure, any method in the above referenced embodiment of the present disclosure may be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program tangibly contained on a machine-readable medium, and the computer program includes a program code for executing any method in the embodiment of the present disclosure. In such an embodiment, the computer program can be downloaded and installed from a network through the communication part 509, and / or installed from a removable medium 511.
[0156] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the road map or block diagram can represent a part of a module, program segment or code, and the part of the module, program segment or code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a different order from the order marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0157] The units or modules involved in the embodiments described in the present disclosure may be implemented by software or hardware. The units or modules described may also be set in a processor, and the names of these units or modules do not constitute limitations on the units or modules themselves in some cases.
[0158] As another aspect, the present disclosure further provides a computer-readable storage medium, which may be a computer-readable storage medium included in the device described in the above embodiment; or a computer-readable storage medium that exists independently and is not assembled into the device. The computer-readable storage medium stores one or more programs, and the programs are used by one or more processors to execute the method described in the present disclosure.
[0159] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the present disclosure is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the inventive concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other.
Claims
1. A positioning method, wherein: include: Obtain the complete pseudorange of the first coarse time satellite in the previous epoch; Determine a predicted pseudorange value of the first coarse time satellite at a current epoch according to the complete pseudorange of the first coarse time satellite at a previous epoch and a pseudorange change rate of the first coarse time satellite at two adjacent epochs; Determine a whole millisecond predicted value of the pseudorange and a sub-millisecond predicted value of the pseudorange of the first coarse time satellite at the current epoch according to the predicted value of the pseudorange of the first coarse time satellite at the current epoch; When the difference between the pseudorange sub-millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite at the current epoch is less than or equal to a preset threshold, determining the complete pseudorange of the first coarse time satellite at the current epoch according to the pseudorange whole millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite at the current epoch; When the difference between the pseudorange sub-millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite at the current epoch is greater than a preset threshold, determining the complete pseudorange of the first coarse time satellite at the current epoch according to the pseudorange whole millisecond predicted value after adding or subtracting the preset number of milliseconds offset and the pseudorange sub-millisecond measured value; the pseudorange sub-millisecond measured value is obtained based on a code phase measurement value obtained by parsing a satellite signal received from the first coarse time satellite; The positioning position of the positioned object in the current epoch is determined according to the complete pseudorange of the first coarse time satellite in the current epoch.
2. The method according to claim 1, wherein: The obtaining of the complete pseudorange of the first coarse time satellite in the previous epoch includes: Acquire a pseudo-range sub-millisecond measurement value of the first coarse time satellite in the previous epoch and positioning information of the positioned object in the previous epoch; The complete pseudorange of the first coarse time satellite in the previous epoch is restored based on the sub-millisecond measurement value of the pseudorange of the first coarse time satellite in the previous epoch and the positioning information of the positioned object in the previous epoch.
3. The method according to claim 2, wherein: The method further comprises: restoring the complete pseudorange of the first coarse time satellite in the previous epoch according to the sub-millisecond pseudorange measurement value of the first coarse time satellite in the previous epoch and the positioning information of the positioned object in the previous epoch, comprising: determining the position coordinates of the first coarse time satellite at a previous epoch according to the ephemeris of the first coarse time satellite; Predicting a pseudorange prediction value of the first coarse time satellite at the previous epoch according to the position coordinates of the first coarse time satellite at the previous epoch and the positioning information of the positioned object at the previous epoch; Determine a whole millisecond predicted value of the pseudorange of the first coarse time satellite at the previous epoch according to the sub-millisecond measured value of the pseudorange of the first coarse time satellite at the previous epoch and the predicted value of the pseudorange; The complete pseudorange of the first coarse time satellite in the previous epoch is determined based on the whole millisecond predicted value of the pseudorange of the first coarse time satellite in the previous epoch and the sub-millisecond measured value of the pseudorange.
4. The method according to any one of claims 1 to 3, wherein: Determining the positioning position of the positioned object at the current epoch according to the complete pseudorange of the first coarse time satellite at the current epoch includes: The Kalman filter method is used to calculate the positioning position of the positioned object in the current epoch according to the complete pseudo-range of the first coarse time satellite in the current epoch.
5. The method according to any one of claims 1 to 3, wherein: The method further comprises: For a second coarse time satellite that was not observed in the previous epoch but is observed in the current epoch, the complete pseudorange of the second coarse time satellite in the current epoch is determined based on the positioning position of the positioned object in the current epoch and the sub-millisecond measurement value of the pseudorange of the second coarse time satellite in the current epoch.
6. A method for providing location-based services, wherein: The method uses the positioning method described in any one of claims 1 to 5 to locate the position of the service object, and the location-based service includes: one or more of navigation, map rendering, and route planning.
7. A positioning device, wherein: include: An acquisition module is configured to acquire a complete pseudorange of the first coarse time satellite in the previous epoch; The reconstruction module is configured to: determine the predicted pseudorange value of the first coarse time satellite in the current epoch according to the complete pseudorange of the first coarse time satellite in the previous epoch and the pseudorange change rate of the first coarse time satellite in two adjacent epochs; determine the whole millisecond predicted pseudorange value and the sub-millisecond predicted pseudorange value of the first coarse time satellite in the current epoch according to the predicted pseudorange value of the first coarse time satellite in the current epoch; when the difference between the sub-millisecond predicted pseudorange value and the sub-millisecond measured pseudorange value of the first coarse time satellite in the current epoch is less than or equal to a preset threshold, determine the complete pseudorange of the first coarse time satellite in the current epoch according to the whole millisecond predicted pseudorange value and the sub-millisecond measured pseudorange value of the first coarse time satellite in the current epoch; When the difference between the pseudorange sub-millisecond predicted value and the pseudorange sub-millisecond measured value of the first coarse time satellite at the current epoch is greater than a preset threshold, determining the complete pseudorange of the first coarse time satellite at the current epoch according to the pseudorange whole millisecond predicted value after adding or subtracting the preset number of milliseconds offset and the pseudorange sub-millisecond measured value; The pseudo-range sub-millisecond measurement value is obtained based on a code phase measurement value obtained by parsing a satellite signal received from the first coarse time satellite; The determination module is configured to determine the positioning position of the positioned object in the current epoch according to the complete pseudorange of the first coarse time satellite in the current epoch.
8. An electronic device, wherein: The method comprises a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the method according to any one of claims 1 to 6.
9. A computer program product comprising computer instructions, wherein: When the computer instructions are executed by a processor, the method according to any one of claims 1 to 6 is implemented.
