CN112666820B - Time correction method, terminal device, electronic device, and storage medium - Google Patents

Time correction method, terminal device, electronic device, and storage medium Download PDF

Info

Publication number
CN112666820B
CN112666820B CN202011439419.9A CN202011439419A CN112666820B CN 112666820 B CN112666820 B CN 112666820B CN 202011439419 A CN202011439419 A CN 202011439419A CN 112666820 B CN112666820 B CN 112666820B
Authority
CN
China
Prior art keywords
satellite
time
clock
target
determining
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
CN202011439419.9A
Other languages
Chinese (zh)
Other versions
CN112666820A (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 CN202011439419.9A priority Critical patent/CN112666820B/en
Publication of CN112666820A publication Critical patent/CN112666820A/en
Application granted granted Critical
Publication of CN112666820B publication Critical patent/CN112666820B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The embodiment of the application provides a time correction method, terminal equipment, electronic equipment and a storage medium, and relates to the fields of maps, cloud technologies and big data. The method is executed by a terminal device and comprises the following steps: synchronously acquiring satellite data of each first satellite, wherein the satellite data comprises satellite clock information and navigation messages; for each first satellite, determining a satellite position and a satellite clock error of the first satellite by using the satellite data of the first satellite; determining time correction information of the terminal equipment based on the satellite position and the satellite clock error of each first satellite; and correcting the local time of the terminal equipment according to the time correction information. According to the embodiment of the application, the difficulty in information acquisition is reduced, and therefore the difficulty in time correction is reduced.

Description

Time correction method, terminal device, electronic device, and storage medium
Technical Field
The application relates to the fields of maps, cloud technologies and big data, in particular to a time correction method, terminal equipment, electronic equipment and a storage medium.
Background
With the continuous development of information technology, time plays an increasingly important role in daily life, scientific research, work, national defense and the like. In general, an electronic device may obtain time service through information interaction with a base station, and when the electronic device is located outdoors and within a coverage area of a signal without the base station for a long time, or the time of the electronic device is inaccurate due to factors such as delay in the time of receiving the signal transmitted by the base station by the electronic device, the electronic device may receive a satellite signal to correct the time.
In the prior art, an electronic device can acquire a phase observation value and a pseudo-range observation value of a China Beidou satellite navigation system of each ground Beidou tracking station network, time difference monitoring data of China Beidou satellite navigation system time and Beijing time of a laboratory atomic clock group, satellite ephemeris of the China Beidou satellite navigation system, earth rotation and antenna phase center parameters, perform data inspection, gross error elimination and cycle slip detection preprocessing on the acquired data, perform error model correction and fine data processing on the preprocessed data, encode the corrected data, generate a message, upload the message to a communication satellite for broadcasting, perform non-differential precision time service resolving and time difference parameter correction on the received corrected data and observation data of a local machine by a user, and obtain local time of the user consistent with standard time.
When the electronic equipment acquires the user local time consistent with the standard time in the mode, the atomic clock equipment and the tracking network data are needed, the atomic clock equipment is expensive and not beneficial to popularization, the tracking network data are confidential data, the acquisition difficulty is high, the acquired tracking network data need to be preprocessed, and the realization difficulty is high.
Disclosure of Invention
The application provides a time correction method and device, electronic equipment and a storage medium, which can reduce time correction difficulty.
In one aspect, a time correction method is provided, where the method is performed by a terminal device, and the method includes:
synchronously acquiring satellite data of each first satellite, wherein the satellite data comprises satellite clock information and navigation messages;
for each first satellite, determining a satellite position and a satellite clock error of the first satellite by using the satellite data of the first satellite;
determining time correction information of the terminal equipment based on the satellite position and the satellite clock error of each first satellite;
and correcting the local time of the terminal equipment according to the time correction information.
In another aspect, a terminal device is provided, which includes:
the data acquisition module is used for synchronously acquiring satellite data of each first satellite, wherein the satellite data comprises satellite clock information and navigation messages;
a time correction information determination module for determining, for each first satellite, a satellite position and a satellite clock error of the first satellite using the satellite data of the first satellite, and determining time correction information of the terminal device based on the satellite position and the satellite clock error of each first satellite;
and the time correction module is used for correcting the local time of the terminal equipment according to the time correction information.
In a possible implementation manner, the time correction information determining module, when determining the time correction information of the terminal device based on the satellite position and the satellite clock error of each first satellite, is specifically configured to:
determining a clock difference of the terminal device when the preset condition is satisfied as the time correction information of the terminal device by repeatedly performing the following operations until the determined time correction evaluation information satisfies the preset condition:
for each second satellite, updating the user position by using the position correction information obtained in the last operation, and determining the satellite-to-ground distance of the second satellite by using the updated user position and the satellite position of the second satellite, wherein the second satellite belongs to each first satellite;
acquiring transmission delay between each target satellite and the terminal equipment, wherein each target satellite belongs to each second satellite;
determining new time correction evaluation information based on the satellite clock error, the satellite-to-ground distance and the corresponding transmission delay of each target satellite, and taking each target satellite as a second satellite corresponding to the next operation;
updating the clock error of the terminal equipment according to the clock error correction information of the terminal equipment;
wherein the time correction evaluation information includes position correction information and clock correction information of the terminal device.
In one possible implementation, for each operation, the time correction information determination module is further configured to:
determining the satellite altitude angle of each second satellite by using the updated user position and the satellite position of each second satellite;
and determining each target satellite meeting a preset satellite altitude angle threshold from each second satellite according to the satellite altitude angle of each second satellite.
In one possible implementation, the transmission delay between any target satellite and the terminal device includes at least one of a tropospheric delay and an ionospheric delay corresponding to the target satellite.
In a possible implementation, the transmission delay includes troposphere delay, and for any target satellite, the time correction information determining module is specifically configured to, when acquiring the transmission delay between the target satellite and the terminal device:
determining the satellite altitude angle of the target satellite by using the updated user position and the satellite position of the target satellite;
and determining troposphere delay corresponding to the target satellite according to the satellite altitude angle of the target satellite.
In a possible implementation manner, the transmission delay includes an ionospheric delay, and for any target satellite, the time correction information determination module is specifically configured to, when acquiring the transmission delay between the target satellite and the terminal device:
when the satellite data acquisition time of the target satellite is within a preset time range, determining a preset ionospheric delay amount as the ionospheric delay corresponding to the target satellite;
and when the acquisition time of the satellite data of the target satellite is out of the preset time range, determining the satellite altitude angle of the target satellite by using the updated user position and the satellite position of the target satellite, and determining the ionospheric delay corresponding to the target satellite according to the satellite altitude angle of the target satellite.
In a possible implementation manner, the satellite clock information includes a transmission time of the satellite signal, and the time correction information determining module is specifically configured to, when determining the satellite position and the satellite clock error of the first satellite by using the satellite data of the first satellite:
determining a first satellite clock error of a first satellite by using the transmitting time of a satellite signal corresponding to the first satellite and a navigation message;
updating the transmitting time of the satellite signal corresponding to the first satellite by using the clock error of the first satellite;
and determining the satellite position of the first satellite and the second satellite clock error by using the updated transmitting time and the navigation message corresponding to the first satellite, and taking the second satellite clock error as the satellite clock error of the first satellite.
In one possible implementation manner, the time correction evaluation information satisfies a preset condition, which includes at least one of the following:
the position correction information and the clock correction information of each azimuth meet a first preset condition, and the position correction information of the terminal equipment comprises the position correction information of each azimuth;
the number of operations of the operation satisfies a second preset condition.
In a possible implementation manner, the data obtaining module is specifically configured to:
the method comprises the steps of synchronously acquiring Satellite data of each first Satellite by utilizing a position information acquisition interface of a Global Navigation Satellite System (GNSS) chip in the terminal equipment.
In one possible implementation, the satellite clock information includes a time of a hardware clock inside the GNSS chip, an offset of the hardware clock, and a difference between the time of the hardware clock and a time of the time positioning system;
the time correction module is specifically configured to:
determining the receiving time of satellite data by using the time of a hardware clock, the bias of the hardware clock and the difference between the time of the hardware clock and the time of a time positioning system;
updating the receiving time of the satellite information by using the time correction information;
acquiring local time when terminal equipment receives satellite data;
and correcting the local time of the terminal equipment by using the updated receiving time and the updated local time.
In another aspect, an electronic device is provided, comprising a memory and a processor, wherein the memory has stored therein a computer program; the processor, when running the computer program, performs the time correction method provided in any of the alternative embodiments of the present application.
In another aspect, a computer-readable storage medium is provided, in which a computer program is stored, and the computer program is executed by a processor to implement the time correction method provided in any one of the alternative embodiments of the present application.
The beneficial effect that technical scheme that this application provided brought is:
compared with the prior art, the terminal device determines the satellite position and the satellite clock error of each satellite according to the satellite clock information of each satellite, determines the time correction information of the terminal device based on the satellite position and the satellite clock error of each satellite, corrects the local time of the terminal device according to the time correction information, can acquire the satellite clock information in real time by the terminal device without using an atomic clock device or acquiring tracking network data and preprocessing the tracking network data, reduces the difficulty of information acquisition, and reduces the difficulty of time correction.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments of the present application will be briefly described below.
Fig. 1 is a schematic diagram of information acquired by an android terminal according to an embodiment of the present application;
FIG. 2 is a diagram illustrating GNSS information according to an embodiment of the present application;
fig. 3 is a schematic flowchart of a time correction method according to an embodiment of the present application;
FIG. 4A is a schematic diagram illustrating an error of a GNSS signal according to an embodiment of the present disclosure;
fig. 4B is a schematic diagram of timing accuracy of different timing manners according to an embodiment of the present application;
fig. 5 is a schematic flowchart of a time correction method according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a time correction apparatus according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
The embodiment of the application provides a time correction method, which can be used for determining the satellite position and the satellite clock error of each satellite through the satellite clock information of each satellite by a terminal device, determining the time correction information of the terminal device based on the satellite position and the satellite clock error of each satellite, correcting the local time of the terminal device according to the time correction information, acquiring the satellite clock information in real time by the terminal device without using an atomic clock device or acquiring tracking network data and preprocessing the tracking network data, and reducing the difficulty of information acquisition, thereby reducing the difficulty of time correction.
The data processing/data computing related in the optional embodiments provided by the present application may be implemented based on a cloud technology, and specifically may be implemented based on cloud computing.
Cloud technology refers to a hosting technology for unifying serial resources such as hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. Cloud technology (Cloud technology) is based on a general term of network technology, information technology, integration technology, management platform technology, application technology and the like applied in a Cloud computing business model, can form a resource pool, is used as required, and is flexible and convenient. Cloud computing technology will become an important support. Background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture-like websites and more web portals. With the high development and application of the internet industry, each article may have its own identification mark and needs to be transmitted to a background system for logic processing, data in different levels are processed separately, and various industrial data need strong system background support and can only be realized through cloud computing.
Cloud computing (cloud computing) is a computing model that distributes computing tasks over a pool of resources formed by a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides the resources is referred to as the "cloud". Resources in the "cloud" appear to the user as being infinitely expandable and available at any time, available on demand, expandable at any time, and paid for on-demand.
As a basic capability provider of cloud computing, a cloud computing resource pool (cloud platform for short) generally called as an Infrastructure as a Service (IaaS) platform is established, and multiple types of virtual resources are deployed in the resource pool and are selectively used by external clients. The cloud computing resource pool mainly comprises: computing devices (which are virtualized machines, including operating systems), storage devices, and network devices.
According to the logic function division, a PaaS (Platform as a Service) layer can be deployed on an IaaS (Infrastructure as a Service) layer, a SaaS (Software as a Service) layer is deployed on the PaaS layer, and the SaaS can be directly deployed on the IaaS. PaaS is a platform on which software runs, such as a database, a web container, etc. SaaS is a variety of business software, such as web portal, sms, and mass texting. Generally speaking, SaaS and PaaS are upper layers relative to IaaS.
Cloud computing (cloud computing) refers to a delivery and use mode of an IT infrastructure, and refers to obtaining required resources in an on-demand and easily-extensible manner through a network; the generalized cloud computing refers to a delivery and use mode of a service, and refers to obtaining a required service in an on-demand and easily-extensible manner through a network. Such services may be IT and software, internet related, or other services. Cloud Computing is a product of development and fusion of traditional computers and Network Technologies, such as Grid Computing (Grid Computing), distributed Computing (distributed Computing), Parallel Computing (Parallel Computing), Utility Computing (Utility Computing), Network Storage (Network Storage Technologies), Virtualization (Virtualization), Load balancing (Load Balance), and the like.
With the development of diversification of internet, real-time data stream and connecting equipment and the promotion of demands of search service, social network, mobile commerce, open collaboration and the like, cloud computing is rapidly developed. Different from the prior parallel distributed computing, the generation of cloud computing can promote the revolutionary change of the whole internet mode and the enterprise management mode in concept.
Each optional embodiment of the present application can also be implemented based on Big data, which is a data set that cannot be captured, managed, and processed by a conventional software tool within a certain time range, and is a massive, high-growth-rate, and diversified information asset that needs a new processing mode to have stronger decision-making power, insight discovery power, and process optimization capability. With the advent of the cloud era, big data has attracted more and more attention, and the big data needs special technology to effectively process a large amount of data within a tolerance elapsed time. The method is suitable for the technology of big data, and comprises a large-scale parallel processing database, data mining, a distributed file system, a distributed database, a cloud computing platform, the Internet and an extensible storage system.
The embodiment of the application provides a time correction method, which can be executed by any electronic equipment, and the electronic equipment can be terminal equipment.
For better understanding and description of the embodiments of the present application, some technical terms related to the embodiments of the present application will be explained below.
Global Navigation Satellite System (GNSS): is a space-based radio navigation positioning system which can provide all-weather three-dimensional coordinates and speed and time information for users at any place on the earth surface or in near-earth space.
Global Positioning System (GPS): the system utilizes GPS positioning satellites to carry out positioning and navigation in real time in the global range.
Absolute clock difference of receiver: the receiver generally adopts a high-precision quartz clock, and the difference between the clock face of the receiver and the GPS standard is called the absolute clock difference of the receiver, and colloquially, the difference is the time difference between the time when the GNSS signal reaches the receiver and the time when the GNSS signal is processed by the receiver.
Relative clock difference of receiver: the ratio of the absolute clock difference of the receiver to the speed of light.
Satellite clock error: refers to the time difference between satellite time and standard GPS time.
In the following, a detailed description will be given of a scheme of the present Application with reference to a specific optional embodiment, in the optional embodiment, the electronic device may be an android terminal device, which is referred to as an android terminal for short, and may also be referred to as a receiver, a station, and the like, and a Location information obtaining Interface is disposed on the android terminal device, and the Location information obtaining Interface may be a Location Application Programming Interface (Location API), which may be referred to as a Location Interface in the embodiment of the present Application for short.
Different versions of the Location API may obtain different information, for example, the Location API 23 may obtain information such as an azimuth angle, an altitude angle, a satellite number, a signal-to-noise ratio, a small batch Process Verification Test (PVT) and the like of the satellite, but may not obtain original observation information of the satellite, and the Location API 24 may obtain the original observation information of the satellite in addition to the above information.
As shown in fig. 1, fig. 1 is a schematic diagram of information acquired by an android terminal according to an embodiment of the present application. Specifically, the Basic configuration (Basic configuration) on the ANDROID terminal includes an ANDROID system (e.g., ANDROID 7Nougat) and a Location interface, where the Location interface refers to the aforementioned Location API (e.g., Location API 24, Location API 23, etc.), and the ANDROID terminal carries a GNSS Chipset (GNSS Chipset), and the GNSS Chipset can obtain configuration data (i.e., configuration.data) in the ANDROID system, and the ANDROID system can also obtain configuration data in the GNSS Chipset.
In the embodiment of the application, the GNSS chipset may acquire a GNSS signal, and the android terminal equipped with the android system may acquire GNSS navigation information, GNSS observation information, and GNSS clock information through the Location API.
The GNSS navigation information includes navigation data, a Message Identity (Message ID), a subframe Identity (subframe ID), and other information, where generally, the navigation data includes data such as information bit stream, the Message ID includes data related to a subframe, and the subframe ID exists in a form of a character; the GNSS observation information comprises GNSS signal emission time, track state, carrier phase and other information; the GNSS clock information includes information such as a GNSS signal reception time and a clock bias.
Note that the GNSS signal transmission time in the GNSS observation information is an erroneous GNSS signal transmission time, and similarly, the GNSS signal reception time in the GNSS clock information is also an erroneous GNSS signal reception time.
In actual use, a pseudo range may be generated using information such as GNSS signal reception time, clock bias, and signal transmission time. The pseudorange is also called pseudorange Point location (SPP), and a method for directly and independently determining the absolute coordinate of a user receiver antenna in a WGS-84 coordinate system according to a GPS satellite ephemeris and a pseudorange measurement observation value of a GPS receiver is called pseudorange Point location, also called absolute location, and WGS-84 is a coordinate system established for a GPS global Positioning system.
In the embodiment of the present application, the android terminal may acquire the GNSS information shown in fig. 2 through a Location API, where fig. 2 is a schematic diagram of the GNSS information provided in the embodiment of the present application, and the GNSS information shown in fig. 2 is only partial parameter information, and in actual application, the GNSS information includes, but is not limited to, the parameter information shown in fig. 2.
Specifically, the parameter information shown in fig. 2 includes a parameter name, a parameter meaning, and a unit. The parameter names include full bias nanometer (fullbiasnos), time nanometer (TimeNanos), bias nanometer (BiasNanos), hardware clock discontinuous count (hardwareconlostinuous count), skip second (LeapSecond), drift nanometer per second (driftnanostersecond), Space vehicle (Sv) time nanometer (receivedssvtimenans), and time uncertain nanometer (timeuentaint nanometers).
Wherein, the unit of the fullbiasnos is nanosecond (ns), and the parameter means the difference between the time nanometer (namely the Timeons) output by the GNSS chip of the android terminal and the starting time of the GPS time system; the unit of the TimeNanos is nanosecond, and the parameter meaning is the built-in hardware clock time of the GNSS chip; the unit of the BiasNanos is nanosecond, and the parameter meaning of the BiasNanos is subnanosecond deviation of GNSS chip clock information; HardwarceClockDisconnectingCount has no unit, and the parameter meaning is the discontinuous counting of the GNSS chip hardware clock; the unit of LeapSecond is second, the parameter meaning is that the Time is synchronized to the world standard Time, that is, in order to keep the Coordinated Universal Time close to the Universal Time, the international metering bureau uniformly stipulates that the adjustment of the Coordinated Universal Time is increased or decreased by 1 second at the end of the year, in the middle of the year or at the end of the season, wherein, the world standard Time is also called Coordinated Universal Time Coordinated (UTC), which is a Time metering system that is as close to the Universal Time as possible in Time on the basis of the atomic Time-second length; the unit of DriftNanoSperSecond is nanosecond or second, and the parameter of the DriftNanoSperSecond is the clock drift rate of a receiver; the unit of receivedSvTimeNanos is nanosecond, the parameter meaning is GNSS satellite signal emission time, wherein the parameter is counted by seconds in a week, namely the counting of seconds in the week is a counting method of counting from zero at 0 point 0 minute 0 second in Beidou time every week; the unit of the TimeUncertaintYNanos is nanosecond, and the parameter of the TimeUncertaintYNanos means built-in uncertainty of a GNSS chip.
In the embodiment of the present application, the pseudo range of each satellite may be calculated by using equations (1) to (5) shown below. Specifically, the method comprises the following steps:
the GNSS signal receiving time of the android terminal when the reference system is the GPS system can be calculated by using the following formula (1):
tRxGPS=TimeNanos-(FullBiasNanos+BiasNanos) (1)
wherein, tRxGPSThe unit of the GNSS signal receiving time when the reference system is a GPS system is ns, the TimeNanos is the time nanometer shown in the foregoing, the FullBiasNanos is the full bias nanometer shown in the foregoing, and the BiasNanos is the bias nanometer shown in the foregoing.
In addition, in the calculation of tRxGPSIn general, only the first stable FullBiasNanos and BiasNanos for observation need to be used, and when a GNSS chip in an android terminal is restarted, the FullBiasNanos and BiasNanos need to be reselected. T hereRxGPSThe GNSS signal reception time with error needs to be corrected by the absolute clock difference of the receiver.
In the embodiment of the present application, equation (1) is suitable for calculating the signal receiving time when the reference system is the GPS system, because for a general GNSS chip, the reference system for the signal receiving time is the GPS system, that is,t calculated by equation (1)RxGPSIs the GNSS signal reception time when the reference system is the GPS system. In practical applications, the satellite system may not be a GPS system, but there is a time offset between different satellite systems, so that for other satellite systems, t obtained by equation (1) is neededRxGPSAnd carrying out corresponding conversion to obtain the satellite signal receiving time when the reference system is the satellite system of the user.
In general, in addition to the GPS System, the Satellite System is also commonly referred to as Galileo Satellite Navigation System (Galileo System, abbreviated as Galileo System), BeiDou Navigation Satellite System (BDS), Global Navigation Satellite System (GLONASS), and the like.
For the Galileo system, the GNSS signal receiving time when the reference system is the GPS system can be converted into the GNSS signal receiving time when the reference system is the Galileo system by using the following formula (2):
tRxGalileo=tRxGPS-Δt1 (2)
wherein, tRxGalileoDenotes the GNSS signal reception time, t, when the reference system is a Galileo systemRxGPSIndicating the moment of reception of the GNSS signal, Δ t, when the reference system is a GPS system1The system time difference obtained by the Galileo system and the GPS system in one week is shown. In the calculation formula (2), the calculation can be performed in units of time of nanoseconds, where tRxGalileoThe GNSS signal reception time with error needs to be corrected by the absolute clock difference of the receiver.
For the BDS, the GNSS signal receiving time when the reference system is the GPS system can be converted into the GNSS signal receiving time when the reference system is the BDS by using the following formula (3):
tRxBDS=tRxGPS-Δt2-14s (3)
wherein, tRxBDSIndicating the moment of GNSS signal reception, t, when the reference system is BDSRxGPSGNSS information indicating that the reference system is a GPS systemTime of signal reception, Δ t2Represents the system time difference between BDS and GPS system in one week, 14s in formula (3) refers to 14 seconds, where tRxBDSThe GNSS signal reception time with error needs to be corrected by the absolute clock difference of the receiver.
For GLONASS, the GNSS signal receiving time when the reference system is the GPS system can be converted into the GNSS signal receiving time when the reference system is GLONASS by using the following formula (4):
tRxGLONASS=tRxGPS-Δt3+3h-tleapsecond (4)
wherein, tRxGLONASSIndicating the GNSS signal reception time, t, when the reference system is GLONASSRxGPSIndicating the moment of reception of the GNSS signal, Δ t, when the reference system is a GPS system3Represents the time difference, t, between the GLONASS system and the GPS system in one dayleapsecondFor the skip seconds shown in the foregoing, 3h in equation (4) means 3 hours, where tRxGLONASSThe GNSS signal reception time with error needs to be corrected by the absolute clock difference of the receiver.
It should be noted that when the android terminal acquires the GNSS information shown in fig. 2, the time nanometer for receiving a spacecraft in the GNSS information is generally a GNSS signal emission time when the satellite system uses its own system as a reference system. That is to say, if the system sending the GNSS signals is the GPS system, the time nanometer of the received space vehicle obtained by the android terminal is the GNSS signal emission time when the reference system is the GPS system, and if the system sending the GNSS signals is GLONASS, the time nanometer of the received space vehicle obtained by the android terminal is the GNSS signal emission time when the reference system is GLONASS.
In the embodiment of the present application, the pseudorange may be calculated by using the following formula (5):
P=(tRx-tTx)×c (5)
where P denotes the pseudorange, tRxIndicating the moment of reception of the GNSS signal, t, when the reference system is the target systemTxIs shown in referenceThe GNSS signal emission time when the system is the target system, and c represents the speed of light. Wherein the target system is a system for transmitting GNSS signals, and may include, but is not limited to, any one of a GPS system, a Galileo system, a BDS, and GLONASS, and when the target system is a GPS system, tRxIs tRxGPS(ii) a When the target system is a Galileo system, tRxIs tRxGalileo(ii) a When the target system is BDS, tRxIs tRxBDS(ii) a When the target system is GLONASS, tRxIs tRxGLONASS
Note that t isRxAnd tTxAre all in error, therefore, it is necessary to correct for tRxAnd tTxAnd (6) carrying out correction. In the embodiment of the application, the clock error of the satellite can be utilized to correct tTxCorrection of t by absolute clock difference of receiverRx. The details are as follows:
in the embodiment of the present application, as shown in fig. 3, fig. 3 is a schematic flowchart of a time correction method provided in the embodiment of the present application. Wherein, the pseudo range can be calculated by the formula (5), after the pseudo range is calculated, the satellite position and the satellite clock error can be calculated according to the pseudo range and the navigation message, then the satellite altitude and the satellite earth distance are calculated according to the user position and the satellite position, the troposphere delay error is calculated according to the satellite altitude, the ionosphere delay error is calculated, then the user position correction information and the relative clock error correction information of the receiver are calculated according to the pseudo range, the satellite clock error, the satellite earth distance, the troposphere delay error and the ionosphere delay error, whether the cycle end condition is met is judged, if the cycle end condition is not met, the user position is updated by the user position correction information, the relative clock error of the receiver is updated by the relative clock error correction information of the receiver, and the calculation of the satellite altitude and the satellite earth distance according to the user position and the satellite position and the subsequent steps are started again, if the cycle end condition is met, updating the relative clock error of the receiver by using the relative clock error correction information of the receiver, and obtaining the accurate receiving time of the GNSS signal by using the corrected relative clock error of the receiver, wherein the accurate receiving time of the GNSS signal is the accurate time when the android device receives the GNSS signal, and further, the position interface (namely, location API) can obtain the local time in real time, and can update the local time in real time according to the accurate receiving time of the GNSS signal and the local time obtained in real time.
The navigation message comprises an ionospheric layer parameter, an orbit parameter of a satellite and a clock error parameter of the satellite, wherein the ionospheric layer parameter is used for calculating an ionospheric delay error, the orbit parameter of the satellite is used for calculating a satellite position, and the clock error parameter of the satellite is used for calculating a satellite clock error.
It can be understood that the GNSS signal received by the android terminal has an error, as shown in fig. 4A, fig. 4A is an error schematic diagram of the GNSS signal provided in the embodiment of the present application, where the error of the GNSS signal has three aspects, which can be divided into a system error of a satellite, a system error of a receiver, and a transmission error of the GNSS signal.
In practical applications, the system errors of the satellite itself include, but are not limited to, the antenna phase center deviation of the satellite, the satellite orbit error, and the satellite clock error. In the GPS measurement, the observed value is based on the position of the phase center of the antenna of the receiver, and the phase center of the antenna is theoretically consistent with the geometric center thereof, but actually the phase center of the antenna changes with the intensity and direction of the signal input, that is, the instantaneous position (generally called as phase center) of the phase center is different from the theoretical phase center during the observation, and this difference is called the position offset of the phase center of the antenna, that is, the deviation of the phase center of the antenna; the satellite orbit error is also called satellite ephemeris error, and is an error between the satellite position observed by the receiver and the true satellite position.
In the embodiment of the present application, the transmission error of the GNSS signal includes, but is not limited to, an error of ionospheric delay and an error of tropospheric delay, wherein the tropospheric delay error generally refers to a signal delay error generated when an electromagnetic wave signal passes through an unionized neutral atmosphere with a height of 50km or less; the ionized layer delay error is an observed value error caused by an ionized layer effect, the ionized layer is an atmospheric layer with the height of 60-1000km, medium-sized gas molecules in the ionized layer are partially ionized under the action of solar ultraviolet rays, X rays, high-energy particles and the like, a large number of electrons and positive ions are generated, an ionized layer area is formed, and the propagation speed of electromagnetic wave signals can change when the electromagnetic wave signals pass through the ionized layer.
The system error of the receiver itself mainly includes the receiver clock difference (here, the absolute clock difference of the receiver) and the receiver phase center deviation, wherein the receiver phase center deviation is the antenna phase center deviation mentioned above.
In the embodiment of the application, the satellite clock error, the troposphere delay error and the ionosphere delay error are mainly calculated, and the relative clock error of the receiver is estimated according to the satellite clock error, the troposphere delay error and the ionosphere delay error.
Specifically, for each satellite, the satellite clock error can be calculated according to the pseudo range and the navigation message. The calculation method of the satellite clock error is as follows:
the GNSS signal receiving time t when the reference system is used as the target system can be utilizedRxSubtracting the ratio of the pseudo range P to the light velocity c to obtain the GNSS signal emission time t when the reference system is the target systemTx. That is, t can be calculated using the above-shown formula (5)Tx. It should be noted that, the conventional receiver calculates t by using the above-mentioned formula (5)TxIn the embodiment of the present application, since the android terminal can acquire tTxTherefore, t does not need to be calculated by the above equation (5)Tx
Example of the present application, tTxIs the satellite signal transmission time, in general tTxIs in error. In the embodiment of the application, t can be measuredTxAnd correcting to obtain accurate satellite signal transmitting time. Specifically, the method comprises the following steps:
using t according to the formula (6) shown belowTxCalculating to obtain satellite clock error:
Figure BDA0002821755940000151
where Δ t represents the satellite clock error, where Δ t is the satellite clock error with error, a0Indicates a reference time t0Clock error of the corresponding satellite clock, a1Indicates a reference time t0Clock speed of the corresponding satellite clock, a2Indicates a reference time t0Half of the acceleration of the corresponding satellite clock, i.e. the aging rate of the satellite clock, t, i.e. t mentioned aboveTxThe time of transmission of the satellite signal is indicated,
Figure BDA0002821755940000152
is a random term that may not be calculated in the embodiments of the present application, that is, the term does not have an actual physical meaning in the embodiments of the present application.
Wherein, a0、a1And a2And the like are transmitted to the terminal device through the satellite navigation message.
Further, t may be utilizedTxSubtracting delta t to obtain accurate satellite signal transmitting time to realize tTxAnd (5) correcting, and calculating by using the accurate satellite signal transmitting time according to the formula (6) to obtain the corrected satellite clock error.
In the embodiment of the application, the satellite position can be calculated by utilizing the accurate satellite signal transmitting time. The calculation method is not limited in the embodiment of the present application, and for example, a satellite position calculation method in the prior art may be used to calculate the satellite position by using the accurate satellite signal transmission time.
In this embodiment, for each satellite, a satellite elevation angle and a satellite distance may be calculated according to a user position and a satellite position, where the satellite elevation angle refers to an included angle between a direction line from a point to the satellite position and a horizontal plane where the point is located, and the satellite distance refers to a distance between the user position (or a receiver position) and the satellite position, and a calculation method of the satellite elevation angle is not limited in this embodiment.
In the embodiment of the application, the satellite can be screened by utilizing the satellite altitude angle, when the satellite altitude angle is smaller than or equal to the preset altitude angle threshold value, the satellite is considered to be seriously shielded, the error of the related data of the satellite is large, and therefore the satellite can be screened. Wherein the predetermined height angle threshold may be 15 degrees.
In the embodiment of the present application, for each satellite, a troposphere delay error may be calculated according to a satellite altitude angle, and a calculation manner of the troposphere delay error is as follows:
when the signal passes through the troposphere, the propagation speed of the electromagnetic wave signal is reduced, so that the transmission time is prolonged, and the pseudo-range observation value calculated by using the time difference is larger than the actual satellite distance. Tropospheric delay mainly consists of two categories, dry delay and wet delay. The dry delay is caused by the dry gases in the atmosphere and is about 90% of the total tropospheric delay and can be corrected using a model, and the wet delay is caused by the moisture in the atmosphere and is about 10% of the total delay. And because of the distribution problem and the time-varying characteristic of the water vapor, the model correction of the wet delay can not reach a high precision, and the common troposphere delay error is mainly caused by the wet delay.
In the embodiment of the present application, a troposphere correction model may be used to calculate a troposphere delay error, and the troposphere correction model may include, but is not limited to, a Saastamoinen model, a Hopfield model, a Marini model, a Chao model, an Ifadis model, and the like, and of course, the troposphere delay error may also be accurately calculated by using the following method.
In the embodiment of the present application, the following formula (7) may be used to calculate a troposphere delay error of a GNSS signal in a propagation process, where the troposphere delay error refers to a troposphere delay error of the GNSS signal in a direction of a connection line between a satellite and a receiver:
STD=m×ZTD (7)
the STD represents troposphere delay error of the GNSS signal in the connecting line direction between the satellite and the receiver, the ZTD represents troposphere delay error of the GNSS signal in the zenith defensive line direction of the receiver, and the m represents projection parameters corresponding to the connecting line direction between the satellite and the receiver projected from the zenith defensive line direction of the receiver.
It should be noted that, in the embodiment of the present application, a troposphere delay error of a GNSS signal in a line direction between a satellite and a receiver cannot be directly calculated, but a troposphere delay error of the GNSS signal in a zenith defensive line direction of the receiver may be calculated. Because the connection between the receiver and the satellite is not perpendicular to the earth supporting sphere most of the time, a mapping function can be adopted, and the troposphere delay error of the GNSS signal in the connection direction between the satellite and the receiver is obtained by mapping by utilizing the troposphere delay error of the GNSS signal in the zenith defensive line direction of the receiver.
The projection parameter m in the above formula (7) can be obtained by using a Mapping function, and the Mapping function includes, but is not limited to, an nmf (niell Mapping function) model, a gmf (global Mapping function) model, and the like. The projection parameter m can be obtained by using the satellite altitude angle and the mapping function, and the calculation mode is not limited in the embodiment of the application.
In the embodiment of the present application, tropospheric delay errors of GNSS signals in the direction of the zenith line of defense of the receiver can be calculated by using the following equations (8) to (14):
p=1013.25×(1-2.2557×10-5h)5.2568 (8)
T=15-6.5×10-3h+273.15 (9)
Figure BDA0002821755940000171
Figure BDA0002821755940000172
Figure BDA0002821755940000173
Figure BDA0002821755940000174
ZTD=trph+trpw (14)
where p represents total atmospheric pressure in units of hectopascal (hpa), h represents ground height above average sea level, T represents absolute temperature of air in units of Kelvin (K), e represents water vapor pressure in units of hpa, hrelWhich represents the relative humidity, i.e. the percentage of the water vapour pressure in the air to the saturated water vapour pressure at the same temperature, z represents the zenith angle, which can be expressed in radians (rad),
Figure BDA0002821755940000175
indicating the satellite altitude, trph the amount of dry delay,
Figure BDA0002821755940000176
the latitude of the receiver is shown, hgt is the elevation of a survey station, that is, the elevation of the terminal device in the embodiment of the present application, trpw is the wet delay amount, temp is the temperature, and ZTD is the tropospheric delay error of the GNSS signal in the direction of the sky-top defense line of the receiver.
In the embodiment of the present application, an ionospheric delay error of each satellite may be calculated, and the calculation manner of the ionospheric delay error is as follows:
when an electromagnetic wave signal passes through an ionosphere, the propagation speed of the electromagnetic wave signal changes, the degree of the change mainly depends on the electron density and the signal frequency in the ionosphere, and the propagation path of the electromagnetic wave signal also slightly bends, so that the distance obtained by multiplying the propagation time of the signal by the speed of light is not equal to the geometric distance from a signal source to a receiver.
The ionospheric delay error can be expressed using equation (15) as follows:
Figure BDA0002821755940000181
wherein, IfRepresenting ionospheric delay errors, f representing the frequency of the GNSS signals, NeRepresenting electronsThe density, i.e. the number of electrons contained in a unit volume, s represents the propagation path of the GNSS signal.
The size of the ionospheric delay error is related to the geographical position of the observation station, the observation time, the degree of solar activity, and the like. When the ionospheric delay error is actually calculated, the ionospheric delay error can be calculated by using an ionospheric correction model, which includes but is not limited to a Klobuchar model, a Bent model, an IRI model, and the like.
As an alternative implementation, the ionospheric delay error can be obtained using the Klobuchar model. If the current time is night, the ionosphere delay error is a constant, and the value is usually 5 ns; if the current time is in the daytime, the ionosphere delay amount can be output according to ionosphere parameters, satellite altitude angles, satellite azimuth angles, geocentric longitude, geocentric latitude and other data issued by the satellite ephemeris.
In the embodiment of the application, the user position correction information and the relative clock error correction information of the receiver can be calculated according to the pseudo range, the satellite clock error, the satellite range, the troposphere delay error and the ionosphere delay error, and the calculation mode is as follows:
in the embodiment of the present application, the user position correction information and the time correction information may be calculated by using the following formula (16):
Figure BDA0002821755940000182
wherein the content of the first and second substances,
Figure BDA0002821755940000183
the pseudorange of the ith satellite is expressed, i.e. P, P mentioned in the above equation (5) represents the satellite range of the ith satellite, (V)ion)iThe ionospheric delay error of the ith satellite is expressed as I mentioned in equation (15)f,(Vtrop)iWhich represents the tropospheric delay error of the ith satellite, i.e., the STD mentioned in equation (7) above,
Figure BDA0002821755940000184
the satellite clock error of the ith satellite is expressed, that is, the corrected satellite clock error is obtained by accurate satellite signal emission time calculation according to the formula (6) mentioned above, and c represents the speed of light, VtRIndicating absolute clock correction information, cV, of the receivertRIndicating the relative clock correction information of the receiver.
It is assumed that the initial coordinates of the user in the three-dimensional coordinate system are (X)0,Y0,Z0) Then equation (16) can be expanded using a taylor series to yield equation (17) as follows:
Figure BDA0002821755940000185
wherein the content of the first and second substances,
Figure BDA0002821755940000186
the pseudorange of the ith satellite is represented,
Figure BDA0002821755940000187
represents the distance between the ith satellite and the user, namely the satellite-earth distance of the ith satellite, (X)i,Yi,Zi) Representing the position of the satellite in a three-dimensional coordinate system, (V)x,Vy,Vz) Correction information (V) indicating the position of the user in the three-dimensional coordinate systemion)iIndicating the ionospheric delay error of the ith satellite, (V)trop)iRepresenting the tropospheric delay error of the ith satellite,
Figure BDA0002821755940000191
indicating the satellite clock error, cV, of the ith satellitetRIndicating the relative clock correction information of the receiver.
Order to
Figure BDA0002821755940000192
Wherein (l)i,mi,ni) Three direction remainder of vector formed by user position and ith satellite position under three-dimensional coordinate systemA chord, in general, a directional cosine means that in an analytic geometry, the three directional cosines of a vector are the cosines of the angles between the vector and the three coordinate axes, respectively.
In this case, the above formula (17) can be expressed as the following formula (18)
Figure BDA0002821755940000193
Wherein, ViAnd (3) representing the innovation corresponding to the ith satellite pseudorange, wherein the meaning of the residual parameters is the same as that of formula (17), and can be seen from the relevant description in the formula (17), wherein the innovation refers to a residual error.
In the embodiment of the present application, to calculate the information corresponding to each satellite pseudorange, the following formula (19) may be obtained by expanding the formula (18):
Figure BDA0002821755940000194
wherein, V1,V2,......,VnRespectively representing the 1 st, 2 nd, and1,m1,n1),(l2,m2,n2),......,(ln,mn,nn) Respectively representing the cosine of three directions of vectors formed by the user position and the 1 st, 2 nd, and n th satellites in a three-dimensional coordinate system, (V)x,Vy,Vz) Correction information, cV, representing the position of the user in a three-dimensional coordinate systemtRIndicating the relative clock correction information of the receiver,
Figure BDA0002821755940000195
means the distance between the position of the nth satellite and the user position, i.e. the geodetic distance of the nth satellite, respectively the 1 st, the 2 nd, ·, the nth satellite,
Figure BDA0002821755940000196
means pseudoranges for the 1 st, 2 nd, etc., n-th satellites,
Figure BDA0002821755940000197
respectively, the satellite clock error of the 1 st, 2 nd, n-th satellites, (V)ion)1,(Vion)2,......,(Vion)nMeans ionospheric delay errors of the 1 st, 2 nd, n th satellites, (V)trop)1,(Vtrop)2,......,(Vtrop)nWhich respectively represent tropospheric delay errors for the 1 st, 2 nd, n.
Suppose that
Figure BDA0002821755940000198
The principle of least squares is the hypothesis
Figure BDA0002821755940000199
Has the smallest value, i.e.
Figure BDA00028217559400001910
Should be 0, a result of least squares as shown in the following equation (20) can be obtained, wherein,
Figure BDA0002821755940000201
is composed of
Figure BDA0002821755940000202
The transposed matrix of (2) is usually called a transposed matrix by interchanging the rows and columns of the matrix:
Figure BDA0002821755940000203
in equation (20), X contains four parameters, each being Vx、Vy、VzAnd cVtRThat is to say X ═ Vx,Vy,Vz,cVtR),(Vx,Vy,Vz) Correction information, cV, representing the position of the user in a three-dimensional coordinate systemtRWhich represents the relative clock correction information of the receiver, and B is a coefficient matrix, which can be calculated by equation (20) to obtain X.
Wherein B is represented by (l)1,m1,n1),(l2,m2,n2),......,(ln,mn,nn) The matrix formed, in the usual case,
Figure BDA0002821755940000204
alternatively, the first and second electrodes may be,
Figure BDA0002821755940000205
(l1,m1,n1),(l2,m2,n2),......,(ln,mn,nn) The three-dimensional coordinate system represents three direction cosines of a vector formed by the position of the user and the positions of the 1 st, 2 nd, and nth satellites respectively.
In the embodiment of the present application, it may be determined whether a loop end condition is satisfied, where the loop end condition may be Vx、Vy、VzAnd cVtRSum of squares of less than 10-4Or, alternatively, Vx、Vy、VzAnd cVtRSum of squares of not more than 10-4Or the number of cycles is greater than 10, or the number of cycles is not less than 10, where 10 is-4And 10 is only an optional implementation value given in the embodiment of the present application, and the two data can be replaced according to the actual application scenario.
In the embodiment of the present application, if the loop end condition is not satisfied, the user position may be updated by using the user position correction information according to the following formula (21):
Figure BDA0002821755940000206
wherein (X)i,Yi,Zi) Represents the updated coordinates of the user in the three-dimensional coordinate system after the ith calculation, (X)i-1,Yi-1,Zi-1) Represents the coordinates of the user before the update of the three-dimensional coordinate system after the ith calculation, that is, the coordinates of the user in the three-dimensional coordinate system used when the formula (17) is calculated the ith time, wherein the initial coordinates of the user in the three-dimensional coordinate system at the first calculation is (X)0,Y0,Z0),(Vx,Vy,Vz) And correction information indicating the position of the user in the three-dimensional coordinate system.
At the same time, order
Figure BDA0002821755940000207
The relative clock offset of the receiver may be updated with the relative clock offset correction information of the receiver according to equation (22) as shown below:
Figure BDA0002821755940000211
wherein the content of the first and second substances,
Figure BDA0002821755940000212
indicating the relative clock difference of the receiver updated after the i-th calculation,
Figure BDA0002821755940000213
indicating the relative clock difference of the receiver after the i-th calculation before updating,
Figure BDA0002821755940000214
i.e. cVtRThe relative clock correction information of the receiver obtained by the i-th calculation is shown.
If the loop-ending condition is satisfied, the relative clock difference of the receiver can be updated using the relative clock difference correction information of the receiver according to the above equation (22), that is, using the relative clock difference correction information when the loop-ending condition is satisfied
Figure BDA0002821755940000215
And
Figure BDA0002821755940000216
is calculated to obtain
Figure BDA0002821755940000217
Will be provided with
Figure BDA0002821755940000218
As the relative clock difference of the final receiver.
Furthermore, the accurate receiving time of the GNSS signal can be obtained according to the relative clock difference of the receiver. Specifically, the receiving time of the GNSS signal corresponding to the GPS system may be obtained by using the relative clock offset of the receiver, and then the receiving time of the GNSS signal corresponding to the GPS system may be converted into the receiving time of the GNSS signal corresponding to the UTC, and the receiving time of the GNSS signal corresponding to the UTC may be used as the accurate receiving time of the GNSS signal.
The receiving time of the GNSS signal corresponding to the GPS system can be obtained by using the relative clock error of the receiver according to the following equation (23):
Figure BDA0002821755940000219
in the embodiment of the present application, tSatellitetimingIndicating the time of reception, t, of the GNSS signal corresponding to the GPS systemreceivedIndicating the moment of reception of the GNSS signal with error, i.e. t as mentioned aboveRx
Figure BDA00028217559400002110
Calculated when the cycle end condition is satisfied
Figure BDA00028217559400002111
I.e. the relative clock difference of the receiver. c represents the speed of light and c represents the speed of light,
Figure BDA00028217559400002112
is the absolute clock difference of the receiver.
Converting the receiving time of the GNSS signal corresponding to the GPS system into the accurate receiving time of the GNSS signal according to the following formula (24):
tUTC=tSatellitetiming+tleapsecond (24)
wherein, tUTCIndicating the receiving time of the GNSS signal corresponding to UTC, i.e. the accurate receiving time of the GNSS signal, tSatellitetimingIndicating the time of reception, t, of the GNSS signal corresponding to the GPS systemleapsecondIn seconds of the jump shown in the foregoing.
The global positioning system is a radio navigation system consisting of a constellation of 24 earth-orbiting working satellites (21 primary and 3 alternate satellites). Each satellite has an independent satellite-borne atomic clock (cesium or rubidium atomic clock) and is compared with the coordinated world time, and finally the source is traced to the coordinated world time. When the constellation design of the satellite navigation system is carried out, at least 4 satellites can be received at any time anywhere on the earth, so that the GPS can be used for positioning and timing at any place on the ground, and the time service precision is 10 nanoseconds. Therefore, according to the scheme provided by the embodiment of the application, the time service to the receiver is also in the order of tens of sodium seconds, and the time precision is greatly improved compared with that obtained directly from the receiver or directly from the network.
In the embodiment of the application, the position interface can acquire the local time in real time, and update the local time in real time according to the accurate receiving time of the GNSS signal and the local time acquired in real time. Specifically, the method comprises the following steps:
when the receiver acquires the GNSS signal using the location interface, the location interface may also acquire the local time, that is, the location interface may acquire the local time when the GNSS signal is received. The time difference between the accurate receiving time of the GNSS signal and the local time when the GNSS signal is received can be calculated according to the accurate receiving time of the GNSS signal and the local time, that is, the time difference between the accurate receiving time of the GNSS signal and the local time when the GNSS signal is received is calculated according to the following formula (25):
dt=tUTC-tAPI (25)
wherein dt represents the time difference between the exact time of reception of the GNSS signal and the local time of reception of the GNSS signal, tUTCIndicating the exact time of reception, t, of the GNSS signalAPIRepresenting the local time of day when the GNSS signal is received.
In the embodiment of the present application, the location interface may obtain the local time in real time, and update the local time in real time according to the time difference between the accurate receiving time of the GNSS signal and the local time when the GNSS signal is received and the local time obtained in real time, according to the following formula (26):
t2=t1+dt (26)
wherein, t2Indicating the updated local time, t1The local time acquired by the location interface in real time is represented, and dt represents the time difference between the accurate receiving time of the GNSS signal and the local time when the GNSS signal is received.
In the embodiment of the application, the time difference between the accurate receiving time of the GNSS signal and the local time when the GNSS signal is received can be calculated once every preset time interval, and the local time is updated in real time according to the formula (26), wherein the preset time interval can be 30 minutes, 1 hour, 1 day and the like; the accurate receiving time of the GNSS signal can be calculated in real time, so that stable, reliable and high-precision local time can be obtained.
As shown in fig. 4B, fig. 4B is a schematic diagram of time service precision of different time service modes according to an embodiment of the present application, where the time service means is internet time service, and the time service precision is 10 milliseconds; the time service means is telephone time service, and the time service precision is 3.5 milliseconds; the time service means is short wave time service, and the time service precision is 1 millisecond; the time service means is the time service of low-frequency time codes, and the time service precision is 10 microseconds; the time service means is long wave time service, and the time service precision is 1 microsecond; when the time service means is satellite time service (Beidou), the time service precision is 10 nanoseconds; the time service means is satellite common-view time service, and the time service precision is 5 nanoseconds; the time service means is the bidirectional time service of the satellite, and the time service precision is 1 nanosecond; the time service means is the bidirectional time service of a special optical fiber, and the time service precision is 10 picoseconds.
After the time is corrected by using the method in the embodiment of the application, the time precision index can reach nanosecond level and is far higher than that of a common time service method, the data acquisition mode is simple, and the time correction difficulty is low.
The embodiment of the application adopts a Location API of an android terminal device to acquire GNSS original observation data, namely GNSS information, the current accurate time can be calculated by utilizing the GNSS original observation data, corresponding time correction can be completed without providing an extra professional GNSS receiver, and the embodiment of the application can simplify the time synchronization problem.
The time correction method of the embodiment of the present application is described in detail from the perspective of one specific embodiment, and the time correction method of the embodiment of the present application is described in detail from the perspective of method steps.
As shown in fig. 5, fig. 5 is a schematic flowchart of a time correction method according to an embodiment of the present application. The time correction method of the embodiment of the application comprises the steps S51-S54.
And step S51, synchronously acquiring satellite data of each first satellite, wherein the satellite data comprises satellite clock information and navigation messages.
In the embodiment of the present application, the satellite data includes, but is not limited to, satellite clock information and navigation messages, the satellite clock information may include, but is not limited to, the parameters shown in fig. 2, and the navigation messages include, but are not limited to, ionospheric parameters, orbit parameters of satellites, and clock error parameters of the satellites, the ionospheric parameters are used to calculate ionospheric delay errors, the orbit parameters of the satellites are used to calculate satellite positions, and the clock error parameters of the satellites are used to calculate satellite clock errors.
In the embodiment of the present application, the terminal device may acquire satellite data of a plurality of satellites simultaneously, where each of the plurality of satellites may be used as the first satellite.
In step S51, the synchronously acquiring the satellite data of each first satellite may specifically include: and synchronously acquiring satellite data of each first satellite by using a position information acquisition interface of a GNSS chip in the terminal equipment.
In the embodiment of the application, the GNSS chip is located in the terminal device, the GNSS chip may be one chip, or may be a chip set composed of two or more chips, and the position information acquisition interface of the GNSS chip may acquire satellite data of each first satellite synchronously. The Location information obtaining interface includes, but is not limited to, the aforementioned Location API.
In step S52, for each first satellite, the satellite position and the satellite clock offset of the first satellite are determined using the satellite clock information of the first satellite.
In the embodiment of the present application, for each first satellite, the manner of determining the satellite position and the satellite clock error of the first satellite by using the satellite clock information of the first satellite is not limited, and the determination may be performed by the manner provided in the embodiment of the present application, by other manners in the prior art, or by using a network model, or the like.
As a possible implementation manner, the satellite clock information includes a transmission time of the satellite signal, and in step S52, the determining the satellite position and the satellite clock error of the first satellite by using the satellite data of the first satellite specifically includes:
determining a first satellite clock error of a first satellite by using the transmitting time of a satellite signal corresponding to the first satellite and a navigation message; updating the transmitting time of the satellite signal corresponding to the first satellite by using the clock error of the first satellite; and determining the satellite position of the first satellite and the second satellite clock error by using the updated transmitting time and the navigation message corresponding to the first satellite, and taking the second satellite clock error as the satellite clock error of the first satellite.
In the embodiment of the present application, the satellite clock information includes the time of the satellite signal transmission, i.e. t mentioned aboveTxThe first satellite clock offset of the first satellite, here the first satellite clock, can be calculated using the aforementioned formula (6)The difference refers to the aforementioned Δ t, i.e., the satellite clock difference with error.
Further, when the first satellite clock error of the first satellite is used to update the transmission time of the satellite signal corresponding to the first satellite, the first satellite clock error of the first satellite may be subtracted from the satellite signal transmission time of the first satellite, so as to obtain an accurate satellite signal transmission time, and the accurate satellite signal transmission time is used as the updated transmission time corresponding to the first satellite.
Still further, the second satellite clock error of the first satellite may be determined by using the updated transmission time and the navigation message corresponding to the first satellite, and the second satellite clock error of the first satellite may be used as the satellite clock error of the first satellite, and specifically, the second satellite clock error of the first satellite may be calculated according to the aforementioned formula (6), and even if t in the formula (6) is equal to the updated transmission time corresponding to the first satellite, the calculated Δ t may be used as the second satellite clock error of the first satellite. The second satellite clock offset is the more accurate satellite clock offset.
In the embodiment of the present application, the satellite position may also be obtained by using accurate satellite signal transmission time, and the calculation method is not limited in the embodiment of the present application, for example, the satellite position may be determined by using a method in the prior art, or may be determined by using a network model and the like.
Step S53, determining the time correction information of the terminal equipment based on the satellite position and the satellite clock error of each first satellite;
in the embodiment of the present application, the time correction information of the terminal device is the above-mentioned relative clock error of the receiver.
As an optional implementation manner, in step S53, determining the time correction information of the terminal device based on the satellite position and the satellite clock error of each first satellite may specifically include:
repeatedly executing the following target operation until the determined time correction evaluation information meets the preset condition, and determining the clock difference of the terminal equipment when the preset condition is met as the time correction information of the terminal equipment, wherein the time correction evaluation information comprises the position correction information and the clock difference correction information of the terminal equipment.
In the embodiment of the present application, the position correction information of the terminal device refers to V mentioned in the foregoing formula (19)x、Vy、VzNamely the correction information of the user position in the three-dimensional coordinate system; the clock correction information refers to the cV mentioned in the above equation (19)tRI.e. the relative clock correction information of the receiver; the clock error of the terminal device refers to the clock error mentioned in the formula (22)
Figure BDA0002821755940000251
Namely the relative clock error of the updated receiver obtained after the current target operation; when the clock offset of the terminal device satisfies the preset condition, that is, when the loop end condition is satisfied, the obtained relative clock offset of the receiver is updated according to the foregoing formula (22) by using the relative clock offset correction information of the receiver, that is, the obtained updated relative clock offset of the receiver after the target operation when the loop end condition is satisfied.
In the embodiment of the application, the preset condition is not limited, and can be set specifically according to the actual situation.
As an optional implementation manner, the time correction evaluation information satisfies the preset condition, and specifically may include at least one of the manner a1 and the manner a 2.
In the method a1, the position correction information and the clock correction information for each direction satisfy the first preset condition, and the position correction information for the terminal device includes the position correction information for each direction.
In this embodiment, the position correction information of each azimuth may be position correction information of at least two azimuths. As an alternative implementation, the position correction information of each azimuth may be position correction information of three azimuths, for example, V mentioned in the above formula (19)x、Vy、VzThat is, position correction information of three orientations in a three-dimensional coordinate system; the clock correction information refers to the cV mentioned in the above equation (19)tR
As an alternative implementationThe position correction information and the clock correction information of each azimuth satisfying the first preset condition may be: the sum of the square of the position correction information and the square of the clock correction information for each azimuth is less than or equal to a first set threshold. For example, the first set threshold may be 10-4I.e. VxSquare of (V)ySquare of (V)zSum of squares cV oftRIs less than or equal to 10-4
It should be noted that, it is only one possible implementation manner that the sum of the square of the position correction information and the square of the clock correction information of each azimuth is less than or equal to the first set threshold, and in the practical application process, it may be determined in other manners whether the position correction information and the clock correction information of each azimuth satisfy the first preset condition, for example, it may be determined whether the sum of the position correction information and the clock correction information of each azimuth is less than or equal to one set threshold.
In the manner a2, the number of operations of the operation satisfies the second preset condition.
In this embodiment of the application, the second preset condition may be a second set threshold, and as a possible implementation manner, the number of operations of the operation satisfies the second preset condition, and may be that the number of operations of the operation is greater than or equal to the second set threshold, where the operation coefficient of the operation is the aforementioned number of cycles. For example, the second set threshold may be 10.
The target operation includes steps S531 to S534.
And step S531, updating the user position by using the position correction information obtained in the last operation for each second satellite, and determining the satellite distance of the second satellite by using the updated user position and the satellite position of the second satellite, wherein the second satellite belongs to each first satellite.
In the embodiment of the application, after each operation, if the time correction evaluation information does not satisfy the preset condition, the user position needs to be updated by using the position correction information obtained in the previous operation in the next operation. The initial position of the user may be a set value, for example, the initial position of the user may be (0, 0, 0).
When the user position is updated using the position correction information obtained in the previous operation, the user position may be updated using the aforementioned formula (21). Wherein the position correction information refers to V mentioned in the formula (21)x、Vy、Vz,(Xi,Yi,Zi) For updated user location, (X)i-1,Yi-1,Zi-1) Is the user location before updating.
The updated user position and the satellite position of the second satellite can be used to determine the satellite-to-ground distance of the second satellite, and the calculation method is not limited in the embodiment of the present application, and may be calculated by a calculation method in the prior art, or by model calculation, etc.
Step S532 is to obtain a transmission delay between each target satellite and the terminal device, where each target satellite belongs to each second satellite.
In the embodiment of the present application, each target satellite belongs to each second satellite, that is, each target satellite is each second satellite, or each target satellite is a satellite screened from each second satellite.
As an optional implementation manner, for each operation, the time correction method may further include:
determining the satellite altitude angle of each second satellite by using the updated user position and the satellite position of each second satellite; and determining each target satellite meeting a preset satellite altitude angle threshold from each second satellite according to the satellite altitude angle of each second satellite.
In this embodiment, for each second satellite, the satellite altitude angle of the second satellite may be calculated by using the updated user position and the satellite position of the second satellite, and then, according to the satellite altitude angle of each second satellite, each target satellite meeting the preset satellite altitude angle threshold is determined from each second satellite.
The preset satellite altitude angle threshold value may be satisfied, and the satellite altitude angle may be smaller than or equal to the preset satellite altitude angle threshold value, and the preset satellite altitude angle threshold value may be 15 degrees. That is, for each second satellite, when the satellite altitude angle of the second satellite is less than or equal to 15 degrees, the second satellite is considered to be severely occluded, and the error of the related data of the second satellite is large, so that the second satellite can be filtered, and each remaining second satellite after the filtering can be used as the target satellite.
The calculation method of the satellite elevation angle is not limited, and the satellite elevation angle can be calculated by adopting a method in the prior art, and can also be calculated by adopting a model and the like.
In the embodiment of the application, for each target satellite, there is a transmission delay in the process of transmitting a signal sent by the target satellite to the terminal device, and the transmission delay between any target satellite and the terminal device includes at least one of tropospheric delay and ionospheric delay corresponding to the target satellite.
The tropospheric delay corresponding to the target satellite refers to the tropospheric delay error corresponding to the target satellite mentioned above, which refers to the tropospheric delay error in the direction of the line connecting the satellite and the terminal device, that is, the STD mentioned above in equation (7); the ionospheric delay corresponding to the target satellite refers to the ionospheric delay error corresponding to the target satellite mentioned above.
As an optional implementation manner, the transmission delay includes troposphere delay, and in step S532, for any target satellite, acquiring the transmission delay between the target satellite and the terminal device may specifically include:
determining the satellite altitude angle of the target satellite by using the updated user position and the satellite position of the target satellite; and determining troposphere delay corresponding to the target satellite according to the satellite altitude angle of the target satellite.
In this embodiment, the updated user position and the satellite position of the target satellite may be used to determine the satellite altitude angle of the target satellite, and then, according to the satellite altitude angle of the target satellite, the tropospheric delay corresponding to the target satellite is calculated by using the aforementioned equations (7) - (14), where the tropospheric delay refers to the tropospheric delay error STD in the connection direction between the satellite and the terminal device, which is mentioned in the aforementioned equation (7).
As a possible implementation manner, the transmission delay includes an ionospheric delay, and for any target satellite, acquiring the transmission delay between the target satellite and the terminal device may specifically include:
if the satellite data acquisition time of the target satellite is within a preset time range, determining a preset ionospheric delay amount as the ionospheric delay corresponding to the target satellite; and if the acquisition time of the satellite data of the target satellite is outside the preset time range, determining the satellite altitude angle of the target satellite by using the updated user position and the satellite position of the target satellite, and determining the ionospheric delay corresponding to the target satellite according to the satellite altitude angle of the target satellite.
In the embodiment of the application, an ionosphere correction model can be adopted to calculate the ionosphere delay error, the preset time range can be the time range corresponding to night, the preset ionosphere delay amount is not limited, and the ionosphere delay amount can be set specifically according to an actual scene.
For example, the predetermined time range may be a time range from 0 to 5 points and from 18 to 24 points, and the predetermined ionospheric delay amount may be 5 ns. That is, if the acquisition time of the satellite data of the target satellite is within the time range formed by the points 0 to 5 and 18 to 24, 5ns is determined as the ionospheric delay corresponding to the target satellite; and if the acquisition time of the satellite data of the target satellite is within the time range formed by 5 to 18 points, determining the satellite height angle of the target satellite by using the updated user position and the satellite position of the target satellite, and determining the ionospheric delay corresponding to the target satellite according to the satellite height angle of the target satellite.
Specifically, data such as ionospheric parameters, satellite elevation angles, satellite azimuth angles, geocentric longitude, geocentric latitude and the like can be input into the ionospheric correction model, and the ionospheric delay amount is output by the ionospheric correction model.
In the embodiment of the present application, the model architecture of the ionosphere correction model is not limited.
Step S533, determining new time correction evaluation information based on the satellite clock error, the satellite-to-earth distance, and the corresponding transmission delay of each target satellite, and using each target satellite as a second satellite corresponding to the next operation.
In this embodiment, the new time correction evaluation information may be determined by using the aforementioned formula (16) and using the satellite clock offset, the satellite range, and the corresponding transmission delay of each target satellite, and the calculation method may be the processing method of the aforementioned formula (16), which is not described herein again. The time correction evaluation information may be calculated according to equation (16), and as mentioned above, the time correction evaluation information includes Vx、Vy、VzAnd cVtR
For any target satellite, the satellite clock information includes the transmission time of the satellite signal, the time of a hardware clock inside the GNSS chip, the offset of the hardware clock, and the difference between the time of the hardware clock and the time of the time positioning system. Wherein the transmission time of the satellite signal is t mentioned aboveTxThe time of the hardware clock inside the GNSS chip is also referred to as the timenannos, the offset of the hardware clock is also referred to as the BiasNanos, and the difference between the time of the hardware clock and the time of the time-positioning system is also referred to as the FullBiasNanos.
In the embodiment of the present application, for each target satellite, the receiving time of the satellite data, i.e. t mentioned in the above formula (5), can be calculated by using the TimeNanos, BiasNanos and fullbiasnasnosRx,tRxMay be tRxGPS、tRxGalileo、tRxBDSAnd tRxGLONASSAnd the like, in which the reception timing of the satellite data of each target satellite is the same since the terminal device synchronously acquires the satellite data of each first satellite.
For each target satellite, according to tRxThe time t of transmission of the satellite signal of the target satelliteTxAnd speed of light, as mentioned hereinbeforeThe pseudo range P is calculated by equation (5), and may be used as in equation (16)
Figure BDA0002821755940000301
It should be noted that, as mentioned above, the transmission time of the satellite signal corresponding to the first satellite can be updated by using the clock offset of the first satellite, so that, for each target satellite, the transmission time can also be according to tRxThe updated transmission time t of the satellite signal of the target satelliteTxAnd the speed of light, and the pseudo range P is calculated according to the aforementioned formula (5), and may be used as the pseudo range in formula (16)
Figure BDA0002821755940000302
Step S534, the clock offset of the terminal device is updated according to the clock offset correction information of the terminal device.
In the embodiment of the present application, at each cycle, the clock offset of the terminal device may be updated according to the aforementioned formula (22) based on the clock offset correction information of the terminal device, where the updated clock offset of the terminal device is the clock offset in the formula (22)
Figure BDA0002821755940000303
The clock difference of the terminal device before updating is also shown in formula (22)
Figure BDA0002821755940000304
Clock correction information of terminal equipment, i.e. in equation (22)
Figure BDA0002821755940000305
And step S54, correcting the local time of the terminal device according to the time correction information.
In this embodiment of the application, the time correction information is the above-mentioned relative clock difference of the receiver, and the local time of the terminal device may be corrected by using the relative clock difference of the receiver.
As an optional implementation manner, the satellite clock information includes time of a hardware clock inside the GNSS chip, bias of the hardware clock, and a difference between the time of the hardware clock and the time of the time positioning system;
correcting the local time of the terminal device according to the time correction information may specifically include:
determining the receiving time of satellite data by using the time of a hardware clock, the bias of the hardware clock and the difference between the time of the hardware clock and the time of a time positioning system; updating the receiving time of the satellite information by using the time correction information; acquiring local time when terminal equipment receives satellite data; and correcting the local time of the terminal equipment by using the updated receiving time and the updated local time.
The time of the hardware clock inside the GNSS chip is also referred to as the timenannos, the offset of the hardware clock is also referred to as the BiasNanos, and the difference between the time of the hardware clock and the time of the time-positioning system is also referred to as the FullBiasNanos. For each target satellite, the reception time of the satellite data, i.e., t mentioned in equation (5) above, can be calculated using TimeNanos, BiasNanos, and FullBiasNanosRx,tRxMay be tRxGPS、 tRxGalileo、tRxBDSAnd tRxGLONASSAnd the like, in which the reception timing of the satellite data of each target satellite is the same since the terminal device synchronously acquires the satellite data of each first satellite.
In the embodiment of the present application, the receiving time of the satellite information may be updated by using the relative clock difference of the receiver according to the aforementioned formulas (23) and (24), where t in the formula (23)receivedRefers to the calculated time of reception of the satellite data, t in equation (24)UTCRefers to the reception time of the updated satellite data,
Figure BDA0002821755940000311
refers to the time correction information of the terminal device, i.e. the relative clock difference of the receiver.
In this embodiment, when the terminal device synchronously acquires the satellite data of each first satellite, the terminal device may synchronously acquire the local time through the location information acquisition interface, and then correct the local time of the terminal device by using the updated receiving time and the local time according to the formula (25) -formula (26), where t in the formula (25) is tUTCRefers to the updated satellite data reception time, tAPIRefers to the local time synchronously acquired by the terminal device, t in equation (26)2Refers to the corrected local time.
Compared with the prior art, the terminal device determines the satellite position and the satellite clock error of each satellite according to the satellite clock information of each satellite, determines the time correction information of the terminal device based on the satellite position and the satellite clock error of each satellite, corrects the local time of the terminal device according to the time correction information, can acquire the satellite clock information in real time by the terminal device without using an atomic clock device, and also does not need to acquire tracking network data and preprocess the tracking network data, thereby reducing the difficulty of information acquisition and further reducing the difficulty of time correction.
The time correction method is specifically set forth from the perspective of the method steps, and the following introduces the terminal device from the perspective of the virtual module, specifically as follows:
an embodiment of the present application provides a terminal device apparatus, as shown in fig. 6, the terminal device apparatus 60 may include: a data acquisition module 601, a time correction information determination module 602, and a time correction module 603, wherein,
the data acquisition module 601 is configured to synchronously acquire satellite data of each first satellite, where the satellite data includes satellite clock information and navigation messages;
a time correction information determination module 602, configured to determine, for each first satellite, a satellite position and a satellite clock error of the first satellite by using the satellite data of the first satellite, and determine time correction information of the terminal device based on the satellite position and the satellite clock error of each first satellite;
and a time correction module 603, configured to correct the local time of the terminal device according to the time correction information.
In a possible implementation manner, the time correction information determining module 602 is specifically configured to, when determining the time correction information of the terminal device based on the satellite position and the satellite clock error of each first satellite:
determining a clock difference of the terminal device when the preset condition is satisfied as the time correction information of the terminal device by repeatedly performing the following operations until the determined time correction evaluation information satisfies the preset condition:
for each second satellite, updating the user position by using the position correction information obtained in the last operation, and determining the satellite-to-ground distance of the second satellite by using the updated user position and the satellite position of the second satellite, wherein the second satellite belongs to each first satellite;
acquiring transmission delay between each target satellite and the terminal equipment, wherein each target satellite belongs to each second satellite;
determining new time correction evaluation information based on the satellite clock error, the satellite-to-ground distance and the corresponding transmission delay of each target satellite, and taking each target satellite as a second satellite corresponding to the next operation;
updating the clock error of the terminal equipment according to the clock error correction information of the terminal equipment;
wherein the time correction evaluation information includes position correction information and clock correction information of the terminal device.
In one possible implementation, for each operation, the time correction information determining module 602 is further configured to:
determining the satellite altitude angle of each second satellite by using the updated user position and the satellite position of each second satellite;
and determining each target satellite meeting a preset satellite altitude angle threshold from each second satellite according to the satellite altitude angle of each second satellite.
In one possible implementation, the transmission delay between any target satellite and the terminal device includes at least one of a tropospheric delay and an ionospheric delay corresponding to the target satellite.
In one possible implementation, the transmission delay includes tropospheric delay, and for any target satellite, the time correction information determining module 602 is specifically configured to, when acquiring the transmission delay between the target satellite and the terminal device:
determining the satellite altitude angle of the target satellite by using the updated user position and the satellite position of the target satellite;
and determining troposphere delay corresponding to the target satellite according to the satellite altitude angle of the target satellite.
In a possible implementation manner, the transmission delay includes an ionospheric delay, and for any target satellite, the time correction information determination module 602 is specifically configured to, when acquiring the transmission delay between the target satellite and the terminal device:
when the satellite data acquisition time of the target satellite is within a preset time range, determining a preset ionospheric delay amount as the ionospheric delay corresponding to the target satellite;
and when the acquisition time of the satellite data of the target satellite is out of the preset time range, determining the satellite altitude angle of the target satellite by using the updated user position and the satellite position of the target satellite, and determining the ionospheric delay corresponding to the target satellite according to the satellite altitude angle of the target satellite.
In one possible implementation manner, the satellite clock information includes a transmission time of the satellite signal, and the time correction information determining module 602 is specifically configured to, when determining the satellite position and the satellite clock error of the first satellite by using the satellite data of the first satellite:
determining a first satellite clock error of a first satellite by using the transmitting time of a satellite signal corresponding to the first satellite and a navigation message;
updating the transmitting time of the satellite signal corresponding to the first satellite by using the clock error of the first satellite;
and determining the satellite position of the first satellite and the second satellite clock error by using the updated transmitting time and the navigation message corresponding to the first satellite, and taking the second satellite clock error as the satellite clock error of the first satellite.
In one possible implementation manner, the time correction evaluation information satisfies a preset condition, which includes at least one of the following:
the position correction information and the clock correction information of each azimuth meet a first preset condition, and the position correction information of the terminal equipment comprises the position correction information of each azimuth;
the number of operations of the operation satisfies a second preset condition.
In a possible implementation manner, the data obtaining module 601 is specifically configured to:
the method comprises the steps of synchronously acquiring Satellite data of each first Satellite by utilizing a position information acquisition interface of a Global Navigation Satellite System (GNSS) chip in the terminal equipment.
In one possible implementation, the satellite clock information includes a time of a hardware clock inside the GNSS chip, an offset of the hardware clock, and a difference between the time of the hardware clock and a time of the time positioning system;
the time correction module 603 is specifically configured to:
determining the receiving time of satellite data by using the time of a hardware clock, the bias of the hardware clock and the difference between the time of the hardware clock and the time of a time positioning system;
updating the receiving time of the satellite information by using the time correction information;
acquiring local time when terminal equipment receives satellite data;
and correcting the local time of the terminal equipment by using the updated receiving time and the updated local time.
The terminal device of the embodiment of the present application may execute the time correction method shown in any of the above embodiments of the present application, and the implementation principles thereof are similar and will not be described herein again.
Compared with the prior art, the terminal device determines the satellite position and the satellite clock error of each satellite according to the satellite clock information of each satellite, determines the time correction information of the terminal device based on the satellite position and the satellite clock error of each satellite, corrects the local time of the terminal device according to the time correction information, can acquire the satellite clock information in real time by the terminal device without using an atomic clock device or acquiring tracking network data and preprocessing the tracking network data, reduces the difficulty of information acquisition, and reduces the difficulty of time correction.
The terminal device of the present application is described above from the perspective of a virtual module or a virtual unit, and the electronic device of the present application is described below from the perspective of a physical device.
An embodiment of the present application provides an electronic device, as shown in fig. 7, an electronic device 4000 shown in fig. 7 includes: a processor 4001 and a memory 4003. Processor 4001 is coupled to memory 4003, such as via bus 4002. Optionally, the electronic device 4000 may further comprise a transceiver 4004. In addition, the transceiver 4004 is not limited to one in practical applications, and the structure of the electronic device 4000 is not limited to the embodiment of the present application.
Processor 4001 may be a CPU, general purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor 4001 may also be a combination that performs a computational function, including, for example, a combination of one or more microprocessors, a combination of a DSP and a microprocessor, or the like.
Bus 4002 may include a path that carries information between the aforementioned components. Bus 4002 may be a PCI bus, EISA bus, or the like. The bus 4002 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 7, but this is not intended to represent only one bus or type of bus.
Memory 4003 may be, but is not limited to, a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, an EEPROM, a CD-ROM or other optical disk storage, an optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The memory 4003 is used for storing computer programs for executing the present scheme, and is controlled by the processor 4001 for execution. Processor 4001 is configured to execute a computer program stored in memory 4003 to implement what is shown in any of the foregoing method embodiments.
An embodiment of the present application provides an electronic device, where the electronic device includes: a memory and a processor, wherein the memory has stored therein a computer program; the processor, when running the computer program, performs the time correction method provided in any of the alternative embodiments of the present application.
The electronic device of the present application is described above from the perspective of a physical device, and the computer-readable storage medium of the present application is described below from the perspective of a storage medium.
The present application provides a computer-readable storage medium, on which a computer program is stored, which, when running on a computer, enables the computer to execute the corresponding content in the foregoing method embodiments.
According to an aspect of the application, a computer program product or computer program is provided, comprising computer instructions, the computer instructions being stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method provided in the various alternative implementations to which the above-described method embodiments relate.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and may be performed in other orders unless explicitly stated herein. Moreover, at least a portion of the steps in the flow chart of the figure may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
The foregoing is only a partial embodiment of the present application, and it should be noted that, for those skilled in the art, several modifications and decorations can be made without departing from the principle of the present application, and these modifications and decorations should also be regarded as the protection scope of the present application.

Claims (12)

1. A time correction method, characterized in that the method is executed by a terminal device, and the method comprises:
synchronously acquiring satellite data of each first satellite, wherein the satellite data comprises satellite clock information and navigation messages;
for each of said first satellites, determining a satellite position and a satellite clock error for said first satellite using satellite data for said first satellite;
determining time correction information of the terminal equipment based on the satellite position and the satellite clock error of each first satellite;
correcting the local time of the terminal equipment according to the time correction information;
wherein the determining the time correction information of the terminal device based on the satellite position and the satellite clock error of each of the first satellites includes:
determining a clock difference of the terminal device when the preset condition is satisfied as the time correction information of the terminal device by repeatedly performing the following operations until the determined time correction evaluation information satisfies the preset condition:
for each second satellite, updating the user position by using the position correction information obtained in the last operation, and determining the satellite-to-ground distance of the second satellite by using the updated user position and the satellite position of the second satellite, wherein the second satellite belongs to each first satellite;
acquiring transmission delay between each target satellite and the terminal equipment, wherein each target satellite belongs to each second satellite;
determining new time correction evaluation information based on the satellite clock error, the satellite-to-earth distance and the corresponding transmission delay of each target satellite, and taking each target satellite as the second satellite corresponding to the next operation;
updating the clock error of the terminal equipment according to the clock error correction information of the terminal equipment;
wherein the time correction evaluation information includes position correction information and clock correction information of the terminal device.
2. The method of claim 1, wherein for each of the operations, the method further comprises:
determining satellite altitude angles of the second satellites by using the updated user positions and the satellite positions of the second satellites;
and determining each target satellite meeting a preset satellite altitude angle threshold value from each second satellite according to the satellite altitude angle of each second satellite.
3. The method of claim 1, wherein the transmission delay between any of the target satellites and the terminal device comprises at least one of a tropospheric delay and an ionospheric delay corresponding to the target satellite.
4. The method of claim 3, wherein the transmission delay comprises a tropospheric delay, and wherein acquiring the transmission delay between the target satellite and the terminal device for any one of the target satellites comprises:
determining a satellite altitude angle of the target satellite by using the updated user position and the satellite position of the target satellite;
and determining troposphere delay corresponding to the target satellite according to the satellite altitude angle of the target satellite.
5. The method of claim 3, wherein the transmission delay comprises an ionospheric delay, and wherein for any of the target satellites, acquiring the transmission delay between the target satellite and the terminal device comprises:
if the satellite data acquisition time of the target satellite is within a preset time range, determining a preset ionospheric delay amount as the ionospheric delay corresponding to the target satellite;
and if the acquisition time of the satellite data of the target satellite is outside a preset time range, determining the satellite altitude angle of the target satellite by using the updated user position and the satellite position of the target satellite, and determining the ionospheric delay corresponding to the target satellite according to the satellite altitude angle of the target satellite.
6. The method of any of claims 1-5, wherein said satellite clock information comprises a time of transmission of a satellite signal, and wherein said determining a satellite position and a satellite clock offset for said first satellite using satellite data for said first satellite comprises:
determining a first satellite clock error of the first satellite by using the transmitting time of the satellite signal corresponding to the first satellite and a navigation message;
updating the transmitting time of the satellite signal corresponding to the first satellite by using the first satellite clock error;
and determining the satellite position and the second satellite clock error of the first satellite by using the updated transmitting time and the navigation message corresponding to the first satellite, and taking the second satellite clock error as the satellite clock error of the first satellite.
7. The method according to claim 1, wherein the time correction evaluation information satisfies a preset condition, including at least one of:
the position correction information of each azimuth and the clock correction information meet a first preset condition, and the position correction information of the terminal equipment comprises the position correction information of each azimuth;
the operation times of the operation meet a second preset condition.
8. The method of any of claims 1-5, wherein said synchronizing acquisition of satellite data for each first satellite comprises:
and synchronously acquiring satellite data of each first satellite by using a position information acquisition interface of a Global Navigation Satellite System (GNSS) chip in the terminal equipment.
9. The method of claim 8, wherein the satellite clock information comprises a time of a hardware clock internal to the GNSS chip, an offset of the hardware clock, and a difference between the time of the hardware clock and a time of a time positioning system;
the correcting the local time of the terminal device according to the time correction information includes:
determining the receiving moment of the satellite data by using the time of the hardware clock, the bias of the hardware clock and the difference value between the time of the hardware clock and the time of a time positioning system;
updating the receiving time of the satellite data by using the time correction information;
acquiring local time when the terminal equipment receives the satellite data;
and correcting the local time of the terminal equipment by using the updated receiving time and the local time.
10. A terminal device, characterized in that the terminal device comprises:
the data acquisition module is used for synchronously acquiring satellite data of each first satellite, wherein the satellite data comprises satellite clock information and navigation messages;
a time correction information determination module for determining, for each of the first satellites, a satellite position and a satellite clock error of the first satellite using the satellite data of the first satellite, and determining time correction information of the terminal device based on the satellite position and the satellite clock error of each of the first satellites;
the time correction module is used for correcting the local time of the terminal equipment according to the time correction information;
wherein the time correction information determination module, when determining the time correction information of the terminal device based on the satellite position and the satellite clock error of each of the first satellites, is configured to:
determining a clock difference of the terminal device when the preset condition is satisfied as the time correction information of the terminal device by repeatedly performing the following operations until the determined time correction evaluation information satisfies the preset condition:
for each second satellite, updating the user position by using the position correction information obtained in the last operation, and determining the satellite-to-ground distance of the second satellite by using the updated user position and the satellite position of the second satellite, wherein the second satellite belongs to each first satellite;
acquiring transmission delay between each target satellite and the terminal equipment, wherein each target satellite belongs to each second satellite;
determining new time correction evaluation information based on the satellite clock error, the satellite-to-earth distance and the corresponding transmission delay of each target satellite, and taking each target satellite as the second satellite corresponding to the next operation;
updating the clock error of the terminal equipment according to the clock error correction information of the terminal equipment;
wherein the time correction evaluation information includes position correction information and clock correction information of the terminal device.
11. An electronic device, comprising a memory and a processor, wherein the memory has stored therein a computer program; the processor, when executing the computer program, performs the method of any of claims 1 to 9.
12. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the method of any one of claims 1 to 9.
CN202011439419.9A 2020-12-07 2020-12-07 Time correction method, terminal device, electronic device, and storage medium Active CN112666820B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011439419.9A CN112666820B (en) 2020-12-07 2020-12-07 Time correction method, terminal device, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011439419.9A CN112666820B (en) 2020-12-07 2020-12-07 Time correction method, terminal device, electronic device, and storage medium

Publications (2)

Publication Number Publication Date
CN112666820A CN112666820A (en) 2021-04-16
CN112666820B true CN112666820B (en) 2022-03-08

Family

ID=75401922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011439419.9A Active CN112666820B (en) 2020-12-07 2020-12-07 Time correction method, terminal device, electronic device, and storage medium

Country Status (1)

Country Link
CN (1) CN112666820B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113573402B (en) * 2021-07-13 2023-08-29 浙江赛思电子科技有限公司 High-precision time service method and system for 5G base station based on satellite and 5G air interface fusion
CN115268252A (en) * 2022-08-05 2022-11-01 腾讯科技(深圳)有限公司 Time management method, apparatus, computer, readable storage medium, and program product

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007093562A (en) * 2005-09-30 2007-04-12 Koden Electronics Co Ltd Time information transmitting device
CN108333604A (en) * 2017-12-27 2018-07-27 和芯星通科技(北京)有限公司 It is a kind of to utilize the method and apparatus of satellite positioning, satellite timing method and device
CN108536003A (en) * 2018-05-24 2018-09-14 千寻位置网络有限公司 Accurate time transmission system and method and time service service system
CN108931915A (en) * 2018-05-08 2018-12-04 和芯星通科技(北京)有限公司 Utilize time service method and device, the computer readable storage medium of navigation satellite
CN108958018A (en) * 2018-02-28 2018-12-07 和芯星通科技(北京)有限公司 A kind of satellite timing method and device, computer readable storage medium
CN109709591A (en) * 2018-12-07 2019-05-03 中国科学院光电研究院 A kind of GNSS high-precision locating method towards intelligent terminal

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2752230T3 (en) * 2013-03-11 2020-04-03 Kapsch Trafficcom Ab A method of communication within a cooperative system
CN105044747B (en) * 2015-08-27 2017-09-15 交通信息通信技术研究发展中心 Time synchronization device and method based on multi-satellite common view and filtering

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007093562A (en) * 2005-09-30 2007-04-12 Koden Electronics Co Ltd Time information transmitting device
CN108333604A (en) * 2017-12-27 2018-07-27 和芯星通科技(北京)有限公司 It is a kind of to utilize the method and apparatus of satellite positioning, satellite timing method and device
CN108958018A (en) * 2018-02-28 2018-12-07 和芯星通科技(北京)有限公司 A kind of satellite timing method and device, computer readable storage medium
CN108931915A (en) * 2018-05-08 2018-12-04 和芯星通科技(北京)有限公司 Utilize time service method and device, the computer readable storage medium of navigation satellite
CN108536003A (en) * 2018-05-24 2018-09-14 千寻位置网络有限公司 Accurate time transmission system and method and time service service system
CN109709591A (en) * 2018-12-07 2019-05-03 中国科学院光电研究院 A kind of GNSS high-precision locating method towards intelligent terminal

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于伪卫星的GNSS星地时间同步评估仿真研究;罗益等;《计算机仿真》;20150228;第32卷(第2期);第38-42页 *
抗差估计在RTK/INS紧组合中的应用研究;储超;《全球定位系统》;20191031;第44卷(第5期);第18-25页 *

Also Published As

Publication number Publication date
CN112666820A (en) 2021-04-16

Similar Documents

Publication Publication Date Title
CN109709591B (en) GNSS high-precision positioning method for intelligent terminal
Kouba et al. Precise point positioning
Chen et al. Real-time precise point positioning using single frequency data
AU2008260578B2 (en) Distance dependant error mitigation in real-time kinematic (RTK) positioning
Schaer et al. Mapping and predicting the Earth's ionosphere using the Global Positioning System
US8035552B2 (en) Distance dependant error mitigation in real-time kinematic (RTK) positioning
CN108919634A (en) A kind of three non-non-combined observation Time Transmission system and method for difference of frequency of Beidou
CN108344415B (en) Combined navigation information fusion method
Lu et al. Tropospheric delay parameters from numerical weather models for multi-GNSS precise positioning
CN111856534B (en) Dual-mode GNSS carrier precise single-point positioning method and system of intelligent terminal
CN112666820B (en) Time correction method, terminal device, electronic device, and storage medium
CN110007326B (en) Double-frequency ranging error parameter generation method for satellite-based augmentation system
CN112285749B (en) Method and device for processing original observation data of global navigation satellite system and storage medium
Teunissen GNSS precise point positioning
US20220018969A1 (en) System and method for providing gnss corrections
CN112684475A (en) Smart phone ionosphere error correction method and device based on regional CORS
Ning et al. Single-frequency precise point positioning enhanced with multi-GNSS observations and global ionosphere maps
Aggrey Multi-GNSS precise point positioning software architecture and analysis of GLONASS pseudorange biases
Muellerschoen et al. An internet-based global differential GPS system, initial results
Steigenberger et al. CODE contribution to the first IGS reprocessing campaign
Liu et al. The impact of different mapping function models and meteorological parameter calculation methods on the calculation results of single-frequency precise point positioning with increased tropospheric gradient
US11693120B2 (en) System and method for providing GNSS corrections
CN115902968A (en) PPP terminal positioning method based on Beidou third GEO broadcast enhancement information
JPH1054871A (en) Global positioning device
Marz et al. Geosynchronous satellites expanding a future GNSS satellite constellation: A precise orbit determination study

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40042960

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant