CN112505729B - Method for determining satellite number, method for determining terminal position, device and medium - Google Patents

Method for determining satellite number, method for determining terminal position, device and medium Download PDF

Info

Publication number
CN112505729B
CN112505729B CN202011285219.2A CN202011285219A CN112505729B CN 112505729 B CN112505729 B CN 112505729B CN 202011285219 A CN202011285219 A CN 202011285219A CN 112505729 B CN112505729 B CN 112505729B
Authority
CN
China
Prior art keywords
satellite
candidate
time
determining
navigation
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.)
Active
Application number
CN202011285219.2A
Other languages
Chinese (zh)
Other versions
CN112505729A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011285219.2A priority Critical patent/CN112505729B/en
Publication of CN112505729A publication Critical patent/CN112505729A/en
Application granted granted Critical
Publication of CN112505729B publication Critical patent/CN112505729B/en
Active 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/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/28Satellite selection
    • 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/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/396Determining accuracy or reliability of position or pseudorange measurements
    • 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/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/40Correcting position, velocity or attitude
    • 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/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position

Abstract

Disclosed are a method for determining a satellite number, a method for determining a terminal position, a device and a medium, which can be combined with an electronic map, a wireless communication network, an information processing system, etc. to realize various functions related to device positioning. The method for determining the satellite number comprises the following steps: receiving satellite signals from a navigation satellite by terminal equipment, and acquiring satellite observation values of the navigation satellite based on the satellite signals by the terminal equipment, wherein the satellite observation values comprise numbered observation values; determining at least two candidate satellite numbers of the navigation satellite based on the number observation values; for each candidate satellite number of the at least two candidate satellite numbers, determining position information of a candidate navigation satellite with the candidate satellite number, and determining a distance between the terminal device and the candidate navigation satellite; and selecting one of the at least two candidate satellite numbers as the satellite number of the navigation satellite based on the distance between the terminal equipment and the candidate navigation satellite corresponding to the at least two candidate satellite numbers.

Description

Method for determining satellite number, method for determining terminal position, device and medium
Technical Field
The present disclosure relates to the field of global satellite navigation technologies, and in particular, to a method for determining a satellite number, a method for determining a terminal position, an apparatus for determining a terminal position, and a medium.
Background
The Global Navigation Satellite System (GNSS) is a space-based radio Navigation positioning System that can provide users with all-weather 3-dimensional coordinates and velocity and time information at any location on the earth's surface or near-earth space. The common systems are the four major satellite navigation systems of GPS, BDS, GLONASS and GALILEO.
The GLONASS satellite navigation system is an abbreviation for "global navigation satellite system" SATELLITE SYSTE, similar to the GPS in the united states, and galileo satellite positioning system in europe. The system works by adopting the distance intersection principle like a GPS, and can provide continuous and accurate three-dimensional coordinates, three-dimensional speed and time information for users in any place and near space on the earth.
In the GLONASS satellite navigation system, at least two GLONASS satellites may broadcast signals at the same carrier frequency, and thus one frequency channel number may correspond to at least two GLONASS satellite numbers. That is, when satellite signals from the GLONASS satellites are received by the terminal device, there may be a case where the satellite number of the GLONASS satellite cannot be uniquely determined.
Disclosure of Invention
Since the satellite number is an important parameter required for a subsequent device positioning process, it is desirable to provide a method capable of uniquely determining the satellite number of a navigation satellite, a method of determining the position of a terminal, a device, and a medium.
According to an aspect of the present disclosure, there is provided a method for determining a satellite number of a navigation satellite, comprising: receiving, by a terminal device, a satellite signal from the navigation satellite and obtaining, by the terminal device, a satellite observation of the navigation satellite based on the satellite signal, wherein the satellite observation comprises a numbered observation; determining at least two candidate satellite numbers for the navigation satellite based on the number observations; for each candidate satellite number of the at least two candidate satellite numbers, determining position information of a candidate navigation satellite having the candidate satellite number and determining a distance between the terminal device and the candidate navigation satellite; and selecting one of the at least two candidate satellite numbers as the satellite number of the navigation satellite based on the distance between the terminal device and the candidate navigation satellite corresponding to each of the at least two candidate satellite numbers.
In addition, in a method according to an embodiment of the present disclosure, the determining position information of a candidate navigation satellite having the candidate satellite number includes: acquiring ephemeris parameters of the navigation satellite with the candidate satellite number at a plurality of reference moments; determining a first time associated with the satellite signal based on the satellite signal; determining one reference moment closest to the first moment as a target moment in the plurality of reference moments, and determining ephemeris parameters of the navigation satellites with candidate satellite numbers at the target moment; and determining the position information of the candidate navigation satellite at the first time based on the ephemeris parameters of the navigation satellite with the candidate satellite number at the target time.
Additionally, in a method according to an embodiment of the present disclosure, the satellite observations further include clock observations, wherein the determining a first time associated with the satellite signal includes: determining a transmission time of the satellite signal based on the clock observation; acquiring the system time of the terminal equipment when receiving the satellite signal; and when the difference value between the transmitting time and the system time is in a preset range, taking the transmitting time as the first time.
Additionally, in the method according to an embodiment of the present disclosure, the determining a first time associated with the satellite signal further includes: and when the difference value between the transmitting time and the system time exceeds a preset range, determining the receiving time when the terminal equipment receives the satellite signal, and taking the receiving time as the first time.
In addition, in the method according to the embodiment of the present disclosure, the determining a reception time when the terminal device receives a satellite signal includes: and acquiring the system time of the terminal equipment when the satellite signal is received, and taking the system time as the receiving time.
In addition, in the method according to the embodiment of the present disclosure, the determining a reception time at which the terminal device receives the satellite signal includes: acquiring an internal hardware clock of the terminal equipment based on the clock observation value; determining a clock difference of the terminal device based on the clock observation, wherein the clock difference indicates a deviation between an internal hardware clock of the terminal device and a real receiving time; and taking the difference between the internal hardware clock and the clock difference as the receiving time.
Further, in a method according to an embodiment of the present disclosure, the clock difference includes a first clock difference parameter, a second clock difference parameter, and a third clock difference parameter, wherein the first clock difference parameter indicates a time offset of a time at which the terminal device acquires satellite observation values from a reception time, the second clock difference parameter indicates a nanosecond deviation of an internal hardware clock within the terminal device from a true GPS time, and the third clock difference parameter indicates a sub-nanosecond deviation of the internal hardware clock of the terminal device from the true GPS time, wherein determining the clock difference of the terminal device includes: and taking the sum of the first clock difference parameter, the second clock difference parameter and the third clock difference parameter as the clock difference of the terminal equipment.
In addition, in the method according to the embodiment of the present disclosure, the first clock difference parameter is a parameter acquired by the terminal device at a current time at which the satellite observation value is acquired, and the second clock difference parameter and the third clock difference parameter are parameters acquired at reference times before the current time.
In addition, in the method according to the embodiment of the present disclosure, when a clock skip occurs in a hardware clock of the terminal device at a current time, or when a value of the reception time determined at the current time overflows, the current time is taken as a reference time, and the second clock difference parameter and the third clock difference parameter are reset by values of the second clock difference parameter and the third clock difference parameter at the current time.
Additionally, in a method according to an embodiment of the present disclosure, the determining a distance between the terminal device and the candidate navigation satellite includes: determining approximate location information for the terminal device; and determining the distance between the terminal equipment and the satellite corresponding to the candidate satellite number based on the general position information of the terminal equipment and the position information of the satellite with the candidate satellite number.
In addition, in a method according to an embodiment of the present disclosure, the satellite observation value further includes a pseudo-range observation value, and the pseudo-range observation value is determined by multiplying a time difference between a transmission time and a reception time of the satellite signal by a speed of light, wherein selecting one of the at least two candidate satellite numbers as a satellite number of the navigation satellite based on a distance between the terminal device and a candidate navigation satellite corresponding to each of the at least two candidate satellite numbers includes: determining, for each candidate satellite signal of the at least two candidate satellite numbers, a difference between the pseudo-range observations and a distance between the terminal device and the candidate navigation satellite as a corrected distance between the terminal device and the candidate navigation satellite; and selecting a candidate satellite number corresponding to the candidate navigation satellite with the smallest absolute value of the correction distance as the satellite number of the navigation satellite based on the correction distance between the terminal equipment and the candidate navigation satellite.
According to another aspect of the present disclosure, there is provided a method for determining a location of a terminal device, comprising: receiving, by a terminal device, a satellite signal from the navigation satellite and obtaining, by the terminal device, a satellite observation of the navigation satellite based on the satellite signal, wherein the satellite observation comprises a numbered observation; determining at least two candidate satellite numbers for the navigation satellite based on the number observations; for each candidate satellite number of the at least two candidate satellite numbers, determining position information of a candidate navigation satellite having the candidate satellite number and determining a distance between the terminal device and the candidate navigation satellite; selecting one of the at least two candidate satellite numbers as a satellite number of the navigation satellite based on a distance between the terminal device and a candidate navigation satellite corresponding to each of the at least two candidate satellite numbers; and determining the position of the terminal device based on the satellite number of the navigation satellite and the satellite observation value.
According to still another aspect of the present disclosure, there is provided a terminal device including: a communication unit for receiving satellite signals from the navigation satellites; an acquisition unit configured to acquire a satellite observation value of the navigation satellite based on the satellite signal, wherein the satellite observation value includes a numbered observation value; a candidate satellite number determination unit configured to determine at least two candidate satellite numbers of the navigation satellite based on the number observation values; a distance determination unit configured to determine, for each of the at least two candidate satellite numbers, position information of a candidate navigation satellite having the candidate satellite number, and determine a distance between the terminal device and the candidate navigation satellite; and a selection unit configured to select one of the at least two candidate satellite numbers as a satellite number of the navigation satellite based on a distance between the terminal device and a candidate navigation satellite corresponding to each of the at least two candidate satellite numbers.
According to still another aspect of the present disclosure, there is provided a terminal device including: a communication unit for receiving satellite signals from the navigation satellites; an acquisition unit configured to acquire a satellite observation value of the navigation satellite based on the satellite signal, wherein the satellite observation value includes a numbered observation value; a candidate satellite number determination unit configured to determine at least two candidate satellite numbers of the navigation satellite based on the number observation values; a distance determination unit configured to determine, for each of the at least two candidate satellite numbers, position information of a candidate navigation satellite having the candidate satellite number, and determine a distance between the terminal device and the candidate navigation satellite; a selecting unit, configured to select one of the at least two candidate satellite numbers as a satellite number of the navigation satellite based on a distance between the terminal device and a candidate navigation satellite corresponding to each of the at least two candidate satellite numbers; and a positioning unit configured to determine a position of the terminal device based on a satellite number of the navigation satellite and the satellite observation value.
Further, in the apparatus according to an embodiment of the present disclosure, the distance determination unit is configured to determine the position information of the candidate navigation satellite having the candidate satellite number by performing the following processing: acquiring ephemeris parameters of the navigation satellite with the candidate satellite number at a plurality of reference moments; determining a first time associated with the satellite signal based on the satellite signal; determining one reference moment closest to the first moment as a target moment in the plurality of reference moments, and determining ephemeris parameters of the navigation satellites with candidate satellite numbers at the target moment; and determining the position information of the candidate navigation satellite at the first time based on the ephemeris parameters of the navigation satellite with the candidate satellite number at the target time.
Further, in the apparatus according to an embodiment of the present disclosure, the satellite observations further include a clock observation, wherein the distance determination unit is configured to determine the first time instant related to the satellite signal by performing: determining a transmission time of the satellite signal based on the clock observation; acquiring system time of the terminal equipment when receiving the satellite signal; and when the difference value between the transmitting time and the system time is in a preset range, taking the transmitting time as the first time.
In addition, in the apparatus according to an embodiment of the present disclosure, the distance determination unit is further configured to determine the first time instant related to the satellite signal by performing: and when the difference value between the transmitting time and the system time exceeds a preset range, determining the receiving time of the satellite signal received by the terminal equipment, and taking the receiving time as the first time.
In addition, in the apparatus according to an embodiment of the present disclosure, the distance determination unit is further configured to determine the reception time at which the terminal apparatus receives the satellite signal by performing: and acquiring the system time of the terminal equipment when the satellite signal is received, and taking the system time as the receiving time.
In addition, in the device according to the embodiment of the present disclosure, the distance determination unit is further configured to determine the reception time at which the terminal device receives the satellite signal by performing: acquiring an internal hardware clock of the terminal equipment when the terminal equipment receives the satellite signal based on the clock observation value; determining a clock difference of the terminal device based on the clock observation value, wherein the clock difference indicates a deviation between an internal hardware clock of the terminal device and a real receiving time; and taking the difference between the internal hardware clock and the clock difference as the receiving time.
Further, in the apparatus according to the embodiment of the present disclosure, the clock difference includes a first clock difference parameter, a second clock difference parameter, and a third clock difference parameter, wherein the first clock difference parameter indicates a time offset of a time at which the terminal apparatus acquires the satellite observation value with respect to a reception time, the second clock difference parameter indicates a nanosecond deviation of an internal hardware clock within the terminal apparatus with respect to a real GPS time, and the third clock difference parameter indicates a sub-nanosecond deviation of the internal hardware clock of the terminal apparatus with respect to a real GPS time, wherein the distance determination unit is further configured to determine the clock difference of the terminal apparatus by performing the following processes: and taking the sum of the first clock difference parameter, the second clock difference parameter and the third clock difference parameter as the clock difference of the terminal equipment.
In addition, in the apparatus according to the embodiment of the present disclosure, the first clock difference parameter is a parameter acquired by the terminal apparatus at a current time at which the satellite observation value is acquired, and the second clock difference parameter and the third clock difference parameter are parameters acquired at reference times before the current time.
In addition, in the device according to the embodiment of the present disclosure, when a clock hop occurs in a hardware clock of the terminal device at a current time or when a value of the reception time determined at the current time overflows, the distance determination unit takes the current time as a reference time and resets the second clock difference parameter and the third clock difference parameter with values of the second clock difference parameter and the third clock difference parameter at the current time.
In addition, in the apparatus according to an embodiment of the present disclosure, the distance determining unit is further configured to determine the distance between the terminal apparatus and the candidate navigation satellite by performing: determining approximate location information for the terminal device; and determining the distance between the terminal equipment and the satellite corresponding to the candidate satellite number based on the general position information of the terminal equipment and the position information of the satellite with the candidate satellite number.
Further, in the device according to the embodiment of the present disclosure, the satellite observation values further include a pseudo-range observation value, and the pseudo-range observation value is determined by multiplying a time difference between a transmission time instant and a reception time instant of the satellite signal by a speed of light, wherein the selection unit is configured to: determining, for each candidate satellite signal of the at least two candidate satellite numbers, a difference between the pseudo-range observations and a distance between the terminal device and the candidate navigation satellite as a corrected distance between the terminal device and the candidate navigation satellite; and selecting a candidate satellite number corresponding to the candidate navigation satellite with the smallest absolute value of the correction distance as the satellite number of the navigation satellite based on the correction distance between the terminal equipment and the candidate navigation satellite.
According to still another aspect of the present disclosure, there is provided a terminal device including: a memory having a computer program stored thereon; a processor for performing the method as described hereinbefore when executing the computer program.
According to still another aspect of the present disclosure, there is provided a computer-readable recording medium having stored thereon a computer program which, when executed by a processor, performs the method as described hereinabove.
In the method, the device and the recording medium according to the embodiments of the present disclosure, the satellite number of the navigation satellite can be correctly identified, so that the satellite observation value for the subsequent device positioning algorithm is increased, thereby facilitating the assistance of the subsequent device positioning algorithm and improving the positioning accuracy of the terminal device.
Drawings
Fig. 1 is a flow chart illustrating a process of a method for determining satellite numbers of navigation satellites according to one embodiment of the present disclosure;
FIG. 2 shows a schematic block diagram of a GNSS navigation chip;
FIG. 3 is a flow diagram illustrating a process for determining position information for candidate navigation satellites having the candidate satellite numbers according to one embodiment of the present disclosure;
FIG. 4 is a data flow diagram illustrating a method for determining satellite numbers of navigation satellites in accordance with one embodiment of the present disclosure;
FIG. 5 is a flow diagram illustrating a method for determining a location of a terminal device according to one embodiment of the present disclosure;
fig. 6 is a functional block diagram illustrating a configuration of a terminal device according to an embodiment of the present disclosure;
FIG. 7 is a schematic diagram of an architecture of an exemplary computing device, according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. The following description with reference to the accompanying drawings is provided to assist in understanding the exemplary embodiments of the invention as defined by the claims and their equivalents. It includes various specific details to assist understanding, but they are to be construed as merely illustrative. Accordingly, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Also, in order to make the description clearer and more concise, a detailed description of functions and configurations well known in the art will be omitted.
First, a method for determining a satellite number of a navigation satellite according to an embodiment of the present disclosure will be described with reference to fig. 1. As shown in fig. 1, the method includes the following steps.
In step S101, a terminal device receives a satellite signal from the navigation satellite, and acquires a satellite observation value of the navigation satellite based on the satellite signal through the terminal device. Here, the terminal device may be a portable mobile terminal having a GNSS navigation chip, such as a smartphone, a tablet computer, or the like.
Fig. 2 shows a schematic block diagram of a GNSS navigation chip. On the left side of fig. 2, an RF module 201 is shown, which comprises an antenna 2011 and an RF front end 2012 required for analog signal processing for receiving signals from the navigation satellites 200. In addition, the RF module 201 further includes an analog-to-digital converter (ADC)2013 to convert the received analog signal into a digital signal. On the right side of fig. 2, a baseband and PVT (Position, Time) processing module 202 is shown, which is a software-based signal processing unit designed to run on general-purpose hardware. The baseband processing unit 2021 is responsible for processing GNSS satellite signals to obtain satellite observations. The baseband processing unit 2021 supplies the acquired data to the PVT unit 2022, and then the PVT unit 2022 calculates the PVT of the terminal device to locate the terminal device.
As one possible implementation, in a terminal device Based on the Android platform, a Development sdk (software Development kit) of Location Based Services (LBS) is provided. Various observations relating to satellite signals can be obtained via the android positioning api (advanced Programmers interface) provided by the SDK. Of course, the present disclosure is not limited to Android system based devices, and devices based on other systems (e.g., IOS systems) may similarly apply the present disclosure and are included within the scope of the present disclosure. For example, classes for obtaining various observations may include GNSSClock and gnssmeasurent, and examples of observations obtained by GNSSClock and gnssmeasurent are shown in table 1 below.
TABLE 1
Figure BDA0002782160120000081
Figure BDA0002782160120000091
As can be seen from table 1, the satellite observation values include a type observation value ConstellationType, which is used to indicate which one of the GPS, GLONASS, GALILEO, BDS, etc. types the navigation satellite is. Additionally, the satellite observations comprise a numbered observation Svid. In the case of GLONASS satellites, the GLONASS satellite number given by the number observation Svid may include two forms. One is the track Number (OSN) and the other is the Frequency Channel Number (FCN). In the case of OSN, Svid directly gives an accurate and unique satellite number, and the numerical range is 1-24. In the case of FCN, the value of Svid is encoded as the value of FCN plus 100. For example, an FCN of-7 is encoded as 93, an FCN of 0 is encoded as 100, and an FCN of +6 is encoded as 106. Since two GLONASS satellites may signal at the same carrier frequency (i.e., the same FCN), one FCN may correspond to two GLONASS satellite numbers. The assignment of GLONASS satellite frequency channel numbers is shown in table 2 below.
TABLE 2
Figure BDA0002782160120000092
Figure BDA0002782160120000101
Referring back to fig. 1, after step S101, the process proceeds to step S102. In step S102, it is determined whether the navigation satellite is a GLONASS satellite based on the type observation. As described above, it is possible to determine which one of the GPS, GLONASS, GALILEO, BDS, and the like the navigation satellite is based on the ConstellationType. If it is determined at step S102 that the navigation satellite is a GLONASS satellite, the process proceeds to step S103, otherwise the process proceeds to step S107. In step S103, it is determined whether the numbered observation corresponds to an OSN or an FCN. Specifically, since the ranges of values of the Svid corresponding to the OSN and the FCN are different, in step S103, it may be determined whether the number observation value corresponds to the OSN or the FCN based on the range of values of the Svid. When the value of Svid is between 1 and 24, the numbered observations correspond to OSN. And when the value of Svid is between 93 and 106, the numbered observations correspond to FCN.
Since in the case of the OSN, Svid gives an accurate and unique satellite number, if it is determined in step S103 that it corresponds to the OSN, the process proceeds to step S107. In step S107, the value of Svid is directly used as the satellite number of the navigation satellite.
On the other hand, if it is determined in step S103 that FCN corresponds, the process proceeds to step S104. At step S104, at least two candidate satellite numbers of the navigation satellite are determined based on the number observations.
Specifically, assume that at time tRxThe terminal device receives satellite signals from the GLONASS satellites. At this time, if the satellite number obtained through the Android Location API is svid and the FCN thereof is K, the following formula exists:
Figure BDA0002782160120000102
next, the satellite number matching the K value calculated by equation (1), denoted as svid, is found in Table 2 above1And svid2. Numbering satellites as svid1And svid2As candidate satellite numbers for the navigation satellites.
After step S104, the process proceeds to step S105. In step S105, for each of the at least two candidate satellite numbers, position information of a candidate navigation satellite having the candidate satellite number is determined, and a distance between the terminal device and the candidate navigation satellite is determined.
A specific process of determining the position information of the candidate navigation satellite having the candidate satellite number will be described in detail below first with reference to fig. 3.
As shown in fig. 3, the process of determining the position information of the candidate navigation satellite having the candidate satellite number includes the following steps.
First, in step S301, ephemeris parameters of the navigation satellites having the candidate satellite numbers at a plurality of reference times are acquired.
The satellite ephemeris determines various parameters such as time, coordinates, azimuth, speed and the like of a flying body according to the mathematical relation among 6 orbit parameters of the Kepler law, and has extremely high precision. The ephemeris parameters P of a certain GLONASS satellite are expressed by the following formula (2)eph
Peph(tb)=(x,y,z,vx,vy,vz,ax,av,az,τn,γn) (2)
Wherein, tbFor the reference time of the GLONASS ephemeris, x, y, z denote at the reference time tbCoordinate values of the time GLONASS satellite in an ECEF (Earth-Centered, Earth-Fixed) coordinate system; v. ofx,vy,vzAt a reference time tbVelocity values of the time GLONASS satellites under the ECEF coordinate system; a isx,av,azAt a reference time tbAcceleration values of the time GLONASS satellites in the ECEF coordinate system; tau isn,γnFor calculating GLONASS satellite clock error.
Then, in step S302, a first time associated with the satellite signal is determined based on the satellite signal.
Wherein the satellite observations further comprise clock observations. For example, as a possible implementation, the transmission time of the satellite signal may be taken as the first time. In particular, the process of determining a first time instant associated with the satellite signal may comprise: determining a transmission time of the satellite signal based on the clock observation. For example, the time of transmission of the satellite signal may be determined by a clock observation value receivedssvtimenanos obtained by the android positioning API. Considering that the obtained clock observation value receivedssvtimenanos may be biased due to transmission or decoding errors of satellite signals, as a possible implementation, the obtained clock observation value receivedssvtimenanos may be compared with the system time of the terminal device to determine the accuracy of the obtained clock observation value receivedssvtimenanos. Specifically, the system time of the terminal device when the satellite signal is received is obtained. When the difference between the transmission time instant and the system time is within a predetermined range, namely: the acquired clock observation value receivedssvtimenanos may be considered to be accurate, and the transmission time may be taken as the first time.
On the other hand, when the difference between the transmission time and the system time is beyond a predetermined range, the following steps are carried out: the acquired clock observation value receivedssvtimenanos cannot be considered to be accurate, the receiving time of the satellite signal received by the terminal device is determined, and the receiving time is taken as the first time.
As a possible implementation, the receiving time of the satellite signal may be determined by directly acquiring the system time of the terminal device. Specifically, the process of determining the receiving time of the satellite signal received by the terminal device may include: and acquiring the system time of the terminal equipment when the satellite signal is received, and taking the system time as the receiving time.
Furthermore, as another possible embodiment, the reception time of the satellite signal may also be determined by based on the observation value. Specifically, the process of determining the receiving time of the satellite signal received by the terminal device may include: first, an internal hardware clock of the terminal device is acquired based on the clock observation value (specifically, timesnanos). Since each observation including the clock observation is acquired through the API on the basis of the received satellite signal, the timenannos is a parameter indicating the time at which the terminal device acquires each observation from the satellite signal. Note that the time indicated by the timesnanos is offset from the time of reception of the satellite signal. The bias here is the time required to process the satellite signals to extract the individual observations.
Then, based on the clock observations, a clock difference for the terminal device is determined, wherein the clock difference indicates a deviation between an internal hardware clock of the terminal device and a true receive time. The deviation between the internal hardware clock of the terminal device and the real receiving time mainly comprises two deviations. The deviation on the one hand refers to the time required for processing the satellite signals to extract the respective observations, as described above, and on the other hand refers to the deviation between the clock of the terminal device and the real time.
In particular, the clock difference comprises a first clock difference parameter (timeoffsetnanometers), a second clock difference parameter (fullbiasnos), and a third clock difference parameter (BiasNanos), wherein the first clock difference parameter indicates a time offset of a time at which the terminal device acquires satellite observations relative to a receive time, the second clock difference parameter indicates a nanosecond deviation of an internal hardware clock within the terminal device relative to true GPS time, and the third clock difference parameter indicates a sub-nanosecond deviation of the internal hardware clock of the terminal device relative to true GPS time.
Determining the clock offset of the terminal device may include: and taking the sum of the first clock difference parameter, the second clock difference parameter and the third clock difference parameter as the clock difference of the terminal equipment.
And after determining the clock difference, taking the difference between the internal hardware clock and the clock difference as the receiving time. Suppose that the time of reception of the satellite signal is tRxExpressed, then t can be calculated by the following formulaRx
tRx=TimeNanos-TimeOffsetNanos-(FullBiasNanos+BiasNanos)[ns] (3)
Since the deviation between the internal hardware clock at the terminal device and the real time is time-varying, as a possible embodiment, the reception time t of the satellite signal is determinedRxIn this case, the TimeNanos and the TimeOffsetNanos may be caused to acquire the output value of the API at the current time, and the fullbiasnos and the BiasNanos may be caused to acquire the output value of the API at a reference time (a time before the current time). That is, the first clock difference parameter is a parameter acquired by the terminal device at a current time at which the satellite observation value is acquired, and the second clock difference parameter and the third clock difference parameter are parameters acquired at reference times prior to the current time. In particular, in such an embodiment, t may be calculated according to the following formulaRx
tRx=TimeNano(m)-TimeOffsetNanos(m)-(FullBiasNanos(k)+BiasNanos(k))[ns] (4)
Where m denotes the current time and k denotes the reference time. The reference time is a time before the current time, and a time at which the internal hardware clock of the terminal device is normal is selected as the reference time.
Determining the time of reception t of a satellite signal by using this wayRxThe deviation between the internal hardware clock of the terminal device and the real time can be kept to be linearly changed, that is, the clock difference and the clock drift of the terminal device conform to a linear mathematical relationship, which is specifically shown as the following formula:
Figure BDA0002782160120000131
where Δ t represents the time interval between time t and time t-1,
Figure BDA0002782160120000132
a clock drift representing the internal hardware clock of the terminal device.
In addition, in this embodiment, the values of the second clock difference parameter and the third clock difference parameter may be reset as follows. Specifically, when the hardware clock of the terminal device is in clock hopping at the current time, the current time is used as a reference time, and the second clock difference parameter and the third clock difference parameter are reset according to the values of the second clock difference parameter and the third clock difference parameter of the current time. Because the terminal equipment generally adopts a quartz clock with lower price, the stability of the quartz clock is not as good as that of a high-precision atomic clock at a satellite end. As the measurement progresses, the clock offset at the terminal device gradually drifts, resulting in the accumulation of receiver internal clock and real GPS time synchronization errors. In order to keep the clock inside the terminal equipment and the GPS time as synchronous as possible, when the clock difference of the terminal equipment drifts to a certain threshold value, the clock jump (namely, the clock jump) is inserted into the terminal equipment to be controlled, and the synchronous precision is ensured to be within a certain range. For example, whether a clock jump occurs can be determined by monitoring the value of hardwareconlockdiscontinitycount. In general, when the value of hardwareconlockdisaconnectiutycount changes, it means that the hardware clock of the terminal device is clocked. At this time, the values of the second clock difference parameter and the third clock difference parameter need to be reset.
Or when the value of said reception instant determined at the current instant overflows, in other words at tRxWhen the maximum value is changed into the minimum value, the values of the second clock difference parameter and the third clock difference parameter also need to be reset.
Further, it is to be noted that the reception time t determined by the above processingRxIs based on Universal Time (UTC). Since the reference times in the ephemeris parameters are all based on GPS time (GPST), t needs to be determinedRxConversion was to GPS Week (Week) and GPS intra-Week second (sow). Of course, when the first time instant is a transmission time instantSuch conversion also needs to be performed similarly. Specifically, the conversion may be performed by the following formula (6).
Figure BDA0002782160120000141
When week is less than or equal to 0, the observed value obtained by the API is considered to have an error, in other words, t is determinedRxIs inaccurate. In this case, t can be determined by directly acquiring the system time of the terminal device as described aboveRx. Suppose that the system current time of the terminal device is tsys[s],tsys[s]Is UTC-based, GPS Week (Week) and GPS second-of-Week (sow) may now be obtained using equation (7):
Figure BDA0002782160120000142
in the above formula, the value 315964800 represents the second count between the GPST start time UTC 1980-1-600: 00:00 and the computer system start time UTC 1970-01-0100: 00:00, and leapSecond represents the UTC skip second value at the current time.
In the above, various possible embodiments of determining a first time instant related to a satellite signal are described in detail. The determined first time instant is used to search for the nearest available ephemeris parameters. For example, the GLONASS ephemeris may be obtained from the flight CORS (continuous Operational Reference System) system.
Next, reference is made back to fig. 3. After the first timing is determined at step S302, the process proceeds to step S303. In step S303, a reference time closest to the first time is determined as a target time among the plurality of reference times, and ephemeris parameters of the navigation satellites with candidate satellite numbers at the target time are determined. Suppose that at all reference times tbOf is target time tB
In the following, at the moment of reception t of the satellite signalRxAs the first timeFor example, a specific process for determining the position of a satellite at a first time based on ephemeris parameters at a target time will be described. Of course, it will be understood that the case where the transmission time of the satellite signal is taken as the first time is similarly applicable.
Finally, in step S304, the position information of the candidate navigation satellite at the first time is determined based on the ephemeris parameters of the navigation satellite with the candidate satellite number at the target time.
GLONASS satellite positions r in the ECEF (PZ-90) coordinate systems(t)=(x,y,z)TAnd velocity vs(t)=(vx,vy,vz)TThe differential equation with respect to time is:
Figure BDA0002782160120000151
Figure BDA0002782160120000152
Figure BDA0002782160120000153
Figure BDA0002782160120000154
in the above formula, aeIs the earth's semi-major axis (6378136.0 m); mu is the earth's gravitational constant and has a value of 398600.44 × 109m3/s2;ωeIs the rotational angular velocity of the earth, and has a value of 7.292115 × 10-5rad/s;J2The second-order band harmonic coefficient for representing the oblateness of the earth has a value of 1082625.7 × 10-9
Figure BDA0002782160120000155
Figure BDA0002782160120000156
For example, the GLONASS satellite at t can be solved by using a fourth-order Runge-Kutta (RK4) numerical integration methodRxThe time position and speed value comprises the following steps:
first, an integration step is determined. If tRx-tBIf > 0, the integration step dh is 60 s. On the other hand, if tRx-tBIf < 0, integral step dh ═ dh0 is-60 s; last integration step
Figure BDA0002782160120000157
Figure BDA0002782160120000158
Int is the rounding operation.
Then, with tBAt the initial moment, dh steps up the integral until the integral reaches tRxUp to, the number of integration is
Figure BDA0002782160120000159
Int is the rounding operation, i.e. n loop operations are performed.
The formula for each cycle is as follows:
Figure BDA00027821601200001510
Figure BDA00027821601200001511
Figure BDA0002782160120000161
Figure BDA0002782160120000162
Figure BDA0002782160120000163
Figure BDA0002782160120000164
when i is 1, use peph(tB) The position and velocity of the line are used as initial values. In the above formula, k11~k61Is calculated by the following formula, namely
k11=vx,i,k21=vy,i,k31=vz,i
k41=f1(xi,yi,zi,vx,i,vy,i,vz,i,ax)
k51=f2(xi,yi,zi,vx,i,vy,i,vz,i,ay)
k61=f3(xi,yi,zi,vx,i,vy,i,vz,i,az)
k12~k62Is calculated by the following formula, namely
Figure BDA0002782160120000165
Figure BDA0002782160120000166
Figure BDA0002782160120000167
Figure BDA0002782160120000168
k13~k63Is calculated by the following formula, namely
Figure BDA0002782160120000169
Figure BDA0002782160120000171
Figure BDA0002782160120000172
Figure BDA0002782160120000173
k14~k64Is calculated by the following formula, namely
k14=vx,i+dh·k43,k24=vy,i+dh·k53,k34=vz,i+dh·k63
k44=f1(xi+dh·k13,yi+dh·k23,zi+dh·k33,vx,i+dh·k43,vy,i+dh
·k53,vz,i+dh·k63,ax)
k54=f2(xi+dh·k13,yi+dh·k23,zi+dh·k33,vx,i+dh·k43,vy,i
+dh·k53,vz,i+dh·k63,ay)
k64=f3(xi+dh·k13,yi+dh·k23,zi+dh·k33,vx,i+dh·k43,vy,i
+dh·k53,vz,i+dh·k63,az)
At integral to tRxThen, the obtained position information is the candidate navigation satellite at t RxLocation information of the time of day.
After determining the position of the candidate navigation satellite at the first time instant, the distance between the terminal device and the satellite with the candidate satellite number may be further determined. Specifically, the determining the distance between the terminal device and the candidate navigation satellite may include: determining approximate location information of the terminal device; and determining the distance between the terminal equipment and the satellite corresponding to the candidate satellite number based on the general position information of the terminal equipment and the position information of the satellite with the candidate satellite number.
Here, the approximate location information of the terminal device is distinguished from the precise location determined by satellite positioning. It aims to determine the satellite numbers in an assisted manner, so that there is no high accuracy requirement for it.
For example, as one possible implementation, the terminal device may determine its approximate location information through communication with a base station. Specifically, the terminal device measures downlink pilot signals of different base stations to obtain TOAs (time of arrival) or TDOAs (time difference of arrival) of downlink pilots of different base stations. Then, the approximate position of the terminal device is calculated by using a trigonometric formula estimation algorithm in combination with the coordinates of the base station based on the measurement result.
Or, for another example, as another possible implementation manner, the terminal device may determine its general location information through WiFi (i.e. Wireless Access Point: AP, or Wireless router). There are many ways to locate via WiFi. For example, the distance between the target terminal device and the AP may be determined according to the measured signal strength, the direction and angle of the target terminal device may be detected according to the signal angle, the position of the target terminal device from the AP may be preliminarily determined according to the phase, time, and time difference, and the like. Then, since the location of the AP is known, the approximate location information of the terminal device can be determined.
Of course, the above two examples are merely exemplary, and the method for determining the approximate location information of the terminal device is not limited thereto. Any other possible method may be similarly applied to the present disclosure and should be included within the scope of the present disclosure.
Recording the determined approximate position information of the terminal equipment as (x)u,yu,zu) And respectively recording the position information of the candidate navigation satellite determined in the above
Figure BDA0002782160120000181
And
Figure BDA0002782160120000182
Figure BDA0002782160120000183
then, the geometric distance between the terminal device and the candidate navigation satellite may be calculated by the following formula (8).
Figure BDA0002782160120000184
Finally, reference is made back to fig. 1. After step S105, the process proceeds to step S106. In step S106, one of the at least two candidate satellite numbers is selected as the satellite number of the navigation satellite based on the distance between the terminal device and the candidate navigation satellite corresponding to each of the at least two candidate satellite numbers.
As a possible implementation, the satellite observations further include pseudo-range observations, and the pseudo-range observations are determined by multiplying a time difference between a time of transmission and a time of reception of the satellite signals by a speed of light.
In such an embodiment, selecting one of the at least two candidate satellite numbers as the satellite number of the navigation satellite based on the distance between the terminal device and the candidate navigation satellite to which each of the at least two candidate satellite numbers corresponds may include the following steps.
First, for each candidate satellite signal of the at least two candidate satellite numbers, a difference value between the distance between the terminal device and the candidate navigation satellite and the pseudo-range observation value is determined as a corrected distance between the terminal device and the candidate navigation satellite. Order to
Figure BDA0002782160120000191
And
Figure BDA0002782160120000192
respectively representing the corrected distances between the terminal device and the candidate navigation satellites, and p represents a pseudo-range observed value between the terminal device and the navigation satellites, then:
Figure BDA0002782160120000193
then, based on the corrected distances between the terminal device and the candidate navigation satellites, the candidate satellite number corresponding to the candidate navigation satellite having the smallest absolute value of the corrected distance is selected as the satellite number of the navigation satellite. That is, when
Figure BDA0002782160120000194
Then, the real satellite number of the navigation satellite is svid1. On the other hand, when
Figure BDA0002782160120000195
Then, the real satellite number of the navigation satellite is svid2
In addition, as described above, there may be a case where the transmission time of the satellite signal acquired through the API is erroneous, and further, there may be a case where the pseudo-range observation value cannot be determined. In this case, the pseudo-range measurement value ρ is made 0, and the above equation (9) is still applied to determine the satellite number. When ρ is 0, it can be understood that: two GLONASS satellites corresponding to the same frequency channel number are usually located 180 ° apart on the same orbit (i.e., located at opposite ends of the earth), and therefore the satellite number corresponding to the satellite closer to the terminal device is selected as the accurate satellite number.
Fig. 4 is a data flow diagram illustrating a method for determining satellite numbers of navigation satellites according to one embodiment of the present disclosure. As shown in fig. 4, a first time instant associated with a satellite signal is determined based on observations obtained through the android positioning API. As described hereinbefore, as a possible implementation, the transmission time instant at which the navigation satellite transmits the satellite signal may be determined as the first time instant based on the observation value receivedssvtimenanos. Alternatively, as another possible implementation, the receiving time of the terminal device receiving the satellite signal may also be determined as the first time based on the timenannos, the TimeOffsetNanos, the fullbiassnanos, and the BiasNanos.
When it is determined based on the observations condellanttype and Svid that the navigation satellites are likely to correspond to a plurality of different satellite numbers, that is: when determined to be FCN and the frequency channel numbers correspond to different satellite numbers, a plurality of candidate satellite numbers are determined. Then, the positions of the plurality of candidate navigation satellites corresponding to the plurality of candidate satellite numbers are determined based on the ephemeris parameters and the first time.
In addition, the approximate location of the terminal device is determined based on external location information, e.g., by base station and WiFi positioning as described above. Based on the position of the candidate navigation satellite and the approximate position of the terminal device, a corrected distance from the terminal device to the candidate navigation satellite is determined. And selecting the candidate satellite number with the minimum correction distance as the real satellite number of the navigation satellite.
In the above, a method of determining a satellite number of a navigation satellite according to an embodiment of the present disclosure is described in detail with reference to fig. 1 to 4. By the method for determining the satellite number of the navigation satellite according to the embodiment of the disclosure, the satellite number of the navigation satellite can be correctly identified, so that the satellite observation value for the subsequent equipment positioning algorithm is increased, the subsequent equipment positioning algorithm is facilitated to be assisted, and the positioning accuracy of the terminal equipment is improved.
Fig. 5 illustrates a method for determining a location of a terminal device according to an embodiment of the present disclosure. As shown in fig. 5, the method includes the following steps.
First, in step S501, a terminal device receives a satellite signal from the navigation satellite, and obtains a satellite observation value of the navigation satellite based on the satellite signal, wherein the satellite observation value includes a numbered observation value.
Then, in step S502, it is determined whether the navigation satellite is a GLONASS satellite based on the type observation value. As described above, it is possible to determine which one of the GPS, GLONASS, GALILEO, BDS, and the like the navigation satellite is based on the ConstellationType. If it is determined at step S502 that the navigation satellite is a GLONASS satellite, the process proceeds to step S503, otherwise the process proceeds to step S507.
Then, in step S503, it is determined whether the numbered observation corresponds to the OSN or the FCN. If it is determined in step S503 that it corresponds to OSN, the process proceeds to step S507. In step S507, the value of Svid is directly used as the satellite number of the navigation satellite.
On the other hand, if it is determined in step S503 that FCN corresponds, the process proceeds to step S504. At step S504, at least two candidate satellite numbers of the navigation satellite are determined based on the number observations.
Next, in step S505, for each of the at least two candidate satellite numbers, position information of a candidate navigation satellite having the candidate satellite number is determined, and a distance between the terminal device and the candidate navigation satellite is determined.
Then, in step S506, one of the at least two candidate satellite numbers is selected as the satellite number of the navigation satellite based on the distance between the terminal device and the candidate navigation satellite corresponding to each of the at least two candidate satellite numbers.
Steps S501 to S507 are similar to steps S101 to S107 described above with reference to fig. 1, and thus details thereof are not repeated.
Finally, after the satellite number of the navigation satellite is determined at step S506 or step S507, the process proceeds to step S508. In step S508, the position of the terminal device is determined based on the satellite numbers of the navigation satellites and the satellite observation values.
Next, a terminal device according to an embodiment of the present disclosure will be described with reference to fig. 6. As shown in fig. 6, the terminal apparatus 600 includes: a communication unit 601, an acquisition unit 602, a candidate satellite number determination unit 603, a distance determination unit 604, a selection unit 605, and a positioning unit 606.
The communication unit 601 receives satellite signals from the navigation satellites.
The obtaining unit 602 obtains satellite observations of the navigation satellites based on the satellite signals, wherein the satellite observations include numbered observations.
Candidate satellite number determination unit 603 determines at least two candidate satellite numbers of the navigation satellite based on the number observation values.
Specifically, the candidate satellite number determination unit 603 may determine whether the number observation corresponds to the OSN or the FCN based on the range of values of the Svid. When the value of Svid is between 1 and 24, the numbered observations correspond to OSN. And when the value of Svid is between 93 and 106, the numbered observation corresponds to FCN.
Since in the case of OSN the Svid gives an accurate and unique satellite number, in this case the selection unit 605 directly takes the value of Svid as the satellite number of the navigation satellite.
On the other hand, in the case of FCN, candidate satellite number determination unit 603 determines at least two candidate satellite numbers of the navigation satellite based on the number observation value. Specifically, assume that at time tRxThe mobile phone receives satellite signals from the GLONASS satellites. At this time, the obtained satellite number is svid through the android positioning API. The value of svid is subtracted by 100 to obtain the frequency channel number K. The satellite number corresponding to the frequency channel number K is found as the candidate satellite number in table 2 described above.
The distance determination unit 604 determines, for each of the at least two candidate satellite numbers, position information of a candidate navigation satellite having the candidate satellite number, and determines a distance between the terminal device and the candidate navigation satellite.
To determine the position information of the candidate navigation satellites, first, the distance determining unit 604 needs to acquire ephemeris parameters of the navigation satellites having the candidate satellite numbers at a plurality of reference time instances. Then, the distance determination unit 604 determines a first time instant related to the satellite signal based on the satellite signal.
Wherein the satellite observations further comprise clock observations. As a possible implementation, the time of transmission of the satellite signal may be taken as the first time. In particular, the distance determination unit 604 is configured to determine a first time instant related to the satellite signal by performing the following process: first, a transmission time of the satellite signal is determined based on the clock observation. For example, the time of transmission of the satellite signal may be determined by a clock observation value receivedssvtimenanos obtained by the android positioning API. Considering that the obtained clock observation value receivedssvtimenanos may be biased due to transmission or decoding errors of satellite signals, as a possible implementation, the obtained clock observation value receivedssvtimenanos may be compared with the system time of the terminal device to determine the accuracy of the obtained clock observation value receivedssvtimenanos. In particular, the distance determination unit 604 may be further configured to obtain a system time of the terminal device when receiving the satellite signal. And when the difference value between the transmitting time and the system time is in a preset range, taking the transmitting time as the first time.
On the other hand, when the difference between the transmission time and the system time is beyond a predetermined range, the following steps are carried out: the acquired clock observation value receivedssvtimenanos cannot be regarded as accurate, and the distance determination unit 604 determines the reception time at which the terminal device receives the satellite signal, and takes the reception time as the first time.
As a possible implementation, the distance determining unit 604 may determine the receiving time of the satellite signal by directly acquiring the system time of the terminal device. Specifically, the distance determination unit 604 may be further configured to determine the reception time at which the terminal device receives the satellite signal by performing the following processing: and acquiring the system time of the terminal equipment when the satellite signal is received, and taking the system time as the receiving time.
Further, as another possible embodiment, the distance determination unit 604 may also determine the reception time of the satellite signal by based on the observation value. Specifically, the distance determination unit 604 may be further configured to determine the reception time at which the terminal device receives the satellite signal by performing the following processing: first, an internal hardware clock of the terminal device is acquired based on the clock observation value (specifically, timesnanos). Since each observation including the clock observation is acquired through the API on the basis of the received satellite signal, the timenannos is a parameter indicating the time at which the terminal device acquires each observation from the satellite signal. Note that the time indicated by the timesnanos is offset from the time of reception of the satellite signal. The bias here is the time required to process the satellite signals to extract the individual observations.
Then, the distance determination unit 604 determines a clock difference of the terminal device based on the clock observation value, wherein the clock difference indicates a deviation between an internal hardware clock of the terminal device and a true reception time. The deviation between the internal hardware clock of the terminal device and the real receiving time mainly comprises two deviations. The deviation on the one hand refers to the time required for processing the satellite signals to extract the respective observations, as described above, and on the other hand refers to the deviation between the clock of the terminal device and the real time.
Specifically, the clock difference comprises a first clock difference parameter (timeoffsetnanometers), a second clock difference parameter (fullbiasnnos), and a third clock difference parameter (biasnanometers), wherein the first clock difference parameter indicates a time offset of a time at which the terminal device acquires satellite observations relative to a reception time, the second clock difference parameter indicates a nanosecond deviation of an internal hardware clock within the terminal device relative to true GPS time, and the third clock difference parameter indicates a sub-nanosecond deviation of the internal hardware clock of the terminal device relative to true GPS time.
Determining the clock offset of the terminal device may comprise: and taking the sum of the first clock difference parameter, the second clock difference parameter and the third clock difference parameter as the clock difference of the terminal equipment. After determining the clock difference, the distance determination unit 604 takes the difference between the internal hardware clock and the clock difference as the reception time.
Since the deviation between the internal hardware clock at the terminal device and the real time is time-varying, as a possible embodiment, the reception time t of the satellite signal is determinedRxIn this case, the timenannos and the timeoffsetnannos may be caused to acquire the output value of the current time API, and the fullbiasnnos and the biasnannos may be caused to acquire the output value of a certain reference time (a time before the current time) API. That is, the first clock difference parameter is a parameter acquired by the terminal device at a current time at which the satellite observation value is acquired, and the second clock difference parameter and the third clock difference parameter are parameters acquired at reference times prior to the current time. Determining the time of reception t of a satellite signal by using this wayRxThe deviation between the internal hardware clock of the terminal equipment and the real time can be kept to be changed linearly.
In addition, in this embodiment, the values of the second clock difference parameter and the third clock difference parameter may be reset as follows. Specifically, when the hardware clock of the terminal device is in clock hopping at the current time, the current time is used as a reference time, and the second clock difference parameter and the third clock difference parameter are reset according to the values of the second clock difference parameter and the third clock difference parameter of the current time. Because the terminal equipment generally adopts a quartz clock with lower price, the stability of the quartz clock is not as good as that of a high-precision atomic clock at a satellite end. As the measurement progresses, the clock offset at the terminal device gradually drifts, resulting in the accumulation of receiver internal clock and real GPS time synchronization errors. In order to keep the clock inside the terminal equipment and the GPS time as synchronous as possible, when the clock difference of the terminal equipment drifts to a certain threshold value, the clock jump (namely, the clock jump) is inserted into the terminal equipment to be controlled, and the synchronous precision is ensured to be within a certain range. For example, whether a clock jump occurs can be determined by monitoring the value of hardwareconlockdiscontinitycount. In general, when the value of hardwareconlockdisaconnectiutycount changes, it means that the hardware clock of the terminal device is clocked. At this time, the values of the second and third clock difference parameters need to be reset.
Or, when the value of the reception time determined at the current time overflows, in other words, at tRxWhen the maximum value is changed into the minimum value, the values of the second clock difference parameter and the third clock difference parameter also need to be reset.
Further, it is to be noted that the reception time t determined by the above processingRxIs based on Universal Time (UTC). Since the reference time in the ephemeris parameters is based on GPS time (GPST), the distance determination unit 604 needs to determine tRxConversion was to GPS Week (Week) and GPS intra-Week second (sow).
The determined first time instant is used to search for the nearest available ephemeris parameters. Therefore, after the first time is determined, the distance determination unit 604 determines, as a target time, one of the reference times that is closest to the first time, and determines ephemeris parameters of the navigation satellite having the candidate satellite number at the target time.
Finally, the distance determination unit 604 determines the position information of the candidate navigation satellite at the first time based on the ephemeris parameters of the navigation satellite with the candidate satellite number at the target time.
After determining the position of the candidate navigation satellite at the first time instant, the distance determination unit 604 may further determine the distance between the terminal device and the satellite having the candidate satellite number. In particular, the distance determination unit 604 may be further configured to determine the distance between the terminal device and the candidate navigation satellite by performing the following processing: firstly, determining the approximate position information of the terminal equipment; then, based on the approximate location information of the terminal device and the location information of the satellite having the candidate satellite number, the distance between the terminal device and the satellite corresponding to the candidate satellite number is determined.
Here, the approximate location information of the terminal device is distinguished from the precise location determined by satellite positioning. Its purpose is to determine satellite numbers auxiliarily and therefore without too high precision requirements.
The selection unit 605 selects one of the at least two candidate satellite numbers as the satellite number of the navigation satellite based on the distance between the terminal device and the candidate navigation satellite corresponding to each of the at least two candidate satellite numbers.
Wherein the satellite observations further comprise pseudo range observations and the pseudo range observations are determined by multiplying the time difference between the moment of transmission and the moment of reception of the satellite signal by the speed of light, the selection unit 605 being further configured to: determining, for each candidate satellite signal of the at least two candidate satellite numbers, a difference between the pseudo-range observations and a distance between the terminal device and the candidate navigation satellite as a corrected distance between the terminal device and the candidate navigation satellite; and selecting a candidate satellite number corresponding to the candidate navigation satellite with the smallest absolute value of the correction distance as the satellite number of the navigation satellite based on the correction distance between the terminal device and the candidate navigation satellite.
The positioning unit 606 determines the position of the terminal device according to the satellite number of the navigation satellite and the satellite observation value.
The processing performed by the various units included in the terminal device 600 corresponds exactly to the various method steps described hereinbefore. Therefore, a description thereof is not made here for the sake of avoiding redundancy.
Through the terminal equipment according to the embodiment of the disclosure, the satellite number of the navigation satellite can be correctly identified, so that the satellite observation value for the subsequent equipment positioning algorithm is increased, the subsequent equipment positioning algorithm is facilitated to be assisted, and the positioning accuracy of the terminal equipment is improved.
Furthermore, methods or devices according to embodiments of the present disclosure may also be implemented by way of the architecture of computing device 700 shown in fig. 7. As shown in fig. 7, computing device 700 may include a bus 710, one or more CPUs 720, a Read Only Memory (ROM)730, a Random Access Memory (RAM)740, a communication port 750 to connect to a network, input/output components 760, a hard disk 770, and the like. A storage device in the computing device 700, such as the ROM 730 or the hard disk 770, may store various data or files used for processing and/or communication of the information processing method provided by the present disclosure and program instructions executed by the CPU. Of course, the architecture shown in FIG. 7 is merely exemplary, and one or more components of the computing device shown in FIG. 7 may be omitted as needed in implementing different devices.
Embodiments of the present disclosure may also be implemented as a computer-readable storage medium. Computer readable storage media according to embodiments of the present disclosure have computer readable instructions stored thereon. The computer readable instructions, when executed by a processor, may perform the satellite number determination and positioning method according to embodiments of the present disclosure described with reference to the above figures. The computer-readable storage medium includes, but is not limited to, volatile memory and/or non-volatile memory, for example. The volatile memory may include, for example, Random Access Memory (RAM), cache memory (cache), and/or the like. The non-volatile memory may include, for example, Read Only Memory (ROM), hard disk, flash memory, etc.
Additionally, embodiments of the present disclosure may also be implemented as a computer program product or computer program comprising computer instructions stored in a computer-readable storage medium. A processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the above-described method for determining the satellite numbers of the navigation satellites and the method for determining the position of the terminal device.
Heretofore, a method for determining a satellite number of a navigation satellite, a method for determining a position of a terminal device, and a recording medium according to embodiments of the present disclosure have been described in detail with reference to fig. 1 to 7. In the method, the device and the recording medium according to the embodiments of the present disclosure, the satellite number of the navigation satellite can be correctly identified, so that the satellite observation value for the subsequent device positioning algorithm is increased, thereby facilitating the assistance of the subsequent device positioning algorithm and improving the positioning accuracy of the terminal device.
It should be noted that, in the present specification, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of additional identical elements in the process, method, article, or apparatus that comprises the element.
Finally, it should be noted that the series of processes described above includes not only processes performed in time series in the order described herein, but also processes performed in parallel or individually, rather than in time series.
Through the above description of the embodiments, those skilled in the art will clearly understand that the present invention may be implemented by software plus a necessary hardware platform, and may also be implemented by software entirely. With this understanding in mind, all or part of the technical solutions of the present invention that contribute to the background can be embodied in the form of a software product, which can be stored in a storage medium, such as a ROM/RAM, a magnetic disk, an optical disk, etc., and includes instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods according to the embodiments or some parts of the embodiments of the present invention.
The present invention has been described in detail, and the principle and embodiments of the present invention are explained herein by using specific examples, which are only used to help understand the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (14)

1. A method for determining satellite numbers of navigation satellites, comprising:
receiving, by a terminal device, a satellite signal from the navigation satellite, and obtaining, by the terminal device, a satellite observation of the navigation satellite based on the satellite signal, wherein the satellite observation includes a numbered observation;
determining at least two candidate satellite numbers for the navigation satellite based on the number observations;
for each candidate satellite number of the at least two candidate satellite numbers, determining position information of a candidate navigation satellite having the candidate satellite number and determining a distance between the terminal device and the candidate navigation satellite; and
selecting one of the at least two candidate satellite numbers as a satellite number of the navigation satellite based on a distance between the terminal device and a candidate navigation satellite corresponding to each of the at least two candidate satellite numbers,
wherein the determining location information for candidate navigation satellites having the candidate satellite number comprises:
acquiring ephemeris parameters of the navigation satellite with the candidate satellite number at a plurality of reference moments;
determining a first time related to the satellite signal based on the satellite signal, wherein the first time is the transmitting time of the satellite signal or the receiving time of the satellite signal;
Determining one reference moment closest to the first moment as a target moment in the plurality of reference moments, and determining ephemeris parameters of the navigation satellites with candidate satellite numbers at the target moment; and
and determining the position information of the candidate navigation satellite at the first time based on the ephemeris parameters of the navigation satellite with the candidate satellite number at the target time.
2. The method of claim 1, wherein the satellite observations further comprise clock observations, wherein said determining a first time of day associated with the satellite signal comprises:
determining a transmission time of the satellite signal based on the clock observation;
acquiring system time of the terminal equipment when receiving the satellite signal;
and when the difference value between the transmitting time and the system time is in a preset range, taking the transmitting time as the first time.
3. The method of claim 2, wherein said determining a first time associated with said satellite signal further comprises:
and when the difference value between the transmitting time and the system time exceeds the preset range, determining the receiving time when the terminal equipment receives the satellite signal, and taking the receiving time as the first time.
4. The method of claim 3, wherein said determining a reception time at which the terminal device receives a satellite signal comprises:
acquiring an internal hardware clock of the terminal equipment based on the clock observation value;
determining a clock difference of the terminal device based on the clock observation value, wherein the clock difference indicates a deviation between an internal hardware clock of the terminal device and a real receiving time;
and taking the difference between the internal hardware clock and the clock difference as the receiving time.
5. The method of claim 4, wherein the clock difference comprises a first clock difference parameter, a second clock difference parameter, and a third clock difference parameter, wherein the first clock difference parameter indicates a time offset of a time at which the terminal device acquires satellite observations relative to a time of reception, the second clock difference parameter indicates a nanosecond deviation of an internal hardware clock within the terminal device relative to true GPS time, and the third clock difference parameter indicates a sub-nanosecond deviation of the terminal device's internal hardware clock relative to true GPS time,
wherein determining the clock offset of the terminal device comprises:
and taking the sum of the first clock difference parameter, the second clock difference parameter and the third clock difference parameter as the clock difference of the terminal equipment.
6. The method according to claim 5, wherein the first clock difference parameter is a parameter acquired by the terminal device at a current time at which the satellite observation value is acquired, and the second clock difference parameter and the third clock difference parameter are parameters acquired at reference times prior to the current time.
7. The method according to claim 6, wherein when a clock hop occurs in a hardware clock of the terminal device at a current time, or when a value of the reception time determined at the current time overflows, the current time is taken as a reference time, and the second and third clock difference parameters are reset with values of the second and third clock difference parameters at the current time.
8. The method of any of claims 1-7, wherein the determining the distance between the terminal device and the candidate navigation satellite comprises:
determining approximate location information for the terminal device; and
determining a distance between the terminal device and the candidate navigation satellite based on the approximate location information of the terminal device and the location information of the candidate navigation satellite.
9. The method of claim 1, wherein the satellite observations further comprise pseudorange observations, and the pseudorange observations are determined by multiplying a time difference between transmit and receive times of the satellite signals by a speed of light,
Wherein selecting one of the at least two candidate satellite numbers as the satellite number of the navigation satellite based on the distance between the terminal device and the candidate navigation satellite corresponding to each of the at least two candidate satellite numbers comprises:
determining, for each candidate satellite signal of the at least two candidate satellite numbers, a difference between the pseudo-range observations and a distance between the terminal device and the candidate navigation satellite as a corrected distance between the terminal device and the candidate navigation satellite;
and selecting a candidate satellite number corresponding to the candidate navigation satellite with the minimum absolute value of the correction distance as the satellite number of the navigation satellite based on the correction distance between the terminal equipment and the candidate navigation satellite.
10. A method for determining a location of a terminal device, comprising:
receiving, by a terminal device, a satellite signal from a navigation satellite, and obtaining, by the terminal device, a satellite observation of the navigation satellite based on the satellite signal, wherein the satellite observation includes a numbered observation;
determining at least two candidate satellite numbers for the navigation satellite based on the number observations;
For each candidate satellite number of the at least two candidate satellite numbers, determining position information of a candidate navigation satellite having the candidate satellite number and determining a distance between the terminal device and the candidate navigation satellite;
selecting one of the at least two candidate satellite numbers as a satellite number of the navigation satellite based on a distance between the terminal device and a candidate navigation satellite corresponding to each of the at least two candidate satellite numbers; and
determining a position of the terminal device based on the satellite numbers of the navigation satellites and the satellite observations,
wherein the determining location information for candidate navigation satellites having the candidate satellite number comprises:
acquiring ephemeris parameters of the navigation satellite with the candidate satellite number at a plurality of reference moments;
determining a first time related to the satellite signal based on the satellite signal, wherein the first time is the transmitting time of the satellite signal or the receiving time of the satellite signal;
determining one reference moment closest to the first moment as a target moment in the plurality of reference moments, and determining ephemeris parameters of the navigation satellites with candidate satellite numbers at the target moment; and
And determining the position information of the candidate navigation satellite at the first time based on the ephemeris parameters of the navigation satellite with the candidate satellite number at the target time.
11. A terminal device, comprising:
a communication unit for receiving satellite signals from navigation satellites;
an acquisition unit configured to acquire a satellite observation value of the navigation satellite based on the satellite signal, wherein the satellite observation value includes a numbered observation value;
a candidate satellite number determination unit configured to determine at least two candidate satellite numbers of the navigation satellite based on the number observation values;
a distance determination unit configured to determine, for each of the at least two candidate satellite numbers, position information of a candidate navigation satellite having the candidate satellite number, and determine a distance between the terminal device and the candidate navigation satellite; and
a selection unit configured to select one of the at least two candidate satellite numbers as a satellite number of the navigation satellite based on a distance between the terminal device and a candidate navigation satellite corresponding to each of the at least two candidate satellite numbers,
wherein the distance determination unit is configured to determine the position information of the candidate navigation satellite by:
Acquiring ephemeris parameters of the navigation satellite with the candidate satellite number at a plurality of reference moments;
determining a first time related to the satellite signal based on the satellite signal, wherein the first time is the transmitting time of the satellite signal or the receiving time of the satellite signal;
determining one reference moment closest to the first moment as a target moment in the plurality of reference moments, and determining ephemeris parameters of the navigation satellites with candidate satellite numbers at the target moment; and
and determining the position information of the candidate navigation satellite at the first time based on the ephemeris parameters of the navigation satellite with the candidate satellite number at the target time.
12. A terminal device, comprising:
a communication unit for receiving satellite signals from navigation satellites;
an acquisition unit configured to acquire a satellite observation value of the navigation satellite based on the satellite signal, wherein the satellite observation value includes a numbered observation value;
a candidate satellite number determination unit configured to determine at least two candidate satellite numbers of the navigation satellite based on the number observation values;
a distance determination unit configured to determine, for each of the at least two candidate satellite numbers, position information of a candidate navigation satellite having the candidate satellite number, and determine a distance between the terminal device and the candidate navigation satellite;
A selecting unit, configured to select one of the at least two candidate satellite numbers as a satellite number of the navigation satellite based on a distance between the terminal device and a candidate navigation satellite corresponding to each of the at least two candidate satellite numbers; and
a positioning unit for determining a position of the terminal device based on a satellite number of the navigation satellite and the satellite observation value,
wherein the distance determination unit is configured to determine the position information of the candidate navigation satellite by:
acquiring ephemeris parameters of the navigation satellite with the candidate satellite number at a plurality of reference moments;
determining a first time related to the satellite signal based on the satellite signal, wherein the first time is the transmitting time of the satellite signal or the receiving time of the satellite signal;
determining one reference moment closest to the first moment as a target moment in the plurality of reference moments, and determining ephemeris parameters of the navigation satellites with candidate satellite numbers at the target moment; and
and determining the position information of the candidate navigation satellite at the first time based on the ephemeris parameters of the navigation satellite with the candidate satellite number at the target time.
13. A terminal device, comprising:
a memory having a computer program stored thereon;
a processor for performing the method of any one of claims 1 to 10 when executing the computer program.
14. A computer-readable recording medium on which a computer program is stored, which, when executed by a processor, performs the method of any one of claims 1 to 10.
CN202011285219.2A 2020-11-17 2020-11-17 Method for determining satellite number, method for determining terminal position, device and medium Active CN112505729B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011285219.2A CN112505729B (en) 2020-11-17 2020-11-17 Method for determining satellite number, method for determining terminal position, device and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011285219.2A CN112505729B (en) 2020-11-17 2020-11-17 Method for determining satellite number, method for determining terminal position, device and medium

Publications (2)

Publication Number Publication Date
CN112505729A CN112505729A (en) 2021-03-16
CN112505729B true CN112505729B (en) 2022-06-28

Family

ID=74956438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011285219.2A Active CN112505729B (en) 2020-11-17 2020-11-17 Method for determining satellite number, method for determining terminal position, device and medium

Country Status (1)

Country Link
CN (1) CN112505729B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113093250B (en) * 2021-06-04 2021-08-27 腾讯科技(深圳)有限公司 Pseudo-range observation data restoration method, positioning information determination method and device
CN113835109B (en) * 2021-11-26 2022-03-29 腾讯科技(深圳)有限公司 Terminal positioning method and device, electronic equipment, storage medium and program product

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004237B (en) * 2009-08-28 2012-09-05 上海伽利略导航有限公司 Satellite navigation locating method and receiver
CN102654579B (en) * 2012-05-04 2015-09-23 泰斗微电子科技有限公司 A kind of bimodulus based on supplementary or multimode locating terminal method for rapidly positioning and system
CN205376769U (en) * 2016-02-02 2016-07-06 浙江中星光电子科技有限公司 Marine satellite communications antenna
CN206638812U (en) * 2017-04-15 2017-11-14 中国科学院寒区旱区环境与工程研究所 It is a kind of that there is the weather radar demarcation signal source system for becoming wavelength polarization function
CN109387812A (en) * 2017-08-07 2019-02-26 航天科工惯性技术有限公司 INSAR corner reflector device with automatic regulation function
CN207833089U (en) * 2017-12-25 2018-09-07 天津市戴蒙科技股份有限公司 A kind of adjustable corner reflector of RCS main lobe directions
CN208767461U (en) * 2018-08-27 2019-04-19 海上通(舟山)卫星通信有限公司 A kind of various dimensions directional antenna
CN211014627U (en) * 2019-07-24 2020-07-14 苏州凌创瑞地测控技术有限公司 High-low temperature and multi-angle target simulation radar detection device

Also Published As

Publication number Publication date
CN112505729A (en) 2021-03-16

Similar Documents

Publication Publication Date Title
CN110376621B (en) Satellite positioning method and device based on Beidou No. three B2B signal
US7576690B2 (en) Position determination with reference data outage
CN103823222B (en) The method and apparatus positioned is carried out by extension SPS orbit information
US8255160B2 (en) Integrated mobile terminal navigation
US20180113219A1 (en) Method and system for ascertaining a position of a mobile apparatus
KR102064854B1 (en) Gnss receiver and calculating method for pseudo-range and positioning thereof
US11650327B2 (en) Antenna phase center compensation for orbital assistance data
EP2626724B1 (en) Receiving positioning signals at different frequencies
CN110361692B (en) Fusion positioning method and device
EP3408686B1 (en) Hybrid rtk
JP2009063581A (en) Method and apparatus for determining location using coarse position estimation value
WO2015194061A1 (en) Conversion device and program
CN112505729B (en) Method for determining satellite number, method for determining terminal position, device and medium
US20130257651A1 (en) Navigation bit boundary determination apparatus and a method therefor
CN112505735B (en) Method, device and storage medium for positioning terminal
US20190011570A1 (en) Gnss device location verification
EP2656097B1 (en) Method and apparatus for estimating satellite positioning reliability
KR20160017216A (en) Portable dgps reference station
JP2009079975A (en) Positioning system
CN114646315A (en) System, method and network operations center for navigation using signals of opportunity
KR20150084725A (en) Precision positioning apparatus and method utilizing virtual reference station by wireless access point
US11294072B2 (en) Method, device and server for estimation of IFB calibration value
JPH0815403A (en) Position measuring system
JP7014400B2 (en) Positioning device, positioning method, positioning program, positioning program storage medium, application device, and positioning system
JP2014037999A (en) Positioning satellite antenna position calculation device

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