Disclosure of Invention
In view of the above technical problems, the present invention provides a single-satellite multi-epoch timing method, apparatus, computer device, and storage medium, which can improve the accuracy level of local clock error.
The technical scheme adopted by the invention for solving the technical problems is as follows:
in one embodiment, a single-star multi-epoch timing method includes the steps of:
step S100: acquiring a single satellite number, and extracting data of all epoch single satellites from a pre-stored one-way time service data file according to the satellite number;
step S200: calculating to obtain the local clock error of each epoch single satellite without considering the frequency error according to the data of all epoch single satellites;
step S300: the method comprises the steps of carrying out unit conversion on the local clock difference of each epoch unit satellite without considering the frequency difference to obtain the starting time and the ending time of a time period with the same frequency difference, obtaining the frequency difference of each epoch in the preset sliding window width according to the data of all epoch unit satellites, the converted local clock difference of each epoch unit satellite without considering the frequency difference and each epoch in the preset sliding window width through a sliding window type, and completing time correction according to the frequency difference, the starting time and the ending time of each epoch in the preset sliding window width, the frequency difference of each epoch in the preset sliding window and the converted local clock difference of each epoch unit satellite without considering the frequency difference.
Preferably, the data for all epoch single stars includes raw pseudoranges, satellite positions, satellite clock offsets, ionospheric delay corrections, tropospheric delay corrections, autorotation of the earth, observation point positions.
Preferably, step S200 is specifically:
wherein, Δ tRjThe local clock offset without taking the frequency difference into account for each epoch, ρ' is the raw pseudorange, (X, y, z) is the position of the observation point, and X, y, z are the positions of the observation point in the X, y and z axes, respectively, (Xj,Yj,Zj) As satellite position, Xj、Yj、ZjPosition of the satellite in the x, y and z axes, respectively, Δ tjIs the satellite clock error, deltaionFor ionospheric delay correction, deltatroFor tropospheric delay correction, Δ ρ is the earth rotation correction.
Preferably, in step S300, the obtaining, through a sliding window, the frequency difference of each epoch in the preset sliding window width according to the data of all epoch singles, the converted local clock difference of each epoch without considering the frequency difference, and each epoch in the preset sliding window width specifically includes:
X=(HTH)-1HTY
wherein,
Δ t in H matrix
jRepresenting the time interval from the current epoch to the first epoch in the current sliding window, Δ f in the X matrix representing the local frequency difference calculated by the least squares method, Δ t in the Y matrix
R' local clock difference, Δ t in Y matrix, when the frequency difference is not considered for the first epoch in the current sliding window
Rj' indicating that each epoch takes into account the corresponding satelliteThe local clock error after the satellite clock error, the ionospheric delay correction, the tropospheric delay correction and the earth rotation correction.
Preferably, in step S300, the local clock offset after frequency offset is considered for each epoch in a time period with the same frequency offset according to the frequency offset of each epoch in the preset sliding window width, the start time and the end time, each epoch in the preset sliding window, and the local clock offset without frequency offset being considered for each epoch after conversion, which is specifically:
ΔtRj*=ΔtR+(Δt×Δf)
wherein, Δ tRjRepresenting the local clock offset, Δ t, of each epoch after conversion without taking into account the frequency offsetRThe local clock difference after the frequency difference is considered for each epoch, and Δ t represents the time difference between the current epoch and the first epoch in the current sliding window.
Preferably, step S300 is followed by:
step S400: and extracting a known clock error from a pre-stored unidirectional time service data file, and obtaining a clock error according to the local clock error and the known clock error after the frequency difference is considered.
Preferably, step S400 is specifically:
D_value=ΔtR-ΔtR*
wherein D _ value represents a clock error, Δ tRLocal clock difference after frequency difference, Δ t, is taken into account for each epochRDenotes the known clock error for each epoch.
In one embodiment, a single-star multi-calendar timing device comprises:
the data extraction module is used for acquiring a single satellite number and extracting data of all single epochs from a pre-stored one-way time service data file according to the satellite number;
the local clock error calculation module is used for calculating and obtaining the local clock error of each epoch single satellite without considering the frequency error according to the data of all epoch single satellites;
the local clock difference calculation module after considering the frequency difference is used for performing unit conversion on the local clock difference of each epoch monaural without considering the frequency difference to obtain the start time and the end time of the time period with the same frequency difference, the preset sliding window width comprises a preset number of epochs, the frequency difference of each epoch in the preset sliding window width is obtained according to the data of all epoch monaural, the converted local clock difference of each epoch monaural without considering the frequency difference and each epoch in the preset sliding window width through a sliding window, and the local clock difference of each epoch in the time period with the same frequency difference after considering the frequency difference is obtained according to the frequency difference, the start time and the end time of each epoch in the preset sliding window width, each epoch in the preset sliding window and the converted local clock difference of each epoch monaural without considering the frequency difference, so that the time correction is completed.
In an embodiment, a computer device comprises a memory and a processor, the memory storing a computer program, the processor implementing the steps of the above method when executing the computer program.
In an embodiment, a computer-readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the above-mentioned method.
According to the single-satellite multi-epoch timing method, the single-satellite multi-epoch timing device, the computer equipment and the storage medium, because the frequency difference is unchanged within a period of time, on the basis of obtaining the local clock difference of each epoch single satellite without considering the frequency difference through calculation, the frequency difference of each epoch is obtained through calculation by using the preset sliding window, and then the influence of the frequency difference among the epochs is eliminated through the sliding window, so that more accurate local clock difference can be obtained, the timing of the local clock difference of the single-satellite multi-epoch is realized, and the accuracy level of the local clock difference is effectively improved.
Detailed Description
In order to make the technical solutions of the present invention better understood, the present invention is further described in detail below with reference to the accompanying drawings.
In one embodiment, as shown in fig. 1, a single-star multi-calendar timing method includes the following steps:
step S100: and acquiring a single satellite number, and extracting the data of all the epoch single satellites from a pre-stored one-way time service data file according to the satellite number.
Specifically, the single satellite time service means that high-precision system time can be obtained only by receiving on the premise that the user equipment does not transmit signals. The purpose of single-satellite time service is to obtain the time difference between a local clock and system time, namely the local clock difference, and then directly or indirectly synchronize the local time to the system time. The Beidou satellite unidirectional time service obtains the time deviation between the local time and the Beidou satellite. Therefore, the accurate level of the local clock difference directly influences the accurate level of the single-satellite time service.
Further, the data for all epoch singles includes raw pseudoranges, satellite positions, satellite clock offsets, ionospheric delay corrections, tropospheric delay corrections, autorotation of the earth corrections, and observation point positions.
Step S200: and calculating the local clock error of each epoch single satellite without considering the frequency error according to the data of all epoch single satellites.
Specifically, calculating the local clock offset using a single satellite and multiple epochs means that the local clock offsets of multiple epochs are calculated sequentially according to the data of a single satellite. Since the coordinates x, y, z of the observation point location are known, it is assumed that at time epoch t, the satellite S is observed by the receiver at the observation point location with known coordinatesjThe corresponding pseudo-range observation equation is:
wherein,ΔtRjlocal clock error for each epoch single star, unit: meter (converted by multiplying by the speed of light), ρ' is the raw pseudorange, (x, y, z) is the position of the observation point, and x, y, z are the positions of the observation point on the x, y, and z axes, in units: rice, (X)j,Yj,Zj) As satellite position, Xj、Yj、ZjThe position of the satellite in the x, y and z axes, respectively, in units: rice, Delta tjIs the satellite clock error, unit: meter (converted by the speed of light), deltaionFor ionospheric delay correction, deltatroFor tropospheric delay correction, Δ ρ is the earth rotation correction.
Because the earth's fixed coordinate system corresponding to the time of satellite signal transmission and the earth's fixed coordinate system corresponding to the time of signal reception by the receiver are different due to the influence of earth rotation, the original pseudorange should be corrected by adding earth rotation.
Therefore, the local clock offset of the receiver at epoch t under the premise of considering the influence of other errors is:
wherein, Δ tRjFor each epoch, the local clock offset without taking frequency offset into account, ρ' is the original pseudo range, X, y and z are the observation point positions, and Xj、Yj、ZjAs the satellite position, Δ tjIs the satellite clock error, deltaionFor ionospheric delay correction, deltatroFor tropospheric delay correction, Δ ρ is the earth rotation correction.
Step S300: the method comprises the steps of carrying out unit conversion on the local clock difference of each epoch unit satellite without considering the frequency difference to obtain the starting time and the ending time of a time period with the same frequency difference, obtaining the frequency difference of each epoch in the preset sliding window width according to the data of all epoch unit satellites, the converted local clock difference of each epoch unit satellite without considering the frequency difference and each epoch in the preset sliding window width through a sliding window type, and completing time correction according to the frequency difference, the starting time and the ending time of each epoch in the preset sliding window width, the frequency difference of each epoch in the preset sliding window and the converted local clock difference of each epoch unit satellite without considering the frequency difference.
Specifically, the unit of the local clock difference needs to be converted from meters to seconds. The frequency difference means that there exists a frequency difference between the frequency received at the receiver and the frequency of the transmitted signal, the magnitude of the frequency difference is related to the moving direction of the object relative to the receiver, and the higher the moving speed, the larger the frequency difference. Therefore, the influence of the frequency difference is eliminated every time.
In one embodiment, in step S300, unit conversion is performed on the local clock offset of each epoch without considering the frequency offset, specifically:
ΔtRj*=ΔtRj÷c
wherein, Δ tRjLocal clock offset, Δ t, for each epoch without taking into account frequency offsetRjAnd c is the speed of light, and takes 299792458.458 m/s.
In one embodiment, in step S300, the frequency difference of each epoch in the preset sliding window width obtained through the sliding window according to the data of all epoch singles, the converted local clock difference of each epoch without considering the frequency difference, and each epoch in the preset sliding window width is specifically:
X=(HTH)-1HTY
wherein,
Δ t in H matrix
jRepresenting the time interval from the current epoch to the first epoch in the current sliding window, Δ f in the X matrix representing the local frequency difference calculated by the least squares method, Δ t in the Y matrix
R' denotes the local clock difference when the frequency difference is not taken into account for the first epoch in the current sliding window, Δ t in the Y matrix
Rj' means that each epoch takes into account the corresponding satellite clock error, ionospheric delay correction, tropospheric delay correction and local clock error after earth rotation correction.
Specifically, on the basis of single-satellite single-epoch local clock offset calculation, frequency offset influence between epochs is eliminated, and more accurate local clock offset, namely the local clock offset after frequency offset is considered, can be obtained. Since the frequency difference is constant in a period of time, the frequency difference of each epoch in the sliding window is calculated by using the sliding window with the width N, and further, although the frequency difference is generally constant in a period of time, but slightly changes, the frequency difference of each epoch in the current sliding window is recalculated every time the sliding window slides backwards, so that the obtained frequency difference is more accurate.
In one embodiment, in step S300, the local clock offset after frequency offset is considered for each epoch in a time period with the same frequency offset according to the frequency offset of each epoch in the preset sliding window width, the start time and the end time, each epoch in the preset sliding window, and the local clock offset without frequency offset being considered for each epoch after conversion, which is specifically:
ΔtRj*=ΔtR+(Δt×Δf)
wherein, Δ tRjRepresenting the local clock offset, Δ t, of each epoch after conversion without taking into account the frequency offsetRThe local clock difference after the frequency difference is considered for each epoch, and Δ t represents the time difference between the current epoch and the first epoch in the current sliding window.
Specifically, after the frequency difference is obtained, the local clock difference after the frequency difference is considered by the second epoch in the current sliding window is calculated according to the frequency difference, the sliding window moves backwards, the local clock difference after the frequency difference is considered by the second epoch in the current sliding window is solved again, and similarly, the local clock difference after the frequency difference is considered by each epoch in the time period with the same frequency difference is solved in sequence, and further, in the embodiment, 30 epochs are the width of the sliding window, the frequency difference of the thirty epochs is calculated by using the 30 epochs according to a frequency difference calculation method, the frequency offset is used to eliminate the influence of the frequency offset of the second epoch in the 30 epochs, then the sliding window is moved backwards, the frequency offset of the next 30 epochs is continuously calculated, and the method is used for eliminating the influence caused by the frequency difference of the second epoch in the next 30 epochs until the epochs in the time period with the same frequency difference are calculated, thereby completing the time correction.
In one embodiment, as shown in fig. 2, step S300 is followed by:
step S400: and extracting a known clock error from a pre-stored unidirectional time service data file, and obtaining a clock error according to the local clock error and the known clock error after the frequency difference is considered.
In one embodiment, step S400 specifically includes:
D_value=ΔtR-ΔtR*
where D _ value represents the clock error, Δ tRLocal clock difference after frequency difference, Δ t, is taken into account for each epochRDenotes the known clock error for each epoch. The corresponding local clock error-time diagram of single-satellite multi-epoch is shown in fig. 3, and the local clock error of single-satellite single-epoch can be obtained according to the known clock error corresponding to each epoch and the local clock error after the frequency difference is not considered for each epoch, as shown in fig. 4.
Specifically, it can be seen that the pseudorange measurement accuracy of the receiver, the position accuracy known by the observation stations, the position accuracy of the satellites, the accuracy of the satellite clock error, the accuracy of the tropospheric delay correction and the ionospheric delay correction, and the like are main factors that influence the accuracy level of the receiver clock error.
In one embodiment, as shown in fig. 5 and 6, the local clock error of the single-satellite single epoch and the local clock error of the single-satellite multi-epoch are calculated by using a single-satellite single-epoch local clock error calculation principle and a single-satellite multi-epoch local clock error calculation principle, and the single-satellite single-epoch local clock error and the single-satellite multi-epoch local clock error are respectively obtained according to the local clock error of the single-satellite single epoch, the single-satellite multi-epoch local clock error and the known clock error in the same time period, and compared with the error, the accuracy of the single-satellite multi-epoch is higher than that of the single-satellite single epoch.
According to the single-satellite multi-epoch timing method, the frequency difference is unchanged within a period of time, so that on the basis of obtaining the local clock difference of each epoch single satellite without considering the frequency difference through calculation, the frequency difference of each epoch in the current sliding window is obtained through calculation by using the preset sliding window, and then the frequency difference influence among the epochs is eliminated through the sliding window, so that more accurate local clock difference can be obtained, the timing of the local clock difference of the single-satellite multi-epoch is realized, and the accuracy level of the local clock difference can be effectively improved.
In one embodiment, the single-star multi-calendar timing device comprises a data extraction module, a local clock difference calculation module and a local clock difference calculation module after frequency difference is considered,
the data extraction module is used for acquiring a single satellite number and extracting data of all single epochs from a pre-stored one-way time service data file according to the satellite number;
the local clock error calculation module of each epoch single satellite is used for calculating and obtaining the local clock error of each epoch single satellite without considering the frequency error according to the data of all epoch single satellites;
the clock difference calculation module after considering the frequency difference is used for carrying out unit conversion on the local clock difference of each epoch unit satellite without considering the frequency difference to obtain the starting time and the ending time of a time period with the same frequency difference, a preset number of epochs are contained in the preset sliding window width, the frequency difference of each epoch in the preset sliding window width is obtained through a sliding window according to the data of all epoch unit satellites, the converted local clock difference of each epoch unit satellite without considering the frequency difference and each epoch in the preset sliding window width, and the local clock difference of each epoch in the time period with the same frequency difference after considering the frequency difference is obtained according to the frequency difference, the starting time and the ending time of each epoch in the preset sliding window width, each epoch in the preset sliding window and the converted local clock difference of each epoch unit satellite without considering the frequency difference, so that the time correction is completed.
For specific limitations of the single-satellite multi-epoch timing device, reference may be made to the above limitations of the single-satellite multi-epoch timing method, which are not described herein again. The modules in the single-satellite multi-calendar timing device can be wholly or partially realized by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device includes a memory storing a computer program and a processor implementing the steps of a single-star multi-epoch timing method when the processor executes the computer program.
In one embodiment, a computer readable storage medium has stored thereon a computer program which, when executed by a processor, performs the steps of a single-star multi-epoch timing method.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-readable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein. The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The single-star multi-epoch timing method, the single-star multi-epoch timing device, the computer device and the storage medium provided by the invention are described in detail above. The principles and embodiments of the present invention are explained herein using specific examples, which are presented only to assist in understanding the core concepts of the present invention. It should be noted that, for those skilled in the art, it is possible to make various improvements and modifications to the present invention without departing from the principle of the present invention, and those improvements and modifications also fall within the scope of the claims of the present invention.