Communication method and communication apparatus
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-11
- Publication Date
- 2026-06-25
AI Technical Summary
In existing technologies, the mother code length of polar codes is limited, which cannot effectively handle the transmission of large data packets. This results in poor segmentation methods when segmentation is required, affecting transmission performance and complexity.
By segmenting data packets to generate multiple code blocks, and using polar code encoding and decoding techniques, combined with polar code encoding lengths of different code rates, effective segmentation and encoding of data packets can be achieved, ensuring transmission performance and simplifying the construction process.
It enables efficient segmentation of long data packets, improves transmission performance, simplifies the construction process of Polar codes, and enhances error correction capabilities and transmission efficiency.
Smart Images

Figure CN2025141774_25062026_PF_FP_ABST
Abstract
Description
Communication methods and communication devices
[0001] This application claims priority to Chinese Patent Application No. 202411895726.6, filed on December 19, 2024, entitled "Communication Method and Communication Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of coding, and more specifically, to a communication method and a communication device. Background Technology
[0003] Polar codes are linear block codes that use a mother code length (a positive power of 2) for encoding and decoding. A longer mother code length provides stronger error correction capabilities. However, considering implementation complexity, the maximum mother code length cannot be infinitely large; a suitable value is usually chosen after balancing performance and complexity. If the transmitted data packet is very large, far exceeding the maximum mother code length set by Polar codes, segmentation is necessary. Therefore, how to segment the transmitted data packet becomes a pressing problem. Summary of the Invention
[0004] The embodiments of this application provide a communication method and a communication device that can segment data packets.
[0005] In a first aspect, a communication method is provided, which can be executed by a transmitting device. Unless otherwise specified, the term "transmitting device" in this application can refer to the transmitting device itself (e.g., a network device, a terminal device), a component in the transmitting device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the transmitting device.
[0006] The method includes: obtaining the total length G of the encoded bit sequence, where G is a positive integer; obtaining a first bit sequence, the length of which is related to the length G and a first code rate; dividing the first bit sequence to obtain C bit sequences, where C is an integer greater than 1, wherein the C bit sequences correspond to C code blocks, the length of the C code blocks corresponds to S polar code encoding lengths, where S is greater than 1, the length of C0 code blocks in the C code blocks is the same as the maximum polar code encoding length among the S polar code encoding lengths, and the bit sequence corresponding to each of the remaining (C-C0) code blocks in the C code blocks... The length is determined based on the non-maximum polar code encoding length and the corresponding code rate for each code block. The code rate corresponding to the non-maximum polar code encoding length is determined based on the preset value corresponding to the first code rate and the non-maximum code length. The length of the bit sequence corresponding to each of the C0 code blocks is determined based on the length of the first bit sequence and the length of the bit sequences corresponding to (C-C0) code blocks, where C0 is greater than or equal to 1, and C is an integer greater than C0. Polar code encoding is performed on the C bit sequences respectively to obtain C codeword sequences. Based on the C codeword sequences, an encoded bit sequence of length G is obtained.
[0007] It can be understood that after the first bit sequence is divided, the transmitting device will encode the C bit sequence to generate C codeword sequences. Here, the C code blocks correspond one-to-one with the C codeword sequences. Alternatively, it can be understood that the length of the C codeword sequences is the same as the length of their corresponding code blocks.
[0008] The above technical solution can achieve the segmentation of long bit sequences or transmission blocks.
[0009] In some implementations of the first aspect, an encoded bit sequence of length G is obtained based on C codeword sequences, including: concatenating C codewords to obtain a first encoded bit sequence; if the length of the first encoded bit sequence is equal to G, then the encoded bit sequence of length G is the first encoded bit sequence; if the length of the first encoded bit sequence is less than G, then some bits in the first encoded bit sequence are repeated, or the first encoded bit sequence is padded to obtain an encoded bit sequence of length G.
[0010] It is understandable that the total length of the C codeword sequences may be less than the given length G. The above technical solution can obtain a coded bit sequence of length G by repetition or padding.
[0011] In some implementations of the first aspect, repeating a portion of bits in the first coded bit sequence to obtain a coded bit sequence of length G includes: repeating bits in the bit sequence corresponding to any code block among C0 code blocks, or repeating bits in the bit sequence corresponding to any code block among (C-C0) code blocks to obtain a coded bit sequence of length G.
[0012] For example, when repeating bits, the repetition can be done from front to back or from back to front, without restriction.
[0013] For example, repeated bits can be placed at the beginning or the end of the first encoded bit sequence, without restriction.
[0014] Secondly, a communication method is provided, which can be executed by a receiving device. Unless otherwise specified, the term "receiving device" in this application can refer to the receiving device itself (e.g., a network device, a terminal device), a component in the receiving device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the receiving device.
[0015] The method includes: acquiring a symbol sequence; obtaining a symbol sequence to be decoded of length G based on the symbol sequence, wherein the symbol sequence to be decoded of length G corresponds to a first encoded bit sequence, the first encoded bit sequence is composed of C codeword sequences after polar code encoding of C bit sequences, where C is an integer greater than 1, the total length of the C bit sequences is related to the length G and the first code rate, wherein the C bit sequences correspond to C code blocks, the length of the C code blocks corresponds to S polar code encoding lengths, where S is greater than 1, and the length of C0 code blocks among the C code blocks is the same as the maximum polar code encoding length among the S polar code encoding lengths; and segmenting the symbol sequence to be decoded based on the length of the C code blocks to obtain C symbols corresponding to the C code blocks. Sequence; Polar code decoding is performed on C symbol sequences to obtain C bit sequences, wherein the length of the bit sequence corresponding to each of the remaining (C-C0) code blocks in the C code blocks is determined based on the non-maximum polar code encoding length and the code rate of the non-maximum polar code encoding length corresponding to each code block. The code rate corresponding to the non-maximum polar code encoding length is determined based on a first code rate and a preset value corresponding to the non-maximum code length. The length of the bit sequence corresponding to each of the C0 code blocks is determined based on the total length of the C bit sequences and the length of the bit sequences corresponding to the (C-C0) code blocks, where C0 is greater than or equal to 1, and C is an integer greater than C0; the C bit sequences are concatenated to obtain the first bit sequence.
[0016] In some implementations of the first or second aspect, the S polar code encoding lengths belong to a pre-configured set of L polar code encoding lengths, where the largest polar code encoding length N among the L polar code encoding lengths is... max The maximum polar code has the same encoding length as the S polar codes, and the remaining (L-1) non-maximum polar codes have encoding lengths of N. max / 2 i , 1≤i≤(L-1), where i is a positive integer.
[0017] In some implementations of the first or second aspect, the encoding length of each of the L polar codes satisfies the form of a positive integer power of 2.
[0018] The above technical solutions can improve transmission performance and simplify the construction process of Polar codes.
[0019] For example, L is 2, 3, or 4. For example, N... max It could be 1024, 2048, or 4096.
[0020] In some implementations of the first or second aspect, the encoding length of each of the L polar codes satisfies the form of an integer multiple of a positive power of 2.
[0021] The above technical solutions can improve transmission performance and simplify the construction process of Polar codes.
[0022] In some implementations of the first or second aspect, the length of the C code blocks is determined based on the length G.
[0023] The above technical solution can be applied to the segmentation of bit sequences or transport blocks in 5G and future communication systems. The total length G of the encoded bit sequence is a given length, and the segmentation of the first bit sequence can be achieved based on the segmentation of G.
[0024] In some implementations of the first or second aspect, C0 is based on lengths G and N. max It is determined that (C-C0) is the minimum polar code length N among the remaining length and L polar code lengths. min It is determined that the remaining length is the length remaining in length G after deducting the lengths corresponding to the C0 code blocks.
[0025] The above technical solution presents a possible implementation method for determining the number and length of C code lengths based on the encoding lengths of G and L polar codes.
[0026] In some implementations of the first or second aspect, the length G and N max The ratio is the first ratio, which is not an integer. C0 is the largest integer less than the first ratio. The remaining length is N. min The ratio is the second ratio, and (C-C0) is determined based on the second ratio.
[0027] In some implementations of the first or second aspect, the number of code blocks of different lengths in (C-C0) code blocks is determined based on a first value, which is the largest integer not greater than a second ratio. The binary value of the first value, from least significant bit to most significant bit, corresponds to the non-maximum polar code length among L polar code lengths in ascending order of polar code length. The binary value includes (S-1) 1s, and the 1s and 0s in the binary value represent the number of corresponding non-maximum polar code lengths.
[0028] The above technical solution provides a possible implementation method for determining the number and length of C code lengths based on the encoding lengths of G and L polar codes.
[0029] In some implementations of the first or second aspect, the code rate corresponding to the non-maximum polar code code length among the L polar code code lengths is less than the first code rate.
[0030] In the above technical solution, the code rate of the non-maximum polar code encoding length is less than the first code rate, which can make up for the performance loss caused by the encoding length, thereby improving the transmission performance.
[0031] For example, the smaller the length of the (L-1) non-maximum polar code encoding length, the smaller the corresponding code rate.
[0032] For example, among the (L-1) non-maximum polar code coding lengths, the coding length of the first polar code is less than the coding length of the second polar code, and the code rate corresponding to the coding length of the first polar code is not greater than the code rate corresponding to the coding length of the second polar code.
[0033] In some implementations of the first or second aspect, the code rate corresponding to the maximum polar code encoding length is greater than or equal to the first code rate, and the code rate corresponding to the maximum polar code encoding length among the S polar code encoding lengths is related to the first code rate, the code rate corresponding to the non-maximum polar code encoding length among the S polar code encoding lengths, and the number of code blocks in (C-C0) code blocks that correspond to any non-maximum polar code encoding length among the S polar code encoding lengths.
[0034] Based on the above technical solution, in one implementation, the code rate that is reduced by the non-maximum polar code coding length compared to the first code rate is added to the code rate corresponding to the maximum polar code coding length, so that the error correction performance of different code blocks is similar, thereby improving the error correction performance of the transmission block.
[0035] In some implementations of the first or second aspect, the length of the bit sequence corresponding to each of the (C-C0) code blocks is the product of the non-maximum polar code coding length and the code rate of the non-maximum polar code coding length corresponding to each code block.
[0036] The above technical solution provides a specific implementation method for determining the length of the (C-C0) bit sequence corresponding to the (C-C0) code blocks.
[0037] In some implementations of the first or second aspect, if C0 equals 1, the bit sequence corresponding to the C0 code blocks includes a second bit sequence, wherein the second bit sequence is the remaining bits in the first bit sequence except for the bit sequence corresponding to the maximum polar code encoding length; if C0 does not equal 1, each bit sequence corresponding to the C0 code blocks is obtained by equally dividing the second bit sequence, and if it cannot be equally divided, the difference in length between any two bit sequences is equal to 0 or 1.
[0038] The above technical solution provides a specific implementation method for determining the length of the C0 bit sequence corresponding to the C0 code blocks. This method is simple and easy to implement.
[0039] Thirdly, a communication method is provided, which can be executed by a transmitting device. Unless otherwise specified, the term "transmitting device" in this application can refer to the transmitting device itself (e.g., a network device, a terminal device), a component in the transmitting device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the transmitting device.
[0040] The method includes: obtaining the total length G of the encoded bit sequence, where G is a positive integer; obtaining a first bit sequence, the length of which is related to the length G and a first code rate; dividing the first bit sequence to obtain C bit sequences, where C is an integer greater than 1, wherein the C bit sequences correspond to C code blocks, and the length of the C code blocks corresponds to one polar code encoding length; performing polar code encoding on the C bit sequences respectively to obtain C codeword sequences; concatenating the C codewords to obtain the first encoded bit sequence, wherein if the length of the first encoded bit sequence is equal to G, then the encoded bit sequence of length G is the first encoded bit sequence; if the length of the first encoded bit sequence is less than G, then some bits in the first encoded bit sequence are repeated, or the first encoded bit sequence is padded to obtain an encoded bit sequence of length G.
[0041] In some implementations of the third aspect, if C is not equal to 1, each bit sequence corresponding to the C code blocks is obtained based on the equal division of the first bit sequence. If it cannot be divided equally, the difference in length between any two bit sequences in the C bit sequences is equal to 0 or 1.
[0042] In some implementations of the third aspect, repeating a portion of the bits in the first coded bit sequence to obtain a coded bit sequence of length G includes: repeating bits in the bit sequence corresponding to any one of the C code blocks to obtain a coded bit sequence of length G.
[0043] Fourthly, a communication method is provided, which can be executed by a receiving device. Unless otherwise specified, the term "receiving device" in this application can refer to the receiving device itself (e.g., a network device, a terminal device), a component in the receiving device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the receiving device.
[0044] The method includes: acquiring a symbol sequence; obtaining a symbol sequence to be decoded of length G based on the symbol sequence, wherein the symbol sequence to be decoded of length G corresponds to a first encoded bit sequence, the first encoded bit sequence is composed of C codeword sequences after polar coding of C bit sequences, where C is an integer greater than 1, the total length of the C bit sequences is related to the length G and the first code rate, wherein the C bit sequences correspond to C code blocks, and the length of the C code blocks corresponds to one polar code coding length; segmenting the symbol sequence to be decoded to obtain C symbol sequences of the same length as the C code blocks; polar coding decoding of the C symbol sequences to obtain C bit sequences; and concatenating the C bit sequences to obtain a first bit sequence.
[0045] It is understandable that the length of each bit in the C bit sequence is determined in the same way as that of the sending end.
[0046] In some implementations of the third or fourth aspect, the length of the single polar code is the largest polar code length N among the pre-configured L polar code lengths. max The remaining (L-1) non-maximum polar codes have encoding lengths of N. max / 2 i , 1≤i≤(L-1), where i is a positive integer.
[0047] In some implementations of the third or fourth aspect, the length of each of the L polar code codes satisfies the form of a positive integer power of 2.
[0048] For example, L is 2, 3, or 4. For example, N... max It could be 1024, 2048, or 4096.
[0049] In some implementations of the third or fourth aspect, the encoding length of each of the L polar codes satisfies the form of an integer multiple of a positive power of 2.
[0050] In some implementations of the third or fourth aspect, the length of the C code blocks is determined based on the length G.
[0051] In some implementations of the third or fourth aspect, the length G and N maxThe ratio is the first ratio, the first ratio is an integer, and C is the first ratio.
[0052] In some implementations of the third or fourth aspect, the code rate corresponding to the non-maximum polar code code length among the L polar code code lengths is less than the first code rate.
[0053] For example, the smaller the length of the (L-1) non-maximum polar code encoding length, the smaller the corresponding code rate.
[0054] For example, among the (L-1) non-maximum polar code coding lengths, the coding length of the first polar code is less than the coding length of the second polar code, and the code rate corresponding to the coding length of the first polar code is not greater than the code rate corresponding to the coding length of the second polar code.
[0055] In some implementations of the third or fourth aspect, if the bit sequences corresponding to the C code blocks have the same length, the code rate corresponding to the C code blocks is equal to the first code rate; if the bit sequences corresponding to the C code blocks have different lengths, the code rates corresponding to the C code blocks are different.
[0056] Fifthly, a communication method is provided, which can be executed by a transmitting device. Unless otherwise specified, the term "transmitting device" in this application can refer to the transmitting device itself (e.g., a network device, a terminal device), a component in the transmitting device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the transmitting device.
[0057] The method includes: obtaining the total length G of the encoded bit sequence, where G is a positive integer; obtaining the first bit sequence, the length of which is related to the length G and the first code rate; dividing the first bit sequence to obtain C bit sequences, where C is an integer greater than 1, wherein the C bit sequences correspond to C code blocks, the length of the C code blocks belongs to the pre-configured L polar code encoding lengths, where L equals 2, the length of C0 code blocks in the C code blocks is the same as the maximum polar code encoding length among the L polar code encoding lengths, and the bit sequence of each code block in the remaining (C-C0) code blocks in the C code blocks. The length of the column is determined based on the non-maximum polar code encoding length and the corresponding code rate for each code block. The code rate corresponding to the non-maximum polar code encoding length is determined based on the preset value corresponding to the first code rate and the non-maximum code length. The length of the bit sequence corresponding to each of the C0 code blocks is determined based on the length of the first bit sequence and the length of the bit sequences corresponding to (C-C0) code blocks, where C0 is greater than or equal to 1, and C is an integer greater than C0. Polar code encoding is performed on the C bit sequences to obtain C codeword sequences. Based on the C codeword sequences, an encoded bit sequence of length G is obtained.
[0058] In some implementations of the fifth aspect, an encoded bit sequence of length G is obtained based on C codeword sequences, including: concatenating C codewords to obtain a first encoded bit sequence; if the length of the first encoded bit sequence is equal to G, then the encoded bit sequence of length G is the first encoded bit sequence; if the length of the first encoded bit sequence is less than G, then some bits in the first encoded bit sequence are repeated, or the first encoded bit sequence is padded to obtain an encoded bit sequence of length G.
[0059] In some implementations of the fifth aspect, repeating a portion of the bits in the first coded bit sequence to obtain a coded bit sequence of length G includes: repeating the bits in the bit sequence corresponding to any code block in C0 code blocks, or repeating the bits in the bit sequence corresponding to any code block in (C-C0) code blocks to obtain a coded bit sequence of length G.
[0060] Sixthly, a communication method is provided, which can be executed by a receiving device. Unless otherwise specified, the term "receiving device" in this application can refer to the receiving device itself (e.g., a network device, a terminal device), a component in the receiving device (e.g., a processor, a chip, or a chip system), or a logic module or software that can implement all or part of the functions of the receiving device.
[0061] The method includes: acquiring a symbol sequence; obtaining a symbol sequence to be decoded of length G based on the symbol sequence, wherein the symbol sequence to be decoded of length G corresponds to a first encoded bit sequence, the first encoded bit sequence is composed of C codeword sequences after polar code encoding of C bit sequences, where C is an integer greater than 1, the total length of the C bit sequences is related to the length G and the first code rate, wherein the C bit sequences correspond to C code blocks, the length of the C code blocks belongs to the pre-configured L polar code encoding lengths, where L equals 2, and the length of C0 code blocks among the C code blocks is the same as the maximum polar code encoding length among the L polar code encoding lengths; and segmenting the symbol sequence to be decoded to obtain C symbol sequences of the same length as the C code blocks. The following steps are performed: First, polar code decoding is applied to C symbol sequences to obtain C bit sequences. The length of the bit sequence corresponding to each of the remaining (C-C0) code blocks in the C code blocks is determined based on the non-maximum polar code encoding length and its corresponding code rate. The code rate corresponding to the non-maximum polar code encoding length is determined based on a preset value corresponding to a first code rate and the non-maximum code length. The length of the bit sequence corresponding to each of the C0 code blocks is determined based on the total length of the C bit sequences and the length of the bit sequences corresponding to the (C-C0) code blocks, where C0 is greater than or equal to 1, and C is an integer greater than C0. The C bit sequences are then concatenated to obtain the first bit sequence.
[0062] In some implementations of the fifth or sixth aspect, the maximum polar code length N among the L polar code lengths is... max The maximum polar code has the same encoding length as the S polar codes, and the remaining (L-1) non-maximum polar codes have encoding lengths of N. max / 2 i , 1≤i≤(L-1), where i is a positive integer.
[0063] In some implementations of the fifth or sixth aspect, the encoding length of each of the L polar codes satisfies the form of a positive integer power of 2.
[0064] For example, the L polar codes have encoding lengths of {1024,512}, {2048,1024}, or {4096,2048}.
[0065] In some implementations of the fifth or sixth aspect, the encoding length of each of the L polar codes satisfies the form of an integer multiple of a positive power of 2.
[0066] In some implementations of the fifth or sixth aspect, the length of the C code blocks is determined based on the length G.
[0067] In some implementations of the fifth or sixth aspect, C0 is based on lengths G and N. max It is determined that (C-C0) is the minimum polar code length N among the remaining length and L polar code lengths. min It is determined that the remaining length is the length remaining in length G after deducting the lengths corresponding to the C0 code blocks.
[0068] In some implementations of the fifth or sixth aspect, the length G and N max The ratio is the first ratio, which is not an integer. C0 is the largest integer less than the first ratio. The remaining length is N. min The ratio is the second ratio, and (C-C0) is determined based on the second ratio.
[0069] In some implementations of the fifth or sixth aspect, the number of code blocks of different lengths in (C-C0) code blocks is determined based on a first value, which is the largest integer not greater than the second ratio. The binary value of the first value, from least significant bit to most significant bit, corresponds to the non-maximum polar code length among L polar code lengths in ascending order of polar code length. The binary value includes (S-1) 1s, and the 1s and 0s in the binary value represent the number of corresponding non-maximum polar code lengths.
[0070] In some implementations of the fifth or sixth aspect, the code rate corresponding to the non-maximum polar code code length among the L polar code code lengths is less than the first code rate.
[0071] For example, the smaller the length of the (L-1) non-maximum polar code encoding length, the smaller the corresponding code rate.
[0072] For example, among the (L-1) non-maximum polar code coding lengths, the coding length of the first polar code is less than the coding length of the second polar code, and the code rate corresponding to the coding length of the first polar code is not greater than the code rate corresponding to the coding length of the second polar code.
[0073] In some implementations of the fifth or sixth aspect, the code rate corresponding to the maximum polar code coding length is greater than or equal to the first code rate, and the code rate corresponding to the maximum polar code coding length among the S polar code coding lengths is related to the first code rate, the code rate corresponding to the non-maximum polar code coding length among the S polar code coding lengths, and the number of code blocks in (C-C0) code blocks that correspond to any non-maximum polar code coding length among the S polar code coding lengths.
[0074] In some implementations of the fifth or sixth aspect, the length of the bit sequence corresponding to each of the (C-C0) code blocks is the product of the non-maximum polar code coding length and the code rate of the non-maximum polar code coding length corresponding to each code block.
[0075] In some implementations of the fifth or sixth aspect, if C0 equals 1, the bit sequence corresponding to the C0 code blocks includes a second bit sequence, wherein the second bit sequence is the remaining bits in the first bit sequence except for the bit sequence corresponding to the maximum polar code encoding length; if C0 does not equal 1, each bit sequence corresponding to the C0 code blocks is obtained based on the equal division of the second bit sequence, and if it cannot be divided equally, the difference in length between any two bit sequences is equal to 0 or 1.
[0076] In a seventh aspect, a communication apparatus is provided for performing the method provided in any of the above aspects or their implementations. Specifically, the apparatus may include units and / or modules for performing the method provided in any of the above aspects or their implementations, such as processing units and / or transceiver units.
[0077] In one implementation, the device is either a transmitting device or a receiving device. When the device is a transmitting device or a receiving device, the transceiver unit can be a transceiver, an input / output interface, or a communication interface; the processing unit can be at least one processor. Optionally, the transceiver is a transceiver circuit. Optionally, the input / output interface is an input / output circuit.
[0078] In another implementation, the device is a chip, chip system, or circuit used in a transmitting or receiving device. When the device is a chip, chip system, or circuit used in a transmitting or receiving device, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.
[0079] Eighthly, a communication device is provided, comprising: a memory for storing a program; and at least one processor for executing the computer program or instructions stored in the memory to perform the method provided in any of the foregoing aspects or their implementations.
[0080] In one implementation, the device is either a transmitting device or a receiving device.
[0081] In another implementation, the device is a chip, chip system, or circuit used in a transmitting or receiving device.
[0082] A ninth aspect provides a communication apparatus comprising: at least one processor and a communication interface, the at least one processor being configured to obtain a computer program or instructions stored in a memory via the communication interface to execute the method provided in any of the foregoing aspects or their implementations. The communication interface may be implemented in hardware or software.
[0083] In one implementation, the device further includes the memory.
[0084] In a tenth aspect, a processor is provided for performing the methods provided in the foregoing aspects.
[0085] Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input and other operations, or as transmission and reception operations performed by radio frequency circuits and antennas. This application does not limit them in this regard.
[0086] Eleventhly, a computer-readable storage medium is provided that stores program code for execution by a device, the program code including methods for performing any of the above aspects or implementations thereof.
[0087] In a twelfth aspect, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method provided in any of the foregoing aspects or their implementations.
[0088] In a thirteenth aspect, a chip is provided, comprising a processor and a communication interface. The processor reads instructions stored in a memory through the communication interface and executes the methods provided in any of the above aspects or their implementations. The communication interface can be implemented in hardware or software.
[0089] Optionally, as one implementation, the chip also includes a memory that stores computer programs or instructions. The processor is used to execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor is used to perform the methods provided by any of the above aspects or their implementations.
[0090] When the method provided in this application is executed by a chip, this application does not limit the specific number of chips implementing the method. For example, it can be executed by one chip, or by two or more chips. Furthermore, when the number of chips implementing the method is two or more, the chip manufacturers are not limited; they can be from the same manufacturer or different manufacturers.
[0091] In a fourteenth aspect, a communication system is provided, comprising at least one of the transmitting end device or receiving end device described above. Attached Figure Description
[0092] Figure 1 is a schematic diagram of the network architecture applicable to an embodiment of this application.
[0093] Figure 2 is a schematic diagram of the information transmission process.
[0094] Figure 3 is a schematic flowchart of a communication method 300 provided in this application.
[0095] Figure 4 is a schematic flowchart of a communication method 400 provided in this application.
[0096] Figures 5 and 6 are schematic block diagrams of the communication device provided in the embodiments of this application. Detailed Implementation
[0097] To facilitate understanding of the embodiments of this application, the following points will be explained before introducing the embodiments of this application.
[0098] The terms "for indicating" or "instruction" can include both direct and indirect indication, or they can be explicit and / or implicit. The various numerical designations such as "first," "second," etc., are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application, such as distinguishing different messages or different information. The term "protocol" can refer to standard protocols in the field of communications, such as the Long Term Evolution (LTE) protocol, the New Radio (NR) protocol, and related protocols applied to future communication systems; this application does not limit this. Words such as "exemplary," "for example," "exemplarily," and "as (another) example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized. "At least one" means one or more, and "more than one" means two or more. "At most one" means one or zero. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can mean: a, or, b, or, c, or, a and b, or, a and c, or, b and c, or, a, b, and c. Here, a, b, and c can be single or multiple. Descriptions involving network element A sending messages, information, or data to network element B, and network element B receiving messages, information, or data from network element A, aim to specify which network element the message, information, or data is to be sent to, without specifying whether they are sent directly or indirectly through other network elements. Descriptions such as “when…”, “under…”, “if”, and “if” all indicate that the device will take corresponding actions under certain objective circumstances. They are not time-limited, nor do they require the device to make a judgment action when implementing the action, nor do they imply any other limitations.
[0099] Furthermore, the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0100] The following describes a communication system to which embodiments of this application can be applied.
[0101] The embodiments of this application can be applied to various communication systems, including but not limited to: 5th generation (5G) systems, LTE systems, long term evolution-advanced (LTE-A) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, and future communication systems. Furthermore, they can also be applied to device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), Internet of Things (IoT) communication systems, narrowband Internet of Things (NB-IoT) systems, or other communication systems. Furthermore, it can be extended to similar wireless communication systems, such as Wireless-Fidelity (WiFi), Worldwide Interoperability for Microwave Access (WIMAX), and communication systems related to the 3rd Generation Partnership Project (3GPP), without limitation.
[0102] The communication system applicable to embodiments of this application may include one or more transmitting devices and one or more receiving devices. Optionally, one of the transmitting device and the receiving device may be a terminal device, and the other may be a network device. Optionally, both the transmitting device and the receiving device may be terminal devices. Optionally, both the transmitting device and the receiving device may be network devices.
[0103] Figure 1 is a schematic diagram of a network architecture applicable to an embodiment of this application. As shown in Figure 1, the embodiments of this application can be applied to both uplink and downlink data transmission. Figure 1 only uses uplink or downlink data transmission between one network device and two terminal devices (such as terminal device 1 and terminal device 2) as an example. In uplink data transmission, the sending device is the terminal device and the receiving device is the network device; conversely, in downlink data transmission, the sending device is the network device and the receiving device is the terminal device. Furthermore, the applicability of the embodiments of this application in other communication scenarios is not limited; for example, they can also be applied to sidelink communication.
[0104] The terminal equipment in this application can also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, drone, wireless communication equipment, user agent, or user device, etc. The terminal equipment in the embodiments of this application can be a device that provides voice and / or data connectivity to a user, and can be used to connect people, objects, and machines, such as handheld devices with wireless connectivity, vehicle-mounted devices, etc. The terminal devices in the embodiments of this application may be mobile phones, tablets, laptops, handheld computers, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc.
[0105] The network equipment in this application can be a device with wireless transceiver capabilities, which can be a device that provides wireless communication services. It is usually located on the network side, including but not limited to next-generation base stations (gNodeB, gNB) in 5G systems, base stations in sixth-generation mobile communication systems, base stations in future mobile communication systems, or access nodes in wireless fidelity (WiFi) systems, evolved node B (eNB), radio network controller (RNC), node B (NB), base station controller (BSC), home base station (e.g., home evolved NodeB or home Node B, HNB), base band unit (BBU), transmission reception point (TRP), transmitting point (TP), base transceiver station (BTS), satellites, drones, etc. in long term evolution (LTE) systems. In a network architecture, network equipment may include centralized unit (CU) nodes, distributed unit (DU) nodes, or RAN equipment including CU and DU nodes, or RAN equipment including control plane CU nodes, user plane CU nodes, and DU nodes. Alternatively, network equipment may also be a radio controller, relay station, vehicle-mounted equipment, or wearable device in a cloud radio access network (CRAN) scenario. Furthermore, a base station may be a macro base station, micro base station, relay node, donor node, or a combination thereof. A base station may also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. A base station may also be a mobile switching center and equipment performing base station functions in D2D, V2X, and M2M communications, network-side equipment in future communication networks, or equipment performing base station functions in future communication systems. A base station may support networks with the same or different access technologies, without limitation.
[0106] Unless otherwise specified, the means for implementing the functions of a terminal device or network device in this application can refer to the terminal device or network device itself, or it can refer to a means that enables the terminal device or network device to implement the functions, such as a chip system or chip, specifically a system-on-a-chip (SoC) or a modem. This means can be installed in the terminal device or network device. In the embodiments of this application, the chip system can be composed of chips, or it can include chips and other discrete devices.
[0107] It should also be noted that some embodiments in this article use a 5G system as an example to introduce specific solution details. It is understood that when this solution is used in other communication systems, such as LTE systems, or future communication systems, the messages, channels, or information in the solution can be replaced with messages, channels, or information in other communication systems that can achieve the corresponding functions, and this application does not limit this.
[0108] Furthermore, the embodiments of this application can be applied to various application scenarios, such as high-throughput scenarios, high-reliability scenarios, low-latency scenarios, high-reliability low-latency scenarios, or low-power scenarios. Among them, high-throughput scenarios can be, for example, enhanced mobile broadband (eMBB) scenarios, high-reliability low-latency scenarios can be, for example, URLLC (ultra-reliable low-latency communication) scenarios, and low-power scenarios can be, for example, M2M scenarios, MTC scenarios, or IoT scenarios.
[0109] Figure 2 is a schematic diagram of the information transmission process. As shown in Figure 2, information is sent from the source and undergoes processing such as source coding, channel coding, modulation, air interface transmission, demodulation, channel decoding, and source recovery before reaching the destination, completing the transmission of information from the source to the destination. The processing shown in the upper layer of Figure 2 (including source coding, channel coding, and modulation) is performed at the transmitting end device, while the processing shown in the lower layer (including demodulation, channel decoding, and source recovery) is performed at the receiving end device. The embodiments of this application mainly involve the source coding, channel coding, channel decoding, and source recovery shown in Figure 2.
[0110] To make it easier to understand, let's first introduce a few concepts.
[0111] (1) Polar codes: Polar codes are the first channel coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity. They have the characteristics of good error correction performance and low decoding complexity. They have been selected by 3GPP as the coding scheme for the control channel of 5G eMBB scenario (uplink / downlink).
[0112] (2) Polar code mother code: Polar code is a linear block code. It is based on the mother code length for encoding and decoding. The mother code length is a positive integer power of 2. The longer the mother code length, the stronger the error correction capability.
[0113] (3) Transport block (TB) and code block (CB): TB is the basic transmission unit of the 5G physical layer. TB can be divided into multiple CB blocks through code block segmentation.
[0114] Considering implementation complexity, the maximum mother code length cannot be infinitely large; usually, an appropriate value is chosen after balancing performance and complexity. When the TB is very large, for example, the transport block size is in the range of hundreds of thousands to millions of bits, it far exceeds the maximum mother code length set by Polar codes. In this case, the TB needs to be segmented. Therefore, how to segment the TB becomes an urgent problem to be solved.
[0115] In view of this, this application provides a communication method that can effectively solve the above-mentioned technical problems. The embodiments of the method proposed in this application are described below.
[0116] Figure 3 is a schematic flowchart of a communication method 300 provided in this application. The method includes the following steps.
[0117] It is understood that method 300 can be executed by the sending device. Unless otherwise specified, "sending device" can refer to the sending device itself or a device that enables the sending device to perform this function. For ease of description, the term "sending device" will be used uniformly below. The sending device can be a terminal device or a network device.
[0118] S310, the transmitting device obtains the length G of the total encoded bit sequence, where G is a positive integer.
[0119] It is understandable that, for the sending device, the length G is the total length of the encoded bit sequence. This length G is a given length and can be calculated based on known parameters. For example, the length G can be based on the number N of resource elements (REs). RE Number of layers L, modulation order Q m The calculation is as follows; for the specific calculation method, please refer to the current calculation method for length G, which will not be repeated here.
[0120] S320, the transmitting device acquires the first bit sequence, the length of the first bit sequence is related to the length G and the first code rate.
[0121] It is understood that this application is used to implement the segmentation of a first bit sequence. For example, the first bit sequence is TB.
[0122] For example, the first bit rate can be indicated by the system or implemented by the index value of the modulation and coding scheme (MCS), without limitation.
[0123] For example, the length of the first bit sequence is equal to the product of the length G and the first code rate. For instance, if G = 1538 and the first code rate = 1 / 2, then the length of the first bit sequence is 769.
[0124] S330, the transmitting device divides the first bit sequence into C bit sequences, where the C bit sequences correspond to C code blocks, the length of the C code blocks corresponds to the encoding length of S polar codes, C is an integer greater than or equal to 1, and S is greater than or equal to 1.
[0125] It can be understood that C code blocks correspond to S polar code encoding lengths, meaning that the lengths of C code blocks correspond to S different lengths, and these S lengths are the S polar code encoding lengths.
[0126] It can also be understood that after the first bit sequence is divided, the transmitting device will encode the C bit sequences to generate C codeword sequences. Here, the C code blocks correspond one-to-one with the C codeword sequences. Alternatively, it can be understood that the length of the C codeword sequences is the same as the length of their corresponding code blocks.
[0127] The following explanation addresses the cases of S > 1 and S = 1 for the C bit sequences.
[0128] 1) S>1
[0129] (a) The length of C0 code blocks out of C code blocks is the same as the length of the largest polar code among the S polar code lengths, C0 is greater than or equal to 1, and C is an integer greater than C0.
[0130] Based on the description in (a), the length of the remaining (C-C0) code blocks in the C code blocks is the same as the coding length of the remaining (S-1) non-maximum polar codes.
[0131] It can be understood that the encoding lengths of the (S-1) non-maximum polar codes are all different, and the length of each of the (C-C0) code blocks is the same as the encoding length of one of the polar codes in the (S-1) non-maximum polar codes, and the (C-C0) code blocks correspond to (S-1) different lengths.
[0132] (b) The length of the bit sequence corresponding to each code block in the (C-C0) code blocks is determined based on the non-maximum polar code encoding length and the code rate of the non-maximum polar code encoding length, wherein the code rate corresponding to the non-maximum polar code encoding length is determined based on the first code rate and the preset value corresponding to the non-maximum code length; the length of the bit sequence corresponding to each code block in the C0 code blocks is determined based on the length of the first bit sequence and the length of the bit sequence corresponding to the (C-C0) code blocks.
[0133] For example, the length of the bit sequence corresponding to each of the (C-C0) code blocks is the product of the non-maximum polar code encoding length corresponding to each code block and the code rate of that non-maximum polar code encoding length.
[0134] For example, the C0 bit sequence corresponding to C0 code blocks includes the bits remaining in the first bit sequence excluding the bit sequences corresponding to (C-C0) code blocks (in this application, the remaining bits are referred to as the second bit sequence).
[0135] In one possible implementation, the number of C code blocks is determined based on the length G.
[0136] For example, L polar code encoding lengths can be preconfigured. The lengths of C code blocks are determined based on the preconfigured L polar code encoding lengths and the length G. The maximum polar code encoding length among the L polar code encoding lengths is N. max The remaining (L-1) non-maximum polar codes have encoding lengths of N. max / 2 i , 1≤i≤(L-1), where i is a positive integer.
[0137] For example, the encoding length of each of the L polar codes satisfies the form of a positive integer power of 2.
[0138] For example, the encoding length of each of the L polar codes satisfies the form of an integer multiple of a positive power of 2.
[0139] For example, L = 2, 3, or 4. For instance, if L = 4, then the length of the L polar codes is {N}. max N max / 2,N max / 4,N max / 8}.
[0140] For example, N max = 1024, 2048, or 4096. For example, L = 2, N... max =1024, L polar codes have a length of {1024, 512}; L = 2, N max =2048, L polar codes have a length of {2048, 1024}; L = 2, Nmax =4096, the length of L polar codes is {4096, 2048}; for example, L = 3, N max =1024, L polar codes have encoding lengths of {1024, 512, 128}; L = 4, N max =2048, and the length of L polar codes is {2048,1024,512,256}.
[0141] The following example illustrates the process of determining the lengths of C code blocks based on the pre-configured L polar code encoding lengths and length G.
[0142] ① Determine the maximum polar code encoding length N among the L polar code encoding lengths based on the length G. max The corresponding number of code blocks is C0. This indicates rounding down to the nearest integer.
[0143] ②If If G is an integer, it means that the length G is an integer multiple of N. max That is, C = C0, and the length of each of the C code blocks is N. max .
[0144] ③If Not an integer, indicating that the length G is not an integer multiple of N. max Then according to the length G e The minimum polar code length N among L polar code coding lengths min Determine the number of code blocks corresponding to the non-maximum polar code coding length among L polar code coding lengths, where G e =G-C0*N max .
[0145] In one possible approach, the number of code blocks corresponding to each non-maximum polar code coding length among the L polar code coding lengths can be determined based on M. For example, the least significant bit of the binary value of M can be used to correspond to the non-maximum polar code length among L polar code lengths in ascending order of length. The values 1 and 0 in the binary value represent the number of the corresponding non-maximum polar code lengths. An example is given below.
[0146] Example 1, N min =64, G e =704, then M=11, and its binary expansion is [1 0 1 1], representing the length G. eThere are three code blocks, for example, code block #1, code block #2, and code block #3. Code block #1 corresponds to a non-maximum polar code encoding length of 64 (i.e., the length of code block #1 is 64), code block #2 corresponds to a non-maximum polar code encoding length of 128 (i.e., the length of code block #1 is 128), and code block #3 corresponds to a non-maximum polar code encoding length of 512 (i.e., the length of code block #1 is 512). It can be understood that if the value of the third bit from the low to the high in the binary representation of M is 0, it means that the number of code blocks corresponding to a non-maximum polar code encoding length of 256 is 0 (i.e., the number of code blocks with a length of 256 is 0).
[0147] It can be seen that in this example, the number of code blocks corresponding to length G is C = C0 + 3. For example, G = 1728, N max =1024, and the lengths of the L polar codes are {1024,512,256,128,64}. Then the lengths of the above C code blocks correspond to the lengths of the S (S=4) polar codes, and the lengths of the S polar codes are {1024,512,128,64}.
[0148] Example 2, N min =256, G e =770, then M=3, and its binary expansion is [1 1], representing the length G. e There are two code blocks, for example, code block #1 and code block #2. Code block #1 corresponds to a non-maximum polar code encoding length of 256, and code block #2 corresponds to a non-maximum polar code encoding length of 512 (that is, the length of code block #2 is 512).
[0149] It can be seen that G in this example e Unable to be N min If the divisibility is integer, the non-divisible portion is not included in the number of code blocks. That is, the number of code blocks corresponding to length G is C = C0 + 2. For example, if G = 1794 and L polar codes have encoding lengths of {1024, 512, 256}, then the above C code blocks correspond to S (S = 3) polar code encoding lengths, and the S polar code encoding lengths are {1024, 512, 256}.
[0150] It is understood that the above method for determining C code blocks is merely an example, and this application does not limit the specific method for determining C code blocks.
[0151] The following example illustrates the segmentation of the second bit sequence.
[0152] For example, if C0 equals 1, the bit sequence corresponding to C0 code blocks is the second bit sequence described above. For instance, if G = 1538 and the first code rate is R = 1 / 2, then the length of the first bit sequence is 769. If the pre-configured L polar codes have lengths of {1024, 512, 256, 128}, the lengths of code block #1 and code block #2 can be obtained based on G. The lengths of code block #1 and code block #2 are 1024 and 512 respectively. If the length of the bit sequence #2 corresponding to code block #2 is 192, then the bit sequence #1 corresponding to code block #1 includes the remaining bits in the first bit sequence except for bit sequence #4 (the remaining bits can also be called the second bit sequence). The length of the second bit sequence (i.e., bit sequence #1) is 577 (i.e., 769 - 192).
[0153] For example, if C0 is not equal to 1, each bit sequence corresponding to the C0 code blocks is obtained by equally dividing the second bit sequence. If it cannot be equally divided, then the difference in length between any two bit sequences in the C0 bit sequences is equal to 0 or 1. For example, if G = 3586 and the first code rate is R = 1 / 2, then the length of the first bit sequence is 1793. If the pre-configured L polar codes have encoding lengths of {1024, 512, 256, 128}, the lengths of code blocks #1, #2, #3, and #4 can be obtained based on G. The lengths of code blocks #1, #2, and #3 are 1024, and the length of code block #4 is 512. If the length of the bit sequence #4 corresponding to code block #4 is 192, then the bit sequences #1, #2, and #3 corresponding to code blocks #1, #2, and #3 include the remaining bits in the first bit sequence excluding bit sequence #4 (here, the remaining bits are called the second bit sequence). The length of the second bit sequence is 1601. Therefore, the lengths of bit sequences #1, #2, and #3 can be 533, 534, and 534, respectively.
[0154] For example, among the L polar code coding lengths, (L-1) non-maximum polar code coding lengths each correspond to a code rate.
[0155] In one possible implementation, the smaller the polar code length among the (L-1) non-maximum polar code lengths, the smaller the corresponding code rate. An example is given below.
[0156] Example 1: Among the L polar code encoding lengths and (L-1) non-maximum polar code encoding lengths, one polar code has an encoding length of N. max / 2 i Then its corresponding code rate is: r i =r-Δ i Where r is the first bit rate, 0 < Δ i<r, 1≤i≤(L-1), where i is a positive integer, and the smaller the polar code length, the greater the corresponding Δ i The larger the value, the better. For example, if L = 5, and the encoding lengths of L polar codes are {1024, 512, 256, 128, 64}, then the code rates corresponding to the non-maximum polar code encoding lengths are shown in Table 1.
[0157] Table 1
[0158] For example, L = 3, and the L polar codes have encoding lengths of {1024, 512, 256}, where 512 corresponds to Δ i It can be 1 / 8, 256 corresponding to Δ i It can be 1 / 4.
[0159] For example, L = 3, and the L polar codes have encoding lengths of {512, 256, 128}, where 256 corresponds to Δ i It can be 1 / 8, 128 corresponding to Δ i It can be 1 / 4.
[0160] Example 2: Among L polar code encoding lengths and (L-1) non-maximum polar code encoding lengths, the i-th polar code has an encoding length of N. max / 2 i The corresponding bitrate is: r i =λ i *r, where r is the first code rate, 0 < λ i <1, 1≤i≤(L-1), where i is a positive integer, and the smaller the polar code length, the greater the corresponding λ. i The smaller the value, the better. For example, if L = 5, and the encoding lengths of L polar codes are {1024, 512, 256, 128, 64}, then the code rates corresponding to the non-maximum polar code encoding lengths are shown in Table 2.
[0161] Table 2
[0162] In another possible implementation, among the (L-1) non-maximum polar code coding lengths, the coding length of the first polar code is less than the coding length of the second polar code, and the code rate corresponding to the coding length of the first polar code is no greater than the code rate corresponding to the coding length of the second polar code. An example is given below.
[0163] Example 3: Based on Table 1, the code rate corresponding to each non-maximum polar code encoding length is shown in Table 3.
[0164] Table 3
[0165] Example 4: Based on Table 2, the code rate corresponding to each non-maximum polar code encoding length is shown in Table 4.
[0166] Table 4
[0167] Therefore, based on the above description, we can obtain the code rate corresponding to each of the (S-1) non-maximum polar code code lengths out of the S polar code code lengths. Then, we can determine the length of the corresponding bit sequence based on the code rate. It can be understood that if the length of code block #1 is the same as the length of polar code code length #1, then the code rate of code block #1 is the code rate corresponding to polar code code length #1. If a code block does not exist, the code rate corresponding to that code block does not exist.
[0168] The above describes the code rates corresponding to (L-1) non-maximum polar code encoding lengths. It can be understood that if the length of code block #1 is the same as the non-maximum polar code encoding length #1, then the code rate corresponding to code block #1 can be considered to be the code rate of that non-maximum polar code encoding length #1. If code block #1 does not exist, then the code rate of that code block is 0. Below, using a specific example, the number of code blocks and code rates corresponding to the non-maximum polar code encoding lengths are given in Table 5. Here, the L polar code encoding lengths are {1024, 512, 256, 128}, and the number of code blocks corresponding to each non-maximum polar code encoding length among the L polar code encoding lengths is determined based on the binary value of M, C... i The number of code blocks corresponding to the encoding length of each non-maximum polar code, r i The code rate corresponding to each code block.
[0169] Table 5
[0170] For example, the code rate corresponding to the maximum polar code length among the S polar code coding lengths is related to the first code rate, the code rate corresponding to the non-maximum polar code length among the S polar code coding lengths, and the number of code blocks in (C-C0) code blocks that correspond to any non-maximum polar code length among the S polar code coding lengths. An example will be provided to illustrate this.
[0171] For example, if C0 equals 1, then the code rate r′ of the largest polar code length (or corresponding code block) among the S polar code lengths can be... Where r is the first bit rate, C i This represents the number of code blocks in (C-C0) code blocks corresponding to each of the (S-1) non-maximum polar code coding lengths. For example, Δ in the above formula... i It can also be replaced with (r-λ) i *r).
[0172] For example, if C0 is greater than 1, and if the bit sequences corresponding to two code blocks in C0 code blocks have the same length, then the code rates corresponding to the two code blocks are the same. For instance, the code rate r′ corresponding to each code block can also be... If two code blocks of length C0 have different bit sequence lengths, then the code rates of the two code blocks are different, and the specific method for determining the code rate is not limited.
[0173] 2) S = 1
[0174] It is understandable that when all C code blocks have the same length, then S = 1. For example, when... When G is an integer, it means that the length G is an integer multiple of N. max The length of each of the C code blocks is N. max .
[0175] It is understandable that this scenario can be understood as C0 = C in scenario 1).
[0176] For example, each bit sequence corresponding to C code blocks is obtained based on the equal division of the first bit sequence. If it cannot be evenly divided, the difference in length between any two bit sequences in the C bit sequences is equal to 0 or 1. For instance, if G = 3074 and the first code rate is R = 1 / 2, then the length of the first bit sequence is 1537. If the pre-configured L polar codes have lengths of {1024, 512, 256, 128}, the lengths of code blocks #1, #2, and #3 can be obtained based on G. The lengths of code blocks #1, #2, and #3 are all 1024, and the length of the first bit sequence is 1537. Therefore, the lengths of bit sequences #1, #2, and #3 can be 512, 512, and 513, respectively.
[0177] For example, if C is greater than 1, and if the bit sequence lengths corresponding to two code blocks in the C code blocks are the same, then the code rates corresponding to the two code blocks are the same. For example, the code rate r′ corresponding to each code block can also be r′ = r. If the bit sequence lengths corresponding to two code blocks in the C code blocks are different, then the code rates corresponding to the two code blocks are different. The specific method of determining the code rate is not limited.
[0178] S340, the transmitting device performs polar code encoding on the C bit sequences respectively to obtain C codeword sequences.
[0179] It can be understood that if bit sequence #1 in C bit sequences corresponds to code block #1 in C code blocks, then the length of the codeword sequence obtained after polar code encoding based on bit sequence #1 is the same as the length of code block #1. For example, if G = 1538 and the first code rate is R = 1 / 2, then the length of the first bit sequence is 769. If the pre-configured L polar code encoding lengths are {1024, 512, 256, 128}, the lengths of code block #1 and code block #2 can be obtained based on G. The lengths of code block #1 and code block #2 are 1024 and 512, respectively. If the code rate corresponding to the polar code encoding length of 512 is 3 / 8 (i.e., 1 / 2 - 1 / 8), and the length of bit sequence #1 corresponding to code block #2 is 192 (i.e., 512 * (3 / 8)), then the length of bit sequence #2 corresponding to code block #2 is 577 (i.e., 769 - 192). Subsequently, the codeword sequence #1 obtained by polar coding based on bit sequence #1 has a length of 1024 (the same as the length of code block #1), and the codeword sequence #2 obtained by polar coding based on bit sequence #2 has a length of 512 (the same as the length of code block #2).
[0180] S350: The transmitting device obtains an encoded bit sequence of length G based on C codeword sequences.
[0181] In one possible implementation, the transmitting device can concatenate C codeword sequences to obtain a first encoded bit sequence. The length of the first encoded bit sequence is the sum of the lengths of the C codeword sequences corresponding to the C bit sequences. Based on the above example, it can be seen that the length of the first encoded bit sequence obtained by concatenating bit sequence #1 and bit sequence #2 is 1536.
[0182] As mentioned above, the length of the first coded bit sequence is less than or equal to G. If the length of the first coded bit sequence is equal to G, then the coded bit sequence of length G is the first coded bit sequence. If the length of the first coded bit sequence is less than G (based on the example 1536 < 1538 above), then the transmitting device can repeat some bits in the first coded bit sequence, or pad the first coded bit sequence to obtain a coded bit sequence of length G.
[0183] For example, bits from any of the C bit sequences can be repeated to obtain an encoded bit sequence of length G. For instance, the repetition can begin from the first or last bit of the bit sequence, without limitation. Specifically, bits from the bit sequence corresponding to any of the C0 code blocks can be repeated, or bits from the bit sequence corresponding to any of the (C-C0) code blocks can be repeated to obtain an encoded bit sequence of length G.
[0184] Optionally, the method further includes:
[0185] S360, the transmitting device sends a symbol sequence to the receiving device, which is obtained based on an encoded bit sequence of length G. Correspondingly, the receiving device receives the symbol sequence from the transmitting device.
[0186] This can be understood as a sequence modulated from a symbol sequence. For example, a transmitting device modulates a coded bit sequence of length G to obtain a symbol sequence, and then maps the modulated symbol sequence onto physical resources for transmission.
[0187] For example, the modulation method can be QPSK (quaternary phase shift keying), which maps the modulated QPSK symbols (i.e., codeword sequence #2) onto physical resources for transmission. For instance, the transmitter modulates the rate-matched codeword sequence, modulating bits 0 to 1 and bits 1 to -1, resulting in the symbol sequence to be transmitted. For example, the sequence before modulation is {1,0,0,1,1,0}, and the sequence after modulation, symbol sequence #1, is {-1,1,1,-1,-1,1}.
[0188] The process of segmenting and encoding the first bit sequence at the transmitting end has been described in detail above. The process of decoding and obtaining the first bit sequence at the receiving end is described below.
[0189] Figure 4 is a schematic flowchart of a communication method 400 provided in this application. The method includes the following steps.
[0190] It is understood that method 400 can be executed by the receiving device. Unless otherwise specified, "receiving device" can refer to the receiving device itself or a device that enables the receiving device to perform this function. For ease of description, the term "receiving device" will be used uniformly below. The receiving device can be a terminal device or a network device.
[0191] S410, the receiving device acquires the symbol sequence.
[0192] It is understandable that the symbol sequence output or transmitted by the transmitting device may differ from the symbol sequence received by the receiving device because channel noise signals may be introduced during the transmission of the symbol sequence.
[0193] S420, the receiving device obtains a sequence of symbols to be decoded with a length of G based on the symbol sequence.
[0194] Here, the sequence of symbols to be decoded of length G corresponds to the first encoded bit sequence. The first encoded bit sequence consists of C codeword sequences obtained by polar coding of C bit sequences, where C is an integer greater than or equal to 1. The total length of the C bit sequences is related to the length G and the first code rate. The C bit sequences correspond to C code blocks, and the length of the C code blocks corresponds to the length of S polar code codes, where S is greater than or equal to 1. The length of C0 code blocks among the C code blocks is the same as the length of the largest polar code among the S polar code lengths, where C0 is greater than or equal to 1, and C is an integer greater than or equal to C0.
[0195] It can be understood that the length of the remaining (C-C0) code blocks out of the C code blocks is the same as the encoding length of the remaining (S-1) non-maximum polar codes. See the description above for details, which will not be repeated here.
[0196] It can also be understood that the sequence of symbols to be decoded is soft information.
[0197] The total length of the G and C coded bit sequences (i.e., the length of the first bit sequence at the transmitting end), the number of C code blocks, and the method for determining the length are the same as those at the transmitting end. Please refer to the relevant description in the transmitting end; they will not be repeated here.
[0198] S430, the receiving device divides the sequence of symbols to be decoded of length G based on the length of C code blocks to obtain C symbol sequences corresponding to the C code blocks.
[0199] It is understandable that the receiving device can determine the length of the C symbol sequences based on the length of the C code blocks, and then divide the G-length sequence of symbols to be decoded to obtain the corresponding C symbol sequences.
[0200] S440, the receiving device performs polar code decoding on the C symbol sequences to obtain the C bit sequences.
[0201] The length of the bit sequence corresponding to each of the (C-C0) code blocks is determined based on the non-maximum polar code encoding length and its corresponding code rate. The code rate corresponding to the non-maximum polar code encoding length is determined based on a preset value corresponding to the first code rate and the non-maximum code length. The length of the bit sequence corresponding to each of the C0 code blocks is determined based on the total length of the C bit sequences and the length of the bit sequences corresponding to the (C-C0) code blocks. For a detailed description of the length of each bit sequence, please refer to the description in the transmitting end; it will not be repeated here.
[0202] S450, the receiving device concatenates C bit sequences to obtain the first bit sequence.
[0203] The corresponding processes for both the sending and receiving ends have been described above. It is understood that the steps in the above figures are merely illustrative and not strictly limited. Furthermore, the sequence numbers of the processes do not imply an order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0204] It is also understood that some optional features in the various embodiments of this application may not depend on other features in some scenarios, or may be combined with other features in some scenarios, without limitation.
[0205] It is also understood that, in the above-described method embodiments, the methods and operations implemented by the device (transmitting device or receiving device) can also be implemented by components of the device (such as chips or circuits), without limitation.
[0206] The method embodiments provided in this application have been described in detail above with reference to Figures 1 to 4. The apparatus embodiments of this application will be described below with reference to Figures 5 and 6. It is understood that, in order to implement the functions in the above embodiments, the apparatuses in Figures 5 and 6 include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. It is understood that the technical features described in the above method embodiments are also applicable to the following apparatus embodiments.
[0207] Figures 5 and 6 are schematic diagrams of possible apparatus structures provided in embodiments of this application. These apparatuses can be used to implement the functions of the transmitting or receiving devices in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
[0208] Figure 5 is a schematic block diagram of a communication device 1000 provided in an embodiment of this application. As shown in Figure 5, the device 1000 may include a communication unit 1010 and a processing unit 1020. The communication unit 1010 can communicate with the outside world, and the processing unit 1020 is used for data processing. The communication unit 1010 may also be referred to as a communication interface or a transceiver unit.
[0209] In one possible design, the device 1000 can implement the steps or processes corresponding to those performed by the transmitting device in the above method embodiments, wherein the processing unit 1020 is used to perform processing-related operations of the transmitting device in the above method embodiments, and the communication unit 1010 is used to perform transmission-related operations of the transmitting device in the above method embodiments.
[0210] In another possible design, the device 1000 can implement the steps or processes corresponding to those performed by the receiving device in the above method embodiments, wherein the communication unit 1010 is used to perform the receiving-related operations of the receiving device in the above method embodiments, and the processing unit 1020 is used to perform the processing-related operations of the receiving device in the above method embodiments.
[0211] It is understood that the device 1000 here is embodied in the form of a functional unit. The term "unit" here can refer to an application-specific integrated circuit (ASIC), electronic circuitry, a processor (e.g., a shared processor, a proprietary processor, or a group processor, etc.) and memory for executing one or more software or firmware programs, integrated logic circuitry, and / or other suitable components supporting the described functions. In an alternative example, those skilled in the art will understand that the device 1000 may specifically be the transmitting end device in the above embodiments, used to execute the various processes and / or steps corresponding to the transmitting end device in the above method embodiments; or, the device 1000 may specifically be the receiving end device in the above embodiments, used to execute the various processes and / or steps corresponding to the receiving end device in the above method embodiments. To avoid repetition, further details are omitted here.
[0212] The apparatus 1000 of each of the above-described schemes has the function of implementing the corresponding steps performed by the transmitting device in the above-described method, or the apparatus 1000 of each of the above-described schemes has the function of implementing the corresponding steps performed by the receiving device in the above-described method. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, the communication unit can be replaced by a transceiver (e.g., the transmitting unit in the communication unit can be replaced by a transmitter, and the receiving unit in the communication unit can be replaced by a receiver), and other units, such as processing units, can be replaced by a processor, respectively executing the transmission and reception operations and related processing operations in each method embodiment.
[0213] Furthermore, the aforementioned communication unit can also be a transceiver circuit (e.g., it may include a receiving circuit and a transmitting circuit), and the processing unit can be a processing circuit. In the embodiments of this application, the device in FIG5 can be the receiving end device or transmitting end device in the foregoing embodiments, or it can be a chip or a chip system, such as a system on chip (SoC). The communication unit can be an input / output circuit or a communication interface; the processing unit is a processor, microprocessor, or integrated circuit integrated on the chip. No limitations are imposed here.
[0214] Figure 6 is a schematic block diagram of a communication device 1100 provided in an embodiment of this application. The device 1100 includes a processor 1110 and a transceiver 1120. The processor 1110 and the transceiver 1120 communicate with each other through an internal connection path. The processor 1110 is used to execute instructions to control the transceiver 1120 to send and / or receive signals.
[0215] Optionally, the device 1100 may further include a memory 1130, which communicates with the processor 1110 and the transceiver 1120 via an internal connection path. The memory 1130 stores instructions, and the processor 1110 can execute the instructions stored in the memory 1130. In one possible implementation, the device 1100 is used to implement the various processes and steps corresponding to the transmitting device in the above method embodiments. In another possible implementation, the device 1100 is used to implement the various processes and steps corresponding to the receiving device in the above method embodiments.
[0216] Optionally, the memory 1130 may be integrated into the processor 1110.
[0217] In one possible scenario, device 1100 includes at least one processor with integrated memory, and other memory besides the memory integrated on the processor.
[0218] It is understood that the device 1100 can specifically be the transmitting or receiving device in the above embodiments, or it can be a chip or a chip system. Correspondingly, the transceiver 1120 can be the transceiver circuit of the chip, which is not limited here. Specifically, the device 1100 can be used to execute the various steps and / or processes corresponding to the transmitting or receiving device in the above method embodiments.
[0219] Optionally, the memory 1130 may include read-only memory and random access memory, and provide instructions and data to the processor. The memory may include non-volatile random access memory. For example, the memory may also store device type information. The processor 1110 may be used to execute instructions stored in the memory, and when the processor 1110 executes instructions stored in the memory, the processor 1110 is used to perform the various steps and / or processes of the method embodiments corresponding to the transmitting or receiving devices described above.
[0220] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.
[0221] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, digital signal processing (DSP), ASIC, field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor in the embodiments of this application can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above methods.
[0222] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0223] Optionally, the memory (e.g., 1130) in this embodiment may be integrated into the processor (e.g., 1110).
[0224] In addition, this application also provides a computer-readable storage medium storing computer instructions, which, when executed on a computer, cause the operations and / or processes performed by the sending or receiving device in the various method embodiments of this application to be executed.
[0225] This application also provides a computer program product, which includes computer program code or instructions. When the computer program code or instructions are run on a computer, the operations and / or processes performed by the sending end device or the receiving end device in the various method embodiments of this application are executed.
[0226] Furthermore, this application also provides a chip including a processor. A memory for storing a computer program is provided independently of the chip, and the processor is used to execute the computer program stored in the memory, such that operations and / or processes performed by a transmitting or receiving device in any method embodiment are performed.
[0227] Furthermore, the chip may also include a communication interface. The communication interface may be an input / output interface or an interface circuit, etc. Furthermore, the chip may also include a memory.
[0228] In addition, this application also provides a communication system, including the transmitting end device and the receiving end device in the embodiments of this application.
[0229] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0230] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, the functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0231] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0232] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.
[0233] It can also be understood that in this application, "when," "if," and "if" all refer to the network element making corresponding processing under certain objective circumstances, and are not time-limited, nor do they require the network element to make a judgment when it is implemented, nor do they mean that there are other limitations.
[0234] It can also be understood that in the various embodiments of this application, "B corresponding to A" means that B is associated with A, and B can be determined based on A. However, it can also be understood that determining B based on A does not mean that B is determined solely based on A; B can also be determined based on A and / or other information.
Claims
A communication method, characterized in that, include: Obtain the length G of the total encoded bit sequence, where G is a positive integer; Obtain a first bit sequence, the length of which is related to the length G and the first code rate; The first bit sequence is divided into C bit sequences, where C is an integer greater than 1. The C bit sequences correspond to C code blocks, the length of the C code blocks corresponds to S polar code encoding lengths, where S is greater than 1, the length of C0 code blocks in the C code blocks is the same as the maximum polar code encoding length among the S polar code encoding lengths, the length of the bit sequence corresponding to each of the remaining (C-C0) code blocks in the C code blocks is determined based on the non-maximum polar code encoding length corresponding to each code block and the code rate of the non-maximum polar code encoding length, the code rate corresponding to the non-maximum polar code encoding length is determined based on the first code rate and the preset value corresponding to the non-maximum code length, the length of the bit sequence corresponding to each of the C0 code blocks is determined based on the length of the first bit sequence and the length of the bit sequence corresponding to the (C-C0) code blocks, where C0 is greater than or equal to 1, and C is an integer greater than C0; Polar code encoding is performed on the C bit sequences to obtain C codeword sequences, the length of the C codeword sequences being the same as the length of the C code blocks; Based on the C codeword sequences, an encoded bit sequence of length G is obtained. The method according to claim 1, characterized in that, The S polar code encoding lengths belong to a pre-configured set of L polar code encoding lengths, and the largest polar code encoding length N among the L polar code encoding lengths is... max The maximum polar code among the S polar code encoding lengths has the same encoding length, and the remaining (L-1) non-maximum polar code encoding lengths are N respectively. max / 2 i , 1≤i≤(L-1), where i is a positive integer. The method according to claim 2, characterized in that, The length of each of the L polar codes satisfies the form of a positive integer power of 2. The method according to claim 2, characterized in that, The length of each of the L polar codes satisfies the form of an integer multiple of a positive power of 2. The method according to any one of claims 2 to 4, characterized in that, The length of the C code blocks is determined based on the length G. The method according to claim 5, characterized in that, The C0 is based on the length G and the N. max Definitely. The (C-C0) is based on the remaining length and the minimum polar code coding length N among the L polar code coding lengths. min It is determined that the remaining length is the length remaining in the length G excluding the lengths corresponding to the C0 code blocks. The method according to claim 6, characterized in that, The length G and the N max The ratio is a first ratio, which is not an integer, and C0 is the largest integer less than the first ratio. The remaining length and the N min The ratio is the second ratio, and (C-C0) is determined based on the second ratio. The method according to claim 7, characterized in that, The number of code blocks of different lengths among the (C-C0) code blocks is determined based on a first value, which is the largest integer not greater than the second ratio. The binary value of the first value, from least significant bit to most significant bit, corresponds to the non-maximum polar code encoding length among the L polar code encoding lengths in ascending order of polar code encoding length. The binary value includes the (S-1) values of 1. The values of 1 and 0 in the binary value represent the number of corresponding non-maximum polar code encoding lengths. The method according to any one of claims 2 to 8, characterized in that, The L = 2, 3, or 4. The method according to claim 9, characterized in that, The N max It could be 1024, 2048, or 4096. The method according to any one of claims 2 to 10, characterized in that, The code rate corresponding to the non-maximum polar code code length among the L polar code code lengths is less than the first code rate. The method according to claim 11, characterized in that, The smaller the length of the (L-1) non-maximum polar code encoding length, the smaller the corresponding code rate. The method according to claim 11, characterized in that, In the (L-1) non-maximum polar code coding lengths, the coding length of the first polar code is less than the coding length of the second polar code, and the code rate corresponding to the coding length of the first polar code is not greater than the code rate corresponding to the coding length of the second polar code. The method according to any one of claims 1 to 13, characterized in that, The code rate corresponding to the maximum polar code encoding length is greater than the first code rate. The code rate corresponding to the maximum polar code encoding length among the S polar code encoding lengths is related to the first code rate, the code rate corresponding to the non-maximum polar code encoding length among the S polar code encoding lengths, and the number of code blocks in the (C-C0) code blocks that correspond to any non-maximum polar code encoding length among the S polar code encoding lengths. The method according to any one of claims 1 to 14, characterized in that, The length of the bit sequence corresponding to each of the (C-C0) code blocks is the product of the non-maximum polar code encoding length corresponding to each code block and the code rate of the non-maximum polar code encoding length. The method according to any one of claims 1 to 15, characterized in that, C0 equals 1, and the bit sequence corresponding to the C0 code blocks includes the second bit sequence. or, C0 is not equal to 1. Each bit sequence corresponding to the C0 code blocks is obtained by equally dividing the second bit sequence. If it cannot be equally divided, the difference in length between any two bit sequences is equal to 0 or 1. Wherein, the second bit sequence is the remaining bits in the first bit sequence excluding the (C-C0) bit sequences corresponding to the (C-C0) code blocks. The method according to any one of claims 1 to 16, characterized in that, The step of obtaining an encoded bit sequence of length G based on the C codeword sequences includes: Concatenate the C codeword sequences to obtain the first encoded bit sequence; If the length of the first encoded bit sequence is equal to G, then the encoded bit sequence of length G is the first encoded bit sequence. If the length of the first encoded bit sequence is less than G, then some bits in the first encoded bit sequence are repeated, or the first encoded bit sequence is padded to obtain the encoded bit sequence of length G. The method according to claim 17, characterized in that, The step of repeating a portion of the bits in the first encoded bit sequence to obtain the encoded bit sequence of length G includes: Repeat the bits in the bit sequence corresponding to any one of the C0 code blocks, or repeat the bits in the bit sequence corresponding to any one of the (C-C0) code blocks, to obtain the encoded bit sequence of length G. A communication method, characterized in that, include: Obtain the symbol sequence; Based on the symbol sequence, a symbol sequence of length G is obtained to be decoded. This symbol sequence of length G corresponds to a first encoded bit sequence, which is composed of C codeword sequences obtained by polar coding of C bit sequences, where C is an integer greater than 1. The total length of the C bit sequences is related to G and the first code rate. The C bit sequences correspond to C code blocks, the length of the C code blocks corresponds to S polar code encoding lengths, where S is greater than 1, the length of C0 code blocks in the C code blocks is the same as the maximum polar code encoding length in the S polar code encoding lengths, and the length of the C codeword sequences is the same as the length of the C code blocks; The sequence of symbols to be decoded is segmented based on the length of the C code blocks to obtain C symbol sequences corresponding to the C code blocks; Polar code decoding is performed on the C symbol sequences to obtain the C bit sequences. The length of the bit sequence corresponding to each of the remaining (C-C0) code blocks in the C code blocks is determined based on the non-maximum polar code encoding length and the code rate of the non-maximum polar code encoding length. The code rate corresponding to the non-maximum polar code encoding length is determined based on the first code rate and a preset value corresponding to the non-maximum code length. The length of the bit sequence corresponding to each of the C0 code blocks is determined based on the total length of the C bit sequences and the length of the bit sequences corresponding to the (C-C0) code blocks. C0 is greater than or equal to 1, and C is an integer greater than C0. The C bit sequences are concatenated to obtain the first bit sequence. The method according to claim 19, characterized in that, The S polar code encoding lengths belong to a pre-configured set of L polar code encoding lengths, and the largest polar code encoding length N among the L polar code encoding lengths is... max The maximum polar code among the S polar code encoding lengths has the same encoding length, and the remaining (L-1) non-maximum polar code encoding lengths are N respectively. max / 2 i , 1≤i≤(L-1), where i is a positive integer. The method according to claim 20, characterized in that, The length of each of the L polar codes satisfies the form of a positive integer power of 2. The method according to claim 20, characterized in that, The length of each of the L polar codes satisfies the form of an integer multiple of a positive power of 2. The method according to any one of claims 20 to 22, characterized in that, The length of the C code blocks is determined based on the length G. The method according to claim 23, characterized in that, The C0 is based on the length G and the N. max Definitely. The (C-C0) is based on the remaining length and the minimum polar code coding length N among the L polar code coding lengths. min It is determined that the remaining length is the length remaining in the length G excluding the lengths corresponding to the C0 code blocks. The method according to claim 24, characterized in that, The length G and the N max The ratio is a first ratio, which is not an integer, and C0 is the largest integer less than the first ratio. The remaining length and the N min The ratio is the second ratio, and (C-C0) is determined based on the second ratio. The method according to claim 25, characterized in that, The number of code blocks of different lengths among the (C-C0) code blocks is determined based on a first value, which is the largest integer not greater than the second ratio. The binary value of the first value, from least significant bit to most significant bit, corresponds to the non-maximum polar code encoding length among the L polar code encoding lengths in ascending order of polar code encoding length. The binary value includes the (S-1) values of 1. The values of 1 and 0 in the binary value represent the number of corresponding non-maximum polar code encoding lengths. The method according to any one of claims 20 to 26, characterized in that, The L = 2, 3, or 4. The method according to claim 27, characterized in that, The N max It could be 1024, 2048, or 4096. The method according to any one of claims 20 to 28, characterized in that, The code rate corresponding to the non-maximum polar code code length among the L polar code code lengths is less than the first code rate. The method according to claim 29, characterized in that, The smaller the length of the (L-1) non-maximum polar code encoding length, the smaller the corresponding code rate. The method according to claim 29, characterized in that, In the (L-1) non-maximum polar code coding lengths, the coding length of the first polar code is less than the coding length of the second polar code, and the code rate corresponding to the coding length of the first polar code is not greater than the code rate corresponding to the coding length of the second polar code. The method according to any one of claims 1 to 31, characterized in that, The code rate corresponding to the maximum polar code encoding length is greater than the first code rate. The code rate corresponding to the maximum polar code encoding length among the S polar code encoding lengths is related to the first code rate, the code rate corresponding to the non-maximum polar code encoding length among the S polar code encoding lengths, and the number of code blocks in the (C-C0) code blocks that correspond to any non-maximum polar code encoding length among the S polar code encoding lengths. The method according to any one of claims 19 to 32 is characterized in that, The length of the bit sequence corresponding to each of the (C-C0) code blocks is the product of the non-maximum polar code encoding length corresponding to each code block and the code rate of the non-maximum polar code encoding length. The method according to any one of claims 19 to 33 is characterized in that, C0 equals 1, and the bit sequence corresponding to the C0 code blocks includes the second bit sequence; or, C0 is not equal to 1, and each bit sequence corresponding to the C0 code blocks is obtained based on the equal division of the second bit sequence. If it cannot be evenly divided, the difference in length between any two bit sequences is equal to 0 or 1. The second bit sequence is the remaining bits in the first bit sequence excluding the (C-C0) bit sequences corresponding to the (C-C0) code blocks. A communication device, characterized in that, The device includes at least one processor and an interface circuit, the interface circuit being configured to receive signals from other communication devices besides the communication device and transmit them to the processor, or to send signals from the processor to other communication devices besides the communication device, the processor causing the method as described in any one of claims 1 to 18 to be implemented, or causing the method as described in any one of claims 19 to 34 to be implemented, through logic circuits or by executing code instructions. The communication device according to claim 35 is characterized in that, The communication device is a chip or chip system. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions that, when executed, cause the method as described in any one of claims 1 to 18 to be implemented, or cause the method as described in any one of claims 19 to 34 to be implemented. A computer program product, characterized in that, Includes a computer program that, when run, causes the method as described in any one of claims 1 to 18 to be implemented, or causes the method as described in any one of claims 19 to 34 to be implemented.