Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR DISTRIBUTED ERROR DETECTION WITH POLAR CODES
Document Type and Number:
WIPO Patent Application WO/2018/146554
Kind Code:
A1
Abstract:
Embodiments of the present disclosure relate to method and device for data processing in a communication system. For example, a method comprises: generating an error detection code for information bits to be encoded with a polar code, the error detection code being distributed in the information bits in a first order; determining, from among the information bits and the error detection code, a set of bits to be redistributed; redistributing a bit in the set of bits such that the error detection code is distributed in the information bits in a second order; and mapping the redistributed information bits and the error detection code to an input of a polar code encoder to be encoded with the polar code. Embodiments of the present disclosure further provide a communication device capable of implementing the above method.

Inventors:
CHEN YU (CN)
Application Number:
PCT/IB2018/000223
Publication Date:
August 16, 2018
Filing Date:
February 09, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALCATEL LUCENT (FR)
International Classes:
H03M13/09; H04L1/00
Foreign References:
EP2899912A12015-07-29
US20160079999A12016-03-17
Other References:
ZHOU HUAYI ET AL: "Segmented CRC-Aided SC List Polar Decoding", 2016 IEEE 83RD VEHICULAR TECHNOLOGY CONFERENCE (VTC SPRING), IEEE, 15 May 2016 (2016-05-15), pages 1 - 5, XP032918751, DOI: 10.1109/VTCSPRING.2016.7504469
WANG TAO ET AL: "Parity-Check-Concatenated Polar Codes", IEEE COMMUNICATIONS LETTERS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 20, no. 12, 1 December 2016 (2016-12-01), pages 2342 - 2345, XP011636292, ISSN: 1089-7798, [retrieved on 20161208], DOI: 10.1109/LCOMM.2016.2607169
NOKIA ET AL: "Polar codes design for UL control", vol. RAN WG1, no. Spokane, US; 20170116 - 20170120, 16 January 2017 (2017-01-16), XP051208548, Retrieved from the Internet [retrieved on 20170116]
ERICSSON: "Design of CRC-assisted Polar Code", vol. RAN WG1, no. Athens, Greece; 20170213 - 20170217, 12 February 2017 (2017-02-12), XP051208797, Retrieved from the Internet [retrieved on 20170212]
Attorney, Agent or Firm:
BERTHIER, Karine (FR)
Download PDF:
Claims:
I/We Claim:

1. A method of data processing in a communication system, comprising:

generating an error detection code for information bits to be encoded with a polar code, the error detection code being distributed in the information bits in a first order;

determining, from among the information bits and the error detection code, a set of bits to be redistributed;

redistributing a bit in the set of bits such that the error detection code is distributed in the information bits in a second order; and

mapping the redistributed information bits and the error detection code to an input of a polar code encoder to be encoded with the polar code.

2. The method according to Claim 1, wherein the error detection code is selected from a group consisting of a Cyclic Redundant Check code, a BCH code, a Hamming code, and a Gray code.

3. The method according to Claim 1, wherein the determining a set of bits to be redistributed comprises:

selecting the set of bits such that the set of bits at least include the information bits.

4. The method according to Claim 1, wherein the determining a set of bits to be redistributed comprises:

selecting the set of bits such that the set of bits at least include a bit of the error detection code.

5. The method according to Claim 1, wherein the redistributing a bit in the set of bits comprises:

obtaining configuration information on the encoding with the polar code; and redistributing a bit in the set of bits based on the configuration information.

6. The method according to Claim 1, wherein the redistributing a bit in the set of bits comprises:

arranging a bit in the set of bits in sequence based on a first index of a bit in the set of bits.

7. The method according to Claim 1, wherein the redistributing a bit in the set of bits comprises:

performing bit reversion to a first index of a bit in the set of bits so as to generate a second index of the bit; and

arranging the bit based on the second index.

8. The method according to Claim 1, wherein the redistributing a bit in the set of bits comprises:

redistributing a bit in the set of bits based on a pseudorandom sequence.

9. The method according to Claim 1, wherein the redistributing a bit in the set of bits comprises:

determining an offset for redistributing the set of bits; and

performing, based on the offset, cyclic permutation to a bit in the set of bits.

10. The method according to Claim 1, wherein the determined set of bits include a first subset and a second subset, and the redistributing a bit in the set of bits comprises:

redistributing a bit in the first subset in a third order; and

redistributing a bit in the second subset in a fourth order, the fourth order being different from the third order.

11. A method of data processing in a communication system, comprising:

performing polar code decoding on received data encoded with a polar code to obtain output bits;

obtaining mapping information on an input of a polar code encoder, the mapping information indicating that an error detection code used in the encoding with the polar code is distributed in a predetermined order in information bits;

obtaining, based on the predetermined order, the information bits and the error detection code from the output bits; and

verifying the information bits with the error detection code.

12. The method according to Claim 11, wherein the error detection code is selected from a group consisting of a Cyclic Redundant Check code, a BCH code, a Hamming code, and a Gray code.

13. A communication device, comprising:

a processor; and

a memory having instructions stored thereon, the instructions, when executed by the processor, causing the communication device to:

generate an error detection code for information bits to be encoded with a polar code, the error detection code being distributed in the information bits in a first order;

determine, from among the information bits and the error detection code, a set of bits to be redistributed;

redistribute a bit in the set of bits such that the error detection code is distributed in the information bits in a second order; and

map the redistributed information bits and the error detection code to an input of a polar code encoder to be encoded with the polar code.

14. The communication device according to Claim 13, wherein the error detection code is selected from a group consisting of a Cyclic Redundant Check code, a BCH code, a Hamming code, and a Gray code.

15. The communication device according to Claim 13, wherein the instructions, when executed by the processor, cause the communication device to determine a set of bits to be redistributed by:

selecting the set of bits such that the set of bits at least include the information bits.

16. The communication device according to Claim 13, wherein the instructions, when executed by the processor, cause the communication device to determine a set of bits to be redistributed by:

selecting the set of bits such that the set of bits at least include a bit of the error detection code.

17. The communication device according to Claim 13, wherein the instructions, when executed by the processor, cause the communication device to redistribute a bit in the set of bits by:

obtaining configuration information on the encoding with the polar code; and redistributing a bit in the set of bits based on the configuration information.

18. The communication device according to Claim 13, wherein the instructions, when executed by the processor, cause the communication device to redistribute a bit in the set of bits by:

arranging a bit in the set of bits in sequence based on a first index of a bit in the set of bits.

19. The communication device according to Claim 13, wherein the instructions, when executed by the processor, cause the communication device to redistribute a bit in the set of bits by:

performing bit reversion to a first index of a bit in the set of bits so as to generate a second index of the bit; and

arranging the bit based on the second index.

20. The communication device according to Claim 13, wherein the instructions, when executed by the processor, cause the communication device to redistribute a bit in the set of bits by:

redistributing a bit in the set of bits based on a pseudorandom sequence.

21. The communication device according to Claim 13, wherein the instructions, when executed by the processor, cause the communication device to redistribute a bit in the set of bits by:

determining an offset for redistributing the set of bits; and

performing, based on the offset, cyclic permutation to a bit in the set of bits.

22. The communication device according to Claim 13, wherein the determined set of bits include a first subset and a second subset, and wherein the instructions, when executed by the processor, cause the communication device to redistribute a bit in the set of bits by:

redistributing a bit in the first subset in a third order; and

redistributing a bit in the second subset in a fourth order, the fourth order being different from the third order.

23. A communication device, comprising: a processor; and

a memory having instructions stored thereon, the instructions, when executed by the processor, causing the communication device to:

perform polar code decoding on received data encoded with a polar code to obtain output bits;

obtain mapping information on an input of a polar code encoder, the mapping information indicating that an error detection code used in the encoding with the polar code is distributed in a predetermined order in information bits;

obtain, based on the predetermined order, the information bits and the error detection code from the output bits; and

verify the information bits with the error detection code.

24. The communication device according to Claim 23, wherein the error detection code is selected from a group consisting of a Cyclic Redundant Check code, a BCH code, a Hamming code, and a Gray code.

Description:
METHOD AND DEVICE FOR DISTRIBUTED ERROR DETECTION WITH POLAR CODES

TECHNOLOGY

[0001] Embodiments of the present disclosure generally relate to a communication system, and more specifically, to methods and devices for data processing at transmitting and receiving devices in a communication system.

BACKGROUND

[0002] Polar code has been proposed for the enhanced mobile broadband (eMBB) control channel. Polar code is also a candidate of channel coding for machine type communication (mMTC). As compared to other channel coding solutions, polar code has many advantages, such as low complexity and being capable of approximating the capacity. Therefore, for example in a fifth generation (5G) mobile communication system, the polar code will play an important role. Regarding polar code, a decoding scheme usually used for polar code is a list-based scheme or a scheme based on a cyclic redundancy check (CRC)-aided list. Such a decoding scheme can achieve high performance but may also result in a high false alarm rate (FAR).

[0003] One reason for the high FAR is that the CRC check has to test multiple lists, and another reason is that there is no ideal polarization. For a small block size, the bit error rate (BER) for each sub-channel is different. Each CRC bit is a modulo-2 sum of a part of the information bits which may experience different BERs. It is to be understood that if the information bits to be verified by a specific CRC bit have a higher BER, the CRC bit will have a higher BER than the other CRC bits accordingly. In addition, the performance of CRC error detection depends on an assumption that each bit has the same BER. However, if the information bits have different BERs, this assumption will not be tenable. There are several techniques for reducing FAR, such as by using more CRC bits, but this is at the cost of higher system overhead.

SUMMARY

[0004] A brief summary of various embodiments will be given below to provide basic understanding on some aspects of various embodiments. It should be noted that this Summary is not intended to identify essential points of key elements or describe the scope of various embodiments. The sole purpose is to present some concepts in a simplified manner to acts as a preamble of the following detailed description.

[0005] In a first aspect of the present disclosure, there is provided a method of data processing in a communication system. The method comprises: generating an error detection code for information bits to be encoded with a polar code, the error detection code being distributed in the information bits in a first order: determining, from among the information bits and the error detection code, a set of bits to be redistributed; redistributing a bit in the set of bits such that the error detection code is distributed in the information bits in a second order; and mapping the redistributed information bits and the error detection code to an input of a polar code encoder to be encoded with the polar code.

[0006] A second aspect of the present disclosure provides a method of data processing in a communication system. The method comprises: performing polar code decoding on received data encoded with a polar code to obtain output bits; obtaining mapping information on an input of a polar code encoder, the mapping information indicating that an error detection code used in the encoding with the polar code is distributed in a predetermined order in information bits; obtaining, based on the predetermined order, the information bits and the error detection code from the output bits; and verifying the information bits with the error detection code.

[0007] A third aspect of the present disclosure provides a communication device. The communication device comprises: a processor and a memory having instructions stored thereon. The instructions, when executed by the processor, cause the communication device to: generate an error detection code for information bits to be encoded with a polar code, the error detection code being distributed in the information bits in a first order; determine, from among the information bits and the error detection code, a set of bits to be redistributed; redistribute a bit in the set of bits such that the error detection code is distributed in the information bits in a second order; and map the redistributed information bits and the error detection code to an input of a polar code encoder to be encoded with the polar code.

[0008] A fourth aspect of the present disclosure provides a communication device. The communication device comprises: a processor and a memory having instructions stored thereon. The instructions, when executed by the processer, cause the communication device to: perform polar code decoding on received data encoded with a polar code to obtain output bits; obtain mapping information on an input of a polar code encoder, the mapping information indicating that an error detection code used in the encoding with the polar code is distributed in a predetermined order in information bits; obtain, based on the predetermined order, the information bits and the error detection code from the output bits; and verify information bits with error detection code. [0009] Through the following depiction, it is to be understood that according to the embodiments of present disclosure, the communication device can provide better error detection capability with the same number of error check bits so as to reduce FAR effectively

[0010] It would be appreciated that the contents as described in this Summary is not intended to identify key features or essential features of the embodiments of the present disclosure, nor is it intended to be used to limit the scope of the claimed subject matter. Other features of the present disclosure will be made apparent by the following description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Through the contents disclosed below and the claims, the objectives, advantages, and other features of the present disclosure will become more apparent. Only taken as examples herein, non-limiting description of the preferred embodiments will be given with reference to the drawings in which:

[0012] FIG. 1 is a schematic diagram illustrating an example communication system 100 in which a method in accordance with embodiments of the present disclosure can be implemented; [0013] FIG. 2 is a flowchart of a method 200 implemented at a communication device acting as a transmitting device in accordance with embodiments of the present disclosure;

[0014] FIG. 3 is a flowchart of a method 300 implemented at a communication device acting as a transmitting device in accordance with embodiments of the present disclosure;

[0015] FIG. 4 is a block diagram of an apparatus 400 implemented at a communication device acting as a transmitting device in accordance with embodiments of the present disclosure;

[0016] FIG. 5 is a block diagram of an apparatus 500 implemented at a communication device acting as a receiving device in accordance with embodiments of the present disclosure;

[0017] FIG. 6 is a block diagram of a communication device 600 in accordance with embodiments of the present disclosure; [0018] Throughout the drawings, the same or similar reference numerals represent the same or similar element.

DETAILED DESCRIPTION

[0019] In the following, details are illustrated for the purpose of clarification. However, those skilled in the art would realize that the present disclosure can be implemented without these specific details. Therefore, the present invention is not meant to be confined to the embodiments as shown, but should be endowed with the broadest scope conforming to the principles and features as described herein.

[0020] It would be appreciated that terms such as "first" and "second" are only used to differentiate one element from another. As a matter of fact, a first element may be called a second element, or vice versa. Besides, it would be understood that "include" and "comprise" are only used to demonstrate the presence of a feature, an element, a function, or a component as described herein, without excluding the presence of one or more other features, elements, functions, or components. [0021] For ease of explanation, in this context, some embodiments of the present disclosure will be introduced with wireless communications, such as cellular communications, as the background, and terms in Long Term Evolution/Long Term Evolution - Advanced (LTE/LTE-A) formulated by 3GPP or in 5G are employed. However, those skilled in the art would appreciate that embodiments of the present invention are not limited to wireless communication systems conforming to wireless communication protocols formulated by 3GPP, but may be applicable to any communication system containing a similar issue, such as WLAN, a wired communication system, or other communication systems to be developed in the future.

[0022] Likewise, the terminal device in the present disclosure may be a user equipment (UE), or any terminal having a wired or wireless communication function, including, but not limited to, a mobile phone, a computer, a personal digital assistant, a game machine, a wearable device, an on-vehicle communication device, a Machine Type Communication (MTC) device, a Device-to-Device (D2D) communication device, a sensor and so on. The term "a terminal device" can be used interchangeably with a UE, a mobile station, a subscriber station, a mobile terminal, a user terminal, or a wireless device. In addition, the network device may be a network node, such as a node B (Node B or NB), a base transceiver station (BTS), a base station (BS), or a base station system (BSS), a relay, remote wireless front (RRF), an access node (AN), an access point (AP), etc.

[0023] FIG. 1A is a diagram illustrating an example wireless communication system 100 in which a method in accordance with embodiments of the present disclosure can be implemented. The wireless communication system 100 may include one or more network devices 101. For example, in the wireless communication system 100, the network device 101 may be embodied as a base station, such as an evolved node B (eNodeB or eNB). It would be appreciated that the network device 101 may be embodied in other manners, such as a node B, a basic transceiver station (BTS), a base station (BS), or a base station sub-system (BSS), a relay and so on. The network device 101 provides a wireless connection to a plurality of terminal devices 111-112 within the coverage thereof. The terminal devices 111 and 112 may communicate with a network device via a wireless transmission channel 131 or 132, and/or may communicate with each other via a wireless transmission channel 133.

[0024] FIG. IB is a simplified diagram illustrating processing implemented at a transmitting device 120 and a receiving device 130 in communication. The network device 101 or the terminal devices 111 and 112 in FIG. 1 may act as the transmitting device 120 and/or the receiving device 130.

[0025] As shown in FIG. IB, in order to ensure reliable transmission of data (including control signaling), a transmitting device performs channel coding (140) on the data to be transmitted to introduce redundancy, thereby resisting distortion probably introduced in a transmission channel (for example, 131, 132, and 133 in FIG. 1A). Alternatively, the channel-coded data may be further channel interleaved (not shown) and/or modulated (150) before being transmitted. At a receiving device, a process reverse to that of the transmitting device is performed. That is, the received signal is demodulated (160), de-interleaved (not shown) and decoded (170) to recover the transmitted data. In some embodiments, other or different processing may be involved at the transmitting device, and the receiving device may perform a reverse operation accordingly.

[0026] In some embodiments of the present disclosure, polar code is used in the channel encoding processing 140 in FIG. IB. The polar code implements polarization of the channel by two steps, namely channel combination and channel splitting. It should be note that the channel as used herein is an encoding channel, namely a channel involved in the encoding process from an input to an output, rather than the transmission channels 131-133 in FIG. 1A. The channel experienced by each encoding bit may also be referred to as a sub-channel. Different split sub-channels have different channel transfer probabilities. Due to the presence of a channel transfer characteristic, for the polar code, if an error occurs to a certain bit decoded previously, it may affect the decoding of the following bits, thus resulting in error spread.

[0027] At the modulation processing 150 in FIG. IB, any modulation technique known or to be developed in the future may be used, such as BPSK, QPSK, 64QAM. The embodiments of the present disclosure are not limited to any specific modulating manner. It would be appreciated that, in modulation 160 of the receiving device 130, a de-modulating manner will be varied in accordance to the modulating manner. As those skilled in the art would appreciate, the receiving device may use, alternatively or in addition, processing other than de-modulation, based on different processing used by the transmitting device.

[0028] In some embodiments of the present disclosure, the decoding 170 as shown in FIG. IB may use, for example but is not limited to, a list-based decoding method, or a method based on sequence cancellation (SC), or any decoding method known or to be developed in the future.

[0029] In order to reduce FAR and to provide better error detecting capability at the same time without increasing the number of error check bits, the embodiments of the present disclosure provide methods and devices for improving coding and decoding. For the ease of illustration, CRC will be taken as an example of the error detection code used in polar codes. However, it is to be understood that in the embodiments of the present disclosure, the error detection code may also include other linear grouping codes, such as a BCH code, a Hamming code, or a Gray code. Besides, other types of error detection codes may also be applied, such as a parity check code, an error detection code generated based on a Hash function and so on. The scope of the present disclosure is not limited in this regard. [0030] Suppose that a generator matrix of a k-bit CRC is G = [G^, G 2 ,■■ , Gj , where

G j (l < i < k, k is a natural number) represents a column vector of the 1 th CRC bit C j .

Thus, C j = mod(X£j j ,2), where X represents a row vector in a matrix corresponding to the information bits. Considering the BER of the information bits, the BER of the 1 th CRC bit may be represented as:

where represents the BER of the information bits corresponding to the 1 th CRC bit, and Qi represents the 1 th bit of G j . Meanwhile, considering the BER of the sub-channel of the CRC bit itself, the combined BER of the 1 th CRC bit may be represented as:

Gj = 1 - (1 - e t ) Π =ι(1 - b m * g t ( 2 ) where 6? j represents the sub-channel BER of the 1 th CRC bit corresponding to its generator matrix vector G j , and ^p( j ) represents the BER of a permutation of several information bits corresponding to the 1 th CRC bit. As stated above, the purpose of the embodiments of the present disclosure is to minimize the variation of G j .

[0031] Example methods according to the embodiments of the present disclosure are described with reference to FIGs. 2 and 3. For the ease of discussion, FIGs. 2 and 3 will be depicted with reference to the environment as shown in FIG. 1A.

[0032] FIG. 2 is a flowchart of a method 200 in accordance with embodiments of the present disclosure. The method 200 may be implemented at the communication device acting as the transmitting device in the communication network 100. For example, the communication device is the terminal device 111 or 112, or the network device 101 as shown in FIG. 1. For the ease of illustration, the method 200 will be described with reference to the network device 101 as shown in FIG. 1. It is to be understood that method 200 may further include additional steps not shown and/or omit some shown steps, and the scope of the present disclosure is not limited in this regard.

[0033] As shown in FIG. 2, at block 210, the network device 101 generates an error detection code for information bits to be encoded with a polar code, the error detection code being distributed in a first order in the information bits. In some embodiments, the error detection codes may include linear grouping codes, such as a CRC code, a BCH code, a Hamming code, or a Gray code. As stated above, the CRC code will be taken as an example of the error detection code in the following depiction. In some embodiments, a CRC generator matrix may be used to generate the CRC code, and the first order, for example, may indicate that CRC bits are distributed after the information bits. In some other embodiments, the first order may indicate that CRC bits are distributed before the information bits. In some other embodiments, the first order may indicate that the CRC bits are distributed in the information bits with the same or different space. In some other embodiments, the first order may indicate that CRC bits are distributed in specific positions so as to be mapped to better sub-channels. In some other embodiments, the first order may indicate that CRC bits are distributed in specific positions so as to be mapped to worse sub-channels.

[0034] At block 220, the network device 101 determines, from among the information bits and the error detection code, a set of bits to be redistributed. Assuming that the number of information bits is K, and the number of CRC bits is C, then the total number of bits to be encoded with a polar code is K+C. It is further assumed that the number of bits to be redistributed is X. In some embodiments, the set of bits to be redistributed may be selected to only include information bits. For example, if the set of bits include all of the information bits, X=K. In some other embodiments, the set of bits to be redistributed may be selected to only include the CRC bits. For example, if the set of bits include all of the CRC bits, X=C. Furthermore, the set of bits to be redistributed may also include both the information bits and the CRC bits. For instance, the set of bits may be selected to include all of the bits to be encoded with a polar code, namely, X=K+C, thereby obtaining better performance.

[0035] At block 230, the network device 101 redistributes a bit in the set of bits such that the error detection code is distributed in the information bits in a second order. For example, the second order may reflect an order of the information bits and the CRC code to be encoded being mapped to the sub-channels of the encoder.

[0036] In some embodiments, the network device 101 may obtain configuration information on polar code encoding, and redistribute a bit in the set of bits based on the configuration information. The configuration information may include, but is not limited to, for instance, code rate, a size of an information block and the number of CRC bits in use.

[0037] In some embodiments, the network device 101 may first define a predetermined sequence for the X bits determined at block 220, and rearrange the X bits based on the predetermined sequence for the first time. The predetermined sequence may specify the order of a permutation of the X bits (for example, their respective indices). For example, the predetermined sequence may be applied to each transmission from the network device 101. The network device 101 may then specify an offset for a specific transmission to perform a second round of cyclic permutation to the X bits which have been rearranged for the first time. For example, the offset may be applied in a cyclic manner to the set of bits rearranged for the first time for each transmission, resulting in a plurality of transmission orders depending on the length of the set of bits. Further depiction will be given below with reference to some specific examples. [0038] In some embodiments, the predetermined sequence defined for the X bits may specify to order the X bits in sequence according to respective indexes of the bits, for example, in an ascending order (namely, from 1 to X) or a descending order (namely, from X to 1).

[0039] Additionally or alternatively, in some embodiments, bit reversion can be performed on an index of a bit so as to generate a bit-reverted index for the bit. The X bits can be arranged in sequence according to their respective bit reversed indexes. For example, assuming that the original index of a certain bit is OblOll, its index may become 0b 1101 after the bit reversion.

[0040] Additionally or alternatively, in some embodiments, the predetermined sequence defined for the X bits may be a known pseudo-random sequence, such as a gold sequence. In addition, the predetermined sequence defined for the X bits may also be some combination of the above sequences.

[0041] As stated above, in some embodiments, the network device 101 may specify an offset for a specific transmission. For example, the offset may be a predetermined value or a value determined based on history data. Besides, the offset may be preconfigured in the system, namely, the offset may be static. Alternatively, the offset may also be specified by signaling. The network device 101 may utilize this offset to perform circular permutation to the X bits rearranged in a predetermined sequence. A specific example will be provided as below. [0042] For example, it is assumed that the set of bits to be encoded with a polar code is [bl, b2, b3, b4, b5, b6, b7, b8, cl, c2, c3, c4], where bl-b8 represent information bits and cl-c4 represent CRC bits. That is, the CRC bits are initially distributed after the information bits and K=8 and C=4. For example, the selected set of bits to be redistributed includes all of the bits to be encoded with a polar code. That is, X=K+C=12, and the indexes of bl-b8 and cl-c4 are 1-12, respectively. It is assumed that the sequence defined for the 12 bits specifies that the 12 bits are arranged in an ascending order according to their respective indexes. That is, the order of the bits remains unchanged after the first rearrangement. Assuming that the offset specified for the 12 bits after the first rearrangement is 3, then the set of bits after the circular permutation is [b4, b5, b6, b7, b8, cl, c2, c3, c4, bl, b2, b3]. [0043] In some embodiments, the set of bits determined at block 220 may include a first subset and a second subset. For example, the first subset may include the information bits while the second subset may include the CRC bits. Bits in the first subset may be redistributed in a third order while bits in the second subset may be redistributed in a fourth order which is different from the third order. In some embodiments, the third and/or fourth order may be determined in a similar manner as that for determining the first and/or second order. Specifically, different predetermined sequences and/or offsets may be assigned for the first and second subsets so as to realize different permutation for different subsets. Moreover, in addition to the manner as described above, embodiments of the present disclosure may additionally or alternatively redistribute the information bits and the error detection code to be encoded in any other manner currently known or to be developed in the future, and the scope of the present disclosure is not limited in this regard. [0044] At block 240, the network device 101 maps the redistributed information bits and the error detection code to the input of a polar code encoder for encoding with the polar code. In some embodiments, the redistributed information bits and error detection code may be mapped to the sub-channels of the polar code encoder in a conventional manner. For example, the information bits and CRC bits to be encoded may be mapped in the second order to the sub-channels of the encoder sequentially. Besides, other predetermined manners may also be used to perform the above mapping. For example, any approach currently known or to be developed in the future may be used to implement the above mapping. The scope of the present disclosure is not limited in this regard.

[0045] In this way, the CRC bits can be distributed in information bits evenly so that the variation of G j in the above equation (2) can be minimized. That is, embodiments of the present disclosure make it possible to reduce FAR without increasing the number of bits of the error detection code and provide better error detection capability. In addition, it is to be understood that embodiments of the present disclosure allow to make any changes using the existing CRC codecs and/or polar code codecs. Therefore, embodiments of the present disclosure achieve relatively low implementation complexity. However, it is to be further understood that part or ail of the blocks 220-240 may be implemented by the specific polar code encoder in the network device 101. In other words, the polar code encoder may complete the process of redistributing the information bits and CRC bits and mapping them to the corresponding sub-channels, thereby reducing the system complexity of the transmitting device.

[0046] FIG. 3 is a flowchart illustrating a method 300 in accordance with the embodiments of the present disclosure. The method 300 may be implemented at the communication device acting as a receiving device in the communication network 100. For example, the communication device is the terminal device 11 lor 112, or network device 101 as shown in FIG. 1. For the ease of depiction, the method 300 will be described below with reference to the terminal device 111 as shown in FIG. 1. It is to be understood that the method 300 may further include additional acts not shown and/or omit some shown steps, and the scope of present disclosure is not limited in this regard.

[0047] As shown in FIG. 3, at block 310, the terminal device 111 performs polar code decoding on received data encoded with a polar code so as to obtain output bits. It is to be understood that any polar code decoder currently known or to be developed in the future may be used to implement the decoding operation. [0048] At block 320, the terminal device 111 obtains mapping information aboout the input of the polar code encoder. The mapping information may indicate that an error detection code used in the polar code encoding is distributed in a predetermined order in the information bits. The mapping information, for example, may include a predetermined sequence, an offset and/or other associated information for redistributing the set of bits to be encoded at the encoder side. In some embodiments, the mapping information may be preconfigured in the system (for instance, at the transmitting and receiving devices). That is, the mapping information can be static. Alternatively, the mapping information may also be transmitted between the transmitting device and the receiving device via signaling.

[0049] At block 330, the terminal device 111 obtains, based on a predetermined order, the information bits and the error detection code from the output bits. This act is reverse to that as described above with respect to block 230 in FIG. 2, which will not be described in detail herein.

[0050] Particularly, in some embodiments, block 330 may also be implemented by a specific polar code decoder in the terminal device 111. That is, a polar code decoder may complete the process of polar code decoding and restoring the information bits and the CRC bits from the decoded sequence of bits, thereby reducing the system complexity of the receiving device.

[0051] At block 340, the terminal device 111 may verify information bits with the error detection code. For example, block 340 may be completed by an existing CRC decoder. That is, embodiments of the present disclosure do not need to make any changes to the existing CRC decoder.

[0052] FIG. 4 is a block diagram of an apparatus 400 in accordance with some embodiments of the present disclosure. The apparatus 400 may be implemented at a communication device acting as the transmitting device, for example at the terminal device 111 or 112 or at the network device 101 as shown in FIG. 1. The apparatus 400 may be a software module based system, or may be a hardware component such as a transmitter or the like. Specially, in some embodiments, the apparatus 400 may be considered as an example implementation of the transmitting device itself.

[0053] As illustrated in FIG. 4, the apparatus 400 may include an error detection code generating unit 410 configured to generate an error detection code for information bits to be encoded with a polar code, the error detection code being distributed in the information bits in a first order. The apparatus 400 may further include a mapping unit 420 configured to: determine, from among the information bits and the error detection code, a set of bits to be redistributed; redistribute a bit in the set of bits such that the error detection code is distributed in the information bits in a second order; and map the redistributed information bits and the error detection code to an input of a polar code encoder. In addition, the apparatus 400 may further include a polar code encoding unit 430 configured to encode, with the polar code, the information bits together with the error detection code distributed therein.

[0054] In some embodiments, the error detection code is selected from a group consisting of a Cyclic Redundant Check code, a BCH code, a Hamming code, and a Gray code.

[0055] In some embodiments, the mapping unit 420 further includes a first selecting unit configured to select the set of bits such that the set of bits at least include the information bits. [0056] In some embodiments, the mapping unit 420 further includes a second selecting unit configured to select the set of bits such that the set of bits at least include a bit of the error detection code.

[0057] In some embodiments, the mapping unit 420 further includes a first bit distribution unit configured to obtain configuration information on the encoding with the polar code; and redistribute a bit in the set of bits based on the configuration information.

[0058] In some embodiments, the mapping unit 420 further includes a second bit distribution unit configured to order a bit in the set of bits in sequence based on a first index of a bit in the set of bits.

[0059] In some embodiments, the mapping unit 420 further includes a third bit distribution unit configured to perform bit reversion to a first index of a bit in the set of bits so as to generate a second index of the bit; and order the bit based on the second index. [0060] In some embodiments, the mapping unit 420 further includes a fourth bit distribution unit configured to redistribute a bit in the set of bits based on a pseudorandom sequence.

[0061] In some embodiments, the mapping unit 420 further includes a fifth bit distribution unit configured to determine an offset for redistributing the set of bits; and perform, based on the offset, cyclic permutation to a bit in the set of bits.

[0062] In some embodiments, the determined set of bits include a first subset and a second subset, and the mapping unit 420 further includes a sixth bit distributing unit configured to redistribute a bit in the first subset in a third order; and redistribute a bit in the second subset in a fourth order, the fourth order being different from the third order. [0063] FIG. 5 is a block diagram of an apparatus 500 according to some embodiments of the present disclosure. The apparatus 500 may be implemented at a communication device acting as a receiving device, for example at the terminal device 111 or 112 or the network device 101 as shown in FIG. 1. The apparatus 500 may be a software module based system, or may be a hardware component such as a transmitter or the like. Specially, in some embodiments, the apparatus 500 may be considered as an example implementation of the receiving device itself.

[0064] As shown in FIG. 5, the apparatus 500 may include: a polar code decoding unit 510 configured to perform polar code decoding on received data encoded with a polar code to obtain output bits; an information obtaining unit 520 configured to obtain mapping information on an input of a polar code encoder, the mapping information indicating that an error detection code used in the encoding with the polar code is distributed in a predetermined order in information bits; a reverse mapping unit 530 configured to obtain, based on the predetermined order, the information bits and the error detection code from the output bits; and a verifying unit 540 configured to verify the information bits with the error detection code.

[0065] In some embodiments, the error detection code is selected from a group consisting of a Cyclic Redundant Check code, a BCH code, a Hamming code, and a Gray code.

[0066] For the purpose of clarity, some optional units of the apparatuses 400 and/or 500 are not shown in FIGs. 4 and 5. However, it is to be understood that various features as depicted with reference to FIGs. 1-2 are also applicable to the apparatus 400; and various features as depicted with reference to FIG. 1 and FIG. 3 are likewise applicable to the apparatus 500. Besides, each unit of the apparatus 400 and/or 500 may be a hardware module, or may be a software module. For example, in certain embodiments, the apparatus 400 and/or 500 may be partially or entirely implemented in software and/or firmware, for example implemented as a computer program product included on a computer readable medium. Alternatively, or in addition, the apparatus 400 and/or 500 may be partially or entirely implemented based on hardware, for example implemented as an Integrated Circuit (IC), an Application- specific Integrated Circuit (ASIC), a System- on- a-chip systems (SOC), a Field-programmable Gate Array (FPGA), or the like. The scope of the present disclosure is not limited in the regard.

[0067] FIG. 6 is a block diagram of a communication device 600 suitable for implementing embodiments of the present disclosure. The device 600 may be used to implement the transmitting device or the receiving device in the embodiments of the present disclosure, for example the network device 101 or the terminal device as shown in FIG. 1, such as the terminal device 111 or 112 as shown in FIG. 1.

[0068] As shown in the example of FIG. 6, the device 600 includes a processor 610. The processor 610 controls operations and functionality of the device 600. For example, in certain embodiments, the processor 610 may perform various operations by means of instructions 630 stored in a memory 620 coupled thereto. The memory 620 may be of any appropriate type applicable to a local technical environment, and may be implemented using any appropriate data storage technique, including but not limited to, a semiconductor-based storage device, a magnetic storage device and system, an optical storage device and system. Though FIG. 6 only shows a memory unit, the device 600 may include multiple physically different memory units.

[0069] The processor 610 may be of any appropriate type applicable to a local technical environment, and may include, but not limited to, one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and a controller based multi-core processor architecture. The device 600 may further include multiple processors 610. The processor 610 may be coupled to a transceiver 640 which may implement transmitting and receiving of information with aid of one or more antennae 650 and/or other components.

[0070] According to embodiments of the present disclosure, the processor 610 and the memory 620 may be operated in cooperation, to implement the methods 200 and/or 300 as described with reference to FIGs. 2-3. Specifically, if the communication device 600 acts as a transmitting device, the communication device 600 may be used to perform the method 200 when the instructions 630 in the memory 620 are executed by the processor 610. If the communication device 600 acts as a receiving device, the communication device 600 may be caused to perform the method 300 when the instructions 630 in the memory 620 are executed by the processor 610. It would be appreciated that all features as described above are all applicable to the device 600, which are omitted herein.

[0071] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, a microprocessor or another computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0072] As examples, the embodiments of the present disclosure may be described in the context of the machine executable instruction which for example includes program modules executed in the device on a real or virtual processor. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media. [0073] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by a computer or other programmable data processing devices, cause the functions/operations specified in the flowcharts and/or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server. [0074] In context of the present disclosure, the machine readable medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0075] Further, while operations are depicted in a specific order, this should not be understood as requiring that such operations be performed in the specific order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific embodiment details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.

[0076] Although the present disclosure has been described in language specific to structural features and/or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms for implementing the claims.