Method and apparatus for decoding packets in a wireless network to compute log likelihood ratios

By employing machine learning to decode packets and calculate LLR values in wireless networks, the complexity and inefficiency of existing LLR calculation methods are addressed, resulting in improved efficiency and reduced hardware costs.

CN114731218BActive Publication Date: 2025-07-15SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080080961.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-08-03
Filing Date
2020-11-20
Publication Date
2025-07-15
Estimated Expiration
2040-11-20

AI Technical Summary

Technical Problem

The LLR calculation complexity in existing wireless networks leads to inefficient efficiency, the existing methods are complex and the calculation cost is high.

Method used

Using machine learning technology, the LLR value is calculated using multiple network parameters by training neural networks, including MMSE value, channel gain, modulation scheme, etc., and combining sparse neural network and sparse DNN technology, reduces the computational complexity and improves the computational efficiency.

Benefits of technology

Reduces the complexity of LLR computing in wireless networks, improves computing efficiency, reduces hardware costs, shortens waiting time, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114731218B_ABST
    Figure CN114731218B_ABST
Patent Text Reader

Abstract

Embodiments herein provide a method for a device (100) to decode user data in a wireless network (1000). The method includes the device (100) receiving user data associated with a plurality of network parameters. The method includes the device (100) training a neural network (220) using the plurality of received network parameters. Additionally, the method includes the device (100) calculating LLRs using the trained neural network (220). Additionally, the method includes the device (100) decoding the received user data using the calculated LLRs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to wireless networks and, more particularly, to methods and apparatuses for decoding packets in a wireless network to compute log-likelihood ratios (LLRs) based on graphics processing unit (GPU) / non-GPU architectures. Background Art

[0002] Generally, LLR computation is an integral part of various wireless receivers. The LLR values are used as inputs to the decoding module in a wireless receiver. However, computing the LLR optimally has exponential overhead. Therefore, many attempts have been made to simplify the process of LLR computation. Existing methods are extremely complex, and the high computational complexity reduces efficiency.

[0003] Accordingly, it is desirable to address the above disadvantages or other deficiencies, or at least provide a useful alternative. Summary of the Invention

[0004] Technical Problem

[0005] A main object of embodiments herein is to provide a method for decoding packets in a wireless network using machine learning techniques to compute LLR values based on a computational unit architecture (e.g., a graphics processing unit (GPU)-based architecture, a non-GPU-based architecture, a central processing unit (CPU)-based architecture, a non-CPU-based architecture, etc.).

[0006] Technical Solution

[0007] Accordingly, embodiments herein disclose a method for a device to decode user data in a wireless network. The method includes the device receiving user data associated with a plurality of network parameters. The method includes the device training a neural network using the plurality of received network parameters. Further, the method includes the device computing an LLR using the trained neural network. Further, the method includes the device decoding the received user data using the computed LLR.

[0008] In an embodiment, the plurality of network parameters includes minimum mean square error (MMSE) value, channel gain, modulation scheme, channel quality indicator (CQI) information, number of user equipments (UEs) within range, location of the UE, distance between the UE and the device, weather conditions, resource block (RB) information, operating frequency, RB bandwidth, quality of service (QoS), QoS class identifier (QCI), bandwidth part (BWP), subcarrier spacing (SCS), coherent bandwidth (BW), coherent time, coherent interference, noise, operating frequency, UE capabilities, multiple-input multiple-output (MIMO) capabilities, transmission mode, real-time traffic data, remote radio head (RRH) BS capabilities, in-phase data and quadrature data (I and Q) values of the UE, quadrature amplitude modulation (QAM) modulation details, magnitude of the in-phase data and quadrature data (I and Q) vectors, and resource blocks allocated to the user, traffic density associated with the BS, traffic distribution associated with the BS, category of the BS, climatic conditions of the day, information on special occasions associated with the area of the UE on the day, event-based calendar of the UE, holiday details of the user associated with the UE, category of the UE, and subscription details of the UE.

[0009] In an embodiment, the apparatus uses the computed LLRs to decode the received user data by performing one of the following: I) The apparatus uses the E2 interface to transfer the computed LLRs to the physical layer and the apparatus uses the computed LLRs to decode the received user data; II) The apparatus sequentially receives the magnitude of the user data vector, QAM information, MIMO rank details, and the number of RBs assigned to the user data, and the apparatus uses the computed LLRs to serially decode the received user data on a per-packet basis based on the magnitude of the user data vector, QAM information, the number of RBs assigned to the user data, and MIMO rank details; III) The apparatus receives QAM information, the magnitude of the IQ data for each user data, and the RBs assigned to each user data, and the apparatus uses the LLRs computed based on the QAM information, the magnitude of the IQ data for each user data, and the RBs assigned to each user data to parallel decode the received user data on a per-symbol basis; and IV) The apparatus provides the user data until all the IQ data is decoded serially or in parallel, the apparatus assigns the magnitude of the input vector as a function of the number of RBs to the user data, the apparatus loads weights using a look-up table in a neural network, and the apparatus uses the computed LLRs, the magnitude of the input vector, and a weighting function to serially decode the user data. The LLRs are computed for at least one of all packets, serially for each bit, all user data, one bit at a time, and simultaneously one bit at a time and for all user data.

[0010] In an embodiment, receiving user data associated with multiple network parameters by a device includes: separating an IQ data stream by the device before feeding the IQ data stream into a neural network, determining a channel condition associated with a QAM scheme by the device, and receiving, by the device, user data associated with multiple network parameters based on the separated IQ data stream and the determined channel condition.

[0011] In an embodiment, training a neural network by creating multiple batches of training samples, where each training sample uses at least one modulation scheme, training QAM schemes, where each QAM scheme includes a unique code embedded in the user data, generating shuffled training samples for each batch from the multiple batches, calculating the LLR corresponding to each shuffled training sample, and shuffling the LLR calculated across batches while training.

[0012] In an embodiment, the device is at least one of a base station, an Open Radio Access Network (ORAN), a Centralized Radio Access Network (CRAN), and a Virtual Radio Access Network (VRAN).

[0013] In an embodiment, the NN is implemented in the RIC modules of O-RAN and VRAN.

[0014] In an embodiment, calculating the LLR by the device includes receiving at least one of the number of RBs, operating frequency, MCS, number of independent streams, MIMO details, network and UE parameters, and SINR from all layers or a subset of network parameters, and calculating the LLR sequentially or in parallel based on at least one of the number of RBs, operating frequency, MCS, number of independent streams, MIMO details, network and UE parameters, and SINR from all layers or a subset of network parameters.

[0015] Accordingly, embodiments herein disclose a device for decoding user data in a wireless network. The device includes a processor coupled to a memory. The processor is configured to receive user data associated with multiple network parameters and train a neural network using the multiple received network parameters. Further, the processor is configured to calculate the LLR using the trained neural network. Further, the processor is configured to decode the received user data using the calculated LLR.

[0016] These and other aspects of the embodiments herein will be better understood and appreciated when considered in conjunction with the following description and the accompanying drawings. However, it should be understood that although the following description indicates preferred embodiments and many specific details therein, the description is given by way of illustration and not limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit of the embodiments herein, and the embodiments herein include all such modifications.

[0017] Beneficial effects

[0018] Various embodiments of the present disclosure can provide a method of using machine learning techniques to decode packets to calculate LLR values for a computing unit-based architecture (e.g., a graphics processing unit (GPU)-based architecture, a non-GPU-based architecture, a central processing unit (CPU)-based architecture, a non-CPU-based architecture, etc.) in a wireless network. This promotes increased efficiency and reduced high computational complexity. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The method and apparatus are illustrated in the accompanying drawings, in which like reference numerals refer to corresponding parts in all the drawings. Referring to the drawings, the embodiments herein will be better understood from the following description, wherein:

[0020] Figure 1 An example scenario is shown where the apparatus decodes user data using ML and AI techniques according to embodiments disclosed herein;

[0021] Figure 2 A hardware component diagram of an apparatus for decoding user data in a wireless network according to embodiments disclosed herein is shown;

[0022] Figure 3 The training of the NN according to embodiments disclosed herein is shown;

[0023] Figure 4 An example scenario is shown where a base station decodes user data in a wireless network according to embodiments disclosed herein;

[0024] Figure 5 An example scenario is shown where a UE decodes user data in a wireless network according to embodiments disclosed herein;

[0025] Figure 6 An example scenario is shown where a VRAN decodes user data in a wireless network according to embodiments disclosed herein;

[0026] Figure 7 An architecture diagram of an ORAN for decoding user data according to embodiments disclosed herein is shown; and

[0027] Figure 8a and Figure 8b and Figure 8c are flowcharts showing a method of decoding user data in a wireless network by an apparatus according to embodiments disclosed herein. DETAILED DESCRIPTION

[0028] Embodiments herein and their various features and advantageous details are more fully explained by referring to the non-limiting embodiments shown in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as not to unnecessarily obscure the embodiments herein. In addition, the various embodiments described herein are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments. Unless otherwise specified, the term "or" as used herein refers to a non-exclusive or. The examples used herein are merely for facilitating an understanding of the manner in which the embodiments herein can be practiced and further enabling those skilled in the art to practice the embodiments herein. Therefore, these examples should not be construed as limiting the scope of the embodiments herein.

[0029] In accordance with the convention in the art, embodiments can be described and illustrated in terms of blocks that perform one or more of the described functions. These blocks can be referred to herein as managers, units, modules, hardware components, etc., which are physically implemented by analog and / or digital circuits, such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits, etc., and optionally driven by firmware and software. The circuits can be included, for example, in one or more semiconductor chips or on a substrate support such as a printed circuit board. The circuits constituting the blocks can be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuits), or by a combination of dedicated hardware performing some functions of the block and a processor performing other functions of the block. Without departing from the scope of the present disclosure, each block of an embodiment can be physically divided into two or more interacting and discrete blocks. Similarly, without departing from the scope of the present disclosure, the blocks of an embodiment can be physically combined into more complex blocks.

[0030] The accompanying drawings are used to help easily understand various technical features, and it should be understood that the embodiments presented herein are not limited by the accompanying drawings. Therefore, the present disclosure should be construed as extending to any variations, equivalents, and alternatives other than those specifically set forth in the accompanying drawings. Although terms such as first, second, etc. can be used herein to describe various elements, these elements should not be limited by these terms. These terms are generally only used to distinguish one element from another.

[0031] The terms "NN", "ML", and "AI" can be used interchangeably in patent disclosures. The terms "BS", "cell", "evolved Node B (eNodeB)", "next-generation Node B (gNodeB)", "sector", "remote unit (RU)", "transceiver", and "remote radio head (RRH)" can be used interchangeably in patent disclosures.

[0032] The following are the abbreviations used in the patent specification:

[0033] Log-Likelihood Ratio (LLR)

[0034] Neural Network (NN)

[0035] Base Station (BS)

[0036] Remote Radio Head (RRH)

[0037] User Equipment (UE)

[0038] Quality of Service (QoS)

[0039] QoS Class Identifier (QCI)

[0040] Neural Network (NN)

[0041] Radio Access Network (RAN)

[0042] RAN Intelligent Controller (RIC)

[0043] Open-RAN (O-RAN)

[0044] Virtual Radio Access Network (VRAN)

[0045] Cloud RAN (CRAN)

[0046] Modulation and Coding Scheme (MCS)

[0047] Artificial Intelligence (AI)

[0048] Real Time (RI)

[0049] Downlink (DL)

[0050] Uplink (UL)

[0051] Artificial Intelligence (AI)

[0052] Multiple-Input Multiple-Output (MIMO),

[0053] Transmission Mode (Tx mode), and

[0054] Quadrature Amplitude Modulation (QAM)

[0055] Thus, embodiments herein provide a method for a device to decode user data in a wireless network. The method includes the device receiving user data associated with multiple network parameters. The method includes the device training a neural network using the multiple received network parameters. Additionally, the method includes the device calculating the LLR using the trained neural network. Additionally, the method includes the device decoding the received user data using the calculated LLR.

[0056] The proposed method can be used to reduce the decoding waiting time of UE / eNodeB / VRAN / ORAN / CRAN, improve the power efficiency of UE / eNodeB / VRAN / ORAN / CRAN, reduce the computing time of virtual RAN / cloud RAN systems, and reduce the UE / BS hardware cost by using machine learning and artificial intelligence on the basis of symbols or packets of a computing unit-based architecture (e.g., a graphics processing unit (GPU)-based architecture, a non-GPU-based architecture, a central processing unit (CPU)-based architecture, a non-CPU-based architecture, etc.). The reduction of UE / BS hardware cost is accomplished by the fact that neural network computations can be done independently of the hardware or implemented using neural network hardware, and ML and AI are used to decode the entire transport block as a function of MCS, operating frequency, and block size instead of decoding symbol by symbol.

[0057] The user of the device can use a neural network to calculate the LLR based on MCS and packet size. In addition, the proposed method provides multiple solutions for GPU-based and / or non-GPU-based architectures based on different NNs for different MCS, SINR (signal-to-interference-plus-noise ratio), MIMO capabilities, UE types, and other network and UE parameters of multiple communication layers. In addition, the proposed method provides multiple solutions for each architecture as follows:

[0058] 1. Divide the sparse NN (with / without authorization information) for each MCS

[0059] a. Decode symbol by symbol (it can be serial and / or parallel processing of user data),

[0060] b. Decode the entire packet at once (one user at a time and / or all users)

[0061] In addition, the proposed method reduces the computational complexity of VRAN / ORAN / CRAN. Calculating the LLR requires fewer computing cycles, resulting in shorter waiting times. In addition, the proposed method is independent of the hardware and easy to implement.

[0062] The proposed method will use the NN in the RIC module of the O-RAN system to calculate the LLR value. This proposal applies to GPU-based and non-GPU-based VRAN / O-RAN / CRAN systems. The calculated LLR value is transmitted to the physical layer using the E2 interface. The MAC scheduler shares the QAM details along with the authorization assigned to the UE with the RIC module. The NN is maintained on a per-UE basis. Machine learning can be a function of QCI / QoS / BWP / SCS / BW / coherent BW / coherent time / interference / noise / operating frequency / UE capabilities / MIMO capabilities / UE capabilities / transmission mode.

[0063] In addition, the proposed method uses a federated learning algorithm to maintain a neural network for all users. The learning can be a function of QCI / QoS. The NN learning can be a function of QCI or QoS. The learning of NN parameters can be a function of bandwidth path, frequency operation, UE category, climate conditions, external events, real-time traffic data, RRH / BS capabilities. The implementation can be done using a single or multiple NNs on a per-user / all-users basis. In addition, the learning can be completed based on 20 parameters.

[0064] In addition, the proposed method can be used at BS / ORAN / CRAN / VRAN including the UE side, and AI-based techniques can be used on the BS / ORAN / CRAN / VRAN side.

[0065] A sparse neural network is used to calculate the LLR values for all QAM schemes (e.g., 16QAM, 64QAM, 256QAM, 1024QAM, and 4096QAM). Multiple architectures are proposed for GPU / non-GPU based VRAN systems.

[0066] In addition, a single sparse NN can be used to complete decoding regardless of the QAM scheme. In addition, for different QAM schemes, different single sparse NNs can be used to complete decoding. The input layer has only two nodes, independent of the QAM scheme (user data is fed until all IQ data (in-phase quadrature data) is decoded sequentially; the size of the input vector is a function of the number of RBs assigned to the user). Each time, the sparse NN weights will be loaded using a lookup table in the ML module in the RIC module of the ORAN system. In this case, the users are decoded sequentially. Regardless of the QAM scheme (16QAM, 64QAM, 256QAM, 1024QAM, and 4096QAM), the single hidden layer has only 4, 6, or 8 nodes.

[0067] Based on multiple parallel transmissions of the UE (for MIMO systems / transmission rank / PMI (precoding matrix indicator)), the O-RAN system will separate the IQ data streams before feeding them to the sparse NN. Based on the channel conditions, different streams can have different QAM schemes. The proposed method intelligently uses an appropriate architecture based on packet delay and packet error tolerance (based on QCI / QoS requirements). In addition, the method uses an appropriate architecture based on the application type (such as eMTC (enhanced machine type communication) / NB-IoT (narrowband Internet of Things) / LTE / 5G / variable cloud resources). In addition, the proposed method can be used in the UE based on a lookup table. The sparse NN in the UE will load the lookup table values based on multiple parameters. In addition, the proposed training techniques reduce the computational complexity in a QCI / QoS-based dynamic manner. All training techniques can be implemented in hardware devices through online or offline solutions.

[0068] The proposed method can be used to compute LLR values using a sparse NN in the RIC module of a VRAN / O-RAN system that can be a GPU-based and / or non-GPU-based architecture. The computed LLR values are transmitted to the physical layer using the E2 interface. The MAC scheduler shares QAM details along with the grant allocated to the UE with the RIC module. In other architectures, similar interfaces can be used and the memory can access different modules. Further, the proposed method maintains the sparse NN on a per-UE basis. The learning can be a function of QCI / QoS and the sparse NN is maintained for all users using federated learning techniques. This learning can be a function of QCI / QoS. The learning of the sparse NN parameters can be a function of the bandwidth path, frequency operation, UE category, UE / BS antenna count, real-time traffic data, transmission mode, RRH / BS capabilities, climatic conditions, external events. The implementation can be done using a single or multiple NNs on a per-user / all-users basis and the learning can be done based on multiple network parameters.

[0069] The proposed method can be implemented in a distributed unit or a centralized unit or a cloud intelligent unit or an RRH or a radio unit. Further, the proposed method can be used in a wireless communication system. The communication system can be, for example but not limited to, a 4G system, a 5G system, a 6G system, a Wi-Fi system, and an LAA system. The proposed method can be implemented in any 3gpp or non-3GPP receiver. The proposed method can be implemented for multi-connection related architectures. In the case of dual / multi-connection, the LLR values will be computed by different BSs which can be transmitted to a centralized BS or a primary BS. Further, one can intelligently combine IQ samples instead of LLR levels.

[0070] Further, the device can also use sparse DNN (Deep Neural Network), CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), sparse CNN, sparse RNN, and sparse DNN hybrid techniques or a combination of the above NNs or AI or both. Further, the device can also use multiple activation functions, approximation of activation functions, and / or linear approximation of activation functions. The performance of the device will be a function of the activation function. The functions for which activation can be approximated can be used to reduce the computational complexity. Further, if the weights of the link can be ignored, the device also intelligently removes the connections in the NN network and the device can retrain the NN again to achieve the desired performance. If the performance does not meet the requirements, the device will return the NN prematurely. Further, the system can use ML / AI to improve the performance of these techniques. A person skilled in the art can easily make minor modifications to the proposed solution. These techniques can run in the ML module or in hardware (HW).

[0071] The proposed method can be used to decode user data in a wireless network in a cost - effective and fast manner. Since the LLR is calculated faster and more accurately, the UE experience will be improved, and due to simplicity, the base station can handle more traffic. Therefore, more UEs can be served. Based on the proposed method, the cost of the cloud server for CRAN / VRAN can be reduced. The proposed method can be used to decode user data in a wireless network with less power.

[0072] Now referring to the drawings, and more particularly to Figure 1 FIGS. 7 to 8, in which in all the drawings, like reference numerals always denote corresponding features, a preferred embodiment is shown.

[0073] Figure 1 A method for decoding user data using machine learning (ML) and artificial intelligence (AI) according to an embodiment disclosed herein is shown. Figure 1 64QAM and the received data points are shown in gray, and the LLR of the received corrupted points needs to be calculated. The real part of the received data is the I and the imaginary part of the received data is the Q component. The decoding of user data is explained in Figure 2 FIGS. 7 to 8.

[0074] Figure 2 A hardware component diagram of a device (100) for decoding user data in a wireless network (1000) according to an embodiment disclosed herein is shown. The device (100) can be, for example but not limited to, a base station, a UE, an ORAN, a CRAN, and a VRAN. The UE can be, for example but not limited to, a cellular phone, a smart phone, a personal digital assistant (PDA), a wireless modem, a tablet computer, a laptop computer, a wireless local loop (WLL) station, a universal serial bus (USB) dongle, an Internet of Things (IoT), a virtual reality device, and an immersive system. The BS (100a) can also include or be referred to by those skilled in the art as a base station transceiver, a radio base station, an access point, a radio transceiver, an eNB, a gNodeB (GNB), a 5G eNB, etc.

[0075] The apparatus (100) includes a PRE SNR controller (202), a time and frequency offset controller (204), a channel estimation controller (206), an RNN matrix calculation controller (208), an MMSE controller (210), an IDFT controller (212), a machine learning-based LLR controller (214), a descrambler (216), a UCI (uplink control information) extraction and soft combiner (218), a neural network (220), a memory (222), and a processor (224). The processor (224) is coupled to the PRE SNR controller (202), the time and frequency offset controller (204), the channel estimation controller (206), the RNN matrix calculation controller (208), the MMSE controller (210), the IDFT controller (212), the machine learning-based LLR controller (214), the descrambler (216), the UCI extraction and soft combiner (218), the neural network (220), and the memory (222). For the sake of brevity in the patent specification, the conventional components in the apparatus (100) (i.e., the PRE SNR controller (202), the time and frequency offset controller (204), the channel estimation controller (206), the RNN matrix calculation controller (208), the MMSE controller (210), the IDFT controller (212), the descrambler (216), and the UCI extraction and soft combiner (218)) are omitted. The neural network (220) can be, for example but not limited to, a neural network based on 4QAM, a neural network based on 16QAM, a neural network based on 64QAM, and a neural network based on 256QAM.

[0076] The machine learning-based LLR controller (214) is physically implemented by analog or digital circuits, such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits, etc., and can optionally be driven by firmware. The machine learning-based LLR controller (214) can be embodied, for example, in one or more semiconductor chips or implemented on a substrate support such as a printed circuit board. The circuits of the constituent blocks can be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuits), or by a combination of dedicated hardware that performs some functions of the block and a processor that performs other functions of the block. Without departing from the scope of the present invention, each block of the embodiments can be physically divided into two or more interacting and discrete blocks.

[0077] The machine learning-based LLR controller (214) receives user data associated with multiple network parameters. The user data associated with multiple network parameters is received by separating the IQ data stream before feeding it into the neural network (220), determining the channel conditions associated with the QAM scheme, and receiving the user data associated with multiple network parameters based on the separated IQ data stream and the determined channel conditions. The multiple network parameters can be, for example but not limited to, MMSE value, channel gain, modulation scheme, CQI information, number of UEs within range, location of the UE, distance of the UE from the device (100), weather conditions, RB information, operating frequency, RB bandwidth, QoS, QCI, BWP, SCS, coherent BW, coherent time, coherent interference, noise, operating frequency, UE capabilities, MIMO capabilities, transmission mode, real-time traffic data, RRH BS capabilities, I-Q values of the UE, QAM modulation details, magnitude of the I-Q vector, resource blocks allocated to the user, traffic density associated with the BS, traffic distribution associated with the BS, category of the BS, climatic conditions of the day, information about special occasions associated with the area of the UE for the day, event-based calendar of the UE, holiday details of the user associated with the UE, category of the UE, network and UE parameters of all layers, and subscription details of the UE.

[0078] In addition, the machine learning-based LLR controller (214) uses the multiple received network parameters to train the neural network (220). The neural network (220) is implemented in the RIC module of at least one of O-RAN and VRAN. The neural network (220) is trained by creating multiple batches of training samples, where each training sample uses at least one modulation scheme, training the QAM scheme, where each QAM scheme includes a unique code embedded in the user data, generating shuffled training samples for each batch from the multiple batches, calculating the LLR corresponding to each shuffled training sample, and shuffling the LLRs calculated across batches while training.

[0079] Training details of the NN:

[0080] The neural network (220) creates multi - batch training data. Each uses a specific modulation scheme. Additionally, the neural network (220) can be trained for 4, 16, 64, 256, and 1024 QAM schemes. Each has a unique code embedded in the user information. Thus, one batch corresponds to a fixed modulation scheme. The neural network (220) generates shuffled training samples for each batch. In the example, for 16QAM, there are 16 possible signals. The user of the device (100) will calculate the exact LLR corresponding to each, thus creating a batch. Additionally, the user shuffles across batches and within batches while training. This is to enhance training. The neural network (220) will use backpropagation to update and learn the weights. Except for the first layer with sigmoid activation and the last layer with linear activation, the internal activation functions are ReLU - activated. The Adam technique is used to perform the weight update. Complex inputs are equivalent to 2 real - number inputs. After training, the user will test the neural network (220). If the test is done correctly, the neural network (220) is used to calculate the LLR. Additionally, the device (100) determines whether to implement a single NN or multiple NNs based on MCS or / and MIMO or / and SINR and / or wireless network and UE parameters.

[0081] As described above, the user of the device (100) can train an NN for each modulation. Whenever the base station needs the weights, the module can use a lookup table to load the NN weights. The input to the LLR module has values within a limited range. During the training phase, the user of the device (100) will generate a million points and use the optimal LLR values of the random points to train the NN (220). This training is done only once. If needed, the user of the device can do it periodically. Another approach is to generate a single NN weight for all MCSs. The user can also use online learning, offline learning, or a hybrid of online and offline learning to come up with a hybrid approach. For inputs that do not belong to the training set, the neural network (220) will output interpolation results. This is good enough for most applications, and thus the user of the device (100) does not have to train for all possibilities but for a large enough subset. Since the LLR formula is fixed, the user of the device (100) will only need to train once. No subsequent training is required.

[0082] Once trained and tested, the proposed method can be smoothly deployed. In terms of hardware, there are fixed-point / floating-point issues. These factors need to be considered when implementing the hardware. However, as mentioned before, the final implementation consists of relatively simple hardware, which should not be difficult. The proposed method is independent of the hardware. Because the proposed solution can be smoothly implemented in a cloud-based system. Once the user of the device (100) has trained the neural network (220), the computational complexity will be reduced. This is because the hardware of the neural network (220) consists of simple addresses and multipliers. The non-linear activation functions involved are the sigmoid and Relu functions. The Relu function is the max(x,0) function. This is also a comparator that can be implemented.

[0083] The Sigmoid function is as follows:

[0084]

[0085] It has a piecewise approximation that can be used to reduce the complexity. Thus, the complexity of the neural network implementation is reduced. During training, the user of the device (100) will use the functions as described above. But during deployment, the user of the device (100) will use the piecewise linear approximation wherever applicable.

[0086] In addition, the network parameters are exchanged through standard and non-standard interfaces. These messages can be exchanged through wireless media or wired media or both. In the cloud system, it will access memory locations. The proposed method is applicable to multiple splitting options, different architectures, and all technologies.

[0087] In addition, the machine learning-based LLR controller (214) calculates the LLR using the trained neural network (220). In an embodiment, the LLR is calculated by receiving the number of RBs, the operating frequency, the MCS, the number of independent streams, and the SINR, and calculating the LLR sequentially or in parallel based on the number of RBs, the operating frequency, the MCS, the number of independent streams, and the SINR. In an embodiment, the LLR is calculated for all packets. In another embodiment, the LLR is calculated bit by bit in series. In another embodiment, the LLR is calculated for all user data. In another embodiment, the LLR is calculated for one bit at a time. In another embodiment, the LLR is calculated for one bit and for all user data at the same time.

[0088] In addition, the machine learning-based LLR controller (214) decodes the received user data using the computed LLR. In an embodiment, the received user data is decoded by transmitting the computed LLR to the physical layer using the E2 interface and using the computed LLR to decode the received user data. In another embodiment, the received user data is decoded by sequentially receiving the size of the user data vector, the QAM information, and the number of RBs assigned to the user data, and serially decoding the received user data on a per-packet basis using the LLR computed based on the size of the user data vector, the QAM information, and the number of RBs assigned to the user data.

[0089] In another embodiment, the received user data is decoded by receiving the QAM information, the size of the IQ data for each user data, and the RBs assigned to each user data, and parallel decoding the received user data on a per-symbol basis using the LLR computed based on the QAM information, the size of the IQ data for each user data, and the RBs assigned to each user data.

[0090] In another embodiment, the received user data is decoded by providing the user data until all the IQ data is sequentially decoded, assigning the size of the input vector as a function of the number of RBs to the user data, loading weights using a look-up table in a neural network, and sequentially decoding the user data using the computed LLR, the size of the input vector, and a weighting function.

[0091] Decoding is just an example of the O-RAN architecture where the backend physical layer is in the cloud. The proposed method is equally applicable to all architectures and all 3GPP and non-3GPP split options. In addition, the proposed method is also applicable to cloud RAN / centralized RAN and other cloud-based architectures. For the sake of brevity, we have not explained each architecture in detail. In different architectures, there will be different interfaces between the LLR calculation module and the subsequent LLR output module.

[0092] In an example, the base station (404) decodes Figure 4 the user data in the wireless network (1000) depicted in Figure 4 a. In Figure 5 a, the wireless network (1000) includes one or more UEs (402a - 402n) and a base station (404). The base station (404) receives user data from one or more UEs (402a - 402n). Based on the received user data, the base station (404) decodes the user data based on the proposed method. The operation of the base station (404) is similar to that of the device (100), so for the sake of brevity, the same operations are omitted. In another example, the UE (402) decodes Figure 5In this case, the wireless network (1000) includes a UE (402) and a base station (404). The UE (402) receives user data from the base station (404). Based on the received user data, the UE (402) decodes the user data based on the proposed method. The operation of the UE (402) is similar to that of the device (100), so for the sake of brevity, the same operations are omitted. In another example, VRAN decodes user data in the wireless network (1000) as Figure 6 shown). In the base station (404) or VRAN or UE (402), the user data is decoded sequentially / parallelly, and for many NNs of MCS, the user data is decoded sequentially / parallelly and there is only one NN for MCS, and the user data is decoded sequentially / parallelly and there is only one NN for all MCSs.

[0093] The processor (224) is configured to run instructions stored in the memory (222) and perform various processes. A communication interface (not shown) is configured for internal communication between internal hardware components and communication with external devices via one or more networks. The processor (224) may include one or more processing units (e.g., in a multi-core configuration).

[0094] The memory (222) stores instructions to be run by the processor (224). The memory (222) may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard disks, optical disks, floppy disks, flash memories, or in the form of electrically programmable memories (EPROMs) or electrically erasable programmable (EEPROM) memories. Additionally, in some examples, the memory (222) may be considered a non-transitory storage medium. The term "non-transitory" may indicate that the storage medium is not included in a carrier wave or propagated signal. However, the term "non-transitory" should not be construed to mean that the memory (222) is immovable. In certain examples, the non-transitory storage medium may store data that can change over time (e.g., in random access memory (RAM) or a cache).

[0095] Although Figure 2 shows various hardware components of the device (100), it should be understood that other embodiments are not limited thereto. In other embodiments, the device (100) may include fewer or more components. Additionally, the labels or names of the components are for illustrative purposes only and do not limit the scope of the present invention. One or more components may be combined together to perform the same or substantially similar functions for decoding user data in the wireless network (1000).

[0096] Figure 3Shows the training of the NN (220) according to the embodiments disclosed herein. The NN (220) consists of an input layer (302), hidden layers (304a and 304b) with 8 nodes, and an output layer (306). In the example, for M QAM, the size of the output layer (306) is log2(M). The device (100) uses a piecewise approximated Swish activation function f(x) (as defined after the hidden layers (304a and 304b)).

[0097]

[0098] This helps reduce complexity without sacrificing too much MSE. For all modulation schemes, the size of the hidden layers (304a and 304b) remains the same. No activation is used for the output layer (306) because it limits the range of the predicted output. The method uses the normal weight initialization of the initial fully connected model to start the training process. Since the neural network (220) operates on real numbers, the device (100) transmits the imaginary part of the channel output as another input to the neural network (220).

[0099] In another example, the user of the device (100) generates one hundred thousand random samples of 'I' and 'Q', and the corresponding LLR values for each random 'I' and 'Q' are samples calculated using a general method. When the user of the device (100) feeds the Nth sample, the sparse NN will generate an LLR value. However, the generated LLR value may be far from the actual LLR value. Initially, all link weights are assigned arbitrary weights. The sparse neural network uses the gradient descent technique to update the weights of the links between neurons so that the mean square error is minimized. After one hundred thousand iterations, the weights of the sparse neural network will become stable. This completes the training phase. After training, the user of the device (100) will feed the 'I' and 'Q' values to obtain the correct LLR values.

[0100] In the example, in a dense neural network, all layers (302 - 306) in a column can be evaluated in parallel. Therefore, the activation function and the calculation of large layers can be pushed to the VRAN with powerful GPU assistance to handle.

[0101] Figure 7 Shows the architecture diagram (700) of an ORAN for decoding user data according to the embodiments disclosed herein. Figure 7A traditional architecture diagram of ORAN is shown, so for the sake of brevity of the patent specification, the explanation of the traditional functions of traditional components (702 - 728 and 732 - 744) in ORAN is omitted, and this explanation focuses on the use of the ML system (730) with a neural network (220) inside the non-real-time (non-RT) unit (718) of the RAN Intelligent Controller (RIC) in ORAN. The ML system (730) intelligently trains the neural network (220) (e.g., RL-based NN) using multiple received network parameters. Similar to ORAN, the proposed method can be implemented on VRAN, cloud RAN, centralized RAN, and any cloud-based RAN. Centralized controllers and ML / Artificial Intelligence modules are included in all RAN architectures, where each RAN architecture has different interfaces. Additionally, the estimated values of the ML / NN / AI module will be transmitted to the MAC / PHY / L3 module.

[0102] The use of the NN (220) together with the optimal central NN improves the spectral efficiency of the entire wireless network (1000) and also reduces the communication latency between the BS (404) and the UE (402).

[0103] In the proposed method, the physical module will request the RIC module to calculate the LLR value of the user via the E2 interface. The MAC layer will transmit (multiple) UE authorization details (i.e., resource details of (multiple) UEs, MCS information of (multiple) UEs) via the E2 interface. The RIC module will calculate the LLR value and transmit it back to Phy-low via the E2 interface.

[0104] Furthermore, the E2 interface has been standardized for data collection in the O-RAN architecture, such that the NN input parameters can be easily traced on the interface. By putting logs into the E2 interface, the device (100) can calculate whether the MAC layer is transmitting scheduling authorization details. These information can be captured using the logs. Similarly, Phy-High will transmit the IQ data of all users via the E2 interface. This can be easily detected using the logs. This abnormal data can be captured using the logs. After the RIC module calculates the LLR values of all UEs, the RIC module will transmit them to Phy-High via the E2 interface. This abnormal data can be captured using the logs.

[0105] The proposed sparse architecture is computationally efficient. The proposed architecture can be selected based on QoS / QCI. In addition, the proposed method can be used for GPU and non-GPU based architectures. The proposed sparse NN can run in cloud RAN, open RAN, virtual RAN and centralized RAN. These can run in GPU and / or non-GPU based architectures. Sparse NN can be selected based on QAM, channel conditions, delay requirements and packet error constraints and lower CAPEX. More RRHs can run in cloud systems. Compatible with 5G / 6G / small cell / Wi-Fi systems. The proposed method is technology agnostic and transmission mode agnostic. In addition, faster decoding and low latency. A larger number of RRHs / base stations can run in VRA / CRAN / ORAN. Promoting lower operation and maintenance costs and lower CAPEX.

[0106] Considering the proposed method, a smaller number of cores per RRH of the VRAN / CRAN system is facilitated. The cloud system can support a larger number of RRH units. In addition, the proposed method facilitates a smaller number of cores per RRH of the VRAN / CRAN system. The cloud system can support a larger number of RRH units, thereby reducing the computational complexity of the LLR module of the VRAN / CRAN / ORAN system. The proposed method requires fewer cores for calculating the LLR, and thus less investment in the ORAN system.

[0107] In an embodiment, different users may have different grants. The grant has MCS and resource block quantity information. Different may have different independent data streams (ie, MIMO transmission rank >= 1). Based on network and UE parameters, the IQ samples will be performed in the Phy layer. Based on the architecture, the Phy layer may be located in the CU or DU or cloud or RRH or RU or BS. These IQ samples will be sent to each module before sending it to the LLR or demodulator module. It can be implemented in a GPU or CPU or hardware or ML / AI intelligent layer. Output from the LLR / demodulator module is the LLR value. The number of LLR values is a function of the QAM scheme.

[0108] In our ORAN system, appropriate IQ data is sent to the machine learning based LLR controller (214) (i.e., IQ is sent from the physical layer to the intelligent layer), and then the decoded value will be returned to the physical layer (i.e., the LLR value can be returned to the physical layer). For example, if the subsequent module is in the intelligent layer, it does not need to be returned to the physical layer, it can be sent to other machine learning modules. In the example, the machine learning based LLR controller (214) operates in the cloud.

[0109] Figure 8a , Figure 8b and Figure 8cFIG. S800 is a flowchart showing a method for a device (100) to decode user data in a wireless network (1000) according to embodiments disclosed herein. A machine learning-based LLR controller (214) performs operations (S802 - S830).

[0110] At S802, the method includes separating an IQ data stream before feeding it to a neural network (220). At S804, the method includes determining channel conditions associated with a QAM scheme. At S806, the method includes receiving user data associated with multiple network parameters based on the separated IQ data stream and the determined channel conditions. At S808, the method includes training a neural network (220) using the multiple received network parameters. At S810, the method includes calculating LLR using the trained neural network (220).

[0111] In an embodiment, at S812, the method includes transmitting the calculated LLR to a physical layer using an E2 interface. At S814, the method includes decoding the received user data using the calculated LLR.

[0112] In another embodiment, at S816, the method includes sequentially receiving the size of a user data vector, QAM information, and the number of RBs assigned to the user data. At S818, the method includes serially decoding the received user data on a per-packet basis using the LLR calculated based on the size of the user data vector, QAM information, and the number of RBs assigned to the user data.

[0113] In another embodiment, at S820, the method includes receiving QAM information, the size of IQ data for each user data, and the RBs assigned to each user data. At S822, the method includes parallel decoding the received user data on a per-symbol basis using the LLR calculated based on the QAM information, the size of IQ data for each user data, and the RBs assigned to each user data.

[0114] In another embodiment, at S824, the method includes providing user data until all IQ data is sequentially decoded. At S826, the method includes assigning the size of an input vector as a function of the number of RBs to the user data. At S828, the method includes loading weights using a lookup table in a neural network (220). At S830, the method includes sequentially decoding the user data using the calculated LLR, the size of the input vector, and a weighting function.

[0115] Embodiments disclosed herein can be implemented using at least one hardware device and performing network management functions to control the hardware device.

[0116] The foregoing description of specific embodiments will so fully disclose the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and / or adapt such specific embodiments for various applications without departing from the general concept, and, therefore, such adaptations and modifications are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Accordingly, although the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modifications within the spirit and scope of the embodiments described herein.

Claims

1. A method for a device (100) to decode user data in a wireless network (1000), comprising: Separating in-phase data and IQ data streams from the wireless network by the device (100) based on the quadrature amplitude modulation (QAM) scheme of each orthogonal data (IQ) data stream; Receiving user data by the device (100) based on the separated IQ data streams; Training a neural network (220) by the device (100) using a plurality of network parameters associated with the received user data for calculating a log-likelihood ratio (LLR); Calculating the LLR by the device (100) using the trained neural network (220); Transmitting the calculated LLR by the device (100) to the physical layer, and Decoding the received user data by the device (100) using the calculated LLR.

2. The method according to claim 1, wherein, The plurality of network parameters includes at least one of the following: minimum mean square error (MMSE) value, channel gain, modulation scheme, channel quality indicator (CQI) information, number of user equipments (UEs) (402) within range, location of the UE (402), distance between the UE (402) and the device, weather conditions, resource block (RB) information, operating frequency, RB bandwidth, quality of service (QoS), QoS class identifier (QCI), bandwidth part (BWP), subcarrier spacing (SCS), coherent bandwidth (BW), coherent time, coherent interference, noise, operating frequency, capabilities of the UE (402), multiple input multiple output (MIMO) capabilities, transmission mode, real-time traffic data, remote radio head (RRH) BS capabilities, in-phase data and quadrature data (I and Q) values of the UE (402), QAM modulation details, magnitudes of in-phase data and quadrature data (I and Q) vectors, resource blocks assigned to the UE (402), traffic density associated with the BS (404), traffic distribution associated with the BS (404), category of the BS (404), climatic conditions of the day, information on special occasions associated with the area of the UE (402) on the day, event-based calendar of the UE (402), holiday details of the user associated with the UE (402), category of the UE (402), and subscription details of the UE (402).

3. The method according to claim 1, wherein, Decoding the received user data by the device (100) using the calculated LLR includes: Performing one of the following operations: Sequentially receiving, by the device (100), the magnitude of the user data vector, QAM information, MIMO rank details, and the number of RBs assigned to the user data, and serially decoding the received user data on a per-packet basis using the LLR calculated based on the magnitude of the user data vector, QAM information, MIMO rank details, and the number of RBs assigned to the user data; The apparatus (100) receives QAM information, the size of the IQ data for each user data, and the resource blocks (RBs) allocated to each user data, and parallelly decodes the received user data on a per-symbol basis using the log-likelihood ratio (LLR) calculated based on the QAM information, the size of the IQ data for each user data, and the RBs allocated to each user data; and The apparatus (100) provides the user data until all the IQ data is decoded sequentially or in parallel, the apparatus (100) assigns the size of the input vector as a function of the number of RBs to the user data, the apparatus (100) loads weights using a look-up table in the neural network (220), and the apparatus (100) sequentially decodes the user data using the calculated LLR, the size of the input vector, and a weighting function, wherein the LLR is calculated for at least one of all packets, serially per bit, all user data, one bit at a time, and simultaneously one bit at a time and for all user data.

4. The method according to claim 1, wherein The apparatus (100) receiving user data associated with the plurality of network parameters includes: The apparatus (100) determining the channel conditions associated with the QAM scheme; and The apparatus (100) receiving user data associated with the plurality of network parameters based on the separated IQ data streams and the determined channel conditions.

5. The method according to claim 1, wherein The neural network (220) is trained by: Creating multi-batch training samples, where each training sample uses at least one modulation scheme; Training QAM schemes, where each QAM scheme includes a unique code embedded in the user data; Generating shuffled training samples for each batch from the plurality of batches; Calculating the LLR corresponding to each shuffled training sample; and Shuffling the calculated LLR across batches while training.

6. The method according to claim 1, wherein The apparatus (100) is at least one of a base station (404), a user equipment (UE) (402), an Open Radio Access Network (ORAN), a Centralized Radio Access Network (CRAN), and a Virtual Radio Access Network (VRAN).

7. The method according to claim 1, wherein, The apparatus (100) calculating the LLR includes: Receiving at least one of the number of RBs, the operating frequency, the Modulation and Coding Scheme (MCS), the number of independent streams, the Multiple-Input Multiple-Output (MIMO) details, the layer information associated with the wireless network, the layer information associated with the UE, a subset of the network parameters, and the Signal-to-Interference plus Noise Ratio (SINR); and Sequentially or parallelly calculating the LLR based on at least one of the number of RBs, the operating frequency, the MCS, the number of independent streams, the MIMO details, the layer information associated with the wireless network, the layer information associated with the UE, a subset of the network parameters, and the SINR.

8. An apparatus (100) for decoding user data in a wireless network (1000), comprising: A memory (222); And A processor (224) coupled to the memory (222) and configured to: Separate the in-phase data and the IQ data streams based on the Quadrature Amplitude Modulation (QAM) scheme for each Quadrature data (IQ) data stream; Receive user data based on the separated IQ data streams; Train a neural network (220) using a plurality of network parameters associated with the received user data for calculating the log-likelihood ratio (LLR); Calculate the LLR using a trained neural network (220); Transmit the calculated LLR to the physical layer, and Decode the received user data using the calculated LLR.

9. The device (100) according to claim 8, wherein, The plurality of network parameters include minimum mean square error (MMSE) value, channel gain, modulation scheme, channel quality indicator (CQI) information, number of user equipments (UEs) (402) within range, location of the UE (402), distance between the UE (402) and the device, weather conditions, resource block (RB) information, operating frequency, RB bandwidth, quality of service (QoS), QoS class identifier (QCI), bandwidth part (BWP), subcarrier spacing (SCS), coherence bandwidth (BW), coherence time, coherent interference, noise, operating frequency, capabilities of the UE (402), multiple input multiple output (MIMO) capabilities, transmission mode, real-time traffic data, remote radio head (RRH) BS capabilities, in-phase data and quadrature data (I and Q) values of the UE (402), quadrature amplitude modulation (QAM) modulation details, magnitude of the in-phase data and quadrature data (I and Q) vectors, resource blocks allocated to the user, traffic density associated with the BS (404), traffic distribution associated with the BS (404), category of the BS (404), climatic conditions of the day, information on special occasions associated with the area of the UE (402) on the day, event-based calendar of the UE (402), holiday details of the user associated with the UE (402), category of the UE (402), and subscription details of the UE (402).

10. The device (100) according to claim 8, wherein, Decoding the received user data using the calculated LLR includes: Performing one of the following operations: Sequentially receive the size of the user data vector, QAM information, MIMO rank details, and the number of RBs assigned to the user data, and serially decode the received user data on a per-packet basis using the LLR calculated based on the size of the user data vector, QAM information, and the number of RBs assigned to the user data; Receive QAM information, the size of the IQ data for each user data, and the RBs assigned to each user data, and parallel decode the received user data on a per-symbol basis using the LLR calculated based on the QAM information, the size of the IQ data for each user data, and the RBs assigned to each user data; and Provide the user data until all the IQ data is sequentially decoded, assign the size of the input vector as a function of the number of RBs to the user data, load weights using a look-up table in the neural network, and sequentially decode the user data using the calculated LLR, the size of the input vector, and a weighting function, wherein the LLR is calculated for at least one of all packets, serially for each bit, all user data, one bit at a time, and simultaneously one bit at a time and for all user data.

11. The device (100) according to claim 8, wherein, Receiving user data associated with the plurality of network parameters includes: Determine the channel conditions associated with the QAM scheme; and Receive user data associated with the plurality of network parameters based on the separated IQ data streams and the determined channel conditions.

12. The apparatus (100) according to claim 8, wherein, The neural network (220) is trained by: Create multi-batch training samples, where each training sample uses at least one modulation scheme; Train QAM schemes, where each QAM scheme includes a unique code embedded in user data; Generate shuffled training samples for each batch from multiple batches; Calculate the LLR corresponding to each shuffled training sample; and Shuffle the calculated LLRs across batches while training.

13. The device (100) according to claim 8, wherein, The device (100) is at least one of a base station (404), a user equipment (UE) (402), an Open Radio Access Network (ORAN), a Centralized Radio Access Network (CRAN), and a Virtual Radio Access Network (VRAN).

14. The device (100) according to claim 8, wherein, The NN (220) is implemented in the RIC module of at least one of the O-RAN and VRAN.

15. The apparatus (100) according to claim 8, wherein, Calculating the LLR includes: Receiving at least one of a plurality of RBs, an operating frequency, an MCS, a plurality of independent streams, and an SINR; and Calculating the LLR sequentially or in parallel based on at least one of the number of RBs, the operating frequency, the MCS, the number of independent streams, MIMO details, layer information associated with the wireless network, layer information associated with the UE, a subset of network parameters, and the SINR.