Device and method for generating a multi-kernel polar code
11245424 · 2022-02-08
Assignee
Inventors
Cpc classification
H03M13/033
ELECTRICITY
G06F17/16
PHYSICS
H03M13/1168
ELECTRICITY
International classification
H03M13/00
ELECTRICITY
H03M13/03
ELECTRICITY
H03M13/15
ELECTRICITY
Abstract
A device for generating a multi-kernel polar code x.sub.N of length N and dimension K on the basis of a first transformation matrix G.sub.N of size N×N that defines a first multi-kernel polar code includes a processor configured to generate a second transformation matrix G′.sub.N of size N×N by permuting the order of at least two columns of a sub-matrix of the first transformation matrix G.sub.N, and generate the multi-kernel polar code x.sub.N an the basis of x.sub.N=u.sub.N.Math.G′.sub.N, wherein u.sub.N=(u.sub.0, . . . , u.sub.N−1) is a vector of size N, with the elements u.sub.i, i=0, . . . N−1, corresponding to an information bit if i∈I, I being a set of K information bit indices, and u.sub.i=0, if i∈F, F being a set of N−K frozen bit indices.
Claims
1. A device for generating a multi-kernel polar code x.sub.N of length N and dimension K, comprising: a memory configured to store instructions; and a processor coupled to the memory and configured to execute the instructions to: permute an order of at least two columns of a sub-matrix of a first transformation matrix G.sub.N, wherein the first transformation matrix G.sub.N defines a multi-kernel polar code and comprises a size N×N; generate a second transformation matrix G′.sub.N of size N×N based on permuting the order of the at least two columns of the sub-matrix of the first transformation matrix G.sub.N; generate the multi-kernel polar code x.sub.N on the basis of the following equation:
x.sub.N=u.sub.N.Math.G′.sub.N, wherein u.sub.N=(u.sub.0, . . . , u.sub.N−1) is a vector of size N with the elements u.sub.i, i=0, . . . N−1 corresponding to an information bit when i∈I, wherein I is a set of K information bit indices, wherein u.sub.i=0 when i∈F, and wherein F is a set of N−K frozen bit indices; and send the multi-kernel polar code x.sub.N to a second device over a transmission network to permit the second device to decode the multi-kernel polar code x.sub.N.
2. The device of claim 1, wherein the processor is further configured to permute the order of the at least two columns of a sub-matrix of the first transformation matrix G.sub.N such that the second transformation matrix G′.sub.N has the same polarization as the first transformation matrix G.sub.N.
3. The device of claim 1, wherein the processor is further configured to generate the second transformation matrix G′.sub.N by permuting the order of at least two columns of a further sub-matrix of the first transformation matrix G.sub.N.
4. The device of claim 3, wherein the processor is further configured to determine a predetermined permutation π.sub.N.sub.
5. The device of claim 4, wherein the processor is further configured to: generate the first transformation matrix G.sub.N based on the following equation:
6. The device of claim 5, wherein the polar code x.sub.N has a length N=48, wherein the first transformation matrix is given by the following equation:
G.sub.48=T.sub.3.Math.T.sub.2.sup..Math.4=T.sub.3.Math.T.sub.16, and wherein
7. The device of claim 6, wherein the predetermined permutation π.sub.Na is given by π.sub.16=(2,13,4,5,1,10,7,9,8,16,3,12,11,15,14,6).
8. The device of claim 5, wherein the polar code x.sub.N has a length N=24, wherein the first transformation matrix is given by G.sub.24=T.sub.3.Math.T.sub.2.sup..Math.3=T.sub.3.Math.T.sub.8, wherein
9. The device of claim 8, wherein the predetermined permutation π.sub.Na is given by π.sub.8=(7,1,4,3,2,5,6,8).
10. The device of claim 4, wherein the processer is further configured to generate a Golay code based on the polar code x.sub.N and the multi-kernel polar code x.sub.N, wherein the polar code x.sub.N has a length N=32 and the predetermined permutation π.sub.Na is given by π.sub.8=(7,1,4,3,2,5,6,8), wherein the first transformation matrix is given by G.sub.32=T.sub.2.sup..Math.5=T.sub.2.sup..Math.2.Math.T.sub.2.sup..Math.3, and wherein the second transformation matrix is given by
11. A method for generating a multi-kernel polar code x.sub.N of length N and dimension K, comprising: permuting an order of at least two columns of a sub-matrix of a first transformation matrix G.sub.N, wherein the first transformation matrix G.sub.N defines a multi-kernel polar code and comprises a size N×N; generating a second transformation matrix G′.sub.N of size N×N based on permuting the order of the at least two columns of the sub-matrix of the first transformation matrix G.sub.N; generating the multi-kernel polar code x.sub.N based on the following equation:
x.sub.N=u.sub.N.Math.G′.sub.N, wherein u.sub.N=(u.sub.0, . . . , u.sub.N−1) is a vector of size N, with the elements u.sub.i, i=0, . . . N−1, corresponding to an information bit if i∈I, wherein I is a set of K information bit indices, and wherein u.sub.i=0 when i∈F, and wherein F is a set of N−K frozen bit indices; and sending the multi-kernel polar code x.sub.N to a second device over a transmission network to permit the second device to decode the multi-kernel polar code x.sub.N.
12. The method of claim 11, further comprising permuting the order of the at least two columns of a sub-matrix of the first transformation matrix G.sub.N such that the second transformation matrix G′.sub.N has the same polarization as the first transformation matrix G.sub.N.
13. The method of claim 11, further comprising generating the second transformation matrix G′.sub.N by permuting the order of the at least two columns of a further sub-matrix of the first transformation matrix G.sub.N.
14. The method of claim 13, further comprising determining a predetermined permutation π.sub.N.sub.
15. The method of claim 14, further comprising: generating the first transformation matrix G.sub.N based on the following equation:
16. The method of claim 15, wherein the polar code x.sub.N has a length N=24, wherein the first transformation matrix is given by G.sub.24=T.sub.3.Math.T.sub.2.sup..Math.3=T.sub.3 .Math.T.sub.8, wherein
17. The method of claim 15, further comprising generating a Golay code based on the polar code x.sub.N and the multi-kernel polar code x.sub.N, wherein the polar code x.sub.N has a length N=32 and a predetermined permutation π.sub.8 is given by π.sub.8=(7,1,4,3,2,5,6,8), wherein the first transformation matrix is given by G.sub.32=T.sub.2.sup..Math.5=T.sub.2.sup..Math.2.Math.T.sub.2.sup..Math.3, and wherein the second transformation matrix is given by
18. The method of claim 17, wherein the predetermined permutation π.sub.Na is given by π.sub.8=(7,1,4,3,2,5,6,8).
19. The method of claim 15, wherein the polar code x.sub.N has a length N=48, and wherein the first transformation matrix is given by the following equation:
G.sub.48=T.sub.3.Math.T.sub.2.sup..Math.4=T.sub.3.Math.T.sub.16, wherein
20. The method of claim 19, wherein the predetermined permutation π.sub.Na is given by π.sub.16=(2,13,4,5,1,10,7,9,8,16,3,12,11,15,14,6).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Further embodiments of the disclosure will be described with respect to the following figures.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11) In the various figures, identical reference signs will be used for identical or at least functionally equivalent features.
DETAILED DESCRIPTION OF EMBODIMENTS
(12) 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 disclosure may be placed. It is understood that other aspects may be utilized and structural or logical changes may be made without departing from the scope of the disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, as the scope of the disclosure is defined by the appended claims.
(13) For instance, it is understood that a disclosure in connection with a described method may 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. Further, it is understood that the features of the various exemplary aspects described herein may be combined with each other, unless specifically noted otherwise.
(14)
(15) The communication apparatus 102 comprises a channel encoder 102a, wherein the channel encoder 102a comprises the device 102b for generating the multi-kernel polar code x.sub.N of length N and dimension K on the basis of a first transformation matrix G.sub.N of size N×N defining a first multi-kernel polar code.
(16) The device 102b comprises a processor 102c configured to generate a second transformation matrix C′.sub.N of size N×N by permuting the order of at least two columns of a sub-matrix of the first transformation matrix G.sub.N, and generate the multi-kernel polar code x.sub.N on the basis of the following equation:
x.sub.N=u.sub.N.Math.G′.sub.N,
wherein u.sub.N=(u.sub.0, . . . , u.sub.N−1) is a vector of size N, with the elements u.sub.i, i=0, . . . N−1, corresponding to an information bit if i∈I, I being a set of K information bit indices, and u.sub.i=0, if i∈F, F being a set of N−K frozen bit indices.
(17) Once, the multi-kernel polar code x.sub.N is generated, the communication apparatus 102 can be configured to send it to the communication apparatus 104 via a communication channel.
(18) In an embodiment, the communication apparatus 104 comprises a channel decoder 104a, wherein the channel decoder 104a comprises a device 104b for generating a multi-kernel polar code as described above. Moreover, the device 104b can comprise a processor 104c configured to decode the multi-kernel polar code on the basis of a successive-cancellation (SC) algorithm or a successive-cancellation list (SCL) algorithm.
(19) Thus, an improved device 102b is provided, since the generated multi-kernel polar code x.sub.N can be decoded, e.g., by the communication apparatus 104, according to the usual SC decoding (or SC list decoding) operations. Moreover, the processor 102c can be configured to permute the order of at least two columns of a sub-matrix of the first transformation matrix G.sub.N, e.g., by means of the inner edge permutation or predetermined permutation, in a way such that the polarization phenomenon is not affected (i.e. destroyed), and thus reliabilities of the input bits are not changed. Correspondingly, the bit decoding order is not altered, and the decoding complexity at the communication apparatus 104 is not increased. Moreover, making use of list decoding or similar decoding methods improves the distance properties of the multi-kernel polar code. Furthermore, the device 102b allows to generate a multi-kernel polar code x.sub.N leading to lower error rates and reducing the cyclic redundancy check (CRC) size in SC list decoding.
(20)
(21) In an embodiment, the processor 102c is configured to generate the first transformation matrix G.sub.N on the basis of the following equation:
(22)
wherein T.sub.N.sub.
(23) In particular, the processor 102c can be configured to permute the order of at least two columns of a sub-matrix of the first transformation matrix G.sub.N such that the second transformation matrix G′.sub.N has the same polarization as the first transformation matrix G.sub.N. Moreover, the processor 102c can be configured to generate the second transformation matrix G′.sub.N of size N×N by permuting the order of the least two columns of the sub-matrix of the first transformation matrix G.sub.N and by permuting the order of at least two columns of a further sub-matrix of the first transformation matrix G.sub.N.
(24) In order to belter elucidate how the processor 102c can permute the order of the columns of a sub-matrix of the first transformation matrix G.sub.N as explained above, reference can be made to the Tanner graph shown in
(25) In the embodiment shown on the right of
(26) The predetermined permutation π.sub.N.sub.
(27)
for any 1≤j≤N.sub.b, wherein T′.sub.N.sub.
(28) In an embodiment of the disclosure, besides the predetermined permutation π.sub.N.sub.
(29) The predetermined permutation π.sub.N.sub.
(30)
(31) The predetermined permutation π.sub.N.sub.
(32) Once, the multi-kernel polar code x.sub.N is generated, the communication apparatus 102 can be configured to send it to the communication apparatus 104 via the communication channel.
(33) As already mentioned in the context of
(34)
(35) In
(36) As can be seen in
(37)
(38) In particular, in
(39) In general, using the following kernel matrices:
(40)
according to PCT/EP2016/082555, it is possible to design a (24,12,6) multi-kernel polar code, wherein 6 is the maximal minimum distance achievable by such a multi-kernel polar code. However, it is known that the bound on the minimum distance for a (24,12) code is 8, and this bound is achieved by the (24,12,8) extended so-called Golay code.
(41) In the following, it will be shown, how the processor 102c according to an embodiment can be configured in order to transform a (24,12,6) multi-kernel polar code into a (24,12,8) extended Golay code, which optimizes the minimum distance for a given code length and dimension.
(42) Given a multi-kernel polar code x.sub.24 defined by the transformation matrix G.sub.24=T.sub.3.Math.T.sub.2.sup..Math.3=T.sub.3.Math.T.sub.8, the processor 102c can be configured to add the predetermined permutation π.sub.8=(7,1,4,3,2,5,6,8) before the first T.sub.8 kernel. It is worth noticing that this permutation is not unique in order to obtain the desired result, since in other embodiments, 10,752 permutations out of all the 40,320 possible permutations of 8 elements can be used. However, in the embodiment wherein the predetermined permutation is given by π.sub.8=(7,1,4,3,2,5,6,8), the processor 102c is configured to generate the second transformation matrix on the basis of the following equation:
(43)
whose Tanner graph is show n in
(44) Given the second transformation matrix G′.sub.24, the processor 102c can be configured to obtain the (24,12,8) extended Golay code by taking as information set I={3,5,6,7,11,13,14,15,19.21.22,23}. As a result, the generator matrix of the Golay code is given by the following matrix:
(45)
(46) The block error rate performances (BLER) of the two codes, i.e. with and without the inner edge permutation or predetermined permutation π.sub.8, under list decoding (see. I. Tal et al., “List decoding of polar codes,” in IEEE ISIT, July 2011) are shown in
(47) It is worth noticing that, in an embodiment, the (23,12,7) Golay code as well can be obtained from the proposed multi-kernel polar code construction by puncturing one bit, e.g., the last one x.sub.23.
(48)
(49) In an embodiment, the processor 102c can be configured to generate the multi-kernel polar code x.sub.48 on the basis of a first transformation matrix G.sub.48=T.sub.3.Math.T.sub.2.sup..Math.4=T.sub.3.Math.T.sub.16, which can be permuted using the following predetermined permutation:
π.sub.16=(2,13,4,5,1,10,7,9,8,16,3,12,11,15,14,6).
The predetermined permutation π.sub.16 can be found offline for any code length.
(50) In table 1, exemplary multi-kernel polar codes x.sub.24 and x.sub.48 are shown, which can be generated by the device 102b according to embodiments of the disclosure.
(51) TABLE-US-00001 TABLE 1 Multi-kernel polar codes x.sub.24 and x.sub.48 without and with edge permutations or predetermined permutations π.sub.N.sub. +2 (48, 15, 12) (48, 15, 16)
+4 (48, 18, 8) (48, 18, 10)
+2 (96, 18, 24) (96, 18, 32)
+8
(52) In particular, in
(53)
(54) In particular, in an embodiment, the processor 102c can be configured to obtain the (24,12,8) extended Golay code by puncturing a polar code x.sub.32 of length 32 with an inner edge permutation or predetermined permutation π.sub.8, as illustrated in the following. After generating the first transformation matrix G.sub.32=T.sub.2.sup..Math.5=T.sub.2.sup..Math.2.Math.T.sub.2.sup..Math.3, the processor 102c can be configured to insert the predetermined permutation π.sub.8=(7,1,4,3,2,5,6,8) before the last kernel T.sub.2.sup..Math.3, and to puncture the last 8 bits of the multi-kernel polar code x.sub.32. As a result, the T.sub.2.sup..Math.2 kernels can be seen as kernels
(55)
In this embodiment, the second transformation matrix is given by the following equation:
(56)
wherein T.sub.8=T.sub.2.sup..Math.3 with
(57)
(58) The resulting Tanner graph of the code is shown in
(59) Given the second transformation matrix G′.sub.32, the processor 102c can be configured to generate the (24,12,8) Golay code by selecting the information set as I={11,13,14,15,19,21,22,23,27,29,30,31}. As a result, the transformation matrix of the Golay code is given by:
(60)
(61) The BLER of the generated Golay code as a function of the signal-to-noise ratio E.sub.b/N.sub.0 in dB is depicted in
(62)
(63) The method 900 comprises the steps of generating 902 a second transformation matrix G′.sub.N of size N×N by permuting the order of at least two columns of a sub-matrix of the first transformation matrix G.sub.N, and generating 904 the multi-kernel polar code x.sub.N on the basis of the following equation:
x.sub.N=u.sub.N.Math.G′.sub.N,
wherein u.sub.N=(u.sub.0, . . . , u.sub.N−1) is a vector of size N, with the elements u.sub.i, i=0, . . . N−1, corresponding to an information bit if i∈I, I being a set of K information bit indices, and u.sub.i=0, if i∈F, F being a set of N−K frozen hit indices.
(64) 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.
(65) 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 disclosure. This application is intended to cover any adaptations or variations of the specific aspects discussed herein.
(66) 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.
(67) 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 readily recognize that there are numerous applications of the disclosure beyond those described herein. While the disclosure has been described with reference to one or more particular embodiments, those skilled in the art recognize that many changes may be made thereto without departing from the scope of the disclosure. It is therefore to be understood that within the scope of the appended claims and their equivalents, the disclosure may be practiced otherwise than as specifically described herein.