A positioning method and related device
Through permission control and independent reporting channel design, ordinary and high-precision positioning services are provided for intelligent devices, solving the problem of safe output of high-precision positioning results between different countries or regions, and achieving secure isolation and authorized access to high-precision positioning results.
Patent Information
- Application Number
- CN202110131917.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-10-22
- Filing Date
- 2021-01-30
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2041-01-30
AI Technical Summary
The prior art cannot effectively solve the problem of safe output of high-precision positioning results of smart devices between different countries or regions, resulting in unauthorized applications that may illegally obtain and utilize high-precision positioning information.
Through permission control and independent reporting channel design, two services are provided for upper-level applications: ordinary positioning and high-precision positioning. Ordinary applications obtain 3m to 5m precision positioning results through ordinary channels. High-precision applications obtain encrypted positioning results with an accuracy of less than 1m through the encryption channel after authentication is passed.
It improves the security of output of high-precision positioning results, meets the security requirements of different countries or regions, and ensures that high-precision positioning results are only obtained by authorized applications.
Smart Images

Figure CN114384567B_ABST
Abstract
Description
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on October 22, 2020, with application number 202011141757.4 and application name “Method, terminal, chip and system based on application positioning”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of positioning technology, and in particular to a positioning method and related devices. Background Art
[0003] In electronic devices represented by smartphones, location-based service (LBS) has become an indispensable basic service in order to obtain accurate user location.
[0004] At present, electronic devices such as smartphones all use global navigation satellite system (GNSS) positioning technology. For example, single-point positioning based on pseudo-range measurement can generally achieve an accuracy of meters (such as 3 to 5 meters), meeting basic positioning and navigation needs such as road-level navigation. This is called general positioning service.
[0005] In order to further improve GNSS positioning accuracy, it is necessary to introduce auxiliary data from third-party base stations to correct GNSS ephemeris errors, atmospheric errors, etc. Typical positioning technologies include differential global navigation satellite system (DGNSS) and real-time kinematic (RTK) technology based on differential positioning, and precise point positioning (PPP) technology based on error correction. Among them, RTK technology and PPP technology both use carrier phase for ranging, and the positioning accuracy can reach sub-meter (<1m) or even centimeter level. They can accurately identify the lane information of the vehicle, thus meeting the needs of lane-level navigation, which is called high-precision positioning service.
[0006] To ensure national security, many countries or regions do not allow ordinary unauthorized devices (such as mobile phones and other consumer electronic devices) to directly output high-precision positioning results to prevent them from being illegally obtained and used by unauthorized applications. Summary of the Invention
[0007] This application provides a positioning method and related apparatus that, through permission control and independent reporting channel design, provides both standard and high-precision positioning services to upper-layer applications. This ensures that the channels used by standard applications to obtain positioning results are isolated from those used by high-precision applications. This improves the security of the output of high-precision positioning results and meets the security requirements of different countries or regions.
[0008] In a first aspect, the present application provides a positioning method, including: an electronic device obtains a first positioning instruction of a first application; in response to the first positioning instruction, the electronic device calculates high-precision positioning coordinates in a first coordinate system; the electronic device adds a deflection factor to the high-precision positioning coordinates, and encrypts them using a preset encryption algorithm to obtain encrypted deflected coordinates; the electronic device reports the encrypted deflected coordinates to the first application.
[0009] The application provides a positioning method, and electronic devices can provide both ordinary positioning and high-precision positioning services to upper-layer applications through permission control and independent reporting channel design. For ordinary applications, electronic devices can report ordinary accuracy (for example, a typical accuracy value is 3m to 5m) positioning results to the ordinary application through an ordinary reporting channel. For high-precision applications, electronic devices can encrypt and report high-precision (for example, a typical accuracy value is less than 1m) positioning results to the high-precision application through a high-precision reporting channel after determining that the high-precision application has passed authentication. In this way, it is ensured that the channels for ordinary applications to obtain positioning results and the channels for high-precision applications to obtain positioning results are isolated from each other. The security of the output of high-precision positioning results is improved, meeting the security requirements of different countries or regions.
[0010] In one possible implementation, the electronic device calculates the high-precision positioning coordinates in the first coordinate system, specifically including: the electronic device obtains first GNSS observation data through a global satellite navigation system GNSS chip; the electronic device obtains positioning assistance data; the electronic device calculates the high-precision positioning coordinates in the first coordinate system based on the first GNSS observation data and the positioning assistance data.
[0011] In one possible implementation, the electronic device adds a deflection factor to the high-precision positioning coordinates, and encrypts it through a preset encryption algorithm to obtain encrypted deflection coordinates, specifically including: the electronic device adds a deflection factor to the high-precision positioning coordinates to obtain high-precision deflection coordinates in a second coordinate system; the electronic device encrypts the high-precision deflection coordinates through a preset encryption algorithm to obtain the encrypted deflection coordinates.
[0012] The first coordinate system may be the World Geodetic System WGS84 coordinate system, and the second coordinate system may be the National Bureau of Surveying and Mapping GCJ02 coordinate system. The preset encryption algorithm may include: SM4 national encryption algorithm.
[0013] In one possible implementation, the method further includes: the electronic device obtaining a second positioning instruction of the second application; in response to the second positioning instruction, the electronic device calculating the normal positioning coordinates in the first coordinate system; and the electronic device reporting the normal positioning coordinates to the second application.
[0014] In one possible implementation, the electronic device calculates the common positioning coordinates in the first coordinate system, specifically including: the electronic device obtains second GNSS observation data through the GNSS chip; and the electronic device calculates the common positioning coordinates in the first coordinate system based on the second GNSS observation data.
[0015] In one possible implementation, the electronic device includes a high-precision positioning engine and a general positioning engine; the electronic device calculates the high-precision positioning coordinates in the first coordinate system, specifically including: the electronic device calculates the high-precision positioning coordinates in the first coordinate system through the high-precision positioning engine; the electronic device calculates the general positioning coordinates in the first coordinate system, specifically including: the electronic device calculates the general positioning coordinates in the first coordinate system through the general positioning engine.
[0016] In this way, ordinary positioning results and high-precision positioning results are independently calculated through different positioning engines, and coordinate conversion and encryption are performed during the reporting of high-precision results, which fully ensures the security of high-precision result output.
[0017] In one possible implementation, the electronic device includes a positioning engine, which includes a high-precision positioning function and a general positioning function; the electronic device calculates the high-precision positioning coordinates in the first coordinate system, specifically including: the electronic device turns on the high-precision positioning function of the positioning engine, and calculates the high-precision positioning coordinates in the first coordinate system through the positioning engine; the method also includes: the electronic device obtains a second positioning instruction of a second application; when the difference between the time of obtaining the first positioning instruction and the time of obtaining the second positioning instruction is less than a preset time, the electronic device adds a random error to the high-precision positioning coordinates to obtain general positioning coordinates, and the accuracy value of the general positioning coordinates is greater than the accuracy value of the high-precision positioning coordinates; the electronic device reports the general positioning coordinates to the second application.
[0018] In one possible implementation, the method further includes: when the difference between the time when the first positioning instruction is obtained and the time when the second positioning instruction is obtained is greater than or equal to the preset time, the electronic device turns on the normal positioning function of the positioning engine and obtains the second GNSS observation data through the GNSS chip; the electronic device calculates the normal positioning coordinates based on the second observation data through the positioning engine.
[0019] In this way, a single positioning engine calculates both standard and high-precision positioning results in a time-sharing manner, and performs coordinate conversion and encryption on the high-precision positioning results before reporting them to the high-precision application. When receiving positioning instructions from both standard and high-precision applications, the high-precision positioning result can be calculated first. Coordinate conversion and encryption are then performed on the high-precision positioning result before reporting it to the high-precision application. Furthermore, random errors are added to the high-precision positioning result before it is reported to the standard application. This fully ensures the security of the high-precision result output.
[0020] In one possible implementation, when the electronic device calculates the high-precision positioning coordinates in the first coordinate system through the positioning engine, the method further includes: the electronic device determining a positioning accuracy value of the high-precision positioning coordinates. The method further includes: when the difference between the time when the first positioning instruction is obtained and the time when the second positioning instruction is obtained is less than the preset time, and the positioning accuracy value of the high-precision positioning coordinates is less than the preset accuracy value, the electronic device adds a random error to the high-precision positioning coordinates to obtain ordinary positioning coordinates, and the accuracy value of the ordinary positioning coordinates is greater than the accuracy value of the high-precision positioning coordinates; when the difference between the time when the first positioning instruction is obtained and the time when the second positioning instruction is obtained is less than the preset time, and the positioning accuracy value of the high-precision positioning coordinates is greater than or equal to the preset accuracy value, the electronic device determines the high-precision positioning coordinates as the ordinary positioning coordinates.
[0021] In this way, when the calculated high-precision positioning result is not accurate, it can be directly reported to the general application, reducing the time for reporting the positioning result.
[0022] In one possible implementation, the first GNSS observation data includes one or more of pseudorange observations and Doppler frequency observations, as well as carrier phase observations. Before the electronic device obtains positioning assistance data, the method further includes: the electronic device calculating a probabilistic position based on the first GNSS observation data; and the electronic device sending the probabilistic position to a server. The electronic device obtaining positioning assistance data specifically includes: the electronic device obtaining the positioning assistance data determined by the server based on the probabilistic position and observation data and position information when N reference stations observe satellites, the positioning assistance data including observation data and position information of the reference stations, where N is a positive integer. The electronic device calculating high-precision positioning coordinates in the first coordinate system based on the first GNSS observation data and the positioning assistance data specifically includes: the electronic device calculating the high-precision positioning coordinates in the first coordinate system using a real-time kinematic (RTK) positioning method based on the first GNSS observation data and the positioning assistance data.
[0023] In this way, high-precision positioning can be achieved based on RTK technology.
[0024] In one possible implementation, the first GNSS observation data includes one or more of pseudorange observations and Doppler frequency observations, as well as carrier phase observations. The electronic device acquires positioning assistance data, specifically including: the electronic device receives the positioning assistance data broadcast by a mobile communication base station or satellite, the positioning assistance data including one or more of precise ephemeris or ephemeris correction data and atmospheric corrections. The electronic device calculates high-precision positioning coordinates in a first coordinate system based on the first GNSS observation data and the positioning assistance data, specifically including: the electronic device calculates the high-precision positioning coordinates in the first coordinate system using a precise single-point PPP positioning method based on the first GNSS observation data and the positioning assistance data.
[0025] In this way, high-precision positioning can be achieved based on PPP technology.
[0026] In a possible implementation, the second GNSS observation data includes one or more of pseudorange observations and Doppler frequency observations.
[0027] In one possible implementation, after the electronic device obtains the first positioning instruction, the method further includes: the electronic device may obtain inertial measurement data through an inertial measurement unit, the inertial measurement data including acceleration sensor data and gyroscope sensor data of the electronic device. The electronic device calculates high-precision positioning coordinates in the first coordinate system based on the first GNSS observation data and the positioning assistance data, specifically including: the electronic device performing inertial navigation based on the first GNSS observation data and the positioning assistance data, as well as the inertial measurement data, to calculate the high-precision positioning coordinates in the first coordinate system.
[0028] In this way, inertial navigation technology can be combined to increase the accuracy of high-precision positioning results.
[0029] In one possible implementation, after the electronic device obtains the second positioning instruction, the method further includes: the electronic device may obtain inertial measurement data through an inertial measurement unit, the inertial measurement data including acceleration sensor data and gyroscope sensor data of the electronic device. The electronic device calculates, based on the second GNSS observation data, common positioning coordinates in the first coordinate system, specifically including: the electronic device performing inertial navigation based on the second GNSS observation data and the inertial measurement data to calculate the common positioning coordinates in the first coordinate system.
[0030] In this way, inertial navigation technology can be combined to increase the accuracy of ordinary positioning results.
[0031] In one possible implementation, after the electronic device reports the encrypted deflected coordinates to the first application, the method further includes: the electronic device decrypting the encrypted deflected coordinates using a decryption key corresponding to the preset encryption algorithm in the first application to obtain the high-precision deflected coordinates. The electronic device performs lane-level navigation using the map resource package provided by the first application and the high-precision deflected coordinates.
[0032] In a possible implementation, the electronic device obtains the first GNSS observation data through the GNSS chip, specifically including: the electronic device authenticates the first application, and when the authentication of the first application is successful, the electronic device obtains the first GNSS observation data through the GNSS chip.
[0033] In this way, before performing high-precision positioning, the first application can be authenticated to ensure that the first application is an application that can be authorized to use the high-precision positioning results.
[0034] In one possible implementation, the electronic device authenticates the first application, specifically including: the electronic device sends an authentication request to an authentication server, where the authentication request includes an identifier of the first application; when the electronic device receives authentication success information sent by the authentication server, the electronic device successfully authenticates the first application.
[0035] In one possible implementation, the electronic device authenticates the first application, specifically including: the electronic device determines whether the high-precision application whitelist includes the identifier of the first application; if so, the electronic device successfully authenticates the first application, wherein the high-precision application whitelist includes the identifiers of one or more high-precision applications.
[0036] In a second aspect, the present application provides an electronic device comprising: one or more processors, a GNSS chip, and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, and the computer program code includes computer instructions. When the one or more processors execute the computer instructions, the electronic device performs the positioning method in any possible implementation of any of the above aspects.
[0037] In a third aspect, the present application provides a chip system for use in electronic devices, the chip system comprising an application processor and a GNSS chip, and the chip system executing a positioning method in any possible implementation of any of the above aspects.
[0038] In a fourth aspect, the present application provides a computer storage medium comprising computer instructions. When the computer instructions are executed on an electronic device, the electronic device executes the positioning method in any possible implementation of any of the above aspects.
[0039] In a fifth aspect, the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the positioning method in any possible implementation of any of the above aspects.
[0040] In a sixth aspect, the present application provides an electronic device comprising one or more functional modules; the one or more functional modules are used to execute the positioning method in any possible implementation of any of the above aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 A schematic diagram of the architecture of a positioning system provided in an embodiment of the present application;
[0042] Figure 2 A flowchart of a positioning result reporting process provided in an embodiment of the present application;
[0043] Figure 3 A schematic diagram of another process for reporting positioning results provided in an embodiment of the present application;
[0044] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;
[0045] Figure 5 A schematic diagram of the functional modules of an electronic device provided in an embodiment of the present application;
[0046] Figure 6 A schematic diagram of another functional module of an electronic device provided in an embodiment of the present application;
[0047] Figure 7 A schematic diagram of another functional module of an electronic device provided in an embodiment of the present application;
[0048] Figure 8 A flowchart of a positioning method provided in an embodiment of the present application;
[0049] Figure 9 A flowchart of another positioning method provided in an embodiment of the present application;
[0050] Figures 10A-10E A schematic diagram of a lane-level navigation interface for a set of high-precision applications provided in an embodiment of the present application;
[0051] Figure 11 Another structural schematic diagram of the electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0052] The following is a clear and detailed description of the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is only a description of the association relationship between related objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0053] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.
[0054] First, a schematic diagram of the architecture of a positioning system 10 provided in an embodiment of the present application is introduced.
[0055] Figure 1 FIG. 1 shows a schematic diagram of the architecture of a positioning system 10 provided in an embodiment of the present application. Figure 1 As shown, the positioning system 10 includes: N continuously operating reference stations (CORS) (referred to as reference stations for short), a server 200 and an electronic device 100, where N is a positive integer.
[0056] The N reference stations may be distributed in different areas. The locations of the reference stations are generally fixed. The reference stations have their own accurate locations stored on them. When establishing a connection with the server 200, the reference stations can send their accurate locations to the server. Each reference station can collect satellite positioning signals in real time (e.g., every 1 second), obtain measurement data, and send the measurement data to the server 200.
[0057] The server 200 stores the accurate positions of N reference stations. The server 200 can obtain differential data of different areas based on the accurate position information of the reference stations and the measurement data. The server 200 and the electronic device 100 can establish a wireless link, authenticate, and exchange data through the NTRIP protocol. When the server 200 receives the reference position sent by the electronic device 100, the server 200 can send the differential data of the destination reference station closest to the electronic device 100 among the N reference stations as positioning assistance data to the measurement device. The positioning assistance data may include one or more of RTK data, ephemeris data, RTD data, or correction data, as well as other data transmitted using a differential signal format (RTCM).
[0058] After receiving the positioning assistance data sent by the server 200, the electronic device 100 can correct the measured satellite positioning result based on the positioning assistance data to obtain a high-precision positioning result.
[0059] In one possible implementation, when the electronic device 100 uses Precise Point Positioning (PPP) technology, the positioning assistance data may be broadcasted by the electronic device 100 from a base station or satellite in a mobile communication network. The positioning assistance data may include precise ephemeris or ephemeris correction data, atmospheric corrections, and the like.
[0060] In one possible implementation, when the electronic device 100 adopts the precise point positioning (PPP) technology, the electronic device 100 can obtain positioning assistance data from the satellite. At this time, the positioning assistance data may include precise ephemeris or ephemeris correction data, atmospheric correction numbers, etc.
[0061] Figure 2 A schematic diagram of a process for reporting positioning results provided by this application is shown.
[0062] like Figure 2 As shown, the process of reporting the positioning result in the electronic device 100 to the application may include the following steps:
[0063] 1. The electronic device 100 can obtain GNSS observation data, such as pseudorange observation data, Doppler frequency observation data, etc., through the GNSS chip.
[0064] 2. The electronic device 100 can calculate a positioning result of ordinary accuracy from the GNSS observation data through a common positioning solution module.
[0065] 3. The electronic device 100 can convert the positioning solution results into a preset coordinate system (such as the World Geodetic System 1984 (WGS84) coordinate system) through a standard reporting channel to obtain WGS84 positioning coordinates, and report the WGS84 positioning coordinates to positioning applications such as maps and sports.
[0066] In the above positioning result reporting process, the electronic device 100 converts the positioning solution result into WGS84 positioning coordinates and reports it to the upper-level map, sports and other positioning applications. In this way, it can only be applied to the positioning result reporting process of ordinary accuracy (for example, a typical accuracy value of 3m-5m). In order to ensure national security, many countries or regions do not allow ordinary unauthorized devices (such as consumer electronic devices such as mobile phones) to directly output high-precision positioning results to prevent them from being illegally obtained and used by unauthorized applications. Therefore, the above process cannot be applied to the reporting of high-precision positioning results (for example, a typical accuracy value of less than 1m).
[0067] Figure 3 A schematic diagram of another process of reporting positioning results in this application is shown.
[0068] like Figure 3 As shown, the process of reporting positioning results to applications in some professional measurement electronic devices 100 may include the following steps:
[0069] 1. The electronic device 100 obtains GNSS observation data, such as pseudorange observation data, Doppler frequency observation data, and carrier phase observation data, through a GNSS chip.
[0070] 2. The electronic device 100 can calculate the probabilistic position based on the GNSS observation data through pseudo-range single-point calculation or other methods, and report the probabilistic position to the server 200.
[0071] 3. After receiving the probable position reported by the electronic device 100, the server 200 may determine differential assistance data from the measurement data of the N reference stations based on the probable position (for example, calculating a correction value from the measurement data of the reference station closest to the electronic device 100 as the differential assistance data). The server 200 may send the differential assistance data to the electronic device 100.
[0072] 4. The electronic device 100 can complete RTK high-precision positioning from GNSS observation data and differential auxiliary data through a common positioning solution module to obtain a high-precision positioning result.
[0073] 5. The electronic device 100 can convert the high-precision positioning solution result into a preset coordinate system (such as the WGS84 coordinate system) through the reporting channel to obtain high-precision WGS84 positioning coordinates, and save the high-precision WGS84 positioning coordinates as data records.
[0074] In the aforementioned high-precision positioning result reporting process, the surveying device converts the high-precision positioning results into WGS84 positioning coordinates and saves them as data records, without implementing any protection measures for the high-precision positioning results. However, to ensure national security, many countries or regions do not allow ordinary unauthorized devices (such as consumer electronic devices such as mobile phones) to directly output high-precision positioning results to prevent them from being illegally obtained and used by unauthorized applications. Therefore, the aforementioned high-precision positioning result reporting process is not applicable to ordinary consumer electronic products.
[0075] Therefore, a positioning method is provided in an embodiment of the present application, and the electronic device 100 can provide both ordinary positioning and high-precision positioning services to upper-layer applications through permission control and independent reporting channel design. For ordinary applications, the electronic device 100 can report ordinary accuracy (for example, a typical accuracy value of 3m to 5m) positioning results to the ordinary application through an ordinary reporting channel. For high-precision applications, the electronic device 100 can encrypt and report high-precision (for example, a typical accuracy value of less than 1m) positioning results to the high-precision application through a high-precision reporting channel after determining that the high-precision application has passed authentication. In this way, it is ensured that the channels for ordinary applications to obtain positioning results and the channels for high-precision applications to obtain positioning results are isolated from each other. The security of the output of high-precision positioning results is improved, and the security requirements of different countries or regions are met.
[0076] The following is a schematic structural diagram of an electronic device 100 provided in an embodiment of the present application.
[0077] Figure 4 A schematic structural diagram of the electronic device 100 is shown.
[0078] The embodiment will be described in detail below using the electronic device 100 as an example. It should be understood that Figure 4 The electronic device 100 shown is only one example, and the electronic device 100 may have more Figure 4 More or fewer components may be shown, two or more components may be combined, or the components may be arranged differently. Figure 4 The various components shown in the drawings may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.
[0079] The electronic device 100 can be a mobile phone, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a wearable device, an in-vehicle device, a smart home device and / or a smart city device. The embodiments of the present application do not impose any special restrictions on the specific type of the electronic device.
[0080] The electronic device 100 may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 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, and a subscriber identification module (SIM) card interface 195, etc. 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, etc.
[0081] It should be understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0082] The processor 110 may include one or more processing units. For example, 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 memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.
[0083] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0084] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.
[0085] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.
[0086] The charging management module 140 is configured to receive charging input from a charger, which may be a wireless charger or a wired charger.
[0087] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 and provides power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance), etc.
[0088] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0089] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0090] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0091] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0092] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0093] In some embodiments, the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. 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).
[0094] Electronic device 100 implements display functionality through a GPU, display screen 194, and an application processor. A GPU is a microprocessor for image processing that connects display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or modify display information.
[0095] Display screen 194 is used to display images, videos, and the like. Display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-oLed, or a quantum dot light-emitting diode (QLED). In some embodiments, electronic device 100 may include one or N display screens 194, where N is a positive integer greater than one.
[0096] The electronic device 100 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.
[0097] The ISP processes data fed back by camera 193. For example, when taking a photo, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and converted into a visible image. The ISP can also perform algorithmic optimization on image noise, brightness, and skin tone. It can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within camera 193.
[0098] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then passes the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the electronic device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
[0099] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0100] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. This allows electronic device 100 to play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.
[0101] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU can enable intelligent cognitive applications in electronic device 100, such as image recognition, face recognition, speech recognition, and text comprehension.
[0102] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.
[0103] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0104] The electronic device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0105] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals.
[0106] The speaker 170A, also called a "horn", is used to convert audio electrical signals into sound signals.
[0107] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals.
[0108] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals.
[0109] The headphone jack 170D is used to connect a wired headphone.
[0110] The pressure sensor 180A is used to sense pressure signals and convert the pressure signals into electrical signals. In some embodiments, the pressure sensor 180A can be disposed on the display screen 194 .
[0111] The gyroscope sensor 180B can be used to determine the motion posture of the electronic device 100. In some embodiments, the angular velocity of the electronic device 100 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the electronic device 100 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the electronic device 100 through reverse movement to achieve anti-shake. The gyroscope sensor 180B can also be used for navigation and somatosensory game scenes. The acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in all directions (generally three axes). When the electronic device 100 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the electronic device, and is applied to applications such as horizontal and vertical screen switching and pedometers.
[0112] In the embodiment of the present application, the gyroscope sensor 180B and the accelerometer 180E may be referred to as an inertial measurement unit (IMU). The IMU may be used to detect the gyroscope sensor data and accelerometer data of the electronic device 100, thereby measuring the specific force and angular velocity information of the electronic device 100. The electronic device 100 may combine the specific force and angular velocity information with the pseudorange and Doppler frequency observations obtained from the GNSS chip to perform inertial navigation and calculate the position coordinates of the electronic device 100 at the next moment.
[0113] In some embodiments, the electronic device 100 can also combine the specific force and angular velocity information with the pseudorange, Doppler frequency observation, carrier phase observation and positioning assistance data obtained from the GNSS chip (such as the reference station and observation data and position information in RTK positioning technology, or precise ephemeris or ephemeris correction data, atmospheric correction number, etc. in PPP high-precision positioning) to complete inertial navigation and calculate the position coordinates of the electronic device 100 at the next moment.
[0114] The air pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist in positioning and navigation. The magnetic sensor 180D includes a Hall sensor. The distance sensor 180F is used to measure distance. The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The ambient light sensor 180L is used to sense the brightness of ambient light. The electronic device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness. The fingerprint sensor 180H is used to collect fingerprints. The temperature sensor 180J is used to detect temperature. The touch sensor 180K is also called a "touch panel". The touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen". The bone conduction sensor 180M can obtain vibration signals. The buttons 190 include a power button, a volume button, etc. The motor 191 can generate vibration prompts. The indicator 192 may be an indicator light, which may be used to indicate the charging status, power level change, messages, missed calls, notifications, etc. The SIM card interface 195 is used to connect a SIM card.
[0115] The following introduces the functional modules of an electronic device 100 provided in an embodiment of the present application.
[0116] Figure 5 A schematic diagram of functional modules of the electronic device 100 is shown.
[0117] like Figure 5 As shown, the electronic device 100 may include a high-precision application 501, a general application 502, an authority control module 503, an interaction channel 504, a positioning solution module 505, a GNSS chip 506, an auxiliary data service module 507, and an inertial measurement unit 508.
[0118] Among them, ordinary applications 502 can be ordinary map navigation, sports and health, weather applications, etc. Ordinary applications 502 only need to obtain positioning results with ordinary accuracy (for example, a typical accuracy value of 3m to 5m). High-precision applications 501 can be map applications that provide functions such as lane-level navigation. High-precision applications 501 need to obtain high-precision positioning results (for example, a typical accuracy value of less than 1m).
[0119] When only the common application 502 initiates a positioning request through channel (1), the permission control module 503 can only enable the common positioning function and send the positioning instruction to the positioning solution module 505 through the interactive channel 504 and channel (7). After receiving the positioning instruction, the positioning solution module 505 can obtain the pseudorange and Doppler frequency observations reported by the GNSS chip 506 through channel (11) to complete the common positioning and obtain a positioning result with common accuracy.
[0120] In some embodiments, the positioning solution module 505 can complete ordinary positioning based on the pseudorange and Doppler frequency observations reported by the GNSS chip 506 and the inertial measurement data (including acceleration sensor data and gyroscope sensor data) reported by the inertial measurement unit (IMU) 508 to obtain an ordinary positioning result. After obtaining the positioning solution result of ordinary accuracy, the positioning solution module 505 can report the ordinary positioning result to the interactive channel 504 through channel (8). After performing some processing, the interactive channel 504 can report the ordinary positioning result to the ordinary application 502 through channel (6) and channel (2) in sequence.
[0121] When the authority control module 503 receives a high-precision positioning request initiated by the high-precision application 501 through channel (3), the authority control module 503 can perform an authentication operation (12) on the high-precision application 501 with the authentication server 300. After the authentication is passed, the authority control module 503 can enable the high-precision positioning function and issue high-precision positioning instructions to the positioning solution module 505 through channels (5) and (7) in sequence. The positioning solution module 505 can obtain the pseudo-range and Doppler frequency observations and carrier phase observations reported by the GNSS chip 506 through channel (11). The positioning solution module 505 can also obtain the positioning auxiliary data (or observation correction data) obtained from the auxiliary data service module 507 through channel (13). The positioning solution module 505 can complete the high-precision positioning solution based on the pseudo-range and Doppler frequency observations, carrier phase observations and positioning auxiliary data to obtain a high-precision positioning result.
[0122] Among them, the high-precision positioning algorithm can adopt various forms: 1. Real-time kinematic (RTK) positioning technology: The auxiliary data service module 507 can obtain positioning assistance data from the above-mentioned server 200 or base station. Among them, the positioning assistance data may include observation data and position information of the reference station. 2. Precise point positioning (PPP) technology: The auxiliary data service module 507 can obtain positioning assistance data sent by a mobile communication base station or broadcast by a satellite. Among them, the positioning assistance data may include precise ephemeris or ephemeris correction data, atmospheric correction numbers, etc. In specific implementations, the positioning solution module 505 may also adopt other combined RTK and PPP positioning technologies.
[0123] In some embodiments, the inertial measurement unit (IMU) 508 can measure inertial measurement data of the electronic device 100, wherein the inertial measurement data can include gyroscope sensor data and acceleration sensor data. The positioning solution module 505 can also obtain inertial measurement data from the inertial measurement unit (IMU) 508 through channel (9). The positioning solution module 505 can complete inertial navigation based on the above-mentioned high-precision positioning algorithm and inertial measurement data to further improve the accuracy and stability of positioning and obtain a high-precision positioning result. For example, a combination of RTK positioning and vehicle dead reckoning (VDR).
[0124] After the positioning solution module 505 solves the high-precision positioning result, the positioning solution module 505 can report it to the high-precision application 501 in sequence through independent reporting channels (for example, including channel (8), channel (6) and channel (4)). After obtaining the high-precision positioning result, the high-precision application 501 can combine the map resource package to complete the high-precision positioning service, for example, to achieve lane-level navigation. Among them, during the reporting process of the high-precision positioning result, the interactive channel 504 can convert the high-precision positioning result into a standard coordinate format and encrypt it using a preset encryption algorithm to obtain encrypted deflection coordinates. The interactive channel 504 can finally report the encrypted deflection coordinates to the high-precision application 501.
[0125] When the common application 502 and the high-precision application 501 initiate positioning requests at the same time, the common positioning results and the high-precision positioning results need to be output at the same time. There are differences between the common positioning results and the high-precision positioning results in terms of positioning accuracy and coordinate format. The common application 502 and the high-precision application initiate positioning requests through independent channels respectively. For example, the common application 502 initiates a positioning request through channel (1), and the high-precision application 501 initiates a positioning request through channel (3). The positioning solution module 505 reports the positioning results to the common application 502 and the high-precision application 501 through independent channels respectively. For example, the positioning solution module 505 reports the common positioning results to the common application 502 through channel (2), and the positioning solution module 505 can report the high-precision positioning results to the high-precision application 501 through channel (4).
[0126] In some embodiments, after calculating the positioning result (normal positioning result or high-precision positioning result), the positioning solution module 505 can calculate the auxiliary information of the positioning result for different satellites (for example, code phase information, Doppler frequency, or even carrier phase information). The positioning solution module 505 can send the auxiliary information to the GNSS chip 506 through the channel (10). After receiving the auxiliary information, the GNSS chip 506 can use the auxiliary information to capture and track the satellite signal, thereby improving the accuracy of the GNSS observation data obtained by the GNSS chip 506. In this way, the positioning performance can be further improved.
[0127] In some embodiments of the present application, the electronic device 100 can report the high-precision positioning results to the high-precision application by calling a specified interface. For example, the electronic device 100 can call the requestHDLocationUpdate interface or the requestLocationUpdatesEx interface in Huawei Mobile Service (HMS) to report the high-precision positioning results to the high-precision application. The above examples are only used to explain the present application and should not constitute a limitation.
[0128] The following describes in detail the process of reporting positioning results in the embodiment of the present application in conjunction with the functional modules in the electronic device 100.
[0129] Figure 6 A schematic diagram of functional modules of an electronic device 100 provided in an embodiment of the present application is shown.
[0130] like Figure 6As shown, electronic device 100 may include high-precision application 601, general application 602, custom encryption module 603, coordinate conversion plug-in 604, positioning engine 605, GNSS chip 606, assistance data service 607 and error addition module 609. Optionally, electronic device 100 may further include inertial measurement unit 608.
[0131] Among them, high-precision application 601 can be a map application that provides functions such as lane-level navigation. High-precision application 601 requires obtaining high-precision positioning results (for example, a typical accuracy value of less than 1 meter). Ordinary application 602 can be ordinary map navigation, sports and health, weather applications, etc. Ordinary application 602 only requires obtaining positioning results with normal accuracy (for example, a typical value of 3 to 5 meters).
[0132] The positioning solution module may include a positioning engine 605. The positioning engine 605 may include both standard positioning and high-precision positioning functions. The standard positioning results and high-precision positioning results reported by the positioning engine 605 are reported to upper-layer applications via two independent channels, ensuring isolation between the reporting channels for standard positioning results and high-precision positioning results, i.e., channel-level isolation.
[0133] When the high-precision application 601 initiates a high-precision positioning request and passes authentication, the positioning engine 605 can obtain GNSS observation data from the GNSS chip 606 and obtain positioning assistance data through the assistance data service 607. Among them, the GNSS observation data may include pseudorange observation data, Doppler frequency observation data, carrier phase observation data, etc. When the positioning assistance data includes the observation data and position information of the reference station, the positioning engine 605 can complete RTK solution based on the GNSS observation data and positioning assistance data to obtain high-precision WGS84 coordinates. When the positioning assistance data includes precise ephemeris or ephemeris correction data, atmospheric correction numbers, etc., the positioning engine 605 can complete PPP high-precision solution based on the GNSS observation data and positioning assistance data to obtain high-precision WGS84 coordinates. When the positioning assistance data includes the observation data and position information of the reference station, precise ephemeris or ephemeris correction data, atmospheric correction numbers, etc., the positioning engine 605 can complete the combined RTK and PPP solution based on the GNSS observation data and positioning assistance data to obtain high-precision WGS84 coordinates.
[0134] The coordinate format of the high-precision positioning result calculated by the positioning engine 605 is not limited to the coordinates in the WGS84 coordinate system format, but can also be in other coordinate systems (for example, the Beijing 1954 coordinate system, the Xi'an 1980 coordinate system, etc.).
[0135] In the embodiment of the present application, the high-precision positioning performed by the positioning engine 605 is not limited to the above-mentioned RTK and PPP positioning technologies, but can also be other differential positioning technologies such as real-time differential (RTD) and post-processed kinematic (PPK). This is not limited in the embodiment of the present application. When the high-precision positioning engine 605 adopts different differential positioning technologies, the content of the positioning assistance data will also be different.
[0136] In one possible implementation, the positioning engine 605 may also obtain inertial measurement data from the inertial measurement unit 609, where the inertial measurement data includes data such as acceleration sensor data and gyroscope sensor data. The positioning engine 605 may also further improve positioning accuracy and stability based on the GNSS observation data and the inertial measurement data reported by the inertial measurement unit 608, thereby obtaining a high-precision positioning result. For example, this may be a combination of RTK positioning and VDR technology.
[0137] The positioning engine 605 can report the high-precision WGS84 coordinates to the coordinate conversion plug-in 604. The coordinate conversion plug-in 604 (for example, the GCJ02 deflection plug-in provided by the State Administration of Surveying, Mapping and Geoinformation in China) can add a deflection factor to the high-precision WGS84 coordinates to obtain high-precision deflected coordinates.
[0138] The coordinate conversion plug-in 604 can report the high-precision deflection coordinates to the custom encryption module 603. The custom encryption module 603 can encrypt the high-precision deflection coordinates by a preset encryption algorithm (such as the SM4 national encryption algorithm) to obtain encrypted deflection coordinates.
[0139] The custom encryption module 603 can report the encrypted deflected coordinates to the high-precision application 601. Among them, the high-precision application 601 is pre-installed with a decryption key corresponding to the preset encryption algorithm. The high-precision application 601 can use the same deflection plug-in as the coordinate conversion plug-in 604 to add a deflection factor to the coordinates in the map resource package to obtain a deflected map resource package. The high-precision application 601 can decrypt high-precision deflection coordinates from the encrypted deflected coordinates based on the decryption key corresponding to the preset encryption algorithm. The high-precision application 601 can perform high-precision navigation services such as lane-level navigation based on the high-precision deflection coordinates and the deflection map resource package.
[0140] When a normal application 602 initiates a normal positioning request, the positioning engine 605 may enable the normal positioning function and obtain data such as pseudorange observations and Doppler frequency observations from the GNSS chip 606. The positioning engine 605 may stop obtaining positioning assistance data from the assistance data service 607 and complete the positioning solution based on the pseudorange observations and Doppler frequency observations to obtain WGS84 coordinates with normal accuracy.
[0141] In one possible implementation, the positioning engine 605 can complete inertial navigation based on data such as pseudorange observations and Doppler frequency observations and inertial measurement data reported by the inertial measurement unit 608 (including acceleration sensor data and gyroscope sensor data) to obtain a normal positioning result.
[0142] The positioning engine 605 obtains WGS84 coordinate information of normal precision and reports the WGS84 coordinate information of normal precision to the normal application 602 .
[0143] In some embodiments, the standard application 602 can initiate positioning requests simultaneously with the high-precision application 60. Since the positioning engine 605 cannot separate the two types of results, after receiving the positioning request initiated by the standard application 602, the positioning engine 605 can calculate WGS84 coordinates based on the GNSS measurement data and positioning assistance data. The positioning engine 605 can report the calculated WGS84 coordinates to the error addition module 609. The error addition module 609 can add random errors to the calculated WGS84 coordinate information based on the high-precision status to obtain standard-precision WGS84 coordinates.
[0144] The error addition module 609 can determine whether the accuracy value of the WGS84 coordinates calculated by the GNSS chip 606 is less than a preset accuracy value (e.g., 3 meters). If so, the error addition module 609 can add random errors to the high-precision WGS84 coordinate information to increase the accuracy value of the high-precision WGS84 coordinates (e.g., the accuracy value can be increased by 3 meters to 5 meters) to obtain normal-precision WGS84 coordinates. If the accuracy value of the WGS84 coordinate information calculated by the GNSS chip 606 is greater than or equal to the preset accuracy value (e.g., 3 meters), the error addition module 609 can directly report the calculated WGS84 coordinates to the normal application 602.
[0145] The positioning engine 605 can calculate the positioning accuracy when solving the WGS84 coordinates based on the GNSS measurement data and the positioning assistance data. For example, the positioning engine 605 can solve the WGS84 coordinates based on the GNSS measurement data and the positioning assistance data using a Kalman filter. The covariance matrix of the Kalman filter can provide an estimate of the positioning accuracy.
[0146] Through the process of reporting positioning results provided by the embodiment of the present application, it is possible to implement sub-meter (<1m) high-precision positioning services in the electronic device 100 by utilizing GNSS high-precision positioning or combining inertial combined navigation technology, so that high-precision applications such as lane-level navigation can be realized. And through authority control and independent channel design, both ordinary positioning and high-precision positioning services are provided at the same time. The electronic device 100 can report ordinary positioning and high-precision positioning results respectively through independent channels, and perform coordinate conversion and encryption processing in the process of reporting high-precision results, which fully guarantees the security of high-precision result output, and thus can meet the policies and legal and regulatory requirements of different countries or regions.
[0147] Another process for reporting positioning results in an embodiment of the present application is described in detail below with reference to the functional modules in the electronic device 100 .
[0148] Figure 7 A schematic diagram of functional modules of an electronic device 100 provided in an embodiment of the present application is shown.
[0149] like Figure 7 As shown, the electronic device 100 may include a high-precision application 701, a common application 702, a custom encryption module 703, a coordinate conversion plug-in 704, a high-precision positioning engine 705, a GNSS chip 706, an assistance data service 707, and a common positioning engine 709. Optionally, the electronic device 100 may further include an inertial measurement unit (IMU) 708.
[0150] Among them, high-precision application 701 can be a map application that provides functions such as lane-level navigation. High-precision application 701 requires obtaining high-precision positioning results (for example, a typical accuracy value of less than 1 meter). Ordinary application 702 can be ordinary map navigation, sports and health, weather applications, etc. Ordinary application 702 only requires obtaining positioning results with normal accuracy (for example, a typical value of 3 to 5 meters).
[0151] The above positioning solution module may include a high-precision positioning engine 705 and a common positioning engine 709 .
[0152] Among them, the general positioning engine 709 can be used to obtain observations such as pseudorange and Doppler frequency from the GNSS chip 706, and complete positioning solution based on observations such as pseudorange and Doppler frequency to obtain WGS84 coordinates of ordinary precision. Optionally, the general positioning engine 709 can also obtain inertial measurement data from the inertial measurement unit 708, wherein the inertial measurement data includes acceleration sensor data and gyroscope sensor data. The general positioning engine 709 can complete inertial navigation based on observations such as pseudorange and Doppler frequency and inertial measurement data, and calculate WGS84 coordinates of ordinary precision. The general positioning engine 709 can report the WGS84 coordinates of ordinary precision to the general application 702.
[0153] The high-precision positioning engine 705 can be used to obtain GNSS observation data from the GNSS chip 706. The GNSS observation data includes observations such as pseudorange, Doppler frequency, and carrier phase. The high-precision positioning engine 705 can obtain positioning assistance data from the assistance data service 707.
[0154] In one possible implementation, the positioning assistance data may include observation data from the reference station (including pseudoranges, Doppler frequencies, carrier phases, etc. measured by the reference station to satellites) and location information. The high-precision positioning engine 705 can perform RTK calculations based on the GNSS observation data and positioning assistance data to obtain high-precision WGS84 coordinates.
[0155] In one possible implementation, the positioning assistance data may include precise ephemeris or ephemeris correction data, atmospheric corrections, etc. The high-precision positioning engine 705 may perform PPP high-precision solution based on the GNSS observation data and the positioning assistance data to obtain high-precision WGS84 coordinates.
[0156] In one possible implementation, the positioning assistance data includes observation data and position information of the reference station, precise ephemeris or ephemeris correction data, atmospheric corrections, etc. The high-precision positioning engine 705 can perform a combined RTK and PPP solution based on the GNSS observation data and positioning assistance data to obtain high-precision WGS84 coordinates.
[0157] In one possible implementation, the high-precision positioning engine 705 may also obtain inertial measurement data from the inertial measurement unit 709, where the inertial measurement data includes data such as acceleration sensor data and gyroscope sensor data. The high-precision positioning engine 705 may also further improve positioning accuracy and stability based on GNSS observation data and inertial measurement data reported by the inertial measurement unit 708, thereby obtaining a high-precision positioning result. For example, this may involve a combination of RTK positioning and VDR technology.
[0158] Among them, the coordinate format of the high-precision positioning result calculated by the high-precision positioning engine 705 is not limited to the coordinates in the above-mentioned WGS84 coordinate system format, but can also be in the format of other coordinate systems (for example, Beijing 1954 coordinate system, Xi'an 1980 coordinate system, etc.).
[0159] In the embodiment of the present application, the high-precision positioning engine 705 is not limited to the above-mentioned RTK and PPP positioning technologies for high-precision positioning, but can also be other differential positioning technologies such as RTD and PPK. This is not limited in the embodiment of the present application. When the high-precision positioning engine 705 adopts different differential positioning technologies, the positioning assistance data will also be different.
[0160] After calculating the high-precision WGS84 coordinates, the high-precision positioning engine 705 can report the WGS84 coordinates to the coordinate conversion plug-in 704. The coordinate conversion plug-in 704 (for example, in China, there is the GCJ02 deflection plug-in provided by the National Bureau of Surveying, Mapping and Geoinformation) can add a deflection factor to the high-precision WGS84 coordinates to obtain high-precision deflected coordinates.
[0161] The coordinate conversion plug-in 704 can report the high-precision deflection coordinates to the custom encryption module 703. The custom encryption module 703 can encrypt the high-precision deflection coordinates using a preset encryption algorithm (such as the SM4 national encryption algorithm) to obtain encrypted deflection coordinates.
[0162] The custom encryption module 703 can report the encrypted deflection coordinates to the high-precision application 701. Among them, the high-precision application 701 is pre-installed with a decryption key corresponding to the preset encryption algorithm. The map resource package in the high-precision application 701 is also processed by the coordinate conversion plug-in. In other words, the location coordinates in the map resource package are obtained by adding a deflection factor to the real location coordinates through the coordinate conversion plug-in. Based on the decryption key corresponding to the preset encryption algorithm, the high-precision application 701 can decrypt high-precision deflection coordinates from the encrypted deflection coordinates. The high-precision application 701 can perform high-precision navigation services such as lane-level navigation based on the high-precision deflection coordinates and the map resource package.
[0163] Through the process of reporting positioning results provided by the embodiment of the present application, it is possible to implement sub-meter (<1m) high-precision positioning services in the electronic device 100 by utilizing GNSS high-precision positioning or combining inertial combined navigation technology, so that high-precision applications such as lane-level navigation can be realized. And through authority control and independent channel design, both ordinary positioning and high-precision positioning services are provided at the same time. The electronic device 100 can calculate ordinary positioning results and high-precision positioning results respectively through different positioning engines, and perform coordinate conversion and encryption processing in the process of reporting high-precision results, which fully guarantees the security of the output of high-precision results, and thus can meet the security requirements of the policies and laws and regulations of different countries or regions for positioning results.
[0164] The following is a flow chart of a positioning method provided in an embodiment of the present application.
[0165] Figure 8 A flow chart of a positioning method provided in an embodiment of the present application is shown.
[0166] like Figure 8 As shown, the method may include:
[0167] S801. The electronic device 100 obtains a positioning instruction from an upper-layer application.
[0168] Among them, the upper-layer applications can be ordinary applications or high-precision applications. Among them, ordinary applications can include ordinary map navigation, sports and health, weather and other applications. High-precision applications can include map applications that provide functions such as lane-level navigation, etc. High-precision applications can obtain high-precision positioning results (for example, a typical accuracy value of less than 1m). Ordinary applications only need to obtain positioning results with ordinary accuracy (for example, a typical value of 3m to 5m).
[0169] For example, the electronic device 100 may receive a user input (e.g., a single click) on a navigation start control in a navigation application interface. In response to this input, the electronic device 100 may obtain a positioning instruction issued by the navigation application. For another example, the electronic device 100 may receive a user input to open a weather application. In response to this input, the electronic device 100 may obtain a positioning instruction issued by the weather application.
[0170] S802: The electronic device 100 may determine whether the upper layer application is a high-precision application in response to the positioning instruction. If so, steps S803 to S808 are executed. If not, steps S809 to S811 are executed.
[0171] Among them, after the electronic device 100 obtains the positioning instruction, it can authenticate the upper-layer application that initiated the positioning instruction through the authentication server. Specifically, after obtaining the positioning instruction, the electronic device 100 can send an authentication request to the authentication server, and the authentication request includes the identifier of the upper-layer application. The authentication server can check whether there is the identifier of the upper-layer application in the stored high-precision application whitelist. If so, the authentication server can return an authentication success message to the electronic device 100, and the authentication success message can be used to indicate that the upper-layer application is a high-precision application. Among them, the high-precision application whitelist includes the identifiers of multiple high-precision applications. When the electronic device 100 receives the authentication success message sent by the authentication server, the electronic device 100 can determine that the upper-layer application is a high-precision application.
[0172] When the authentication server determines that the identifier of the upper-layer application is not in the high-precision application whitelist, the authentication server can return authentication failure information to the electronic device 100. The authentication failure information can be used to indicate that the upper-layer application is a common application. After the electronic device 100 receives the authentication failure information sent by the authentication server, the electronic device 100 can determine that the upper-layer application is a common application.
[0173] In one possible implementation, the high-precision application whitelist may be stored on the electronic device 100. The electronic device 100 may determine whether the high-precision application whitelist includes the identifier of the upper-layer application. If so, the electronic device 100 may determine that the upper-layer application is a high-precision application; if not, the electronic device 100 may determine that the upper-layer application is a common application.
[0174] S803: The electronic device 100 may obtain first GNSS observation data from the GNSS chip.
[0175] When the electronic device 100 determines that the upper layer application is a high-precision application, the electronic device 100 may obtain first GNSS observation data from the GNSS chip, wherein the first GNSS observation data includes pseudorange observations, Doppler frequency observations, carrier phase observations, and the like.
[0176] S804: The electronic device 100 may obtain positioning assistance data.
[0177] S805: The electronic device 100 may calculate high-precision positioning coordinates in the first coordinate system based on the first GNSS observation data and the positioning assistance data.
[0178] Among them, when the electronic device 100 adopts RTK positioning technology, the electronic device 100 can calculate the reference position based on the first GNSS observation data. For example, the electronic device 100 can calculate the reference position based on the pseudorange observation solution. The electronic device 100 can send the reference position to the server 200. Based on the reference position, the server 200 can determine one or more reference stations that are close to the reference position from N reference stations, and determine the observation data (including the pseudorange, Doppler frequency, carrier phase, etc. measured by the reference station to the satellite) and position information of the one or more reference stations as positioning assistance data. The server 200 can send the positioning assistance data to the electronic device 100.
[0179] When the electronic device 100 adopts the PPP high-precision positioning technology, the electronic device 100 can obtain the positioning assistance data from the navigation message of the satellite. The positioning assistance data may include precise ephemeris or ephemeris correction data, atmospheric correction data, etc.
[0180] When the electronic device 100 adopts a combination of RTK positioning technology and PPP high-precision positioning technology for positioning, the positioning assistance data may include observation data of one or more reference stations (including pseudorange, Doppler frequency, carrier phase, etc. measured by the reference station to the satellite) and position information, as well as precise ephemeris or ephemeris correction data, and atmospheric correction numbers.
[0181] In the embodiment of the present application, the high-precision positioning of the electronic device 100 is not limited to the above-mentioned RTK and PPP positioning technologies, but can also be other differential positioning technologies such as real-time differential (RTD) and post-processed kinematic (PPK). This is not limited in the embodiment of the present application. When different differential positioning technologies are used, the content of the positioning assistance data will also be different.
[0182] In one possible implementation, the electronic device 100 may measure inertial measurement data of the electronic device 100 using an inertial measurement unit (IMU), where the inertial measurement data includes data from an acceleration sensor and a gyroscope sensor. The electronic device 100 may perform inertial navigation based on the first GNSS observation data and the inertial measurement data to further improve positioning accuracy and stability and obtain the high-precision positioning coordinates. For example, this may involve a combination of RTK positioning and VDR technology.
[0183] In the embodiment of the present application, the first coordinate system may be the WGS84 coordinate system, the Beijing 1954 coordinate system, the Xi'an 1980 coordinate system, etc., but this should not constitute a limitation and may also be other coordinate systems.
[0184] S806 . The electronic device 100 may add a deflection factor to the high-precision positioning coordinates through the coordinate conversion plug-in to obtain high-precision deflection coordinates in the second coordinate system.
[0185] Specifically, the electronic device 100 can calculate the deflection factor corresponding to the high-precision positioning coordinates using the deflection algorithm in the coordinate conversion plug-in. Then, the electronic device 100 can add the deflection factor to the high-precision positioning coordinates to obtain high-precision deflected coordinates in the second coordinate system.
[0186] The coordinate conversion plug-in may include any one of the GCJ02 coordinate conversion plug-in and the BD09 coordinate system conversion plug-in. The second coordinate system is any one of the GCJ02 coordinate system and the BD09 coordinate system. When the coordinate conversion plug-in is the GCJ02 coordinate conversion plug-in, the second coordinate system is any one of the GCJ02 coordinate systems. When the coordinate conversion plug-in is the GCJ02 coordinate conversion plug-in, the second coordinate system is any one of the GCJ02 coordinate systems.
[0187] For example, the high-precision positioning coordinates calculated by the electronic device 100 in the WGS84 coordinate system can be "latitude: 22.533867387389293, longitude: 113.918884573070101". Using the high-precision positioning coordinates and the deflection algorithm in the coordinate conversion plug-in, the electronic device 100 determines the deflection factors including "latitude deflection factor: 0.010010110111001, longitude deflection factor: 0.011000111010011". The electronic device 100 adds the latitude value in the deflection factor to the latitude value of the high-precision positioning coordinates, and adds the latitude deflection factor of the deflection factor to the longitude value of the high-precision positioning coordinates to obtain the high-precision deflected coordinates. The high-precision deflection coordinates may be “latitude: 22.543877497500294, longitude: 113.929884684080112.” The above examples are only used to explain the present application and should not be construed as limiting.
[0188] S807 . The electronic device 100 may encrypt the high-precision deflection coordinates using a preset encryption algorithm to obtain encrypted deflection coordinates.
[0189] The electronic device 100 may encrypt the high-precision deflection coordinates using a preset encryption algorithm (eg, the SM4 national encryption algorithm) to obtain encrypted deflection coordinates. A decryption key corresponding to the preset encryption algorithm may be preset in the high-precision application.
[0190] S808. The electronic device 100 may report the encrypted deflected coordinates to an upper-layer application.
[0191] When the upper-layer application is a high-precision application, a decryption key corresponding to the preset encryption algorithm is pre-installed in the upper-layer application. After the electronic device 100 reports the encrypted deflection coordinates to the upper-layer application, the upper-layer application can decrypt the encrypted deflection coordinates through the decryption key to obtain high-precision deflection coordinates. The upper-layer application may include a map resource package. The map resource package is also processed by the coordinate conversion plug-in. In other words, the location coordinates in the map resource package are the real location coordinates obtained by adding a deflection factor through the coordinate conversion plug-in. The upper-layer application can perform high-precision navigation services such as lane-level navigation based on the high-precision deflection coordinates and the map resource package.
[0192] S809: The electronic device 100 may obtain second GNSS observation data from the GNSS chip.
[0193] When the upper layer application is not a high-precision application (ie, a common application), the electronic device 100 may obtain second GNSS observation data from the GNSS chip, wherein the second GNSS observation data may include observation quantities such as pseudorange and Doppler frequency.
[0194] S810: The electronic device 100 may calculate common positioning coordinates based on the second GNSS observation data.
[0195] In one possible implementation, the electronic device 100 may measure inertial measurement data of the electronic device 100 using an inertial measurement unit (IMU), where the inertial measurement data includes data from an acceleration sensor and a gyroscope sensor. The electronic device 100 may perform inertial navigation based on the second GNSS observation data and the inertial measurement data to obtain the common positioning coordinates.
[0196] Among them, the positioning accuracy value of the ordinary positioning coordinates is greater than the positioning accuracy value of the high-precision positioning coordinates. Among them, the smaller the positioning accuracy value, the more accurate the positioning result.
[0197] S811. The electronic device 100 may report the normal positioning coordinates to an upper-layer application.
[0198] Upper-level applications can provide positioning and navigation services based on common positioning coordinates and map resource packages.
[0199] In some embodiments, the electronic device 100 may include a positioning engine, which may include a general positioning function and a high-precision positioning function. When the electronic device 100 determines that the upper-layer application is a high-precision application, the electronic device 100 may enable the high-precision positioning function of the positioning engine, and use the positioning engine to calculate the high-precision positioning coordinates in the first coordinate system based on the first GNSS observation data and positioning assistance data. The electronic device 100 may add deflection and encryption to the high-precision positioning coordinates in sequence, and then report them to the upper-layer application.
[0200] When the electronic device 100 determines that the upper-layer application is a low-precision application, the electronic device 100 can enable the normal positioning function of the positioning engine and stop acquiring positioning assistance data. The electronic device 100 can use the positioning engine to calculate the normal positioning coordinates in the first coordinate system based on the second GNSS observation data. The electronic device 100 can report the normal positioning coordinates to the upper-layer application. The positioning accuracy value of the normal positioning coordinates is lower than the positioning accuracy value of the high-precision positioning coordinates. The smaller the positioning accuracy value, the more accurate the positioning result.
[0201] Among them, the electronic device 100 only includes the relevant content of one positioning engine, which can be referred to above Figure 6 The embodiments shown will not be described in detail here.
[0202] In some embodiments, the electronic device 100 may include a general positioning engine and a high-precision positioning engine. When the electronic device 100 determines that the upper-layer application is a high-precision application, the electronic device 100 may use the high-precision positioning engine to calculate high-precision positioning coordinates in the first coordinate system based on the first GNSS observation data and positioning assistance data. The electronic device 100 may then add deflection and encrypt the high-precision positioning coordinates before reporting them to the upper-layer application.
[0203] When the electronic device 100 determines that the upper-layer application is a low-precision application, the electronic device 100 can use the ordinary positioning engine to calculate the ordinary positioning coordinates in the first coordinate system based on the second GNSS observation data. The electronic device 100 can report the ordinary positioning coordinates to the upper-layer application. The positioning accuracy value of the ordinary positioning coordinates is lower than the positioning accuracy value of the high-precision positioning coordinates. The smaller the positioning accuracy value, the more accurate the positioning result.
[0204] Among them, the electronic device 100 includes the relevant contents of the common positioning engine and the high-precision positioning engine, which can be referred to above. Figure 7 The embodiments shown will not be described in detail here.
[0205] Through the positioning method provided in the embodiment of the present application, it is possible to implement sub-meter (<1m) high-precision positioning services in the electronic device 100 by utilizing GNSS high-precision positioning or combining inertial combined navigation technology, so that high-precision applications such as lane-level navigation can be realized. And through authority control and independent channel design, both ordinary positioning and high-precision positioning services are provided at the same time. The electronic device 100 can perform coordinate conversion and encryption processing in the process of reporting high-precision results, ensuring the isolation between the reporting channel of high-precision positioning results and the reporting channel of ordinary positioning results, and ensuring the security of the output of high-precision results, thereby meeting the security requirements of the policies and laws and regulations of different countries or regions for positioning results.
[0206] The following is a flow chart of another positioning method provided in an embodiment of the present application.
[0207] In some application scenarios, the electronic device 100 may include a positioning engine. The electronic device 100 may include high-precision applications and ordinary applications. High-precision applications can obtain high-precision positioning results (for example, a typical accuracy value is less than 1m). Ordinary applications only need to obtain positioning results with ordinary accuracy (for example, a typical value of 3m to 5m). When the electronic device 100 obtains positioning instructions from both high-precision applications and ordinary applications at the same time (that is, the time interval between obtaining the positioning instructions from the high-precision application and the positioning instructions from the ordinary application is less than a preset time threshold (for example, 1 second)), the electronic device 100 may first enable the high-precision positioning function of the positioning engine and calculate the high-precision positioning coordinates. The electronic device 100 will add a deflection factor to the high-precision positioning coordinates, encrypt them, and then report them to the high-precision application. The electronic device 100 may add random errors to the high-precision positioning coordinates to reduce the positioning accuracy value, and then report them to the ordinary application. In this way, the security of the high-precision result output is guaranteed, thereby meeting the policies and legal and regulatory requirements of different countries or regions.
[0208] Figure 9 A flow chart of a positioning method provided in an embodiment of the present application is shown.
[0209] like Figure 9 As shown, the method may include:
[0210] S901: The electronic device 100 may simultaneously obtain a first positioning instruction initiated by a first application and a second positioning instruction initiated by a second application.
[0211] S902: The electronic device 100 may determine that the first application is a high-precision application and the second application is a common application.
[0212] When the electronic device 100 detects that the interval between the time of obtaining the first positioning instruction and the time of obtaining the second positioning instruction is less than a preset time (eg, 1 second), the electronic device 100 may determine that the first positioning instruction and the second positioning instruction are obtained simultaneously.
[0213] Among them, when the electronic device 100 obtains the first positioning instruction of the first application, it can authenticate the first application through the authentication server. Specifically, after obtaining the first positioning instruction, the electronic device 100 can send a first authentication request to the authentication server, and the first authentication request includes the identifier of the first application. The authentication server can check whether there is the identifier of the first application in the stored high-precision application whitelist. If so, the authentication server can return a first authentication success message to the electronic device 100, and the first authentication success message can be used to indicate that the first application is a high-precision application. Among them, the high-precision application whitelist includes the identifiers of multiple high-precision applications. When the electronic device 100 receives the first authentication success message sent by the authentication server, the electronic device 100 can determine that the upper-layer application is a high-precision application.
[0214] When the electronic device 100 obtains the second positioning instruction of the second application, it can authenticate the second application through the authentication server. Specifically, after obtaining the second positioning instruction, the electronic device 100 can send a second authentication request to the authentication server, and the second authentication request includes the identifier of the second application. The authentication server can check whether there is the identifier of the second application in the stored high-precision application whitelist. If not, the authentication server can return the first authentication failure information to the electronic device 100, and the first authentication failure information can be used to indicate that the second application is a normal application. Among them, the high-precision application whitelist includes the identifiers of multiple high-precision applications. When the electronic device 100 receives the first authentication failure information sent by the authentication server, the electronic device 100 can determine that the second application is a high-precision application.
[0215] In one possible implementation, the high-precision application whitelist may be stored on the electronic device 100. The electronic device 100 may determine whether the high-precision application whitelist includes the identifier of the first application. If so, the electronic device 100 may determine that the first application is a high-precision application. The electronic device 100 may determine whether the high-precision application whitelist includes the identifier of the second application. If not, the electronic device 100 may determine that the second application is a high-precision application.
[0216] For more detailed descriptions of high-precision applications and general applications, please refer to the above Figure 8 Step S801 in the illustrated embodiment will not be described in detail here.
[0217] S903: The electronic device 100 may obtain first GNSS observation data from the GNSS chip.
[0218] For specific content, please refer to the above Figure 8 Step S803 in the illustrated embodiment will not be described in detail here.
[0219] S904: The electronic device 100 may obtain positioning assistance data.
[0220] For specific content, please refer to the above Figure 8 Step S804 in the illustrated embodiment.
[0221] S905: The electronic device 100 may calculate high-precision positioning coordinates in the first coordinate system based on the first GNSS observation data and the positioning assistance data.
[0222] The electronic device 100 may include only one positioning engine. The positioning engine may include a high-precision positioning function and a low-precision positioning function. When the electronic device 100 receives the first positioning instruction and the second positioning instruction at the same time, the electronic device 100 may enable the high-precision positioning function of the positioning engine.
[0223] For details about how the positioning engine calculates high-precision positioning functions, please refer to the above Figure 8 Step S805 in the illustrated embodiment will not be described in detail here.
[0224] After the electronic device 100 calculates the high-precision positioning coordinates, steps S906 to S908 may be executed, and steps S909 to S910 may be executed at the same time.
[0225] S906 . The electronic device 100 may add a deflection factor to the high-precision positioning coordinates through the coordinate conversion plug-in to obtain high-precision deflection coordinates in the second coordinate system.
[0226] For specific content, please refer to the above Figure 8 Step S806 in the illustrated embodiment will not be described in detail here.
[0227] S907 . The electronic device 100 may encrypt the high-precision deflection coordinates using a preset encryption algorithm to obtain encrypted deflection coordinates.
[0228] For specific content, please refer to the above Figure 8 Step S807 in the illustrated embodiment will not be described in detail here.
[0229] S908. The electronic device 100 may report the encrypted deflected coordinates to the first application.
[0230] For specific content, please refer to the above Figure 8Step S808 in the illustrated embodiment will not be described in detail here.
[0231] S909 . The electronic device 100 may add random errors to the high-precision positioning coordinates to obtain normal positioning coordinates.
[0232] The electronic device 100 may generate a random error value through a random algorithm, and add the random error value to the high-precision positioning coordinates to obtain normal positioning coordinates.
[0233] For example, the high-precision positioning coordinates calculated by the electronic device 100 may be "latitude: 22.533867387389293", longitude: 113.918884573070101" in the WGS84 coordinate system. The random error value generated by the electronic device 100 through the random algorithm may include "latitude error: 0.000000056, longitude error: 0.000000023". The electronic device 100 adds the latitude error value in the random error value to the latitude value of the high-precision positioning coordinates, and adds the longitude error value in the random error value to the longitude value of the high-precision positioning coordinates to obtain ordinary positioning coordinates. Among them, the ordinary positioning coordinates may be "latitude: 22.533867443389293", longitude: 113.918884596070101".
[0234] S910. The electronic device 100 may report the normal positioning coordinates to the second application.
[0235] The second application can provide services such as positioning and navigation based on common positioning coordinates and map resource packages.
[0236] The following describes a positioning method provided in an embodiment of the present application in conjunction with an application scenario.
[0237] In some application scenarios, the electronic device 100 may include a map application, wherein the map application may be a high-precision application. After receiving a navigation operation from the user in the navigation application, the electronic device 100 may obtain the first GNSS observation data and positioning assistance data, and calculate high-precision positioning coordinates based on the first GNSS observation data and positioning assistance data. The electronic device 100 may add a deflection factor and encrypt the high-precision positioning coordinates in sequence to obtain encrypted high-precision deflected coordinates, and report them to the map application. The map application may decrypt the high-precision deflected coordinates and complete services such as lane-level navigation.
[0238] For example, Figure 10AAs shown, the electronic device 100 can display an interface 1010 of a home screen, in which a page with application icons is displayed, and the page includes multiple application icons (for example, a weather application icon, a stock application icon, a calculator application icon, a settings application icon, an email application icon, a music application icon, a video application icon, a browser application icon, a map application icon 1011, a gallery application icon, a memo application icon, a voice assistant application icon, etc.). Optionally, a page indicator is also displayed below the multiple application icons to indicate the total number of pages on the home screen and the positional relationship between the currently displayed page and other pages. For example, the interface 1010 of the home screen may include three pages, and a white dot in the page indicator may indicate that the currently displayed page is the rightmost page of the three pages. Further optionally, there are multiple tray icons (for example, a dial application icon, a message application icon, a contact application icon, a camera application icon) below the page indicator, and the tray icon remains displayed when the page is switched.
[0239] The electronic device 100 may receive an input operation (eg, a single click) from the user on the map application icon 1011. In response to the input operation, the electronic device 100 may display the following information: Figure 10B The map application interface 1020 is shown.
[0240] like Figure 10B As shown, the map application interface 1020 may include an address search input box 1021, a search control 1022, a map 1023, and a location marker 1024 of the electronic device 100 on the map 1023. The address search input box 1021 may be used to receive an address name input by a user. The search control 1022 may be used to trigger the electronic device 100 to display location information corresponding to the address name input by the user.
[0241] The electronic device 100 can receive the address name (for example, "Shenzhen Wildlife Park") entered by the user in the address search input box 1021. Then, the electronic device 100 can receive the user's input operation (for example, a single click) on the search control 1022. In response to the input operation, the electronic device 100 can display the location mark corresponding to the address name and the location information corresponding to the address name in the map 1023.
[0242] Specifically, such as Figure 10CAs shown, after the electronic device 100 receives the address name input by the user (for example, "Shenzhen Wildlife Park") and searches for the location information corresponding to the address name, the electronic device 100 can display the location mark 1025 corresponding to the address name and the details page 1030 corresponding to the address name on the map 1023. Among them, the details page 1030 of the address name includes the location information 1031 corresponding to the address name (for example, "No. 4065, Xili Lake Road, Nanshan District, Shenzhen City, Guangdong Province", etc.), a route control 1032, a navigation control 1033, and the like. The route control 1032 can be used to trigger the electronic device 100 to display the route information from the location of the electronic device 100 to the location corresponding to the address name. The navigation control 1033 can be used to trigger the electronic device 100 to display the navigation information from the location of the electronic device 100 to the address name.
[0243] The electronic device 100 may receive an input operation (eg, a click) from the user on the navigation control 1033, and in response to the input operation, display the following information: Figure 10D The navigation interface 1040 shown. The electronic device 100 can also obtain the first GNSS observation information through the GNSS chip in response to the input operation for the navigation control 1033, and the positioning assistance data broadcast by the server 200 or the base station or the satellite. The electronic device 100 can determine the high-precision positioning coordinates based on the first GNSS observation information and the positioning assistance data. The electronic device 100 can add a deflection factor and encrypt the high-precision positioning coordinates in sequence to obtain encrypted high-precision deflected coordinates, and report them to the map application. The electronic device 100 can determine the navigation information displayed on the navigation interface 1040 based on the high-precision deflected coordinates and the map resource package. The navigation information includes route information, speed information of the electronic device 100, lane information, and the like.
[0244] like Figure 10DAs shown, the navigation interface 1040 may include a map 1041, a location marker 1042, a location marker 1025, a route 1043, distance and time information 1044, an exit control 1045, more controls 1046, and the like. The location marker 1042 is used to indicate the location of the electronic device 100 on the map 1041. The speed information of the electronic device 100 (for example, "0 km / h" in this case) may be displayed on the location marker 1042. The location marker 1025 may be used to indicate the location of the destination (for example, "Shenzhen Wildlife Park") on the map 1041. The route 1043 may be used to indicate route information from the location of the electronic device 100 to the destination. The distance and time information 1044 is used to indicate the distance of the electronic device 100 from the destination (for example, "15 kilometers remaining") and the estimated time to arrive at the destination (for example, "expected arrival at 8:28"). The exit control 13456 may be used to trigger the electronic device 100 to end navigation. The more control 1346 can be used to trigger the electronic device 100 to display more navigation-related function controls. The electronic device 100 can also display prompt information 1046 on the navigation interface 1340, and the prompt information 1046 is used to prompt the user that the electronic device 100 is determining the navigation information displayed on the navigation interface 1040.
[0245] like Figure 10E As shown, after determining the navigation information, the electronic device 100 may display a navigation prompt box 1051 on the navigation interface 1040. The navigation prompt box 1051 displays the navigation information. The navigation information includes the lane 1052 in which the electronic device 100 is located, lane route information 1053, and driving direction (e.g., "Please keep straight, toward Bell Road").
[0246] The above examples are only used to explain the present application and should not be construed as limiting.
[0247] Please refer to Figure 11 , which shows another structural schematic diagram of an electronic device 100 provided in an embodiment of the present application.
[0248] like Figure 11As shown, the electronic device 100 includes: a processor 1101, a receiver 1102, a transmitter 1103, a memory 1104, a GNSS chip 1105, and a bus 1106. The processor 1101 includes one or more processing cores, and the processor 1101 executes various functional applications and information processing by running software programs and modules. The receiver 1102 and the transmitter 1103 can be implemented as a communication component, which can be a baseband chip. The memory 1104 is connected to the processor 1101 via the bus 1106. The memory 1104 can be used to store at least one program instruction, and the processor 1101 is used to execute at least one program instruction to implement the technical solution of the above-mentioned embodiment. Its implementation principle and technical effects are similar to those of the above-mentioned method-related embodiments and will not be repeated here.
[0249] In some embodiments, the electronic device 100 may further include an inertial measurement unit (IMU) Figure 11 (not shown), the textual description of the inertial measurement unit can refer to the aforementioned embodiment and will not be repeated here.
[0250] In the embodiments of the present application, the processor 1101 may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0251] In the embodiment of the present application, the memory 1104 may be a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SS), or a volatile memory, such as a random-access memory (RAM). A memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, without limitation.
[0252] The memory 1104 in the embodiment of the present application can also be a circuit or any other device capable of implementing a storage function, for storing program instructions and / or data. The methods provided in the various embodiments of the present application can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital video disc (DWD), or a semiconductor medium (e.g., an SSD), etc.
[0253] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A positioning method, characterized in that: include: The electronic device obtains a first positioning instruction of the first application; In response to the first positioning instruction, the electronic device calculates high-precision positioning coordinates in a first coordinate system based on first global satellite navigation system GNSS observation data and positioning assistance data; The electronic device adds a deflection factor to the high-precision positioning coordinates and encrypts them using a preset encryption algorithm to obtain encrypted deflection coordinates; The electronic device reports the encrypted deflected coordinates to the first application.
2. The method according to claim 1, characterized in that Before the electronic device calculates the high-precision positioning coordinates in the first coordinate system based on the first GNSS observation data and the positioning assistance data, the method further includes: The electronic device acquires the first GNSS observation data through the GNSS chip; The electronic device obtains the positioning assistance data.
3. The method according to claim 1, characterized in that The electronic device adds a deflection factor to the high-precision positioning coordinates and encrypts them using a preset encryption algorithm to obtain encrypted deflection coordinates, specifically including: The electronic device adds a deflection factor to the high-precision positioning coordinates to obtain high-precision deflection coordinates in a second coordinate system; The electronic device encrypts the high-precision deflection coordinates using a preset encryption algorithm to obtain the encrypted deflection coordinates.
4. The method according to claim 1, wherein The method further comprises: The electronic device obtains a second positioning instruction of the second application; In response to the second positioning instruction, the electronic device calculates common positioning coordinates in the first coordinate system; The electronic device reports the common positioning coordinates to the second application.
5. The method according to claim 4, characterized in that The electronic device calculates the common positioning coordinates in the first coordinate system, specifically including: The electronic device acquires second GNSS observation data through the GNSS chip; The electronic device calculates the common positioning coordinates in the first coordinate system based on the second GNSS observation data.
6. The method according to claim 4 or 5, characterized in that The electronic device includes a high-precision positioning engine and a common positioning engine; the electronic device calculates the high-precision positioning coordinates in the first coordinate system, specifically including: The electronic device calculates the high-precision positioning coordinates in the first coordinate system through the high-precision positioning engine; The electronic device calculates the common positioning coordinates in the first coordinate system, specifically including: The electronic device calculates the common positioning coordinates in the first coordinate system through the common positioning engine.
7. The method according to claim 1 or 2, characterized in that The electronic device includes a positioning engine, and the positioning engine includes a high-precision positioning function and a general positioning function; The electronic device calculates the high-precision positioning coordinates in the first coordinate system, specifically including: The electronic device activates the high-precision positioning function of the positioning engine, and calculates the high-precision positioning coordinates in the first coordinate system through the positioning engine; The method further comprises: The electronic device obtains a second positioning instruction of the second application; When the difference between the time when the first positioning instruction is obtained and the time when the second positioning instruction is obtained is less than a preset time length, the electronic device adds a random error to the high-precision positioning coordinates to obtain ordinary positioning coordinates, and the accuracy value of the ordinary positioning coordinates is greater than the accuracy value of the high-precision positioning coordinates; The electronic device reports the common positioning coordinates to the second application.
8. The method according to claim 7, characterized in that The method further comprises: When the time difference between the time of obtaining the first positioning instruction and the time of obtaining the second positioning instruction is greater than or equal to the preset time length, the electronic device activates the normal positioning function of the positioning engine and obtains the second GNSS observation data through the GNSS chip; The electronic device calculates the common positioning coordinates based on the second GNSS observation data through the positioning engine.
9. The method according to claim 7, characterized in that When the electronic device calculates the high-precision positioning coordinates in the first coordinate system through the positioning engine, the method further includes: The electronic device determines the positioning accuracy value of the high-precision positioning coordinates; The method further comprises: When the difference between the time when the first positioning instruction is obtained and the time when the second positioning instruction is obtained is less than the preset time length, and the positioning accuracy value of the high-precision positioning coordinates is less than the preset accuracy value, the electronic device adds a random error to the high-precision positioning coordinates to obtain ordinary positioning coordinates, and the accuracy value of the ordinary positioning coordinates is greater than the accuracy value of the high-precision positioning coordinates; When the difference between the time when the first positioning instruction is obtained and the time when the second positioning instruction is obtained is less than the preset time, and the positioning accuracy value of the high-precision positioning coordinates is greater than or equal to the preset accuracy value, the electronic device determines the high-precision positioning coordinates as the ordinary positioning coordinates.
10. The method according to claim 2, characterized in that The first GNSS observation data includes one or more of pseudorange observations and Doppler frequency observations and carrier phase observations; Before the electronic device acquires the positioning assistance data, the method further includes: The electronic device calculates a probabilistic position based on the first GNSS observation data; The electronic device sends the probabilistic position to a server; The electronic device obtains the positioning assistance data, specifically including: The electronic device obtains the positioning assistance data determined by the server based on the probabilistic position and the observation data and position information when N reference stations observe satellites, where the positioning assistance data includes the observation data and position information of the reference stations, and N is a positive integer; The electronic device calculates high-precision positioning coordinates in a first coordinate system based on the first GNSS observation data and the positioning assistance data, specifically including: The electronic device calculates the high-precision positioning coordinates in the first coordinate system through a real-time kinematic (RTK) positioning method based on the first GNSS observation data and the positioning assistance data.
11. The method according to claim 2, characterized in that The first GNSS observation data includes one or more of pseudorange observations and Doppler frequency observations and carrier phase observations; The electronic device obtains the positioning assistance data, specifically including: The electronic device receives the positioning assistance data broadcasted by a mobile communication base station or a satellite, wherein the positioning assistance data includes one or more of precise ephemeris or ephemeris correction data and atmospheric correction data; The electronic device calculates high-precision positioning coordinates in a first coordinate system based on the first GNSS observation data and the positioning assistance data, specifically including: The electronic device calculates the high-precision positioning coordinates in the first coordinate system through a precise single-point PPP positioning method based on the first GNSS observation data and the positioning assistance data.
12. The method according to claim 5, characterized in that The second GNSS observation data includes one or more of pseudorange observations and Doppler frequency observations.
13. The method according to claim 1 or 2 or 10 or 11, characterized in that After the electronic device acquires the first positioning instruction, the method further includes: The electronic device may acquire inertial measurement data through an inertial measurement unit, where the inertial measurement data includes acceleration sensor data and gyroscope sensor data of the electronic device; The electronic device calculates high-precision positioning coordinates in a first coordinate system based on the first GNSS observation data and the positioning assistance data, specifically including: The electronic device performs inertial navigation based on the first GNSS observation data and positioning assistance data, as well as the inertial measurement data, to calculate the high-precision positioning coordinates in the first coordinate system.
14. The method according to claim 5 or 12, characterized in that After the electronic device acquires the second positioning instruction, the method further includes: The electronic device may acquire inertial measurement data through an inertial measurement unit, where the inertial measurement data includes acceleration sensor data and gyroscope sensor data of the electronic device; The electronic device calculates the common positioning coordinates in the first coordinate system based on the second GNSS observation data, specifically including: The electronic device performs inertial navigation based on the second GNSS observation data and the inertial measurement data to calculate the common positioning coordinates in the first coordinate system.
15. The method according to claim 1, wherein After the electronic device reports the encrypted deflected coordinates to the first application, the method further includes: The electronic device decrypts the encrypted deflection coordinates using a decryption key corresponding to the preset encryption algorithm in the first application to obtain high-precision deflection coordinates; The electronic device performs lane-level navigation using the map resource package provided by the first application and the high-precision deflection coordinates.
16. The method according to claim 2, characterized in that The electronic device acquires first GNSS observation data through the GNSS chip, specifically including: The electronic device authenticates the first application. When the authentication of the first application is successful, the electronic device obtains the first GNSS observation data through the GNSS chip.
17. The method according to claim 16, characterized in that The electronic device authenticates the first application, specifically including: The electronic device sends an authentication request to an authentication server, where the authentication request includes an identifier of the first application; When the electronic device receives the authentication success information sent by the authentication server, the electronic device successfully authenticates the first application.
18. The method according to claim 16, characterized in that The electronic device authenticates the first application, specifically including: The electronic device determines whether the high-precision application whitelist includes the identifier of the first application. If so, the electronic device successfully authenticates the first application, wherein the high-precision application whitelist includes the identifiers of one or more high-precision applications.
19. The method according to claim 3, characterized in that The first coordinate system is the World Geodetic System WGS84 coordinate system, and the second coordinate system is the National Bureau of Surveying and Mapping GCJ02 coordinate system.
20. The method according to claim 1, wherein The preset encryption algorithm includes: SM4 national encryption algorithm.
21. An electronic device, characterized in that: include: One or more processors, a GNSS chip, and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, wherein the computer program code includes computer instructions, and when the one or more processors execute the computer instructions, the electronic device executes the method according to any one of claims 1 to 20.
22. A chip system, applied to electronic equipment, characterized in that: The chip system includes an application processor and a GNSS chip, and the chip system executes the method according to any one of claims 1 to 20.
23. A computer storage medium, characterized in that The method comprises computer instructions, which, when executed on an electronic device, cause the electronic device to execute the method according to any one of claims 1 to 20.
24. A computer program product, characterized in that When the computer program product is run on an electronic device, the electronic device is enabled to perform the method according to any one of claims 1 to 20.
Citation Information
Patent Citations
Positioning method and device based on electronic equipment
CN104821956A
Calibration method based on dead reckoning technique, and portable electronic device
CN107003132A