Devices and methods for machine learning-assisted precoding

A machine learning-assisted sphere encoder in MIMO systems optimizes search sphere radius determination to reduce complexity and processing time in precoding, addressing high computational demands and maintaining performance in nonlinear precoding.

JP7830130B2Active Publication Date: 2026-03-16INSTITUT MINES TELECOM TELECOM BRETAGNE
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-06-23
Publication Date
2026-03-16

AI Technical Summary

Technical Problem

Existing precoding techniques in MIMO systems face challenges with high computational complexity and suboptimal performance, particularly in nonlinear precoding methods like ball encoders and M-algorithm encoders, which require significant processing power and degrade bit error rate performance.

Method used

Implement a precoder using a machine learning-assisted sphere encoder that determines an optimal search sphere radius through a radius determination unit and spherical coding unit, employing a spherical search-based sequential algorithm to reduce computational complexity while maintaining optimal precoding performance.

Benefits of technology

The proposed method reduces computational complexity and processing time in precoding operations without compromising error performance, achieving efficient and low-complexity nonlinear precoding in multi-antenna systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007830130000125
    Figure 0007830130000125
  • Figure 0007830130000126
    Figure 0007830130000126
  • Figure 0007830130000127
    Figure 0007830130000127
Patent Text Reader

Abstract

A precoder (200) for precoding a vector of information symbols, the precoder (200) comprising: a radius determination unit (201) configured to determine a search sphere radius, where determining the search sphere radius comprises applying a machine learning algorithm to input data that depends on the vector of information symbols and a pre-defined pre-coding matrix; a sphere encoding unit (203) configured to determine a perturbation vector from lattice points found within a spherical region by applying a sphere search-based sequential algorithm, where the spherical region has a radius equal to the search sphere radius; and a pre-coding unit (205) configured to precode the vector of information symbols using the perturbation vector and the pre-coding matrix.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates, in general, to digital communications, and more particularly to methods and devices for precoding data signals. [Background technology]

[0002] To increase system capacity and provide better link reliability, multiple-input multiple-output (MIMO) technology was developed. MIMO systems utilize spatial and temporal dimensions to encode and multiplex more data symbols across multiple time slots using a large number of transmitting and / or receiving antennas. As a result, the capacity, range, and reliability of MIMO-based communication systems can be increased. Due to these significant potential advantages of MIMO technology, they are ideal candidates for many wired, wireless, and optical communication systems applied, for example, in local and wide-area networks.

[0003] One major challenge for MIMO systems is adapting to the increasing demand for data transmission speeds for real-time services and applications. Another challenge relates to the complexity of signal processing and energy consumption in transceiver devices.

[0004] Also known as "transmit beamforming," precoding is a multi-user signal processing technique that leverages the spatial degrees of freedom provided by multiple transmitting antennas to simultaneously support multiple users in a multi-antenna wireless communication system.

[0005] In a MIMO point-to-point system, precoding allows multiple data streams to be radiated from the transmitting antenna with independent and appropriate weighting so that link throughput is maximized at the receiver output.

[0006] In a multi-user MIMO system, also known as a distributed MIMO system, a multi-antenna transmitter communicates with multiple receivers using the space division multiple access (SDMA) technique. Precoding separates user data streams and cancels interference in advance at the transmitter based on channel knowledge, thereby enabling one or more objective functions (e.g., throughput maximization, fairness maximization) to be satisfied under one or more constraints (e.g., total transmit power constraint, per-antenna transmit power constraint). Different precoding techniques exist to solve different objective functions under different constraints.

[0007] Precoding techniques can be grouped into two categories: linear and nonlinear. Linear precoding is implemented when the signal processing procedure involves only linear operations and refers to linear transmit filters. Exemplary linear precoding techniques include: - Maximum ratio transmission (MRT) as disclosed in "T.Lo, Maximum ratio transmission, IEEE Transactions on Communications, vol.47, no.10, pp.1458-1461, 1999", - Zero-forcing (ZF) precoding disclosed in "M. Joham, W. Utschick, and J. Nossek, Linear transmit processing in MIMO communications systems, IEEE Transactions on Signal Processing, vol. 53, no. 8, pp. 2700-2712, 2005", - The Minimum Mean Squared Error (MMSE) precoding disclosed in "E. Bjoernson and E. Jorswieck, Optimal Resource Allocation in Coordinated Multi-Cell Systems, Foundations and Trends in Communications and Information Theory, vol.9, no.2-3, pp.113-381, 2013," and - Transmit Wiener precoding disclosed in "M. Joham, W. Utschick, and J. Nossek, Linear transmit processing in MIMO communications systems, IEEE Transactions on Signal Processing, vol. 53, no. 8, pp. 2700-2712, 2005".

[0008] Linear precoding techniques do not require very high computational complexity. However, they yield suboptimal performance. For example, MRT only maximizes the signal gain at the intended user / receiver and only achieves near-optimal performance in noise-suppressed systems where user-to-user interference is negligible compared to noise.

[0009] The ability of ZF precoding to completely cancel out multi-user interference makes it useful in high signal-to-noise ratio regions, at the expense of some signal gain loss. However, in noise-suppressed regions, the performance of ZF precoding is far from optimal. In addition, using ZF precoding, the transmitted vector is pre-filtered using the generalized inverse of the channel matrix, which requires high transmit power, especially when the channel matrix is ​​poorly configured.

[0010] Nonlinear precoding is based on the concept of dirty paper coding disclosed in "H. Weingarten, Y. Steinberg, and S. Shamai, The capacity region of the Gaussian multiple-input multiple-output broadcast channel Archived 2012-10-23 at the Wayback Machine, IEEE Transactions on Information Theory, vol.52, no.9, pp.3936-3964, 2006". Dirty paper coding demonstrates that if an optimal precoding scheme can be applied to the transmitted signal, any known interference at the transmitter can be reduced without incurring radio resource disadvantages. In such a coding scheme, only the transmitter needs to know about the interference, while complete channel state information is required at both the transmitter and receiver to achieve weighted sum capacity. Exemplary nonlinear precoding techniques include: - The Costa precoding disclosed in "M. Costa, Writing on dirty paper, IEEE Transactions on Information Theory, vol.29, no.3, pp.439-441, 1983", - The Tomlinson-Harashima precoding (THP: Tomlinson-Harashima precoding) disclosed in "M. Tomlinson, New automatic equalizer employing modulo arithmetic, Electronics Letters, vol.7, no.5, pp.138-139, 1971", and - The vector perturbation technique disclosed in "BMHochwald, CBPeel, and ALSwindlehurst, A vector-perturbation technique for near-capacity multiantenna multi-user communication - Part II: Perturbation, IEEE Transactions on Communications, vol. 53, no. 1, pp. 537-544, 2005".

[0011] THP achieves better performance than the linear precoding strategy by limiting the transmit power via nonlinear modulo operations. Vector perturbation techniques allow for further reduction of transmit power by perturbing the transmitted vector, and the optimal perturbation vector is found using a sphere encoder disclosed in "B. Hochwald, C. Peel, and L. Swindlehurst, "A vector-perturbation technique for near-capacity multiantenna multiuser communication - Part II: Perturbation," IEEE Transactions on Communications, vol. 53, no. 3, pp. 537-544, Mar. 2005".

[0012] While ball encoders achieve full diversity order and good performance, they require high computational complexity that increases exponentially with increasing number of antennas.

[0013] To overcome the random complexity of ball encoders, implementations of ball encoders have been developed. An exemplary implementation, called the M-algorithm encoder, was proposed in "JZZhang and KJKim, 'Near-capacity MIMO multiuser precoding with QRD-M algorithm,' in Proceedings of IEEE ACSSC, pages 1498-1502, November 2005." The M-algorithm encoder is based on reducing the number of candidates at each coding tree level to M candidates. While the M-algorithm encoder achieves the same performance as ball encoders, it still requires high complexity.

[0014] Another exemplary implementation was proposed in "M. Mohaisen and K. Chang, Fixed-complexity sphere encoder for multi-user MIMO systems, in Journal of Communications and Networks, vol.13, no.1, pp.63-69, Feb.2011". This implementation is based on a fixed-complexity sphere decoder that achieves the optimal diversity order for the M algorithm. However, it exhibits a degradation in bit error rate performance.

[0015] Therefore, there is a need to develop optimal performance and low complexity precoding devices and methods for multi-antenna systems. [Prior art documents] [Non-patent literature]

[0016] [Non-Patent Document 1] T.Lo, Maximum ratio transmission, IEEE Transactions on Communications, vol. 47, no. 10, pp. 1458-1461, 1999 [Non-Patent Document 2] M. Joham, W. Utschick, and J. Nossek, Linear transmit processing in MIMO communications systems, IEEE Transactions on Signal Processing, vol. 53, no. 8, pp. 2700-2712, 2005 [Non-Patent Document 3] E.Bjoernson and E.Jorswieck,Optimal Resource Allocation in Coordinated Multi-Cell Systems,Foundations and Trends in Communications and Information Theory,vol.9,no.2-3,pp.113-381,2013 [Non-Patent Document 4] M. Joham, W. Utschick, and J. Nossek, Linear transmit processing in MIMO communications systems, IEEE Transactions on Signal Processing, vol. 53, no. 8, pp. 2700-2712, 2005 [Non-Patent Document 5] H. Weingarten, Y. Steinberg, and S. Shamai, The capacity region of the Gaussian multiple-input multiple-output broadcast channel Archived 2012-10-23 at the Wayback Machine, IEEE Transactions on Information Theory, vol. 52, no. 9, pp. 3936-3964, 2006 [Non-Patent Document 6] M.Costa,Writing on dirty paper,IEEE Transactions on Information Theory,vol.29,no.3,pp.439-441,1983 [Non-Patent Document 7] M. Tomlinson, New automatic equalizer employing modulo arithmetic, Electronics Letters, vol. 7, no. 5, pp. 138-139, 1971 [Non-Patent Document 8] BMHochwald,CBPeel,and ALSwindlehurst,A vector-perturbation technique for near-capacity multiantenna multi-user communication-Part II:Perturbation,IEEE Transactions on Communications,vol.53,no.1,pp.537-544,2005 [Non-Patent Document 9] B. Hochwald, C. Peel, and L. Swindlehurst, “A vector-perturbation technique for near-capacity multiantenna multiuser communication-Part II: Perturbation,” IEEE Transactions on Communications, vol. 53, no. 3, pp. 537-544, Mar. 2005 [Non-Patent Document 10] JZZhang and KJKim, “Near-capacity MIMO multiuser precoding with QRD-M algorithm,” in Proceedings of IEEE ACSSC, pages 1498-1502, November 2005 [Non-Patent Document 11] M.Mohaisen and K.Chang,Fixed-complexity sphere encoder for multi-user MIMO systems,in Journal of Communications and Networks,vol.13,no.1,pp.63-69,Feb.2011 [Overview of the Initiative] [Means for solving the problem]

[0017] To address these and other issues, a precoder for precoding vectors of information symbols, wherein the precoder is: - A radius determination unit configured to determine the radius of a search sphere, wherein the determination of the radius of the search sphere includes applying a machine learning algorithm to input data that depends on a vector of information symbols and a default precoding matrix, - A spherical coding unit configured to determine a perturbation vector from a grid point found within a spherical domain by applying a spherical search-based sequential algorithm, wherein the spherical domain has a radius equal to the search sphere radius, A precoder is provided, comprising: a precoding unit configured to precode a vector of information symbols using a perturbation vector and a precoding matrix.

[0018] According to some embodiments, the radius determination unit may be configured to apply one or more iterations of the radius update function to update the current radius until a termination condition is met, the current radius is initially set to a temporary radius, and each iteration of the radius update function is: The application of a machine learning algorithm to input data derived from a vector of information symbols, a default precoding matrix, and the current radius, wherein this provides the current predicted number of grid points associated with the current radius. This involves comparing the current predicted number of grid points with a given threshold, The system is configured to update the current radius if the current number of predicted grid points is strictly higher than a given threshold, by applying a linear function to the current radius. The termination condition is related to the current number of predicted grid points, and the radius determination unit is configured to set the search sphere radius to the current radius when the termination condition is met.

[0019] According to some embodiments, the termination condition may be satisfied if the current predicted number of grid points is less than or equal to a given threshold.

[0020] According to some embodiments, the linear function may have a slope parameter equal to 1 / 2 and an intercept parameter equal to 0.

[0021] According to some embodiments, the machine learning algorithm may be a supervised machine learning algorithm selected from the group including support vector machines, linear regression, logistic regression, naive Bayes, linear discriminant analysis, decision trees, k-nearest neighbor algorithms, neural networks, and similarity learning.

[0022] According to some embodiments, a supervised machine learning algorithm can be a multilayer deep neural network comprising an input layer, one or more hidden layers, and an output layer, each layer comprising multiple computation nodes, the multilayer deep neural network being associated with model parameters and an activation function, the activation function being implemented in at least one of the multiple computation nodes in the one or more hidden layers.

[0023] According to some embodiments, the activation function can be selected from the group including linear activation functions, sigmoid functions, ReLU functions, Tanh functions, softmax functions, and cube functions.

[0024] According to some embodiments, the radius determination unit may be configured to predetermine model parameters from received training data during the training phase, the radius determination unit is configured to determine multiple sets of training data from the training data and the expected number of grid points, each set of expected numbers of grid points is associated with one of the multiple sets of training data, and the training phase consists of the following steps: - A step of processing a deep neural network using a set of training data from a set of training data as input, wherein this provides the intermediate number of grid points associated with the set of training data. - A step of determining a loss function from the expected number of grid points and the intermediate number of grid points associated with the training data set, and - A step in which the updated model parameters are determined by applying an optimization algorithm that follows the minimization of the loss function. This includes two or more repetitions.

[0025] According to some embodiments, the optimization algorithm may be selected from the group including Adadelta optimization algorithms, Adagrad optimization algorithms, adaptive moment estimation algorithms, Nesterov accelerated gradient algorithms, Nesterov accelerated adaptive moment estimation algorithms, RMSprop algorithms, stochastic gradient optimization algorithms, and adaptive learning rate optimization algorithms.

[0026] According to some embodiments, the loss function may be selected from a group that includes the mean squared error function and the exponential log-likelihood function.

[0027] According to some embodiments, the radius determination unit may be configured to pre-apply a list sphere decoding algorithm or a list sphere boundary stack decoding algorithm to determine the expected number of grid points from the search sphere radius and from the channel matrix.

[0028] According to some embodiments, the radius determination unit may be configured to determine the number of iterations of the radius update function as a function of a provisional radius, a given threshold, and the determinant of a default precoding matrix.

[0029] According to some embodiments, a sphere search-based sequential algorithm can be selected from a group that includes sphere decoders and sphere boundary sphere decoders.

[0030] Furthermore, a transmitter is provided that implements a precoder relating to any of the above features, wherein the transmitter is equipped with multiple antennas and is configured to transmit vectors of information symbols to multiple receivers in a multi-user multi-input multi-output system.

[0031] Furthermore, a method for precoding information symbol vectors, wherein the method is - Determining the search sphere radius, wherein the determination of the search sphere radius includes applying a machine learning algorithm to input data that depends on a vector of information symbols and a default precoding matrix. - Determining perturbation vectors from lattice points found within a spherical domain by applying a spherical search-based sequential algorithm, and determining that the spherical domain has a radius equal to the search sphere radius. - Precoding information symbol vectors using perturbation vectors and precoding matrices, A method including this is provided.

[0032] Advantageously, embodiments of the present invention provide efficient sphere radius design and control techniques that enable the reduction of complexity in sphere decoding-based vector perturbation precoding techniques without compromising precoding error performance.

[0033] Advantageously, embodiments of the present invention provide efficient nonlinear precoding techniques that reduce the required computational complexity and processing time.

[0034] Further advantages of the present invention will become apparent to those skilled in the art upon closer examination of the drawings and detailed description.

[0035] The accompanying drawings incorporated herein and forming part thereof illustrate various embodiments of the present invention. [Brief explanation of the drawing]

[0036] [Figure 1]Figure 1 is a schematic diagram illustrating an exemplary application of the present invention in a multi-antenna communication system. [Figure 2] Figure 2 is a block diagram showing a precoder according to several embodiments of the present invention in which spherical coding is considered. [Figure 3] Figure 3 shows a schematic diagram of a machine learning algorithm according to several embodiments of the present invention using a deep neural network. [Figure 4] Figure 4 is a flowchart showing a precoding method according to several embodiments of the present invention. [Figure 5] Figure 5 is a flowchart showing a radius determination search method according to some embodiments of the present invention. [Figure 6] Figure 6 is a flowchart showing a method for training a deep neural network according to some embodiments of the present invention. [Figure 7] Figure 7 shows the bit error rate performance as a function of signal-to-noise ratio obtained using a ball encoder and a smart ball encoder according to some embodiments of the present invention. [Figure 8] Figure 8 shows the processing time in microseconds as a function of the signal-to-noise ratio obtained using a ball encoder and a smart ball encoder for an 8x8 MIMO system according to some embodiments of the present invention. [Modes for carrying out the invention]

[0037] Embodiments of the present invention provide devices, methods, and computer programs for precoding vectors of information symbols sent from a multi-antenna transmitter to multiple receivers through a transmission channel in a communication system with reduced computational complexity. In particular, embodiments of the present invention provide methods, devices, and computer program products for low-complexity and optimal-performance vector substitution precoding based on a sphere encoder that implements an efficient sphere radius design technique. The sphere radius design technique according to the embodiments of the present invention enables the determination of an optimal precoding vector for a sphere encoder with reduced complexity and reduced processing time. The design and control of the search sphere radius according to the embodiments of the present invention rely on machine learning techniques.

[0038] To facilitate understanding of the embodiments of the present invention, some definitions and notations used herein are set forth below.

[0039] Λ represents Euclidean space.

number

number

number

number

[0040] lattice generator matrix

number

number

number

number

[0041] m(.) = ||.||² defines the Euclidean metric (also called the "Euclidean distance") as the distance between two points in Euclidean space.

[0042] r0 indicates the pseudo-sphere radius (also called the "pseudonym radius").

[0043] r s This specifies the search sphere radius used in the sphere decoder algorithm.

[0044] D(K,θ k=1,...,K N(σ) refers to a multilayer deep neural network consisting of an input layer, K≧2 layers including one or more hidden layers, an output layer, and interconnected artificial neurons (hereinafter referred to as "nodes" or "computation nodes"). The number of layers K represents the depth of the deep neural network, and the number of nodes in each layer represents the width of the deep neural network. (k) This indicates the width of the k-th layer and corresponds to the number of computing nodes in the k-th layer.

[0045] Multilayer deep neural networks use θ k=1,...,K The model parameter is represented as θ, and the activation function is represented as σ. The activation function σ refers to a computational nonlinear function that defines the output of neurons in the hidden layers of a multilayer deep neural network. Model parameter θ k=1,...,K Let k=1,...,K, with parameter θ kThe k-th set includes a set of parameters that indicate the set of layer parameters associated with the k-th layer (corresponding to the hidden layer or output layer) of a multilayer deep neural network.

number

number

number

[0046] L indicates the loss function, which is a mathematical function used to estimate the loss (also called the "error" or "cost") between the estimated (also called the "intermediate") value and the expected value during the training process of a deep neural network.

[0047] An optimizer (hereinafter referred to as "optimization algorithm" or "gradient descent optimization algorithm") refers to an optimization algorithm used to update the parameters of a deep neural network during the training phase.

[0048] An epoch refers to the number of times the training data has passed through the deep neural network during the training phase.

[0049] A mini-batch refers to a subset of the training data extracted from the training data and used in the iterations of the training phase. The mini-batch size refers to the number of training data samples in each segmented mini-batch.

[0050] The learning rate (also called the "step size") of the gradient descent algorithm refers to the scalar value multiplied by the magnitude of the gradient.

[0051] Embodiments of the present invention provide a device, method, and computer program product for precoding information symbol vectors in a multi-antenna system with reduced complexity and optimal precoding performance.

[0052] Embodiments of the present invention may be implemented in a multi-antenna system to precode vectors of information symbols transmitted from a multi-antenna transmitter to a plurality of receivers, each receiver having one or more antennas. Such a multi-antenna communication system is known as a multi-user MIMO system or a distributed MIMO system.

[0053] Multi-user MIMO systems are used for data transmission in a variety of applications, including, but not limited to, wireless communication (e.g., LTE, LTE-advanced, and 5G), Internet of Things communication (e.g., vehicle-to-everything communication), local area network communication (e.g., wireless ad-hoc communication), and massive MIMO, which is supported in the upcoming 5G wireless communication.

[0054] Figure 1 is a block diagram of an exemplary application of the present invention to a wireless communication system 100 according to several embodiments. The communication system 100 may include a transmitter device 101 (hereinafter referred to as "transmitter") configured to transmit data to a plurality of N receiver devices 103-1 to 103-N (hereinafter referred to as "receivers") through a transmission channel. The transmitter 101 may implement a precoder 1015 for precoding vectors of information symbols to be sent to one or more receivers 103-1 to 103-N. Data transmission within the communication system 100 may correspond to a downlink communication scenario in which the transmitter 101 is configured to simultaneously serve a plurality of receivers 103-1 to 103-N. The transmitter 101 may be any device configured to operate in a wireless environment to serve multiple users. For example, the transmitter 101 may be a base station, a relay station, an eNode B in a cellular network, an access point in a local area network or ad hoc network, or any other interface device operating in a wireless environment. The transmitter 101 may be fixed or mobile. The receiver may be any fixed or mobile device configured to operate within a wireless network and decode symbols transmitted by the transmitter 101. Exemplary receiver devices include, but are not limited to, mobile phones, computers, laptops, tablets, drones, and IoT devices.

[0055] The transmitter 101 may be equipped with two or more transmitting antennas M, the receivers 103-1 to 103-N may be equipped with one or more receiving antennas, and the number of transmitting antennas N is equal to or greater than the number of receivers N.

[0056] In some embodiments, the communication system 100 may use any multiple access technique, such as Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA), and Space-Division Multiple Access (SDMA), either alone or in combination.

[0057] The transmission channel may be an arbitrary linear additive white Gaussian noise (AWGN) channel or a multipath channel using single-carrier or multi-carrier modulation formats such as OFDM (Orthogonal Frequency Division Multiplexing) and FBMC (Filter Bank Multi-Carrier) to mitigate frequency selectivity, interference, and delay.

[0058] For illustrative purposes only, the following description will be made with reference to a wireless multi-user MIMO system comprising a transmitter 101 having M ≥ 2 transmitting antennas, and receivers 103-1 to 103-N, N ≤ M, each having a single antenna for decoding the intended information symbols transmitted by transmitter 101. However, those skilled in the art will readily understand that embodiments of the present invention also apply to multi-user MIMO systems including multiple antenna receivers.

[0059] Therefore, the transmitter 101 can receive data vectors containing data destined for each of the multiple receivers 103-1 to 103-N via a noisy wireless multi-user channel represented by a channel matrix.

[0060] Embodiments of the present invention provide an efficient device and method for precoding data within a multi-user MIMO system. Thus, transmitter 101 is: - A channel encoder 1011 that implements one or more forward error correction (FEC) codes such as linear block codes, convolutional codes, polar codes, low-density parity check (LDPC) codes, etc., - A modulator 1013 that implements a modulation scheme such as quadrature amplitude modulation (QAM) to transmit a modulated vector of information symbols, and - A precoder 1015 configured to determine a precoded vector of information symbols to be sent to a plurality of receivers 103-1 to 103-N through a transmission channel, and may include.

[0061] Transmitter 101 may be configured to encode received data, which is a flow of information bits, using an FEC encoder 1011 that implements, for example, a linear block code, a convolutional code, a low-density parity check, an LDPC code, or a polar code. Next, the encoded binary signal may be modulated into a symbol vector s c using modulator 1013. Different modulation schemes such as 2 q -QAM or 2 q -PSK with 2 q symbols or states may be implemented. The modulated vector s c may be a complex-valued vector including κ complex-valued symbols s1, s2,..., s к having q bits per symbol.

[0062] The information symbol s j has an average power E s and can be written in the form: S j =R(s j )+iI(s j )

[0063] In equation (3), i represents a complex number, and thus i 2 = -1, and the R(.) and I(.) operators output the real and imaginary parts of the input value, respectively.

[0064] 2 q -When modulation formats such as QAM are used, 2 q Each symbol or state represents a subset of the integer field Z[i]. The corresponding constellation represents two different states or symbols. q It consists of n points. In addition, in the case of squared modulation, the real and imaginary parts of the information symbol belong to the same finite alphabet A = [-(q-1), (q-1)]. Minimum distance d of the modulation scheme min represents the Euclidean distance between two adjacent points in the constellation, and in this example it is equal to 2.

[0065] According to some embodiments shown in Figure 1, the transmitter 101 can use V-BLAST spatial multiplexing to multiplex pre-coded information symbols across different transmitting antennas without performing encoding in the time dimension.

[0066] In other embodiments (not shown in Figure 1), the transmitter 101 may perform spatiotemporal coding, encoding pre-coded information symbols into codewords that are transmitted through different antennas between multiple time slots corresponding to the time dimension of the spatiotemporal coding scheme used.

[0067] The pre-coded vectors of information symbols can be converted from the time domain to the frequency domain using multi-carrier modulation techniques, for example, using an OFDM or FBMC modulator, and spread through the transmitting antenna. The signal may be transmitted from the transmitting antenna after optional filtering, frequency transitions, and amplification.

[0068] Embodiments of the present invention rely on the use of a vector perturbation precoding technique in the transmitter. Thus, the precoder 1015 generates a vector s of N complex-valued symbols. c Perform the complex-to-real number conversion and set n=2N.

number

[0069] Using vector perturbation precoding, precoder 1015 uses a scaled permutation vector represented by τt and a default precoding matrix represented by P to create a vector s of information symbols, s p It can be configured to precode into a precoded vector of information symbols represented as follows: where τ is an integer scaling coefficient that depends on the modulation scheme, and t=(t1,t2,...,t n ) t This is an integer-value perturbation vector containing n integer values. A perturbed vector is

number

[0070] According to some embodiments, the scaling factor can be given by the following equation:

number

[0071] In equation (5), c max This indicates the absolute value of the constellation point with the largest size.

[0072] According to some embodiments, the precoder 1015 may be configured to perform a vector perturbation of the information symbol vector so that the transmit power is reduced. Thus, the precoder 1015 may be configured to determine an optimal vector perturbation t in accordance with minimizing the transmit power of the precoded vector of the information symbol, thereby:

number

[0073] The precoder 1015 may be configured to perform a QR decomposition of a predefined precoding matrix according to P=QR. Here,

number

number

number

[0074] Therefore, the optimization problem in equation (7) for finding the optimal perturbation vector can be expressed as an integer lattice search to find an integer perturbation vector that minimizes the Euclidean metric given by the following equation:

number

[0075] Tree representations can be associated with optimization problems. A tree representation is a graph data structure that contains multiple nodes, levels, branches, and paths. More specifically, a tree contains n levels, and each level contains multiple nodes.

[0076] The nodes within the tree are components s j +τt j It corresponds to different possible values.

[0077] The levels correspond in reverse order to the rank of the information symbols in vector s, so that the node located in the first level of the tree corresponds to the last component of the symbol in vector s, the second level corresponds to the second to last, and so on. Vector s = (s1, s2, ..., s n ) t By writing it this way, the node located at level k in the tree is component s n-k+1 +τt n-k+1 This corresponds to the possible values ​​of the first component s1+τt1. Nodes located within the last level of the tree are called leaf nodes and correspond to the possible values ​​of the first component s1+τt1.

[0078] A branch starts from a virtual node called the "root node" and connects nodes located within two consecutive levels. i+1 +s i+1 ,s i +τt i An edge represented as ) is an edge consisting of two nodes s located within consecutive levels ni and n-i+1. i+1 +τt i+1 and s i +τt i This corresponds to the joining between them.

[0079] Each edge is associated with a cost function (hereinafter also referred to as "partial metric" or "partial Euclidean distance"). i+1 +s i+1 ,s i +τt i The cost function associated with ) can be defined by the following equation:

number

[0080] Each node in a tree can be associated with a metric. Using the definition of branch submetrics, the metric associated with a given node in a tree can be considered the sum of the submetrics of different branches that make up the path from the root node to this given node. Thus, a node s located at level k... k +τt k The metric associated with it can be expressed as follows:

number

[0081] The paths from the root node to the leaf nodes correspond to the possible values ​​of the vector s+τt.

[0082] According to tree representation, optimization problems can be solved equivalently by performing tree search using sequential algorithms. The solution to an optimization problem corresponds to the path in the tree that yields the lowest metric.

[0083] The computational complexity of a tree search is proportional to the number of nodes visited during the search, which depends on the number of nodes at each level and the total number of levels in the decrypted tree.

[0084] To reduce the number of nodes investigated and therefore the complexity of precoding, embodiments of the present invention provide a precoding method and device based on a spherical search-based sequential algorithm that reduces the number of nodes visited during tree search by imposing search intervals for each level of the decoding tree. Only nodes belonging to these search intervals are investigated while searching for the path with the lowest metric.

[0085] More specifically, according to embodiments of the present invention, the precoder 1015 employs a sphere encoder (SE) approach to determine the optimal perturbation vector used for data precoding. The sphere encoder has its center at the origin and a search sphere radius r s A spherical region having a radius

number

number

[0086] search sphere radius r s Starting from there, a sphere-search-based sequential algorithm is used in the sphere domain.

number

number

[0087] The complexity of the lattice point search stage is determined by the search sphere radius r. s This largely depends on the selection of the search sphere radius r. Embodiments of the present invention enable a reduction in the complexity of the tree search stage without sacrificing optimal performance. s To provide an efficient device and method for determining [the value].

[0088] Figure 2 is a block diagram showing the structure of a precoder 200 according to several embodiments of the present invention, in which machine learning techniques are used to efficiently design the search sphere radius considered in pursuit of the optimal perturbation vector. Thus, the precoder 200 is designed for a search sphere radius r s The radius determination unit 201 may be configured to determine the search sphere radius, and the determination of the search sphere radius may be performed using a machine learning algorithm with a default precoding matrix R, an integer scaling coefficient τ, and a vector of information symbols s=(s1,s2,...,s n ) t This includes applying it to input data that depends on it.

[0089] The precoder 200 has its center at the origin and the search sphere radius r determined by the sphere radius determination unit 201. s A spherical region having a radius

number

number

[0090] Precoder 205 is a perturbation vector

number

[0091] According to some embodiments, the radius determination unit 201 updates the current radius by one or more iterations (number of iterations N) of the radius update function until a stopping condition (also referred to as a "termination condition") is met. iterBy applying ≥1), the search sphere radius r follows an iterative process. s It can be configured to determine the current radius corresponding to the i-th iteration, i=1,...,N iter Let it be,

number

number

number

number

number

number

number

number

number

number

number

[0092] The termination condition is the current predicted number of grid points.

number

number

number

number

[0093] According to some embodiments, the linear function may have a slope parameter equal to 1 / 2 and an intercept parameter equal to 0, which corresponds to updating the current radius by dividing the current radius by 2, i.e.,

number

[0094] Each iteration of the update function i=1,...,N iter In this case, the radius determination unit 201 has its center at the origin, and the sphere radius is the current radius.

number

number

number

number

[0095] According to some embodiments, the radius determination unit 201 may be configured randomly to determine a provisional radius r0.

[0096] According to some embodiments, the radius determination unit 201 determines a given threshold N th (Lattice Λ RBy utilizing a counting function that relates to the determinant of the upper triangular matrix R (which is the generator matrix), the number of iterations N of the radius update function can be calculated. iter It can be configured to determine the following, and the counting function is given by the following equation:

number

[0097] r th The threshold N th This specifies the radius of a sphere that contains the same number of lattice points as Λ, and det(Λ R ) is a lattice Λ R Specify the determinant of the generator matrix, V n is a real vector space

number

[0098] By using a counting function and a linear function having a slope parameter equal to 1 / 2 and an intercept parameter equal to 0, the inventors have found that N iter Temporary radius during the number of iterations

number

number

[0099] By utilizing a function that relates the number of iterations to the provisional radius, the radius determination unit 201 can determine the search radius without performing machine learning processing.

number

[0100] According to some embodiments, the sphere search-based sequential algorithm can be selected from the group including a sphere decoder and an SB stack decoder.

[0101] According to some embodiments where a sphere decoder is considered, the sphere encoding unit 203 can be configured to define a search interval represented as I = [b i +τt i for each i I = [b inf,i , b sup,i . The lower bound b i and the upper bound b inf,i of the search interval I sup,t are determined from the search sphere radius r s . The sphere constraint can be recursively discovered by scanning the points within the sphere region s of radius r

Number

Number

[0102] In some embodiments where an SB stack is considered, a best-first tree search may be used to explore nodes in the tree. Starting from the root node, all or a subset of the child nodes are explored, and a partial metric is calculated for each child node explored. Only nodes with partial metrics that satisfy the spherical constraints and the search interval are generated and stored in the stack. The search continues without updating the search spherical radius at all until a leaf node is found and the optimal path corresponding to the minimum cumulative metric is returned.

[0103] In some embodiments, a machine learning algorithm can be a supervised machine learning algorithm that maps input data to prediction data using a function determined on labeled training data consisting of a set of labeled input-output pairs. Exemplary supervised machine learning algorithms include, but are not limited to, support vector machines (SVMs), linear regression, logistic regression, naive Bayes, linear discriminant analysis, decision trees, k-nearest neighbor algorithms, neural networks, and similarity learning.

[0104] In a preferred embodiment, the supervised machine learning algorithm may be a multilayer perceptron, which is a multilayer feedforward artificial neural network comprising an input layer, at least two layers (K≧2) including one or more hidden layers, and an output layer.

[0105] Referring to Figure 3, a multilayer deep neural network D(K,θ) is formed by an input layer 301, at least one hidden layer 303, and an output layer 305 (K≧2). k=1,...,K σ)300 is shown. Each of the input layer 301, one or more hidden layers 303, and output layer 305 contains multiple artificial neurons or computation nodes 3011.

[0106] The multi-layer deep neural network 300 is fully connected. Therefore, each computational node within one layer is connected with some weights to every computational node within the next layer. That is, the combined input from the nodes connected from the previous layer is combined with a set of weights that amplify or attenuate the input values. Starting from the input layer 301 configured to receive input data, the output of each layer simultaneously becomes the input of the subsequent layer.

[0107] Except for the input computational nodes, that is, the computational nodes 3011 within the input layer, each computational node 4011 included in one or more hidden layers may implement a non-linear activation function σ that maps the weighted input of the computational node to the output of the computational node.

[0108] According to the multi-layer structure, for each iteration i = 1,..., N iter in the deep neural network, through K iterative machine learning processing steps, the input vector

Number

Number

Number

Number

Number

Number

Number

Number

Number

Number

[0109] The input-weight product performed at the calculation node of the k-th layer is the weight matrix W (k) and the input vector

Number

Number

[0110] According to some embodiments, the activation function can be implemented at at least one calculation node 3011 of a plurality of calculation nodes of one or more hidden layers 303 and the output layer 305.

[0111] According to some embodiments, the activation function can be implemented at each node of the hidden layer.

[0112] According to some embodiments, the activation function may be selected from a group that includes linear activation functions, sigmoid functions, Tanh functions, softmax functions, rectified linear unit (ReLU) functions, and cube functions.

[0113] A linear activation function is an identity function that does not change the signal.

[0114] The sigmoid function transforms an independent variable with a nearly infinite range into a simple probability between "0" and "1". It is a nonlinear function that takes a value as input and outputs another value between "0" and "1".

[0115] The tanh function expresses the relationship between the hyperbolic sine and hyperbolic cosine, tanh(x) = sinh(x) / cosh(x).

[0116] Softmax activation generalizes logistic regression and returns a probability distribution across mutually exclusive output classes. The softmax activation function can be implemented within the output layer of a deep neural network.

[0117] The ReLU activation function activates a neuron when its input exceeds a given threshold. Specifically, the given threshold may be equal to zero ("0"). In this case, the ReLU activation function outputs 0 if the input variable is negative, and outputs the input variable according to the identity function if the input variable is positive. Mathematically, the ReLU function can be expressed as σ(x) = max(0,x).

[0118] According to some embodiments, the radius determination unit 201 may be configured to predetermine the model parameters of a multilayer deep neural network and update them during the training phase of the training data. The radius determination unit 201 determines the search sphere radius r s N is performed to determine iterIt may be configured to perform the training phase offline before performing the loop iterations. Once determined, the model parameters are then used in each iteration i = 1, ..., N that is performed to update the current radius until a stopping condition is reached. iter The training phase (also referred to as the "learning phase") is a global optimization problem performed to adjust the model parameters θ in a way that enables the multi-layer deep neural network to minimize the prediction error that quantifies how close the ideal model parameters that yield the best predictions are. k=1,...,K The model parameters can initially be set to initial parameters, for example, randomly generated. Thereafter, the initial parameters are updated during the training phase and adjusted in a way that enables the neural network to converge to the best predictions.

[0119] According to some embodiments, the multi-layer deep neural network is trained using a backpropagation supervised learning technique and the training data can be used to predict unobserved data.

[0120] The backpropagation technique is an iterative process of forward and backward propagation of information through different layers of the multi-layer deep neural network.

[0121] During the feedforward phase, the neural network receives training data containing training input values ​​and the expected values ​​(also called "labels") associated with those training input values, where the expected values ​​correspond to the expected output of the neural network when the training input values ​​are used as input. The expected values ​​are known by the radius decision unit 201 when supervised machine learning techniques are applied. The neural network passes the training data through the entire multilayer neural network to determine estimates (also called "intermediates") corresponding to the predictions obtained for the training input values. The training data is passed through in such a way that all computing nodes in different layers of the multilayer deep neural network apply their transformations or calculations to the input values ​​they receive from the computing nodes of the previous layer, and send their output values ​​to the computing nodes of the next layer. When the data has traversed all layers and all computing nodes have performed their calculations, the output layer sends out estimates corresponding to the training data.

[0122] The final step in the feedforward phase involves comparing the expected values ​​associated with the training data with the estimates obtained when the training data was passed through the neural network as input. This comparison allows us to measure how well / worse the estimates are compared to the expected values ​​and to update the model parameters with the aim of bringing the estimates closer to the expected values ​​so that the prediction error (also called "estimation error" or "cost") approaches zero. The prediction error can be estimated using a loss function based on a gradient procedure, which updates the model parameters in the direction of the gradient of the objective function.

[0123] The forward propagation phase is followed by the backpropagation phase, during which the model parameters, such as the interconnection weights of computation node 3011, are gradually adjusted in reverse order by applying an optimization algorithm until a good prediction is obtained and the loss function is minimized.

[0124] First, the calculated prediction error is propagated backward from the output layer to all computation nodes 3011 of one or more hidden layers 303 that directly contribute to the calculation of the estimate. Each computation node receives a portion of the overall prediction error based on its relative contribution to the output of the deep neural network. The process is repeated layer by layer until all computation nodes in the deep neural network receive a prediction error corresponding to their relative contribution to the overall prediction error. As the prediction error is propagated backward, layer parameters, such as the first layer parameters (i.e., weights) and the second layer parameters (i.e., biases), can be updated by applying an optimization algorithm that follows the minimization of the loss function.

[0125] According to some embodiments, the radius determination unit 201 may be configured to update its model parameters during the training phase by calculating a loss function and updating the model parameters for the entire training data, following a "batch gradient descent approach".

[0126] According to some embodiments, the radius determination unit 201 may be configured to update its model parameters during the training phase by adjusting the model parameters for each sample of training data according to online learning. Using online learning, the loss function is evaluated for each sample of training data. Online learning is also referred to as "online training" and "stochastic gradient descent".

[0127] According to another embodiment, the radius determination unit 201 may be configured to update model parameters from training data during the training phase according to mini-batch learning (also referred to as "mini-batch gradient descent") using mini-batches of data, size s b The mini-batch of data is s b This is a subset of the training samples. Therefore, the radius determination unit 201 uses training data of size s. b The data may be configured to be divided into two or more batches, and each batch contains s bIt includes 100 samples. The input data is then passed through the network in batches. The loss function is evaluated for each minibatch of data that has passed through the neural network, and the model parameters are updated for each minibatch of data. Thus, the forward and backpropagation stages are performed for each minibatch of data until the last batch.

[0128] According to some embodiments, the radius determination unit 201 may be configured to pass all the training data through the deep neural network 300 multiple times, referred to as epochs, during the training process. The number of epochs may be increased until the accuracy metric used to evaluate the accuracy of the training data begins to decrease or continues to increase (for example, when potential overfitting is detected).

[0129]

number

number

number

[0130] Based on supervised learning, training samples can be labeled, or associated, with known expected output values ​​(also called "targets" or "labels") that correspond to the output of a deep neural network when the training samples are used as input to the deep neural network. More specifically, m=1,...,Nb s Let each sample x *,m is the radius

number

number

[0131] According to some embodiments in which mini-batch learning is used, the radius determination unit 201 may be configured to determine (update or adjust) model parameters in mini-batches extracted from the received training data during the training phase. In such embodiments, the radius determination unit 201 receives the training data and... (*,1) , x (*,2) ,...,x (*,NB) It can be configured to divide into multiple NB training data points, and the set of training data is divided into s from the training data. b Sizes including a set of individual training examples b This is a mini-batch of x, i.e., each mini-batch x (*、l) is s b individual samples x *,m It includes m, and m is 1~Nb s It changes between x mini-batch. (*,l) Also, Nb s S has training samples extracted from individual training samples. l It is directed by S. l ⊂S.

[0132] Let l = 1, ..., NB for each minibatch x (*,l) This is a mini-batch of data x (*,l) The expected number of grid points that can be obtained by a deep neural network when used as input to a deep neural network.

number

number

[0133] Given training data and expected output values, the radius determination unit 201 can be configured to perform the forward and backpropagation stages of the training process.

[0134] Based on mini-batch training, the training phase may include two or more processing iterations. In each processing iteration, the radius determination unit 201: - Minibatch x of multiple training sets (*,l) This involves processing a deep neural network using the input, which is called minibatch x (*,l) Associated

number

number

number

number

number

number

number

number

[0135] For the first processing iteration, the radius determination unit 201 may be configured to determine the initial model parameters that will be used during the forward propagation phase of the first processing iteration of the training process. More specifically, the radius determination unit 201 determines the multilayer deep neural network D(K,θ) excluding the input layer. k=1,...,K The initial first layer parameter associated with each of the K layers of σ

number

number

[0136] According to some embodiments, the radius determination unit 201 may be configured to determine initial first layer parameters and initial second layer parameters associated with different layers (hidden layers and output layers) of the deep neural network randomly from a random set of values, for example, according to a standard normal distribution.

[0137] According to some embodiments, the optimization algorithm used to tune the model parameters and determine the updated model parameters may be selected from a group including the Adadelta optimization algorithm, the Adagrad optimization algorithm, the adaptive moment estimation algorithm (ADAM) for calculating the adaptive learning rate for each model parameter, the Nesterov accelerated gradient (NAG) algorithm, the Nesterov-accelerated adaptive moment estimation (Nadam) algorithm, the RMSprop algorithm, the stochastic gradient optimization algorithm, and the adaptive learning rate optimization algorithm.

[0138] According to some embodiments, the loss function considered for evaluating the prediction error or loss may be selected from a group that includes the mean square error function (MSE) used for linear regression and the exponential log likelihood (EXPLL) function used for Poisson regression.

[0139] According to some embodiments in which the mean squared error function is used, the loss function calculated for the l-th mini-batch of data can be expressed as follows:

number

[0140] According to some embodiments, the radius determination unit 201 determines each minibatch S with l=1,...,NB from the sphere radius r and a default precoding matrix R by applying a list sphere decoding (LSD) algorithm or a list sphere boundary stack decoding algorithm. l Expected number of lattice points associated with

number

[0141] Referring to Figure 4, we also see the vector s of modulated complex numerical information symbols. c A vector of information symbols including the real and imaginary parts.

number

[0142] In step 401, the information symbol vector s, a default precoding matrix R, a hypothetical radius r0, and a given threshold N are given. th It may receive input that includes this.

[0143] In step 403, the search sphere radius r s This can be determined. Determining the search sphere radius involves applying a machine learning algorithm to input data that depends on a vector of information symbols s, an integer scaling factor τ, and a default precoding matrix R.

[0144] In step 405,

number

number

[0145] According to some embodiments, a sphere search-based sequential algorithm may be selected from a group including sphere decoders and SB stack decoders.

[0146] In step 407, using the perturbation vector, precoding matrix P, and integer scaling coefficient τ determined in step 405, the vector of the information symbol is converted to the precoded vector s of the information symbol. p It can be precoded to, and thereby, s p = P(s+τt).

[0147] Figure 5 shows the iterative process of the radius update function for updating the current radius, with N iterations. iter In some embodiments, the search sphere radius r is performed to update the current radius during this time. s This flowchart shows the method to be carried out in step 403 for determining the method.

[0148] In step 501, the iteration exponent of the iterative process can be initially set to i=1, and the current radius is initially set to a provisional radius.

number

[0149] Steps 503-507 involve N iterations of the radius update function. iter This can be repeated until the termination condition is met.

[0150] In step 503, the machine learning algorithm is defined by a vector of information symbols s, a default precoding matrix R, and the current radius.

number

number

number

number

number

number

number

[0151] In step 505, the current number of predicted grid points

number

[0152] In step 505, the current number of predicted grid points

number

number

number

[0153] In step 505, the current prediction of the number of grid points

number

number

[0154] According to some embodiments, the linear function may have a slope parameter equal to 1 / 2 and an intercept parameter equal to 0, which updates the current radius by dividing the current radius by 2, thereby,

number

[0155] According to some embodiments, the machine learning algorithm may be a supervised machine learning algorithm selected from the group including, but not limited to, support vector machines, linear regression, logistic regression, naive Bayes, linear discriminant analysis, decision trees, k-nearest neighbor algorithms, neural networks, and similarity learning.

[0156] In a preferred embodiment, the supervised machine learning algorithm comprises an input layer, one or more hidden layers, and an output layer (K≧2), with model parameters θ k=1,...,K and the multilayer feedforward artificial neural network D(K,θ) associated with the activation function σ. k=1,...,K It can be a multilayer perceptron with (σ), and the model parameter θ k=1,...,K This is a set of layer parameters.

number

[0157] According to some embodiments, the activation function may be selected from a group that includes linear activation functions, sigmoid functions, Tanh functions, softmax functions, normalized linear unit functions, and cube functions.

[0158] According to some embodiments where the machine learning algorithm is a multilayer deep neural network, step 503 may include a substep performed to determine updated model parameters according to a backpropagation supervised training or learning process, which trains the multilayer deep neural network with training data before processing the neural network for determining the current radius during the decoding process.

[0159] According to some embodiments, model parameters can be updated during the training process by calculating the loss function and updating the model parameters for the entire training data, following a "batch gradient descent approach".

[0160] According to some embodiments, model parameters can be updated during the training process by adjusting the model parameters for each sample of training data and calculating the loss for each sample of training data, in accordance with online learning.

[0161] According to other embodiments, model parameters may be updated during the training process according to mini-batch learning using mini-batches of data, size s b The mini-batch of data is s b This is a subset of the training samples. Therefore, the training data is of size s. b The data may be divided into two or more minibatches, and each batch contains s of the input data. b It includes 1 sample. The input data is then fed through the network in mini-batches. The loss function is evaluated for each mini-batch of data, and the model parameters are updated for each mini-batch of data.

[0162] Figure 6 shows the model parameters θ that provide the best prediction in terms of minimizing prediction error, according to several embodiments using mini-batch learning. k=1,...,K To determine this, a multilayer deep neural network D(K,θ) k=1,...,K This is a flowchart showing the method for training σ.

[0163] In step 601, Nb s Individual training samples

number

number

number

number

number

[0164] In step 603, the training data is set into multiple sets of NB x training data. (*,1) , x (*,2) ,...,x (*,NB) It can be divided into: Let l=1,...,NB, each minibatch x (*,l) This is a mini-batch of data x (*,l) The expected number of grid points that can be obtained by a deep neural network when used as input to a deep neural network.

number

[0165] The training process may involve two or more processing iterations repeated until the training conditions are met. The training conditions may relate to the number of epochs, which indicates the number of times the training data has passed through the deep neural network during the training phase, and / or the goodness of the updated model parameters in minimizing the resulting prediction error.

[0166] In step 605, the first processing iteration can be performed in which the initial model parameters to be used to process the first minibatch of data can be determined. More specifically, the multilayer deep neural network D(K,θ) k=1,...,K Initial first layer parameters associated with each of the K layers (excluding the input layer)

number

number

[0167] According to some embodiments, initial first layer parameters and initial second layer parameters associated with the hidden and output layers of a deep neural network can be determined randomly from a random set of values, for example, according to a standard normal distribution.

[0168] Steps 607-613 may be repeated to process mini-batches of data until a stopping condition is reached. The processing iterations of the training process consist of steps 609-613, with multiple training sets x, where l=1,...,NB. (*,l) of the mini-batch x (*,l) This relates to the processing of this.

[0169] In step 609, minibatch x of multiple training sets (*,l) A multilayer deep neural network can be processed using the input, and this results in a minibatch x (*,l) Associated

number

number

[0170] In step 611, minibatch x (*,l) The known expected number of lattice points associated with

number

number

number

[0171] In step 613, minibatch x (*,l) After processing, the loss function obtained by applying the optimization algorithm.

number

number

number

[0172] According to some embodiments, the optimization algorithm may be selected from the group including Adadelta optimization algorithms, Adagrad optimization algorithms, adaptive moment estimation algorithms, Nesterov accelerated gradient algorithms, Nesterov accelerated adaptive moment estimation algorithms, RMSprop algorithms, stochastic gradient optimization algorithms, and adaptive learning rate optimization algorithms.

[0173] According to some embodiments, the loss function may be selected from a group that includes the mean squared error function and the exponential log-likelihood function.

[0174] According to some embodiments, step 601 is to apply a list sphere decoding algorithm to each minibatch S with sphere radius r and channel matrix R, where l=1,...,NB. l Expected number of lattice points associated with

number

[0175] Also, the information symbol vector s=(s1,s2,...,s) t A computer program product is provided for precoding. The computer program product comprises a non-temporary computer-readable storage medium that, when executed by the processor, causes the processor to perform the following: - search sphere radius r s Determining the search sphere radius involves applying a machine learning algorithm to input data that depends on an information symbol vector s, a scaling factor τ, and a default precoding matrix R. -

number

number

[0176] The performance of the precoding techniques provided in various embodiments of the present invention was evaluated with respect to bit error rate, average processing time, and average number of radius update functions for the hypothetical radius in the smart sphere encoder. "SE" refers to an implementation of the sphere encoder in which the search sphere radius is determined using a deep neural network according to embodiments of the present invention, and "SSE" refers to an implementation of the Smart Sphere Encoder in which the search sphere radius is determined according to a function that associates a given threshold with the hypothetical radius without processing a machine learning algorithm. A distributed 8x8 MIMO system using 16-QAM modulation is considered. A multilayer deep neural network consisting of one input layer, one hidden layer, and one output layer is used.

[0177] Figure 7 shows a graph evaluating the bit error rate (BER) performance as a function of the signal-to-noise ratio for SE and SSE. The numerical results show that both the proposed SE and SSE implementations achieve optimal decoding performance.

[0178] Figure 8 shows an evaluation of the average signal-to-noise ratio processing time function obtained for SE and SSE implementations considering different hypothetical radii r0. The numerical results show that SSE significantly reduces precoding processing time compared to classical SE implementations.

[0179] The devices, methods, and computer program products described herein can be implemented by various means. For example, these techniques can be implemented in hardware, software, or a combination thereof. For hardware implementations, the processing elements of the precoder 200 can be implemented, for example, in a hardware-only configuration (e.g., in one or more FPGAs, ASICs, or VLSI integrated circuits with corresponding memory), or in a configuration using both VLSI and a digital signal processor (DSP).

[0180] Furthermore, the methods described herein may be implemented by computer program instructions supplied to the processor of any type of computer for creating a machine having a processor that executes instructions for performing the functions / actions specified herein. These computer program instructions may also be stored in a computer-readable medium that can be directed to operate the computer in a particular manner. To achieve this purpose, computer program instructions may be loaded onto a computer to produce a series of operational steps, thereby creating a computer execution process, the executed instructions resulting in a process for performing the functions specified herein.

Claims

1. A precoder (200) for precoding a vector of information symbols, wherein the precoder (200) - A radius determination unit (201) configured to determine the radius of a search sphere, wherein the determination of the radius of the search sphere includes applying a machine learning algorithm to input data that depends on the vector of information symbols and a default precoding matrix, - A spherical coding unit (203) configured to determine a perturbation vector from grid points found within a spherical domain by applying a spherical search-based sequential algorithm, wherein the spherical domain has the search sphere radius as its radius, - A precoding unit (205) configured to precode the vector of an information symbol using the perturbation vector and the precoding matrix, Equipped with, The radius determination unit (201) is configured to apply one or more iterations of the radius update function to update the current radius until the termination condition is met, the current radius is initially set as a temporary radius, and each iteration of the radius update function is, - Applying the machine learning algorithm to input data derived from the vector of information symbols, the default precoding matrix, and the current radius, wherein this provides the current predicted number of grid points associated with the current radius. - Comparing the current predicted number of grid points with a given threshold, - If the current predicted number of grid points is strictly higher than the given threshold, the current radius is updated, wherein the current radius is updated by applying a linear function to the current radius. It is configured to do the following: A precoder (200) wherein the termination condition is related to the current number of predicted grid points, and the radius determination unit (201) is configured to set the search sphere radius to the current radius when the termination condition is met.

2. The precoder according to claim 1, wherein the termination condition is satisfied when the current number of predicted grid points is less than or equal to the given threshold.

3. The precoder according to claim 1 or 2, wherein the linear function has a slope parameter equal to 1 / 2 and an intercept parameter equal to 0.

4. The precoder according to any one of claims 1 to 3, wherein the machine learning algorithm is a supervised machine learning algorithm selected from support vector machines, linear regression, logistic regression, naive Bayes, linear discriminant analysis, decision trees, k-nearest neighbor algorithms, neural networks, and similarity learning.

5. The precoder according to claim 4, wherein the supervised machine learning algorithm is a multilayer deep neural network (300) comprising an input layer (301), one or more hidden layers (303), and an output layer (305), each layer comprising a plurality of computation nodes (3011), the multilayer deep neural network (300) being associated with model parameters and an activation function, and the activation function being implemented in at least one of the plurality of computation nodes (3011) of the one or more hidden layers.

6. The precoder according to claim 5, wherein the activation function is selected from among the linear activation function, the sigmoid function, the Relu function, the Tanh function, the softmax function, and the cube function.

7. The radius determination unit (201) is configured to predetermine the model parameters from the received training data during the training phase, and the radius determination unit (201) is configured to determine multiple sets of training data from the training data and the set of expected numbers of grid points, and each expected number of grid points is associated with one of the multiple sets of training data, and the training phase consists of the following steps: - A step of processing the deep neural network (300) using a set of training data from the plurality of training data as input, wherein the processing provides the intermediate number of grid points associated with the set of training data. - A step of determining a loss function from the expected number of grid points and the intermediate number of grid points associated with the set of training data, and - A step of determining the updated model parameters by applying an optimization algorithm that minimizes the aforementioned loss function. The precoder according to claim 5, comprising two or more repetitions of the same.

8. The precoder according to claim 7, wherein the optimization algorithm is selected from among the Adadelta optimization algorithm, the Adagrad optimization algorithm, the adaptive moment estimation algorithm, the Nesterov accelerated gradient algorithm, the Nesterov accelerated adaptive moment estimation algorithm, the RMSprop algorithm, the stochastic gradient optimization algorithm, and the adaptive learning rate optimization algorithm.

9. The precoder according to claim 7, wherein the loss function is selected from the mean squared error function and the exponential log-likelihood function.

10. The precoder according to claim 7, wherein the radius determination unit (201) is configured to pre-apply a list sphere decoding algorithm or a list sphere boundary stack decoding algorithm to determine the expected number of grid points from the search sphere radius.

11. The precoder according to claim 3, wherein one or more iterations of the radius update function comprise the number of iterations of the radius update function, and the radius determination unit (201) is configured to determine the number of iterations of the radius update function as a function of the provisional radius, the given threshold, and the determinant of the predetermined precoding matrix.

12. The precoder according to claim 1, wherein the sphere search-based sequential algorithm is selected from among a sphere decoder and a sphere boundary sphere decoder.

13. A transmitter (101) that implements a precoder (200) according to any one of claims 1 to 12, wherein the transmitter (101) comprises a plurality of antennas and is configured to transmit the vector of information symbols to a plurality of receivers in a multi-user multi-input multi-output system.

14. A method for precoding a vector of information symbols, wherein the method is - Determining the search sphere radius (403), wherein the determination of the search sphere radius includes applying a machine learning algorithm to input data that depends on the vector of information symbols and a default precoding matrix, - Determining a perturbation vector from a grid point found within a spherical region by applying a spherical search-based sequential algorithm (405), wherein the spherical region has the search sphere radius as its radius (405), - Precoding the vector of the information symbol using the perturbation vector and the precoding matrix (407), Includes, The method includes applying one or more iterations of a radius update function to update the current radius until a termination condition is met, wherein the current radius is initially set to a temporary radius, and each iteration of the radius update function is - Applying the machine learning algorithm to input data derived from the vector of information symbols, the default precoding matrix, and the current radius, wherein this provides the current predicted number of grid points associated with the current radius. - Comparing the current predicted number of grid points with a given threshold, - If the current predicted number of grid points is strictly higher than the given threshold, the current radius is updated, wherein the current radius is updated by applying a linear function to the current radius. Includes, A method wherein the termination condition relates to the current predicted number of grid points, and the method includes setting the search sphere radius to the current radius in response to the termination condition being met.

Citation Information

Patent Citations

  • Base station device

    JP2017163242A