Communication method, apparatus, and system
Patent Information
- Application Number
- EP2024895339
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-29
- Filing Date
- 2024-03-13
- Publication Date
- 2026-09-09
AI Technical Summary
Existing wireless communication systems face challenges in achieving fine-grained flexibility in channel codes to adapt to varying channel states while maintaining low implementation complexity and high error correction performance.
A communication method that determines whether to insert attached bits into information bits based on code length or code rate information, and inserts these bits according to a subblock number greater than 1, allowing for early error detection and termination in decoding.
This approach enables low-complexity implementation while ensuring high performance by allowing for early error detection and termination, and can be adapted to various application scenarios through flexible design criteria.
Smart Images

Figure CN2024081458_05062025_PF_FP_ABST
Abstract
Description
COMMUNICATION METHOD, APPARATUS, AND SYSTEM
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to US provisional patent application No. 63 / 603,968, filed on November 29, 2023, which is hereby incorporated by reference in its entirety.TECHNICAL FIELD
[0003] The present disclosure relates generally to the field of wireless communications technologies and, in particular, to a segment-wise pre-freezing or cyclic redundancy check (CRC) bit attachment communication method, apparatus, and system.BACKGROUND
[0004] In wireless communications, channel quality is constantly changing due to the fading effects at both fast and slow scale. Accordingly, channel coding has always been designed to adapt to the channel states. Modulation coding scheme (MCS) adaptation is a powerful method to combat varying channel states, in which the modulation order and code length and coding rate can be changed in real time. Therefore, it requires that a channel coding scheme can flexibly change the code length and code rate in a fine-grained way, and at the same time achieve good error correction performance in all possible configurations. This fine-grained flexibility of channel codes is one of the most challenging problem for engineers in this domain.
[0005] At the same time, the complexity of both encoding and decoding algorithms need to be sufficiently low. In hardware, complexity can be evaluated through measuring chip area and energy efficiency. They are related to algorithmic complexity, but are more closely related to hardware cost and battery life. Therefore, there exists a desire to reduce implementation complexity when designing coding schemes.
[0006] Future communication systems, such as so-called sixth-generation (6G) systems, may aim to support several challenging scenarios, including for example immersive communication, massive communication, and hyper reliable and low-latency communication. The key performance indicators (KPIs) that are related to channel coding include coding gain, reliability, throughput, latency and their tradeoffs. For example, the throughput target of 6G may reach above 1 Tbps, and the energy efficiency target may decrease to 1 pJ / bit. Meanwhile, a coding scheme supporting flexible rate matching and incremental redundancy-hybrid automatic repeat request (IR-HARQ) schemes is also beneficial. Accordingly, it is desirable yet challenging to design a code ensemble to fulfill all these KPIs and capabilities.
[0007] This background information is provided to reveal information believed by the applicant to be of possible relevance to the present disclosure. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present disclosure.SUMMARY
[0008] In a first aspect, the present disclosure provides a communication method, including:
[0009] obtaining information bits to be transmitted in a code block (CB) ;
[0010] determining whether to insert attached bits to the information bits based on at least one of code length information or code rate information; and
[0011] inserting the attached bits to the information bits based on a subblock number of the CB when determining to insert the attached bits to the information bits, where the subblock number is greater than 1.
[0012] Because whether to insert attached bits to the information bits could be determined based on at least one of code length information or code rate information, the criteria on whether to insert the attached bits could be designed with respect to certain code length and rates. Meanwhile, the rules to determine how many subblocks are required in each CB for inserting attached bits could be designed with respect to certain subblock number of the CB, and the attached bits could be inserted to the information bits based on the subblock number of the CB. Insertion of the attached bits to the information bits could allow for even early error detection and early termination in decoding. Therefore, low-complexity implementation could be achieved while high performance could be guaranteed based on the designed criteria and rules.
[0013] In a possible implementation of the first aspect, the code length information indicates at least one of a code length, a mother code length, or an information length, the code rate information indicates a code rate, and it is determined to insert the attached bits to the information bits when at least one of following conditions is satisfied: a mother code length is larger than a mother code length threshold; a code length is larger than a code length threshold; an information length is larger than an information length threshold; or a code rate is higher than a code rate threshold.
[0014] In a possible implementation of the first aspect, the code length threshold is 512, 1024, 2048, 4096, or 8192, and the code rate threshold is 1 / 8, 3 / 16, 1 / 4, 5 / 16, 3 / 8, 7 / 16, 1 / 2, 9 / 16, 5 / 8, 11 / 16, 6 / 8, 13 / 16, 7 / 8, 15 / 16, 1 / 9, 2 / 9, 1 / 3, 4 / 9, 5 / 9, 2 / 3, 7 / 9, 8 / 9, 1 / 5, 2 / 5, 3 / 5, or 4 / 5.
[0015] Because whether to insert the attached bits could be determined based on the mother code length, the code length and / or the code rate, the criteria on whether to insert the attached bits could be designed with respect to a desired one or combination of one or more types of length information and / or code information with the respective threshold (s) . In this way, the insertion of the attached bits could be determined according to actual demands, and various application scenarios could be adapted to, thereby improving the flexibility and universality of the attached bits insertion.
[0016] In a possible implementation of the first aspect, the subblock number is obtained based on a mother code length and a subblock length.
[0017] In a possible implementation of the first aspect, the subblock length is fixed and is a power-of-2 integer.
[0018] In a possible implementation of the first aspect, the subblock length is 512, 1024, 2048, 4096 or 8192.
[0019] In a possible implementation of the first aspect, the subblock number is 2, 4, or 8.
[0020] Because the subblock number could be obtained in many different ways, the rules to determine how many subblocks are required in each CB for inserting attached bits could be designed according to actual demands, various application scenarios could be adapted to, thereby improving the flexibility and universality of the attached bits insertion.
[0021] In a possible implementation of the first aspect, the method further includes:
[0022] pre-freezing at least one bit position corresponding to at least one rate matching bit position, where the at least one rate matching bit position is determined on a mother code or separately determined on each of subblocks; and the at least one rate matching bit position includes at least one punctured bit position, or at least one shortened bit position.
[0023] Because at least one bit position corresponding to at least one punctured bit position or at least one shortened bit position could be pre-frozen, the most reliable subchannels for carrying information bits and attached bits could be further selected from the bit positions apart from the pre-frozen bits, i.e., a non-frozen set. Meanwhile, because at least one punctured bit position or at least one shortened bit position could be determined on the mother code or separately determined on each of subblocks, the puncturing or shortening could be performed according to actual demands, various application scenarios could be adapted to.
[0024] In a possible implementation of the first aspect, when a first subblock of the subblocks has a number of unfrozen bits less than a threshold, the first subblock is merged with a next subblock, and the subblock number is decreased by 1.
[0025] Because the threshold such as a minimum number of unfrozen bits is imposed, where no subblock could have unfrozen bits fewer than that, a subblock having less unfrozen bits could be automatically merged with the next subblock, which could guarantee that there are always sufficient information bits in one subblock.
[0026] In a possible implementation of the first aspect, the method further includes:
[0027] selecting a number of most reliable subchannels from unfrozen bit positions in each of subblocks for carrying information bits and the attached bits based on an information bit length, the subblock number, and a subblock attached bit length of each of the subblocks, where the information bit length indicates a length of the information bits and the subblock attached bit length of each of the subblocks indicates a length of at least one attached bit in the respective subblocks.
[0028] Because a number of most reliable subchannels could be selected from unfrozen bit positions in each of subblocks for carrying information bits and the attached bits, the information bits and attached bits could be carried by most reliable subchannels of the unfrozen bit positions, and thus, communication reliability could be increased.
[0029] In a possible implementation of the first aspect, the method further includes:
[0030] segmenting the information bits based on the subblock number.
[0031] In a possible implementation of the first aspect, the segmenting the information bits is performed further based on at least one of: positions of the information bits in a mother code obtained from unfrozen bit positions in each of the subblocks for carrying information bits and attached bits; or a number of information bits in each of the subblocks.
[0032] Because the information bits could be segmented based on the subblock number or further based on their positions and / or their number in each subblock, the method to segment information bits could be designed according to actual demands, various application scenarios could be adapted to.
[0033] In a possible implementation of the first aspect, a subblock attached bit length of each of the subblocks is predefined.
[0034] In a possible implementation of the first aspect, subblock attached bit lengths are different for different subblocks, and are monotonically increased or non-decreased from a first subblock to a last subblock of the subblocks; or subblock attached bit lengths are same for different subblocks.
[0035] Because the subblock attached bit length could be designed in different ways, various application scenarios could be adapted to.
[0036] In a possible implementation of the first aspect, the method further includes:
[0037] determining bit positions of the assistant bits in a case of rate matching.
[0038] In a possible implementation of the first aspect, where the at least one assistant bit is placed in at least one bit position other than punctured bit positions and shorten bit positions in each of the subblocks.
[0039] Because the bit positions of the assistant bits avoid rate matched bit positions, error check performance could be improved.
[0040] In a possible implementation of the first aspect, the method further includes:
[0041] interleaving the information bits and at least one attached bit in each of the subblocks following a distributed attached bit interleaver.
[0042] In a possible implementation of the first aspect, the distributed attached bit interleaver is a distributed CRC interleaver.
[0043] The attached bits, such as CRC bits, could be interleaved with information bits in each subblock by using a distributed attached bit interleaver, thereby allowing for even earlier error detection and termination in decoding.
[0044] In a possible implementation of the first aspect, the method further includes:
[0045] assigning the information bits and at least one attached bit to unfrozen bit positions in each of the subblocks.
[0046] In a possible implementation of the first aspect, the method further includes:
[0047] performing polar coding, where the polar coding is performed on a mother code or separately on each of the subblocks.
[0048] In a possible implementation of the first aspect, the method further includes:
[0049] performing rate matching for the CB, where the rate matching is performed on the mother code or separately on each of the subblocks.
[0050] By assigning the information bits and at least one attached bit to unfrozen bit positions in each of the subblocks, the information bits and attached bit (s) could be placed in proper bit positions, which would be transmitted without being punctured or shortened, thereby ensuring communication reliability.
[0051] In a possible implementation of the first aspect, the attached bits are assistant bits, which may be cyclic redundancy check (CRC) bits, parity-check (PC) bits, or convolutional code (CC) bits.
[0052] In a possible implementation of the first aspect, the at least one assistant bit is placed in at least one unfrozen bit position with the largest bit index in each of the subblocks; or the at least one assistant bit is placed in at least one unfrozen bit position with the largest reliability in each of the subblocks, in which a reliability is defined in a reliability ordered sequence table.
[0053] When the attached bits are assistant bits such as CRC bits, PC bits, or CC bits, the rule to determine the positions of assistant bits could further associate with the bit index or the reliability of unfrozen bit position, which gives more detailed rules for determining the positions of assistant bits, thereby further reducing complexity while improving error correction performance.
[0054] In a possible implementation of the first aspect, the inserting the attached bits to the information bits based on a subblock number includes:
[0055] attaching at least one assistant bit of each of the subblocks to the information bits of the respective subblocks.
[0056] In a possible implementation of the first aspect, the at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock; or the at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock and a subblock preceding the respective subblock; or the at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock and one or more subblocks preceding the respective subblock from a first subblock.
[0057] When the attached bits are assistant bits such as CRC bits, PC bits, or CC bits, the assistant bits could be generated in different ways according to actual demands and then attached to the information bits, thereby improving the flexibility of the system and accommodating various application scenarios.
[0058] In a possible implementation of the first aspect, the method further includes:
[0059] scrambling the at least one attached bit in each of the subblocks by a user equipment (UE) -specific radio network temporary identifier (RNTI) or group RNTI.
[0060] Because the at least one attached bit in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI, the intended receiving UE or UE group could obtain the attached bit (s) by descrambling the received information using a corresponding RNTI or group RNTI, and thus, the reliability of communication could be improved.
[0061] In a possible implementation of the first aspect, the attached bits are pre-frozen bits.
[0062] In a possible implementation of the first aspect, the pre-frozen bits are placed in unfrozen bit positions with the largest bit index in each of the subblocks; the pre-frozen bits are placed in unfrozen bit positions with the largest reliability in each of the subblocks, in which a reliability is defined in a reliability ordered sequence table; the bit positions of the pre-frozen bits are uniformly inserted among the positions of the information bits in the subblocks; the bit positions of the pre-frozen bits are uniformly inserted among all bit indices in the subblocks; or the bit positions of the pre-frozen bits are non-uniformly inserted among the subblocks, where the subblocks with smaller indexes have fewer pre-frozen bit positions.
[0063] The use of pre-frozen bits as attached bits could reduce computational complexity while ensuring error correction performance. The rule to determine the positions of pre-frozen bits could further associate with the bit index or the reliability of unfrozen bit position, which provides various options to determine the positions of pre-frozen bits, thereby improving flexibility of the system while ensuring error correction performance.
[0064] In a possible implementation of the first aspect, the method further includes:
[0065] setting the pre-frozen bits to all zeroes; and
[0066] scrambling the at least one pre-frozen bit in each of the subblocks by a UE-specific RNTI or group RNTI.
[0067] Because the at least one pre-frozen bit in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI, the intended receiving UE or UE group could obtain the attached pre-frozen bit (s) by descrambling the received information using a corresponding RNTI or group RNTI, and thus, the reliability of communication could be improved.
[0068] In a possible implementation of the first aspect, when an attached bit length of a subblock is larger than a RNTI bit length of the UE-specific RNTI or the group RNTI, first or last attached bit of the RNTI bit length is scrambled by the UE-specific RNTI or group RNTI; or RNTI bits are repeated to match the attached bit length and attached bits of the subblock are scrambled by RNTI bits obtained after the repetition; when a subblock attached bit length of a subblock is less than a RNTI bit length of the UE-specific RNTI or the group RNTI, attached bits of the subblock is scrambled by a first or a last RNTI bit of the attached bit length; or attached bits in all of the subblocks are combined to be scrambled by RNTI bits of the UE-specific RNTI or the group RNTI.
[0069] The attached bit length may be different in different scenarios, and the attached bit (s) in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI in different ways according to actual situation or demands, and thus, various application scenarios could be adapted to, thereby improving the flexibility and universality of scrambling.
[0070] In a second aspect, the present disclosure provides a communication method, including:
[0071] receiving an encoded sequence obtained by encoding information bits to be transmitted in a CB, wherein the encoding the information bits comprises inserting attached bits to the information bits based on a subblock number of the code block when it is determined, based on at least one of code length information or code rate information, to insert the attached bits to the information bits, wherein the subblock number is greater than 1; and
[0072] decoding the encoded sequence to obtain the information bits.
[0073] Because whether to insert attached bits to the information bits could be determined based on at least one of code length information or code rate information, the criteria on whether to insert the attached bits could be designed with respect to certain code length and rates. Meanwhile, the rules to determine how many subblocks are required in each CB for inserting attached bits could be designed with respect to certain subblock number of the CB, and the attached bits could be inserted to the information bits based on the subblock number of the CB. Insertion of the attached bits to the information bits could allow for earlier error detection and termination in decoding. Therefore, low-complexity implementation could be achieved while high performance could be guaranteed based on the designed criteria and rules.
[0074] In a possible implementation of the second aspect, the code length information indicates at least one of a code length, a mother code length, or an information length, the code rate information indicates a code rate, and it is determined to insert the attached bits to the information bits when at least one of following conditions is satisfied: a mother code length is larger than a mother code length threshold; a code length is larger than a code length threshold; an information length is larger than an information length threshold; or a code rate is higher than a code rate threshold.
[0075] In a possible implementation of the second aspect, the code length threshold is 512, 1024, 2048, 4096, or 8192, and the code rate threshold is 1 / 8, 3 / 16, 1 / 4, 5 / 16, 3 / 8, 7 / 16, 1 / 2, 9 / 16, 5 / 8, 11 / 16, 6 / 8, 13 / 16, 7 / 8, 15 / 16, 1 / 9, 2 / 9, 1 / 3, 4 / 9, 5 / 9, 2 / 3, 7 / 9, 8 / 9, 1 / 5, 2 / 5, 3 / 5, or 4 / 5.
[0076] Because whether to insert the attached bits could be determined based on the mother code length, the code length and / or the code rate, the criteria on whether to insert the attached bits could be designed with respect to a desired one or combination of one or more types of length information and / or code information with the respective threshold (s) . In this way, the insertion of the attached bits could be determined according to actual demands, and various application scenarios could be adapted to, thereby improving the flexibility and universality of the attached bits insertion.
[0077] In a possible implementation of the second aspect, the subblock number is obtained based on a mother code length and a subblock length.
[0078] In a possible implementation of the second aspect, the subblock length is fixed and is a power-of-2 integer.
[0079] In a possible implementation of the second aspect, the subblock length is 512, 1024, 2048, 4096 or 8192.
[0080] In a possible implementation of the second aspect, the subblock number is 2, 4, or 8.
[0081] Because the subblock number could be obtained in many different ways, the rules to determine how many subblocks are required in each CB for inserting attached bits could be designed according to actual demands, various application scenarios could be adapted to, thereby improving the flexibility and universality of the attached bits insertion.
[0082] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0083] pre-freezing at least one bit position corresponding to at least one rate matching bit position, where the at least one rate matching bit position is determined on a mother code or separately determined on each of subblocks; and the at least one rate matching bit position include at least one punctured bit position, or at least one shortened bit position.
[0084] Because at least one bit position corresponding to at least one punctured bit position or at least one shortened bit position could be pre-frozen, the most reliable subchannels for carrying information bits and attached bits could be further selected from the bit positions apart from the pre-frozen bits, i.e., a non-frozen set. Meanwhile, because at least one punctured bit position or at least one shortened bit position could be determined on the mother code or separately determined on each of subblocks, the puncturing or shortening could be performed according to actual demands, various application scenarios could be adapted to.
[0085] In a possible implementation of the second aspect, when a first subblock of the subblocks has a number of unfrozen bits less than a threshold, the first subblock is merged with a next subblock, and the subblock number is decreased by 1.
[0086] Because the threshold such as a minimum number of unfrozen bits is imposed, where no subblock could have unfrozen bits fewer than that, a subblock having less unfrozen bits could be automatically merged with the next subblock, which could guarantee that there are always sufficient information bits in one subblock.
[0087] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0088] selecting a number of most reliable subchannels from unfrozen bit positions in each of subblocks for carrying information bits and the attached bits based on an information bit length, the subblock number, and a subblock attached bit length of each of the subblocks, where the information bit length indicates a length of the information bits and the subblock attached bit length of each of the subblocks indicates a length of at least one attached bit in the respective subblocks.
[0089] Because a number of most reliable subchannels could be selected from unfrozen bit positions in each of subblocks for carrying information bits and the attached bits, the information bits and attached bits could be carried by most reliable subchannels of the unfrozen bit positions, and thus, communication reliability could be increased.
[0090] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0091] segmenting the information bits based on the subblock number.
[0092] In a possible implementation of the second aspect, segmenting the information bits further based on at least one of: positions of the information bits in a mother code obtained from unfrozen bit positions in each of the subblocks for carrying information bits and attached bits; or a number of information bits in each of the subblocks.
[0093] Because the information bits could be segemented based on the subblock number or further based on their positions and / or their number in each subblock, the method to segment information bits could be designed according to actual demands, various application scenarios could be adapted to.
[0094] In a possible implementation of the second aspect, a subblock attached bit length of each of the subblocks is predefined.
[0095] In a possible implementation of the second aspect, subblock attached bit lengths are different for different subblocks, and are monotonically increased or non-decreased from a first subblock to a last subblock of the subblocks; or subblock attached bit lengths are same for different subblocks.
[0096] Because the subblock attached bit length could be designed in different ways, various application scenarios could be adapted to.
[0097] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0098] determining bit positions of the assistant bits in a case of rate matching.
[0099] In a possible implementation of the second aspect, the at least one assistant bit is placed in bit positions other than punctured bit positions and shorten bit positions in each of the subblocks.
[0100] Because the bit positions of the assistant bits avoid rate matched bit positions, error check performance could be improved.
[0101] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0102] interleaving the information bits and at least one attached bit in each of the subblocks following a distributed attached bit interleaver.
[0103] In a possible implementation of the second aspect, the distributed attached bit interleaver is a distributed CRC interleaver.
[0104] The attached bits, such as CRC bits, could be interleaved with information bits in each subblock by using a distributed attached bit interleaver, thereby allowing for even earlier error detection and termination in decoding.
[0105] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0106] assigning the information bits and at least one attached bit to unfrozen bit positions in each of the subblocks.
[0107] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0108] performing polar coding, where the polar coding is performed on a mother code or separately on each of the subblocks.
[0109] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0110] performing rate matching for the CB, where the rate matching is performed on the mother code or separately on each of the subblocks.
[0111] By assigning the information bits and at least one attached bit to unfrozen bit positions in each of the subblocks, the information bits and attached bit (s) could be placed in proper bit positions, which would be transmitted without being punctured or shortened, thereby ensuring communication reliability.
[0112] In a possible implementation of the second aspect, the attached bits are assistant bits, which are cyclic CRC bits, PC bits, or CC bits.
[0113] In a possible implementation of the second aspect, the at least one assistant bit is placed in at least one unfrozen bit position with the largest bit index in each of the subblocks; or the at least one assistant bit is placed in at least one unfrozen bit position with the largest reliability in each of the subblocks, in which a reliability is defined in a reliability ordered sequence table.
[0114] When the attached bits are assistant bits such as CRC bits, PC bits, or CC bits, the rule to determine the positions of assistant bits could further associate with the bit index or the reliability of unfrozen bit position, which gives more detailed rules for determining the positions of assistant bits, thereby further reducing complexity while improving error correction performance.
[0115] In a possible implementation of the second aspect, at least one assistant bit of each of the subblocks is attached to the information bits of the respective subblocks.
[0116] In a possible implementation of the second aspect, the at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock; or the at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock and a subblock preceding the respective subblock; or the at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock and one or more subblocks preceding the respective subblock from a first subblock.
[0117] When the attached bits are assistant bits such as CRC bits, PC bits, or CC bits, the assistant bits could be generated in different ways according to actual demands and then attached to the information bits, thereby improving the flexibility of the system and accommodating various application scenarios.
[0118] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0119] scrambling the at least one attached bit in each of the subblocks by a UE-specific RNTI or group RNTI.
[0120] Because the at least one attached bit in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI, the intended receiving UE or UE group could obtain the attached bit (s) by descrambling the received information using a corresponding RNTI or group RNTI, and thus, the reliability of communication could be improved.
[0121] In a possible implementation of the second aspect, the attached bits are pre-frozen bits.
[0122] In a possible implementation of the second aspect, the pre-frozen bits are placed in unfrozen bit positions with the largest bit index in each of the subblocks; the pre-frozen bits are placed in unfrozen bit positions with the largest reliability in each of the subblocks, in which a reliability is defined in a reliability ordered sequence table; the bit positions of the pre-frozen bits are uniformly inserted among the positions of the information bits in the subblocks; the bit positions of the pre-frozen bits are uniformly inserted among all bit indices in the subblocks; or the bit positions of the pre-frozen bits are non-uniformly inserted among the subblocks, where the subblocks with smaller indexes have fewer pre-frozen bit positions.
[0123] The use of pre-frozen bits as attached bits could reduce computational complexity while ensuring error correction performance. The rule to determine the positions of pre-frozen bits could further associate with the bit index or the reliability of unfrozen bit position, which provides various options to determine the positions of pre-frozen bits, thereby improving flexibility of the system while ensuring error correction performance.
[0124] In a possible implementation of the second aspect, the information bits and attached bits are encoded further by:
[0125] setting the pre-frozen bits to all zeroes; and
[0126] scrambling the at least one pre-frozen bit in each of the subblocks by a UE-specific RNTI or group RNTI.
[0127] Because the at least one pre-frozen bit in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI, the intended receiving UE or UE group could obtain the attached pre-frozen bit (s) by descrambling the received information using a corresponding RNTI or group RNTI, and thus, the reliability of communication could be improved.
[0128] In a possible implementation of the second aspect, when an attached bit length of a subblock is larger than a RNTI bit length of the UE-specific RNTI or the group RNTI, first or last attached bit of the RNTI bit length is scrambled by the UE-specific RNTI or group RNTI; or RNTI bits are repeated to match the attached bit length and attached bits of the subblock are scrambled by RNTI bits obtained after the repetition; when a subblock attached bit length of a subblock is less than a RNTI bit length of the UE-specific RNTI or the group RNTI, attached bits of the subblock is scrambled by a first or a last RNTI bit of the attached bit length; or attached bits in all of the subblocks are combined to be scrambled by RNTI bits of the UE-specific RNTI or the group RNTI.
[0129] The attached bit length may be different in different scenarios, and the attached bit in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI in different ways according to actual situation or demands, and thus, various application scenarios could be adapted to, thereby improving the flexibility and universality of scrambling.
[0130] In a third aspect, the present disclosure provides a first apparatus, including an interface and an encoder for executing the method according to the first aspect or any possible implementation of the first aspect.
[0131] In a fourth aspect, the present disclosure provides a second apparatus, including an interface and a decoder for executing the method according to the second aspect or any possible implementation of the second aspect.
[0132] In a fifth aspect, the present disclosure provides a third apparatus including a processor coupled with a memory including instructions that, when executed by the processor, cause the third apparatus to perform the method according to the first aspect or any possible implementation of the first aspect. The third apparatus can be a whole device such as base station or terminal device, a communication module, or a chip in the whole device, which is not limited herein.
[0133] In a sixth aspect, the present disclosure provides a fourth apparatus including a processor coupled with a memory including instructions that, when executed by the processor, cause the fourth apparatus to perform the method according to the second aspect or any possible implementation of the second aspect. The fourth apparatus can be a whole device such as base station or terminal device, a communication module, or a chip in the whole device, which is not limited herein.
[0134] In a seventh aspect, a possible implementation of the present disclosure provides a fifth apparatus, including various modules or units configured to execute the method according to the first aspect or any possible implementation of the first aspect.
[0135] In an eighth aspect, a possible implementation of the present disclosure provides a sixth apparatus, including various modules or units configured to execute the method according to the second aspect or any possible implementation of the second aspect.
[0136] In a ninth aspect, the present disclosure provides a computer program including programming for execution by a processor, the programming including instructions to perform the method according to the first aspect, any possible implementation of the first aspect, the second aspect, or any possible implementation of the second aspect.
[0137] In a tenth aspect, the present disclosure provides a non-transitory computer readable medium storing programming for execution by a processor, the programming including instructions to perform the method according to the first aspect, any possible implementation of the first aspect, the second aspect, or any possible implementation of the second aspect.
[0138] In an eleventh aspect, the present disclosure provides a system including:
[0139] a first communication device configured to perform the method according to the first aspect or any possible implementation of the first aspect; and
[0140] a second communication device configured to perform the method according to the second aspect or any possible implementation of the second aspect.
[0141] The present disclosure provides a communication method, apparatus, and system. An apparatus such as an encoder could obtain information bits to be transmitted in a CB, determine whether to insert attached bits to the information bits based on at least one of code length information or code rate information, and insert the attached bits to the information bits based on a subblock number of the CB when determining to insert the attached bits to the information bits, where the subblock number is greater than 1. Because whether to insert attached bits to the information bits could be determined based on at least one of code length information or code rate information, the criteria on whether to insert the attached bits could be designed with respect to certain code length and rates. Meanwhile, the rules to determine how many subblocks are required in each CB for inserting attached bits could be designed with respect to certain subblock number of the CB, and the attached bits could be inserted to the information bits based on the subblock number of the CB. Insertion of attached bits to information bits could allow for even early error detection and early termination in decoding. Therefore, low-complexity implementation could be achieved while high performance could be guaranteed based on the designed criteria and rules.BRIEF DESCRIPTION OF DRAWINGS
[0142] Reference will now be made, by way of example, to the accompanying drawings which show example embodiments of the present disclosure, and in which:
[0143] FIG. 1 is a simplified schematic illustration of a communication system according to one or more example embodiments of the present disclosure.
[0144] FIG. 2 is a schematic illustration of an example communication system according to one or more example embodiments of the present disclosure.
[0145] FIG. 3 is a schematic illustration of a basic component structure of a communication system according to one or more example embodiments of the present disclosure.
[0146] FIG. 4 is a block diagram of a device in a communication system according to one or more example embodiments of the present disclosure.
[0147] FIG. 5 is an example trellis graph of polar code according to one or more example embodiments of the present disclosure.
[0148] FIG. 6 is a schematic illustration of an example interleaver scheme according to one or more example embodiments of the present disclosure.
[0149] FIG. 7 is a schematic illustration of an example polar code rate matching according to one or more example embodiments of the present disclosure.
[0150] FIG. 8 is a schematic illustration of an example polar hybrid automatic repeat request (HARQ) according to one or more example embodiments of the present disclosure.
[0151] FIG. 9 is a schematic illustration of an example encoding process according to one or more example embodiments of the present disclosure.
[0152] FIG. 10 is another schematic illustration of an example encoding process according to one or more example embodiments of the present disclosure.
[0153] FIG. 11 is yet another schematic illustration of an example encoding process according to one or more example embodiments of the present disclosure.
[0154] FIG. 12 is a schematic illustration of an example CRC attachment according to one or more example embodiments of the present disclosure.
[0155] FIG. 13 is a schematic flowchart of a communication method according to one or more example embodiments of the present disclosure.
[0156] FIG. 14 is a schematic illustration of an example segment-wise CRC scheme and an example segment-wise pre-freezing scheme according to one or more example embodiments of the present disclosure.
[0157] FIG. 15 is a schematic flowchart of another communication method according to one or more example embodiments of the present disclosure.
[0158] FIG. 16 is a schematic flowchart of yet another communication method according to one or more example embodiments of the present disclosure.
[0159] FIG. 17 is a schematic flowchart of yet another communication method according to one or more example embodiments of the present disclosure.
[0160] FIG. 18 is a schematic structural diagram of a first apparatus according to one or more example embodiments of the present disclosure.
[0161] FIG. 19 is a schematic structural diagram of a second apparatus according to one or more example embodiments of the present disclosure.DESCRIPTION OF EMBODIMENTS
[0162] In the following description, reference is made to the accompanying figures, which form part of the present disclosure, and which show, by way of illustration, specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present disclosure may be used. It is understood that embodiments of the present disclosure may be used in other aspects and include structural or logical changes not depicted in the figures. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims.
[0163] To assist in understanding the present disclosure, examples of wireless communication systems and devices are described below.
[0164] Referring to FIG. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 comprises a radio access network 120. The radio access network 120 may be a next generation (e.g. sixth generation (6G) or later) radio access network, or a legacy (e.g. 5G, 4G, 3G or 2G) radio access network. One or more communication electronic devices (ED) 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (generically referred to as 110) may be interconnected to one another or connected to one or more network nodes (170a, 170b, generically referred to as 170) in the radio access network 120. A core network 130 may be a part of the communication system and may be dependent or independent of the radio access technology used in the communication system 100. Also the communication system 100 comprises a public switched telephone network (PSTN) 140, the internet 150, and other networks 160.
[0165] FIG. 2 illustrates an example communication system 100. In general, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The purpose of the communication system 100 may be to provide content, such as voice, data, video, and / or text, via broadcast, multicast, groupcast, unicast, etc. The communication system 100 may operate by sharing resources, such as carrier spectrum bandwidth, between its constituent elements. The communication system 100 may include a terrestrial communication system and / or a non-terrestrial communication system. The communication system 100 may provide a wide range of communication services and applications (such as earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc. ) . The communication system 100 may provide a high degree of availability and robustness through a joint operation of a terrestrial communication system and a non-terrestrial communication system. For example, integrating a non-terrestrial communication system (or components thereof) into a terrestrial communication system can result in what may be considered a heterogeneous network comprising multiple layers. Compared to conventional communication networks, the heterogeneous network may achieve better overall performance through efficient multi-link joint operation, more flexible functionality sharing, and faster physical layer link switching between terrestrial networks and non-terrestrial networks.
[0166] The terrestrial communication system and the non-terrestrial communication system could be considered sub-systems of the communication system. In the example shown in FIG. 2, the communication system 100 includes electronic devices (ED) 110a, 110b, 110c, 110d (generically referred to as ED 110) , radio access networks (RANs) 120a, 120b, a non-terrestrial communication network 120c, a core network 130, a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160. The RANs 120a, 120b include respective base stations (BSs) 170a, 170b, which may be generically referred to as terrestrial transmit and receive points (T-TRPs) 170a, 170b. The non-terrestrial communication network 120c includes an access node 172, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.
[0167] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any T-TRP 170a, 170b and NT-TRP 172, the Internet 150, the core network 130, the PSTN 140, the other networks 160, or any combination of the preceding. In some examples, ED 110a may communicate an uplink and / or downlink transmission over a terrestrial air interface 190a with T-TRP 170a. In some examples, the EDs 110a, 110b, 110c, and 110d may also communicate directly with one another via one or more sidelink air interfaces 190b. In some examples, ED 110d may communicate an uplink and / or downlink transmission over a non-terrestrial air interface 190c with NT-TRP 172.
[0168] The air interfaces 190a and 190b may use similar communication technology, such as any suitable radio access technology. For example, the communication system 100 may implement one or more channel access methods, such as code division multiple access (CDMA) , space division multiple access (SDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or single-carrier FDMA (SC-FDMA, also known as discrete Fourier transform spread OFDMA, DFT-s-OFDMA) in the air interfaces 190a and 190b. The air interfaces 190a and 190b may utilize other higher dimension signal spaces, which may involve a combination of orthogonal and / or non-orthogonal dimensions.
[0169] The non-terrestrial air interface 190c can enable communication between the ED 110d and one or multiple NT-TRPs 172 via a wireless link or simply a link. For some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs 110 and one or multiple NT-TRPs 172 for multicast transmission.
[0170] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a 110b, and 110c with various services such as voice, data, and other services. The RANs 120a and 120b and / or the core network 130 may be in direct or indirect communication with one or more other RANs (not shown) , which may or may not be directly served by core network 130, and may or may not employ the same radio access technology as RAN 120a, RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or EDs 110a 110b, and 110c or both, and (ii) other networks (such as the PSTN 140, the Internet 150, and the other networks 160) . In addition, some or all of the EDs 110a 110b, and 110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto) , the EDs 110a 110b, and 110c may communicate via wired communication channels to a service provider or switch (not shown) , and to the Internet 150. PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS) . Internet 150 may include a network of computers and subnets (intranets) or both, and incorporate protocols, such as Internet Protocol (IP) , Transmission Control Protocol (TCP) , User Datagram Protocol (UDP) . EDs 110a 110b, and 110c may be multimode devices capable of operation according to multiple radio access technologies, and incorporate multiple transceivers necessary to support such.
[0171] Basic component structure
[0172] FIG. 3 illustrates another example of an ED 110 and a base station 170a, 170b and / or 170c. The ED 110 is used to connect persons, objects, machines, etc. The ED 110 may be widely used in various scenarios including, for example, cellular communications, device-to-device (D2D) , vehicle to everything (V2X) , peer-to-peer (P2P) , machine-to-machine (M2M) , machine-type communications (MTC) , internet of things (IoT) , virtual reality (VR) , augmented reality (AR) , mixed reality (MR) , metaverse, digital twin, industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc.
[0173] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to) as a user equipment / device (UE) , a wireless transmit / receive unit (WTRU) , a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , a machine type communication (MTC) device, a personal digital assistant (PDA) , a smartphone, a laptop, a computer, a tablet, a wireless sensor, a consumer electronics device, a smart book, a vehicle, a car, a truck, a bus, a train, or an IoT device, wearable devices (such as a watch, a pair of glasses, head mounted equipment, etc. ) , an industrial device, or an apparatus in (e.g. communication module, modem, or chip) or comprising the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to using other terms. The base station 170a and 170b is a T-TRP and will hereafter be referred to as T-TRP 170. Also shown in FIG. 3, a NT-TRP will hereafter be referred to as NT-TRP 172. Each ED 110 connected to T-TRP 170 and / or NT-TRP 172 can be dynamically or semi-statically turned-on (i.e., established, activated, or enabled) , turned-off (i.e., released, deactivated, or disabled) and / or configured in response to one of more of: connection availability and connection necessity.
[0174] The ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 204 may alternatively be panels. The transmitter 201 and the receiver 203 may be integrated, e.g. as a transceiver. The transceiver is configured to modulate data or other content for transmission by at least one antenna 204 or network interface controller (NIC) . The transceiver is also configured to demodulate data or other content received by the at least one antenna 204. Each transceiver includes any suitable structure for generating signals for wireless or wired transmission and / or processing signals received wirelessly or by wire. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals.
[0175] The ED 110 includes at least one memory 208. The memory 208 stores instructions and data used, generated, or collected by the ED 110. For example, the memory 208 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by one or more processing unit (s) (e.g., a processor 210) . Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device (s) . Any suitable type of memory may be used, such as random access memory (RAM) , read only memory (ROM) , hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, and the like.
[0176] The ED 110 may further include one or more input / output devices (not shown) or interfaces (such as a wired interface to the Internet 150 in FIG. 1) . The input / output devices or interfaces permit interaction with a user or other devices in the network. Each input / output device or interface includes any suitable structure for providing information to or receiving information from a user, and / or for network interface communications. Suitable structures include, for example, a speaker, microphone, keypad, keyboard, display, touch screen, etc.
[0177] The ED 110 includes the processor 210 for performing operations including those operations related to preparing a transmission for uplink transmission to the NT-TRP 172 and / or the T-TRP 170; those operations related to processing downlink transmissions received from the NT-TRP 172 and / or the T-TRP 170; and those operations related to processing sidelink transmission to and from another ED 110. Processing operations related to preparing a transmission for uplink transmission may include operations such as encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations related to processing downlink transmissions may include operations such as receive beamforming, demodulating and decoding received symbols. Depending upon the embodiment, a downlink transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the downlink transmission (e.g. by detecting and / or decoding the signaling) . An example of signaling may be a reference signal transmitted by the NT-TRP 172 and / or by the T-TRP 170. In some embodiments, the processor 210 implements the transmit beamforming and / or the receive beamforming based on the indication of beam direction, e.g. beam angle information (BAI) , received from the T-TRP 170. In some embodiments, the processor 210 may perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as operations relating to detecting a synchronization sequence, decoding and obtaining the system information, etc. In some embodiments, the processor 210 may perform channel estimation, e.g. using a reference signal received from the NT-TRP 172 and / or from the T-TRP 170.
[0178] Although not illustrated, the processor 210 may form part of the transmitter 201 and / or part of the receiver 203. Although not illustrated, the memory 208 may form part of the processor 210.
[0179] The processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory (e.g. in the memory 208) . Alternatively, some or all of the processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented using dedicated circuitry, such as a programmed field-programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , or a hardware accelerator such as a graphics processing unit (GPU) or an artificial intelligence (AI) accelerator.
[0180] The T-TRP 170 may be known by other names in some implementations, such as a base station, a base transceiver station (BTS) , a radio base station, a network node, a network device, a device on the network side, a transmit / receive node, a Node B, an evolved NodeB (eNodeB or eNB) , a Home eNodeB, a next Generation NodeB (gNB) , a transmission point (TP) , a site controller, an access point (AP) , a wireless router, a relay station, a terrestrial node, a terrestrial network device, a terrestrial base station, a base band unit (BBU) , a remote radio unit (RRU) , an active antenna unit (AAU) , a remote radio head (RRH) , a central unit (CU) , a distributed unit (DU) , a positioning node, among other possibilities. The T-TRP 170 may be a macro BS, a pico BS, a relay node, a donor node, or the like, or combinations thereof. The T-TRP 170 may refer to the forgoing devices or refer to apparatus (e.g. a communication module, a modem, or a chip) in the forgoing devices.
[0181] In some embodiments, the parts of the T-TRP 170 may be distributed. For example, some of the modules of the T-TRP 170 may be located remote from the equipment that houses the antennas 256 for the T-TRP 170, and may be coupled to the equipment that houses the antennas 256 over a communication link (not shown) sometimes known as front haul, such as common public radio interface (CPRI) . Therefore, in some embodiments, the term T-TRP 170 may also refer to modules on the network side that perform processing operations, such as determining the location of the ED 110, resource allocation (scheduling) , message generation, and encoding / decoding, and that are not necessarily part of the equipment that houses the antennas 256 of the T-TRP 170. The modules may also be coupled to other T-TRPs. In some embodiments, the T-TRP 170 may actually be a plurality of T-TRPs that are operating together to serve the ED 110, e.g. through the use of coordinated multipoint transmissions.
[0182] The T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas 256 may alternatively be panels. The transmitter 252 and the receiver 254 may be integrated as a transceiver. The T-TRP 170 further includes a processor 260 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to the NT-TRP 172, and processing a transmission received over backhaul from the NT-TRP 172. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. multiple input multiple output (MIMO) precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. The processor 260 may also perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as generating the content of synchronization signal blocks (SSBs) , generating the system information, etc. In some embodiments, the processor 260 also generates an indication of beam direction, e.g. BAI, which may be scheduled for transmission by a scheduler 253. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining where to deploy the NT-TRP 172, etc. In some embodiments, the processor 260 may generate signaling, e.g. to configure one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the processor 260 is sent by the transmitter 252. Note that “signaling” , as used herein, may alternatively be called control signaling. Signaling may be transmitted in a physical layer control channel, e.g. a physical downlink control channel (PDCCH) , in which case the signaling may be known as dynamic signaling. Signaling transmitted in a downlink physical layer control channel may be known as Downlink Control Information (DCI) . Siganling transmitted in an uplink physical layer control channel may be known as Uplink Control Information (UCI) . Signaling transmitted in a sidelink physical layer control channel may be known as Sidelink Control Information (SCI) . Signaling may be included in a higher-layer (e.g., higher than physical layer) packet transmitted in a physical layer data channel, e.g. in a physical downlink shared channel (PDSCH) , in which case the signaling may be known as higher-layer signaling, static signaling, or semi-static signaling. Higher-layer signaling may also refer to Radio Resource Control (RRC) protocol signaling or Media Access Control –Control Element (MAC-CE) signaling.
[0183] The scheduler 253 may be coupled to the processor 260. The scheduler 253 may be included within or operated separately from the T-TRP 170. The scheduler 253 may schedule uplink, downlink, sidelink, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (e.g., “configured grant” ) resources. The T-TRP 170 further includes a memory 258 for storing information and data. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processor 260.
[0184] Although not illustrated, the processor 260 may form part of the transmitter 252 and / or part of the receiver 254. Also, although not illustrated, the processor 260 may implement the scheduler 253. Although not illustrated, the memory 258 may form part of the processor 260.
[0185] The processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 258. Alternatively, some or all of the processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC.
[0186] Although the NT-TRP 172 is illustrated as a drone only as an example, the NT-TRP 172 may be implemented in any suitable non-terrestrial form, such as satellites and high altitude platforms, including international mobile telecommunication base stations and unmanned aerial vehicles, for example. Also, the NT-TRP 172 may be known by other names in some implementations, such as a non-terrestrial node, a non-terrestrial network device, or a non-terrestrial base station. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is illustrated to avoid congestion in the drawing. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver. The NT-TRP 172 further includes a processor 276 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to T-TRP 170, and processing a transmission received over backhaul from the T-TRP 170. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on beam direction information (e.g. BAI) received from the T-TRP 170. In some embodiments, the processor 276 may generate signaling, e.g. to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing, but does not implement higher layer functions such as functions at the medium access control (MAC) or radio link control (RLC) layer. As this is only an example, more generally, the NT-TRP 172 may implement higher layer functions in addition to physical layer processing.
[0187] The NT-TRP 172 further includes a memory 278 for storing information and data. Although not illustrated, the processor 276 may form part of the transmitter 272 and / or part of the receiver 274. Although not illustrated, the memory 278 may form part of the processor 276.
[0188] The processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in the memory 278. Alternatively, some or all of the processor 276, the processing components of the transmitter 272, and the processing components of the receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, a hardware accelerator (e.g., a GPU or AI accelerator) , or an ASIC. In some embodiments, the NT-TRP 172 may actually be a plurality of NT-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.
[0189] The T-TRP 170, the NT-TRP 172, and / or the ED 110 may include other components, but these have been omitted for the sake of clarity.
[0190] One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to FIG. 4. FIG. 4 illustrates units or modules in a device, such as in the ED 110, in the T-TRP 170, or in the NT-TRP 172. For example, a signal may be transmitted or output by a transmitting unit or by a transmitting module. A signal may be received or input by a receiving unit or by a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by an artificial intelligence (AI) or machine learning (ML) module. The respective units or modules may be implemented using hardware, one or more components or devices that execute software, or a combination thereof. For instance, one or more of the units or modules may be a circuit such as an integrated circuit. Examples of an integrated circuit includes a programmed FPGA, a GPU, or an ASIC. For instance, one or more of the units or modules may be logical such as a logical function performed by a circuit, by a portion of an integrated circuit, or by software instructions executed by a processor. It will be appreciated that where the modules are implemented using software for execution by a processor for example, the modules may be retrieved by a processor, in whole or part as needed, individually or together for processing, in single or multiple instances, and that the modules themselves may include instructions for further deployment and instantiation.
[0191] While not shown, the transmitting module and the receiving module may be part of, or combined into, a transceiver module. A transceiver module may also be known as an interface module, or simply an interface, for inputting and outputting operations.
[0192] Additional details regarding the EDs 110, the T-TRP 170, and the NT-TRP 172 are known to those of skill in the art. As such, these details are omitted here.
[0193] The details of the present disclosure will be elaborated in the following description.
[0194] The channel coding module in communications systems encode K source bits into N code bits to provide error correction capability against adversary channel conditions such as noise and interference. The code rate is R=K / N. In practice, the code rate R is selected according to channel quality.
[0195] Polar codes are capacity-achieving codes and thus a great breakthrough in coding theory. As code length approaches infinity, the synthesized channels (also known as subchannels, which are created by or associated with the polar code) become either noiseless or pure noise. The noiseless subchannels are utilized to transport information, and their proportion is proven to achieve the channel capacity defined by Shannon. The above-mentioned channel polarization phenomenon occurs under successive cancellation (SC) or SC-based decoding, which has a relatively low complexity.
[0196] Rate matching is performed after channel encoding, by either puncturing / shortening or repeating some code bits. The purpose of this operation is to obtain a code bit sequence of desired length for transmission over limited channel resources.
[0197] Channel interleaving is applied after channel encoding and rate matching by permuting the code bits. The purpose is to provide stable or superior performance under high-order modulation or in a fading channel.
[0198] Hybrid automatic repeat request (HARQ) is a mechanism to provide reliable wireless transmission. It combines forward error correction (FEC) and automatic repeat request (ARQ) . In HARQ, the initial transmission is a FEC code word with means (such as CRC bits) to support error detection at the receiver. If a decoding error is detected, the receiver will send back a negative acknowledgment (NACK) signaling to inform the transmitter of the error, and request a retransmission. The retransmitted bits can be directly selected from the initially transmitted bits, or incrementally generated code bits which form a longer code word with the initially transmitted bits. The former approach is called chase-combining HARQ (CC-HARQ) and the latter approach is called incremental-redundancy HARQ (IR-HARQ) . Typically, IR-HARQ outperforms CC-HARQ with the additional coding gain from incremental redundancy.
[0199] Polar codes belong to the class of linear block codes. For a polar code of length N, its generator matrix is GN, and its encoding process is where is the binary information vector, is the binary code vector. The N×N binary matrix where is the polarization kernel matrix, n=log2 N, and is Kronecker product.
[0200] Typically, there are K information bits to be encoded into N code bits. Accordingly, the inequality K<N is given to obtain a code rate R=K / N<1. That implies only part of is used to carry information bits, and the rest are typically called frozen bits. Denote by I the information bit set (or information set) , and F the frozen bit set (or frozen set) , respectively. Sometimes, there is an additional PC bit set, denoted by P. The frozen bits are known (usually all zeros, but may also be other known values or sequences) before decoding, so they do not carry any payload information. The PC bits are parity-check bits generated from a subset of information bits. Therefore, the PC bits are known once the associated information bits are decoded. The decoding of polar codes attempts to recover all information bits.
[0201] The transmitted code length M may not always be the power of 2, i.e., M<N. In practice, puncturing and shortening are used to reduce transmitted code bits from N to M. For convenience, the present disclosure hereinafter refers to N as the mother code length, and M as the code length. In particular, punctured bits are non-transmitted bits unknown to the decoder, but shortened bits are non-transmitted bits known to the decoder (usually all zeros) .
[0202] FIG. 5 is an example trellis graph of polar code according to one or more example embodiments of the present disclosure, where a mother code length N=8, source bit length K=4. Each “butterfly” in the graph represents a polarization, i.e., In this example, the information set is I= {u4, u6, u7, u8} , and the frozen set is F= {u1, u2, u3, u5} .
[0203] Successive cancellation (SC) is the basic decoding algorithm for polar codes, where all the frozen bits and information bits are decoded sequentially, i.e., bit by bit. The preceding bits are typically always decoded first.
[0204] Successive cancellation list (SCL) is an enhanced decoding algorithm for polar codes, where multiple (e.g., a number L) SC decoding instances are executed. Each instance is called a “decoding path” . When decoding each binary bit, both “0” and “1” branches are extended to each path, creating 2L paths. Then, all 2L paths are compared, where the most likely L paths are kept, and the least likely L paths are discarded (or pruned) . These path extension and pruning operations are performed during decoding of every information bit, until all information bits are decoded. At last, the most likely path is selected as the decoding output.
[0205] CRC-aided successive cancellation list (CA-SCL) works almost the same as SCL, except that in the last step, the most likely path that passes CRC check is selected as the decoding output.
[0206] Parity-check successive cancellation list (PC-SCL) works almost the same as SCL, except that when decoding parity-check (PC) bits, the parity check value of associated preceding bits is used as the bit decision result. PC bits may be considered a type of bit in addition to frozen bits and information bits.
[0207] Rate-compatible polar coding is a desirable technology for wireless applications. In one example of polar code rate matching, a combination of puncturing, shortening and repetition is used together with a fixed reliability sequence to balance performance and complexity. In particular, subblock-wise interlacing and interleaving is used for both puncturing and shortening. The puncturing and shortening patterns are symmetric.
[0208] With mother code length N, and code length M, the specific rate matching scheme used is
[0209] · Repetition, when M>N;
[0210] · Puncturing, when K / M≤7 / 16;
[0211] · Shortening, when K / M>7 / 16;
[0212] A subblock-wise interleaving is performed before puncturing and shortening. The interleaver partitions the length-N mother code into 32 subblocks of size N / 32 and interlaces them. FIG. 6 is a schematic illustration of an example interleaver scheme according to one or more example embodiments of the present disclosure, where the table is sub-block interleaver pattern p (i) and is reproduced from a 3GPP standard specification.
[0213] Since puncturing is performed from the 1st code bit, and shortening is performed from the last code bit, the rate matching module is efficiently implemented through a cyclic buffer. All mother code bits are placed in the cyclic buffer, and puncturing is done by selecting the bits in clockwise order, and shortening is done by selecting bits in counter-clockwise order. FIG. 7 is a schematic illustration of an example polar code rate matching according to one or more example embodiments of the present disclosure, which illustrates the cyclic buffer.
[0214] Another polar code rate matching example involves an incremental freezing HARQ method, where transmissions of multiple short code words are supported. As more short codes are transmitted, the overall code length increases, and the overall code rate decreases.
[0215] 1. In the first transmission, an (M1, K) polar code is constructed, encoded and transmitted. The code rate is R1=K / M1. Usually, the code rate is determined such that R1<C1, where C1 is the channel capacity of the first transmission. But in the case of faded channel or inaccurate channel estimation, there may be inequality R1>C1, and decoding will fail and a second transmission is required.
[0216] 2. In the second transmission, K2 least reliable information bits are selected from the K information bits in the first transmission. In practice, K2 is chosen according to the estimated channel capacity of the second transmission. An (M2, K2) polar code is constructed accordingly and encoded and transmitted. However, if R2>C2, and decoding will fail again and a third transmission is required.
[0217] 3. The third and fourth transmissions are constructed similarly, and so on.
[0218] At the receiver side, the decoder should always decode the last received code word, because it has the lowest code rate and thus the best chance of successful decoding. After the last transmission is correctly decoded, the corresponding information bits in all previous transmissions become known, and can be decoded as frozen bits with known values. This process is repeated as more code words are decoded, until all K bits in the first transmission is decoded. The term “incremental freezing” refers to the operations to additionally freeze some information bits in the previous transmissions once a later transmitted code word is decoded.
[0219] FIG. 8 is a schematic illustration of an example polar HARQ according to one or more example embodiments of the present disclosure, where M1=M2=M3=M4=16, and K1=12, K2=6, K3=4, K4=3.
[0220] Parity-check (PC) polar codes may be used to improve minimum distance of polar codes. PC polar codes may also be used to support IR-HARQ. In the latter case, the PC bits are used to couple multiple retransmissions into a longer polar code with extra coding gain.
[0221] The PC functions used for IR-HARQ may be considered a special case, where some information bits are copied from the initial transmitted code block to a retransmitted code block. This one-to-one parity checking between the two shorter code blocks effectively couples the two code blocks into a longer code block.
[0222] FIG. 9 is a schematic illustration of an example encoding process according to one or more example embodiments of the present disclosure, where, the initial transmission is a (M1=8, K=5) polar code, where {u0, u1, u2, u3, u4} is the information set, and {u5, u6, u7} is the frozen set.
[0223] FIG. 10 is another schematic illustration of the example encoding process according to one or more example embodiments of the present disclosure. In the first retransmission, four additional code bits are transmitted. These four bits are coupled with the initially transmitted 8 bits to form a (M2=12, K=5) polar code. The coupling is achieved by copying the value of u4 to u8 during encoding, thus generating a PC function u4 + u8 = 0 (or equivalently u8 = u4) . As said, the largest index in this PC function corresponds to the PC bit (here u8) . During decoding, u4 decoded as an information bit, while u8 is decoded as a PC bit using u8 = u4. With {u0, u1, u2, u3, u8} as the information set, {u4} as the PC set, and {u5, u6, u7, u9, u10, u11} as the frozen set.
[0224] FIG. 11 is yet another schematic illustration of the example encoding process according to one or more example embodiments of the present disclosure. In the second retransmission, the remaining four bits c12, c13, c14, c15 are transmitted to form a (M3=16, K=5) polar code. But this time no new PC bits are generated.
[0225] From the polar transform matrix point of view, the three transmissions with effective code lengths M1=8, M2=12, M3=16.
[0226] In comparison to traditional polar codes, parity-check (PC) polar codes may exhibit some advantages. For example, PC polar codes may be used to improve the minimum distance of polar codes. PC polar codes may also be used support IR-HARQ. In PC polar code implementations of IR-HARQ, the PC bits are used for coupling multiple retransmissions into a longer polar code with extra coding gain.
[0227] In most cases, CRC bits are attached to the end of the information bits (or also known as payload bits) for error detection. A straightforward way to reduce decoding complexity is to distribute the CRC bits in the middle of the information bits, rather than at the end. In this way, an error can be detected earlier and thus the decoding can be terminated earlier than otherwise with CRC bits attached at the end. Terminating an erroneous decoding earlier than a given typical decoding process is known as early termination.
[0228] A distributed CRC (also known as D-CRC) polar code may be well suited for encoding payloads of physical broadcast channel (PBCH) and physical downlink control channel (PDCCH) . In a D-CRC polar code, CRC bits are first attached to information bits, and then the information bits and CRC bits are altogether interleaved to move some CRC bits to the middle. In this way, the “early CRC” bits can be used for early error detection and early termination.
[0229] However, in the distributed CRC design, not all CRC bits can be moved to the front. The position of a CRC bit depends on which information bits participated in the check function. Usually, when the information block length is large, a greater proportion of information bits will be associated to a CRC bit. In other words, most information bits still need to be decoded anyway. The complexity reduction due to early termination is significant for short codes, but the benefit will diminish as code length increases.
[0230] In some other schemes, called segmented CRC (S-CRC) , the information bits are segmented into multiple parts, and multiple parts of CRC bits are attached to the end of each information bit segment. FIG. 12 is a schematic illustration of an example CRC attachment according to one or more example embodiments of the present disclosure. In this way, more CRC bits can be moved to earlier positions to allow for more aggressive early termination.
[0231] However, in the segmented CRC design, CRC bits can be inserted into arbitrary positions to enable very early termination. However, no literature has addressed the details of segmented CRC design, such as: (i) whether to insert segmented CRC for all code length and rates; (ii) how many segments are needed; (iii) how to segment the information bits; (iv) how many CRC bits are to be inserted after each segment; and (v) how to perform the segmentation and encoding. Without a careful design, the performance cannot be guaranteed.
[0232] For both the distributed CRC design and the segmented CRC design, the implementation and / or description complexity is relatively high. Either an interleaver with the same length of the maximum information block size is required to be stored, or multiple CRC parts are to be specified and encoded. When the information block size increases or the number of CRC parts increases, the implementation and / or description effort may become excessive. The implementation complexity for a very long interleaver and multiple CRC encoders may prevent ultra-high throughput or low-power applications.
[0233] As mentioned above, one or more of the following segmented CRC details may pose challenges for encoder or decoder implementation: (i) whether to insert segmented CRC for all code length and rates; (ii) how many segments are needed; (iii) how to segment the information bits; (iv) how many CRC bits are to be inserted after each segment; (v) how to perform the intra-CB segmentation and encoding based on the above parameters.
[0234] Further challenges may relate to minimizing or reducing implementation and / or description complexity. For example, a protocol stack may already include transport block (TB) CRC and code block (CB) CRC. Therefore, an additional layer of segment CRCs will present additional description and implementation burden. It would be desirable to not introduce extra CRC bits, while still enjoying the early termination gain of a segmented CRC scheme.
[0235] Some embodiments of the present disclosure relate to a CRC-less design within each segment.
[0236] FIG. 13 is a schematic flowchart of a communication method according to one or more example embodiments of the present disclosure. The method can be implemented by a first apparatus such as an encoder. Optionally, the encoder could be other device that has similar function (for example, the encoder can be a communication module, or a chip) , which is not limited herein. The first apparatus could also be a whole device such as the base station or the terminal. As shown in FIG. 13, the method can include the following steps.
[0237] S1310, obtaining information bits to be transmitted in a CB.
[0238] S1320, determining whether to insert attached bits to the information bits based on at least one of code length information or code rate information.
[0239] In details, after obtaining the information bits, the first apparatus could determine whether to insert attached bits to the information bits based on at least one of code length information or code rate information. “attached bits” , in some embodiments, the attached bits refer to assistant bits, where the assistant bits may be CRC bits, PC bits, or CC bits. In some embodiments, the attached bits refer to pre-frozen bits. The attached bits herein can be used for error correction and error detection. Especially, the pre-frozen bits can be used for error correction and error detection in addition to avoiding low-reliability bit positions. For example, the pre-frozen bits can be fixed value, for example, they can be all zeros.
[0240] The code length information may indicate a code length, a mother code length, or an information length. Therefore, the criteria on whether to insert attached bits to the information bits can be designed with respect to length information and / or code information with the respective threshold (s) . The following conditions may be specified in which insertion of attached bits may be performed. The information bits can be encoded into mother code bits, and then after puncturing and shortening, the mother code bits can be reduced to code bits. That is, the term “code length” refers to the length of code bits, the term “mother code length” refers to the length of mother code bits, and the term “information length” refers to the length of information bits.
[0241] The first condition is when a mother code length is larger than a mother code length threshold, or when a code length is larger than a code length threshold, or when an information length is larger than an information length threshold. In some implantations, the first condition is satisfied only when any of the above three conditions is met. The value of the mother code length threshold is a power-of-2 integer, and some examples of the value maybe 512, 1024, 2048, 4096, or 8192. Some examples of the code length threshold is 512, 1024, 2048, 4096, or 8192. The code length threshold can also be 384, 768, 1536, or multiple of 108, such as 108, 216, 432, 864, 1728, 3456, since the value of 108 is the number of bits for control channel resource with aggregation level 1, and there can be aggregation levels 1, 2, 4, 8, 12, 32. Some examples of the information length threshold can be 128, 256, 512, 1024, or 2048.
[0242] The second condition is when a code rate is higher than a code rate threshold. In some implantations, the second condition is satisfied only when a code rate is higher than a code rate threshold. The value of code rate threshold can be 1 / 8, 3 / 16, 1 / 4, 5 / 16, 3 / 8, 7 / 16, 1 / 2, 9 / 16, 5 / 8, 11 / 16, 6 / 8, 13 / 16, 7 / 8, 15 / 16 for simpler hardware implementation because the divisor is power-of-2, and can also be 1 / 9, 2 / 9, 1 / 3, 4 / 9, 5 / 9, 2 / 3, 7 / 9, 8 / 9 and 1 / 5, 2 / 5, 3 / 5, 4 / 5 for fine grained configuration and thus better performance, which is not limited herein.
[0243] The third condition is either of a mother code length is larger than a mother code length threshold, a code length is larger than a code length threshold, an information length is larger than an information length threshold, or a code rate is higher than a code rate threshold. The mother code length threshold, the code length threshold, the information length threshold, and the code rate threshold are similar to that described previously, which are not repeated herein for brevity.
[0244] The fourth condition is both of a mother code length is larger than a mother code length threshold (or a code length is larger than a code length threshold, or information length is larger than an information length threshold) and a code rate is higher than a code rate threshold. The mother code length threshold, the code length threshold, the information length threshold, and the code rate threshold are similar to that described previously, which are not repeated herein for brevity.
[0245] Although the above expression refers to “A” is larger than “B” and “A” is higher than “B” , “A” equals to “B” is also included herein.
[0246] Because whether to insert the attached bits could be determined based on the mother code length, the code length and / or the code rate, the criteria on whether to insert the attached bits could be designed with respect to a desired one or combination of one or more types of length information and / or code information with the respective threshold (s) . In this way, the insertion of the attached bits could be determined according to actual demands, and various application scenarios could be adapted to, thereby improving the flexibility and universality of the attached bits insertion.
[0247] S1330, inserting the attached bits to the information bits based on a subblock number of the CB when determining to insert the attached bits to the information bits, where the subblock number is greater than 1.
[0248] In details, when it is determined to insert the attached bits to the information bits, the first apparatus may insert the attached bits to the information bits based on the subblock number of the CB. The term “subblock” mentioned herein refers to a portion of a CB, which may include some information bits and one or more attached bits. For example, a length-8192 CB can include a subblock, which may include information bits with bit indices [0, 1, …, 2047] . The term “subblock” may be used interchangeably with other terms such as segment, portion, part, which have the same or similar meaning. The subblock number refers to the number of subblocks in a CB. The subblock number may be obtained by different kinds of approaches. For example, the subblock number may be obtained based on the mother code length and a subblock length, where the subblock length is a fixed value and may be a power-of-2 integer, such as 512, 1024, 2048, 4096 or 8192, which is not limited herein. For detail example, it is assumed that the mother code length is 4096 and the subblock length is 2048, then the subblock number can be 2. For another example, the subblock number may be a fixed value, such as 2, 4, or 8, which is not limited herein. Because the subblock number could be obtained in many different ways, the rules to determine how many subblocks are required in each CB for inserting attached bits could be designed according to actual demands, various application scenarios could be adapted to, thereby improving the flexibility and universality of the attached bits insertion.
[0249] In a possible implementation, the subblock number may further depend on the number of unfrozen bits or information bits. Specifically, the first apparatus may pre-freeze at least one bit position corresponding to at least one rate matching bit position, such as at least one punctured bit position, or at least one shortened bit position. After the prefreezing for the rate matching bit position (s) , there are still some other bit positions left in each subblock which are not frozen, and these bit positions, referred to as unfrozen bits, may be used for carrying information bits and attached bits. A minimum number of unfrozen bits (including information bits and assistant bits) for each subblock may be imposed, and each subblock includes at least the minimum number of unfrozen bits. When a subblock has fewer unfrozen bits than the minimum number, the subblock can be merged with a next subblock, and the subblock number is decreased by 1, until there are sufficient information bits in each subblock. The next subblock may refer to the adjacent subsequent subblock of the current subblock. For example, it is assumed that there are four subblocks with index 0, 1, 2, 3. When a subblock with index 1 has fewer unfrozen bits than the minimum number, the subblock with index 1 can be merged with the subblock with index 2, and so on. Based on the above, it could be ensured that there are always sufficient information bits in one subblock.
[0250] In a possible implementation, the at least one rate matching bit position may be determined on a mother code or separately determined on each of subblocks. Optionally, the at least one rate matching bit position may be determined on an entire mother code. After pre-freezing the rate matching bit position (s) , the most reliable subchannels for carrying information bits and attached bits may be further selected from the bit positions apart from the bit positions which are not frozen for rate matching, i.e., unfrozen bits. Meanwhile, because at least one punctured bit position or at least one shortened bit position could be determined on the mother code or separately determined on each of subblocks, the puncturing or shortening could be performed according to actual demands, various application scenarios could be adapted to. More specifically, for at least one rate matching bit position determined on the entire length mother code, it enables better coding gain but less flexibility when the subblocks are separately transmitted. For at least one rate matching bit position determined on each of subblocks, it enables more flexibility and self-decodability for each of the subblocks.
[0251] In a possible implementation, after pre-freezing the rate matching bit position (s) , the first apparatus could select a number of most reliable subchannels from unfrozen bit positions in each of subblocks for carrying information bits and the attached bits based on an information bit length, the subblock number, and a subblock attached bit length of each of the subblocks, where the information bit length indicates a length of the information bits and the subblock attached bit length of each of the subblocks indicates a length of at least one attached bit in the respective subblocks. Therefore, the information bits and attached bits could be carried by most reliable subchannels of the unfrozen bit positions, and thus, communication reliability could be increased.
[0252] In a possible implementation, the subblock number could be used by the first apparatus to segment the information bits. For example, a length-8192 mother code can be segmented into four subblocks. In this examplethe first subblock includes bits with bit indices [0, 1, …, 2047] , and the second subblock includes bits with bit indices [2048, 2049, …, 4095] , and the third subblock includes bits with bit indices [4096, 4097, …, 6143] , and the fourth subblock includes bits with bit indices [6144, 6145, …, 8191] .
[0253] In a possible implementation, in addition to the subblock number, the segmenting of the information bits may further depend on positions of the information bits in a mother code or a number of information bits in each of the subblocks. For example, the information bits to be encoded may be segmented non-uniformly, that is, the number of information bits in different subblocks may be different. For another example, the information bits to be encoded may be segmented after they are mapped to the subchannels within indices [0, 1, …, N] in the mother code, according to their bit positions in the mother code. Because the information bits could be segmented based on the subblock number or further based on their positions in the mother code and / or their number in each subblock, the method to segment information bits could be designed according to actual demands, various application scenarios could be adapted to.
[0254] In a possible implementation, a subblock attached bit length of each of the subblocks may be predefined, which enables high flexibility. The term “subblock attached bit length” refers to the length of assistant bit or pre-frozen bit in a subblock. Subblock attached bit lengths may be different for different subblocks, and may be monotonically increased or non-decreased from a first subblock to a last subblock of the subblocks, which enables better performance. For example, if 4 subblocks are adopted, the attached bit lengths for the 4 subblocks can be [4, 4, 4, 12] , or [4, 4, 4, 8] , or [4, 6, 6, 8] , or [3, 5, 7, 9] , or [0, 4, 6, 8] , or [0, 4, 6, 6] . For another example, if 2 subblocks are adopted, the attached bit lengths for the 2 subblocks can be [6, 8] , or [8, 16] , or [6, 10] . The subblock attached bit lengths may be same for different subblocks, which enables simple description. For example, if 4 subblocks are adopted, the attached bit lengths for the 4 segments can be [4, 4, 4, 4] , or [6, 6, 6, 6] , or [8, 8, 8, 8] . For example, if 2 subblocks are adopted, the attached bit lengths for the 2 subblocks can be [6, 6] , or [8, 8] , or [10, 10] , or [12, 12] . Because the subblock attached bit length could be designed in different ways, various application scenarios could be adapted to.
[0255] In a possible implementation, the first apparatus may need to determine bit positions of the assistant bits in a case of rate matching. In details, the at least one assistant bit is placed in bit positions other than punctured bit positions and shorten bit positions in each of the subblocks. Because sometimes placing assistant bits on rate matched bit positions may lead to very poor performance, the bit positions of the assistant bits could be enabled to avoid rate matched bit positions, thereby error check performance could be improved.
[0256] In a possible implementation, the first apparatus may interleave the information bits and at least one attached bit in each of the subblocks following a distributed attached bit interleaver. Optionally, the distributed attached bit interleaver may be a distributed CRC interleaver when the attached bits are CRC bits. Interleaving the information bits and attached bit (s) in each subblock can lead to even earlier error detection and termination in decoding.
[0257] In a possible implementation, the first apparatus may assign the information bits and at least one attached bit to unfrozen bit positions in each of the subblocks, perform polar coding and perform rate matching for the CB. The polar coding may be performed on an entire mother code or separately on each of the subblocks. The rate matching also may be performed on the entire mother code or separately on each of the subblocks. Therefore, by assigning the information bits and at least one attached bit to unfrozen bit positions in each of the subblocks, the information bits and attached bit (s) could be placed in proper bit positions in each subblock, and thus would be transmitted without being punctured or shortened, thereby ensuring communication reliability.
[0258] Some embodiments of the present disclosure include one or more features related to segment-wise pre-freezing or assistant bits (including CRC bits or PC bits) attachment:
[0259] 1. For a segmented CRC / PC scheme:
[0260] a. The assistant bits to be inserted in each segment can be CRC bits, or parity-check (PC) bits, or convolutional code (CC) bits, or any parity bits generated from the information bits. While CRC bits are used herein as non-limiting examples, these CRC bits can be replaced by all the above types of assistant bits.
[0261] b. Criteria on whether to insert segmented CRC with respect to certain code length and rates;
[0262] c. Rules to determine how many segments are required in each CB for attaching CRC bits;
[0263] d. Methods to segment information bits based on their position in the polarized subchannels and / or their number in each segment;
[0264] e. Rules to determine the length of CRC bits in each segment based on the overall code length and above parameters;
[0265] f. Rules to determine the positions of CRC bits in the case of rate matching;
[0266] g. Methods to scramble the CRC bits with certain UE-specific or UE-Group-specific identifiers;
[0267] h. Methods to further interleave the CRC bits within a segment;
[0268] i. Coding chain: steps to further segment information bits within a CB and perform multi-segment-wise CRC encoding and polar encoding, based on the above parameters.
[0269] 2. For a segmented pre-freezing scheme:
[0270] j. The pre-frozen bits to be inserted in each segment have known values.
[0271] k. A method to pre-freeze some bits in each segment instead of making them CRC bits;
[0272] l. Criteria on whether to insert segmented pre-frozen bits with respect to certain code length and rates (this is basically the same as in multi-segment CRC) ;
[0273] m. Rules to determine how many segments are required in each CB for inserting pre-frozen bits (this is basically the same as in multi-segment CRC) ;
[0274] n. Methods to segment information bits based on their position in the polarized subchannels and / or their number in each segment (this is basically the same as in multi-segment CRC) ;
[0275] o. Methods to segment information bits based on their position in the polarized subchannels and / or their number in each segment (this is basically the same as in multi-segment CRC) ;
[0276] p. Rules to determine which segment (s) should have pre-frozen bits and which segment (s) should not have pre-frozen bits;
[0277] q. Rules to determine the positions of pre-frozen bits in the case of rate matching (this is basically the same as in multi-segment CRC, but has more flexibility in selecting positions; there can be some more bit position selection rules, see iii and iv) ;
[0278] r. Methods to scramble the pre-frozen bits with certain UE-specific or UE-Group-specific identifiers;
[0279] s. Coding chain: steps to further segment information bits within a CB and perform multi-segment-wise pre-freezing and polar encoding, based on the above parameters (this is basically the same as in multi-segment CRC, but has no CRC encoding step, and with some slight changes) .
[0280] FIG. 14 is a schematic illustration of an example segment-wise CRC scheme and an example segment-wise pre-freezing scheme according to one or more example embodiments of the present disclosure. In details, the above-mentioned segment-wise CRC scheme and the segment-wise pre-freezing scheme are illustrated as shown by FIG. 14.
[0281] For the segment-wise CRC scheme, last few segments include segment-wise CRC bits, since first few segments are all frozen, and have no information bits for generating CRC bits. For example, it is assumed that there are four segments with index 0, 1, 2, 3. The first few segment can be the segment with index 0 and the last few segment can be segment with index 3.
[0282] For the segment-wise pre-freezing scheme, the last segment includes CRC bits, which is generated from all information bits in the preceding segments and the last segment. In this way, the current encoding chain can be reused for generating the CRC bits. The CRC bits attachment can also be decoupled with the polar code construction. For the segments except the last segment, pre-frozen bit positions are inserted in each segment. When code rate is high, and there are information bits in every segment, these pre-frozen bit positions can be inserted in all segments except the last one. When code rate is low, and the first a few segments do not contain any information bits, it is not required to pre-freeze these segments. In some cases, in order to simplify description, all segments can still be pre- frozen except the last one regardless of code rates, since the pre-frozen bits will be treated like conventional frozen bits if there are no information bits preceding them in a segment. In this way, the pre-freezing steps will be code-rate-independent and thus much simpler as follows:
[0283] Step 1: Generate CRC bits from all information bits, and attach to the end of information bits;
[0284] Step 2: Pre-freeze a number of bit positions in the end of all segments except the last segment;
[0285] Step 3: Determine information / frozen / PC / CRC bit positions in the remaining unfrozen bit positions from Step 2, according to code rate (or equivalently information bits length K, rate matched code length E) .
[0286] Some embodiments of the present disclosure relate to features and procedures for segment-wise assistant bit attachment, where the assistant bits can be CRC bits, PC bits, or other parity bits generated from the information bits.
[0287] Taking the above attached bits being CRC bits as example, FIG. 15 is another schematic flowchart of a communication method according to one or more example embodiments of the present disclosure. The method can be implemented by a first apparatus such as an encoder. Optionally, the encoder could be other device that has similar function (for example, the encoder can be a communication module, or a chip) , which is not limited herein. The first apparatus could also be a whole device such as the base station or the terminal.
[0288] As shown in FIG. 15, the method can include the following steps.
[0289] S1510, obtaining information bits to be transmitted in a CB.
[0290] The step S1510 is similar to step S1310. The above description about step S1310 also applies to step S1510, which will not be repeated herein for brevity.
[0291] S1520, determining whether to insert CRC bits to the information bits based on at least one of code length information or code rate information.
[0292] The step S1520 is similar to the step S1320. The above description about step S1320 also applies to step S1520, which will not be repeated herein for brevity.
[0293] S1530, inserting the CRC bits to the information bits based on a subblock number of the CB when determining to insert the CRC bits to the information bits, where the subblock number is greater than 1.
[0294] The step S1530 is similar to the step S1330. The above description about step S1330 also applies to step S1530, which will not be repeated herein for brevity.
[0295] Because whether to insert CRC bits to the information bits could be determined based on at least one of code length information or code rate information, the criteria on whether to insert the CRC bits could be designed with respect to certain code length and rates. Meanwhile, the rules to determine how many subblocks are required in each CB for inserting CRC bits could be designed with respect to certain subblock number of the CB, and the CRC bits could be inserted to the information bits based on the subblock number of the CB. The CRC bits could be attached to the end of each subblock, which can allow early termination during decoding, thus saving complexity. The saved complexity can be used for other decoding enhancement such as increasing the list size, leading to high performance.
[0296] In a possible implementation, when the first apparatus determines bit positions of the CRC bits in a case of rate matching, different kinds of approaches may be adopted thereby adapting to different application scenarios. For example, the at least one CRC bit may be placed in at least one unfrozen bit position with the largest bit index in each of the subblocks. For another example, the at least one CRC bit may be placed in at least one unfrozen bit position with the largest reliability in each of the subblocks, in which a reliability is defined in a reliability ordered sequence table. Therefore, the rule to determine the positions of CRC bits could further associate with the bit index or the reliability of unfrozen bit position, which gives more detailed rules for determining the positions of CRC bits, thereby further reducing complexity while improving error correction performance, for example, compared with some fixed assistant bit position determination methods that do not depend on bit index, reliability, etc. The above also adapts to other assistant bits such as PC bits, or CC bits, which is not repeated herein for brevity.
[0297] In a possible implementation, when inserting the CRC bit (s) to the information bits, the first apparatus may attach the at least one CRC bit of each of the subblocks to the information bits of the respective subblocks. That is, the CRC bit (s) of a subblock is placed in the unfrozen bit position (s) directly after the information bits of that subblock.
[0298] The at least one CRC bit of each of the subblocks may be generated in different ways. In a possible implementation, the at least one CRC bit of each of the subblocks may be generated from the information bits in the respective subblock. That is, the CRC bit (s) of a subblock is generated from the information bits of that subblock. For example, the CRC bit (s) of the first subblock is generated from the information bits of the first subblock, and the CRC bit (s) of the second subblock is generated from the information bits of the second subblock, and so on.
[0299] In a possible implementation, the at least one CRC bit of each of the subblocks may be generated from the information bits in the respective subblock and a subblock preceding the respective subblock. That is, the CRC bit(s) of a subblock is generated from the information bits of that subblock and the information bits of the subblock preceding that subblock. For example, the CRC bit (s) of the second subblock is generated from the information bits of the second subblock and the information bits of the first subblock, and so on.
[0300] In a possible implementation, the at least one CRC bit of each of the subblocks may be generated from the information bits in the respective subblock and one or more subblocks preceding the respective subblock from a first subblock. That is, the CRC bit (s) of a subblock is generated from the information bits of that subblock and the information bits of all subblocks preceding that subblock. For example, the CRC bit (s) of the third subblock is generated from the information bits of the third subblock, the information bits of the second subblock, and the information bits of the first subblock, and so on.
[0301] Various ways to generate CRC bits are provided above, by which the CRC bits could be generated according to actual demands and then attached to the information bits, thereby improving the flexibility of the system and accommodating various application scenarios. The above also adapts to other assistant bits such as PC bits, or CC bits, which is not repeated herein for brevity.
[0302] In a possible implementation, the first apparatus may scramble the at least one CRC bit in each of the subblocks by a UE-specific RNTI or group RNTI. Because the at least one CRC bit in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI, the intended receiving UE or UE group could obtain the CRC bit (s) by descrambling the received information using a corresponding RNTI or group RNTI, and thus, the reliability of communication could be improved.
[0303] In a possible implementation, the CRC bit length may be different in different scenarios, and the CRC bit in each of the subblocks may be scrambled by the UE-specific RNTI or group RNTI in different ways according to actual situation or demands. For example, when a CRC bit length of a subblock is larger than a RNTI bit length of the UE-specific RNTI or the group RNTI, first or last CRC bit of the RNTI bit length may be scrambled by the UE-specific RNTI or group RNTI; or RNTI bits may be repeated to match the CRC bit length and CRC bits of the subblock are scrambled by RNTI bits obtained after the repetition; when a subblock CRC bit length of a subblock is less than a RNTI bit length of the UE-specific RNTI or the group RNTI, the CRC bit (s) of the subblock may be scrambled by a first or a last RNTI bit of the attached bit length; or CRC bits in all of the subblocks may be combined to be scrambled by RNTI bits of the UE-specific RNTI or the group RNTI. Based on above, the flexibility and universality of scrambling could be improved. Although the above expression refers to “A” is larger than “B” , “A” equals to “B” is also included herein.
[0304] An example segmented CRC / PC scheme is illustrated as follows:
[0305] a. The assistant bits to be inserted in each segment can be CRC bits, or parity-check (PC) bits, or convolutional code (CC) bits, or any parity bits generated from the information bits. In the following, CRC bits are used as non-limiting examples, but these CRC bits can be replaced by all the above types of assistant bits.
[0306] b. A method to attach CRC / PC bits in each segment;
[0307] i. The values of these CRC bits are generated from (they rely on) preceding information bits. Thus, they are different for each data packet.
[0308] c. Criteria on whether to insert segmented CRC with respect to certain code length and rates;
[0309] i. Only when mother code length, or code length, is larger than a threshold;
[0310] ii. Only when code rate is higher than a threshold;
[0311] iii. When either mother code length, or code length, is larger than a threshold, or code rate is higher than a threshold.
[0312] iv. When both mother code length, or code length, is larger than a threshold, and code rate is higher than a threshold.
[0313] v. The (mother) code length threshold can be 512, 1024, 2048, 4096, 8192.
[0314] vi. The code rate threshold can be 1 / 8, 3 / 16, 1 / 4, 5 / 16, 3 / 8, 7 / 16, 1 / 2, 9 / 16, 5 / 8, 11 / 16, 6 / 8, 13 / 16, 7 / 8, 15 / 16 for simpler hardware implementation because the divisor is power-of-2, and can also be 1 / 9, 2 / 9, 1 / 3, 4 / 9, 5 / 9, 2 / 3, 7 / 9, 8 / 9 and 1 / 5, 2 / 5, 3 / 5, 4 / 5 for fine grained configuration and thus better performance.
[0315] d. Rules to determine how many segments are required in each CB for attaching CRC bits;
[0316] i. When it is determined to insert segmented CRCs (e.g., N>2048) , the number of segments, denoted by Q, in a CB are fixed. For example, there can be Q=2 or 4 or 8 segments;
[0317] ii. The intra-CB segmentation may be performed based on the length power-of-2 blocks that naturally exist in the mother code. For example, a length-8192 mother code can be segmented into for segments, the first segment with bit indices [0, 1, …, 2047] , and the second segment with bit indices [2048, 2049, …, 4095] , and the third segment with bit indices [4096, 4097, …, 6143] , and the fourth segment with bit indices [6144, 6145, …, 8191] .
[0318] iii. The number of segments Q within a CB depends on the (mother) code length and a fixed segment length. The formula can be where E is the rate matched code length, and Ns is the fixed segment length; or can be where N is the mother code length. The fixed segment length Ns is a power-of-2 integer, e.g., Ns=512, 1024, 2048, 4096 or 8192.
[0319] iv. The number of segments Q may further depend on the number of unfrozen bits or information bits. For example, impose a minimum number of unfrozen bits (including information bits and segment CRC bits) for each segment, and no segment can have unfrozen bits fewer than that. If a segment would have less than Kseg, min unfrozen bits, it will be automatically merged with the next segment until there are sufficient information bits in one segment.
[0320] i. Where the value of Kseg, min ≥ L , where L is the length of CRC bits for one segment.
[0321] e. Methods to segment information bits based on their position in the polarized subchannels and / or their number in each segment;
[0322] i. The K information bits to be encoded are also segmented non-uniformly, that is, the number of information bits in different segments may be different;
[0323] ii. The K information bits to be encoded are also segmented after they are mapped to the subchannels within indices [0, 1, …, N] in the mother code, according to their bit positions in the mother code.
[0324] iii. Further to <1-d-ii> , if there are Q segments, indexed by [0, 1, …, Q] and an information bit falls in the index range of [i×N / Q, i×N / Q+1, …, (i +1) ×N / Q-1] , then this information bit belongs to the i-th segment. Note that the segment index starts at 0; alternatively, if the segment index is to start at 1, then the notation can indicate that the information bit belongs to the (i+1) -th segment.
[0325] f. Rules to determine which segment (s) should have CRC bits and which segment (s) should not have CRC bits;
[0326] i. All segments have this type of CRC bits.
[0327] ii. The first one or more segments do not have this type of CRC bits. This is because the first a few segments usually have very low code rates and only a few information bit, and thus attaching CRC bits will significantly increase the CRC overhead and thus make these segments vulnerable. For example, there may be a rule that for a segment with segment-wise code rate (defined by the number of unfrozen bits or information bits divided by the segment length) below a threshold (e.g., 1 / 8) , then skip this segment for placing this type of CRC bits.
[0328] g. Rules to determine the length of CRC bits in each segment based on the overall code length and above parameters;
[0329] i. The length of CRC bits in each segment, denoted by [L0, L1, …LQ-1] , needs to be predefined.
[0330] ii. The CRC lengths can be different for different segments, but needs to be monotonically increasing or non-decreasing, satisfying L0≤L1≤…≤LQ-1. For example, if Q=4 segments is adopted, the CRC lengths for the 4 segments can be [4, 4, 4, 12] , or [4, 4, 4, 8] , or [4, 6, 6, 8] , or [3, 5, 7, 9] , or [0, 4, 6, 8] , or [0, 4, 6, 6] . For example, if Q=2 segments is adopted, the CRC lengths for the 2 segments can be [6, 8] , or [8, 16] , or [6, 10] .
[0331] iii. The CRC lengths can be same for different segments, i.e., satisfying L0=L1=…=LQ-1=L. For example, if Q=4 segments is adopted, the CRC lengths for the 4 segments can be [4, 4, 4, 4] , or [6, 6, 6, 6] , or [8, 8, 8, 8] . For example, if Q=2 segments is adopted, the CRC lengths for the 2 segments can be [6, 6] , or [8, 8] , or [10, 10] , or [12, 12] .
[0332] h. Rules to determine the positions of CRC bits in the case of rate matching;
[0333] i. The CRC bits can be placed in the unfrozen bit positions with the largest bit indices in each segment;
[0334] ii. The CRC bits can be placed in the unfrozen bit positions with the largest reliability in each segment, in which the reliability is defined in a reliability ordered sequence table;
[0335] iii. The CRC bits are not placed on the bit positions corresponding to the punctured or shortened bit positions in each segment; In other words, CRC bits should avoid rate matched bit positions.
[0336] i. Methods to scramble the CRC bits with certain UE-specific or UE-Group-specific identifiers;
[0337] i. The CRC bits in each segment can be scrambled by UE-specific Radio Network Temporary Identifier (RNTI) or Group RNTI.
[0338] j. Methods to further interleave the CRC bits within a segment;
[0339] i. The CRC bits in each segment can be interleaved following a distributed CRC interleaver like that in 5G, for even earlier termination.
[0340] k. Coding chain: steps to further segment information bits within a CB and perform multi-segment-wise CRC encoding and polar encoding, based on the above parameters.
[0341] i. The steps in the coding chain:
[0342] 1. Determine parameters: information bit length K, rate matching output length E, and mother code length N in each CB;
[0343] 2. Determine the intra-CB parameters such as the number of segments Q, segment size Ns, segment CRC length L, etc.
[0344] 3. Perform intra-CB segmentation to obtain Q segments;
[0345] 4. Determine rate matching bit positions (including punctured, shortened bit positions) ;
[0346] a. Rate matching bit positions can be determined on the entire length-N mother code;
[0347] b. Rate matching bit positions can be determined separately on the each of the segment;
[0348] 5. Pre-freezing bit positions corresponding to the punctured or shortened bit positions in each segment, and optionally pre-freeze additional bits for better performance.
[0349] 6.Select K+Q×L most reliable subchannels from the non-frozen set for carrying information bit indices and segment CRC bits;
[0350] 7. Check the Kseg the number of unfrozen bits (including information bits and potentially segment CRC bits) in each segment. If the Kseg ≥Kseg, min for all segments, then Q will be the final number of segments.
[0351] 8. If there exists one segment with Kseg <Kseg, min, then merge this segment with the next segment, and set Q=Q-1; Because the merged segment has only a few unfrozen bit positions, and may not accommodate even L CRC bits, the merged segment will not have any CRC bits. There are two ways to deal with these CRC bits:
[0352] a. Simply remove the L CRC bits in the merged segment, and there will be L fewer bit positions required for the information bits and the segment CRC bits. As a result, additionally freeze L least reliable bit positions in the unfrozen bit positions in this merged segment. In the case that there were fewer than L unfrozen bit positions in this merged segment, freeze all bit positions in this segment. The L CRC bits in the next segment will be generated from all the information bits in these to-be-merged segments, and thus be able to detect any errors in this scope.
[0353] b. Move the L CRC bits from the merged segment to the next segment, such that this merged segment has no CRC bits and the next segment has 2L CRC bits. In return, L information bits will be moved from the next segment back to the merged segment. The 2L CRC bits in the next segment will be generated from all the information bits in these to-be-merged segments, and thus be able to detect any errors in this scope.
[0354] 9. Perform CRC encoding and attach to each segment of information bits;
[0355] a. The CRC bits are generated from the information bits in this segment;
[0356] b. The CRC bits are generated from the information bits in the current segment and the previous segment (the one segment preceding the current segment) ;
[0357] c. The CRC bits are generated from the information bits in all previous segment;
[0358] 10. Assign information bits and CRC bits to the unfrozen bit positions in each segment;
[0359] 11. Perform polar coding;
[0360] a. Polar coding can be performed on the entire length-N mother code;
[0361] b. Polar coding can be performed separately on the each of the segment;
[0362] 12. Perform rate matching for the CB;
[0363] a. Rate matching can be performed on the entire length-N mother code;
[0364] b. Rate matching can be performed separately on the each of the segment;
[0365] An example embodiment of multi-segment CRC attachment in a CB may be described through a pseudocode example:
[0366] Denote the input bits to the CRC computation by a0, a1, a2, a3, ..., aA-1, and the parity bits by p0, p1, p2, p3, ..., pL-1, where A is the size of the input sequence and L is the number of parity bits. The parity bits are generated by one of the following cyclic generator polynomials:
[0367] - gCRC8 (D) = [D8+D7+D+1] for CRC length L=8; --for each segment in a polar code block
[0368] The input bit sequence to the code block segmentation is denoted by a0, a1, a2, a3, ..., aA-1, where A>0. If the rate matching output sequence length E is larger than the maximum mother code length segmentation of the input bit sequence is performed and an additional CRC sequence of L bits is attached to each code block.
[0369] if Iseg=0
[0370] Number of code blocks: C=1;
[0371] else if Iseg=1
[0372] Number of code blocks: C=2
[0373] else if Iseg=2
[0374] Number of code blocks: where G is the total number of coded bits available for transmission, Nmax is the maximum mother code length, and R′min=2Rmin is the minimum code rate for segmentation. A transmission is an action or process of transmitting some data or control signals. In particular,
[0375] · It refers to a sequence of consecutive signals obtained after encoding and modulation;
[0376] · It may also refer to the signals transmitted at a particular time, e.g., for transmitting a data packet, two transmissions are conducted, in which the first is an initial transmission and the second is a retransmission;
[0377] · It refers to a redundancy version (RV) , where each RV is transmitted at one time (or transmission opportunity) ;
[0378] · It refers to the signals that are scheduled at the same time, through DCI or other control signaling, e.g., multiple RVs can be scheduled altogether for one transmission, and they can be considered as being transmitted in one transmission.
[0379] end if
[0380]
[0381] for i=0 to A′-A-1
[0382] a′i=0; --Insertion of zero filler bits, all to the first code block
[0383] end for
[0384] for i=A′-A to A′-1
[0385] a′i=ai- (A′-A) ;
[0386] end for
[0387] s=0;
[0388] for r=0 to C-1
[0389] for k=0 to A′ / C-1
[0390] crk=a′s;
[0391] s=s+1;
[0392] end for
[0393] The sequence cr0, cr1, cr2, cr3, ..., cr (A′ / C-1) is used to calculate the CRC parity bits with a generator polynomial of length L.
[0394] Depending on the mother code length N, if N>2048, then Q sets (Q≤4) of CRC parity bits are generated.
[0395] If Q=1, the entire sequence cr0, cr1, cr2, cr3, ..., cr (A′ / C-1) is used to calculate the CRC parity bits pr0, pr1, pr2, ..., pr (L-1) .
[0396] If Q>1, the sequence cr0, cr1, cr2, cr3, ..., cr (A′ / C-1) is divided to Q sets with lengths A′0, A′1, …, A′ (Q-1) , and used to generate Q sets of CRC parity bits with lengths L0, L1, …, L (Q-1) , respectively. Note that A′0+A′1+…+ A′ (Q-1) =A′ / C, and L0+L1+…+L (Q-1) =L. The values of Q and A′0, A′1, …, A′ (Q-1) and L0, L1, …, L (Q-1) are determined according to
[0397] The Q sets of sequences are respectively used to calculate the Q sets of CRC parity bits
[0398] Some embodiments of the present disclosure relate to features and procedures for segment-wise pre-freezing, where the pre-frozen bits have values known to the decoder, and are not generated from the information bits.
[0399] Taking the above attached bits being pre-frozen bits as example, FIG. 16 is yet another schematic flowchart of a communication method according to one or more example embodiments of the present disclosure. The method can be implemented by a first apparatus such as an encoder. Optionally, the encoder could be other device that has similar function (for example, the encoder can be a communication module, or a chip) , which is not limited herein. The first apparatus could also be a whole device such as the base station or the terminal.
[0400] As shown in FIG. 16, the method can include the following steps.
[0401] S1610, obtaining information bits to be transmitted in a CB.
[0402] The step S1610 is similar to the step S1310. The above description about step S1310 also applies to step S1610, which will not be repeated herein for brevity.
[0403] S1620, determining whether to insert pre-frozen bits to the information bits based on at least one of code length information or code rate information. The pre-frozen bits can be all zeros. In some cases, they can be masked by RNTI bits, which are known bits not necessarily all zeros.
[0404] The step S1620 is similar to the step S1320. The above description about step S1320 also applies to step S1620, which will not be repeated herein for brevity.
[0405] S1630, inserting the pre-frozen bits to the information bits based on a subblock number of the CB when determining to insert the pre-frozen bits to the information bits, where the subblock number is greater than 1.
[0406] The step S1630 is similar to the step S1330. The above description about step S1330 also applies to step S1630, which will not be repeated herein for brevity.
[0407] Because whether to insert pre-frozen bits to the information bits could be determined based on at least one of code length information or code rate information, the criteria on whether to insert the pre-frozen bits could be designed with respect to certain code length and rates. Meanwhile, the rules to determine how many subblocks are required in each CB for inserting pre-frozen bits could be designed with respect to certain subblock number of the CB, and the pre-frozen bits could be inserted to the information bits based on the subblock number of the CB. Insertion of pre-frozen bits to information bits could allow for even early error detection and early termination in decoding. Therefore, low-complexity implementation could be achieved while high performance could be guaranteed based on the designed criteria and rules. Furthermore, the function of pre-frozen bits can be extended to error correction and error detection, which improves the diversity of the pre-frozen bits.
[0408] In a possible implementation, when the first apparatus determines bit positions of the pre-frozen bits in a case of rate matching, different kinds of approaches may be adopted thereby adapting to different application scenarios. For example, the pre-frozen bits may be placed in unfrozen bit positions with the largest bit index in each of the subblocks; or, the pre-frozen bits may be placed in unfrozen bit positions with the largest reliability in each of the subblocks, in which a reliability is defined in a reliability ordered sequence table; or, the bit positions of the pre-frozen bits may be uniformly inserted among the positions of the information bits in the subblocks; or, the bit positions of the pre-frozen bits may be uniformly inserted among all bit indices in the subblocks; or the bit positions of the pre-frozen bits may be non-uniformly inserted among the subblocks, where the subblocks with smaller indexes have fewer pre-frozen bit positions. Therefore, the rule to determine the positions of pre-frozen bits could further associate with the bit index or the reliability of unfrozen bit position, which provides various options to determine the positions of pre-frozen bits, thereby improving flexibility of the system while ensuring error correction performance.
[0409] In a possible implementation, the first apparatus may set the pre-frozen bits to all zeroes, and scramble the at least one pre-frozen bit in each of the subblocks by a UE-specific RNTI or group RNTI. Because the at least one pre-frozen bit in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI, the intended receiving UE or UE group could obtain the attached pre-frozen bit (s) by descrambling the received information using a corresponding RNTI or group RNTI, and thus, the reliability of communication could be improved.
[0410] In a possible implementation, the pre-frozen bit length may be different in different scenarios, and the pre-frozen bit in each of the subblocks could be scrambled by the UE-specific RNTI or group RNTI in different ways according to actual situation or demands. For example, when a pre-frozen bit length of a subblock is larger than a RNTI bit length of the UE-specific RNTI or the group RNTI, first or last pre-frozen bit of the RNTI bit length may be scrambled by the UE-specific RNTI or group RNTI; or RNTI bits are repeated to match the pre-frozen bit length and pre-frozen bits of the subblock are scrambled by RNTI bits obtained after the repetition; when a subblock pre-frozen bit length of a subblock is less than a RNTI bit length of the UE-specific RNTI or the group RNTI, the pre-frozen bit (s) of the subblock is scrambled by a first or a last RNTI bit of the attached bit length; or pre-frozen bits in all of the subblocks are combined to be scrambled by RNTI bits of the UE-specific RNTI or the group RNTI. Based on above, the flexibility and universality of scrambling could be improved. Although the above expression refers to “A” is larger than “B” , “A” equals to “B” is also included herein.
[0411] An example segmented pre-freezing scheme is illustrated as follows:
[0412] a. The pre-frozen bits to be inserted in each segment have known values.
[0413] i. They can be all zeros, or all ones;
[0414] ii. They can be any known values such as the UE-specific Radio Network Temporary Identifier (RNTI) or Group RNTI.
[0415] b. A method to pre-freeze some bits in each segment instead of making them CRC bits;
[0416] i. The values of these pre-frozen bits are not generated from (do not rely on) any information bits.
[0417] ii. When the pre-frozen bit value is zero, they are no different from a normal frozen bit from the encoder’s perspective.
[0418] iii. From the decoder’s perspective, however, these pre-frozen bits are decoded as “check bits” . Specifically, they are decoded as information bits, and if the decoded bit value is not the same as the pre-known value, a decoding failure may be declared, leading to early termination of the decoding. (Or the decoding path is marked as a wrong path, and the decoding can be early terminated once all decoding paths are marked as wrong paths. )
[0419] iv. If there is no information bits in the segment, then these pre-frozen bits are treated exactly as a normal frozen bit, even on the decoder side.
[0420] c. Criteria on whether to insert segmented pre-frozen bits with respect to certain code length and rates (this is basically the same as in multi-segment CRC) ;
[0421] i. Only when mother code length, or code length, is larger than a threshold;
[0422] ii. Only when code rate is higher than a threshold;
[0423] iii. When either mother code length, or code length, is larger than a threshold, or code rate is higher than a threshold.
[0424] iv. When both mother code length, or code length, is larger than a threshold, and code rate is higher than a threshold.
[0425] v. The (mother) code length threshold can be 512, 1024, 2048, 4096, 8192.
[0426] vi. The code rate threshold can be 1 / 8, 3 / 16, 1 / 4, 5 / 16, 3 / 8, 7 / 16, 1 / 2, 9 / 16, 5 / 8, 11 / 16, 6 / 8, 13 / 16, 7 / 8, 15 / 16 for simpler hardware implementation because the divisor is power-of-2, and can also be 1 / 9, 2 / 9, 1 / 3, 4 / 9, 5 / 9, 2 / 3, 7 / 9, 8 / 9 and 1 / 5, 2 / 5, 3 / 5, 4 / 5 for fine grained configuration and thus better performance.
[0427] d. Rules to determine how many segments are required in each CB for inserting pre-frozen bits (this is basically the same as in multi-segment CRC) ;
[0428] i.When it is determined to insert pre-frozen bits (e.g., N>2048) , the number of segments, denoted by Q, in a CB is fixed. For example, there can be Q=2 or 4 or 8 segments;
[0429] ii. The intra-CB segmentation may be performed based on the length power-of-2 blocks that naturally exist in the mother code. For example, a length-8192 mother code can be segmented into for segments, the first segment with bit indices [0, 1, …, 2047] , and the second segment with bit indices [2048, 2049, …, 4095] , and the third segment with bit indices [4096, 4097, …, 6143] , and the fourth segment with bit indices [6144, 6145, …, 8191] .
[0430] iii. The number of segments Q within a CB depends on the (mother) code length and a fixed segment length. The formula can be where E is the rate matched code length, and Ns is the fixed segment length; or can be where N is the mother code length. The fixed segment length Ns is a power-of-2 integer, e.g., Ns=512, 1024, 2048, 4096 or 8192.
[0431] iv. The number of segments Q may further depend on the number of unfrozen bits or information bits. For example, impose a minimum number of unfrozen bits (including information bits and segment pre-frozen bits) for each segment, and no segment can have unfrozen bits fewer than that. If a segment would have less than Kseg, min unfrozen bits, it will be automatically merged with the next segment until there are sufficient information bits in one segment.
[0432] 1. Where the value of Kseg, min ≥ L , where L is the length of pre-frozen bits for one segment.
[0433] e. Methods to segment information bits based on their position in the polarized subchannels and / or their number in each segment (this is basically the same as in multi-segment CRC) ;
[0434] i. The K information bits to be encoded are also segmented non-uniformly, that is, the number of information bits in different segments may be different;
[0435] ii. The K information bits to be encoded are also segmented after they are mapped to the subchannels within indices [0, 1, …, N] in the mother code, according to their bit positions in the mother code.
[0436] iii. Further to <2-d-ii> , if there are Q segments, indexed by [0, 1, …, Q] and an information bit falls in the index range of [i×N / Q, i×N / Q+1, …, (i +1) ×N / Q- 1], then this information bit belongs to the i-th segment. Note that the segment index starts at 0; alternatively, and if the segment index is to start at 1, then the notation can indicate that the information bit belongs to the (i+1) -th segment.
[0437] f. Rules to determine which segment (s) should have pre-frozen bits and which segment (s) should not have pre-frozen bits;
[0438] i. All segments have this type of pre-frozen bits. Because these pre-frozen bits can also serve as “error-checking” bits for error detection, they can replace CRC bits.
[0439] ii. The last segment does not have this type of pre-frozen bits. In the cases where attachment of CRC bits in the end of the information bits is default, the last segment may be skipped for placing pre-frozen bits. This is because the CRC bits will always be attached to the end, and has error detection capability, and the “error-checking” pre-frozen bits would be unnecessary.
[0440] g. Rules to determine the length of pre-frozen bits in each segment based on the overall code length and above parameters (this is basically the same as in multi-segment CRC) ;
[0441] i. The length of pre-frozen bits in each segment, denoted by [L0, L1, …LQ-1] , needs to be predefined.
[0442] ii. The pre-frozen bit sequence lengths can be different for different segments, but needs to be monotonically increasing or non-decreasing, satisfying L0≤L1≤…≤LQ-1. For example, if Q=4 segments is adopted, the pre-frozen bit sequence lengths for the 4 segments can be [4, 4, 4, 12] , or [4, 4, 4, 8] , or [4, 6, 6, 8] , or [3, 5, 7, 9] , or [0, 4, 6, 8] , or [0, 4, 6, 6] . For example, if Q=2 segments is adopted, the pre-frozen bit sequence lengths for the 2 segments can be [6, 8] , or [8, 16] , or [6, 10] .
[0443] iii. The pre-frozen bit sequence lengths can be same for different segments, i.e., satisfying L0=L1=…=LQ-1=L. For example, if Q=4 segments is adopted, the pre-frozen bit sequence lengths for the 4 segments can be [4, 4, 4, 4] , or [6, 6, 6, 6] , or [8, 8, 8, 8] . For example, if Q=2 segments is adopted, the pre-frozen bit sequence lengths for the 2 segments can be [6, 6] , or [8, 8] , or [10, 10] , or [12, 12] .
[0444] h. Rules to determine the positions of pre-frozen bits in the case of rate matching (this is basically the same as in multi-segment CRC, but has more flexibility in selecting positions; there can be some more bit position selection rules, see iii and iv) ;
[0445] i. The pre-frozen bit positions can be the those with the largest bit indices among the unfrozen bits in the segment;
[0446] ii. The pre-frozen bit positions can be the most reliable bit indices (as defined by a reliability ordered sequence in a table) among the unfrozen bits in the segment;
[0447] iii. The pre-frozen bit positions can be uniformly inserted among the information bit positions in the segment;
[0448] iv. The pre-frozen bit positions can be uniformly inserted among all the bit indices (e.g., [i×N / Q, i×N / Q+1, …, (i +1) ×N / Q-1] in the i-th segment) in the segment;
[0449] v. The pre-frozen bits are not placed on the bit positions corresponding to the punctured or shortened bit positions in each segment; In other words, pre-frozen bits should avoid rate matched bit positions.
[0450] i. Methods to scramble the pre-frozen bits with certain UE-specific or UE-Group-specific identifiers;
[0451] i. In addition to the method of directly assigning pre-known values to pre-frozen bits, this method may involve two steps. First set the pre-frozen bit values to all zeros, and then scramble these bits by UE-specific Radio Network Temporary Identifier (RNTI) or Group RNTI. These two methods may achieve equivalent results.
[0452] j. Coding chain: steps to further segment information bits within a CB and perform multi-segment-wise pre-freezing and polar encoding, based on the above parameters (this is basically the same as in multi-segment CRC, but has no CRC encoding step, and with some slight changes) .
[0453] i. The steps in the coding chain:
[0454] 1. Determine parameters: information bit length K, rate matching output length E, and mother code length N in each CB;
[0455] 2. Determine the intra-CB parameters such as the number of segments Q, segment size Ns, segment pre-freezing bit sequence length L for each segment, etc.
[0456] 3. Perform intra-CB segmentation to obtain Q segments;
[0457] 4. Determine rate matching bit positions (including punctured, shortened bit positions) ;
[0458] a. Rate matching bit positions can be determined on the entire length-N mother code;
[0459] b. Rate matching bit positions can be determined separately on the each of the segment;
[0460] 5. Pre-freezing bit positions corresponding to the punctured or shortened bit positions in each segment, and optionally pre-freeze additional bits for better performance.
[0461] 6. Select K+ (Q-1) ×L most reliable subchannels from the non-frozen set for potentially carrying information bit indices and segment pre-frozen bits;
[0462] 7. Pre-freeze bit positions corresponding to the last L unfrozen bit positions (or the L most reliable unfrozen bit positions) in each of the segments except the last segment.
[0463] 8. Check the Kseg the number of unfrozen bits (including information bits and segment pre-frozen bits) in each segment. If the Kseg ≥Kseg, min for all segments, then Q will be the final number of segments.
[0464] 9. (For segment-wise pre-freezing, this step is optional and can be skipped) If there exists one segment with Kseg <Kseg, min, then merge this segment with the next segment, and set Q=Q-1; Because the merged segment has only a few unfrozen bit positions, and may not accommodate even L pre-frozen bits, the merged segment will not have any pre-frozen bits. There are two ways to deal with these pre-frozen bits:
[0465] a. Simply remove the L pre-frozen bits in the merged segment, and there will be L fewer bit positions required for the information bits and the segment pre-frozen bits. As a result, additionally freeze L least reliable bit positions in the unfrozen bit positions in this merged segment. In the case that there were fewer than L unfrozen bit positions in this merged segment, freeze all bit positions in this segment.
[0466] b. Move the L pre-frozen bits from the merged segment to the next segment, such that this merged segment has no pre-frozen bits and the next segment has 2L pre-frozen bits. In return, L information bits will be moved from the next segment back to the merged segment.
[0467] 10. Assign information bits and pre-frozen bits to the unfrozen bit positions in each segment;
[0468] 11. Perform polar coding;
[0469] a. Polar coding can be performed on the entire length-N mother code;
[0470] b. Polar coding can be performed separately on the each of the segment;
[0471] 12. Perform rate matching for the CB;
[0472] a. Rate matching can be performed on the entire length-N mother code;
[0473] b. Rate matching can be performed separately on the each of the segment;
[0474] An example embodiment of multi-segment pre-freezing in a CB may be described through a pseudocode example, where is the set of pre-frozen bit positions, E0 is the rate matching output sequence length for the initial transmission, N is the mother code length, the number of segment is 4 when N≥2048, and the number of pre-frozen bits is fixed to 8 in each segment:
[0475] Some embodiments of the present disclosure may enable advantageous effects such as:
[0476] · Either assistant bits (e.g., CRC / PC) or pre-frozen bits can be placed in the very front bit positions, such that very early termination is enabled to further reduce complexity.
[0477] · Detailed step-by-step design is proposed for both segment-wise CRC and segment-wise pre-freezing, and thus the performance for certain implementations can be guaranteed.
[0478] · The segment-wise pre-freezing further simplifies standard description and hardware implementation.
[0479] FIG. 17 is a schematic flowchart of yet another communication method according to one or more example embodiments of the present disclosure. The method can be implemented by a second apparatus such as a decoder. Optionally, the decoder could be other device that has similar function (for example, the decoder can be a communication module, or a chip) , which is not limited herein. The second apparatus could also be a whole device such as the base station or the terminal. As shown in FIG. 17, the method can include the following steps.
[0480] S1710, receiving an encoded sequence obtained by encoding information bits to be transmitted in a CB, wherein the encoding the information bits comprises inserting attached bits to the information bits based on a subblock number of the code block when it is determined, based on at least one of code length information or code rate information, to insert the attached bits to the information bits, where the subblock number is greater than 1.
[0481] S1720, decoding the encoded sequence to obtain the information bits.
[0482] The solutions and effects for inserting attached bits to the information bits in S1710 is similar as that described in step S1310 to step S1330 of FIG. 13, which is not repeated herein for short.
[0483] FIG. 18 is a schematic structural diagram of a first apparatus according to one or more example embodiments of the present disclosure.
[0484] As shown in FIG. 18, the first apparatus 1800 includes: an interface 1810 for obtaining information bits to be transmitted in a CB; an encoder 1820 coupled to the interface 1810, for determining whether to insert attached bits to the information bits based on at least one of code length information or code rate information; and inserting the attached bits to the information bits based on a subblock number of the CB when determining to insert the attached bits to the information bits, where the subblock number is greater than 1.
[0485] The first apparatus may be applied to implement the communication methods as described in the above possible method implementations (for example, the first apparatus may be implemented to perform the steps performed by the first apparatus, as described with reference to FIG. 13, FIG. 15, and FIG. 16) . It should be understood by a person skilled in the art that, the relevant description of the above modules in these possible implementations of the present disclosure may be understood with reference to the relevant description of the communication method in these possible implementations of the present disclosure. The technical effect achieved by the above first apparatus is similar to that achieved by the above possible method implementation, which is not repeated herein.
[0486] FIG. 19 is a schematic structural diagram of a second apparatus according to one or more example embodiments of the present disclosure.
[0487] As shown in FIG. 19, the second apparatus 1900 includes: an interface 1910 for receiving an encoded sequence obtained by encoding information bits to be transmitted in a CB, wherein the encoding the information bits comprises inserting attached bits to the information bits based on a subblock number of the code block when it is determined, based on at least one of code length information or code rate information, to insert the attached bits to the information bits, wherein the subblock number is greater than 1; and a decoder 1920 for decoding the encoded sequence to obtain the information bits.
[0488] The second apparatus may be applied to implement the communication methods as described in the above possible method implementations (for example, the second apparatus may be implemented to perform the steps performed by the second apparatus, as described with reference to FIG. 17) . It should be understood by a person skilled in the art that, the relevant description of the above modules in these possible implementations of the present disclosure may be understood with reference to the relevant description of the communication method in these possible implementations of the present disclosure. The technical effect achieved by the above second apparatus is similar to that achieved by the above possible method implementation, which is not repeated herein.
[0489] A possible implementation of the present disclosure provides a third apparatus including a processor coupled with a memory including instructions that, when executed by the processor, cause the third apparatus to perform the method according to any of the above communication method at the first apparatus side. The third apparatus can be a whole device such as base station or terminal device, a communication module, or a chip in the whole device, which is not limited herein. The above method is not repeated herein.
[0490] A possible implementation of the present disclosure provides a fourth apparatus including a processor coupled with a memory including instructions that, when executed by the processor, cause the fourth apparatus to perform the method according to any of the above communication method at the second apparatus side. The fourth apparatus can be a whole device such as base station or terminal device, a communication module, or a chip in the whole device, which is not limited herein. The above method is not repeated herein.
[0491] A possible implementation of the present disclosure provides a fifth apparatus, including various modules or units configured to execute the method according to any of the above communication method at the first apparatus side.
[0492] A possible implementation of the present disclosure provides a sixth apparatus, including various modules or units configured to execute the method according to any of the above communication method at the second apparatus side.
[0493] A possible implementation of the present disclosure provides a computer program including programming for execution by a processor, the programming including instructions to perform the method according to any of the above communication method. The above method is not repeated herein.
[0494] A possible implementation of the present disclosure provides a non-transitory computer readable medium storing programming for execution by a processor, the programming including instructions to perform the method according to any of the above communication method. The above method is not repeated herein.
[0495] A possible implementation of the present disclosure provides a system including: a first communication device configured to perform the method according to any of the above communication method at the first apparatus side; and a second communication device configured to perform the method according to any of the above communication method at the second apparatus side. The above method is not repeated herein. The first communication device can be a first apparatus such as an encoder. Optionally, the encoder could be other device that has similar function (for example, the encoder can be a communication module, or a chip) , which is not limited herein. The first apparatus could also be a whole device such as the base station or the terminal. The second communication device can be a second apparatus such as a decoder. Optionally, the decoder could be other device that has similar function (for example, the decoder can be a communication module, or a chip) , which is not limited herein. The second apparatus could also be a whole device such as the base station or the terminal.
[0496] Acronyms, Abbreviations, and Initialisms
[0497] The present disclosure encompasses various embodiments, including not only method embodiments, but also other embodiments such as apparatus embodiments and embodiments related to non-transitory computer readable storage media. Embodiments may incorporate, individually or in combinations, the features disclosed herein.
[0498] Although this disclosure refers to illustrative embodiments, this is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description.
[0499] Features disclosed herein in the context of any particular embodiments may also or instead be implemented in other embodiments. Method embodiments, for example, may also or instead be implemented in apparatus, system, and / or computer program product embodiments. In addition, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, as instructions stored on one or more non-transitory computer-readable media, for example. Such media could store programming or instructions to perform any of various methods consistent with the present disclosure.
Claims
1.A communication method, comprising:obtaining information bits to be transmitted in a code block (CB) ;determining whether to insert attached bits to the information bits based on at least one of code length information or code rate information; andinserting the attached bits to the information bits based on a subblock number of the CB when determining to insert the attached bits to the information bits, wherein the subblock number is greater than 1.2.The method according to claim 1, wherein the code length information indicates at least one of a code length, a mother code length, or an information length, the code rate information indicates a code rate, and it is determined to insert the attached bits to the information bits when at least one of following conditions is satisfied:a mother code length is larger than a mother code length threshold;a code length is larger than a code length threshold;an information length is larger than an information length threshold; ora code rate is higher than a code rate threshold.3.The method according to claim 1 or 2, wherein the subblock number is obtained based on a mother code length and a subblock length.4.The method according to claim 3, wherein the subblock length is fixed and is a power-of-2 integer.5.The method according to any one of claims 1 to 4, further comprising:pre-freezing at least one bit position corresponding to at least one rate matching bit position, wherein the at least one rate matching bit position is determined on a mother code or separately determined on each of subblocks; and the at least one rate matching bit position comprises at least one punctured bit position, or at least one shortened bit position.6.The method according to claim 5, wherein when a first subblock of the subblocks has a number of unfrozen bits less than a threshold, the first subblock is merged with a next subblock, and the subblock number is decreased by 1.7.The method according to any one of claims 1 to 6, further comprising:selecting a number of most reliable subchannels from unfrozen bit positions in each of subblocks for carrying information bits and the attached bits based on an information bit length, the subblock number, and a subblock attached bit length of each of the subblocks, wherein the information bit length indicates a length of the information bits and the subblock attached bit length of each of the subblocks indicates a length of at least one attached bit in the respective subblocks.8.The method according to any one of claims 1 to 7, further comprising:segmenting the information bits based on the subblock number.9.The method according to claim 8, wherein,segmenting the information bits further based on at least one of:positions of the information bits in a mother code obtained from unfrozen bit positions in each of the subblocks for carrying information bits and attached bits; ora number of information bits in each of the subblocks.10.The method according to any one of claims 1 to 9, wherein a subblock attached bit length of each of the subblocks is predefined.11.The method according to claim 10, wherein,subblock attached bit lengths are different for different subblocks, and are monotonically increased or non-decreased from a first subblock to a last subblock of the subblocks; orsubblock attached bit lengths are same for different subblocks.12.The method according to any one of claims 1 to 11, further comprising:determining bit positions of the assistant bits in a case of rate matching.13.The method according to claim 12, wherein the at least one assistant bit is placed in bit positions other than punctured bit positions and shorten bit positions in each of the subblocks.14.The method according to any one of claims 1 to 13, further comprising:interleaving the information bits and at least one attached bit in each of the subblocks following a distributed attached bit interleaver.15.The method according to claim 14, wherein the distributed attached bit interleaver is a distributed cyclic redundancy check (CRC) interleaver.16.The method according to any one of claims 1 to 15, further comprising:assigning the information bits and at least one attached bit to unfrozen bit positions in each of the subblocks.17.The method according to claim 16, further comprising:performing polar coding, wherein the polar coding is performed on a mother code or separately on each of the subblocks.18.The method according to claim 17, further comprising:performing rate matching for the CB, wherein the rate matching is performed on the mother code or separately on each of the subblocks.19.The method according to any one of claims 1 to 18, wherein the attached bits are assistant bits, which are cyclic redundancy check (CRC) bits, parity-check (PC) bits, or convolutional code (CC) bits.20.The method according to claim 19, wherein,the at least one assistant bit is placed in at least one unfrozen bit position with the largest bit index in each of the subblocks; orthe at least one assistant bit is placed in at least one unfrozen bit position with the largest reliability in each of the subblocks, in which a reliability is defined in a reliability ordered sequence table.21.The method according to claim 19 or 20, wherein the inserting the attached bits to the information bits based on a subblock number comprises:attaching at least one assistant bit of each of the subblocks to the information bits of the respective subblocks.22.The method according to claim 21, wherein,the at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock; orthe at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock and a subblock preceding the respective subblock; orthe at least one assistant bit of each of the subblocks are generated from the information bits in the respective subblock and one or more subblocks preceding the respective subblock from a first subblock.23.The method according to any one of claims 19 to 22, further comprising:scrambling the at least one attached bit in each of the subblocks by a user equipment (UE) -specific radio network temporary identifier (RNTI) or group RNTI.24.The method according to any one of claims 1 to 18, wherein the attached bits are pre-frozen bits.25.The method according claim 24, wherein,the pre-frozen bits are placed in unfrozen bit positions with the largest bit index in each of the subblocks;the pre-frozen bits are placed in unfrozen bit positions with the largest reliability in each of the subblocks, in which a reliability is defined in a reliability ordered sequence table;the bit positions of the pre-frozen bits are uniformly inserted among the positions of the information bits in the subblocks;the bit positions of the pre-frozen bits are uniformly inserted among all bit indices in the subblocks; orthe bit positions of the pre-frozen bits are non-uniformly inserted among the subblocks, wherein the subblocks with smaller indexes have fewer pre-frozen bit positions.26.The method according to claims 24 or 25, further comprising:setting the pre-frozen bits to all zeroes; andscrambling the at least one pre-frozen bit in each of the subblocks by a UE-specific RNTI or group RNTI.27.The method according to claim 23 or 26, wherein,when an attached bit length of a subblock is larger than a RNTI bit length of the UE-specific RNTI or the group RNTI, first or last attached bit of the RNTI bit length is scrambled by the UE-specific RNTI or group RNTI; or RNTI bits are repeated to match the attached bit length and attached bits of the subblock are scrambled by RNTI bits obtained after the repetition;when a subblock attached bit length of a subblock is less than a RNTI bit length of the UE-specific RNTI or the group RNTI, attached bits of the subblock is scrambled by a first or a last RNTI bit of the attached bit length; orattached bits in all of the subblocks are combined to be scrambled by RNTI bits of the UE-specific RNTI or the group RNTI.28.A communication method, comprising:receiving an encoded sequence obtained by encoding information bits to be transmitted in a CB, wherein the encoding the information bits comprises inserting attached bits to the information bits based on a subblock number of the code block when it is determined, based on at least one of code length information or code rate information, to insert the attached bits to the information bits, wherein the subblock number is greater than 1; anddecoding the encoded sequence to obtain the information bits.29.The method according to claim 28, wherein the code length information indicates at least one of a code length, a mother code length, or an information length, the code rate information indicates a code rate, and it is determined to insert the attached bits to the information bits when at least one of following conditions is satisfied:a mother code length is larger than a mother code length threshold;a code length is larger than a code length threshold;an information length is larger than an information length threshold; ora code rate is higher than a code rate threshold.30.The method according to claim 28 or 29, wherein the subblock number is obtained based on a mother code length and a subblock length.31.The method according to any one of claims 28 to 30, wherein the information bits and attached bits are encoded further by:segmenting the information bits based on the subblock number.32.The method according to claim 31, wherein,segmenting the information bits further based on at least one of:positions of the information bits in a mother code obtained from unfrozen bit positions in each of the subblocks for carrying information bits and attached bits; ora number of information bits in each of the subblocks.33.The method according to any one of claims 28 to 32, wherein the information bits and attached bits are encoded further by:determining bit positions of the assistant bits in a case of rate matching.34.The method according to claim 33, wherein the at least one assistant bit is placed in bit positions other than punctured bit positions and shorten bit positions in each of the subblocks.35.The method according to any one of claims 28 to 34, wherein the attached bits are assistant bits, which are CRC bits, PC bits, or CC bits.36.The method according to any one of claims 28 to 34, wherein the attached bits are pre-frozen bits.37.A first apparatus comprising an interface and an encoder for executing the method according to any one of claims 1 to 27.38.A second apparatus comprising an interface and a decoder for executing the method according to any one of claims 28 to 36.39.A third apparatus comprising a processor coupled with a memory including instructions that, when executed by the processor, cause the third apparatus to perform the method according to any one of claims 1 to 27.40.A fourth apparatus comprising a processor coupled with a memory including instructions that, when executed by the processor, cause the fourth apparatus to perform the method according to any one of claims 28 to 36.41.A computer program comprising programming for execution by a processor, the programming including instructions to perform the method according to any one of claims 1 to 36.42.A non-transitory computer readable medium storing programming for execution by a processor, the programming including instructions to perform the method according to any one of claims 1 to 36.43.A system comprising:a first communication device configured to perform the method according to any one of claims 1 to 27; anda second communication device configured to perform the method according to any one of claims 28 to 36.