Patent Description:
HARQ procedure causes latency in a cellular radio network. This is because the receiver of the data packet must notify the transmitter, by sending a positive acknowledgement (ACK) if the receiver successfully decoded the data packet, or by sending a negative acknowledgement (NACK) if the receiver was not able to decode the data packet.

<NPL>) discloses utilising early HARQ feedback.

<NPL> discloses utilising a neural network with HARQ protocols.

According to an aspect, there is provided subject matter of independent claims. Dependent claims define some embodiments.

One or more examples of implementations are set forth in more detail in the accompanying drawings and the description of embodiments.

Some embodiments will now be described with reference to the accompanying drawings, in which.

Reference numbers, both in the description of the embodiments and in the claims, serve to illustrate the embodiments with reference to the drawings, without limiting it to these examples only.

The embodiments and features, if any, disclosed in the following description that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.

In the following, different embodiments will be described using, as an example of an access architecture to which the embodiments may be applied, a radio access architecture based on long term evolution advanced (LTE Advanced, LTE-A) or new radio (NR, <NUM>), or future cellular technologies (e.g. <NUM> or the like) without restricting the embodiments to such an architecture, however. It is obvious for a person skilled in the art that the embodiments may also be applied to other kinds of communications networks having suitable means by adjusting parameters and procedures appropriately. Some examples of other options for suitable systems are the universal mobile telecommunications system (UMTS) radio access network (UTRAN or E-UTRAN), long term evolution (LTE, the same as E-UTRA), wireless local area network (WLAN or Wi-Fi), worldwide interoperability for microwave access (WiMAX), wideband code division multiple access (WCDMA), systems using ultra-wideband (UWB) technology, sensor networks, mobile ad-hoc networks (MANETs) and Internet Protocol multimedia subsystems (IMS) or any combination thereof.

It is apparent to a person skilled in the art that the system typically comprises also other functions and structures besides those shown in <FIG>.

The example of <FIG> shows a part of an exemplifying radio access network <NUM>.

<FIG> shows user apparatuses <NUM> and <NUM> configured to be in a wireless connection <NUM> on one or more communication channels in a cell with an access node (such as (e/g)NodeB) <NUM> providing the cell. The physical link from the user apparatus <NUM>, <NUM> to the (e/g)NodeB <NUM> is called uplink or reverse link and the physical link from the (e/g)NodeB <NUM> to the user apparatus <NUM>, <NUM> is called downlink or forward link. It should be appreciated that (e/g)NodeBs or their functionalities may be implemented by using any node, host, server or access point etc. entities suitable for such a usage, for example according to a higher layer split architecture, comprising a central-unit (so-called gNB-CU) controlling one or more distributed units (so-called gNB-DU).

A communications system typically comprises more than one (e/g)NodeB <NUM> in which case the (e/g)NodeBs <NUM> may also be configured to communicate with one another through logical interfaces (such Xn/X2) running over links, wired or wireless, designed for the purpose. These interfaces may be used for data and signalling purposes. The (e/g)NodeB <NUM> is a computing device configured to control the radio resources of communication system it is coupled to. The NodeB <NUM> may also be referred to as a base station, an access point or any other type of interfacing device including a relay station capable of operating in a wireless environment. The (e/g)NodeB <NUM> includes or is coupled to transceivers. From the transceivers of the (e/g)NodeB <NUM>, a connection is provided to an antenna unit that establishes bi-directional radio links to user apparatuses <NUM>, <NUM>. The antenna unit may comprise a plurality of antennas or antenna elements (sometimes also referred to as antenna panels, or transmission and reception points, TRP). The (e/g)NodeB <NUM> is further connected to a core network <NUM> (CN or next generation core NGC). Depending on the system, the counterpart on the CN side can be a serving gateway (S-GW, routing and forwarding user data packets), packet data network gateway (P-GW), for providing connectivity of user apparatuses <NUM>, <NUM> to external packet data networks, or mobile management entity (MME), access and mobility function (AMF), etc..

The user apparatus <NUM>, <NUM> (also called user equipment UE, user terminal, terminal device, subscriber terminal, etc.) illustrates one type of an apparatus to which resources on the air interface are allocated and assigned, and thus any feature described herein with a user apparatus may be implemented with a corresponding apparatus, such as a relay node.

The user apparatus <NUM>, <NUM> typically refers to a portable computing device that includes wireless mobile communication devices operating with or without a subscriber identification module (SIM), including, but not limited to, the following types of devices: a mobile station (mobile phone), smartphone, personal digital assistant (PDA), handset, device using a wireless modem (alarm or measurement device, etc.), laptop and/or touch screen computer, tablet, game console, notebook, and multimedia device. It should be appreciated that the user apparatus <NUM>, <NUM> may also be a nearly exclusive uplink only device, of which an example is a camera or video camera loading images or video clips to a network. The user apparatus <NUM>, <NUM> may also be a device having capability to operate in Internet of Things (IoT) network which is a scenario in which objects are provided with the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. One technology in the above network may be denoted as narrowband Internet of Things (NB-Iot). The user apparatus <NUM>, <NUM> may also be a device having capability to operate utilizing enhanced machine-type communication (eMTC). The user apparatus <NUM>, <NUM> may also utilize cloud. In some applications, the user apparatus <NUM>, <NUM> may comprise a small portable device with radio parts (such as a watch, earphones or eyeglasses) and the computation is carried out in the cloud. The user apparatus <NUM>, <NUM> (or in some embodiments a layer <NUM> relay node) is configured to perform one or more of user equipment functionalities. The user apparatus <NUM>, <NUM> may also be called a subscriber unit, mobile station, remote terminal, access terminal, user terminal or user equipment (UE) just to mention but a few names or apparatuses.

<NUM> enables using multiple input - multiple output (MIMO) antennas, many more base stations or nodes than the LTE, including macro sites operating in co-operation with smaller stations and employing a variety of radio technologies depending on service needs, use cases and/or spectrum available. <NUM> mobile communications supports a wide range of use cases and related applications including video streaming, augmented reality, different ways of data sharing and various forms of machine type applications (such as (massive) machine-type communications (mMTC), including vehicular safety, different sensors and real-time control. <NUM> is expected to have multiple radio interfaces, namely below <NUM>, cmWave and mmWave, and also being integratable with existing legacy radio access technologies, such as the LTE. Integration with the LTE may be implemented, at least in the early phase, as a system, where macro coverage is provided by the LTE and <NUM> radio interface access comes from small cells by aggregation to the LTE. In other words, <NUM> is planned to support both inter-RAT operability (such as LTE-<NUM>) and inter-RI operability (inter-radio interface operability, such as below <NUM> - cmWave, above <NUM> -mmWave, possibly using the same radio interfaces but with different parametrization). One of the concepts considered to be used in <NUM> networks is network slicing in which multiple independent and dedicated virtual sub-networks (network instances) may be created within the same infrastructure to run services that have different requirements on latency, reliability, throughput and mobility.

The current architecture in LTE networks is typically fully distributed in the radio and fully centralized in the core network. The low latency applications and services in <NUM> require to bring the content close to the radio which leads to local break out and mobile edge computing (MEC).

Edge cloud may be brought into the radio access network (RAN) <NUM> by utilizing network function virtualization (NVF) and software defined networking (SDN). Application of cloud RAN architecture enables RAN real time functions being carried out at the RAN side (in a distributed unit, DU <NUM>) and non-real time functions being carried out in a centralized manner (in a centralized unit, CU <NUM>).

In an embodiment, <NUM> may also utilize satellite communication to enhance or complement the coverage of <NUM> service, for example by providing backhauling. Satellite communication may utilize geostationary earth orbit (GEO) satellite systems, but also low earth orbit (LEO) satellite systems, in particular mega-constellations (systems in which hundreds of (nano)satellites are deployed).

It is obvious for a person skilled in the art that the depicted system is only an example of a part of a radio access system and in practice, the system may comprise a plurality of (e/g)NodeBs <NUM>, the user apparatus <NUM>, <NUM> may have access to a plurality of radio cells and the system may comprise also other apparatuses, such as physical layer relay nodes or other network elements, etc. At least one of the (e/g)NodeBs <NUM> may be a Home(e/g)nodeB. Radio cells may be macro cells (or umbrella cells) which are large cells, usually having a diameter of up to tens of kilometres, or smaller cells such as micro-, femto- or picocells. The (e/g)NodeBs <NUM> of <FIG> may provide any kind of these cells. Typically, in multilayer networks, one access node provides one kind of a cell or cells, and thus a plurality of (e/g)NodeBs <NUM> are required to provide such a network structure.

For fulfilling the need for improving the deployment and performance of communication systems, the concept of "plug-and-play" (e/g)NodeBs <NUM> has been introduced. An HNB Gateway (HNB-GW), which is typically installed within an operator's network may aggregate traffic from a large number of HNBs back to a core network.

As mentioned, the radio access network <NUM> may be split into two logical entities called Central Unit (CU) <NUM> and Distributed Unit (DU) <NUM>. In prior art, both CU and DU supplied by the same vendor. Thus, they are designed together and interworking between the units is easy. The interface between CU and DU may be denoted as F1 interface. Therefore, the network operators may have the flexibility to choose different vendors for CU and DU. Different vendors may provide different failure and recovery characteristics for the units. If the failure and recovery scenarios of the units are not handled in a coordinated manner, it will result in inconsistent states in the CU and DU (which may lead to subsequent call failures, for example). Thus, there is a need to enable the CU and DU from different vendors to coordinate operation to handle failure conditions and recovery, considering the potential differences in resiliency capabilities between the CU and DU.

Let us study simultaneously both <FIG> and <FIG>, which illustrate embodiments of an apparatus <NUM> for a network element <NUM>, and <FIG>, which illustrates embodiments of a method performed by the apparatus <NUM> for the network element <NUM>.

The apparatus <NUM> for the network element <NUM> comprises one or more memories <NUM> including computer program code <NUM>, and one or more processors <NUM> to execute the computer program code <NUM> to cause the apparatus <NUM> to perform the method.

The term 'processor' <NUM> refers to a device that is capable of processing data. Depending on the processing power needed, the apparatus <NUM> may comprise several processors <NUM> such as parallel processors, a multicore processor, or a computing environment that simultaneously utilizes resources from several physical computer units (sometimes these are referred as cloud, fog or virtualized computing environments). When designing the implementation of the processor <NUM>, a person skilled in the art will consider the requirements set for the size and power consumption of the apparatus <NUM>, the necessary processing capacity, production costs, and production volumes, for example.

A non-exhaustive list of implementation techniques for the processor <NUM> and the memory <NUM> includes, but is not limited to: logic components, standard integrated circuits, application-specific integrated circuits (ASIC), system-on-a-chip (SoC), application-specific standard products (ASSP), microprocessors, microcontrollers, digital signal processors, special-purpose computer chips, field-programmable gate arrays (FPGA), and other suitable electronics structures.

The term 'memory' <NUM> refers to a device that is capable of storing data run-time (= working memory) or permanently (= non-volatile memory). The working memory and the non-volatile memory may be implemented by a random-access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM), a flash memory, a solid state disk (SSD), PROM (programmable read-only memory), a suitable semiconductor, or any other means of implementing an electrical computer memory.

The computer program code <NUM> may be implemented by software. In an embodiment, the software may be written by a suitable programming language, and the resulting executable code may be stored in the memory <NUM> and executed by the processor <NUM>.

An embodiment provides a computer-readable medium <NUM> storing the computer program code <NUM>, which, when loaded into the one or more processors <NUM> and executed by one or more processors <NUM>, causes the one or more processors <NUM> to perform the algorithm/method, which will be explained with reference to <FIG>. The computer-readable medium <NUM> may comprise at least the following: any entity or device capable of carrying the computer program code <NUM> to the one or more processors <NUM>, a record medium, a computer memory, a read-only memory, an electrical carrier signal, a telecommunications signal, and a software distribution medium. In some jurisdictions, depending on the legislation and the patent practice, the computer-readable medium <NUM> may not be the telecommunications signal. In an embodiment, the computer-readable medium <NUM> may be a computer-readable storage medium. In an embodiment, the computer-readable medium <NUM> may be a non-transitory computer-readable storage medium.

The computer program code <NUM> implements the method as an algorithm analyzing a data packet <NUM>, and controlling a hybrid automatic repeat request procedure <NUM> associated with the data packet <NUM>. The computer program code <NUM> may be coded as a computer program (or software) using a programming language, which may be a high-level programming language, such as C, C++, or Java, or a low-level programming language, such as a machine language, or an assembler, for example. The computer program code <NUM> may be in source code form, object code form, executable file, or in some intermediate form. There are many ways to structure the computer program code <NUM>: the operations may be divided into modules, sub-routines, methods, classes, objects, applets, macros, etc., depending on the software design methodology and the programming language used. In modern programming environments, there are software libraries, i.e. compilations of ready-made functions, which may be utilized by the computer program code <NUM> for performing a wide variety of standard operations. In addition, an operating system (such as a general-purpose operating system) may provide the computer program code <NUM> with system services.

In an embodiment, the one or more processors <NUM> may be implemented as one or more microprocessors implementing functions of a central processing unit (CPU) on an integrated circuit. The CPU is a logic machine executing the computer program code <NUM>. The CPU may comprise a set of registers, an arithmetic logic unit (ALU), and a control unit (CU). The control unit is controlled by a sequence of the computer program code <NUM> transferred to the CPU from the (working) memory <NUM>. The control unit may contain a number of microinstructions for basic operations. The implementation of the microinstructions may vary, depending on the CPU design.

In an embodiment, the network <NUM> element is the user apparatus <NUM>.

In an embodiment, the network element <NUM> is a network element of the radio access network <NUM>.

The apparatus <NUM> for the network element <NUM> may be a stand-alone apparatus <NUM> as shown in <FIG>, i.e., the apparatus <NUM> is a separate unit, distinct from the user apparatus <NUM> and the part <NUM>, <NUM>, <NUM>, <NUM>, <NUM> of the radio access network <NUM>. However, in an embodiment, at least a part of the structure of the apparatus <NUM> may be more or less integrated with another apparatus: the apparatus <NUM> may be a part of the user apparatus <NUM>, and/or the apparatus <NUM> belongs to the network element <NUM>, <NUM>, <NUM>, <NUM>, <NUM> of the radio access network <NUM>. In such a case, a radio receiver <NUM> may also be a part of the network element <NUM> containing the apparatus <NUM>. In another embodiment, the apparatus <NUM> is a networked server apparatus accessible through a wired and/or wireless communication network. The networked server apparatus <NUM> may be a networked computer server operating according to a client-server architecture, a cloud computing architecture, a peer-to-peer system, or another applicable computing architecture.

In an embodiment, the apparatus <NUM> comprises means for causing the apparatus <NUM> to perform the method.

The operations are not strictly in chronological order in <FIG>, and some of the operations may be performed simultaneously or in an order differing from the given ones. Other functions may also be executed between the operations or within the operations and other data exchanged between the operations. Some of the operations or part of the operations may also be left out or replaced by a corresponding operation or part of the operation. It should be noted that no special order of operations is required, except where necessary due to the logical requirements for the processing order.

The method starts in <NUM> and ends in <NUM>. Note that the method may run as long as required (after the start-up of the apparatus <NUM> until switching off) by looping back from operation <NUM> or <NUM> back to <NUM>.

In an embodiment, a beginning part <NUM> of a data packet <NUM> received on a specific frequency band and in a scheduled slot between a user apparatus <NUM> and a radio access network <NUM> is analyzed <NUM> to predict a success <NUM> of decoding <NUM> the data packet <NUM> after received <NUM> in full.

In an embodiment, the beginning part <NUM> of the data packet <NUM> is analyzed <NUM> to predict the success <NUM> with a neural network <NUM> with trained parameters <NUM>.

The beginning part <NUM> of the data packet <NUM> received on the specific frequency band and in the scheduled slot between the user apparatus <NUM> and the radio access network <NUM>, and supplementary data <NUM> related to the data packet <NUM>, are inputted <NUM> into the neural network <NUM> with the trained parameters <NUM> to predict the success <NUM> of decoding <NUM> the data packet <NUM> after received <NUM> in full.

In an embodiment, the beginning part <NUM> of the data packet <NUM> is inputted <NUM> as raw radio frame data <NUM> into the neural network <NUM>.

In an embodiment, the beginning part <NUM> of the data packet <NUM> is inputted <NUM> into the neural network <NUM> as digitized receiver data <NUM> or Fourier transformed data <NUM>. The length of the beginning part <NUM> is denoted by ΔT. The digitized receiver data <NUM> may be in the baseband during the first ΔT (<NUM>, for example). The Fourier transformed data may be inputted as a matrix with rows representing subcarrier frequencies and columns representing the symbols received in full during the ΔT.

The beginning part <NUM> of the data packet <NUM> is concatenated <NUM> with an end part <NUM> of a previous data packet <NUM> to get a complete data packet <NUM>, and the complete data packet <NUM> is inputted <NUM> into the neural network <NUM> to predict the success <NUM>. As shown in <FIG>, at time t<NUM>, the reception of the data packet <NUM> begins: the beginning part <NUM> is received first, and then the end part <NUM>. Reception of an end part <NUM> of the previous data packet <NUM> starts at time t-<NUM>. A beginning part <NUM> of the previous data packet <NUM> may have been used to predict the success of decoding of the previous data packet <NUM>.

In a hybrid automatic repeat request procedure <NUM>, besides the ARQ error control using retransmissions, also forward error-correcting (FEC) coding and error-detecting (ED) coding are used (or a coding such as Reed-Solomon code capable of performing both error-correcting and error-detecting). As the success <NUM> is predicted using only the beginning part <NUM> of the data packet <NUM>, the supplementary data <NUM> related to the data packet <NUM> is such data that is obtainable before the whole data packet <NUM> with the beginning part <NUM> and the end party <NUM> is received <NUM> and decoded <NUM>.

In an embodiment, downlink control information <NUM> or uplink control information <NUM> related to the data packet <NUM> is inputted <NUM> as the supplementary data <NUM> into the neural network <NUM> to predict the success <NUM>.

In an embodiment, encoding information <NUM> related to the data packet <NUM> is inputted <NUM> as the supplementary data <NUM> into the neural network <NUM> to predict the success <NUM>. The encoding information <NUM> may define the used encoding of the radio signal <NUM> carrying the data packet <NUM>, such as PSK (Phase-Shift Keying), QAM (Quadrature Amplitude Modulation), etc..

In an embodiment, location information <NUM> of a pilot signal related to the data packet <NUM> is inputted <NUM> as the supplementary data <NUM> into the neural network <NUM> to predict the success <NUM>. The pilot signal includes known reference symbols, which may be used by the receiver <NUM> to estimate status of the radio channel <NUM> transporting the data packet <NUM>.

In an embodiment, an estimated channel <NUM> related to the data packet <NUM> is inputted <NUM> as the supplementary data <NUM> into the neural network <NUM> to predict the success <NUM>. The channel estimation utilizes the known pilot signal in order to estimate the time-varying radio channel <NUM>.

In an embodiment, a quality parameter <NUM> related to the data packet <NUM> is inputted <NUM> as the supplementary data <NUM> into the neural network <NUM> to predict the success <NUM>. The quality parameter <NUM> may be related to the radio signal <NUM> carrying the data packet <NUM>.

In an embodiment, the quality parameter <NUM> comprises a signal-to-interference-plus-noise ratio (SINR) of the radio signal <NUM> that transported the data packet <NUM>.

In <NUM>, the hybrid automatic repeat request procedure <NUM> associated with the data packet <NUM> is controlled based on the predicted success <NUM> using the specific frequency band and the scheduled slot for full-duplex inband signalling <NUM>.

As shown in <FIG>, the full-duplex inband signalling <NUM> is transmitted using transmission radio resources <NUM> during reception of a remaining part <NUM> of the data packet <NUM> with reception radio resources <NUM>. In this way, the latency is reduced as there is no need to wait for a scheduling decision to use the radio resources available after the data packet <NUM> has been received in full. The upper part of <FIG> illustrates an example of the current <NUM> New Radio (NR) architecture without the minislots for the normal cyclic prefix (CP) case with numerology = <NUM>. The lower part of <FIG> illustrates the HARQ latency for <NUM> NR systems with numerology <NUM>, where each slot is <NUM> long, and a DL heavy frame structure is used. As is evident from <FIG>, the HARQ latency with full-duplex acknowledgements is <NUM> (millisecond). It is easy to calculate that the average latency of delivering the HARQ feedback for the DL transport blocks (TB) is in the best case <NUM> (=(<NUM>+<NUM>+<NUM>+<NUM>)/<NUM>), as it may only be carried out during every fifth UL slot <NUM> after the four DL slots <NUM>, <NUM>, <NUM>, <NUM>. Moreover, this amount of time does not even consider the time it takes to decode the TBs, which for DL data is <NUM>-<NUM> and for UL data <NUM>-<NUM>. Consequently, it may be concluded that the HARQ procedure <NUM> using the full-duplex inband signalling <NUM> reduces the latency at least by a factor of <NUM>, but most likely even more than that.

In an embodiment, the hybrid automatic repeat request procedure <NUM> associated with the data packet <NUM> is controlled <NUM> during a transmission time interval (TTI) <NUM> of the data packet <NUM>.

In an embodiment, the hybrid automatic repeat request procedure <NUM> associated with the data packet <NUM> is controlled <NUM> before the data packet <NUM> is received <NUM> in full and decoded <NUM>.

In an embodiment, the data packet <NUM> is received in <NUM> in full, and the data packet <NUM> is decoded in <NUM> after received <NUM> in full, and, if the predicted success was erroneous <NUM>-YES, a legacy hybrid automatic repeat request procedure is reverted to in <NUM>.

The embodiments may enable a lower latency between the reception and acknowledgement of the data packet <NUM>, which in LTE and <NUM> systems may be in the order of milliseconds. This is one of the most significant bottlenecks for reducing the latency of the next generation wireless networks.

Two features may enable the reduction of the HARQ latency:.

The first feature is related to the decoding, which means that the associated latency depends largely on the decoder performance. With low-density parity-check (LDPC) codes, the latency depends on the number of iterations, more of which are required for lower signal-to-noise ratios (SNR). The second feature, on the other hand, depends on the amount of available resources and the slot configuration of the network. In some cases, this may result in considerable latency if one must wait for a suitable slot for transmitting the HARQ feedback.

It should also be noted that <NUM> includes the option for using so-called minislots, where a single slot includes both uplink (UL) and downlink (DL) symbols. This facilitates also much shorter latencies as it is possible to send NACK and receive a retransmission within a single slot. However, it is to be expected that in most of the cases such minislots are not used due to the associated overhead, meaning that each slot is dedicated to either UL or DL.

The main idea of the embodiments is to facilitate HARQ feedback within the same slot/TTI as the corresponding transport block (TB). This will considerably reduce the latency of retransmissions as it is not necessary to wait for a suitable slot for the ACK/NACK message. This is particularly beneficial for the cases where minislots are not used, although the same principles may also be applied to minislots if extremely low latencies are required. The two main ingredients of the embodiments are as follows:.

Therefore, the transmitter will receive the ACK/NACK feedback without any latency due to the decoding process and without any dedicated resources for the feedback.

<FIG> illustrates a system comprising the apparatus <NUM> for the network element <NUM>, a training apparatus <NUM>, and a decoder <NUM>. The purpose of the system is to train the trained parameters <NUM> of the neural network <NUM>.

The data <NUM>, <NUM> for training may be collected by recording normal operational data from receivers <NUM>. The ground truth (or labels) <NUM> for the data may be obtained by applying normal Turbo decoder <NUM> as in legacy HARQ. The decoder <NUM> decodes the data packet <NUM> after received in full, and inputs the realized success of the decoding as a ground truth <NUM> into the training apparatus <NUM>. The decoder <NUM> may be implemented with the hardware and software resources of the training apparatus <NUM>, but it may also be a separate unit as in <FIG>, implemented with suitable hardware and software, or even as a pure hardware implementation (with an ASIC, for example).

The inputs listed in <FIG> are the same as in <FIG>, with the exception of the ground truth <NUM>.

The training apparatus <NUM> comprises one or more memories <NUM> including computer program code <NUM>, and one or more processors <NUM> to execute the computer program code <NUM> to cause the performance of the training apparatus <NUM>.

In <NUM>, a differentiable loss function (a binary cross-entropy loss, for example) value between the predicted success <NUM> and the realized success <NUM> is generated, and in <NUM>, the trained parameters <NUM> are adjusted based on the loss function value.

In an embodiment, using a stochastic gradient descent algorithm, a local minimum of the differentiable loss function is found <NUM> as the differentiable loss-function value. Besides the basic stochastic gradient descent algorithm, its improvements or any other iterative learning algorithm may be used to find the local minimum.

<FIG> illustrates an embodiment of the neural network <NUM> with one hidden layer, and <FIG> illustrates an embodiment of a computational node.

Deep learning (also known as deep structured learning or hierarchical learning) is part of a broader family of machine learning methods based on the layers used in artificial neural networks.

An artificial neural network (ANN) <NUM> comprises a set of rules that are designed to execute tasks such as regression, classification, clustering, and pattern recognition. The ANNs achieve such objectives with a learning procedure, where they are shown various examples of input data, along with the desired output. With this, they learn to identify the proper output for any input within the training data manifold. Learning by using labels is called supervised learning and learning without labels is called unsupervised learning. Deep learning typically requires a large amount of input data.

A deep neural network (DNN) <NUM> is an artificial neural network comprising multiple hidden layers <NUM> between the input layer <NUM> and the output layer <NUM>. Training of DNN allows it to find the correct mathematical manipulation to transform the input into the proper output even when the relationship is highly non-linear and/or complicated.

Each hidden layer <NUM> comprise nodes <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, where the computation takes place. As shown in <FIG>, each node <NUM> combines input data <NUM> with a set of coefficients, or weights <NUM>, that either amplify or dampen that input <NUM>, thereby assigning significance to inputs <NUM> with regard to the task the algorithm is trying to learn. The input-weight products are added <NUM> and the sum is passed through an activation function <NUM>, to determine whether and to what extent that signal should progress further through the network <NUM> to affect the ultimate outcome, such as an act of classification. In the process, the neural networks learn to recognize correlations between certain relevant features and optimal results.

In the case of classification, the output of deep-learning network <NUM> may be considered as a likelihood of a particular outcome, such as in this case a probability of decoding success of a data packet. In this case, the number of layers <NUM> may vary proportional to the number of used input data <NUM>. However, when the number of input data <NUM> is high, the accuracy of the outcome <NUM> is more reliable. On the other hand, when there are fewer layers <NUM>, the computation might take less time and thereby reduce the latency. However, this highly depends on the specific DNN architecture and/or the computational resources.

Initial weights <NUM> of the model can be set in various alternative ways. During the training phase they are adapted to improve the accuracy of the process based on analyzing errors in decision making. Training a model is basically a trial and error activity. In principle, each node <NUM>, <NUM>, <NUM>, <NUM>, <NUM> of the neural network <NUM> makes a decision (input*weight) and then compares this decision to collected data to find out the difference to the collected data. In other words, it determines the error, based on which the weights <NUM> are adjusted. Thus, the training of the model may be considered a corrective feedback loop.

Typically, a neural network model is trained using a stochastic gradient descent optimization algorithm for which the gradients are calculated using the backpropagation algorithm. The gradient descent algorithm seeks to change the weights <NUM> so that the next evaluation reduces the error, meaning the optimization algorithm is navigating down the gradient (or slope) of error. It is also possible to use any other suitable optimization algorithm if it provides sufficiently accurate weights <NUM>. Consequently, the trained parameters <NUM> of the neural network <NUM> may comprise the weights <NUM>.

In the context of an optimization algorithm, the function used to evaluate a candidate solution (i.e. a set of weights) is referred to as the objective function. Typically, with neural networks, where the target is to minimize the error, the objective function is often referred to as a cost function or a loss function. In adjusting weights <NUM>, any suitable method may be used as a loss function, some examples are mean squared error (MSE), maximum likelihood (MLE), and cross entropy.

As for the activation function <NUM> of the node <NUM>, it defines the output <NUM> of that node <NUM> given an input or set of inputs <NUM>. The node <NUM> calculates a weighted sum of inputs, perhaps adds a bias and then makes a decision as "activate" or "not activate" based on a decision threshold as a binary activation or using an activation function <NUM> that gives a nonlinear decision function. Any suitable activation function <NUM> may be used, for example sigmoid, rectified linear unit (ReLU), normalized exponential function (softmax), sotfplus, tanh, etc. In deep learning, the activation function <NUM> is usually set at the layer level and applies to all neurons in that layer. The output <NUM> is then used as input for the next node and so on until a desired solution to the original problem is found.

With reference to <FIG>, let us study controlling <NUM> the hybrid automatic repeat request procedure <NUM> associated with the data packet <NUM> for downlink, wherein the base station <NUM> is the initial transmitter and the user apparatus <NUM> is the receiver.

In <NUM>, a test is performed regarding the predicted success <NUM>.

If the predicted success <NUM> indicates <NUM>-YES that the decoding <NUM> of the data packet <NUM> will succeed, an acknowledgement (ACK) associated with the data packet <NUM> is transmitted in <NUM> using the specific frequency band and the scheduled slot for the full-duplex inband signalling <NUM>.

If the predicted success <NUM> indicates <NUM>-NO that the decoding <NUM> of the data packet <NUM> will fail, a negative acknowledgement (NACK) associated with the data packet <NUM> is transmitted in <NUM> using the specific frequency band and the scheduled slot for the full-duplex inband signalling <NUM>.

<FIG> also illustrates the embodiment of <NUM>, <NUM> of <FIG>. The data packet <NUM> is received in <NUM> in full, and the data packet <NUM> is decoded in <NUM> after received <NUM> in full. The test (predicted success erroneous?) <NUM> of <FIG> may be performed in <FIG> as two separate tests (could decode?) <NUM>, <NUM> for ACK- and NACK branches, and if the predicted success was erroneous, the legacy hybrid automatic repeat request procedure is reverted to in <NUM>.

With reference to <FIG>, let us study controlling <NUM> the hybrid automatic repeat request procedure <NUM> associated with the data packet <NUM> for uplink, wherein the user apparatus <NUM> is the initial transmitter and the base station <NUM> is the receiver.

In this case, according to <NUM> NR specifications, no explicit ACK or NACK is used, meaning that the only HARQ feedback is an implicit NACK message in the form of a grant for retransmission (RTX). If the UE <NUM> receives such a grant, it knows that the previous transmission failed and a retransmission (RTX) is required. Therefore, in case of the HARQ procedure <NUM> with the full-duplex inband signalling <NUM>, only a negative prediction triggers an action, i.e., the UE <NUM> is informed that RTX is needed and the required resources are also granted.

If the predicted success <NUM> indicates <NUM>-YES that the decoding <NUM> of the data packet <NUM> will succeed, no specific action is needed.

If the predicted success <NUM> indicates <NUM>-NO that the decoding <NUM> of the data packet <NUM> will fail, a grant for retransmission (UL grant for RTX) associated with the data packet <NUM> is transmitted in <NUM> using the specific frequency band and the scheduled slot for the full-duplex inband signalling <NUM>.

<FIG> also illustrates the embodiment of <NUM>, <NUM> of <FIG>. The data packet <NUM> is received in <NUM> in full, and the data packet <NUM> is decoded in <NUM> after received <NUM> in full. The test (predicted success erroneous?) <NUM> of <FIG> may be performed in <FIG> as two separate tests (could decode?) <NUM>, <NUM> for NO ACTION - and RTX-GRANT -branches, and if the predicted success was erroneous, the full-duplex inband signalling <NUM> is used to transmit RTX-GRANT in <NUM>, or if there is scheduled downlink <NUM>-YES to the user apparatus <NUM> before the scheduled RTX takes place, the base station <NUM> cancels the grant for the user apparatus <NUM> in <NUM>. However, if the base station <NUM> is not able to cancel the retransmission, the UE <NUM> will perform the RTX and the base station <NUM> will promptly discard it.

In order to utilize the HARQ procedure <NUM> with the full-duplex inband signalling <NUM>, the receiver and the transmitter need to be aware of each other's capability and willingness to perform the HARQ procedure <NUM> with the full-duplex inband signalling <NUM>. It would be power-inefficient to be constantly running the receiver while transmitting when the other party is not even planning to engage in the full-duplex inband signalling <NUM>. This may be done by suitable information at least in the downlink control information (DCI) packet, but potentially also in the uplink control information (UCI) packet. With such FD-HARQ bit(s), it is possible to know which network nodes are capable of utilizing the full-duplex inband signalling <NUM> for the HARQ procedure <NUM> by having the base station <NUM> to maintain a table where the full-duplex inband signalling capable UEs <NUM>, <NUM> are listed. Considering first the case where only the DCI contains the FD-HARQ bit, <FIG> describes the basic procedure for determining the FD-capable UEs <NUM>, <NUM> from the perspective of the base station <NUM>. The FD-capability is determined by requesting the new UEs <NUM>, <NUM> to use the full-duplex inband signalling <NUM> for the HARQ procedure <NUM> for a predetermined number of times (defined by a parameter N, wherein N is any integer greater than <NUM>).

The basic procedure contains three tests <NUM>, <NUM>, <NUM>.

In <NUM>, it is decided that the user apparatus <NUM> possesses a capability to receive the full-duplex inband signalling <NUM> of the hybrid automatic repeat request procedure <NUM>,.

If the user apparatus <NUM> possesses the capability, downlink control information indicating that the user apparatus <NUM> possesses the capability is transmitted in <NUM>.

However, if the user apparatus <NUM> fails <NUM> NO to receive the full-duplex inband signalling <NUM> for a predetermined number of times, said user apparatus <NUM> is added to the list of user apparatuses being incapable. The test <NUM> may be implemented by testing a request counter, whose initial value is zero, and which is incremented in <NUM> every time the user apparatus <NUM> is requested to use the full-duplex inband signalling <NUM> in <NUM>.

With this basic procedure, no separate FD-HARQ indicator is required in the UL direction, which reduces the overhead.

Instead of the basic procedure, an alternative procedure of <FIG> may be used, which may result in an asymmetric full-duplex inband signalling <NUM> of the HARQ procedure <NUM>, where it is only utilized in DL or UL. For this, an explicit FD-HARQ indicator is also included in the UCI, which makes it faster to identify the FD-capable UEs <NUM>. In addition, by signalling the FD-HARQ capability separately for DL and UL, the procedure may be made more versatile.

The configuration of the HARQ procedure <NUM> with binary FD-HARQ capability indicator bit in both DCI and UCI begins in <NUM>. The left-hand branch shows the configuration for the uplink, and the right-hand branch for the downlink.

If the radio access network <NUM> possesses <NUM>-YES the capability to receive the full-duplex inband signalling <NUM>, downlink control information indicating a capability of the radio access network <NUM> to receive the full-duplex inband signalling <NUM> of the hybrid automatic repeat request procedure <NUM> is transmitted in <NUM>, or else <NUM>-NO controlling <NUM> the hybrid automatic repeat request procedure <NUM> is controlled in <NUM> to use a legacy hybrid automatic repeat request procedure in the uplink.

If the user apparatus <NUM> possesses <NUM>-YES the capability to use the full-duplex inband signalling <NUM>, uplink control information indicating a capability of the user apparatus <NUM> to receive the full-duplex inband signalling <NUM> of the hybrid automatic repeat request procedure <NUM> is transmitted in <NUM>, or else <NUM>-NO the hybrid automatic repeat request procedure <NUM> is controlled in <NUM> to use a legacy hybrid automatic repeat request procedure in the downlink.

For the alternative procedure where each node signals its FD-HARQ capability in UL and DL with separate bits, these FD-HARQ bits may be processed as shown in <FIG>. Each node will explicitly signal its FD-HARQ capability <NUM> to the other parties, and the two communicating nodes calculate the bit-wise logical AND <NUM> of their respective FD-HARQ preferences <NUM>, <NUM>. The most recent FD-HARQ notification <NUM> of the other node should be used. If no up-to-date information is available, the bits <NUM> of the other node may be set to zeros, which results in "<NUM>" for the legacy HARQ <NUM>, when deciding the mode of the HARQ procedure <NUM> in <NUM>. Other alternatives are: "<NUM>" for the HARQ procedure <NUM> with the full-duplex inband signalling <NUM> for the received downlink, "<NUM>" for the HARQ procedure <NUM> with the full-duplex inband signalling <NUM> for the received uplink, and "<NUM>" for the HARQ procedure <NUM> with the full-duplex inband signalling <NUM> for both the received downlink and the received uplink. Naturally, the values of the bits may be different to those shown, but the embodiment serves to illustrate that the signalling may be implemented with a minimum of one bit for the DL and one bit for the UL, meaning that both DCI and UCI contain two bits that indicate the FD-HARQ capability of the corresponding device.

In an embodiment illustrated in <FIG>, statistics indicating a proportion of full-duplex inband signalling <NUM> capable network elements, and a proportion of correct predictions are maintained in <NUM>, and resources for the legacy hybrid automatic repeat request procedure are reserved in <NUM> based on the statistics.

Maintaining the option of falling back to the legacy HARQ feedback in case of wrong predictions requires that some resources for that are kept available. In the simplest case, the resources may be allocated under the assumption that the legacy HARQ is always used, in which case the use of the full-duplex inband signalling <NUM> proposed solution improves the latency. However, if the proportion of FD-HARQ capable devices and the accuracy of the decoding predictions are known, the amount of required legacy HARQ resources may be deduced in advance. This facilitates improvements in spectral efficiency by having a reduced HARQ resource pool for the FD-HARQ nodes, which is required only in case of false predictions.

<FIG> illustrate two embodiments of a hybrid automatic repeat request procedure <NUM> with the full-duplex inband signalling <NUM>.

In <NUM>, DCI with FD-HARQ=True is transmitted.

In <NUM>, a downlink transport block is transmitted from the base station <NUM> to the user apparatus <NUM>.

The user apparatus <NUM> predicts <NUM> correctly that the data packet cannot be decoded and transmits <NUM> a (correct) NACK with the full-duplex inband signalling <NUM>.

The user apparatus <NUM> predicts <NUM> incorrectly that the data packet can be decoded, transmits <NUM> an (incorrect) ACK with the full-duplex inband signalling <NUM>, and, after the decoding <NUM>, transmits a (correct) NACK using the legacy HARQ.

<FIG> illustrates an embodiment of a recurrent complex-valued convolutional network for predicting the decoding success. In this embodiment, the network utilizes <NUM> subcarriers (or less), but in real life, this number may be easily increased. For demonstrational purposes, the TTI is defined to include <NUM> symbols, out of which <NUM> or less are pilots. The pilots may be distributed in any manner in the data. In this embodiment, the receiver has <NUM> antennas and <NUM> different encoding schemes (QPSK, 16QAM, 64QAM) are considered. Next, the inputs, architecture and outputs of the example network are explained.

INPUTS OF THE NETWORK: the previous frame at t-<NUM> and the first ΔT of the current frame at t<NUM> are concatenated. This time frame is called ΔTinput. For simplicity, all inputs span ΔTinput, while the output prediction is for the frame at t<NUM>. Input data is normalized and the actual scale and bias (<NUM> real and <NUM> complex value) are given as additional input to the network.

For this presentation, the H,W,C (height, width, channels) ordering of the dimensions are used, and all convolutions scan over for the H,W dimensions. H corresponds to frequencies and HW corresponds to symbols in time. For this text and <FIG>, we leave out the batch dimension, which is prepended, e. g, as the first dimension during training.

Broadcast Encoding (N=<NUM>), Scale (N=<NUM>) and Bias (N=<NUM>), Frequencies (<NUM>,) so that their dimensions match TxPilots: <NUM>, <NUM>, N. Convert to Complex.

Concatenate RxData, TxPilots, Delay, Frequencies, Encoding, Scale, Bias along the last dimension: Complex (freqs, symbols, <NUM>) (<NUM>, <NUM>, <NUM>).

Repeat M times (the output of the previous repetition is connected to the input of the next repetition, each convolutional layer with their own weight matrices):.

Complex valued convolutional layer with filter size of <NUM> frequencies, <NUM> symbols, and <NUM> channels.

After previous step the network dimension is (<NUM>, <NUM>, <NUM>).

Concatenate the real and imaginary parts of the network into a real valued tensor: (<NUM>, <NUM>, <NUM>).

Flatten (vectorize) into <NUM>-dimensional vector (<NUM>*<NUM>*K*<NUM>).

<NUM> fully connected layers with weights Wfc0, Wfc1 (+Relu + normalization in between them), with the last one having just one output <NUM>. <NUM> (with sigmoid) (the probability of encoding success).

Further information regarding the network structure (for example the CRelu and the normalization) may be obtained from <NPL>.

Single output value (the probability of encoding success).

Input all values defined in the input data and output the probability of encoding success. If the recurrent version is used, then the state of the RNN (Recurrent Neural Network) is reset if the frequency allocation changes.

The data for training of this network may be collected by recording normal operational data from receivers. The labels (ground truth) for the data may be obtained by applying normal Turbo encoder as in legacy HARQ and retrieving the final success/fail status (for the whole TTI at time t<NUM>). Training of the model is done by optimizing the loss function (e.g. binary cross-entropy loss) using an optimization algorithm such as stochastic gradient descent. If the recurrent version is used, then RNN training sequences are created from those sequences, where the frequency allocation remains unchanged.

In another embodiment, for example for computational reasons, it is possible to change the architecture of the recurrent network so that it does not have any recurrence. In this case, all convLSTM operations are replaced with non-recurrent convolutions.

It is also possible to create a real valued neural network by concatenating the real and imaginary parts of the inputs into a real valued array.

Instead of convolutions, fully connected layers may be used in the network, for example.

Downsampling may be applied after or before the convolutions, with a strided convolution or pooling, for example. Dilated convolutions may also be used for this effect as is known from the related work.

The data may be downsampled before inputting it to the network.

Several models may be trained with different hyperparameters and one may be chosen for use based on current radio conditions.

A deep learning model with attention instead or in addition to LSTM may be used.

For a single carrier waveform, e.g., SC-FDMA: The network may contain a layer that multiplies the input with a predefined FFT rotation matrix and/or a layer that performs IFFT.

Claim 1:
An apparatus (<NUM>) for a network element (<NUM>), comprising means for causing the apparatus (<NUM>) to perform at least the following:
concatenating (<NUM>) the beginning part (<NUM>) of a data packet (<NUM>) received on a specific frequency band and in a scheduled slot between a user apparatus (<NUM>) and a radio access network (<NUM>) with an end part (<NUM>) of a previous data packet (<NUM>) to get a complete data packet (<NUM>) and inputting (<NUM>) the complete data packet (<NUM>) and supplementary data (<NUM>) related to the data packet (<NUM>), into a neural network (<NUM>) with trained parameters (<NUM>) to predict a success (<NUM>) of decoding the data packet (<NUM>) after received in full; and
controlling (<NUM>) a hybrid automatic repeat request procedure (<NUM>) associated with the data packet (<NUM>) based on the predicted success (<NUM>) using the specific frequency band and the scheduled slot for full-duplex inband signalling (<NUM>).