Predicting clock drift

By predicting and adjusting clock skew using machine learning models, the problem of clock drift in cellular communication networks has been solved, achieving high-precision clock synchronization and improving the communication efficiency and reliability of 5G networks.

CN116266945BActive Publication Date: 2025-12-12NOKIA NETWORKS OY
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211613337.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-12-16
Filing Date
2022-12-15
Publication Date
2025-12-12
Estimated Expiration
2042-12-15

AI Technical Summary

Technical Problem

In cellular communication networks, clock drift leads to inaccurate signal sampling by radio transmitters and receivers, affecting the reliability and efficiency of information transmission. This is especially true in 5G networks where clock synchronization requirements are more stringent, and existing technologies struggle to effectively predict and compensate for clock drift.

Method used

By employing machine learning models, particularly deep neural networks and autoregressive models, and considering the effects of temperature and hardware aging, clock skew is predicted and clock adjustment is performed to correct clock drift and achieve accurate clock synchronization.

Benefits of technology

It improves the clock synchronization accuracy of wireless equipment, reduces information loss and positioning uncertainty, supports the requirements of alignment-time advance and multiple-input multiple-output transmission in 5G networks, and enhances the performance of communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116266945B_ABST
    Figure CN116266945B_ABST
Patent Text Reader

Abstract

A method is disclosed, the method comprising: obtaining a plurality of previous clock skew, reported temperature, and reported time; obtaining a prediction of a current clock skew based on the plurality of previous clock skew, reported temperature, and reported time; determining a current clock offset based on the predicted current clock skew; determining a clock adjustment based on the current clock offset and the reported time; and determining a corrected time based on the clock adjustment.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The following exemplary embodiments relate to wireless communication and handling clock drifting within a cellular communication network. BACKGROUND

[0002] A cellular communication network comprises a plurality of network nodes. In order for communication to be reliable and timely, the clocks of the network nodes are to be synchronized so that a concept of time is common to all network nodes. SUMMARY

[0003] The scope of protection sought and provided by the various embodiments of the application is set forth by the independent claims. The exemplary embodiments and features that are not contained in the independent claims are to be interpreted as examples useful in understanding various embodiments of the application.

[0004] According to a first aspect, there is provided an apparatus comprising: means for obtaining a plurality of previous clock skews, reported temperatures and reported times; means for obtaining a prediction of a current clock skew based on the plurality of previous clock skews, reported temperatures and reported times; means for determining a current clock offset based on the predicted current clock skew; means for determining a clock adjustment based on the current clock offset and the reported times; and means for determining a corrected time based on the clock adjustment.

[0005] According to a second aspect, there is provided an apparatus comprising at least one processor and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to obtain a plurality of previous clock skews, reported temperatures and reported times, obtain a prediction of a current clock skew based on the plurality of previous clock skews, reported temperatures and reported times, determine a current clock offset based on the predicted current clock skew, determine a clock adjustment based on the current clock offset and the reported times, and determine a corrected time based on the clock adjustment.

[0006] According to a third aspect, there is provided a method comprising obtaining a plurality of previous clock skews, reported temperatures and reported times; obtaining a prediction of a current clock skew based on the plurality of previous clock skews, reported temperatures and reported times; determining a current clock offset based on the predicted current clock skew; determining a clock adjustment based on the current clock offset and the reported times; and determining a corrected time based on the clock adjustment.

[0007] According to a fourth aspect, there is provided a computer program comprising instructions for causing an apparatus to perform at least the following: obtaining a plurality of previous clock skew, reported temperature, and reported time; obtaining a prediction of a current clock skew based on the plurality of previous clock skew, reported temperature, and reported time; determining a current clock offset based on the predicted current clock skew; determining a clock adjustment based on the current clock offset and the reported time; and determining a corrected time based on the clock adjustment.

[0008] According to a fifth aspect, there is provided a computer program product comprising instructions for causing an apparatus to perform at least the following: obtaining a plurality of previous clock skew, reported temperature, and reported time; obtaining a prediction of a current clock skew based on the plurality of previous clock skew, reported temperature, and reported time; determining a current clock offset based on the predicted current clock skew; determining a clock adjustment based on the current clock offset and the reported time; and determining a corrected time based on the clock adjustment.

[0009] According to a sixth aspect, there is provided a computer program comprising instructions stored thereon for performing at least the following: obtaining a plurality of previous clock skew, reported temperature, and reported time; obtaining a prediction of a current clock skew based on the plurality of previous clock skew, reported temperature, and reported time; determining a current clock offset based on the predicted current clock skew; determining a clock adjustment based on the current clock offset and the reported time; and determining a corrected time based on the clock adjustment.

[0010] According to a seventh aspect, there is provided a non-transitory computer readable medium comprising program instructions for causing an apparatus to perform at least the following: obtaining a plurality of previous clock skew, reported temperature, and reported time; obtaining a prediction of a current clock skew based on the plurality of previous clock skew, reported temperature, and reported time; determining a current clock offset based on the predicted current clock skew; determining a clock adjustment based on the current clock offset and the reported time; and determining a corrected time based on the clock adjustment.

[0011] According to an eighth aspect, there is provided a non-transitory computer readable medium comprising program instructions stored thereon for performing at least the following: obtaining a plurality of previous clock skew, reported temperature, and reported time; obtaining a prediction of a current clock skew based on the plurality of previous clock skew, reported temperature, and reported time; determining a current clock offset based on the predicted current clock skew; determining a clock adjustment based on the current clock offset and the reported time; and determining a corrected time based on the clock adjustment. BRIEF DESCRIPTION OF DRAWINGS

[0012] In the following, the application will be described in more detail with reference to embodiments and to the accompanying drawings, in which:

[0013] Figure 1 An exemplary embodiment of a radio access network is shown;

[0014] Figure 2 A flowchart according to an exemplary embodiment is shown;

[0015] Figure 3 An exemplary embodiment of an architecture for machine learning assisted clock drift prediction is shown;

[0016] Figure 4 An exemplary embodiment of training a machine learning model is shown; and

[0017] Figure 5 and Figure 6 An exemplary embodiment of an apparatus is shown. DETAILED DESCRIPTION

[0018] The following embodiments are exemplary. It should be understood that every maximum embodiment can not necessarily exhibit every characteristic that can be described in conjunction with a particular example. Indeed, some embodiments can exhibit only a subset of such characteristics and still fall within the scope of a corresponding embodiment. Thus, features or characteristics from one embodiment can be combined with features or characteristics from a further embodiment to provide further embodiments. In addition, some of the embodiments were illustrated in terms of methods comprising functional steps. Although every maximum embodiment can necessarily comprise such functional steps, other embodiments can only comprise hardware or software elements, or a combination of hardware / software elements and functional steps. The description herein of any possible (sub)embodiment, including preferred embodiments, is intended to be only illustrative and is not intended to be limiting in any way. The various embodiments presented are meant as examples only and nothing in this description is intended to advise that the scope of the application is limited to the specific embodiments described herein.

[0019] As used in this application, the term "circuitry" refers to all of the following: (a) hardware-only circuitry such as only analog and / or digital circuitry, including only analog and / or digital circuitry, and (b) combinations of circuits and software (and / or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s) / software including digital signal processors, software, and memory that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor or a portion of a microprocessor, that require software or firmware for operation, even if the software or firmware is not physically present. This definition of "circuitry" applies to all uses of this term in this application. As a further example, as used in this application, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and / or firmware. The term "circuitry" would also cover, for example and if applicable, a baseband integrated circuit or application processor integrated circuit for a mobile phone, or a similar integrated circuit in a server, a cellular network device, or another network device.

[0020] The techniques and methods described herein can be implemented by various means. For example, these techniques can be implemented in hardware (one or more devices), firmware (one or more devices), software (one or more modules), or combinations thereof. For a hardware implementation, the apparatuses of embodiments can be implemented within one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), graphics processing units (GPUs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. For firmware or software, the implementation can be carried out through modules of at least one chip set (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes can be stored in memory units and executed by processors. The memory unit can be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via any suitable means. Further, the components of the systems described herein can be rearranged and / or complemented by additional components in order to facilitate the achievements of the various aspects, etc., described with regard thereto, and they are not limited to the precise configurations set forth in the given figures, as will be appreciated by one skilled in the art.

[0021] Embodiments described herein can be implemented in a communication system, such as in at least one of the following: Global System for Mobile Communications (GSM) or any other second generation cellular communication system, Universal Mobile Telecommunication System (UMTS, 3G) based on basic wideband code division multiple access (W-CDMA), High Speed Packet Access (HSPA), Long Term Evolution (LTE), LTE-Advanced, systems based on IEEE 802.11 specifications, systems based on IEEE 802.15 specifications, and / or a fifth generation (5G) mobile or cellular communication system. However, embodiments are not limited to the systems given as examples, but a person skilled in the art can apply the solution to other communication systems having similar characteristics.

[0022] Figure 1 An example of a simplified system architecture is depicted, showing some elements and functional entities, which are all logical units, whose implementation can differ from what is shown. Figure 1 The connections shown are logical connections; actual physical connections can differ from that. It is apparent to a person skilled in the art that the system can also comprise other functions and structures than those shown. Figure 1 The shown functions and structures can be implemented by hardware, software or a combination thereof. Figure 1 The example shown illustrates a part of an exemplary radio access network.

[0023] Figure 1Terminal devices 100 and 102 are shown configured to be in wireless connection with an access node providing a cell, such as an (e / g)NodeB 104, over one or more communication channels in the cell. The access node 104 can also be referred to as a node. The wireless link from the terminal devices to the (e / g)NodeB is called uplink or reverse link, while the wireless link from the (e / g)NodeB to the terminal devices is called downlink or forward link. It should be appreciated that the (e / g)NodeB or its functionalities can be implemented by using any entity, host, server or access point, etc. suitable for this purpose. It should be noted that although one cell is discussed in this exemplary embodiment, for simplicity of explanation, in some exemplary embodiments, multiple cells can be provided by one access node.

[0024] The communication system can comprise more than one (e / g)NodeB, in which case the (e / g)NodeBs can also be configured to communicate with one another over links designed for the purpose, which can be wired or wireless. These links can be used for signalling purposes. The (e / g)NodeB is a computing device configured to control the radio resources of the communication system it is coupled to. The (e / g)NodeB can also be called a base station, an access point, or any other type of interfacing device including a relay station capable of operating in a wireless environment. The (e / g)NodeB includes or is coupled to a transceiver. From the transceiver of the (e / g)NodeB, a connection is provided to an antenna unit, which establishes the bi- directional radio link to the user equipment. The antenna unit can include multiple antennas or antenna elements. The (e / g)NodeB is further connected to a core network 110 (CN or Next Generation Core NGC). Depending on the system, the counterpart on the CN side can be a serving gateway (S-GW, which routes and forwards user data packets), a packet data network gateway (P-GW, which provides connectivity to external packet data networks), or a mobility management entity (MME), etc.

[0025] A terminal device (also called UE, user equipment, user terminal, user device, etc.) is one type of apparatus to which resources on the air interface are allocated and assigned, and thus any features of the terminal device described herein can be implemented with a corresponding apparatus, such as a relay node. One example of such a relay node is a layer 3 relay towards a base station (self-backhauling relay). Another example of such a relay node is a layer 2 relay. Such a relay node can contain a terminal device part and a distributed unit (DU) part. For example, a CU (centralized unit) can coordinate DU operations via an FlAP interface.

[0026] A terminal device can refer to a portable computing device, which includes a wireless mobile communication device operating with or without a subscriber identification module (SIM) or embedded SIM (eSIM), including, but not limited to, the following types of devices: a mobile station (mobile phone), a smartphone, a personal digital assistant (PDA), a handset, a device using a wireless modem (alarm or measurement device, etc.), a laptop and / or touch screen computer, a tablet, a game console, a notebook, and a multimedia device. It should be appreciated that a user device can also be an exclusive or almost exclusive uplink only device, an example of which is a camera or video camera that loads images or video clips to a network. A terminal device can also be a device with the ability to operate in an Internet of Things (loT) network, in which scenario objects are provided with the ability to transfer data over a network without the need for human interaction with a human or computer. A terminal device can also utilize the cloud. In some applications, a terminal device can comprise a small, portable device with radio parts, such as a watch, earphones or glasses, and the computing is performed in the cloud. A terminal device (or in some embodiments a layer 3 relay node) is configured to perform one or more of the user equipment functions.

[0027] The various techniques described herein can also be applied to a cyber-physical system (CPS) (a system of collaborating computational elements controlling physical entities). A CPS can enable the implementation and exploitation of the interplay between cyber and physical worlds. The cyber world can refer to the information world, such as the Internet, and the physical world can refer to the real, physical world. The physical world has an inherent geographic aspect (the sun rises in the east and sets in the west). CPSs can have an inherent geographic aspect as well, for example, in the spatial distribution of access terminals in a wireless communication network. A CPS can be implemented to control physical entities with collaborative computational elements embedded in various locations.

[0028] In addition, although the apparatus is depicted as a single entity, different units, processors and / or memory units (not all shown in the drawings) can be implemented. Figure 1

[0029] ​5G supports the use of multiple input multiple output (MIMO) antennas, many more base stations or nodes than LTE (so-called small cell concept), including a macro sites working in co-operation with smaller stations and employing a variety of radio technologies depending on service needs, use cases and / or available frequency spectrum. 5G mobile communications supports a variety of use cases and related applications including video streaming, augmented reality, different ways of sharing data and various forms of machine type applications (such as (massive) machine type communications, mMTC), including vehicle safety, different sensors and real time control. 5G is expected to have multiple radio interfaces, i.e. below 6 GHz, cmWave and mmWave, and be integrable with existing legacy radio access technologies, such as LTE. Integration with LTE can be implemented at least in early phases as a system where macro coverage is provided by LTE and 5G radio interface access comes from small cells by aggregation to LTE. In other words, 5G is planned to support both inter-RAT operability (such as LTE-5G) and inter-RI operability (inter-radio interface operability, such as below 6 GHz - cmWave, above 6 GHz - mmWave). One of the concepts considered to be used in 5G networks is network slicing, where multiple independent and dedicated virtual sub-networks (network instances) can be created in the same infrastructure to run services that have different requirements on latency, reliability, throughput and mobility.

[0030] Current architecture in LTE networks is fully distributed in radio and fully centralized in core network. Low latency applications and services in 5G can require bringing the content close to the radio, which can lead to local breakout and multi-access edge computing (MEC). 5G enables analytics and knowledge generation to occur at the source of the data. This approach requires leveraging resources, such as laptops, smartphones, tablets, and sensors, that can not be continuously connected to the network. MEC provides a distributed computing environment for application and service hosting. It also has the ability to store and process content in close proximity to the subscriber for faster response time. Edge computing covers a broad range of technologies such as wireless sensor networks, mobile data acquisition, mobile signature analysis, cooperative, distributed, peer-to-peer, self-organizing networks and processing (also classifiable as local cloud / fog computing and grid / mesh computing), dew computing, mobile edge computing, cloudlet, distributed data storage and retrieval, autonomous self-healing networks, remote cloud services, augmented and virtual reality, data caching, Internet of Things (massive connectivity and / or delay critical), critical communications (autonomous vehicles, traffic safety, real-time analytics, time-critical control, healthcare applications).

[0031] The communication system is also able to communicate with other networks, such as a public switched telephone network or the Internet 112, and / or to utilize services provided by them. It is also possible that the communication system is able to support the usage of cloud services, for example, at least part of the core network operations can be carried out as a cloud service (this is depicted in Figure 1 by "cloud" 114). The communication system can also include a central control entity, for example, providing facilities for networks of different operators to cooperate, for example, in spectrum sharing.

[0032] Edge cloud can be brought into the Radio Access Network (RAN) by utilizing Network Function Virtualization (NFV) and Software-Defined Networking (SDN). Using edge cloud implies that access node operations are carried out, at least partly, in servers, hosts or nodes operationally coupled to remote radio heads or base stations comprising radio parts. Node operations can also be distributed among a plurality of servers, nodes or hosts. Application of cloudRAN architecture enables RAN real-time functions to be carried out in the RAN side (in the Distributed Unit, DU 104) and non-real-time functions to be carried out in a centralized manner (in the Centralized Unit, CU 108).

[0033] It should also be understood that the division of labor between core network operations and base station operations can differ from that of the LTE or even be nonexistent. Some other technologies that can be used include, for example, big data and all-IP, which can change the way networks are constructed and managed. 5G (or New Radio, NR) networks are designed to support multiple hierarchies where MEC servers can be placed between the core and the base station or nodeB (gNB). It should be understood that MEC can also be applied to 4G networks.

[0034] 5G can also utilize satellite communication to enhance or complement the 5G service coverage, for example by providing backhauling or service availability in areas without terrestrial coverage. Possible use cases include providing service continuity for machine-to-machine (M2M) or Internet of Things (IoT) devices or for passengers of vehicles, and / or ensuring service availability for critical communications, and / or future railway / maritime / aeronautical communications. Satellite communication can utilize Geostationary Earth Orbit (GEO) satellite systems, but also Low Earth Orbit (LEO) satellite systems, for example mega-constellations, in which systems hundreds of (nano)satellites are deployed. Satellites 106 included in the constellation can carry gNBs or at least a part of gNBs creating the terrestrial cells. Alternatively, the satellites 106 can be used to relay the signal of one or more cells to earth. The terrestrial cells can be created by ground relay nodes 104 or by gNBs located on the ground or in satellites, or part of the gNB, for example DU, can be on the satellite and part of the gNB, for example CU, can be on the ground. Additionally or alternatively, High Altitude Platform Station, HAPS, systems can be used. HAPS can be understood as a radio station located on an object at a height of 20-50 kilometers and in a fixed point relative to the earth. Alternatively, HAPS can also move relative to the earth. For example, broadband access can be provided via HAPS using, for example, lightweight solar-powered airplanes and airships at a height of 20-25 kilometers that are in continuous operation for months.

[0035] It should be noted that the depicted system is an example of a part of a radio access system, and the system can comprise a plurality of (e / g)NodeBs, a terminal device can access a plurality of radio cells, and the system can further comprise other apparatuses, such as physical layer relay nodes or other network elements. At least one of the (e / g)NodeBs can be a home (e / g)NodeB. In addition, in the geographical area of the radio communication system, a plurality of radio cells of different kinds can be provided as well as a plurality of radio cells. The radio cells can be macro cells (or umbrella cells), which are large-sized cells with a diameter that can be typically up to several kilometers, or smaller cells such as micro, femto or pico cells. Figure 1 The (e / g)NodeBs can provide any kind of these cells. The cellular radio system can be implemented as a multi-layer network comprising several kinds of cells. In some exemplary embodiments, in the multi-layer network, one access node provides one or more cells of one kind, and thus the provision of such network structure requires a plurality of (e / g)NodeBs.

[0036] To meet the demand for improved deployment and performance of communication systems, the concept of "plug-and-play" (e / g)NodeB has been introduced. In addition to a home (e / g)NodeB (H(e / g)nodeB), a network capable of using "plug-and-play" (e / g)NodeB can also include a home nodeB gateway or HNB-GW (not shown in Figure 1 A HNB gateway (HNB-GW), which can be installed within an operator's network, can aggregate traffic from a large number of HNBs back to the core network.

[0037] Devices, such as access nodes and terminal devices, communicating with each other in a wireless cellular communication network can be referred to as radios that can form transmit-receive pairs, and they can perform transmissions and receptions in accordance with 3GPP standards. It is required to achieve accurate transmission and reception clock synchronization, which refers to a process by which radios that are part of a wireless cellular communication network can have and maintain the same time concept. This requirement applies to processes needed to establish and maintain communications between various radios, such as gNBs, and / or terminal devices in various radio access technologies (RATs), such as 5G. For example, 5G applications, such as small data transmission (SDT), ranging, and industrial internet of things (IIoT) applications, require accurate timing advance (TA), which requires tight clock synchronization. Furthermore, power management, such as duty cycle, positioning, safety, tracking, and / or extended reality (XR) applications, and / or any other type of time sensitive network (TSN) deployment, require tight clock synchronization.

[0038] Clocks comprised in wireless cellular communication networks, such as radios, comprise periodic components, such as oscillators, and the accuracy of the clock oscillators comprised in wireless cellular communication networks can affect clock synchronization. Furthermore, device size, cost, power supply operating temperature, etc. can also affect clock synchronization. Clock drift is therefore a ubiquitous phenomenon and affects all radios, such as all radios of a 5G network. Clock drift can cause radio transmit-receive pairs to sample signals at different rates and instants, which can subsequently cause information loss due to misalignment and erroneous sampling of the signals. To avoid these problems, clock drift can be compensated for, e.g. by having terminal devices synchronize with the network by listening to DL cellular synchronization signals and extract from them the correct time and frequency to communicate with the cellular system. This synchronization process applies a phase compensation to the clock comprised in the terminal device, allowing the terminal device to correct for clock drift. However, in case the terminal device moves to a different physical location, this synchronization process subsequently causes clock drift and a time drift due to the movement of the terminal device. As a result, the terminal device can have an invalid TA for its uplink transmission due to the movement of the terminal device. This can be avoided if the network is able to adjust for the TA difference, however, this is not the case when the terminal device is in RRC inactive state.

[0039] In addition to the periodic components, clocks comprise counting components, such as hardware registers. The combination of the periodic components and the counting components determines the resolution of the clock. Resolution can be understood as the smallest measurable unit of time determined by the combination. Clock drift can be understood as the clock not running at the correct speed compared to the real time. Different clocks can drift differently from each other and clock drift can depend on the above-mentioned factors. Therefore, even one clock can have different drifts under different conditions. Clock skew and offset can be used to characterize clock drift. The instantaneous clock drift rate can be referred to as clock skew and the time difference from the real time can be referred to as time offset.

[0040] If the time reported by a clock (indexed k) comprised in a radio, i.e. a wireless radio, at some ideal time t is C k (t), then the difference between the ideal clock t and the time of the given clock k is referred to as offset, which can be defined as:

[0041] θ k (t) = C k (t) - t.

[0042] Different radios can have different offsets and in order to operate at a common time, they need to acquire an estimate of the offset to compensate for so that the time of each radio k matches the ideal time, i.e.

[0043]

[0044] Such compensation can have effects such as preventing misalignment in the frame index from becoming so severe that the entire frame can be lost or become unusable, which can severely degrade the performance of the data transmission. Furthermore, the ranging operation can be prevented from being impaired, as the positioning uncertainty can be prevented from increasing (possibly to hundreds of meters). Furthermore, also collaborative services that require exchange of information between multiple network nodes can be prevented from becoming unusable due to their data transmission not being successfully combined, etc.

[0045] Certain 5G or future generation, such as 6G, related applications, such as SDT, IIoT, and XR positioning, can have accurate clock synchronization as a prerequisite. For example, such applications can require synchronization accuracy in the order of tens of picoseconds. Therefore, in the case of 5G as in the present example, the synchronization of gNBs needs to be close to perfect synchronization to allow for centimeter level accuracy for 5G based positioning and / or joint MIMO transmission schemes, where the transmitters are not collocated in the same hardware as in, e.g., joint transmission (JT) MIMO. To address such requirements, the following example embodiments discuss examples of forecasting clock drift of a clock of a 5G radio, such as a gNB, any transmission reception point (TRP), or a terminal device.

[0046] Figure 2 A flowchart according to an example embodiment of forecasting clock drift is shown. In this example embodiment, the clock drift is first predicted and then used for drift compensation to adjust the reported clock value to the true clock. It should be noted that the reported clock value can also be referred to as a reported time value. The first step S1 in this example embodiment comprises applying a machine learning (ML) model that predicts the clock drift by proposing a tunable clock drift model, after which a robust clock drift prediction can be made. The machine learning model can be customized and can utilize any suitable machine learning model, such as a deep neural network, ResNet, convolutional neural network, etc. Next, in S2, the temperature impact is modeled and taken into account based on the modeling by adjusting the predicted drift accordingly. Then, in S3, the impact of hardware (HW) aging is taken into account. Due to aging, the HW defects increase and the prediction can be improved over time to ensure robustness to the increase in HW defects. Then, in S4, the clock drift model can be instantiated with various complexities. This allows for a trade-off between complexity and performance. Finally, in S5, the model is trained in conjunction with the subsequent clock adjustment to obtain a hybrid ML model.

[0047] Figure 3Exemplary embodiments are shown in which an architecture for machine learning assisted clock drift prediction is shown. As previously mentioned, clock drift can be characterized by clock skew and offset. The instantaneous clock drift rate can be referred to as clock skew, and the time difference from the actual time can be referred to as time offset. Furthermore, as mentioned above, if the time reported by a clock at some ideal time t is written as C(t), then the difference between the ideal clock and the time of the given clock (i.e., the clock offset) is defined as:

[0048] θ(t) = C(t) - t (1)

[0049] The oscillator in the clock produces periodic pulses, and the difference between the rate at which these pulses are produced and the rate at which the ideal clock counts the desired interval is referred to as skew, and is represented by the following:

[0050]

[0051] Thus, the clock variation can be decomposed into three independent components:

[0052] 1. the instantaneous clock skew a(t),

[0053] 2. the initial clock offset θ0, and

[0054] 3. random measurement and other types of additive noise w(t).

[0055] Thus, the instantaneous clock offset at time t can be given as:

[0056]

[0057] After the sampling is performed, the continuous-time model becomes a discrete-time model, and a discrete clock model can be needed because synchronization can be obtained through timestamp message exchange. Thus, based on equation (2), the discrete-time clock model at time index n can be obtained as follows:

[0058]

[0059] where k is the sample index, τ k is the sampling period of the kth sample. The model can now be rewritten using a recursive form as:

[0060] θ n = θ n-1 + a n τ n + w n (5)

[0061] If the instantaneous clock offset is known or is estimated, i.e., a This can then be compensated by applying equation (1) and determining the correct time as:

[0062]

[0063] Next, an example of an estimation model of equation (4) is derived. This allows to estimate the subsequent clock skew. In this exemplary embodiment, it is assumed that the sampling rate is fixed, such as a uniform sampling, where and the sampling period is known.

[0064] Thus, if is the true time skew, then there is:

[0065]

[0066] Thus, U observations of the time skew can be collected and the differential skew

[0067]

[0068] n = 0: U - 1 (7)

[0069] After collecting the observations in (7), a model of the clock skew can be obtained, such that the prediction It should be noted that determining can also be understood as computing or calculating. Thereafter, the clock skew can be predicted using equation (6) and then corrected using equation (A) to obtain the true time.

[0070] Further, the estimation model can be further developed by using the following assumption: a V « U order autoregressive model of the skew, i.e. n = f(a n-i , i = 1: V) and the skew is based on the temperature T n : a n = f(a n-i , T n , i = 1: V)

[0071] As Figure 3 shown, after the above assumptions, a single output autoregressive (SO-AR) time series can be applied for the prediction. In other words, in the block diagram of Figure 3 there is a SO-AR model block 320, which illustrates SO-AR modeling. In this exemplary embodiment, based on the machine learning of the instantaneous skew a n there is:

[0072] 1. observed and / or estimated past skew by (7) where k = 1: V.

[0073] 2. current reporting time C n , and

[0074] 3. current observed temperature T n .

[0075] This is also shown in Figure 3 such that there is a block 310 showing the model order selection, a block 312 showing the past skew list according to feature (1) above. The past skew list can also be understood as a plurality of previous skews. There is also a block 314 showing feature (3) above, which shows the reported temperature as the current observed temperature, and a block 316 showing feature (2) above, which shows the reported time as the current reporting time. Then, blocks 310, 312, 314 and 316 are used as inputs to the SO-AR model shown in block 320.

[0076] In this exemplary embodiment, if the applied machine learning model is a neural network (NN), features (1)-(3) can be used as inputs to the NN to output This output is the predicted current skew shown in block 300. The NN can be of any suitable type, such as a long short-term memory (LSTM), a recurrent neural network (RNN) or a convolutional neural network (CNN). The NN can be preceded by standard data preparation, such as missing feature removal, normalization, etc. It should also be noted that any other suitable supervised learning can also be utilized instead of a NN.

[0077] Since now a prediction model for the clock skew is obtained, the clock offset at any future time instant z can be reconstructed using equation (6) by replacing n with z (A) can then be used to adjust the clock, since This is shown in Figure 3 such that block 340 shows the determination of the current clock offset based on the predicted current clock skew shown by block 300. In other words, block 300 shows the prediction of the current skew. Then, the clock adjustment is performed based on the current clock skew and the reported time, as shown by block 330. Based on the clock adjustment, the corrected time is then obtained as shown by block 350.

[0078] Figure 4 An exemplary embodiment showing a block architecture for training a machine learning model, such as the machine learning model for clock adjustment described previously. First, as shown by block 410, the parameters for the training, in other words the training data for the machine learning model, are selected, and then U training data samples are generated, as shown by block 420, which correspond to features (1)-(3) discussed above, for the range [T m , TM The temperature is uniformly extracted from [T]. For example, training data samples can be extracted from reference devices subjected to different temperature values, and thus from a uniform distribution of temperature values ​​(i.e., from the range [T]). m T M Temperature values ​​are extracted from the sample set. This is shown in box 422. Each V+1 sample set is then split into the first V samples used as training features, in other words, as shown in box 430, as input; and the V+1th sample used for the label, in other words, as output, as shown in box 440. It should be noted that the training data can also be used to tune the complexity of the baseline model; that is, different architectures can be trained for different model orders by varying V within a selected range [1, Vmax] (such as Vmax = 10).

[0079] Optionally, the generated training data batch may also include samples, such as differential offsets of recorded measurements, as shown in box 424. This can be obtained using equation (7) above. The generated training data may also optionally include recorded reported clocks, as shown in box 426; and recorded real clocks, as shown in box 428.

[0080] Then, the input from box 430 can be obtained through the following: box 452 showing a list of past skews, box 454 showing reported temperatures (which could be reported room temperatures), and box 456 showing reported times. Then, box 460 shows the SO-AR model, which can correspond to... Figure 3 The exemplary embodiment of the SO-AR model receives a list of past skews, reported temperatures, and reported times as input. Based on the SO-AR model, the current clock offset is then determined, as shown in box 480. Then, as shown in box 470, clock adjustment is performed based on the current clock offset and reported times, and as shown in box 490, the corrected time is obtained based on the clock adjustment.

[0081] Then, at the output of correction box 490, the cost function shown in box 495 can be generated by determining it as the mean square error (MSE) between the ideal time and the corrected time, i.e. Furthermore, the cost function can be backpropagated using the structure shown in the training architecture.

[0082] In this exemplary embodiment, training is implemented on the network side, and the solution can be deployed in any NR radio, such as at the gNB side, at the TRP, at any network relay node, and / or at any terminal device. It should also be noted that the training data for the machine learning model can be extracted in any suitable manner, for example, from a reference device or from a simulation device.

[0083] As mentioned above, the clock drift is affected by the lifetime of the built-in oscillator. Therefore, it is beneficial to periodically retrain the architecture to capture the aging effects. Thus, such as in this exemplary embodiment, the training architecture can be activated at regular time intervals (e.g., on the order of months) or on demand, e.g., a regular spike in the number of TA adjustment requests from the network, independent of the speed of the terminal device, can indicate a poor clock drift compensation.

[0084] By using the above exemplary embodiments, the power of so-called big data can be leveraged to obtain an evolved clock compensation model. Such a model can have advantages such as robustness to HW defects and aging, flexible implementation (e.g., performance and complexity can be jointly optimized by choosing the model order), and evolving model (e.g., variable model order) to adapt to intrinsic and extrinsic variable factors such as temperature.

[0085] Figure 5 An apparatus 500 according to an example embodiment is shown, which can be an apparatus such as a terminal device or an apparatus included therein. The apparatus 500 includes a processor 510. The processor 510 interprets computer program instructions and processes data. The processor 510 can include one or more programmable processors. The processor 510 can include programmable hardware with embedded firmware, and can alternatively or additionally include one or more application-specific integrated circuits ASICs.

[0086] The processor 510 is coupled to a memory 520. The processor is configured to read data from and write data to the memory 520. The memory 520 can include one or more memory units. The memory units can be volatile or non-volatile. It should be noted that in some exemplary embodiments, there can be one or more non-volatile memory units and one or more volatile memory units, or alternatively, there can be one or more non-volatile memory units or alternatively one or more volatile memory units. The volatile memory can be, for example, RAM, DRAM, or SDRAM. The non-volatile memory can be, for example, ROM, PROM, EEPROM, flash memory, optical memory, or magnetic memory. In general, the memory can be referred to as a non-transitory computer readable medium. The memory 520 stores computer readable instructions for execution by the processor 510. For example, the non-volatile memory stores the computer readable instructions, and the processor 510 executes the instructions, with the volatile memory being used to temporarily store data and / or instructions in the course of executing the instructions.

[0087] The computer readable instructions can have been pre-stored to the memory 520, or alternatively or additionally, they can be received by the apparatus via an electromagnetic carrier signal, and / or can be copied from a physical entity such as a computer program product. Execution of the computer readable instructions causes the apparatus 500 to perform the above-described functions.

[0088] In the context of the present document, a "memory" or "computer readable medium" can be any non-transitory medium or means that can include, store, communicate, propagate or transport instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.

[0089] The apparatus 500 also comprises or is connected to an input unit 530. The input unit 530 comprises one or more interfaces for receiving user input. The one or more interfaces can comprise, for example, one or more motion and / or orientation sensors, one or more cameras, one or more accelerometers, one or more microphones, one or more buttons, and one or more touch detection units. Furthermore, the input unit 530 can comprise an interface to which external devices can be connected.

[0090] The apparatus 500 also comprises an output unit 540. The output unit comprises or is connected to one or more displays capable of rendering visual content, such as light emitting diode, LED, displays, liquid crystal displays, LCDs, and liquid crystal on silicon, LCoS, displays. The output unit 540 also comprises one or more audio outputs. The one or more audio outputs can be, for example, a speaker or a set of headphones.

[0091] The apparatus 500 can also comprise a connection unit 550. The connection unit 550 enables wired and / or wireless connection to external networks. The connection unit 550 can comprise one or more antennas and one or more receivers, which can be integrated to the apparatus 500 or to which the apparatus 500 can be connected. The connection unit 550 can comprise an integrated circuit or a set of integrated circuits that provide wireless communication capabilities for the apparatus 500. Alternatively, the wireless connection can be a hard-wired application specific integrated circuit, ASIC.

[0092] It should be noted that the apparatus 500 can also comprise various components not shown in FIG. 5. The various components can be hardware components and / or software components. Figure 5

[0093] Figure 6 ​The apparatus 600 illustrates an example embodiment of an apparatus that can be an access node or comprised in an access node. The apparatus can be, for example, a circuitry or chipset suitable for use in an access node to implement the described embodiments. The apparatus 600 can be an electronic device comprising one or more electronic circuits. The apparatus 600 can comprise a communication control circuitry 610, such as at least one processor, and at least one memory 620 including a computer program code (software) 622, wherein the at least one memory and the computer program code (software) 622 are configured to, with the at least one processor, cause the apparatus 600 to perform any of the example embodiments of the access node described above.

[0094] The memory 620 can be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The memory can comprise a configuration database for storing configuration data. For example, the configuration database can store a current list of neighboring cells, and in some example embodiments, a structure of frames used in detected neighboring cells.

[0095] The apparatus 600 can further comprise a communication interface 630, including hardware and / or software for realizing communication connections according to one or more communication protocols. The communication interface 630 can provide the apparatus with wireless communication capabilities to communicate in a cellular communications system. The communication interface can for example provide a radio interface to terminal devices. The apparatus 600 can further comprise another interface towards a core network, such as a network coordinator apparatus, and / or to access nodes of a cellular communications system. The apparatus 600 can further comprise a scheduler 640 configured to allocate resources.

[0096] Although the present application has been described above with reference to examples according to the accompanying drawings, it is clear that the application is not limited thereto, but can be modified in various ways within the scope of the appended claims. Thus, all words and expressions should be interpreted broadly, and they are intended to illustrate, but not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. Further, it will be readily evident to persons skilled in the art that the described embodiments, while including, but not requiring, the various features can be combined with each other in various ways.

Claims

1. An apparatus comprising at least one processor and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus to: obtain a plurality of previous clock skew, reported temperature and reported time; obtain a prediction of a current clock skew based on the plurality of previous clock skew, reported temperature and reported time, wherein the prediction is obtained using a machine learning model, and training data for the machine learning model is extracted from a reference device when the reference device is subjected to different temperatures, and wherein values of the temperatures are obtained from a uniform distribution of values of the temperatures; determine a current clock offset based on the predicted current clock skew; determine a clock adjustment based on the current clock offset and the reported time; and determine a corrected time based on the clock adjustment.

2. The apparatus according to claim 1, wherein the machine learning model is comprised in a single-output autoregressive model.

3. The apparatus according to claim 1 or 2, wherein the machine learning model is a supervised machine learning model.

4. The apparatus according to any of claims 1 to 3, wherein the machine learning model is trained in combination with the obtained clock adjustment.

5. The apparatus according to any of claims 1 to 4, wherein the machine learning model is retrained at regular time intervals.

6. The apparatus according to any of claims 1 to 5, wherein the machine learning model is retrained when a system anomaly is detected.

7. The apparatus according to any of claims 1 to 6, wherein the apparatus is further caused to obtain the machine learning model.

8. A method comprising: obtaining a plurality of previous clock skew, reported temperature and reported time; obtaining a prediction of a current clock skew based on the plurality of previous clock skew, reported temperature and reported time, wherein the prediction is obtained using a machine learning model, and training data for the machine learning model is extracted from a reference device when the reference device is subjected to different temperatures, and wherein values of the temperatures are obtained from a uniform distribution of values of the temperatures; determining a current clock offset based on the predicted current clock skew; determining a clock adjustment based on the current clock offset and the reported time; and determining a corrected time based on the clock adjustment.

9. The method according to claim 8, wherein the machine learning model is trained in combination with the obtained clock adjustment.

10. The method according to claim 8 or 9, wherein the machine learning model is retrained when a system anomaly is detected and / or at regular time intervals.

11. A non-transitory computer readable medium comprising program instructions for causing an apparatus to perform at least the following: obtaining a plurality of previous clock skew, reported temperature and reported time; ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ based on the plurality of previous clock skews, the reported temperature, and the reported time, obtain a prediction of a current clock skew, wherein the prediction is obtained using a machine learning model, and training data for the machine learning model is extracted from a reference device when the reference device is subjected to different temperatures, and wherein values of the temperatures are obtained from a uniform distribution of values of the temperatures; based on the predicted current clock skew, determine a current clock offset; based on the current clock offset and the reported time, determine a clock adjustment; and based on the clock adjustment, determine a corrected time.

Citation Information

Patent Citations

  • Time synchronization using a weighted regression analysis

    US11063738B1