Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application.
It will be appreciated that as used herein, the term module may refer to or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable hardware components that provide the described functionality, or may be part of such hardware components.
It will be appreciated that in the various embodiments of the present application, the processor may be a microprocessor, a digital signal processor, a microcontroller, the like, and/or any combination thereof. According to another aspect, the processor may be a single-core processor, a multi-core processor, the like, and/or any combination thereof.
It can be understood that the terminal device of the present application may be a device having a navigation function, such as a mobile phone, a tablet computer, a desktop computer, a Personal Digital Assistant (PDA), a wearable device, a navigator, and an in-vehicle device.
At present, in order to improve user experience, it is necessary to improve the first positioning time of a user device, and an Assisted Global Navigation Satellite System (AGNSS) technology is proposed, the AGNSS technology is mainly divided into two forms, the first form is a standard AGNSS service, a broadcast ephemeris of a current visible Satellite is provided for a user through real-time network connection, and the user device obtains required ephemeris data from an AGNSS server through a network request in each positioning initiation process, so as to assist a GNSS chip to realize rapid positioning and speed measurement. The standard AGNSS service needs to acquire ephemeris data from an AGNSS server in real time, so that higher network connection frequency is needed and certain requirements on network quality are met; in each positioning process, the GNSS chip needs to frequently use ephemeris parameters to calculate the position and the speed of the navigation satellite, and the process involves more floating point operations, so that the calculation amount of the GNSS chip is larger, and the power consumption is higher.
Another form is an Extended Ephemeris service, that is, a PGNSS service, which can provide a user with a Ephemeris for a satellite orbit with a longer validity period, where the Ephemeris validity period may usually reach 7-28 days, and this service may reduce frequent acquisition of Ephemeris data from a server, and further reduce the network request frequency and the dependence on network quality in the positioning process of the user equipment.
To this end, the present application proposes a method for determining the position and velocity of a terminal device using navigation satellites (GNSS satellites) to solve the above technical problem.
Embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1 shows a scenario for determining the position of a terminal device using navigation satellites.
The technical scheme of the application is based on a Global Navigation Satellite System (GNSS). GNSS systems are generally referred to as global, Regional, and Augmentation satellite Navigation systems, including GPS in the united states, Glonass in russia, Galileo in europe, and beidou satellite Navigation System in china, and related Augmentation systems, such as Wide Area Augmentation System (WAAS) in the united states, European Geostationary Navigation Overlay System (EGNOS) in europe, and multi-functional transport satellite Augmentation System in japan, Indian Regional Navigation Satellite System (IRNSS), and the like, and also covers other satellite Navigation systems to be built and later built. The international GNSS system is a complex combined system with multiple systems, multiple layers and multiple modes, and the like. These systems may enable the positioning of user equipment. The system mainly comprises three parts, namely a navigation satellite constellation (a set of satellites capable of normally working in launching and orbit), a ground monitoring station and user equipment, wherein the ground monitoring station can be composed of a navigation satellite observation station (GNSS observation station), a master control station and a ground antenna station.
The basic principle of the global navigation satellite system is to measure the distance between a navigation satellite with a known position and a user receiver, and the specific position of the terminal equipment at a user end can be known by integrating satellite orbit data of a plurality of satellites. The positions of the satellites can be calculated according to the satellite navigation signal transmitting time and the satellite ephemeris. The distance from the user terminal equipment to the navigation satellite is obtained by recording the time spent by the signal propagation of the navigation satellite to the user terminal equipment and multiplying the time by the speed of light, and the distance is not the true distance between the user terminal equipment and the navigation satellite but the pseudo distance due to the interference of a troposphere, an ionosphere, multipath, a user clock error and the like. The navigation message comprises information such as satellite ephemeris, working conditions, clock correction, ionospheric delay correction, atmospheric refraction correction and the like. When the user terminal equipment receives the navigation message, the satellite navigation signal transmitting time is extracted, the distance between the satellite and the user can be obtained by comparing the satellite navigation signal transmitting time with the signal receiving time represented by the local clock, the position of the satellite transmitting message is calculated by using the satellite ephemeris data in the navigation message, and the user terminal equipment can obtain the information such as the position, the speed and the like in the earth coordinate system.
Referring to fig. 1, the scenario includes a navigation satellite 101 emitting an orbit capable of working normally, a navigation satellite observation station 102, an orbit server 103, a ephemeris server 104, a data exchange center 105, and a user's terminal device 106. The function of each device can be simply stated, wherein a navigation satellite observation station 102 (a GNSS observation station) acquires a navigation message from a navigation satellite 101, extracts a satellite ephemeris from the navigation message, collects a navigation satellite pseudorange and a carrier phase at the same time, and sends the data to an Orbit server 103, the Orbit server 103 calculates through the satellite ephemeris, the navigation satellite pseudorange and the carrier phase to obtain a navigation satellite precise ephemeris and an Earth Orbit Plane (EOP) parameter, and sends the navigation satellite precise ephemeris and the EOP parameter to a ephemeris server 104 (a PGNSS server), the ephemeris server 104 performs parameter fitting on the satellite Orbit and clock difference of the navigation satellite based on the precise ephemeris and EOP parameters, performs long-term prediction on the satellite Orbit based on the fitted satellite Orbit and clock difference parameters (generally 7-28 days), performs segment fitting on the predicted Orbit data by using a polynomial model, to obtain the basis function coefficients, and send the basis function coefficients and the fitted clock difference parameters to the terminal device 105 and store them in the memory of the terminal device 105, the GNSS chip of the terminal device 105 obtains these parameters from the memory, and calculates the time-dependent position and velocity of the terminal device 105 based on the basis of the basis function coefficients, the fitted clock difference parameters, and the navigation satellite pseudoranges and carrier phases obtained by itself.
Compared with the AGNSS and ephemeris extension service scheme in the prior art, the method has the advantages that the polynomial model is adopted for the prediction orbit data in the prediction ephemeris server 104 to perform segmented fitting on the prediction orbit data, in the fitting process, ephemeris fitting errors become larger along with the increase of fitting duration, under the condition that the orbit fitting accuracy is guaranteed, the fitting duration of each segment of the prediction orbit data can be prolonged to 8-12 hours, each set of parameters has the validity period of 8-12 hours, a GNSS chip only needs to update the parameters once within 8-12 hours, in the prior art, the time interval for updating the parameters of the GNSS chip is smaller than 4 hours, and compared with the prior art, the method can enable the GNSS chip to achieve lower parameter updating frequency. According to the embodiment of the application, the process of forecasting the orbit parameter fitting at the server end can be greatly simplified, and the process of calculating the position and the speed of the navigation satellite by the GNSS chip of the terminal device can be simplified, so that the power consumption of the GNSS chip is effectively reduced. In addition, the first positioning time of the terminal equipment is reduced, and the dependence on the network request frequency and the network quality is reduced under the condition of improving the user experience.
Several of the two forms of the prior art are described below.
Fig. 2 shows a scene diagram of determining the position of the terminal device by the standard AGNSS technology, as shown in fig. 2, the GNSS observation station 202 demodulates the broadcast ephemeris parameters from the navigation messages (GNSS signals) in real time and sends them to the AGNSS server 203, and in each positioning initiation process of the terminal device 204 of the user, for example, the terminal device 204 receives an operation of opening a positioning service by the user, and for example, the terminal device 204 receives an operation of opening map software by the user, and acquires the required ephemeris data from the AGNSS server 203 by means of a network request, so as to assist the GNSS chip to achieve fast positioning and speed measurement. The method comprises the following specific steps:
step1, the GNSS observation station 202 acquires GNSS signals in real time or periodically, demodulates the broadcast ephemeris parameters from the GNSS signals, and sends the broadcast ephemeris parameters to the AGNSS server 203;
step2, the AGNSS server 203 receives and stores the broadcast ephemeris parameters of the navigation satellite;
step3, in each positioning process, the terminal device 204 acquires the current broadcast ephemeris parameters from the AGNSS server 203 in a request manner, and calculates the position, the operating speed, the operating state and other parameters of the visible GNSS satellite by the GNSS chip of the terminal device 204 based on the broadcast ephemeris parameters;
step4, the GNSS chip calculates the position and velocity of the terminal device in relation to time based on the GNSS satellite position, velocity and GNSS observation data.
According to the standard AGNSS technology, the terminal equipment of the user needs to acquire the broadcast ephemeris parameters from the AGNSS server in each positioning process, so that higher network connection frequency is needed, and the requirement on network quality is higher. And the position and the speed of the GNSS satellite are frequently solved through the broadcast ephemeris parameters, and the calculation process involves more floating point operations and occupies more resources of a processor. The calculation amount is large, the resolving time is long, and the power consumption of the GNSS chip is high. According to the method, the satellite orbit is forecasted for a long time to obtain the forecast orbit data of 7-28 days, the terminal equipment does not need to frequently obtain the broadcast ephemeris parameters from the server, the dependence on the network is reduced, the polynomial model is adopted to perform segmented fitting on the forecast orbit data, the process of fitting the forecast orbit parameters at the server end is simplified, the process of calculating the position and the speed of the navigation satellite by the GNSS chip of the terminal equipment is simplified, the power consumption of the GNSS chip is effectively reduced, the fitting time can be prolonged to 8-12 hours under the condition that the satellite orbit fitting error is ensured to be within the allowable range, and the GNSS chip can achieve lower parameter updating frequency.
Three aspects of the ephemeris extension service of the prior art are described below in connection with figure 1.
The first scheme comprises the following specific steps:
step1, the GNSS observation station 102 acquires the broadcast ephemeris parameters, the GNSS pseudo-range and the carrier phase observed quantity of the GNSS satellite, and sends the acquired parameters, the GNSS pseudo-range and the carrier phase observed quantity to the orbit server 103;
step2, the orbit server 103 calculates the EOP parameters and the GNSS satellite precise ephemeris based on the broadcast ephemeris parameters, the GNSS pseudo-range and the carrier phase;
step3.pgnss server 104 fits the satellite orbit and clock error parameters based on the EOP parameters and the ephemeris;
step4. the pgnss server 104 makes a long-term prediction (7-28 days) of the satellite orbit based on the satellite orbit parameters fitted in Step3 to obtain predicted orbit parameters;
step5.pgnss server 104 performs a piecewise fit (typically 4 hour set) of the predicted orbit parameters using kepler orbit parameters;
step6. the pgnss server 104 compresses or encodes the fitted predicted orbit parameters and the fitted clock error parameters (collectively referred to as broadcast ephemeris parameters) of Step3, and then sends the parameters to the terminal device;
step7, the terminal device 105 can recover the broadcast ephemeris parameters by decompression or decoding, and a GNSS chip of the terminal device calculates the position and the speed of the visible GNSS satellite based on the predicted orbit parameters;
and step8. the GNSS chip calculates the position and the speed of the GNSS satellite based on the position and the speed of the GNSS satellite, the fitted clock error parameter, the GNSS pseudo range and the carrier phase.
The second scheme comprises the following specific steps:
step1-Step5 are the same as in the first protocol, and specific reference is made to the relevant steps of the first protocol. At Step6, the PGNSS server 104 fits the fitted predicted orbit parameters to a curve along with the time variation, and sends curve coefficients corresponding to the predicted orbit parameters and the clock error parameters fitted at Step3 to the terminal device 105; step7, the terminal device 105 recovers the forecast orbit parameters according to the curve coefficients, and the GNSS chip of the terminal device calculates the position and the speed of the visible GNSS satellite based on the forecast orbit parameters; step8, the GNSS chip calculates its own position and velocity based on the GNSS satellite position, velocity, clock error parameters, and GNSS pseudorange and carrier phase.
The third scheme comprises the following specific steps:
step1-Step3 was identical to the first protocol.
Step4, the PGNSS server 104 directly sends the satellite orbit and clock difference parameters fitted at Step3 to the terminal device 105;
step5, the terminal device 105 performs long-term prediction on the satellite orbit based on the fitted satellite orbit parameters to obtain predicted orbit parameters;
step6, fitting the forecast orbit parameters into Kepler orbit parameters by the terminal equipment 105, and calculating the position and the speed of the visible GNSS satellite by the GNSS chip of the terminal equipment 105 based on the fitted Kepler orbit parameters;
step7, the GNSS chip calculates its own position and velocity based on the GNSS satellite position, velocity, clock error parameters, and GNSS pseudorange and carrier phase.
In the three existing schemes, in each positioning process of the terminal equipment, the GNSS chip needs to calculate the positions and the speeds of all visible GNSS satellites based on kepler orbit parameters, and when the number of visible satellites is large, the risk of large computation amount and overhigh power exists. In addition, in the third scheme, the terminal device of the user needs to autonomously forecast the satellite orbit, and the process is very computationally intensive and is a challenge for the processor of the terminal device of the user. In the application, on the side of the PGNSS server, the server adopts a polynomial model to perform piecewise fitting on the forecast orbit parameters of the navigation satellite, and under the condition of ensuring the fitting precision, the fitting time of each segment can be prolonged by 8-12 hours, which is much longer than 4 hours in the prior art, so that the GNSS chip can realize lower parameter updating frequency. And the prediction orbit is fitted to obtain a basis function coefficient, and the terminal equipment side calculates the position and the speed of the terminal equipment related to time based on the basis of the basis function coefficient.
In the following, a process of determining the position and the speed of the terminal device in the above application scenario is described with a mobile phone as an example of the terminal device.
Fig. 3 shows a schematic structural diagram of a mobile phone. Referring to fig. 3, the mobile phone 100 may include a processor 110, an external memory interface 120, an internal memory 121, a Universal Serial Bus (USB) connector 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, a Subscriber Identity Module (SIM) card interface 195, and the like. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
It is to be understood that the illustrated structure of the embodiment of the present application does not specifically limit the mobile phone 100. In other embodiments of the present application, the handset 100 may include more or fewer components than shown, or some components may be combined, some components may be separated, or a different arrangement of components may be used. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
Processor 110 may include one or more processing units, such as: the processor 110 may include an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc. The different processing units may be separate devices or may be integrated into one or more processors.
In some embodiments, the memory in the processor 110 may store instructions for calculating the position and velocity of the handset 100, so that the processor may retrieve these instructions directly from the memory, enabling fast calculation of the position and velocity of the handset 100.
In some embodiments, processor 110 may include one or more interfaces. The interface may include an integrated circuit (I2C) interface.
The I2C interface may also be coupled to a GNSS chip that may be used to calculate the position and operating speed of the handset 100.
The wireless communication function of the mobile phone 100 can be realized by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, the baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the handset 100 may be used to cover a single or multiple communication bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
In some embodiments, the antenna 1 of the handset 100 is coupled to the mobile communication module 150 and the antenna 2 is coupled to the wireless communication module 160 so that the handset 100 can communicate with networks and other devices through wireless communication techniques. The wireless communication technology may include global system for mobile communications (GSM), General Packet Radio Service (GPRS), code division multiple access (code division multiple access, CDMA), Wideband Code Division Multiple Access (WCDMA), time-division code division multiple access (time-division code division multiple access, TD-SCDMA), Long Term Evolution (LTE), LTE, BT, GNSS, WLAN, NFC, FM, and/or IR technologies, etc. The GNSS may include a Global Positioning System (GPS), a global navigation satellite system (GLONASS), a beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and/or a Satellite Based Augmentation System (SBAS).
In one embodiment, the handset 100 may obtain the basis function coefficients of the polynomial model corresponding to the predicted satellite orbit and the fitted clock error parameters of the navigation satellite from the predicted ephemeris server through antenna 1 and antenna 2. And the pseudorange and carrier phase that the handset 100 can acquire through the antenna 1 and the antenna 2, so that the GNSS chip can calculate the position and velocity of the handset 100 based on these data.
The mobile phone 100 implements the display function through the GPU, the display screen 194, and the application processor. The GPU is a microprocessor for image processing, and is connected to the display screen 194 and an application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
In an embodiment of the present application, the display screen 194 may display the position and the moving speed of the mobile phone 100 in a map form, and may display a map navigation interface, so that a user can more intuitively observe the position of the user and the surrounding road conditions, thereby providing better experience for the user.
The internal memory 121 may be used to store computer-executable program code, which includes instructions. The internal memory 121 may include a program storage area and a data storage area.
In some embodiments of the present application, the internal memory 121 may store data such as the coefficients of the basis functions of the polynomial model, the clock error parameters of the fitted navigation satellites, the pseudoranges and the carrier phases, store the basis functions of the polynomial for participating in the calculations, and computer instructions for processing and calculating these data, by which the GNSS chip may process these data and calculate the position and velocity of the handset 100.
The mobile phone 100 can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor. Such as music playing, recording, etc.
The speaker 170A, also called a "horn", is used to convert the audio electrical signal into an acoustic signal. The cellular phone 100 can listen to music through the speaker 170A or listen to a hands-free call.
In an embodiment of the application, the navigation broadcasting can be performed through the speaker 170A, so that the user can directly hear the position where the user is located without watching the interface of the mobile phone 100, and when the user is driving or is not convenient to watch the mobile phone, the current position where the user is located and the road condition information are informed in the mode of broadcasting the broadcasting through the speaker 170A, so that the driving is safer, and the user experience is improved.
The software system of the mobile phone 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application exemplifies a software structure of the mobile phone 100 by taking an Android system with a layered architecture as an example.
Fig. 4 is a block diagram of a server 1200 according to an embodiment of the present application.
Referring now to FIG. 4, a server 1200 may include one or more processors 1201 coupled to a controller hub 1203. For at least one embodiment, the controller hub 1203 communicates with the processor 1201 via a multi-drop Bus such as a Front Side Bus (FSB), a point-to-point interface such as a Quick Path Interconnect (QPI), or similar connection 1206. The processor 1201 executes instructions that control general types of data processing operations. In one embodiment, Controller Hub 1203 includes, but is not limited to, a Graphics Memory Controller Hub (GMCH) (not shown) and an Input/Output Hub (IOH) (which may be on separate chips) (not shown), where the GMCH includes a Memory and a Graphics Controller and is coupled to the IOH.
In an embodiment of the present application, the processor 1201 may be coupled to a GNSS chip, and the GNSS chip of the server 1200 fits satellite orbits and clock error parameters of navigation satellites based on ephemeris and EOP parameters, performs long-term prediction (generally 7 to 28 days) on the satellite orbits based on the fitted satellite orbits and clock error parameters, and performs piecewise fitting on predicted orbit data by using a polynomial model to obtain a basis function coefficient.
The device 1200 may also include a coprocessor 1202 and a memory 1204 coupled to the controller hub 1203. Alternatively, one or both of the memory and GMCH may be integrated within the processor (as described herein), with the memory 1204 and coprocessor 1202 being directly coupled to the processor 1201 and to the controller hub 1203, with the controller hub 1203 and IOH being in a single chip. The Memory 1204 may be, for example, a Dynamic Random Access Memory (DRAM), a Phase Change Memory (PCM), or a combination of the two. In one embodiment, coprocessor 1202 is a special-Purpose processor, such as, for example, a high-throughput MIC processor (MIC), a network or communication processor, compression engine, graphics processor, General Purpose Graphics Processor (GPGPU), embedded processor, or the like. The optional nature of coprocessor 1202 is represented in FIG. 4 by dashed lines.
Memory 1204, as a computer-readable storage medium, may include one or more tangible, non-transitory computer-readable media for storing data and/or instructions. For example, the memory 1204 may include any suitable non-volatile memory, such as flash memory, and/or any suitable non-volatile storage device, such as one or more Hard-Disk drives (Hard-Disk drives, hdd (s)), one or more Compact Discs (CD) drives, and/or one or more Digital Versatile Discs (DVD) drives.
In one embodiment of the present application, the memory 1204 may be configured to store data such as ephemeris and EOP parameters, and instructions for calculating the position and velocity of the navigation satellite, and the processor 1201 may be configured to retrieve the instructions and data, execute the instructions and data by the GNSS chip, and calculate the position and velocity of the navigation satellite. Meanwhile, the memory can also store the data of the position, the speed and the like of the navigation satellite calculated by the GNSS chip.
In one embodiment, the server 1200 may further include a Network Interface Controller (NIC) 1206. Network interface 1206 may include a transceiver to provide a radio interface for server 1200 to communicate with any other suitable device (e.g., front end module, antenna, etc.). In various embodiments, the network interface 1206 may be integrated with other components of the server 1200. The network interface 1206 may implement the functions of the communication unit in the above-described embodiments.
In one embodiment of the application, the transceiver in the network interface 1206 may receive the navigation satellite ephemeris and EOP parameters calculated from the broadcast ephemeris parameters, the navigation satellite pseudoranges, and the carrier phase and store the received navigation satellite ephemeris and EOP parameters in the memory 1204 for further processing by the processor 1201. And sending the basis function coefficient corresponding to the predicted satellite orbit and the fitted clock error parameter obtained after the processing by the processor 1201 to the terminal equipment of the user, so that the GNSS chip of the terminal of the user can further calculate the position and the speed of the GNSS chip through the data.
It is noted that fig. 4 is merely exemplary. That is, although fig. 4 shows that the server 1200 includes a plurality of devices, such as the processor 1201, the controller hub 1203, the memory 1204, etc., in practical applications, an apparatus using the methods of the present application may include only a part of the devices of the server 1200, for example, only the processor 1201 and the NIC206 may be included. The nature of the optional device in fig. 4 is shown in dashed lines.
The process of determining the position and velocity of a terminal device using navigation satellites is described below in a specific embodiment according to some embodiments of the application. Wherein fig. 5 shows a flow chart for determining the position and velocity of the terminal device.
Referring to fig. 5, in step S500, a GNSS observation station obtains a navigation message including data of broadcast ephemeris parameters, GNSS pseudoranges, and carrier phase observations, and sends the navigation message to an orbit server. The GNSS observation station demodulates the broadcast ephemeris parameters from the navigation signals from the navigation satellites and collects GNSS pseudoranges and carrier phase observations, and transmits these data to the orbit server.
In step S510, the orbit server calculates EOP parameters and ephemeris for the navigation satellites based on the broadcast ephemeris parameters, GNSS pseudoranges and carrier phase data transmitted in step S500. The EOP parameter calculation may be calculated based on a GNSS pseudorange and a carrier phase, for example, after the GNSS pseudorange and carrier phase observed quantity are obtained by an orbit server, the EOP initial value is given based on the GNSS pseudorange and carrier phase observed quantity, the position of the ground GNSS observation station is converted into an inertial system, a least square batch processing algorithm is adopted, and a satellite dynamics model is combined, so that a precise ephemeris of a navigation satellite and an EOP parameter correction number can be solved, and a precise EOP parameter can be obtained based on the EOP correction number. The orbit server sends the EOP parameters and the ephemeris to the PGNSS server, so that the PGNSS server executes the following steps.
In step S520, the PGNSS server fits the satellite orbit and clock error parameters based on the EOP parameters and the ephemeris. The fitting of the clock difference parameters can adopt a primary term model and a secondary term model to model the satellite clock difference, and fit primary term or secondary term coefficients based on a least square algorithm, so as to realize the fitting of the clock difference parameters. The fitting of the satellite orbit parameters and the clock error parameters can be done in one embodiment of the application by the following method.
First, the satellite positions are converted to the inertial frame based on the EOP parameters, fitting the navigation satellite orbits.
The process of fitting the orbits of the navigation satellites is described below with reference to fig. 6, where fig. 6 shows a trajectory diagram of the process of fitting the orbits of the navigation satellites, and in fig. 6, includes a predicted satellite orbit 1, a predicted satellite orbit 2, and a predicted satellite orbit 3, where the circular points represent the ephemeris data and the square points represent the positions of the navigation satellites at the selected reference time. Selecting a proper light pressure model, such as a ROCK model, an ECOM model, a GSPM model and the like, initializing light pressure parameters, forecasting the satellite orbit forwards and backwards according to the initialized light pressure parameters and the initial orbit value, wherein the forecasted satellite orbit can be as forecasted satellite orbit 1 in fig. 5, and an obvious orbit residual exists between the forecasted satellite orbit 1 and a precise ephemeris due to the error of the initialized parameters, correcting the initial satellite orbit value and the light pressure parameters according to the orbit residual can be completed, forecasting the satellite orbit again by using the corrected initial orbit value and the light pressure parameters can obtain a forecasted satellite orbit 2, and continuously correcting the initial orbit value and the light pressure parameters by using the residual of the forecasted satellite orbit 2 until the residual of the satellite orbit is less than a threshold value to obtain a forecasted satellite orbit 3, thereby completing the satellite orbit fitting.
In the present application, the specific fitting algorithm of the clock error parameter and the satellite orbit parameter may adopt a least square method for fitting. The specific fitting algorithm of the clock error parameter and the satellite orbit parameter in this step can adopt the existing common fitting algorithm, and is not described in detail here.
At step S530, the PGNSS server determines predicted orbit data based on the fitted satellite orbit parameters. Based on satellite orbit parameters, the PGNSS server can model the satellite acceleration, obtains a forecast value of the satellite motion speed by integrating the navigation satellite acceleration in the forecasting process, and obtains a navigation satellite position forecast value by integrating the speed forecast value again. To obtain the position and velocity of the navigation satellite at each time point, i.e. the predicted orbit data, in a period of 7-28 days or more in the future.
In step S540, the PGNSS server performs piecewise fitting on the predicted orbit data through the polynomial model to determine a basis function coefficient of the polynomial model corresponding to each segment of the predicted orbit data. The polynomial model is composed of a basis function and a coefficient corresponding to the basis function, and can be a first class Chebyshev polynomial or a second class first class Chebyshev polynomial.
According to embodiments of the present application, instead of fitting the predicted orbit data using chebyshev polynomials, other general polynomials may be used.
In step S550, the server sends the basis function coefficient obtained in step S540 and the clock offset parameter fitted in step S520 to the terminal device, and the terminal device prestores the basis function coefficient and the clock offset parameter in a local memory.
In step S560, the GNSS chip of the terminal device periodically obtains the current required basis function coefficients and clock offset parameters from the memory by means of data request. That is, when the terminal device receives the basis function coefficients and the clock difference parameters and stores the parameters in the memory, when the GNSS chip calculates, since the validity period of each set of parameters is 8 to 12 hours, the GNSS chip only needs to update the parameters once in 8 to 12 hours, whereas in the prior art, the parameter update interval of the GNSS chip is less than 4 hours. Step S570, in the process of initiating positioning by the terminal device, the GNSS chip of the terminal device calculates the position and velocity of the navigation satellite at the time t1 when the navigation satellite transmits a signal, based on the basis of the basis function coefficient and the basis function.
In step S580, the GNSS chip of the terminal device calculates the position and velocity of the terminal device at the time t2 according to the position and velocity at the time t1 when the navigation satellite transmits the signal, the fitted clock error parameter, and the navigation satellite pseudo range and the carrier phase acquired by the terminal device.
In step S590, the terminal device displays its own position and speed through the display screen or broadcasts its own position and speed in a voice broadcast manner, so as to improve the user experience.
The process of piecewise fitting the forecast orbit data by the polynomial model by the PGNSS server in step S540 is further described in more detail below by taking the first kind of chebyshev polynomial as an example.
The first class of chebyshev polynomials has the basis functions:
T0(x)=1
T1(x)=x
Tn(x)=2xTn-1(x)-Tn-2(x)
it can also be represented by a mother function:
where n represents the order of the basis function. The position of the navigation satellite over a period of time t may be expressed as:
wherein x (t), y (t), z (t) respectively represent the three-dimensional position of the satellite, and a represents the coefficients of the basis function. The GNSS server segments the predicted orbit data according to a set fitting duration, where the fitting duration may be within 12 hours, and in the embodiment of the present application, the fitting duration may be set to be between 8 and 12 hours, for example, the duration corresponding to the predicted orbit data is 7 days, and 24 hours a day, if the fitting duration is set to be 8 hours, the predicted orbit data in one day may be divided into 3 segments, and the orbit data in 7 days may be divided into 21 segments. Further, the position and velocity of the navigation satellites may be acquired at equal intervals in each segment, for example, at 5 minute intervals, etc. When a proper order n is selected, fitting is carried out on each section of satellite orbit data, a group of basis function coefficients corresponding to the polynomial can be obtained through the fitted satellite orbit, and since the basis functions of each section are the same and the basis function coefficients corresponding to each section of basis function are different, the fitted forecast orbit data can be represented through the basis function coefficients.
In the embodiment of the present application, in order to standardize the satellite orbit fitting process based on chebyshev polynomials, the time interval needs to be converted into the range of [ -1,1] first, the conversion formula is:
where t0 represents the start time and Δ t represents the fitting time interval.
In the fitting process, polynomials of different orders are respectively considered, and the least square algorithm is adopted to fit the coefficients of the basis functions. Compared with the broadcast ephemeris parameter model, the chebyshev polynomial based model is a linear model, so the calculation method of the state transition matrix is relatively simple, namely:
wherein n represents the order number of the Chebyshev polynomial, and m represents the number of sampling points.
In addition, in the fitting process, only the three-dimensional position of the navigation satellite is fitted, and the three-dimensional speed of the navigation satellite can be obtained by deriving a position polynomial.
Step S570 is described below in conjunction with step S540.
In step S570, when the position of the navigation satellite at time t1 needs to be calculated, the GNSS chip of the terminal device obtains the basis function coefficient corresponding to the predicted orbit data at time t1 from the memory, and the GNSS chip substitutes the basis function coefficient into the formula for calculating the three-dimensional position, thereby obtaining the three-dimensional position of the navigation satellite. The velocity of the navigation satellite corresponding to the time t1 is obtained by deriving the polynomial corresponding to the time t 1.
For example, in each positioning process, the GNSS chip of the terminal device may calculate the position of the GNSS satellite based on the basis function and the basis function coefficient corresponding thereto, and may calculate the velocity of the GNSS satellite by using the same basis function coefficient and the same basis function derivative, where the basis function derivative is:
F0(x)=0
F1(x)=1
Fn(x)=2Tn-1(x)+2xFn-1(x)-Fn-2(x)
the process of calculating the GNSS satellite speed comprises the following steps:
wherein vx (t), vy (t), vz (t) represent the three-dimensional velocity of the navigation satellite at time t, respectively.
In the application, when the order n of the basis function is 18, under the condition of ensuring the satellite orbit accuracy, the validity period of each section of the satellite orbit prediction parameter can be as long as 12 hours, and compared with the existing GPS system which adopts 4 hours for segment fitting, the satellite orbit prediction parameter validity period is longer, so that a GNSS chip can realize lower parameter updating frequency.
The following compares the 12 hour fit residuals using the polynomial model as per the application with the 4 hour fit residuals of the prior art using 18 parameter broadcast ephemeris. As shown in table 1 below:
TABLE 1
Data accuracy
|
Error in R direction/m
|
Error in T direction/m
|
N directional error/m20 |
Polynomial fitting error
|
0.039
|
0.036
|
0.045
|
Broadcast ephemeris fitting error
|
0.052
|
0.052
|
0.020 |
As can be seen from table 1, the fitting error of the piecewise fitting of the predicted orbit parameter in 12 hours in the present application is equivalent to the fitting error of the piecewise fitting of the predicted orbit parameter in 4 hours in the prior art, and both the errors can satisfy the requirements for the fitting error. Thus, the present application may extend the forecast orbit fitting duration to 12 hours. And the fitting accuracy of the satellite orbit can be ensured.
Meanwhile, the position and the speed of the GNSS satellite can be rapidly calculated by adopting a fitting mode of a polynomial model, a fitting algorithm is carried out on the position of each GNSS satellite by adopting a 16-parameter or 18-parameter broadcast ephemeris model in the prior art, the process of calculating the position and the speed of the navigation satellite involves many complex floating point operations, more resources of a processor are occupied, frequent fitting is realized, the operation amount is large, the operation time is long, and therefore the power consumption of a GNSS chip is high. Therefore, compared with the prior art, the method and the device have the advantages that the process of forecasting the orbit parameter fitting by the server side is greatly simplified, and the process of calculating the position and the speed of the navigation satellite by the GNSS chip of the client terminal device is simplified, so that the power consumption of the GNSS chip is effectively reduced, the fitting time can be prolonged to 8-12 hours under the condition that the satellite orbit fitting error is ensured to be within the allowable range, and the GNSS chip can realize lower parameter updating frequency. In addition, the first positioning time of the terminal equipment is reduced, and the dependence on the network request frequency and the network quality is reduced under the condition of improving the user experience.
The present application further provides a server, which is applied to the positioning system shown in fig. 1, wherein in the server 104, a predicted orbit data fitting method based on a polynomial model, which is different from the prior art, is adopted, so that the process of fitting the predicted orbit data at the server end is greatly simplified, and the process of calculating the position and the speed of the GNSS satellite by the GNSS chip is also greatly simplified.
According to an embodiment of the present application, the present application further discloses a method for determining a position and a velocity of a terminal device by using a navigation satellite, which is applied to the terminal device, and the method comprises:
the terminal equipment acquires clock error parameters sent by the server, basis function coefficients of a polynomial model corresponding to the predicted orbit data, and navigation satellite pseudo-range and carrier phase;
the GNSS chip of the terminal equipment determines the position and the speed of a navigation satellite based on the basis function and the basis function coefficient of the polynomial model;
the GNSS chip of the terminal equipment determines the position and the speed of the GNSS chip based on the position and the speed of the navigation satellite, the clock error parameter, the pseudo range of the navigation satellite and the carrier phase.
In one embodiment of the application, the polynomial model is a chebyshev polynomial.
Since the terminal device in the present application uses the navigation satellite to determine its own position and speed, the detailed description in the above embodiments may specifically refer to steps S560 to S580 in the above method, which is not described herein again.
According to an embodiment of the present application, the present application further discloses a method for determining a position and a velocity of a terminal device by using a navigation satellite, applied to a server, including:
the server fits the satellite orbit and the clock error parameters based on the EOP parameters and the precise ephemeris of the navigation satellite to obtain the fitted satellite orbit and the fitted clock error parameters;
the server determines the position of the navigation satellite corresponding to each time point in the first time period based on the fitted satellite orbit parameters so as to obtain forecast orbit data;
the server segments the predicted orbit data according to a second time period to obtain a plurality of segments of predicted orbit data, fits each segment of predicted orbit data in the plurality of segments of predicted orbit data through a polynomial model, and determines a basis function coefficient of the polynomial model corresponding to each segment of predicted orbit data, wherein the second time period is less than the first time period;
the server outputs the base function coefficient and the clock difference parameter, and the base function coefficient and the clock difference parameter are used for determining the position and the speed of the terminal device related to the time by the terminal device in communication connection with the server.
In one embodiment of the present application, the method further comprises: and the server obtains and calculates the EOP parameters and the precise ephemeris of the navigation satellite based on the broadcast ephemeris parameters, the navigation satellite pseudo-range and the carrier phase.
In one embodiment of the application, the polynomial model is a chebyshev polynomial.
In one embodiment of the present application, the server determines basis function coefficients of a polynomial model corresponding to each segment of the predicted orbit data, including: the server collects the positions of the navigation satellites in the forecast orbit data at equal intervals in each section of the forecast orbit data by taking a third time interval as an interval, wherein the third time interval is smaller than the second time interval;
and setting the order of the basis function, and fitting the position of the navigation satellite in each piece of acquired forecast orbit data based on the basis of the basis function to determine a basis function coefficient corresponding to each piece of forecast orbit data.
In one embodiment of the present application, the second period is divided by the third period.
In one embodiment of the application, a least squares algorithm is used to fit the positions of the navigation satellites in the predicted orbit data.
Since the terminal device in the present application uses the navigation satellite to determine its own position and speed, the detailed description in the above embodiment may specifically refer to steps S520 to S550 in the above method, which is not described herein again.
The present application also discloses an electronic device, fig. 7 shows a schematic structural diagram of the electronic device, and as shown in fig. 7, the electronic device includes:
a memory 701 for storing instructions for execution by one or more processors of the device, an
A processor 702 for executing the method of the above steps S520-S580.
The present application also discloses an electronic device comprising one or more memories, one or more processors coupled to the memories, and one or more programs, wherein the one or more programs are stored in the memories, the electronic device being configured to perform the methods of steps S560-S580 above.
In one embodiment of the present application, the electronic device is a mobile phone, and a system in which the electronic device is located is the mobile phone; or the electronic device is a chip, and the system where the electronic device is located is the mobile terminal where the chip is located.
The application also discloses an electronic device comprising one or more memories, one or more processors coupled with the memories, and one or more programs, wherein the one or more programs are stored in the memories, and the electronic device is used for executing the method of steps S520-S550 in the above embodiment.
In one embodiment of the present application, the electronic device is a server, and a system in which the electronic device is located is the server; or the electronic device is a chip, and the system where the electronic device is located is a server where the chip is located.
The present application further discloses a computer program product comprising instructions for causing a processor to perform the method of steps S520-S550 in the above embodiments, when the computer program product is run on an electronic device.
The present application further provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the processor is enabled to execute the method of steps S520 to S550 in the above embodiment.
Referring now to fig. 8, shown is a block diagram of a SoC (System on Chip) 1300 in accordance with an embodiment of the present application. In fig. 8, like parts have the same reference numerals. In addition, the dashed box is an optional feature of more advanced socs. In fig. 8, the SoC1300 includes: an interconnect unit 1350 coupled to the application processor 1310; a system agent unit 1380; a bus controller unit 1390; an integrated memory controller unit 1340; a set or one or more coprocessors 1320 which may include integrated graphics logic, an image processor, an audio processor, and a video processor; a Static Random Access Memory (SRAM) unit 1330; a Direct Memory Access (DMA) unit 1360. In one embodiment, the coprocessor 1320 includes a special-purpose processor, such as, for example, a network or communication processor, compression engine, GPGPU, a high-throughput MIC processor, embedded processor, or the like.
Included in Static Random Access Memory (SRAM) unit 1330 may be one or more computer-readable media for storing data and/or instructions. A computer-readable storage medium may have stored therein instructions, in particular, temporary and permanent copies of the instructions. The instructions may include: when executed by at least one unit in the processor, the Soc1300 is enabled to execute the method for determining the position and the velocity of the terminal device by using the navigation satellite according to the present application, which is described in conjunction with fig. 5 to 6, and specifically refer to the method in the foregoing embodiment, which is not described herein again.
Embodiments of the mechanisms disclosed herein may be implemented in hardware, software, firmware, or a combination of these implementations. Embodiments of the application may be implemented as computer programs or program code executing on programmable systems comprising at least one processor, a storage system (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device.
Program code may be applied to input instructions to perform the functions described herein and generate output information. The output information may be applied to one or more output devices in a known manner. For purposes of this Application, a processing system includes any system having a Processor such as, for example, a Digital Signal Processor (DSP), a microcontroller, an Application Specific Integrated Circuit (ASIC), or a microprocessor.
The program code may be implemented in a high level procedural or object oriented programming language to communicate with a processing system. The program code can also be implemented in assembly or machine language, if desired. Indeed, the mechanisms described in this application are not limited in scope to any particular programming language. In any case, the language may be a compiled or interpreted language.
In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried by or stored on one or more transitory or non-transitory machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, the instructions may be distributed via a network or via other computer readable media. Thus, a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer), including, but not limited to, floppy diskettes, optical disks, Compact disk Read Only memories (CD-ROMs), magneto-optical disks, Read Only Memories (ROMs), Random Access Memories (RAMs), Erasable Programmable Read Only Memories (EPROMs), Electrically Erasable Programmable Read Only Memories (EEPROMs), magnetic or optical cards, flash Memory, or a tangible machine-readable Memory for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in electrical, optical, acoustical or other forms of propagated signals. Thus, a machine-readable medium includes any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a form readable by a machine (e.g., a computer).
In the drawings, some features of the structures or methods may be shown in a particular arrangement and/or order. However, it is to be understood that such specific arrangement and/or ordering may not be required. Rather, in some embodiments, the features may be arranged in a manner and/or order different from that shown in the figures. In addition, the inclusion of a structural or methodical feature in a particular figure is not meant to imply that such feature is required in all embodiments, and in some embodiments, may not be included or may be combined with other features.
It should be noted that, in the embodiments of the apparatuses in the present application, each unit/module is a logical unit/module, and physically, one logical unit/module may be one physical unit/module, or may be a part of one physical unit/module, and may also be implemented by a combination of multiple physical units/modules, where the physical implementation manner of the logical unit/module itself is not the most important, and the combination of the functions implemented by the logical unit/module is the key to solve the technical problem provided by the present application. Furthermore, in order to highlight the innovative part of the present application, the above-mentioned device embodiments of the present application do not introduce units/modules which are not so closely related to solve the technical problems presented in the present application, which does not indicate that no other units/modules exist in the above-mentioned device embodiments.
It is noted that, in the examples and descriptions of this patent, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the use of the verb "comprise a" to define an element does not exclude the presence of another, same element in a process, method, article, or apparatus that comprises the element.
While the present application has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present application.