Positioning method, device, electronic device and computer storage medium

By acquiring code phase measurement data and estimating the propagation time of the satellite signal in the equipment, the difficulty of positioning of the equipment in the environment of poor satellite signals is solved, and accurate positioning is achieved in the case of complex signals.

CN114966782BActive Publication Date: 2025-06-06ALIBABA GROUP HOLDING LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110221074.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-26
Publication Date
2025-06-06
Estimated Expiration
2041-02-26

AI Technical Summary

Technical Problem

In the prior art, it is difficult for the equipment to locate in an environment with poor satellite signals, especially when a sufficient number of satellite signals cannot be received.

Method used

By obtaining the target estimated position of the target object and the code phase measurement data in the satellite signals of the three received positioning satellites, the pseudorange submillisecond part is determined, and the propagation time of the satellite signal is estimated based on the ephemeris, the pseudorange submillisecond part, the position and reception time of the target object, thereby determining the positioning position of the target object.

Benefits of technology

When the broadcast time cannot be decoded by satellite signals, the broadcast time can be estimated more accurately, and the positioning of the target object can be achieved in the case of poor signal, which is suitable for positioning requirements in complex scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114966782B_ABST
    Figure CN114966782B_ABST
Patent Text Reader

Abstract

The embodiments of the present invention provide a positioning method, device, electronic device and computer storage medium. The positioning method includes: obtaining the target estimated position of the target object and the code phase measurement data in the satellite signals of three positioning satellites received by the target object; determining the pseudo-range sub-millisecond part of the three positioning satellites according to the code phase measurement data; estimating the broadcast time of the three positioning satellites according to the ephemeris of the three positioning satellites, the pseudo-range sub-millisecond part, the target estimated position of the target object, and the reception time of the received satellite signal; determining the road point closest to the target object as the positioning position of the target object according to the ephemeris of the three positioning satellites and the estimated broadcast time and reception time of the satellite signal, and the longitude and latitude of multiple road points included in the path where the target object is located. The positioning method can use fewer satellites for positioning when the satellite signal is poor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of computer technology, and in particular to a positioning method, device, electronic device and computer storage medium. Background Art

[0002] With the improvement of the hardware capabilities of smartphones and in-vehicle terminals, more and more applications installed on these devices are beginning to use positioning technology to provide users with corresponding services. Common examples include map navigation applications, which use positioning technology to obtain the location of the navigated device, thereby providing navigation guidance services for the device, and weather applications, which use positioning technology to provide users with the weather conditions of the user's current location. Furthermore, in intelligent driving scenarios, positioning technology is needed to obtain the location information of the vehicle, providing accurate location data for the vehicle's assisted driving function or autonomous driving function.

[0003] In the prior art, devices usually use satellite positioning technology for positioning. For example, the device determines the location of the device based on the received GPS satellite signal. This method requires the device to receive GPS signals from at least 4 satellites to determine the location of the device. However, if the device is in an environment with poor satellite signals, the device location often cannot be located. Summary of the invention

[0004] In view of this, an embodiment of the present invention provides a positioning solution to at least partially solve the above problem.

[0005] According to a first aspect of an embodiment of the present invention, a positioning method is provided, comprising: obtaining a target estimated position of a target object and code phase measurement data in satellite signals of three positioning satellites received by the target object; determining the sub-millisecond parts of pseudo-ranges of the three positioning satellites based on the code phase measurement data; estimating the broadcasting time of the three positioning satellites based on the ephemeris of the three positioning satellites, the sub-millisecond parts of pseudo-ranges, the target estimated position of the target object, and the receiving time of the received satellite signals; determining the road point closest to the target object as the positioning position of the target object based on the ephemeris of the three positioning satellites and the estimated broadcasting time of the satellite signals, the receiving time, and the longitudes and latitudes of multiple road points included in the path where the target object is located.

[0006] According to a second aspect of an embodiment of the present invention, a positioning device is provided, comprising: an acquisition module, used to acquire a target estimated position of a target object and code phase measurement data in satellite signals of three positioning satellites received by the target object; a first determination module, used to determine the sub-millisecond parts of pseudo-ranges of the three positioning satellites based on the code phase measurement data; a primary estimation module, used to estimate the broadcasting time of the three positioning satellites based on the ephemeris of the three positioning satellites, the sub-millisecond parts of pseudo-ranges, the target estimated position of the target object, and the receiving time of the received satellite signals; a second determination module, used to determine the road point closest to the target object as the positioning position of the target object based on the ephemeris of the three positioning satellites and the estimated broadcasting time of the satellite signals, the receiving time, and the longitude and latitude of multiple road points included in the path where the target object is located.

[0007] According to a third aspect of an embodiment of the present invention, there is provided an electronic device, comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; the memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform operations corresponding to the positioning method described in the first aspect.

[0008] According to a fourth aspect of an embodiment of the present invention, there is provided a computer storage medium on which a computer program is stored. When the program is executed by a processor, the positioning method as described in the first aspect is implemented.

[0009] According to the positioning solution provided by the embodiment of the present invention, the code phase measurement data is determined based on the received satellite signal, and then the pseudo-range sub-millisecond part of the positioning satellite is determined, and then the broadcast time of the satellite signal is estimated according to the ephemeris of the three positioning satellites, the pseudo-range sub-millisecond part, the target estimated position of the target object and the reception time of the satellite signal, so that when the broadcast time cannot be decoded from the satellite signal, the broadcast time is estimated, and then the road point closest to the target object is determined according to the broadcast time, ephemeris, the reception time of the received satellite signal, and the longitude and latitude of the road point on the path where the target object is located, and the longitude and latitude of the road point are used as the positioning position of the target object. In this way, the positioning position of the target object can be solved by combining the longitude and latitude of the road point with the code phase measurement data of the three positioning satellites, thereby better meeting the positioning requirements when the satellite signal is not good. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0011] Figure 1A is a flowchart of a positioning method according to Embodiment 1 of the present invention;

[0012] Figure 1B for Figure 1A A schematic diagram of a satellite signal in the illustrated embodiment;

[0013] Figure 2A is a flowchart of a positioning method according to Embodiment 2 of the present invention;

[0014] Figure 2B for Figure 2A A schematic diagram of an example scenario in the illustrated embodiment;

[0015] Figure 3 is a structural block diagram of a positioning device according to Embodiment 3 of the present invention;

[0016] Figure 4 FIG. 4 is a schematic diagram of the structure of an electronic device according to Embodiment 4 of the present invention. DETAILED DESCRIPTION

[0017] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in the field based on the embodiments in the embodiments of the present invention should fall within the scope of protection of the embodiments of the present invention.

[0018] The specific implementation of the embodiment of the present invention is further described below in conjunction with the accompanying drawings of the embodiment of the present invention.

[0019] Embodiment 1

[0020] Reference Figure 1A , shows a flowchart of the steps of the positioning method of embodiment 1 of the present invention.

[0021] In this embodiment, the positioning method includes the following steps:

[0022] Step S102: acquiring the estimated target position of the target object and code phase measurement data in satellite signals from three positioning satellites received by the target object.

[0023] The estimated target position may be the position of the target object at the kth time predicted by the network positioning information, which may be expressed as the longitude and latitude of the target object. The network positioning information may be, for example, the information of the base station or WIFI hotspot collected at the kth time. Alternatively, the estimated target position may be the positioning position of the target object determined at the k-1th time.

[0024] Figure 1B A schematic diagram of a satellite signal is shown. Figure 1B As shown, the satellite signal includes 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 the frequency of each carrier is about 1G.

[0025] The second of the week is a timestamp in the satellite signal (also called a satellite message), which indicates the broadcast time of the satellite signal (that is, the time when the satellite signal is transmitted). Therefore, in the process of satellite positioning based on the broadcast time of the satellite signal, it is necessary to decode the second of the week (TOW) from the satellite signal to determine the broadcast time of the satellite signal. To decode the second of the week, it is necessary to lock onto the positioning satellite within at least 6 seconds and receive a complete subframe of data from it in order to decode the second of the week. However, in the case of poor signals, it is difficult for the target object to continuously lock onto the positioning satellite for 6 seconds, which will result in the inability to obtain the broadcast time from the satellite signal, making it difficult to locate the target object based on the positioning satellite.

[0026] The C / A code in the satellite signal is sent once every 1ms, so the code phase measurement data can be obtained by measuring the C / A code, which can be used to indicate the offset of the code element. In other words, the code phase measurement data can be measured without decoding the TOW in the satellite signal. In other words, in the case of poor signal, the code phase measurement data can be obtained as long as the C / A code can be received.

[0027] A feasible way to obtain code phase measurement data is to calculate the maximum mutual information through code elements in the preset local signal and the satellite signal, thereby determining the code phase.

[0028] Step S104: determining the sub-millisecond parts of the pseudo-ranges of the three positioning satellites according to the code phase measurement data.

[0029] According to the symbol offset indicated in the code phase measurement data, the offset is the sub-millisecond part of the pseudo-range, such as 0.1ms, 0.5ms, etc.

[0030] Pseudorange refers to the logical distance between the positioning satellite and the target object. The logical distance is not the true distance between the positioning satellite and the target object because errors such as the clock difference between the positioning satellite and the target object need to be considered.

[0031] The pseudorange can be obtained by subtracting the broadcast time of the satellite signal received by the target object from the reception time of the satellite signal received by the target object (determined by the local clock of the target object), and then multiplying it by the speed of light. The complete pseudorange can be divided into two parts, namely the pseudorange whole millisecond part and the pseudorange sub-millisecond part. The pseudorange whole millisecond part can be obtained through TOW, and the pseudorange sub-millisecond part is obtained through code phase measurement data.

[0032] In the case of poor signal, it is difficult to obtain TOW, and thus the whole millisecond part of the pseudorange cannot be determined, resulting in the inability to obtain the complete pseudorange and locate the target object. In this embodiment, the broadcast time of the satellite signal is estimated by using the ephemeris and other information of the three positioning satellites through step S106, so that the complete pseudorange is calculated according to the estimated broadcast time, thereby achieving the positioning of the target object. In this process, only three positioning satellites are required. Compared with the existing solution of positioning and solving by four positioning satellites, the number of communicating positioning satellites can be reduced, and it can better adapt to the situation where the signal is poor and it is difficult to receive satellite signals transmitted by multiple positioning satellites.

[0033] Step S106: Estimate the broadcasting time of the three positioning satellites based on the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the receiving time of the received satellite signal.

[0034] The broadcast time of the satellite signal is also called the coarse time. In this embodiment, based on the principle that the broadcast time is within a certain time offset range compared to the reception time of the satellite signal, a broadcast time correction interval can be set, and the broadcast time correction interval includes multiple coarse screening correction values, which are used to indicate the correction amount of the reception time.

[0035] For each coarse screening correction value, the broadcast time can be determined as the sum of the coarse screening correction value and the receiving time based on the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the estimated target position of the target object, and the receiving time of the received satellite signal, and the pseudorange residuals between the target object and the three positioning satellites, and then the sum of the differences between the three pseudorange residuals is calculated, and the broadcast time corresponding to the coarse screening correction value with the smallest sum of the differences between the pseudorange residuals is selected as the estimated broadcast time.

[0036] In this way, a more accurate broadcast time can be estimated when TOW is unavailable.

[0037] Step S108: Determine the road point closest to the target object as the positioning position of the target object based on the ephemeris of the three positioning satellites and the estimated broadcast time of the satellite signals, the reception time, and the longitude and latitude of multiple road points included in the path where the target object is located.

[0038] The position of the positioning satellite in the geocentric coordinate system can be determined based on the estimated broadcast time and the ephemeris of the positioning satellite (referred to as the satellite rough position for ease of description).

[0039] According to the height of the target object and the longitude and latitude of each road point on the path, the position of each road point in the geocentric coordinate system can be determined, and then according to the rough satellite positions of the three positioning satellites, the pseudorange residuals between each road point and the three positioning satellites, as well as the difference between the pseudorange residuals, can be calculated, and then the road point closest to the target object can be determined based on the difference, thereby realizing the positioning of the target object.

[0040] This positioning method can estimate the broadcast time of the satellite signals of the three positioning satellites when TOW cannot be obtained, and then determine the satellite rough positions of the three positioning satellites based on the broadcast time and ephemeris. Based on the rough positions of the three positioning satellites and the longitude and latitude of the road point on the path where the target object is located, the road point closest to the target object can be determined, and the longitude and latitude of the road point are used as the positioning position of the target object. In this way, the target object can be positioned in combination with the information of the path without fully decoding the seconds of the week of the satellite signal, which can well adapt to the environment with poor satellite signals. Compared with the satellite signals of four positioning satellites required in the prior art, the method of this embodiment only requires three positioning satellites.

[0041] Through this embodiment, the code phase measurement data is determined based on the received satellite signal, and then the pseudo-range sub-millisecond part of the positioning satellite is determined, and then the broadcast time of the satellite signal is estimated according to the ephemeris of the three positioning satellites, the pseudo-range sub-millisecond part, the target estimated position of the target object and the reception time of the satellite signal, so that when the broadcast time cannot be decoded from the satellite signal, the broadcast time is estimated, and then according to the broadcast time, ephemeris of the three positioning satellites, the reception time of the received satellite signal, and the longitude and latitude of the road point on the path where the target object is located, the road point closest to the target object is determined, and the longitude and latitude of the road point are used as the positioning position of the target object. In this way, the positioning position of the target object can be solved by combining the longitude and latitude of the road point with the code phase measurement data of the three positioning satellites, thereby better meeting the positioning requirements when the satellite signal is not good.

[0042] The positioning method of this embodiment can be executed by any appropriate electronic device with data processing capabilities, including but not limited to: a server, a mobile terminal (such as a tablet computer, a mobile phone, etc.) and a PC, etc.

[0043] Embodiment 2

[0044] 2 , there is shown a schematic flow chart of the steps of the positioning method according to the second embodiment of the present application.

[0045] In this embodiment, the implementation process is described by taking the method applied in the field of navigation or cruising as an example. The method includes the following steps:

[0046] Step S202: obtaining the estimated target position of the target object and code phase measurement data in satellite signals from three positioning satellites received by the target object.

[0047] The estimated target position may be the position of the target object at the kth moment determined by network positioning.

[0048] The code phase measurement data in the satellite signal can be cross-correlated with the decoded code element by calculating the local signal, and the code element offset can be determined as the code phase measurement data.

[0049] Step S204: Determine the sub-millisecond parts of the pseudo-ranges of the three positioning satellites according to the code phase measurement data.

[0050] In a feasible manner, the time corresponding to the offset indicated by the code phase measurement data may be directly determined as the sub-millisecond part of the pseudo-range.

[0051] Step S206: Estimate the broadcasting time of the three positioning satellites based on the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the receiving time of the received satellite signal.

[0052] In one feasible manner, step S206 includes the following sub-steps:

[0053] Sub-step S2061: Acquire a broadcast time correction interval, wherein the broadcast correction interval includes a plurality of coarse screening correction values.

[0054] The broadcast time correction interval can be determined as needed, and this embodiment does not limit this. For example, it can be [-3, 3]. The reason why the broadcast time correction interval includes a positive coarse screening correction value is that there may be an error between the clock on the positioning satellite and the clock on the target object, causing the clock on the target object to be earlier than the clock on the positioning satellite.

[0055] The number of coarse screening correction values ​​included therein and the interval between two adjacent coarse screening correction values ​​can be appropriately determined according to the computing power, for example, the interval is 0.1 s.

[0056] Sub-step S2062: For each of the coarse screening correction values, determine the pseudorange residuals between the three positioning satellites and the target object corresponding to the coarse screening correction value, and the sum of the differences of the pseudorange residuals according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the estimated target position of the target object, and the reception time of the received satellite signal.

[0057] The following process can be performed for each coarse screening correction value to determine the sum of the differences of the pseudorange residuals calculated when the receiving time is corrected using each coarse screening correction value. The calculation process is described as follows:

[0058] Process A1: determining a current coarse screening correction value from a plurality of said coarse screening correction values.

[0059] For example, the current coarse screen correction value is -3.

[0060] Process B1: Determine the satellite rough estimated positions of the three positioning satellites according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudo-range, the receiving time and the current coarse screening correction value.

[0061] The ephemeris is used to indicate the correspondence between time (determined based on the clock on the positioning satellite) and the position of the positioning satellite.

[0062] The sum of the receiving time (such as 8:30:21) and the coarse screening correction value is 8:30:18, and then the sub-millisecond part of the pseudo-range is subtracted to calculate the result as the broadcast time.

[0063] Assume that there are three positioning satellites, namely, satellite G01, satellite G02 and satellite G03. The sub-millisecond part of the pseudo-range of satellite G01 is 0.1ms. The sub-millisecond part of the pseudo-range of satellite G02 is 0.2ms. The sub-millisecond part of the pseudo-range of satellite G03 is 0.5ms.

[0064] The broadcast time calculated by satellite G01 is: 8:30:18-0.1ms. The broadcast time calculated by satellite G02 is: 8:30:18-0.2ms. The broadcast time calculated by satellite G03 is: 8:30:18-0.5ms.

[0065] Based on the broadcast time and ephemeris of each positioning satellite, the satellite's rough estimated position in the geocentric coordinate system when the satellite signal is transmitted can be determined.

[0066] For example, the satellite G01's rough estimated position in the geocentric coordinate system is represented by the coordinates (x (1) ,y (1), z (1) ). The satellite rough estimated position of satellite G02 in the geocentric coordinate system is represented by coordinates (x (2) ,y (2) , z (2) ). The satellite rough estimated position of satellite G03 in the geocentric coordinate system is represented by coordinates (x (3) ,y (3) , z (3) )express.

[0067] Process C1: According to the satellite rough estimated positions of the three positioning satellites and the target estimated position of the target object, respectively determine the distances of the three positioning satellites relative to the target object.

[0068] Among them, the distance r1 between satellite G01 and the target object, the distance r2 between satellite G02 and the target object, and the distance r3 between satellite G03 and the target object are respectively expressed as:

[0069]

[0070]

[0071]

[0072] In order to ensure the accuracy of positioning and avoid interference or errors affecting the positioning accuracy, sub-step S2062 may also include processes D1 and E1.

[0073] Process D1: Determine the elevation angles between the three positioning satellites and the target object according to the satellite rough estimated positions of the three positioning satellites and the target estimated position of the target object.

[0074] The target estimated position of the target object indicates its position in the geocentric coordinate system expressed as coordinates (x, y, z).

[0075] For each positioning satellite, the angle between the line connecting the two and the horizontal plane can be calculated based on the satellite's rough estimated position and the target positioning position of the target object as its elevation angle.

[0076] Process E1: Selecting the positioning satellite with the largest elevation angle among the three positioning satellites as a reference satellite.

[0077] For example, satellite G01 is used as a reference satellite, and the remaining satellites G02 and G03 are used as non-reference satellites.

[0078] Process F1: determining the whole millisecond parts of the pseudoranges of the three positioning satellites respectively according to the distances of the three positioning satellites, the sub-millisecond parts of the pseudoranges and the speed of light.

[0079] The estimation methods of the whole millisecond part for reference satellites and non-reference satellites are different.

[0080] For a reference satellite: determining a whole millisecond part of the pseudorange of the reference satellite according to the distance between the reference satellite among the three positioning satellites and the target object, the speed of light and the sub-millisecond part of the pseudorange;

[0081] For example, the whole millisecond part of the pseudorange of satellite G01 is recorded as N 0 It is determined by dividing the distance between satellite G01 and the target object by the speed of light minus the sub-millisecond part of the pseudo-range (denoted as Z 0 ) and then round the millisecond to obtain the result as the whole millisecond part of the pseudorange.

[0082] For non-reference satellites: determine the whole millisecond part of the remaining positioning satellites based on the whole millisecond part and the sub-millisecond part of the pseudorange of the reference satellite, the speed of light, the sub-millisecond part of the pseudorange of the remaining positioning satellites, and the distances of the three positioning satellites.

[0083] For example, for the non-reference satellite G02, the whole millisecond part of the pseudorange is recorded as N 2 The calculation is done by the following formula and then rounded to the nearest millisecond. The calculation formula is: N 2 =[(N 0 +Z 0 )*CZ 2 *C+r 2 -r 1 ]. Among them, (N 0 +Z 0 )*C is the complete pseudorange of satellite G01, Z 2 is the sub-millisecond pseudorange part of satellite G02, r 2 is the distance between satellite G02 and the target object, r 1 is the distance between satellite G01 and the target object.

[0084] For the non-reference satellite G03, the whole millisecond part of the pseudorange is recorded as N 3 The calculation is done by the following formula and then rounded to the nearest millisecond. The calculation formula is: N 3 =[(N 0 +Z 0 )*CZ 3 *C+r 3 -r 1 ]. Among them, (N 0 +Z 0 )*C is the complete pseudorange of satellite G01, Z 3 is the sub-millisecond pseudorange part of satellite G03, r 3 is the distance between satellite G03 and the target object, r 1is the distance between satellite G01 and the target object.

[0085] Process E1: Determine the pseudorange residuals of the three positioning satellites at the current coarse screening correction value and the sum of the differences of the pseudorange residuals according to the distances of the three positioning satellites, the whole millisecond part of the pseudorange and the sub-millisecond part of the pseudorange.

[0086] The pseudoranges of the three positioning satellites are determined respectively according to the sub-millisecond parts and the whole-millisecond parts of the pseudoranges of the three positioning satellites.

[0087] Among them, the complete pseudorange ρ of satellite G01 (1) It is the sum of the pseudo-range full millisecond part + pseudo-range sub-millisecond part multiplied by the speed of light, expressed as (N 0 +Z 0 )*C.

[0088] The complete pseudorange ρ of satellite G02 (2) It is the sum of the pseudo-range full millisecond part + pseudo-range sub-millisecond part multiplied by the speed of light, expressed as (N 2 +Z 2 )*C.

[0089] The complete pseudorange ρ of satellite G03 (3) It is the sum of the pseudo-range full millisecond part + pseudo-range sub-millisecond part multiplied by the speed of light, expressed as (N 3 +Z 3 )*C.

[0090] Corresponding pseudorange residuals are determined respectively according to the pseudoranges of the three positioning satellites and the distances of the three positioning satellites.

[0091] The pseudorange residual of satellite G01 is resp (1) =ρ (1) -r 1 .

[0092] The pseudorange residual of satellite G02 is resp (2) =ρ (2) -r 2 .

[0093] The pseudorange residual of satellite G03 is resp (3) =ρ (3) -r 3 .

[0094] According to the pseudorange residuals of the three positioning satellites, the absolute values ​​of the differences between the pseudorange residuals of the reference satellite and the remaining two positioning satellites are determined respectively.

[0095] The absolute value of the difference between the pseudorange residuals of satellite G01 and satellite G02 is expressed as: (1) -resp (2)|.

[0096] The absolute value of the difference between the pseudorange residuals of satellite G01 and satellite G03 is expressed as: (1) -resp (3) |.

[0097] The sum of the absolute values ​​is taken as the sum of the differences of the pseudorange residuals corresponding to the current coarse screening correction value.

[0098] The sum of the differences of the pseudorange residuals resp = |resp (1) -resp (2) |+|resp (1) -resp (3) |.

[0099] The difference of pseudorange residuals can offset the satellite clock error, ionospheric error, target device clock error, and satellite position error.

[0100] The sum of the differences of the pseudorange residuals can be calculated for each coarse screening correction value through the above process. For example, after the coarse screening correction value is taken as -3, according to the step size of 0.1s, the coarse screening correction value can be taken as -2.9, and the sum of the differences of the corresponding pseudorange residuals can be repeatedly calculated.

[0101] In the above process, the broadcast time can be estimated based on three positioning satellites in the same system. If based on satellites in different systems, the sum of the difference of pseudorange residuals can be determined by four positioning satellites. For example, the absolute value of the difference of pseudorange residuals of two positioning satellites in the same system is calculated respectively, and the absolute values ​​of the two systems are summed, which is expressed as resp = |resp (1) -resp (2) |+|resp (3) -resp (4) |.

[0102] Sub-step S2063: using the coarse screening correction value with the smallest sum of the differences of the pseudorange residuals and the sub-millisecond part of the pseudorange, correct the receiving time to determine the broadcasting time of the coarse corrections of the three positioning satellites.

[0103] The sum of the differences of the pseudorange residuals, that is, resp, is selected from multiple coarse screening correction values. The smaller the resp, the closer the estimated broadcast time is to the true value. Therefore, the smallest corresponding coarse screening correction value is selected, and the receiving time is corrected in combination with the sub-millisecond part of the pseudorange, so as to obtain the satellite coarse correction broadcast time corresponding to each positioning satellite.

[0104] For example, if the coarse correction time with the smallest sum of the pseudorange residuals is -1, the broadcast time of the satellite G01 satellite coarse correction is 8:30:20-0.1ms. The broadcast time of the satellite G01 satellite coarse correction is 8:30:20-0.2ms. The broadcast time of the satellite G01 satellite coarse correction is 8:30:20-0.5ms.

[0105] Step S208: Determine the road point closest to the target object as the positioning position of the target object based on the ephemeris of the three positioning satellites and the estimated broadcast time of the satellite signals, the reception time, and the longitude and latitude of multiple road points included in the path where the target object is located.

[0106] Under normal circumstances, the positions of four satellites are required to calculate and determine the position of the target object. In this embodiment, by combining the longitude and latitude of the road point on the path where the target object is located, the positioning position of the target object is determined based on the positions of three positioning satellites.

[0107] In this embodiment, to ensure accuracy, step S208 may include the following sub-steps:

[0108] Sub-step S2081: performing a first interpolation process on the path, and obtaining a plurality of coarse-screened road points.

[0109] For example, the path is interpolated at intervals of 50 m to ensure that the distance between any two adjacent rough screening road points is 50 m, and that screening is performed at equal intervals.

[0110] The part that is less than 50m after interpolation can be directly discarded.

[0111] Since the longitude and latitude of the path are known, the longitude and latitude of the obtained rough screened road points can also be calculated.

[0112] Sub-step S2082: Determine the satellite rough positions of the three positioning satellites according to the ephemeris and broadcasting times of the three positioning satellites.

[0113] According to the broadcast time, the positions of the three positioning satellites at the broadcast time can be determined by querying the ephemeris.

[0114] Sub-step S2083: selecting a rough screening result road point from a plurality of the rough screening road points according to the satellite rough positions of the three positioning satellites, the target estimated position of the target object, and the longitude and latitude of the rough screening road point.

[0115] In one feasible manner, since the target estimated position of the target object indicates longitude, latitude and altitude, and the longitude and latitude combined with the altitude can be converted to and from the position in the geocentric coordinate system, the altitude of the target object can be calculated first.

[0116] The calculation principle is briefly described as follows:

[0117] Since the satellite rough position indicates the position of the positioning satellite in the geocentric coordinate system, there is the following conversion relationship between it and the longitude and latitude:

[0118] x=(N+h)cos(lat)cos(lon)

[0119] y=(N+h)cos(lat)sin(lon)

[0120] z=[N(1-e 2 )+h]sin(lat)

[0121] Among them, x, y, z are the positions in the geocentric coordinate system, N is the radius of curvature of the earth, e is the eccentricity of the ellipsoid, lat and lon are the longitude and latitude, and h is the altitude.

[0122] Based on the estimated target position, the coordinates of the target object in the geocentric coordinate system can be determined, expressed as (x, y, z).

[0123] Since the height of a path is basically unchanged, based on the height of the target object, the corresponding coordinates in the geocentric coordinate system can be determined according to the longitude and latitude of each coarse-screened road point.

[0124] For each coarse-screened road point, the pseudo-range residuals between it and the three positioning satellites can be calculated according to its coordinates, and then the sum of the differences of the pseudo-range residuals is calculated, and the one with the smallest sum of the differences of the pseudo-range residuals is selected as the first road point.

[0125] For example, the path where the target object is located includes coarse-screened road points 1 to 10, and the following processing is performed for each coarse-screened road point:

[0126] Taking the rough screening road point 1 as an example, its coordinates in the geocentric coordinate system are determined according to its altitude, longitude and latitude (x 1 ,y 1 ,z 1 ).

[0127] The pseudo-range residual between the rough screening road point 1 and the satellite G01 is expressed as:

[0128]

[0129] in, is the complete pseudorange, which is the product of the sum of the whole millisecond part of the pseudorange and the sub-millisecond part of the pseudorange and the speed of light. It is the distance from the satellite rough position of satellite G01 to the rough screening waypoint 1.

[0130] The calculation process of the pseudorange residuals of the rough-screened road point 1 and satellites G02 and G03 is the same. It only needs to replace the corresponding complete pseudorange and the satellite's rough position, so it will not be repeated here.

[0131] According to the pseudo-range residuals of the coarse-screened road point 1 and the three positioning satellites, the sum of the differences of the pseudo-range residuals is determined. The calculation process is as described above, such as subtracting the pseudo-range residual with satellite G01 from the pseudo-range residual with satellite G02 to obtain the absolute value, and then subtracting the pseudo-range residual with satellite G01 from the pseudo-range residual with satellite G02 to obtain the absolute value, and then summing the two absolute values.

[0132] In this way, the sum of the differences of the pseudorange residuals of the rough-screened road points 1 to 10 can be calculated, and then the smallest rough-screened road point can be selected as the first road point.

[0133] Sub-step S2084: Determine the new target estimated position and new path of the target object based on the rough screening result road points, and perform a secondary estimate of the broadcast time of the three positioning satellites in combination with the ephemeris, the sub-millisecond part of the pseudorange, and the receiving time of the three satellites.

[0134] In this embodiment, the first road point is used as the new estimated target position, and a new path is determined accordingly. A secondary estimation of the broadcast time is performed at a finer granularity to improve the accuracy of the broadcast time estimation, thereby improving the accuracy of positioning.

[0135] For example, if the first road point is the rough screening road point 5, then the rough screening road point 5 is taken as the middle position, and M meters are intercepted forward and backward along the path, where M meters should be greater than or equal to the distance between two adjacent rough screening road points. For example, the value can be 50m or 70m. The intercepted path is used as the new path.

[0136] The process of performing the second estimation of the broadcast time is similar to the process of the first estimation, so it is briefly described as follows:

[0137] The broadcast time correction interval of the second estimation takes the coarse screening correction value determined in the first estimation as the median. If the coarse screening correction value of the first estimation is -1, the broadcast time correction interval of the second estimation is [-1.1, -0.9]. In order to obtain a more accurate broadcast time, the broadcast time correction interval of the second estimation includes multiple fine screening correction values, and the interval between two adjacent fine screening correction values ​​is 0.01s.

[0138] Then, for each fine screening correction value, the first road point is used as the new target estimated position of the target object, and the pseudorange residual corresponding to each fine screening correction value and the sum of the differences of the pseudorange residuals are determined in a manner similar to the aforementioned sub-step S2062.

[0139] The one with the smallest sum of pseudorange residual differences is selected from multiple fine-screened correction values ​​as the final correction value, and the secondary estimated broadcast time is determined based on the final correction value.

[0140] Sub-step S2085: Determine the road point closest to the target object as the positioning position of the target object based on the ephemeris of the three positioning satellites and the second estimated broadcast time of the satellite signals, the reception time, and the longitude and latitude of multiple road points included in the new path of the target object.

[0141] In this sub-step, the process of selecting the closest road point from the road points included in the new path is similar to the process of selecting the road points of the rough screening result, so it is briefly described as follows:

[0142] For the new path, the new path is interpolated according to a finer granularity to obtain multiple fine-screened road points. For example, the distance between two adjacent fine-screened road points is 10m.

[0143] For each refined road point, the pseudorange residual corresponding to each refined road point and the sum of the differences of the pseudorange residuals are determined through a process similar to sub-steps S2082 and S2083, and then the refined road point with the smallest sum of the differences of the pseudorange residuals is selected as the positioning position of the target object.

[0144] The following is an explanation of the positioning process based on a specific usage scenario:

[0145] Reference Figure 2B In one usage scenario, the target object can be a mobile phone or other device carried by the user, as long as it can communicate with the positioning satellite. When the user is navigating or cruising with a mobile phone, if the satellite signal received by the mobile phone is not sufficient to decode the seconds of the week and the broadcast time cannot be determined, the mobile phone can be located in the following ways:

[0146] For the sake of convenience, it is taken as an example that a mobile phone receives satellite signals from at least three positioning satellites, the satellites are respectively recorded as satellite G01, satellite G02 and satellite G03. The received satellite signals are respectively recorded as satellite signal 1, satellite signal 2 and satellite signal 3.

[0147] In general, the positioning process can be divided into several parts: obtaining the estimated position of the target, coarse search during coarse-time, coarse search of the road network, fine search during coarse-time, and fine search of the road network.

[0148] The following explains it:

[0149] S1: Obtain the target estimated position and pseudo-range sub-millisecond part based on positioning satellite or network positioning.

[0150] Taking the determination of the positioning position at the kth moment as an example, if the positioning position is determined by satellite positioning at the k-1th moment, it can be used as the estimated target position at the kth moment. Alternatively, the estimated target position is obtained by network positioning at the kth moment.

[0151] The code phase measurement data is determined by the code elements in the satellite signal, and the sub-millisecond part of the pseudo-range corresponding to each of the three positioning satellites is determined according to the code element offset indicated by it.

[0152] S2: Perform a coarse search to estimate the broadcast time.

[0153] S21: Obtain an estimated broadcast event correction interval and determine a coarse screening correction value.

[0154] For example, the estimated broadcast event correction interval is [-3,3] and the step length is 0.1s. The current coarse screening correction value is -3.

[0155] S22: Determine the satellite's rough position.

[0156] The broadcast time of each positioning satellite is determined based on the coarse screening correction value, the receiving time and the sub-millisecond part of the pseudo-range, and the rough estimated satellite position of each positioning satellite is determined based on the ephemeris of each positioning satellite.

[0157] S23: Calculate the distance between the positioning satellite and the mobile phone.

[0158] The estimated position of the target can be converted into coordinates (x, y, z) in the geocentric coordinate system. The distance can be calculated based on the rough estimated position of the positioning satellite and the coordinates of the mobile phone.

[0159] S24: Determine a reference satellite from three positioning satellites.

[0160] Based on the rough estimated positions of the three positioning satellites and the coordinates of the mobile phone, the elevation angle between the mobile phone and each positioning satellite can be determined, and then the satellite with the largest elevation angle is selected as the reference satellite, and the remaining positioning satellites are non-reference satellites.

[0161] S25: Calculate the whole millisecond part of the pseudorange of the reference satellite.

[0162] Divide the distance from the reference satellite to the mobile phone by the speed of light and then subtract the sub-millisecond part of the pseudo-range. Round the result to the nearest millisecond to get the whole millisecond part of the pseudo-range of the reference satellite.

[0163] S26: Calculate the whole millisecond part of the pseudorange of the non-reference satellite.

[0164] The complete pseudorange of the reference satellite is obtained by summing the whole millisecond part and the sub-millisecond part of the pseudorange of the reference satellite and multiplying it by the speed of light.

[0165] The sub-millisecond pseudo-range is obtained by multiplying the sub-millisecond part of the pseudo-range of the non-reference satellite by the speed of light.

[0166] The sub-millisecond pseudorange of the non-reference satellite is subtracted from the full pseudorange of the reference satellite, the distance from the non-reference satellite to the mobile phone is added, and then the distance from the reference satellite to the mobile phone is subtracted. The result is rounded to milliseconds to obtain the whole millisecond part of the pseudorange of the non-reference satellite.

[0167] S27: Filter abnormal satellites.

[0168] Based on the whole millisecond part and sub-millisecond part of the pseudorange obtained from the reference satellite and the non-reference satellite, the difference in the complete pseudorange between the reference satellite and the non-reference satellite can be calculated. If the difference in the complete pseudorange is greater than the set threshold, it means that the satellite is an abnormal satellite and it will be filtered out to avoid affecting the accuracy of positioning.

[0169] Among them, the whole millisecond part of the pseudorange of the non-reference satellite can be expressed as N k .

[0170] N k =round(N 0 +ρ 0 -ρ k +(r k -δ k t )-(r 0 -δ 0 t ))

[0171] Among them, N 0 is the whole millisecond part of the pseudorange of the reference satellite, ρ 0 is the sub-millisecond part of the pseudorange of the reference satellite, ρ k is the sub-millisecond part of the pseudorange of the non-reference satellite, r k is the distance from the non-reference satellite to the mobile phone, δ k t is the clock error of the non-reference satellite, determined based on the satellite signal, r 0 is the distance from the reference satellite to the mobile phone, δ 0 t is the clock error of the reference satellite. round() is rounding. Pseudorange difference Pseudorange N k -N 0 If the decimal part in the brackets is too large, it is considered an abnormal satellite. For example, N 0 +ρ 0 -ρ k +(r k-δ k t )-(r 0 -δ 0 t ) If the decimal point of the value calculated is greater than the threshold, it is determined to be an abnormal satellite.

[0172] S28: Calculate pseudorange residuals.

[0173] The pseudorange residual is the complete pseudorange of the positioning satellite minus its distance from the mobile phone.

[0174] S29: Calculate the sum of the differences of the pseudorange residuals.

[0175] For example, the pseudorange residual of the reference satellite is subtracted from the pseudorange residual of one of the non-reference satellites, and then the absolute value is calculated. Then, the pseudorange residual of the reference satellite is subtracted from the pseudorange residual of another non-reference satellite, and then the absolute value is calculated. The two absolute values ​​are summed as the sum of the differences of the pseudorange residuals corresponding to the coarse screening correction value -3.

[0176] A new coarse screening correction value such as -2.9 is re-determined, and the process returns to S22 to execute until the sum of the differences of the pseudorange residuals of all coarse screening correction values ​​is obtained.

[0177] S210: Select a coarse screening correction value with the smallest sum of pseudorange residual differences to determine an estimated broadcast time.

[0178] The selected coarse screening correction value is summed with the receiving time, and then the sub-millisecond part of the pseudo-range is subtracted to obtain an estimated broadcast time.

[0179] S3: Perform a rough search of the road network.

[0180] S31: Determine the satellite rough position based on an estimated broadcast time.

[0181] S32: Obtain a plurality of coarsely screened road points according to the path of the target object.

[0182] The path is interpolated at intervals of 50 m to obtain multiple coarse-screened road points.

[0183] S33: For each coarsely screened road point, determine the sum of the differences of the pseudorange residuals.

[0184] Phase I: Determine the coordinates of the current rough screening road point based on the longitude, latitude and height of the target object.

[0185] Phase II: Calculate the distance from the current rough-screened road point to each positioning satellite based on the coordinates of the current rough-screened road point and the rough satellite positions of the three positioning satellites.

[0186] Phase II: Calculate the pseudorange residuals based on the complete pseudoranges of the three positioning satellites and the distances from the current coarse-screened road points to each positioning satellite.

[0187] Phase III: Calculate the sum of the differences of the pseudorange residuals.

[0188] S34: Select the coarse screening road point with the smallest sum of pseudo-range residual differences as the coarse screening result road point.

[0189] S4: Perform a coarse and fine search.

[0190] During the coarse-time fine search, the coarse-screening correction value selected in S210 is used as the median value, and extended by 0.1s before and after to determine the broadcast time correction interval during the secondary estimation. Multiple fine-screening correction values ​​are determined with a step size of 0.01s. The road point of the coarse-screening result is used as the new target estimated position, and the same process as S22 to S29 is performed to determine the sum of the difference values ​​of the pseudo-range residuals corresponding to each fine-screening correction value.

[0191] The fine-screen correction value with the smallest sum of pseudo-range residual differences is selected and summed with the receiving time, and then the broadcasting time of the secondary estimate of each positioning satellite is determined based on the respective sub-millisecond parts of the pseudo-range.

[0192] S5: Perform a detailed road network search.

[0193] During the detailed search of the road network, the satellite detailed position is determined according to the broadcast time of the secondary estimation. The road point of the rough screening result determined by S34 is used as the intermediate position, and 50m is intercepted forward and backward along the path to form a new path. With a step length of 10m, the new path is interpolated to obtain multiple fine screening road points.

[0194] For each refined road point, a process similar to S33 is performed to determine the sum of the difference of the pseudorange residuals of each refined road point. The refined road point with the smallest sum of the difference of the pseudorange residuals is selected as the road point closest to the target object, and its longitude and latitude are used as the positioning position of the target object.

[0195] The coarse time positioning of this method does not need to wait for the complete pseudorange to be read, so its positioning speed is very fast. The first positioning time is within 1s, while it normally takes 3-6s. On the other hand, it can be positioned with only three positioning satellites, which improves the success rate of satellite positioning solution in complex scenarios. Combining coarse time positioning and road network information, using three satellites with code phase synchronization for position solution makes it more adaptable.

[0196] It should be noted that although the above description uses three positioning satellites as an example, it is not limited to three positioning satellites, and the target object can communicate with more positioning satellites. It is mainly applicable to the situation where the complete pseudorange cannot be decoded.

[0197] The positioning method of this embodiment can be executed by any appropriate electronic device with data processing capabilities, including but not limited to: a server, a mobile terminal (such as a tablet computer, a mobile phone, etc.) and a PC, etc.

[0198] Embodiment 3

[0199] Reference Figure 3 , shows a structural block diagram of the positioning device of Example 3 of the present application.

[0200] The positioning device includes:

[0201] An acquisition module 302 is used to acquire a target estimated position of a target object and code phase measurement data in satellite signals of three positioning satellites received by the target object;

[0202] A first determination module 304 is used to determine the sub-millisecond parts of the pseudo-ranges of the three positioning satellites according to the code phase measurement data;

[0203] A primary estimation module 306, configured to estimate the broadcasting time of the three positioning satellites based on the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the reception time of the received satellite signal;

[0204] The second determination module 308 is used to determine the road point closest to the target object as the positioning position of the target object based on the ephemeris of the three positioning satellites and the estimated broadcast time of the satellite signals, the reception time, and the longitude and latitude of multiple road points included in the path where the target object is located.

[0205] Optionally, a primary estimation module 306 is used to obtain a broadcast time correction interval, wherein the broadcast correction interval includes multiple coarse screening correction values; for each of the coarse screening correction values, the pseudorange residuals between the three positioning satellites and the target object corresponding to the coarse screening correction value and the sum of the differences of the pseudorange residuals are determined according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the receiving time of the received satellite signal; the coarse screening correction value and the sub-millisecond part of the pseudorange with the smallest sum of the differences of the pseudorange residuals are used to correct the receiving time to determine the coarsely corrected broadcast time of the three positioning satellites.

[0206] Optionally, the primary estimation module 306 is used to determine, for each of the coarse screening correction values, the pseudorange residuals of the three positioning satellites and the target object corresponding to the coarse screening correction value, and the sum of the differences of the pseudorange residuals according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the reception time of the received satellite signal, and then determine the current coarse screening correction value from the multiple coarse screening correction values; determine according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the reception time and the current coarse screening correction value. The rough satellite positions of the three positioning satellites; determining the distances of the three positioning satellites relative to the target object based on the rough satellite positions of the three positioning satellites and the target estimated position of the target object; determining the whole millisecond parts of the pseudoranges of the three positioning satellites based on the distances of the three positioning satellites, the sub-millisecond parts of the pseudoranges and the speed of light; determining the pseudorange residuals of the three positioning satellites at the current coarse screening correction value and the sum of the differences of the pseudorange residuals based on the distances of the three positioning satellites, the whole millisecond parts of the pseudoranges and the sub-millisecond parts of the pseudoranges.

[0207] Optionally, the primary estimation module 306 is further used to determine the elevation angles between the three positioning satellites and the target object based on the rough estimated satellite positions of the three positioning satellites and the target estimated position of the target object; and select the positioning satellite with the largest elevation angle among the three positioning satellites as a reference satellite.

[0208] Optionally, the primary estimation module 306 is used to determine the whole millisecond part of the pseudorange of the three positioning satellites according to the distance between the reference satellite and the target object, the speed of light and the sub-millisecond part of the pseudorange when determining the whole millisecond part of the pseudorange of the three positioning satellites respectively according to the distances of the three positioning satellites, the sub-millisecond part of the pseudorange and the speed of light; and determine the whole millisecond part of the pseudorange of the remaining positioning satellites according to the whole millisecond part and the sub-millisecond part of the pseudorange of the reference satellite, the speed of light, the sub-millisecond part of the pseudorange of the remaining positioning satellites, and the distances of the three positioning satellites.

[0209] Optionally, a primary estimation module 306 is used to determine the pseudorange residuals of the three positioning satellites at the current coarse screening correction value and the sum of the differences of the pseudorange residuals according to the distances of the three positioning satellites, the whole millisecond part of the pseudorange and the sub-millisecond part of the pseudorange. The pseudoranges of the three positioning satellites are determined according to the sub-millisecond parts of the pseudoranges and the whole millisecond parts of the pseudoranges; the corresponding pseudorange residuals are determined according to the pseudoranges of the three positioning satellites and the distances of the three positioning satellites; the absolute values ​​of the differences between the pseudorange residuals of the reference satellite and the remaining two positioning satellites are determined according to the pseudorange residuals of the three positioning satellites; and the sum of the absolute values ​​is used as the sum of the differences of the pseudorange residuals corresponding to the current coarse screening correction value.

[0210] Optionally, the second determination module 308 is used to perform a first interpolation processing on the path and obtain multiple coarse-screened road points; determine the satellite coarse positions of the three positioning satellites according to the ephemeris and broadcast time of the three positioning satellites; select a coarse-screened result road point from the multiple coarse-screened road points according to the satellite coarse positions of the three positioning satellites, the target estimated position of the target object, and the longitude and latitude of the coarse-screened road point; determine the new target estimated position and the new path of the target object according to the coarse-screened result road point, and perform a secondary estimation of the broadcast time of the three positioning satellites in combination with the ephemeris of the three satellites, the sub-millisecond part of the pseudorange, and the receiving time; determine the road point closest to the target object as the positioning position of the target object according to the ephemeris of the three positioning satellites and the secondary estimated broadcast time of the satellite signal, the receiving time, and the longitude and latitude of the multiple road points included in the new path of the target object.

[0211] The positioning device of this embodiment is used to implement the corresponding positioning methods in the aforementioned multiple method embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here. In addition, the functional implementation of each module in the positioning device of this embodiment can refer to the description of the corresponding parts in the aforementioned method embodiments, which will not be repeated here.

[0212] Embodiment 4

[0213] Reference Figure 4 , shows a schematic diagram of the structure of an electronic device according to Embodiment 4 of the present invention. The specific embodiment of the present invention does not limit the specific implementation of the electronic device.

[0214] like Figure 4 As shown, the electronic device may include: a processor (processor) 402 , a communication interface (Communications Interface) 404 , a memory (memory) 406 , and a communication bus 408 .

[0215] in:

[0216] The processor 402 , the communication interface 404 , and the memory 406 communicate with each other via a communication bus 408 .

[0217] The communication interface 404 is used to communicate with other electronic devices or servers.

[0218] The processor 402 is used to execute the program 410, and specifically can execute the relevant steps in the above positioning method embodiment.

[0219] Specifically, the program 410 may include program codes, which include computer operation instructions.

[0220] The processor 42 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.

[0221] The memory 406 is used to store the program 410. The memory 406 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0222] The program 410 may be specifically used to enable the processor 402 to perform operations corresponding to any of the aforementioned positioning methods.

[0223] The specific implementation of each step in program 410 can refer to the corresponding description of the corresponding steps and units in the above positioning method embodiment, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the above-mentioned method embodiment, which will not be repeated here.

[0224] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present invention can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present invention.

[0225] The above-described method according to an embodiment of the present invention may be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code that is originally stored in a remote recording medium or a non-temporary machine-readable medium downloaded through a network and will be stored in a local recording medium, so that the method described herein may be stored in such software processing on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as an ASIC or FPGA). It is understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code, and when the software or computer code is accessed and executed by a computer, a processor, or hardware, the positioning method described herein is implemented. In addition, when a general-purpose computer accesses the code for implementing the positioning method shown herein, the execution of the code converts the general-purpose computer into a dedicated computer for executing the positioning method shown herein.

[0226] Those of ordinary skill in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present invention.

[0227] The above implementation methods are only used to illustrate the embodiments of the present invention, and are not limitations of the embodiments of the present invention. Ordinary technicians in the relevant technical field may make various changes and modifications without departing from the spirit and scope of the embodiments of the present invention. Therefore, all equivalent technical solutions also belong to the scope of the embodiments of the present invention. The patent protection scope of the embodiments of the present invention should be defined by the claims.

Claims

1. A positioning method, include: Obtaining a target estimated position of the target object and code phase measurement data in satellite signals of three positioning satellites received by the target object; Determining sub-millisecond parts of pseudoranges of the three positioning satellites according to the code phase measurement data; Correcting the receiving time according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the receiving time of the received satellite signal to obtain the estimated broadcasting time of the three positioning satellites; According to the ephemeris of the three positioning satellites and the estimated broadcast time of the satellite signals, the receiving time, and the longitude and latitude of multiple road points included in the path where the target object is located, the road point closest to the target object is determined as the positioning position of the target object.

2. The method according to claim 1, in, The step of correcting the receiving time according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the receiving time of the received satellite signal to obtain the estimated broadcasting time of the three positioning satellites includes: Acquire a broadcast time correction interval, wherein the broadcast time correction interval includes a plurality of rough screening correction values; For each of the coarse screening correction values, the pseudorange residuals between the three positioning satellites and the target object corresponding to the coarse screening correction value and the sum of the differences of the pseudorange residuals are determined according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the reception time of the received satellite signal; The receiving time is corrected using the coarse screening correction value with the smallest sum of the differences of the pseudorange residuals and the sub-millisecond part of the pseudorange to determine the broadcasting time of the coarse corrections of the three positioning satellites.

3. The method according to claim 2, in, For each of the coarse screening correction values, the pseudorange residuals of the three positioning satellites and the target object corresponding to the coarse screening correction value and the sum of the differences of the pseudorange residuals are determined according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the reception time of the received satellite signal, including: determining a current coarse screening correction value from a plurality of said coarse screening correction values; Determine the satellite rough estimated positions of the three positioning satellites according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the receiving time and the current coarse screening correction value; Determining the distances of the three positioning satellites relative to the target object respectively according to the satellite rough estimated positions of the three positioning satellites and the target estimated position of the target object; Determine the whole millisecond parts of the pseudoranges of the three positioning satellites respectively according to the distances of the three positioning satellites, the sub-millisecond parts of the pseudoranges and the speed of light; According to the distances of the three positioning satellites, the whole millisecond part of the pseudorange and the sub-millisecond part of the pseudorange, the pseudorange residuals of the three positioning satellites at the current coarse screening correction value and the sum of the differences of the pseudorange residuals are determined.

4. The method according to claim 3, in, The method further comprises: Determining elevation angles between the three positioning satellites and the target object according to the satellite rough estimated positions of the three positioning satellites and the target estimated position of the target object; The positioning satellite with the largest elevation angle among the three positioning satellites is selected as a reference satellite.

5. The method according to claim 4, in, The step of determining the whole millisecond parts of the pseudoranges of the three positioning satellites respectively according to the distances of the three positioning satellites, the sub-millisecond parts of the pseudoranges and the speed of light comprises: Determine the whole millisecond part of the pseudorange of the reference satellite according to the distance between the reference satellite among the three positioning satellites and the target object, the speed of light and the sub-millisecond part of the pseudorange; The whole millisecond part of the remaining positioning satellites is determined according to the whole millisecond part and the sub-millisecond part of the pseudorange of the reference satellite, the speed of light, the sub-millisecond part of the pseudorange of the remaining positioning satellites, and the distances of the three positioning satellites.

6. The method according to claim 4, in, Determining the pseudorange residuals of the three positioning satellites at the current coarse screening correction value and the sum of the differences of the pseudorange residuals according to the distances of the three positioning satellites, the whole millisecond part of the pseudorange and the sub-millisecond part of the pseudorange, comprises: Determine the pseudoranges of the three positioning satellites respectively according to the sub-millisecond parts of the pseudoranges and the whole-millisecond parts of the pseudoranges of the three positioning satellites; Determining corresponding pseudorange residuals respectively according to the pseudoranges of the three positioning satellites and the distances of the three positioning satellites; According to the pseudorange residuals of the three positioning satellites, determining the absolute values ​​of the differences between the pseudorange residuals of the reference satellite and the remaining two positioning satellites; The sum of the absolute values ​​is taken as the sum of the differences of the pseudorange residuals corresponding to the current coarse screening correction value.

7. The method according to claim 2, in, According to the ephemeris of the three positioning satellites and the estimated broadcast time of the satellite signals, the receiving time, and the longitudes and latitudes of the plurality of road points included in the path where the target object is located, determining the road point closest to the target object as the positioning position of the target object, including: Performing a first interpolation process on the path and obtaining a plurality of coarse-screened road points; Determining the satellite rough positions of the three positioning satellites according to the ephemeris and broadcasting times of the three positioning satellites; Selecting a rough screening result road point from a plurality of the rough screening road points according to the satellite rough positions of the three positioning satellites, the target estimated position of the target object, and the longitude and latitude of the rough screening road point; Determine a new target estimated position and a new path of the target object according to the rough screening result road points, and perform a secondary estimation of the broadcasting time of the three positioning satellites in combination with the ephemeris, the sub-millisecond part of the pseudorange, and the receiving time of the three satellites; According to the ephemeris of the three positioning satellites and the second estimated broadcast time of the satellite signals, the receiving time, and the longitude and latitude of multiple road points included in the new path of the target object, the road point closest to the target object is determined as the positioning position of the target object.

8. A positioning device, include: An acquisition module, used to acquire a target estimated position of a target object and code phase measurement data in satellite signals of three positioning satellites received by the target object; A first determination module is used to determine the sub-millisecond parts of the pseudo-ranges of the three positioning satellites according to the code phase measurement data; a primary estimation module, configured to correct the receiving time according to the ephemeris of the three positioning satellites, the sub-millisecond part of the pseudorange, the target estimated position of the target object, and the receiving time of the received satellite signal, so as to obtain the estimated broadcasting time of the three positioning satellites; The second determination module is used to determine the road point closest to the target object as the positioning position of the target object based on the ephemeris of the three positioning satellites and the estimated broadcast time of the satellite signals, the reception time, and the longitude and latitude of multiple road points included in the path where the target object is located.

9. An electronic device, include: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the positioning method according to any one of claims 1 to 7.

10. A computer storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the positioning method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Quick positioning method of satellite navigation receiver after recapture of lost lock

    CN104678419A

  • Satellite positioning method and system

    CN109946725A