Techniques for bounding and correcting clock frequency error

By using a look-up table to correlate temperature with system counter increments, the network entity reduces power consumption and unnecessary calibrations, effectively managing clock frequency errors in inactive states.

WO2025230680A1PCT designated stage Publication Date: 2025-11-06QUALCOMM INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/023421
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-01
Filing Date
2025-04-07
Publication Date
2025-11-06

AI Technical Summary

Technical Problem

Existing network entities face challenges in managing clock frequency errors due to thermal variations, particularly when using lower-fidelity clocks in inactive states, which require frequent calibrations that increase power consumption and may lead to unnecessary recalibrations.

Method used

A network entity maintains a look-up table (LUT) correlating temperature measurements with system counter increment values, allowing it to use a lower-fidelity clock in inactive states without frequent calibrations, and performs full calibration only when the LUT is invalid, thus reducing power consumption and unnecessary recalibrations.

Benefits of technology

This approach effectively manages clock frequency errors by minimizing power consumption and reducing unnecessary calibrations, while maintaining synchronization and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025023421_06112025_PF_FP_ABST
    Figure US2025023421_06112025_PF_FP_ABST
Patent Text Reader

Abstract

Methods, systems, and devices for wireless communications are described. A network entity may be configured to increment a system counter in accordance with a first clock while in an active state, and in accordance with a second clock while the network entity is in the inactive state. The network entity may generate temperature measurement information while in the inactive state, and determine, while in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter. The increment value may be based on the temperature measurement information, where the data object maps each respective increment values to respective temperature measurement information. The network entity may increment the system counter using the increment value while in the inactive state, and may monitor for a reference signal after a transition from the inactive state to the active state.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNIQUES FOR BOUNDING AND CORRECTING CLOCK FREQUENCY ERRORCROSS REFERENCE

[0001] The present Application for Patent claims priority to India Patent Application No. 202441034613 by LASTNAME et al., entitled “TECHNIQUES FOR BOUNDING AND CORRECTING CLOCK FREQUENCY ERROR,” filed May 1, 2024, assigned to the assignee hereof, and expressly incorporated by reference in its entirety herein.INTRODUCTION

[0002] The following relates to wireless communications that pertain to bounding and correcting block frequency error within network entities.

[0003] Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power). Examples of such multiple-access systems include fourth generation (4G) systems such as Long Term Evolution (LTE) systems, LTE- Advanced (LTE-A) systems, or LTE-A Pro systems, and fifth generation (5G) systems which may be referred to as New Radio (NR) systems. These systems may employ technologies such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), or discrete Fourier transform spread orthogonal frequency division multiplexing (DFT-S-OFDM). A wireless multiple-access communications system may include one or more base stations, each supporting wireless communication for communication devices, which may be known as user equipment (UE).SUMMARY

[0004] The systems, methods, and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.

[0005] A method for wireless communication by a network entity is described. The method may include generating temperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running, determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment value of a set of multiple increment values to respective temperature measurement information, incrementing, while the network entity is in the inactive state and while the second clock is running, the system counter using the increment value, and monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter.

[0006] A network entity for wireless communication is described. The network entity may include one or more memories storing processor executable code, and one or more processors coupled with the one or more memories. The one or more processors may individually or collectively be operable to execute the code to cause the network entity to generate temperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running, determine, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment value of a set of multiple increment values to respective temperature measurement information, incrementing, while the network entity be in the inactive state and while the secondclock is running, the system counter using the increment value, and monitor for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter.

[0007] Another network entity for wireless communication is described. The network entity may include means for generating temperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running, means for determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment value of a set of multiple increment values to respective temperature measurement information, means for incrementing, while the network entity is in the inactive state and while the second clock is running, the system counter using the increment value, and means for monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter.

[0008] A non-transitory computer-readable medium storing code for wireless communication is described. The code may include instructions executable by one or more processors to generate temperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running, determine, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment valueof a set of multiple increment values to respective temperature measurement information, incrementing, while the network entity be in the inactive state and while the second clock is running, the system counter using the increment value, and monitor for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter.

[0009] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the processing system may be configured to perform the calibration procedure based on an absence of the temperature measurement information in the data object and the method, apparatuses, and non- transitory computer-readable medium may include further operations, features, means, or instructions for simultaneously running the first clock and the second clock and determining a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, where the increment value may be based on the difference.

[0010] Some examples of the method, network entities, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for adding the increment value to the data object based on performance of the calibration procedure and based on the absence of the temperature measurement information in the data object, where, to increment the system counter, the processing system may be configured to increment the system counter based on the increment value being added to the data object.

[0011] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, to increment the system counter, the processing system may be configured to increment the system counter in accordance with the first clock while the first clock may be running during a first time interval that the network entity may be in the active state and the processing system may be configured to transition from the active state to the inactive state, where the inactive state may be associated with a lower power consumption relative to the active state, where, to generate the temperature measurement information, the processing system may be configured to generate the temperature measurement information during a second time interval that the network entity may be in the inactive state, and where, to increment the system counter, the processing system may be configured to incrementthe system counter in accordance with the second clock while the second clock may be running based on the transition from the active state to the inactive state.

[0012] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, determining the increment value may include operations, features, means, or instructions for determining that the temperature measurement information may be between first temperature measurement information and second temperature measurement information included within the data object, where the first temperature measurement information and the second temperature measurement information may be associated with a first increment value and a second increment value, respectively, where the increment value may be based on an interpolation between the first temperature measurement information and the second temperature measurement information, and where the increment value may be based on an interpolation between the first increment value and second increment value.

[0013] Some examples of the method, network entities, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for determining, for an operating temperature range of the network entity, one or more calibration coefficients associated with a clock error between the second clock and the first clock and generating the data object in accordance with a clock error function and the one or more calibration coefficients, where the clock error function defines a set of multiple errors associated with the second clock across at least a subset of the operating temperature range.

[0014] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the temperature measurement information of the data object spans a set of multiple temperature measurements and the set of multiple temperature measurements stored in the data object may be approximately evenly spaced across an operating temperature range of the network entity.

[0015] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the temperature measurement information of the data object spans a set of multiple temperature measurements including a first subset of temperature measurements spanning a first temperature range and a second subset of temperature measurements spanning a second temperature range, the firstsubset of temperature measurements may be associated with a first measurement density based on a first frequency error associated with the second clock across the first temperature range, and the second subset of temperature measurements may be associated with a second measurement density based on a second frequency error associated with the second clock across the second temperature range.

[0016] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, performing the calibration procedure may include operations, features, means, or instructions for simultaneously running the first clock and the second clock, determining a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, where the increment value may be based on the difference, and replacing a previous increment value of the set of multiple increment values of the data object corresponding to the temperature measurement information based on a difference between the previous increment value and the increment value satisfying a threshold difference.

[0017] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the first clock associated with the active state may be associated with a first fidelity or accuracy metric and a first power consumption metric, the second clock associated with the inactive state may be associated with a second fidelity or accuracy metric and a second power consumption metric, and the second fidelity or accuracy metric and the second power consumption metric may be lower than the first fidelity or accuracy metric and the first power consumption metric, respectively.

[0018] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the first clock may have a first fidelity and the second clock may have a second fidelity and the first fidelity may be different from the second fidelity.

[0019] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the second fidelity may be less than the first fidelity.

[0020] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the temperature measurement informationmay be based on an ambient temperature of an environment of the network entity and heat generated by one or more operations performed by the network entity.

[0021] Some examples of the method, network entities, and non-transitory computer-readable medium described herein may further include operations, features, means, or instructions for estimating a clock error associated with the second clock throughout a time interval that the network entity was in the inactive state based on an estimated temperature change of the network entity during the time interval.

[0022] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, a modem, one or more other processing components, or both, of the network entity may be activated while the network entity may be in the active state, and may be deactivated while the network entity may be in the inactive state.

[0023] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, determining the increment value may include operations, features, means, or instructions for indexing the data object using the temperature measurement information.

[0024] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the data object includes a look-up table (LUT).

[0025] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the first clock and the second clock may be not physically unique.

[0026] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the first clock and the second clock include logical clocks that may be generated using a same clock circuit.

[0027] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the data object does not map the temperature measurement information to any increment value of the set of multiple increment values.

[0028] In some examples of the method, network entities, and non-transitory computer-readable medium described herein, the data object maps the temperature measurement information to a respective increment value of the set of multiple increment values.

[0029] Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.BRIEF DESCRIPTION OF THE DRAWINGS

[0030] FIG. 1 shows an example of a wireless communications system that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.

[0031] FIG. 2 shows an example of a wireless communications system that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.

[0032] FIG. 3 shows an example of an internal clock configuration that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.

[0033] FIG. 4 illustrates examples of clock error graphs that support techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.

[0034] FIG. 5 shows an example of a process flow that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.

[0035] FIGs. 6 and 7 show block diagrams of devices that support bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.

[0036] FIG. 8 shows a block diagram of a communications manager that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.

[0037] FIG. 9 shows a diagram of a system including a device that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.

[0038] FIG. 10 shows a flowchart illustrating methods that support bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.DETAILED DESCRIPTION

[0039] Wireless devices and network entities, such as user equipments (UEs), may utilize internal clocks to increment a “system counter” used to keep time and maintain synchronization with the network. Some network entities may use multiple internal clocks that exhibit varying characteristics and power consumptions. For example, a network entity (e.g., UE) may use a “fast clock” (e.g., “functional clock,” high-fidelity clock) to increment the system counter during times that the network entity is in an active state with the modem activated. The fast clock may exhibit extremely high performance and accuracy, but may require large power consumption. As such, in order to conserve power, the network entity may use a “sleep clock” (e.g., lower-fidelity clock) to increment the system counter when in an inactive state, where the sleep clock exhibits lower power consumption, but lower accuracy (e.g., increased clock error).

[0040] The cock error of the “sleep clock” relative to the “fast clock” may vary based on temperature (e.g., first clock error at Tx, and a second clock error at T2). In other words, the sleep clock may be associated with different system counter increment values at different temperatures (e.g., first system counter increment value at Tx, second system counter increment value at T2). As such, to account for error due to changing temperatures, the network entity may be configured to calibrate the sleep clock with the fast clock at regular (or irregular) intervals to determine the clock error (and therefore the system counter increment value) for the current temperature of the network entity. However, performing a calibration procedure between the two clocks requires the network entity to turn on the modem and run both clocks simultaneously, whichincreases power consumption of the network entity. Moreover, requiring the network entity to perform such periodic calibrations may result in multiple calibrations being performed for the same temperature, which may be unnecessary.

[0041] Accordingly, aspects of the present disclosure are directed to techniques for determining system counter increment values for lower fidelity clocks (e.g., sleep clock) based on thermal effects. In particular, techniques descried herein may enable a network entity (e.g., UE) to maintain some look-up table (LUT) or other data object that stores relationships between temperatures and system counter increment values in order to reduce the frequency of clock calibrations performed by the network entity. For example, a network entity may utilize a “fast clock” to increment a system counter while in an active state, and may utilize a “sleep clock” to increment the system counter while in an inactive state. While in the inactive state, the network entity may perform a temperature measurement, and use the temperature measurement to reference a LUT stored in a hardware component at the network entity. The LUT may include relationships between temperature readings and corresponding increment values for the sleep clock. If the LUT includes a valid entry for the current temperature measurement, the network entity may use the corresponding system counter increment value to increment the system counter. Conversely, if the LUT does not include a valid entry for the current temperature measurement, the network entity may activate the modem to perform a full calibration procedure between the sleep clock and the fast clock to determine an increment value for the sleep clock at the current temperature. In this example, the network entity may add the determined increment value to the LUT, and may use the determined increment value to increment the system counter.

[0042] Aspects of the disclosure are initially described in the context of wireless communications systems. Additional aspects of the disclosure are described in the context of an internal clock configuration, clock error graphs, and a process flow an example process flow. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flowcharts that relate to bounding and correcting clock frequency error due to thermal and device effects.

[0043] FIG. 1 shows an example of a wireless communications system 100 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure.The wireless communications system 100 may include one or more devices, such as one or more network devices (e.g., network entities 105), one or more UEs 115, and a core network 130. In some aspects, the wireless communication system 100 may be a Long Term Evolution (LTE) network, an LTE- Advanced (LTE-A) network, an LTE-A Pro network, a New Radio (NR) network, or a network operating in accordance with other systems and radio technologies, including future systems and radio technologies not explicitly mentioned herein.

[0044] The network entities 105 may be dispersed throughout a geographic area to form the wireless communication system 100 and may include devices in different forms or having different capabilities. In various aspects, a network entity 105 may be referred to as a network element, a mobility element, a radio access network (RAN) node, or network equipment, among other nomenclature. In some aspects, network entities 105 and UEs 115 may wirelessly communicate via one or more communication links 125 (e.g., a radio frequency (RF) access link). For example, a network entity 105 may support a coverage area 110 (e.g., a geographic coverage area) over which the UEs 115 and the network entity 105 may establish one or more communication links 125. The coverage area 110 may be an example of a geographic area over which a network entity 105 and a UE 115 may support the communication of signals according to one or more radio access technologies (RATs).

[0045] The UEs 115 may be dispersed throughout a coverage area 110 of the wireless communication system 100, and each UE 115 may be stationary, or mobile, or both at different times. The UEs 115 may be devices in different forms or having different capabilities. Some example UEs 115 are illustrated in FIG. 1. The UEs 115 described herein may be capable of supporting communications with various types of devices, such as other UEs 115 or network entities 105, as shown in FIG. 1.

[0046] As described herein, a network entity (which may alternatively be referred to as an entity, a node, a network node, or a wireless entity) may be, be similar to, include, or be included in (e.g., be a component of) a base station (e.g., any base station described herein, including a disaggregated base station), a UE (e.g., any UE described herein), a reduced capability (RedCap) device, an enhanced reduced capability (eRedCap) device, an ambient intemet-of-things (loT) device, an energy harvesting (EH)-capable device, a network controller, an apparatus, a device, a computing system,an integrated access and backhauling (IAB) node, a distributed unit (DU), a central unit (CU), a remote / radio unit (RU) (which may also be referred to as a remote radio unit (RRU)), and / or another processing entity configured to perform any of the techniques described herein. For example, a network entity may be a UE. As another example, a network entity may be a base station. As used herein, “network entity” may refer to an entity that is configured to operate in a network, such as the wireless communication system 100. For example, a “network entity” is not limited to an entity that is currently located in and / or currently operating in the network. Rather, a network entity may be any entity that is capable of communicating and / or operating in the network.

[0047] The adjectives “first,” “second,” “third,” and so on are used for contextual distinction between two or more of the modified noun in connection with a discussion and are not meant to be absolute modifiers that apply only to a certain respective entity throughout the entire document. For example, a network entity may be referred to as a “first network entity” in connection with one discussion and may be referred to as a “second network entity” in connection with another discussion, or vice versa. As an example, a first network entity may be configured to communicate with a second network entity or a third network entity. In one aspect of this example, the first network entity may be a UE, the second network entity may be a base station, and the third network entity may be a UE. In another aspect of this example, the first network entity may be a UE, the second network entity may be a base station, and the third network entity may be a base station. In yet other aspects of this example, the first, second, and third network entities may be different relative to these examples.

[0048] Similarly, reference to a UE, base station, apparatus, device, computing system, or the like may include disclosure of the UE, base station, apparatus, device, computing system, or the like being a network entity. For example, disclosure that a UE is configured to receive information from a base station also discloses that a first network entity is configured to receive information from a second network entity. Consistent with this disclosure, once a specific example is broadened in accordance with this disclosure (e.g., a UE is configured to receive information from a base station also discloses that a first network entity is configured to receive information from a second network entity), the broader example of the narrower example may be interpreted in the reverse, but in a broad open-ended way. In the example above wherea UE is configured to receive information from a base station also discloses that a first network entity is configured to receive information from a second network entity, the first network entity may refer to a first UE, a first base station, a first apparatus, a first device, a first computing system, a first set of one or more one or more components, a first processing entity, or the like configured to receive the information; and the second network entity may refer to a second UE, a second base station, a second apparatus, a second device, a second computing system, a second set of one or more components, a second processing entity, or the like.

[0049] As described herein, communication of information (e.g., any information, signal, or the like) may be described in various aspects using different terminology. Disclosure of one communication term includes disclosure of other communication terms. For example, a first network entity may be described as being configured to transmit information to a second network entity. In this example and consistent with this disclosure, disclosure that the first network entity is configured to transmit information to the second network entity includes disclosure that the first network entity is configured to provide, send, output, communicate, or transmit information to the second network entity. Similarly, in this example and consistent with this disclosure, disclosure that the first network entity is configured to transmit information to the second network entity includes disclosure that the second network entity is configured to receive, obtain, or decode the information that is provided, sent, output, communicated, or transmitted by the first network entity.

[0050] As shown, the network entity (e.g., network entity 105) may include a processing system 106. Similarly, the network entity (e.g., UE 115) may include a processing system 112. A processing system may include one or more components (or subcomponents), such as one or more components described herein. For example, a respective component of the one or more components may be, be similar to, include, or be included in at least one memory, at least one communication interface, or at least one processor. For example, a processing system may include one or more components. In such an example, the one or more components may include a first component, a second component, and a third component. In this example, the first component may be coupled to a second component and a third component. In this example, the first component may be at least one processor, the second component may be acommunication interface, and the third component may be at least one memory. A processing system may generally be a system one or more components that may perform one or more functions, such as any function or combination of functions described herein. For example, one or more components may receive input information (e.g., any information that is an input, such as a signal, any digital information, or any other information), one or more components may process the input information to generate output information (e.g., any information that is an output, such as a signal or any other information), one or more components may perform any function as described herein, or any combination thereof. As described herein, an “input” and “input information” may be used interchangeably. Similarly, as described herein, an “output” and “output information” may be used interchangeably. Any information generated by any component may be provided to one or more other systems or components of, for example, a network entity described herein). For example, a processing system may include a first component configured to receive or obtain information, a second component configured to process the information to generate output information, and / or a third component configured to provide the output information to other systems or components. In this example, the first component may be a communication interface (e.g., a first communication interface), the second component may be at least one processor (e.g., that is coupled to the communication interface and / or at least one memory), and the third component may be a communication interface (e.g., the first communication interface or a second communication interface). For example, a processing system may include at least one memory, at least one communication interface, and / or at least one processor, where the at least one processor may, for example, be coupled to the at least one memory and the at least one communication interface.

[0051] A processing system of a network entity described herein may interface with one or more other components of the network entity, may process information received from one or more other components (such as input information), or may output information to one or more other components. For example, a processing system may include a first component configured to interface with one or more other components of the network entity to receive or obtain information, a second component configured to process the information to generate one or more outputs, and / or a third componentconfigured to output the one or more outputs to one or more other components. In this example, the first component may be a communication interface (e.g., a first communication interface), the second component may be at least one processor (e.g., that is coupled to the communication interface and / or at least one memory), and the third component may be a communication interface (e.g., the first communication interface or a second communication interface). For example, a chip or modem of the network entity may include a processing system. The processing system may include a first communication interface to receive or obtain information, and a second communication interface to output, transmit, or provide information. In some examples, the first communication interface may be an interface configured to receive input information, and the information may be provided to the processing system. In some examples, the second system interface may be configured to transmit information output from the chip or modem. The second communication interface may also obtain or receive input information, and the first communication interface may also output, transmit, or provide information.

[0052] In some aspects, network entities 105 may communicate with the core network 130, or with one another, or both. For example, network entities 105 may communicate with the core network 130 via one or more backhaul communication links 120 (e.g., in accordance with an SI, N2, N3, or other interface protocol). In some aspects, network entities 105 may communicate with one another via a backhaul communication link 120 (e.g., in accordance with an X2, Xn, or other interface protocol) either directly (e.g., directly between network entities 105) or indirectly (e.g., via a core network 130). In some aspects, network entities 105 may communicate with one another via a midhaul communication link 162 (e.g., in accordance with a midhaul interface protocol) or a fronthaul communication link 168 (e.g., in accordance with a fronthaul interface protocol), or any combination thereof. The backhaul communication links 120, midhaul communication links 162, or fronthaul communication links 168 may be or include one or more wired links (e.g., an electrical link, an optical fiber link), one or more wireless links (e.g., a radio link, a wireless optical link), among other aspects or various combinations thereof. A UE 115 may communicate with the core network 130 via a communication link 155.

[0053] One or more of the network entities 105 described herein may include or may be referred to as a base station 140 (e.g., a base transceiver station, a radio base station, an NR base station, an access point, a radio transceiver, a NodeB, an eNodeB (eNB), a next-generation NodeB or a giga-NodeB (either of which may be referred to as a gNB), a 5G NB, a next-generation eNB (ng-eNB), a Home NodeB, a Home eNodeB, or other suitable terminology). In some aspects, a network entity 105 (e.g., a base station 140) may be implemented in an aggregated (e.g., monolithic, standalone) base station architecture, which may be configured to utilize a protocol stack that is physically or logically integrated within a single network entity 105 (e.g., a single RAN node, such as a base station 140).

[0054] In some aspects, a network entity 105 may be implemented in a disaggregated architecture (e.g., a disaggregated base station architecture, a disaggregated RAN architecture), which may be configured to utilize a protocol stack that is physically or logically distributed among two or more network entities 105, such as an integrated access backhaul (IAB) network, an open RAN (O-RAN) (e.g., a network configuration sponsored by the O-RAN Alliance), or a virtualized RAN (vRAN) (e.g., a cloud RAN (C-RAN)). For example, a network entity 105 may include one or more of a central unit (CU) 160, a distributed unit (DU) 165, a radio unit (RU) 170, a RAN Intelligent Controller (RIC) 175 (e.g., a Near-Real Time RIC (Near-RT RIC), a Non-Real Time RIC (Non-RT RIC)), a Service Management and Orchestration (SMO) 180 system, or any combination thereof. An RU 170 may also be referred to as a radio head, a smart radio head, a remote radio head (RRH), a remote radio unit (RRU), or a transmission reception point (TRP). One or more components of the network entities 105 in a disaggregated RAN architecture may be co-located, or one or more components of the network entities 105 may be located in distributed locations (e.g., separate physical locations). In some aspects, one or more network entities 105 of a disaggregated RAN architecture may be implemented as virtual units (e.g., a virtual CU (VCU), a virtual DU (VDU), a virtual RU (VRU)).

[0055] The split of functionality between a CU 160, a DU 165, and an RU 170 is flexible and may support different functionalities depending on which functions (e.g., network layer functions, protocol layer functions, baseband functions, RF functions, and any combinations thereof) are performed at a CU 160, a DU 165, or an RU 170. Forexample, a functional split of a protocol stack may be employed between a CU 160 and a DU 165 such that the CU 160 may support one or more layers of the protocol stack and the DU 165 may support one or more different layers of the protocol stack. In some aspects, the CU 160 may host upper protocol layer (e.g., layer 3 (L3), layer 2 (L2)) functionality and signaling (e.g., Radio Resource Control (RRC), service data adaption protocol, Packet Data Convergence Protocol). The CU 160 may be connected to one or more DUs 165 or RUs 170, and the one or more DUs 165 or RUs 170 may host lower protocol layers, such as layer 1 (LI) (e.g., physical layer) or L2 (e.g., radio link control layer MAC layer) functionality and signaling, and may each be at least partially controlled by the CU 160. Additionally, or alternatively, a functional split of the protocol stack may be employed between a DU 165 and an RU 170 such that the DU 165 may support one or more layers of the protocol stack and the RU 170 may support one or more different layers of the protocol stack. The DU 165 may support one or multiple different cells (e.g., via one or more RUs 170). In some cases, a functional split between a CU 160 and a DU 165, or between a DU 165 and an RU 170 may be within a protocol layer (e.g., some functions for a protocol layer may be performed by one of a CU 160, a DU 165, or an RU 170, while other functions of the protocol layer are performed by a different one of the CU 160, the DU 165, or the RU 170). A CU 160 may be functionally split further into CU control plane (CU-CP) and CU user plane (CU-UP) functions. A CU 160 may be connected to one or more DUs 165 via a midhaul communication link 162 (e.g., Fl, Fl-c, Fl-u), and a DU 165 may be connected to one or more RUs 170 via a fronthaul communication link 168 (e.g., open fronthaul (FH) interface). In some aspects, a midhaul communication link 162 or a fronthaul communication link 168 may be implemented in accordance with an interface (e.g., a channel) between layers of a protocol stack supported by respective network entities 105 that are in communication via such communication links.

[0056] In wireless communication systems (e.g., wireless communication system 100), infrastructure and spectral resources for radio access may support wireless backhaul link capabilities to supplement wired backhaul connections, providing an IAB network architecture (e.g., to a core network 130). In some cases, in an IAB network, one or more network entities 105 (e.g., IAB nodes 104) may be partially controlled by each other. One or more IAB nodes 104 may be referred to as a donor entity or an IABdonor. One or more DUs 165 or one or more RUs 170 may be partially controlled by one or more CUs 160 associated with a donor network entity 105 (e.g., a donor base station 140). The one or more donor network entities 105 (e.g., IAB donors) may be in communication with one or more additional network entities 105 (e.g., IAB nodes 104) via supported access and backhaul links (e.g., backhaul communication links 120). IAB nodes 104 may include an IAB mobile termination (IAB-MT) controlled (e.g., scheduled) by DUs 165 of a coupled IAB donor. An IAB-MT may include an independent set of antennas for relay of communications with UEs 115, or may share the same antennas (e.g., of an RU 170) of an IAB node 104 used for access via the DU 165 of the IAB node 104 (e.g., referred to as virtual IAB-MT (vIAB-MT)). In some aspects, the IAB nodes 104 may include DUs 165 that support communication links with additional entities (e.g., IAB nodes 104, UEs 115) within the relay chain or configuration of the access network (e.g., downstream). In such cases, one or more components of the disaggregated RAN architecture (e.g., one or more IAB nodes 104 or components of IAB nodes 104) may be configured to operate according to the techniques described herein.

[0057] In the case of the techniques described herein applied in the context of a disaggregated RAN architecture, one or more components of the disaggregated RAN architecture may be configured to support enhanced outer coding for broadcast communications as described herein. For example, some operations described as being performed by a UE 115 or a network entity 105 (e.g., a base station 140) may additionally, or alternatively, be performed by one or more components of the disaggregated RAN architecture (e.g., IAB nodes 104, DUs 165, CUs 160, RUs 170, RIC 175, SMO 180).

[0058] A UE 115 may include or may be referred to as a mobile device, a wireless device, a remote device, a handheld device, or a subscriber device, or some other suitable terminology, where the “device” may also be referred to as a unit, a station, a terminal, or a client, among other aspects. A UE 115 may also include or may be referred to as a personal electronic device such as a cellular phone, a personal digital assistant (PDA), a tablet computer, a laptop computer, or a personal computer. In some aspects, a UE 115 may include or be referred to as a wireless local loop (WLL) station, an Internet of Things (loT) device, an Internet of Everything (loE) device, or a machinetype communications (MTC) device, among other aspects, which may be implemented in various objects such as appliances, or vehicles, meters, among other aspects.

[0059] The UEs 115 described herein may be able to communicate with various types of devices, such as other UEs 115 that may sometimes act as relays as well as the network entities 105 and the network equipment including macro eNBs or gNBs, small cell eNBs or gNBs, or relay base stations, among other aspects, as shown in FIG. 1.

[0060] The UEs 115 and the network entities 105 may wirelessly communicate with one another via one or more communication links 125 (e.g., an access link) using resources associated with one or more carriers. The term “carrier” may refer to a set of RF spectrum resources having a defined physical layer structure for supporting the communication links 125. For example, a carrier used for a communication link 125 may include a portion of a RF spectrum band (e.g., a bandwidth part (BWP)) that is operated according to one or more physical layer channels for a given radio access technology (e.g., LTE, LTE-A, LTE-A Pro, NR). Each physical layer channel may carry acquisition signaling (e.g., synchronization signals, system information), control signaling that coordinates operation for the carrier, user data, or other signaling. The wireless communication system 100 may support communication with a UE 115 using carrier aggregation or multi-carrier operation. A UE 115 may be configured with multiple downlink component carriers and one or more uplink component carriers according to a carrier aggregation configuration. Carrier aggregation may be used with both frequency division duplexing (FDD) and time division duplexing (TDD) component carriers. Communication between a network entity 105 and other devices may refer to communication between the devices and any portion (e.g., entity, subentity) of a network entity 105. For example, the terms “transmitting,” “receiving,” or “communicating,” when referring to a network entity 105, may refer to any portion of a network entity 105 (e.g., a base station 140, a CU 160, a DU 165, a RU 170) of a RAN communicating with another device (e.g., directly or via one or more other network entities 105).

[0061] Signal waveforms transmitted via a carrier may be made up of multiple subcarriers (e.g., using multi-carrier modulation (MCM) techniques such as orthogonal frequency division multiplexing (OFDM) or discrete Fourier transform spread OFDM (DFT-S-OFDM)). In a system employing MCM techniques, a resource element mayrefer to resources of one symbol period (e.g., a duration of one modulation symbol) and one subcarrier, in which case the symbol period and subcarrier spacing may be inversely related. The quantity of bits carried by each resource element may depend on the modulation scheme (e.g., the order of the modulation scheme, the coding rate of the modulation scheme, or both), such that a relatively higher quantity of resource elements (e.g., in a transmission duration) and a relatively higher order of a modulation scheme may correspond to a relatively higher rate of communication. A wireless communications resource may refer to a combination of an RF spectrum resource, a time resource, and a spatial resource (e.g., a spatial layer, a beam), and the use of multiple spatial resources may increase the data rate or data integrity for communications with a UE 115.

[0062] The time intervals for the network entities 105 or the UEs 115 may be expressed in multiples of a basic time unit which may, for example, refer to a sampling period of Ts= l / (A / mflx■ Ay) seconds, for which fmaxmay represent a supported subcarrier spacing, and Ay may represent a supported discrete Fourier transform (DFT) size. Time intervals of a communications resource may be organized according to radio frames each having a specified duration (e.g., 10 milliseconds (ms)). Each radio frame may be identified by a system frame number (SFN) (e.g., ranging from 0 to 1023).

[0063] Each frame may include multiple consecutively-numbered subframes or slots, and each subframe or slot may have the same duration. In some aspects, a frame may be divided (e.g., in the time domain) into subframes, and each subframe may be further divided into a quantity of slots. Alternatively, each frame may include a variable quantity of slots, and the quantity of slots may depend on subcarrier spacing. Each slot may include a quantity of symbol periods (e.g., depending on the length of the cyclic prefix prepended to each symbol period). In some wireless communication systems 100, a slot may further be divided into multiple mini-slots associated with one or more symbols. Excluding the cyclic prefix, each symbol period may be associated with one or more (e.g., Ay) sampling periods. The duration of a symbol period may depend on the subcarrier spacing or frequency band of operation.

[0064] A subframe, a slot, a mini-slot, or a symbol may be the smallest scheduling unit (e.g., in the time domain) of the wireless communication system 100 and may bereferred to as a transmission time interval (TTI). In some aspects, the TTI duration (e.g., a quantity of symbol periods in a TTI) may be variable. Additionally, or alternatively, the smallest scheduling unit of the wireless communication system 100 may be dynamically selected (e.g., in bursts of shortened TTIs (sTTIs)).

[0065] Physical channels may be multiplexed for communication using a carrier according to various techniques. A physical control channel and a physical data channel may be multiplexed for signaling via a downlink carrier, for example, using one or more of time division multiplexing (TDM) techniques, frequency division multiplexing (FDM) techniques, or hybrid TDM-FDM techniques. A control region (e.g., a control resource set (CORESET)) for a physical control channel may be defined by a set of symbol periods and may extend across the system bandwidth or a subset of the system bandwidth of the carrier. One or more control regions (e.g., CORESETs) may be configured for a set of the UEs 115. For example, one or more of the UEs 115 may monitor or search control regions for control information according to one or more search space sets, and each search space set may include one or multiple control channel candidates in one or more aggregation levels arranged in a cascaded manner. An aggregation level for a control channel candidate may refer to an amount of control channel resources (e.g., control channel elements (CCEs)) associated with encoded information for a control information format having a given payload size. Search space sets may include common search space sets configured for sending control information to multiple UEs 115 and UE-specific search space sets for sending control information to a specific UE 115.

[0066] In some aspects, a network entity 105 (e.g., a base station 140, an RU 170) may be movable and therefore provide communication coverage for a moving coverage area 110. In some aspects, different coverage areas 110 associated with different technologies may overlap, but the different coverage areas 110 may be supported by the same network entity 105. In some other aspects, the overlapping coverage areas 110 associated with different technologies may be supported by different network entities 105. The wireless communication system 100 may include, for example, a heterogeneous network in which different types of the network entities 105 provide coverage for various coverage areas 110 using the same or different radio access technologies.

[0067] The wireless communication system 100 may be configured to support ultrareliable communications or low-latency communications, or various combinations thereof. For example, the wireless communication system 100 may be configured to support ultra-reliable low-latency communications (URLLC). The UEs 115 may be designed to support ultra-reliable, low-latency, or critical functions. Ultra-reliable communications may include private communication or group communication and may be supported by one or more services such as push-to-talk, video, or data. Support for ultra-reliable, low-latency functions may include prioritization of services, and such services may be used for public safety or general commercial applications. The terms ultra-reliable, low-latency, and ultra-reliable low-latency may be used interchangeably herein.

[0068] In some aspects, a UE 115 may be configured to support communicating directly with other UEs 115 via a device-to-device (D2D) communication link 135 (e.g., in accordance with a peer-to-peer (P2P), D2D, or sidelink protocol). In some aspects, one or more UEs 115 of a group that are performing D2D communications may be within the coverage area 110 of a network entity 105 (e.g., a base station 140, an RU 170), which may support aspects of such D2D communications being configured by (e.g., scheduled by) the network entity 105. In some aspects, one or more UEs 115 of such a group may be outside the coverage area 110 of a network entity 105 or may be otherwise unable to or not configured to receive transmissions from a network entity 105. In some aspects, groups of the UEs 115 communicating via D2D communications may support a one-to-many (1 :M) system in which each UE 115 transmits to each of the other UEs 115 in the group. In some aspects, a network entity 105 may facilitate the scheduling of resources for D2D communications. In some other aspects, D2D communications may be carried out between the UEs 115 without an involvement of a network entity 105.

[0069] The core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. The core network 130 may be an evolved packet core (EPC) or 5G core (5GC), which may include at least one control plane entity that manages access and mobility (e.g., a mobility management entity (MME), an access and mobility management function (AMF)) and at least one user plane entity that routes packets orinterconnects to external networks (e.g., a serving gateway (S-GW), a Packet Data Network (PDN) gateway (P-GW), or a user plane function (UPF)). The control plane entity may manage non-access stratum (NAS) functions such as mobility, authentication, and bearer management for the UEs 115 served by the network entities 105 (e.g., base stations 140) associated with the core network 130. User IP packets may be transferred through the user plane entity, which may provide IP address allocation as well as other functions. The user plane entity may be connected to IP services 150 for one or more network operators. The IP services 150 may include access to the Internet, Intranet(s), an IP Multimedia Subsystem (IMS), or a Packet-Switched Streaming Service.

[0070] The wireless communication system 100 may operate using one or more frequency bands, which may be in the range of 300 megahertz (MHz) to 300 gigahertz (GHz). Generally, the region from 300 MHz to 3 GHz is known as the ultra-high frequency (UHF) region or decimeter band because the wavelengths range from approximately one decimeter to one meter in length. UHF waves may be blocked or redirected by buildings and environmental features, which may be referred to as clusters, but the waves may penetrate structures sufficiently for a macro cell to provide service to the UEs 115 located indoors. Communications using UHF waves may be associated with smaller antennas and shorter ranges (e.g., less than 100 kilometers) compared to communications using the smaller frequencies and longer waves of the high frequency (HF) or very high frequency (VHF) portion of the spectrum below 300 MHz.

[0071] The wireless communication system 100 may utilize both licensed and unlicensed RF spectrum bands. For example, the wireless communication system 100 may employ License Assisted Access (LAA), LTE-Unlicensed (LTE-U) radio access technology, or NR technology using an unlicensed band such as the 5 GHz industrial, scientific, and medical (ISM) band. While operating using unlicensed RF spectrum bands, devices such as the network entities 105 and the UEs 115 may employ carrier sensing for collision detection and avoidance. In some aspects, operations using unlicensed bands may be based on a carrier aggregation configuration in conjunction with component carriers operating using a licensed band (e.g., LAA). Operations usingunlicensed spectrum may include downlink transmissions, uplink transmissions, P2P transmissions, or D2D transmissions, among other aspects.

[0072] A network entity 105 (e.g., a base station 140, an RU 170) or a UE 115 may be equipped with multiple antennas, which may be used to employ techniques such as transmit diversity, receive diversity, multiple-input multiple-output (MIMO) communications, or beamforming. The antennas of a network entity 105 or a UE 115 may be located within one or more antenna arrays or antenna panels, which may support MIMO operations or transmit or receive beamforming. For example, one or more base station antennas or antenna arrays may be co-located at an antenna assembly, such as an antenna tower. In some aspects, antennas or antenna arrays associated with a network entity 105 may be located at diverse geographic locations. A network entity 105 may include an antenna array with a set of rows and columns of antenna ports that the network entity 105 may use to support beamforming of communications with a UE 115. Likewise, a UE 115 may include one or more antenna arrays that may support various MIMO or beamforming operations. Additionally, or alternatively, an antenna panel may support RF beamforming for a signal transmitted via an antenna port.

[0073] Beamforming, which may also be referred to as spatial filtering, directional transmission, or directional reception, is a signal processing technique that may be used at a transmitting device or a receiving device (e.g., a network entity 105, a UE 115) to shape or steer an antenna beam (e.g., a transmit beam, a receive beam) along a spatial path between the transmitting device and the receiving device. Beamforming may be achieved by combining the signals communicated via antenna elements of an antenna array such that some signals propagating along particular orientations with respect to an antenna array experience constructive interference while others experience destructive interference. The adjustment of signals communicated via the antenna elements may include a transmitting device or a receiving device applying amplitude offsets, phase offsets, or both to signals carried via the antenna elements associated with the device. The adjustments associated with each of the antenna elements may be defined by a beamforming weight set associated with a particular orientation (e.g., with respect to the antenna array of the transmitting device or receiving device, or with respect to some other orientation).

[0074] A network entity 105 or a UE 115 may use beam sweeping techniques as part of beamforming operations. For example, a network entity 105 (e.g., a base station 140, an RU 170) may use multiple antennas or antenna arrays (e.g., antenna panels) to conduct beamforming operations for directional communications with a UE 115. Some signals (e.g., synchronization signals, reference signals, beam selection signals, or other control signals) may be transmitted by a network entity 105 multiple times along different directions. For example, the network entity 105 may transmit a signal according to different beamforming weight sets associated with different directions of transmission. Transmissions along different beam directions may be used to identify (e.g., by a transmitting device, such as a network entity 105, or by a receiving device, such as a UE 115) a beam direction for later transmission or reception by the network entity 105.

[0075] Some signals, such as data signals associated with a particular receiving device, may be transmitted by a transmitting device (e.g., a network entity 105 or a UE 115) along a single beam direction (e.g., a direction associated with the receiving device, such as another network entity 105 or UE 115). In some examples, the beam direction associated with transmissions along a single beam direction may be determined based on a signal that was transmitted along one or more beam directions. For example, a UE 115 may receive one or more of the signals transmitted by the network entity 105 along different directions and may report to the network entity 105 an indication of the signal that the UE 115 received with a highest signal quality or an otherwise acceptable signal quality.

[0076] In some examples, transmissions by a device (e.g., by a network entity 105 or a UE 115) may be performed using multiple beam directions, and the device may use a combination of digital precoding or beamforming to generate a combined beam for transmission (e.g., from a network entity 105 to a UE 115). The UE 115 may report feedback that indicates precoding weights for one or more beam directions, and the feedback may correspond to a configured set of beams across a system bandwidth or one or more sub-bands. The network entity 105 may transmit a reference signal (e.g., a cell-specific reference signal (CRS), a channel state information reference signal (CSI- RS)), which may be precoded or unprecoded. The UE 115 may provide feedback for beam selection, which may be a precoding matrix indicator (PMI) or codebook-basedfeedback (e.g., a multi-panel type codebook, a linear combination type codebook, a port selection type codebook). Although these techniques are described with reference to signals transmitted along one or more directions by a network entity 105 (e.g., a base station 140, an RU 170), a UE 115 may employ similar techniques for transmitting signals multiple times along different directions (e.g., for identifying a beam direction for subsequent transmission or reception by the UE 115) or for transmitting a signal along a single direction (e.g., for transmitting data to a receiving device).

[0077] A receiving device (e.g., a UE 115) may perform reception operations in accordance with multiple receive configurations (e.g., directional listening) when receiving various signals from a transmitting device (e.g., a network entity 105), such as synchronization signals, reference signals, beam selection signals, or other control signals. For example, a receiving device may perform reception in accordance with multiple receive directions by receiving via different antenna subarrays, by processing received signals according to different antenna subarrays, by receiving according to different receive beamforming weight sets (e.g., different directional listening weight sets) applied to signals received at multiple antenna elements of an antenna array, or by processing received signals according to different receive beamforming weight sets applied to signals received at multiple antenna elements of an antenna array, any of which may be referred to as “listening” according to different receive configurations or receive directions. In some examples, a receiving device may use a single receive configuration to receive along a single beam direction (e.g., when receiving a data signal). The single receive configuration may be aligned along a beam direction determined based on listening according to different receive configuration directions (e.g., a beam direction determined to have a highest signal strength, highest signal-to- noise ratio (SNR), or otherwise acceptable signal quality based on listening according to multiple beam directions).

[0078] The wireless communications system 100 may be a packet-based network that operates according to a layered protocol stack. In the user plane, communications at the bearer or PDCP layer may be IP -based. An RLC layer may perform packet segmentation and reassembly to communicate via logical channels. A MAC layer may perform priority handling and multiplexing of logical channels into transport channels. The MAC layer also may implement error detection techniques, error correctiontechniques, or both to support retransmissions to improve link efficiency. In the control plane, an RRC layer may provide establishment, configuration, and maintenance of an RRC connection between a UE 115 and a network entity 105 or a core network 130 supporting radio bearers for user plane data. A PHY layer may map transport channels to physical channels.

[0079] The UEs 115 and the network entities 105 may support retransmissions of data to increase the likelihood that data is received successfully. Hybrid automatic repeat request (HARQ) feedback is one technique for increasing the likelihood that data is received correctly via a communication link (e.g., the communication link(s) 125, a D2D communication link 135). HARQ may include a combination of error detection (e.g., using a cyclic redundancy check (CRC)), forward error correction (FEC), and retransmission (e.g., automatic repeat request (ARQ)). HARQ may improve throughput at the MAC layer in relatively poor radio conditions (e.g., low signal -to-noise conditions). In some examples, a device may support same-slot HARQ feedback, in which case the device may provide HARQ feedback in a specific slot for data received via a previous symbol in the slot. In some other examples, the device may provide HARQ feedback in a subsequent slot, or according to some other time interval.

[0080] In some aspects, the respective network entities of the wireless communications system 100 (e.g., UEs 115, network entities 105, base stations, IAB nodes, etc.) may support techniques for determining system counter increment values for lower fidelity clocks (e.g., sleep clock) based on thermal effects. In particular, techniques descried herein may enable a network entity (e.g., UE 115) to maintain some LUT or other data object that stores relationships between temperatures and system counter increment values in order to reduce the frequency of clock calibrations performed by the network entity.

[0081] For example, a UE 115 of the wireless communications system 100 may utilize a “fast clock” to increment a system counter while in an active state, and may utilize a “sleep clock” to increment the system counter while in an inactive state. While in the inactive state, the UE 115 may perform a temperature measurement, and use the temperature measurement to reference a LUT stored in a hardware component at the UE 115. The LUT may include relationships between temperature readings and corresponding increment values for the sleep clock. If the LUT includes a valid entryfor the current temperature measurement, the UE 115 may use the corresponding system counter increment value to increment the system counter. Conversely, if the LUT does not include a valid entry for the current temperature measurement, the UE 115 may activate the modem to perform a full calibration procedure between the sleep clock and the fast clock to determine an increment value for the sleep clock at the current temperature. In this example, the UE 115 may add the determined increment value to the LUT, and may use the determined increment value to increment the system counter.

[0082] Techniques described herein may enable network entities (e.g., UEs 115) to maintain synchronization with the network using lower-fidelity clocks. As such, techniques described herein may enable network entities to remain in a “sleep state” (e.g., low-power state, inactive state) for longer durations of time, while maintaining a high degree of synchronization between the network and the system counter of the network entity. Therefore, techniques described herein may improve power saving capabilities of network entities, and may enable the network entities to quickly synchronize with the network to perform communications upon waking up from a sleep state.

[0083] FIG. 2 shows an example of a wireless communications system 200 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. In some examples, aspects of the wireless communications system 200 may implement, or be implemented by, aspects of the wireless communications system 100. In particular, the wireless communications system 200 illustrates techniques for bounding and correcting block frequency error, as described herein.

[0084] The wireless communications system 200 may include a UE 115-a and a network entity 105-a, which may be examples of wireless devices as described herein. In some aspects, the UE 115-a and the network entity 105-a may communicate with one another using a communication link 205, which may be an example of an NR or LTE link, a sidelink (e.g., PC5 link), and the like, between the respective devices. In some cases, the communication link 205 may include an example of an access link (e.g., Uu link) which may include a bi-directional link that enables both uplink and downlink communication. For example, the UE 115-a may transmit uplink signals, such as uplink control signals or uplink data signals, to one or more components of the network entity105-a using the communication link 205, and one or more components of the network entity 105-a may transmit downlink signals, such as downlink control signals or downlink data signals, to the UE 115-a using the communication link 205.

[0085] As described previously herein, wireless devices and network entities, such the UE 115-a, may utilize internal clocks to increment a “system counter” used to keep time and maintain synchronization with the network. The respective internal clocks may exhibit varying characteristics (e.g., accuracy) and power consumptions. That is, a network entity (e.g., UE 115) may employ multiple different clocks for different purposes, where a system counter of the respective network entity is driven by one of the clocks at a time. A common application is to employ a low-frequency and low- fidelity clock while the network entity is in sleep state (e.g., inactive state, idle state, low-power state), and switch to a high-frequency and high-performance clock when the network entity is in an active state. In such cases, the low-frequency clock may consume less power during the sleep state, and thereby lower the sleep power consumption. Further, the lower-frequency clock may utilize a cheaper crystal (as compared to the higher-frequency clock) assuming that frequency error of the cheaper crystal may be corrected. One prominent use case for multiple internal clocks is network entities that communicate via LTE and NR eDRx, where the network entity may utilize a 19.2 / 38.4 MHz functional clock when the network entity is in an active state, and may switch to a 32.7 kHz sleep clock when the network entity is in an inactive state (e.g., lower power modes).

[0086] For example, as shown in FIG. 2, the UE 115-a may include a first clock 210-a (e.g., “fast clock,” “functional clock,” high-fidelity clock) and a second clock 210-b (e.g., “sleep clock,” lower-fidelity clock). In this example, the UE 115-a may utilize the first clock 210-a to increment the system counter 215 during times that the UE 115-a is in an active state with the modem activated. The first clock 210-a may exhibit extremely high performance and accuracy, but may require large power consumption. As such, in order to conserve power, the UE 115-a may utilize the second clock 210-b to increment the system counter 215 when in an inactive state, where the second clock 210-b exhibits lower power consumption, but lower accuracy (e.g., increased clock error).

[0087] In this regard, the use of multiple clocks 210 may enable network entities to reduce power consumption in lower power modes. However, the low-cost sleep clock (e.g., second clock 210-b) may exhibit larger frequency error as compared to the functional clock (e.g., first clock 210-a), which may lead to larger timing uncertainty over long sleep periods. The increased frequency error experienced over longer sleep periods may result in UE 115-a experiencing longer search / synchronization procedures upon waking up from sleep.

[0088] For example, FIG. 2 illustrates different implementations 220 for utilizing different clocks 210 at the UE 115-a. The various implementations 220 illustrate different clocks 210 that may be used by the UE 115-a during different periods, such as sleep periods 225 (e.g., low-power consumption periods, inactive periods), sync / search periods 230 (e.g., periods of time where the UE 115-a is waking up and searching for synchronization signals from the network), and active periods 235-b (e.g., high-power consumption periods).

[0089] In accordance with a first implementation 220-a, the UE 115-a may utilize the first clock 210-a (e.g., fast clock, high-fidelity clock) continuously during a sleep period 225-a, a sync / search period 230-a, and an active period 235-a. Comparatively, in accordance with a second implementation 220-b, the UE 115-a may utilize the second clock 210-b (e.g., sleep clock, lower-fidelity clock) during a sleep period 225-b, but may switch to the first clock 210-a for a sync / search period 230-a and an active period 235-b. Comparing the sleep periods 225-a and 225-b of the first implementation 220-a and the second implementation 220-b, it may be seen that the power consumption of the UE 115-a is lower during the sleep period 225-b of the second implementation 220-b as compared to the sleep period 225-a of the first implementation 220-a due to the use of the second clock 210-b. However, using the second clock 210-b during the sleep period 225-b may lead to increased clock error, which causes the sync / search period 230-b of the second implementation 220-b to be longer than the sync / search period 230-a of the first implementation 220-a. In other words, due to the use of the lower-fidelity second clock 210-b, it takes longer for the UE 115-a to search for and identify signals from the network to synchronize with the network in the second implementation 220-b as compared to the first implementation 220-a. This longer sync / search period 230-b ofthe second implementation 220-b offsets some of the power-saving capabilities achieved by the second implementation 220-b during the sleep period 225-b.

[0090] As such, aspects of the present disclosure are directed to techniques to characterize and calibrate low-cost sleep clocks (e.g., second clock 210-b) to reduce timing uncertainty and reduce search / synchronization durations. In other words, aspects of the present disclosure may be used to reduce the clock error associated with the second clock 210-b during sleep periods 225 in order to reduce the durations of sync / search periods 230, as shown in the third implementation. That is, the second implementation 220-b illustrated in FIG. 2 illustrates an implementation that does not implement sleep clock characterization or calibration for the second clock 210-b.Comparatively, aspects of the present disclosure are directed to the third implementation 220-c that implements sleep characterization and calibration for the second clock 210-b. In accordance with the third implementation 220-c, the UE 115-a may utilize the second clock 210-b for a sleep period 225-c, and may utilize the first clock 210-a for the sync / search period 230-c and the active period 235-c. As shown in FIG. 3, the sync / search period 230-c of the third implementation 220-c may be shorter compared to the sync / search period 230-b of the second implementation 220-b, while the power consumption of the sleep period 225-c may be less than the power consumption of the sleep period 225-a of the first implementation 220-a.

[0091] For the purposes of the present disclosure, the term “characterization” may be used to refer to processes and procedures that utilize offline knowledge to identify / quantity (e.g., “characterize”) clock frequency at a particular operating point and / or at a set of environmental characteristics. For instance, the clock error of the second clock 210-b may be “characterized” as a quadratic polynomial for different temperature values. Similarly, for the purposes of the present disclosure, the term “calibration” may be used to refer to processes for estimating clock frequency by comparing it with another frequency. For example, the second clock 210-b may be calibrated relative to the first clock 210-a.

[0092] Characterization and calibration of internal clocks 210 comes with various challenges. For example, the system counter 215 needs to be implemented as per result of characterization and calibration, and clock error changes as a function of temperature. That is, the second clock 210-b may exhibit a first error (relative to the first clock 210-a,and / or relative to a clock of the network) at a first temperature (Tx), and may exhibit a second error at a second temperature (T2)- As such, calibration and characterization techniques must be able to handle a wide temperature range. Further, calibration takes time and power, and the UE 115-a should not be required to perform unnecessary wakeups or extend active periods 235 to perform calibration procedures between the clocks 210.

[0093] Accordingly, aspects of the present disclosure are directed to techniques for determining system counter 215 increment values for lower fidelity clocks (e.g., second clock 210-b) based on thermal effects. In other words, aspects of the present disclosure are directed to clock error characterization and calibration techniques that may be used to improve the accuracy and reliability of the second clock 210-b. That is, techniques described herein may be used to bound and correct clock error of the second clock 210-b. In particular, techniques descried herein may enable the UE 115-a to maintain some LUT or other data object that stores relationships between temperatures and system counter 215 increment values for the second clock 210-b in order to reduce the frequency of clock calibrations performed by the UE 115-a for the second clock 210-b.

[0094] Aspects of the present disclosure used to bound and correct clock error of lower-fidelity clocks are further shown and described with reference to FIG. 3.

[0095] FIG. 3 shows an example of an internal clock configuration 300 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. In some examples, aspects of the internal clock configuration 300 may implement, or be implemented by, aspects of the wireless communications system 100, the wireless communications systems 200, or both. For example, the internal clock configuration 300 illustrates a configuration that may be implemented by the UE 115-a for incrementing a system counter 330 using one or more internal clocks, as shown and described in FIG. 2. In particular, the internal clock configuration 300 may be used to perform sleep clock calibration for the second clock 210-b shown and described in FIG. 2.

[0096] As shown in the internal clock configuration 300, a network entity (e.g., UE 115) may be configured with a system counter 330 that may be incremented by one ormore clocks (e.g., current clock). As described previously herein, a network entity (e.g., UE 115) may employ multiple different clocks for different purposes, where the system counter 330 of the respective network entity is driven by one clock at a time. As shown in FIG. 3, the clocks usable by the network entity may be numbered (e.g., Clock 0, Clock i, Clock N, etc.). The respective clocks need not be physically unique. In some cases, clock division may be used to create multiple logical clocks from the same clock circuit. For example, the network entity may include multiple clocks (e.g., Clock 0, Clock i, Clock N) that may be used to increment the system counter 330. For the purposes of illustration, the internal clock configuration 300 may be described in the context of a “current clock,” which may be referred to as Clock i.

[0097] In some cases, Clock 0 may be an example of a “fast clock” or “functional clock,” and may therefore be an example of the first clock 210-a illustrated in FIG. 2. That is, Clock 0 has the highest frequency fidelity (part-to-part variation and variation over operating temperature range). Similarly, the current clock, or Clock i, may be an example of a “sleep clock,” and may therefore be an example of the second clock 210-b illustrated in FIG. 2.

[0098] As noted previously herein, the error of Clock i may vary as a function of temperature (e.g., first error atsecond error at T2)- In some aspects, the ideal frequency of Clock i may be defined as£, where the operating frequency varies with temperature T as ftO"). In this regard, the frequency error of Clock i (e.g., current clock) may be defined as A / (- = ftO") — ft. The relative frequency error of Clock i may be defined where the relative frequency error may be modeled as apolynomial in temperature T. In such cases, the coefficients of the polynomial used to model the relative frequency error of Clock i may depend on the actual part(s) and components of the network entity and the respective clock.

[0099] In some aspects, the system counter 330 increment over time unit should be agnostic as to the clock used to drive the system counter 330. That is, in theory, the system counter 330 should be incremented by the same increment value every X period of time regardless of the clock being used to drive the system counter 330. However, because different clocks exhibit different errors (e.g., different clocks run at different rates), the respective clocks may utilize different increment values 320(JncrementValue). That is, each clock may utilize a different system counter increment value 320 per clock tick 325 to increment the system counter 330 (e.g., increment values 320-a, 320-b, 320-c, 320-d, 320-e, 320-f).

[0100] For example, if the system counter 330 is incremented by A per clock tick 325 when driven by Clock 0 at temperature T (e.g., IncrementValueciock 0(T) = zl), it should be incremented by fti(T) X A per clock tick 325 when driven by Clock i (e.g., Without anyloss of generality, A (e.g., increment value 320 of Clock 0) can be assumed to be 1. Then, / 3i(T) is the increment value 320 per clock tick 325 of Clock i at temperature T.

[0101] In such cases, the calibration of Clock i (e.g., calculation of increment value 320 for Clock i) may be preferred with respect to Clock 0 due to the fact that Clock 0 has the smallest frequency error (however, in theory, calibration of may be performed done between any two clocks). As such, for the purposes of the present disclosure, the clock used as the reference for calibrating Clock i (e.g., current clock) may be referred to as Clock 0 or the base clock.

[0102] In some aspects, a network entity (e.g., UE 115) may update the increment value 320 on every calibration instance (e.g., due to temperature change, periodic updates, etc.). In other words, referring to FIG. 3, a network entity may be configured with (or otherwise identify) system counter updates 305, where the network entity updates the increment value 320 for every system counter update 305. The system counter updates 305 may be identified or performed at regular or irregular intervals. For example, a network entity may be configured to identify / perform a system counter update 305 every X seconds. In other cases, a system counter update 305 may be triggered based on temperature changes experienced by the network entity, based on operating modes / states of the network entity, etc.

[0103] According to aspects of the present disclosure, a network entity (e.g., UE 115) may implement various options for updating the increment value 320 at every system counter update 305. Various options for clock-dependent system counter incrementing are summarized in Table 1 below:Table 1: Options for Clock-Dependent System Counter Increment

[0104] Option 1 in Table 1 above is an example of a conventional technique for implementing and calibrating a sleep clock at a network entity. In accordance with Option 1, the network entity may perform a full calibration of the sleep clock (e.g., Clock i) for each system counter update 305. That is, for each system counter update 305, the network entity may perform a full calibration where the network entity transitions to an active state, activates the modem, runs the sleep clock (Clock i) and the functional clock (Clock 0) to compare the number of clock cycles of Clock 0 and Clock i over a time period, determines the error of the sleep clock relative to the functionalclock, then determines the system counter increment value 320 for the sleep clock. In this regard, in accordance with Option 1, the network entity may calculate the system counter increment value 320 ( ?i(T)) for the sleep clock each time the sleep clock (Clock i) needs to be calibrated.

[0105] Conventional techniques for performing clock calibration in accordance with Option 1 suffer from several drawbacks. In particular, in accordance with Option 1, the network entity may have to “wake up” and transition to an active state for each system counter update 305 (e.g., activate the modem to perform the calibration each time the sleep clock is to be calibrated). This results in increased power consumption at the network entity. Further, performing a full calibration may not be necessary for each system counter update 305. For example, if the temperature of the network entity / sleep clock has not changed between system counter updates 305, the system counter increment value 320 may therefore not change. As such, performing sequential calibration procedures may be unnecessary, and lead to wasted energy resources.

[0106] Accordingly, aspects of the present disclosure are directed to techniques for updating the system counter increment value 320 in accordance with Options 2 and 3 in Table 1 above. Each of these Options will be discussed in turn.

[0107] In accordance with Option 2, a network entity may characterize the operating frequency of the sleep clock (current clock, Clock i) as a function of temperature ( i(T)). In this example, the increment values 320 ( ?j(T)) may be calculated based on fiiT , and the counter increment values 320 for Clock i may be saved in a LUT for a range of temperatures. For example, as shown in FIG. 3, the network entity may store and maintain a data object 315 (e.g., LUT) that includes relationships or associations between various temperatures of the network entity and corresponding increment values 320. In other words, the data object 315 (LUT) may indicate the system counter increment value 320 that the system counter 330 should be incremented by in accordance with Clock i at various temperatures. For instance, when running Clock i, the system counter 330 should be incremented according to a first increment value 320-a when the network entity is operating at or otherwise exposed to a first temperature 7 . Comparatively, when running Clock i, the system counter 330 shouldbe incremented according to a second increment value 320-b when the network entity is operating at or otherwise exposed to a second temperature T2.

[0108] Continuing with reference to Option 2, at each calibration instance (e.g., each system counter update 305 instance), the network entity may perform a temperature measurement 310 to sense the current temperature (TCurrent), then use Tcurrent to reference / query the data object 315 (LUT) and select the corresponding (and / or nearest) entry from the data object 315 corresponding to TCurrentas the increment value 320 for the system counter 330. For example, if TCurrent=T4, the network entity may select the fourth increment value 320-d from the data object 315, and may use the selected increment value 320-d to increment the system counter 330 in accordance with Clock i. In some cases, the network entity may store or otherwise maintain multiple different data objects 315 for different clocks (e.g., first LUT for Clock i, second LUT for Clock k, etc.

[0109] Reference will now be made to Option 3 in Table 1 above. As described previously herein with respect to Option 2, at each calibration instance (e.g., each system counter update 305 instance), the network entity may perform a temperature measurement 310 to sense the current temperature (TCurrent), then use TCurrentto reference / query the data object 315 (LUT). If TCurrentis included within the LUT range, then the network entity may select the corresponding and / or nearest entry from the LUT corresponding to TCurrentas the system counter increment value 320, as described for Option 2. Conversely, if TCurrentis not included within the LUT range, then the network entity may perform a calibration to calculate a counter increment value 320 ( ? (T)) for TCurrent(as in Option 1), add the new increment value 320 to the LUT, then use the newly calculated increment value 320 to increment the system counter 330.

[0110] For instance, in accordance with Option 3, the network entity may perform a temperature measurement 310 at a system counter update 305 instance to determine T' current- Inthis example, if TCurrent= T6, the network entity may identify that the current temperature of the network entity is outside of the temperature range of the data object 315 (LUT), as the data object 315 may only include system counter increment values for the temperature range T through T6. As such, the network entity may identify a LUT fail 345 based on upon TCurrent(e.g., T6) not being included in the LUT,and may perform a calibration procedure 350 to calibrate Clock i with Clock 0. That is, the network entity may transition to an active state, turn on the modem, run Clock i and Clock 0, compare the number of clock cycles of Clock i and Clock 0 over a time period, and determine a new increment value 320-f for the current temperature (e.g., TCurrent= T6). In other words, the network entity may perform a calibration procedure 350 to identify a new LUT entry 355 for TCurrent, where the new LUT entry 355 is a new system counter increment value 320-f for TCurrent= T6.[OHl] As compared to Option 1, Options 2 and 3 may reduce the quantity and / or frequency of calibration procedures that need to be performed to calibrate Clock i with Clock 0. For example, Option 2 may eliminate the need for the network entity to perform full calibration procedures for Clock i when the network entity is operating within the temperature range covered within the data object 315 (LUT). Moreover, in accordance with Option 3, the network entity may only be expected to perform a full calibration procedure 350 for each new operating temperature that the network entity experiences. In other words, in accordance with Option 3, once the network entity has performed a calibration procedure 350 for T6, the network entity may refrain from performing subsequent calibration procedures when the temperature of the network entity is at T6.

[0112] In some cases, the network entity may be configured to interpolate between entries of the data object 315 (LUT) to lower approximation error. For example, instead of using the nearest LUT entry (e.g., nearest system counter increment value 320) for a queried temperature, the network entity may be configured to linearly interpolate between the nearest two entries in the LUT (e.g., Piecewise Linear Approximation (PWLA) of the frequency vs temperature curve). Such interpolation may be performed in hardware or software. For instance, if TCurrentis between T2and T3, the network entity may interpolate between T2and T3and / or between the increment values 320-b, 320-c to determine the system counter increment value 320 that should be used to increment the system counter 330.

[0113] In additional or alternative implementations, the network entity may utilize information associated with the functional form of ftO") for curve fitting. For example, if it is known that the frequency for a particular family of clocks can be modeled as aquadratic with respect to temperature T, a small number of calibration values (e.g., small quantity of calibration procedures performed at different temperatures) may be enough to find out the exact coefficients of the quadratic and populate the LUT. For instance, a manufacturer of Clock i may provide some polynomial function that models the operating frequency of the clock at T as ftO"). In such cases, the network entity may be able to perform a set of calibration procedures for Clock i at different temperatures to calculate the coefficients of the manufacturer-provided polynomial function, and thereby populate the LUT using the polynomial function and corresponding coefficients.

[0114] In yet other implementations, a combination of Option 2 and Option 3 from Table 1 above may be used to populate a LUT. For example, Option 2 may be used to determine / populate entries of the LUT for a first temperature range, and Option 3 may be used to populate entries of the LUT for a different temperature range. For instance, the network entity may initialize the data object 315 (LUT) with offline values according to Option 2 (e.g., LUT or polynomial function provided by manufacturer), and may gradually replace some / all LUT entries using online calibration values as new operating temperatures are encountered. Additionally, or alternatively, the network entity may initially replace offline values of the LUT one by one, then, once there is enough data to fit the curve / polynomial function provided by the manufacturer, update the entire LUT.

[0115] In some aspects, the network entity may formulate, maintain, or otherwise “clean up” the LUT to maintain low min / max approximation error. Min / max error in PWLA is a strong function of the length of linear segments. As such, as the network entity encounters new operating temperatures, the network entity may maintain spacing between LUT entries in order to help keep worst case approximation error low (particularly in the case of a small-sized LUT). In other words, the network entity may formulate the LUT to maintain approximately equal spacing between LUT entries such that one temperature range is not over-sampled.

[0116] The network entity may be configured to re-populate the data object 315 (LUT) if high residual error is observed. High residual error may be a sign of modeling error or change in clock characteristics due to ageing. In other words, the networkentity may be configured to re-populate or replace LUT entries if the network entity observes that the increment values 320 stored in the LUT exhibit some threshold amount of error. For example, the network entity may be configured to periodically perform calibration procedures 350 for temperatures that are stored in the LUT. As such, the network entity may perform a calibration procedure 350 for T3(even though T3is already included in the LUT) to determine a LUT entry 355 for T3. In this example, if a difference between the LUT entry 355 determined from the calibration procedure 350 (e.g., newly-calculated increment value 320) and the currently-stored system counter increment value 320-c is greater than a threshold amount, the network entity may replace the currently-stored system counter increment value 320-c with the new LUT entry 355 for T3.

[0117] In additional or alternative implementations, the network entity may be placed on a separate clock and power domain, and can be used to update system counter even when the rest of the device is in a low power state.

[0118] A comprehensive example of Options 2 and 3 may be illustrative. In accordance with Options 2 and 3, the network entity may initialize a data object 315 (LUT). As shown in FIG. 3, each row of the LUE may include a temperature and corresponding increment value 320. The network entity may initialize a single LUT for multiple clocks, or may initialize multiple LUTs for respective clocks. Rows / entries of the LUT may be empty or incomplete. Continuing with this example, for each Clock i frequency correction (e.g., each system counter update 305 instance), the ne may perform a temperature sensing operation (e.g., temperature measurement 310) to determine the current temperature TCurrent. Subsequently, the network entity may determine if the LUT value / entry for TCurrentis usable, or whether the LUT entry needs to be updated (e.g., due to ageing, modeling error, etc.). If the LUT value / entry is not usable, the network entity may perform a calibration procedure 350 of Clock i with respect to Clock 0, and may use the newly-calculated calibration value (e.g., LUT entry 355) as the increment value 320. The network entity may further update the LUT entry for (TCurrent, Clock i) by storing the new LUT entry 355 (e.g., newly-calculated increment value 320) in the LUT. Otherwise, if the network entity queries the LUT with TCurrentand the LUT returns a valid value (e.g., valid increment value 320), thenthe network entity may use the returned value as the increment value 320 for incrementing the system counter 330.

[0119] In the context of characterizing base clock error, since all clocks are calibrated with respect to a base clock (Clock 0), the deviation from ideal behavior of Clock 0 will have an impact on the overall accuracy of the system. Deviation from ideal behavior due to temperature (A / o0) may be handled by calibrating the respective clock with an outside reference, such as a synchronization signal received from the network, modeling f0(T) explicitly, and combining it with temperature sensing to correct the error. Another source of deviation from ideal behavior is the variation in operating temperature of clocks between calibration instances.

[0120] For example, suppose the system counter 330 is updated at times t1(t2. The temperatures sensed at these instances may be TltT2respectively. Between times and t2, the system (e.g., UE 115-a) may operate based on the assumption that the temperature was constant at T . In this example, let the temperature at time t,< t < t2be T(t). The system may work under the assumption that Clock i was at frequency ft T- throughout the whole period. However, the actual average operating frequency may be the average of i(T(t)) over the time interval. This introduces an average frequency error of dL= This term may provide anestimate of how frequently the clocks must be calibrated. Using a model of T(t) based on the device in use, the time t2(e.g., the time for the next calibration instance) may be selected to ensure that the error due to temperature drift lies under some error threshold.

[0121] Accordingly, some aspects of the present disclosure are directed to techniques for characterizing base clock error. In accordance with a first implementation for characterizing base clock error, if the UE 115-a expects the operating temperature to change significantly during a sleep period (for example, if the UE 115-a has heated up considerably during a connective / active state), the UE 115-a may use pessimistic or even “worst case” estimates for sleep clock error for the next wakeup. Conversely, if the UE 115-a expects the operating temperature to remain within some permissible temperature band during the sleep period, the UE 115-a may use the instantaneous sleep clock error estimates, where the temperature band and clock error estimates may be calculated as described via the equation above. In accordancewith a second implementation for characterizing base clock error, the UE 115-a may use the exact thermal model (as described in the equation above) to bound ppm drift for the sleep clock.

[0122] FIG. 4 illustrates examples of clock error graphs 400-a, 400-b that support techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. In some examples, aspects of the clock error graphs 400-a, 400-b may implement, or be implemented by, aspects of the wireless communications system 100, the wireless communications system 200, the internal clock configuration 300, or any combination thereof.

[0123] The clock error graphs 400-a, 400-b illustrate errors of a sleep clock (e.g., second clock 210-b) with respect to an ideal frequency for a sleep clock crystal. As described previously herein, the relative frequency error of a clock (e.g., second clock 210-b) may be defined0.036 ±.006 ppm / °C2. That is, the error of the second clock 210-b may be characterized as a function of temperature (T) and one or more calibration / error coefficients (fc).

[0124] In particular, the first clock error graph 400-a illustrates sleep clock error of the second clock 210-b (in ppm along the y-axis) vs. temperature for different temperature (To) and k values (along the x-axis). That is, the curve 405-a illustrates the average error (in ppm) of the sleep clock as a function of temperature (T), where the curve 405-a may be associated with some range 410-a that is bounded by error curves 415-a, 420-a. That is, the actual error of the sleep clock (as illustrated by curve 405-a) may fall somewhere within the range 410-a between error curves 415-a, 420-a.

[0125] Comparatively, the second clock error graph 400-b illustrates minimum and maximum deviation of the second clock 210-b (in ppm along the y-axis) from average temperature (To) and k values (along the x-axis). That is, the curve 405-b illustrates the average error (in ppm) of the sleep clock as a function of temperature (T), where the curve 405-b may be associated with some range 410-b that is bounded by a maximum error curve 425-a and a minimum error curve 425-b. That is, the actual error of the sleep clock (as illustrate by curve 405-b) may fall somewhere within the range 410-a between error curves 425-a, 425-b.

[0126] In some cases, the curves 405-a, 405-b describing the error of the sleep clock may be referred to as “clock error functions.” In some cases, the clock error functions (e.g., curves 405-a, 405-b) and / or the calibration coefficient of the clock error functions (e.g., coefficient fc) may be determined or otherwise provided by a manufacturer of the sleep clock. In other words, the curves 405-a, 405-b may be provided in the crystal data sheet provided by the manufacturer. That is, the clock error functions (e.g., curves 405-a, 405-b), calibration coefficients, ranges 410-a, 410-b, and / or error curves 420, 425 illustrated in FIG. 4 may be provided by the clock manufacturer to enable the UE 115-a to more accurately determine the actual error (in ppm) of the sleep clock at some operating temperature.

[0127] In some aspects, the UE 115-a may operate within the band of uncertainty (e.g., within the ranges 410-a, 410-b) due to part-to-part variation within the UE 115-a. When operating in accordance with Option 1 in Table 1 above (e.g., online calibration), the UE 115-a may know or otherwise determine which exact curve within the respective range 410 it is operating on by performing online calibration procedures. In some cases, to determine where the actual curve 405 for the sleep clock is within the respective range 410, the UE 115-a may operate at a constant temperature where most of the parts of the UE 115-a have a high ppm error compared to the average part.

[0128] In some cases, the UE 115-a may be configured to modify, “tune,” or otherwise adjust the curves 405 within the respective ranges 410 as the UE 115-a performs calibration procedures and / or adds entries to the data object 315. For example, the UE 115-b may determine the initial curves 405 for the sleep clock 210-b based on information from the manufacturer. As the UE 115-a performs calibration procedures at different temperatures, the UE 115-a may determine corresponding errors of the second clock 210-b at the respective temperatures, and may therefore “fine tune” the curves 405 within the provided ranges 410 so that the curves 405 more accurately describe / characterize the error of the second clock 210-b across the operating temperature range.

[0129] FIG. 5 shows an example of a process flow 500 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. In some examples, aspects of the process flow 500 may implement, or be implemented by, aspects of thewireless communications system 100, the wireless communications system 200, the internal clock configuration 300, the clock error graphs 400-a, 400-b, or any combination thereof. For example, the process flow 500 illustrates techniques for bounding and correcting block frequency error, as described previously herein.

[0130] In some examples, the operations illustrated in process flow 500 may be performed by hardware (e.g., including circuitry, processing blocks, logic components, and other components), code (e.g., software or firmware) executed by a processor, or any combination thereof. Alternative examples of the following may be implemented, where some steps are performed in a different order than described or are not performed at all. In some cases, steps may include additional features not mentioned below, or further steps may be added.

[0131] The process flow 500 includes a UE 115-b and a network entity 105-b, which may be examples of wireless devices as described herein. For example, the UE 115-b and the network entity 105-b illustrated in FIG. 5 may include examples of the UE 115-a and the network entity 105-a, respectively, as illustrated in FIG. 2. In this regard, the UE 115-b may be configured to increment a system counter with a first clock (e.g., fast clock, high-fidelity clock) when the UE 115-b is in an active state (and while the first clock is running), and may be configured to increment the system counter with a second clock (e.g., slow clock, low-fidelity clock) when the UE 115-b is in an inactive state (and while the second clock is running). In some aspects, a modem, processing components, or both, of the UE 115-b may be activated while the UE 115-a is in the active state, and may be deactivated while the UE 115-b is in the inactive state.

[0132] As noted previously herein, in some cases, the first clock and the second clock may or may not be physically unique. Moreover, in some aspects, the first clock and the second clock may include logical clocks that are generated using a same clock circuit.

[0133] In some aspects, as described previously herein, an error of the second clock may be based on an operational temperature of the UE 115-b (e.g., first clock error at and a second clock error at T2)- In other words, the second clock may be associated with different increment values for the system counter at different temperatures (e.g., first system counter increment value at second system counter increment value atT2). AS such, the second clock may be associated with a data object (e.g., LUT) that maps temperature measurements (e.g., temperature measurement information) to respective increment values that are to be used to increment the system counter in accordance with the second clock. In some aspects, the data object (e.g., LUT) may be generated using a clock error function and / or calibration coefficients associated with a clock error between the second clock and the first clock, where the clock error function defines a set of errors associated with the second clock across some operating temperature range of the UE 115-b. In some aspects, the calibration coefficients, the clock error function, or both, may be defined or otherwise provided by a manufacturer of the second clock.

[0134] At 505, the UE 115-b may communicate with the network entity 105-b while operating in the active state. As noted previously herein, the UE 115-b may increment the system counter at the UE 115-b in accordance with the first clock (e.g., fast clock, high-fidelity clock) while operating in the active state. That is, the first clock may be running while the UE 115-b is operating in the active state.

[0135] At 510, the UE 115-b may transition from the active state to the inactive state. The UE 115-b may increment the system counter at the UE 115-b in accordance with the second clock (e.g., slow clock, low-fidelity clock) while operating in the inactive state. That is, the second clock may be running while the UE 115-b is operating in the inactive state. In some aspects, the UE 115-b may transition to the inactive state to reduce power consumption and / or preserve battery life of the UE 115-b. As such, the second clock may be associated with a lower power consumption (but lower accuracy / fidelity) as compared to the first clock.

[0136] At 515, the UE 115-b may generate temperature measurement information while the UE 115-b is in the inactive state. For example, the UE 115-b may perform temperature measurements while in the inactive state, where the temperature measurement information is based on (e.g., includes) the temperature measurements. The temperature measurement information may be based on the operating temperature of the UE 115-b, the ambient temperature of the environment / surroundings of the UE 115-b, or both.

[0137] At 520, the UE 115-b may index a data object (e.g., LUT) associated with the second clock using the temperature measurement information to determine whether the data object includes a valid entry for the temperature measurement information (where a valid entry includes an increment value that will be used to increment the system counter in accordance with the second clock). In other words, the UE 115-b may determine whether the data object includes an increment value that corresponds to the temperature measurement information identified / generated at 515.

[0138] As noted previously herein, in some cases, the data object may be generated such that entries of the data object (e.g., entries that define mappings between increment values and corresponding temperature measurement information) are approximately evenly spaced across an operating temperature range of the data object. In other cases, entries of the data object may exhibit different spacings across different temperature ranges. For instance, entries may be more closely spaced across a first temperature range (e.g., common / typical temperature range of the UE 115-b), and may be more sparsely spaced across a second temperature range (e.g., uncommon / atypical temperature range of the UE 115 -a).

[0139] In some cases, the UE 115-b may determine that the data object includes a “valid” entry even in cases where the data object does not include an entry that exactly matches the temperature measurement information. In particular, the UE 115-b may be configured to interpolate between entries of the data object (e.g., interpolate between two temperature measurement information and / or between two increment values) to determine an increment value that corresponds to the temperature measurement information determined at 515. In some aspects, the UE 115-b may be configured to interpolate between entries of the data object to identify a “valid” entry in cases where the data object includes one or more entries with temperature measurement information that are within some threshold range of the temperature measurement information determined at 515.

[0140] If the data object includes a valid entry (e.g., valid increment value) for the temperature measurement information (e.g., step 520=YES), then the process flow 500 may proceed directly to step 535. Conversely, if the data object does not include a valid entry (e.g., valid increment value) for the temperature measurement information (e.g., step 520=NO), then the process flow 500 may proceed to step 525.

[0141] At 525, the UE 115-b may perform a calibration procedure to determine an increment value that will be used to increment the system counter in accordance with the second clock. As described with reference to FIG. 3, the UE 115-b may perform the calibration procedure by transitioning back to the active state and simultaneously running the first clock and the second clock to determine an error / difference between the first clock and the second clock for the respective temperature measurement information. In such cases, the UE 115-b may determine an increment value for the respective temperature measurement information based on the error / difference between the first clock and the second clock.

[0142] At 530, the UE 115-b may add a new entry to the data object for the temperature measurement information based on the calibration procedure performed at 525. In other words, the UE 115-b may add a new entry to the LUT that maps the temperature measurement information determined at step 515 to the corresponding increment value that is determined via the calibration procedure at 525. In this regard, in cases where the UE 115-b identifies the same temperature measurement information in the future, the UE 115-b may be able to utilize the newly-added entry to identify the corresponding increment value for incrementing the system counter. As such, by adding the new entry to the LUT at 530, techniques described herein may enable the UE 115-b to refrain from performing calibration procedures in the future for the respective temperature measurement information.

[0143] At 535, the UE 115-b may determine an increment value that will be used to increment the system counter in accordance with the second clock while the UE 115-b is in the inactive state. In particular, in cases where the data object includes a valid entry for the temperature measurement information (e.g., step 520=YES), then the UE 115-b may utilize the increment value of the valid entry that corresponds to the temperature measurement information determined at 515. Conversely, in cases where the data object does not include a valid entry for the temperature measurement information (e.g., step 520=NO), then the UE 115-b may utilize the increment value that was determined based on the calibration procedure at 525 (and that was added to the data object at 530).

[0144] At 540, the UE 115-b may increment the system counter using the increment value determined at 540 while the UE 115-b is in the inactive state and while the secondclock is running. In some aspects, steps 515 through 540 of the process flow 500 may be performed any number of times at regular or irregular intervals while the UE 115-b is in the inactive state in order to increment the system counter in accordance with the second clock.

[0145] At 545, the UE 115-b may transition from the inactive state to the active state. The UE 115-b may transition to the active state in order to perform communications with the network entity 105-b and / or other wireless devices.Moreover, the UE 115-b may transition to the active state based on incrementing the system counter at 540. In other words, the UE 115-b may continue to increment the system counter in accordance with the second clock while in the inactive state, where incrementing the system counter may be used to determine when the UE 115-b is to transition back to the active state.

[0146] At 550, the UE 115-b may monitor for a reference signal after transitioning to the active state. The UE 115-b may monitor for the reference signal(s) at 550 based on incrementing the system counter at 540, transitioning to the active state at 545, or both.

[0147] At 555, the UE 115-b may communicate with the network entity 105-b while in the active state. The UE 115-b may monitor for the reference signal(s) at 550 based on incrementing the system counter at 540, transitioning to the active state at 545, monitoring for the reference signals at 550, or any combination thereof.

[0148] FIG. 6 shows a block diagram 600 of a device 605 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. The device 605 may be an example of aspects of a UE 115 as described herein. The device 605 may include a receiver 610, a transmitter 615, and a communications manager 620. The device 605, or one or more components of the device 605 (e.g., the receiver 610, the transmitter 615, the communications manager 620), may include at least one processor, which may be coupled with at least one memory, to, individually or collectively, support or enable the described techniques. Each of these components may be in communication with one another (e.g., via one or more buses).

[0149] The receiver 610 may provide a means for receiving information such as packets, user data, control information, or any combination thereof associated with various information channels (e.g., control channels, data channels, information channels related to bounding and correcting clock frequency error due to thermal and device effects). Information may be passed on to other components of the device 605. The receiver 610 may utilize a single antenna or a set of multiple antennas.

[0150] The transmitter 615 may provide a means for transmitting signals generated by other components of the device 605. For example, the transmitter 615 may transmit information such as packets, user data, control information, or any combination thereof associated with various information channels (e.g., control channels, data channels, information channels related to bounding and correcting clock frequency error due to thermal and device effects). In some examples, the transmitter 615 may be co-located with a receiver 610 in a transceiver module. The transmitter 615 may utilize a single antenna or a set of multiple antennas.

[0151] The communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be examples of means for performing various aspects of bounding and correcting clock frequency error due to thermal and device effects as described herein. For example, the communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be capable of performing one or more of the functions described herein.

[0152] In some examples, the communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be implemented in hardware (e.g., in communications management circuitry). The hardware may include at least one of a processor, a digital signal processor (DSP), a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a microcontroller, discrete gate or transistor logic, discrete hardware components, or any combination thereof configured as or otherwise supporting, individually or collectively, a means for performing the functions described in the present disclosure. In some examples, at least one processor and at least one memory coupled with the at least one processor may be configured to perform one or more of the functions described herein (e.g., by one or more processors, individually or collectively, executing instructions stored in the at least one memory).

[0153] Additionally, or alternatively, the communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be implemented in code (e.g., as communications management software or firmware) executed by at least one processor (e.g., referred to as a processor-executable code). If implemented in code executed by at least one processor, the functions of the communications manager 620, the receiver 610, the transmitter 615, or various combinations or components thereof may be performed by a general-purpose processor, a DSP, a CPU, an ASIC, an FPGA, a microcontroller, or any combination of these or other programmable logic devices (e.g., configured as or otherwise supporting, individually or collectively, a means for performing the functions described in the present disclosure).

[0154] In some examples, the communications manager 620 may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the receiver 610, the transmitter 615, or both. For example, the communications manager 620 may receive information from the receiver 610, send information to the transmitter 615, or be integrated in combination with the receiver 610, the transmitter 615, or both to obtain information, output information, or perform various other operations as described herein.

[0155] The communications manager 620 may support wireless communication in accordance with examples as disclosed herein. For example, the communications manager 620 is capable of, configured to, or operable to support a means for generating temperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running. The communications manager 620 is capable of, configured to, or operable to support a means for determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment value of a set ofmultiple increment values to respective temperature measurement information. The communications manager 620 is capable of, configured to, or operable to support a means for incrementing, while the network entity being in the inactive state and while the second clock is running, the system counter using the increment value. The communications manager 620 is capable of, configured to, or operable to support a means for monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter.

[0156] By including or configuring the communications manager 620 in accordance with examples as described herein, the device 605 (e.g., at least one processor controlling or otherwise coupled with the receiver 610, the transmitter 615, the communications manager 620, or a combination thereof) may support techniques that enable network entities (e.g., UEs 115) to maintain synchronization with the network using lower-fidelity clocks. As such, techniques described herein may enable network entities to remain in a “sleep state” (e.g., low-power state, inactive state) for longer durations of time, while maintaining a high degree of synchronization between the network and the system counter of the network entity. Therefore, techniques described herein may improve power saving capabilities of network entities, and may enable the network entities to quickly synchronize with the network to perform communications upon waking up from a sleep state.

[0157] FIG. 7 shows a block diagram 700 of a device 705 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. The device 705 may be an example of aspects of a device 605 or a UE 115 as described herein. The device 705 may include a receiver 710, a transmitter 715, and a communications manager 720. The device 705, or one or more components of the device 705 (e.g., the receiver 710, the transmitter 715, the communications manager 720), may include at least one processor, which may be coupled with at least one memory, to support the described techniques. Each of these components may be in communication with one another (e.g., via one or more buses).

[0158] The receiver 710 may provide a means for receiving information such as packets, user data, control information, or any combination thereof associated with various information channels (e.g., control channels, data channels, informationchannels related to bounding and correcting clock frequency error due to thermal and device effects). Information may be passed on to other components of the device 705. The receiver 710 may utilize a single antenna or a set of multiple antennas.

[0159] The transmitter 715 may provide a means for transmitting signals generated by other components of the device 705. For example, the transmitter 715 may transmit information such as packets, user data, control information, or any combination thereof associated with various information channels (e.g., control channels, data channels, information channels related to bounding and correcting clock frequency error due to thermal and device effects). In some examples, the transmitter 715 may be co-located with a receiver 710 in a transceiver module. The transmitter 715 may utilize a single antenna or a set of multiple antennas.

[0160] The device 705, or various components thereof, may be an example of means for performing various aspects of bounding and correcting clock frequency error due to thermal and device effects as described herein. For example, the communications manager 720 may include a temperature measurement manager 725, a system counter manager 730, a reference signal manager 735, or any combination thereof. The communications manager 720 may be an example of aspects of a communications manager 620 as described herein. In some examples, the communications manager 720, or various components thereof, may be configured to perform various operations (e.g., receiving, obtaining, monitoring, outputting, transmitting) using or otherwise in cooperation with the receiver 710, the transmitter 715, or both. For example, the communications manager 720 may receive information from the receiver 710, send information to the transmitter 715, or be integrated in combination with the receiver 710, the transmitter 715, or both to obtain information, output information, or perform various other operations as described herein.

[0161] The communications manager 720 may support wireless communication in accordance with examples as disclosed herein. The temperature measurement manager 725 is capable of, configured to, or operable to support a means for generating temperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing systemis configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running. The system counter manager 730 is capable of, configured to, or operable to support a means for determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment value of a set of multiple increment values to respective temperature measurement information. The system counter manager 730 is capable of, configured to, or operable to support a means for incrementing, while the network entity is in the inactive state and while the second clock is running, the system counter using the increment value. The reference signal manager 735 is capable of, configured to, or operable to support a means for monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter.

[0162] FIG. 8 shows a block diagram 800 of a communications manager 820 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. The communications manager 820 may be an example of aspects of a communications manager 620, a communications manager 720, or both, as described herein. The communications manager 820, or various components thereof, may be an example of means for performing various aspects of bounding and correcting clock frequency error due to thermal and device effects as described herein. For example, the communications manager 820 may include a temperature measurement manager 825, a system counter manager 830, a reference signal manager 835, a calibration procedure manager 840, an operational state manager 845, a data object manager 850, a clock error manager 855, or any combination thereof. Each of these components, or components or subcomponents thereof (e.g., one or more processors, one or more memories), may communicate, directly or indirectly, with one another (e.g., via one or more buses).

[0163] The communications manager 820 may support wireless communication in accordance with examples as disclosed herein. The temperature measurement manager 825 is capable of, configured to, or operable to support a means for generatingtemperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running. The system counter manager 830 is capable of, configured to, or operable to support a means for determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment value of a set of multiple increment values to respective temperature measurement information. In some examples, the system counter manager 830 is capable of, configured to, or operable to support a means for incrementing, while the network entity is in the inactive state and while the second clock is running, the system counter using the increment value. The reference signal manager 835 is capable of, configured to, or operable to support a means for monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter.

[0164] In some examples, the processing system is configured to perform the calibration procedure based on an absence of the temperature measurement information in the data object, and the calibration procedure manager 840 is capable of, configured to, or operable to support a means for simultaneously running the first clock and the second clock. In some examples, the processing system is configured to perform the calibration procedure based on an absence of the temperature measurement information in the data object, and the calibration procedure manager 840 is capable of, configured to, or operable to support a means for determining a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, where the increment value is based on the difference.

[0165] In some examples, adding the increment value to the data object based on performance of the calibration procedure and based on the absence of the temperature measurement information in the data object, where, to increment the system counter, theprocessing system is configured to increment the system counter based on the increment value being added to the data object.

[0166] In some examples, to increment the system counter, the processing system is configured to increment the system counter in accordance with the first clock while the first clock is running during a first time interval that the network entity is in the active state. In some examples, the processing system is configured to transition from the active state to the inactive state, where the inactive state is associated with a lower power consumption relative to the active state, where, to generate the temperature measurement information, the processing system is configured to generate the temperature measurement information during a second time interval that the network entity is in the inactive state, and where, to increment the system counter, the processing system is configured to increment the system counter in accordance with the second clock while the second clock is running based on the transition from the active state to the inactive state.

[0167] In some examples, to support determining the increment value, the temperature measurement manager 825 is capable of, configured to, or operable to support a means for determining that the temperature measurement information is between first temperature measurement information and second temperature measurement information included within the data object, where the first temperature measurement information and the second temperature measurement information are associated with a first increment value and a second increment value, respectively, where the increment value is based on an interpolation between the first temperature measurement information and the second temperature measurement information, and where the increment value is based on an interpolation between the first increment value and second increment value.

[0168] In some examples, the calibration procedure manager 840 is capable of, configured to, or operable to support a means for determining, for an operating temperature range of the network entity, one or more calibration coefficients associated with a clock error between the second clock and the first clock. In some examples, the data object manager 850 is capable of, configured to, or operable to support a means for generating the data object in accordance with a clock error function and the one or more calibration coefficients, where the clock error function defines a set of multiple errorsassociated with the second clock across at least a subset of the operating temperature range.

[0169] In some examples, the temperature measurement information of the data object spans a set of multiple temperature measurements. In some examples, the set of multiple temperature measurements stored in the data object are approximately evenly spaced across an operating temperature range of the network entity.

[0170] In some examples, the temperature measurement information of the data object spans a set of multiple temperature measurements including a first subset of temperature measurements spanning a first temperature range and a second subset of temperature measurements spanning a second temperature range. In some examples, the first subset of temperature measurements are associated with a first measurement density based on a first frequency error associated with the second clock across the first temperature range. In some examples, the second subset of temperature measurements are associated with a second measurement density based on a second frequency error associated with the second clock across the second temperature range.

[0171] In some examples, to support performing the calibration procedure, the calibration procedure manager 840 is capable of, configured to, or operable to support a means for simultaneously running the first clock and the second clock. In some examples, to support performing the calibration procedure, the calibration procedure manager 840 is capable of, configured to, or operable to support a means for determining a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, where the increment value is based on the difference. In some examples, to support performing the calibration procedure, the data object manager 850 is capable of, configured to, or operable to support a means for replacing a previous increment value of the set of multiple increment values of the data object corresponding to the temperature measurement information based on a difference between the previous increment value and the increment value satisfying a threshold difference.

[0172] In some examples, the first clock associated with the active state is associated with a first fidelity or accuracy metric and a first power consumption metric. In some examples, the second clock associated with the inactive state is associated witha second fidelity or accuracy metric and a second power consumption metric. In some examples, the second fidelity or accuracy metric and the second power consumption metric are lower than the first fidelity or accuracy metric and the first power consumption metric, respectively.

[0173] In some examples, the first clock has a first fidelity and the second clock has a second fidelity. In some examples, the first fidelity is different from the second fidelity.

[0174] In some examples, the second fidelity is less than the first fidelity.

[0175] In some examples, the temperature measurement information is based on an ambient temperature of an environment of the network entity and heat generated by one or more operations performed by the network entity.

[0176] In some examples, the clock error manager 855 is capable of, configured to, or operable to support a means for estimating a clock error associated with the second clock throughout a time interval that the network entity was in the inactive state based on an estimated temperature change of the network entity during the time interval.

[0177] In some examples, a modem, one or more other processing components, or both, of the network entity are activated while the network entity is in the active state, and are deactivated while the network entity is in the inactive state.

[0178] In some examples, to support determining the increment value, the data object manager 850 is capable of, configured to, or operable to support a means for indexing the data object using the temperature measurement information.

[0179] In some examples, the data object includes a LUT.

[0180] In some examples, the first clock and the second clock are not physically unique.

[0181] In some examples, the first clock and the second clock include logical clocks that are generated using a same clock circuit.

[0182] In some examples, the data object does not map the temperature measurement information to any increment value of the set of multiple increment values.

[0183] In some examples, the data object maps the temperature measurement information to a respective increment value of the set of multiple increment values.

[0184] FIG. 9 shows a diagram of a system 900 including a device 905 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. The device 905 may be an example of or include components of a device 605, a device 705, or a UE 115 as described herein. The device 905 may communicate (e.g., wirelessly) with one or more other devices (e.g., network entities 105, UEs 115, or a combination thereof). The device 905 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, such as a communications manager 920, an input / output (I / O) controller, such as an I / O controller 910, a transceiver 915, one or more antennas 925, at least one memory 930, code 935, and at least one processor 940. These components may be in electronic communication or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, electrically) via one or more buses (e.g., a bus 945).

[0185] The I / O controller 910 may manage input and output signals for the device 905. The I / O controller 910 may also manage peripherals not integrated into the device 905. In some cases, the I / O controller 910 may represent a physical connection or port to an external peripheral. In some cases, the I / O controller 910 may utilize an operating system such as iOS®, ANDROID®, MS-DOS®, MS-WINDOWS®, OS / 2®, UNIX®, LINUX®, or another operating system. Additionally, or alternatively, the I / O controller 910 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, the I / O controller 910 may be implemented as part of one or more processors, such as the at least one processor 940. In some cases, a user may interact with the device 905 via the I / O controller 910 or via hardware components controlled by the I / O controller 910.

[0186] In some cases, the device 905 may include a single antenna. However, in some other cases, the device 905 may have more than one antenna, which may be capable of concurrently transmitting or receiving multiple wireless transmissions. The transceiver 915 may communicate bi-directionally via the one or more antennas 925 using wired or wireless links as described herein. For example, the transceiver 915 mayrepresent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver 915 may also include a modem to modulate the packets, to provide the modulated packets to one or more antennas 925 for transmission, and to demodulate packets received from the one or more antennas 925. The transceiver 915, or the transceiver 915 and one or more antennas 925, may be an example of a transmitter 615, a transmitter 715, a receiver 610, a receiver 710, or any combination thereof or component thereof, as described herein.

[0187] The at least one memory 930 may include random access memory (RAM) and read-only memory (ROM). The at least one memory 930 may store computer- readable, computer-executable, or processor-executable code, such as the code 935. The code 935 may include instructions that, when executed by the at least one processor 940, cause the device 905 to perform various functions described herein. The code 935 may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some cases, the code 935 may not be directly executable by the at least one processor 940 but may cause a computer (e.g., when compiled and executed) to perform functions described herein. In some cases, the at least one memory 930 may include, among other things, a basic I / O system (BIOS) which may control basic hardware or software operation such as the interaction with peripheral components or devices.

[0188] The at least one processor 940 may include one or more intelligent hardware devices (e.g., one or more general-purpose processors, one or more DSPs, one or more CPUs, one or more graphics processing units (GPUs), one or more neural processing units (NPUs) (also referred to as neural network processors or deep learning processors (DLPs)), one or more microcontrollers, one or more ASICs, one or more FPGAs, one or more programmable logic devices, discrete gate or transistor logic, one or more discrete hardware components, or any combination thereof). In some cases, the at least one processor 940 may be configured to operate a memory array using a memory controller. In some other cases, a memory controller may be integrated into the at least one processor 940. The at least one processor 940 may be configured to execute computer- readable instructions stored in a memory (e.g., the at least one memory 930) to cause the device 905 to perform various functions (e.g., functions or tasks supporting bounding and correcting clock frequency error due to thermal and device effects). For example,the device 905 or a component of the device 905 may include at least one processor 940 and at least one memory 930 coupled with or to the at least one processor 940, the at least one processor 940 and the at least one memory 930 configured to perform various functions described herein.

[0189] In some examples, the at least one processor 940 may include multiple processors and the at least one memory 930 may include multiple memories. One or more of the multiple processors may be coupled with one or more of the multiple memories, which may, individually or collectively, be configured to perform various functions described herein. In some examples, the at least one processor 940 may be a component of a processing system, which may refer to a system (such as a series) of machines, circuitry (including, for example, one or both of processor circuitry (which may include the at least one processor 940) and memory circuitry (which may include the at least one memory 930)), or components, that receives or obtains inputs and processes the inputs to produce, generate, or obtain a set of outputs. The processing system may be configured to perform one or more of the functions described herein. For example, the at least one processor 940 or a processing system including the at least one processor 940 may be configured to, configurable to, or operable to cause the device 905 to perform one or more of the functions described herein. Further, as described herein, being “configured to,” being “configurable to,” and being “operable to” may be used interchangeably and may be associated with a capability, when executing code 935 (e.g., processor-executable code) stored in the at least one memory 930 or otherwise, to perform one or more of the functions described herein.

[0190] The communications manager 920 may support wireless communication in accordance with examples as disclosed herein. For example, the communications manager 920 is capable of, configured to, or operable to support a means for generating temperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running. The communications manager 920 is capable of, configured to, or operable to support ameans for determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment value of a set of multiple increment values to respective temperature measurement information. The communications manager 920 is capable of, configured to, or operable to support a means for incrementing, while the network entity being in the inactive state and while the second clock is running, the system counter using the increment value. The communications manager 920 is capable of, configured to, or operable to support a means for monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter.

[0191] By including or configuring the communications manager 920 in accordance with examples as described herein, the device 905 may support techniques that enable network entities (e.g., UEs 115) to maintain synchronization with the network using lower-fidelity clocks. As such, techniques described herein may enable network entities to remain in a “sleep state” (e.g., low-power state, inactive state) for longer durations of time, while maintaining a high degree of synchronization between the network and the system counter of the network entity. Therefore, techniques described herein may improve power saving capabilities of network entities, and may enable the network entities to quickly synchronize with the network to perform communications upon waking up from a sleep state.

[0192] In some examples, the communications manager 920 may be configured to perform various operations (e.g., receiving, monitoring, transmitting) using or otherwise in cooperation with the transceiver 915, the one or more antennas 925, or any combination thereof. Although the communications manager 920 is illustrated as a separate component, in some examples, one or more functions described with reference to the communications manager 920 may be supported by or performed by the at least one processor 940, the at least one memory 930, the code 935, or any combination thereof. For example, the code 935 may include instructions executable by the at least one processor 940 to cause the device 905 to perform various aspects of bounding and correcting clock frequency error due to thermal and device effects as described herein,or the at least one processor 940 and the at least one memory 930 may be otherwise configured to, individually or collectively, perform or support such operations.

[0193] FIG. 10 shows a flowchart illustrating a method 1000 that supports techniques for bounding and correcting clock frequency error due to thermal and device effects in accordance with one or more aspects of the present disclosure. The operations of the method 1000 may be implemented by a UE or its components as described herein. For example, the operations of the method 1000 may be performed by a UE 115 as described with reference to FIGs. 1 through 9. In some examples, a UE may execute a set of instructions to control the functional elements of the UE to perform the described functions. Additionally, or alternatively, the UE may perform aspects of the described functions using special-purpose hardware.

[0194] At 1005, the method may include generating temperature measurement information while the network entity is in an inactive state, where a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and where the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running. The operations of 1005 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1005 may be performed by a temperature measurement manager 825 as described with reference to FIG. 8.

[0195] At 1010, the method may include determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, where the increment value is based on the temperature measurement information, where the data object maps each respective increment value of a set of multiple increment values to respective temperature measurement information. The operations of 1010 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1010 may be performed by a system counter manager 830 as described with reference to FIG. 8.

[0196] At 1015, the method may include incrementing, while the network entity is in the inactive state and while the second clock is running, the system counter using the increment value. The operations of 1015 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1015 may be performed by a system counter manager 830 as described with reference to FIG. 8.

[0197] At 1020, the method may include monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, where the transition is based on the system counter. The operations of 1020 may be performed in accordance with examples as disclosed herein. In some examples, aspects of the operations of 1020 may be performed by a reference signal manager 835 as described with reference to FIG. 8.

[0198] The following provides an overview of aspects of the present disclosure:

[0199] Aspect 1 : A method for wireless communication at a network entity, comprising: generating temperature measurement information while the network entity is in an inactive state, wherein a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and wherein the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running; determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, wherein the increment value is based on the temperature measurement information, wherein the data object maps each respective increment value of a plurality of increment values to respective temperature measurement information; incrementing, while the network entity is in the inactive state and while the second clock is running, the system counter using the increment value; and monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, wherein the transition is based on the system counter.

[0200] Aspect 2: The method of aspect 1, wherein, to determine the increment value, the processing system is configured to perform a calibration procedure to determine the increment value, wherein the processing system is configured to performthe calibration procedure based on an absence of the temperature measurement information in the data object, wherein to perform the calibration procedure, the method further comprising: simultaneously running the first clock and the second clock; and determining a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, wherein the increment value is based on the difference.

[0201] Aspect 3 : The method of aspect 2, wherein the processing system is configured to adding the increment value to the data object based on performance of the calibration procedure and based on the absence of the temperature measurement information in the data object, wherein, to increment the system counter, the processing system is configured to increment the system counter based on the increment value being added to the data object.

[0202] Aspect 4: The method of any of aspects 1 through 3, wherein to increment the system counter, the processing system is configured to increment the system counter in accordance with the first clock while the first clock is running during a first time interval that the network entity is in the active state; and the processing system is configured to transition from the active state to the inactive state, wherein the inactive state is associated with a lower power consumption relative to the active state, wherein, to generate the temperature measurement information, the processing system is configured to generate the temperature measurement information during a second time interval that the network entity is in the inactive state, and wherein, to increment the system counter, the processing system is configured to increment the system counter in accordance with the second clock while the second clock is running based on the transition from the active state to the inactive state.

[0203] Aspect 5 : The method of any of aspects 1 through 4, wherein determining the increment value comprises: determining that the temperature measurement information is between first temperature measurement information and second temperature measurement information included within the data object, wherein the first temperature measurement information and the second temperature measurement information are associated with a first increment value and a second increment value, respectively, wherein the increment value is based on an interpolation between the first temperature measurement information and the second temperature measurementinformation, and wherein the increment value is based on an interpolation between the first increment value and second increment value.

[0204] Aspect 6: The method of any of aspects 1 through 5, further comprising: determining, for an operating temperature range of the network entity, one or more calibration coefficients associated with a clock error between the second clock and the first clock; and generating the data object in accordance with a clock error function and the one or more calibration coefficients, wherein the clock error function defines a plurality of errors associated with the second clock across at least a subset of the operating temperature range.

[0205] Aspect 7 : The method of any of aspects 1 through 6, wherein the temperature measurement information of the data object spans a plurality of temperature measurements, the plurality of temperature measurements stored in the data object are approximately evenly spaced across an operating temperature range of the network entity.

[0206] Aspect 8: The method of any of aspects 1 through 7, wherein the temperature measurement information of the data object spans a plurality of temperature measurements comprising a first subset of temperature measurements spanning a first temperature range and a second subset of temperature measurements spanning a second temperature range, the first subset of temperature measurements are associated with a first measurement density based on a first frequency error associated with the second clock across the first temperature range, and the second subset of temperature measurements are associated with a second measurement density based on a second frequency error associated with the second clock across the second temperature range.

[0207] Aspect 9: The method of any of aspects 1 through 8, wherein determining the increment value comprises performing a calibration procedure, wherein performing the calibration procedure comprises: simultaneously running the first clock and the second clock; determining a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, wherein the increment value is based on the difference; and replacing a previous increment value of the plurality of increment values of the data object corresponding to the temperaturemeasurement information based on a difference between the previous increment value and the increment value satisfying a threshold difference.

[0208] Aspect 10: The method of any of aspects 1 through 9, wherein the first clock associated with the active state is associated with a first fidelity or accuracy metric and a first power consumption metric, and the second clock associated with the inactive state is associated with a second fidelity or accuracy metric and a second power consumption metric, the second fidelity or accuracy metric and the second power consumption metric are lower than the first fidelity or accuracy metric and the first power consumption metric, respectively.

[0209] Aspect 11 : The method of any of aspects 1 through 10, wherein the first clock has a first fidelity and the second clock has a second fidelity, the first fidelity is different from the second fidelity.

[0210] Aspect 12: The method of aspect 11, wherein the second fidelity is less than the first fidelity.

[0211] Aspect 13: The method of any of aspects 1 through 12, wherein the temperature measurement information is based on an ambient temperature of an environment of the network entity and heat generated by one or more operations performed by the network entity.

[0212] Aspect 14: The method of any of aspects 1 through 13, further comprising: estimating a clock error associated with the second clock throughout a time interval that the network entity was in the inactive state based on an estimated temperature change of the network entity during the time interval.

[0213] Aspect 15: The method of any of aspects 1 through 14, wherein a modem, one or more other processing components, or both, of the network entity are activated while the network entity is in the active state, and are deactivated while the network entity is in the inactive state.

[0214] Aspect 16: The method of any of aspects 1 through 15, wherein determining the increment value comprises: indexing the data object using the temperature measurement information.

[0215] Aspect 17: The method of any of aspects 1 through 16, wherein the data object comprises a LUT.

[0216] Aspect 18: The method of any of aspects 1 through 17, wherein the first clock and the second clock are not physically unique.

[0217] Aspect 19: The method of any of aspects 1 through 18, wherein the first clock and the second clock comprise logical clocks that are generated using a same clock circuit.

[0218] Aspect 20: The method of any of aspects 1 through 19, wherein the data object does not map the temperature measurement information to any increment value of the plurality of increment values.

[0219] Aspect 21 : The method of any of aspects 1 through 20, wherein the data object maps the temperature measurement information to a respective increment value of the plurality of increment values.

[0220] Aspect 22: A network entity for wireless communication, comprising one or more memories storing processor-executable code, and one or more processors coupled with the one or more memories and individually or collectively operable to execute the code to cause the network entity to perform a method of any of aspects 1 through 21.

[0221] Aspect 23 : A network entity for wireless communication, comprising at least one means for performing a method of any of aspects 1 through 21.

[0222] Aspect 24: A non-transitory computer-readable medium storing code for wireless communication, the code comprising instructions executable by one or more processors to perform a method of any of aspects 1 through 21.

[0223] The methods described herein describe possible implementations. The operations and the steps may be rearranged or otherwise modified and other implementations are possible. Further, aspects from two or more of the methods may be combined.

[0224] Although aspects of an LTE, LTE-A, LTE-A Pro, or NR system may be described for purposes of example, and LTE, LTE-A, LTE-A Pro, or NR terminology may be used in much of the description, the techniques described herein are applicablebeyond LTE, LTE-A, LTE-A Pro, or NR networks. For example, the described techniques may be applicable to various other wireless communications systems such as Ultra Mobile Broadband (UMB), Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, as well as other systems and radio technologies not explicitly mentioned herein.

[0225] Information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0226] The various illustrative blocks and components described in connection with the disclosure herein may be implemented or performed using a general-purpose processor, a DSP, an ASIC, a CPU, a graphics processing unit (GPU), a neural processing unit (NPU), an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor but, in the alternative, the processor may be any processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration). Any functions or operations described herein as being capable of being performed by a processor may be performed by multiple processors that, individually or collectively, are capable of performing the described functions or operations.

[0227] The functions described herein may be implemented using hardware, software executed by a processor, firmware, or any combination thereof. If implemented using software executed by a processor, the functions may be stored as or transmitted using one or more instructions or code of a computer-readable medium. Other examples and implementations are within the scope of the disclosure and claims. For example, due to the nature of software, functions described herein may be implemented using software executed by a processor, hardware, firmware, hardwiring,or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.

[0228] Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another. A non-transitory storage medium may be any available medium that may be accessed by a general-purpose or special-purpose computer. By way of example, and not limitation, non-transitory computer-readable media may include RAM, ROM, electrically erasable programmable ROM (EEPROM), flash memory, compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that may be used to carry or store desired program code means in the form of instructions or data structures and that may be accessed by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of computer-readable medium. Disk and disc, as used herein, include CD, laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc. Disks may reproduce data magnetically, and discs may reproduce data optically using lasers. Combinations of the above are also included within the scope of computer-readable media. Any functions or operations described herein as being capable of being performed by a memory may be performed by multiple memories that, individually or collectively, are capable of performing the described functions or operations.

[0229] As used herein, the term “or” is an inclusive “or” unless limiting language is used relative to the alternatives listed. For example, reference to “X being based on A or B” shall be construed as including within its scope X being based on A, X being based on B, and X being based on A and B. In this regard, reference to “X being based on A or B” refers to “at least one of A or B” or “one or more of A or B” due to “or” being inclusive. Similarly, reference to “X being based on A, B, or C” shall beconstrued as including within its scope X being based on A, X being based on B, X being based on C, X being based on A and B, X being based on A and C, X being based on B and C, and X being based on A, B, and C. In this regard, reference to “X being based on A, B, or C” refers to “at least one of A, B, or C” or “one or more of A, B, or C” due to “or” being inclusive. As an example of limiting language, reference to “X being based on only one of A or B” shall be construed as including within its scope X being based on A as well as X being based on B, but not X being based on A and B. Also, as used herein, the phrase “based on” shall not be construed as a reference to a closed set of information, one or more conditions, one or more factors, or the like. In other words, the phrase “based on A” (where “A” may be information, a condition, a factor, or the like) shall be construed as “based at least on A” unless specifically recited differently. Also, as used herein, the phrase “a set” shall be construed as including the possibility of a set with one member. That is, the phrase “a set” shall be construed in the same manner as “one or more” or “at least one of.”

[0230] As used herein, including in the claims, the article “a” before a noun is open- ended and understood to refer to “at least one” of those nouns or “one or more” of those nouns. Thus, the terms “a,” “at least one,” “one or more,” and “at least one of one or more” may be interchangeable. For example, if a claim recites “a component” that performs one or more functions, each of the individual functions may be performed by a single component or by any combination of multiple components. Thus, the term “a component” having characteristics or performing functions may refer to “at least one of one or more components” having a particular characteristic or performing a particular function. Subsequent reference to a component introduced with the article “a” using the terms “the” or “said” may refer to any or all of the one or more components. For example, a component introduced with the article “a” may be understood to mean “one or more components,” and referring to “the component” subsequently in the claims may be understood to be equivalent to referring to “at least one of the one or more components.” Similarly, subsequent reference to a component introduced as “one or more components” using the terms “the” or “said” may refer to any or all of the one or more components. For example, referring to “the one or more components” subsequently in the claims may be understood to be equivalent to referring to “at least one of the one or more components.”

[0231] The term “determine” or “determining” encompasses a variety of actions and, therefore, “determining” can include calculating, computing, processing, deriving, investigating, looking up (such as via looking up in a table, a database, or another data structure), ascertaining, and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data stored in memory), and the like. Also, “determining” can include resolving, obtaining, selecting, choosing, establishing, and other such similar actions.

[0232] In the figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If just the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label or other subsequent reference label.

[0233] The description set forth herein, in connection with the drawings, describes example configurations and does not represent all the examples that may be implemented or that are within the scope of the claims. The term “aspect” or “example” used herein means “serving as an aspect, example, instance, or illustration” and not “preferred” or “advantageous over other aspects.” The detailed description includes specific details for the purpose of providing an understanding of the described techniques. These techniques, however, may be practiced without these specific details. In some figures, structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described examples.

[0234] The description herein is provided to enable a person having ordinary skill in the art to make or use the disclosure. Various modifications to the disclosure will be apparent to a person having ordinary skill in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not limited to the examples and designs described herein but is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.

Claims

CLAIMSWhat is claimed is:

1. A network entity for wireless communication, comprising: a processing system configured to: generate temperature measurement information while the network entity is in an inactive state, wherein the processing system is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running, and wherein the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running; determine, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, wherein the increment value is based on the temperature measurement information, wherein the data object maps each respective increment value of a plurality of increment values to respective temperature measurement information; increment, while the network entity is in the inactive state and while the second clock is running, the system counter using the increment value; and monitor for a reference signal after a transition of the network entity from the inactive state to the active state, wherein the transition is based on the system counter.

2. The network entity of claim 1, wherein, to determine the increment value, the processing system is configured to perform a calibration procedure to determine the increment value, wherein the processing system is configured to perform the calibration procedure based on an absence of the temperature measurement information in the data object, wherein to perform the calibration procedure, the processing system is configured to: simultaneously run the first clock and the second clock; anddetermine a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, wherein the increment value is based on the difference.

3. The network entity of claim 2, wherein the processing system is configured to: add the increment value to the data object based on performance of the calibration procedure and based on the absence of the temperature measurement information in the data object, wherein, to increment the system counter, the processing system is configured to increment the system counter based on the increment value being added to the data object.

4. The network entity of claim 1, wherein: to increment the system counter, the processing system is configured to increment the system counter in accordance with the first clock while the first clock is running during a first time interval that the network entity is in the active state; and the processing system is configured to transition from the active state to the inactive state, wherein the inactive state is associated with a lower power consumption relative to the active state, wherein, to generate the temperature measurement information, the processing system is configured to generate the temperature measurement information during a second time interval that the network entity is in the inactive state, and wherein, to increment the system counter, the processing system is configured to increment the system counter in accordance with the second clock while the second clock is running based on the transition from the active state to the inactive state.

5. The network entity of claim 1, wherein, to determine the increment value, the processing system is configured to: determine that the temperature measurement information is between first temperature measurement information and second temperature measurement information included within the data object, wherein the first temperature measurement information and the second temperature measurement information are associated with a first increment value and a second increment value, respectively, wherein the increment value is based on an interpolation between the first temperature measurementinformation and the second temperature measurement information, and wherein the increment value is based on an interpolation between the first increment value and second increment value.

6. The network entity of claim 1, wherein the processing system is configured to: determine, for an operating temperature range of the network entity, one or more calibration coefficients associated with a clock error between the second clock and the first clock; and generate the data object in accordance with a clock error function and the one or more calibration coefficients, wherein the clock error function defines a plurality of errors associated with the second clock across at least a subset of the operating temperature range.

7. The network entity of claim 1, wherein the temperature measurement information of the data object spans a plurality of temperature measurements, wherein the plurality of temperature measurements stored in the data object are approximately evenly spaced across an operating temperature range of the network entity.

8. The network entity of claim 1, wherein the temperature measurement information of the data object spans a plurality of temperature measurements comprising a first subset of temperature measurements spanning a first temperature range and a second subset of temperature measurements spanning a second temperature range, wherein the first subset of temperature measurements are associated with a first measurement density based on a first frequency error associated with the second clock across the first temperature range, and wherein the second subset of temperature measurements are associated with a second measurement density based on a second frequency error associated with the second clock across the second temperature range.

9. The network entity of claim 1, wherein, to determine the increment value, the processing system if configured to perform a calibration procedure, wherein to perform the calibration procedure, the processing system is configured to:simultaneously run the first clock and the second clock; determine a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, wherein the increment value is based on the difference; and replace a previous increment value of the plurality of increment values of the data object corresponding to the temperature measurement information based on a difference between the previous increment value and the increment value satisfying a threshold difference.

10. The network entity of claim 1, further comprising: a hardware device configured to maintain the data object in a memory.

11. The network entity of claim 1, wherein the first clock associated with the active state is associated with a first fidelity or accuracy metric and a first power consumption metric, and wherein the second clock associated with the inactive state is associated with a second fidelity or accuracy metric and a second power consumption metric, wherein the second fidelity or accuracy metric and the second power consumption metric are lower than the first fidelity or accuracy metric and the first power consumption metric, respectively.

12. The network entity of claim 1, wherein the first clock has a first fidelity and the second clock has a second fidelity, wherein the first fidelity is different from the second fidelity.

13. The network entity of claim 12, wherein the second fidelity is less than the first fidelity.

14. The network entity of claim 1, wherein the temperature measurement information is based on an ambient temperature of an environment of the network entity and heat generated by one or more operations performed by the network entity.

15. The network entity of claim 1, wherein the processing system is configured to:estimate a clock error associated with the second clock throughout a time interval that the network entity was in the inactive state based on an estimated temperature change of the network entity during the time interval.

16. The network entity of claim 1, wherein a modem, one or more other processing components, or both, of the network entity are activated while the network entity is in the active state, and are deactivated while the network entity is in the inactive state.

17. The network entity of claim 1, wherein, to determine the increment value, the processing system is configured to: index the data object using the temperature measurement information.

18. The network entity of claim 1, wherein the data object comprises a look-up table.

19. The network entity of claim 1, wherein the first clock and the second clock are not physically unique.

20. The network entity of claim 1, wherein the first clock and the second clock comprise logical clocks that are generated using a same clock circuit.

21. The network entity of claim 1, wherein the data object does not map the temperature measurement information to any increment value of the plurality of increment values.

22. The network entity of claim 1, wherein the data object maps the temperature measurement information to a respective increment value of the plurality of increment values.

23. A method of wireless communication performed by a network entity, comprising: generating temperature measurement information while the network entity is in an inactive state, wherein a processing system of the network entity is configured to increment a system counter at the network entity in accordance with a first clock while the network entity is in an active state and while the first clock is running,and wherein the processing system is configured to increment the system counter in accordance with a second clock while the network entity is in the inactive state and while the second clock is running; determining, while the network entity is in the inactive state and based on a data object that is associated with the second clock, an increment value for the system counter, wherein the increment value is based on the temperature measurement information, wherein the data object maps each respective increment value of a plurality of increment values to respective temperature measurement information; incrementing, while the network entity is in the inactive state and while the second clock is running, the system counter using the increment value; and monitoring for a reference signal after a transition of the network entity from the inactive state to the active state, wherein the transition is based on the system counter.

24. The method of claim 23, wherein, to determine the increment value, the processing system is configured to perform a calibration procedure to determine the increment value, wherein the processing system is configured to perform the calibration procedure based on an absence of the temperature measurement information in the data object, wherein to perform the calibration procedure, the method further comprising: simultaneously running the first clock and the second clock; and determining a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, wherein the increment value is based on the difference.

25. The method of claim 24, further comprising: adding the increment value to the data object based on performance of the calibration procedure and based on the absence of the temperature measurement information in the data object, wherein, to increment the system counter, the processing system is configured to increment the system counter based on the increment value being added to the data object.

26. The method of claim 23, wherein:to increment the system counter, the processing system is configured to increment the system counter in accordance with the first clock while the first clock is running during a first time interval that the network entity is in the active state; and the processing system is configured to transition from the active state to the inactive state, wherein the inactive state is associated with a lower power consumption relative to the active state, wherein, to generate the temperature measurement information, the processing system is configured to generate the temperature measurement information during a second time interval that the network entity is in the inactive state, and wherein, to increment the system counter, the processing system is configured to increment the system counter in accordance with the second clock while the second clock is running based on the transition from the active state to the inactive state.

27. The method of claim 23, wherein determining the increment value comprises: determining that the temperature measurement information is between first temperature measurement information and second temperature measurement information included within the data object, wherein the first temperature measurement information and the second temperature measurement information are associated with a first increment value and a second increment value, respectively, wherein the increment value is based on an interpolation between the first temperature measurement information and the second temperature measurement information, and wherein the increment value is based on an interpolation between the first increment value and second increment value.

28. The method of claim 23, further comprising: determining, for an operating temperature range of the network entity, one or more calibration coefficients associated with a clock error between the second clock and the first clock; and generating the data object in accordance with a clock error function and the one or more calibration coefficients, wherein the clock error function defines a plurality of errors associated with the second clock across at least a subset of the operating temperature range.

29. The method of claim 23, wherein the temperature measurement information of the data object spans a plurality of temperature measurements, wherein the plurality of temperature measurements stored in the data object are approximately evenly spaced across an operating temperature range of the network entity.

30. The method of claim 23, wherein the temperature measurement information of the data object spans a plurality of temperature measurements comprising a first subset of temperature measurements spanning a first temperature range and a second subset of temperature measurements spanning a second temperature range, wherein the first subset of temperature measurements are associated with a first measurement density based on a first frequency error associated with the second clock across the first temperature range, and wherein the second subset of temperature measurements are associated with a second measurement density based on a second frequency error associated with the second clock across the second temperature range.

31. The method of claim 23, wherein determining the increment value comprises performing a calibration procedure, wherein performing the calibration procedure comprises: simultaneously running the first clock and the second clock; determining a difference between the first clock and the second clock based on the simultaneous running of the first clock and the second clock, wherein the increment value is based on the difference; and replacing a previous increment value of the plurality of increment values of the data object corresponding to the temperature measurement information based on a difference between the previous increment value and the increment value satisfying a threshold difference.

32. The method of claim 23, wherein the first clock associated with the active state is associated with a first fidelity or accuracy metric and a first power consumption metric, and wherein the second clock associated with the inactive state is associated with a second fidelity or accuracy metric and a second power consumption metric, wherein the second fidelity or accuracy metric and the second power consumption metric are lower than the first fidelity or accuracy metric and the first power consumption metric, respectively.

33. The method of claim 23, wherein the first clock has a first fidelity and the second clock has a second fidelity, wherein the first fidelity is different from the second fidelity.

34. The method of claim 33, wherein the second fidelity is less than the first fidelity.

35. The method of claim 23, wherein the temperature measurement information is based on an ambient temperature of an environment of the network entity and heat generated by one or more operations performed by the network entity.

36. The method of claim 23, further comprising: estimating a clock error associated with the second clock throughout a time interval that the network entity was in the inactive state based on an estimated temperature change of the network entity during the time interval.

37. The method of claim 23, wherein a modem, one or more other processing components, or both, of the network entity are activated while the network entity is in the active state, and are deactivated while the network entity is in the inactive state.

38. The method of claim 23, wherein determining the increment value comprises: indexing the data object using the temperature measurement information.

39. The method of claim 23, wherein the data object comprises a look-up table.

40. The method of claim 23, wherein the first clock and the second clock are not physically unique.

41. The method of claim 23, wherein the first clock and the second clock comprise logical clocks that are generated using a same clock circuit.

42. The method of claim 23, wherein the data object does not map the temperature measurement information to any increment value of the plurality of increment values.

43. The method of claim 23, wherein the data object maps the temperature measurement information to a respective increment value of the plurality of increment values.

Citation Information

Patent Citations

  • Device and method for multiple reference system timer

    US10411717B2

  • System and method for dynamic adjustment of clock calibration

    US20100317295A1

  • Communication device with a self-calibrating sleep timer

    US6473607B1