WO2018021926A1 - Decoding of polar codes and polar subcodes - Google Patents

Decoding of polar codes and polar subcodes Download PDF

Info

Publication number
WO2018021926A1
WO2018021926A1 PCT/RU2016/000489 RU2016000489W WO2018021926A1 WO 2018021926 A1 WO2018021926 A1 WO 2018021926A1 RU 2016000489 W RU2016000489 W RU 2016000489W WO 2018021926 A1 WO2018021926 A1 WO 2018021926A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
path
denotes
decoding
decoding apparatus
Prior art date
Application number
PCT/RU2016/000489
Other languages
French (fr)
Other versions
WO2018021926A8 (en
Inventor
Oleg Featevich KURMAEV
Alexey Mikhailovich RAZINKIN
Vasily Stanislavovich USATYUK
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to PCT/RU2016/000489 priority Critical patent/WO2018021926A1/en
Publication of WO2018021926A1 publication Critical patent/WO2018021926A1/en
Publication of WO2018021926A8 publication Critical patent/WO2018021926A8/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes

Definitions

  • the present invention relates to decoding in communication systems. More specifically, the present invention relates to an apparatus and method for decoding data using polar codes or subcodes.
  • Another method is the so-called list decoding (as described by Tal and Vardy in "List decoding of polar codes", in Proc. of IEEE Int. Symp. on Inf. Theory, 201 1 , pp. 1-5) which can achieve near-ML performance with complexity 0 (Ln log n), wherein L is the size of a list constructed by the decoding apparatus and wherein L should be sufficiently large.
  • This algorithm iteratively constructs at most L vectors (paths within a code tree) with the highest probability:
  • Joint processing decoding corresponds to a maximum likelihood decoding of some very simple outer polar codes C s of length n s , wherein each outer polar code C s has a set of frozen symbols .
  • the stack, sequential and block sequential decoding algorithms employ data structures as introduced in the aforementioned work by Tal et al.
  • employing these data structures results in high memory consumption and significant overhead on data copying and latency.
  • the invention relates to a decoding apparatus for decoding a codeword A of length n using a polar code or polar subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein denotes a vector containing k information bits and n - k frozen
  • B m is a bit-reversal permutation matrix
  • V® m denotes the m-times Kronecker product of the matrix V with itself
  • the decoding apparatus comprises a processor, which is configured to select at each iteration a path in a code tree having a highest score, wherein the score
  • the processor is configured to compute the log-likelihood function of the most probable path in a subtree of the code tree starting from wherein is given by:
  • log-likelihood ratios denotes log-likelihood ratios
  • the processor is further configured to recursively computed the log-likelihood ratios by means of the expression: and denotes the
  • the processor is further configured to compute the expectation value which is given by:
  • the processor is further configured to decompose the polar code or subcode C into child codes by applying a recursive generalized Plotkin decomposition, wherein, at a first step of the generalized Plotkin decomposition of the polar code or subcode, two child codes of length are obtained, wherein
  • the processor is configured to construct the possible continuations of the path by means of a
  • v is the length of the corresponding child code.
  • the processor is further configured to construct a most probable codeword of a child code immediately upon obtaining the vector of values and to construct less probable codewords later
  • the processor is further configured to decompose the child codes C 0 and C 1 by means of the recursive generalized Plotkin decomposition until one of the following outer codes is obtained: a rate-zero code, wherein rate-one code, a repetition code, a single parity check code, a interleaved repetition code, a (n s , n s - 2) interleaved single parity check code, a first order Reed-Muller
  • the processor is further configured to decode the first order Reed-Muller code serially concatenated with the (t, 1) code and the supercode of the first order Reed-Muller code by means of a Walsh-Hadamard transform, to decode the Hamming code, its subcode and supercode using a Plotkin concatenation of a first Reed-Muller code and a (8,7,2) or a (8,8,1 ) code, to decode the interleaved single parity check codes using two decoders of a single parity check code, to decode the interleaved repetition code by means of an exhaustive enumeration of all codewords.
  • the processor is further configured to skip a soft-decision decoding of a child code if wherein H s is a check matrix of the child code and wherein the vector
  • the invention relates to a method for decoding a of length n using a polar code or polar subcode
  • B m is a bit-reversal permutation matrix
  • the method comprises the steps of selecting at each iteration a path in a code tree having a highest score, wherein the score 1, is defined
  • path n a subtree of the code tree starting from wherein is an expectation
  • the invention relates to a computer program comprising a program code for performing the method according to the second aspect when executed on a computer.
  • the invention can be implemented in hardware and/or software.
  • FIG. 1 shows a schematic diagram of a communication system comprising an encoding apparatus and a decoding apparatus communicating via a communication channel according to an embodiment
  • Fig. 2 shows an example of a recursive generalized Plotkin decomposition of a polar code or subcode according to an embodiment
  • Fig. 3a shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus according to an embodiment
  • Fig. 3b shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus according to an embodiment
  • Fig. 3c shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus according to an embodiment
  • Fig. 3d shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus according to an embodiment
  • Fig. 4 shows an average number of iterations of different decoding algorithms implemented in a decoding apparatus using a polar code as function of a signal-to noise ratio according to an embodiment
  • Fig. 5 shows a frame error rate of different decoding algorithms implemented in a decoding apparatus using different codes as a function of a signal-to-noise ratio according to an embodiment
  • Fig. 6 shows addition-equivalent operations of different decoding algorithms implemented in a decoding apparatus using different codes as a function of a signal-to- noise ratio according to an embodiment
  • Fig. 7 shows a frame error rate of different decoding algorithms implemented in a decoding apparatus using different polar codes as a function of a signal-to-noise ratio according to an embodiment
  • Fig. 8 shows throughputs of different decoding algorithms implemented in a software using different polar codes as a function of a signal-to-noise ratio according to an embodiment
  • Fig. 9 shows a schematic diagram of a method for decoding a codeword using a polar code or subcode according to an embodiment.
  • identical reference signs will be used for identical or functionally equivalent features.
  • a disclosure in connection with a described method will generally also hold true for a corresponding device or system configured to perform the method and vice versa.
  • a corresponding device may include a unit to perform the described method step, even if such unit is not explicitly described or illustrated in the figures.
  • Figure 1 shows a schematic diagram of a communication system 100 comprising an encoding apparatus 130 and a decoding apparatus 1 10 communicating via a communication channel 120 according to an embodiment.
  • a codeword is encoded by the encoding apparatus 130 and is sent via the communication channel 120 to the decoding apparatus 1 10.
  • the decoding apparatus 1 10 can use a polar code or polar
  • subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein denotes a vector containing k information bits and
  • the decoding apparatus 1 10 comprises a processor 1 10a, which is configured to select at each iteration a path in a code tree having a highest score, wherein the score is defined by the following equation: wherein denotes noisy symbols of the codeword
  • path score significantly reduces the average number of iterations performed by the processor 1 10a of the decoding apparatus 1 10, compared to, for example, the algorithms presented in the aforementioned works by Niu and Chen, Miloslavskaya and Trifonov, Trofimiuk and Trifonov.
  • Second step Extract (M, I) with the highest M from the PQ. call
  • decoder state (the results of pre-processing) in variable Use it to obtain the most
  • Tenth step Go to the second step.
  • the decoding algorithm implemented in the decoding apparatus 1 10 comprises a priority queue (see the first and second step of the above decoding algorithm), which contains tuples wherein is the score of the /-th path UQ , in the code tree considered by the priority queue (see the first and second step of the above decoding algorithm), which contains tuples wherein is the score of the /-th path UQ , in the code tree considered by the priority queue (see the first and second step of the above decoding algorithm), which contains tuples wherein is the score of the /-th path UQ , in the code tree considered by the
  • the decoding apparatus 1 10 At each iteration, the processor 1 10a extracts from the priority queue a tuple with the highest score, and constructs possible extensions of the corresponding path.
  • the communication channel 120 can be wired, wireless or it can be an optical fiber communication channel.
  • Figure 2 shows an example of a recursive generalized Plotkin decomposition of a polar code or subcode according to an embodiment.
  • the polar code or subcode C can be decomposed into child codes by applying the recursive generalized Plotkin decomposition, wherein, at a first step of the generalized Plotkin decomposition of the polar code or subcode, two child codes are obtained, wherein
  • the latter code can be further decomposed into a (2, 1) code with generator matrix code generated by This recursive Plotkin
  • recursive generalized Plotkin decomposition is illustrated by means of a recursive decomposition tree in figure 2. Furthermore, the recursive generalized Plotkin decomposition may lead to one of the following child codes C s : a (n s , 0) rate-zero code, wherein n
  • (n s , n s ) rate-one code a (n s , 1) repetition code, a (n s , n s - 1) single parity check code, a (n s , 2) interleaved repetition code, a (n s , n s - 2) interleaved single parity check code, a (tn s , 1 + log 2 n s ) first order Reed-Muller code serially concatenated with a (t, 1) code, wherein t is a power of , supercode
  • the first order Reed-Muller code serially concatenated with the (t, 1) code and the supercode of the first order Reed-Muller code can be decoded by means of a Walsh- Hadamard transform
  • the Hamming code, its subcode and supercode can be decoded using a Plotkin concatenation of a first Reed-Muller code and a (8,7,2) or a (8,8, 1) code
  • the interleaved single parity check codes can be decoded using two decoders of a single parity check code
  • the interleaved repetition code can be decoded by means of an exhaustive enumeration of all codewords.
  • the above list containing the child codes could be further extended if efficient decoding algorithms are developed for other codes.
  • the recursive generalized Plotkin decomposition of a polar code or subcode can be stopped as soon as any of the above codes is obtained.
  • the processor 1 10a is configured to first perform maximum likelihood decoding of a vector of intermediate log-likelihood-ratio (LLR ) values in an outer code in order to identify the most probable codeword and then to construct on demand less probable codewords of this code.
  • LLR log-likelihood-ratio
  • the LLR values is error free. This has the advantage that computationally expensive maximum likelihood soft decision decoding of the outer code can be avoided. Therefore, in one embodiment of the invention, the soft decoding of an outer code can be skipped, if: wherein H s is a check matrix of the s-th outer code, and
  • the path / can be cloned in order to obtain a path /', and the tuple can be pushed into the priority queue,
  • the processor 1 10a can further be configured to perform a preprocessing (which was skipped initially), to construct and to compute its exact ellipsoidal weight.
  • the performance of the proposed decoding algorithm implemented in the decoding apparatus 1 10 can further be improved if the processor 1 10a is not configured to kill the paths permanently at the ninth step of the algorithm shown in the description of figure 1 , but it is configured to remove all path ] from the priority queue
  • the processor 1 10a can further be configured to increase the value of L and to reintroduce the saved paths into the priority queue. Moreover, the complexity of the proposed decoding algorithm implemented in the decoding apparatus 1 10 can still be reduced if the processor 1 10a is configured to not push the path into the priority queue if its score exceeds the score of the best path stored there.
  • the decoding algorithm implemented in the decoding apparatus 1 10 reduces the decoding complexity and latency compared to the classical stack, sequential and block sequential algorithms according to the prior art. Furthermore, the proposed decoding algorithm implemented in the decoding apparatus 1 10 can be implemented in a receiver of a communication system employing polar codes or polar subcodes. It can also be implemented in software, FPGA or ASIC.
  • Figure 3a shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus 1 10 according to an embodiment.
  • the standard implementation of the block sequential decoding algorithm makes use of the Tal- Vardy data structures suggested for list decoding of polar codes (see the above mentioned work of Tal and Vardy).
  • lazy copying mechanism is provided in the work of Tal and Vardy, some data still need to be copied. This results in a performance degradation.
  • the processor 1 10a can be configured to store partial sums array C[*, l ] on array C[*,0] by means of aliasing.
  • the processor 1 10a can be configured to allocate a pool of memory for storing various arrays of log-likelihood ratios 5 and partial sums C. As soon as the decoding apparatus 1 10 needs to write to some subarray S or C, the processor 1 10a can be configured to allocate for it the appropriate memory block either from the set of released memory blocks or from the memory pool.
  • Figure 3b shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus 1 10 according to an embodiment, analogously to figure 3 a.
  • Figure 3c shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus 110 according to an embodiment, analogously to figure 3a.
  • Figure 3d shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus 1 10 according to an embodiment, analogously to figure 3 a.
  • Figure 4 shows an average number of iterations of different decoding algorithms implemented in a decoding apparatus 1 10 using a polar code as function of a signal-to noise ratio according to an embodiment. In this embodiment, the average number of iterations is performed by various sequential-type decoding algorithms for a (1024, 512, 28) polar subcode with child codes of length 1.
  • Figure 5 shows a frame error rate (FER) of different decoding algorithms implemented in a decoding apparatus 1 10 using different codes as a function of a signal-to-noise ratio according to an embodiment.
  • the (1024, 512, 28) subcode and its six decoding algorithms are the same as in figure 4.
  • the performance (namely the FER) of a WiMAX low-density-parity-check (LDPC) (1032, 516) code is shown as well.
  • LDPC WiMAX low-density-parity-check
  • Figure 6 shows addition-equivalent operations of different decoding algorithms implemented in a decoding apparatus 1 10 using different codes as a function of a signal-to-noise ratio according to an embodiment.
  • the complexity of the proposed algorithms implemented in the decoding apparatus 1 10 turns out to be less than that of a belief propagation algorithm used to decode an LDPC code with similar parameters.
  • the performance of the LDPC code turns out to be worse than the performance of the polar subcode decoded using the decoding algorithm implemented in the decoding apparatus 1 10 according to an embodiment of this invention.
  • Figure 7 shows a frame error rate of different decoding algorithms implemented in a decoding apparatus 1 10 using different polar codes as a function of a signal-to-noise ratio according to an embodiment.
  • Figure 8 shows throughputs of different decoding algorithms implemented in a software using different polar codes as a function of a signal-to-noise ratio according to an embodiment.
  • Figure 9 shows a schematic diagram of a method 900 for decoding a codeword using a polar code or subcode according to an embodiment.
  • subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein denotes a vector containing k information bits and n - k frozen bits, wherein wherein B M is a bit-reversal
  • V® m denotes the m-times Kronecker product of the matrix V with itself, comprises the steps of: selecting 902 at each iteration a path U Q in a code tree having a highest score, wherein the score

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention relates to a decoding apparatus (110) for decoding a codeword (I) of length n using a (n = 2 m , k) polar code or polar subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein (II) denotes a vector containing k information bits and n - k frozen bits, wherein (III), wherein B m is a bit-reversal permutation matrix, wherein V m denotes the m-times Kronecker product of the matrix V with itself, wherein the decoding apparatus (110) comprises a processor (110a), which is configured to select at each iteration a path (IV) in a code tree having a highest score, wherein the score (V), is defined by the following equation: (VI) wherein (VII) denotes noisy symbols of the codeword (VIII) as received at the decoding apparatus (110), after a transmission over a communication channel (120), wherein (IX) denotes a log-likelihood function of a most probable path in a subtree of the code tree starting from (X), wherein Ψ(t) is an expectation value of (XI) assuming that (XII) is the correct path, to construct one or more possible continuations (XIII) of the path (XIV), to compute scores of (XV), and to decode the codeword (XVI), which corresponds to the path (XVII) with the highest score (XVIII).

Description

DECODING OF POLAR CODES AND POLAR SUBCODES
TECHNICAL FIELD The present invention relates to decoding in communication systems. More specifically, the present invention relates to an apparatus and method for decoding data using polar codes or subcodes.
BACKGROUND
Reliable transmission of data over noisy communication channels requires some kind of error correction coding to be used. Polar codes were shown to achieve the Shannon capacity of many channels see E. Arikan, "Channel polarization: A method for ) constructing capacity achieving codes for symmetric binary-input memoryless channels", IEEE Trans, on Inf. Theory, vol. 55, no. 7, pp. 3051-3073, July 2009). However, the performance of polar codes with practical parameters is often unsatisfactory.
Recently, polar subcodes were shown to have higher minimum distance than classical polar codes, and provide substantially better performance under list, sequential and block sequential decodingsee P. Trifonov and V. Miloslavskaya, "Polar subcodes", ) IEEE Journal on Selected Areas in Communications, 34(2):254-266, February 2016).
Generally, a (n = 2m, k) polar subcode C over GF(2) is a set of vectors c = zWA, where Bm is the bit reversal permutation
Figure imgf000003_0001
matrix, and F®m denotes the m-times Kronecker product of the matrix F with itself. Classical polar codes are obtained by choosing the matrix W such that each column of W has at most a weight of 1 and each row has a weight of 1 . Polar subcodes are obtained by choosing the matrix W such that the vectors c are also codewords of some parent code with sufficiently high minimum distance, i.e.,cHT = 0, where H is a check matrix of the parent code. Extended Bose-Chaudhuri-Hocquenghem (BCH) codes were shown to be good parent codes.
After the transmission over a memoryless binary input channel, a codeword
Figure imgf000004_0004
results in noisy symbols In particular, the
Figure imgf000004_0001
Figure imgf000004_0003
objective of a maximum likelihood decoding apparatus is to find where is a channel output conditional
Figure imgf000004_0002
Figure imgf000004_0010
probability density function. In the prior art, there are several algorithms for decoding polar codes and subcodes, such as the successive cancellation decoding algorithm with complexity O(n log n), as described in US 20150295593. However, this method does not provide maximum likelihood decoding and has high latency.
Another method is the so-called list decoding (as described by Tal and Vardy in "List decoding of polar codes", in Proc. of IEEE Int. Symp. on Inf. Theory, 201 1 , pp. 1-5) which can achieve near-ML performance with complexity 0 (Ln log n), wherein L is the size of a list constructed by the decoding apparatus and wherein L should be sufficiently large. This algorithm iteratively constructs at most L vectors (paths
Figure imgf000004_0011
within a code tree) with the highest probability:
Figure imgf000004_0005
wherein
Figure imgf000004_0006
The average decoding complexity of this decoding algorithm can slightly be reduced by employing the so-called stack decoding algorithm (e.g., K. Niu and K. Chen, "Stack decoding of polar codes," Electronics Letters, vol. 48, no. 12, pp. 695-697, June 2012) i.e., by considering at each step only one path in the code tree with the highest probability.
Even more complexity reduction can be achieved by employing a sequential decoding algorithm (e.g., V. Miloslavskaya and P. Trifonov, "Sequential decoding of polar codes", IEEE Communications Letters, vol. 18, no. 7, pp. 1 127-1 130, 2014). The sequential decoding algorithm takes into account not only but also
Figure imgf000004_0007
probabilities of error wherein represents a decision on a symbol
Figure imgf000004_0009
Figure imgf000004_0008
of a successive cancellation decoding apparatus. The latency and complexity of list
Figure imgf000005_0001
and sequential decoding algorithms can be reduced by joint processing of a number of symbols
Figure imgf000005_0002
(e.g., G. Sarkis et al. "Fast List Decoders For Polar Codes", IEEE Journal On Selected Areas In Communications, 34(2), 2016 and G. Trofimiuk, P. Trifonov "Block Sequential Decoding Of Polar Codes", Proceedings Of International Symposium On Wireless Communication Systems, 2015). Joint processing decoding corresponds to a maximum likelihood decoding of some very simple outer polar codes Cs of length ns, wherein each outer polar code Cs has a set of frozen symbols
Figure imgf000005_0003
. In the aforementioned work by Sarkis et al., it is suggested to use only rate-0, rate-1 , repetition and single-parity check outer codes in conjunction with this approach. Furthermore, in the aforementioned work by Trofimiuk and Trifonov, it is suggested that, in the case of outer codes of length ns≤ 8, the generic Viterbi list decoding algorithm can provide some complexity reduction with respect to straightforward implementation.
The stack, sequential and block sequential decoding algorithms employ data structures as introduced in the aforementioned work by Tal et al. However, employing these data structures results in high memory consumption and significant overhead on data copying and latency.
Therefore, there is a need for an improved apparatus and method for decoding data using polar codes or subcodes. SUMMARY
It is an object of the invention to provide for an improved apparatus and method for decoding data using polar codes and subcodes. The foregoing and other objects are achieved by the subject matter of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures. According to a first aspect the invention relates to a decoding apparatus for decoding a codeword
Figure imgf000006_0002
A of length n using a
Figure imgf000006_0003
polar code or polar subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein denotes a vector containing k information bits and n - k frozen
Figure imgf000006_0004
, wherein Bm is a bit-reversal permutation matrix,
Figure imgf000006_0001
wherein V®m denotes the m-times Kronecker product of the matrix V with itself, wherein the decoding apparatus comprises a processor, which is configured to select at each iteration a path
Figure imgf000006_0005
in a code tree having a highest score, wherein the score
, is defined by the following equation:
Figure imgf000006_0006
Figure imgf000006_0007
wherein denotes noisy symbols of the codeword
Figure imgf000006_0008
Figure imgf000006_0017
received at the decoding apparatus, after a transmission over a communication channel, wherein denotes a log-likelihood function of a most probable
Figure imgf000006_0009
path in a subtree of the code tree starting from wherein is an expectation
Figure imgf000006_0013
Figure imgf000006_0016
value of assuming that
Figure imgf000006_0012
is the correct path, to construct one or more
Figure imgf000006_0010
possible continuations
Figure imgf000006_0011
of the path compute scores of Q
Figure imgf000006_0021
Figure imgf000006_0018
Figure imgf000006_0014
and to decode the codeword
Figure imgf000006_0019
which corresponds to the path with the highest score M
Figure imgf000006_0015
Figure imgf000006_0020
In a first possible implementation form of the decoding apparatus according to the first aspect as such, the processor is configured to compute the log-likelihood function of the most probable path in a subtree of the code tree starting from
Figure imgf000006_0024
Figure imgf000006_0025
wherein is given by:
Figure imgf000006_0022
Figure imgf000006_0023
, .
wherein wherein the function
Figure imgf000007_0002
Figure imgf000007_0003
denotes log-likelihood ratios, and the processor is further configured to recursively computed the log-likelihood ratios by means of the expression:
Figure imgf000007_0004
and denotes the
Figure imgf000007_0005
vector obtained by appending
Figure imgf000007_0006
denote subvectors with even e and odd o
Figure imgf000007_0001
Figure imgf000007_0007
indices, respectively, and wherein denotes log-likelihood ratios of the noisy
Figure imgf000007_0008
symbols
Figure imgf000007_0014
In a second possible implementation form of the decoding apparatus according to the first aspect as such or the first implementation form thereof, the processor is further configured to compute the expectation value which is given by:
Figure imgf000007_0010
Figure imgf000007_0009
assuming that is the correct path, wherein is a probability density function
Figure imgf000007_0012
Figure imgf000007_0011
of under the assumption that a zero codeword was transmitted.
Figure imgf000007_0013
In a third possible implementation form of the decoding apparatus according to the first aspect as such, the processor is further configured to decompose the polar code or subcode C into child codes by applying a recursive generalized Plotkin decomposition, wherein, at a first step of the generalized Plotkin decomposition of the polar code or subcode, two child codes
Figure imgf000007_0017
of length are obtained, wherein
Figure imgf000007_0019
Figure imgf000007_0021
wherein the symbol
Figure imgf000007_0020
denotes a concatenation operator
Figure imgf000007_0015
and wherein a set of frozen bit indices of is defined by
Figure imgf000007_0018
respectively.
Figure imgf000007_0016
In a fourth possible implementation form of the decoding apparatus according to the first aspect as such or the first or third implementation form thereof, the processor is configured to construct the possible continuations of the path by means of a
Figure imgf000008_0011
Figure imgf000008_0012
list soft decision decoding algorithm of a vector of values in the child codes,
Figure imgf000008_0013
wherein v is the length of the corresponding child code.
In a fifth possible implementation form of the decoding apparatus according to the first aspect as such or the third or fourth implementation form thereof, the processor is further configured to construct a most probable codeword of a child code immediately upon obtaining the vector of values and to construct less probable codewords later
Figure imgf000008_0001
on-demand.
In a sixth possible implementation form of the decoding apparatus according to the third implementation form of the first aspect, the processor is further configured to decompose the child codes C0 and C1 by means of the recursive generalized Plotkin decomposition until one of the following outer codes is obtained: a
Figure imgf000008_0008
rate-zero code, wherein
Figure imgf000008_0003
rate-one code, a
Figure imgf000008_0007
repetition code, a
Figure imgf000008_0002
single parity check code, a
Figure imgf000008_0010
interleaved repetition code, a (ns, ns - 2) interleaved single parity check code, a first order Reed-Muller
Figure imgf000008_0009
code serially concatenated with a (t, 1) code, wherein t is a power of 2, a
Figure imgf000008_0006
Figure imgf000008_0004
supercode of a first order Reed-Muller code or a
Figure imgf000008_0005
{11,10,12} extended Hamming code, its subcode or its supercode. In a seventh possible implementation form of the decoding apparatus according to the sixth implementation form of the first aspect, the processor is further configured to decode the first order Reed-Muller code serially concatenated with the (t, 1) code and the supercode of the first order Reed-Muller code by means of a Walsh-Hadamard transform, to decode the Hamming code, its subcode and supercode using a Plotkin concatenation of a first Reed-Muller code and a (8,7,2) or a (8,8,1 ) code, to decode the interleaved single parity check codes using two decoders of a single parity check code, to decode the interleaved repetition code by means of an exhaustive enumeration of all codewords.
In an eighth possible implementation form of the decoding apparatus according to the fourth or sixth implementation form of the first aspect, the processor is further configured to skip a soft-decision decoding of a child code if
Figure imgf000009_0001
wherein Hs is a check matrix of the child code and wherein the vector
Figure imgf000009_0010
represents a hard decision vector corresponding to log-likelihood ratios passed to a decoder of an outer code.
According to a second aspect the invention relates to a method for decoding a of length n using a polar code or polar subcode
Figure imgf000009_0007
Figure imgf000009_0008
C having a set of frozen bit indices F, wherein m is a positive integer number, wherein denotes a vector containing k information bits and n - k frozen
Figure imgf000009_0009
bits, wherein wherein Bm is a bit-reversal permutation matrix,
Figure imgf000009_0002
wherein
Figure imgf000009_0003
denotes the m-times Kronecker product of the matrix V with itself. The method comprises the steps of selecting at each iteration a path
Figure imgf000009_0005
in a code tree having a highest score, wherein the score 1, is defined
Figure imgf000009_0004
by the following equation:
Figure imgf000009_0006
wherein denotes noisy symbols of the codeword
Figure imgf000009_0012
Figure imgf000009_0011
received at the decoding apparatus, after a transmission over a communication channel, wherein denotes a log-likelihood function of the most probable
Figure imgf000009_0013
path n a subtree of the code tree starting from wherein is an expectation
Figure imgf000009_0017
Figure imgf000009_0019
value of assuming that correct path, constructing one or more
Figure imgf000009_0014
Figure imgf000009_0015
possible continuations
Figure imgf000009_0016
of the path omputing scores
Figure imgf000009_0018
and decoding the codeword
Figure imgf000010_0002
which
Figure imgf000010_0001
corresponds to the path with the highest score
Figure imgf000010_0004
Figure imgf000010_0003
According to a third aspect, the invention relates to a computer program comprising a program code for performing the method according to the second aspect when executed on a computer.
The invention can be implemented in hardware and/or software. BRIEF DESCRIPTION OF THE DRAWINGS
Further embodiments of the invention will be described with respect to the following figures, wherein: Fig. 1 shows a schematic diagram of a communication system comprising an encoding apparatus and a decoding apparatus communicating via a communication channel according to an embodiment;
Fig. 2 shows an example of a recursive generalized Plotkin decomposition of a polar code or subcode according to an embodiment;
Fig. 3a shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus according to an embodiment; Fig. 3b shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus according to an embodiment;
Fig. 3c shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus according to an embodiment;
Fig. 3d shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus according to an embodiment; Fig. 4 shows an average number of iterations of different decoding algorithms implemented in a decoding apparatus using a polar code as function of a signal-to noise ratio according to an embodiment;
Fig. 5 shows a frame error rate of different decoding algorithms implemented in a decoding apparatus using different codes as a function of a signal-to-noise ratio according to an embodiment; Fig. 6 shows addition-equivalent operations of different decoding algorithms implemented in a decoding apparatus using different codes as a function of a signal-to- noise ratio according to an embodiment;
Fig. 7 shows a frame error rate of different decoding algorithms implemented in a decoding apparatus using different polar codes as a function of a signal-to-noise ratio according to an embodiment;
Fig. 8 shows throughputs of different decoding algorithms implemented in a software using different polar codes as a function of a signal-to-noise ratio according to an embodiment; and
Fig. 9 shows a schematic diagram of a method for decoding a codeword using a polar code or subcode according to an embodiment. In the figures, identical reference signs will be used for identical or functionally equivalent features.
DETAILED DESCRIPTION OF EMBODIMENTS In the following description, reference is made to the accompanying drawings, which form part of the disclosure, and in which are shown, by way of illustration, specific aspects in which the invention may be placed. It will be appreciated that the invention may be placed in other aspects and that structural or logical changes may be made without departing from the scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, as the scope of the invention is defined by the appended claims.
For instance, it will be appreciated that a disclosure in connection with a described method will generally also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if a specific method step is described, a corresponding device may include a unit to perform the described method step, even if such unit is not explicitly described or illustrated in the figures.
Moreover, in the following detailed description as well as in the claims, embodiments with functional blocks or processing units are described, which are connected with each other or exchange signals. It will be appreciated that the invention also covers embodiments which include additional functional blocks or processing units that are arranged between the functional blocks or processing units of the embodiments described below.
Finally, it is understood that the features of the various exemplary aspects described herein may be combined with each other, unless specifically noted otherwise.
Figure 1 shows a schematic diagram of a communication system 100 comprising an encoding apparatus 130 and a decoding apparatus 1 10 communicating via a communication channel 120 according to an embodiment. A codeword is
Figure imgf000012_0005
encoded by the encoding apparatus 130 and is sent via the communication channel 120 to the decoding apparatus 1 10. In order to decode the codeword of
Figure imgf000012_0004
length n, the decoding apparatus 1 10 can use a polar code or polar
Figure imgf000012_0003
subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein denotes a vector containing k information bits and
Figure imgf000012_0001
n - k frozen bits, wherein wherein Bm is a bit-reversal
Figure imgf000012_0002
permutation matrix, wherein V®m denotes the m-times ronecker product of the matrix V with itself. The decoding apparatus 1 10 comprises a processor 1 10a, which is configured to select at each iteration a path
Figure imgf000013_0015
in a code tree having a highest score, wherein the score is defined by the following equation:
Figure imgf000013_0014
Figure imgf000013_0003
wherein denotes noisy symbols of the codeword
Figure imgf000013_0004
Figure imgf000013_0016
received at the decoding apparatus 1 10, after the transmission over the communication channel 120, wherein denotes a log-likelihood function of a most
Figure imgf000013_0005
probable path in a subtree of the code tree starting from wherein is an
Figure imgf000013_0019
Figure imgf000013_0018
expectation value of
Figure imgf000013_0006
assuming that
Figure imgf000013_0009
is the correct path, to construct one or more possible continuations
Figure imgf000013_0007
of the path to compute scores of
Figure imgf000013_0008
Figure imgf000013_0017
and to decode the codeword
Figure imgf000013_0020
which
Figure imgf000013_0012
corresponds to the path with the highest score
Figure imgf000013_0013
Figure imgf000013_0010
The definition of the path score as given in equation (1 ) significantly reduces the average number of iterations performed by the processor 1 10a of the decoding apparatus 1 10, compared to, for example, the algorithms presented in the aforementioned works by Niu and Chen, Miloslavskaya and Trifonov, Trofimiuk and Trifonov.
The log-likelihood function of the most probable path in a subtree of the code tree is
Figure imgf000013_0022
given by:
Figure imgf000013_0011
and wherein the function
Figure imgf000013_0001
Figure imgf000013_0021
denotes log-likelihood ratios, which are recursively computed by the
Figure imgf000013_0002
Figure imgf000014_0001
denotes the
Figure imgf000014_0002
Figure imgf000014_0003
and denote the subvectors of
Figure imgf000014_0021
with even e and odd o
Figure imgf000014_0005
Figure imgf000014_0004
indices, respectively, and wherein {) denotes log-likelihood ratios of the noisy
Figure imgf000014_0006
symbol
Figure imgf000014_0007
Furthermore, the expectation value assuming that s the correct path
Figure imgf000014_0008
Figure imgf000014_0009
is given by:
Figure imgf000014_0010
wherein is a probability density function under the assumption that a
Figure imgf000014_0012
Figure imgf000014_0011
zero codeword was transmitted.
In the following, a summary of some steps of the block sequential decoding algorithm presented in the aforementioned work by Trofimiuk and Trifonov is given, since some of those steps can be implemented in embodiments of the invention:
First step: Let l0 be the index of the initial path be the received symbol
Figure imgf000014_0013
Figure imgf000014_0020
nto the priority queue (PQ).
Figure imgf000014_0014
Figure imgf000014_0019
Second step: Extract (M, I) with the highest M from the PQ. call
Figure imgf000014_0015
return
Figure imgf000014_0016
CGetArrayPointerC(l, 0,0), and terminate. Otherwise, let P = P - 1.
Third step:
Figure imgf000014_0018
Figure imgf000014_0017
, get the next most probable codeword , together with the
Figure imgf000015_0001
Figure imgf000015_0002
corresponding ellipsoidal weight
Figure imgf000015_0003
using the state variable
Figure imgf000015_0004
Clone the current path. Let l' be the identifier of the cloned path, and let
Figure imgf000015_0005
Fifth step: Preprocess LLR values pS[j] using a decoder of the outer code Save the
Figure imgf000015_0015
decoder state (the results of pre-processing) in variable Use it to obtain the most
Figure imgf000015_0016
probable codeword together with the corresponding ellipsoidal weight \ Let
Figure imgf000015_0014
Figure imgf000015_0006
Sixth step paths with the smallest metrics, remove them
Figure imgf000015_0007
from the PQ and decrease P appropriately.
Seventh step:
Figure imgf000015_0008
Figure imgf000015_0009
Eighth step:
Figure imgf000015_0010
Ninth step:
Figure imgf000015_0011
remove them from the PQ and decrease P appropriately.
Tenth step: Go to the second step.
In one embodiment of the invention, the decoding algorithm implemented in the decoding apparatus 1 10 comprises a priority queue (see the first and second step of the above decoding algorithm), which contains tuples
Figure imgf000015_0013
wherein is the score of the /-th path UQ , in the code tree considered by the
Figure imgf000015_0012
decoding apparatus 1 10. At each iteration, the processor 1 10a extracts from the priority queue a tuple with the highest score, and constructs possible extensions of the corresponding path. The communication channel 120 can be wired, wireless or it can be an optical fiber communication channel.
Figure 2 shows an example of a recursive generalized Plotkin decomposition of a polar code or subcode according to an embodiment. The polar code or subcode C can be decomposed into child codes by applying the recursive generalized Plotkin decomposition, wherein, at a first step of the generalized Plotkin decomposition of the polar code or subcode, two child codes are obtained, wherein
Figure imgf000016_0007
wherein the symbol o denotes a concatenation
Figure imgf000016_0002
operator and wherein a set of frozen bit indices of
Figure imgf000016_0008
defined by F0 =
Figure imgf000016_0001
For example, a (8,4,4) polar code or subcode with generator matrix:
Figure imgf000016_0003
can be represented as a Plotkin concatenation of a (4,1) code with generator matrices Go = (l 1 1 1) ar)d a (4,3) code with generator matrix:
Figure imgf000016_0004
The latter code can be further decomposed into a (2, 1) code with generator matrix code generated by This recursive Plotkin
Figure imgf000016_0006
Figure imgf000016_0005
decomposition is illustrated by means of a recursive decomposition tree in figure 2. Furthermore, the recursive generalized Plotkin decomposition may lead to one of the following child codes Cs: a (ns, 0) rate-zero code, wherein n
(ns, ns) rate-one code, a (ns, 1) repetition code, a (ns, ns - 1) single parity check code, a (ns, 2) interleaved repetition code, a (ns, ns - 2) interleaved single parity check code, a (tns, 1 + log2 ns) first order Reed-Muller code serially concatenated with a (t, 1) code, wherein t is a power of , supercode
Figure imgf000017_0007
of a first order Reed-Muller code or a } extended Hamming
Figure imgf000017_0006
code, its subcode or its supercode.
The first order Reed-Muller code serially concatenated with the (t, 1) code and the supercode of the first order Reed-Muller code can be decoded by means of a Walsh- Hadamard transform, the Hamming code, its subcode and supercode can be decoded using a Plotkin concatenation of a first Reed-Muller code and a (8,7,2) or a (8,8, 1) code, the interleaved single parity check codes can be decoded using two decoders of a single parity check code and the interleaved repetition code can be decoded by means of an exhaustive enumeration of all codewords. The above list containing the child codes could be further extended if efficient decoding algorithms are developed for other codes. In one embodiment of the invention the recursive generalized Plotkin decomposition of a polar code or subcode can be stopped as soon as any of the above codes is obtained.
Furthermore, it can be shown that as defined in equation (2), is equal
Figure imgf000017_0001
to the ellipsoidal weight of vector
Figure imgf000017_0002
which is defined as where This has the advantage
Figure imgf000017_0005
Figure imgf000017_0003
that the complexity of the computation
Figure imgf000017_0004
) by employing soft decision decoding algorithms for the above-mentioned outer codes is reduced, since the outer codes naturally compute the ellipsoidal weight of the corresponding codewords.
In one embodiment of the proposed block sequential decoding algorithm implemented in the decoding apparatus 1 10, the processor 1 10a is configured to first perform maximum likelihood decoding of a vector of intermediate log-likelihood-ratio (LLR ) values in an outer code in order to identify the most probable codeword and then to construct on demand less probable codewords of this code. The on-demand construction of less probable codewords has the advantage of providing significant complexity savings with respect to other algorithms used in the prior art.
Furthermore, in most cases, the hard decision vector corresponding to
Figure imgf000018_0001
the LLR values is error free. This has the advantage that computationally expensive maximum likelihood soft decision decoding of the outer code can be avoided. Therefore, in one embodiment of the invention, the soft decoding of an outer code can be skipped, if:
Figure imgf000018_0002
wherein Hs is a check matrix of the s-th outer code, and
Figure imgf000018_0003
However, even if (3) holds, it still may happen that is still not correct. In
Figure imgf000018_0004
order to ensure that less probable codewords
Figure imgf000018_0005
, can still be recovered, in one embodiment of the invention, the path / can be cloned in order to obtain a path /', and the tuple can be pushed into the priority queue,
Figure imgf000018_0007
wherein d; is the minimum distance of Cs. The value | is a lower bound
Figure imgf000018_0006
on the ellipsoidal weight of The corresponding codeword is not constructed at the preprocessing step (see the algorithm presented in the description of figure 1). If the path V is extracted from the priority queue, then the processor 1 10a can further be configured to perform a preprocessing (which was skipped initially), to construct and to compute its exact ellipsoidal weight.
The performance of the proposed decoding algorithm implemented in the decoding apparatus 1 10 can further be improved if the processor 1 10a is not configured to kill the paths permanently at the ninth step of the algorithm shown in the description of figure 1 , but it is configured to remove all path ] from the priority queue
Figure imgf000018_0008
and to save them. If the number of path deletion events exceeds some threshold, then the processor 1 10a can further be configured to increase the value of L and to reintroduce the saved paths into the priority queue. Moreover, the complexity of the proposed decoding algorithm implemented in the decoding apparatus 1 10 can still be reduced if the processor 1 10a is configured to not push the path into the priority queue if its score exceeds the score of the best path stored there.
The decoding algorithm implemented in the decoding apparatus 1 10 reduces the decoding complexity and latency compared to the classical stack, sequential and block sequential algorithms according to the prior art. Furthermore, the proposed decoding algorithm implemented in the decoding apparatus 1 10 can be implemented in a receiver of a communication system employing polar codes or polar subcodes. It can also be implemented in software, FPGA or ASIC.
Figure 3a shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus 1 10 according to an embodiment. The standard implementation of the block sequential decoding algorithm makes use of the Tal- Vardy data structures suggested for list decoding of polar codes (see the above mentioned work of Tal and Vardy). Although lazy copying mechanism is provided in the work of Tal and Vardy, some data still need to be copied. This results in a performance degradation. In order to avoid the performance degradation and to reduce the amount of memory used by the decoding apparatus 1 10, the processor 1 10a can be configured to store partial sums array C[*, l ] on array C[*,0] by means of aliasing. In this case, the data does not need to be copied at all while accessing the log-likelihoods and partial sums arrays. Furthermore, the processor 1 10a can be configured to allocate a pool of memory for storing various arrays of log-likelihood ratios 5 and partial sums C. As soon as the decoding apparatus 1 10 needs to write to some subarray S or C, the processor 1 10a can be configured to allocate for it the appropriate memory block either from the set of released memory blocks or from the memory pool. Figure 3b shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus 1 10 according to an embodiment, analogously to figure 3 a. Figure 3c shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus 110 according to an embodiment, analogously to figure 3a.
Figure 3d shows a possible implementation of various parts of a decoding algorithm implemented in a decoding apparatus 1 10 according to an embodiment, analogously to figure 3 a. Figure 4 shows an average number of iterations of different decoding algorithms implemented in a decoding apparatus 1 10 using a polar code as function of a signal-to noise ratio according to an embodiment. In this embodiment, the average number of iterations is performed by various sequential-type decoding algorithms for a (1024, 512, 28) polar subcode with child codes of length 1. In figure 4, the results of the decoding algorithm of this invention, which makes use of the path score according to equations (1) and (2), are compared to the results of the Niu-Chen stack decoding algorithm presented in the above mentioned work by Niu and Chen and the Niu-Chen algorithm with min-sum approximation for the path score function. This latter path score can be obtained from equation (1) by setting f (t) = 0. As is shown in figure 4, employing the proposed path score function according to equations (1) and (2) results in a substantial reduction of the average number of iterations performed by the processor 1 10a of decoding apparatus 1 10 compared to other prior art algorithms.
Figure 5 shows a frame error rate (FER) of different decoding algorithms implemented in a decoding apparatus 1 10 using different codes as a function of a signal-to-noise ratio according to an embodiment. In this embodiment, the (1024, 512, 28) subcode and its six decoding algorithms are the same as in figure 4. Furthermore, in figure 5, the performance (namely the FER) of a WiMAX low-density-parity-check (LDPC) (1032, 516) code is shown as well. As it can be seen from figure 5, the performances of the different decoding algorithms presented in figure 4 turn out to be very similar and better than the one of the WiMAX LDPC code. Figure 6 shows addition-equivalent operations of different decoding algorithms implemented in a decoding apparatus 1 10 using different codes as a function of a signal-to-noise ratio according to an embodiment. In this embodiment, various sequential (with child codes having a length ns = 1) and block sequential decoding algorithms are used to decode a ( 1024, 512, 28) polar code or subcode and a (1032, 516) WiMAX LDPC code. As it can be seen in figure 6, the solid line in the case of a block sequential decoding algorithm with L = 32, which corresponds to an embodiment of the invention, has the lowest addition-equivalent operations, namely the lowest decoding complexity. As a comparison, the Tal-Vardy list decoding algorithm for L - 32, n = 1024 requires 32* 1024* 10=327680 summations and comparisons, which is 46 times more than the result given by proposed algorithm implemented in the decoding apparatus 1 10. The complexity of the proposed algorithms implemented in the decoding apparatus 1 10 turns out to be less than that of a belief propagation algorithm used to decode an LDPC code with similar parameters. Furthermore, the performance of the LDPC code turns out to be worse than the performance of the polar subcode decoded using the decoding algorithm implemented in the decoding apparatus 1 10 according to an embodiment of this invention.
Figure 7 shows a frame error rate of different decoding algorithms implemented in a decoding apparatus 1 10 using different polar codes as a function of a signal-to-noise ratio according to an embodiment. The curves corresponding to the improved block sequential decoding algorithm of the invention with L = 32 pro vide better performance compared to the curves corresponding to the results reproduced using the decoding algorithm suggested in the aforementioned work by Sarakis et al. with L = 2.
Figure 8 shows throughputs of different decoding algorithms implemented in a software using different polar codes as a function of a signal-to-noise ratio according to an embodiment. Analogously to figure 7, in this case as well, the throughput in bps of the software implementation of the improved block sequential decoding algorithm of the invention with L = 32 are generally lower than the ones given by the decoding algorithm suggested in the aforementioned work by Sarakis et al. with L = 2 and L = 32. Therefore, the block sequential decoding algorithm of the invention proves for a better performance than the one suggested by Sarakis et al.
Figure 9 shows a schematic diagram of a method 900 for decoding a codeword using a polar code or subcode according to an embodiment. The method 900 for decoding the codeword of length n using the polar code or polar
Figure imgf000022_0001
Figure imgf000022_0002
subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein denotes a vector containing k information bits and n - k frozen bits, wherein wherein BM is a bit-reversal
Figure imgf000022_0003
permutation matrix, wherein V®m denotes the m-times Kronecker product of the matrix V with itself, comprises the steps of: selecting 902 at each iteration a path UQ in a code tree having a highest score, wherein the score
Figure imgf000022_0004
is defined by the following equation:
Figure imgf000022_0005
wherein denotes noisy symbols of the codeword
Figure imgf000022_0006
Figure imgf000022_0011
received at the decoding apparatus, after a transmission over a communication channel, wherein denotes a log-likelihood function of the most probable
Figure imgf000022_0007
path in a subtree of the code tree starting from wherein is an expectation
Figure imgf000022_0015
Figure imgf000022_0016
value of
Figure imgf000022_0008
assuming that
Figure imgf000022_0010
is the correct path, constructing 904 one or more possible continuations of the path computing 906 scores of
Figure imgf000022_0009
Figure imgf000022_0012
Figure imgf000022_0018
pushing them into the priority queue, and
Figure imgf000022_0013
returning 908 the codeword which corresponds to the path of length n.
Figure imgf000022_0014
Figure imgf000022_0017
While a particular feature or aspect of the disclosure may have been disclosed with respect to only one of several implementations or embodiments, such feature or aspect may be combined with one or more other features or aspects of the other implementations or embodiments as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms "include", "have", "with", or other variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprise". Also, the terms "exemplary", "for example" and "e.g." are merely meant as an example, rather than the best or optimal. The terms "coupled" and "connected", along with derivatives may have been used. It should be understood that these terms may have been used to indicate that two elements cooperate or interact with each other regardless whether they are in direct physical or electrical contact, or they are not in direct contact with each other.
Although specific aspects have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific aspects shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific aspects discussed herein.
Although the elements in the following claims are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
Many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the above teachings. Of course, those skilled in the art will readily recognize that there are numerous applications of the invention beyond those described herein. While the invention has been described with reference to one or more particular embodiments, those skilled in the art will recognize that many changes may be made thereto without departing from the scope of the invention. It is therefore to be understood that within the scope of the appended claims and their equivalents, the invention may be practiced otherwise than as specifically described herein.

Claims

1 . A decoding apparatus ( 1 10) for decoding a codeword Α of length
Figure imgf000024_0001
n using a (n = 2m, k) polar code or polar subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein ) denotes a
Figure imgf000024_0002
vector containing k information bits and n - k frozen bits, wherein > wherein Bm is a bit-reversal permutation matrix, wherein V®m
Figure imgf000024_0003
denotes the m-times Kronecker product of the matrix V with itself, wherein the decoding apparatus (1 10) comprises a processor (1 10a), which is configured to select at each iteration a path UQ in a code tree having a highest score, wherein the score is defined by the following equation:
Figure imgf000024_0004
Figure imgf000024_0005
wherein denotes noisy symbols of the codeword as
Figure imgf000024_0006
Figure imgf000024_0007
received at the decoding apparatus (1 10), after a transmission over a communication channel ( 120), wherein denotes a log-likelihood function of a most
Figure imgf000024_0008
probable path in a subtree of the code tree starting from
Figure imgf000024_0012
wherein
Figure imgf000024_0013
is an expectation value of assuming that is the correct path, to construct one
Figure imgf000024_0009
Figure imgf000024_0011
or more possible continuations of the path to compute scores of
Figure imgf000024_0014
,
Figure imgf000024_0010
Figure imgf000024_0020
0 ≤ v≤ n - 1 and to decode the codeword
Figure imgf000024_0015
, which
Figure imgf000024_0019
corresponds to the path
Figure imgf000024_0021
with the highest score
Figure imgf000024_0016
2. The decoding apparatus (1 10) of claim 1 , wherein the processor (1 10a) is further configured to compute the log-likelihood function of the most probable path in a subtree of the code tree starting from
given by:
Figure imgf000024_0017
Figure imgf000024_0018
wherein wherein the function
Figure imgf000025_0001
Figure imgf000025_0002
denotes log-likelihood ratios, and wherein the processor (1 10a) is further configured to recursively computed the log-likelihood ratios by means of the expression:
Figure imgf000025_0003
and denotes the
Figure imgf000025_0004
Figure imgf000025_0005
denote subvectors with even e and odd o
Figure imgf000025_0006
Figure imgf000025_0017
indices, respectively, and wherein denotes log-likelihood ratios of the noisy
Figure imgf000025_0007
symbols
Figure imgf000025_0008
3. The decoding apparatus (1 10) of claim 1 or 2, wherein the processor (1 10a) is further configured to compute the expectation value of , which is given by:
Figure imgf000025_0009
Figure imgf000025_0010
assuming that UQ is the correct path, wherein is a probability density function
Figure imgf000025_0011
under the assumption that a zero codeword was transmitted.
Figure imgf000025_0012
4. The decoding apparatus (1 10) of claim 1, wherein the processor (1 10a) is further configured to decompose the polar code or subcode C into child codes by applying a recursive generalized Plotkin decomposition, wherein, at a first step of the generalized Plotkin decomposition of the polar code or subcode, two child codes C0 and are obtained, wherein wherein
Figure imgf000025_0015
Figure imgf000025_0013
the symbol ° denotes a concatenation operator and wherein a set of frozen bit indices defined by
Figure imgf000025_0016
Figure imgf000025_0014
respectively.
5. The decoding apparatus (1 10) of claim 1 , 2 or 4, wherein the processor (1 10a) is configured to construct the possible continuations of the path by means of a
Figure imgf000026_0001
Figure imgf000026_0002
list soft decision decoding algorithm of a vector of values in the child codes,
Figure imgf000026_0003
wherein v is the length of the corresponding child code.
6. The decoding apparatus (1 10) of claims 1, 4 or 5, wherein the processor (1 10a) is further configured to construct a most probable codeword of a child code immediately upon obtaining the vector of values and to construct less probable
Figure imgf000026_0004
codewords later on-demand.
7. The decoding apparatus (1 10) of claim 4, wherein the processor (1 10a) is further configured to decompose the child codes
Figure imgf000026_0008
by means of the recursive generalized Plotkin decomposition until one of the following outer codes is obtained: a (ns, 0) rate-zero code, wherein ns = 2r, r < m, a (ns, ns) rate-one code, a (ns, 1) repetition code, a (ns, ns - 1) single parity check code, a (ns, 2) interleaved repetition code, a (ns, ns - 2) interleaved single parity check code, a
Figure imgf000026_0007
first order Reed-Muller code serially concatenated with a [t, 1) code, wherein t is a power of 2, a
Figure imgf000026_0005
supercode of a first order Reed-Muller code or a extended Hamming code, its subcode or its supercode.
Figure imgf000026_0006
8. The decoding apparatus (1 10) of claim 7, wherein the processor (1 10a) is further configured to decode the first order Reed-Muller code serially concatenated with the (t, 1) code and the supercode of the first order Reed-Muller code by means of a Walsh- Hadamard transform, to decode the Hamming code, its subcode and supercode using a Plotkin concatenation of a first Reed-Muller code and a (8,7,2) or a (8,8,1) code, to decode the interleaved single parity check codes using two decoders of a single parity check code, to decode the interleaved repetition code by means of an exhaustive enumeration of all codewords.
9. The decoding apparatus (1 10) of claim 5 or 7, wherein the processor (1 10a) is further configured to skip a soft-decision decoding of a child code if
Figure imgf000027_0001
wherein Hs is a check matrix of the child code and wherein the vector
Figure imgf000027_0002
represents a hard decision vector corresponding to log-likelihood ratios passed to a decoder of an outer code.
1 0. A method (900) for decoding a codeword of length n using a
Figure imgf000027_0003
(n = 2M, k) polar code or polar subcode C having a set of frozen bit indices F, wherein m is a positive integer number, wherein denotes a
Figure imgf000027_0004
vector containing k information bits and frozen bits, wherein
Figure imgf000027_0005
wherein is a bit-reversal permutation matrix, wherein V®m
Figure imgf000027_0006
Figure imgf000027_0019
denotes the m-times Kronecker product of the matrix V with itself, the method comprising the steps of:
selecting (902) at each iteration a path
Figure imgf000027_0008
in a code tree having a highest score, wherein the score , is defined by the following
Figure imgf000027_0007
equation:
Figure imgf000027_0009
wherein denotes noisy symbols of the codeword
Figure imgf000027_0010
Figure imgf000027_0011
received at the decoding apparatus, after a transmission over a communication channel, wherein denotes a log-likelihood function of the most probable
Figure imgf000027_0012
path in a subtree of the code tree starting from wherein is an expectation
Figure imgf000027_0013
Figure imgf000027_0014
value of assuming that UQ is the correct path;
Figure imgf000027_0015
constructing (904) one or more possible continuations of the path
Figure imgf000027_0016
Figure imgf000027_0017
computing (906) scores
Figure imgf000027_0018
decoding the codeword which corresponds to the path with the highest
Figure imgf000028_0002
Figure imgf000028_0003
score
Figure imgf000028_0001
1 1. A computer program comprising a program code for performing the method of claim 10 when executed on a computer.
Figure imgf000028_0004
PCT/RU2016/000489 2016-07-27 2016-07-27 Decoding of polar codes and polar subcodes WO2018021926A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2016/000489 WO2018021926A1 (en) 2016-07-27 2016-07-27 Decoding of polar codes and polar subcodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2016/000489 WO2018021926A1 (en) 2016-07-27 2016-07-27 Decoding of polar codes and polar subcodes

Publications (2)

Publication Number Publication Date
WO2018021926A1 true WO2018021926A1 (en) 2018-02-01
WO2018021926A8 WO2018021926A8 (en) 2018-12-27

Family

ID=58046727

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2016/000489 WO2018021926A1 (en) 2016-07-27 2016-07-27 Decoding of polar codes and polar subcodes

Country Status (1)

Country Link
WO (1) WO2018021926A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110912567A (en) * 2018-09-14 2020-03-24 华为技术有限公司 Decoding method and device of polarization code
US10608669B2 (en) 2018-02-16 2020-03-31 At&T Intellectual Property I, L.P. Performance of data channel using polar codes for a wireless communication system
CN112534724A (en) * 2018-09-13 2021-03-19 华为技术有限公司 Decoder and method for decoding polarization code and product code
CN114866093A (en) * 2022-04-30 2022-08-05 哈尔滨工业大学 Efficient codebook selection method for polar code-oriented rapid serial offset list decoding

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104412B (en) * 2020-11-17 2021-02-02 四川九洲电器集团有限责任公司 Accelerator suitable for low-orbit satellite broadband communication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150295593A1 (en) 2014-04-10 2015-10-15 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding data in twisted polar code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150295593A1 (en) 2014-04-10 2015-10-15 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding data in twisted polar code

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
E. ARIKAN: "Channel polarization: A method for ) constructing capacity achieving codes for symmetric binary-input memoryless channels", IEEE TRANS. ON INF. THEORY, vol. 55, no. 7, July 2009 (2009-07-01), pages 3051 - 3073, XP011262510
G. SARKIS ET AL.: "Fast List Decoders For Polar Codes", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 34, no. 2, 2016, XP011593862, DOI: doi:10.1109/JSAC.2015.2504299
G. TROFIMIUK; P. TRIFONOV: "Block Sequential Decoding Of Polar Codes", PROCEEDINGS OF INTERNATIONAL SYMPOSIUM ON WIRELESS COMMUNICATION SYSTEMS, 2015
K. NIU; K. CHEN: "Stack decoding of polar codes", ELECTRONICS LETTERS, vol. 48, no. 12, June 2012 (2012-06-01), pages 695 - 697, XP006040947, DOI: doi:10.1049/el.2012.1459
NIU K ET AL: "Stack decoding of polar codes", ELECTRONICS LETTERS, IEE STEVENAGE, GB, vol. 48, no. 12, 7 June 2012 (2012-06-07), pages 695 - 697, XP006040947, ISSN: 0013-5194, DOI: 10.1049/EL.2012.1459 *
P. TRIFONOV; V. MILOSLAVSKAYA: "Polar subcodes", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 34, no. 2, February 2016 (2016-02-01), pages 254 - 266, XP011593857, DOI: doi:10.1109/JSAC.2015.2504269
TAL; VARDY: "List decoding of polar codes", PROC. OF IEEE INT. SYMP. ON INF. THEORY, 2011, pages 1 - 5, XP031971568, DOI: doi:10.1109/ISIT.2011.6033904
TROFIMIUK GRIGORII ET AL: "Block sequential decoding of polar codes", 2015 INTERNATIONAL SYMPOSIUM ON WIRELESS COMMUNICATION SYSTEMS (ISWCS), IEEE, 25 August 2015 (2015-08-25), pages 326 - 330, XP032891923, DOI: 10.1109/ISWCS.2015.7454356 *
V. MILOSLAVSKAYA; P. TRIFONOV: "Sequential decoding of polar codes", IEEE COMMUNICATIONS LETTERS, vol. 18, no. 7, 2014, pages 1127 - 1130
V. MILOSLAVSKAYA; P. TRIFONOV: "Sequential decoding of polar codes", IEEE COMMUNICATIONS LETTERS, vol. 18, no. 7, July 2014 (2014-07-01), pages 1127 - 1130, XP011553003 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10608669B2 (en) 2018-02-16 2020-03-31 At&T Intellectual Property I, L.P. Performance of data channel using polar codes for a wireless communication system
US11316539B2 (en) 2018-02-16 2022-04-26 At&T Intellectual Property I, L.P. Performance of a data channel using polar codes for a wireless communication system
CN112534724A (en) * 2018-09-13 2021-03-19 华为技术有限公司 Decoder and method for decoding polarization code and product code
CN112534724B (en) * 2018-09-13 2024-04-09 华为技术有限公司 Decoder and method for decoding polarization code and product code
CN110912567A (en) * 2018-09-14 2020-03-24 华为技术有限公司 Decoding method and device of polarization code
CN114866093A (en) * 2022-04-30 2022-08-05 哈尔滨工业大学 Efficient codebook selection method for polar code-oriented rapid serial offset list decoding

Also Published As

Publication number Publication date
WO2018021926A8 (en) 2018-12-27

Similar Documents

Publication Publication Date Title
RU2571587C2 (en) Method and device for encoding and decoding data in convoluted polar code
US9319070B2 (en) Method and device for decoding polar codes
CN109660264B (en) High performance polar code decoding algorithm
Trifonov A score function for sequential decoding of polar codes
EP3447925B1 (en) Method and apparatus for generating hybrid polar code
CN107026656B (en) CRC-assisted medium-short code length Polar code effective decoding method based on disturbance
US8010869B2 (en) Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
WO2018021926A1 (en) Decoding of polar codes and polar subcodes
US8627153B2 (en) Method and device for encoding symbols with a code of the parity check type and corresponding decoding method and device
US20120185755A1 (en) Method for performing soft decision decoding of euclidean space reed-muller codes
US10924137B2 (en) Apparatus and method for generating polar codes
US10892848B2 (en) Devices and methods implementing polar codes
KR20120023403A (en) Method and apparatus for decoding of product codes
Vangala et al. Permuted successive cancellation decoder for polar codes
Kumar et al. On unequal error protection LDPC codes based on Plotkin-type constructions
WO2018179246A1 (en) Check bit concatenated polar codes
US11245424B2 (en) Device and method for generating a multi-kernel polar code
Oliveira et al. Puncturing based on polarization for polar codes in 5G networks
Chandesris et al. On puncturing strategies for polar codes
Dou et al. Soft-decision based sliding-window decoding of staircase codes
US11387849B2 (en) Information decoder for polar codes
EP3652864B1 (en) Construction of a polar code based on a distance criterion and a reliability criterion, in particular of a multi-kernel polar code
US20220337269A1 (en) Block code encoding and decoding methods, and apparatus therefor
EL KAIME et al. A survey of polar codes
JP5523064B2 (en) Decoding apparatus and method

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: 16836248

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16836248

Country of ref document: EP

Kind code of ref document: A1