[go: up one dir, main page]

WO2025131359A1 - Phase calibration of client nodes with a server node - Google Patents

Phase calibration of client nodes with a server node Download PDF

Info

Publication number
WO2025131359A1
WO2025131359A1 PCT/EP2024/077822 EP2024077822W WO2025131359A1 WO 2025131359 A1 WO2025131359 A1 WO 2025131359A1 EP 2024077822 W EP2024077822 W EP 2024077822W WO 2025131359 A1 WO2025131359 A1 WO 2025131359A1
Authority
WO
WIPO (PCT)
Prior art keywords
client nodes
client
node
server node
phase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/EP2024/077822
Other languages
French (fr)
Inventor
Henrik RYDÉN
Reza Moosavi
Erik G. Larsson
Konstantinos Vandikas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of WO2025131359A1 publication Critical patent/WO2025131359A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/10Monitoring; Testing of transmitters
    • H04B17/11Monitoring; Testing of transmitters for calibration
    • H04B17/12Monitoring; Testing of transmitters for calibration of transmit antennas, e.g. of the amplitude or phase
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • Embodiments presented herein relate to a method, a server node, a computer program, and a computer program product for phase calibration of client nodes. Embodiments presented herein further relate to a method, a client node, a computer program, and a computer program product for phase calibration with the server node.
  • OtA over-the-air aggregation
  • One way for obtaining knowledge of the channel is for the client nodes to, upon request by the server node or periodically, transmit an uplink pilot signal, have the server node estimate the channel from measurements as made by the server node on the uplink pilot signals, and then inform the client nodes how much they should rotate their phases (and adjust their amplitudes) for their signals to be received with the desired phase at the server node. Once the client nodes have adjusted their phase, simultaneously transmitted data signals from multiple client nodes can add up constructively when received at the server node.
  • Another way, which can be most resource-efficient, is for the server node to, upon need or periodically, broadcast a downlink pilot signal, have the client nodes estimate the channel from measurements as made by the client nodes on this downlink pilot signal, and then rely on uplink/ downlink reciprocity.
  • Uplink/downlink reciprocity here means that the channel information for the uplink can be obtained from channel information for the downlink. But for this to work, and specifically for the data signals as transmitted by the client nodes to add up constructively at the server node, joint reciprocity calibration (or phase alignment) between the client nodes is required.
  • the latter basically corresponds to the situation as with joint coherent reciprocitybased downlink beamforming in distributed multiple-input multiple-output (D- MIMO) communication systems operating in time-division duplex (TDD), where the access points need to be jointly calibrated for reciprocity.
  • D- MIMO distributed multiple-input multiple-output
  • TDD time-division duplex
  • One example is provided in “Reciprocity calibration of Distributed Massive MIMO Access Points for Coherent Operation” by Joao Vieira and Erik G. Larsson as published in the proceedings of the 2021 IEEE 32nd Annual International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC).
  • the access points After applying the corrections given by the reciprocity calibration algorithms, the access points use the uplink channel estimates for downlink beamforming in such a way that the downlink signals add up coherently (constructively) at the user equipment.
  • reciprocity calibration can be used directly to synchronize client nodes for OtA transmission, but with the roles of the different network entities reversed such that the client nodes take the role of access points and the server node takes the role of the user equipment. That is, the client nodes perform bidirectional measurements with respect to one another in order to become jointly reciprocity-calibrated, and then after applying appropriate corrections the client nodes can simultaneously transmit data that adds up constructively at the server node.
  • An object of embodiments herein is to perform phase calibration of client nodes only when there is a high probability that the client nodes indeed are phase misaligned with respect to each other.
  • a method for phase calibration of client nodes is performed by a server node.
  • the method comprises receiving pilot sequences from the client nodes, wherein the pilot sequences are received as an over-the-air aggregation.
  • the method comprises calculating a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other.
  • the method comprises initiating phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.
  • a server node for phase calibration of client nodes.
  • the server node comprises processing circuitry.
  • the processing circuitry is configured to cause the server node to receive pilot sequences from the client nodes, wherein the pilot sequences are received as an over-the-air aggregation.
  • the processing circuitry is configured to cause the server node to calculate a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other.
  • the processing circuitry is configured to cause the server node to initiate phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.
  • a server node for phase calibration of client nodes.
  • the server node comprises a receive module configured to receive pilot sequences from the client nodes, wherein the pilot sequences are received as an over- the-air aggregation.
  • the server node comprises a calculate module configured to calculate a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other.
  • the server node comprises a calibrate module configured to initiate phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.
  • a computer program for phase calibration of client nodes comprises computer code which, when run on processing circuitry of a server node, causes the server node to perform actions.
  • One action comprises the server node to receive pilot sequences from the client nodes, wherein the pilot sequences are received as an over-the-air aggregation.
  • One action comprises the server node to calculate a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other.
  • One action comprises the server node to initiate phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.
  • a method for phase calibration with a server node is performed by a client node.
  • the method comprises obtaining an indication that transmission from the client node is phase misaligned with respect to transmission from other client nodes.
  • the method comprises, in response thereto, transmitting an indication of phase misalignment to the server node.
  • the method comprises transmitting a pilot sequence to the server node over- the-air.
  • the method comprises participating in phase calibration with the server node.
  • a client node for phase calibration with a server node.
  • the client node comprises processing circuitry.
  • the processing circuitry is configured to cause the client node to obtain an indication that transmission from the client node is phase misaligned with respect to transmission from other client nodes.
  • the processing circuitry is configured to cause the client node to, in response thereto, transmit an indication of phase misalignment to the server node.
  • the processing circuitry is configured to cause the client node to transmit a pilot sequence to the server node over-the-air.
  • the processing circuitry is configured to cause the client node to participate in phase calibration with the server node.
  • a client node for phase calibration with a server node comprises an obtain module configured to obtain an indication that transmission from the client node is phase misaligned with respect to transmission from other client nodes.
  • the client node comprises a transmit module configured to transmit an indication of phase misalignment to the server node.
  • the client node comprises a transmit module configured to transmit a pilot sequence to the server node over-the-air.
  • the client node comprises a calibrate module configured to participate in phase calibration with the server node.
  • a computer program for phase calibration with a server node comprises computer code which, when run on processing circuitry of a client node, causes the client node to perform actions.
  • One action comprises the client node to obtain an indication that transmission from the client node is phase misaligned with respect to transmission from other client nodes.
  • One action comprises the client node to, in response thereto, transmit an indication of phase misalignment to the server node.
  • One action comprises the client node to transmit a pilot sequence to the server node over-the-air.
  • One action comprises the client node to participate in phase calibration with the server node.
  • a ninth aspect there is presented a computer program product comprising a computer program according to at least one of the fourth aspect and the eighth aspect and a computer readable storage medium on which the computer program is stored.
  • the computer readable storage medium could be a non-transitory computer readable storage medium.
  • phase calibration of the client nodes is only to be performed when there is a high probability that the client nodes indeed are phase misaligned with respect to each other.
  • these aspects enable the server node to identify if signals as received from the client nodes are received in-phase or not. In this way, the robustness of operation of OtA aggregation can be improved.
  • phase (re-)calibration by the server node can be requested whenever needed and only for those client nodes that require it, which will consequently result in an increased efficiency due to less frequent need for (re-)calibration.
  • FIGS. 2 and 3 are flowcharts of methods according to embodiments
  • Fig. 4 is a signaling diagram of a method according to an embodiment
  • Fig. 5 is a schematic diagram showing structural units of a server node according to an embodiment
  • Fig. 6 is a schematic diagram showing functional modules of a server node according to an embodiment
  • Fig. 7 is a schematic diagram showing structural units of a client node according to an embodiment
  • Fig. 8 is a schematic diagram showing functional modules of a client node according to an embodiment
  • Fig. 9 shows one example of a computer program product comprising computer readable means according to an embodiment
  • Fig. 10 is a schematic diagram illustrating a telecommunication network connected via an intermediate network to a host computer in accordance with some embodiments; and Fig. n is a schematic diagram illustrating host computer communicating via a radio base station with a terminal device over a partially wireless connection in accordance with some embodiments.
  • the wording that a certain data item, piece of information, etc. is obtained by a first device should be construed as that data item or piece of information being retrieved, fetched, received, or otherwise made available to the first device.
  • the data item or piece of information might either be pushed to the first device from a second device or pulled by the first device from a second device.
  • the first device might be configured to perform a series of operations, possible including interaction with the second device. Such operations, or interactions, might involve a message exchange comprising any of a request message for the data item or piece of information, a response message comprising the data item or piece of information, and an acknowledge message of the data item or piece of information.
  • the request message might be omitted if the data item or piece of information is neither explicitly nor implicitly requested by the first device.
  • the wording that a certain data item, piece of information, etc. is provided by a first device to a second device should be construed as that data item or piece of information being sent or otherwise made available to the second device by the first device.
  • the data item or piece of information might either be pushed to the second device from the first device or pulled by the second device from the first device.
  • the first device and the second device might be configured to perform a series of operations in order to interact with each other.
  • Such operations, or interaction might involve a message exchange comprising any of a request message for the data item or piece of information, a response message comprising the data item or piece of information, and an acknowledge message of the data item or piece of information.
  • the request message might be omitted if the data item or piece of information is neither explicitly nor implicitly requested by the second device.
  • the wording that a certain data item, piece of information, etc. is transmitted from a first device to a second devices does not exclude that the data item, piece of information, etc. is transmitted via at least one intermediate device.
  • Fig. 1 is a schematic diagram illustrating a communication network loo where embodiments presented herein can be applied.
  • the communication network 100 could be a third generation (3G) telecommunications network, a fourth generation (4G) telecommunications network, a fifth (5G) telecommunications network, a sixth (6G) telecommunications network, and support any 3GPP telecommunications standard.
  • the communication network 100 comprises a network node 110 configured to provide network access to user equipment 120a, 120k, 120K in an (radio) access network over communication links 130.
  • the network node 110 might be part of, collocated with, or integrated with a transmission and reception point.
  • Examples of network nodes 110 are (radio) access network nodes, radio base stations, base transceiver stations, Node Bs (NBs), evolved Node Bs (eNBs), gNBs, access points, access nodes, and integrated access and backhaul nodes.
  • Examples of user equipment 120a: 120K are wireless devices, mobile stations, mobile phones, handsets, wireless local loop phones, smartphones, laptop computers, tablet computers, network equipped sensors, network equipped vehicles, and so-called Internet of Things devices.
  • the user equipment 120a: 120K are to be utilized during an iterative learning process where the user equipment 120a: 120K as part of performing the iterative learning process report computational results to the network node 110.
  • the network node 110 therefore comprises, is collocated with, or integrated with, a server node 200 and each of the user equipment 120a: 120K comprises, is collocated with, or integrated with, a respective client node 300a:300K.
  • FL Federated learning in an example of decentralized learning, where multiple (possibly large numbers of) client nodes participate in the training of a shared global model by exchanging model updates with a central server node.
  • FL implements an iterative process where each global iteration, often referred to as a communication round, is divided into phases as disclosed next.
  • the server node broadcasts the current model parameter vector 6 (an TV-dimensional vector) to all participating client nodes.
  • the client nodes perform one or more steps of a stochastic gradient descent on the model parameter vector 6 using their own (private) training data to obtain a model update.
  • the /c:th client node obtains a gradient update 8 k (an TV-dimensional vector) of the model.
  • each of the client nodes transmit their TV-dimensional vector model updates 6 , ... , S K to the server node (henceforth K is the number of client nodes).
  • the server node aggregates the received updates by adding them together and the updates the model parameter vector 6 based on the aggregation.
  • a typical aggregation rule for the server node is to sum the updates, that is, compute the TV-dimensional total update vector:
  • an RE could be, for example: (i) one sample in time in a single-carrier system, or (ii) one subcarrier in one Orthogonal Frequency Division Multiplexing (OFDM) symbol in a multicarrier system, or (iii) a particular spatial beam or a combination of a beam and a time-and-frequency resource.
  • OFDM Orthogonal Frequency Division Multiplexing
  • the client nodes send ⁇ 8, , ..., 8 ; ⁇ ⁇ simultaneously, using N REs, through linear analog modulation.
  • This principle is referred to as over-the-air (OtA) aggregation.
  • At least some of the herein disclosed embodiments are therefore based on at least some of the client nodes, for example upon receiving an instruction to do so, simultaneously transmit a pilot sequence.
  • the sum of this pilot sequence, using over- the-air aggregation, is received at the server node.
  • the server node could then compare the received sum sequence with an expected ground-truth, and initiate a (re- )calibration procedure only when needed.
  • the server server broadcasts a pilot sequence and the client nodes periodically estimate g k from that pilot sequence, then ⁇ p k ⁇ capture the reciprocity calibration errors between the client nodes.
  • the server node could compute a metric m(y, z) that quantifies how much y differs from the expected z.
  • this metric could be the squared Euclidean distance, and thus:
  • Fig. 2 illustrating a method for phase calibration of client nodes 300a:300K as performed by the server node 200 according to an embodiment.
  • the server node 200 receives pilot sequences from the client nodes 300a:300K.
  • the pilot sequences are received as an over-the-air aggregation.
  • the server node 200 calculates a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other.
  • the server node 200 initiates phase calibration for at least some of the client nodes 300a:300K when the phase offset value fulfils a triggering condition.
  • the server node 200 sends a phase calibration factor to the client nodes 300a:300K for the client nodes 300a:300K to apply to adjust their phases during subsequent transmissions to the server node 200.
  • initiating the phase calibration comprises the server node 200 to transmit a phase calibration factor to the aforementioned at least some of the client nodes 300a:300K, where the phase calibration factor defines how much the aforementioned at least some of the client nodes 300a:300K are to adjust their phases during subsequent transmissions to the server node 200.
  • the triggering condition is fulfilled when the absolute value of the phase offset value is larger than a phase offset threshold value (defined by e).
  • L 1
  • the server node 200 is configured to perform (optional) step S102:
  • the server node 200 configures the client nodes 300a:300K with the pilot sequences.
  • the server node 200 might send instructions identifying the pilot sequences to the client nodes 300a:300K.
  • the metric m(y, z) is tracked over time from multiple measurements and re-calibration is initiated when a significant drift is detected.
  • the metric m(y, z) will contain noise, and filtering (for example, using a moving-average or other lowpass filter, e.g. a Kalman filter or a moving median filter) can be performed to filter out the noise.
  • filtering for example, using a moving-average or other lowpass filter, e.g. a Kalman filter or a moving median filter
  • the server node 200 requests at least some of the client nodes sooaisooKto transmit the pilot sequences.
  • the server node 200 can instruct only those client nodes 300a:300K that are suspected to have drifted in phase to participate in the transmission.
  • client nodes 300a:300Kthat are known to drift in phase faster are scheduled to transmit pilot sequence more often than other client nodes. Therefore, in some embodiments, which of the client nodes 300a:300K that are requested to transmit the pilot sequences is based on historical information of phase misalignment among the client nodes 300a:300K.
  • the server node 200 requests the client nodes sooaisooKto inform their capabilities in advance, for example by indicating a UE category class, which can be used to set the periodicity of the pilot sequence transmissions. Therefore, in some embodiments, which of the client nodes 300a:300K that are requested to transmit the pilot sequences is based on capability information of the client nodes 300a:300K.
  • the client nodes 300a:300K are excluded from transmission in a sequential manner. For example, at time instance i client nodes ⁇ 1, 2, ... , i — 1, i + 1, ... , K are instructed to transmit the pilot sequence s k . In this case, upon detection of misalignment at any time instance, the server node 200 knows which one or more client node that requires phase alignment.
  • the pilot sequences s k are be selected to be of length K (i.e., corresponding to the total number of client nodes) and are selected such that the j :th component of the sequence is zero (or one) for the j :th client node whilst the rest of the components are one (or zero) for the j :th client node.
  • K i.e., corresponding to the total number of client nodes
  • the server node can decide which exact client node that requires phase alignment.
  • the client nodes 300a:300K are requested to transmit pilot sequences less often in early global iterations and more often during later global iterations or vice versa (since phase alignments might be more crucial in different stages of the iteration learning process). That is, in some embodiments, the phase calibration is part of an iterative learning process performed in iterations with the client nodes 300a:300K, and the at least some of the client nodes 300a:300K are requested to repeatedly transmit the pilot sequences more frequently for later iterations of the iterative learning process than for early iterations of the iterative learning process. It is also possible to set the threshold for detecting the need for phase recalibration as a function of the global iterations.
  • the subset of client nodes sooaisooKto take part in the calibration is based on information as received by the server node 200 from the client nodes 300a:300K.
  • the server node 200 is configured to perform (optional) step 8104a: Si04a: The server node 200 receives an indication of phase misalignment from at least one of the client nodes 300a:300K. Which of the client nodes 300a:300K that are requested to transmit the pilot sequences can then be based on from which of the client nodes 300a:300Kthe indication of phase misalignment is received.
  • the client nodes 300a:300K report their model performance on its local dataset in each iteration, the server node 200 aggregates the model performance for all client nodes 300a:300K and initiates calibration in case the model performance is below some performance threshold.
  • the server node 200 is configured to perform (optional) step 8104b:
  • the server node 200 performs an iteration of an iterative learning process with the client nodes 300a:300K. As part thereof, the server node 200 receives a model performance indicator from the client nodes 300a:300K as computed based on datasets local to the client nodes 300a:300K. Then, the aforementioned at least some of the client nodes 300a:300K are requested to transmit the pilot sequences when the model performance indicator fails to satisfy a quality conditions.
  • the server node 200 has access to a local dataset and initiates calibration in case the model performance based on the local dataset is below a certain performance threshold. Hence, in some embodiments, the server node 200 is configured to perform (optional) step 8104c:
  • the server node 200 performs performs an iteration of an iterative learning process with the client nodes 300a:300K. As part thereof, the server node 200 computes a model performance indicator based on its own local dataset. Then, the aforementioned at least some of the client nodes 300a:300K are requested to transmit the pilot sequences when the model performance indicator fails to satisfy a quality conditions.
  • a group testing strategy can be used. That is, in some embodiments, which of the client nodes 300a:300K that are requested to transmit the pilot sequences is based on group testing. For example, if it is known or suspected, that only a small number of the client nodes 300a:300K are phase-misaligned, then the testing procedure can be activated several times in a row, each time requesting a different subset of client nodes to participate. These subsets could be selected using any known group testing combinatorial design. In this way, the client nodes that are phase misaligned can be identified and requested to participated in the phase calibration.
  • the server node can test several client nodes (partitioned by groups) in parallel to be able to identify as quickly as possible the group that contains the client nodes that have a misaligned phase.
  • the process takes place in rounds. As an example, for the first round the server node selects a group size and partition the client nodes as groups. The client nodes in each group transmits its sum where i is the identity of the group, and the server node checks if the sum is misaligned or not. If the sum is misaligned for a given group then the server node can proceed to a second round by splitting the participants of the given group even further to identify the client nodes which requires phase alignment. The same procedure can be performed in parallel for the other groups. The process can be repeated until all client nodes that are phase misaligned have been found.
  • the server node 200 excludes the one or more client nodes 300a:300K needing phase-alignment in the OtA aggregation of the model gradients. Hence, in some embodiments, the server node 200 is configured to perform (optional) steps S112 and S114.
  • the server node 200 identifies a subset of the client nodes 300a:300K needing phase calibration.
  • S114 The server node 200 performs an iteration of an iterative learning process with the client nodes 300a:300K, where the client nodes 300a:300Kin the identified subset of the client nodes 300a:300K are excluded from the iteration of the iterative learning process.
  • the server node 200 initiates an iteration of the iterative learning process for all client nodes when the client nodes have been phase aligned.
  • the server node 200 is configured to perform (optional) step S118.
  • one iteration of the iterative learning process that might be performed by the server node 200 during each iteration of the iterative learning process comprises the server node 200 providing a parameter vector of a computational task to train a machine learning model to the client nodes 300a:300K, the server node 200 receivings the computational results as a function of the parameter vector from the client nodes 300a:300K, and the server node 200 updatings the parameter vector as a function of an aggregate of the received computational results. Iterations can be performed until a termination criterion is met.
  • the termination criterion in some non-limiting examples can be when a predetermined number of iterations have been reached, when an aggregated loss function has reached a desired value, or when the aggregated loss function does not decrease after one (or several round) of iterations.
  • the loss function itself represents a prediction error, such as mean square error or mean absolute error.
  • Fig. 3 illustrating a method for phase calibration with a server node 200 as performed by the client node 300k according to an embodiment.
  • the client node 300k obtains an indication that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K.
  • S206 The client node 300k, in response thereto, transmits an indication of phase misalignment to the server node 200.
  • the client node 300k transmits a pilot sequence to the server node 200 over- the-air.
  • S212 The client node 300k participates in phase calibration with the server node 200.
  • the server node 200 might in an optional step S102 configure the client nodes 300a:300K with pilot sequence.
  • the client node 300k is configured to perform (optional) step S202.
  • the client node 300k receives configuration of the pilot sequence from the server node 200.
  • the client node 300k might from the server node 200 receive instructions identifying the pilot sequence to be used.
  • the client node 300k is configured to perform (optional) step S208.
  • the client node 300k receives a request from the server node 200 for the client node 300k to transmit the pilot sequence.
  • the client node 300k can obtain the indication in step S204 that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K.
  • the indication that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K is obtained as part of the client node 300k participating in an iterative learning process with the server node 200.
  • the client node 300k detects that there is a large difference in its local model and the latest global model broadcasted from the server node 200. This can indicate that the local model parameters as sent by the client node 300k to the server node 200 were not reflected in the latest OtA update.
  • the transmission of the local model parameters was phase-misaligned with respect to the transmission of local model parameters from other client nodes 300a:300K
  • the indication that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K is obtained by the client node 300k detecting that a difference between a global model as received from the server node 200 and a local model as computed by the client node 300k as part of participating in the iterative learning process is larger than a threshold value.
  • the client node 300k detects a large clock drift, for example due to some hardware issue in the client node 300k causing a local oscillator to be instable.
  • the client node 300k might therefore request to be calibrated, for example to ensure that the client node 300k can still accurately take part in, and contribute to, an iterative learning process.
  • the indication that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K is obtained by the client node 300k detecting a clock drift occuring in the client node 300k.
  • the server node 200 might as part of performing the calibration send a phase calibration factor for the client nodes 300a:300K to apply. That is, in some embodiments, participating in the phase calibration comprises the client node 300k receiving a phase calibration factor from the server node 200 and applying the phase calibration factor during subsequent transmissions to the server node 200 as part of participating in an iterative learning process with the server node 200.
  • the phase calibration factor defines how much the client node 300k is to adjust its phases during the subsequent transmissions to the server node 200.
  • the server node 200 might in an optional step S118 initiate an iteration of an iterative learning process with the client nodes 300a:300K upon the phase calibration having been performed for the aforementioned at least some of the client nodes 300a:300K.
  • the client node 300k is configured to perform (optional) step S214.
  • the client node 300k participates in an iteration of an iterative learning process with the server node 200 upon having performed the phase calibration with the server node 200.
  • one iteration of the iterative learning process as performed by the client node 300k during each iteration of the iterative learning process comprises the agent node 300k obtaining a parameter vector of a computational task for training a machine learning model from the server node 200, the client node 300k determining the computational result of the computational task as a function of the obtained parameter vector for the iteration and of data locally obtained by the client node 300k, and the client node 300k reporting the computational result to the server node 200.
  • phase calibration of client nodes 300a:300K based on at least some of the above disclosed embodiments, will now be disclosed in detail with reference to the signaling diagram of Fig. 4. In some aspects of this embodiment it is assumed that an iterative learning process is ongoing.
  • S301 The client nodes 300a:300K indicate their iterative learning process performance.
  • the server node 200 configures the client nodes 300a:300K with pilot sequences.
  • the client nodes 300a:300K transmit the pilot sequences.
  • the pilot sequences are by the server node 200 received as an OtA aggregation.
  • S304 The server node 200, based on comparing the OtA aggregation to a ground truth, calculates a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other and checks if the phase offset value fulfils a triggering condition or not.
  • S305 The server node 200, in case the triggering condition is fulfilled, initiates phase calibration for at least some of the client nodes 300a:300K.
  • S306 The client nodes 300a:300K performs an iteration of an iterative learning process with the server node 200 after the phase calibration has been completed.
  • the client nodes 300a:300K are configured with a computational task for training a machine learning model.
  • the computational task pertains to prediction of best secondary carrier frequencies to be used by user equipment 120a: 120K in which the client nodes 300a:300K are provided.
  • the data locally obtained by the client node 300k can then represent a measurement on a serving carrier of the user equipment 120k.
  • the best secondary carrier frequencies for user equipment i2oa:i2oK can be predicted based on their measurement reports on the serving carrier. The secondary carrier frequencies as reported thus defines the computational result.
  • the client nodes 300a:300K can be trained by the server node 200, where each client node 300k, according to the machine learning model, takes as input the measurement reports on the serving carrier(s) (among possibly other available reports such as timing advance, etc.) and as outputs a prediction of whether the user equipment 120k in which the client node 300k is provided has coverage or not in the secondary carrier frequency.
  • the computational task pertains to compressing channel-state-information using an auto-encoder, where the server node 200 implements a decoder of the auto-encoder, and where each of the client nodes 300a:300K, according to the machine learning model, implements a respective encoder of the auto-encoder.
  • An autoencoder can be regarded as a type of neural network used to learn efficient data representations.
  • the computational task pertains to signal quality drop prediction.
  • the signal quality drop prediction is based on measurements on wireless links used by user equipment 120a: 120K in which the client nodes 300a:300K are provided.
  • the server node 200 can learn, for example, what sequence of signal quality measurements (e.g., reference signal received power; RSRP) that results in a large signal quality drop.
  • RSRP reference signal received power
  • the server node 200 can provide the model to the client nodes 300a:300K.
  • the model can be provided either to client nodes 300a:300K having taken part in the training, or to other client nodes 300a:300K.
  • the client nodes 300a:300K can then apply the model to predict future signal quality values.
  • This signal quality prediction can then be used in the context of any of: initiating inter-frequency handover, setting handover and/or reselection parameters, changing device scheduler priority so as to schedule the user equipment 120a: 120K when the expected signal quality is good.
  • the data for training such a model is located at the device-side where the client nodes 300a:300K reside, and hence an iterative learning process as disclosed herein can be used to efficiently learn the future signal quality prediction.
  • the iterative learning procedure concerns mapping one or more geolocations to a radio signal quality values, or bitrate values.
  • client nodes 300a:300K have a dataset of geolocation to Signal-to-Interference-plus-Noise Ratio (SINR) mappings according to each respective dotted area (where the SINR takes a normalized value from o to 1).
  • SINR Signal-to-Interference-plus-Noise Ratio
  • the iterative learning procedure concerns surveillance, using a network of cameras, of a particular area public or private).
  • Each camera is associated with its own client node 300a:300K.
  • the network is configured to learn a global machine learning model that can be used to detect whether suspicious activity is ongoing in any of the video imagery as captured by the cameras.
  • the suspicious activity could pertain to identifying unauthorized persons present in a private area, identifying vehicles in the area, or monitoring the area for any criminal activity.
  • the cameras however, for privacy reasons, are not allowed to share their raw image data.
  • An iterative learning procedure can then be used to train the global machine learning model, where the cameras share only model (gradient) updates in terms of parameter vectors, rather than their observations.
  • the parameter vectors might represent predictions of the content in the images (for examples, parameters of a face recognition algorithm).
  • the iterative learning procedure concerns a natural language processing application.
  • the client nodes 300a:300K could learn a language model that represents a machine learning model, for example for text prediction when typing on a user equipment 120a: 120K, such as a mobile device, where each of the client nodes 300a:300K thus could be associated with their own user equipment 120a: 120K.
  • a user equipment 120a: 120K such as a mobile device
  • each of the client nodes 300a:300K thus could be associated with their own user equipment 120a: 120K.
  • Fig. 5 schematically illustrates, in terms of a number of structural units, the components of a server node 200 according to an embodiment.
  • Processing circuitry 210 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 910a (as in Fig. 9), e.g. in the form of a storage medium 230.
  • the processing circuitry 210 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the processing circuitry 210 is configured to cause the server node 200 to perform a set of operations, or steps, as disclosed above.
  • the storage medium 230 may store the set of operations
  • the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the server node 200 to perform the set of operations.
  • the set of operations maybe provided as a set of executable instructions.
  • the processing circuitry 210 is thereby arranged to execute methods as herein disclosed.
  • the storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
  • the server node 200 may further comprise a communications (comm.) interface 220 for communications at least with the client nodes 300a:300K.
  • the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components.
  • the processing circuitry 210 controls the general operation of the server node 200 e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230.
  • Other components, as well as the related functionality, of the server node 200 are omitted in order not to obscure the concepts presented herein.
  • Fig. 6 schematically illustrates, in terms of a number of functional modules, the components of a server node 200 according to an embodiment.
  • the server node 200 of Fig. 6 comprises a number of functional modules; a receive module 2iof configured to perform step Sio8, a calculate module 210g configured to perform step Sno, and a calibrate module 2ioj configured to perform step Sn6.
  • 6 may further comprise a number of optional functional modules, such as any of a configure module 210a configured to perform step S102, a receive module 210b configured to perform step 8104a, a receive module 210c configured to perform step 8104b, a calculate module 2iod configured to perform step S104C, a request module 2ioe configured to perform step S106, an identify module 2ioh configured to perform step S112, a process module 2ioi configured to perform step S114, and an initiate module 210k configured to perform step S118.
  • a configure module 210a configured to perform step S102
  • a receive module 210b configured to perform step 8104a
  • a receive module 210c configured to perform step 8104b
  • a calculate module 2iod configured to perform step S104C
  • a request module 2ioe configured to perform step S106
  • an identify module 2ioh configured to perform step S112
  • a process module 2ioi configured to perform step S114
  • an initiate module 210k
  • each functional module 210a: 210k maybe implemented in hardware or in software.
  • one or more or all functional modules 210a: 210k may be implemented by the processing circuitry 210, possibly in cooperation with the communications interface 220 and/or the storage medium 230.
  • the processing circuitry 210 may thus be arranged to from the storage medium 230 fetch instructions as provided by a functional module 2ioa:2iok and to execute these instructions, thereby performing any steps of the server node 200 as disclosed herein.
  • the server node 200 may be provided as a standalone device or as a part of at least one further device.
  • the server node 200 may be provided in a node of a radio access network or in a node of a core network.
  • functionality of the server node 200 may be distributed between at least two devices, or nodes. These at least two nodes, or devices, may either be part of the same network part (such as the radio access network or the core network) or may be spread between at least two such network parts.
  • instructions that are required to be performed in real time may be performed in a device, or node, operatively closer to the cell than instructions that are not required to be performed in real time.
  • a first portion of the instructions performed by the server node 200 may be executed in a first device, and a second portion of the instructions performed by the server node 200 may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the server node 200 may be executed.
  • the methods according to the herein disclosed embodiments are suitable to be performed by a server node 200 residing in a cloud computational environment. Therefore, although a single processing circuitry 210 is illustrated in Fig. 5 the processing circuitry 210 may be distributed among a plurality of devices, or nodes. The same applies to the functional modules 2ioa:2iok of Fig. 6 and the computer program 920a of Fig. 9.
  • Fig. 7 schematically illustrates, in terms of a number of structural units, the components of a client node 300k according to an embodiment.
  • Processing circuitry 310 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 910b (as in Fig. 9), e.g. in the form of a storage medium 330.
  • the processing circuitry 310 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the processing circuitry 310 is configured to cause the client node 300k to perform a set of operations, or steps, as disclosed above.
  • the storage medium 330 may store the set of operations
  • the processing circuitry 310 may be configured to retrieve the set of operations from the storage medium 330 to cause the client node 300k to perform the set of operations.
  • the set of operations may be provided as a set of executable instructions.
  • the processing circuitry 310 is thereby arranged to execute methods as herein disclosed.
  • the storage medium 330 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
  • the client node 300k may further comprise a communications interface 320 for communications at least with the server node 200 and optionally with other client nodes 300a:300K.
  • the communications interface 320 may comprise one or more transmitters and receivers, comprising analogue and digital components.
  • the processing circuitry 310 controls the general operation of the client node 300k e.g. by sending data and control signals to the communications interface 320 and the storage medium 330, by receiving data and reports from the communications interface 320, and by retrieving data and instructions from the storage medium 330.
  • Other components, as well as the related functionality, of the client node 300k are omitted in order not to obscure the concepts presented herein.
  • Fig. 8 schematically illustrates, in terms of a number of functional modules, the components of a client node 300k according to an embodiment.
  • the client node 300k of Fig. 8 may further comprise a number of optional functional modules, such as any of a receive module 310a configured to perform step S202, a receive module 3iod configured to perform step S208, and a learn module 310g configured to perform step S214.
  • each functional module 3ioa:3iog may be implemented in hardware or in software.
  • one or more or all functional modules 3ioa:3iog may be implemented by the processing circuitry 310, possibly in cooperation with the communications interface 320 and/or the storage medium 330.
  • the processing circuitry 310 may thus be arranged to from the storage medium 330 fetch instructions as provided by a functional module 3ioa:3iog and to execute these instructions, thereby performing any steps of the client node 300k as disclosed herein.
  • Fig. 9 shows one example of a computer program product 910a, 910b comprising computer readable means 930.
  • a computer program 920a can be stored, which computer program 920a can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein.
  • the computer program 920a and/or computer program product 910a may thus provide means for performing any steps of the server node 200 as herein disclosed.
  • a computer program 920b can be stored, which computer program 920b can cause the processing circuitry 310 and thereto operatively coupled entities and devices, such as the communications interface 320 and the storage medium 330, to execute methods according to embodiments described herein.
  • the computer program 920b and/or computer program product 910b may thus provide means for performing any steps of the client node 300k as herein disclosed.
  • the computer program product 910a, 910b is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu- Ray disc.
  • the computer program product 910a, 910b could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory.
  • RAM random access memory
  • ROM read-only memory
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • the computer program 920a, 920b is here schematically shown as a track on the depicted optical disk, the computer program 920a,
  • Fig. 10 is a schematic diagram illustrating a telecommunication network connected via an intermediate network 420 to a host computer 430 in accordance with some embodiments.
  • a communication system includes telecommunication network 410, such as a 3GPP-type cellular network, which comprises access network 411, and core network 414.
  • Access network 411 comprises a plurality of radio access network nodes 412a, 412b, 412c, such as NBs, eNBs, gNBs (each corresponding to the network node 110 of Fig. 1) or other types of wireless access points, each defining a corresponding coverage area, or cell, 413a, 413b, 413c.
  • Each radio access network nodes 412a, 412b, 412c is connectable to core network 414 over a wired or wireless connection 415.
  • a first UE 491 located in coverage area 413c is configured to wirelessly connect to, or be paged by, the corresponding network node 412c.
  • a second UE 492 in coverage area 413a is wirelessly connectable to the corresponding network node 412a. While a plurality of UE 491, 492 are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole UE is in the coverage area or where a sole terminal device is connecting to the corresponding network node 412.
  • the UEs 491, 492 correspond to the user equipment 120a: 120N of Fig. 1.
  • Telecommunication network 410 is itself connected to host computer 430, which may be embodied in the hardware and/or software of a standalone server, a cloud- implemented server, a distributed server or as processing resources in a server farm.
  • Host computer 430 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider.
  • Connections 421 and 422 between telecommunication network 410 and host computer 430 may extend directly from core network 414 to host computer 430 or may go via an optional intermediate network 420.
  • Intermediate network 420 may be one of, or a combination of more than one of, a public, private or hosted network; intermediate network 420, if any, may be a backbone network or the Internet; in particular, intermediate network 420 may comprise two or more sub-networks (not shown).
  • the communication system of Fig. 10 as a whole enables connectivity between the connected UEs 491, 492 and host computer 430.
  • the connectivity may be described as an over-the-top (OTT) connection 450.
  • Host computer 430 and the connected UEs 491, 492 are configured to communicate data and/or signalling via OTT connection 450, using access network 411, core network 414, any intermediate network 420 and possible further infrastructure (not shown) as intermediaries.
  • OTT connection 450 may be transparent in the sense that the participating communication devices through which OTT connection 450 passes are unaware of routing of uplink and downlink communications.
  • network node 412 may not or need not be informed about the past routing of an incoming downlink communication with data originating from host computer 430 to be forwarded (e.g., handed over) to a connected UE 491. Similarly, network node 412 need not be aware of the future routing of an outgoing uplink communication originating from the UE 491 towards the host computer 430.
  • Fig. 11 is a schematic diagram illustrating host computer communicating via a radio access network node with a UE over a partially wireless connection in accordance with some embodiments.
  • Example implementations, in accordance with an embodiment, of the UE, radio access network node and host computer discussed in the preceding paragraphs will now be described with reference to Fig. 11.
  • host computer 510 comprises hardware 515 including communication interface 516 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of communication system 500.
  • Host computer 510 further comprises processing circuitry 518, which may have storage and/or processing capabilities.
  • processing circuitry 518 may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions.
  • Host computer 510 further comprises software 511, which is stored in or accessible by host computer 510 and executable by processing circuitry 518.
  • Software 511 includes host application 512.
  • Host application 512 may be operable to provide a service to a remote user, such as UE 530 connecting via OTT connection 550 terminating at UE 530 and host computer 510.
  • the UE 530 corresponds to the user equipment 120a: 120N of Fig. 1.
  • host application 512 may provide user data which is transmitted using OTT connection 550.
  • Communication system 500 further includes radio access network node 520 provided in a telecommunication system and comprising hardware 525 enabling it to communicate with host computer 510 and with UE 530.
  • the radio access network node 520 corresponds to the network node 110 of Fig. 1.
  • Hardware 525 may include communication interface 526 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of communication system 500, as well as radio interface 527 for setting up and maintaining at least wireless connection 570 with UE 530 located in a coverage area (not shown in Fig. 11) served by radio access network node 520.
  • Communication interface 526 may be configured to facilitate connection 560 to host computer 510. Connection 560 may be direct or it may pass through a core network (not shown in Fig.
  • radio access network node 520 further includes processing circuitry 528, which may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions.
  • Radio access network node 520 further has software 521 stored internally or accessible via an external connection.
  • Communication system 500 further includes UE 530 already referred to. Its hardware 535 may include radio interface 537 configured to set up and maintain wireless connection 570 with a radio access network node serving a coverage area in which UE 530 is currently located. Hardware 535 of UE 530 further includes processing circuitry 538, which may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. UE 530 further comprises software 531, which is stored in or accessible by UE 530 and executable by processing circuitry 538. Software 531 includes client application 532. Client application 532 may be operable to provide a service to a human or non-human user via UE 530, with the support of host computer 510.
  • an executing host application 512 may communicate with the executing client application 532 via OTT connection 550 terminating at UE 530 and host computer 510.
  • client application 532 may receive request data from host application 512 and provide user data in response to the request data.
  • OTT connection 550 may transfer both the request data and the user data.
  • Client application 532 may interact with the user to generate the user data that it provides.
  • host computer 510, radio access network node 520 and UE 530 illustrated in Fig. 11 may be similar or identical to host computer 430, one of network nodes 412a, 412b, 412c and one of UEs 491, 492 of Fig. 10, respectively.
  • the inner workings of these entities may be as shown in Fig. 11 and independently, the surrounding network topology may be that of Fig. 10.
  • OTT connection 550 has been drawn abstractly to illustrate the communication between host computer 510 and UE 530 via network node 520, without explicit reference to any intermediary devices and the precise routing of messages via these devices.
  • Network infrastructure may determine the routing, which it may be configured to hide from UE 530 or from the service provider operating host computer 510, or both. While OTT connection 550 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network).
  • Wireless connection 570 between UE 530 and radio access network node 520 is in accordance with the teachings of the embodiments described throughout this disclosure.
  • One or more of the various embodiments improve the performance of OTT services provided to UE 530 using OTT connection 550, in which wireless connection 570 forms the last segment. More precisely, the teachings of these embodiments may reduce interference, due to improved classification ability of airborne UEs which can generate significant interference.
  • a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve.
  • the measurement procedure and/or the network functionality for reconfiguring OTT connection 550 may be implemented in software 511 and hardware 515 of host computer 510 or in software 531 and hardware 535 of UE 530, or both.
  • sensors (not shown) may be deployed in or in association with communication devices through which OTT connection 550 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 511, 531 may compute or estimate the monitored quantities.
  • the reconfiguring of OTT connection 550 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect network node 520, and it may be unknown or imperceptible to radio access network node 520. Such procedures and functionalities may be known and practiced in the art.
  • measurements may involve proprietary UE signalling facilitating host computer’s 510 measurements of throughput, propagation times, latency and the like.
  • the measurements may be implemented in that software 511 and 531 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using OTT connection 550 while it monitors propagation times, errors etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

There is provided techniques for phase calibration of client nodes. A method is performed by a server node. The method comprises receiving pilot sequences from the client nodes, wherein the pilot sequences are received as an over-the-air aggregation. The method comprises calculating a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other. The method comprises initiating phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.

Description

PHASE CALIBRATION OF CLIENT NODES WITH A SERVER NODE
TECHNICAL FIELD
Embodiments presented herein relate to a method, a server node, a computer program, and a computer program product for phase calibration of client nodes. Embodiments presented herein further relate to a method, a client node, a computer program, and a computer program product for phase calibration with the server node.
BACKGROUND
Consider a collection of devices, such as client nodes implemented in user equipment, that transmit data to be aggregated at a server, sucha s a server node implemented in a network node, using over-the-air aggregation (OtA). Such data could be gradient updates of a machine-learning model. For OtA aggregation to work, the client nodes must have access to accurate channel state information (or at least know the phase of the channel to the server node) and also, they must keep a stable phase reference for the entire duration of the transmission.
One way for obtaining knowledge of the channel is for the client nodes to, upon request by the server node or periodically, transmit an uplink pilot signal, have the server node estimate the channel from measurements as made by the server node on the uplink pilot signals, and then inform the client nodes how much they should rotate their phases (and adjust their amplitudes) for their signals to be received with the desired phase at the server node. Once the client nodes have adjusted their phase, simultaneously transmitted data signals from multiple client nodes can add up constructively when received at the server node.
Another way, which can be most resource-efficient, is for the server node to, upon need or periodically, broadcast a downlink pilot signal, have the client nodes estimate the channel from measurements as made by the client nodes on this downlink pilot signal, and then rely on uplink/ downlink reciprocity. Uplink/downlink reciprocity here means that the channel information for the uplink can be obtained from channel information for the downlink. But for this to work, and specifically for the data signals as transmitted by the client nodes to add up constructively at the server node, joint reciprocity calibration (or phase alignment) between the client nodes is required.
The latter basically corresponds to the situation as with joint coherent reciprocitybased downlink beamforming in distributed multiple-input multiple-output (D- MIMO) communication systems operating in time-division duplex (TDD), where the access points need to be jointly calibrated for reciprocity. In the D-MIMO literature, there are several algorithms that can achieve such joint reciprocity calibration between access points, for example, by having the access points perform bidirectional measurements on each other. One example is provided in “Reciprocity calibration of Distributed Massive MIMO Access Points for Coherent Operation” by Joao Vieira and Erik G. Larsson as published in the proceedings of the 2021 IEEE 32nd Annual International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC). After applying the corrections given by the reciprocity calibration algorithms, the access points use the uplink channel estimates for downlink beamforming in such a way that the downlink signals add up coherently (constructively) at the user equipment. In principle, such reciprocity calibration can be used directly to synchronize client nodes for OtA transmission, but with the roles of the different network entities reversed such that the client nodes take the role of access points and the server node takes the role of the user equipment. That is, the client nodes perform bidirectional measurements with respect to one another in order to become jointly reciprocity-calibrated, and then after applying appropriate corrections the client nodes can simultaneously transmit data that adds up constructively at the server node.
While the techniques described above can be used to perform phase alignment, there is no way of knowing, or tracking, how well the client nodes are aligned in phase without performing explicit measurements or carrying out re-calibration. Such measurements need to be performed only when needed and in an efficient manner to avoid unnecessary large overhead in aligning the phases at the client nodes.
Hence, there is still a need for improved techniques for phase calibration of client nodes. SUMMARY
An object of embodiments herein is to perform phase calibration of client nodes only when there is a high probability that the client nodes indeed are phase misaligned with respect to each other.
According to a first aspect there is presented a method for phase calibration of client nodes. The method is performed by a server node. The method comprises receiving pilot sequences from the client nodes, wherein the pilot sequences are received as an over-the-air aggregation. The method comprises calculating a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other. The method comprises initiating phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.
According to a second aspect there is presented a server node for phase calibration of client nodes. The server node comprises processing circuitry. The processing circuitry is configured to cause the server node to receive pilot sequences from the client nodes, wherein the pilot sequences are received as an over-the-air aggregation. The processing circuitry is configured to cause the server node to calculate a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other. The processing circuitry is configured to cause the server node to initiate phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.
According to a third aspect there is presented a server node for phase calibration of client nodes. The server node comprises a receive module configured to receive pilot sequences from the client nodes, wherein the pilot sequences are received as an over- the-air aggregation. The server node comprises a calculate module configured to calculate a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other. The server node comprises a calibrate module configured to initiate phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.
According to a fourth aspect there is presented a computer program for phase calibration of client nodes. The computer program comprises computer code which, when run on processing circuitry of a server node, causes the server node to perform actions. One action comprises the server node to receive pilot sequences from the client nodes, wherein the pilot sequences are received as an over-the-air aggregation. One action comprises the server node to calculate a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other. One action comprises the server node to initiate phase calibration for at least some of the client nodes when the phase offset value fulfils a triggering condition.
According to a fifth aspect there is presented a method for phase calibration with a server node. The method is performed by a client node. The method comprises obtaining an indication that transmission from the client node is phase misaligned with respect to transmission from other client nodes. The method comprises, in response thereto, transmitting an indication of phase misalignment to the server node. The method comprises transmitting a pilot sequence to the server node over- the-air. The method comprises participating in phase calibration with the server node.
According to a sixth aspect there is presented a client node for phase calibration with a server node. The client node comprises processing circuitry. The processing circuitry is configured to cause the client node to obtain an indication that transmission from the client node is phase misaligned with respect to transmission from other client nodes. The processing circuitry is configured to cause the client node to, in response thereto, transmit an indication of phase misalignment to the server node. The processing circuitry is configured to cause the client node to transmit a pilot sequence to the server node over-the-air. The processing circuitry is configured to cause the client node to participate in phase calibration with the server node.
According to a seventh aspect there is presented a client node for phase calibration with a server node. The client node comprises an obtain module configured to obtain an indication that transmission from the client node is phase misaligned with respect to transmission from other client nodes. The client node comprises a transmit module configured to transmit an indication of phase misalignment to the server node. The client node comprises a transmit module configured to transmit a pilot sequence to the server node over-the-air. The client node comprises a calibrate module configured to participate in phase calibration with the server node. According to an eighth aspect there is presented a computer program for phase calibration with a server node. The computer program comprises computer code which, when run on processing circuitry of a client node, causes the client node to perform actions. One action comprises the client node to obtain an indication that transmission from the client node is phase misaligned with respect to transmission from other client nodes. One action comprises the client node to, in response thereto, transmit an indication of phase misalignment to the server node. One action comprises the client node to transmit a pilot sequence to the server node over-the-air. One action comprises the client node to participate in phase calibration with the server node.
According to a ninth aspect there is presented a computer program product comprising a computer program according to at least one of the fourth aspect and the eighth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.
Advantageously, according to these aspects, phase calibration of the client nodes is only to be performed when there is a high probability that the client nodes indeed are phase misaligned with respect to each other.
Advantageously, these aspects enable the server node to identify if signals as received from the client nodes are received in-phase or not. In this way, the robustness of operation of OtA aggregation can be improved.
Advantageously, according to these aspects, phase (re-)calibration by the server node can be requested whenever needed and only for those client nodes that require it, which will consequently result in an increased efficiency due to less frequent need for (re-)calibration.
Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the element, apparatus, component, means, module, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
BRIEF DESCRIPTION OF THE DRAWINGS
The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which:
Fig. 1 is a schematic diagram illustrating a communication network according to embodiments;
Figs. 2 and 3 are flowcharts of methods according to embodiments;
Fig. 4 is a signaling diagram of a method according to an embodiment;
Fig. 5 is a schematic diagram showing structural units of a server node according to an embodiment;
Fig. 6 is a schematic diagram showing functional modules of a server node according to an embodiment;
Fig. 7 is a schematic diagram showing structural units of a client node according to an embodiment;
Fig. 8 is a schematic diagram showing functional modules of a client node according to an embodiment;
Fig. 9 shows one example of a computer program product comprising computer readable means according to an embodiment;
Fig. 10 is a schematic diagram illustrating a telecommunication network connected via an intermediate network to a host computer in accordance with some embodiments; and Fig. n is a schematic diagram illustrating host computer communicating via a radio base station with a terminal device over a partially wireless connection in accordance with some embodiments.
DETAILED DESCRIPTION
The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.
The wording that a certain data item, piece of information, etc. is obtained by a first device should be construed as that data item or piece of information being retrieved, fetched, received, or otherwise made available to the first device. For example, the data item or piece of information might either be pushed to the first device from a second device or pulled by the first device from a second device. Further, in order for the first device to obtain the data item or piece of information, the first device might be configured to perform a series of operations, possible including interaction with the second device. Such operations, or interactions, might involve a message exchange comprising any of a request message for the data item or piece of information, a response message comprising the data item or piece of information, and an acknowledge message of the data item or piece of information. The request message might be omitted if the data item or piece of information is neither explicitly nor implicitly requested by the first device.
The wording that a certain data item, piece of information, etc. is provided by a first device to a second device should be construed as that data item or piece of information being sent or otherwise made available to the second device by the first device. For example, the data item or piece of information might either be pushed to the second device from the first device or pulled by the second device from the first device. Further, in order for the first device to provide the data item or piece of information to the second device, the first device and the second device might be configured to perform a series of operations in order to interact with each other. Such operations, or interaction, might involve a message exchange comprising any of a request message for the data item or piece of information, a response message comprising the data item or piece of information, and an acknowledge message of the data item or piece of information. The request message might be omitted if the data item or piece of information is neither explicitly nor implicitly requested by the second device.
The wording that a certain data item, piece of information, etc. is transmitted from a first device to a second devices does not exclude that the data item, piece of information, etc. is transmitted via at least one intermediate device.
Fig. 1 is a schematic diagram illustrating a communication network loo where embodiments presented herein can be applied. The communication network 100 could be a third generation (3G) telecommunications network, a fourth generation (4G) telecommunications network, a fifth (5G) telecommunications network, a sixth (6G) telecommunications network, and support any 3GPP telecommunications standard.
The communication network 100 comprises a network node 110 configured to provide network access to user equipment 120a, 120k, 120K in an (radio) access network over communication links 130. The network node 110 might be part of, collocated with, or integrated with a transmission and reception point. Examples of network nodes 110 are (radio) access network nodes, radio base stations, base transceiver stations, Node Bs (NBs), evolved Node Bs (eNBs), gNBs, access points, access nodes, and integrated access and backhaul nodes. Examples of user equipment 120a: 120K are wireless devices, mobile stations, mobile phones, handsets, wireless local loop phones, smartphones, laptop computers, tablet computers, network equipped sensors, network equipped vehicles, and so-called Internet of Things devices.
In some examples, the user equipment 120a: 120K are to be utilized during an iterative learning process where the user equipment 120a: 120K as part of performing the iterative learning process report computational results to the network node 110. The network node 110 therefore comprises, is collocated with, or integrated with, a server node 200 and each of the user equipment 120a: 120K comprises, is collocated with, or integrated with, a respective client node 300a:300K.
Federated learning (FL) in an example of decentralized learning, where multiple (possibly large numbers of) client nodes participate in the training of a shared global model by exchanging model updates with a central server node. FL implements an iterative process where each global iteration, often referred to as a communication round, is divided into phases as disclosed next.
In a first phase the server node broadcasts the current model parameter vector 6 (an TV-dimensional vector) to all participating client nodes.
In a second phase the client nodes perform one or more steps of a stochastic gradient descent on the model parameter vector 6 using their own (private) training data to obtain a model update. Specifically, the /c:th client node obtains a gradient update 8k (an TV-dimensional vector) of the model.
In a third phase, each of the client nodes transmit their TV-dimensional vector model updates 6 , ... , SK to the server node (henceforth K is the number of client nodes).
In a fourth phase the server node aggregates the received updates by adding them together and the updates the model parameter vector 6 based on the aggregation. A typical aggregation rule for the server node is to sum the updates, that is, compute the TV-dimensional total update vector:
8 — 8 + ... + 8k
A weighted sums are also possible, i.e., the aggregation computes:
K
8 = ^ wk8k k=l for some weights {wk}.
Another global iteration can then be performed with the updated model parameter vector 0. When transmitting the model updates from the client nodes over a wireless channel, there are specific benefits to using direct analog (linear) modulation, that is, the kth client node transmits the N-components of 8k directly over N resource elements (REs). Here an RE could be, for example: (i) one sample in time in a single-carrier system, or (ii) one subcarrier in one Orthogonal Frequency Division Multiplexing (OFDM) symbol in a multicarrier system, or (iii) a particular spatial beam or a combination of a beam and a time-and-frequency resource.
One benefit of direct analog modulation is that the superposition nature of the wireless channel can be exploited to compute the aggregated update,
Figure imgf000012_0001
+ 82 -I - 1-
8K. More specifically, rather than sending
Figure imgf000012_0002
, ... , 8K to the server node on separate channels, the client nodes send {8, , ..., 8;<} simultaneously, using N REs, through linear analog modulation. The server node could then exploit the wave superposition property of the wireless channel; {8, , ... , 8;<} add up in the air. Neglecting noise and interference, the server node thus receives the linear sum, 8 =
Figure imgf000012_0003
+ 82 -I - 1- 5K, as desired. This principle is referred to as over-the-air (OtA) aggregation.
However, although FL, or more generally, iterative learning, is one example where the herein disclosed embodiments apply, the ideas presented in this disclosure can be applied to any system that requires phase alignments between two or more client nodes that communicates with a server node and where there is a risk that different client nodes are misaligned in phase with respect to each other.
As disclosed above, there is still a need for improved techniques for phase calibration of client nodes
In this respect, it not known how to determine how likely it is that the client nodes are phase-aligned with respect to each other.
At least some of the herein disclosed embodiments are therefore based on at least some of the client nodes, for example upon receiving an instruction to do so, simultaneously transmit a pilot sequence. The sum of this pilot sequence, using over- the-air aggregation, is received at the server node. The server node could then compare the received sum sequence with an expected ground-truth, and initiate a (re- )calibration procedure only when needed. Consider K client nodes simultaneously transmitting towards the server node over a channel and let gk be the channel from client node k to the server node. It is for ease of description assumed that this channel is static, over a coherence block (which could be as short as one single resource block). If the k:th client node transmits a pilot sequence sk of length L, for example occupying L resource elements (where in one extreme case L = 1 but in other cases L > 0), then the received signal y at the server node is: y = > gkSkej*k + w i/c where w is noise and {<pk} capture the effects of phase misalignment among the client nodes. Specifically, if the server server broadcasts a pilot sequence and the client nodes periodically estimate gk from that pilot sequence, then {<pk} capture the reciprocity calibration errors between the client nodes.
As an example, assume that two or more client nodes each transmit a pilot sequence that aggregate OtA, and for which this aggreate is known. The server node estimates the received sum signal. If this sum differs from what it should be, then the server could conclude that (re-)calibration among the client nodes is required. In further detail, the case of perfect alignment, all {<pk} are zero. Thus, the server will expect to (in absence of noise) receive a sequence z: z = > 9kSk
Based on the received sequence y, the server node could compute a metric m(y, z) that quantifies how much y differs from the expected z. For example, this metric could be the squared Euclidean distance, and thus:
2 m(y,z) = ||y - z| I
Other choices are possible too, for example, a robustified norm which could be useful if impulsive noise or uncontrollable interference is expected: m(y, z) = y - zl for some q, e.g., q = 1.
Reference is now made to Fig. 2 illustrating a method for phase calibration of client nodes 300a:300K as performed by the server node 200 according to an embodiment.
S108: The server node 200 receives pilot sequences from the client nodes 300a:300K. The pilot sequences are received as an over-the-air aggregation.
S110: The server node 200 calculates a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other.
S116: The server node 200 initiates phase calibration for at least some of the client nodes 300a:300K when the phase offset value fulfils a triggering condition.
Embodiments relating to further details of phase calibration of client nodes 300a:300K as performed by the server node 200 will now be disclosed with continued reference to Fig. 2.
In some aspects, the server node 200 sends a phase calibration factor to the client nodes 300a:300K for the client nodes 300a:300K to apply to adjust their phases during subsequent transmissions to the server node 200. therefore, in some embodiments, initiating the phase calibration comprises the server node 200 to transmit a phase calibration factor to the aforementioned at least some of the client nodes 300a:300K, where the phase calibration factor defines how much the aforementioned at least some of the client nodes 300a:300K are to adjust their phases during subsequent transmissions to the server node 200.
If all {<pk} are zero and there is no noise, then m(y, z) = 0. Therefore, m(y, z) could be compared to a threshold e, and if |m(y, z) | > e, then it can be concludes that (re- jcalibration is required, and otherwise not. Hence, in some embodiments, the triggering condition is fulfilled when the absolute value of the phase offset value is larger than a phase offset threshold value (defined by e).
In one aspect, the pilot sequences are one-dimensional, i.e, as in the extreme case where L = 1 such that all vectors become scalars. For example, if sk = 1, then the expected received sample z = K, where K is the number of client nodes 300a:300K. However, this is only one example, and further examples of pilot sequences will be disclosed below. In general terms, there might be one common pilot sequence for all the client nodes 300a:300K, or there could be one individual pilot sequence per each of the client nodes 300a:300K.
Having one common pilot sequence for all the client nodes 300a:300K simplifies the management of the pilot sequences and for examples enables each of the client nodes 300a:300K to be preconfigured with one and the same pilot sequence, even as early as manufacturing, or deployment, of the client nodes 300a:300K. Having individual pilot sequences for each client node 300a:300K (or at least for each group of client nodes 300a:300K) simplifies the detection of which of the client nodes 300a:300K that needs calibration. In order to control which one or more pilot sequence is transmitted, in some embodiments, the server node 200 is configured to perform (optional) step S102:
S102: The server node 200 configures the client nodes 300a:300K with the pilot sequences. As a non-limiting example, for this purpose the server node 200 might send instructions identifying the pilot sequences to the client nodes 300a:300K.
In some aspects, the metric m(y, z) is tracked over time from multiple measurements and re-calibration is initiated when a significant drift is detected. For example, in the general case, the metric m(y, z) will contain noise, and filtering (for example, using a moving-average or other lowpass filter, e.g. a Kalman filter or a moving median filter) can be performed to filter out the noise.
In some aspects, only a subset of the client nodes 300a:300K is instructed to transmit the pilot sequence sk. Hence, in some embodiments, the server node 200 is configured to perform (optional) step S106:
S106: The server node 200 requests at least some of the client nodes sooaisooKto transmit the pilot sequences.
For example, the server node 200 can instruct only those client nodes 300a:300K that are suspected to have drifted in phase to participate in the transmission. In another aspect, client nodes 300a:300Kthat are known to drift in phase faster (for example because their local oscillator has been found to be less stable) are scheduled to transmit pilot sequence more often than other client nodes. Therefore, in some embodiments, which of the client nodes 300a:300K that are requested to transmit the pilot sequences is based on historical information of phase misalignment among the client nodes 300a:300K. In some aspects, the server node 200 requests the client nodes sooaisooKto inform their capabilities in advance, for example by indicating a UE category class, which can be used to set the periodicity of the pilot sequence transmissions. Therefore, in some embodiments, which of the client nodes 300a:300K that are requested to transmit the pilot sequences is based on capability information of the client nodes 300a:300K.
In some aspects, the client nodes 300a:300K are excluded from transmission in a sequential manner. For example, at time instance i client nodes {1, 2, ... , i — 1, i + 1, ... , K are instructed to transmit the pilot sequence sk. In this case, upon detection of misalignment at any time instance, the server node 200 knows which one or more client node that requires phase alignment. In some aspects, the pilot sequences sk are be selected to be of length K (i.e., corresponding to the total number of client nodes) and are selected such that the j :th component of the sequence is zero (or one) for the j :th client node whilst the rest of the components are one (or zero) for the j :th client node. In this way, by receiving the aggregated sequence at the server node , the server node can decide which exact client node that requires phase alignment.
In some aspects, the client nodes 300a:300K are requested to transmit pilot sequences less often in early global iterations and more often during later global iterations or vice versa (since phase alignments might be more crucial in different stages of the iteration learning process). That is, in some embodiments, the phase calibration is part of an iterative learning process performed in iterations with the client nodes 300a:300K, and the at least some of the client nodes 300a:300K are requested to repeatedly transmit the pilot sequences more frequently for later iterations of the iterative learning process than for early iterations of the iterative learning process. It is also possible to set the threshold for detecting the need for phase recalibration as a function of the global iterations.
In some aspects, the subset of client nodes sooaisooKto take part in the calibration is based on information as received by the server node 200 from the client nodes 300a:300K. Hence, in some embodiments, the server node 200 is configured to perform (optional) step 8104a: Si04a: The server node 200 receives an indication of phase misalignment from at least one of the client nodes 300a:300K. Which of the client nodes 300a:300K that are requested to transmit the pilot sequences can then be based on from which of the client nodes 300a:300Kthe indication of phase misalignment is received.
In some aspects, the client nodes 300a:300K report their model performance on its local dataset in each iteration, the server node 200 aggregates the model performance for all client nodes 300a:300K and initiates calibration in case the model performance is below some performance threshold. Hence, in some embodiments, the server node 200 is configured to perform (optional) step 8104b:
8104b: The server node 200 performs an iteration of an iterative learning process with the client nodes 300a:300K. As part thereof, the server node 200 receives a model performance indicator from the client nodes 300a:300K as computed based on datasets local to the client nodes 300a:300K. Then, the aforementioned at least some of the client nodes 300a:300K are requested to transmit the pilot sequences when the model performance indicator fails to satisfy a quality conditions.
In some aspects, the server node 200 has access to a local dataset and initiates calibration in case the model performance based on the local dataset is below a certain performance threshold. Hence, in some embodiments, the server node 200 is configured to perform (optional) step 8104c:
8104c: The server node 200 performs performs an iteration of an iterative learning process with the client nodes 300a:300K. As part thereof, the server node 200 computes a model performance indicator based on its own local dataset. Then, the aforementioned at least some of the client nodes 300a:300K are requested to transmit the pilot sequences when the model performance indicator fails to satisfy a quality conditions.
In one aspect, to select the subset of client nodes, a group testing strategy can be used. That is, in some embodiments, which of the client nodes 300a:300K that are requested to transmit the pilot sequences is based on group testing. For example, if it is known or suspected, that only a small number of the client nodes 300a:300K are phase-misaligned, then the testing procedure can be activated several times in a row, each time requesting a different subset of client nodes to participate. These subsets could be selected using any known group testing combinatorial design. In this way, the client nodes that are phase misaligned can be identified and requested to participated in the phase calibration. In one aspect, group testing without any prior information of which client nodes that are phase misaligned is used. The server node can test several client nodes (partitioned by groups) in parallel to be able to identify as quickly as possible the group that contains the client nodes that have a misaligned phase. The process takes place in rounds. As an example, for the first round the server node selects a group size and partition the client nodes as groups. The client nodes in each group transmits its sum
Figure imgf000018_0001
where i is the identity of the group, and the server node checks if the sum is misaligned or not. If the sum is misaligned for a given group then the server node can proceed to a second round by splitting the participants of the given group even further to identify the client nodes which requires phase alignment. The same procedure can be performed in parallel for the other groups. The process can be repeated until all client nodes that are phase misaligned have been found.
In some aspects, the server node 200 excludes the one or more client nodes 300a:300K needing phase-alignment in the OtA aggregation of the model gradients. Hence, in some embodiments, the server node 200 is configured to perform (optional) steps S112 and S114.
S112: The server node 200 identifies a subset of the client nodes 300a:300K needing phase calibration.
S114: The server node 200 performs an iteration of an iterative learning process with the client nodes 300a:300K, where the client nodes 300a:300Kin the identified subset of the client nodes 300a:300K are excluded from the iteration of the iterative learning process.
In some aspects, the server node 200 initiates an iteration of the iterative learning process for all client nodes when the client nodes have been phase aligned. Hence, in some embodiments, the server node 200 is configured to perform (optional) step S118. S118: The server node 200 initiates an iteration of an iterative learning process with the client nodes 300a:300K upon the phase calibration having been performed for the aforementioned at least some of the client nodes 300a:300K.
In some examples, one iteration of the iterative learning process that might be performed by the server node 200 during each iteration of the iterative learning process comprises the server node 200 providing a parameter vector of a computational task to train a machine learning model to the client nodes 300a:300K, the server node 200 receivings the computational results as a function of the parameter vector from the client nodes 300a:300K, and the server node 200 updatings the parameter vector as a function of an aggregate of the received computational results. Iterations can be performed until a termination criterion is met. The termination criterion in some non-limiting examples can be when a predetermined number of iterations have been reached, when an aggregated loss function has reached a desired value, or when the aggregated loss function does not decrease after one (or several round) of iterations. The loss function itself represents a prediction error, such as mean square error or mean absolute error.
Reference is now made to Fig. 3 illustrating a method for phase calibration with a server node 200 as performed by the client node 300k according to an embodiment.
S204: The client node 300k obtains an indication that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K.
S206: The client node 300k, in response thereto, transmits an indication of phase misalignment to the server node 200.
S210: The client node 300k transmits a pilot sequence to the server node 200 over- the-air.
S212: The client node 300k participates in phase calibration with the server node 200.
Embodiments relating to further details of phase calibration with a server node 200 as performed by the client node 300k will now be disclosed with continued reference to Fig. 3. As disclosed above, the server node 200 might in an optional step S102 configure the client nodes 300a:300K with pilot sequence. Hence, in some embodiments, the client node 300k is configured to perform (optional) step S202.
S202: The client node 300k receives configuration of the pilot sequence from the server node 200. As a non-limiting example, for this purpose the client node 300k might from the server node 200 receive instructions identifying the pilot sequence to be used.
As disclosed above, in some aspects, only a subset of the client nodes 300a:300K are is instructed to transmit the pilot sequence sk and the server node 200 might therefore, as in step S106, request at least some of the client nodes sooaisooKto transmit the pilot sequences. Hence, in some embodiments, the client node 300k is configured to perform (optional) step S208.
S208: The client node 300k receives a request from the server node 200 for the client node 300k to transmit the pilot sequence.
There can be different ways for the client node 300k to obtain the indication in step S204 that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K. In some embodiments, the indication that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K is obtained as part of the client node 300k participating in an iterative learning process with the server node 200.
In some aspects, the client node 300k detects that there is a large difference in its local model and the latest global model broadcasted from the server node 200. This can indicate that the local model parameters as sent by the client node 300k to the server node 200 were not reflected in the latest OtA update. One reason for this could be that the transmission of the local model parameters was phase-misaligned with respect to the transmission of local model parameters from other client nodes 300a:300K Hence, in some embodiments, the indication that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K is obtained by the client node 300k detecting that a difference between a global model as received from the server node 200 and a local model as computed by the client node 300k as part of participating in the iterative learning process is larger than a threshold value.
In some aspects, the client node 300k detects a large clock drift, for example due to some hardware issue in the client node 300k causing a local oscillator to be instable. The client node 300k might therefore request to be calibrated, for example to ensure that the client node 300k can still accurately take part in, and contribute to, an iterative learning process. Hence, in some embodiments, the indication that transmission from the client node 300k is phase misaligned with respect to transmission from other client nodes 300a:300K is obtained by the client node 300k detecting a clock drift occuring in the client node 300k.
As disclosed above, the server node 200 might as part of performing the calibration send a phase calibration factor for the client nodes 300a:300K to apply. That is, in some embodiments, participating in the phase calibration comprises the client node 300k receiving a phase calibration factor from the server node 200 and applying the phase calibration factor during subsequent transmissions to the server node 200 as part of participating in an iterative learning process with the server node 200. The phase calibration factor defines how much the client node 300k is to adjust its phases during the subsequent transmissions to the server node 200.
As disclosed above, the server node 200 might in an optional step S118 initiate an iteration of an iterative learning process with the client nodes 300a:300K upon the phase calibration having been performed for the aforementioned at least some of the client nodes 300a:300K. Hence, in some embodiments, the client node 300k is configured to perform (optional) step S214.
S214: The client node 300k participates in an iteration of an iterative learning process with the server node 200 upon having performed the phase calibration with the server node 200.
In some examples, one iteration of the iterative learning process as performed by the client node 300k during each iteration of the iterative learning process comprises the agent node 300k obtaining a parameter vector of a computational task for training a machine learning model from the server node 200, the client node 300k determining the computational result of the computational task as a function of the obtained parameter vector for the iteration and of data locally obtained by the client node 300k, and the client node 300k reporting the computational result to the server node 200.
One particular embodiment for phase calibration of client nodes 300a:300K, based on at least some of the above disclosed embodiments, will now be disclosed in detail with reference to the signaling diagram of Fig. 4. In some aspects of this embodiment it is assumed that an iterative learning process is ongoing.
S301: The client nodes 300a:300K indicate their iterative learning process performance.
S302: The server node 200 configures the client nodes 300a:300K with pilot sequences.
S303: The client nodes 300a:300K transmit the pilot sequences. The pilot sequences are by the server node 200 received as an OtA aggregation.
S304: The server node 200, based on comparing the OtA aggregation to a ground truth, calculates a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other and checks if the phase offset value fulfils a triggering condition or not.
S305: The server node 200, in case the triggering condition is fulfilled, initiates phase calibration for at least some of the client nodes 300a:300K.
S306: The client nodes 300a:300K performs an iteration of an iterative learning process with the server node 200 after the phase calibration has been completed.
Non-limiting examples of scenarios where the herein disclosed embodiments can be applied will be disclosed next. In at least some of these examples scenarios, the client nodes 300a:300K are configured with a computational task for training a machine learning model.
According to a first example, the computational task pertains to prediction of best secondary carrier frequencies to be used by user equipment 120a: 120K in which the client nodes 300a:300K are provided. The data locally obtained by the client node 300k can then represent a measurement on a serving carrier of the user equipment 120k. In this respect, the best secondary carrier frequencies for user equipment i2oa:i2oK can be predicted based on their measurement reports on the serving carrier. The secondary carrier frequencies as reported thus defines the computational result. In order to enable such a mechanism, the client nodes 300a:300K can be trained by the server node 200, where each client node 300k, according to the machine learning model, takes as input the measurement reports on the serving carrier(s) (among possibly other available reports such as timing advance, etc.) and as outputs a prediction of whether the user equipment 120k in which the client node 300k is provided has coverage or not in the secondary carrier frequency.
According to a second example, the computational task pertains to compressing channel-state-information using an auto-encoder, where the server node 200 implements a decoder of the auto-encoder, and where each of the client nodes 300a:300K, according to the machine learning model, implements a respective encoder of the auto-encoder. An autoencoder can be regarded as a type of neural network used to learn efficient data representations.
According to a third example, the computational task pertains to signal quality drop prediction. The signal quality drop prediction is based on measurements on wireless links used by user equipment 120a: 120K in which the client nodes 300a:300K are provided. In this respect, based on received data, in terms of computational results, in the reports, the server node 200 can learn, for example, what sequence of signal quality measurements (e.g., reference signal received power; RSRP) that results in a large signal quality drop. After a machine learning model is trained, for instance using the iterative learning process, the server node 200 can provide the model to the client nodes 300a:300K. The model can be provided either to client nodes 300a:300K having taken part in the training, or to other client nodes 300a:300K. The client nodes 300a:300K can then apply the model to predict future signal quality values. This signal quality prediction can then be used in the context of any of: initiating inter-frequency handover, setting handover and/or reselection parameters, changing device scheduler priority so as to schedule the user equipment 120a: 120K when the expected signal quality is good. The data for training such a model is located at the device-side where the client nodes 300a:300K reside, and hence an iterative learning process as disclosed herein can be used to efficiently learn the future signal quality prediction. According to a fourth example, the iterative learning procedure concerns mapping one or more geolocations to a radio signal quality values, or bitrate values. This can be used by the network to create an understanding of potential network coverage holes in a cell, and how the bitrate varies within the cell. However, a device-reported geolocation can violate privacy concerns of the user equipment, and therefore an iterative learning procedure can be used since it only comprises signaling of parameter vectors. As an illustrative example assume that client nodes 300a:300K have a dataset of geolocation to Signal-to-Interference-plus-Noise Ratio (SINR) mappings according to each respective dotted area (where the SINR takes a normalized value from o to 1). The client nodes 300a:300K then perform an iterative learning procedure with the server node 200 in order to include their dataset information in a global machine learning model to be used by the network.
According to a fifth example, the iterative learning procedure concerns surveillance, using a network of cameras, of a particular area public or private). Each camera is associated with its own client node 300a:300K. The network is configured to learn a global machine learning model that can be used to detect whether suspicious activity is ongoing in any of the video imagery as captured by the cameras. The suspicious activity could pertain to identifying unauthorized persons present in a private area, identifying vehicles in the area, or monitoring the area for any criminal activity. The cameras however, for privacy reasons, are not allowed to share their raw image data. An iterative learning procedure can then be used to train the global machine learning model, where the cameras share only model (gradient) updates in terms of parameter vectors, rather than their observations. In this case the parameter vectors might represent predictions of the content in the images (for examples, parameters of a face recognition algorithm).
According to a sixth example, the iterative learning procedure concerns a natural language processing application. The client nodes 300a:300K could learn a language model that represents a machine learning model, for example for text prediction when typing on a user equipment 120a: 120K, such as a mobile device, where each of the client nodes 300a:300K thus could be associated with their own user equipment 120a: 120K. Using an iterative learning procedure, only updates to the model need to be shared, but raw text data will not be shared. Fig. 5 schematically illustrates, in terms of a number of structural units, the components of a server node 200 according to an embodiment. Processing circuitry 210 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 910a (as in Fig. 9), e.g. in the form of a storage medium 230. The processing circuitry 210 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).
Particularly, the processing circuitry 210 is configured to cause the server node 200 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the server node 200 to perform the set of operations. The set of operations maybe provided as a set of executable instructions. Thus the processing circuitry 210 is thereby arranged to execute methods as herein disclosed.
The storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
The server node 200 may further comprise a communications (comm.) interface 220 for communications at least with the client nodes 300a:300K. As such the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components.
The processing circuitry 210 controls the general operation of the server node 200 e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230. Other components, as well as the related functionality, of the server node 200 are omitted in order not to obscure the concepts presented herein.
Fig. 6 schematically illustrates, in terms of a number of functional modules, the components of a server node 200 according to an embodiment. The server node 200 of Fig. 6 comprises a number of functional modules; a receive module 2iof configured to perform step Sio8, a calculate module 210g configured to perform step Sno, and a calibrate module 2ioj configured to perform step Sn6. The server node 200 of Fig. 6 may further comprise a number of optional functional modules, such as any of a configure module 210a configured to perform step S102, a receive module 210b configured to perform step 8104a, a receive module 210c configured to perform step 8104b, a calculate module 2iod configured to perform step S104C, a request module 2ioe configured to perform step S106, an identify module 2ioh configured to perform step S112, a process module 2ioi configured to perform step S114, and an initiate module 210k configured to perform step S118.
In general terms, each functional module 210a: 210k maybe implemented in hardware or in software. Preferably, one or more or all functional modules 210a: 210k may be implemented by the processing circuitry 210, possibly in cooperation with the communications interface 220 and/or the storage medium 230. The processing circuitry 210 may thus be arranged to from the storage medium 230 fetch instructions as provided by a functional module 2ioa:2iok and to execute these instructions, thereby performing any steps of the server node 200 as disclosed herein.
The server node 200 may be provided as a standalone device or as a part of at least one further device. For example, the server node 200 may be provided in a node of a radio access network or in a node of a core network. Alternatively, functionality of the server node 200 may be distributed between at least two devices, or nodes. These at least two nodes, or devices, may either be part of the same network part (such as the radio access network or the core network) or may be spread between at least two such network parts. In general terms, instructions that are required to be performed in real time may be performed in a device, or node, operatively closer to the cell than instructions that are not required to be performed in real time. A first portion of the instructions performed by the server node 200 may be executed in a first device, and a second portion of the instructions performed by the server node 200 may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the server node 200 may be executed. Hence, the methods according to the herein disclosed embodiments are suitable to be performed by a server node 200 residing in a cloud computational environment. Therefore, although a single processing circuitry 210 is illustrated in Fig. 5 the processing circuitry 210 may be distributed among a plurality of devices, or nodes. The same applies to the functional modules 2ioa:2iok of Fig. 6 and the computer program 920a of Fig. 9.
Fig. 7 schematically illustrates, in terms of a number of structural units, the components of a client node 300k according to an embodiment. Processing circuitry 310 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 910b (as in Fig. 9), e.g. in the form of a storage medium 330. The processing circuitry 310 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).
Particularly, the processing circuitry 310 is configured to cause the client node 300k to perform a set of operations, or steps, as disclosed above. For example, the storage medium 330 may store the set of operations, and the processing circuitry 310 may be configured to retrieve the set of operations from the storage medium 330 to cause the client node 300k to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 310 is thereby arranged to execute methods as herein disclosed.
The storage medium 330 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
The client node 300k may further comprise a communications interface 320 for communications at least with the server node 200 and optionally with other client nodes 300a:300K. As such the communications interface 320 may comprise one or more transmitters and receivers, comprising analogue and digital components.
The processing circuitry 310 controls the general operation of the client node 300k e.g. by sending data and control signals to the communications interface 320 and the storage medium 330, by receiving data and reports from the communications interface 320, and by retrieving data and instructions from the storage medium 330. Other components, as well as the related functionality, of the client node 300k are omitted in order not to obscure the concepts presented herein. Fig. 8 schematically illustrates, in terms of a number of functional modules, the components of a client node 300k according to an embodiment. The client node 300k of Fig. 8 comprises a number of functional modules; an obtain module 310b configured to perform step S204, a transmit module 310c configured to perform step S206, a transmit module 3ioe configured to perform step S210, and a calibrate module 3iof configured to perform step S212. The client node 300k of Fig. 8 may further comprise a number of optional functional modules, such as any of a receive module 310a configured to perform step S202, a receive module 3iod configured to perform step S208, and a learn module 310g configured to perform step S214.
In general terms, each functional module 3ioa:3iog may be implemented in hardware or in software. Preferably, one or more or all functional modules 3ioa:3iog may be implemented by the processing circuitry 310, possibly in cooperation with the communications interface 320 and/or the storage medium 330. The processing circuitry 310 may thus be arranged to from the storage medium 330 fetch instructions as provided by a functional module 3ioa:3iog and to execute these instructions, thereby performing any steps of the client node 300k as disclosed herein.
Fig. 9 shows one example of a computer program product 910a, 910b comprising computer readable means 930. On this computer readable means 930, a computer program 920a can be stored, which computer program 920a can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein. The computer program 920a and/or computer program product 910a may thus provide means for performing any steps of the server node 200 as herein disclosed. On this computer readable means 930, a computer program 920b can be stored, which computer program 920b can cause the processing circuitry 310 and thereto operatively coupled entities and devices, such as the communications interface 320 and the storage medium 330, to execute methods according to embodiments described herein. The computer program 920b and/or computer program product 910b may thus provide means for performing any steps of the client node 300k as herein disclosed. "2-1
In the example of Fig. 9, the computer program product 910a, 910b is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu- Ray disc. The computer program product 910a, 910b could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 920a, 920b is here schematically shown as a track on the depicted optical disk, the computer program 920a, 920b can be stored in any way which is suitable for the computer program product 910a, 910b.
Fig. 10 is a schematic diagram illustrating a telecommunication network connected via an intermediate network 420 to a host computer 430 in accordance with some embodiments. In accordance with an embodiment, a communication system includes telecommunication network 410, such as a 3GPP-type cellular network, which comprises access network 411, and core network 414. Access network 411 comprises a plurality of radio access network nodes 412a, 412b, 412c, such as NBs, eNBs, gNBs (each corresponding to the network node 110 of Fig. 1) or other types of wireless access points, each defining a corresponding coverage area, or cell, 413a, 413b, 413c. Each radio access network nodes 412a, 412b, 412c is connectable to core network 414 over a wired or wireless connection 415. A first UE 491 located in coverage area 413c is configured to wirelessly connect to, or be paged by, the corresponding network node 412c. A second UE 492 in coverage area 413a is wirelessly connectable to the corresponding network node 412a. While a plurality of UE 491, 492 are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole UE is in the coverage area or where a sole terminal device is connecting to the corresponding network node 412. The UEs 491, 492 correspond to the user equipment 120a: 120N of Fig. 1.
Telecommunication network 410 is itself connected to host computer 430, which may be embodied in the hardware and/or software of a standalone server, a cloud- implemented server, a distributed server or as processing resources in a server farm. Host computer 430 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider. Connections 421 and 422 between telecommunication network 410 and host computer 430 may extend directly from core network 414 to host computer 430 or may go via an optional intermediate network 420. Intermediate network 420 may be one of, or a combination of more than one of, a public, private or hosted network; intermediate network 420, if any, may be a backbone network or the Internet; in particular, intermediate network 420 may comprise two or more sub-networks (not shown).
The communication system of Fig. 10 as a whole enables connectivity between the connected UEs 491, 492 and host computer 430. The connectivity may be described as an over-the-top (OTT) connection 450. Host computer 430 and the connected UEs 491, 492 are configured to communicate data and/or signalling via OTT connection 450, using access network 411, core network 414, any intermediate network 420 and possible further infrastructure (not shown) as intermediaries. OTT connection 450 may be transparent in the sense that the participating communication devices through which OTT connection 450 passes are unaware of routing of uplink and downlink communications. For example, network node 412 may not or need not be informed about the past routing of an incoming downlink communication with data originating from host computer 430 to be forwarded (e.g., handed over) to a connected UE 491. Similarly, network node 412 need not be aware of the future routing of an outgoing uplink communication originating from the UE 491 towards the host computer 430.
Fig. 11 is a schematic diagram illustrating host computer communicating via a radio access network node with a UE over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with an embodiment, of the UE, radio access network node and host computer discussed in the preceding paragraphs will now be described with reference to Fig. 11. In communication system 500, host computer 510 comprises hardware 515 including communication interface 516 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of communication system 500. Host computer 510 further comprises processing circuitry 518, which may have storage and/or processing capabilities. In particular, processing circuitry 518 may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. Host computer 510 further comprises software 511, which is stored in or accessible by host computer 510 and executable by processing circuitry 518. Software 511 includes host application 512. Host application 512 may be operable to provide a service to a remote user, such as UE 530 connecting via OTT connection 550 terminating at UE 530 and host computer 510. The UE 530 corresponds to the user equipment 120a: 120N of Fig. 1. In providing the service to the remote user, host application 512 may provide user data which is transmitted using OTT connection 550.
Communication system 500 further includes radio access network node 520 provided in a telecommunication system and comprising hardware 525 enabling it to communicate with host computer 510 and with UE 530. The radio access network node 520 corresponds to the network node 110 of Fig. 1. Hardware 525 may include communication interface 526 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of communication system 500, as well as radio interface 527 for setting up and maintaining at least wireless connection 570 with UE 530 located in a coverage area (not shown in Fig. 11) served by radio access network node 520. Communication interface 526 may be configured to facilitate connection 560 to host computer 510. Connection 560 may be direct or it may pass through a core network (not shown in Fig. 11) of the telecommunication system and/or through one or more intermediate networks outside the telecommunication system. In the embodiment shown, hardware 525 of radio access network node 520 further includes processing circuitry 528, which may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. Radio access network node 520 further has software 521 stored internally or accessible via an external connection.
Communication system 500 further includes UE 530 already referred to. Its hardware 535 may include radio interface 537 configured to set up and maintain wireless connection 570 with a radio access network node serving a coverage area in which UE 530 is currently located. Hardware 535 of UE 530 further includes processing circuitry 538, which may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. UE 530 further comprises software 531, which is stored in or accessible by UE 530 and executable by processing circuitry 538. Software 531 includes client application 532. Client application 532 may be operable to provide a service to a human or non-human user via UE 530, with the support of host computer 510. In host computer 510, an executing host application 512 may communicate with the executing client application 532 via OTT connection 550 terminating at UE 530 and host computer 510. In providing the service to the user, client application 532 may receive request data from host application 512 and provide user data in response to the request data. OTT connection 550 may transfer both the request data and the user data. Client application 532 may interact with the user to generate the user data that it provides.
It is noted that host computer 510, radio access network node 520 and UE 530 illustrated in Fig. 11 may be similar or identical to host computer 430, one of network nodes 412a, 412b, 412c and one of UEs 491, 492 of Fig. 10, respectively. This is to say, the inner workings of these entities may be as shown in Fig. 11 and independently, the surrounding network topology may be that of Fig. 10.
In Fig. 11, OTT connection 550 has been drawn abstractly to illustrate the communication between host computer 510 and UE 530 via network node 520, without explicit reference to any intermediary devices and the precise routing of messages via these devices. Network infrastructure may determine the routing, which it may be configured to hide from UE 530 or from the service provider operating host computer 510, or both. While OTT connection 550 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network).
Wireless connection 570 between UE 530 and radio access network node 520 is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to UE 530 using OTT connection 550, in which wireless connection 570 forms the last segment. More precisely, the teachings of these embodiments may reduce interference, due to improved classification ability of airborne UEs which can generate significant interference.
A measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring OTT connection 550 between host computer 510 and UE 530, in response to variations in the measurement results. The measurement procedure and/or the network functionality for reconfiguring OTT connection 550 may be implemented in software 511 and hardware 515 of host computer 510 or in software 531 and hardware 535 of UE 530, or both. In embodiments, sensors (not shown) may be deployed in or in association with communication devices through which OTT connection 550 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 511, 531 may compute or estimate the monitored quantities. The reconfiguring of OTT connection 550 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect network node 520, and it may be unknown or imperceptible to radio access network node 520. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signalling facilitating host computer’s 510 measurements of throughput, propagation times, latency and the like. The measurements may be implemented in that software 511 and 531 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using OTT connection 550 while it monitors propagation times, errors etc.
The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.

Claims

1. A method for phase calibration of client nodes (300a:300K), wherein the method is performed by a server node (200), and wherein the method comprises: receiving (S108) pilot sequences from the client nodes (300a:300K), wherein the pilot sequences are received as an over-the-air aggregation; calculating (S110) a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other; and initiating (S116) phase calibration for at least some of the client nodes (300a:300K) when the phase offset value fulfils a triggering condition.
2. The method according to claim 1, wherein the triggering condition is fulfilled when an absolute value of the phase offset value is larger than a phase offset threshold value.
3. The method according to claim 1 or 2, wherein the method further comprises: configuring (S102) the client nodes (300a:300K) with the pilot sequences.
4. The method according to any preceding claim, wherein the method further comprises: requesting (S106) at least some of the client nodes (300a:300K) to transmit the pilot sequences.
5. The method according to claim 4, wherein which of the client nodes (300a:300K) that are requested to transmit the pilot sequences is based on group testing.
6. The method according to claim 4, wherein which of the client nodes (300a:300K) that are requested to transmit the pilot sequences is based on historical information of phase misalignment among the client nodes (300a:300K).
7. The method according to claim 4, wherein the method further comprises: receiving (8104a) an indication of phase misalignment from at least one of the client nodes (300a:300K), and wherein which of the client nodes (300a:300K) that are requested to transmit the pilot sequences is based on from which of the client nodes (300a:300K) the indication of phase misalignment is received.
8. The method according to claim 4, wherein which of the client nodes (300a:300K) that are requested to transmit the pilot sequences is based on capability information of the client nodes (300a:300K).
9. The method according to claim 4, wherein the method further comprises: performing (8104b) an iteration of an iterative learning process with the client nodes (300a:300K), wherein as part thereof the server node (200) receives a model performance indicator from the client nodes (300a:300K) as computed based on datasets local to the client nodes (300a:300K), and wherein said at least some of the client nodes (300a:300K) are requested to transmit the pilot sequences when the model performance indicator fails to satisfy a quality conditions.
10. The method according to claim 4, wherein the method further comprises: performing (8104c) an iteration of an iterative learning process with the client nodes (300a:300K), wherein as part thereof the server node (200) computes a model performance indicator based on its own local dataset, and wherein said at least some of the client nodes (300a:300K) are requested to transmit the pilot sequences when the model performance indicator fails to satisfy a quality conditions.
11. The method according to claim 4, wherein the phase calibration is part of an iterative learning process performed in iterations with the client nodes (300a:300K) , and wherein said at least some of the client nodes (300a:300K) are requested to repeatedly transmit the pilot sequences more frequently for later iterations of the iterative learning process than for early iterations of the iterative learning process.
12. The method according to any preceding claim, wherein the method further comprises: identifying (S112) a subset of the client nodes (300a:300K) needing phase calibration; and performing (S114) an iteration of an iterative learning process with the client nodes (300a:300K), where the client nodes (300a:300K) in the identified subset of the client nodes (300a:300K) are excluded from the iterative learning process.
13. The method according to claim 1, wherein initiating the phase calibration comprises transmitting a phase calibration factor to said at least some of the client nodes (300a:300K), wherein the phase calibration factor defines how much said at least some of the client nodes (300a:300K) are to adjust their phases during subsequent transmissions to the server node (200).
14. The method according to any preceding claim, wherein there is one common pilot sequence for all the client nodes (300a:300K).
15. The method according to any preceding claim, wherein there is one individual pilot sequence per each of the client nodes (300a:300K).
16. The method according to any preceding claim, wherein the method further comprises: initiating (S118) an iteration of an iterative learning process with the client nodes (300a:300K) upon the phase calibration having been performed for said at least some of the client nodes (300a:300K).
17. A method for phase calibration with a server node (200), wherein the method is performed by a client node (300k), and wherein the method comprises: obtaining (S204) an indication that transmission from the client node (300k) is phase misaligned with respect to transmission from other client nodes (300a:300K); and in response thereto: transmitting (S206) an indication of phase misalignment to the server node (200); transmitting (S210) a pilot sequence to the server node (200) over-the-air; and participating (S212) in phase calibration with the server node (200).
18. The method according to claim 17, wherein the method further comprises: receiving (S202) configuration of the pilot sequence from the server node (200).
19. The method according to claim 17 or 18, wherein the method further comprises: receiving (S208) a request from the server node (200) for the client node (300k) to transmit the pilot sequence.
20. The method according to any of claims 17 to 19, wherein the indication that transmission from the client node (300k) is phase misaligned with respect to transmission from other client nodes (300a:300K) is obtained as part of the client node (300k) participating in an iterative learning process with the server node (200).
21. The method according to any of claims 17 to 20, wherein the indication that transmission from the client node (300k) is phase misaligned with respect to transmission from other client nodes (300a:300K) is obtained by the client node (300k) detecting that a difference between a global model as received from the server node (200) and a local model as computed by the client node (300k) as part of participating in the iterative learning process is larger than a threshold value.
22. The method according to any of claims 17 to 21, wherein the indication that transmission from the client node (300k) is phase misaligned with respect to transmission from other client nodes (300a:300K) is obtained by the client node (300k) detecting a clock drift occuring in the client node (300k).
23. The method according to any of claims 17 to 22, wherein participating in the phase calibration comprises receiving a phase calibration factor from the server node (200) and applying the phase calibration factor during subsequent transmissions to the server node (200) as part of participating in an iterative learning process with the server node (200), wherein the phase calibration factor defines how much the client node (300k) is to adjust its phases during said subsequent transmissions to the server node (200).
24. The method according to any of claims 17 to 23, wherein the method further comprises: participating (S214) in an iteration of an iterative learning process with the server node (200) upon having performed the phase calibration with the server node (200).
25. The method according to any preceding claim, wherein the server node (200) is provided in a network node (110), and each of the client nodes (300a:300K) is provided in a respective user equipment (120a: 120N).
26. A server node (200) for phase calibration of client nodes (300a:300K), the server node (200) comprising processing circuitry (210), the processing circuitry being configured to cause the server node (200) to: receive pilot sequences from the client nodes (300a:300K), wherein the pilot sequences are received as an over-the-air aggregation; calculate a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other; and initiate phase calibration for at least some of the client nodes (300a:300K) when the phase offset value fulfils a triggering condition.
27. A server node (200) for phase calibration of client nodes (300a:300K), the server node (200) comprising: a receive module (2iof) configured to receive pilot sequences from the client nodes (300a:300K), wherein the pilot sequences are received as an over-the-air aggregation; a calculate module (210g) configured to calculate a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other; and a calibrate module (2ioj ) configured to initiate phase calibration for at least some of the client nodes (300a:300K) when the phase offset value fulfils a triggering condition.
28. The server node (200) according to claim 26 or 27, further being configured to perform the method according to any of claims 2 to 16.
29. A client node (300k) for phase calibration with a server node (200), the client node (300k) comprising processing circuitry (310), the processing circuitry being configured to cause the client node (300k) to: obtain an indication that transmission from the client node (300k) is phase misaligned with respect to transmission from other client nodes (300a:300K); and in response thereto: transmit an indication of phase misalignment to the server node (200); transmit a pilot sequence to the server node (200) over-the-air; and participate in phase calibration with the server node (200).
30. A client node (300k) for phase calibration with a server node (200), the client node (300k) comprising: an obtain module (310b) configured to obtain an indication that transmission from the client node (300k) is phase misaligned with respect to transmission from other client nodes (300a:300K); a transmit module (310c) configured to transmit an indication of phase misalignment to the server node (200); a transmit module (3ioe) configured to transmit a pilot sequence to the server node (200) over-the-air; and a calibrate module (3iof) configured to participate in phase calibration with the server node (200).
31. The client node (300k) according to claim 29 or 30, further being configured to perform the method according to any of claims 18 to 24.
32. A computer program (920a) for phase calibration of client nodes (300a:300K), the computer program comprising computer code which, when run on processing circuitry (210) of a server node (200), causes the server node (200) to: receive (S108) pilot sequences from the client nodes (300a:300K), wherein the pilot sequences are received as an over-the-air aggregation; calculate (Siio) a phase offset value defined by how much the received pilot sequences are phase misaligned with respect to each other; and initiate (S116) phase calibration for at least some of the client nodes (300a:300K) when the phase offset value fulfils a triggering condition.
33. A computer program (920b) for phase calibration with a server node (200), the computer program comprising computer code which, when run on processing circuitry (310) of a client node (300k), causes the client node (300k) to: obtain (S204) an indication that transmission from the client node (300k) is phase misaligned with respect to transmission from other client nodes (300a:300K); and in response thereto: transmit (S206) an indication of phase misalignment to the server node (200); transmit (S210) a pilot sequence to the server node (200) over-the-air; and participate (S212) in phase calibration with the server node (200).
34. A computer program product (910a, 910b) comprising a computer program (920a, 920b) according to at least one of claims 32 and 33, and a computer readable storage medium (930) on which the computer program is stored.
PCT/EP2024/077822 2023-12-21 2024-10-03 Phase calibration of client nodes with a server node Pending WO2025131359A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GR20230101064 2023-12-21
GR20230101064 2023-12-21

Publications (1)

Publication Number Publication Date
WO2025131359A1 true WO2025131359A1 (en) 2025-06-26

Family

ID=93013735

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2024/077822 Pending WO2025131359A1 (en) 2023-12-21 2024-10-03 Phase calibration of client nodes with a server node

Country Status (1)

Country Link
WO (1) WO2025131359A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230319750A1 (en) * 2022-03-16 2023-10-05 Qualcomm Incorporated Signal synchronization for over-the-air aggregation in a federated learning framework
US20230344602A1 (en) * 2022-04-20 2023-10-26 The Hong Kong University Of Science And Technology Synchronization For OFDM-Based Over-The-Air Aggregation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230319750A1 (en) * 2022-03-16 2023-10-05 Qualcomm Incorporated Signal synchronization for over-the-air aggregation in a federated learning framework
US20230344602A1 (en) * 2022-04-20 2023-10-26 The Hong Kong University Of Science And Technology Synchronization For OFDM-Based Over-The-Air Aggregation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALPHAN SAHIN: "A Demonstration of Over-the-Air Computation for Federated Edge Learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 20 September 2022 (2022-09-20), XP091324436 *

Similar Documents

Publication Publication Date Title
CN106576272B (en) Method and apparatus for obtaining accurate measurements of communication devices
KR20190118643A (en) System and method for determining transmitter and receiver configuration for wireless devices
EP3925354B1 (en) Multi-user coordinated transmission in cellular systems
WO2023208363A1 (en) Beam alignment for wireless networks based on pre-trained machine learning model and angle of arrival
CN119744555A (en) Method and apparatus for implementing AI-ML in wireless networks
US20230079232A1 (en) Methods and apparatuses for mitigating reduced complexity features impact on positioning performance
US20250071575A1 (en) Iterative learning process in presence of interference
US20250031066A1 (en) Server and Agent for Reporting of Computational Results during an Iterative Learning Process
US11399325B2 (en) High-gain beam handover
EP4569642A1 (en) Methods for improving ue beam prediction procedures based on beam identifiers
US20220376953A1 (en) Reception and decoding of data in a radio network
US20250175393A1 (en) Iterative Learning Process using Over-the-Air Transmission and Unicast Digital Transmission
US20250232216A1 (en) Iterative learning with adapted transmission and reception
WO2025131359A1 (en) Phase calibration of client nodes with a server node
US20250016065A1 (en) Server and agent for reporting of computational results during an iterative learning process
WO2024151190A1 (en) Radio network node, and method performed therein
US20230162006A1 (en) Server and agent for reporting of computational results during an iterative learning process
US12171016B2 (en) Interference handling at radio access network nodes
WO2023158355A1 (en) Nodes, and methods for evaluating performance of an ae-encoder
US20250363411A1 (en) Iterative Learning with Different Transmission Modes
EP4602866A1 (en) Selection of serving transmission and reception point for user equipment participating in federated learning
US20240330700A1 (en) Server and agent for reporting of computational results during an iterative learning process
WO2025099681A1 (en) Dual attention model-based federated learning
WO2024235440A1 (en) Federated iterative learning with importance based transmission order
WO2025108573A1 (en) Data importance based iterative learning process

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24786399

Country of ref document: EP

Kind code of ref document: A1