CN108513623B - Pseudo-range calculation method and terminal - Google Patents

Pseudo-range calculation method and terminal Download PDF

Info

Publication number
CN108513623B
CN108513623B CN201780006832.6A CN201780006832A CN108513623B CN 108513623 B CN108513623 B CN 108513623B CN 201780006832 A CN201780006832 A CN 201780006832A CN 108513623 B CN108513623 B CN 108513623B
Authority
CN
China
Prior art keywords
time
terminal
satellite
error
acquiring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201780006832.6A
Other languages
Chinese (zh)
Other versions
CN108513623A (en
Inventor
张伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN108513623A publication Critical patent/CN108513623A/en
Application granted granted Critical
Publication of CN108513623B publication Critical patent/CN108513623B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/23Testing, monitoring, correcting or calibrating of receiver elements

Abstract

A pseudorange calculation method and terminal, computer program product and computer storage medium comprising: acquiring the current time (201) of the local terminal; obtaining a distance (202) between the terminal and an out-of-lock satellite, the out-of-lock satellite being a satellite that provides positioning service for the terminal before losing lock; calculating a first transmission time (203) for the out-of-lock satellite to transmit a satellite signal to the terminal according to the current time and the distance; calculating a second transmission time (204) from the first transmission time and an actual time resolved from a navigation message transmitted from the out-of-lock satellite; a pseudorange between the terminal and the out-of-lock satellite is computed from the current time and the second time of transmission (205). The method does not need to carry out frame synchronization in the pseudo-range calculation process, thereby avoiding the need of waiting for a long time for completing the frame synchronization, shortening the time consumed by the terminal for calculating the pseudo-range and improving the speed of the pseudo-range calculation.

Description

Pseudo-range calculation method and terminal
Technical Field
The present application relates to the field of satellite navigation technologies, and in particular, to a pseudorange calculation method and a terminal.
Background
In order to realize the Positioning function, terminals such as an unmanned aerial vehicle, a vehicle, and a mobile phone are generally provided with a Global Navigation Satellite System (GNSS), such as a Global Positioning System (GPS), a BeiDou Satellite Navigation System (BDS), a GLONASS Navigation System (GLONASS), and a GALILEO Navigation System (GALILEO). When a navigation satellite signal of the GNSS is weak, for example, when the terminal passes through a cave, a bridge opening, an underground passage, a building shield, and the like in a moving process and passes through a shielded environment or encounters sudden interference, the terminal cannot track and lock the satellite signal through a receiver preset by the terminal, so that the satellite signal is unlocked. When the satellite signal reappears, the terminal needs to acquire and track the satellite signal again through the receiver when recovering, so as to realize relocation, and the process is called lock losing recapture.
After partial satellites are unlocked, if the terminal cannot be accurately positioned through the receiver, the terminal can estimate the current position range according to position information, speed information, unlocking time, application scenes and the like before unlocking. For example, the terminal first obtains the current time through the receiver, and queries whether the channel of the receiver completes bit synchronization and frame synchronization, and when the bit synchronization and the frame synchronization are completed, the terminal can read parameters such as a code phase of the channel of the receiver, a preset bit internal code period count, a preset frame internal bit count, time corresponding to a preset bit, and time corresponding to a preset code period. And then estimating the transmitting time of the satellite signals according to the parameters, estimating a pseudo range according to the local time, the transmitting time and the like, and finally positioning according to the obtained pseudo range.
When the transmitting time of the satellite signal is estimated, the uncertain range is large, not only bit synchronization needs to be completed, but also after frame synchronization needs to be completed, the transmitting time can be estimated according to parameters such as a code phase, a code period count, a bit count, time corresponding to a preset bit, time corresponding to a preset code period and the like, then the pseudo range is further estimated according to the transmitting time, and long waiting time is needed for completing the frame synchronization, so that the waiting time for the pseudo range calculated by the terminal is long.
Disclosure of Invention
In order to solve the technical problem of long waiting time in pseudo-range calculation in the prior art, the embodiment of the application provides a pseudo-range calculation method, and a terminal calculates real transmission time through estimated transmission time and acquired part of actual time so as to obtain a pseudo-range. Frame synchronization is not needed in the process of calculating the pseudo range, and the pseudo range calculation speed is improved. The embodiment of the application also provides a terminal, a computer program product, a computer storage medium and the like.
A first aspect of an embodiment of the present application provides a pseudorange calculation method, which may include:
acquiring the local current time of the terminal;
acquiring the distance between the terminal and an unlocked satellite, wherein the unlocked satellite is a satellite which provides positioning service for the terminal before being unlocked;
calculating first transmitting time for the unlocked satellite to transmit satellite signals to the terminal according to the current time and the distance;
calculating second transmitting time according to the first transmitting time and actual time resolved by navigation messages transmitted from the unlocked satellite;
and calculating the pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmitting time.
Optionally, before calculating the second transmission time according to the first transmission time and the actual time calculated from the navigation message transmitted from the out-of-lock satellite, the method further comprises:
acquiring a transmission error of the first transmission time;
judging whether the emission error meets a preset condition or not;
and if so, executing a step of calculating second transmitting time according to the first transmitting time and actual time calculated from the navigation message transmitted from the unlocked satellite.
Optionally, the obtaining the transmission error of the first transmission time includes:
acquiring a satellite error of the out-of-lock satellite and a propagation error of the satellite signal;
acquiring a receiver error of the terminal preset receiver;
and acquiring the transmitting error according to the satellite error, the propagation error and the receiver error.
Optionally, the determining whether the transmission error meets a preset condition includes:
acquiring a code period of a preset receiver channel of the terminal;
and when the transmission error is smaller than half of the code period, determining that the transmission error meets a first preset condition, wherein the first preset condition is included in the preset condition.
Optionally, the calculating a second transmission time from the first transmission time and an actual time resolved for the navigation message transmitted from the out-of-lock satellite comprises:
when the transmission error meets the first preset condition, acquiring actual code phase time resolved from a navigation message transmitted by the unlocked satellite;
acquiring a bit period of the receiver channel;
calculating estimated code phase time according to the first transmitting time, the code period and the bit period;
and calculating the second transmitting time according to the first transmitting time, the actual code phase time and the estimated code phase time.
Optionally, after acquiring the code period of the preset receiver channel of the terminal, the method further includes:
when the transmission error is larger than half of the code period, acquiring the bit period of the receiver channel;
and when the transmission error is smaller than half of the bit period, determining that the transmission error meets a second preset condition, wherein the second preset condition is included in the preset condition.
Optionally, the calculating a second transmission time from the first transmission time and an actual time resolved for the navigation message transmitted from the out-of-lock satellite comprises:
when the transmission error meets the second preset condition, acquiring actual code phase time resolved from a navigation message transmitted by the unlocked satellite and actual code period time corresponding to code period counting in preset bits;
calculating the sum of the estimated code phase time and the estimated code period time according to the first transmitting time and the bit period;
and calculating the second transmitting time according to the first transmitting time, the actual code period time, the actual code phase time and the sum of the estimated code phase time and the estimated code period time.
Optionally, the obtaining the distance between the terminal and the out-of-lock satellite includes:
acquiring current terminal position information of the terminal;
acquiring satellite position information of the unlocked satellite;
and acquiring the distance according to the terminal position information and the satellite position information.
Optionally, the obtaining of the current terminal location information of the terminal includes:
acquiring the terminal position information through at least one positioning device, wherein the positioning device comprises at least one of the following: inertial navigation, visual sensors, or ultrasound.
Optionally, the obtaining the distance according to the terminal location information and the satellite location information includes:
acquiring a geometric distance according to the terminal position information and the satellite position information;
and obtaining the distance according to the geometric distance, the satellite error, the propagation error and the receiver error.
Optionally, before the current time local to the terminal is obtained, the method further includes:
acquiring the crystal oscillator temperature of a receiver preset by the terminal every preset time;
acquiring crystal oscillator frequency deviation corresponding to the crystal oscillator temperature;
acquiring time deviation corresponding to the crystal oscillator frequency deviation;
and adjusting the local time of the receiver according to the time deviation, and setting the adjusted local time as the current time.
Optionally, before the current time local to the terminal is obtained, the method further includes:
acquiring transmission time of a satellite signal sent by the satellite to the terminal and acquiring initial transmission time of the satellite signal;
and adjusting the local time of the receiver according to the transmission time and the initial transmission time, and setting the adjusted local time as the current time.
Optionally, after the calculating the pseudorange between the terminal and the out-of-lock satellite according to the current time and the second time of transmission, the method further comprises:
and positioning according to at least three pseudo ranges.
A second aspect of the embodiments of the present application provides a terminal, where the terminal includes a processor, and the processor is configured to obtain a local current time of the terminal;
acquiring the distance between the terminal and an unlocked satellite, wherein the unlocked satellite is a satellite which provides positioning service for the terminal before being unlocked;
calculating first transmitting time for the unlocked satellite to transmit satellite signals to the terminal according to the current time and the distance;
calculating second transmitting time according to the first transmitting time and actual time resolved by navigation messages transmitted from the unlocked satellite;
and calculating the pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmitting time.
Optionally, the processor is further configured to obtain a transmission error of the first transmission time;
judging whether the emission error meets a preset condition or not;
and if so, executing a step of calculating second transmitting time according to the first transmitting time and actual time calculated from the navigation message transmitted from the unlocked satellite.
Optionally, the processor is further configured to obtain a satellite error of the out-of-lock satellite and a propagation error of the satellite signal;
acquiring a receiver error of the terminal preset receiver;
and acquiring the transmitting error according to the satellite error, the propagation error and the receiver error.
Optionally, the processor is further configured to obtain a code period of a preset receiver channel of the terminal;
and when the transmission error is smaller than half of the code period, determining that the transmission error meets a first preset condition, wherein the first preset condition is included in the preset condition.
Optionally, the processor is further configured to, when the transmission error meets the first preset condition, obtain an actual code phase time resolved from a navigation message transmitted from the out-of-lock satellite;
acquiring a bit period of the receiver channel;
calculating estimated code phase time according to the first transmitting time, the code period and the bit period;
and calculating the second transmitting time according to the first transmitting time, the actual code phase time and the estimated code phase time.
Optionally, the processor is further configured to obtain a bit period of the receiver channel when the transmission error is greater than half of the code period;
and when the transmission error is smaller than half of the bit period, determining that the transmission error meets a second preset condition, wherein the second preset condition is included in the preset condition.
Optionally, the processor is further configured to, when the transmission error meets the second preset condition, obtain actual code phase time resolved from a navigation message transmitted from the out-of-lock satellite and actual code period time corresponding to a preset bit internal code period count;
calculating the sum of the estimated code phase time and the estimated code period time according to the first transmitting time and the bit period;
and calculating the second transmitting time according to the first transmitting time, the actual code period time, the actual code phase time and the sum of the estimated code phase time and the estimated code period time.
Optionally, the processor is further configured to obtain current terminal location information of the terminal;
acquiring satellite position information of the unlocked satellite;
and acquiring the distance according to the terminal position information and the satellite position information.
Optionally, the processor is further configured to obtain the terminal location information through at least one positioning device, where the positioning device includes at least one of: inertial navigation, visual sensors, or ultrasound.
Optionally, the processor is further configured to obtain a geometric distance according to the terminal location information and the satellite location information;
and obtaining the distance according to the geometric distance, the satellite error, the propagation error and the receiver error.
Optionally, the processor is further configured to obtain a crystal oscillator temperature of a receiver preset by the terminal at preset time intervals;
acquiring crystal oscillator frequency deviation corresponding to the crystal oscillator temperature;
acquiring time deviation corresponding to the crystal oscillator frequency deviation;
and adjusting the local time of the receiver according to the time deviation, and setting the adjusted local time as the current time.
Optionally, the processor is further configured to acquire a transmission time of the satellite signal transmitted by the satellite to the terminal, and acquire an initial transmission time of the satellite signal;
and adjusting the local time of the receiver according to the transmission time and the initial transmission time, and setting the adjusted local time as the current time.
Optionally, the processor is further configured to perform positioning based on at least three of the pseudoranges.
A third aspect of embodiments of the present application provides a computer program product containing instructions, which when run on a computer, cause the computer to perform a pseudorange calculation method as described in the first aspect of embodiments of the present application.
A fourth aspect of embodiments of the present application provides a computer-readable storage medium, having stored therein instructions, which, when executed on a computer, cause the computer to perform a pseudorange calculation method according to the first aspect of embodiments of the present application.
According to the method and the device, the terminal can acquire the first transmitting time of the satellite signal transmitted to the terminal by the satellite according to the acquired local current time, the acquired distance between the terminal and the unlocked satellite and other parameters. And then, the terminal calculates second transmission time according to the first transmission time and the actual time, and calculates the pseudo range between the terminal and the satellite according to the current time and the second transmission time. In the whole process of pseudo-range calculation, frame synchronization is not needed, so that the time for waiting for completing frame synchronization is avoided, the time consumed by the terminal for calculating the pseudo-range is shortened, and the speed of pseudo-range calculation is improved.
Drawings
Fig. 1 is an architecture diagram of an unmanned aerial vehicle receiving satellite signals for positioning in an embodiment of the present application;
FIG. 2 is a diagram illustrating an embodiment of a pseudorange calculation method according to an embodiment of the present application;
FIG. 3 is a diagram of another embodiment of a pseudorange calculation method according to an embodiment of the application;
FIG. 4 is a diagram illustrating another exemplary embodiment of a pseudorange calculation method according to an embodiment of the present application;
fig. 5 is a schematic diagram of an embodiment of a terminal in the embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention. The features of the following examples and embodiments may be combined with each other without conflict.
In order to solve the technical problem of long waiting time in pseudo-range calculation in the prior art, the embodiment of the application provides a pseudo-range calculation method, and a terminal calculates real transmission time through estimated transmission time and acquired part of actual time so as to obtain a pseudo-range. Frame synchronization is not needed in the process of calculating the pseudo range, and the pseudo range calculation speed is improved. The embodiment of the application also provides a terminal, a computer program product, a computer storage medium and the like.
In this embodiment, the pseudorange calculation method may be applied to a terminal, which may be an unmanned aerial vehicle, and it is understood that, in practical applications, the terminal may be, in addition to the unmanned aerial vehicle, another movable platform, such as a mobile phone, a vehicle, or a robot, and the specific application is not limited herein.
The pseudorange calculation method in the present application will be described in detail below with reference to an unmanned aerial vehicle as an example and a specific application scenario: as shown in fig. 1, the drone is provided with a receiver for receiving satellite signals, and a positioning device, wherein the positioning device includes at least one of the following: inertial navigation, visual sensors or ultrasonic waves, etc., it being understood that the drone may also include other devices, not specifically limited thereto. Firstly, during the flight of the unmanned aerial vehicle, accurate positioning can be carried out by receiving satellite signals transmitted by more than 4 satellites at the beginning. Then, when the unmanned aerial vehicle shuttles between a building and a cave, because part of satellite signals transmitted by the satellites are weakened or disappear, at the moment, the unmanned aerial vehicle can only receive part of satellite signals transmitted by the satellites, and the satellites which originally provide positioning service for the terminal become unlocked satellites. And when the sum of the pseudo range number obtained by the calculation and the number of the satellites which are not unlocked exceeds 4, the terminal can carry out positioning, when the local clock is corrected by clock error, the terminal can carry out positioning only by exceeding 3, and even when the remaining connected satellites exceed 3, the terminal can obtain a positioning result, and the positioning result can be corrected by the pseudo range calculated by the method, so that a more accurate positioning result is obtained. The above application scenarios are only for illustrative purposes, and the technical solutions of those skilled in the art are applicable to other application scenarios, which are not limited herein.
For convenience of understanding, a specific flow in the embodiment of the present application is described below, and referring to fig. 2, an embodiment of a pseudorange calculation method in the embodiment of the present application includes:
201. acquiring the local current time of the terminal;
in this embodiment, the terminal is provided with a receiver for receiving a satellite signal, and during the process of calculating the pseudorange, the terminal may first obtain its local current time through a crystal oscillator of the receiver, where the crystal oscillator may be a temperature compensation crystal oscillator or a digital compensation crystal oscillator.
202. Acquiring the distance between a terminal and an unlocked satellite;
the unlocked satellite is a satellite which provides positioning service for the terminal before being unlocked, and the terminal can acquire the distance between the terminal and the unlocked satellite, for example, the terminal acquires the current terminal position information of the terminal through inertial navigation, acquires the satellite ephemeris of the unlocked satellite from a navigation message, acquires the satellite position information of the unlocked satellite according to the satellite ephemeris, and acquires the distance between the terminal and the unlocked satellite according to the terminal position information and the satellite position information. It is to be understood that, in practical applications, since the obtaining manner of the terminal position information is various, and the calculation result of the distance may also relate to satellite errors, propagation errors of satellite signals, receiver errors, and the like, the manner in which the terminal obtains the distance between itself and the out-of-lock satellite may also include other manners, and is not limited herein.
It is to be understood that the out-of-lock satellites may be one or more, for example, when the terminal only needs to compute one pseudorange, the terminal may only obtain the distance to the out-of-lock satellites; when the terminal needs to calculate a plurality of pseudo ranges, the terminal can respectively obtain the distances between the terminal and a plurality of unlocked satellites.
203. Calculating first transmitting time for transmitting satellite signals to the terminal by the out-of-lock satellite according to the current time and the distance;
after obtaining the current time and the distance between the terminal and the out-of-lock satellite, the terminal may calculate a first transmission time for the out-of-lock satellite to transmit the satellite signal to the terminal according to the current time and the distance, for example, the first transmission time is equal to the current time minus the distance divided by the speed of light, that is, the first transmission time is equal to the current time-distance/speed of light. It is understood that, in practical applications, the first transmission time may also be related to a satellite error, a propagation error of a satellite signal, a receiver error, and the like, and the calculation manner of the first transmission time may also include other manners, which is not limited herein.
204. Calculating second transmitting time according to the first transmitting time and actual time resolved by navigation messages transmitted from the unlocked satellite;
after the first transmission time is obtained, the terminal can calculate the actual time from the navigation message transmitted by the unlocked satellite stored locally, wherein the actual time can be bit cycle time, code cycle time or code phase time, and then calculate the second transmission time according to the first transmission time and the actual time, and the uncertainty of the first transmission time can be replaced by the calculated actual time, so that the accurate second transmission time can be obtained.
205. And calculating the pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmitting time.
After the second transmission time is obtained, the terminal may calculate a pseudorange between itself and the out-of-lock satellite according to the current time and the second transmission time, and a calculation manner of the pseudorange is not limited herein. It should be noted that the terminal may calculate one or more pseudoranges according to actual needs, for example, when there is partial loss of lock of satellite signals among all satellites providing positioning services for the terminal, and three satellite signals are not lost, the terminal may calculate a pseudorange with only one of the lost-lock satellites; when all of the satellite signals of all the satellites providing the terminal with the positioning service are out-of-lock, the terminal needs to calculate pseudo-ranges between at least four out-of-lock satellites. It is understood that, in practical applications, the number of pseudorange computations may also be flexibly set, and is not limited herein.
According to the method and the device, the terminal can acquire the first transmitting time of the satellite signal transmitted to the terminal by the satellite according to the acquired local current time, the acquired distance between the terminal and the unlocked satellite and other parameters. And then, the terminal calculates second transmission time according to the first transmission time and the actual time, and calculates the pseudo range between the terminal and the satellite according to the current time and the second transmission time. In the whole process of pseudo-range calculation, frame synchronization is not needed, so that the time for waiting for completing frame synchronization is avoided, the time consumed by the terminal for calculating the pseudo-range is shortened, and the speed of pseudo-range calculation is improved.
In some embodiments, since there may be a certain error in the local current time provided by the crystal oscillator of the receiver, in order to obtain the accurate current time, the terminal may adjust the current time in advance before obtaining the local current time, where adjusting the current time by the terminal includes:
firstly, acquiring the crystal oscillator temperature of a receiver preset by a terminal every preset time;
the receiver can be internally provided with a temperature sensor in advance, and the temperature of the crystal oscillator is acquired through the temperature sensor. The preset time can be flexibly set according to actual needs, and is not limited in particular here.
Secondly, acquiring crystal oscillator frequency deviation corresponding to the crystal oscillator temperature;
the terminal can be locally preset with a mapping table or a conversion relation between the crystal oscillator temperature and the crystal oscillator frequency offset, and after the crystal oscillator temperature is obtained, the crystal oscillator frequency offset corresponding to the crystal oscillator temperature can be obtained by inquiring the mapping table, or the crystal oscillator frequency offset corresponding to the crystal oscillator temperature can be calculated through the conversion relation. Namely, the terminal can also calculate the corresponding crystal oscillator frequency offset according to a formula after obtaining the crystal oscillator temperature.
Thirdly, acquiring time deviation corresponding to the crystal oscillator frequency deviation;
after obtaining the crystal oscillator frequency offset, the terminal can determine the time offset corresponding to the crystal oscillator frequency offset. It is understood that the corresponding time deviation of the crystal oscillator temperature can be obtained directly.
And finally, adjusting the local time of the receiver according to the time deviation, and setting the adjusted local time as the current time.
The formula for adjusting the local time by the terminal according to the time deviation is as follows:
Figure BDA0001730568070000101
wherein the content of the first and second substances,
Figure BDA0001730568070000102
is the end time corresponding to the preset time,
Figure BDA0001730568070000103
is a starting time corresponding to a preset time ttickFor a total time corresponding to the preset time, Δ tclkFor time deviation, the starting and ending time corresponding to the preset time can be used
Figure BDA0001730568070000104
Set to the current time.
Acquiring transmission time of a satellite signal sent by a satellite to a terminal and acquiring initial transmission time of the satellite signal; and adjusting the local time of the receiver according to the transmission time and the initial transmission time, and setting the adjusted local time as the current time.
The formula for adjusting the local time of the crystal oscillator of the receiver by the terminal according to the transmission time and the initial transmission time of the signal is as follows:
tr=tx+e
wherein, trIs the current time, txIs the initial transmission time and e is the transmission time. Assuming that the signal transmission time of the GPS satellite is 0.07 seconds, the current time is tr=tx+0.07。
In some embodiments, when the terminal obtains the distance between the terminal and the out-of-lock satellite, the current terminal position information of the terminal is obtained first, and the satellite position information of the out-of-lock satellite is obtained. The current relative position information of the terminal can be obtained by at least one positioning device, and the terminal position information under the terrestrial coordinate system can be obtained by the position information obtained before the satellite is unlocked and the relative position information obtained by the positioning device, wherein the positioning device comprises at least one of the following: the inertial navigation, the visual sensor, the ultrasonic wave, or the like may be performed, for example, by performing fusion positioning based on the inertial navigation, the visual sensor, and the ultrasonic wave preset in the terminal to obtain the terminal position information, or may be obtained by only one of the positioning devices. It should be noted that there may be a certain error in the terminal position information obtained by the positioning device, and the terminal may calculate the terminal position information by combining the error.
It should be noted that, when acquiring the terminal location information, a location model may be established, which may be established through the positioning information before the terminal, through other data of the flight, or through a combination of the two, and then the result is calibrated through kalman filtering, so that the location information in the model and the location information acquired by the actual positioning device occupy different weights, and the closest real terminal location information is obtained.
The satellite position information of the out-of-lock satellite can be satellite position information calculated according to satellite ephemeris obtained from a navigation message preset by the terminal. The satellite ephemeris may be satellite ephemeris of a time period before the loss of lock of the out-of-lock satellite is valid, for example, the satellite ephemeris of an hour before the loss of lock, which is not limited herein.
And then, acquiring the distance between the terminal and the unlocked satellite according to the terminal position information and the satellite position information. For example, when the terminal position information is (x, y, z), the satellite position information is (x)j,yj,zj) Then, the geometric distance r between the terminal and the unlocked satellite is calculated according to the following formulajComprises the following steps:
Figure BDA0001730568070000111
the distance between the acquisition terminal and the out-of-lock satellite may be the geometric distance calculated by the method, or may be the distance obtained by performing error correction on the geometric distance. Because the obtained satellite position information may have a certain error, in order to obtain a more accurate distance, when the distance is obtained according to the terminal position information and the satellite position information, the geometric distance may be obtained according to the terminal position information and the satellite position information, the satellite error of the out-of-lock satellite, the propagation error of the satellite signal, and the receiver error of the receiver may be obtained, and then the distance may be obtained according to the geometric distance, the satellite error, the propagation error, and the receiver error. The satellite error may include a satellite clock error, the propagation error may include an ionosphere correction amount of an ionosphere where the satellite is located, a troposphere correction amount of a troposphere where the satellite is located, an effect error caused by a multipath effect, and the like, and the receiver error may include a crystal clock error of the receiver.
For example, the distance ρ between the terminal and the out-of-lock satellite may be calculated according to the following formulajComprises the following steps:
ρj=rj+c×Δtr-c×Δtjionotropmp
where ρ isjFor terminal and lost lock guardDistance between stars, rjIs the geometric distance between the terminal and the out-of-lock satellite, c is the speed of light, Δ trIs crystal clock error, Δ tjIs the satellite clock error, Δ, of the jth satelliteionoIs ionospheric correction, ΔtropTo tropospheric correction, ΔmpIs the effect error of multipath.
In some embodiments, after obtaining the current time and the distance between the terminal and the out-of-lock satellite, the terminal may calculate a first transmission time at which the out-of-lock satellite transmits a satellite signal to the terminal according to the current time and the distance. The formula for the terminal to calculate the first transmission time according to the current time and the distance is as follows:
Figure BDA0001730568070000121
wherein the content of the first and second substances,
Figure BDA0001730568070000122
is the first transmission time, trIs the current time, rjIs the geometric distance and c is the speed of light.
In some embodiments, since the distance is related to satellite errors, propagation errors, receiver errors, etc., in order to calculate an accurate first transmit time,
at this time, the terminal can calculate the first transmitting time according to the current time, the distance, the satellite clock error, the crystal oscillator clock error, the ionosphere correction, the troposphere correction, the effect error and the light speed, and the formula is as follows:
Figure BDA0001730568070000123
wherein the content of the first and second substances,
Figure BDA0001730568070000124
is the first transmission time, trFor the current time, Δ trIs crystal clock error, Δ tjIs the satellite clock error of the jth satellite, rjIs the geometric distance, Δ, between the terminal and the out-of-lock satellitempIs the effect error of multipath, c is the speed of light, ΔionoThe ionosphere correction quantity is obtained by calculation of ionosphere correction parameters and a corresponding ionosphere correction model; deltatropFor tropospheric corrections, suitable tropospheric models, such as the Sassamomun model, the Hopfield model, etc., may be selected for calculation of tropospheric corrections.
In some embodiments, after obtaining the first transmission time, the terminal may first obtain a transmission error of the first transmission time before calculating the second transmission time according to the first transmission time and an actual time calculated from a navigation message transmitted from an out-of-lock satellite, where obtaining the transmission error of the first transmission time by the terminal includes: acquiring satellite errors of an out-of-lock satellite and propagation errors of satellite signals; acquiring a receiver error of a terminal preset receiver; and acquiring a transmitting error according to the satellite error, the propagation error and the receiver error. Wherein the error of the satellite comprises: the clock error of the satellite and the error of the satellite ephemeris, the propagation error comprises troposphere error, ionosphere error, multipath effect error, relativistic error and the like, and the receiver error comprises receiver clock error, fusion positioning error and the like.
The different errors are calculated by matching different weights with the time of losing lock to obtain a transmitting error, the errors have time errors and distance errors, and the distance errors can be converted into the time errors at a certain propagation speed to obtain the transmitting errors.
In some embodiments, because the time interval is short before losing lock and during recapture, the moving distance between the satellite and the terminal is short, and the receiver clock error among the satellite error, the propagation error and the receiver error is small, the transmission error can be omitted in some cases, namely, the error caused by fusion positioning is matched with the time losing lock to calculate the transmission error.
In the embodiment of the present application, the terminal may calculate the pseudorange when the transmission error at the first transmission time satisfies a preset condition, where the calculation includes two cases: when the emission error meets a first preset condition, calculating a pseudo range according to a first mode; and secondly, when the transmission error meets a second preset condition, calculating the pseudo range according to the second mode, which will be described in detail respectively.
Referring to fig. 3, when the transmission error satisfies a first predetermined condition, a pseudorange between the terminal and the out-of-lock satellite is calculated according to a first method, and another embodiment of the pseudorange calculation method in the embodiment of the present application includes:
301. acquiring the local current time of the terminal;
it should be noted that, the current time for acquiring the local time of the terminal in this embodiment is similar to the current time for acquiring the local time of the terminal in the foregoing illustrated embodiment, and details are not described here again.
302. Acquiring the distance between a terminal and an unlocked satellite;
it should be noted that the distance between the acquisition terminal and the out-of-lock satellite in this embodiment is similar to the distance between the acquisition terminal and the out-of-lock satellite in the foregoing illustrated embodiment, and details are not repeated here.
303. Calculating first transmitting time for transmitting satellite signals to the terminal by the out-of-lock satellite according to the current time and the distance;
it should be noted that, in this embodiment, the first transmission time for the out-of-lock satellite to transmit the satellite signal to the terminal is calculated according to the current time and the distance, which is similar to the first transmission time for the out-of-lock satellite to transmit the satellite signal to the terminal according to the current time and the distance in the foregoing illustrated embodiment, and details are not repeated here.
304. Acquiring a transmission error of a first transmission time;
it should be noted that the transmission error obtained in the first transmission time in this embodiment is similar to the transmission error obtained in the first transmission time in the foregoing illustrated embodiment, and details are not repeated here.
After the transmission error of the first transmission time is obtained, the terminal judges whether the transmission error meets a preset condition, wherein the preset condition can comprise a first preset condition and a second preset condition. When the transmission error satisfies a preset condition, the terminal may perform a step of calculating a second transmission time according to the first transmission time and an actual time calculated from a navigation message transmitted from the out-of-lock satellite.
When the transmission error does not meet the preset condition, the terminal calculates the pseudo range according to the following mode: firstly, calculating a second transmission time t of the out-of-lock satellite to transmit the satellite signal to the terminalxComprises the following steps:
tx=tframe+Nbit×Tbit+Ncyc×Tcyc+Ncdp×Tcyc
wherein, tframeThe frame starting time can be obtained from the navigation message; n is a radical ofbitThe number of bits in 1 frame is counted, and the bits can be obtained after frame synchronization; n is a radical ofcycCounting the code period in 1 bit, and obtaining after bit synchronization; n is a radical ofcdpThe code phase can be acquired after the satellite is stably tracked; t isbitIs a time corresponding to 1 bit, TcycIs the time corresponding to 1 code period. In the resolving process of the navigation message, firstly, the code phase N is obtainedcdpThen, a 1-bit inner code period count N is obtainedcycThe last obtained is the 1-frame bit count Nbit. Taking the GPS L1C/a code as an example, a 1 frame in the GPS L1C/a code includes 300 bits, a 1 bit includes 20 code periods, a time corresponding to a 1 bit is 0.02 seconds, and a time corresponding to a 1 code period is 0.001 seconds.
After the second transmission time, calculating the pseudo range according to the second transmission time and the current time, wherein the calculation formula of the pseudo range is as follows:
ρ=(tr-tx)×c
where ρ is the pseudorange, trIs the current time, txAnd c is the speed of light for the second emission time.
305. When the transmission error meets a first preset condition, acquiring actual code phase time calculated from a navigation message transmitted by an unlocked satellite;
the terminal judges whether the transmission error meets the preset condition or not, and the judgment comprises the following steps: acquiring a code period of a preset receiver channel of a terminal; judging whether the transmission error is less than half of the code period; if yes, determining that the transmission error meets a first preset condition. Taking the GPS L1C/a code as an example, the code period is 1ms, and when the transmission error is less than 1/2 code period, i.e. the transmission error is less than 0.5 ms, it is determined that the transmission error satisfies the first preset condition. It should be noted that, according to different types of codes, the first preset condition can be flexibly set, and is not limited herein.
In order to accurately judge whether the transmission error meets the first preset condition, before the terminal judges whether the transmission error is smaller than half of the code period, when the transmission error is smaller than half of the code period, the terminal can firstly acquire the bit period of the receiver channel, then judge whether the transmission error is smaller than half of the bit period, and if so, execute the step of judging whether the transmission error is smaller than half of the code period. The first predetermined condition is included in the aforementioned predetermined conditions. And when the transmission error meets a first preset condition, acquiring the actual code phase time calculated from the navigation message transmitted by the unlocked satellite.
It should be noted that the order in which the terminal determines whether the transmission error meets the first preset condition or the second preset condition is not limited, and may first determine whether the transmission error meets the first preset condition, and then determine whether the transmission error meets the second preset condition; whether the emission error meets the second preset condition or not can be judged firstly, and then whether the emission error meets the first preset condition or not can be judged; the determination may be a selection-type determination, or may be a direct determination of whether the first preset condition is satisfied or the second preset condition is satisfied, and the determination is not limited herein.
When the transmission error meets a first preset condition, the terminal can calculate the actual code phase time from the prestored navigation message transmitted by the unlocked satellite.
306. Acquiring a bit period of a receiver channel;
307. calculating estimated code phase time according to the first transmission time, the code period and the bit period;
308. calculating second transmitting time according to the first transmitting time, the actual code phase time and the estimated code phase time;
when the transmission error meets a first preset condition, the terminal acquires the bit period and the code period of the receiver channel, and the navigation message can be decoded in the receiver channel. Then, the estimated code phase time is calculated according to the first transmission time, the code period and the bit period, because the first transmission time is the sum of the bit period time, the code period time and the code phase time, when the transmission error meets a first preset condition, the product of the bit period and the bit period counting, namely the bit period time, is considered to be accurate, the product of the code period and the code period counting, namely the code period time, is considered to be accurate, then the second transmission time is calculated according to the actual code phase time and the estimated code phase time, specifically, the uncertain estimated code phase time is removed from the first transmission time, and then the accurate actual code phase time resolved from the navigation message is added, so that the second transmission time is obtained, wherein the calculation formula is as follows:
Figure BDA0001730568070000161
wherein floor () is a floor function, t0Being the sum of the bit period time and the code period time,
Figure BDA0001730568070000162
is the first transmission time, t2Is the second transmission time, tcdpFor the actual code phase time, tcdpHas a value range of 0 to tcdp< b, Δ t is the difference between the actual code period time and the estimated code phase time, b is the code phase period,
Figure BDA0001730568070000163
for the estimated code phase, n is the time corresponding to 1 bit.
Since the first and second transmission times are divided into three parts, bit period time, code period time and code phase time, the bit period time is accurate when the transmission error is within 1/2 code periods, i.e., the bit period time is accurate
Figure BDA0001730568070000164
The code phase is accurate, and the actual code period calculated from the satellite navigation message, the code period time, can now have three conditions, respectively
Figure BDA0001730568070000165
Because the emission error is less than 1/2 code period, that is, the true value is considered to be
Figure BDA0001730568070000166
The center 1/2 code period is within the radius range
Figure BDA0001730568070000167
And taking different code cycle time under certain conditions.
309. And calculating the pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmitting time.
After the terminal obtains the second transmission time, the terminal may calculate a pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmission time, and a calculation formula is as follows:
ρ=a×(tr-t2)×c
where ρ is the pseudorange, trIs the current time, t2For the second emission time, a is a constant coefficient related to time for converting a unit of time, for example, milliseconds to seconds, and c is the speed of light. Accurate pseudoranges are obtained by calculation using the above equations, and then satellite positions are calculated using a plurality of pseudoranges.
It should be noted that the pseudoranges calculated by the terminal may include pseudoranges between the terminal and at least three out-of-lock satellites, that is, at least three pseudoranges may be calculated, and after at least three pseudoranges are obtained, positioning may be performed according to the at least three pseudoranges. The terminal can also calculate only one pseudo range according to the current condition of the terminal and then accurately position the terminal by combining with the unrelocked satellite, or calculate a plurality of pseudo ranges and then calculate a target pseudo range by using a least square method, and position the terminal according to the target pseudo range. Therefore, the terminal can quickly calculate the pseudo range, and quick solution of lock losing recapture is realized.
Taking the GPS L1C/a code as an example, the formula for calculating the pseudorange according to the first method is:
Figure BDA0001730568070000171
for the GPS L1C/A code, the bit period is 20ms, and the code period is 1 ms. floor () is a rounded down function,
Figure BDA0001730568070000172
at a first transmission time when
Figure BDA0001730568070000173
In units of milliseconds (ms), trIs the current time, t0Is the sum of the bit period time and the code period time, tcdpFor the actual code phase time, tcdpHas a value range of 0 to tcdpIs less than or equal to 1(ms), delta t is the difference between the actual code period time and the estimated code phase time, the code period is 1 millisecond (ms),
Figure BDA0001730568070000174
for the estimated code phase, 0.001 is used to convert milliseconds into seconds, c is the speed of light, and ρ is the pseudorange. The true pseudorange can be calculated by the method.
By the method, the terminal can calculate the first sending time according to the acquired current time and the distance between the terminal and the unlocked satellite, calculate the second sending time according to the actual code phase time acquired after the satellite is stably tracked, the estimated code phase time calculated according to the bit period and the code period and the first sending time when the sending error of the first sending time meets the first preset condition, and calculate the pseudo range between the terminal and the unlocked satellite according to the current time and the second sending time, so that the accurate second sending time can be obtained by replacing the code phase time with the estimated accurate code phase time under the condition of not carrying out frame synchronization and bit synchronization, the accurate pseudo range is calculated, and the accurate position information is calculated.
Secondly, when the transmission error satisfies a second preset condition, calculating a pseudorange between the terminal and the out-of-lock satellite according to the second method, referring to fig. 4, another embodiment of the pseudorange calculation method in the embodiment of the present application includes:
401. acquiring the local current time of the terminal;
402. acquiring the distance between a terminal and an unlocked satellite;
403. calculating first transmitting time for transmitting satellite signals to the terminal by the out-of-lock satellite according to the current time and the distance;
404. acquiring a transmission error of a first transmission time;
it should be noted that steps 401 to 404 in this embodiment are similar to steps 301 to 304 in the embodiment shown in fig. 3, and detailed description thereof is omitted here.
405. When the transmission error meets a second preset condition, acquiring actual code phase time resolved from a navigation message transmitted from an unlocked satellite and actual code period time corresponding to a preset bit code period count;
the terminal judges whether the transmission error meets the preset condition or not, and the judgment comprises the following steps: acquiring a code period of a preset receiver channel of a terminal; judging whether the transmission error is less than half of the code period; if not, acquiring a bit period of the receiver channel, and when the transmission error is smaller than a half of the bit period, determining that the transmission error meets a second preset condition. It should be noted that the second preset condition can be flexibly set according to different types of codes, and is not limited herein.
In order to accurately judge whether the transmission error meets the second preset condition, after the terminal judges whether the transmission error is smaller than half of the code period, when the transmission error is larger than half of the code period, the terminal can firstly acquire the bit period of the receiver channel and then judge whether the transmission error is smaller than half of the bit period; if yes, executing the step of judging whether the transmission error is less than half of the code period. The second predetermined condition is included in the aforementioned predetermined conditions. And when the transmission error meets a second preset condition, the terminal acquires actual code phase time resolved from a navigation message transmitted by the unlocked satellite and actual code period time corresponding to the preset bit code period count.
It should be noted that the terminal may first determine whether the transmission error is smaller than half of the code period, and then determine whether the transmission error is smaller than half of the bit period; or judging whether the transmission error is less than half of the bit period first and then judging whether the transmission error is less than half of the code period; the determination may be a selective determination, or may also be a simultaneous determination whether the transmission error is smaller than half of the code period or smaller than half of the bit period, which is not limited herein.
406. Calculating the sum of the estimated code phase time and the estimated code period time according to the first transmitting time and the bit period;
407. calculating a second transmission time according to the sum of the first transmission time, the actual code period time, the actual code phase time, the estimated code phase time and the estimated code period time;
and when the transmission error meets a second preset condition, the terminal acquires actual code phase time and actual code period time resolved from the navigation message transmitted by the unlocked satellite, and acquires the bit period of a receiver channel, wherein the navigation message can be decoded in the receiver channel. Then, the terminal calculates the sum of the estimated code phase time and the estimated code period time according to the first transmission time and the bit period, because the first transmission time is the sum of the bit period time, the code period time and the code phase time, when the transmission error meets a second preset condition, the bit period time which is the product of the bit period and the bit period count is considered to be accurate, and then the second transmission time is calculated according to the sum of the first transmission time, the actual code period time, the actual code phase time, the estimated code phase time and the estimated code period time, specifically, the sum of the estimated uncertain estimated code phase time and the estimated code period time is removed from the first transmission time, and then the accurate actual code phase time and the code period time resolved from the navigation message are added, so that the second transmission time is obtained, wherein the calculation formula is as follows:
Figure BDA0001730568070000191
wherein floor () is a floor function, t0To sum the estimated code phase time and the estimated code period time,
Figure BDA0001730568070000192
is the first transmission time, t2Is the second transmission time, tcycIs the actual code period time, tcdpFor the actual code phase time, tcycHas a value range of 0 to tcycN, Δ t is the difference between the sum of the actual code period time and the actual code phase time and the sum of the estimated code phase time of the estimated code period time,
Figure BDA0001730568070000193
the sum of the estimated code phase times for the estimated code cycle time, n is the time corresponding to 1 bit.
Since the first transmission time and the second transmission time are divided into three parts, namely bit period time, code period time and code phase time, when the transmission error is out of 1/2 code periods and within 1/2 bit periods, the actual bit period is calculated from the satellite navigation message, and the bit period time has three conditions at this time, namely bit period time, bit period time and code phase time
Figure BDA0001730568070000194
Because the transmission error is within 1/2 code period and 1/2 bit period, i.e. the true value is considered to be
Figure BDA0001730568070000195
The central radius of 1/2 bit periods to 1/2 code periods
Figure BDA0001730568070000196
In certain cases different bit period times are taken.
408. And calculating the pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmitting time.
After the terminal obtains the second transmission time, the terminal may calculate a pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmission time, and a calculation formula is as follows:
ρ=a×(tr-t2)×c
where ρ is the pseudorange, trIs the current time, t2For the second emission time, a is a constant coefficient related to time for converting a unit of time, for example, milliseconds to seconds, and c is the speed of light. Accurate pseudoranges are obtained by calculation using the above equations, and then satellite positions are calculated using a plurality of pseudoranges.
It should be noted that the pseudoranges calculated by the terminal may include pseudoranges between the terminal and at least three out-of-lock satellites, that is, at least three pseudoranges may be calculated, and after at least three pseudoranges are obtained, positioning may be performed according to the at least three pseudoranges. The terminal can also calculate only one pseudo range according to the current condition of the terminal and then accurately position the terminal by combining with the unrelocked satellite, or calculate a plurality of pseudo ranges and then calculate a target pseudo range by using a least square method, and position the terminal according to the target pseudo range. Therefore, the terminal can quickly calculate the pseudo range, and quick solution of lock losing recapture is realized.
Taking the GPS L1C/a code as an example, the formula for calculating the pseudorange according to the second method is:
Figure BDA0001730568070000201
wherein, for the GPS L1C/A code, the bit period is 20ms, the code period is 1ms, floor () is a down-rounding function, t0To sum the estimated code phase time and the estimated code period time,
Figure BDA0001730568070000202
is the first transmission time, trIs the current time, tcycIs the actual code period time, tcdpDelta t is the difference between the sum of the actual code period time and the actual code phase time and the sum of the estimated code phase times of the estimated code period times,
Figure BDA0001730568070000203
the sum of the estimated code phase times for the estimated code period time, 0.001 is used to convert milliseconds into seconds, c is the speed of light, and ρ is the pseudorange. The true pseudorange can be calculated by the method.
By the method, the terminal can calculate the first sending time according to the acquired current time and the distance between the terminal and the unlocked satellite, and when the transmission error of the first sending time meets a second preset condition, the second sending time is calculated according to the actual code phase time acquired after the satellite is stably tracked, the actual code period time acquired after bit synchronization, the sum of the estimated code phase time and the estimated code period time calculated according to the bit period and the first sending time, and then the pseudo range between the terminal and the unlocked satellite is calculated according to the current time and the second sending time, so that the accurate pseudo range can be calculated under the condition of not carrying out frame synchronization, and the accurate position information can be calculated.
As described above for the pseudo-range calculation method in the embodiment of the present application, the following describes a terminal in the embodiment of the present application from the perspective of hardware processing, and as shown in fig. 5, an embodiment of the terminal in the embodiment of the present application includes:
a processor 501 and a memory 502 (wherein the number of processors 501 in the terminal may be one or more, and one processor 501 is taken as an example in fig. 5). In some embodiments of the invention, the processor 501 and the memory 502 may be connected by a bus or other means, wherein the connection by the bus is illustrated in fig. 5.
Wherein, the memory 502 stores program codes, and by calling the program codes stored in the memory 502, the processor 501 is configured to execute the following steps:
acquiring the local current time of the terminal;
acquiring the distance between a terminal and an unlocked satellite, wherein the unlocked satellite is a satellite which provides positioning service for the terminal before the terminal is unlocked;
calculating first transmitting time for transmitting satellite signals to the terminal by the out-of-lock satellite according to the current time and the distance;
calculating second transmitting time according to the first transmitting time and actual time resolved by navigation messages transmitted from the unlocked satellite;
and calculating the pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmitting time.
In some embodiments, the processor 501 is further configured to obtain a transmission error at a first transmission time;
judging whether the emission error meets a preset condition or not;
if yes, the step of calculating the second transmitting time according to the first transmitting time and the actual time calculated from the navigation message transmitted from the unlocked satellite is executed.
In some embodiments, the processor 501 is further configured to obtain a satellite error of an out-of-lock satellite and a propagation error of a satellite signal;
acquiring a receiver error of a terminal preset receiver;
and acquiring a transmitting error according to the satellite error, the propagation error and the receiver error.
In some embodiments, the processor 501 is further configured to obtain a code period of a preset receiver channel of the terminal;
and when the transmission error is smaller than half of the code period, determining that the transmission error meets a first preset condition, wherein the first preset condition is included in the preset condition.
In some embodiments, the processor 501 is further configured to, when the transmission error satisfies a first preset condition, obtain an actual code phase time resolved from a navigation message transmitted from an out-of-lock satellite;
acquiring a bit period of a receiver channel;
calculating estimated code phase time according to the first transmission time, the code period and the bit period;
and calculating second transmitting time according to the first transmitting time, the actual code phase time and the estimated code phase time.
In some embodiments, processor 501 is further configured to obtain a bit period of the receiver channel when the transmission error is greater than half of the code period;
and when the transmission error is smaller than half of the bit period, determining that the transmission error meets a second preset condition, wherein the second preset condition is included in the preset condition.
In some embodiments, the processor 501 is further configured to, when the transmission error satisfies a second preset condition, obtain an actual code phase time resolved from a navigation message transmitted from an out-of-lock satellite and an actual code period time corresponding to a code period count within a preset bit;
calculating the sum of the estimated code phase time and the estimated code period time according to the first transmitting time and the bit period;
and calculating the second transmitting time according to the first transmitting time, the actual code period time, the actual code phase time and the sum of the estimated code phase time and the estimated code period time.
In some embodiments, the processor 501 is further configured to obtain current terminal location information of the terminal;
acquiring satellite position information of an unlocked satellite;
and obtaining the distance according to the terminal position information and the satellite position information.
In some embodiments, the processor 501 is further configured to obtain the terminal location information through at least one positioning device, where the positioning device includes at least one of: inertial navigation, visual sensors, or ultrasound.
In some embodiments, the processor 501 is further configured to obtain a geometric distance according to the terminal position information and the satellite position information;
and obtaining the distance according to the geometric distance, the satellite error, the propagation error and the receiver error.
In some embodiments, the processor 501 is further configured to obtain a crystal oscillator temperature of the receiver preset by the terminal every preset time;
acquiring crystal oscillator frequency deviation corresponding to the crystal oscillator temperature;
acquiring time deviation corresponding to the frequency deviation of the crystal oscillator;
and adjusting the local time of the receiver according to the time deviation, and setting the adjusted local time as the current time.
In some embodiments, the processor 501 is further configured to obtain a transmission time of a satellite signal transmitted from the satellite to the terminal, and obtain an initial transmission time of the satellite signal;
and adjusting the local time of the receiver according to the transmission time and the initial transmission time, and setting the adjusted local time as the current time.
In some embodiments, processor 501 is further configured to perform position location based on at least three pseudoranges.
It should be noted that the steps executed by the processor 501 of the terminal are similar to the steps in the embodiments shown in fig. 2 to fig. 4, and detailed description thereof is omitted here.
The technical solution of the present application may be substantially implemented or a part of or all or part of the technical solution contributing to the prior art may be embodied in the form of a software product stored in a storage medium, and including several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (22)

1. A pseudo-range calculation method, comprising:
acquiring the local current time of the terminal;
acquiring the distance between the terminal and an unlocked satellite, wherein the unlocked satellite is a satellite which provides positioning service for the terminal before being unlocked;
calculating first transmitting time for the unlocked satellite to transmit satellite signals to the terminal according to the current time and the distance;
calculating second transmitting time according to the first transmitting time and actual time resolved by navigation messages transmitted from the unlocked satellite;
calculating a pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmitting time;
before calculating a second transmission time from the first transmission time and an actual time resolved from a navigation message transmitted from the out-of-lock satellite, the method further comprises: acquiring a transmission error of the first transmission time; judging whether the emission error meets a preset condition or not, including: acquiring a code period of a preset receiver channel of the terminal; when the transmission error is smaller than half of the code period, determining that the transmission error meets a first preset condition, wherein the first preset condition is included in the preset condition; if yes, a step of calculating second transmitting time according to the first transmitting time and actual time calculated from navigation messages transmitted by the unlocked satellite is executed;
the calculating a second transmission time from the first transmission time and an actual time resolved from a navigation message transmitted from the out-of-lock satellite comprises: when the transmission error meets the first preset condition, acquiring actual code phase time resolved from a navigation message transmitted by the unlocked satellite; acquiring a bit period of the receiver channel; calculating estimated code phase time according to the first transmitting time, the code period and the bit period; and calculating the second transmitting time according to the first transmitting time, the actual code phase time and the estimated code phase time.
2. The method of claim 1, wherein the obtaining the transmission error for the first transmission time comprises:
acquiring a satellite error of the out-of-lock satellite and a propagation error of the satellite signal;
acquiring a receiver error of the terminal preset receiver;
and acquiring the transmitting error according to the satellite error, the propagation error and the receiver error.
3. The method of claim 1, wherein after obtaining the code period of the terminal pre-set receiver channel, the method further comprises:
when the transmission error is larger than half of the code period, acquiring the bit period of the receiver channel;
and when the transmission error is smaller than half of the bit period, determining that the transmission error meets a second preset condition, wherein the second preset condition is included in the preset condition.
4. The method of claim 3, wherein calculating a second time of transmission based on the first time of transmission and an actual time resolved for a navigation message transmitted from the out-of-lock satellite comprises:
when the transmission error meets the second preset condition, acquiring actual code phase time resolved from a navigation message transmitted by the unlocked satellite and actual code period time corresponding to code period counting in preset bits;
calculating the sum of the estimated code phase time and the estimated code period time according to the first transmitting time and the bit period;
and calculating the second transmitting time according to the first transmitting time, the actual code period time, the actual code phase time and the sum of the estimated code phase time and the estimated code period time.
5. The method of claim 1, wherein the obtaining the distance between the terminal and the out-of-lock satellite comprises:
acquiring current terminal position information of the terminal;
acquiring satellite position information of the unlocked satellite;
and acquiring the distance according to the terminal position information and the satellite position information.
6. The method of claim 5, wherein the obtaining the current terminal location information of the terminal comprises:
acquiring the terminal position information through at least one positioning device, wherein the positioning device comprises at least one of the following: inertial navigation, visual sensors, or ultrasound.
7. The method of claim 5, wherein obtaining the distance according to the terminal location information and the satellite location information comprises:
acquiring a geometric distance according to the terminal position information and the satellite position information;
and acquiring the distance according to the geometric distance, the satellite error, the propagation error and the receiver error.
8. The method of claim 1, wherein before the obtaining the current time local to the terminal, the method further comprises:
acquiring the crystal oscillator temperature of a receiver preset by the terminal every preset time;
acquiring crystal oscillator frequency deviation corresponding to the crystal oscillator temperature;
acquiring time deviation corresponding to the crystal oscillator frequency deviation;
and adjusting the local time of the receiver according to the time deviation, and setting the adjusted local time as the current time.
9. The method of claim 1, wherein before the obtaining the current time local to the terminal, the method further comprises:
acquiring transmission time of a satellite signal sent by the satellite to the terminal and acquiring initial transmission time of the satellite signal;
and adjusting the local time of the receiver according to the transmission time and the initial transmission time, and setting the adjusted local time as the current time.
10. The method according to any one of claims 1 to 9, wherein after said calculating a pseudorange between said terminal and said out-of-lock satellite from said current time and said second time of transmission, said method further comprises:
and positioning according to at least three pseudo ranges.
11. A terminal, characterized in that the terminal comprises a processor configured to,
acquiring the local current time of the terminal;
acquiring the distance between the terminal and an unlocked satellite, wherein the unlocked satellite is a satellite which provides positioning service for the terminal before being unlocked;
calculating first transmitting time for the unlocked satellite to transmit satellite signals to the terminal according to the current time and the distance;
calculating second transmitting time according to the first transmitting time and actual time resolved by navigation messages transmitted from the unlocked satellite;
calculating a pseudo range between the terminal and the out-of-lock satellite according to the current time and the second transmitting time;
the processor is further configured to obtain a transmission error of the first transmission time; judging whether the emission error meets a preset condition or not; if yes, a step of calculating second transmitting time according to the first transmitting time and actual time calculated from navigation messages transmitted by the unlocked satellite is executed;
the processor is further configured to acquire a code period of a preset receiver channel of the terminal; when the transmission error is smaller than half of the code period, determining that the transmission error meets a first preset condition, wherein the first preset condition is included in the preset condition;
the processor is further configured to obtain an actual code phase time resolved from a navigation message transmitted from the out-of-lock satellite when the transmission error meets the first preset condition; acquiring a bit period of the receiver channel; calculating estimated code phase time according to the first transmitting time, the code period and the bit period; and calculating the second transmitting time according to the first transmitting time, the actual code phase time and the estimated code phase time.
12. The terminal of claim 11, wherein the processor is further configured to obtain a satellite error of the out-of-lock satellite and a propagation error of the satellite signal;
acquiring a receiver error of the terminal preset receiver;
and acquiring the transmitting error according to the satellite error, the propagation error and the receiver error.
13. The terminal of claim 11, wherein the processor is further configured to obtain a bit period of the receiver channel when the transmission error is greater than half of the code period;
and when the transmission error is smaller than half of the bit period, determining that the transmission error meets a second preset condition, wherein the second preset condition is included in the preset condition.
14. The terminal according to claim 13, wherein the processor is further configured to, when the transmission error satisfies the second preset condition, obtain an actual code phase time resolved from a navigation message transmitted from the out-of-lock satellite and an actual code period time corresponding to a preset in-bit code period count;
calculating the sum of the estimated code phase time and the estimated code period time according to the first transmitting time and the bit period;
and calculating the second transmitting time according to the first transmitting time, the actual code period time, the actual code phase time and the sum of the estimated code phase time and the estimated code period time.
15. The terminal of claim 11, wherein the processor is further configured to obtain current terminal location information of the terminal;
acquiring satellite position information of the unlocked satellite;
and acquiring the distance according to the terminal position information and the satellite position information.
16. The terminal of claim 15, wherein the processor is further configured to obtain the terminal location information through at least one positioning device, and wherein the positioning device comprises at least one of: inertial navigation, visual sensors, or ultrasound.
17. The terminal of claim 15, wherein the processor is further configured to obtain a geometric distance according to the terminal position information and the satellite position information;
and acquiring the distance according to the geometric distance, the satellite error, the propagation error and the receiver error.
18. The terminal of claim 11, wherein the processor is further configured to obtain a crystal temperature of a receiver preset by the terminal every preset time;
acquiring crystal oscillator frequency deviation corresponding to the crystal oscillator temperature;
acquiring time deviation corresponding to the crystal oscillator frequency deviation;
and adjusting the local time of the receiver according to the time deviation, and setting the adjusted local time as the current time.
19. The terminal of claim 11, wherein the processor is further configured to obtain a transmission time of a satellite signal transmitted by the satellite to the terminal, and obtain an initial transmission time of the satellite signal;
and adjusting the local time of the receiver according to the transmission time and the initial transmission time, and setting the adjusted local time as the current time.
20. A terminal according to any of claims 11 to 19, wherein said processor is further configured to perform positioning based on at least three of said pseudoranges.
21. A computer program product containing instructions for causing a computer to perform a pseudorange calculation method according to any one of claims 1-10 when said computer program product is run on a computer.
22. A computer-readable storage medium having stored therein instructions which, when executed on a computer, cause the computer to execute the pseudorange calculation method according to any one of claims 1 to 10.
CN201780006832.6A 2017-07-26 2017-07-26 Pseudo-range calculation method and terminal Expired - Fee Related CN108513623B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/094449 WO2019019044A1 (en) 2017-07-26 2017-07-26 Pseudorange calculation method and terminal

Publications (2)

Publication Number Publication Date
CN108513623A CN108513623A (en) 2018-09-07
CN108513623B true CN108513623B (en) 2022-03-18

Family

ID=63375234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780006832.6A Expired - Fee Related CN108513623B (en) 2017-07-26 2017-07-26 Pseudo-range calculation method and terminal

Country Status (2)

Country Link
CN (1) CN108513623B (en)
WO (1) WO2019019044A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159618B (en) * 2019-11-25 2024-04-09 南京六九零二科技有限公司 Method for improving PVT calculation speed of Beidou second satellite receiver
CN110907972B (en) * 2019-12-04 2022-02-25 辰芯科技有限公司 Position positioning method, speed positioning method, device and positioning terminal
CN112462398B (en) * 2020-11-18 2024-02-23 北京中捷时代航空科技有限公司 Method and system for repositioning out-of-lock satellite signals
CN113093250B (en) * 2021-06-04 2021-08-27 腾讯科技(深圳)有限公司 Pseudo-range observation data restoration method, positioning information determination method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2459334A (en) * 2008-04-24 2009-10-28 Nordnav Technologies Ab Reducing the time required to establish a position solution in a satellite positioning system
CN102486540A (en) * 2010-12-06 2012-06-06 中国科学院微电子研究所 Quick positioning method applied to global satellite positioning and navigating system
CN102692632A (en) * 2011-03-23 2012-09-26 中国科学院微电子研究所 Method for eliminating ambiguity in satellite positioning system receiver positioning process and device thereof
CN102778683A (en) * 2012-07-09 2012-11-14 北京邮电大学 Beidou receiver and warm start method thereof
CN104678419A (en) * 2015-03-25 2015-06-03 天津七六四通信导航技术有限公司 Quick positioning method of satellite navigation receiver after recapture of lost lock
CN104753464A (en) * 2013-12-29 2015-07-01 展讯通信(上海)有限公司 Frequency calibration method and device for temperature compensated crystal oscillator in mobile terminal
CN104865587A (en) * 2015-06-15 2015-08-26 中国人民解放军国防科学技术大学 Quick locating method based on GEO constellation coarse location for Beidou receiver

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120026033A1 (en) * 2010-08-02 2012-02-02 Honda Motor Co., Ltd. Position calculation method and apparatus with gps
CN103744093B (en) * 2014-01-06 2017-03-15 北京北斗星通导航技术股份有限公司 A kind of Beidou navigation satellite system receiver positioning engine and positioning method
CN105093242B (en) * 2015-07-24 2017-12-22 北京航天长征飞行器研究所 Fast Acquisition and localization method after a kind of DVB losing lock
CN106199667A (en) * 2016-06-17 2016-12-07 南京理工大学 Fast relocation method in GPS/SINS hypercompact combination navigation system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2459334A (en) * 2008-04-24 2009-10-28 Nordnav Technologies Ab Reducing the time required to establish a position solution in a satellite positioning system
CN102486540A (en) * 2010-12-06 2012-06-06 中国科学院微电子研究所 Quick positioning method applied to global satellite positioning and navigating system
CN102692632A (en) * 2011-03-23 2012-09-26 中国科学院微电子研究所 Method for eliminating ambiguity in satellite positioning system receiver positioning process and device thereof
CN102778683A (en) * 2012-07-09 2012-11-14 北京邮电大学 Beidou receiver and warm start method thereof
CN104753464A (en) * 2013-12-29 2015-07-01 展讯通信(上海)有限公司 Frequency calibration method and device for temperature compensated crystal oscillator in mobile terminal
CN104678419A (en) * 2015-03-25 2015-06-03 天津七六四通信导航技术有限公司 Quick positioning method of satellite navigation receiver after recapture of lost lock
CN104865587A (en) * 2015-06-15 2015-08-26 中国人民解放军国防科学技术大学 Quick locating method based on GEO constellation coarse location for Beidou receiver

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《A Fast Positioning Method Without Navigation Data Decoding for Assisted GPS Receivers》;David Akopian,et al.;《IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY》;20091031;第58卷(第8期);全文 *
《一种与接收机初始位置无关的快速定位技术》;邓中亮,等;《第六届中国卫星导航学术年会论文集—S07北斗/GNSS用户终端技术》;20150513;2-4,15-17,13,26-28 *
《卫星信号发射时刻的无偏恢复》;彭少磊,等;《测绘工程》;20170228;第26卷(第2期);全文 *
GPS接收机双模热启动算法;蔡佳楠等;《中国集成电路》;20170505(第05期);2-4,15-17,13,26-28 *
邓中亮,等.《一种与接收机初始位置无关的快速定位技术》.《第六届中国卫星导航学术年会论文集—S07北斗/GNSS用户终端技术》.2015, *

Also Published As

Publication number Publication date
CN108513623A (en) 2018-09-07
WO2019019044A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
US7633436B2 (en) Satellite-based positioning of mobile terminals
US6671620B1 (en) Method and apparatus for determining global position using almanac information
JP3548576B2 (en) Differential GPS ground station system
EP1891458B1 (en) Method and apparatus for validating a position in a satellite positioning system using range-rate measurements
CN108513623B (en) Pseudo-range calculation method and terminal
EP1901088A1 (en) Integrated mobile-terminal navigation
EP3309585A1 (en) Positioning processing system, method, computer program, positioning processing device, and user terminal
US20100090889A1 (en) Precise orbit determination system and method using gps data and galileo data
CN111886519A (en) Positioning system, method and medium
US6865478B2 (en) Determining the position of a receiver and/or the system time of a positioning system
US9562976B2 (en) Method and apparatus for distinguishing direct GNSS signals from reflections
US6771215B2 (en) Determination of the transmission time of a signal part in a positioning system
KR102188880B1 (en) Terminal, base station and location positioning method
EP2418515A1 (en) Integrity method for differential corrections
EP1862809A1 (en) GNSS signal integrity indicator
KR20170027779A (en) Positioning and navigation receiver with a confidence index
WO2018052740A1 (en) Repair of carrier-phase cycle slips using displacement data
KR101452622B1 (en) A navigation bit boundary determination apparatus and a method thereof
WO2020107434A1 (en) Coordinate calibration method and device for rtk reference station, and storage medium
KR102031838B1 (en) Method and apparatus for processing differential information of global navigation satellite system
CN113835109B (en) Terminal positioning method and device, electronic equipment, storage medium and program product
JP4322829B2 (en) Cycle slip detection device and cycle slip detection method
WO2018052738A1 (en) Detection of outlier range measurements using spatial displacement data
CN114047527A (en) Pseudo-range signal transmission method, pseudo-range signal transmission device, storage medium, and electronic device
EP3748401A1 (en) System and method for position determination of a stationary gnss receiver using a distributed time signal

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220318

CF01 Termination of patent right due to non-payment of annual fee