Communication method and apparatus using polar codes
11177834 · 2021-11-16
Assignee
Inventors
Cpc classification
H03M13/033
ELECTRICITY
H03M13/1575
ELECTRICITY
H03M13/09
ELECTRICITY
International classification
H03M13/00
ELECTRICITY
Abstract
A communication device includes: an encoder that encodes an input vector to output a codeword using a generator matrix of polar code; a memory that stores a frozen set including frozen bit indices and a non-frozen set including non-frozen bit indices; and a controller that is configured to: a) select at least one check bit index from the frozen set in descending order of row weights of the generator matrix and in descending order of index reliabilities of the input vector; b) select at least one non-frozen bit index from the non-frozen set to compute at least one check bit from at least one bit of information bits at the at least one non-frozen bit index; and c) put the at least one check bit at the at least one check bit index.
Claims
1. A communication apparatus comprising: an encoder that encodes an input vector to output a codeword using a generator matrix of polar code; a memory that stores a frozen set including a plurality of frozen bit indices and a non-frozen set including a plurality of non-frozen bit indices, wherein indices of the input vector are divided into the frozen set and the non-frozen set based on index reliabilities of the input vector; and a controller that is configured to: a) select at least one frozen bit index among the plurality of frozen bit indices in the frozen set arranged in the descending order of row weights of the generator matrix and in descending order of index reliabilities of the input vector; b) select at least one non-frozen bit index among the plurality of non-frozen bit indices in the non-frozen set; c) determine at least one check bit from information bits including bits of the at least one frozen bit index and the at least one non-frozen bit index; and d) input the at least one check bit as the input vector to the encoder.
2. The communication apparatus according to claim 1, wherein the controller is configured further select a set of check bit indices in a) by a.1) selecting the at least one frozen bit index with a highest row weight from the frozen set; a.2) responsive to selecting the at least one frozen bit index with the highest row weight within the frozen set in the a.1), selecting one frozen bit index among the at least one frozen bit index that has a lowest decoding error probability; and a.3) repeating the a.1) and the a.2) for a predetermined number of times to obtain the set of check bit indices included in a check bit set.
3. The communication apparatus according to claim 2, wherein the controller is configured to select the one frozen bit index among the at least one index in the a.2) by: comparing decoding error probabilities of the at least one frozen bit index; and selecting one index among the at least one frozen bit index having the lowest decoding error probability.
4. The communication apparatus according to claim 2, wherein Bhattacharyya parameter is used as a metric for determining the decoding error probability for the index reliabilities of the input vector.
5. The communication apparatus according to claim 1, wherein the controller is configured to determine the at least one check bit in the c) by: c.1) selecting at least one non-frozen bit index with a lowest row weight from the non-frozen set; c.2) responsive to selecting the at least one non-frozen bit index with the lowest row weight from the non-frozen set in the c.1), selecting one non-frozen bit index with a highest decoding error probability among the at least one non-frozen bit index selected in the c.1); c.3) repeating the c.1) and the c.2) to obtain the plurality of non-frozen bit indices, wherein the at least one check bit is computed from the bit of information.
6. The communication apparatus according to claim 1, wherein the at least one check bit is determined using at least one check function.
7. The communication apparatus according to claim 6, wherein the check function is one of a cyclic redundancy check and parity check function.
8. The communication apparatus according to claim 1, wherein the controller is configured to determined the at least one check bit in the b) by selecting part or whole of the non-frozen set.
9. A method for generating an input vector for an encoder that outputs a codeword using a generator matrix of polar code, the method comprising: a) storing, in a memory, a frozen set including a plurality of frozen bit indices and a non-frozen set including a plurality of non-frozen bit indices, wherein indices of the input vector are divided into the frozen set and the non-frozen set based on index reliabilities of the input vector; b) selecting, by a controller, at least one frozen bit index among the plurality of frozen bit indices in the frozen set arranged in descending order of row weights of the generator matrix and in descending order of index reliabilities of the input vector; c) selecting, by the controller, at least one non-frozen bit index among the plurality of non-frozen bit indices in the non-frozen set; d) determining at least one check bit from information bits including bits of the at least one frozen bit index and the at least one non-frozen bit index; and e) inputting, by the controller, the at least one check bit as the input vector to the encoder.
10. The method according to claim 9, wherein the b) comprises: b.1) selecting the at least one frozen bit index with a highest row weight from the frozen set; b.2) responsive to selecting the at least one frozen bit index with the highest row weight, selecting one frozen bit index among the at least one frozen bit index that has a lowest decoding error probability; and b.3) repeating the b.1) and the b.2) for a predetermined number of times to obtain a set of check bit indices included in a check bit set.
11. The method according to claim 10, wherein the b.2) comprises: comparing the decoding error probabilities of the at least one frozen bit index; and selecting one index among the at least one frozen bit index having the lowest decoding error probability.
12. The method according to claim 9, wherein the d) comprises: d.1) selecting at least one non-frozen bit index with a lowest row weight from the non-frozen set; d.2) responsive to selecting the at least one non-frozen bit index with the lowest row weight from the non-frozen set in the d.1), selecting one non-frozen bit index with a highest decoding error probability among the at least one non-frozen bit index selected in d.1) d.3) repeating the d.1) and d.2) to obtain the plurality of non-frozen bit indices, wherein the at least one check bit is computed using at least one check function from the bit of the information.
13. A non-transitory computer-readable recording medium storing a computer-readable program for generating an input vector for an encoder that outputs a codeword using a generator matrix of polar code, when executed by a processor, causes the processor to: store a frozen set including a plurality of frozen bit indices and a non-frozen set including a plurality of non-frozen bit indices, wherein indices of the input vector are divided into the frozen set and the non-frozen set based on index reliabilities of the input vector; select at least one frozen check bit index among the plurality of frozen bit indices in from the frozen set arranged in descending order of row weights of the generator matrix and in descending order of index reliabilities of the input vector; select at least one non-frozen bit index among the plurality of non-frozen bit indices in the non-frozen set; determine at least one check bit from information bits including bits of the at least one frozen bit index and the at least one non-frozen bit index; and input the at least one check bit as the input vector to the encoder.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION
(14) Hereinafter, the word “exemplary” is used herein to mean “serving as an example, instance, or illustration”. Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
1. Outline of Exemplary Embodiments
(15) The conventional technical problems as discussed above can be solved by one or more variants of the exemplary embodiments of the present invention. In this present disclosure, a method for good selection of check bits is introduced in order to construct check-bit concatenated polar codes. Throughout this disclosure, a check bit can be construed as at least one of a parity check (PC) bit or cyclic redundancy check (CRC) bit.
(16) To begin with, an encoder for polar codes performs an encoding operation as illustrated in
(17) An outline of constructing check bits will be described with reference to
1.1) Construction of Check-Bit Concatenated Polar Codes
(18) According to the disclosed method, an (N, K) polar code concatenated with P check-bits may be constructed through the following steps.
(19) Step 1) the N indices may be arranged in ascending/descending order of reliability. For instance, the N indices are arranged in ascending order of decoding error probability or Z parameter. In this case, the first K indices from this reliability-ordered set may be included in a set called non-frozen set. The remaining N-K indices may be included in a set called frozen set. Note that Bhattacharyya parameter is used as a metric for decoding error probability.
(20) Step 2) The check-bit indices may be selected from the frozen set according to the following rule. At first, the indices in the frozen set may be arranged in ascending/descending order of row weights of the indices. A row weight of a chosen index means the weight of the row in the generator matrix of polar codes corresponding to the chosen index. If only one index has the highest row weight in the frozen set, then this index is included in the set of check bit indices. If more than one index in the frozen set have the highest row weight, then the index among them that has the highest reliability (e.g., lowest decoding error probability or Z parameter) is included in the set of check bit indices.
(21) Step 3) These two steps 1 and 2 (first selecting the indices with the highest row weight in frozen set and then selecting one index out of them with highest reliability) are repeated for P times to obtain the set of check bit indices consisting of P indices.
(22) Step 4) Then information bits are put in the K indices of non-frozen set. The check bits may be computed using one or more indices from the non-frozen set and may be put in the indices contained in the set of check bit indices selected from the frozen set. The remaining indices of the frozen set may be filled with zero bits. The resulting vector may be then multiplied with the generator matrix of polar codes to produce the final codeword. This codeword may be transmitted over a communication channel.
1.2) Selection of Indices from Non-Frozen Set for Check-Bit Computation
(23) One or more indices from the non-frozen set may be used to construct the check bits. There can be a plurality of methods of constructing the check bits, including, but not limited to, the following methods.
(24) (1) In one method, a check bit may be determined by copying one bit from the non-frozen set. Index of the bit from the non-frozen set may be determined according to the following rule. At first, the indices in the non-frozen set may be arranged in ascending/descending order of their row weights. If only one index has the lowest row weight in the non-frozen set, then the bit at this index may be copied to the check bit index. If more than one index in the non-frozen set have the lowest row weight, then the index among them that has the lowest reliability (e.g., highest decoding error probability or Z parameter) may be copied to the check bit index. These two steps (first selecting the indices with lowest row weight in non-frozen set and then selecting one index out of them with lowest reliability) may be repeated for P times to obtain P information bits that may be copied to the check bit indices.
(25) (2) In another method, a check bit may be computed using some check function of at least one or more of the non-frozen bits selected using the aforementioned rule. For example, the check function may be a PC function or CRC function.
(26) (3) In another variant, the check-bits may be computed using check function over part or whole of the non-frozen set indices. For example, the non-frozen set indices may be divided into several groups. A check function over each group may be used to generate the check-bits.
(27) Further specific details of the many variants discussed above will be explained using the following embodiments supplemented by figures.
1.3) Decoding of Codeword
(28) At the decoder of a receiver, for decoding the codeword produced by a sender using the above-described method, the LLRs of the channel output are used as input. The frozen indices in the decoded output are set to 0 in advance. The remaining bits including the information bits and the check bits are decoded successively using the method such as SC or SCL decoding algorithm. In case of SCL decoding, list-pruning can be assisted by using the check-bits.
(29) As an example, assuming that a predetermined bit in the non-frozen set selected (see
(30) As another example, it is assumed that x, y and z are three indices involved in a check-bit equation as x=y+z where y and z may be information bits and x may be the computed check bit. Here the check function used is binary addition. It is assumed that x appears first in the SC decoding order followed by y, and y is followed by z. Then after performing SCL decoding till the bit z it is possible to check whether the binary addition of y and z equals x, without waiting till all bits of the frame are decoded. Accordingly, a check test can be performed to confirm which path among all the decoding paths satisfy the relation: x=y+z. A decoding path that fails to satisfy the relation may be pruned immediately. Thus, list pruning can be aided by the check-bit test much early, instead of waiting till the end when all bits are decoded.
1.4) Advantages
(31) As described above, by choosing the indices from the non-frozen set that have lowest row-weight and using them up for check-bit computation (e.g., copying them to the indices in the frozen set with high row weights), it may be possible to improve the error correcting performance of the resulting concatenated code. The number of codewords with minimum Hamming weight affects the error correcting performance of a code. The lesser the number of codewords with minimum Hamming weight, the better is the error correcting performance of a code. In the exemplary embodiments of this invention, one or more non-frozen index with lowest Hamming weight of a corresponding row in the generator matrix is chosen and then is coupled with a check-bit index with high row weight chosen from the frozen set. Thus, the number of non-frozen indices with lowest Hamming weight of the corresponding row in the generator matrix may be reduced. This may result in improved error correcting performance.
(32) Furthermore, the check-bits may be used to aid the SCL decoder by detecting the correct decoding path. Thus, the check-bits may be used to prune the list of SCL decoder early so as to prevent the correct decoding path from getting pruned. Also, the check-bits may be used to determine the decoder output at the last step of decoding by choosing the path that qualifies the check test.
2. Exemplary Embodiment
(33) Hereinafter, an exemplary embodiment of the present invention will be discussed in its complete details with accompanying figures and finally explained with an exemplary scenario. The embodiment described herein is only illustrative of some specific representations of the invention acknowledging the fact that the inventive concepts can be embodied in a wide variety of contexts. Thus the exemplary embodiment does not limit the scope of the present invention.
2.1) System Configuration
(34) A communication device according to the exemplary embodiment of the present invention will be described as a sender device or a receiver device. The sender device and the receiver device may be integrated into a single communication device.
(35) As illustrated in
(36) The message source 102 generates some information bits that need to be encoded and then transmitted. The pre-processing block 104 employs a rule for selection of check-bit indices. Once the check-bit indices are selected, then it computes the check-bits employing a suitable check function. Finally, an input vector constructed by placing information bits (received from message source 102) at the non-frozen indices, check-bits at the check-bit indices and 0 at the frozen set is fed as input to the FEC encoder 103. The FEC encoder 103 encodes the input vector into a polar codeword. The modulator 105 modulates the codeword and then sends it to a radio-frequency (RF) unit for transmission (not shown).
(37) It should be noted that
(38) As illustrated in
2.2) Determination of Set of Check-Bit Indices
(39)
2.3) Determination of Set of Information Bit Indices Used to Generate Check-Bits
(40)
2.4) Determination of Check-Bits
(41) There can be many variants of the method of determination of check-bits. Some of such variants are explained by references to
First Example
(42) In the first example as shown in
Second Example
(43) As shown in
Third Example
(44) As shown in
2.5) Decoding Path and Path Pruning
(45) Referring to
(46) An uncoded vector u=[u.sub.0 u.sub.1 u.sub.2 u.sub.3] is encoded using an encoder of polar codes and transmitted. It is assumed that a set of all indices is {0,1,2,3}, a non-frozen set is {2,3}, a set of check-bit index is {1} and a frozen set is {0}. For computing check-bit, it is assumed that information bit u.sub.2 is copied to u.sub.1, thus u.sub.1=u.sub.2 and
û=[û.sub.0û.sub.1û.sub.2û.sub.3], (Math. 2)
where û is also denoted by {circumflex over ( )}u.sub.0 which is the decoded estimate of u.
(47) At the time of decoding using SCL decoding, {circumflex over ( )}u.sub.0 is set to 0 in advance as it is frozen bit. {circumflex over ( )}u.sub.1 is decoded to both 0 and 1, thus the decoding operation splits into two paths. These two paths are referred to as “decoding path”. Thus, two decoding paths {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1=00 and {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1=01 are created. Similarly, {circumflex over ( )}u.sub.2 is also decoded to both 0 and 1 for each of the two decoding paths {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1=00 and {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1=01. Thus four decoding paths are created {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=000, {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=001, {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=010 and {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=011. Then a check test is performed using the relation u.sub.1=u.sub.2, or equivalently {circumflex over ( )}u.sub.1={circumflex over ( )}u.sub.2, to verify which of the four decoding paths can be a possible correct decoding path. The check test may be performed immediately after decoding {circumflex over ( )}u.sub.2 because both the bits {circumflex over ( )}u.sub.1 and {circumflex over ( )}u.sub.2 used in the check equation {circumflex over ( )}u.sub.1={circumflex over ( )}u.sub.2 are available then. The decoding paths {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=001 and {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=010 do not satisfy the relation {circumflex over ( )}u.sub.1={circumflex over ( )}u.sub.2 hence decoding paths {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=001 and {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=010 are deleted or discontinued in the decoding tree as shown by dashed lines in
(48) In the next step, {circumflex over ( )}u.sub.3 is decoded to both 0 and 1 for each of the two surviving decoding paths {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=001 and {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=011. This results in four decoding paths {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2=0000, {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2{circumflex over ( )}u.sub.3=0001, {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2{circumflex over ( )}u.sub.3=0110 and {circumflex over ( )}u.sub.0{circumflex over ( )}u.sub.1{circumflex over ( )}u.sub.2{circumflex over ( )}u.sub.3=0111.
(49) At the final stage, one correct decoding path may be selected out of all the surviving paths using at least one of PC, CRC and maximum likelihood. For example, if CRC-aided polar codes is used, a CRC-check may be performed to select one correct decoding path. That means, a decoding path that satisfies a CRC-test may be considered as the decoder output. Alternatively, the decoder output may be selected at the final stage by choosing the decoding path with highest likelihood. A parity-check may also be performed to select one decoding path as the decoder output at the final stage of SCL decoding.
3. Example
(50) Details of an example of the exemplary embodiment of the present invention will be described in the case of Polar Code.
(51) As shown in
(52) It is assumed that the non-frozen set contains the 8 indices with smallest values of Z-parameters, the remaining 8 indices are included in the frozen set. Thus, in this example, the non-frozen set is {7,9,10,11,12,13,14,15} and the frozen set is {0,1,2,3,4,5,6,8}. Then the indices for parity check bits are determined as follows: The indices in the frozen set that have the highest row weight are listed up. Here, the highest row weight in the frozen set is 4. The indices in the frozen set with row weight=4 are {3,5,6}. Among {3,5,6}, the index with the lowest value of Z-parameter is 6. So it is selected as a member of the set of parity-check indices. Then, from the remaining indices {3,5} with the row weight=4, the index with the lowest Z-parameter is 5. So it is included in the set of parity check indices. Since three parity check bits are required in this example, the remaining index 3 is finally included in the set of parity check indices. Thus, the set of parity check indices as {3,5,6} is obtained. If only two parity check indices are required, then the set of parity check indices as {5,6} is obtained.
(53) Next the set of information bits to be used to compute the parity check bits is constructed as follows: The indices in the non-frozen set that have the lowest row weight are listed up. Here, the lowest row weight in the non-frozen set is 4. The indices in the non-frozen set with the row weight=4 are {9,10,12}. Among {9,10,12}, the index with the highest value of Z-parameter is 9. So it is selected as a member of the set of information bit indices to be used for computing parity check bits. Then, among the remaining indices {10,12} with the row weight=4, the index with the highest Z-parameter is 10. So it is included in the set of information bit indices to be used for computing parity check bits. Finally, the index=12 may also be included in the set of information bit indices to be used for computing parity check bits. Thus, the set of information bit indices to be used for computing parity check bits as {9,10,12} is finally obtained.
(54) Note that, in other variants of the present invention, it is possible not to use all the information bit indices that have the lowest row weight but a subset of that. In this example, “copying” is used for the parity check function. So the information bits at the indices {9,10,12} may be copied to the indices {3,5,6}.
(55) Other variants of parity check functions are equally applicable in this present invention. Thus, the input u to the polar code encoder can be constructed by putting 0 at the indices {0,1,2,4,8}, putting information bits at the indices {7,9,10,11,12,13,14,15}, and copying the information bits from indices {9,10,12} to the indices {3,5,6} as follows:
(56)
wherein u.sub.6=u.sub.9, u.sub.5=u.sub.10, and u.sub.3=u.sub.12.
(57) Finally, the codeword c of a check-bit concatenated polar code may be constructed by multiplying u with the bit-reversal permutation matrix B and the (16×16) generator matrix as follows:
c=uBG.sub.2.sup..Math.4. (Math. 4)
(58) The codeword c is transmitted over a communication channel.
(59) During decoding, the bits at indices {0,1,2,4,8} in the decoder output are set to 0 in advance. All the remaining indices {3,5,6,7,9,10,11,12,13,14,15} are decoded by the usual method of SCL decoding. After decoding index=9, a parity check test may be performed among all the decoding paths to check which of them satisfies the relation u.sub.6=u.sub.9. Any path that does not satisfy the relation may be pruned. Again, after decoding index=10, a parity-check test may be performed to check which decoding paths satisfy the relation u.sub.5=u.sub.10. Any path that does not satisfy the relation may be pruned. Similarly, a parity check test may be performed after decoding index=12 to detect the paths that satisfy the relation u.sub.3=u.sub.12.
(60) Referring to
(61)
is the transition probability of the i.sup.th subchannel, y.sub.0.sup.N-1 is the channel output of length N and u.sub.0.sup.i-1 is the already decoded bit sequence u.sub.0 to u.sub.i-1. A decoder estimate {circumflex over ( )}u.sub.i corresponding to a bit u.sub.i may be computed from its LLR by using the following relation:
(62)
(63) A decoding path I may have a path metric PM.sup.i.sub.I after decoding i.sup.th bit as {circumflex over ( )}u.sub.i [I]. PM.sub.i.sup.I can be computed using the following relation:
(64)
(65) As shown in
(66) Next, the information bit {circumflex over ( )}u.sub.9 is decoded, which is followed by a check test using the check equation: u.sub.6=u.sub.9. All the decoding paths that do not satisfy this equation are deleted as shown by dashed arrowed lines and only those decoding paths that satisfy the equation survives. Similarly, another check test may be performed after decoding {circumflex over ( )}u.sub.10 to delete any path that do not satisfy the relation: u.sub.5=u.sub.10. Further, another check test may be performed after decoding {circumflex over ( )}u.sub.12 to delete any path that do not satisfy the relation: u.sub.3=u.sub.12. Thus check bits are used for path-pruning, helping the SCL decoder to select the correct decoding path. For other bits like {circumflex over ( )}u.sub.11, {circumflex over ( )}u.sub.13 and {circumflex over ( )}u.sub.14, the decoder may prune the decoding paths using path metrics as explained before.
(67) At the final stage of decoding, i.e., after decoding the last bit {circumflex over ( )}u.sub.15, the decoder may select one decoding path as the decoder output. This selection of one decoding path may be done by choosing the decoding path with smallest value of path metric. In other examples, this may also be done using a check function, like parity check or CRC. For example, the decoding path that may be selected as the final output of the decoder has been shown in thick and bold arrowed line.
(68) The above-described exemplary embodiments and examples of the present invention may be implemented on a processor running programs stored in a memory.
(69) As illustrated in
(70) The program memory 903 stores computer-readable programs for implementing at least the pre-processing block 104 and the FEC encoder 103 as shown in
(71) Where applicable, various embodiments provided by the present disclosure may be implemented using hardware, software, or combinations of hardware and software. Also where applicable, the various hardware components and/or software components set forth herein may be combined into composite components comprising software, hardware, and/or both without departing from the spirit of the present disclosure. Where applicable, the various hardware components and/or software components set forth herein may be separated into sub-components comprising software, hardware, or both without departing from the spirit of the present invention. In addition, where applicable, it is contemplated that software components may be implemented as hardware components, and vice-versa.
(72) Although embodiments of the present disclosure have been described, these embodiments illustrate but do not limit the disclosure. For example, the frozen set may have any constant bit pattern (not restricting to the all-zero pattern) that is known to the decoder in advance. The generator matrix used in polar code encoding can be even of a form other than the n-time Kronecker product of
(73)
(74) A different matrix may also be used as polarizing kernel. For example, the following matrix can be used as a different polarizing kernel:
(75)
(76) Check-bits may be of form other than parity-check or cyclic redundancy check bits. This disclosure does not limit the type of check function used to generate the check-bits. For instance, it can be any kind of parity check function using part or whole of the non-frozen set or frozen set. Reliability of indices may even be evaluated by metrics other than error probability or Z parameter. Bit-reversal permutation matrix B shown in Math. 4 may or may not be used for encoding.
(77) Application software in accordance with the present disclosure, such as computer programs executed by the device and may be stored on one or more computer readable mediums. It is also contemplated that the steps identified herein may be implemented using one or more general purpose or specific purpose computers and/or computer systems, networked and/or otherwise. Where applicable, the ordering of various steps described herein may be changed, combined into composite steps, and/or separated into sub-steps to provide features described herein.
(78) It should also be understood that embodiments of the present disclosure should not be limited to these embodiments but that numerous modifications and variations may be made by one of ordinary skill in the art in accordance with the principles of the present disclosure and be included within the spirit and scope of the present disclosure as hereinafter claimed.
(79) The above exemplary embodiments can be applied to communication systems employing polar encoding and decoding.
REFERENCE SIGNS LIST
(80) 101 Sender device 103 FEC Encoder 104 Pre-processing block 105 Modulator 106 Frozen set memory 107 Non-frozen set memory 108 Controller 201 Receiver device 202 Demodulator 203 Decoder controller 204 FEC Decoder 205 Decoded message processor