Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CODING AND DECODING OF POLAR CODES EXTENDED TO LENGTHS WHICH ARE NOT POWERS OF TWO
Document Type and Number:
WIPO Patent Application WO/2018/030910
Kind Code:
A1
Abstract:
The invention relates to apparatuses and methods for encoding data and decoding data. For instance, the invention relates to an encoding apparatus (102) for encoding data x of dimension k into a codeword c of length n, wherein the encoding apparatus (102) comprises a processor (102a) configured to encode the data x using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d, wherein n = 2 m1 + ··· + 2 ms , wherein m h , h = 1,..., s, is an integer number, on the basis of the equation c = uA, wherein u i = x Ji ., 0 ≤ Ji < k - 1, if i ∉ F, wherein F is a set of n - k frozen bit indices of the code C(n, k, d), and (I), wherein V is a constraint matrix given by a solution of the equation WVT = 0, wherein φ i is an index of a row of the matrix V, which has a last non-zero element in column i, and wherein W is a precoding matrix and wherein A is a matrix defined on the basis of (II) denotes the m-times Kronecker product of a matrix Q with itself.

Inventors:
KURMAEV OLEG FEATEVICH (CN)
TRIFONOV PETER VLADIMIROVICH (RU)
RAZINKIN ALEXEY MIKHAILOVICH (CN)
MAEVSKIY ALEXEY EDUARDOVICH (CN)
Application Number:
PCT/RU2016/000539
Publication Date:
February 15, 2018
Filing Date:
August 12, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
KURMAEV OLEG FEATEVICH (CN)
International Classes:
H03M13/13
Foreign References:
CN105141322A2015-12-09
US20150295593A12015-10-15
Other References:
TRIFONOV PETER ET AL: "Polar Subcodes", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 34, no. 2, February 2016 (2016-02-01), pages 254 - 266, XP011593857, ISSN: 0733-8716, [retrieved on 20160115], DOI: 10.1109/JSAC.2015.2504269
NIU KAI ET AL: "Polar codes: Primary concepts and practical decoding algorithms", IEEE COMMUNICATIONS MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 52, no. 7, July 2014 (2014-07-01), pages 192 - 203, XP011553413, ISSN: 0163-6804, [retrieved on 20140710], DOI: 10.1109/MCOM.2014.6852102
MAYANK BAKSHI ET AL: "Concatenated Polar codes", PROC., IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY, ISIT 2010, IEEE, PISCATAWAY, NJ, USA, 13 June 2010 (2010-06-13), pages 918 - 922, XP031710549, ISBN: 978-1-4244-7890-3
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
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
I TAL; A VARDY: "List decoding of polar codes", PROC IEEE INT SYMP INF THEORY, July 2011 (2011-07-01), pages 1 - 5, XP031971568, DOI: doi:10.1109/ISIT.2011.6033904
V. MILOSLAVSKAYA; P TRIFONOV: "Sequential decoding of polar codes", IEEE COMMUN LETT, vol. 18, no. 7, July 2014 (2014-07-01), pages 1127 - 1130
N J A SLOANE ET AL.: "New binary codes", IEEE TRANS ON INFORM THEORY, vol. IT-18, July 1972 (1972-07-01), pages 503 - 510
W ALLTOP: "A Method for Extending Binary Linear Codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 30, no. 6, November 1984 (1984-11-01)
Attorney, Agent or Firm:
LAW FIRM "GORODISSKY & PARTNERS" LTD (RU)
Download PDF:
Claims:
CLAIMS

1. An encoding apparatus (102) for encoding data x of dimension k into a codeword c of length n, wherein the encoding apparatus (102) comprises: a processor (102a) configured to encode the data x using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d, wherein n = 2™1 + ··· + 2m$ , wherein mh , h = 1, ... , s, is an integer number, on the basis of the equation: c = uA, wherein u; = xj. , 0 < jt < k - 1, if i £ F, wherein F is a set of n - k frozen bit indices of the code C(n, k, d), and it; = V^.;S s, if ί ε F, wherein V is a constraint matrix given by a solution of the equation:

T ---- 0, wherein φ is an index of a row of the matrix V, which has a last non-zero element in column i, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein Amh = -jj ■ and wnerein Φ®"1 denotes the m-times Kronecker product of a matrix ρ with itself. 2. The encoding apparatus (102) of claim 1 , wherein the processor (102a) is further configured to construct the code C(n, k, d) on the basis of a plurality of nested linear block codes CiJ (2mi, (rij, ci )1 ft:ij +1 > Ki . O≤j < T(, wherein xt is a positive integer, wherein a generator matrix of ,- (2mi, Κί }, d^) is given by the equation:

wherein is a x 2mi matrix, Ku -∑sJ=0 ki s, wherein a precoding matrix of G^J"> is defined by = Gi J) 1J , wherein a precoding matrix of is defined by l O ) _ (u) ^ j ^ wherein an index liiP of a column, where a p-th row of the matrix ΐ 'τ* _1) starts, is defined by the equation li p = min 0≤t<2i t , 0≤p < 2mi , and to iv(i i _l)=i

construct the precoding matrix W as a block matrix, wherein the blocks of the precoding matrix W consist of selected rows of the matrices w^

3. The encoding apparatus (102) of claim 2, wherein the plurality of nested linear block codes ^(ΐ^, Κ^, ά^) are extended Bose-Chaudhuri-Hocquenghem (e-BCH) codes.

4. The encoding apparatus (102) of any one of the preceding claims, wherein the processor (102a) is further configured to construct a precoding matrix W of the code C(n, k, d) as follows:

wherein = max;;d. ≥d y is an index of a largest e-BCH code of length 2mi having a minimum distance of at least d and wherein ffl fi is a matrix defined on the basis of the matrix W.

5. The encoding apparatus (102) of any one of claims 2 to 4, wherein the processor (102a) is further configured to construct the matrix by means of rows of the matrix ΜΚ'"7 ) having the smallest value of PMIJ,I P , wherein PM F is an error probability in a bit subchannel Μςί0 (yo "*~ 1. "o~ 1 lM · wherein y0zrn_1 = y0 ... y2m_1 denotes 2m - 1 noisy symbols of the codeword c after a transmission over a communication channel (1 10).

6. The encoding apparatus (102) of any one of the preceding claims, wherein the processor (102a) is further configured to construct a first plurality of t rows of the matrix V in such a way that the last non-zero elements in the first plurality of t rows are located in distinct positions j, j≥ j0 for some integer j0, to construct elements of the first plurality of t rows located in columns having an index z < j by means of a pseudorandom number generator, and to construct a second plurality of n - k - t rows of matrix V as distinct weight-one rows. 7. The encoding apparatus (102) of claim 6, wherein the pseudorandom number generator is a linear feedback shift register.

8. The encoding apparatus (102) of any one of claims 2 to 7, wherein the processor (102a) is further configured to arrange the rows of the matrix w^ ri+i^ or W^^ in an ascending order of the values li p and lJ p respectively.

9. The encoding apparatus (102) of any one of claims 2 to 8, wherein the processor (102a) is configured to construct the matrix W based on k rows of the matrix W with the smallest values of li p.

10. A method (500) for encoding data x of dimension k into a codeword c of length n, wherein the method comprises the step of: encoding (502) the data x using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d, wherein n = 2™1 + ··· + 2m*, wherein mh , h = l, ... , s, is an integer number, on the basis of the equation: c - uA, wherein ut = xj. , 0 < ji < k - 1, if i € F, wherein F is a set of n - k frozen bit indices of the code C(n, k, d), and =∑¾V0. sus, if i e F, wherein V is a constraint matrix given by a solution of the equation:

WVr = 0, wherein φι is an index of a row of the matrix V, which has a last non-zero element in column t, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein Amh = m-times Kronecker product of

a matrix Q with itself.

1 1. A decoding apparatus (104) for decoding a codeword c of length n, wherein the decoding apparatus (104) comprises: a processor (104a) configured to decode the codeword c using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d , wherein n = 2mi + ··· + 2ms , wherein mh , h = 1, ... , s, is an integer number, wherein: c = uA, wherein it; = xjt , 0 < jt < k - 1, wherein x is data of dimension A:, if i £ F, wherein F is a set of n - k frozen bit indices of the code C(n, k, d) and «(· =∑s=o v i;s"s. »f ί e , wherein V is a constraint matrix given by a solution of the equation:

WVr = 0, wherein φι is an index of a row of the matrix V, which has a last non-zero element in column t, wherein W is a precoding matrix, and wherein A is defined as follows:

/1

wherein Amh = ( J ") and wherein Q®m denotes the m-times Kronecker product of a matrix Q with itself.

12. The decoding apparatus (104) of claim 11 , wherein the processor (104a) is further configured to decode the codeword c by means of a generalization of a successive cancellation algorithm. 3. The decoding apparatus (104) of claim 12, wherein the processor (104a) is further configured to compute u by means of the following equations:

and

Ui = arg max^. [yt. , utl. 1| i J, if i g F wherein φ; is an index of a row of the matrix V, which has a last non-zero element in column i, wherein yj_1 = y0 ... yn_x denotes n noisy symbols of the codeword c after a transmission over a communication channel 1 10 to the decoding apparatus, μ; = log2(2ilo82 nl - and tt = 2^ *1 - 2^+1.

14. The decoding apparatus (104) of claim 13, wherein the processor (104a) is further configured to compute before ui2 , if = ίζ and < i2 , and to compute us: V^. s≠ 0, s < i, before it;, if i e F.

15. A method (600) for decoding a codeword c of length n , wherein the method comprises the step of: decoding (602) the codeword c using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d , wherein n = 2mi + -- + 2ms , wherein mh , h = 1, ... , s, is an integer number, wherein: c = v , wherein ut < k - 1, wherein x is data of dimension k, if i g F, wherein F is a set of n - k frozen bit indices of the code C(n, k, d) and u; =∑s=o v0(,sus' if i e F , wherein V is a constraint matrix given by a solution of the equation:

WVr = 0, wherein φι is an index of a row of the matrix V, which has a last non-zero element in column t, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein Amh = ( J , and wherein Q®m denotes the m-times Kronecker product of a matrix Q with itself.

16. A computer program comprising a program code for performing the method (500) of claim 10 and the method (600) of claim 15 when executed on a computer.

Description:
CODING AND DECODING OF POLAR CODES EXTENDED TO LENGTHS

WHICH ARE NOT POWERS OF TWO

TECHNICAL FIELD In general, the present invention relates to data encoding and decoding in communication systems. In particular, the present invention relates to apparatuses and methods for encoding data and decoding data using codes based on polar codes or subcodes.

BACKGROUND

Reliable transmission of data over noisy communication channels usually 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.

Polar subcodes (see P. Trifonov and V. Miloslavskaya, "Polar subcodes", IEEE Journal on Selected Areas in Communications, 34(2):254-266, February 2016) were shown to have higher minimum distance than classical polar codes, and provide substantially better performance under list, sequential and block sequential decoding ( see I. Tal and A. Vardy, "List decoding of polar codes," in Proc. IEEE Int. Symp. Inf. Theory, Jul. 201 1 , pp. 1-5 and V. Miloslavskaya and P. Trifonov, "Sequential decoding of polar codes," IEEE Commun. Lett., vol. 18, no. 7, pp. 1 127-1 130, Jul. 2014). However, the performance of polar subcodes can still be improved.

In general, a (n = 2 m , k) polar subcode C over GF(2) can be defined as a set of vectors c = xWA m , wherein W represents a k x n precoding matrix, A m = ^ J represent a polarizing transformation, and Q® m denotes the m-times Kronecker product of a matrix Q with itself. Classical polar codes can be obtained by taking the matrix W, such that each column of W has weight at most 1 , and each row has weight 1. Polar subcodes can be obtained by taking W such that the vectors c are also codewords of some parent code which has sufficiently high minimum distance, i.e. H T = 0 , wherein H is a check matrix of the parent code. For example, it is shown that extended Bose-Chaudhuri-Hocquenghem (BCH) can be good parent codes. Another equivalent way to define a polar subcode is to consider it as a set of vectors c = uA , wherein uV T = 0 , and wherein V is a (n - k) x n constraint matrix, such that WV T = 0. By means of a Gaussian elimination, the matrix V can be constructed in such a way that at most one row ends in each column. Afterwards, the following set of constraints on the input symbols £ of the polarizing transformation A m can be obtained:

M i =∑s<j f v is =i u s , Q≤ i < n - k, wherein ji is the position of the last non-zero entry in the t-th row of V. The symbols j t are also denoted dynamic frozen symbols. These dynamic frozen symbols can be considered as a generalization of the concept of (static) frozen symbol used in the construction of classical polar codes. A standard way to construct a polar subcode is to construct a matrix V = HA T , where H is a check matrix of a parent code, and then introduce additional constraints uj l - 0 (static freezing constraints) for symbols with the highest error probability P 7i , wherein P t denotes the bit error probability in the synthetic bit subchannel induced by the polarizing transformation A m , wherein a transition probability function can be described as follows: wherein W(y\c) is the transition probability function of the underlying binary input memoryless output-symmetric channel, and = ( έ , ... , af).

Another approach to describe polar subcodes is to define a set F of frozen bit indices such that u ji is either fixed or depends on prior symbols, and to consider a generator matrix G of a parent code. Afterwards, a matrix W = GA^ can be computed and a Gaussian elimination can be applied to this matrix, in order to ensure that distinct rows start (i.e. have the first non-zero entry) in different columns, and then the rows with the highest P s wherein s ; is the position at which the i-th row starts, can be eliminated from the obtained matrix.

All the above described approaches provide codes of length 2 m . However, for practical applications, the construction of codes having any code length is desirable. In order to obtain codes having a length different from 2 m , several techniques can be applied, for example the so-called shortening and puncturing techniques. According to the shortening technique, given a C(N,K,D) linear block code, a

(n = N ~v,k = K -v,d≥ D) shortened code can be obtained from the code C as a set of vectors (c^, ...,c in ): (q, ...,c N ) e C, c Jt = 0, j t e S, 1≤ t < v, i s <2 S, 1 < s≤ n , wherein S denotes a set of shortened symbols. According to the puncturing technique, given a (TV, K, D) linear block code C , a (n = N -v,k < K,d≥ D - v) punctured code can be obtained from the code C as a set of vectors ( ^, .... j: (<¾, ...,c w ) eC, i t $ P,l≤ t≤n, wherein P denotes a set of punctured symbols. In general, the sets of punctured symbols P and the set of shortened symbols S need to be optimized in order to obtain a satisfying performance of the code and the choice of the sets P and S affects the optimal choice of the set F. Since the sets F, P and S have to be jointly optimized, the construction of the code becomes extremely complex. Moreover, heavily shortened or punctured codes do not have a satisfying performance.

Another way to obtain codes of different lengths is to use concatenation techniques. An example of such techniques is given by the so-called X4 construction described in the work by N. J. A. Sloane et al., "New binary codes," IEEE Trans. On Inform. Theory, vol. IT-18, pp. 503-510, July 1972. This construction is based on linear codes

^( ο,/ίο/^ολ^ι^ο^ι.^ι).^^ ^-^)-^^ * ^/^) . sucn tnat C 0 cCi,C 2 cC 3 , k 1 -k Q = k- i -k 2 , and it is assumed that C t has a generator matrix G t , wherein G x =

(^°),G 3 = (^, 2 ,)· In such a way, an (n Q +n 2 ,k 0 + k 3 , in(d 0l d 2 ,d 1 +d 3 )) code having a generator matrix G given by the following equation: can be obtained. Another example of a concatenation technique is given by the so-called XX construction described in the work by W. Alltop, "A Method for Extending Binary Linear Codes", IEEE Transactions on Information Theory, 30(6), November 1984, which is based - + n 6 , /c 1 , min(d 4 , d 2 + ^5. ^3 + d 6 , d 1 + d 5 + d 6 )) code having a generator matrix G given by the following equation:

can be obtained. However, the performance of the codes obtained by means of concatenation techniques still can significantly be improved.

Thus, there is a need for improved apparatuses and methods for encoding data and decoding data using codes based on polar codes or subcodes.

SUMMARY

It is an object of the invention to provide improved apparatuses and methods for encoding data and decoding data using codes based on polar codes or subcodes as well as to specify these codes in an efficient way.

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 an encoding apparatus for encoding data x of dimension k into a codeword c of length n. The encoding apparatus comprises a processor configured to encode the data x using a C(n, k, d) code, wherein the code C n, k, d) has a length n and a minimum distance d, wherein n = 2 mi + ··· + 2 ms , wherein m h , h = l, ... , s, is an integer number, on the basis of the equation: c = uA, wherein u t = x , 0 < j t < k - 1, if i £ F, wherein F is a set of n - k frozen bit indices of the code C(n, k, d), and = V 0 . s s , if i e F, wherein V is a constraint matrix given by a solution of the equation:

WV T = 0, wherein φ έ is an index of a row of the matrix V, which has a last non-zero element in column i, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein A mh = he m-times Kronecker product of

a matrix Q with itself. In a first possible implementation form of the encoding apparatus according to the first aspect as such, the processor is further configured to construct the code C(n, k, d) on the basis of a plurality of nested linear block codes Cij(2 mi , K iij , d t j), K i + 1 > K it j, Q≤j < τ ( ·, wherein ^ is a positive integer, wherein a generator matrix of C i j(2 mi , Ki , d i j) is given by the equation:

wherein is a k it j x 2 mi matrix, Κ ί>} =∑ J s=0 k i s , wherein a precoding matrix of is

^ "J , wherein a precoding matrix of is defined by

(1 O

^ , wherein an index l i p of a column, where a p-th row of the matrix

W {l,T l) starts, is defined by the equation l i p = min 0≤t<2 ; i , 0 < p < 2 mf , and to construct the precoding matrix W as a block matrix, wherein the blocks of the precoding matrix W consist of selected rows of the matrices W^. In a second possible implementation form of the encoding apparatus according to the first implementation form of the first aspect, the plurality of nested linear block codes Kij. dij) are extended Bose-Chaudhuri-Hocquenghem (e-BCH) codes. In a third possible implementation form of the encoding apparatus according to the first aspect as such or any one of the first to second implementation form thereof, the processor is further configured to construct a precoding matrix W of the code C(n, k, d) as follows:

wherein = max j . d .. ≥d j is an index of a largest e-BCH code of length 2 mi having a minimum distance of at least d and wherein is a matrix defined on the basis of the matrix w.

In a fourth possible implementation form of the encoding apparatus according to any one of the first to third implementation form of the first aspect, the processor is further configured to construct the matrix by means of rows of the matrix wH i/l ) having the smallest value of P mj,/i p , wherein P m i is an error probability in a bit subchannel wherein y " 1'1 = y 0 ... 2 m_ 1 denotes 2 m - 1 noisy symbols of the codeword c after a transmission over a communication channel.

In a fifth possible implementation form of the encoding apparatus according to the first aspect as such or any one of the first to fourth implementation form thereof, the processor is further configured to construct a first plurality of t rows of the matrix V in such a way that the last non-zero elements in the first plurality of t rows are located in distinct positions ; ' , / > j 0 for some integer ; 0 , wherein the number of non-zero bits in the binary expansion of the integer j is set equal to w 0 , to construct elements of the first plurality of t rows located in columns having an index z < j by means of a pseudorandom number generator, and to construct a second plurality of n - k - t rows of matrix V as distinct weight-one rows. In a sixth possible implementation form of the encoding apparatus according to the fifth implementation form of the first aspect, the pseudorandom number generator is a linear feedback shift register. In a seventh possible implementation form of the encoding apparatus according to any one of the first to sixth implementation form of the first aspect, the processor is further configured to arrange the rows of the matrix w^ ,ri+l ^ or in an ascending order of the values l iiP and l j p respectively. In an eighth possible implementation form of the encoding apparatus according to any one of the first to seventh implementation form of the first aspect, the processor is configured to construct the matrix W based on k rows of the matrix W with the smallest values of l i p .

According to a second aspect the invention relates to a method for encoding data x of dimension k into a codeword c of length n. The method comprises the step of: encoding the data x using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d, wherein n - 2 mi + ··· + 2 ms , wherein m h , h = 1, ... , s, is an integer number, on the basis of the equation: c = uA, wherein Uj = x , 0≤ j t < k - 1, if i i f, wherein F is a set of n - k frozen bit indices of the code C(n, k, d), and u t =∑^= 0 V 0j>s ii s , if i e F, wherein V is a constraint matrix given by a solution of the equation:

WV T = 0, wherein ( - is an index of a row of the matrix ¥, which has a last non-zero element in column i, wherein W is a precoding matrix, and wherein A is defined as follows:

ί\ U ®™' 1

wherein A mh = ^ J , and wherein Q 59 ™ denotes the m-times Kronecker product of a matrix Q with itself.

The method according to the second aspect of the invention can be performed by the encoding apparatus according to the first aspect of the invention. Further features of the method according to the second aspect of the invention result directly from the functionality of the encoding apparatus according to the first aspect of the invention and its different implementation forms.

According to a third aspect the invention relates to a decoding apparatus for decoding a codeword c of length n. The decoding apparatus comprises a processor configured to decode the codeword c using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d, wherein n = 2 mi + ··· + 2 ms , wherein m h , h - l, ... , s, is an integer number, wherein: c = uA, wherein it; = x jl , 0≤ j t < k - 1, wherein x is data of dimension k, if i & F, wherein F is a set of n - k frozen bit indices of the code C(n, k, d) and u; =∑s=o ^0 ((S u s , if i 6 F , wherein V is a constraint matrix given by a solution of the equation:

WV r = 0, wherein φ έ is an index of a row of the matrix V, which has a last non-zero element in column i, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein A mh = ") . and wherein Q® m denotes the m-times Kronecker product of a matrix Q with itself. In a first possible implementation form of the decoding apparatus according to the third aspect as such, the processor is further configured to decode the codeword c by means of a generalization of a successive cancellation algorithm. In a second possible implementation form of the decoding apparatus according to the first implementation form of the third aspect, the processor is further configured to compute u by means of the following equations: fi. =∑5= 0 ¾,s#s. if i e F

and

u t = arg max Ui if ι g F

wherein is an index of a row of the matrix V, which has a last non-zero element in column i, wherein _1 = y 0 ... y n→ denotes n noisy symbols of the codeword c after a transmission over a communication channel to the decoding apparatus, . = [\og 2 {2 l]og2 n] - OJ. and c i = 2 ί1ο β 2 "1 - 2"' +1 .

In a third possible implementation form of the decoding apparatus according to the second implementation form of the third aspect, the processor is further configured to compute before u i2 , if = μ ίζ and < i 2 , and to compute s : ν φ . >5 ≠ 0, s < i, before if i e F.

According to a fourth aspect, the invention relates to a method for decoding a codeword c of length n, wherein the method comprises the step of: decoding the codeword c using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d, wherein n = 2 Wl + ··· + 2 ms , wherein m h , h = l, ... , s, is an integer number, wherein: c = uA, wherein u t = xj , 0 < j < k - 1, wherein x is data of dimension k, if i g F, wherein F is a set of n - / frozen bit indices of the code C(n, / , d) and ; = ν φ . s u s , if t e F, wherein V is a constraint matrix given by a solution of the equation:

WV r = 0, wherein φ { is an index of a row of the matrix V, which has a last non-zero element in column i, wherein W is a precoding matrix, and wherein A is defined as follows:

0

0 0

A =

0

/I O ®" 1 "

wherein A mh = , and wherein Q 59 ™ denotes the m-times Kronecker product of a matrix Q with itself. The method according to the fourth aspect of the invention can be performed by the decoding apparatus according to the third aspect of the invention. Further features of the method according to the fourth aspect of the invention result directly from the functionality of the decoding apparatus according to the third aspect of the invention and its different implementation forms.

According to a fifth aspect, the invention relates to a computer program comprising a program code for performing the method according to the second aspect of the invention and the method according to the fourth aspect of the invention 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 illustrating a communication system comprising an encoding apparatus according to an embodiment and a decoding apparatus according to an embodiment;

Fig. 1 a shows four exemplary generator matrices of extended BHC codes used to construct a code according to an embodiment; Fig. 1 b shows three exemplary generator matrices of extended BHC codes used to construct a code according to an embodiment; Fig. 1 c shows four exemplary precoding matrices of generator matrices of extended BHC codes used to construct a code according to an embodiment;

Fig. 1 d shows three exemplary precoding matrices of generator matrices of extended BHC codes used to construct a code according to an embodiment;

Fig. 1 e shows an exemplary precoding matrix of a parent code according to an embodiment;

Fig. 1 f shows an exemplary precoding matrix of a code according to an embodiment;

Fig. 1 g shows an exemplary constraint matrix of a code according to an embodiment;

Fig. 2 shows a schematic diagram of a structure of an encoding apparatus for a code based on chained polar subcode according to an embodiment;

Fig. 3 shows frame error rates (FER) of different codes as a function of a signal-to-noise ratio (E b /N 0 ) in dB according to an embodiment;

Fig. 4 shows frame error rates (FER) of different codes as a function of a signal-to-noise ratio (E b /N Q ) in dB according to an embodiment;

Fig. 5 shows a schematic diagram of a method for encoding data x of dimension k into a codeword c of length n according to an embodiment; and Fig. 6 shows a schematic diagram of a method for decoding a codeword c of length n 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 present 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 illustrating a communication system 100 comprising an encoding apparatus 102 and a decoding apparatus 104, which can communicate via a communication channel 110.

The encoding apparatus 102 comprises a processor 102a and is configured to encode data. Likewise, the decoding apparatus 104 comprises a processor 104a and is configured to decode data, in particular data encoded by the encoding apparatus 102. The encoding apparatus 102 and/or the decoding apparatus 104 can be implemented as part of a communication device, such as a mobile phone or a base station of a cellular communication network. In an embodiment, the processor 102a is configured to encode data x of dimension k into a codeword c of length n using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d , wherein n - 2 mi + --- + 2 ms , wherein m h > m h+1 , /i = 1, ... , s, is an integer number, on the basis of the equation: c = uA, wherein u t - x j . , 0 < j t < k - 1, if i ί F, wherein F is a set of n - k frozen bit indices of the code C n, k, d), and u; = ν ψ . ι5 ιι 5( if i e F, wherein ¥ is a constraint matrix.

The constraint matrix ¥ is given by a solution of the equation:

WV T = 0, wherein φι is an index of a row of the matrix ¥, which has a last non-zero element in column i, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein l mft = m-times Kronecker product of

a matrix Q with itself.

In an embodiment, similarly to the processor 102a, the processor 104a of the decoding apparatus 104 is configured to decode the codeword c using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d, wherein n = 2 mi + ··· + 2 ms , wherein m h > m h+1 , h = l, ... , s, is an integer number, wherein: c = uA, wherein j = Xj , 0 < j < k - 1, wherein x is data of dimension k, if i £ , wherein F is a set of n - k frozen bit indices of the code C(n, k, d) and u t =∑½=ο ¥φ ίΑ ι , if i e F, wherein ¥ is a constraint matrix given by a solution of the equation: WV 1 = 0, wherein φι is an index of a row of the matrix V, which has a last non-zero element in column t, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein A mh - m-times Kronecker product of

a matrix Q with itself.

The communication channel 1 10 can be a wired or a wireless communication channel.

In an embodiment, the processor 102a can be configured to generate the constraint matrix V on the basis of the following steps:

1 st step: construct generator matrices = of nested extended primitive

narrow-sense BCH codes C i - (2"\ K jl 0≤j < T h wherein 6 (ί,Λ is a k j x 2 i matrix, Kij -∑ 5 =o fc i,s - anc ^ define the corresponding precoding matrices of as:

W'J> = G«J> (l ^ and W^ = G^ J) wherein an index of a column where the p th row of the matrix starts is defined by: l i p = min 0≤t<2 i t , 0 < p < 2 m i .

v p ( .t l) =i x

In an embodiment, it can be assumed that for any i all l i p are distinct and, in general, the integer number ^ is equal to the number of irreducible polynomials of degree M, wherein M represents the number of divisors of rij. 2 nd step: apply elementary row operations to in order to ensure that all rows start in distinct columns, while preserving the nested structure of the matrices w^ i,J

3 rd step: select rows of matrices W^-. di j ≥ d, and put them into the i-th column of a precoding matrix W, wherein the precoding matrix W is a block matrix.

4 th step: select rows of matrices w^: d > d i:i ≥ d - e for some e > 0, put them into the i- th column of the precoding matrix W. For every such a row, select a row of a matrix

> > e , which has not been selected in the previous step, and put it into the same row of matrix W in column Summarizing, the constructed precoding matrix is given by:

wherein = max ; -. d ≥d ; is an index of a largest e-BCH code of length 2 m ' with minimum distance d and S t = d - d i r . +1 is the minimum distance difference of the next largest e-

BCH code. The matrices consist of some rows of matrix M^( i,T ) and zero rows, wherein τ· = max s . d . s≥ g . s, so that for any s there is at most one block i with non-zero row

5 th step: keep k rows of matrix W which start in column l i p of block i with the smallest

P n . ,. p , where P m i is the error probability in a bit subchannel wherein y 2m -i = y Q 2 m_ 1 denotes 2 m - 1 noisy symbols of the codeword c after a transmission over the communication channel 1 10. Let W be the obtained matrix.

6 th step: obtain V: WV T = 0, use Gaussian elimination to ensure that rows of V end in distinct columns ;,·, 0 < i < n - k and define the set of (dynamic) frozen bit indices as In order to illustrate the above described steps to generate the constraint matrix V, the construction of an exemplary (24, 1 1 ,6) code on the basis of chained polar subcodes is considered. In this case, the code has dimension n = 24, which can also be written as 24 = 2 4 + 2 3 , so that m 0 = 4, 171-^ = 3. In figures 1 a and 1 b, the nested generator matrices Q{ i ,j) j - o,i and j = 1,2,3 , of the corresponding extended BCH codes are shown, wherein d 0 0 = 16, d 0 1 = 8, d 0 2 = 6, d 0 3 = 4, d li0 - 8, ά 1 = 4, d 1 2 = 2. By multiplying the matrices shown in figures

applying elementary row operations, the corresponding precoding matrices can be obtained, as shown in figures 1 c and 1 d. Combining the precoding matrices W (iJ ^ with e = 2, the precoding matrix W of the parent code can be obtained as shown in figure 1 e. In the case of a binary erasure channel having erasure probability 0.5, the error probabilities in bit subchannels are for instance: 0.499,0.496,0.492,0.386,0.48,0.32,0.26,0.5e-1 ,0.44,0.23,0.17,0.18e-1 ,0.1 1 , 0.7e-2, 0.38e-2, 0.76e-5; 0.498, 0.44, 0.40, 0.15, 0.34, 0.09, 0.06, 0.0019.

Since the 6 th row of the matrix W starts in column 3, which corresponds to a subchannel with the highest error probability 0.386, it can be eliminated. Therefore, a precoding matrix W for the (24, 1 1 ,6) code based on chained polar subcodes can be obtained as shown in figure 1f. Finally, the corresponding constraint matrix V can be obtained as shown in figure

1 g-

In another embodiment the processor 102a can be configured to construct the (n - k x n matrix V, according to the following steps:

1 st step: set the rows of V to distinct vectors of weight 1 , containing 1 in columns l i p of block i with the highest P mi ,i i p ; and 2 nd step: put arbitrary binary values into columns < l i p of at most two blocks i, for each of the last p rows of V.

In an embodiment, the binary values can be obtained by a pseudo-random number generator (PRNG), such as a linear feedback shift register. This has the advantage that the code can be specified in a compact way by providing just the parameters and seed value of the PRNG. Furthermore, the matrix V constructed according to the above mentioned steps has the advantage of providing chained polar subcodes which have a high performance. Once the matrices W and V are available, in another embodiment, the processor 102a can further be configured to encode the data x of dimension k into the codeword c according to the following equation:

Furthermore, once the codeword c is encoded, it can be sent to the decoding apparatus 104 via the communication channel 1 10. However, after the transmission over the communication channel 1 10, the n symbols of the codeword c are affected by noise and they result in noisy symbols yj -1 = y 0 ... y n _ l t therefore a method is needed in order to recover the correct symbols of the codeword c.

In an embodiment, the processor 104a of the decoding apparatus 104 can be configured to recover the codeword c using a generalized successive cancellation algorithm and its list or sequential extensions on the basis of the following equations: ui =∑&> ν φ05 > i ε F and fi 4 = arg max Ui w^ mod 2 " i] (y^ '1 , ^ 1 ^) , i * F wherein £ = [log 2 (2 ilo ^ n l - /)] and t 4 = 2 rio ^ nl - 2"' +1 .

This decoding method can also be extended to obtain list and sequential successive cancellation methods similar to the ones presented in the aforementioned works by Tal and Vardy and Miloslavskaya and Trifonov.

In an embodiment the order to obtain the symbol u t can be rearranged on the basis of the following rules:

a. If = ίζ and ^ < i 2 , then is calculated before u iz ; and b. If i e F, then u s : ν φίι3 ≠ 0, s < i, is calculated before f . Rearranging the detection order of symbols u,- has the advantage that it can lead to an improved performance of list and sequential successive cancellation algorithms.

Figure 2 shows a schematic diagram of a structure of an encoding apparatus 102 for a code based on chained polar subcode according to an embodiment. In this embodiment, the code has a length n = 12 = 2 3 + 2 2 and it includes two polarizing transformations: A mi . mi = 3, (polarizing transformation 1 ) of size 8 and A m2 , m 2 = 2, (polarizing transformation 2) of size 4. The data x of dimension 4 to be encoded is represented by the four symbols ½. Xi. *2' X3 , which are mapped onto symbols u 3 , u 5 , u 7 , u 9 . The set of frozen bit symbols is represented by u 0 , u ll u 2l u 4 , u 6 , u 8l u 10l u 11 . In an embodiment, the processor 102a of the encoding apparatus 102 can be configured to calculate symbols u 6 and u 10 as a function of some linear combinations of other input symbols of the corresponding polarizing transformations as shown in figure 2. Furthermore, the processor 102a can be configured to calculate the input symbol it of the polarizing transformation 2 as a function of an input symbol of the polarizing transformation 1. Moreover, the structure of the freezing and cross-coding constraints can be realized in such a way that the obtained code has sufficiently high minimum distance and it can be decoded in an efficient way by a possible generalization or modification of the successive cancellation algorithm. Figure 3 shows a frame error rate (FER) of different codes as a function of a signal-to- noise ratio (E b /N 0 ) in dB according to an embodiment. As it is shown in figure 3, the performance of codes based on chained polar subcodes under a sequential decoding algorithm can significantly be improved compared to the performance of shortened polar subcodes, turbo codes and convolutional LTE tailbiting codes. In particular, codes based on chained polar subcodes can provide up to 0.3-0.7 dB power gain compared to shortened polar subcodes.

Figure 4 shows a frame error rate (FER) of different codes as a function of a signal-to- noise ratio (E b /N 0 ) in dB according to an embodiment. Analogously to figure 3, in this case as well, the performance of codes based on chained polar subcodes is significantly improved compared to the performance of shortened polar subcodes and turbo codes.

Figure 5 shows a schematic diagram of a method 500 for encoding data x of dimension k into a codeword c of length n according to an embodiment. The method 500 comprises the step of: encoding 502 the data x using a C(n, k, d) code, wherein the code C n, k, d) has a length n and a minimum distance d, wherein n = 2 mi + ··· + 2 ms , wherein m h , h = 1, ... , s, is an integer number, on the basis of the equation: c = uA, wherein u; = xj. , 0 < < k - 1, if i £ F, wherein F is a set of n - k frozen bit indices of the code C(n, k, d), and u t =∑s=o ^i,s u s- if i e F, wherein ¥ is a constraint matrix given by a solution of the equation:

WV T = 0, wherein is an index of a row of the matrix ¥, which has a last non-zero element in column i, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein A mh = J , and wherein Q® m denotes the m-times Kronecker product of a matrix Q with itself. Figure 6 shows a schematic diagram of a method 600 for decoding a codeword c of length n according to an embodiment. The method 600 comprises the step of: decoding 602 the codeword c using a C(n, k, d) code, wherein the code C(n, k, d) has a length n and a minimum distance d , wherein n = 2 mi + --- + 2 m * , wherein m h , h = 1, ... , s, is an integer number, wherein: u4, wherein U j = xj , 0≤ j t < k - 1, wherein x is data of dimension k, if t ί F, wherein is a set of n - /c frozen bit indices of the code C n, k, d) and it* = 0. s u s , if i 6 F , wherein ¥ is a constraint matrix given by a solution of the equation: = o, wherein ι is an index of a row of the matrix V, which has a last non-zero element in column i, wherein W is a precoding matrix, and wherein A is defined as follows:

wherein A mh = { ^ J , and wherein Q∞ m denotes the m-times Kronecker product of a matrix Q with itself.

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 present 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 present 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.