Positioning method, electronic equipment and computer readable storage medium
By combining the GNSS module and the auxiliary positioning module with periodic time-division control, the problem of high power consumption of the GNSS module is solved, achieving high-precision positioning with low power consumption, extending the device's battery life and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-09-28
- Publication Date
- 2026-05-12
AI Technical Summary
In existing positioning technologies, the high power consumption caused by the continuous reception of satellite signals by the GNSS module affects the device's battery life and user experience.
The positioning method employs periodic time-division control. During the first period of the preset positioning cycle, the GNSS module is activated, and during the second period, the GNSS module is deactivated. An auxiliary positioning module, such as an inertial navigation positioning module, is activated. The position is calculated using an inertial sensor module. The method combines multiple positioning modules, such as cellular, WiFi, and Bluetooth, to work together to ensure the continuity and accuracy of positioning.
It effectively reduces device power consumption, extends battery life, ensures the continuity and accuracy of positioning, and improves user experience.
Smart Images

Figure CN122017900A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminal technology, and in particular to positioning methods, electronic devices, and computer-readable storage media. Background Technology
[0002] With the rapid development of technology, positioning technology plays an indispensable role in many fields. Whether it is navigation applications on smartphones, autonomous driving systems for vehicles, or cargo positioning in logistics and transportation, all of these places increasingly higher demands on positioning accuracy, stability, and power consumption.
[0003] Currently, in the field of positioning technology, the fusion positioning scheme combining Global Navigation Satellite System (GNSS) and Inertial Navigation has become a common solution for improving positioning accuracy and reliability due to its integration of the advantages of both. In existing schemes, when electronic devices are positioning, the GNSS module needs to continuously communicate with the satellite, and the supporting radio frequency (RF) module and clock module also operate synchronously to support uninterrupted positioning; the inertial navigation module calculates the acceleration and angular velocity data collected by the inertial measurement unit (IMU), and its calculation results are combined with the GNSS positioning results to provide data for subsequent fusion processing, ultimately achieving high-precision positioning.
[0004] However, in the above working mode, the GNSS module needs to continuously receive satellite signals in order to achieve continuous positioning, which leads to a significant increase in the overall power consumption of the device. Especially for mobile positioning devices that rely on battery power, excessive power consumption will directly shorten the device's battery life and affect the user experience. Summary of the Invention
[0005] To this end, this application provides a positioning method, an electronic device, and a computer-readable storage medium, which not only ensures the continuity of positioning but also reduces device power consumption and improves user experience.
[0006] To achieve the above objectives, this application adopts the following technical solution:
[0007] Firstly, a positioning method is provided for use in an electronic device, which includes a GNSS module and an auxiliary positioning module. The method includes:
[0008] When the electronic device is detected to be in positioning mode, the GNSS module is activated during the first time period of the preset positioning cycle; the positioning result corresponding to the first time period is output, which is generated based on the information output by the GNSS module; the GNSS module is deactivated during the second time period, and the auxiliary positioning module, including the inertial navigation positioning module, is activated during the second time period. The second time period is the time period in the preset positioning cycle excluding the first time period; the positioning result corresponding to the second time period is output, which is generated based on the information output by the auxiliary positioning module.
[0009] The above methods can be executed by electronic devices, for example, by modules (such as processors, chips, or chip systems) applied in electronic devices, or by logic modules or software that can implement all or part of the functions of electronic devices.
[0010] In the methods described above, traditional GNSS modules consume a lot of power during continuous operation. This application optimizes power consumption through periodic time-division control: within a preset positioning cycle, the GNSS module is only activated in the first time period and deactivated in the second time period. This effectively reduces the operating time of the GNSS module and lowers the power consumption of the electronic device caused by the continuous operation of the GNSS module. This is especially beneficial for battery-powered mobile devices (an example of an electronic device), effectively extending battery life. Furthermore, to avoid positioning interruptions caused by the GNSS module being deactivated in the second time period, the electronic device activates a lower-power auxiliary positioning module (such as an inertial navigation positioning module) in the second time period. This auxiliary positioning module can acquire motion information (such as acceleration and angular velocity data) from the inertial sensor module and continuously calculate the current position of the electronic device—even in scenarios where GNSS signals are unavailable or weak, it can still stably output positioning results, ensuring the continuity of positioning and providing uninterrupted positioning services to users, thus improving the user experience.
[0011] In one possible implementation, the auxiliary positioning module further includes at least one of a cellular positioning module, a WiFi positioning module, or a Bluetooth positioning module.
[0012] In some application scenarios, auxiliary positioning modules also include other types of positioning modules to achieve scenario complementarity, allowing electronic devices to maintain positioning capabilities in more complex environments. For cellular positioning modules, which primarily rely on base station signals, even in enclosed environments where GNSS signals are completely absent, such as indoors or underground parking garages, as long as the electronic device (such as a mobile phone) is within signal coverage, its specific location can be obtained through base station triangulation, effectively solving the problem of positioning interruption when there is no GNSS signal. For WiFi positioning modules, they have significant advantages in indoor scenarios (such as shopping malls, office buildings, and homes). By scanning the media access control address (MAC) addresses of surrounding WiFi hotspots and combining this with a WiFi location database, they can quickly and accurately determine the specific location of the electronic device indoors, compensating for the errors that may occur with long-term calculations by inertial navigation positioning modules indoors. For Bluetooth positioning modules, they are suitable for short-range, high-precision positioning (such as indoor navigation and device anti-loss). For example, in large venues, meter-level or even sub-meter-level positioning can be achieved using Bluetooth beacons, meeting higher precision positioning requirements. In addition, electronic devices support the collaborative operation of multiple types of positioning modules such as cellular, WiFi, and Bluetooth. This ensures that when one type of auxiliary positioning module fails (e.g., there is no cellular signal but there is a WiFi signal indoors), the device will automatically switch to other available modules to ensure uninterrupted positioning services.
[0013] In one possible implementation, the electronic device further includes an external radio frequency module, an external clock module, and a GNSS baseband module, and the method further includes: during a first time period, performing a power-down operation on at least one of the following modules: the external radio frequency module, the external clock module, or the GNSS baseband module.
[0014] In some applications, electronic devices can optimize power consumption through power-down management during specific time periods. For example, during a specific time period, an electronic device can power down at least one of the following modules: an external radio frequency module, an external clock module, or a GNSS baseband module, directly cutting off their power supply. Since these modules consume power during normal operation, especially the external radio frequency module which consumes more power when receiving radio frequency signals, power-down operations prevent unnecessary power waste, thereby reducing the overall energy consumption of the electronic device. This approach is particularly crucial for battery-powered electronic devices such as portable navigation devices, smart wearables, and mobile phones. With a fixed battery capacity, lower energy consumption translates to longer battery life, reducing the inconvenience of frequent charging and ultimately improving the user experience.
[0015] In one possible implementation, the GNSS module also includes an internal clock module and an ephemeris cache module. The method further includes: keeping the internal clock module and the ephemeris cache module in the on state throughout the entire preset positioning period. The internal clock module is used to maintain the count within the preset positioning period, and the ephemeris cache module is used to cache the latest ephemeris information and the auxiliary position information output by the auxiliary positioning module.
[0016] In some application scenarios, the internal clock module remains continuously active and maintains a count throughout the preset positioning cycle, providing a stable and accurate time reference for the GNSS module. This allows the GNSS module to immediately begin operation without needing to spend time on clock initialization and calibration when positioning is required, significantly shortening the positioning startup time. Furthermore, the stable operation of the internal clock module ensures the accuracy of time measurements, thereby contributing to improved positioning precision and enabling electronic devices to more accurately determine their own location. Meanwhile, the ephemeris cache module continuously operates and caches the latest ephemeris information (such as satellite orbital parameters and other critical information), allowing the GNSS module to quickly acquire the precise position of satellites. This avoids the need to re-download ephemeris data from satellites or other external data sources for each positioning attempt, saving significant data demodulation or transmission time. Simultaneously, caching the auxiliary position information output by the auxiliary positioning module allows for fusion processing of this information with the GNSS positioning data, further optimizing the positioning results and improving positioning accuracy.
[0017] In one possible implementation, the above method further includes: when the next cycle arrives, the GNSS module is switched from active to positioning state based on the latest ephemeris information and auxiliary position information.
[0018] Traditional GNSS modules, once activated, often require a considerable amount of time to search for satellite signals, download ephemeris data, and complete initial positioning calculations. This application, however, utilizes the latest ephemeris information, allowing the GNSS module to know the precise position and operational status of satellites in advance, eliminating the need for time-consuming downloads. Simultaneously, auxiliary position information provides an initial position reference, significantly shortening the satellite search and positioning time. This enables the GNSS module to quickly transition from the activated state to an effective positioning state, improving positioning response speed. For applications with high real-time requirements, such as navigation control of autonomous vehicles, this method effectively reduces positioning latency by rapidly entering the positioning state, ensuring that electronic devices can obtain location information promptly and accurately, thereby making correct decisions and actions, and improving the real-time performance and safety of the equipment.
[0019] In one possible implementation, after the GNSS module re-enables positioning, the above method further includes: performing frequency offset verification on the real-time clock (RTC) of the internal clock module based on the timing information obtained by the GNSS module repositioning, and / or updating the auxiliary position information based on the new position information obtained by the GNSS module repositioning.
[0020] In some application scenarios, the timing information obtained by the GNSS module after repositioning can be used to perform frequency offset verification on the internal RTC to detect frequency deviations generated during RTC operation. Timely adjustments and corrections ensure high accuracy of the RTC's time, providing a reliable time reference for various functions of electronic equipment and ensuring the accurate execution of time-related operations, such as timed tasks and data recording timestamps. Furthermore, the new position information obtained after the GNSS module repositions can be used to update auxiliary position information. Auxiliary position information plays a crucial role in GNSS positioning, providing an initial position estimate for the positioning algorithm, helping the GNSS module to quickly search for visible satellites, shortening positioning time, and improving positioning efficiency. Especially in environments with weak or obstructed signals, accurate auxiliary position information can effectively improve the success rate and accuracy of positioning.
[0021] In one possible implementation, the electronic device further includes a GNSS baseband module, and the above method further includes at least one of the following methods for updating ephemeris information: updating the ephemeris information cached in the ephemeris cache module based on the latest ephemeris information demodulated by the GNSS baseband module; receiving the latest ephemeris information sent by the server, and updating the ephemeris information stored in the ephemeris cache module based on the latest ephemeris information.
[0022] In some application scenarios, the latest ephemeris information demodulated by the GNSS baseband module includes crucial information such as precise satellite orbit parameters and clock correction data. Based on this key information, electronic devices can more accurately determine the distance between the satellite and the receiver during positioning calculations, thereby reducing positioning errors and significantly improving positioning accuracy. Similarly, the latest ephemeris information sent by the server has also undergone professional processing and updates, providing reliable data support for positioning and further improving positioning accuracy. Furthermore, when electronic devices use the latest ephemeris information cached locally, they do not need to spend a significant amount of time downloading ephemeris data from satellites in real time, as is the case with traditional methods. The latest ephemeris information demodulated by the GNSS baseband module or sent by the server can be updated in a timely manner, enabling electronic devices to quickly obtain the required ephemeris data when positioning is needed, rapidly completing satellite search and positioning initialization, greatly shortening the time from startup to obtaining effective positioning results, and effectively improving the real-time performance of positioning.
[0023] In one possible implementation, during the second time period, the above method further includes: determining the positioning result using inertial navigation positioning information.
[0024] In some application scenarios, because the GNSS module is off during the second period while the inertial positioning module is on, the electronic device can still calculate its position using the inertial positioning module (such as an accelerometer or gyroscope) even without a GNSS signal (i.e., the GNSS module is not working). This solves the problem of no positioning results when the GNSS module is off, ensuring a continuous and uninterrupted positioning process. Furthermore, the inertial positioning module calculates its position based on the electronic device's own motion state, unlike the GNSS module which continuously receives satellite signals, or the cellular / WiFi positioning which relies on external signal interaction. Its power consumption is far lower than that of the GNSS module. Therefore, the electronic device can use the information from the inertial positioning module to determine the positioning result during the second period, achieving the positioning function normally without significantly increasing the device's power consumption.
[0025] In one possible implementation, the electronic device further includes a sensor module, and before determining the positioning result through inertial navigation positioning information, the method further includes: acquiring at least one of the following sensing data through the sensor module: gyroscope data, accelerometer data, magnetometer data, or barometer data; and generating inertial navigation positioning information based on the sensing data.
[0026] In some application scenarios, such as urban canyons, indoor spaces, and tunnels, GNSS signals may be severely blocked or interfered with, making it impossible to obtain effective positioning information. However, gyroscopes, accelerometers, and barometers in the sensor module can continuously operate, providing motion status information for the electronic device. Gyroscope data can accurately measure the angular velocity of the electronic device, accelerometer data can obtain acceleration information, magnetometer data can be used to determine the orientation of the electronic device, and barometer data can help determine changes in altitude. Inertial navigation positioning information is generated from this sensor data, enabling continuous positioning even when GNSS signals are missing. This ensures that the electronic device provides uninterrupted positioning services in various environments, avoiding the inconvenience caused by positioning interruptions. Furthermore, inertial navigation positioning information can be fused with GNSS positioning information for mutual correction and supplementation, reducing the error of a single positioning method and thus improving overall positioning accuracy. For example, in dynamic positioning scenarios, inertial navigation positioning information can better track the rapid changes in the movement of the electronic device, compensating for the delay and errors in GNSS module positioning.
[0027] In one possible implementation, during the second time period, the method further includes: determining the positioning result using at least one of the following positioning information: WiFi positioning information, cellular positioning information, or Bluetooth positioning information.
[0028] In some application scenarios, electronic devices can determine the positioning result for the second time period using one or more positioning information. For example, in the second time period, if one positioning method becomes unusable due to environmental changes (such as signal loss when entering indoors) or equipment malfunction, other positioning methods can still function normally, ensuring uninterrupted positioning services and providing users with continuous and reliable positioning results. For instance, in scenarios where GNSS positioning fails, such as large shopping malls or underground parking lots, modules such as WiFi and Bluetooth can take over to avoid positioning interruptions. By comprehensively utilizing multiple positioning information sources, electronic devices can adapt to various complex environments, expanding the effective range of positioning services. Whether users are in city streets, indoor venues, or remote areas, they can potentially obtain accurate positioning. In other words, in the second time period, electronic devices fuse and process positioning information from different sources, fully leveraging their respective advantages, mutually correcting and supplementing each other, thereby effectively improving positioning accuracy and meeting users' needs for high-precision positioning.
[0029] In one possible implementation, the electronic device also includes a WiFi positioning module. Before determining the positioning result through WiFi positioning information, the method further includes: periodically scanning the WiFi signal of the electronic device through the WiFi positioning module; and performing positioning calculations based on the WiFi signal, combined with a local database or a cloud database, to generate WiFi positioning information.
[0030] In some application scenarios, such as shopping malls and office buildings, electronic devices can periodically scan WiFi signals using WiFi positioning modules and perform location calculations based on the WiFi signals and related databases, thereby providing reliable location services and effectively expanding the availability of location services. Compared to a single signal source, this information, as reference data for location calculations, can provide richer feature information. By combining the location information of WiFi access points stored in local or cloud databases (which can also be called WiFi location databases), and using specific algorithms (such as triangulation and fingerprint positioning methods) for location calculations, the specific location of electronic devices can be determined more accurately, effectively improving positioning accuracy.
[0031] In one possible implementation, the electronic device further includes a cellular positioning module. Before determining the positioning result through the cellular positioning information, the method further includes: acquiring the cellular measurement signal of the electronic device through the cellular positioning module; and performing positioning calculations based on the cellular measurement signal and combining it with a local database or a cloud database to generate cellular positioning information.
[0032] In some application scenarios, electronic devices can obtain cellular measurement signals from cellular positioning modules to improve positioning accuracy. These cellular measurement signals contain a variety of information, such as signal strength, time of arrival, and angle of arrival. Based on this multi-dimensional information, combined with base station locations and signal characteristics stored in local or cloud databases, and further analyzed using algorithms such as triangulation and fingerprint positioning, the electronic device can accurately determine its specific location, thereby effectively improving positioning accuracy.
[0033] In one possible implementation, the electronic device also includes a Bluetooth positioning module. Before determining the positioning result through Bluetooth positioning information, the method further includes: periodically scanning Bluetooth signals around the electronic device through the Bluetooth positioning module; and performing positioning calculations based on the Bluetooth signals, combined with a local database or a cloud database, to generate Bluetooth positioning information.
[0034] In some application scenarios, such as shopping malls, museums, and airports, Bluetooth beacons are widely deployed. Electronic devices can periodically scan Bluetooth signals to capture the precise location information of these beacons. By combining the detailed coordinate data of the beacons stored locally or in a cloud database, and using specific positioning algorithms (such as trilateration), high-precision positioning can be achieved. For example, in indoor spaces with walls or obstacles, electronic devices can rely on Bluetooth positioning modules for positioning, ensuring the continuity and availability of positioning services and reducing positioning interruptions caused by signal loss.
[0035] In one possible implementation, the method further includes: acquiring motion state information of the electronic device, including linear motion state or non-linear motion state; and adjusting a preset positioning cycle based on the motion state information.
[0036] In some application scenarios, when an electronic device is stationary or in linear motion, its motion is stable. In this case, the device can lengthen its preset positioning cycle to reduce the frequency of data acquisition, processing, and external interaction, thus lowering its computational burden and extending battery life. Conversely, when the device is in non-linear motion (such as running or turning), its position and environment change rapidly. In this case, the preset positioning cycle can be shortened. While this increases energy consumption, it avoids errors caused by information lag, ensuring accurate positioning. For example, in indoor navigation, when a user is walking in a straight line, the device can use a longer preset positioning cycle to save power. When approaching a turn or requiring precise positioning, it can automatically switch to a shorter preset positioning cycle to ensure navigation accuracy. This dynamic adjustment mechanism of the preset positioning cycle allows the device to better adapt to complex scenarios, improving the practicality and reliability of positioning.
[0037] In one possible implementation, the above method further includes: acquiring satellite information, which includes at least one of the following: number of satellites, signal strength, satellite distribution, or observation error; evaluating satellite signal quality based on the satellite information; and adjusting at least one of the following based on the evaluation results of satellite signal quality: preset positioning period, satellite constellation, and / or operating frequency.
[0038] In some application scenarios, when the evaluation result indicates that the current satellite signal quality is good, it means that there are many satellites, the signal strength is strong, and the distribution is good. In this case, the electronic device can appropriately extend the preset positioning period, because the signal acquired over a longer time interval can still guarantee high positioning accuracy, while reducing the data processing burden and power consumption caused by frequent sampling. Conversely, when the evaluation result indicates that the current satellite signal quality is poor, it means that the number of detected satellites is reduced, the signal strength is weak, etc. The electronic device can shorten the preset positioning period, increase the sampling frequency, and promptly capture subtle changes in satellite signals, using more data to provide users with stable and accurate positioning services. In other application scenarios, the electronic device can also automatically switch to other satellite constellations with better signal quality, or switch to other operating frequencies with less interference, based on the satellite signal quality evaluation result, such as when the evaluation result indicates poor satellite signal quality. This can effectively avoid the impact of signal interference on positioning, ensure stable reception and processing of satellite signals, and thus improve positioning accuracy and reliability.
[0039] In a second aspect, embodiments of this application provide an electronic device, which includes a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, causing the electronic device to perform the methods described in the first aspect and various possible implementations of the first aspect.
[0040] Thirdly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the methods described in the first aspect and various possible implementations of the first aspect.
[0041] Fourthly, embodiments of this application provide a computer program product, which includes computer program code that, when executed by an electronic device, causes the electronic device to perform the methods described in the first aspect and various possible implementations of the first aspect.
[0042] Fifthly, embodiments of this application provide a chip system including a processing circuit and a storage medium storing computer program instructions; when the computer program instructions are executed by the processing circuit, they implement the methods described in the first aspect and various possible implementations of the first aspect.
[0043] Optionally, the processing circuitry in the above-mentioned chip system can be replaced by a processor, and the storage medium can be replaced by a memory. Optionally, the chip system may also include a communication interface for enabling communication between the chip system and a receiving device.
[0044] The beneficial effects of the technical solutions in the second to fifth aspects of this application can be the same as the beneficial effects of the technical solutions in the first aspect, and will not be repeated here. Attached Figure Description
[0045] Figure 1 A schematic diagram of the hardware structure of an electronic device 100 provided in an embodiment of this application;
[0046] Figure 2 A schematic diagram of the software architecture of an electronic device 100 provided in an embodiment of this application;
[0047] Figure 3 A schematic diagram of the flow steps of a positioning method 300 provided in an embodiment of this application;
[0048] Figures 4A to 4C Some software architecture diagrams provided for embodiments of this application;
[0049] Figures 5A to 5D Further software architecture diagrams provided for embodiments of this application;
[0050] Figures 6A to 6F This application provides further schematic diagrams illustrating various application scenarios.
[0051] Figure 7 This is a schematic diagram of the structure of another electronic device 700 provided in the embodiments of this application. Detailed Implementation
[0052] To clearly describe the technical solutions of the embodiments of this application, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be noted that the embodiments described in this application are only some embodiments of this application, and not all embodiments.
[0053] In the description of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. In the description of this application, "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. "At least one" means one or more, and "more" means two or more. The terms "first" and "second," etc., in the specification and claims of this application are used to distinguish different objects or to distinguish different treatments of the same object, not to describe a specific order of objects. For example, "first terminal" and "second terminal," etc., are used to distinguish different electronic devices, not to describe a specific order of electronic devices. Those skilled in the art will understand that the words "first," "second," etc., do not limit the quantity or order of execution, and that "first," "second," etc., do not necessarily imply difference.
[0054] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0055] As can be seen from the above background technical analysis, when electronic devices provide continuous positioning services to users, they usually keep the GNSS module running continuously. Because the GNSS module needs to continuously receive satellite signals and complete signal acquisition, the overall power consumption of the device increases significantly, affecting the user experience.
[0056] To address this, this application proposes a positioning method that not only ensures the continuity of positioning but also reduces device power consumption and improves user experience.
[0057] In this method, when the electronic device is detected to be in positioning mode, the GNSS module can be activated during the first time period of a preset positioning cycle, and a positioning result generated based on the information output by the GNSS module can be output during the first time period. During the second time period, the electronic device deactivates the GNSS module and activates an auxiliary positioning module, outputting a positioning result generated based on the information output by the auxiliary positioning module. This method, which activates the GNSS module only during the first time period and deactivates it during the second time period, effectively reduces the GNSS module's operating time and lowers the power consumption of the electronic device due to continuous GNSS module operation. Furthermore, the electronic device activates a lower-power auxiliary positioning module (such as an inertial navigation positioning module) during the second time period, avoiding positioning interruptions caused by the GNSS module's deactivation. This auxiliary positioning module can acquire motion information (such as acceleration and angular velocity) from the electronic device through an inertial sensor module, continuously calculating the current position of the electronic device to provide continuous positioning services and improve the user experience.
[0058] It should be noted that the above positioning method can be executed by an electronic device, for example, by a module in the electronic device (such as a processor, chip, or chip system), or by a logic module or software that can implement all or part of the functions of the electronic device.
[0059] In some application scenarios, the electronic device can refer to a terminal device or user equipment (UE); wherein, the electronic device can be a mobile phone, tablet, wearable device, in-vehicle playback system, etc. This application embodiment does not impose any restrictions on the specific type of electronic device.
[0060] To better understand the embodiments of this application, the following is combined with... Figure 1 A hardware structure for the electronic device 100 applicable to this application is described.
[0061] Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) connector 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, and display screen 170, etc.
[0062] The processor 110 may include, but is not limited to, one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a GPU, a controller, a digital signal processor (DSP), a baseband processor, etc. Different processing units may be independent devices or integrated into one or more processors.
[0063] The processor 110 can generate operation control signals based on the instruction opcode and timing signals to control the instruction fetching and execution.
[0064] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 may be a cache memory. This memory can store instructions or data that the processor 110 has used or that are used frequently. If the processor 110 needs to use the instruction or data, it can directly retrieve it from this memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0065] In some embodiments, the processor 110 may include one or more interfaces. These interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal serial bus (USB) interface, etc. The processor 110 can connect to modules such as wireless communication modules and displays through at least one of these interfaces.
[0066] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0067] USB connector 130 is a USB standard-compliant interface used to connect electronic device 100 and peripheral devices. Charging management module 140 receives charging input from a charger, which can be either a wireless or wired charger. Power management module 141 connects to battery 142, and charging management module 140 connects to processor 110. Power management module 141 receives input from battery 142 and / or charging management module 140 to power processor 110, internal memory 121, display screen 170, and wireless communication module 160, etc. In some embodiments, power management module 141 and charging management module 140 may also be housed in the same device.
[0068] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.
[0069] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the same device as at least some modules of the processor 110.
[0070] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as WiFi networks), Bluetooth (BT), and near field communication (NFC) technologies.
[0071] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other electronic devices via wireless communication technology. This wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), etc.
[0072] Electronic device 100 can implement display functions through GPU, display screen 170, and application processor. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0073] 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 through the external memory interface 120 to perform data storage. For example, collected sensor data can be stored on the external memory card, or collected sensor data can be transferred from the electronic device 100 to the external memory card.
[0074] Internal memory 121 can be used to store computer executable program code, including instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function, etc. The data storage area may store data created during the use of electronic device 100 (e.g., voice information, etc.). In addition, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, and universal flash storage (UFS), etc. Processor 110 executes various functional methods or data processing of electronic device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory disposed in the processor.
[0075] Electronic device 100 can display navigation routes and other related interfaces on display screen 170.
[0076] The display screen 170 may include a display panel. This display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like. In some embodiments, the electronic device 100 may include one or more display screens 170. In some embodiments, the display screen 170 may be a foldable display screen.
[0077] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also include... Figure 1 More or fewer components, or combining some components, or splitting some components, or different component arrangements. Figure 1 The components can be implemented in hardware, software, or a combination of both.
[0078] Furthermore, it should be noted that the software system of the aforementioned electronic device 100 can adopt a layered architecture or a service architecture, etc. This embodiment of the invention uses the Harmony OS with a layered architecture as an example to exemplify the software architecture of the electronic device 100. It should be understood that the solution provided in this application can also be applied to other types of operating systems such as Android, Apple, and Windows.
[0079] Figure 2 A schematic diagram of the software architecture of the electronic device 100 provided in an embodiment of this application is shown.
[0080] like Figure 2 As shown, the software architecture of electronic device 100 can be divided into several layers, each with a clear role and division of labor. In some implementation schemes, the Harmony system may include four layers, from bottom to top: kernel layer, system service layer, framework layer, and application layer. Layers can communicate with each other through software interfaces. System functions can be tailored, added, or combined at the subsystem granularity in different device deployment scenarios, and each subsystem can also be tailored, added, or combined at the functional granularity.
[0081] kernel layer
[0082] The kernel abstract layer (KAL) provides basic kernel capabilities to upper layers by shielding the differences between multiple kernels, including but not limited to process / thread management, memory management, file system, network management, and peripheral device management.
[0083] Kernel Subsystem: Supports the selection of a suitable OS kernel for different resource-constrained devices, including but not limited to Linux kernel, HarmonyOS kernel, and LiteOS (lite operating system).
[0084] Driver Subsystem: The driver framework is the foundation for the open system hardware ecosystem, providing unified peripheral access capabilities and a framework for driver development and management. The driver framework includes: display drivers, camera drivers, audio drivers, Bluetooth drivers, and sensor drivers, etc.
[0085] System service layer
[0086] The system service layer comprises the core capabilities of the system, providing services to applications through the framework layer. This layer may include, but is not limited to, the following:
[0087] The system's basic capability subsystem set provides fundamental capabilities for the operation, scheduling, and migration of distributed applications across multiple devices. This set may include distributed soft bus, distributed data management, distributed task scheduling, and the Ark multi-language runtime; it may also include multi-modal input subsystem, graphics subsystem, security subsystem, artificial intelligence (AI) subsystem, and multimedia subsystem.
[0088] The multimodal input subsystem integrates input from multiple dimensions. Specifically, it receives device input events, such as those from keyboards, mice, touchscreens, and touchpads, based on the kernel subsystem and driver framework. After normalizing and standardizing these events, it distributes them to the ArkUI framework. The ArkUI framework then encapsulates the events and forwards them to the application, or distributes them to the application through other interfaces. ArkUI provides a complete infrastructure for the development of the system application's user interface (UI), including UI functionalities (such as components, layouts, and interactive events) and a real-time interface preview tool.
[0089] The graphics subsystem mainly includes UI components, layout, animation, fonts, input events, window management, and rendering modules. The graphics service provides graphics rendering and display output functions, and internally, through the rational utilization of system hardware resources, it provides a smooth and efficient display experience.
[0090] Basic software service subsystem set: provides public and general software services; the basic software service subsystem set may include event notification subsystem, telephone service subsystem and multimedia subsystem, etc.
[0091] Enhanced software service subsystem suite: Provides differentiated enhanced software services for different devices; the enhanced software service subsystem suite may include smart screen proprietary business subsystem, wearable proprietary business subsystem and IoT proprietary business subsystem, etc.
[0092] Hardware service subsystem set: Provides hardware services; the hardware service subsystem set may include location service subsystem, unified identity and access management (IAM) subsystem, wearable proprietary hardware service subsystem, biometric identification and IoT proprietary hardware service subsystem, etc.
[0093] Distributed task scheduling enables distributed service management (such as discovery, synchronization, registration, and invocation), supporting remote startup, remote invocation, remote connection, and migration of applications across devices.
[0094] Distributed data management enables data synchronization, data storage, data sharing, and data access across all scenarios and devices.
[0095] The distributed soft bus provides communication-related capabilities for seamless interconnection between multiple devices, including: WLAN service capabilities, Bluetooth service capabilities, soft bus, inter-process communication (remote procedure call, RPC) and StarFlash communication capabilities.
[0096] Ark Multilingual Runtime is a unified compilation runtime platform designed to support the joint compilation and execution of multiple programming languages and multiple chip platforms.
[0097] Framework layer
[0098] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications in the application layer. The framework layer includes the ArkUI framework, the user application framework, and the Ability framework. An Ability is a lightweight application, and the Ability framework schedules and manages its operation and lifecycle. Different devices may run different operating systems, and therefore support different APIs.
[0099] The HarmonyOS API is a series of open capabilities provided to support HarmonyOS application development. The HarmonyOS API can be set at the framework layer or independently of the framework layer. HarmonyOS applications (HarmonyOS API) may include audio API services, push API services, account API services, etc.
[0100] Application layer
[0101] Applications can include system apps and extended / third-party apps. System apps can include the desktop, control bar, settings, contacts, phone, camera, maps, etc., while extended / third-party apps can include social apps, travel apps, etc.
[0102] The above text has described in detail the hardware and software architecture of electronic devices suitable for the positioning method. The positioning method provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0103] like Figure 3 The diagram shown is a flowchart of a positioning method 300 provided in an embodiment of this application.
[0104] Before introducing the method 300 provided in this application, a brief description of the implementing entity involved in method 300 will be given. Method 300 can be implemented by an entity possessing… Figure 1 and Figure 2 The execution of electronic devices in both hardware and software architectures can be performed by modules (such as processors, chips, or chip systems) applied in the electronic device, or by logic modules or software that can implement all or part of the functions of the electronic device.
[0105] The above method 300 may include the following steps:
[0106] Step 301: When the electronic device detects that it is in positioning mode, the GNSS module is turned on during the first time period of the preset positioning cycle.
[0107] It should be noted that the electronic device may include, but is not limited to, a GNSS module and an auxiliary positioning module; the GNSS module can be used to receive satellite signals and calculate the absolute position of the electronic device (such as latitude and longitude, altitude, and current time); the GNSS module has high positioning accuracy but also high power consumption.
[0108] The auxiliary positioning module is used in conjunction with the GNSS module to output positioning information. For example, when the GNSS module is turned off and not working, the auxiliary positioning module can be used to complete the positioning data. In conjunction with the GNSS module, it can reduce the overall power consumption of the electronic device and support the continuous output of positioning results by the electronic device.
[0109] In some examples, the auxiliary positioning module may include, but is not limited to, an inertial positioning module, which may also be called an inertial measurement unit (IMU) or an inertial navigation module. This inertial positioning module may include, but is not limited to, accelerometers and gyroscopes. The accelerometer can be used to measure the acceleration of the electronic device during movement (e.g., acceleration along the X, Y, and Z axes in the XYZ coordinate system), i.e., measuring the rate of change in the linear direction. For example, it can measure the acceleration or deceleration of the electronic device in the X, Y, and Z directions, such as acceleration forward, lifting upward, and tilting to the left. The gyroscope can be used to measure the angular velocity of the electronic device during movement (e.g., angular velocity around the X, Y, and Z axes in the XYZ coordinate system), i.e., measuring the rate of change in the rotational direction. For example, it can measure the rotational speed of the electronic device around the X, Y, and Z axes, such as angular velocity when turning left around the vertical axis, lifting up around the horizontal axis, and rolling around the front and rear axes.
[0110] Inertial positioning modules can determine the positioning information (such as location information, time information, etc.) of electronic devices based on data such as acceleration and angular velocity, without relying on external signals such as satellites and networks, and have low power consumption; the positioning information output by the module can be used by electronic devices to generate the final positioning result.
[0111] The aforementioned preset positioning cycle can be understood as the pre-set positioning update cycle duration; for example, if it is set to 60 seconds / cycle, the positioning result will be updated every 60 seconds.
[0112] It should be noted that the preset positioning period can be set to an appropriate time length according to the application scenario and requirements of the electronic device. For example, in applications that require high-precision positioning and high real-time performance, the preset positioning period may be shorter, for example, set to 30 seconds. In some scenarios where the requirements for positioning accuracy and real-time performance are relatively low, the preset positioning period can be appropriately extended, for example, set to 120 seconds.
[0113] The first time period can be understood as a short window during which only the GNSS module works within a preset positioning cycle. For example, with a cycle of 60 seconds, the first time period can be set to 10 seconds. The first time period can be located at any position at the beginning, end, or middle of the preset positioning cycle, and this application does not limit it.
[0114] When an electronic device detects a positioning need (such as when a user activates navigation mode), it can respond to this need by entering positioning mode and sending a wake-up command to the GNSS module. This causes the GNSS module to switch from a low-power sleep state to an active state to receive satellite signals. For example, the electronic device can activate the GNSS module during the first period of a preset positioning cycle.
[0115] It should be noted that during the first period, the inertial navigation positioning module can be temporarily turned off to avoid wasting resources and reduce power consumption; of course, the inertial navigation positioning module can also be turned on to output positioning results in conjunction with GNSS, thereby improving positioning accuracy; since the inertial navigation positioning module has low power consumption, it will not significantly increase energy consumption while improving positioning accuracy.
[0116] For example, electronic devices can complete the signal acquisition-tracking-positioning calculation process in the first time period and output high-precision absolute position coordinates (such as latitude and longitude: 116.33°, 39.91°; altitude: 46m) as the initial reference for subsequent inertial navigation positioning.
[0117] In some examples, the aforementioned auxiliary positioning module may also include at least one of a cellular positioning module, a WiFi positioning module, or a Bluetooth positioning module.
[0118] Among them, the cellular positioning module refers to the hardware module that relies on the base station signals of mobile communication networks (such as 2G / 3G / 4G / 5G, etc.) to achieve positioning; it determines the location, time and other positioning information of electronic devices by receiving information such as the signal strength and distance of multiple surrounding base stations.
[0119] For example, in scenarios where the GNSS module is turned off or GNSS is ineffective (such as underground parking garages, elevators, etc.), as long as the electronic device (such as a mobile phone) has a base station signal, it can be located through the cellular positioning module.
[0120] In addition, the cellular positioning module can also help accelerate the startup of the GNSS module; for example, it can obtain the area where the electronic device is located (such as a certain district in a certain city) through the base station and send the area information to the GNSS module to help narrow the satellite search range, thereby improving the startup efficiency of the GNSS module.
[0121] The WiFi positioning module is a hardware module that scans the MAC addresses of surrounding WiFi hotspots (i.e., the unique identifier of each WiFi router), combines them with a cloud-based WiFi hotspot location database (which records the latitude and longitude information of a large number of hotspots), and matches and calculates the location of electronic devices.
[0122] The positioning accuracy of WiFi positioning modules can reach several meters to tens of meters, supporting scenarios such as indoor navigation (e.g., finding shops in shopping malls) and office attendance tracking (i.e., locating whether employees are within the company premises). Due to their low power consumption, WiFi positioning modules can be used in conjunction with GNSS modules to reduce the positioning power consumption of electronic devices.
[0123] A Bluetooth positioning module is a hardware module that calculates the location of an electronic device by receiving signals emitted by surrounding Bluetooth beacons and combining them with triangulation or received signal strength indicator (RSSI) algorithms, based on Bluetooth technology (especially Bluetooth Low Energy technology).
[0124] Bluetooth beacons typically have a signal coverage range of several meters to tens of meters, and their positioning accuracy can reach 1 to 3 meters in small spaces (such as exhibition halls). For example, in exhibit explanation scenarios, information can be automatically pushed when visitors approach the exhibits; another example is in warehouse inventory scenarios, where the location of goods can be located. Furthermore, Bluetooth positioning modules (especially low-power Bluetooth positioning modules) have extremely low power consumption and can be used in conjunction with GNSS modules to reduce the positioning power consumption of electronic devices.
[0125] In this embodiment, the electronic device can rely on other types of positioning modules to achieve scene complementarity, enabling the electronic device to maintain positioning capabilities in more complex environments. In other words, the electronic device supports the collaborative operation of multiple types of positioning modules such as cellular, WiFi, and Bluetooth to ensure that when one auxiliary positioning module fails (e.g., no cellular signal indoors but WiFi signal available), it automatically switches to other available modules, ensuring uninterrupted positioning service.
[0126] Step 302: The electronic device outputs the positioning results corresponding to the first time period.
[0127] The positioning result refers to the information generated by the electronic device after data is collected and processed by the GNSS module, which directly reflects the current spatial location or movement path of the electronic device. It can be presented in various forms, such as latitude and longitude coordinates in a two-dimensional plane, or X, Y, and Z coordinates in three-dimensional space.
[0128] The positioning results for the first time period are generated based on the information output by the GNSS module. In other words, when the GNSS module is working in the first time period, it will output its own raw positioning information (such as latitude and longitude, timestamp, positioning accuracy factor, etc.). This raw positioning information is used by subsequent electronic devices to generate the final positioning results for the first time period.
[0129] For example, the GNSS module receives satellite signals and calculates the original positioning information based on the received satellite signals, such as latitude and longitude (e.g., 30.13°N, 120.45°E), positioning time (e.g., 2025-09-20 14:30:00), and positioning accuracy (e.g., error less than 5 meters).
[0130] Afterwards, electronic devices can generate location results that can be displayed by the application and understood by the user based on the original location information. For example, a navigation application may display "Currently at the intersection of Road A and Road B", which means that the latitude and longitude output by GNSS is converted into a specific address.
[0131] In some examples, the positioning result can be fed back to upper-layer applications (such as navigation applications) so that the upper-layer applications can display the current location; it can also be passed to the inertial navigation positioning module as the starting point position information calculated by the inertial navigation positioning module.
[0132] Step 303: The electronic device shuts down the GNSS module during the second time period and turns on the auxiliary positioning module during the second time period.
[0133] The auxiliary positioning module includes an inertial navigation positioning module, and the second time period is the time period other than the first time period in the preset positioning cycle.
[0134] In some examples, the second time period can also be understood as a long-term window during a preset positioning period in which the GNSS module is turned off and the auxiliary positioning module (such as the inertial navigation positioning module) is working; wherein, the second time period can be longer than the first time period or shorter than the first time period, and the embodiments of this application do not limit this.
[0135] It should be noted that in some examples, the duration of the first and second time periods can be dynamically adjusted according to factors such as the motion state of the electronic device, or they can be fixed in advance. This application does not limit this.
[0136] For example, in some scenarios where users have low positioning requirements or the movement of electronic devices is stable, the second time period can be longer than the first time period to save device power consumption. Conversely, in other scenarios where users have high positioning requirements or the movement of electronic devices changes significantly, the second time period can be shorter than the first time period, prioritizing positioning accuracy while saving power consumption.
[0137] After the first period ends, the electronic device can send a sleep command to the GNSS module, which will power off or enter an ultra-low power state; at the same time, it can send a start command to the auxiliary positioning module (such as the inertial navigation positioning module), which will then start working.
[0138] For example, the inertial navigation positioning module can use the raw positioning information transmitted from the GNSS module as its initial position information. Then, it uses internal sensors to collect relevant data in real time, such as acceleration measured by an accelerometer and angular velocity measured by a gyroscope. Next, inertial navigation algorithms are used to process this collected data, thereby continuously calculating the real-time relative position of the electronic device.
[0139] Step 304: The electronic device outputs the positioning results corresponding to the second time period.
[0140] The positioning results for the second time period are generated based on the information output by the auxiliary positioning module.
[0141] The positioning result for the second time period is generated based on the information output by the auxiliary positioning module; that is, when the auxiliary positioning module works in the second time period, it will output its own original positioning information, and the electronic device will then generate the final positioning result for the second time period based on this original positioning information.
[0142] When the auxiliary positioning module uses an inertial navigation system (INS) positioning module, its output raw positioning information is calculated by the INS positioning module based on the acceleration and angular velocity of the electronic device and the position information output by the GNSS module in the first time period. For example, the INS positioning module calculates based on relevant data that "it has moved 8 meters eastward and 2 meters northward from the position output by the GNSS module," thus obtaining position information such as "30.12°N, 120.57°E." The electronic device can process the position information calculated by the INS positioning module to ultimately form and display the positioning result, such as displaying "Current position: 10 meters from the starting point, moving northeastward, error 5 meters, updated at 15:30:03," etc.
[0143] When the auxiliary positioning module is an inertial navigation positioning module, the electronic device can output the positioning result corresponding to the second time period according to the positioning information output by the inertial navigation positioning module at a fixed frequency (e.g., 10Hz, i.e., 10 times per second).
[0144] In addition, it should be noted that the auxiliary positioning module can feed back the output positioning information to the upper layer application (such as a navigation application), and cache the positioning information each time as auxiliary data for the GNSS module to start up in the next preset positioning cycle.
[0145] It should be noted that the aforementioned auxiliary positioning module is not limited to an inertial navigation positioning module, but may also include at least one of a cellular positioning module, a WiFi positioning module, or a Bluetooth positioning module. In the second time period, when the auxiliary positioning module is activated and the GNSS module is deactivated, the method by which the electronic device generates the corresponding positioning result for the second time period will vary depending on the type of auxiliary positioning module.
[0146] Cellular positioning modules primarily rely on base stations for location tracking. When an electronic device is within cellular network coverage, the cellular positioning module can communicate with multiple nearby base stations to obtain information such as signal strength and time difference of arrival between the electronic device and these base stations. Based on this information, the cellular positioning module can use specific algorithms (such as triangulation or polygonal positioning) to determine the current location of the electronic device and ultimately generate the positioning result for the second time period.
[0147] The WiFi positioning module primarily utilizes known WiFi access points for location tracking. During the second time period, the module periodically scans the surrounding environment for WiFi signals, acquiring information such as the MAC addresses and signal strength of nearby access points. Electronic devices or remote servers may have a pre-stored database containing location information for numerous WiFi access points. The electronic device can match and compare the scanned WiFi information with this database, identifying the most similar access points. Then, using an algorithm similar to cellular positioning (such as a signal strength-based weighted positioning algorithm), the electronic device's position relative to these known access points is calculated based on factors such as signal strength, thus generating the positioning result for the second time period.
[0148] Bluetooth positioning modules can achieve location tracking via Bluetooth beacons. In the second time period, when the electronic device activates its Bluetooth positioning module, it can receive signals from nearby Bluetooth beacons, obtaining information such as beacon identification and signal strength. Based on the received Bluetooth beacon information, the electronic device combines it with a pre-set positioning algorithm (such as a signal strength-based fingerprint positioning algorithm). Technicians can use this algorithm to collect signal strength data from various Bluetooth beacons at different locations within the target area, constructing a signal strength fingerprint database. During positioning, the electronic device can match the real-time received Bluetooth beacon signal strength with the fingerprint data (such as signal strength) in the signal strength fingerprint database, finding the location corresponding to the most similar fingerprint data, and thus generating the positioning result for the second time period.
[0149] In practical applications, to improve the accuracy and reliability of positioning, electronic devices may simultaneously activate multiple auxiliary positioning modules. For example, they may use inertial navigation (INS), Wi-Fi, and Bluetooth positioning modules concurrently. The INS provides continuous relative position change information, while Wi-Fi and Bluetooth modules offer more precise location information at specific locations. The electronic device can fuse the positioning information output by these different auxiliary modules using data fusion algorithms (such as weighted averaging). By assigning appropriate weights based on factors such as the accuracy and reliability of each positioning module, the outputs of each module are comprehensively calculated to generate a more accurate and stable positioning result for the second time period, thus meeting the positioning needs in different scenarios.
[0150] In summary, in the aforementioned method 300, traditional GNSS modules consume a high amount of power during continuous operation. This application optimizes power consumption through periodic time-division control: within a preset positioning cycle, the GNSS module is only activated during the first time period and deactivated during the second time period. This method effectively reduces the operating time of the GNSS module and lowers the power consumption of the electronic device caused by the continuous operation of the GNSS module. This is particularly beneficial for battery-powered mobile devices (an example of an electronic device), effectively extending battery life. Furthermore, to avoid positioning interruption caused by the GNSS module being deactivated during the second time period, the electronic device will activate a lower-power auxiliary positioning module (such as an inertial navigation positioning module) during the second time period. This auxiliary positioning module can acquire motion information (such as acceleration and angular velocity data) from the inertial sensor module and continuously calculate the current position of the electronic device—even in scenarios where GNSS signals are unavailable or weak, it can still stably output positioning results, ensuring the continuity of positioning and providing uninterrupted positioning services to users, thus improving the user experience.
[0151] In some embodiments, the electronic device further includes an external radio frequency (RF) module, an external clock module, and a GNSS baseband module, and the method 300 further includes the following steps:
[0152] Step 305: During the first time period, the electronic device performs a power-down operation on at least one of the following modules: external radio frequency module, external clock module, or GNSS baseband module.
[0153] Among them, the external radio frequency module is the component in the electronic device responsible for processing radio frequency signals. It can realize the functions of transmitting and receiving wireless signals. For example, the WiFi module and Bluetooth positioning module in mobile phones are both radio frequency modules, which are used to communicate wirelessly with the outside world.
[0154] An external clock module provides a precise time reference for electronic devices, ensuring that all internal components work in unison according to a unified time rhythm. External clock modules typically offer high stability and accuracy, making them crucial for applications requiring precise timing, such as communication and navigation.
[0155] Global Navigation Satellite System (GNSS) encompasses multiple satellite navigation systems, such as the Global Positioning System (GPS) and BeiDou. The GNSS baseband module (also known as the GNSS chip baseband) is the core component in electronic devices responsible for processing navigation signals received from satellites. It demodulates and decodes the weak received satellite signals to extract information such as position, velocity, and time, thereby enabling positioning and navigation functions.
[0156] A power-down operation can be understood as cutting off the power supply to a module, causing it to stop working. In electronic devices, internal power management circuits can be used to control the power-on (i.e., connecting the power supply) and power-off (i.e., disconnecting the power supply) operations of each module, thereby achieving the purpose of controlling the module's working status and reducing power consumption.
[0157] During the first time period, the electronic device can power down at least one of the following modules: the external radio frequency module, the external clock module, and the GNSS baseband module. "At least one" can mean selecting one module to power down, or simultaneously selecting two or three modules. Typically, the choice of which module(s) to power down depends on the electronic device's current operating state, functional requirements, and energy-saving strategies. For example, if the electronic device does not need wireless communication during the first time period, the external radio frequency module can be powered down; if positioning and navigation functions are not required, the GNSS baseband module can be powered down; and in some cases, if the electronic device does not require high time accuracy or has other backup clock sources, the external clock module can also be powered down to save power.
[0158] In some examples, electronic devices can send control signals to selected modules via internal power management circuitry to cut off the power supply to those modules, causing them to stop working and thus reducing the overall power consumption of the electronic device. This approach is particularly crucial for battery-powered electronic devices, such as portable navigation devices, smart wearables, and mobile phones. With a fixed battery capacity, lower power consumption translates to longer battery life, reducing the inconvenience of frequent charging and ultimately improving the user experience.
[0159] In some embodiments, the GNSS module further includes an internal clock module and an ephemeris cache module, and the method 300 further includes:
[0160] Step 306: The electronic device keeps its internal clock module and ephemeris cache module on throughout the entire preset positioning cycle.
[0161] The internal clock module can be used to maintain the count within the preset positioning cycle. It can generate a stable and accurate time pulse signal, providing a reference for various operating times for modules such as GNSS.
[0162] For example, in satellite navigation and positioning, accurate time measurement is crucial for the satellite and the receiving internal clock module to maintain the count within a preset positioning period, ensuring the accuracy and continuity of time information.
[0163] The ephemeris cache module is a dedicated storage area in electronic devices for storing ephemeris data. Because ephemeris information has a certain time sensitivity, and acquiring it may require time and signal conditions, caching the received ephemeris information allows for quick retrieval when needed, improving positioning efficiency and reliability. When new ephemeris information arrives, the cached information is updated. In other words, this ephemeris cache module stores the latest ephemeris information (such as satellite position, velocity, and orbital parameters at a specific time), enabling rapid retrieval when needed without having to download it from satellites or other external data sources each time, thus improving positioning efficiency and response speed. Simultaneously, it can cache auxiliary position information output by the auxiliary positioning module. This auxiliary position information helps the GNSS receiver inside the electronic device search for satellite signals more quickly, shortening the initial positioning time. Furthermore, this auxiliary position information can be fused with GNSS positioning data to further optimize the positioning results and improve positioning accuracy. It should be noted that this GNSS receiver can be included within the GNSS module.
[0164] Auxiliary location information refers to information other than GNSS satellite signals that helps electronic devices locate themselves more quickly and accurately. Examples include cellular location information (determining location through communication signals between a mobile phone and nearby mobile communication base stations (such as 4G / 5G base stations), WiFi location information (determining location using signal characteristics (such as MAC address and signal strength) of WiFi hotspots in known locations (such as home routers or public WiFi in shopping malls), and inertial navigation location information (calculating location by measuring the motion state (such as acceleration and angular velocity) of inertial sensors such as accelerometers and gyroscopes, combined with the initial position and motion model). This auxiliary location information can provide the GNSS module with initial position estimates or motion state references, accelerating the positioning process.
[0165] Electronic devices can collect auxiliary location information through various built-in sensors and communication modules. For example, they can obtain geographical location through mobile phone base station positioning, obtain WiFi hotspot information of nearby known locations through WiFi scanning, and obtain the device's motion status (such as acceleration, angular velocity, etc.) through inertial navigation sensor modules.
[0166] Throughout the entire preset positioning cycle, the electronic device can ensure that the internal clock module and ephemeris buffer module in the GNSS module are always turned on through the internal power management and control circuits. That is, these two modules will continuously receive power and be able to work normally and perform their respective functions.
[0167] When the internal clock module is activated, it generates stable time pulse signals according to its designed operating principle and maintains a count within a preset positioning period. This count information is crucial for the GNSS module because satellite navigation and positioning are based on the precise measurement of satellite signal propagation time. Using the accurate time reference provided by the internal clock module, the GNSS receiver inside the electronic device can calculate the time it takes for the satellite signal to travel from satellite transmission to reception, thereby determining the distance between the satellite and the receiver and providing fundamental data for subsequent positioning calculations.
[0168] Once activated, the ephemeris caching module continuously receives and stores the latest ephemeris information. Electronic devices can update the latest ephemeris information directly from satellites via the GNSS baseband module, or through other means (such as cloud servers or network servers). Simultaneously, it can cache auxiliary position information output by the auxiliary positioning module. When the device is locating, it can quickly retrieve the necessary ephemeris data and auxiliary position information from the ephemeris caching module, avoiding the need to re-download ephemeris data and spend a long time searching for satellite signals. This significantly improves positioning speed and efficiency, reduces initial positioning time, and enhances the user experience.
[0169] In some embodiments, the method 300 may further include:
[0170] Step 307: When the next cycle arrives, the electronic device can enable the GNSS module to enter the positioning state from the start based on the latest ephemeris information and auxiliary position information.
[0171] Ephemeris data describes satellite orbital parameters, including the satellite's position, velocity, and orbital inclination at a specific point in time. Satellites can periodically update and broadcast their ephemeris data, and electronic devices can accurately calculate the satellite's position in the sky by receiving this data. The latest ephemeris information can be understood as the most up-to-date satellite orbital parameter data that electronic devices can obtain at the current moment; using the latest ephemeris information can improve positioning accuracy.
[0172] In scenarios involving communication between electronic devices and satellites, and data updates, electronic devices typically perform periodic operations at regular time intervals. For example, satellites periodically broadcast ephemeris data, and electronic devices acquire and process this data according to a preset positioning cycle. The arrival of the next cycle can be understood as reaching the next pre-set time point, at which time the electronic device will perform relevant operations to update data or perform new operations, etc.
[0173] "On" means that the GNSS module is powered on and working, but has not yet performed positioning calculations. In this state, the GNSS module may be initializing hardware, searching for satellite signals, and receiving ephemeris data, but has not yet calculated the location of the electronic device based on the received signals.
[0174] Positioning status refers to the state in which the GNSS module enters positioning mode. It has successfully received and processed sufficient satellite signals, and using relevant algorithms (such as least squares method and Kalman filtering) to calculate the accurate location of the electronic device on Earth. At this point, the electronic device can display its current location information to the user or use the location data for other applications, such as navigation and location sharing.
[0175] When the next cycle arrives, the electronic device can acquire the latest ephemeris and auxiliary position information through the GNSS baseband module and auxiliary positioning module. After acquiring the latest ephemeris and auxiliary position information, the electronic device can send a command to the GNSS module to initiate the initialization phase. The GNSS module will then begin searching for satellite signals in the sky. Because the auxiliary position information provides an initial position reference, the GNSS module can shorten the satellite search and positioning time based on the auxiliary positioning information, enabling the GNSS module to quickly transition from the active state to an effective positioning state, thus improving the positioning response speed.
[0176] After receiving a sufficient number of satellite signals, the GNSS module can decode and process these signals to extract information such as time and pseudorange (i.e., the approximate distance from the device to the satellite). Then, combining this information with the satellite's orbital parameters from the latest ephemeris data, the GNSS module uses positioning algorithms (such as least squares method, Kalman filtering, etc.) to calculate the electronic device's three-dimensional position on Earth (such as longitude, latitude, and altitude) and time information. This process can be understood as the GNSS module successfully transitioning from an active state to a positioning state, allowing the electronic device to acquire and use accurate positioning data.
[0177] In some embodiments, after the GNSS module re-enables positioning, the method 300 may further include:
[0178] Step 308: The electronic device can perform frequency offset verification on the real-time clock of the internal clock module based on the timing information obtained by the GNSS module repositioning, and / or the electronic device can update the auxiliary position information based on the new position information obtained by the GNSS module repositioning.
[0179] Because GNSS satellites carry high-precision atomic clocks, they can provide highly accurate time information. Therefore, the GNSS module receives satellite signals and extracts the time data contained within them—this is the time synchronization information. This time synchronization information can provide electronic devices with a precise time reference for synchronizing various operations and time records within the electronic devices.
[0180] It should be noted that the modules inside electronic devices used to generate and maintain time signals typically include a real-time clock (RTC). The RTC can continue operating on a backup battery even when the electronic device is powered off, providing basic time information to ensure the device displays the correct time upon power-on and coordinating the timing of various components within the device.
[0181] Frequency deviation refers to the difference between the actual frequency and the nominal frequency. In an internal clock module, the oscillation frequency of the real-time clock may deviate due to various factors (such as temperature fluctuations and hardware aging), causing a difference between the recorded time and the actual time. Frequency deviation verification involves comparing the real-time clock with a more accurate time source (such as time information provided by a GNSS module) to detect the frequency deviation and adjust the real-time clock to restore its frequency to the nominal value (i.e., the nominal frequency), thereby ensuring time accuracy.
[0182] When the GNSS module in an electronic device repositions itself, it receives signals from multiple satellites. These signals contain precise time information recorded by the atomic clocks on the satellites. The GNSS module can decode and process these signals to extract the time information. By comparing the time information with the actual time, time discrepancies can be detected, and the frequency deviation of the real-time clock can be inferred.
[0183] The electronic device then sends adjustment commands to the internal clock module to correct the oscillation frequency of the real-time clock. For example, if the real-time clock is found to be running faster than the actual time, its oscillation frequency is reduced; if it is running slower, the oscillation frequency is increased. Through such frequency offset verification and adjustment, the real-time clock of the internal clock module can maintain the time more accurately, providing a reliable time reference for the normal operation of the electronic device.
[0184] During repositioning, the GNSS module receives and processes satellite signals, using algorithms such as triangulation to calculate the precise three-dimensional position (longitude, latitude, and altitude) of the electronic equipment at the current moment. This new position information is directly acquired from satellite signals, offering high accuracy and reliability.
[0185] Electronic devices can compare and analyze new GNSS location information with currently stored auxiliary location information. If there is a significant difference between the two, or if an update is deemed necessary based on a preset update strategy (such as timed updates or updates when location changes exceed a certain threshold), an update operation will be triggered.
[0186] When electronic devices determine that an update is needed, the new GNSS location information can be integrated into the auxiliary location information. For example, the existing auxiliary location data can be replaced, or the new location information can be fused with other auxiliary information (such as cellular positioning information, WiFi positioning information, etc.) to generate more accurate and comprehensive auxiliary location information. The updated auxiliary location information can provide a better reference for subsequent GNSS positioning or other positioning-related functions, helping to improve positioning speed and accuracy.
[0187] For example, updated auxiliary location information can provide an initial position estimate for the positioning algorithm, helping the GNSS module to search for available satellites more quickly, shortening the positioning time, and improving the positioning efficiency. Especially in environments with weak or obstructed signals, accurate auxiliary location information can effectively improve the success rate and accuracy of positioning.
[0188] In some embodiments, the electronic device further includes a GNSS baseband module, and the method 300 described above also includes at least one of the following methods for updating ephemeris information:
[0189] Method 1: Electronic devices can update the cached ephemeris information (i.e., old ephemeris information) in the ephemeris cache module based on the latest ephemeris information demodulated by the GNSS baseband module.
[0190] The GNSS baseband module is responsible for receiving raw satellite signals and performing demodulation and despreading operations on these signals to extract useful navigation information, such as ephemeris data, pseudorange information, and Doppler shift, from the complex signals. This information forms the basis for subsequent positioning calculations.
[0191] For example, a GNSS baseband module can receive raw satellite signals from multiple GNSS satellites via a connected GNSS antenna. The GNSS baseband module can demodulate the received raw satellite signals, such as down-converting the high-frequency signals to intermediate-frequency or baseband signals; then, it performs despreading to recover the original navigation data from the spread spectrum signal; next, it decodes the demodulated signal to extract the ephemeris information contained within. After acquiring the ephemeris information, the GNSS baseband module can perform a validity check on it. For example, it checks the integrity of the ephemeris data and whether the timestamp is within a valid range. When the ephemeris information is determined to be valid, subsequent update operations will be performed. If the latest demodulated ephemeris information is valid, the GNSS baseband module will send it to the ephemeris cache module and replace the corresponding old ephemeris information in the cache. In this way, the ephemeris cache module stores the latest ephemeris information, providing accurate data support for subsequent positioning calculations.
[0192] Method 2: Electronic devices can receive the latest ephemeris information from the server and update the ephemeris information stored in the ephemeris cache module based on the latest ephemeris information.
[0193] In GNSS applications, servers can collect, organize, and store ephemeris information from multiple satellites, and then distribute this information to electronic devices via the network. Servers typically possess powerful computing and storage capabilities, ensuring timely updates and accurate distribution of ephemeris information.
[0194] Electronic devices need to have network communication capabilities to establish a network connection with the server through wireless communication modules (such as WiFi positioning modules, cellular positioning modules, etc.) to ensure that the electronic devices can interact with the server for data.
[0195] For example, relevant software or applications in an electronic device can send an ephemeris information request to a server. This request may include the electronic device's identification information, current time, and location, enabling the server to provide appropriate ephemeris information based on the specific circumstances of the electronic device. Upon receiving the request, the server can retrieve the latest ephemeris information from its database based on the information in the request and then transmit this information to the electronic device over the network. After receiving the latest ephemeris information from the server, the electronic device will transmit it to the GNSS baseband module. The GNSS baseband module can then parse and process this latest ephemeris information to extract the ephemeris data.
[0196] Furthermore, the GNSS baseband module can send the latest ephemeris information obtained from parsing to the ephemeris cache module and update the old ephemeris information stored in the cache. In this way, electronic devices can obtain the latest ephemeris data in a timely manner, improving the accuracy and reliability of positioning. Especially when satellite signals are weak or satellite ephemeris information cannot be received directly, the ephemeris information sent by the server can play an important supplementary role.
[0197] Because the latest ephemeris information demodulated by the GNSS baseband module contains crucial information such as precise satellite orbit parameters and clock correction data, electronic devices can more accurately determine the distance between the satellite and the GNSS receiver inside the device during positioning calculations. This reduces positioning errors and significantly improves positioning accuracy. Similarly, the latest ephemeris information sent by the server has also undergone professional processing and updates, providing reliable data support for positioning and further enhancing accuracy. Furthermore, when electronic devices use locally cached latest ephemeris information, they do not need to spend significant time downloading ephemeris data from satellites in real time, as is the case with traditional methods. The latest ephemeris information demodulated by the GNSS baseband module or sent by the server can update the cache promptly, enabling electronic devices to quickly obtain the necessary ephemeris data when positioning is required, rapidly completing satellite search and positioning initialization. This significantly shortens the time from startup to obtaining valid positioning results, effectively improving the real-time performance of positioning.
[0198] In some embodiments, during the second time period, the method 300 further includes:
[0199] Step 309: The electronic device can determine the positioning result through inertial navigation positioning information.
[0200] In this process, the electronic equipment collects information such as displacement, acceleration, and angular velocity from sensors and other acquisition devices in the second time period, and processes it to obtain inertial navigation positioning information; for details, please refer to the relevant description in step 311 below, which will not be repeated here.
[0201] Positioning results refer to the location information of an electronic device in a specific coordinate system, determined after a series of processing and calculations of inertial navigation positioning information. It can be presented in various forms, such as latitude and longitude coordinates in a two-dimensional plane, or X, Y, and Z coordinates in three-dimensional space.
[0202] For example, in the second time period, the electronic device can estimate its own motion state using its original acceleration and angular velocity, as well as other inertial navigation positioning information. For instance, the electronic device can determine its velocity changes along each axis based on the acceleration data, and then obtain the displacement changes of the device in the second time period using the velocity changes; finally, it can use the angular velocity data measured by the gyroscope to calculate its attitude changes during this period, such as the rotation angle.
[0203] Electronic devices require initial position information as a starting point to determine the positioning result based on the inertial navigation positioning information. This initial position information can come from various sources, such as position information obtained through a GNSS module in the first time period, or position information obtained through other auxiliary positioning methods (such as WiFi positioning, cellular positioning, etc.). The electronic device can fuse the displacement change calculated by inertial navigation with the initial position information to obtain the positioning result corresponding to the second time period. After obtaining the positioning result corresponding to the second time period, the electronic device can store it internally in the form of digital coordinates, or output it to the user or other applications through the electronic device's display screen, interface, etc.
[0204] Therefore, although the GNSS module is off in the second period, the inertial positioning module is on. Even without GNSS signals (i.e., the GNSS module is not working), the electronic device can still calculate its position using the inertial positioning module (such as an accelerometer or gyroscope), solving the problem of no positioning results when the GNSS module is off and ensuring a continuous and uninterrupted positioning process. Furthermore, the inertial positioning module calculates its position based on the electronic device's own motion state, without needing to continuously receive satellite signals like a GNSS module, nor relying on external signal interaction like cellular / WiFi positioning. Its power consumption is far lower than that of a GNSS module. Therefore, the electronic device uses information from the inertial positioning module to determine the positioning result in the second period, achieving normal positioning functionality without increasing device power consumption.
[0205] In some embodiments, the electronic device may further include a sensor module, and before determining the positioning result using inertial navigation positioning information, the method 300 may further include:
[0206] Step 310: The electronic device can acquire at least one of the following sensing data through the sensor module: gyroscope data, accelerometer data, magnetometer data, or barometer data.
[0207] The sensor module includes various types of sensors, such as accelerometers, gyroscopes, magnetometers, and barometers. These sensors work together to sense various physical quantities of the electronic device itself and its surrounding environment, and convert this information into electrical signals or other processable signal forms, providing the electronic device with a rich data source to support its various functions, such as positioning and motion monitoring.
[0208] Gyroscope data refers to the angular velocity information of an electronic device rotating around three mutually perpendicular axes (usually the X, Y, and Z axes in the XYZ coordinate system) collected by a gyroscope. This data reflects the rotational motion state and changes of the object.
[0209] Accelerometer data refers to the acceleration values of an electronic device in three mutually perpendicular axes, collected by an accelerometer; it can reflect information such as the linear acceleration of the electronic device and the tangential acceleration caused by rotation.
[0210] Magnetometer data refers to data such as the magnetic field strength and direction of the environment surrounding electronic devices, collected by a magnetometer. It can be used to determine the orientation of the device and assist in positioning and attitude estimation.
[0211] Barometer data refers to the atmospheric pressure value around an electronic device collected by a barometer; the electronic device can combine the relationship between atmospheric pressure value and altitude to help itself estimate its altitude information.
[0212] After the electronic device is powered on, its internal sensor modules begin to operate. The device can initialize sensors such as gyroscopes, accelerometers, magnetometers, and barometers (e.g., setting acquisition parameters). Once initialization is complete, each sensor in the sensor module begins collecting raw data according to the set parameters. For example, the gyroscope collects the angular velocity of the electronic device around its three axes, the accelerometer acquires the acceleration of the electronic device along its three axes in real time, the magnetometer detects the strength and direction of the surrounding magnetic field, and the barometer periodically measures atmospheric pressure. These sensors work independently or collaboratively. After acquiring the raw data through the sensor modules, the electronic device can temporarily cache this data for subsequent processing and analysis.
[0213] Step 311: The electronic device can generate inertial navigation positioning information based on the sensor data.
[0214] After the raw data acquisition is complete, the electronic device can read the raw sensor data collected by the sensor modules from the buffer and process this data to estimate the motion state of the electronic device. For example, for gyroscope data, by integrating the angular velocity, the change in the device's rotation angle over a period of time can be obtained, thereby determining the device's attitude information, such as yaw, pitch, and roll angles. For accelerometer data, the change in the electronic device's velocity is first obtained by integration, and then the change in velocity is integrated to obtain the change in displacement over a period of time. Magnetometer data can help determine the orientation of the electronic device, and by fusing it with the gyroscope and accelerometer data, the accuracy of attitude estimation is improved. Barometer data can be used to estimate the altitude information of the electronic device.
[0215] The electronic device can synthesize the above estimation results of its motion state, integrating and calculating its attitude information, displacement changes, and altitude information to generate inertial navigation positioning information. This inertial navigation positioning information includes the electronic device's position coordinates in three-dimensional space (usually expressed as longitude, latitude, and altitude), velocity vector (including magnitude and direction), and attitude angles. This inertial navigation positioning information can serve as an important basis for subsequent determination of positioning results, providing continuous and autonomous positioning services for the electronic device when external positioning signals (such as GNSS signals) are unavailable or when assisted positioning is required.
[0216] For example, in urban canyons, indoor spaces, and tunnels, GNSS signals may be severely blocked or interfered with, preventing electronic devices from obtaining effective positioning information. However, gyroscopes and accelerometers in the sensor module can continuously operate, providing motion status information for the electronic device. For instance, gyroscope data can accurately measure the angular velocity of the electronic device, accelerometer data can obtain acceleration information, magnetometer data can determine the orientation of the electronic device, and barometer data can help determine changes in altitude. Inertial navigation positioning information is generated from this sensor data, enabling continuous positioning even when GNSS signals are missing. This ensures that electronic devices provide uninterrupted positioning services in various environments, avoiding the inconvenience caused by positioning interruptions. Furthermore, inertial navigation positioning information can be fused with GNSS positioning information for mutual correction and supplementation, reducing errors from single positioning methods and improving overall positioning accuracy. For example, in dynamic positioning scenarios, inertial navigation positioning information can better track the rapid changes in the movement of electronic devices, compensating for the delays and errors in GNSS module positioning.
[0217] In some embodiments, during the second time period, the method 300 further includes:
[0218] Step 311: The electronic device can determine the location result by at least one of the following location information: WiFi location information, cellular location information, or Bluetooth location information.
[0219] WiFi location information refers to the device's location information obtained by electronic devices scanning WiFi signals in the surrounding environment, acquiring information such as the MAC address and signal strength of the access point, and combining this with a pre-established database of signal strength and location relationships, and then calculating the device's location information using a certain algorithm.
[0220] Cellular positioning information is the location information of an electronic device obtained by communicating with surrounding mobile communication base stations to acquire parameters such as the base station's identifier, time of arrival (TOA), and time difference of arrival (TDOA). These parameters are then used to calculate the electronic device's location information through triangulation or other positioning algorithms.
[0221] Bluetooth location information is the location information of an electronic device obtained by communicating with surrounding Bluetooth beacons to acquire information such as the identification and signal strength of the Bluetooth beacons, and then combining this information with the location information of pre-deployed Bluetooth beacons, and calculating the location information of the electronic device through appropriate algorithms.
[0222] For example, during the second time period, after electronic devices enable WiFi, they can actively scan for WiFi access points in the surrounding environment and record the MAC address and RSSI of each access point. This information forms the basis for subsequent WiFi location calculations. For instance, in an indoor environment, electronic devices may scan for WiFi access point signals from multiple different floors and rooms.
[0223] Electronic devices can send the collected MAC address and signal strength information of WiFi access points to a location server (if the device itself does not have powerful computing capabilities), or they can use a pre-stored local or cloud database of WiFi signal strength and location relationships for matching calculations. By comparing the currently scanned signal strength with the signal strength of known locations in the database, a certain algorithm (such as a fingerprint positioning algorithm) is used to determine the location information of the electronic device.
[0224] In other examples, the electronic device maintains a communication connection with surrounding mobile communication base stations. During communication, the electronic device can obtain relevant information about the base stations, such as their identification (ID) and signal arrival time. The base station ID can be used to identify the base station's location, while parameters such as the signal arrival time are used for subsequent location calculations.
[0225] For example, for cellular positioning information, electronic devices can use parameters such as the arrival time of received base station signals to calculate the location using triangulation or other positioning algorithms. For instance, by measuring the distances from the electronic device to three different base stations (calculated based on signal arrival times), the geometric relationships of triangles can be used to determine the device's exact location. If the electronic device receives signals from two base stations, other approximate methods can also be used for positioning estimation.
[0226] In other examples, if an electronic device supports Bluetooth and is in a Bluetooth-enabled environment (i.e., surrounded by Bluetooth beacons), it can search for and discover nearby Bluetooth beacons. The device can read the beacon's identification information and measure the received Bluetooth signal strength. This information is used to determine its position relative to the Bluetooth beacon. For example, in a shopping mall, Bluetooth beacons might be placed at the entrances of various stores, and the electronic device can scan these beacons to assist in positioning.
[0227] For example, Bluetooth location information processing is typically based on the relative positions of devices and Bluetooth beacons. Electronic devices can estimate the distance between themselves and various Bluetooth beacons based on the received Bluetooth beacon signal strength and a pre-defined signal strength and distance attenuation model. Then, using this distance information and the known locations of the Bluetooth beacons, the location of the electronic device is determined through geometric algorithms (such as trilateration).
[0228] For example, if an electronic device simultaneously collects location information from WiFi, cellular, and Bluetooth in a second time period, it can use data fusion technology to combine these different location results. Common data fusion methods include weighted averaging and Kalman filtering. For instance, an electronic device can use weighted averaging to assign different weights to different location information based on their accuracy and reliability, and then average the weighted results to obtain the final fused location result. Kalman filtering, on the other hand, establishes state equations and observation equations to recursively estimate and optimize location information at different times, thereby obtaining a more accurate location result.
[0229] After the above processing and fusion, the electronic device obtains the positioning result corresponding to the second time period. This positioning result can be stored internally in the form of digital coordinates, or it can be displayed to the user visually as a map on the device's screen, or it can be sent to other applications or devices through the electronic device's interface to meet different application needs. For example, in navigation applications, the positioning result can be displayed on a map in real time, providing the user with guidance on their current location.
[0230] It should be noted that electronic devices can determine the positioning result for the second time period using one or more positioning information. For example, in the second time period, if a certain positioning method becomes unusable due to environmental changes (such as signal loss when entering indoors) or equipment malfunction, the electronic device can utilize other positioning methods to ensure uninterrupted positioning service and provide users with continuous and reliable positioning results. For instance, in scenarios where GNSS positioning fails, such as large shopping malls or underground parking lots, modules such as WiFi and Bluetooth can take over to avoid positioning interruption. By comprehensively utilizing multiple positioning information, electronic devices can adapt to various complex environments, expanding the effective range of positioning services. Whether users are in city streets, indoor venues, or remote areas, they can potentially obtain accurate positioning. In other words, in the second time period, electronic devices can fuse and process these positioning information from different sources to fully leverage their respective advantages, mutually correcting and supplementing each other, thereby effectively improving positioning accuracy and meeting users' needs for high-precision positioning.
[0231] In some embodiments, the electronic device further includes a WiFi positioning module, and before determining the positioning result through WiFi positioning information, the method 300 may further include:
[0232] Step 312: Electronic devices can periodically scan for WiFi signals using a WiFi positioning module.
[0233] Among them, the WiFi positioning module is a hardware component in electronic devices used to realize wireless network communication functions. It enables electronic devices to connect to WiFi networks, has the ability to send and receive WiFi signals, and allows electronic devices to interact with surrounding WiFi access points to obtain WiFi signals (such as MAC address, signal strength, etc.), providing a foundation for electronic devices to access the Internet and realize WiFi-based positioning functions.
[0234] A local database refers to a collection of data stored on the local storage media (such as memory, hard drive, etc.) of an electronic device. For example, this local database can be used to store information related to WiFi location, such as WiFi access point characteristic data (such as access point MAC address, signal strength range, etc.) corresponding to different geographical locations.
[0235] A cloud database refers to a database located on a remote server; this cloud database interacts with electronic devices via the internet. It can also be used to store information related to WiFi location, such as WiFi access point characteristic data (e.g., access point MAC address, signal strength range, etc.) corresponding to different geographical locations.
[0236] The electronic device has a specific time interval (such as 5 seconds or 10 seconds) set as the scanning cycle. When the preset time point is reached, the electronic device can control the WiFi positioning module to perform the scanning operation.
[0237] The WiFi positioning module can search for available WiFi signals in the surrounding environment. For example, it can send probe request frames to the surrounding space and monitor response frames from WiFi access points to obtain relevant information about them. During the scan, the module collects key information about each detected access point, such as its MAC address, RSSI signal strength, and channel number (the frequency band used for WiFi signal transmission), providing data support for subsequent positioning calculations. After completing one scan, the electronic device waits for the next scan cycle and then repeats the scanning process, continuously collecting information on changes in surrounding WiFi signals to ensure real-time and accurate positioning.
[0238] Step 313: Electronic devices can perform location calculations based on WiFi signals, combined with local or cloud databases, to generate WiFi location information.
[0239] After obtaining information about WiFi signals (such as the MAC address of the access point and signal strength), electronic devices can organize this information into a specific data format so that it can be matched with data in the database.
[0240] For example, an electronic device can search a local database for records that match the MAC address of a scanned WiFi access point. This local database may pre-store information on common WiFi access points in different geographical locations, along with their corresponding signal strength characteristics. If a matching access point record is found, the electronic device can further estimate its distance to that access point based on information such as signal strength. Combining the distance information from multiple matching access points, the electronic device uses positioning algorithms such as triangulation or polygonal measurement to determine its location. For instance, by measuring the distances from the electronic device to three different known access points, the device's coordinates can be calculated using the geometric relationships of triangles.
[0241] For example, if the cloud database contains information on WiFi access points within a wider area and more precise location mappings, then if an electronic device cannot find matching information in its local database, it can use (or prioritize using) the cloud database. The electronic device can send the scanned WiFi signal information (such as a list of access point MAC addresses, signal strength, etc.) to the cloud server via the internet. After receiving the data sent by the electronic device, the cloud server can perform a comprehensive search and matching in the cloud database. Based on the matching results and the corresponding positioning algorithm, the cloud server calculates the location information of the electronic device (i.e., WiFi location information) and then sends the calculated WiFi location information (such as latitude and longitude coordinates) to the electronic device.
[0242] Whether using a local database or a cloud database for location calculation, electronic devices can present the obtained WiFi location information in the form of latitude and longitude coordinates, location markers on a map, etc., providing the electronic device with a reference for its current location.
[0243] In some embodiments, the electronic device further includes a cellular positioning module, and before determining the positioning result through cellular positioning information, the method 300 may further include:
[0244] Step 314: The electronic device can obtain the cellular measurement signal of the electronic device through the cellular positioning module.
[0245] Cellular measurement signals refer to a series of signal parameters measured by electronic devices from the cellular network through cellular positioning modules. These parameters reflect the communication status and signal characteristics between the electronic device and surrounding base stations, and are the basic data for cellular positioning calculations; the cellular measurement signals may include Time of Arrival (TOA), Time Difference of Arrival (TDOA), Signal Strength (RSSI), and signal phase, etc.
[0246] When an electronic device needs to perform cellular positioning, its operating system or positioning-related application sends an activation command to the cellular positioning module, putting it into operation. The cellular positioning module then begins searching for available cellular network base stations in the surrounding environment and acquires parameters such as the Time of Arrival (TOA), Signal Strength Index (RSSI), and signal phase between the electronic device and available cellular network base stations. The cellular positioning module organizes the measured signal parameters, encapsulates them according to a specific data format, and stores them in the electronic device's memory for subsequent positioning calculations.
[0247] Step 315: Electronic devices can perform positioning calculations based on cellular measurement signals, combined with local or cloud databases, to generate cellular positioning information.
[0248] After acquiring the cellular measurement signal, the electronic device can read the cellular measurement signal parameters from memory and match them with the data in the database.
[0249] For example, an electronic device can search a local database for records that match cellular measurement signal parameters. This local database may pre-store base station information and corresponding signal characteristic parameters for different geographical locations, such as base station identifiers (e.g., base station ID), location coordinates, and signal strength range. The electronic device can estimate its distance to each base station using appropriate algorithms based on cellular measurement signal parameters (e.g., TOA, RSSI) and the base station information stored in the local database. For example, it can calculate the distance between the device and the base station based on the TOA measurement and signal propagation speed. Then, the electronic device can combine the distance estimation results from multiple base stations and use positioning algorithms such as triangulation or polygonal measurement to determine its own location. For example, by measuring the distances from the device to three different known base stations, the device's location coordinates can be calculated using the geometric relationships of triangles.
[0250] For example, after receiving cellular measurement signal parameters from an electronic device, the cloud server can search and match them in a cloud database. Typically, this cloud database can include base station information for a wider area and a more precise mapping between signals and locations. The cloud server uses positioning algorithms and specific models to analyze and calculate the cellular measurement signal parameters to obtain cellular positioning information. The cloud server can then send the calculated cellular positioning information (such as latitude and longitude coordinates, geographic location descriptions, etc.) to the electronic device. Regardless of whether a local database or a cloud database is used for positioning calculations, the electronic device can output the obtained cellular positioning information in various forms, such as displaying a map and device location marker on the screen, or sending the positioning information to other applications or devices to meet different application needs.
[0251] In summary, in this embodiment, the electronic device can obtain cellular measurement signals from the cellular positioning module to improve positioning accuracy. The cellular measurement signals contain a variety of information, such as signal strength, time of arrival, and angle of arrival. Based on this multi-dimensional information, the electronic device can combine base station locations and signal characteristics stored in a local database or cloud database with algorithms such as triangulation to perform comprehensive analysis, accurately determine the location of the electronic device, and thus effectively improve positioning accuracy.
[0252] In some embodiments, the electronic device further includes a Bluetooth positioning module, and before determining the positioning result via Bluetooth positioning information, the method 300 may further include:
[0253] Step 316: The electronic device can periodically scan for Bluetooth signals around it via the Bluetooth positioning module.
[0254] The Bluetooth signal may include, but is not limited to, the Bluetooth beacon signal, which may include the unique identifier of the Bluetooth beacon, signal strength RSSI, etc.
[0255] In some examples, an internal scanning cycle can be preset within the electronic device, for example, scanning every 2 seconds, 5 seconds, or 10 seconds. Shorter scanning cycles improve real-time positioning but increase power consumption; longer scanning cycles, while offering less real-time positioning, result in lower power consumption. When the preset scanning cycle time is reached, the electronic device's operating system or positioning-related application sends a scanning command to the Bluetooth positioning module, initiating the Bluetooth signal scanning process. Upon receiving the scanning command, the Bluetooth positioning module begins searching for available Bluetooth beacon signals in the surrounding environment. The Bluetooth positioning module can send probe requests according to the frequency and format specified in the Bluetooth protocol and monitor response signals from Bluetooth beacons. During the scanning process, the Bluetooth positioning module records key information for each detected Bluetooth beacon, such as the beacon's unique identifier (used to distinguish different beacons), the RSSI signal strength (reflecting the strength of the beacon signal received by the device), and the timestamp of the received signal. This information is stored in the electronic device's memory, providing data support for subsequent positioning calculations.
[0256] After completing one scan, the electronic device waits for the next scan cycle to arrive, and then repeats the above scanning process to continuously collect information on changes in surrounding Bluetooth beacon signals in order to ensure the real-time and accurate positioning.
[0257] Step 317: Electronic devices can perform location calculations based on Bluetooth signals, combined with local or cloud databases, to generate Bluetooth location information.
[0258] After acquiring a Bluetooth signal, the electronic device can read the scanned Bluetooth signal parameters from memory and match them with data in the database.
[0259] For example, an electronic device can search a local database for records that match the unique identifier of a scanned Bluetooth beacon. This local database may pre-store information on common Bluetooth beacons in different geographical locations, along with their corresponding signal strength characteristics, such as the beacon's identifier, its coordinates, and reference signal strength values at different distances. The electronic device can estimate the distance between itself and each Bluetooth beacon based on the measured Bluetooth beacon signal strength (RSSI) and a signal strength-distance attenuation model stored in the local database (typically an attenuation model fitted from extensive experimental data). The electronic device can then combine the distance estimates from multiple Bluetooth beacons and use positioning algorithms such as triangulation or polygonal measurement to determine its own location. For instance, by measuring the distances to three different known Bluetooth beacons, the device's coordinates can be calculated using the geometric relationships of triangles.
[0260] For example, if a cloud database is used for location calculations, the electronic device can send pre-processed Bluetooth signal information (such as beacon identifiers and signal strength) to the cloud server. Upon receiving the information, the cloud server can perform a comprehensive search and matching within its cloud database. Typically, the cloud database can include Bluetooth beacon information over a wider area and a more precise mapping between signals and locations. Based on the received Bluetooth signal information and the data in the database, the cloud server can use specific algorithms and models to perform distance estimation and location calculations, obtaining Bluetooth location information (such as latitude and longitude coordinates and geographic location descriptions). The cloud server then sends the calculated Bluetooth location information to the electronic device.
[0261] Whether using a local database or a cloud database for location calculations, electronic devices can output Bluetooth location information in various forms, such as displaying a map and device location markers on the screen, or sending the location information to other applications or devices to meet different application needs.
[0262] Therefore, in this embodiment, the electronic device can periodically scan Bluetooth signals to capture the precise location information of these beacons. By combining the detailed beacon coordinate data stored in a local or cloud database with specific positioning algorithms (such as trilateration), high-precision positioning can be achieved, meeting the needs of applications requiring high location accuracy. For example, in indoor spaces with walls or obstacles, the electronic device can rely on the Bluetooth positioning module for positioning to ensure the continuity and availability of positioning services and reduce positioning interruptions caused by signal loss.
[0263] In some embodiments, the method 300 may further include:
[0264] Step 318: The electronic device acquires its own motion status information.
[0265] The motion state information includes linear motion state or non-linear motion state; linear motion state can be understood as the electronic device moving along an approximately straight path; non-linear motion state can be understood as the motion path of the electronic device not being a straight line, and may include curves, broken lines, irregular paths, etc.
[0266] Electronic devices sense their own motion through built-in sensors (such as accelerometers and gyroscopes). Accelerometers measure changes in acceleration along three axes, and by analyzing the acceleration data, they can determine whether the device is accelerating or decelerating. Gyroscopes measure the angular velocity of the device, determining its rotation direction and angular changes. Combining this sensor data with algorithmic processing (e.g., through integration of acceleration and angular velocity), the electronic device can determine whether it is in linear or non-linear motion, thus obtaining motion state information.
[0267] Step 319: The electronic device can adjust the preset positioning cycle based on motion status information.
[0268] After acquiring its own motion state information (such as linear or non-linear motion), an electronic device can dynamically adjust its preset positioning cycle according to different motion states. For example, when the electronic device is in a linear motion state, its motion path is relatively simple and regular, and its position change is relatively easy to predict. In this case, the preset positioning cycle can be appropriately extended to reduce unnecessary positioning operations and thus reduce the device's power consumption. However, when the electronic device is in a non-linear motion state, its motion path is complex and variable, and its position is difficult to predict accurately. To ensure the accuracy and timeliness of positioning, the preset positioning cycle can be shortened, and the frequency of positioning operations can be increased to obtain its own position information more accurately.
[0269] For example, when an electronic device is stationary or in low-speed linear motion, its movement is stable. In this case, the device can lengthen its preset positioning cycle, reducing the frequency of data acquisition, processing, and interaction with external systems, thus lowering its computational burden and extending its battery life. Conversely, when the device is in high-speed linear motion (such as driving at high speed) or non-linear motion (such as running or turning), its position and environment change rapidly. The device can then adjust its preset positioning cycle to a shorter time. While this increases energy consumption, it avoids errors caused by information lag, ensuring timely and accurate positioning. For instance, in indoor navigation scenarios, when a user carrying the device is walking in a straight line, the device can use a longer preset positioning cycle to save power. When approaching a turn or requiring precise positioning, the preset positioning cycle can be automatically shortened to ensure navigation accuracy. This mechanism of dynamically adjusting the preset positioning cycle allows the device to better adapt to complex scenarios, improving the practicality and reliability of positioning.
[0270] In some embodiments, the method 300 may further include:
[0271] Step 320: Electronic devices acquire satellite information.
[0272] Satellite information can be understood as a set of parameters that measure the quality of satellite signals received by electronic devices. These parameters reflect the availability and reliability of satellite signals and have a significant impact on the positioning and other operations of electronic devices.
[0273] The aforementioned satellite information may include, but is not limited to, at least one of the following: number of satellites, signal strength, satellite distribution, or observation error.
[0274] The number of satellites refers to the total number of satellites that an electronic device can currently receive and identify for positioning purposes. Generally speaking, the more satellites received, the higher the positioning accuracy and reliability tend to be.
[0275] Signal strength refers to the power of a satellite signal received by an electronic device, usually measured in decibels per milliwatt (dBm). A stronger signal indicates less interference and attenuation during transmission, resulting in better signal quality.
[0276] Satellite distribution refers to the distribution of satellites in the sky that electronic devices can currently receive signals from, including the angular spacing between satellites and their coverage area. Good satellite distribution allows electronic devices to receive satellite signals from multiple different directions, which helps improve the accuracy and stability of positioning.
[0277] Observational error refers to the deviation between the observed values (such as pseudorange and carrier phase) obtained by electronic equipment from satellite signals during satellite positioning and the true values. The smaller the observational error, the more accurate the positioning result.
[0278] Typically, electronic devices have a built-in module for receiving satellite signals (such as a GNSS module in a GNSS receiver), which can continuously receive signals from satellites. During signal reception, the electronic device uses corresponding algorithms to analyze and process the received signals. For example, signal processing algorithms can count the number of satellites that can be successfully received and decoded; power measurement algorithms can obtain the signal strength of satellite signals; by analyzing parameters such as the time and frequency of satellite signals, combined with satellite orbit data, the distribution of satellites in the sky can be determined; at the same time, error analysis and evaluation can be performed on the measured observations to obtain satellite information, which may include one or more of the aforementioned factors such as the number of satellites, signal strength, satellite distribution, or observation errors.
[0279] Step 321: Electronic devices can assess satellite signal quality based on satellite information.
[0280] After acquiring satellite information, electronic devices can assess the satellite signal quality. The assessment results can usually be represented by some indicators, such as signal-to-noise ratio, bit error rate, and positioning accuracy. These indicators can determine the satellite signal quality, thereby providing a basis for subsequent operations or decisions, such as whether to continue using the current satellite signal, whether to switch satellites, or whether to switch operating frequencies.
[0281] Step 322: Based on the assessment results of satellite signal quality, the electronic device adjusts at least one of the following: preset positioning period, satellite constellation and / or operating frequency.
[0282] A preset positioning period can be understood as a time interval that can be pre-set when an electronic device performs satellite positioning and related operations. The electronic device can periodically perform certain tasks according to this preset positioning period, such as sending positioning requests to satellites, receiving satellite signals, and performing positioning calculations.
[0283] A satellite constellation is a system of satellites arranged according to specific orbital distribution and operational patterns. Different constellations have different numbers of satellites, orbital altitudes, and inclinations. Electronic devices can select a more suitable satellite constellation for positioning based on satellite signal quality, thereby improving positioning accuracy.
[0284] Operating frequency refers to the specific frequency used to transmit satellite signals. When electronic devices receive satellite signals at different operating frequencies, they may be subject to interference and influence from various factors. Therefore, electronic devices can select operating frequencies with better signal quality based on satellite information.
[0285] After receiving the satellite signal quality assessment results, if the assessment indicates good satellite signal quality (e.g., a large number of satellites, strong signal strength, reasonable satellite distribution, and small observation errors), the electronic device can appropriately extend the total duration of the preset positioning period, reducing unnecessary positioning operations and thus lowering power consumption. If the assessment indicates poor satellite signal quality, the electronic device can choose to switch from the currently used satellite constellation to another more suitable one to obtain better quality satellite signals. If the assessment indicates poor satellite signal quality, the electronic device can adjust its operating frequency, selecting a frequency with less interference and better signal quality to receive satellite signals. In short, the electronic device can adjust one or more of the preset positioning period, satellite constellation, and operating frequency according to the actual situation.
[0286] For example, when the evaluation result indicates that the current satellite signal quality is good, it means that there are many satellites, the signal strength is strong, and the distribution is good. In this case, the electronic equipment can appropriately extend the preset positioning period, because the signal acquired over a longer time interval can still ensure high positioning accuracy, while reducing the data processing burden and power consumption caused by frequent sampling. Conversely, when the evaluation result indicates that the current satellite signal quality is poor, it means that the number of detected satellites is reduced, the signal strength is weak, etc. The electronic equipment can shorten the preset positioning period, increase the sampling frequency, and promptly capture subtle changes in satellite signals, using more data to provide users with stable and accurate positioning services.
[0287] In other application scenarios, electronic devices can also automatically switch to other satellite constellations with better signal quality or switch to other operating frequencies with less interference based on the assessment results of satellite signal quality. If the assessment results indicate poor satellite signal quality, the electronic devices can effectively avoid the impact of signal interference on positioning, ensure stable reception and processing of satellite signals, and thus improve positioning accuracy and reliability.
[0288] To facilitate understanding, the positioning method proposed in this application will be further explained in detail below with reference to several software architectures.
[0289] Figure 4A A schematic diagram of the software architecture of an electronic device is shown; this electronic device can be a mobile device such as a mobile phone, or it can be part of a vehicle; it can be used to implement functions such as positioning; the process steps for low-power positioning in the background are as follows:
[0290] 1. Initialization and Data Preparation
[0291] The electronic device loads the map software development kit (SDK) from the parking card; this map SDK is responsible for loading pre-stored map data, providing basic information support for subsequent positioning and route planning. Parking card user experience (UX) refers to the user experience design centered around the parking card, aiming to improve user convenience, efficiency, and satisfaction in parking scenarios by optimizing card design, interaction flow, and information presentation.
[0292] Electronic devices can acquire raw positioning-related data through sensors such as GNSS, accelerometer-gyroscope (AG), barometer, and magnetometer connected via a smart sensor hub.
[0293] Among them, accelerometers and gyroscopes are used for inertial navigation positioning to monitor the motion status and directional changes of electronic devices in real time.
[0294] Barometers continuously measure changes in air pressure to help determine the height of electronic devices. In multi-story structures such as basements, changes in air pressure can reflect the floor level of the electronic device, thereby improving vertical positioning accuracy.
[0295] Magnetometers are used to detect changes in the Earth's magnetic field, assisting electronic devices in orientation, especially in environments where GPS signals are weak, such as underground parking lots, providing orientation references.
[0296] 2. Multi-source data fusion positioning
[0297] Ultra-low power positioning: When electronic devices perform positioning periodically, they can enable GNSS function for preliminary positioning during a small part of each positioning cycle to obtain initial geographical location information. During the remaining time, they can provide positioning services to users through inertial navigation and assisted positioning functions. This not only achieves low power positioning but also increases battery life.
[0298] Basement entrance matching: Electronic devices can match the location information obtained by internal sensors with the landmark entrance data in the map SDK to further determine the specific area or location range of the electronic device.
[0299] Vehicle occupant recognition: Electronic devices detect the vehicle's motion status using built-in sensors such as accelerometers and gyroscopes, including changes in acceleration and device rotation. Low-power algorithms are used to analyze the sensor data to determine if a user is in a vehicle. If occupancy is detected, subsequent location processing is triggered, reducing unnecessary location operations and conserving power.
[0300] Inertial navigation positioning and road network matching: Continuous positioning is performed through inertial navigation (such as combining sensor data from gyroscopes and accelerometers), and the positioning results are matched with road network data to ensure that the positioning path conforms to the actual road conditions, thereby improving the accuracy and continuity of positioning.
[0301] 3. Data Processing and Interaction
[0302] Sensorhub data processing: As the central hub for sensor data, Sensorhub integrates, filters, and performs preliminary processing on raw data from various sensors to extract effective positioning information.
[0303] Information transmission and interaction: The processed location information is transmitted to the parking card UX and related business logic modules. Simultaneously, the map SDK can update the map display or provide route planning suggestions based on the new location information.
[0304] 4. Low-power execution
[0305] Electronic devices can dynamically adjust the working time of GNSS positioning and inertial navigation positioning within a preset positioning cycle according to their own motion status and positioning needs. With user authorization, electronic devices can perform low-power positioning in the background (such as positioning via inertial navigation when GNSS is turned off) and automatically record information such as the user's parking location, floor, and parking space.
[0306] like Figure 4B As shown, taking a mobile phone as an example, users can use the phone's location function to navigate to the underground parking garage. Suppose a user needs to park in the 01 Scenic Area parking lot, the phone can use GNSS positioning combined with inertial navigation and other auxiliary positioning technologies to determine the parking location. After the user successfully parks the vehicle, they can see parking card 401 on the negative one screen of the phone. The parking card 401 will clearly display the parking-related information obtained from the location, including the parking lot map, the name of the parking lot (e.g., 01 Scenic Area parking lot), the specific floor (e.g., B1 floor), the parking space (e.g., near 405), and the parking duration (e.g., about 31 minutes).
[0307] Figure 4C A schematic diagram of the software architecture of an electronic device applicable to this application is shown; the software architecture includes modules such as GNSS, inertial navigation, WiFi, cellular, and Bluetooth; combined with Figure 4C The process by which various modules and electronic devices achieve low-power positioning is as follows:
[0308] 1. GNSS module positioning process
[0309] Signal reception:
[0310] The external antenna receives the GNSS signal transmitted by the satellite and transmits it to the external RF module for preliminary signal processing, such as amplification and down-conversion.
[0311] An external clock module provides a precise time reference for the reception and processing of GNSS signals.
[0312] Signal Processing and Computation:
[0313] The external RF module transmits the pre-processed signal to the GNSS module, where the internal RF module further processes the signal to extract data such as satellite ephemeris information.
[0314] The internal clock module ensures the time accuracy of the module's internal processing. The internal storage module stores specific algorithms, ephemeris information, and other data.
[0315] A microcontroller unit (MCU) is used to calculate the precise location (such as longitude, latitude, and altitude) of an electronic device in the Earth coordinate system based on received satellite signals using positioning algorithms (such as least squares method and Kalman filtering).
[0316] 2. Inertial Navigation Module Positioning Process
[0317] Sensor data acquisition:
[0318] The accelerometer and gyroscope in the sensor module collect information such as acceleration and angular velocity of the electronic device in real time; for example, the accelerometer can measure the acceleration of the electronic device in the three axes (such as the X, Y and Z axes in the XYZ coordinate system), and the gyroscope can measure the rotational angular velocity of the electronic device around the three axes.
[0319] Inertial navigation calculations:
[0320] The sensor module transmits the collected data to the inertial navigation submodule within the MCU module. The inertial navigation submodule performs calculations on the acceleration and angular velocity data to deduce the position and attitude changes of the electronic device relative to its initial position, thereby obtaining the real-time position and orientation information of the electronic device.
[0321] 3. Assisted positioning process
[0322] WiFi module:
[0323] The WiFi module can periodically scan for WiFi hotspots in the surrounding environment, obtain information such as the MAC address and signal strength of the hotspots, and perform positioning calculations or matching by combining local offline databases or cloud databases. The scanned WiFi hotspot information is converted into location information to assist GNSS and inertial navigation in achieving positioning.
[0324] Cellular module:
[0325] The cellular module communicates with nearby base stations to obtain information such as the base station ID and signal strength. It then combines this information with a local offline database or a cloud database to perform positioning calculations or matching. The obtained base station ID and signal strength information are converted into location information to assist GNSS and inertial navigation in achieving positioning.
[0326] Bluetooth module:
[0327] The Bluetooth module can communicate with Bluetooth beacons in known locations around the device to obtain the beacon's identification information. It then combines this information with a local offline database or a cloud database (which pre-stores Bluetooth beacon location information) to perform positioning calculations or matching, thereby determining the electronic device's position relative to the Bluetooth beacon and assisting in overall positioning.
[0328] 4. Fusion positioning process
[0329] Data fusion:
[0330] The fusion positioning module in the MCU module receives precise location information from the GNSS module, location information calculated by the inertial navigation submodule, and auxiliary location information provided by modules such as WiFi, cellular, and Bluetooth. It then uses data fusion algorithms (such as Kalman filtering) to fuse this location information to obtain more accurate, stable, and continuous positioning results.
[0331] 5. Collaborative operation under low power management
[0332] Within a preset positioning period, the electronic device can activate the GNSS module for high-precision positioning in the first few seconds to obtain an accurate initial position. Afterward, the GNSS module's operating frequency is turned off or reduced, and the device switches to an auxiliary positioning module such as inertial navigation for position estimation.
[0333] Alternatively, the WiFi, cellular, and Bluetooth modules can operate intermittently as needed, for example, by scanning the surrounding environment periodically to obtain assisted positioning information, rather than operating continuously to reduce power consumption.
[0334] The fusion positioning module can work continuously, constantly integrating the location information provided by various modules to ensure that reliable positioning results are output throughout the preset positioning cycle. At the same time, by reasonably scheduling the working status of each module, the goal of low-power positioning is achieved.
[0335] In summary, through the collaborative work of the above modules and the fusion positioning strategy, electronic devices can effectively reduce power consumption while ensuring positioning accuracy, thus meeting the positioning needs of different application scenarios.
[0336] Figure 5A A schematic diagram of the software architecture of another electronic device applicable to this application is shown; the process steps of the electronic device controlling the GNSS module to achieve positioning within a preset positioning period (e.g., 60 seconds) are as follows:
[0337] Clock signal supply
[0338] External and / or internal clocks provide a precise time reference for the radio frequency (RF) section and other processing units within the GNSS module, ensuring the orderly processing of data within the module.
[0339] Ephemeris buffers are used to store satellite ephemeris information. Ephemeris information includes satellite orbital parameters and is crucial for calculating the satellite's precise position. Pre-storing ephemeris information reduces the time required for real-time decoding from satellite signals, thus improving positioning efficiency.
[0340] Radio frequency signal processing
[0341] After receiving a weak GNSS satellite signal, the antenna first sends it to the LNA for amplification to increase the signal strength and facilitate subsequent processing.
[0342] The signals amplified by the LNA enter the L1-RF and L5-RF channels (taking simultaneous support for L1 and L5 bands as an example). These RF channels perform down-conversion, filtering, and other processing on the signals, converting the high-frequency satellite signals into intermediate frequency or baseband signals for subsequent digital signal processing.
[0343] Channel processing and positioning calculation
[0344] The processed signal enters multiple channels (such as L1 channel 1, L1 channel 2, L5 channel 1, and L5 channel n). Each channel is responsible for tracking a specific satellite signal, performing operations such as acquisition, tracking, and demodulation, and extracting information such as the satellite's navigation message and pseudorange.
[0345] The periodically on / off channels operate according to a certain time period. When on, they acquire and track satellite signals; when off, they enter a low-power state to save energy. The low-power on-chip position, velocity, and time (PVT) calculation unit uses the satellite information provided by each channel, combined with data in the ephemeris buffer, to calculate the position, velocity, and time information of the electronic device using positioning algorithms (such as least squares method, Kalman filtering, etc.).
[0346] Multi-source fusion positioning process in working mode
[0347] GNSS operating phase (5s)
[0348] Taking a preset positioning period of 60 seconds and GNSS working for 5 seconds within the preset positioning period (i.e., 60, 5) as an example, when the electronic device enters the 5s stage of GNSS On, multiple channels work simultaneously to quickly capture and track signals from multiple satellites in order to obtain high-precision satellite observation data.
[0349] By combining the ephemeris information in the ephemeris cache, the PVT calculation unit performs precise positioning calculations to obtain high-precision position information for the electronic device. Simultaneously, this stage can also provide accurate initial position information for subsequent modules such as inertial navigation.
[0350] GNSS shutdown phase (55s)
[0351] When the electronic device enters the 55s GNSS Off phase, most of the functions of the GNSS module enter a low-power state or are turned off, retaining only the necessary functions to reduce power consumption.
[0352] At this point, the inertial navigation module begins to operate. Sensor modules (such as accelerometers and gyroscopes) continuously collect information such as acceleration and angular velocity from the electronic device and transmit it to the inertial navigation submodule in the MCU module. The inertial navigation submodule calculates the acceleration and angular velocity information to infer the position and attitude changes of the electronic device relative to the previous GNSS positioning result, thereby obtaining the position information of the electronic device at the current stage.
[0353] Multi-source fusion supplementation
[0354] During the GNSS Off phase, in order to further improve the accuracy and reliability of positioning, electronic devices can utilize multi-source fusion point supplementation technology, which, in addition to inertial navigation information, can also combine auxiliary positioning information provided by modules such as WiFi, cellular, and Bluetooth.
[0355] For example, the WiFi module can periodically scan for surrounding WiFi hotspots to obtain WiFi signals related to the WiFi hotspots, such as MAC addresses and signal strength RSSI. By comparing these signals with the location information corresponding to the WiFi hotspots in a cloud database or locally stored data, the module can obtain location information. The cellular module can obtain base station information by communicating with the base station and convert it into location information. The Bluetooth module can communicate with Bluetooth beacons at known locations to determine the location information of the electronic device relative to the Bluetooth beacons.
[0356] The fusion positioning module fuses these location information from different sources and uses data fusion algorithms (such as Kalman filtering and particle filtering) to obtain more accurate and stable location information, thus compensating for the potential decrease in positioning accuracy that may occur when the GNSS function is turned off.
[0357] Through the collaborative work of the above GNSS functions and other modules at different working stages, the electronic device can achieve low-power and continuous stable positioning function within a preset positioning cycle.
[0358] Figure 5B A schematic diagram of the software architecture of another electronic device applicable to this application is shown. This electronic device includes GNSS, Retension RAM, and multiple modules such as position holding management, ephemeris holding management, and clock holding & calibration management. It also involves modules such as a temperature-compensated crystal oscillator (TCXO) clock and an RTC clock. The collaborative operation process between the various modules during the GNSS Off phase within a preset positioning period (e.g., 60 seconds) is as follows:
[0359] GNSS Off Phase
[0360] Retension RAM non-power-down cache:
[0361] During the GNSS Off phase, the Retension RAM, a non-power-down cache, stores critical data, including position, velocity, ephemeris, and clock calibration information. This data is retained during GNSS shutdown to ensure a rapid return to operational status when GNSS is restarted.
[0362] For example, assisted GNSS (AGNSS) or predicted GNSS (PGNSS) can provide GNSS receivers with auxiliary information, including approximate satellite positions, ephemeris data, and clock corrections. This information can help electronic devices search for and acquire satellite signals more quickly, significantly reducing the time to first positioning.
[0363] Location maintenance management:
[0364] By using the position information stored in Retension RAM and combining it with sensor data (such as accelerometers, gyroscopes, etc.), position estimation is performed to maintain the current position estimate, so as to provide continuous position information during the period of GNSS signal loss and assist in subsequent rapid reacquisition.
[0365] Ephemeral management:
[0366] Continuously manage the ephemeris information stored in Retension RAM. Ephemeris information is crucial for satellite signal prediction and acquisition. Even during GNSS off-peak periods, it is necessary to ensure the validity and accuracy of this data so that it can be quickly used for satellite signal search and acquisition when GNSS is restarted.
[0367] Clock hold & calibration management:
[0368] The RTC clock maintains time information and is calibrated periodically. The RTC clock provides a stable time reference during GNSS off-peak periods, while regular calibration ensures accuracy. Furthermore, the high-precision clock signal provided by the TCXO clock further guarantees clock stability, providing accurate time synchronization for rapid positioning when GNSS is subsequently restarted.
[0369] In other words, during the GNSS Off phase, the internal clock of the electronic device remains running to maintain time counting; information such as ephemeris and auxiliary position is also cached without power-down. The internal clock can be maintained using the internal RTC clock, and information such as ephemeris and auxiliary position can be cached using the memory in the non-power-down area of the electronic device, keeping the ephemeris and auxiliary position always valid.
[0370] The next GNSS On cycle is coming.
[0371] GNSS module reactivated:
[0372] When the GNSS on signal arrives, the GNSS module restarts and begins receiving satellite signals. Electronic devices can utilize internal clock information, ephemeris information, and auxiliary position information to assist the GNSS module in achieving rapid acquisition, tracking, and positioning calculations, thus enabling rapid GNSS startup.
[0373] Data reading and initialization:
[0374] The GNSS module can read previously stored position, velocity, ephemeris, and clock calibration data from the Retension RAM. This data serves as initial information, helping the GNSS module quickly return to its state before shutdown.
[0375] Assisting in rapid reacquisition and localization:
[0376] Assisted rapid reacquisition: The GNSS module can quickly predict the position and signal characteristics of satellites by using stored position and ephemeris information, thereby accelerating the satellite signal reacquisition process.
[0377] Assisted rapid positioning: Combining previous position estimation and clock calibration information, the GNSS module can calculate the current position and velocity more quickly, achieving rapid positioning. In this process, several specific techniques can be used to improve positioning efficiency, such as: visible satellite prediction, which reduces the search area by predicting satellites likely to appear within the field of view; satellite ephemeris sorting, which sorts ephemeris data according to satellite orbital patterns for quick retrieval of required information; and satellite search frequency sorting, which sorts search frequencies according to certain rules to improve search speed. All these operations rely on previously stored data to improve efficiency and accuracy.
[0378] Data update and synchronization:
[0379] After successfully reacquiring satellite signals and completing positioning, the GNSS module updates the data in the Retension RAM, including the latest position, velocity, ephemeris, and clock information, to prepare for the next GNSS Off phase.
[0380] Through the coordinated operation of the above modules during the GNSS Off and GNSS On phases, electronic devices can maintain certain functions during the GNSS signal loss period and quickly restore normal positioning functions when the GNSS signal is restored, thereby improving the reliability and response speed of positioning.
[0381] Figure 5C A schematic diagram of another software architecture for fusion positioning applicable to this application is shown; the electronic device includes multiple modules such as fusion positioning, GNSS, sensors, and WiFi; the collaborative working process between the various modules during the GNSS Off phase within a preset positioning period (e.g., 60 seconds) is as follows:
[0382] Figure 5CThe system contains multiple multi-source fusion point-filling units, taking a preset positioning cycle of 60 seconds as an example. Within each positioning cycle, the GNSS module can be activated for 5 seconds for positioning, while it remains off for the remaining 55 seconds. During these 55 seconds of GNSS module shutdown, the multi-source fusion point-filling units can coordinate with other auxiliary positioning modules such as inertial navigation (e.g., sensor modules), WiFi, cellular, and Bluetooth to supplement positioning points, ensuring continuous positioning information even when the GNSS module is not active. This operating mode leverages the high-precision positioning advantage of the GNSS module while reducing device power consumption through reasonable control of its operating time.
[0383] The fusion positioning module is the core component of the entire electronic device. It is responsible for receiving information from the multi-source fusion supplementary point unit and integrating data from various specific positioning modules. With a preset positioning period of 60 seconds, the fusion positioning module operates continuously regardless of whether the GNSS module is active or disabled. It can fuse GNSS positioning data (acquired within the first 5 seconds) with other positioning sources (such as auxiliary positioning data provided by sensors and WiFi within the last 55 seconds). Through a specific fusion algorithm, it combines the advantages of different data sources to improve the accuracy, stability, and continuity of positioning, ultimately outputting a reliable positioning result.
[0384] Figure 5C The sensor module includes, but is not limited to, various inertial sensors, such as accelerometers and gyroscopes. During the 55-second period when the GNSS module is off, the sensor module can monitor the motion parameters of the electronic device in real time, such as acceleration and angular velocity, and calculate the position changes of the electronic device based on the principle of inertial navigation, providing continuous positioning information for the fusion positioning module.
[0385] Optionally, while the GNSS module is off, the WiFi module can scan for nearby WiFi hotspots to obtain information such as the MAC address and signal strength of the hotspots. This information is then matched with a pre-built WiFi fingerprint database (i.e., a local database or cloud database that stores location information corresponding to WiFi hotspots) to determine the specific location of the electronic device, providing effective location reference data for fusion positioning.
[0386] Optionally, the cellular module can communicate with surrounding base stations to obtain relevant information, such as signal strength and time of arrival. When the GNSS module is off, this base station information can help determine the location of the electronic device, ensuring the continuity of positioning services.
[0387] Optionally, when the GNSS module is off, the Bluetooth module can interact with nearby Bluetooth beacons to obtain information such as beacon identification and signal strength. Based on blue beacon location information pre-stored in a local or cloud database, the Bluetooth module can provide short-range positioning data to the fusion positioning module, further enriching the sources of positioning information and improving positioning accuracy and reliability.
[0388] In other words, the entire positioning process achieves efficient, low-power, and continuously stable positioning functionality through the time control of the multi-source fusion point supplement unit, the data integration of the fusion positioning module, and the collaborative work of the underlying positioning modules.
[0389] Figure 5D This diagram illustrates the software architecture of another electronic device that achieves ultra-low power positioning within a preset positioning period. The electronic device may include multiple modules such as GNSS, sensors, satellite quality identification, motion state identification, dynamic mode adjustment, configuration, and multi-source data fusion. The electronic device can dynamically adjust parameters such as the preset positioning period based on its motion state and the evaluation results of satellite signal quality. The specific adjustment process is as follows:
[0390] 1. Data Acquisition Phase
[0391] The GNSS module continuously receives satellite signals and, based on these signals, transmits satellite-related information to the satellite quality identification module. This information includes the number of satellites, signal strength, satellite distribution, and observation errors, and is crucial data for assessing satellite signal quality.
[0392] Sensor modules can be used to monitor the motion status of electronic devices in real time. The electronic devices can then identify their motion status based on the sensor data output by the modules. This allows them to determine whether their motion is linear (e.g., moving straight) or curved (e.g., turning), providing a basis for subsequent dynamic adjustments to parameters such as the preset positioning cycle.
[0393] 2. Signal and Motion Status Assessment Phase
[0394] The electronic equipment processes and analyzes the satellite signal data acquired by the GNSS module. Based on preset standards, such as whether the number of satellites is sufficient, whether the signal strength meets the standard, whether the satellite distribution is reasonable, and whether the observation error is within the allowable range, the satellite signal quality is identified and evaluated, and the evaluation results are sent to the dynamic mode adjustment module.
[0395] The electronic device analyzes the sensing data transmitted from the sensor module to determine whether the electronic device's motion mode is linear motion or other complex motion states such as curves, and then transmits the motion state information to the dynamic mode adjustment module.
[0396] 3. Dynamic Adjustment Phase
[0397] The dynamic mode adjustment module determines whether parameters such as the preset positioning period need adjustment based on satellite quality assessment results and motion status information. If the satellite signal quality is good and the electronic equipment is in a stable linear motion state, the dynamic mode adjustment module can extend the preset positioning period to reduce power consumption; conversely, if the satellite signal quality is poor or the equipment's motion state is complex (such as frequent turns), the dynamic mode adjustment module can shorten the preset positioning period to improve positioning accuracy and timeliness. The dynamic mode adjustment module can send specific adjustment commands to the configuration module.
[0398] 4. Configuration Adjustment Phase
[0399] Constellation Configuration: The configuration module can select a suitable satellite navigation system configuration, such as GPS, BeiDou Navigation Satellite System (BDS), Galileo Satellite Navigation System (GAL), GLONASS Satellite Navigation System (GLO), etc., based on the adjustment instructions of the dynamic mode adjustment module, in order to optimize the reception and use of satellite signals.
[0400] Frequency Configuration: The configuration module can adjust the frequency of satellite signal reception (such as L1 or L5), selecting a frequency with better signal quality for positioning, thereby improving positioning accuracy and stability. For example, when signals at certain frequencies are interfered with, it can switch to other available frequencies.
[0401] Positioning cycle configuration: The configuration module can adjust the duration of the preset positioning cycle based on the adjustment instructions from the dynamic mode adjustment module. If more timely positioning information is required, the preset positioning cycle can be shortened; if real-time requirements are not high and power consumption needs to be reduced, the preset positioning cycle can be extended.
[0402] 5. Data fusion and positioning output stage
[0403] Multi-source data fusion: The multi-source data fusion module can fuse configured and adjusted GNSS data with other possible auxiliary positioning data. Through fusion algorithms, it combines the advantages of different data sources to improve the accuracy and reliability of positioning.
[0404] Ultra-low power positioning: After multi-source data fusion, the electronic device outputs the final positioning result. At the same time, the entire process achieves ultra-low power positioning function based on dynamic adjustment of positioning cycle and other configurations, meeting the positioning needs of electronic devices in different scenarios.
[0405] As described above, electronic devices can dynamically adjust their positioning strategies based on actual conditions, effectively reducing power consumption while ensuring positioning accuracy.
[0406] The foregoing has provided a detailed description of several software architectures applicable to this application. The following section will illustrate several application scenarios of method 300 in conjunction with interface embodiments, using a mobile phone as an example.
[0407] Figures 6A to 6C A schematic diagram of a parking application scenario is shown; for example Figure 6A As shown, users can open parking card 601 on the negative one screen of their phone; at this time, the phone enters the parking settings interface, as shown... Figure 6B As shown; on this parking settings interface, the user can see parking location settings option 602; the user can click the parking location control 603 on option 602 to enable the phone to start a low-power location mode. Specifically, the phone will activate its internal GNSS module for location during certain periods within a preset period, and will turn off the GNSS module during the remaining periods of the preset period, while simultaneously activating an auxiliary location module (such as an inertial navigation module) to continuously provide location services to the user. After the user completes parking, a parking service card 604 can be seen on the negative one screen, such as... Figure 6C As shown; the card 604 may include information such as a parking map, the name of the parking lot (e.g., 01 Scenic Area Parking Lot), the specific floor (e.g., B1), the approximate parking space (e.g., near 405), and the parking duration (e.g., approximately 31 minutes). Figure 6C As shown.
[0408] Figures 6D to 6F A schematic diagram of an exploration application scenario is shown; such as Figure 6A As shown, users can activate Adventure Mode 605 from the negative one screen of the phone screen; at this time, the phone enters the adventure settings interface, as shown... Figure 6D As shown; on the exploration settings interface, users can see exploration positioning settings option 607; users can click the exploration positioning control 608 on option 607 to enable the phone to start a low-power positioning mode, which works in the same way as the low-power positioning mode in a parking scenario, that is, the GNSS module is activated for positioning during certain periods within a preset period, and the GNSS module is turned off and the auxiliary positioning module is activated for continuous service during the remaining periods; when the user finishes the exploration, they can see the exploration service card 609 on the negative one screen, such as Figure 6EAs shown; the card 609 may include information such as an adventure map, adventure route (e.g., the route from start point A to end point B), and adventure duration (e.g., approximately 1 hour), etc. Figure 6E As shown; users can click card 609 to enter the adventure map interface, view the adventure map in area 610, and see their route from starting point A to ending point B, such as... Figure 6F As shown.
[0409] It should be noted that the positioning method proposed in this application is not only applicable to the parking and exploration scenarios mentioned above, but can also be applied to other scenarios with positioning needs, such as travel, logistics, emergency rescue, and indoor navigation. This application does not limit the scope of specific application scenarios.
[0410] The foregoing has detailed examples of the positioning method provided in this application. It is understood that, in order to achieve the above functions, the electronic device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. This application can divide the positioning method into functional units based on the above method examples; for example, each function can be divided into separate functional units, or two or more functions can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application is illustrative and only represents a logical functional division; other division methods may exist in actual implementation.
[0411] Figure 7 A schematic diagram of the structure of an electronic device provided in this application is shown. Figure 7 The dashed line indicates that the unit or module is optional. Electronic device 700 can be used to implement the methods described in the above method embodiments. Electronic device 700 can be a server, electronic device, or chip (system).
[0412] Electronic device 700 includes one or more processors 701, which enable electronic device 700 to implement Figure 3The method described in the corresponding method embodiment. Processor 701 can be a general-purpose processor or a dedicated processor. For example, processor 701 can be a central processing unit (CPU). The CPU can be used to control the electronic device 700, execute software programs, and process data from the software programs. The electronic device 700 may also include a communication unit 705 for implementing signal input (reception) and output (transmission).
[0413] The aforementioned electronic device 700 may be a chip (system) including a memory and a processor, wherein the processor is configured to execute a computer program stored in the memory to implement the methods shown in the various embodiments above.
[0414] The communication unit 705 may be an input and / or output circuit of the chip (system), or the communication unit 705 may be a communication interface of the chip (system), and the chip (system) may be a component of the electronic device 700.
[0415] For example, the communication unit 705 may be a transceiver of the electronic device 700, or the communication unit 705 may be a transceiver circuit of the electronic device 700.
[0416] The electronic device 700 may include one or more memories 702, on which a program 704 is stored. The program 704 can be executed by a processor 701 to generate instructions 703, causing the processor 701 to execute the method described in the above method embodiments according to the instructions 703. Optionally, the memory 702 may also store data. Optionally, the processor 701 may also read data stored in the memory 702, which may be stored at the same memory address as the program 704, or it may be stored at a different memory address than the program 704.
[0417] The processor 701 and memory 702 can be configured separately or integrated together, for example, integrated on a system-on-chip (SOC) of an electronic device. The specific manner in which the processor 701 executes the positioning method can be found in the relevant description in the method embodiments.
[0418] It should be understood that the steps of the above method embodiments can be implemented by hardware logic circuits or software instructions in the processor 701. The processor 701 can be a CPU, a digital signal processor (DSP), a field programmable gate array (FPGA), or other programmable logic devices, such as discrete gate, transistor logic devices, or discrete hardware components.
[0419] This application also provides a computer program product that, when executed by processor 701, implements the method of any of the method embodiments in this application. The computer program product can be stored in memory 702, for example, as program 704. Program 704 undergoes preprocessing, compilation, assembly, and linking processes to ultimately be converted into an executable object file that can be executed by processor 701.
[0420] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a computer, implements the method of any of the method embodiments of this application. The computer program may be a high-level language program or an executable object program.
[0421] The computer-readable storage medium is, for example, memory 702. Memory 702 can be volatile memory or non-volatile memory, or memory 702 can include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM).
[0422] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process and technical effects of the above-described apparatus and equipment can be referred to the corresponding processes and technical effects in the foregoing method embodiments, and will not be repeated here.
[0423] The systems, apparatuses, and methods disclosed in the several embodiments provided in this application can be implemented in other ways. For example, some features of the method embodiments described above may be omitted or not performed. The apparatus embodiments described above are merely illustrative; the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Multiple units or components may be combined or integrated into another system.
[0424] In addition, the coupling between units or between components can be direct or indirect, including electrical, mechanical or other forms of connection.
Claims
1. A positioning method, characterized in that, Applied to an electronic device, the electronic device including a GNSS module and an assisted positioning module, the method includes: When the electronic device is detected to be in positioning mode, the GNSS module is activated during the first time period of the preset positioning cycle. Output the positioning result corresponding to the first time period, which is generated based on the information output by the GNSS module; The GNSS module is turned off during the second time period, and the auxiliary positioning module is turned on during the second time period. The auxiliary positioning module includes an inertial navigation positioning module. The second time period is the time period in the preset positioning cycle other than the first time period. The positioning result corresponding to the second time period is output, which is generated based on the information output by the auxiliary positioning module.
2. The method according to claim 1, characterized in that, The auxiliary positioning module also includes at least one of a cellular positioning module, a WiFi positioning module, or a Bluetooth positioning module.
3. The method according to claim 1 or 2, characterized in that, The electronic device further includes an external radio frequency module, an external clock module, and a GNSS baseband module, and the method further includes: During the first time period, a power-down operation is performed on at least one of the following modules: an external radio frequency module, an external clock module, or a GNSS baseband module.
4. The method according to any one of claims 1 to 3, characterized in that, The GNSS module also includes an internal clock module and an ephemeris cache module, and the method further includes: Throughout the entire preset positioning period, the internal clock module and the ephemeris cache module are kept in the on state. The internal clock module is used to maintain the count within the preset positioning period, and the ephemeris cache module is used to cache the latest ephemeris information and the auxiliary position information output by the auxiliary positioning module.
5. The method according to claim 4, characterized in that, The method further includes: When the next cycle arrives, the GNSS module will switch from being turned on to being in positioning mode based on the latest ephemeris information and the auxiliary position information.
6. The method according to claim 5, characterized in that, After the GNSS module re-enables positioning, the method further includes: Based on the timing information obtained by the GNSS module repositioning, the frequency offset of the real-time clock (RTC) of the internal clock module is checked, and / or the auxiliary position information is updated based on the new position information obtained by the GNSS module repositioning.
7. The method according to any one of claims 4 to 6, characterized in that, The electronic device further includes a GNSS baseband module, and the method further includes at least one of the following methods for updating ephemeris information: Update the ephemeris information cached in the ephemeris cache module based on the latest ephemeris information demodulated by the GNSS baseband module; Receive the latest ephemeris information from the server and update the ephemeris information stored in the ephemeris cache module based on the latest ephemeris information.
8. The method according to any one of claims 1 to 7, characterized in that, In the second time period, the method further includes: The positioning result is determined using inertial navigation positioning information.
9. The method according to claim 8, characterized in that, The electronic device further includes a sensor module, and before determining the positioning result using inertial navigation positioning information, the method further includes: The sensor module acquires at least one of the following types of sensor data: gyroscope data, accelerometer data, magnetometer data, or barometer data. The inertial navigation positioning information is generated based on the sensor data.
10. The method according to any one of claims 1 to 9, characterized in that, In the second time period, the method further includes: The location result is determined by at least one of the following location information: WiFi location information, cellular location information, or Bluetooth location information.
11. The method according to claim 10, characterized in that, The electronic device further includes a WiFi positioning module, and before determining the positioning result using the WiFi positioning information, the method further includes: The WiFi positioning module periodically scans the WiFi signal of the electronic device. Based on the WiFi signal, location calculations are performed using a local database or a cloud database to generate the WiFi location information.
12. The method according to claim 10, characterized in that, The electronic device further includes a cellular positioning module, and before determining the positioning result using the cellular positioning information, the method further includes: The cellular measurement signal of the electronic device is obtained through the cellular positioning module; Based on the cellular measurement signals, the cellular positioning information is generated by performing positioning calculations in conjunction with a local database or a cloud database.
13. The method according to claim 10, characterized in that, The electronic device further includes a Bluetooth positioning module, and before determining the positioning result through the Bluetooth positioning information, the method further includes: The Bluetooth positioning module periodically scans the Bluetooth signals around the electronic device. Based on the Bluetooth signal, location calculations are performed using a local database or a cloud database to generate the Bluetooth location information.
14. The method according to any one of claims 1 to 13, characterized in that, The method further includes: Acquire motion state information of the electronic device, wherein the motion state information includes linear motion state or non-linear motion state; Based on the motion state information, the preset positioning cycle is adjusted.
15. The method according to any one of claims 1 to 14, characterized in that, The method further includes: Acquire satellite information, which includes at least one of the following: number of satellites, signal strength, satellite distribution, or observation error; The satellite signal quality is assessed based on the aforementioned satellite information; Based on the evaluation results of the satellite signal quality, adjust at least one of the following: the preset positioning period, satellite constellation, and / or operating frequency.
16. An electronic device, characterized in that, The electronic device includes a processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program from the memory, causing the electronic device to perform the method of any one of claims 1 to 15.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, causes the processor to perform the method of any one of claims 1 to 15.
18. A computer program product, characterized in that, The computer program product includes: computer program code, which, when executed by a processor, causes the processor to perform the method of any one of claims 1 to 15.
19. A chip system, characterized in that, The chip system includes a memory and a processor, the processor being configured to execute a computer program stored in the memory to implement the method as described in any one of claims 1 to 15.