WO2023283262A1 - Non-linear encoding and decoding for reliable wireless communication - Google Patents
Non-linear encoding and decoding for reliable wireless communication Download PDFInfo
- Publication number
- WO2023283262A1 WO2023283262A1 PCT/US2022/036251 US2022036251W WO2023283262A1 WO 2023283262 A1 WO2023283262 A1 WO 2023283262A1 US 2022036251 W US2022036251 W US 2022036251W WO 2023283262 A1 WO2023283262 A1 WO 2023283262A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vector
- neural network
- information bits
- network processing
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/04—Physical realisation
- G06N7/046—Implementation by means of a neural network
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/136—Reed-Muller [RM] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6597—Implementations using analogue techniques for coding or decoding, e.g. analogue Viterbi decoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/21—Non-linear codes, e.g. m-bit data word to n-bit code word [mBnB] conversion with error detection or error correction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
Definitions
- Physical layer communication underpins the information age (WiFi, cellular, cable and satellite modems).
- Codes composed of encoder and decoder pairs, enable reliable communication: encoder maps original data bits into a longer sequence, and decoders map the received sequence to the original bits. Reliability is precisely measured: bit error rate (BER) measures the fraction of input bits that were incorrectly decoded; block error rate (BLER) measures the fraction of times at least one of the original data bits was incorrectly decoded.
- BER bit error rate
- BLER block error rate
- Landmark codes include Reed-Muller (RM), BCH, Turbo, LDPC and Polar codes (Richardson & Urbanke, 2008): each is a linear code and represents a mathematical breakthrough discovered over a span of six decades. The impact on civilization is huge: each of these codes has been used in global communication standards over the past six decades. These codes essentially operate at the information-theoretic limits of reliability over the additive white Gaussian noise (AWGN) channel, when the number of information bits is large, the so-called “large block length” regime.
- AWGN additive white Gaussian noise
- the state-of-the-art codes are algebraic: encoders and decoders are invented based on specific linear algebraic constructions over the binary and higher order fields and rings. Especially prominent binary algebraic codes are RM codes and closely related polar codes, whose encoders are recursively defined as Kronecker products of a simple linear operator and constitute the state of the art in small-to-medium block length regimes.
- a method of encoding a set of information bits to produce a codeword that encodes the set of information bits for reliable communication is provided.
- the set of information bits is received.
- the set of information bits are provided to a plurality of permutation layers separated by neural network processing layers.
- Each permutation layer accepts an input vector and generates a reordered output vector that is a reordering of the input vector.
- Each neural network processing layer accepts a vector of input values and generates a vector of output values based on a non-linear function of the vector of input values.
- the reordered output vector of a final permutation layer of the plurality of permutation layers is provided as the codeword.
- a method of reliable wireless transmission of a set of information bits is provided.
- a set of information bits to be transmitted is determined and encoded in a codeword using the encoding method described above.
- the codeword is wirelessly transmitted.
- a method of decoding a codeword to retrieve a set of information bits is provided.
- the codeword is received, and is provided to a plurality of permutation layers separated by neural network processing layers.
- Each permutation layer accepts an input vector and generates a reordered output vector that is a reordering of the input vector.
- Each neural network processing layer accepts a vector of input values and generates a vector of output values based on a non-linear function of the vector of input values.
- a plurality of forward calculations and backward calculations are performed using the plurality of permutation layers separated by the neural network processing layers to retrieve the set of information bits.
- a method of reliable wireless reception of a set of information bits is provided.
- the codeword is wirelessly received.
- a set of information bits is decoded from the codeword using the decoding method described above.
- a method of training an encoder and a decoder is provided.
- An encoder is initialized, the encoder comprising a first plurality of first permutation layers separated by first neural network processing layers.
- Each first permutation layer accepts an input vector and generates a reordered output vector that is a reordering of the input vector.
- Each first neural network processing layer accepts a vector of input values and generates a vector of output values based on a non-linear function of the vector of input values.
- a decoder is initialized, the decoder comprising a second plurality of second permutation layers separated by second neural network processing layers.
- Each second permutation layer accepts an input vector and generates a reordered output vector that is a reordering of the input vector.
- Each second neural network processing layer accepts a vector of input values and generates a vector of output values based on a non-linear function of the vector of input values.
- a first number of optimization steps for the decoder are performed using a set of training data.
- a second number of optimization steps for the encoder are performed using the set of training data. The first number of optimization steps for the decoder and the second number of optimization steps for the encoder are repeated until training of the encoder and the decoder is completed.
- a computer-readable medium has computer-executable instructions stored thereon that, in response to execution by one or more processors of a computing device, cause the computing device to perform actions of a method as described above.
- a computing device comprises at least one processor; and a non-transitory computer-readable medium having computer-executable instructions stored thereon.
- the instructions in response to execution by the at least one processor, cause the computing device to perform actions of a method as described above.
- FIG. 1 illustrates the gain for the example of RM(9, 2) code compared to the KO(9, 2) code according to various aspects of the present disclosure.
- FIG. 2A illustrates a Plotkin tree decomposition of an RM(3, 1) encoder.
- FIG. 2B illustrates a Dumer's recursive decoding technique for an RM(3, 1) code.
- FIG. 2C illustrates a non-limiting example embodiment of a Plotkin tree decomposition of a KO(3, 1) encoder according to various aspects of the present disclosure.
- FIG. 2D illustrates a non-limiting example embodiment of a decoder for a KO(3, 1) code according to various aspects of the present disclosure.
- FIG. 3 A is a schematic drawing that illustrates a Plotkin tree for a second order RM(8, 2) encoder
- FIG. 3B is a schematic drawing that illustrates a Plotkin tree for a non-limiting example embodiment of a KO(8, 2) encoder according to various aspects of the present disclosure.
- FIG. 4A is a schematic drawing that illustrates a Plotkin tree for an RM(8, 2) decoder
- FIG. 4B is a schematic drawing that illustrates a Plotkin tree for a non-limiting example embodiment of a KO(8, 2) decoder according to various aspects of the present disclosure.
- FIG. 5 A illustrates a non-limiting example embodiment of a neural network usable in a KO encoder according to various aspects of the present disclosure.
- FIG. 5B illustrates a non-limiting example embodiment of a first neural network usable in a KO decoder
- FIG. 5C illustrates a non-limiting example embodiment of a second neural network usable in a KO decoder according to various aspects of the present disclosure.
- FIG. 6 is a flowchart that illustrates a non-limiting example embodiment of a method of training parameters for the KO(8, 2) encoder and the decoder according to various aspects of the present disclosure.
- FIG. 7 is a chart that illustrates performance of a non-limiting example embodiment of a trained KO(8, 2) code compared to a RM(8, 2) code and a non-limiting example embodiment of a binarized KO-b(8, 2) code.
- FIG. 8 is a chart that illustrates the result of testing a non-limiting example embodiment of a trained KO(8, 2) code compared to an RM(8, 2) code on a Rayleigh fast fading channel.
- FIG. 9 is a chart that illustrates the result of testing a non-limiting example embodiment of a trained KO(8, 2) code compared to an RM(8, 2) code on a bursty channel.
- FIG. 10A and FIG. 10B illustrates the result of testing a non-limiting example embodiment of a first order KO(m, 1) code versus an RM(8, 2) code.
- FIG. 11 A is a Plotkin tree that illustrates a Polar(64, 7) code.
- FIG. 1 IB is a Plotkin tree that illustrates a non-limiting example embodiment of a KO encoder based on the Polar(64, 7) code according to various aspects of the present disclosure.
- FIG. 12 is a chart that compares the performance of a non-limiting example embodiment of the KO code to the Polar (64, 7) code.
- FIG. 13 is a chart that illustrates the BLER performance of the Polar(64, 7) code and a non-limiting example embodiment of the KO code, for the AWGN channel.
- FIG. 14A is a schematic illustration of a non-limiting example embodiment of actions performed by a computing apparatus for encoding a bit sequence to a codeword, according to various aspects of the present disclosure.
- FIG. 14B is a block diagram of a non-limiting example embodiment of the Kronecker block that includes an input for an input bit sequence and an output for outputting a codeword, according to various aspects of the present disclosure.
- FIG. 14C is a schematic diagram that illustrates a non-limiting example embodiment of a Kronecker block according to various aspects of the present disclosure.
- FIG. 15A is a schematic illustration of actions performed by a computing apparatus for mapping a codeword to a sequence of information bits, according to various aspects of the present disclosure.
- FIG. 15B is a schematic illustration of actions performed by a computing apparatus for performing the step t forward block and the step t + 1 backward block as illustrated in FIG. 15A according to various aspects of the present disclosure.
- FIG. 16 is a block diagram that illustrates a non-limiting example embodiment of a computing device appropriate for use as a computing device with embodiments of the present disclosure.
- KO codes new family of codes, called KO codes, that have features of both code families: they are nonlinear generalizations of the Kronecker operation underlying the algebraic codes (RM, Polar) parameterized by neural networks.
- RM algebraic codes
- Polar algebraic codes
- a linear encoder is defined by a generator matrix, which maps information bits to a codeword.
- the RM and the Polar families construct their generator matrices by recursively applying the Kronecker product operation to a simple two-by-two matrix and then selecting rows from the resulting matrix. The careful choice in selecting these rows is driven by the desired algebraic structure of the code, which is central to achieving the large minimum pairwise distance between two codewords, a hallmark of the algebraic family.
- This encoder can be alternatively represented by a computation graph.
- the recursive Kronecker product corresponds to a complete binary tree, and row-selection corresponds to freezing a set of leaves in the tree, which we refer to as a "Plotkin tree,” inspired by the pioneering construction in (Plotkin, 1960).
- the Plotkin tree skeleton allows us to tailor a new neural network architecture: we expand the algebraic family of codes by replacing the (linear) Plotkin construction with a non-linear operation parametrized by neural networks. The parameters are discovered by training the encoder with a matching decoder, that has the matching Plotkin tree as a skeleton, to minimize the error rate over (the unlimited) samples generated on AWGN channels.
- FIG. 1 illustrates the gain for the example of RM(9, 2) code compared to the KO(9, 2) code according to various aspects of the present disclosure.
- both codes are decoded using successive cancellation decoding with similar decoding complexity.
- the present disclosure includes at least the following: We introduce novel neural network architectures for the (encoder, decoder) pair that generalizes the Kronecker operation central to RM/Polar codes. We propose training methods that discover novel non-linear codes when trained over AWGN and provide empirical results showing that this family of non-linear codes improves significantly upon the baseline code it was built on (both RM and Polar codes) whilst having the same encoding and decoding complexity.
- KO code mimics the distribution of codewords from the random Gaussian codebook, which is known to be reliable but computationally challenging to decode.
- the decoding complexities of KO codes are 0(n log //) where n is the block length, matching that of efficient decoders for RM and Polar codes.
- l ⁇ fc denote a block of information/message bits that we want to transmit.
- An encoder is a function parametrized by Q that maps these information bits into a binary vector* of length //, measures how many bits of information we are sending per channel use.
- These codewords are transformed into real (or complex) valued signals, called modulation, before being transmitted over a channel.
- modulation For example, Binary Phase Shift Keying (BPSK) modulation maps each 1 ⁇ t° up to a universal scaling constant for al
- BPSK Binary Phase Shift Keying
- An error metric such as Bit- Error-Rate (BER) or Block-Error-Rate (BLER), gauges the performance of the encoder-decoder pair (g & , Note that BER is defined whereas
- RM codes are a family of codes parametrized by a variable size m and an order denoted as RM(m, r). It is defined by an encoder , which maps binary information bits g
- RM(m, r ) One way to define RM(m, r ) is via the recursive application of a Plotkin construction.
- the basic building block is a mapping
- Plotkin (1960) proposed this scheme in order to combine two codes of smaller code lengths and construct a larger code with the following properties. It is relatively easy to construct a code with either a high rate but a small distance (such as sending the raw information bits directly) or a large distance but a low rate (such as repeating each bit multiple times). Plotkin construction combines such two codes of rates and distances , to design a larger block length code satisfying rate and distance min ⁇ 2i , d v ⁇ . This significantly improves upon a simple time-sharing of those codes, which achieves the same rate but distance only min
- RM codes are recursively defined as a set of codewords of the form: where RM(m, 0) is a repetition code that repeats a single information bit 2 m times, i.e., x — (ml, ml, . . . ml) ⁇
- x — (ml, ml, . . . ml) ⁇
- r — m the full-rate RM(m, m) code is also recursively defined as a Plotkin construction of two RM(m — 1, m — 1) codes.
- an RM(m, r ) encoder can be represented by a corresponding (rooted and binary) computation tree, which we refer to as its Plotkin tree.
- each branch represents a Plotkin mapping of two codes of appropriate lengths, recursively applied from the leaves to the root.
- FIG. 2 A illustrates such a Plotkin tree decomposition of an RM(3, 1) encoder.
- boxes illustrated with dashed lines are leaf nodes of the tree. Encoding starts from the bottom right leaves.
- the leaf RM(1, 0) maps m 3 to (m3, m 3 ) (repetition), and another leave RM(1, 1) maps (mi, m2) to ⁇ 2) (Plotkin mapping of two RM(0, 0) codes.
- Each branch in this tree performs the Plotkin construction of Plotkin(M, v) described above.
- Dumer's recursive decoding (Dumer, 2004; 2006; Dumer & Shabunov, 2006b) that fully capitalizes on the recursive Plotkin construction explained above.
- the basic principle is: to decode an RM codeword c ⁇ recursively decode the left sub codeword and then the right sub codeword ar
- MAP maximum a posteriori
- Dumer's recursive decoding is also referred to as successive cancellation decoding in the context of polar codes (Arikan, 2009).
- FIG. 2B illustrates this decoding procedure for RM(3, 1).
- Dumer's decoding starts at the root and uses the soft-information of codewords to decode the message bits.
- the message bits are encoded into an RM(3, 1) codeword using the Plotkin encoder in FIG. 2 A. be the corresponding noisy codeword received at the decoder.
- To decode the bits m we first obtain the soft-information of the codewords, i.e., we compute its Log-Likelihood-Ratio
- the codeword we can also represent its left child H ence its LLR vector j can be readily obtained from that of x. In particular it is given by the log-sum-exponential transformation w here Since this feature L v corresponds to a repetition code, v — m 4 , m 4 , m 4 ), majority decoding (same as the MAP) on the sign of yields the decoded message bit as Finally, the left codeword is decoded [0070] Having decoded the left RM(2, 0) codeword v, our goal is to now obtain soft- information notice that the codeword x — (u, u F v) can be viewed as a 2-repetition of u depending on the parity of v .
- KO codes are parametrized by a set of four parameters: a non negative integer pair ( m , r), a finite set of encoder neural networks ge, and a finite set of decoder neural networks .
- m non negative integer pair
- r finite set of encoder neural networks ge
- decoder neural networks a finite set of decoder neural networks .
- our KO encoder inherits the same code parameters ( k , //, p) and the same Plotkin tree skeleton of the RM encoder.
- a critical distinguishing component of the KO(m, r ) encoder disclosed herein is a set of encoding neural networks g 0 ⁇ that strictly generalize the Plotkin mapping: to each internal node i of the Plotkin tree, we associate a neural network g that applies a coordinate-wise real valued non-linear mapping ⁇ u as opposed to the classical binary valued Plotkin mapping
- FIG. 2C illustrates this for the KO(3, 1) encoder.
- the present disclosure also provides an efficient family of decoders to match the KO encoder described above.
- Our KO decoder has at least three distinct features:
- Neural decoder The KO decoder architecture is parametrized by a set of decoding neural networks fn) ⁇ ⁇ Specifically, to each internal node i in the tree, we associate to its left branch whereas fn corresponds to the right branch.
- FIG. 2D illustrates this for the KO(3, 1) decoder.
- the pair of decoding neural networks can be viewed as matching decoders for the corresponding encoding network While g encodes the left and right codewords arriving at this node, the outputs of represent appropriate Euclidean feature vectors for decoding them.
- f can also be viewed as a generalization of Dumer’s decoding to nonlinear real codewords generalizes the LSE function, while fu extends the operation Note that both the functions fii-i and fu are also applied coordinate-wise and hence we inherit the same decoding complexity as Dumer’s.
- Soft-MAP decoding Since the classical MAP decoding to decode the bits at the leaves is not differentiable, we design a new differentiable counterpart, the Soft-MAP decoder. Soft-MAP decoder enables gradients to pass through it, which is crucial for training the neural (encoder, decoder) pair ( ge,f ⁇ i> ) in an end-to-end manner.
- FIG. 3 A is a schematic drawing that illustrates a Plotkin tree for a second order RM(8, 2) encoder
- FIG. 3B is a schematic drawing that illustrates a Plotkin tree for a non-limiting example embodiment of a KO(8, 2) encoder according to various aspects of the present disclosure.
- boxes with a dashed border are leaves of the tree.
- the KO(8, 2) encoder (FIG. 3B) inherits the same Plotkin tree structure as that of the second order RM(8, 2) code (FIG. 3 A), and thus RM codes of first order and the second order RM(2, 2) code constitute the leaves of this tree.
- a distinguishing component of the KO(8, 2) encoder is a set of encoding neural networks g & — 5 . g 6
- FIG. 4A is a schematic drawing that illustrates a Plotkin tree for an RM(8, 2) decoder
- FIG. 4B is a schematic drawing that illustrates a Plotkin tree for a non-limiting example embodiment of a KO(8, 2) decoder according to various aspects of the present disclosure.
- the KO(8, 2) decoder decodes the message bits from top to bottom, similar in style to Dumer’s decoding discussed above. More specifically, at any internal node of the tree we first decode the message bits along its left branch, which we utilize to decode that of the right branch and this procedure is carried out recursively till all the bits are recovered. At the leaves, we use the Soft-MAP decoder to decode the bits.
- the pair of decoding neural networks (/ 2i 1, 2j ) can viewed as matching decoders for the corresponding encoding network gr. While gi encodes the left and right codewords arriving at this node, the outputs of i represent appropriate can also be viewed as a generalization of Dumer’s decoding to nonlinear real codewords: 2i ⁇ generalizes the LSE function, while f i extends the operation ®t.
- L(7, 1) Soft- MAP(/i (3/1:128 ? 2/I29:25G)) ⁇
- the message bits »i (7, i) can be hard decoded directly from the sign of L (i , i >. Instead here we use their soft version via the sigmoid function s( ⁇ ), i.e., .
- s( ⁇ ) i.e., .
- the next step is to obtain the feature vector for the right child. This is done using the right decoder fi, i.e., Utilizing this right feature y u the decoding procedure is thus recursively carried out until we compute the LLRs for all the remaining message bits ⁇ c the leaves. Finally, we obtain the full LLR vector corresponding to the message bits m. A simple sigmoid transformation, s ( further yields the probability of each of these message bits being zero,
- the decoding map is fully differentiable with respect to ⁇ j>, which further ensures a differentiable loss for training the parameters ( Q , ⁇ j>).
- Dumer's decoder for second-order RM codes RM(m, 2) performs MAP decoding at the leaves.
- the KO decoder disclosed herein applies Soft-MAP decoding at the leaves.
- the leaves of both RM(m, 2) and KO (m, 2) codes are comprised of order-one RM codes and the RM(2, 2) code.
- the MAP decoder picks a codeword c* according to the following rule, from (Abbe et ah, 2020): where denotes the inner-product of two vectors. Obviously, the MAP decoder needs to search over all 2 k codewords while each time computing the inner-product of two length- ⁇ vectors.
- the MAP decoder has a complexity of 0
- a naive implementation of the MAP rule for RM(m, 1) codes, that have codewords, requires 0 ⁇ n 2 ) complexity.
- FHT fast Hadamard transform
- the FHT implementation is that the standard n Xn Hadamard matrix H contains half of the 2n codewords of an RM(m, 1) code (in ⁇ 1), and the other half are just -H. Therefore, FHT of the vector /, denoted by /WH, lists half of the 2n inner-products in the equation above, and the other half are obtained as -/WH. Therefore, the FHT version of the MAP decoder for first- order RM codes can be obtained as: where l WH (i) is the z-th element of the vector /WH, and h is the z-th row of the matrix H.
- this FHT version of the MAP decoder for the first-order RM codes has a complexity of 0(n log ri).
- the MAP decoder and its FHT version involve an argmax(-) operation, which is not differentiable.
- Soft-MAP decoder the soft-decision version of the MAP decoder, referred to as Soft-MAP decoder, to come up with differentiable decoding at the leaves.
- the Soft-MAP decoder obtains the soft LLRs instead of hard decoding of the codes at the leaves.
- the (encoder, decoder) neural networks may be designed to generalize and build upon the classical pairing of (Plotkin map, Dumer's decoder).
- the KO encoder g» is parameterized as where i s a fully connected neural network.
- FIG. 5 A A non-limiting example embodiment of the neural network for is illustrated in FIG. 5 A.
- the KO decoder may be parametrized cted neural networks.
- FIG. 5B The architecture of is illustrated in FIG. 5B, and the architecture of f is illustrated in
- FIG. 5C is a diagrammatic representation of FIG. 5C.
- RM(8, 2) at the beginning of training which acts as an appropriate initialization for the training technique described below.
- the architecture of the decoder includes a total number of parameters in each decoder neural block that is 69 x 32.
- a simpler decoder may be used by replacing all neural blocks with a smaller neural network with 1 hidden layer of 4 nodes.
- This decoder neural block has 20 parameters, obtaining a factor of 110 compression in the number of parameters.
- the computational complexity of this compressed decoder which we refer to as TinyKO, is within a factor of 4 from Dumer's successive cancellation decoder.
- Each neural network component has two matrix multiplication steps and one activation function on a vector, which can be fully parallelized on a GPU. With the GPU parallelization, TinyKO has the same time complexity/latency as Dumer's SC decoding.
- the following table shows that there is almost no loss in reliability for the compressed KO(8, 2) encoder and decoder in this manner. Training a smaller neural network takes about twice as many iterations as the larger one, although each iteration is faster for the smaller network.
- FIG. 6 is a flowchart that illustrates a non-limiting example embodiment of a method of training parameters for the KO(8, 2) encoder and the decoder according to various aspects of the present disclosure.
- the technique illustrated in FIG. 6 is executed on the loss f ) to train the parameters via gradient descent using, e.g., the Adam optimizer.
- Any suitable values may be used for the constants in the technique illustrated in FIG. 6.
- pairwise distances are expressed in terms of the weight distribution of the code, which counts how many codewords of each specific Hamming weight 1, 2, . . . , n exist in the code.
- the weight distribution of linear codes are used to derive analytical bounds, that can be explicitly computed, on the BER and BLER over AWGN channels (Sason & Shamai, 2006).
- the weight distribution does not capture pairwise distances. Therefore, we explore the distribution of all the pairwise distances of non-linear KO codes that can play the same role as the weight distribution does for linear codes.
- Gaussian codebooks codebooks randomly picked from the ensemble of all Gaussian codebooks, are known to be asymptotically optimal, i.e., achieving the capacity (Shannon, 1948), and also demonstrate optimal finite- length scaling laws closely related to the pairwise distance distribution (Polyanskiy et ah, 2010).
- the pairwise distance distribution of KO code shows a staggering resemblance to that of the Gaussian codebook of the same rate p and blocklength n. This is an unexpected phenomenon since we minimize only BER.
- KO codes constructed via NN training are fully compatible with efficient decoding. This phenomenon is observed for all order-2 codes we trained.
- FIG. 4A and FIG. 4B Plotkin trees of RM(8, 2) and KO(8, 2) are provided in FIG. 4A and FIG. 4B, respectively.
- KO(8, 2) decoder similar to the KO(3, 1) decoder, we decode each sub-code in the leaves sequentially, starting from the (7, 1) branch down to (2, 2): decoding order, BLER ⁇ defined as P can he decomposed as:
- BLER can also be represented as the sum of the fraction of errors the decoder makes in each of the leaf branches when no errors were made in the previous ones.
- each term in the equation above can be viewed as the contribution of each sub code to the total BLER.
- the KO(8, 2) decoder achieves better BLER than the RM(8, 2) decoder by making major gains in the leftmost (7, 1) branch (which is decoded first) at the expense of other branches.
- the decoder (together with the encoder) has learnt to better balance these contributions evenly across all branches, resulting in lower BLER overall.
- p 0.1 and s ....
- KO(8, 2) was robust when tested on the bursty channel and maintains a significant gain over RM(8, 2).
- FIG. 10A and FIG. 10B illustrate these results.
- FIG. 10A highlights that KO(6, 1) obtains significant gain over RM(6, 1) code (with Dumer decoder) when both the neural encoder and decoder are trained jointly.
- FIG. 10B we notice that we match the performance of that of the RM(6, 1) code (with the MAP decoder) when we just train the encoder ge (with the MAP decoder).
- KO(6, 1) and RM(6, 1) codes behave the same.
- the only caveat for KO(6, 1) in the second setting is that its MAP decoding complexity is 0(n 2 ) while that of the RM is 0(n log n).
- Polar and RM codes are closely related, especially from an encoding point of view.
- the Polar encoder picks the rows of Gn n that corresond to the most reliable bit-channels (Arikan, 2009).
- the recursive Kronecker structure inherent to the parent matrix Gn x n can also be represented by a computation graph: a complete binary tree.
- the corresponding computation tree for a Polar code is obtained by freezing a set of leaves (row- selection).
- This encoding computation graph of a Polar code is its Plotkin tree.
- This Plotkin tree structure of Polar codes enables a matching efficient decoder: the successive cancellation (SC).
- SC decoding algorithm is similar to Dinner’s decoding for RM codes.
- Polar codes can be completely characterized by their corresponding Plotkin trees. Successive cancellation decoding can be significantly improved further by list decoding.
- List decoding allows one to gracefully tradeoff computational complexity and reliability by maintaining a list (of a fixed size) of candidate codewords during the decoding process.
- the KO(8, 2) code with list decoding enjoys a significant gain over the non-list counterpart.
- the Plotkin tree for a Polar code is obtained by freezing a set of leaves in a complete binary tree. These frozen leaves are chosen according to the reliabilities, or equivalently, error probabilities, of their corresponding bit channels. In other words, we first approximate the error probabilities of all the n- bit channels and pick the k- smallest of them using the procedure described in (Tal & Vardy, 2013). These k active set of leaves correspond to the transmitted message bits, whereas the remaining n - k frozen leaves always transmit zero.
- FIG. 1 IB illustrates the Plotkin tree of this KO encoder.
- the KO decoder fy is designed similarly.
- the KO encoder and decoder can be trained in an end-to-end manner using variants of stochastic gradient descent as illustrated in FIG. 6.
- FIG. 12 highlights that our KO code achieves significant gains over Polar(64, 7) on a wide range of SNRs. In particular, we obtain a gain of almost 0.7 dB compared to that of Polar at the BER KG 4 .
- For comparison we also plot the performance of both codes with the optimal MAP decoding. We observe that the BER curve of our KO decoder, unlike the SC decoder, almost matches that of the MAP decoder, convincingly demonstrating its optimality.
- FIG. 13 is a chart that illustrates the BLER performance of the Polar(64, 7) code and its corresponding KO code, for the AWGN channel. Similar to the BER performance illustrated in FIG. 12, the KO code is able to significantly improve the BLER performance. For example, a gain of around 0.5 dB is achieved when the KO encoder is combined with the MAP decoding. Additionally, the close performance of the KO decoder to that of the MAP decoder confirms its optimality. This successful case study with training KO (encoder, decoder) pairs further demonstrates that the novel neural architectures disclosed herein seamlessly generalize to codes with an underlying Kronecker product structure.
- FIG. 14A - FIG. 14C illustrate aspects of a non-limiting example embodiment of an encoder capable of encoding KO codes as described above, according to various aspects of the present disclosure.
- FIG. 14A is a schematic illustration of actions performed by a computing apparatus for encoding a bit sequence to a codeword, according to various aspects of the present disclosure. The actions include a zero-appending block, a permutation block, and a Kronecker block.
- the zero-append block includes an input for a sequence of bits and an output for outputting a bit sequence.
- the code may include codeword blocklength //, code rate r, and information blocklength k.
- Information bit sequence is a binary sequence of length k.
- Zero-append block appends n - k zeros to the information bit sequence to output a bit sequence of length n.
- the codeword blocklength may be 8 and information bit length may be 5. Append zero may append 3 bits of zero value to the length 5 information bits.
- the permutation block includes an input for a sequence of bits and an output for outputting a bit sequence.
- a permutation p for an n dimensional binary vector is chosen and applied to the input bit sequence of length n to output a permuted bit sequence of length n.
- FIG. 14B is a block diagram of the Kronecker block that includes an input for an input bit sequence and an output for outputting a codeword.
- the input bit sequence comprises information bits in their permuted positions according to the permutation block. The rest of the input bit sequence are called frozen and have value of zero.
- the Kronecker block includes a sequence of alternating neural network blocks and rearrange blocks.
- a neural network layer takes input of a real valued vector and outputs a non-linear function of the input as a real valued vector.
- a rearrange layer takes input of a real values vector and outputs a rearrangement of the input vector as an output vector.
- neural network layer 1 may be 3 layer fully connected neural networks with ReLU activation, an input size of 8, hidden layers with a width of 30, and an output layer of size 8.
- different permutations, different sizes of layers, different numbers of layers, different activation functions, and different sizes of inputs and/or outputs may be used.
- FIG. 14C is a schematic diagram that illustrates a non-limiting example embodiment of a Kronecker block according to various aspects of the present disclosure.
- the Kronecker block may take as input a binary sequence 6 5 , 0, 0, 6 2 , 3 ⁇ 4] wher e [b i , b 2 , 6 3 , 6 4 , 6 5 ] are information bits of length 5 and the zeros are frozen bits.
- the mapping may be (hu).
- a neural network layer 2 may be 4 parallel neural networks sharing the same weights denoted by fi., taking input and apping may
- a rearrangement layer 2 may be a mapping from hi to where
- a neural network 3 layer may be 4 parallel neural networks sharing the same weights denoted by b , taking j as input, and The mapping may )) ⁇
- a rearrangement layer 3 may be a mapping from to the codeword x, where [0132] FIG. 15A and FIG. 15B illustrate a non-limiting example embodiment of a decoder capable of decoding KO codes as described above, according to various aspects of the present disclosure.
- FIG. 15A is a schematic illustration of actions performed by a computing apparatus for mapping a codeword to a sequence of information bits, according to various aspects of the present disclosure.
- a sequence of operations are performed over n steps that maps an n- dimensional codeword to a ⁇ -dimensional information bit sequence.
- Decoding first performs the first step of forward block, and then alternates k - 1 times between backward blocks and forward blocks. Each forward block produces a decoded information bit starting from the first bit bi until the last bit bk.
- FIG. 15B is a schematic illustration of actions performed by a computing apparatus for performing the step t forward block and the step t + 1 backward block as illustrated in FIG. 15A according to various aspects of the present disclosure.
- Step t forward block applies m alternating layers of rearrange operations and neural network operations.
- Rearrange operation applies a pre-determined permutation of the coordinates to «-dimensional vectors and the permutation is kept the same across different steps, but the permutation is different across the layers.
- Neural network layer applies a neural network to a mensional input and outputs an dimensional vector.
- Rearrange f-layer 1 takes an n dimensional vector c and outputs a ⁇ s/-dimensional vector ; after applying a permutation of the coordinates.
- Neural network step layer 1 takes in from the rearrange f-layer 1 m! ‘ from the previous step t backward block and outputs an //-dimensional vector
- rearrange f-layer g perfonns a permutation t 0 the j input and outputs
- neural network step t f-layer takes as input rom the rearrange f-layer g and from the previous step t backward block and outputs an //-dimensional vector
- the final layer m outputs an //-dimensional vector which is the likelihood of the k information bits.
- the sign of the likelihood of the /-th information bit is the output ( s the coordinate of the t- th information bit.
- ackward block applies m alternating layers of neural network operations and rearrange operations.
- Rearrange operation applies a pre-determined permutation of the coordinates to vectors and the permutation is kept the same across different steps, but the permutation is different across the layers.
- Neural network layer applies a neural network to a dimensional input and outputs an n dimensional vector.
- the first neural network step -layer 1 takes as input the likelihood of information bits om the step t forward block and outputs an //-dimensional vector
- Rearrange b-layer 1 applies a permutation to the coordinates of f and outputs a permuted version ] T Subsequent rearrange and neural network layers are alternatively applied until the neural network step b-layer m outputs . This is permuted by the rearrange b-laye to output the likelihood of the codeword ⁇ y [0139]
- x . . . ? 3 ⁇ 4g j is the codeword
- m 3
- all the neural network layers are fully connected 4 parallel neural networks, each taking a 4 dimensional input and outputting a 2 dimensional output except for the step 1 forward block where all neural networks take 2 dimensional inputs.
- other values for m , other widths of codewords, other dimensions of inputs and/or outputs for the neural networks, and so on may be used.
- FIG. 16 is a block diagram that illustrates aspects of an exemplary computing device 1600 appropriate for use as a computing device of the present disclosure. While multiple different types of computing devices were discussed above, the exemplary computing device 1600 describes various elements that are common to many different types of computing devices. While FIG. 16 is described with reference to a computing device that is implemented as a device on a network, the description below is applicable to servers, personal computers, mobile phones, smart phones, tablet computers, embedded computing devices, and other devices that may be used to implement portions of embodiments of the present disclosure. Some embodiments of a computing device may be implemented in or may include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other customized device. Moreover, those of ordinary skill in the art and others will recognize that the computing device 1600 may be any one of any number of currently available or yet to be developed devices.
- ASIC application-specific integrated circuit
- FPGA field-programmable gate array
- the computing device 1600 includes at least one processor 1602 and a system memory 1610 connected by a communication bus 1608.
- the system memory 1610 may be volatile or nonvolatile memory, such as read only memory (“ROM”), random access memory (“RAM”), EEPROM, flash memory, or similar memory technology.
- ROM read only memory
- RAM random access memory
- EEPROM electrically erasable programmable read-only memory
- flash memory or similar memory technology.
- system memory 1610 typically stores data and/or program modules that are immediately accessible to and/or currently being operated on by the processor 1602.
- the processor 1602 may serve as a computational center of the computing device 1600 by supporting the execution of instructions.
- the computing device 1600 may include a network interface 1606 comprising one or more components for communicating with other devices over a network. Embodiments of the present disclosure may access basic services that utilize the network interface 1606 to perform communications using common network protocols.
- the network interface 1606 may also include a wireless network interface configured to communicate via one or more wireless communication protocols, such as Wi Fi, 2G, 3G, LTE, WiMAX, Bluetooth, Bluetooth low energy, and/or the like.
- the network interface 1606 illustrated in FIG. 16 may represent one or more wireless interfaces or physical communication interfaces described and illustrated above with respect to particular components of the computing device 1600.
- the computing device 1600 also includes a storage medium 1604.
- services may be accessed using a computing device that does not include means for persisting data to a local storage medium. Therefore, the storage medium 1604 depicted in FIG. 16 is represented with a dashed line to indicate that the storage medium 1604 is optional.
- the storage medium 1604 may be volatile or nonvolatile, removable or nonremovable, implemented using any technology capable of storing information such as, but not limited to, a hard drive, solid state drive, CD ROM, DVD, or other disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, and/or the like.
- FIG. 16 does not show some of the typical components of many computing devices.
- the computing device 1600 may include input devices, such as a keyboard, keypad, mouse, microphone, touch input device, touch screen, tablet, and/or the like. Such input devices may be coupled to the computing device 1600 by wired or wireless connections including RF, infrared, serial, parallel, Bluetooth, Bluetooth low energy, USB, or other suitable connections protocols using wireless or physical connections.
- the computing device 1600 may also include output devices such as a display, speakers, printer, etc. Since these devices are well known in the art, they are not illustrated or described further herein.
- Example 1 A method of encoding a set of information bits to produce a codeword that encodes the set of information bits for reliable communication, the method comprising: receiving the set of information bits; providing the set of information bits to a plurality of permutation layers separated by neural network processing layers, wherein each permutation layer accepts an input vector and generates a reordered output vector that is a reordering of the input vector, and wherein each neural network processing layer accepts a vector of input values and generates a vector of output values based on a non-linear function of the vector of input values; and providing the reordered output vector of a final permutation layer of the plurality of permutation layers as the codeword.
- Example 2 The method of Example 1, wherein each neural network processing layer includes a single neural network that accepts an entirety of the vector of input values.
- Example 3 The method of any one of Example 1, wherein each neural network processing layer includes a plurality of neural networks that each accepts a subset of the vector of input values.
- Example 4 The method of Example 3, wherein for a given neural network processing layer, weights of each neural network in the plurality of neural networks are the same.
- Example 5 The method of any one of Examples 3-4, wherein each neural network of the plurality of neural networks accepts a pair of input values from the vector of input values as input.
- Example 6 The method of any one of Examples 1-5, wherein at least one neural network processing layer of the neural network processing layers uses SeLU activation.
- Example 7 The method of any one of Examples 1-6, further comprising adding one or more zero values to pad the set of information bits to a size expected by the plurality of permutation layers and the plurality of neural network layers.
- Example 8 The method of any one of Examples 1-7, wherein the codeword is a real valued vector.
- Example 9 A method of decoding a codeword to retrieve a set of information bits, the method comprising: receiving the codeword; providing the codeword to a plurality of permutation layers separated by neural network processing layers, wherein each permutation layer accepts an input vector and generates a reordered output vector that is a reordering of the input vector, and wherein each neural network processing layer accepts a vector of input values and generates a vector of output values based on a non-linear function of the vector of input values; and performing a plurality of forward calculations and backward calculations using the plurality of permutation layers separated by the neural network processing layers to retrieve the set of information bits.
- Example 10 The method of Example 9, wherein performing the plurality of forward calculations and backward calculations using the plurality of permutation layers separated by the neural network processing layers to retrieve the set of information bits includes: performing a forward calculation; extracting an information bit of the set of information bits from a result of the forward calculation; performing a backward calculation; and repeating at least the forward calculation to extract each information bit of the set of information bits.
- Example 11 The method of Example 9, wherein performing the plurality of forward calculations and backward calculations using the plurality of permutation layers separated by the neural network processing layers to retrieve the set of information bits includes: performing the plurality of forward calculations and backward calculations; and extracting the set of information bits from a result of the plurality of forward calculations and backward calculations.
- Example 12 The method of any one of Examples 9-11, wherein each neural network processing layer includes a single neural network that accepts an entirety of the vector of input values.
- Example 13 The method of any one of Examples 9-11, wherein each neural network processing layer includes a plurality of neural networks that each accepts a subset of the vector of input values.
- Example 14 The method of Example 13, wherein for a given neural network processing layer, weights of each neural network in the plurality of neural networks are the same.
- Example 15 The method of any one of Examples 13-14, wherein each neural network of the plurality of neural networks accepts a pair of input values from the vector of input values as input.
- Example 16 The method of any one of Examples 9-15, wherein at least one neural network processing layer of the neural network processing layers uses SeLU activation.
- Example 17 The method of any one of Examples 9-17, further comprising removing one or more zero values from an output of the plurality of permutation layers separated by the neural network processing layers to retrieve the set of information bits.
- Example 18 The method of any one of Examples 9-17, wherein the codeword is a real-valued vector.
- Example 19 A method of reliable wireless transmission of a set of information bits, the method comprising: determining a set of information bits to be transmitted; encoding the set of information bits in a codeword; and wirelessly transmitting the codeword; wherein encoding the set of information bits in a codeword comprises a method as recited in any one of Example 1 to Example 8.
- Example 20 A method of reliable wireless reception of a set of information bits, the method comprising: wirelessly receiving a codeword; and decoding a set of information bits from the codeword; wherein decoding the set of information bits from the codeword comprises a method as recited in any one of Example 9 to Example 18.
- Example 21 A non-transitory computer-readable medium having computer- executable instructions stored thereon that, in response to execution by one or more processors of a computing device, cause the computing device to perform actions as recited in any one of Examples 1 to 20.
- Example 22 A computing device, comprising: at least one processor; and a non- transitory computer-readable medium having computer-executable instructions stored thereon that, in response to execution by the at least one processor, cause the computing device to perform actions as recited in any one of Examples 1 to 20.
- Example 23 A method of training an encoder and a decoder, the method comprising: initializing an encoder comprising a first plurality of first permutation layers separated by first neural network processing layers, wherein each first permutation layer accepts an input vector and generates a reordered output vector that is a reordering of the input vector, and wherein each first neural network processing layer accepts a vector of input values and generates a vector of output values based on a non-linear function of the vector of input values; initializing a decoder comprising a second plurality of second permutation layers separated by second neural network processing layers, wherein each second permutation layer accepts an input vector and generates a reordered output vector that is a reordering of the input vector, and wherein each second neural network processing layer accepts a vector of input values and generates a vector of output values based on a non-linear function of the vector of input values; performing a first number of optimization steps for the decoder using a set
- Example 24 The method of Example 23, wherein the first number of optimization steps is greater than the second number of optimization steps.
- Example 25 The method of any one of Examples 23-24, wherein each second permutation layer performs an opposite reordering to a corresponding first permutation layer.
- Example 26 The method of any one of Examples 23-25, wherein initializing the encoder and the decoder includes randomly assigning weights for each first neural network processing layer and each second neural network processing layer.
- Example 27 The method of any one of Examples 23-26, further comprising generating the set of training data by: generating a plurality of sets of source information bits; and applying a noise generator to each set of source information bits to generate a corresponding plurality of sets of noisy information bits; wherein the plurality of sets of source information bits are used as training input for the encoder and ground truth results for the decoder; and wherein the corresponding plurality of sets of noisy information bits are used as training input for the decoder.
- Example 28 The method of any one of Examples 23-27, wherein performing at least one of the first number of optimization steps for the decoder and the second number of optimization steps for the encoder includes using stochastic gradient descent.
- Example 29 The method of Example 28, wherein performing stochastic gradient descent includes using an Adam optimization technique.
- Example 30 A non-transitory computer-readable medium having computer- executable instructions stored thereon that, in response to execution by one or more processors of a computing device, cause the computing device to perform actions as recited in any one of Examples 23 to 29.
- Example 31 A computing device, comprising: at least one processor; and anon- transitory computer-readable medium having computer-executable instructions stored thereon that, in response to execution by the at least one processor , cause the computing device to perform actions as recited in any one of Examples 23 to 29.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Fuzzy Systems (AREA)
- Nonlinear Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/577,217 US12417374B2 (en) | 2021-07-07 | 2022-07-06 | Non-linear encoding and decoding for reliable wireless communication |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163219264P | 2021-07-07 | 2021-07-07 | |
| US63/219,264 | 2021-07-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023283262A1 true WO2023283262A1 (en) | 2023-01-12 |
Family
ID=84802009
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2022/036251 Ceased WO2023283262A1 (en) | 2021-07-07 | 2022-07-06 | Non-linear encoding and decoding for reliable wireless communication |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12417374B2 (en) |
| WO (1) | WO2023283262A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100077282A1 (en) * | 2002-05-31 | 2010-03-25 | Broadcom Corporation | True bit level decoding of TTCM (Turbo Trellis Coded Modulation) of variable rates and signal constellations |
| US20120185757A1 (en) * | 2011-01-18 | 2012-07-19 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving data in communication/broadcasting system |
| US10970441B1 (en) * | 2018-02-26 | 2021-04-06 | Washington University | System and method using neural networks for analog-to-information processors |
| US20210111936A1 (en) * | 2019-10-11 | 2021-04-15 | University Of South Carolina | Method for non-linear distortion immune end-to-end learning with autoencoder - ofdm |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6956891B2 (en) | 2000-11-15 | 2005-10-18 | Go-Cdma Limited | Method and apparatus for non-linear code-division multiple access technology |
| US20020090024A1 (en) | 2000-11-15 | 2002-07-11 | Tan Keng Tiong | Method and apparatus for non-linear code-division multiple access technology |
| US8347186B1 (en) | 2012-04-19 | 2013-01-01 | Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi | Method and system for error correction in transmitting data using low complexity systematic encoder |
| JP6047743B2 (en) | 2013-01-15 | 2016-12-21 | 株式会社国際電気通信基礎技術研究所 | Wireless communication system, wireless communication apparatus, and wireless communication method |
| US9755719B2 (en) | 2014-06-12 | 2017-09-05 | Lg Electronics Inc. | Method for configuring codebook in multi-antenna wireless communication system and device therefor |
| US9846836B2 (en) * | 2014-06-13 | 2017-12-19 | Microsoft Technology Licensing, Llc | Modeling interestingness with deep neural networks |
| CN104410593B (en) | 2014-12-04 | 2017-06-30 | 西北工业大学 | Numerical chracter nonlinearity erron amendment equalization methods based on decision-feedback model |
| CN105207749A (en) | 2015-10-10 | 2015-12-30 | 赣南师范学院 | Nonlinear transformation method for decreasing random mapping code peak-to-average ratio |
| US20180174042A1 (en) | 2016-12-20 | 2018-06-21 | Intel Corporation | Supervised training and pattern matching techniques for neural networks |
| US10735141B2 (en) | 2018-12-21 | 2020-08-04 | Huawei Technologies Co., Ltd. | System and a method for error correction coding using a deep neural network |
| CN110335217A (en) | 2019-07-10 | 2019-10-15 | 东北大学 | One kind being based on the decoded medical image denoising method of 3D residual coding |
| WO2021018402A1 (en) | 2019-08-01 | 2021-02-04 | Huawei Technologies Co., Ltd. | Adaptive kronecker product mimo precoding for a multi-antenna network entity and a wireless communication device and corresponding methods |
| CN112769858B (en) | 2021-01-22 | 2022-05-20 | 西安交通大学 | Quantum learning-based safe non-random superposition coding method in wireless communication |
| CN113037726B (en) | 2021-02-26 | 2021-10-26 | 南通大学 | Radio frequency fingerprint authentication method of broadband communication equipment based on Kronecker product parameter separation |
| CN113067672A (en) | 2021-03-17 | 2021-07-02 | 东南大学 | A low-complexity receiving method for non-orthogonal multiple access mobile communication |
| US20220343152A1 (en) * | 2021-04-23 | 2022-10-27 | Google Llc | Energy based processes for exchangeable data |
| CN119631330A (en) * | 2022-07-26 | 2025-03-14 | Oppo广东移动通信有限公司 | Channel state information CSI feedback method, terminal device and network device |
-
2022
- 2022-07-06 WO PCT/US2022/036251 patent/WO2023283262A1/en not_active Ceased
- 2022-07-06 US US18/577,217 patent/US12417374B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100077282A1 (en) * | 2002-05-31 | 2010-03-25 | Broadcom Corporation | True bit level decoding of TTCM (Turbo Trellis Coded Modulation) of variable rates and signal constellations |
| US20120185757A1 (en) * | 2011-01-18 | 2012-07-19 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving data in communication/broadcasting system |
| US10970441B1 (en) * | 2018-02-26 | 2021-04-06 | Washington University | System and method using neural networks for analog-to-information processors |
| US20210111936A1 (en) * | 2019-10-11 | 2021-04-15 | University Of South Carolina | Method for non-linear distortion immune end-to-end learning with autoencoder - ofdm |
Non-Patent Citations (1)
| Title |
|---|
| MAO-CHING CHIU: "Interleaved Polar (I-Polar) Codes", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 2 August 2019 (2019-08-02), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081454260 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250105859A1 (en) | 2025-03-27 |
| US12417374B2 (en) | 2025-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Makkuva et al. | Ko codes: inventing nonlinear encoding and decoding for reliable wireless communication via deep-learning | |
| CN110582786B (en) | Magic state purification with low space overhead and asymptotic input counting | |
| US9256578B2 (en) | Method and apparatus for measuring and recovering sparse signals | |
| RU2603280C1 (en) | Systems and methods for multiple access with sparse code | |
| Scheibler et al. | A fast Hadamard transform for signals with sublinear sparsity in the transform domain | |
| Pawar et al. | FFAST: An Algorithm for Computing an Exactly $ k $-Sparse DFT in $ O (k\log k) $ Time | |
| RU2760317C2 (en) | Method and device for polar encoding | |
| US9887805B2 (en) | Device, system and method for efficient coset decoder by transform | |
| WO2018234053A1 (en) | HYBRID ARCHITECTURES FOR PROCESSING EXTENDED MIN-SUM DECODING CONTROL (EMS) NODES OF NON-BINARY LDPC CODES | |
| No et al. | Rateless lossy compression via the extremes | |
| CN109075805A (en) | Realize the device and method of polarization code | |
| Pfister et al. | Belief propagation for classical and quantum systems: Overview and recent results | |
| Chandar | Sparse graph codes for compression, sensing, and secrecy | |
| EP4066388A1 (en) | Device and method for encoding or decoding messages by means of a polar code | |
| US12417374B2 (en) | Non-linear encoding and decoding for reliable wireless communication | |
| US11736124B2 (en) | System and method for decoding Reed-Muller codes | |
| Bollauf et al. | On Gaussian sampling for q-ary lattices and linear codes with Lee weight | |
| Wang et al. | Codes for the asymmetric Damerau–Levenshtein distance | |
| Piveteau et al. | Efficient and optimal quantum state discrimination via quantum belief propagation | |
| Arvinte et al. | Deep log-likelihood ratio quantization | |
| Liu et al. | LP-decodable multipermutation codes | |
| Rameshwar et al. | Estimating the sizes of binary error-correcting constrained codes | |
| Aldroubi et al. | Sequential adaptive compressed sampling via huffman codes | |
| CN106411325B (en) | Alternate direction multiplier decoding method for LDPC codes based on look-up table method | |
| CN119496516B (en) | Dynamic coding construction and low-complexity coding method and device for error correction and encryption fusion |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22838350 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18577217 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22838350 Country of ref document: EP Kind code of ref document: A1 |
|
| WWP | Wipo information: published in national office |
Ref document number: 18577217 Country of ref document: US |
|
| WWG | Wipo information: grant in national office |
Ref document number: 18577217 Country of ref document: US |



























