Clock correction method and apparatus, electronic device
By collecting and verifying the characteristic data of satellite and cellular communication modules, and correcting the temperature coefficient of the clock module, the error problem caused by crystal oscillator aging was solved, thus improving the accuracy and success rate of satellite positioning and search.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- UNIGROUP SPREADTRUM COMM HUIZHOU CO LTD
- Filing Date
- 2023-03-31
- Publication Date
- 2026-04-24
AI Technical Summary
Clock modules in electronic devices suffer from increased temperature coefficient errors due to issues such as crystal aging and stress release, which affects the accuracy and success rate of satellite positioning and search.
By collecting characteristic data from the satellite communication module and the cellular communication module, and after verifying their validity, the temperature coefficient of the clock module is corrected using this data. The temperature coefficient is calculated using a cubic function and the historical values are updated.
This improves the accuracy and success rate of satellite positioning and searching for electronic devices, and ensures a more precise relationship between the frequency offset and temperature of the clock module.
Smart Images

Figure CN116318514B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of clock calibration, specifically to a clock calibration method and apparatus, and an electronic device. Background Technology
[0002] Electronic devices typically have a clock module to provide clock signals for the coordinated operation of other modules in the electronic device, such as processing modules (e.g., central processing units (CPUs), cellular communication modules (e.g., 5G chips), satellite communication modules (e.g., Global Navigation Satellite System (GNSS) chips)).
[0003] However, due to issues such as electrode aging and stress release in the crystal oscillators (such as temperature sensing crystals, TSX) in the clock module, the temperature coefficient of the clock module may have certain errors and become increasingly inaccurate. The temperature coefficient can be used to calculate the characteristic curve between the frequency error (FER) of the clock module and temperature. This characteristic curve can be used to compensate the frequency of the crystal oscillator in the clock module based on temperature.
[0004] Thus, when electronic devices need to perform satellite positioning or satellite search via satellite communication modules, the temperature coefficient of the clock module introduces errors, causing variations in its frequency offset. This results in inaccurate or failed satellite positioning or search. For example, satellite positioning or search may be performed within a certain frequency offset range (e.g., + / - 3 ppm), and beyond this range, satellite detection may become difficult. Therefore, further research is needed on how to calibrate the clock of electronic devices to improve the accuracy and success rate of satellite positioning or search. Summary of the Invention
[0005] This application provides a clock correction method and apparatus, and an electronic device, with the aim of solving how to correct the clock of an electronic device in order to improve the accuracy and success rate of satellite positioning or satellite search of the electronic device.
[0006] Firstly, this application provides a clock calibration method applied to an electronic device, the electronic device including a cellular communication module and a satellite communication module, wherein the cellular communication module and the satellite communication module use the same clock module; the method includes:
[0007] Collect first feature data, which represents data about at least one of temperature, frequency offset, and automatic frequency control (AFC) value generated when using the clock module during satellite positioning via the satellite communication module;
[0008] Collect second feature data, which represents data about at least one of temperature, frequency offset, and AFC value generated when the clock module is used during the process of camping on the cellular network through the cellular communication module;
[0009] The validity of the second feature data is verified, and the validity verification includes at least one of the following operations: data volume verification, low frequency data filtering, temperature range size verification, signal scene filtering, error verification with the first feature data, verification of the temperature coefficient range, verification of the temperature coefficient trend, and comparison of the quality with historical temperature coefficients.
[0010] If all operations in the validity check are executed and pass, the temperature coefficient of the clock module is corrected using the first feature data and the second feature data; otherwise, the temperature coefficient of the clock module is corrected using the first feature data.
[0011] As can be seen, the temperature coefficient of the clock module has an error, causing inaccuracies or failures when electronic devices perform satellite positioning or satellite search using the satellite communication model. Therefore, this application requires correction of the temperature coefficient of the clock module. To achieve this correction, this application can collect data (i.e., first characteristic data) generated when the clock module is used during satellite positioning via the satellite communication module, including at least one of temperature, frequency offset, and AFC value, and use the first characteristic data to correct the temperature coefficient.
[0012] However, since satellite communication modules are used less frequently and generate less heat, the amount of data in the first feature data may be too small, which is not conducive to improving the accuracy of the correction. In contrast, cellular communication modules are used more frequently and generate more heat. Therefore, this application can also collect data (i.e., second feature data) generated when the clock module is used during the process of residing in the cellular network through the cellular communication module, which includes at least one of temperature, frequency offset, and AFC value. The second feature data has a larger amount of data than the first feature data, which is beneficial to improving the accuracy of the correction.
[0013] Finally, to ensure the usability and validity of the second feature data, this application also requires a validity check on the second feature data. Only when all operations in the validity check are executed and pass is the second feature data considered valid, allowing the first and second feature data to be used to correct the temperature coefficient, thereby improving the accuracy of the correction. Otherwise, only the first feature data can be used to correct the temperature coefficient. Correction of the temperature coefficient can help improve the accuracy and success rate of satellite positioning or satellite search for electronic devices.
[0014] Secondly, this application provides a clock correction device applied to an electronic device, the electronic device including a cellular communication module and a satellite communication module, wherein the cellular communication module and the satellite communication module use the same clock module; the device includes:
[0015] A data acquisition unit is used to acquire first feature data, which represents data about at least one of temperature, frequency offset, and AFC value generated when the clock module is used during satellite positioning via the satellite communication module.
[0016] The data acquisition unit is further configured to acquire second feature data, which represents data on at least one of temperature, frequency offset, and automatic frequency control (AFC) value generated when the clock module is used during the process of residing in the cellular network through the cellular communication module.
[0017] The validity verification unit is used to perform validity verification on the second feature data. The validity verification includes at least one of the following operations: data size verification, low-frequency data filtering, temperature range size verification, signal scene filtering, error verification with the first feature data, verification of the temperature coefficient range, verification of the temperature coefficient trend, and comparison with historical temperature coefficients. If all operations in the validity verification are executed and pass, it means that the second feature data passes the validity verification; otherwise, it means that the second feature data fails the validity verification.
[0018] A temperature coefficient correction unit is used to correct the temperature coefficient of the clock module using the first feature data and the second feature data if all operations in the validity check are executed and pass; otherwise, it corrects the temperature coefficient of the clock module using the first feature data.
[0019] Thirdly, an electronic device according to this application includes a processor, a memory, and a computer program or instructions stored in the memory, wherein the processor executes the computer program or instructions to implement the steps of the method designed in the first aspect above.
[0020] Fourthly, this application provides a computer-readable storage medium storing a computer program or instructions that, when executed, implement the steps of the method designed in the first aspect above.
[0021] Fifthly, this application provides a computer program product comprising a computer program or instructions, wherein the computer program or instructions, when executed, implement the steps of the method designed in the first aspect above.
[0022] The beneficial effects of the technical solutions in the second to fifth aspects can be found in the technical effects of the technical solution in the first aspect, and will not be repeated here. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.
[0024] Figure 1 This is a schematic diagram of the characteristic curve between frequency offset and temperature according to an embodiment of this application;
[0025] Figure 2 This is a schematic diagram illustrating the change in the cooking characteristic curve due to electrode aging of a crystal oscillator according to an embodiment of this application.
[0026] Figure 3 This is a flowchart illustrating a clock calibration method according to an embodiment of this application;
[0027] Figure 4 This is a schematic diagram of various modules in the process of satellite positioning by an electronic device through a satellite communication module, according to an embodiment of this application.
[0028] Figure 5 This is a schematic diagram illustrating the characteristic curve between frequency offset and temperature, and the correspondence between temperature and AF value, according to an embodiment of this application.
[0029] Figure 6 This is a schematic diagram of various modules in an embodiment of this application during the process of an electronic device residing in a cellular network via a cellular communication module;
[0030] Figure 7 This is a schematic diagram illustrating the distribution between temperature and frequency deviation according to an embodiment of this application;
[0031] Figure 8 This is a schematic diagram of a measured characteristic curve and a curve obtained by curve fitting according to an embodiment of this application;
[0032] Figure 9 This is a functional unit block diagram of a clock correction device according to an embodiment of this application;
[0033] Figure 10 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation
[0034] To help those skilled in the art better understand the technical solutions of this application, the technical solutions in the embodiments of this application are described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art without creative effort regarding the embodiments of this application are within the scope of protection of this application.
[0035] It should be understood that the terms "first," "second," etc., used in the embodiments of this application are used to distinguish different objects, rather than to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, software, product, or device that includes a series of steps or units is not limited to the listed steps or units, but also includes steps or units not listed, or other steps or units inherent to these processes, methods, products, or devices.
[0036] The term "embodiment" as used in the embodiments of this application means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0037] In the embodiments of this application, "and / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent the following three situations: A exists alone; A and B exist simultaneously; B exists alone. Among them, A and B can be singular or plural.
[0038] In this embodiment, the symbol "*" can represent a multiplication sign, that is, to perform a multiplication operation. For example, A / B can represent A divided by B.
[0039] In the embodiments of this application, "at least one item" or its similar expression refers to any combination of these items, including any combination of a single item or a plurality of items. "One or more" means one or more, while "multiple" means two or more. For example, "at least one item" of a, b, or c can represent the following seven cases: a, b, c; a and b; a and c; b and c; a, b, and c. Each of a, b, and c can be an element or a set containing one or more elements.
[0040] In the embodiments of this application, "equal to" can be used with "greater than" and is applicable to technical solutions used when "greater than" is used; it can also be used with "less than" and is applicable to technical solutions used when "less than" is used. When "equal to" is used with "greater than", it is not used with "less than"; when "equal to" is used with "less than", it is not used with "greater than".
[0041] The technical solutions, beneficial effects, and related concepts involved in the embodiments of this application will be described in detail below.
[0042] I. Electronic Equipment
[0043] 1) Description
[0044] The electronic device in this application embodiment can be an entity / unit / module / device, etc., with communication transmission and reception functions.
[0045] In some possible implementations, the type of electronic device may include at least one of the following: handheld device, headset, wearable device, in-vehicle device, in-vehicle terminal, augmented reality (AR) device, virtual reality (VR) device, Internet of Things (IoT) device, projection device, projector, user equipment (UE), terminal device, terminal, mobile terminal, smartphone, smart screen, smart TV, smartwatch, laptop, smart speaker, camera, game controller, microphone, station (STA), access point (AP), mobile station (MS), personal digital assistant (PDA), personal computer (PC), relay device, etc.
[0046] In some possible implementations, this wearable device can also be called a smart wearable device, a general term for smart devices that utilize application-based wearable technology to intelligently design and develop everyday wearables. Examples include smart glasses, smart gloves, smartwatches, various smart bracelets with specific feature monitoring, and smart jewelry. Furthermore, this wearable device can be worn directly on the body or integrated into the user's clothing or accessories, making it a portable device. This wearable device can not only utilize dedicated hardware architectures but also dedicated software architectures for data interaction and cloud interaction. This wearable smart device can achieve complete or partial functionality without relying on other smart devices.
[0047] It should be noted that the embodiments of this application do not impose any particular limitation on the specific structure of the executing entity of the clock correction method, as long as it can be processed by running a computer program or instructions that record the method provided in the embodiments of this application and by performing the processing according to the method provided in the embodiments of this application. For example, the executing entity of the method provided in the embodiments of this application can be an electronic device, or a processor / device / module / unit in an electronic device that can call and execute computer programs or instructions, etc., without specific limitations.
[0048] 2) Hardware architecture of electronic devices
[0049] In some possible implementations, the electronic device of this application embodiment may include at least one of a processor, a sensing component, a display component, a camera component, a communication component, a clock component, an input driver, etc. Exemplary descriptions are provided below.
[0050] ① Processor
[0051] In some possible implementations, the processor can be used to run or add an operating system, which can be any one or more computer operating systems that implement business processing through processes. Examples include Linux, Unix, Android, iOS, Windows, Zephyr, Real-Time Operating System (RTOS), DOS, Mac, ThreadX, embedded operating systems, and Nucleus Plus.
[0052] In some possible implementations, the processor can be viewed as a complete system-on-chip (SOC).
[0053] In some possible implementations, the processor may include one or more processing units. For example, a processing unit may include at least one of the following: a central processing unit (CPU), an application processor (AP), a microcontroller unit (MCU), a single-chip microcomputer (SCM), a microcontroller, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a baseband processor, and a neural-network processing unit (NPU). The different processing units may be separate or integrated together.
[0054] In some possible implementations, a processing unit can be a single core or multiple cores.
[0055] In some possible implementations, a processing unit can run or load a multi-core subsystem. This multi-core subsystem can be an operating system with multi-core processing capabilities.
[0056] In some possible implementations, the processor may also include memory for storing computer programs or instructions.
[0057] For example, a processor can call programs stored in memory to run an operating system.
[0058] For example, the processor's memory can store or cache instructions that the processor has just used or that are used repeatedly. If the processor needs to use the instruction or data again, it can retrieve it directly from the memory, thereby avoiding repeated accesses, reducing processor wait time, and improving system efficiency.
[0059] For example, the memory in a processor can also store or cache data, and synchronize or transfer this data to other processors for execution. This memory in the processor can be a cache memory.
[0060] In some possible implementations, the processor may include one or more communication interfaces. These communication interfaces may include at least one of the following: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) interface, Inter-Integrated Circuit Sound (I2S) interface, Pulse Code Modulation (PCM) interface, Universal Asynchronous Receiver / Transmitter (UART) interface, Mobile Industry Processor Interface (MIPI), General-Purpose Input / Output (GPIO) interface, Subscriber Identity Module (SIM) interface, and Universal Serial Bus (USB) interface.
[0061] ②Sensing components
[0062] In some possible implementations, the sensing component can be a sensor.
[0063] For example, the sensing components may include at least one of the following: gravity sensor, gyroscope sensor, magnetometer sensor, accelerometer sensor, inertial sensor (such as inertial motion unit (IMU)), pressure sensor, barometric pressure sensor, distance sensor, proximity sensor, fingerprint sensor, temperature sensor, touch sensor, ambient light sensor, bone conduction sensor, ultra-wideband (UWB) sensor, near field communication (NFC) sensor, laser sensor, and / or visible light sensor.
[0064] ③ Display components
[0065] In some possible implementations, the display component can be used to display at least one of the following: user interface, user interface elements and features, user selectable controls, various displayable objects, etc.
[0066] In some possible implementations, the display component can be the physical screen of an electronic device. This physical screen can include one of a display screen, a touchscreen, or the like.
[0067] For example, the display component may include a display panel. The display panel may employ liquid crystal display (LCD), organic light-emitting diode (OLED), active-matrix organic light-emitting diode (AMOLED), flexible light-emitting diode (FLED), quantum dot light-emitting diodes (QLED), etc.
[0068] It should be noted that electronic devices can implement display functions through GPUs, display components, and processors. GPUs can be used to perform mathematical and geometric calculations and to render graphics. Additionally, a GPU can be a microprocessor for image processing and connects to both the display component and the processor. The processor can include one or more GPUs, which execute program instructions to generate or modify display information.
[0069] ④ Camera components
[0070] In some possible implementations, the camera component can be a camera or camera module, which is used to capture (shoot / scan / acquire, etc.) still / moving images or videos.
[0071] In some possible implementations, the camera components may include lenses, photosensitive elements, etc., and the photosensitive elements may be charge-coupled devices (CCDs) or complementary metal-oxide-semiconductor (CMOS) phototransistors.
[0072] Therefore, an object can generate an optical image through the lens and project it onto the photosensitive element. The photosensitive element can convert the light signals in this optical image into electrical signals, and then pass these electrical signals to the ISP (Image Signal Processor) for conversion into digital image signals. The ISP outputs this digital image signal to the DSP (Digital Signal Processor). The DSP converts this digital image signal into image signals in standard formats such as RGB and YUV.
[0073] It should be noted that the device can achieve functions such as capturing (shooting / scanning) images through ISP, DSP, camera components, video codecs, GPU, display components, and processors.
[0074] In some possible implementations, the ISP can be used to process data fed back from the camera component. For example, when taking a picture, the shutter is first opened, and then light passes through the lens of the camera component to the image sensor of the camera component, realizing the conversion of light signals into electrical signals. Finally, the image sensor transmits the electrical signals to the ISP for processing to convert them into digital images, etc.
[0075] In some possible implementations, the ISP can also perform algorithmic optimizations on image noise, brightness, and skin tone.
[0076] In some possible implementations, the ISP can also optimize parameters such as exposure and color temperature of the shooting scene.
[0077] In some possible implementations, the ISP and / or DSP can be set in the camera assembly.
[0078] ⑤ Communication components
[0079] It should be noted that communication components can be used to implement the communication functions of electronic devices.
[0080] In some possible implementations, the communication components may include cellular communication modules, satellite communication modules, Bluetooth communication modules, near field communication (NFC) modules, wireless fidelity (Wi-Fi) communication modules, etc. For example, cellular communication modules may include 5G chips, and satellite communication modules may include GNSS chips, etc.
[0081] ⑥ Clock component
[0082] It should be noted that clock components can be used to provide clock signals for coordinated operation to other components or modules in an electronic device. For example, a clock component may include a clock module.
[0083] ⑦ Input driver
[0084] In some possible implementations, the input driver can be used to handle various inputs from user-operated devices.
[0085] For example, when the display is a touchscreen, the input driver can be operated to detect and process various click or touch events. A click or touch event on the touchscreen simultaneously indicates the area of interest and initiates scanning of an object. The object can be displayed on the touchscreen as a preview of the image to be scanned, and a touch event at a specific location on the touchscreen indicates the image that should be scanned.
[0086] 3) Software architecture of electronic devices
[0087] In this embodiment of the application, the software architecture of the electronic device may adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture.
[0088] In some possible implementations, an electronic device may include at least one of the following: a kernel layer, a system runtime library layer, an application framework layer, and an application layer.
[0089] The layers communicate with each other through software interfaces, and the kernel layer, system runtime library layer, and application framework layer belong to the operating system space.
[0090] II. Clock Modules in Electronic Devices
[0091] 1. Frequency deviation versus temperature characteristic curve of the clock module
[0092] It should be noted that electronic devices typically have a clock module, which provides clock signals for coordinating the operation of other modules in the electronic device (such as processing modules, cellular communication modules, satellite communication modules, etc.).
[0093] It should be noted that clock modules typically have a frequency offset versus temperature characteristic curve, which can be used to compensate the frequency of the crystal oscillator in the clock module based on temperature.
[0094] Specifically, this characteristic curve can be represented by the following cubic function:
[0095] F = C3*(T-T0) 3 +C2*(T-T0) 2 +C1*(T-T0)+C0;
[0096] Where F represents frequency deviation, T represents temperature, T0 represents reference temperature (usually room temperature 25℃), and C3, C2, C1, and C0 represent the temperature coefficients of each term.
[0097] For example, such as Figure 1 The frequency deviation versus temperature characteristic curves are shown. The temperature range is from -60℃ to 100℃, and the frequency deviation is from -20ppm to 5ppm.
[0098] 2. Measure the temperature coefficient of the clock module during production testing.
[0099] When electronic devices leave the factory, due to differences in the crystal oscillators of the clock modules in different devices, it is necessary to test their characteristic curves. This involves measuring the temperature coefficients (C3, C2, C1, C0) of the clock module during production testing and then storing these temperature coefficients in the electronic device's memory. This process is essentially a clock module calibration process. In this way, these temperature coefficients can be directly used during the subsequent use of the electronic device.
[0100] Measuring the temperature coefficient of a clock module during production testing can be achieved through the following process: Multiple temperatures of the clock module during operation are collected, along with their corresponding frequency offsets. These temperatures and their corresponding frequency offsets are then fed into the cubic function described above to calculate the temperature coefficient. It's crucial that these temperatures are not too close together to avoid inaccurate calculations. For example, in actual production, only multiple temperatures near a reference temperature T0 are used, with a temperature difference greater than 1°C between them. Since these temperatures are near the reference temperature T0, the values of the quadratic and cubic terms in the cubic function are very low. Therefore, the calculation of C3 and C2 can be ignored, and the preset values of C3 and C2 provided by the crystal oscillator supplier in the clock module can be used directly. This way, only C1 and C0 need to be calculated.
[0101] 3. The temperature coefficient of the clock module has an error.
[0102] After electronic devices are manufactured, issues such as electrode aging and stress release may occur in the crystal oscillator (e.g., TSX) within the clock module. This can lead to errors in the clock module's temperature coefficient, causing it to become increasingly inaccurate. Specifically, the temperature coefficient C0 may exhibit significant errors.
[0103] Taking the TSX in a clock module as an example, compared to the silver-plated electrodes of a digitally controlled crystal oscillator (DCXO), the electrodes of a TSX are generally gold-plated. Although gold has better oxidation resistance, is denser, and less prone to impurity adsorption than silver, the electrodes of a TSX still have an aging rate of + / - 0.7 to 1 ppm per year, and may reach an aging rate of + / - 4 ppm after 5 years.
[0104] For example, such as Figure 2 As shown, the characteristic curve changes due to electrode aging of the crystal oscillator in the clock module. Among them, Figure 2 Three characteristic curves are shown: the characteristic curve of the crystal oscillator at the time of manufacture, the characteristic curve of the crystal oscillator after 1 year of aging, and the characteristic curve of the crystal oscillator after 5 years of aging.
[0105] III. A Clock Correction Method
[0106] 1. Description
[0107] When electronic devices need to perform satellite positioning or satellite search via a satellite communication module, the crystal oscillator in the clock module may have an error in its temperature coefficient due to electrode aging, stress release, or other issues. This causes changes in the frequency offset range of the clock module, resulting in inaccurate or failed satellite positioning or search. For example, satellite positioning or search will perform a scan within a certain frequency offset range (such as + / - 3 ppm), and beyond this range, it may be difficult to find satellites.
[0108] Based on this, embodiments of this application provide a clock correction method to correct the clock of an electronic device in order to improve the accuracy and success rate of satellite positioning or satellite search of the electronic device.
[0109] like Figure 3 As shown, Figure 3 This is a flowchart illustrating a clock calibration method according to an embodiment of this application, applied to an electronic device. The electronic device includes a cellular communication module and a satellite communication module, and the cellular communication module and the satellite communication module use the same clock module. The electronic device may be a processor / chip / device / unit, etc. The method may include the following steps:
[0110] S310. Collect first feature data, which represents data on at least one of temperature, frequency offset, and automatic frequency control (AFC) value generated when using the clock module during satellite positioning via the satellite communication module.
[0111] S320. Acquire second feature data, which represents data about at least one of temperature, frequency offset, and AFC value generated when using the clock module during the process of residing in the cellular network via the cellular communication module.
[0112] S330. Perform validity verification on the second feature data. The validity verification includes at least one of the following operations: data size verification, low-frequency data filtering, temperature range size verification, signal scene filtering, error verification with the first feature data, verification of the temperature coefficient range, verification of the temperature coefficient trend, and comparison of the performance with historical temperature coefficients.
[0113] S340. If all operations in the validity check are executed and pass, the temperature coefficient of the clock module is corrected using the first feature data and the second feature data; otherwise, the temperature coefficient of the clock module is corrected using the first feature data.
[0114] It should be noted that using the first and second characteristic data to correct the temperature coefficient of the clock module can be understood as substituting the first and second characteristic data into the cubic function described in "1. The characteristic curve between the frequency deviation and temperature of the clock module" above to calculate the temperature coefficient, and using the calculated temperature coefficient to update the historical temperature coefficient.
[0115] Correcting the temperature coefficient of the clock module using the first characteristic data can be understood as substituting the first characteristic data into the cubic function described in "1. Characteristic curve between frequency deviation and temperature of clock module" above to calculate the temperature coefficient, and using the calculated temperature coefficient to update the historical temperature coefficient.
[0116] As can be seen, the temperature coefficient of the clock module has an error, causing inaccuracies or failures when electronic devices perform satellite positioning or satellite search using the satellite communication model. Therefore, this application requires correction of the temperature coefficient of the clock module. To achieve this correction, this application can collect data (i.e., first characteristic data) generated when the clock module is used during satellite positioning via the satellite communication module, including at least one of temperature, frequency offset, and AFC value, and use the first characteristic data to correct the temperature coefficient.
[0117] However, since satellite communication modules are used less frequently and generate less heat, the amount of data in the first feature data may be too small, which is not conducive to improving the accuracy of the correction. In contrast, cellular communication modules are used more frequently and generate more heat. Therefore, this application can also collect data (i.e., second feature data) generated when the clock module is used during the process of residing in the cellular network through the cellular communication module, which includes at least one of temperature, frequency offset, and AFC value. The second feature data has a larger amount of data than the first feature data, which is beneficial to improving the accuracy of the correction.
[0118] Finally, to ensure the usability and validity of the second feature data, this application also requires a validity check on the second feature data. Only when all operations in the validity check are executed and pass is the second feature data considered valid, allowing the first and second feature data to be used to correct the temperature coefficient, thereby improving the accuracy of the correction. Otherwise, only the first feature data can be used to correct the temperature coefficient. Correction of the temperature coefficient can help improve the accuracy and success rate of satellite positioning or satellite search for electronic devices.
[0119] 2. Detailed Explanation
[0120] The relevant concepts and technical solutions involved in this application will be explained in detail below.
[0121] 1) First feature data
[0122] a. Description
[0123] The first feature data may represent data about at least one of temperature, frequency offset, and AFC (Automatic Frequency Control) values generated when using a clock module during satellite positioning via a satellite communication module.
[0124] It should be noted that during satellite positioning via satellite communication modules, electronic devices use clock modules to generate corresponding clock signals, but also generate data such as temperature, frequency offset, and AFC values. For ease of description and differentiation, these data can be referred to as "first characteristic data."
[0125] Because the temperature coefficient of the clock module has an error, the electronic device may experience inaccuracies or failures when performing satellite positioning or satellite search using the satellite communication model. Therefore, this application requires correction of the temperature coefficient of the clock module. To achieve this correction, this application can collect first feature data generated when using the clock module during satellite positioning via the satellite communication module, and use the first feature data to correct the temperature coefficient, thereby improving the accuracy and success rate of satellite positioning or satellite search for the electronic device.
[0126] b. Composition of the first feature data
[0127] In this embodiment of the application, the first feature data may include at least one of the following:
[0128] The first temperature range formed by the temperature generated when the clock module is used by the satellite communication module, the frequency offset corresponding to the temperature in the first temperature range, the first AFC value, the second AFC value, and the frequency offset corresponding to the second AFC value;
[0129] The first AFC value can represent the AFC value corresponding to the temperature in the first temperature range;
[0130] The second AFC value represents the AFC value required for the signal energy of the satellite signal demodulated by the satellite communication module to reach its peak value at the temperature within the first temperature range.
[0131] The following sections will provide specific explanations.
[0132] ◆First temperature range
[0133] It should be noted that during satellite positioning via satellite communication modules, the clock module generates various temperatures, which together form a temperature range. For ease of distinction and description, this temperature range is referred to as the "first temperature range".
[0134] frequency deviation corresponding to the temperature in the first temperature range
[0135] It should be noted that, since the clock module itself has a characteristic curve between frequency offset and temperature, this application can determine the frequency offset corresponding to the temperature in the first temperature range through this characteristic curve.
[0136] ◆AFC value
[0137] It should be noted that during satellite positioning via satellite communication modules, the AFC value can be used to adjust the local oscillator (LO) output by the phase-locked loop (PLL) in the electronic device for satellite signal demodulation. The AFC value can also be viewed as an AFC control word.
[0138] For example, in Figure 4 The electronic components include a satellite communication module, a clock module, a PLL, and an antenna. The satellite communication module includes a baseband (BB), a Delta Sigma Modulate (DSM), and an Automatic Frequency Control (AFC). The clock module includes an oscillator (OSC) and a crystal. The phase-locked loop includes a divider, a phase detector and charge pump (PFD & CP), a low-pass filter (LPF), and voltage-controlled oscillators (VCOs).
[0139] Electronic devices can control the LO output of the PLL to the target channel via the DSM. Due to F ref There may be discrepancies, so the LO output of the PLL may deviate from the frequency of the target channel. Additionally, the BB adjusts the AFC value via the AFC control word, thereby adjusting the LO output of the PLL.
[0140] Thus, based on different LOs, it is possible to demodulate satellite signals. When the electronic equipment is adjusted to a certain AFC value so that the signal energy of the demodulated satellite signal reaches its peak, it is identified as the channel that needs to be synchronized, so that the LO is perfectly matched with the satellite signal.
[0141] ◆First AFC value
[0142] The first AFC value can be regarded as the initial or preset AFC value.
[0143] It should be noted that, since the electronic device of this application stores the correspondence between temperature / frequency deviation and AFC value (which can be regarded as initial or preset) in advance when it leaves the factory, this application can determine the AFC value corresponding to the temperature in the first temperature range, i.e., the first AFC value, based on the correspondence.
[0144] For example, such as Figure 5 As shown, in Figure 5 In (a), temperature T corresponds to frequency deviation f(t) in the characteristic curve between frequency deviation and temperature; Figure 5 In (b), the AFC value (i.e. the first AFC value) corresponding to temperature T is determined by the correspondence between temperature (or frequency deviation) and AFC value.
[0145] ◆Second AFC value
[0146] The second AFC value can be seen as the AFC value after continuous adjustment during the satellite positioning process of electronic devices through satellite communication modules.
[0147] In combination with the above Figure 4 It can be seen that when the electronic device is adjusted to a certain AFC value so that the signal energy of the demodulated satellite signal reaches its peak, it is identified as the channel that needs to be synchronized, so that the LO is perfectly matched with the satellite signal. At this time, the AFC value is the second AFC value.
[0148] ◆Frequency offset corresponding to the second AFC value
[0149] It should be noted that, since the electronic device of this application stores the correspondence between temperature / frequency deviation and AFC value in advance at the factory, this application can determine the frequency deviation corresponding to the second AFC value based on the correspondence.
[0150] In addition, the frequency offset corresponding to the second AFC value can be regarded as a correction to the frequency offset corresponding to the temperature in the first temperature range.
[0151] For example, taking temperature T1 in the first temperature range as an example, temperature T1 corresponds to a first AFC value (i.e., f1); and at temperature T1, by adjusting the AFC value to make the signal energy of the demodulated satellite signal reach its peak, a second AFC value (i.e., f2) is obtained. Under normal circumstances, if the temperature coefficient of the clock module has no error, f2 and f1 should be approximately equal. Thus, if there is a significant error between f2 and f1, it indicates that the temperature coefficient of the clock module has an error.
[0152] c. Conditions for starting the collection of the first feature data
[0153] In some possible implementations, the first feature data may be collected starting under the following conditions:
[0154] The current temperature generated when the clock module is used by the satellite communication module exceeds the temperature range formed when the clock module was used by the satellite communication module in the last data acquisition.
[0155] Understandably, if the current temperature exceeds the temperature range established by the previous data acquisition, it indicates a significant temperature change. In this case, the present application can restart the acquisition of the first feature data, ensuring minimal overlap between the re-acquired temperature range and the previously acquired range. This results in a wide range of acquired temperatures, creating significant differences between the data points, which helps ensure data validity. Consequently, the feature curves obtained using these temperatures are more accurate, as are the temperature coefficients corrected using the first feature data.
[0156] In some possible implementations, the first feature data may be collected starting under the following conditions:
[0157] The difference between the AFC value corresponding to the current temperature and the AFC value required for the satellite signal energy demodulated by the satellite communication module at the current temperature to reach its peak exceeds a preset threshold.
[0158] It is understandable that the AFC value corresponding to the current temperature is a preset AFC value obtained through a correspondence; the AFC value required for the demodulated satellite signal energy to reach its peak is the adjusted AFC value. Therefore, if the difference between the preset AFC value and the adjusted AFC value exceeds a preset threshold, it indicates that there is a certain error in the temperature coefficient of the clock module, and it is necessary to start collecting the first feature data to correct the temperature coefficient.
[0159] In some possible implementations, the first feature data may be collected starting under the following conditions:
[0160] A new data collection cycle is triggered at regular intervals.
[0161] Understandably, the collection of the first feature data is periodic. When a new collection cycle is triggered at regular intervals, the collection of the first feature data begins.
[0162] 2) Second feature data
[0163] a. Description
[0164] The second feature data may represent data about at least one of temperature, frequency offset, and AFC (Automatic Frequency Control) values generated when using a clock module while residing in a cellular network via a cellular communication module.
[0165] It should be noted that while electronic devices use a clock module to generate clock signals during their stay on a cellular network via a cellular communication module, they also generate data such as temperature, frequency offset, and AFC value. For ease of description and differentiation, these data can be referred to as "secondary characteristic data."
[0166] Since satellite communication modules are used less frequently and generate less heat, the amount of data in the first feature data may be too small, which is not conducive to improving the accuracy of the correction. In contrast, cellular communication modules are used more frequently and generate more heat. Therefore, this application can also collect the second feature data generated when the clock module is used while the cellular communication module is stationary in the cellular network. The second feature data has a larger amount of data than the first feature data, which is beneficial to improving the accuracy of the correction.
[0167] b. Composition of the second feature data
[0168] In this embodiment of the application, the second feature data may include at least one of the following:
[0169] The second temperature range formed by the temperature generated when the clock module is used by the cellular communication module, the frequency offset corresponding to the temperature in the second temperature range, the third AFC value, the fourth AFC value, and the frequency offset corresponding to the fourth AFC value;
[0170] The third AFC value can represent the AFC value corresponding to the temperature in the second temperature range;
[0171] The fourth AFC value represents the AFC value required for the signal energy of the downlink reference signal demodulated by the cellular communication module to reach its peak value at the temperature in the second temperature range.
[0172] The following sections will provide specific explanations.
[0173] ◆Second temperature range
[0174] It should be noted that when an electronic device resides on a cellular network via a cellular communication module, the clock module generates various temperatures, which together form a temperature range. For ease of distinction and description, this temperature range is referred to as the "second temperature range."
[0175] ◆Frequency deviation corresponding to the temperature in the second temperature range
[0176] It should be noted that, since the clock module itself has a characteristic curve between frequency offset and temperature, this application can determine the frequency offset corresponding to the temperature in the second temperature range through this characteristic curve.
[0177] ◆AFC value
[0178] It should be noted that during the process of an electronic device camping on a cellular network via a cellular communication module, the AFC value can be used to adjust the LO output of the PLL in the electronic device for demodulation of the downlink reference signal. The AFC value can also be viewed as the AFC control word.
[0179] For example, in Figure 6 In this system, electronic devices include cellular communication modules, clock modules, PLLs, antennas, etc. Satellite communication modules include BB, DSM, AFC, etc.; clock modules include OSC, crystals, etc.; and phase-locked loops include dividers, PFD & CP, LPF, VCO, etc.
[0180] Electronic devices can control the LO output of the PLL to the target channel via the DSM. Due to F ref There may be some discrepancy, so the LO output of the PLL may deviate from the frequency of the target channel. Additionally, the BB adjusts the AFC value via the AFC control word, thereby adjusting the LO output of the PLL.
[0181] Thus, based on different LOs, the downlink reference signal can be demodulated. When the electronic device adjusts to a certain AFC value so that the signal energy of the demodulated downlink reference signal reaches its peak, it is identified as the channel that needs to be synchronized, so that the LO and the downlink reference signal are perfectly matched.
[0182] ◆Third AFC value
[0183] The third AFC value can be regarded as the initial or preset AFC value.
[0184] It should be noted that, since the electronic device of this application stores the correspondence between temperature (or frequency deviation) and AFC value (which can be regarded as initial or preset) in advance when it leaves the factory, this application can determine the AFC value corresponding to the temperature in the second temperature range, i.e., the third AFC value, based on the correspondence.
[0185] ◆Fourth AFC value
[0186] The fourth AFC value can be seen as the AFC value that is continuously adjusted during the process of an electronic device staying in a cellular network through a cellular communication module.
[0187] In combination with the above Figure 6 It can be seen that when the electronic device adjusts to a certain AFC value so that the signal energy of the demodulated downlink reference signal reaches its peak, it is identified as the channel that needs to be synchronized, so that the LO is perfectly matched with the satellite signal. At this time, the AFC value is the fourth AFC value.
[0188] ◆Frequency offset corresponding to the fourth AFC value
[0189] It should be noted that, since the electronic device of this application stores the correspondence between temperature / frequency deviation and AFC value in advance when it leaves the factory, this application can determine the frequency deviation corresponding to the fourth AFC value based on the correspondence.
[0190] In addition, the frequency deviation corresponding to the second AFC value can be regarded as a correction for the frequency deviation corresponding to the temperature in the second temperature range.
[0191] For example, taking temperature T2 in the second temperature range as an example, temperature T2 corresponds to a third AFC value (i.e., f3); and at temperature T2, by adjusting the AFC value to make the signal energy of the demodulated downlink reference signal reach its peak, a fourth AFC value (i.e., f4) is obtained. Under normal circumstances, if the temperature coefficient of the clock module has no error, f4 and f3 should be approximately equal. Thus, if there is a significant error between f4 and f3, it indicates that the temperature coefficient of the clock module has an error.
[0192] c. Conditions for starting the collection of second feature data
[0193] In some possible implementations, the second feature data may be collected starting under the following conditions:
[0194] The current temperature generated when the clock module is used by the cellular communication module exceeds the temperature range formed when the clock module was used by the cellular communication module in the last data collection.
[0195] Understandably, if the current temperature exceeds the temperature range established by the previous data acquisition, it indicates a significant temperature change. In this case, the application can restart the acquisition of the second feature data, ensuring minimal overlap between the re-acquired temperature range and the previously acquired range. This results in a wide range of acquired temperatures, creating significant differences between the data points, which helps ensure data validity. Consequently, the feature curves obtained using these temperatures are more accurate, as are the temperature coefficients corrected using the second feature data.
[0196] In some possible implementations, the second feature data may be collected starting under the following conditions:
[0197] The difference between the AFC value corresponding to the current temperature and the AFC value required for the downlink reference signal energy demodulated by the cellular communication module at the current temperature to reach its peak exceeds a preset threshold.
[0198] It is understandable that the AFC value corresponding to the current temperature is a preset AFC value obtained through a correspondence; the AFC value required for the signal energy of the demodulated downlink reference signal to reach its peak is the adjusted AFC value. Therefore, if the difference between the preset AFC value and the adjusted AFC value exceeds a preset threshold, it indicates that there is a certain error in the temperature coefficient of the clock module, and it is necessary to start collecting second feature data to correct the temperature coefficient.
[0199] In some possible implementations, the second feature data may be collected starting under the following conditions:
[0200] A new data collection cycle is triggered at regular intervals.
[0201] Understandably, the collection of the second feature data is periodic. When a new collection cycle is triggered at regular intervals, the collection of the second feature data begins.
[0202] d. The interval between the start time of the second feature data acquisition and the start time of the first feature data acquisition.
[0203] It should be noted that this application can use both the second feature data and the first feature data to correct the temperature coefficient of the clock module. However, in order to avoid the accuracy of the correction being reduced due to too much time difference between the second feature data and the first feature data, for example, the first feature data is collected in the morning and the second feature data is collected in the afternoon, resulting in a large time difference in the collection time.
[0204] Based on this, the interval between the start time of the second feature data acquisition and the start time of the first feature data acquisition does not exceed the preset interval threshold, which helps to ensure the time validity of the second feature data and the first feature data, so as to improve the accuracy of temperature coefficient correction.
[0205] 3) Validation of the second feature data
[0206] a. Description
[0207] To ensure the usability and validity of the second feature data, this application also requires a validity check on the second feature data. Only when all operations in the validity check are executed and pass are the second feature data considered valid, allowing the first and second feature data to be used to correct the temperature coefficient and improve the accuracy of the correction. Otherwise, only the first feature data can be used to correct the temperature coefficient. Correcting the temperature coefficient can improve the accuracy and success rate of satellite positioning or satellite search for electronic devices.
[0208] In the embodiments of this application, validity verification may include at least one of the following operations: data volume verification, low-frequency data filtering, temperature range size verification, signal scene filtering, error verification with the first feature data, verification of the temperature coefficient range, verification of the temperature coefficient change trend, and comparison of the quality with historical temperature coefficients.
[0209] It should be noted that the execution order of the various operations in the validity verification process does not have to be fixed. For example, this application may perform data size verification first and then perform low-frequency data filtering, or it may perform low-frequency data filtering first and then perform data size verification; there is no specific restriction on this.
[0210] The above operations will be explained in detail below.
[0211] b. Data size verification
[0212] It should be noted that a larger amount of second feature data is beneficial for ensuring the accuracy of temperature coefficient correction. However, electronic devices may be unable to receive signals for a period of time due to poor network quality, or the data collected in certain signal scenarios may not be suitable for calculation (for example, data collected in high-speed movement scenarios may cause additional frequency offset, or data collected when the signal-to-noise ratio is poor is also unsuitable). Therefore, the amount of second feature data collected may be insufficient. To address this, this application requires verification of the second feature data size to ensure data validity.
[0213] In some possible implementations, data size verification may include the following steps:
[0214] Determine whether the size of the second feature data exceeds the preset data size;
[0215] If the data size exceeds the preset limit, the data size check is passed; otherwise, the data size check is not passed.
[0216] As can be seen, this application can introduce a preset data size to determine the data size of the second feature data, thereby realizing the data size verification of the second feature data.
[0217] c. Low-frequency data filtering
[0218] It should be noted that some low-frequency data may be collected in the second feature data due to some accidental factors, and these low-frequency data may affect the accuracy of the correction. Therefore, this application needs to filter these low-frequency data.
[0219] For example, such as Figure 7The example illustrates the distribution of temperature and frequency offset in the second feature data. This distribution includes some low-frequency data, meaning data distributed outside the specified range.
[0220] In some possible implementations, low-frequency data filtering may include the following steps:
[0221] Count the frequency of data occurrences in the second feature data and filter out data with frequencies less than a preset value.
[0222] As can be seen, this application can introduce a preset frequency to determine the low-frequency data in the second feature data, thereby achieving low-frequency data filtering of the second feature data.
[0223] d. Temperature range size verification
[0224] It should be noted that the temperature in the second feature data will form a certain temperature range. If the temperature range is too small, it means that the span between temperatures is very small, causing the collected temperatures to be concentrated in a very small range. This is not conducive to improving the accuracy of the correction. Therefore, this application needs to verify the size of the formed temperature range.
[0225] In some possible implementations, temperature range size verification may include the following steps:
[0226] Determine whether the temperature range in the second feature data exceeds the preset temperature range size;
[0227] If the temperature exceeds the preset temperature range size, it means the temperature range size check has been passed; otherwise, it means the temperature range size check has not been passed.
[0228] As can be seen, this application can introduce a preset temperature range size to determine the size of the temperature range formed by the temperature in the second feature data, thereby realizing the temperature range size verification of the second feature data.
[0229] e. Signal Scene Filtering
[0230] It should be noted that the data in the second feature data may have been collected under certain signal scenarios. However, data collected under some signal scenarios may contain certain errors, which is not conducive to improving the accuracy of correction. Therefore, this application needs to filter the second feature data according to the signal scenario to ensure the validity of the data.
[0231] For example, data collected in high-speed moving scenarios can cause additional frequency offsets, which are not conducive to clock correction.
[0232] For example, data collected in signal scenarios with poor signal-to-noise ratios can introduce serious errors, which are detrimental to clock calibration.
[0233] f. Error verification with the first feature data
[0234] It should be noted that since the first and second feature data are generated using clock modules in different modules (e.g., one under satellite signals and the other under downlink reference signals), and there may be time discrepancies between the first and second feature data, significant errors may exist between them. To ensure data validity and improve correction accuracy, this application requires error verification between the second feature data and the first feature data.
[0235] In some possible implementations, error verification with the first feature data may include the following steps:
[0236] Determine whether the error between the second feature data and the first feature data exceeds a preset error;
[0237] If the error does not exceed the preset error, it means that the error check with the first feature data has been passed; otherwise, it means that the error check with the first feature data has not been passed.
[0238] As can be seen, this application can introduce a preset error to determine the magnitude of the error between the second feature data and the first feature data, thereby realizing error verification between the second feature data and the first feature data.
[0239] g. Calculation of temperature coefficient
[0240] It should be noted that since the second feature data may include temperature (such as the temperature in the second temperature range), frequency offset corresponding to the adjusted AFC value (such as the frequency offset corresponding to the fourth AF value), etc., this application can substitute these temperatures and the frequency offset corresponding to these adjusted AFC values into the cubic function in the above "1. Characteristic curve between frequency offset and temperature of clock module" to obtain the temperature coefficient calculated from the second feature data.
[0241] Furthermore, when data is available across the entire temperature range, the characteristic curve obtained through curve fitting and the calculated temperature coefficient are the most accurate. However, during most of the sampling period, the temperature may concentrate in a certain range, and estimating the entire temperature range using only data from this range may be problematic. Therefore, this application can use historical data to supplement unsampled temperature ranges when calculating the temperature coefficient.
[0242] For example, such as Figure 8 As shown, in Figure 8 In (a), data is available across the entire temperature range (e.g., -60°C to 60°C), and the measured characteristic (TC) curve calculated from this data is consistent with the curve obtained through curve fitting; Figure 8 In (b), since data is only available in a certain temperature range (e.g., -20°C to 40°C), the measured (TC) data (i.e., the curve) calculated from the data is a part of the curve obtained by curve fitting.
[0243] h. Verification of the temperature coefficient range
[0244] It should be noted that the temperature coefficient always has a range, which is determined by the characteristics of the crystal; for example, C1 will not be a positive value. To ensure the validity of the data and improve the accuracy of the correction, this application requires verification of the temperature coefficient range of the second feature data.
[0245] In some possible implementations, the verification of the temperature coefficient range may include the following steps:
[0246] Determine whether the temperature coefficient calculated from the second feature data exceeds the preset temperature coefficient range;
[0247] If the temperature coefficient range is not exceeded, it means that the temperature coefficient range has passed the verification; otherwise, it means that the temperature coefficient range has not passed the verification.
[0248] As can be seen, this application can introduce a preset temperature coefficient range to determine whether the temperature coefficient calculated from the second feature data is valid, thereby realizing the verification of the temperature coefficient range of the second feature data.
[0249] i. Verification of the trend of temperature coefficient change
[0250] It should be noted that the crystal oscillator (such as TSX) in the clock module may experience electrode aging and stress release, which can cause changes in the temperature coefficient of the clock module. The temperature coefficient (e.g., C0) shows a certain trend in its change. Figure 2 As shown. When the calculated historical temperature coefficient shows a trend of decreasing (or increasing), this application can use this trend to determine whether the newly calculated temperature coefficient conforms to this trend, thereby ensuring the validity and accuracy of the calculated temperature coefficient.
[0251] In some possible implementations, verifying the trend of temperature coefficient change may include the following steps:
[0252] Determine whether the temperature coefficient calculated from the second feature data is consistent with the trend of historical temperature coefficient changes;
[0253] If the trends are consistent, it means the temperature coefficient trend verification has been passed; otherwise, it means the temperature coefficient trend verification has not been passed.
[0254] It should be noted that this historical temperature coefficient is calculated from historically collected data.
[0255] As can be seen, this application can determine whether the temperature coefficient calculated from the second feature data is consistent with the trend of historical temperature coefficient changes, thereby realizing the verification of the trend of temperature coefficient changes in the second feature data.
[0256] j. Comparison of advantages and disadvantages with historical temperature coefficients
[0257] It should be noted that this application needs to detect whether the temperature coefficient calculated from the second feature data is more effective than the historical temperature coefficient in order to decide whether to utilize the second feature data. This can be achieved by comparing the standard deviation between preset AFC values and adjusted AFC values under the current and historical temperature coefficients.
[0258] Table 1
[0259] In some possible implementations, the comparison with historical temperature coefficients may include the following steps:
[0260] The standard deviation between the first current AFC value and the second current AFC value at the temperature coefficient calculated from the second feature data is calculated to obtain the first standard deviation;
[0261] Calculate the standard deviation between the first historical AFC value and the second current AFC value under the historical temperature coefficient to obtain the second standard deviation;
[0262] If the first standard deviation is less than the second standard deviation, it means that the comparison with the historical temperature coefficient has been passed; otherwise, it means that the comparison with the historical temperature coefficient has not been passed.
[0263] The first current AFC value represents the AFC value corresponding to the target temperature under the temperature coefficient calculated from the second feature data;
[0264] The second current AFC value represents the AFC value required for the signal energy of the downlink reference signal demodulated by the cellular communication module to reach its peak value at the temperature coefficient and target temperature calculated from the second feature data.
[0265] The first historical AFC value represents the AFC value corresponding to the target temperature under the historical temperature coefficient.
[0266] It should be noted that the first current AFC value can be regarded as the preset AFC value corresponding to the target temperature under the temperature coefficient calculated by the second feature data; the second current AFC value can be regarded as the adjusted AFC value under the temperature coefficient and target temperature calculated by the second feature data so that the signal energy of the demodulated downlink reference signal reaches the peak value.
[0267] Similarly, the first historical AFC value can be regarded as the preset AFC value corresponding to the target temperature under the historical temperature coefficient.
[0268] As can be seen, this application can determine whether the standard deviation obtained under the temperature coefficient calculated from the second feature data is less than the standard deviation obtained under the historical temperature coefficient, thereby enabling a comparison of the quality of the second feature data with the historical temperature coefficient.
[0269] 4) Data storage and correction prediction
[0270] It should be noted that this application stores the first feature data and the temperature coefficient calculated from the first feature data. At the same time, after the second feature data passes the validity verification, the second feature data and the temperature coefficient calculated from the second feature data are also stored. This stored data can be used as historical data to participate in subsequent temperature coefficient correction.
[0271] In addition, this application can use the stored data to predict the correction of the subsequent temperature coefficient by calculating the slope, curve fitting and other methods.
[0272] For example, the stored data is shown in Table 1.
[0273] IV. An example of a clock correction method device
[0274] 1. Description
[0275] The foregoing mainly describes the solutions of the embodiments of this application from the perspective of the method execution process. It is understood that, in order to achieve the above functions, the electronic device may include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should recognize that the methods, functions, modules, units, or steps described in conjunction with the embodiments provided herein can be implemented in hardware or a combination of hardware and computer software. Whether a method, function, module, unit, or step 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 methods, functions, modules, units, or steps for each specific application, but such implementation should not be considered beyond the scope of this application.
[0276] This application embodiment can divide functional units / modules according to the above method examples. For example, each function can be divided into a separate functional unit / module, or two or more functions can be integrated into one functional unit / module. The integrated functional unit / module can be implemented in hardware or software. It should be noted that the division of functional units / modules in this application embodiment is illustrative and only represents a logical functional division; in actual implementation, there may be other division methods.
[0277] When using integrated units, Figure 9 This is a functional unit block diagram of a clock correction device according to an embodiment of this application. The clock correction device 900 includes: a data acquisition unit 910, a validity verification unit 920, and a temperature coefficient correction unit 930.
[0278] In some possible implementations, the data acquisition unit 910, the validity verification unit 920, and the temperature coefficient correction unit 930 can be separate units or integrated into the same unit.
[0279] For example, the data acquisition unit 910, the validity verification unit 920, and the temperature coefficient correction unit 930 are all integrated into the processing unit.
[0280] It should be noted that the processing unit can be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processing unit can also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0281] In some possible implementations, the clock correction device 900 may also include a storage unit for storing computer programs or instructions executed by the clock correction device 900. This storage unit may be a memory.
[0282] In some possible implementations, the clock correction device 900 may also include a communication unit. This communication unit may be a communication interface, a transceiver, a transceiver circuit, etc.
[0283] In some possible designs, the clock correction device 900 can be a chip / chip module / processor / electronic device / operating system.
[0284] In specific implementation, the data acquisition unit 910, the validity verification unit 920, and the temperature coefficient correction unit 930 are used to perform the steps described in the above method embodiments. A detailed explanation follows.
[0285] The data acquisition unit 910 is used to acquire first feature data, which represents data about at least one of temperature, frequency offset, and AFC value generated when the clock module is used during satellite positioning via the satellite communication module.
[0286] The data acquisition unit 910 is also used to acquire second feature data, which represents data on at least one of temperature, frequency offset, and automatic frequency control (AFC) value generated when the clock module is used during the process of residing in the cellular network through the cellular communication module;
[0287] The validity verification unit 920 is used to perform validity verification on the second feature data. The validity verification includes at least one of the following operations: data volume verification, low-frequency data filtering, temperature range verification, signal scene filtering, error verification with the first feature data, verification of the temperature coefficient range, verification of the temperature coefficient trend, and comparison with historical temperature coefficients. If all operations in the validity verification are executed and pass, it means that the second feature data passes the validity verification; otherwise, it means that the second feature data fails the validity verification.
[0288] The temperature coefficient correction unit 930 is used to correct the temperature coefficient of the clock module using the first feature data and the second feature data if all operations in the validity check are executed and pass; otherwise, it corrects the temperature coefficient of the clock module using the first feature data.
[0289] As can be seen, the temperature coefficient of the clock module has an error, causing inaccuracies or failures when electronic devices perform satellite positioning or satellite search using the satellite communication model. Therefore, this application requires correction of the temperature coefficient of the clock module. To achieve this correction, this application can collect data (i.e., first characteristic data) generated when the clock module is used during satellite positioning via the satellite communication module, including at least one of temperature, frequency offset, and AFC value, and use the first characteristic data to correct the temperature coefficient.
[0290] However, since satellite communication modules are used less frequently and generate less heat, the amount of data in the first feature data may be too small, which is not conducive to improving the accuracy of the correction. In contrast, cellular communication modules are used more frequently and generate more heat. Therefore, this application can also collect data (i.e., second feature data) generated when the clock module is used during the process of residing in the cellular network through the cellular communication module, which includes at least one of temperature, frequency offset, and AFC value. The second feature data has a larger amount of data than the first feature data, which is beneficial to improving the accuracy of the correction.
[0291] Finally, to ensure the usability and validity of the second feature data, this application also requires a validity check on the second feature data. Only when all operations in the validity check are executed and pass is the second feature data considered valid, allowing the first and second feature data to be used to correct the temperature coefficient, thereby improving the accuracy of the correction. Otherwise, only the first feature data can be used to correct the temperature coefficient. Correction of the temperature coefficient can help improve the accuracy and success rate of satellite positioning or satellite search for electronic devices.
[0292] It should be noted that the specific implementation of each operation performed by the clock correction device 900 can be found in the corresponding description of the above method embodiments, and will not be repeated here.
[0293] 2. Other possible implementation methods
[0294] The following section will explain some of the implementation methods involved. For other content not covered, please refer to the above description for details, which will not be repeated here.
[0295] In some possible implementations, data size verification includes the following steps:
[0296] Determine whether the size of the second feature data exceeds the preset data size;
[0297] If the data size exceeds the preset limit, the data size check is passed; otherwise, the data size check is not passed.
[0298] It should be noted that, in conjunction with the content of "b. Data volume verification" in "3) Validity verification of second feature data" above, a larger amount of second feature data is more conducive to ensuring the accuracy of temperature coefficient correction. However, because electronic devices may be unable to receive signals for a certain period of time due to poor network quality, or the data collected in some signal scenarios may not be suitable for calculation (for example, data collected in high-speed moving scenarios may cause additional frequency offset, or data collected when the signal-to-noise ratio is poor is also unsuitable), this may lead to insufficient amount of collected second feature data. Therefore, this application needs to verify the data volume of the second feature data to ensure the validity of the data.
[0299] As can be seen, this application can introduce a preset data size to determine the data size of the second feature data, thereby realizing the data size verification of the second feature data.
[0300] In some possible implementations, low-frequency data filtering includes the following steps:
[0301] Count the frequency of data occurrences in the second feature data and filter out data with frequencies less than a preset value.
[0302] It should be noted that, in conjunction with the content of "c. Low-frequency data filtering" in "3) Validity verification of second feature data" above, some low-frequency data may be collected in the second feature data due to some accidental factors, and these low-frequency data may affect the accuracy of the correction. Therefore, this application needs to filter these low-frequency data.
[0303] For example, such as Figure 7 The example illustrates the distribution of temperature and frequency offset in the second feature data. This distribution includes some low-frequency data, meaning data distributed outside the specified range.
[0304] As can be seen, this application can introduce a preset frequency to determine the low-frequency data in the second feature data, thereby achieving low-frequency data filtering of the second feature data.
[0305] In some possible implementations, temperature range size verification includes the following steps:
[0306] Determine whether the size of the temperature range formed by the temperature in the second feature data exceeds the preset temperature range size;
[0307] If the temperature exceeds the preset temperature range size, it means the temperature range size check has been passed; otherwise, it means the temperature range size check has not been passed.
[0308] It should be noted that, in conjunction with the content of "d. Temperature range size verification" in "3) Validity verification of second feature data" above, the temperature in the second feature data will form a certain temperature range. If the temperature range is too small, it means that the span between temperatures is very small, causing the collected temperatures to be concentrated in a very small range. This is not conducive to improving the accuracy of the correction. Therefore, this application needs to verify the temperature range size of the formed temperature range.
[0309] As can be seen, this application can introduce a preset temperature range size to determine the size of the temperature range formed by the temperature in the second feature data, thereby realizing the temperature range size verification of the second feature data.
[0310] In some possible implementations, error verification with the first feature data includes the following steps:
[0311] Determine whether the error between the second feature data and the first feature data exceeds a preset error;
[0312] If the error does not exceed the preset error, it means that the error check with the first feature data has been passed; otherwise, it means that the error check with the first feature data has not been passed.
[0313] It should be noted that, in conjunction with the content of "f. Error verification with the first feature data" in "3) Validity verification of the second feature data" above, since the first and second feature data are generated by clock modules in different modules (e.g., one under satellite signal and the other under downlink reference signal), and there may also be a deviation in the acquisition time between the first and second feature data, there may be a significant error between them. To ensure the validity of the data and improve the accuracy of the correction, this application requires error verification between the second feature data and the first feature data.
[0314] As can be seen, this application can introduce a preset error to determine the magnitude of the error between the second feature data and the first feature data, thereby realizing error verification between the second feature data and the first feature data.
[0315] In some possible implementations, the verification of the temperature coefficient range includes the following steps:
[0316] Determine whether the temperature coefficient calculated from the second feature data exceeds the preset temperature coefficient range;
[0317] If the temperature coefficient range is not exceeded, it means that the temperature coefficient range has passed the verification; otherwise, it means that the temperature coefficient range has not passed the verification.
[0318] It should be noted that, in conjunction with the content of "h. Verification of the temperature coefficient range" in "3) Validity verification of the second feature data" above, the temperature coefficient always has a range, which is determined by the characteristics of the crystal; for example, C1 will not be a positive value. In order to ensure the validity of the data and improve the accuracy of the correction, this application requires verification of the temperature coefficient range of the second feature data.
[0319] As can be seen, this application can introduce a preset temperature coefficient range to determine whether the temperature coefficient calculated from the second feature data is valid, thereby realizing the verification of the temperature coefficient range of the second feature data.
[0320] In some possible implementations, verifying the trend of temperature coefficient change includes the following steps:
[0321] Determine whether the temperature coefficient calculated from the second feature data is consistent with the trend of historical temperature coefficient changes;
[0322] If the trends are consistent, it means the temperature coefficient trend verification has been passed; otherwise, it means the temperature coefficient trend verification has not been passed.
[0323] It should be noted that, in conjunction with the content of "i. Temperature Coefficient Trend Verification" in "3) Validity Verification of Second Feature Data" above, the temperature coefficient of the clock module may change due to potential issues such as electrode aging and stress release in the crystal oscillator (e.g., TSX). The temperature coefficient (e.g., C0) exhibits a certain trend in its change. Figure 2 As shown. When the calculated historical temperature coefficient shows a trend of decreasing (or increasing), this application can use this trend to determine whether the newly calculated temperature coefficient conforms to this trend, thereby ensuring the validity and accuracy of the calculated temperature coefficient.
[0324] As can be seen, this application can determine whether the temperature coefficient calculated from the second feature data is consistent with the trend of historical temperature coefficient changes, thereby realizing the verification of the trend of temperature coefficient changes in the second feature data.
[0325] In some possible implementations, the comparison with historical temperature coefficients includes the following steps:
[0326] The standard deviation between the first current AFC value and the second current AFC value at the temperature coefficient calculated from the second feature data is calculated to obtain the first standard deviation;
[0327] Calculate the standard deviation between the first historical AFC value and the second current AFC value under the historical temperature coefficient to obtain the second standard deviation;
[0328] If the first standard deviation is less than the second standard deviation, it means that the comparison with the historical temperature coefficient has been passed; otherwise, it means that the comparison with the historical temperature coefficient has not been passed.
[0329] The first current AFC value represents the AFC value corresponding to the target temperature under the temperature coefficient calculated from the second feature data;
[0330] The second current AFC value represents the AFC value required for the signal energy of the downlink reference signal demodulated by the cellular communication module to reach its peak value at the temperature coefficient and target temperature calculated from the second feature data.
[0331] The first historical AFC value represents the AFC value corresponding to the target temperature under the historical temperature coefficient.
[0332] It should be noted that, in conjunction with the content of "j. Comparison with historical temperature coefficients" in "3) Validity verification of the second feature data" above, this application needs to detect whether the temperature coefficient calculated from the second feature data is more effective than the historical temperature coefficient in order to decide whether to use the second feature data. This application can achieve this by comparing the standard deviation between the preset AFC value and the adjusted AFC value under the current temperature coefficient and the historical temperature coefficient.
[0333] As can be seen, this application can determine whether the standard deviation obtained under the temperature coefficient calculated from the second feature data is less than the standard deviation obtained under the historical temperature coefficient, thereby enabling a comparison of the quality of the second feature data with the historical temperature coefficient.
[0334] In some possible implementations, the first feature data includes at least one of the following:
[0335] The first temperature range formed by the temperature generated when the clock module is used by the satellite communication module, the frequency offset corresponding to the temperature in the first temperature range, the first AFC value, the second AFC value, and the frequency offset corresponding to the second AFC value;
[0336] The first AFC value represents the AFC value corresponding to the temperature in the first temperature range;
[0337] The second AFC value represents the AFC value required for the signal energy of the satellite signal demodulated by the satellite communication module to reach its peak value at the temperature within the first temperature range.
[0338] It should be noted that, in conjunction with the content of "b. Composition of the first characteristic data" in "1) First characteristic data" above, when the electronic device performs satellite positioning through the satellite communication module, the clock module generates many temperatures, which form a temperature range. For ease of distinction and description, this temperature range is called the "first temperature range".
[0339] Since the clock module itself has a characteristic curve between frequency offset and temperature, this application can determine the frequency offset corresponding to the temperature in the first temperature range through this characteristic curve.
[0340] Since the electronic device of this application stores the correspondence between temperature / frequency deviation and AFC value (which can be regarded as initial or preset) in advance at the factory, this application can determine the AFC value corresponding to the temperature in the first temperature range, i.e., the first AFC value, based on the correspondence. The first AFC value can be regarded as the initial or preset AFC value.
[0341] In combination with the above Figure 4 It can be seen that when the electronic device adjusts to a certain AFC value so that the signal energy of the demodulated satellite signal reaches its peak, it is identified as the channel that needs to be synchronized, ensuring a perfect match between the LO and the satellite signal. At this point, the AFC value is the second AFC value. The second AFC value can be considered as the AFC value that has been continuously adjusted during the satellite positioning process of the electronic device through the satellite communication module.
[0342] Since the electronic device of this application pre-stores the correspondence between temperature / frequency deviation and AFC value at the factory, this application can determine the frequency deviation corresponding to the second AFC value based on this correspondence. Furthermore, the frequency deviation corresponding to the second AFC value can be seen as a correction to the frequency deviation corresponding to the temperature in the first temperature range.
[0343] In some possible implementations, the second feature data includes at least one of the following:
[0344] The second temperature range formed by the temperature generated when the clock module is used by the cellular communication module, the frequency offset corresponding to the temperature in the second temperature range, the third AFC value, the fourth AFC value, and the frequency offset corresponding to the fourth AFC value;
[0345] The third AFC value represents the AFC value corresponding to the temperature in the second temperature range;
[0346] The fourth AFC value represents the AFC value required for the signal energy of the downlink reference signal demodulated by the cellular communication module to reach its peak value at the temperature in the second temperature range.
[0347] It should be noted that, in conjunction with the content of "b. Composition of the second characteristic data" in "2) Second characteristic data" above, when an electronic device camps on a cellular network via a cellular communication module, the clock module generates many temperatures, which form a temperature range. For ease of distinction and description, this temperature range is called the "second temperature range".
[0348] Since the clock module itself has a characteristic curve between frequency offset and temperature, this application can determine the frequency offset corresponding to the temperature in the second temperature range through this characteristic curve.
[0349] Since the electronic device of this application stores the correspondence between temperature (or frequency deviation) and AFC value (which can be regarded as initial or preset) in advance when it leaves the factory, this application can determine the AFC value corresponding to the temperature in the second temperature range, i.e., the third AFC value, based on the correspondence.
[0350] In combination with the above Figure 6 It can be seen that when the electronic device adjusts to a certain AFC value so that the signal energy of the demodulated downlink reference signal reaches its peak, it is identified as the channel that needs to be synchronized, ensuring a perfect match between the LO and the satellite signal. At this point, the AFC value is the fourth AFC value. The fourth AFC value can be considered as the AFC value that has been continuously adjusted during the process of the electronic device camping on the cellular network through the cellular communication module.
[0351] Since the electronic device of this application pre-stores the correspondence between temperature / frequency deviation and AFC value at the factory, this application can determine the frequency deviation corresponding to the fourth AFC value based on this correspondence. Furthermore, the frequency deviation corresponding to the second AFC value can be seen as a correction to the frequency deviation corresponding to the temperature in the second temperature range.
[0352] In some possible implementations, the first feature data or the second feature data is collected starting under one of the following conditions:
[0353] The current temperature generated when the clock module is used exceeds the temperature range formed when the clock module was used in the last time it was collected;
[0354] The difference between the AFC value corresponding to the current temperature and the AFC value required for the signal energy of the demodulated signal at the current temperature to reach its peak exceeds a preset threshold.
[0355] A new data collection cycle is triggered at regular intervals.
[0356] It should be noted that, based on the content of "c. Conditions for starting to collect the first feature data" in "1) First feature data" above, and the content of "c. Conditions for starting to collect the second feature data" in "2) Second feature data" above, it is clear that this will not be repeated here.
[0357] In some possible implementations, the interval between the start time of the second feature data acquisition and the start time of the first feature data acquisition does not exceed a preset interval threshold.
[0358] It should be noted that, in conjunction with the content of "d. the interval between the start time of the acquisition of the second feature data and the start time of the acquisition of the first feature data" in "2) the second feature data" above, it can be seen that this application can use the second feature data and the first feature data simultaneously to correct the temperature coefficient of the clock module. However, in order to avoid the accuracy of the correction being reduced due to too much time deviation between the acquisition time of the second feature data and the first feature data, for example, the first feature data is acquired in the morning and the second feature data is acquired in the afternoon, resulting in a large time deviation in the acquisition time.
[0359] V. Example of an electronic device
[0360] 1. Description
[0361] The following is a schematic diagram of the structure of an electronic device according to an embodiment of this application, such as... Figure 10 As shown. The electronic device 1000 includes a processor 1010, a memory 1020, and at least one communication bus for connecting the processor 1010 and the memory 1020.
[0362] In some possible implementations, processor 1010 may be one or more central processing units (CPUs). If processor 1010 is a CPU, the CPU may be a single-core CPU or a multi-core CPU. Memory 1020 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CD-ROM), and memory 1020 is used to store computer programs or instructions.
[0363] In some possible implementations, the electronic device 1000 also includes a communication interface for receiving and sending data.
[0364] In some possible implementations, the processor 1010 in the electronic device 1000 is used to execute a computer program or instruction 1021 stored in the memory 1020 to perform the following steps:
[0365] Collect first feature data, which represents data on at least one of temperature, frequency offset, and AFC value generated when using the clock module during satellite positioning via the satellite communication module;
[0366] Collect second feature data, which represents data on at least one of temperature, frequency offset, and automatic frequency control (AFC) value generated when using the clock module while residing in the cellular network via the cellular communication module;
[0367] The validity of the second feature data is validated, which includes at least one of the following operations: data size validation, low-frequency data filtering, temperature range validation, signal scene filtering, error validation with the first feature data, validation of the temperature coefficient range, validation of the temperature coefficient trend, and comparison with historical temperature coefficients. If all operations in the validity validation are performed and pass, the second feature data passes the validity validation; otherwise, the second feature data fails the validity validation.
[0368] If all operations in the validity check are executed and pass, the temperature coefficient of the clock module is corrected using the first feature data and the second feature data; otherwise, the temperature coefficient of the clock module is corrected using the first feature data.
[0369] As can be seen, the temperature coefficient of the clock module has an error, causing inaccuracies or failures when electronic devices perform satellite positioning or satellite search using the satellite communication model. Therefore, this application requires correction of the temperature coefficient of the clock module. To achieve this correction, this application can collect data (i.e., first characteristic data) generated when the clock module is used during satellite positioning via the satellite communication module, including at least one of temperature, frequency offset, and AFC value, and use the first characteristic data to correct the temperature coefficient.
[0370] However, since satellite communication modules are used less frequently and generate less heat, the amount of data in the first feature data may be too small, which is not conducive to improving the accuracy of the correction. In contrast, cellular communication modules are used more frequently and generate more heat. Therefore, this application can also collect data (i.e., second feature data) generated when the clock module is used during the process of residing in the cellular network through the cellular communication module, which includes at least one of temperature, frequency offset, and AFC value. The second feature data has a larger amount of data than the first feature data, which is beneficial to improving the accuracy of the correction.
[0371] Finally, to ensure the usability and validity of the second feature data, this application also requires a validity check on the second feature data. Only when all operations in the validity check are executed and pass is the second feature data considered valid, allowing the first and second feature data to be used to correct the temperature coefficient, thereby improving the accuracy of the correction. Otherwise, only the first feature data can be used to correct the temperature coefficient. Correction of the temperature coefficient can help improve the accuracy and success rate of satellite positioning or satellite search for electronic devices.
[0372] It should be noted that the specific implementation of each operation performed by the electronic device 1000 can be found in the corresponding description of the method embodiment shown above, and will not be repeated here.
[0373] 2. Other possible implementation methods
[0374] The following section will explain some of the implementation methods involved. For other content not covered, please refer to the above description for details, which will not be repeated here.
[0375] In some possible implementations, data size verification includes the following steps:
[0376] Determine whether the size of the second feature data exceeds the preset data size;
[0377] If the data size exceeds the preset limit, the data size check is passed; otherwise, the data size check is not passed.
[0378] It should be noted that, in conjunction with the content of "b. Data volume verification" in "3) Validity verification of second feature data" above, a larger amount of second feature data is more conducive to ensuring the accuracy of temperature coefficient correction. However, because electronic devices may be unable to receive signals for a certain period of time due to poor network quality, or the data collected in some signal scenarios may not be suitable for calculation (for example, data collected in high-speed moving scenarios may cause additional frequency offset, or data collected when the signal-to-noise ratio is poor is also unsuitable), this may lead to insufficient amount of collected second feature data. Therefore, this application needs to verify the data volume of the second feature data to ensure the validity of the data.
[0379] As can be seen, this application can introduce a preset data size to determine the data size of the second feature data, thereby realizing the data size verification of the second feature data.
[0380] In some possible implementations, low-frequency data filtering includes the following steps:
[0381] Count the frequency of data occurrences in the second feature data and filter out data with frequencies less than a preset value.
[0382] It should be noted that, in conjunction with the content of "c. Low-frequency data filtering" in "3) Validity verification of second feature data" above, some low-frequency data may be collected in the second feature data due to some accidental factors, and these low-frequency data may affect the accuracy of the correction. Therefore, this application needs to filter these low-frequency data.
[0383] For example, such as Figure 7The example illustrates the distribution of temperature and frequency offset in the second feature data. This distribution includes some low-frequency data, meaning data distributed outside the specified range.
[0384] As can be seen, this application can introduce a preset frequency to determine the low-frequency data in the second feature data, thereby achieving low-frequency data filtering of the second feature data.
[0385] In some possible implementations, temperature range size verification includes the following steps:
[0386] Determine whether the size of the temperature range formed by the temperature in the second feature data exceeds the preset temperature range size;
[0387] If the temperature exceeds the preset temperature range size, it means the temperature range size check has been passed; otherwise, it means the temperature range size check has not been passed.
[0388] It should be noted that, in conjunction with the content of "d. Temperature range size verification" in "3) Validity verification of second feature data" above, the temperature in the second feature data will form a certain temperature range. If the temperature range is too small, it means that the span between temperatures is very small, causing the collected temperatures to be concentrated in a very small range. This is not conducive to improving the accuracy of the correction. Therefore, this application needs to verify the temperature range size of the formed temperature range.
[0389] As can be seen, this application can introduce a preset temperature range size to determine the size of the temperature range formed by the temperature in the second feature data, thereby realizing the temperature range size verification of the second feature data.
[0390] In some possible implementations, error verification with the first feature data includes the following steps:
[0391] Determine whether the error between the second feature data and the first feature data exceeds a preset error;
[0392] If the error does not exceed the preset error, it means that the error check with the first feature data has been passed; otherwise, it means that the error check with the first feature data has not been passed.
[0393] It should be noted that, in conjunction with the content of "f. Error verification with the first feature data" in "3) Validity verification of the second feature data" above, since the first and second feature data are generated by clock modules in different modules (e.g., one under satellite signal and the other under downlink reference signal), and there may also be a deviation in the acquisition time between the first and second feature data, there may be a significant error between them. To ensure the validity of the data and improve the accuracy of the correction, this application requires error verification between the second feature data and the first feature data.
[0394] As can be seen, this application can introduce a preset error to determine the magnitude of the error between the second feature data and the first feature data, thereby realizing error verification between the second feature data and the first feature data.
[0395] In some possible implementations, the verification of the temperature coefficient range includes the following steps:
[0396] Determine whether the temperature coefficient calculated from the second feature data exceeds the preset temperature coefficient range;
[0397] If the temperature coefficient range is not exceeded, it means that the temperature coefficient range has passed the verification; otherwise, it means that the temperature coefficient range has not passed the verification.
[0398] It should be noted that, in conjunction with the content of "h. Verification of the temperature coefficient range" in "3) Validity verification of the second feature data" above, the temperature coefficient always has a range, which is determined by the characteristics of the crystal; for example, C1 will not be a positive value. In order to ensure the validity of the data and improve the accuracy of the correction, this application requires verification of the temperature coefficient range of the second feature data.
[0399] As can be seen, this application can introduce a preset temperature coefficient range to determine whether the temperature coefficient calculated from the second feature data is valid, thereby realizing the verification of the temperature coefficient range of the second feature data.
[0400] In some possible implementations, verifying the trend of temperature coefficient change includes the following steps:
[0401] Determine whether the temperature coefficient calculated from the second feature data is consistent with the trend of historical temperature coefficient changes;
[0402] If the trends are consistent, it means the temperature coefficient trend verification has been passed; otherwise, it means the temperature coefficient trend verification has not been passed.
[0403] It should be noted that, in conjunction with the content of "i. Temperature Coefficient Trend Verification" in "3) Validity Verification of Second Feature Data" above, the temperature coefficient of the clock module may change due to potential issues such as electrode aging and stress release in the crystal oscillator (e.g., TSX). The temperature coefficient (e.g., C0) exhibits a certain trend in its change. Figure 2 As shown. When the calculated historical temperature coefficient shows a trend of decreasing (or increasing), this application can use this trend to determine whether the newly calculated temperature coefficient conforms to this trend, thereby ensuring the validity and accuracy of the calculated temperature coefficient.
[0404] As can be seen, this application can determine whether the temperature coefficient calculated from the second feature data is consistent with the trend of historical temperature coefficient changes, thereby realizing the verification of the trend of temperature coefficient changes in the second feature data.
[0405] In some possible implementations, the comparison with historical temperature coefficients includes the following steps:
[0406] The standard deviation between the first current AFC value and the second current AFC value at the temperature coefficient calculated from the second feature data is calculated to obtain the first standard deviation;
[0407] Calculate the standard deviation between the first historical AFC value and the second current AFC value under the historical temperature coefficient to obtain the second standard deviation;
[0408] If the first standard deviation is less than the second standard deviation, it means that the comparison with the historical temperature coefficient has been passed; otherwise, it means that the comparison with the historical temperature coefficient has not been passed.
[0409] The first current AFC value represents the AFC value corresponding to the target temperature under the temperature coefficient calculated from the second feature data;
[0410] The second current AFC value represents the AFC value required for the signal energy of the downlink reference signal demodulated by the cellular communication module to reach its peak value at the temperature coefficient and target temperature calculated from the second feature data.
[0411] The first historical AFC value represents the AFC value corresponding to the target temperature under the historical temperature coefficient.
[0412] It should be noted that, in conjunction with the content of "j. Comparison with historical temperature coefficients" in "3) Validity verification of the second feature data" above, this application needs to detect whether the temperature coefficient calculated from the second feature data is more effective than the historical temperature coefficient in order to decide whether to use the second feature data. This application can achieve this by comparing the standard deviation between the preset AFC value and the adjusted AFC value under the current temperature coefficient and the historical temperature coefficient.
[0413] As can be seen, this application can determine whether the standard deviation obtained under the temperature coefficient calculated from the second feature data is less than the standard deviation obtained under the historical temperature coefficient, thereby enabling a comparison of the quality of the second feature data with the historical temperature coefficient.
[0414] In some possible implementations, the first feature data includes at least one of the following:
[0415] The first temperature range formed by the temperature generated when the clock module is used by the satellite communication module, the frequency offset corresponding to the temperature in the first temperature range, the first AFC value, the second AFC value, and the frequency offset corresponding to the second AFC value;
[0416] The first AFC value represents the AFC value corresponding to the temperature in the first temperature range;
[0417] The second AFC value represents the AFC value required for the signal energy of the satellite signal demodulated by the satellite communication module to reach its peak value at the temperature within the first temperature range.
[0418] It should be noted that, based on the content of "b. Composition of the first feature data" in "1) First feature data" above, this will not be repeated here.
[0419] In some possible implementations, the second feature data includes at least one of the following:
[0420] The second temperature range formed by the temperature generated when the clock module is used by the cellular communication module, the frequency offset corresponding to the temperature in the second temperature range, the third AFC value, the fourth AFC value, and the frequency offset corresponding to the fourth AFC value;
[0421] The third AFC value represents the AFC value corresponding to the temperature in the second temperature range;
[0422] The fourth AFC value represents the AFC value required for the signal energy of the downlink reference signal demodulated by the cellular communication module to reach its peak value at the temperature in the second temperature range.
[0423] It should be noted that, based on the content of "b. Composition of the second feature data" in "2) Second feature data" above, this will not be repeated here.
[0424] In some possible implementations, the first feature data or the second feature data is collected starting under one of the following conditions:
[0425] The current temperature generated when the clock module is used exceeds the temperature range formed when the clock module was used in the last time it was collected;
[0426] The difference between the AFC value corresponding to the current temperature and the AFC value required for the signal energy of the demodulated signal at the current temperature to reach its peak exceeds a preset threshold.
[0427] A new data collection cycle is triggered at regular intervals.
[0428] It should be noted that, based on the content of "c. Conditions for starting to collect the first feature data" in "1) First feature data" above, and the content of "c. Conditions for starting to collect the second feature data" in "2) Second feature data" above, it is clear that this will not be repeated here.
[0429] In some possible implementations, the interval between the start time of the second feature data acquisition and the start time of the first feature data acquisition does not exceed a preset interval threshold.
[0430] It should be noted that, in conjunction with the content of "d. the interval between the start time of the acquisition of the second feature data and the start time of the acquisition of the first feature data" in "2) the second feature data" above, it can be seen that this application can use the second feature data and the first feature data simultaneously to correct the temperature coefficient of the clock module. However, in order to avoid the accuracy of the correction being reduced due to too much time deviation between the acquisition time of the second feature data and the first feature data, for example, the first feature data is acquired in the morning and the second feature data is acquired in the afternoon, resulting in a large time deviation in the acquisition time.
[0431] VI. Other Exemplary Descriptions
[0432] This application also provides a computer-readable storage medium storing a computer program or instructions that, when executed by a processor, implement the steps described in the above embodiments.
[0433] This application also provides a computer program product, including a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implement the steps described in the above embodiments. For example, the computer program product may be a software installation package.
[0434] In addition, computer program products should be understood as software products that primarily implement the technical solutions of this application through computer programs or instructions.
[0435] It should be noted that, for the sake of simplicity, the above embodiments are all described as a series of actions. Those skilled in the art should understand that this application is not limited to the described order of actions, as some steps in the embodiments of this application can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions, steps, modules, or units involved are not necessarily essential to the embodiments of this application.
[0436] In the above embodiments, the descriptions of each embodiment in this application have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0437] Those skilled in the art should understand that the functions of the methods, steps, or related modules / units described in the embodiments of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product, or by a processor executing computer program instructions. The computer program product includes at least one computer program instruction, which can be composed of corresponding software modules. These software modules can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disk, portable hard disk, read-only optical disc (CD-ROM), or any other form of storage medium well known in the art. The computer program instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer program instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media, or semiconductor media (e.g., SSDs).
[0438] The modules / units included in the various devices or products described in the above embodiments can be software modules / units, hardware modules / units, or a combination of software modules / units and hardware modules / units. For example, for devices or products where the application is applied to or integrated into a chip, all of their modules / units can be implemented using hardware methods such as circuits; or, some of their modules / units can be implemented using software programs that run on a processor integrated within the chip, while other (if any) modules / units can be implemented using hardware methods such as circuits. The same principle applies to devices or products where the application is applied to or integrated into a chip module, or devices or products where the application is applied to or integrated into a terminal.
[0439] The above detailed embodiments further illustrate the purpose, technical solution, and beneficial effects of the embodiments of this application. It should be understood that the above are merely specific implementations of the embodiments of this application and are not intended to limit the protection scope of the embodiments of this application. Any modifications, equivalent substitutions, improvements, etc., made based on the technical solutions of the embodiments of this application should be included within the protection scope of the embodiments of this application.
Claims
1. A clock calibration method, characterized in that, Applied to an electronic device, the electronic device including a cellular communication module and a satellite communication module, the cellular communication module and the satellite communication module using the same clock module; the method includes: Collect first feature data, which represents data about at least one of temperature, frequency offset, and automatic frequency control (AFC) value generated when using the clock module during satellite positioning via the satellite communication module; Collect second feature data, which represents data about at least one of temperature, frequency offset, and AFC value generated when the clock module is used during the process of camping on the cellular network through the cellular communication module; The validity of the second feature data is verified, and the validity verification includes at least one of the following operations: data size verification, low frequency data filtering, temperature range size verification, signal scene filtering, error verification with the first feature data, verification of the temperature coefficient range, verification of the temperature coefficient trend, and comparison of the quality with historical temperature coefficients. If all operations in the validity check are executed and pass, the temperature coefficient of the clock module is corrected using the first feature data and the second feature data; otherwise, the temperature coefficient of the clock module is corrected using the first feature data.
2. The method according to claim 1, characterized in that, The data size verification includes the following steps: Determine whether the size of the second feature data exceeds the preset data size; If the data size exceeds the preset limit, the data size verification is passed; otherwise, the data size verification is not passed.
3. The method according to claim 1, characterized in that, The low-frequency data filtering includes the following steps: The frequency of data occurrences in the second feature data is counted, and data with frequencies less than a preset value are filtered out.
4. The method according to claim 1, characterized in that, The temperature range size verification includes the following steps: Determine whether the size of the temperature range formed by the temperature in the second feature data exceeds the preset temperature range size; If the temperature exceeds the preset temperature range, it means the temperature range size check has been passed; otherwise, it means the temperature range size check has not been passed.
5. The method according to claim 1, characterized in that, The error verification with the first feature data includes the following steps: Determine whether the error between the second feature data and the first feature data exceeds a preset error; If the error does not exceed the preset error, it means that the error check with the first feature data has been passed; otherwise, it means that the error check with the first feature data has not been passed.
6. The method according to claim 1, characterized in that, The verification of the temperature coefficient range includes the following steps: Determine whether the temperature coefficient calculated from the second feature data exceeds a preset temperature coefficient range; If the temperature does not exceed the preset temperature coefficient range, it means that the check of the temperature coefficient range has been passed; otherwise, it means that the check of the temperature coefficient range has not been passed.
7. The method according to claim 1, characterized in that, The verification of the temperature coefficient change trend includes the following steps: Determine whether the temperature coefficient calculated from the second feature data is consistent with the trend of historical temperature coefficient changes; If the changing trends are consistent, it means that the temperature coefficient has passed the trend verification. Otherwise, it indicates that the temperature coefficient change trend verification has not been passed.
8. The method according to claim 1, characterized in that, The comparison with historical temperature coefficients includes the following steps: The standard deviation between the first current AFC value and the second current AFC value at the temperature coefficient calculated from the second feature data is calculated to obtain the first standard deviation; Calculate the standard deviation between the first historical AFC value and the second current AFC value under the historical temperature coefficient to obtain the second standard deviation; If the first standard deviation is less than the second standard deviation, it indicates that the comparison with the historical temperature coefficient has been passed; otherwise, it indicates that the comparison with the historical temperature coefficient has not been passed. The first current AFC value represents the AFC value corresponding to the target temperature under the temperature coefficient calculated from the second feature data; The second current AFC value represents the AFC value required for the signal energy of the downlink reference signal demodulated by the cellular communication module to reach its peak value at the temperature coefficient calculated from the second feature data and the target temperature. The first historical AFC value represents the AFC value corresponding to the target temperature under the historical temperature coefficient.
9. The method according to claim 1, characterized in that, The first feature data includes at least one of the following: The clock module generates a first temperature range when used by the satellite communication module, the frequency offset corresponding to the temperature in the first temperature range, the first AFC value, the second AFC value, and the frequency offset corresponding to the second AFC value; The first AFC value represents the AFC value corresponding to the temperature in the first temperature range; The second AFC value represents the AFC value required for the signal energy of the satellite signal demodulated by the satellite communication module to reach its peak value at the temperature within the first temperature range.
10. The method according to claim 1, characterized in that, The second feature data includes at least one of the following: The second temperature range formed by the temperature generated when the clock module is used by the cellular communication module, the frequency offset corresponding to the temperature in the second temperature range, the third AFC value, the fourth AFC value, and the frequency offset corresponding to the fourth AFC value; The third AFC value represents the AFC value corresponding to the temperature in the second temperature range; The fourth AFC value represents the AFC value required for the signal energy of the downlink reference signal demodulated by the cellular communication module to reach its peak value at the temperature in the second temperature range.
11. The method according to claim 1, characterized in that, The first feature data or the second feature data is collected starting under one of the following conditions: The current temperature generated when the clock module is used exceeds the temperature range formed when the clock module was used in the last time it was collected; The difference between the AFC value corresponding to the current temperature and the AFC value required for the signal energy of the demodulated signal at the current temperature to reach its peak exceeds a preset threshold. A new data collection cycle is triggered at regular intervals.
12. The method according to claim 1, characterized in that, The interval between the start time of the second feature data acquisition and the start time of the first feature data acquisition does not exceed a preset interval threshold.
13. A clock correction device, characterized in that, Applied to an electronic device, the electronic device including a cellular communication module and a satellite communication module, the cellular communication module and the satellite communication module using the same clock module; the device includes: A data acquisition unit is used to acquire first feature data, which represents data about at least one of temperature, frequency offset, and AFC value generated when the clock module is used during satellite positioning via the satellite communication module. The data acquisition unit is further configured to acquire second feature data, which represents data on at least one of temperature, frequency offset, and automatic frequency control (AFC) value generated when the clock module is used during the process of residing in the cellular network through the cellular communication module. The validity verification unit is used to perform validity verification on the second feature data. The validity verification includes at least one of the following operations: data size verification, low-frequency data filtering, temperature range size verification, signal scene filtering, error verification with the first feature data, verification of the temperature coefficient range, verification of the temperature coefficient trend, and comparison with historical temperature coefficients. If all operations in the validity verification are executed and pass, it means that the second feature data passes the validity verification; otherwise, it means that the second feature data fails the validity verification. A temperature coefficient correction unit is used to correct the temperature coefficient of the clock module using the first feature data and the second feature data if all operations in the validity check are executed and pass; otherwise, it corrects the temperature coefficient of the clock module using the first feature data.
14. An electronic device, characterized in that, It includes a processor, a memory, and a computer program or instructions stored in the memory, wherein the processor executes the computer program or instructions to implement the steps of the method according to any one of claims 1-12.
15. A computer-readable storage medium, characterized in that, It stores a computer program or instructions that, when executed, implement the steps of the method described in any one of claims 1-12.
Citation Information
Patent Citations
Reference oscillator management for wireless devices having position determination functionality
CN102037646A