Communication method and device
A novel method for determining the transport block size in Polar code encoding, combined with LDPC and Polar code combination encoding, solves the problem of poor bit error rate performance caused by the previous method of determining the transport block size, thereby improving the performance and flexibility of the communication system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-20
- Publication Date
- 2026-05-22
AI Technical Summary
In existing technologies, the method of determining the transport block size leads to poor bit error rate performance in Polar code encoding, thus reducing communication performance.
By determining the size of the transport block based on the number of bits in the transmission resources, the maximum mother code length, and preset conditions, and by adopting a combination of LDPC and Polar codes, flexibility and diversity are increased, and coding performance and bit error rate performance are improved.
It improves the bit error rate performance of transport blocks, enhances the overall performance of the communication system, and meets the flexibility and diversity of different communication needs.
Smart Images

Figure CN122073516A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to communication methods and apparatus. Background Technology
[0002] In a communication system, the transmitting device can segment a transmit block (TB) to obtain one or more code blocks. Each code block within these segments is then encoded using low-density parity-check (LDPC), rate-matched, and modulated before being output. The size of the TB (TBS) can be determined based on the number of segments, which in turn can be determined based on the maximum codeblock size supported by the selected base map.
[0003] Since polar code encoding does not require the selection of a base graph (BG), the above method of determining the base graph (TBS) will result in poor bit error rate performance of the base graph when applied to polar code encoding, thereby reducing communication performance. Summary of the Invention
[0004] This application provides a communication method and apparatus that enables the determination of TBS to be applied to Polar code encoding to improve the bit error rate performance of TB, thereby improving communication performance.
[0005] Firstly, this application provides a communication method that can be executed by a transmitting device. Unless otherwise specified, "transmitting device" in this application can refer to a transmitting device itself, or a component within the transmitting device (e.g., a processor, circuitry or chip responsible for encoding functions (such as a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip, etc.)), or a logic module or software capable of implementing all or part of the functions of the transmitting device. The method includes: determining a first transmission block; and outputting the first transmission block. The size of the first transmission block is determined based on the number of bits corresponding to the transmission resource, the code rate, and a first value C. The first value is determined based on the number of bits corresponding to the transmission resource, the maximum mother code length N, and a first preset condition. The first preset condition is determined based on one or more of the following: the number of bits corresponding to the transmission resource, the maximum mother code length, or the code rate; the first value is a positive integer.
[0006] Based on the first aspect, compared to determining the first value based on the maximum code block length supported by the base map (the maximum code block length supported by the base map can be understood as the maximum number of information bits contained in a codeword sequence), in this application, the first value can be determined based on the maximum mother code length and a first preset condition. On one hand, LDPC codes have a fixed number of information bits before encoding, i.e., a fixed maximum code block length, while Polar codes have a fixed maximum mother code length in the codeword sequence. Therefore, determining the first value based on the maximum mother code length is applicable to Polar code encoding and better conforms to the encoding characteristics of Polar codes, thereby improving encoding performance and the bit error rate performance of the transport block. On the other hand, adding a first preset condition in the process of determining the first value allows the determined first value to better meet communication requirements, improves communication performance, and enhances the flexibility and diversity of determining the first value.
[0007] Understandably, the size of the first transport block can be TBS.
[0008] It is understandable that segmenting the transport block introduces a code block (CB) cyclic redundancy check bit (CB-CRC). CB-CRC occupies message bits, causing the original payload space to be used for CB-CRC, resulting in a loss of bit rate.
[0009] In one possible implementation, the second transport block is segmented to obtain C code blocks; each of the C code blocks is encoded to obtain C encoded bit sequences of length N; rate matching is performed on each of the C encoded bit sequences to obtain C rate-matched encoded bit sequences; and the C rate-matched encoded bit sequences are output. The second transport block includes the first transport block and the cyclic redundancy check (CRC) bits of the transport block (which can be simply referred to as TB-CRC).
[0010] Based on this possible implementation, the transmitting device can segment the second transmission block according to the determined first value to obtain C code blocks, and encode them to realize the transmission of C code blocks. Since C is determined according to the first preset condition, the length of the determined codeword sequence can be made as small as possible to be less than or equal to the maximum mother code length, which can better improve the encoding performance.
[0011] Secondly, this application provides a communication method that can be executed by a receiving device. Unless otherwise specified, "receiving device" in this application can refer to a receiving device itself, or a component within the receiving device (e.g., a processor, a circuit or chip responsible for encoding functions (such as a modem chip, also known as a baseband chip, or a system-on-a-chip or system-in-package chip containing a modem core, etc.)), or a logic module or software capable of implementing all or part of the functions of the receiving device. The method includes: receiving a sequence to be decoded; decoding the sequence to be decoded according to the size of a second transmission block to obtain a decoding result; wherein the sequence to be decoded corresponds to a second transmission block; the size of the second transmission block is determined according to the size of a first transmission block; the size of the first transmission block is determined according to the number of bits corresponding to the transmission resource, the code rate, and a first value C; the first value is determined according to the number of bits corresponding to the transmission resource, the maximum mother code length N, and a first preset condition; the first preset condition is determined according to one or more of the following: the number of bits corresponding to the transmission resource, the maximum mother code length, or the code rate; the first value is a positive integer.
[0012] Based on the second aspect, compared to the first value being determined based on the maximum code block length supported by the base map (the maximum code block length supported by the base map can be understood as the maximum number of information bits contained in a codeword sequence), in this application, the first value can be determined based on the maximum mother code length and a first preset condition. On one hand, LDPC codes have a fixed number of information bits before encoding, i.e., a fixed maximum code block length, while Polar codes have a fixed maximum mother code length in the codeword sequence. Therefore, determining the first value based on the maximum mother code length is applicable to Polar code encoding and better conforms to the encoding characteristics of Polar codes, thereby improving encoding performance and the bit error rate performance of the transport block. On the other hand, adding a first preset condition in the process of determining the first value allows the determined first value to better meet communication requirements, improves communication performance, and enhances the flexibility and diversity of determining the first value.
[0013] In one possible implementation, the sequence to be decoded is segmented according to the size of the second transport block and the first value to obtain C first sequences; rate matching is performed on each of the C first sequences to obtain C second sequences; and each of the C second sequences is decoded to obtain the decoding result.
[0014] Based on this possible implementation, the sequence to be decoded can be decoded according to the size of the second transport block and the first value to obtain the decoding result.
[0015] Combining the first and second aspects, one possible implementation is that the second transport block includes the first transport block and TB-CRC.
[0016] Based on this possible implementation, the second transport block can include TB-CRC on the basis of the first transport block. TB-CRC can be used to verify the first transport block, which can improve the reliability of communication.
[0017] In conjunction with the first and second aspects, one possible implementation includes one or more of the following preset conditions: the code rate is greater than a first threshold or the second value is less than the second threshold; the number of bits corresponding to the transmission resource is not divisible by the maximum mother code length; or, the product of the first number of bits and the code rate is greater than a third threshold; wherein, the second value is the result of rounding down the ratio of the number of bits corresponding to the transmission resource to the maximum mother code length; the first number of bits is the difference between the number of bits corresponding to the transmission resource and the first product, and the first product is the product of the second value and the maximum mother code length.
[0018] Combining the first and second aspects, one possible implementation is that, under the condition of satisfying the first preset condition, the first value is the sum of the second value and 1; or, under the condition of satisfying the first preset condition, the first value is the third value; wherein the third value is the result of rounding up the ratio of the number of bits corresponding to the transmission resource to the maximum mother code length.
[0019] Combining the first and second aspects, one possible implementation is that, if the first preset condition is not met, the first value is the maximum value between the second value and 1; or, if the first preset condition is not met, the first value is the maximum value between the difference between the third value and 1 and 1; wherein, the third value is the result of rounding up the ratio of the number of bits corresponding to the transmission resource to the maximum mother code length.
[0020] Based on the above three possible implementations, several feasible solutions are provided for determining the first preset condition.
[0021] In cases of high bit rates, rate matching is achieved through shortening or puncturing. The first value can be the sum of the second value and 1. This means that the second transport block can be divided into an additional segment to shorten or puncture the encoded bit sequence, thereby improving coding performance. In cases of low bit rates, rate matching is achieved through repetition. The first value can be the maximum value between the second value and 1. This means that the second transport block can be divided into a smaller segment to repeat the encoded bit sequence, thereby improving coding performance.
[0022] Specifically, when the second value is less than the second threshold, it is desirable to segment the second transport block as few times as possible to reduce the number of code blocks, thereby improving decoding performance; at the same time, it can reduce CB-CRC, thereby reducing the code rate overhead caused by CB-CRC. When the second value is greater than or equal to the second threshold, whether the second transport block is segmented more or less has little impact on decoding performance or code rate, and can no longer be used as a limiting condition.
[0023] In cases where the number of bits corresponding to the transmission resource is not divisible by the maximum mother code length, it is necessary to consider whether to divide the second transmission block into more or fewer segments; otherwise, the second value can be directly determined as the first value.
[0024] If the product of the first bit count and the code rate is greater than the third threshold, it can be determined that the first bit count can be greater than the length of the CB-CRC that would result from dividing the second transport block into an additional segment. In this case, an additional segment can be divided; otherwise, an additional segment can be divided to minimize the number of segments and thus reduce the code rate overhead caused by CB-CRC.
[0025] On the other hand, it provides two feasible solutions for determining the first value, thereby enhancing the flexibility and diversity of determining the first value.
[0026] Combining the first and second aspects, one possible implementation is that the first threshold is 2 / 3; or, the first threshold is 1 / 2; or, the first threshold is 7 / 16.
[0027] Based on this possible implementation, the first threshold is used as the criterion for judging the level of the bit rate. The first threshold can be set to a value close to 1 / 2 to determine the level of the bit rate. This allows us to determine whether to divide the transport block into more segments to ensure that the rate matching method corresponding to the encoded bit sequence is the same as the rate matching method corresponding to the bit rate, thereby improving coding performance.
[0028] Combining the first and second aspects, one possible implementation is that the second threshold is 8; or, the second threshold is 9; or, the second threshold is 10.
[0029] Based on this possible implementation, the second threshold serves as the criterion for judging the magnitude of the first value. When the second value is less than 9, the difference in decoding performance between the rate matching method of repetition and that of punctured or shortened rate matching is significant, allowing for the segmentation of the transport block to improve decoding performance. Conversely, when the second value is greater than 9, the difference in decoding performance between the rate matching method of repetition and that of punctured or shortened rate matching is small, making the distinction between segmenting the transport block more or less negligible, and therefore not requiring consideration of segmentation. The second threshold can be set to an integer close to 9 to determine the relationship between the second value and the second threshold, thereby determining whether to segment the transport block more to improve decoding performance.
[0030] Combining the first and second aspects, one possible implementation is that the third threshold is predefined.
[0031] Based on this possible implementation, the transmitting device can directly determine the third threshold, which can reduce the workload of the transmitting device; at the same time, it can simplify the implementation and reduce computational complexity.
[0032] Combining the first and second aspects, one possible implementation is that the third threshold is determined based on the maximum mother code length.
[0033] Based on this possible implementation, the transmitting device can determine a third threshold that meets the actual communication requirements, and then determine C through the determined second threshold, which can improve coding performance; in addition, the range of values for the third threshold can be increased, improving the flexibility and diversity of the determination of the second threshold.
[0034] Combining the first and second aspects, one possible implementation is that the third threshold is N / 16; or, the third threshold is (3*N) / 32; or, the third threshold is (3*N) / 64.
[0035] Based on this possible implementation, a third threshold can be determined according to the maximum mother code length. The determination of this third threshold can meet actual communication requirements, thereby improving communication performance. Furthermore, simulations show that decoding performance is superior when the third threshold takes one of the three possible values mentioned above.
[0036] Combining the first and second aspects, one possible implementation is that the third threshold is also determined based on the bitrate.
[0037] Combining the first and second aspects, one possible implementation is that when the bit rate is greater than the first threshold, the third threshold is (3*N) / 64; or, when the bit rate is less than or equal to the first threshold, the third threshold is (3*N) / 32.
[0038] Based on the two possible implementations mentioned above, the third threshold can be further limited to better meet communication requirements, thereby improving communication performance.
[0039] Combining the first and second aspects, one possible implementation is that, with a maximum mother code length of 4096, the third threshold is 240; or, the third threshold is 192.
[0040] Based on this possible implementation, with the maximum mother code length fixed at 4096, the third threshold can be fixed at 240 or 192, which can reduce computational complexity and simplify implementation.
[0041] Combining the first and second aspects, one possible implementation is that the first value is associated with the size of the first transmission block, the code rate, the maximum mother code length, and a second preset condition; wherein the second preset condition is determined based on the size of the first transmission block, the code rate, and the maximum mother code length.
[0042] Based on this possible implementation, by adding a second preset condition, the difficulty of segmenting the transport block into multiple segments can be increased, thereby minimizing the need for segmentation and reducing the number of CB-CRC operations, which in turn reduces the bit rate loss. Furthermore, segmenting the transport block into fewer segments reduces the number of code blocks. Given that the probability of mistransmission of different code blocks during transmission is basically the same, reducing the number of code blocks can lower the probability of mistransmission, thereby reducing the bit error rate of the transport block and improving the reliability of communication.
[0043] In conjunction with the first and second aspects, one possible implementation includes one or more of the following preset conditions: the code rate is greater than the first threshold or the fourth value is less than the second threshold; the first length cannot be divided by the maximum mother code length; or, the product of the second number of bits and the code rate is greater than the third threshold; wherein, the first length is the result of rounding down the ratio of the size of the first transmission block to the code rate, or, the first length is the result of rounding down the ratio of the sum of the size of the first transmission block and the TB-CRC length to the code rate; the second number of bits is the difference between the first length and the second product, the second product is the product of the fourth value and the maximum mother code length, and the fourth value is the result of rounding down the first length and the maximum mother code length.
[0044] Combining the first and second aspects, one possible implementation is that, under the condition of satisfying the second preset condition, the first value is the sum of the fourth value and 1; or, under the condition of satisfying the second preset condition, the first value is the fifth value; wherein the fifth value is the result of rounding up the first length and the maximum mother code length.
[0045] Combining the first and second aspects, one possible implementation is that, if the second preset condition is not met, the first value is the maximum value between the fourth value and 1; or, if the second preset condition is not met, the first value is the maximum value between the difference between the fifth value and 1 and 1; wherein the fifth value is the result of rounding up the first length and the maximum mother code length.
[0046] Based on the above three possible implementations, several feasible solutions are provided for determining the second preset condition.
[0047] In cases where the bit rate is relatively high, the rate matching method is shortening or puncturing. The first value can be the sum of the fourth value and 1. That is, the second transport block can be divided into more segments to shorten or puncture the encoded bit sequence, thereby improving coding performance. In cases where the bit rate is relatively low, the rate matching method is repetition. The first value can be the maximum value between the fourth value and 1. That is, the second transport block can be divided into fewer segments to repeat the encoded bit sequence, thereby improving coding performance.
[0048] Specifically, when the fourth value is less than the second threshold, it is desirable to minimize the number of segments in the second transport block to reduce the number of code blocks and thus improve decoding performance; at the same time, reducing CB-CRC can reduce the code rate overhead caused by CB-CRC. When the fourth value is greater than or equal to the second threshold, whether the second transport block is segmented more or less has little impact on decoding performance or code rate, and can therefore no longer be considered as a constraint.
[0049] In cases where the first length is not divisible by the maximum mother code length, it is necessary to consider whether to divide the second transmission block into one more segment or one less segment; otherwise, the second value can be directly determined as the first value.
[0050] If the product of the second bit count and the code rate is greater than the third threshold, it can be determined that the second bit count is greater than the length of the CB-CRC that would result from dividing the second transport block into an additional segment. In this case, an additional segment can be divided; otherwise, an additional segment can be divided to minimize the number of segments and thus reduce the code rate overhead caused by CB-CRC.
[0051] On the other hand, it provides two feasible solutions for determining the first value, thereby enhancing the flexibility and diversity of determining the first value.
[0052] Combining the first and second aspects, one possible implementation is that the size of the first transport block is determined based on a sixth value and a first value; wherein the sixth value is determined based on the number of bits corresponding to the transport resource, the code rate, and the length of the TB-CRC; the sixth value is a multiple of an integer power of 2, and the sixth value is greater than or equal to the length of the TB-CRC.
[0053] Based on this possible implementation, unlike selecting different quantization methods to determine different sixth values based on the relationship between the product of the number of bits and the code rate corresponding to the transmission resources and 3824 (3824 can be understood as the difference between the maximum code block length supported by the LDPC basemap and the length of TB-CRC), this application does not require comparison with 3824 to select the quantization method. The sixth value can be determined using the method described above, which can reduce computational complexity and simplify implementation. In other words, Polar code encoding does not require selecting a basemap or comparing the relationship between the product of the number of bits and the code rate corresponding to the transmission resources and 3824. Therefore, the above method for determining the sixth value is better suited for Polar code encoding.
[0054] Combining the first and second aspects, one possible implementation is that the sixth value satisfies the following formula: Where, N′ info The sixth value is `max(·)`, which takes the maximum value, and `round(·)`, which rounds to the nearest integer. N info It is the product of the number of bits corresponding to the input resource and the code rate. This is for rounding down.
[0055] Based on this possible implementation, a sixth value can be obtained by quantizing the product of the number of bits and the code rate corresponding to the input resource, so that the product of the number of bits and the code rate corresponding to the quantized input resource can be greater than or equal to the length of TB-CRC (i.e., 24), and at the same time, the product of the number of bits and the code rate corresponding to the quantized transmission resource can be divided by 8 (i.e., in bytes), and thus the size of the transmission block can be divided by 8.
[0056] Thirdly, embodiments of this application provide a communication device that can be applied to the transmitting end device described in the first aspect to realize the functions performed by the transmitting end device. The communication device can be the transmitting end device itself, or it can be a chip, chip system, or system-on-a-chip within the transmitting end device. The communication device can execute the functions performed by the transmitting end device through hardware, or it can execute corresponding software through hardware. The hardware or software includes one or more modules corresponding to the above functions. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations, or it can cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations, or it can cooperate with the transceiver module to complete the following processing operations, without limitation.
[0057] For example, a processing module is used to determine a first transmission block; wherein the size of the first transmission block is determined based on the number of bits corresponding to the transmission resource, the code rate, and a first value C, and the first value is determined based on the number of bits corresponding to the transmission resource, the maximum mother code length N, and a first preset condition; the first preset condition is determined based on one or more of the following: the number of bits corresponding to the transmission resource, the maximum mother code length, or the code rate; the first value is a positive integer; and a transceiver module is used to output the first transmission block.
[0058] Optionally, the transceiver module and processing module of the communication device in the third aspect may also perform the corresponding functions in the first aspect or any possible design of the first aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.
[0059] Fourthly, embodiments of this application provide a communication device that can be applied to the receiving device described in the second aspect to achieve the functions performed by the receiving device. This communication device can be the receiving device itself, or a chip, chip system, or system-on-a-chip within the receiving device. The communication device can execute the functions performed by the receiving device through hardware or through corresponding software. The hardware or software includes one or more modules corresponding to the functions described above. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations or cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations or cooperate with the transceiver module to complete the following processing operations, without limitation.
[0060] For example, a transceiver module is used to receive a sequence to be decoded; wherein the sequence to be decoded corresponds to a second transmission block; a processing module is used to decode the sequence to be decoded according to the size of the second transmission block to obtain a decoding result; wherein the size of the second transmission block is determined according to the size of the first transmission block; the size of the first transmission block is determined according to the number of bits corresponding to the transmission resource, the code rate, and a first value C, the first value being determined according to the number of bits corresponding to the transmission resource, the maximum mother code length N, and a first preset condition; the first preset condition is determined according to one or more of the following: the number of bits corresponding to the transmission resource, the maximum mother code length, or the code rate; the first value is a positive integer.
[0061] Optionally, the transceiver module and processing module of the communication device in the fourth aspect may also perform the corresponding functions in the second aspect or any possible design of the second aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.
[0062] Fifthly, embodiments of this application provide a communication device, which includes one or more processors; the one or more processors are configured to run computer programs or instructions, such that when the one or more processors execute the computer instructions or instructions, the communication method described in any one of the first to second aspects is performed.
[0063] In one possible design, the communication device further includes one or more memories coupled to one or more processors, the memories used to store the aforementioned computer programs or instructions. In one possible implementation, the memories are located outside the communication device. In another possible implementation, the memories are located inside the communication device. In embodiments of this application, the processor and memory may also be integrated into a single device, i.e., the processor and memory may be integrated together. In one possible implementation, the communication device further includes a transceiver for receiving and / or transmitting information.
[0064] In one possible design, the communication device further includes one or more communication interfaces coupled to one or more processors, and the communication interfaces are used to communicate with other modules outside the communication device.
[0065] In a sixth aspect, embodiments of this application provide a communication device, which includes an interface circuit and a logic circuit; the interface circuit is used for inputting and / or outputting information; the logic circuit is used for executing the communication method as described in either the first or second aspect, processing and / or generating information based on the information.
[0066] In a seventh aspect, embodiments of this application provide a computer-readable storage medium storing computer instructions or programs that, when executed on a computer, cause the communication method described in either the first or second aspect to be performed.
[0067] Eighthly, embodiments of this application provide a computer program product containing computer instructions that, when run on a computer, causes the communication method described in either the first or second aspect to be executed.
[0068] Ninthly, embodiments of this application provide a computer program that, when run on a computer, causes the communication method described in either the first or second aspect to be executed.
[0069] In a tenth aspect, embodiments of this application provide a chip, including: a processor coupled to a memory, the memory being used to store programs or instructions, wherein when the program or instructions are executed by the processor, a communication method as described in either the first or second aspect is executed.
[0070] The technical effects of any of the design methods in aspects three through ten are similar to those in aspects one and two above, and will not be elaborated upon further.
[0071] Eleventhly, embodiments of this application provide a communication system that may include communication means for performing the communication as described in the first aspect or any possible design of the first aspect, and communication means for performing the communication as described in the second aspect or any possible design of the second aspect. Attached Figure Description
[0072] Figure 1 A schematic diagram of a verification matrix provided in an embodiment of this application;
[0073] Figure 2 A schematic diagram of a communication system provided in an embodiment of this application;
[0074] Figure 3 A schematic diagram illustrating encoding and decoding of a transmitting end device and a receiving end device according to an embodiment of this application;
[0075] Figure 4 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0076] Figure 5 A flowchart illustrating a communication method provided in an embodiment of this application;
[0077] Figure 6 A flowchart illustrating a communication method provided in an embodiment of this application;
[0078] Figure 7 A flowchart illustrating a communication method provided in an embodiment of this application;
[0079] Figure 8 This is a schematic diagram of the structure of a transmitting device provided in an embodiment of this application;
[0080] Figure 9 This is a schematic diagram of the structure of a receiving device provided in an embodiment of this application;
[0081] Figure 10 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation
[0082] Before describing the embodiments of this application, the technical terms involved in the embodiments of this application will be described.
[0083] TB segmentation: The transmitting device can encapsulate data in a TB, encode, modulate, and transmit the TB. Since the maximum codeword length supported by the encoder or decoder is limited, when the length of the TB is greater than the maximum codeword length supported by the encoder or decoder, the transmitting device can segment the TB to obtain multiple CBs, and then encode, modulate, and transmit each of the multiple CBs.
[0084] It can be understood that when the length of the TB is less than or equal to the maximum codeword length supported by the encoder or decoder, it can be understood that the TB is divided into one CB, or the TB is not segmented. At this time, the TB can also be called a CB.
[0085] Among them, there are two following schemes for segmenting the TB:
[0086] The first scheme is the segmentation of the Polar code in the new radio (NR) standard: The transmitting device can determine a bit sequence to be encoded with a length of A (0 < A ≤ 1706). When A ≥ 360 and E ≥ 1088, or A ≥ 1013, the bit sequence to be encoded is divided into two segments; otherwise, no segmentation is performed. Here, A is the size of the control channel payload, E is the length after rate matching, and both A and E are positive integers. In addition, the transmitting device can add padding bits to the bit sequence to be encoded to ensure that the length of the bit sequence to be encoded after adding padding bits (such as A') can be divisible by 2.
[0087] The pseudocode for segmenting the bit sequence to be encoded with a length of A can be as follows:
[0088]
[0089] It can be understood that the initial bit of any sequence in this application can be called the 0th bit, and this application can also be applied to the case where the initial bit of the sequence is the 1st bit, and no limitation is made in this regard.
[0090] The second scheme is the segmentation of the low density parity check code (LDPC) in the NR standard: When it is determined that BG1 is the base graph for LDPC code encoding, the transmitting device can segment the bit sequence to be encoded with a length of B according to K cb = 8448; when it is determined that BG2 is the base graph for LDPC code encoding, the transmitting device can segment the bit sequence to be encoded with a length of B according to K cb = 3840. Here, K cb is the maximum number of encoded bits supported by the base graph.
[0091] Where B is a positive integer. A bit sequence of length B to be encoded can be understood as TB including TB-CRC.
[0092] The base map BG for LDPC code encoding can be selected based on A and the code rate R, where A is the difference between the length of B and the length of TB-CRC. For example, if A ≤ 292, or A ≤ 3824 and R ≤ 2 / 3, or R ≤ 1 / 4, BG2 can be selected as the base map for LDPC code encoding; otherwise, BG1 can be selected as the base map for LDPC code encoding.
[0093] Specifically, if B is greater than K cb No segmentation of the bit sequence to be encoded is required; if B is less than or equal to K cb The bit sequence to be encoded can be divided into C segments. And add a CB-CRC of length L to each segment.
[0094] In addition, the parity-check matrix of the LDPC code in fifth-generation (5G) NR can be as follows: Figure 1 As shown, the parity check matrix can include high-bitrate regions, additional redundant regions, and Raptor-like regions. In actual encoding, the first X and first Y rows of the parity check matrix can be extracted. As X and Y gradually increase, the bitrate gradually decreases, and the usable region of the parity check matrix gradually increases. Here, X and Y are both positive integers.
[0095] Understandably, A or B mentioned above can be determined through TBS.
[0096] TBS: TBS can be jointly determined by time-frequency resource allocation and modulation and coding scheme (MCS). The process by which the transmitting device determines the size of TB can be shown in steps 201-203 below:
[0097] Step 201: The transmitting device determines the number of resource elements (REs) corresponding to the transmission resources based on the bandwidth and the number of symbols.
[0098] The number of REs corresponding to the transmission resources can be understood as the number of REs included in the time-frequency resources used to transmit TB.
[0099] One RE can carry one modulation symbol.
[0100] For example, the number of REs corresponding to the transmission resources within a time slot can be N RE n represents the number of REs corresponding to the transmission resources. PRBC′ represents the number of physical resource blocks (PRBs). RE N′ represents the number of REs within a PRB. RE The following formula can be satisfied:
[0101] in, The number of subcarriers contained in a PRB (e.g., 12 or 14). The number of orthogonal frequency division multiplexing (OFDM) symbols scheduled within a time slot. This represents the number of REs (resonance elements) in a PRB (Physical Reference Block). This refers to the overhead of configuring or predefined high-level parameters.
[0102] Step 202: The transmitting device determines the pure payload size that an RE can carry based on the number of REs corresponding to the transmission resources.
[0103] The pure payload size that an RE can carry can also be understood as the number of information bits carried by the time-frequency resources used to transmit TB.
[0104] For example, the pure charge that an RE can carry can satisfy the following formula: N info =N RE ·R·Q·v.
[0105] Where R represents the code rate, Q represents the order of the MCS (or the modulation order), and v represents the number of multi-input multi-output (MIMO) layers (or can be described as the number of allocated DMRS ports or transport streams).
[0106] Step 203: The transmitting device quantifies the pure payload size that the RE can carry to obtain intermediate variables, and determines the TBS based on the intermediate variables.
[0107] Optional, if N info If the value is less than or equal to 3824, then the intermediate variable can be... in, Therefore, we can find no more than N′ according to Table 1 below. info And closest to N′ info The value is used as TBS. For example, with N′ info For example, if the value is 550, TBS can be the value corresponding to index 41 in Table 1, that is, TBS can be 552.
[0108] Table 1 TBS
[0109]
[0110]
[0111] In Table 1, the values of TBS are all in bytes, and the intervals are 8, 16, 32, 64, and 128.
[0112] Optional, if N info >3824, then the intermediate variable N′ info It can be: in, `round` rounds down to the nearest integer. Furthermore, when R ≤ 0.25, BG2 can be chosen as the base map for LDPC coding, and each segment can include a CB-CRC of length 24, which can be determined. The numerator represents the intermediate variables that do not include CB-CRC but include TB-CRC, and the denominator represents the maximum block length that BG2 can support without CB-CRC (i.e., 3816 = 3840 - 24). Or, when N info >8424, BG1 can be chosen as the base map for LDPC code encoding. Each segment can include a CB-CRC of length 24, which can be determined. The numerator represents the intermediate variables that do not include CB-CRC but include TB-CRC, and the denominator represents the maximum block length that BG1 can support without CB-CRC (i.e., 8424 = 8448 - 24). Additionally, if C = 1,
[0113] In summary, the above method for determining TBS is related to C (which can also be understood as the number of code blocks), since C is the maximum code block length K supported by the base map. cb It is certain that this method of determining TBS is not applicable to Polar code encoding. In other words, applying the above method of determining TBS to Polar code encoding will result in poor bit error rate performance of TB, thereby reducing communication performance.
[0114] Therefore, this application provides a communication method, which includes: determining a first transmission block; and outputting the first transmission block. The size of the first transmission block is determined based on the number of bits corresponding to the transmission resource, the code rate, and a first value C. The first value is determined based on the number of bits corresponding to the transmission resource, the maximum mother code length N, and a first preset condition. The first preset condition is determined based on one or more of the following: the number of bits corresponding to the transmission resource, the maximum mother code length, or the code rate; the first value is a positive integer.
[0115] It is understandable that the size of the first transport block can be the aforementioned TBS, and the first value is the aforementioned C.
[0116] In this embodiment, compared to determining the first value based on the maximum code block length supported by the base map (the maximum code block length supported by the base map can be understood as the maximum number of information bits contained in a codeword sequence), the first value in this application can be determined based on the maximum mother code length and a first preset condition. On the one hand, LDPC codes have a fixed number of information bits before encoding, i.e., the maximum code block length is fixed, while Polar codes have a fixed maximum mother code length in the codeword sequence. Therefore, determining the first value based on the maximum mother code length is applicable to Polar code encoding and can better conform to the encoding characteristics of Polar codes, thereby improving encoding performance and the bit error rate performance of the transport block. On the other hand, adding a first preset condition in the process of determining the first value can make the determined first value better meet communication requirements, improve communication performance, and at the same time improve the flexibility and diversity of determining the first value.
[0117] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0118] The communication method provided in this application can be used in any communication system, such as a third-generation partnership project (3GPP) communication system, for example, a long-term evolution (LTE) system, or a 5G mobile communication system, a hybrid LTE and 5G network system, an NR system, an NR vehicle-to-everything (V2X) system, a device-to-device (D2D) communication system, a machine-to-machine (M2M) communication system, an Internet of Things (IoT) system, a narrow band Internet of Things (NB-IoT) system, enhanced mobile broadband (eMBB), ultra-reliable and low-latency communication (URLLC), enhanced machine-type communication (eMTC), and various types of future communication systems. It can also be a non-terrestrial network (NTN) system (such as a satellite communication system), a non-3GPP communication system, etc., without limitation.
[0119] The communication method provided in this application can be applied to various communication scenarios. For example, it can be applied to one or more of the following communication scenarios: coding of control channels, coding of data channels, etc., without limitation.
[0120] The following is based on Figure 2 Taking an example, the communication system provided in the embodiments of this application will be described.
[0121] Figure 2 A schematic diagram of a communication system provided in an embodiment of this application is shown below. Figure 2 As shown, the communication system may include at least one terminal device and at least one network device.
[0122] in, Figure 2The terminal device can be located within the beam / cell coverage area of the network device, and the network device can provide communication services to the terminal device. For example, the network device can use channel coding to encode downlink data and then transmit it to the terminal device via air interface after constellation modulation (i.e., the network device is the transmitting end device, and the terminal device is the receiving end device); the terminal device can also use channel coding to encode uplink data and then transmit it to the network device via air interface after constellation modulation (i.e., the terminal device is the transmitting end device, and the network device is the receiving end device). It is understood that when network devices communicate with each other, or when terminal devices communicate with each other, communication can also be based on channel coding; that is, the transmitting end device and the receiving end device can both be network devices or both be terminal devices, without restriction.
[0123] Figure 2The terminal device in this context can be a device with wireless transceiver capabilities or a chip or chip system that can be configured on the device. It allows users to access the network and is used to provide voice and / or data connectivity to users. Terminal devices can also be called user equipment (UE), subscriber unit, terminal, mobile station (MS), or mobile terminal (MT), etc., or devices used to provide voice or data connectivity to users, and can also be Internet of Things (IoT) devices. For example, terminal devices include handheld devices with wireless connectivity, vehicle-mounted devices, etc. For example, terminal devices can be mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), in-vehicle equipment (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability user equipment (REDCAP UE), wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), smart robots, robotic arms, workshop equipment, wireless terminals in autonomous driving, wireless terminals in telemedicine, and smart grids. Wireless terminals in grids, wireless terminals in transportation security, wireless terminals in smart cities, or wireless terminals in smart homes, as well as flying equipment (e.g., intelligent robots, hot air balloons, drones, airplanes), etc.Terminal devices can also be vehicle-mounted devices, such as vehicle-mounted devices, vehicle-mounted modules, vehicle-mounted chips, onboard units (OBUs) or telematics boxes (T-BOXs), vehicles with vehicle-to-vehicle (V2V) communication capabilities, intelligent connected vehicles, drones with drone-to-drone (UAV-to-UAV, U2U) communication capabilities, terminal devices in future networks, or terminal devices in future evolved public land mobile networks (PLMNs). Terminal devices can also be other devices with terminal functions; for example, a terminal device can also be a device that performs terminal functions in D2D communication, without limitation.
[0124] It is understood that the embodiments of this application do not limit the device form of the terminal. The device used to implement the functions of the terminal device can be the terminal device itself; it can also be a device that supports the terminal device in implementing the functions, such as a chip system. The device can be installed in the terminal device or used in conjunction with the terminal device. In the embodiments of this application, the chip system can be composed of chips or can include chips and other discrete devices. All or part of the functions of the terminal device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (e.g., a cloud platform).
[0125] in, Figure 2 The network equipment in this context can be any device deployed in the access network capable of wireless communication with terminal devices. It can also be a chip or chip system configurable within such devices, a logical node or module, or a function implemented in software. Its main responsibilities include air interface-side wireless physical control, resource scheduling, wireless resource management, quality of service management, data compression and encryption, wireless access control, and mobility management. Specifically, the network equipment can be either wired or wireless access-enabled.
[0126] For example, a network device can consist of one or more access network (AN) / radio access network (RAN) nodes. AN / RAN nodes can be various types of base stations, such as: satellite base stations, evolved Node Bs (gNBs), transmission reception points (TRPs), evolved Node Bs (eNBs), radio network controllers (RNCs), Node Bs (NBs), base station controllers (BSCs), base transceiver stations (BTSs), home base stations (e.g., home evolved Node Bs, or home Node Bs (HNBs), macro base stations, micro base stations, pico base stations, small cells, relay stations, balloon stations, drone stations, wireless backhaul nodes, baseband units (BBUs), or wireless fidelity (Wi-Fi) access points (APs), etc. It is understood that network devices can be terrestrial devices or non-terrestrial devices (such as satellites, drones, high-altitude communication equipment, etc.). Furthermore, in communication systems employing different wireless access technologies, the names of network devices with base station functions may differ, and this application does not impose any restrictions on this.
[0127] In another example, the network equipment may include a BBU and a remote radio unit (RRU). The BBU and RRU can be located in different places; for example, the RRU can be moved remotely to a high-traffic area, while the BBU is located in the central equipment room. The BBU and RRU can also be located in the same equipment room. The BBU and RRU can also be different components under the same rack.
[0128] In another example, the network device can be a device that includes centralized unit (CU) nodes, distributed unit (DU) nodes, or both CU and DU nodes. For instance, the network device can be logically divided into CUs and DUs, with some protocol layer functions centrally controlled by the CU, and the remaining partial or complete protocol layer functions distributed in the DU, which is centrally controlled by the CU. The CU and DU can be separate entities or included in the same network element, such as a BBU. Furthermore, the centralized unit (CU) can be further divided into a control plane (CU-CP) and a user plane (CU-UP).
[0129] In another example, the network device may also be a device that includes a radio unit (RU), or a device that includes a CU, a DU, and a RU. The RU may be included in a radio frequency device or radio frequency unit, such as an RRU, an active antenna unit (AAU), or a remote radio head (RRH).
[0130] It is understood that CU (or CU-CP and CU-UP), DU, or RU may have different names in different systems, but those skilled in the art will understand their meaning. For example, in an open radioaccess network (O-RAN) system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through a software module, a hardware module, or a combination of software and hardware modules.
[0131] Based on the above description of the terminal device and network device, optionally, the communication method provided in the embodiments of this application can be implemented by the aforementioned terminal device or network device, or by components of the terminal device or network device, such as by application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or software (such as program code in memory) deployed in the terminal device or network device, without limitation.
[0132] Optionally, in the embodiments of this application, the transmitting device (or source) and the receiving device (or sink) may adopt the following... Figure 3 The process shown involves encoding and decoding. The transmitting device can be... Figure 2 Any terminal device or network device in the communication system shown, the receiving device can also be Figure 2 Any terminal device or network device in the communication system shown.
[0133] The transmitting device can perform source coding on its own generated bits to obtain a source bit stream, then perform channel coding on the source bit stream, and finally modulate it before transmitting the modulated symbols to the receiving device through a noisy channel. When the receiving device receives the modulated symbols through the noisy channel, it can demodulate them, then perform channel decoding to recover the source bit stream, and finally perform source decoding to obtain the decoding result.
[0134] In practical implementation, Figure 2 As shown in the figure: various terminal devices and network devices can adopt Figure 4 The shown composition structure, or including Figure 4 The components shown. Figure 4 This is a schematic diagram illustrating the composition of a communication device 400 provided in an embodiment of this application. The communication device 400 can be a terminal device or a chip or system-on-a-chip within a terminal device; it can also be a network device or a chip or system-on-a-chip within a network device. For example... Figure 4 As shown, the communication device 400 includes a processor 401, a transceiver 402, and a communication line 403.
[0135] Optionally, the communication device 400 may further include a memory 404. The processor 401, memory 404, and transceiver 402 can be connected via a communication line 403.
[0136] The processor 401 can be one or more of the following: a central processing unit (CPU), an application-specific integrated circuit (ASIC), a network processor (NP), a digital signal processor (DSP), a microprocessor unit (MPU), a microcontroller unit (MCU), a graphics processing unit (GPU), a microprocessor, a microcontroller, a programmable logic device (PLD), an artificial intelligence processor (AI processor), or a neural processing unit (NPU). The processor 401 can also be other devices with processing capabilities, such as circuits, devices, or software modules, without limitation. The transceiver 402 is used to communicate with other devices or other communication networks. This other communication network can be Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. The transceiver 402 can be a module, a circuit, a transceiver, or any device capable of enabling communication.
[0137] Communication line 403 is used to transmit information between the components included in communication device 400.
[0138] Memory 404 is used to store instructions. These instructions can be computer programs.
[0139] The memory 404 can be a read-only memory (ROM) or other type of static storage device that can store static information and / or instructions; it can also be a cache, random access memory (RAM), or other type of dynamic storage device that can store information and / or instructions; it can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, etc., without limitation.
[0140] The memory 404 can exist independently of the processor 401 or be integrated with the processor 401. The memory 404 can be used to store instructions, program code, or data. The memory 404 can be located inside or outside the communication device 400, without limitation. The processor 401 is used to execute the instructions stored in the memory 404 to implement the communication method provided in the following embodiments of this application.
[0141] In one example, processor 401 may include one or more CPUs, for example Figure 4 CPU0 and CPU1 in the CPU.
[0142] As an optional implementation, the communication device 400 includes multiple processors, for example, besides Figure 4 In addition to processor 401, it may also include processor 407.
[0143] As an optional implementation, the communication device 400 also includes an output device 405 and an input device 406. For example, the input device 406 is a device such as a keyboard, mouse, microphone, or joystick, and the output device 405 is a device such as a display screen or speaker.
[0144] The communication device 400 can be a desktop computer, laptop computer, network server, mobile phone, tablet computer, wireless terminal, embedded device, chip system, or other similar device. Figure 4 Equipment with a similar structure. Furthermore... Figure 4 The structural composition shown does not constitute a limitation on the communication device, except... Figure 4 In addition to the components shown, the communication device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.
[0145] In this embodiment of the application, the chip system may be composed of chips or may include chips and other discrete devices.
[0146] Furthermore, the actions, terms, etc., involved in the various embodiments of this application can be referenced interchangeably without limitation. The message names or parameter names in the messages exchanged between the various devices in the embodiments of this application are merely examples, and other names may be used in specific implementations without limitation.
[0147] The following is combined Figure 2 The communication system shown refers to the following Figure 5 The communication method provided in the embodiments of this application is described below, wherein the transmitting device can be Figure 2 Any terminal device or network device in the communication system shown, the receiving device can also be Figure 2 Any terminal device or network device in the communication system shown. The transmitting or receiving device described in the following embodiments may include Figure 4 The component shown.
[0148] Figure 5 A flowchart of a communication method provided in an embodiment of this application is shown below. Figure 5 As shown, the method may include:
[0149] Step 501: The transmitting device determines the first transmission block.
[0150] The size of the first transport block is determined based on the number of bits, the code rate, and the first value C corresponding to the transport resource.
[0151] The size of the first transport block can be understood as the size of the pure payload, or as the number of information bits, or as the length of the information bits.
[0152] The number of bits corresponding to the transmission resources can be understood as the number of bits carried by the time-frequency resources used to transmit the first transmission block, or as the number of bits carried by the REs in the time-frequency resources used to transmit the first transmission block.
[0153] Here, the first value can be understood as the number of segments or the number of code blocks. The first value is a positive integer. For example, the first value can be 2, 3, or 4.
[0154] The first value is determined based on the number of bits corresponding to the transmission resource, the maximum mother code length N, and the first preset condition.
[0155] The maximum mother code length is an integer power of 2. For example, the maximum mother code length can be 1024, 2048, or 4096.
[0156] The first preset condition is determined based on one or more of the following: the number of bits corresponding to the transmission resource, the maximum mother code length, or the code rate. The specific description of the first preset condition is provided below and will not be repeated here.
[0157] It is understandable that the transmitting device can determine different first values depending on whether the first preset condition is met or not, so that the determined first value can better meet the communication requirements and thus improve communication performance. The specific determination method can be found in the detailed description of the determination of the first value below, and will not be repeated here.
[0158] Step 502: The transmitting device outputs the first transmission block; correspondingly, the receiving device receives the sequence to be decoded from the transmitting device.
[0159] The transmitting device can segment the first transmission block to obtain C code blocks, encode and modulate the C code blocks to obtain a modulation symbol sequence and transmit it.
[0160] It is understandable that the modulation symbol sequence sent by the transmitting device to the receiving device may be affected by noise and other interference when transmitted through the channel. The sequence to be decoded received by the receiving device is a modulation symbol sequence affected by noise and other interference.
[0161] The sequence to be decoded corresponds to the second transmission block.
[0162] For example, the second transport block may include the first transport block and TB-CRC.
[0163] Step 503: The receiving device decodes the sequence to be decoded according to the size of the second transmission block to obtain the decoding result.
[0164] The size of the second transport block can be determined based on the size of the first transport block. For example, the size of the second transport block can be the size of the first transport block plus the length of the TB-CRC.
[0165] The method by which the receiving device determines the size of the first transmission block can be referred to the method by which the sending device determines the size of the first transmission block in this application, and will not be repeated here.
[0166] Alternatively, the receiving device can determine the first value in the same way as the transmitting device in this application, and will not be elaborated here.
[0167] based on Figure 5 The communication method shown, compared to determining the first value based on the maximum code block length supported by the base map (the maximum code block length supported by the base map can be understood as the maximum number of information bits contained in a codeword sequence), in this application, the first value can be determined based on the maximum mother code length and a first preset condition. On one hand, LDPC codes have a fixed number of information bits before encoding, i.e., a fixed maximum code block length, while Polar codes have a fixed maximum mother code length in the codeword sequence. Therefore, determining the first value based on the maximum mother code length is applicable to Polar code encoding and better conforms to the encoding characteristics of Polar codes, thereby improving encoding performance and the bit error rate performance of the transmission block. On the other hand, adding a first preset condition in the process of determining the first value allows the determined first value to better meet communication requirements, improves communication performance, and enhances the flexibility and versatility of determining the first value.
[0168] based on Figure 5 The communication method shown can optionally include the following specific steps for the transmitting device to output the first transmission block and the receiving device to decode it: Figure 6 As shown:
[0169] Step 601: The transmitting device segments the second transmission block to obtain C code blocks.
[0170] The second transport block may include the first transport block and the TB-CRC. In this case, the length of the second transport block can be the sum of the length of the first transport block and the length of the TB-CRC (which can be denoted as B).
[0171] For example, the length of TB-CRC can be 16, or the length of TB-CRC can be 24.
[0172] For example, taking the first transport block as... For example, a polynomial g can be generated based on cyclic redundancy check. CRA24A (D) Determine the sequence A TB-CRC of length L1 (e.g., 24) is used to obtain the second transport block, i.e., the sequence. Among them, A TBS L1 is the length of the first transmission block, and L2 is the length of the TB-CRC.
[0173] Wherein, C is the first value, which can be determined by referring to the description of the first value in step 501 or the description of the first value below, and will not be repeated here.
[0174] Each of the C code blocks may include information bits and a CB-CRC. For example, the transmitting device can generate a polynomial g based on the cyclic redundancy check. CRC24B(D) Determine the CB-CRC of the information bits in each code block with a length of L2 (e.g., 24) to obtain the code block. L2 is the length of the CB-CRC.
[0175] Understandably, the first preset condition can be used to determine whether to divide the second transmission block into more segments. That is, if the first preset condition is met, a segment can be divided; if the first preset condition is not met, a fewer segment can be divided. This can minimize the number of CB-CRCs, thereby reducing the code rate overhead caused by CB-CRCs. In addition, minimizing the number of code blocks can reduce the bit error rate during transmission, thereby reducing the bit error rate of the second transmission block and improving decoding performance.
[0176] Optionally, the transmitting device can determine the length of each of the C code blocks based on the size of the second transmission block (denoted as B), the length of the CB-CRC, and C. The length of the k-th code block can be K. r =K, k=0,1,…,C-1, that is, different code blocks have the same length (all are K).
[0177] For example, K can be the ratio of B′ to C (e.g., B′ / C), and B′ can be determined based on the size of the second transport block, the length L2 of the CB-CRC, and C. For instance, B′ can satisfy the following formula: B′=B+C*L2.
[0178] The pseudocode for determining B′ can be shown below:
[0179]
[0180] It is understood that each code block may include K-L2 bits from the second transport block, and a CB-CRC of length L2. For example, the 0th code block may include the 0th bit to the K-L2-1th bit from the second transport block, and a CB-CRC of length L2; the 1st code block may include the k-L2th bit to the 2*(k-L2)-1th bit from the second transport block, and a CB-CRC of length L2; ..., the (C-1)th code block may include the (C-1)*(K-L2)th bit to the B-1th bit from the second transport block, and a CB-CRC of length L2.
[0181] Among them, the second transmission block is b0, b1, b2, b3, ... b B-1 For example, the pseudocode for each code block can be determined as follows:
[0182]
[0183] It is understandable that the CB-CRC sequence p corresponding to the r-th code block r(0) ,pr(1) ,……p r(L2-1) It refers to the sequence c corresponding to the r-th code block. r(0) ,c r(1) ,……c r(K-L2-1) It is generated using a cyclic redundancy check generator polynomial.
[0184] Step 602: The transmitting device encodes each of the C code blocks to obtain C encoded bit sequences of length N.
[0185] The transmitting device can perform polar coding on each of the C code blocks to obtain C encoded bit sequences of length N.
[0186] Step 603: The transmitting device performs rate matching on each of the C coded bit sequences to obtain C rate-matched coded bit sequences.
[0187] For example, the length of the coded bit sequence after the r-th rate match can be E. r E r It can be E, meaning that the length of the encoded bit sequences after matching different rates is the same. For example, E can be the rounded result of the ratio of the number of bits corresponding to the transmission resource to the first value.
[0188] Wherein, E can be the result of rounding down the ratio of the number of bits corresponding to the transmission resource to the first value, or E can be the result of rounding up the ratio of the number of bits corresponding to the transmission resource to the first value, or E can be the result of rounding the ratio of the number of bits corresponding to the transmission resource to the first value. This application does not limit this.
[0189] It is understandable that, when C is 1, the length E0 of the coded bit sequence after the 0th rate match can be E tot (That is, the length of the sequence obtained by encoding and rate matching the first transport block is E) tot When C is greater than 1, the length E of the encoded bit sequence after the r-th rate match is... r It can be Among them, E tot This represents the number of bits corresponding to the transmission resources. The pseudocode for determining the length of the encoded bit sequence after rate matching can be shown below:
[0190]
[0191] In addition, if the control information for scheduling data transmission indicates that this transmission is a retransmission of a transmission block, the length of the encoded bit sequence after rate matching in the retransmission is determined according to the number of bits corresponding to the retransmission resource and the first value mentioned above. Alternatively, the length of the encoded bit sequence after rate matching in the retransmission can be determined according to the number of bits corresponding to the retransmission resource and the number of code blocks in the code block group (CB group, CBG) in the retransmission. This application does not limit this.
[0192] Optional, if E r If the length is greater than the maximum mother code length, the rate matching method can be repetition; if E r If the length is less than the maximum mother code length, the rate matching method can be shortening or punching.
[0193] It is understandable that if E r It is equal to the maximum mother code length, so rate matching of code blocks is not required.
[0194] Step 604: The transmitting device outputs a sequence of C rate-matched encoded bits; correspondingly, the receiving device receives the sequence to be decoded from the transmitting device.
[0195] Optionally, the transmitting device can concatenate C rate-matched coded bit sequences, modulate the concatenated sequence to obtain a modulated symbol, and then transmit it.
[0196] For example, the 0th bit in the concatenated sequence can be the 0th bit in the coded bit sequence after the 0th rate matching, the 1st bit in the concatenated sequence can be the 1st bit in the coded bit sequence after the 0th rate matching, ..., the E0-1th bit in the concatenated sequence can be the E0-1th bit in the coded bit sequence after the 0th rate matching; the E0th bit in the concatenated sequence can be the 0th bit in the coded bit sequence after the 1st rate matching, the E0+1th bit in the concatenated sequence can be the 1st bit in the coded bit sequence after the 1st rate matching, ..., the E0+E1-1th bit in the concatenated sequence can be the E1-1th bit in the coded bit sequence after the 1st rate matching; ...; the E0+E1+...+E...th bit in the concatenated sequence... C-1 The bit can be the 0th bit in the coded bit sequence after the (C-1)th rate matching, or the E0+E1+…+E bit in the concatenated sequence. C-1 +1 bit can be the first bit in the coded bit sequence after the (C-1)th rate matching, ..., the Eth bit in the concatenated sequence. tot -1 bits can be the Eth bit in the encoded bit sequence after the C-1th rate matching. C-1 -1 bit.
[0197] It is understood that step 502 may include steps 601-604, or steps 601-604 may be an extension of step 502.
[0198] Step 605: The receiving device segments the sequence to be decoded according to the size of the second transmission block and the first value to obtain C first sequences.
[0199] Step 606: The receiving device performs rate matching on each of the C first sequences to obtain C second sequences.
[0200] Among them, the length of each of the C second sequences is the maximum mother code length.
[0201] It is understandable that if the length of the first sequence is the maximum mother code length, the first sequence may not need to be de-rate matched, or the second sequence may be understood as the first sequence.
[0202] Step 607: The receiving device decodes each of the C second sequences to obtain the decoding result.
[0203] It is understood that step 503 above may include steps 605-607.
[0204] Based on the above description of the number of bits corresponding to the transmission resources, in one possible implementation, the number of bits corresponding to the transmission resources can be determined according to the number of REs, modulation order, and number of transmission streams corresponding to the transmission resources.
[0205] One RE can transmit one modulation symbol. For example, with a modulation order of Q, one modulation symbol can carry Q bits (that is, Q bits can be mapped onto one modulation symbol). In other words, one RE can carry Q bits.
[0206] Where, N RE The determination of N can be referenced above. RE The specific details are not elaborated here.
[0207] For example, the number of bits corresponding to the transmission resource can be the number N of REs corresponding to the transmission resource. RE The product of modulation order Q and transport stream number v. For example, the number of bits E corresponding to the transmission resource. tot The following formula can be satisfied: E tot =N RE *Q*v.
[0208] The modulation order can be determined based on the MCS table; for example, it can be determined based on the MCS index. Furthermore, the selection of the MCS table can be determined based on the configuration of precoding, physical uplink shared channel (PUSCH) configuration (Config) higher-layer signaling, or the configured grant configuration (CrantConfig) parameters. For example, the MCS table can be shown in Table 2:
[0209] Table 2 MCS Table
[0210]
[0211]
[0212] Based on Table 2, the code rate *
[1024] can be determined according to the spectral efficiency and the modulation order, that is, the code rate *
[1024] can satisfy the following formula: (1024*SE) / Q, where SE is the spectral efficiency and Q is the modulation order. For example, 120 = 1024*0.2344 / 2, or 193 = 1024*0.377 / 2.
[0213] In one possible implementation, the bitrate can be determined based on the MCS index in the MSC table.
[0214] Understandably, NR standard 38.214 defines three MCS tables: 38.214-Table 5.1.3.1-1, 38.214-Table 5.1.3.1-2, and 38.214-Table 5.1.3.1-3, among which 38.214-Table 5.1.3.1-3 is designed for low spectral efficiency.
[0215] It is understandable that the transmitting and receiving devices can synchronize the MCS table and MCS index to specifically determine the modulation order, thereby determining the number of bits corresponding to the transmission resources.
[0216] Based on step 501's description of determining the size of the first transport block according to the number of bits corresponding to the transport resource, the code rate, and the first value, in one possible implementation, the size of the first transport block can be determined based on a sixth value and the first value. The sixth value can be determined based on the number of bits corresponding to the transport resource, the code rate, and the length of the TB-CRC.
[0217] Specifically, the sixth value can be a value obtained by quantizing the product of the number of bits corresponding to the transmission resource and the code rate. For example, the sixth value N′ info The following formula can be satisfied: Where max(·) is the maximum value, round(·) is the nearest integer, L1 is the length of TB-CRC, and N info It is the product of the number of bits corresponding to the transmission resource and the code rate. This is for rounding down.
[0218] For example, taking a TB-CRC length of 24 as an example, the sixth value can be:
[0219] Alternatively, the sixth value can be a value obtained by quantizing the product of the number of bits and the code rate corresponding to the adjusted transmission resource. For example, when the CRC mask is P-RNTI, random access (RA)-RNTI, or message B (MsgB)-RNTI, the product of the number of bits and the code rate corresponding to the transmission resource can be multiplied by an expansion factor for adjustment. Then, the size of the first transmission block can be determined based on the product of the number of bits and the code rate corresponding to the adjusted transmission resource to ensure the effective transmission of broadcast messages.
[0220] For example, the expansion factor can be any of the following: 1, 0.5, or 0.25.
[0221] For example, the expansion factor can be indicated by the first field. Taking the first field as occupying two bits, setting the bit value to 00 indicates an expansion factor of 1; setting the bit value to 01 indicates an expansion factor of 0.5; and setting the bit value to 10 indicates an expansion factor of 0.25. The relationship between the first field and the first factor is shown in Table 3.
[0222] Table 3 First Expansion Factor
[0223] First field Expansion factor 00 1 01 0.5 10 0.25 11
[0224] For example, the first field can be located in downlink control information (DCI), or it can be located in a system message, or it can be located in a radio resource control (RRC) message.
[0225] Based on Table 3, N is the product of the number of bits and the code rate corresponding to the transmission resource. info For example, assuming the bit value of the first field is 0 or 1, we can determine that the product of the adjusted transmission resource's bit count and bit rate is N. info *0.5. Therefore, the sixth value could be:
[0226] Understandably, unlike other methods that select different quantization methods to determine different sixth values based on the relationship between the product of the number of bits corresponding to the transmission resources and the code rate and 3824, this application does not require comparison with 3824 to select the quantization method. Any of the methods mentioned above can be used to determine the sixth value, reducing computational complexity and simplifying implementation. In other words, Polar code encoding does not require selecting a base map or comparing the relationship between the product of the number of bits corresponding to the transmission resources and the code rate and 3824. Therefore, the method described above for determining the sixth value is better suited to Polar code encoding.
[0227] The sixth value can be a multiple of an integer power of 2 (i.e., the sixth value can be divided by an integer power of 2), and the sixth value can be greater than or equal to the length of TB-CRC.
[0228] Understandably, if If the value of is less than L1, the sixth value can be directly determined to be L1.
[0229] For example, the size A of the first transport block TBS The following formula can be satisfied: Where L1 is the length of TB-CRC. For example, if the length of TB-CRC can be 24, the size of the first transport block can satisfy the following formula:
[0230] For example, taking C as 1, the size A of the first transmission block TBS The following formula can be satisfied:
[0231] It is understandable that the method described above for determining the size of the first transport block can ensure that the size of the first transport block is divisible by 8, thus guaranteeing that it is measured in bytes.
[0232] In addition, if the current transmission uses MCS table 5.1.3.1-2 in standard 38.214, and the MCS index is greater than or equal to 28 and less than or equal to 31; or if the current transmission uses MCS table 5.1.3.1-4 in standard 38.214, and the MCS index is greater than or equal to 27 and less than or equal to 31; or if the MCS index in the previous transmission is greater than 26, the size of the first transmission block in the current transmission can be the size of the first transmission block in the previous transmission, or the size of the first transmission block in the current transmission can be the size of the first transmission block in the transmission most recent than the previous transmission.
[0233] It is understood that the size of the first transmission block can be determined based on a first value C, which in turn can be determined based on a first preset condition. Based on the description in step 501 of the first preset condition being determined according to one or more of the following: the number of bits corresponding to the transmission resource, the maximum mother code length, or the code rate, the second transmission block can be divided into more segments if the first preset condition is met, and into fewer segments if the first preset condition is not met. Optionally, the first preset condition may include one or more of the following conditions:
[0234] Condition 1: The bit rate is greater than the first threshold, or the second value is less than the second threshold;
[0235] Condition 2: The number of bits corresponding to the transmission resource is not divisible by the maximum mother code length;
[0236] Condition 3: The product of the first bit count and the code rate is greater than the third threshold.
[0237] Conditions 1, 2, and 3 will be described in detail below:
[0238] Condition 1: The bit rate is greater than the first threshold, or the second value is less than the second threshold.
[0239] Optionally, the first threshold can be a value close to 1 / 2. For example, the first threshold can be 2 / 3; or, the first threshold can be 1 / 2; or, the first threshold can be 7 / 16.
[0240] Understandably, the first threshold serves as a criterion for judging the bit rate. Setting the first threshold to a value close to 1 / 2 helps determine the bit rate level and whether to divide the transport block into an additional segment. This ensures that the rate matching method for the encoded bit sequence matches the rate matching method for the bit rate, thus improving coding performance. Furthermore, at higher bit rates, the rate matching method is shortening or puncturing. The first value can be the sum of the second value and 1. This means that the second transport block can be divided into an additional segment to shorten or puncture the encoded bit sequence, adapting to the rate matching method for the bit rate and thus improving coding performance. At lower bit rates, the rate matching method is repetition. The first value can be the maximum value between the second value and 1. This means that the second transport block can be divided into a smaller segment to repeat the encoded bit sequence, adapting to the rate matching method for the bit rate and thus improving coding performance.
[0241] The second value is the floor function of the ratio of the number of bits corresponding to the transmission resource to the maximum mother code length. For example, the second value S2 can satisfy the following formula: E tot N represents the number of bits corresponding to the transmission resource, and N is the maximum mother code length.
[0242] Optionally, the second threshold can be an integer close to 9. For example, the second threshold can be 8; or, the second threshold can be 9; or, the second threshold can be 10.
[0243] Understandably, the second threshold serves as the criterion for determining the magnitude of the second value. When the second value is less than 9, the performance difference between decoding with repetition and decoding with punctured or shortened rate matching is significant, allowing for the segmentation of the transport block to improve decoding performance. Conversely, when the second value is greater than 9, the performance difference between decoding with repetition and decoding with punctured or shortened rate matching is smaller, making the difference between segmenting the transport block more or less negligible, thus eliminating the need to consider segmenting it further. The second threshold can be set to an integer close to 9 to assess the relationship between the second value and the second threshold, thereby determining whether to segment the transport block further to improve decoding performance. This provides several feasible options for determining the value of the second threshold.
[0244] In addition, when the second value is less than the second threshold, it is desirable to segment the second transport block as few times as possible to reduce the number of code blocks, thereby improving decoding performance; at the same time, CB-CRC can be reduced, thereby reducing the code rate overhead caused by CB-CRC.
[0245] Condition 2: The number of bits corresponding to the transmission resource is not divisible by the maximum mother code length.
[0246] Condition 2 can be expressed as mod(E) tot (N) ≠ 0. Furthermore, the number of bits corresponding to the transmission resource can be expressed as mod(E) if it is divisible by the maximum mother code length. tot ,N)=0.
[0247] Condition 3: The product of the first bit count and the code rate is greater than the third threshold.
[0248] Wherein, the first bit count is the difference between the number of bits corresponding to the transmission resource and the first product, and the first product is the product of the second value and the maximum mother code length. For example, the first bit count can satisfy the following formula (E... tot -S2·N)·R, where S2 is the second value.
[0249] The first bit count can be understood as the product of the number of bits remaining after deducting N*S2 bits from the number of bits on the transmission resource and R.
[0250] Understandably, if the product of the first bit count and the code rate is greater than the third threshold, it can be determined that the first bit count can be greater than the length of the CB-CRC that would result from dividing the second transport block into an additional segment. In this case, an additional segment can be divided; otherwise, a smaller segment can be divided to minimize the number of segments, thereby reducing the code rate overhead caused by CB-CRC.
[0251] The third threshold can be predefined; or, the third threshold can be determined based on the maximum mother code length; or, the third threshold can be determined based on the maximum mother code length and the code rate.
[0252] In the first example, taking the third threshold as an example that can be determined based on the maximum mother code length N, the third threshold can be N / 16; or, the third threshold can be (3*N) / 32; or, the third threshold can be (3*N) / 64.
[0253] In the second example, taking the third threshold as an example that can be determined based on the maximum mother code length N and the code rate R, if the code rate is greater than the first threshold, the third threshold can be (3*N) / 64; or, if the code rate is less than or equal to the first threshold, the third threshold can be (3*N) / 32.
[0254] In the third example, taking a predefined third threshold as an example, the third threshold can be 240, or the third threshold can be 192.
[0255] Understandably, condition 3 allows the number of bits corresponding to the transmission resource to reach its maximum value, which is the maximum length supported by the interleaver. For example, the actual maximum interleaving length can be 7936. For instance, taking the actual maximum interleaving length as 7936, the code rate as the minimum (i.e., 1 / 16), and C as 1, assuming the maximum mother code length is 4096, according to (7936 - 1 * 4096) * 1 / 16 = T, T can be determined to be 240 (i.e., the third threshold is 240).
[0256] Furthermore, with the maximum mother code length being 4096 and the code rate being at its minimum, the third threshold can be (3*N) / 64, thus determining the third threshold to be 192.
[0257] It is understandable that the transmitting device can directly determine the third threshold, which can reduce the workload of the transmitting device; at the same time, it can simplify the implementation and reduce the computational complexity; or, the transmitting device can determine the third threshold that meets the actual communication requirements, and then determine C through the determined second threshold, which can improve the coding performance; in addition, it can increase the range of values for the third threshold, and improve the flexibility and diversity of the determination of the second threshold.
[0258] In one possible implementation, condition 3 can be represented as (Etot -S2·N)·R>T, where T is the third threshold.
[0259] Based on the above description of the first preset condition, this application provides at least two possible designs to determine the first value.
[0260] In the first possible design, the first preset condition may include condition 2 and condition 3, and the transmitting device can determine the first value based on the first preset condition. Specifically, refer to the following two possible implementations:
[0261] In a first possible implementation, if the first preset condition is met, the first value can be the sum of the second value and 1; or it can be described as follows: if the number of bits corresponding to the transmission resource is not divisible by the maximum mother code length, and the product of the first number of bits and the code rate is greater than the third threshold, the first value can be the sum of the second value and 1. If the first preset condition is not met, the first value can be the maximum value between the second value and 1; or it can be described as follows: if the number of bits corresponding to the transmission resource is divisible by the maximum mother code length, or the product of the first number of bits and the code rate is less than or equal to the third threshold.
[0262] The first value can be the maximum value between the second value and 1. If the number of bits corresponding to the transmission resource is less than the maximum mother code length, it can be determined that the transmission block will not be segmented, and the first value can be 1. If the number of bits corresponding to the transmission resource is greater than the maximum mother code length, it can be determined that the transmission block will be segmented, and the first value can be the second value.
[0263] The pseudocode for the first possible implementation can be as follows:
[0264] / / S2 is the second value
[0265] if mod(E tot ,N)≠0&&(E tot -S2·N)·R>T
[0266] C = S² + 1;
[0267] else
[0268] C = max(1, S2);
[0269] end
[0270] Alternatively, the pseudocode for the first possible implementation could be as follows:
[0271]
[0272] if mod(E tot ,N)≠0&&(E tot -S2·N)·R>T
[0273] C = S² + 1;
[0274] end if
[0275] C = max(1, S2);
[0276] In the second possible implementation, if conditions 2 and 3 are satisfied, the first value can be the third value; or it can be described as follows: if the number of bits corresponding to the transmission resource is not divisible by the maximum mother code length and the product of the first number of bits and the code rate is greater than the third threshold, the first value can be the third value. If conditions 2 or 3 are not satisfied, the first value can be the maximum value between the difference between the third value and 1 and 1; or it can be described as follows: if the number of bits corresponding to the transmission resource is divisible by the maximum mother code length, or the product of the first number of bits and the code rate is less than or equal to the third threshold.
[0277] The third value is the rounded-up result of the ratio of the number of bits corresponding to the transmission resource to the maximum mother code length. For example, the third value can satisfy the following formula:
[0278] The pseudocode for the second possible implementation can be as follows:
[0279] / / S2 is the second value
[0280] / / This is the third value of S3
[0281] if mod(E tot ,n)≠0&&(E tot -S2·N)·R>T
[0282] C = S3;
[0283] else
[0284] C = max(1, S3-1);
[0285] end
[0286] Alternatively, the pseudocode for the second possible implementation can be as follows:
[0287] / / S2 is the second value
[0288] / / This is the third value of S3
[0289] if mod(E tot ,N)≠0&&(E tot -S2·N)·R>T
[0290] C = S3;
[0291] end if
[0292] C = max(1, S3-1);
[0293] Alternatively, the pseudocode for the second possible implementation can be as follows:
[0294] / / S2 is the second value
[0295] / / This is the third value of S3
[0296] if mod(E tot ,N)=0||(E tot -S2·N)·R≤T||(mod(E tot ,N)=0&&(E tot -S2·N)·R≤T)
[0297] C = max(1, S3-1);
[0298] else
[0299] C = S3;
[0300] end
[0301] In the second possible design, the first preset condition may include condition 1, condition 2, and condition 3. The transmitting device can determine the first value based on the first preset condition. Specifically, refer to the following two possible implementations:
[0302] In a first possible implementation, if the first preset condition is met, the first value can be the sum of the second value and 1; or it can be described that the first value can be the sum of the second value and 1 under the following multiple conditions: the code rate is greater than the first threshold or the second value is less than the second threshold, the number of bits corresponding to the transmission resource is not divisible by the maximum mother code length, and the product of the first number of bits and the code rate is greater than the third threshold. If the first preset condition is not met, the first value can be the maximum value between the second value and 1; or it can be described that the first value can be the maximum value between the second value and 1 under one or more of the following conditions: the code rate is less than or equal to the first threshold, the second value is greater than or equal to the second threshold, the number of bits corresponding to the transmission resource is divisible by the maximum mother code length, or the product of the first number of bits and the code rate is less than or equal to the third threshold.
[0303] Taking a first threshold of 7 / 16 and a second threshold of 9 as an example, the pseudocode for the first possible implementation can be as follows:
[0304] / / S2 is the second value
[0305] if (R>7 / 16||S2<9)&&mod(E) tot ,N)≠0&&(E tot -S2·N)·R>T
[0306] C = S² + 1;
[0307] else
[0308] C = max(1, S2);
[0309] end
[0310] Alternatively, the pseudocode for the first possible implementation could be as follows:
[0311]
[0312] if (R>7 / 16||S2<9)&&mod(E) tot ,N)≠0&&(E tot -S2·N)·R>T
[0313] C = S² + 1;
[0314] end if
[0315] C = max(1, S2)
[0316] In the second possible implementation, under the condition that the first preset condition is met, the first value can be the third value; or it can be described that the first value can be the third value under the following multiple conditions: the code rate is greater than the first threshold or the second value is less than the second threshold, the number of bits corresponding to the transmission resource is not divisible by the maximum mother code length, and the product of the first number of bits and the code rate is greater than the third threshold. Under the condition that the first preset condition is not met, the first value can be the maximum value between the difference between the third value and 1 and 1; or it can be described that the first value can be the maximum value between the difference between the third value and 1 and 1 under one or more of the following conditions: the code rate is less than or equal to the first threshold, the second value is greater than or equal to the second threshold, the number of bits corresponding to the transmission resource is divisible by the maximum mother code length, or the product of the first number of bits and the code rate is less than or equal to the third threshold.
[0317] Taking a first threshold of 7 / 16 and a second threshold of 9 as an example, the pseudocode for the second possible implementation can be as follows:
[0318] / / S2 is the second value
[0319] / / This is the third value of S3
[0320] if (R>7 / 16||S2<9)&&mod(E) tot ,N)≠0&&(E tot -S2·N)·R>T
[0321] C = S3;
[0322] else
[0323] C = max(1, S3-1);
[0324] end
[0325] Alternatively, the pseudocode for the second possible implementation can be as follows:
[0326] / / S2 is the second value
[0327] / / This is the third value of S3
[0328] if (R>7 / 16||S2<9)&&mod(E) tot ,N)≠0&&(E tot -S2·N)·R>T
[0329] C = S3;
[0330] end if
[0331] C = max(1, S3-1);
[0332] Based on the two possible designs described above, the transmitting device can determine the first value (i.e., the number of code blocks) according to the first preset condition, and can minimize the number of code blocks (i.e., obtain the number of code blocks as the second value) to reduce CB-CRC, thereby reducing code rate loss. Furthermore, the second possible design imposes stricter conditions on the division of the second transport block into multiple segments, which can better reduce the number of code blocks, thus better reducing the code rate loss caused by the additional CB-CRC introduced by the multiple segmentation, and improving communication performance.
[0333] Based on the two possible designs mentioned above, the first value can be determined according to whether the first preset condition is met. Optionally, the first value can also be associated with the size of the first transmission block, the code rate, the maximum mother code length, and the second preset condition; or it can be described as the number of code blocks being associated with the size of the first transmission block, the code rate, the maximum mother code length, and the second preset condition.
[0334] Understandably, by adding a second preset condition, the difficulty of segmenting the transport block into multiple segments can be increased, thereby minimizing the need for segmentation, reducing the number of CB-CRC operations, and consequently reducing code rate loss. Furthermore, segmenting the transport block into fewer segments reduces the number of code blocks. Given that the probability of mistransmission of different code blocks during transmission is roughly the same, reducing the number of code blocks can lower the probability of mistransmission, thereby reducing the bit error rate of the transport block and improving communication reliability.
[0335] The second preset condition can be determined based on the size of the first transmission block, the code rate, and the maximum mother code length. Specifically, the second preset condition can be determined based on the first length, the code rate, and the maximum mother code length. The first length can be the integer result of the ratio of the size of the first transmission block to the code rate, or the integer result of the ratio of the sum of the size of the first transmission block and the TB-CRC length to the code rate.
[0336] For example, the first length can be the result of rounding up the ratio of the sum of the size of the first transport block and the TB-CRC length to the code rate; or, the first length can be the result of rounding down the ratio of the sum of the size of the first transport block and the TB-CRC length to the code rate; or, the first length can be the result of rounding the ratio of the sum of the size of the first transport block and the TB-CRC length to the code rate. For example, the first length G can satisfy the following formula: Among them, A TBS Let R be the size of the first transport block and R be the code rate; or, let the first length G satisfy the following formula: Where B is the sum of the size of the first transport block and the length of the TB-CRC.
[0337] Optionally, the second preset condition may include one or more of the following conditions:
[0338] Condition 4: The bitrate is greater than the first threshold, or the fourth value is less than the second threshold;
[0339] Condition 5: The first length cannot be divided by the length of the maximum mother code;
[0340] Condition 6: The product of the second bit count and the code rate is greater than the third threshold.
[0341] Conditions 4, 5, and 6 will be described in detail below:
[0342] Condition 4: The bit rate is greater than the first threshold, or the fourth value is less than the second threshold.
[0343] The fourth value is the result of rounding down the first length and the maximum mother code length. For example, the fourth value S4 can satisfy the following formula:
[0344] The first threshold and the second threshold can be referred to the above description of the first threshold and the second threshold, and will not be repeated here.
[0345] Understandably, when the bit rate is relatively high, the rate matching method is shortening or puncturing. The first value can be the sum of the fourth value and 1. That is, the second transport block can be divided into more segments to shorten or puncture the encoded bit sequence, thereby improving coding performance. When the bit rate is relatively low, the rate matching method is repetition. The first value can be the maximum value between the fourth value and 1. That is, the second transport block can be divided into fewer segments to repeat the encoded bit sequence, thereby improving coding performance.
[0346] Understandably, when the fourth value is less than the second threshold, it is desirable to segment the second transport block as few times as possible to reduce the number of code blocks and thus improve decoding performance; at the same time, reducing CB-CRC can reduce the code rate overhead caused by CB-CRC. When the fourth value is greater than or equal to the second threshold, whether the second transport block is segmented more or less has little impact on decoding performance or code rate, and can therefore no longer be considered a limiting condition.
[0347] Condition 5: The first length cannot be divided by the length of the maximum mother code.
[0348] Condition 5 can be represented as mod(G,N)≠0. Additionally, the requirement that the first length is divisible by the maximum mother code length can be represented as mod(G,N)=0.
[0349] Condition 6: The product of the second bit count and the code rate is greater than the third threshold.
[0350] The third threshold can be referred to in the above description of the third threshold, and will not be repeated here.
[0351] Wherein, the number of the second bits is the difference between the first length and the second product, and the second product is the product of the fourth value S4 and the maximum mother code length. For example, the number of the second bits can satisfy the following formula (G-S4·N)·R.
[0352] Condition 6 can be expressed as (G-S4·N)·R>T, where T is the third threshold.
[0353] It is understandable that if the product of the second bit count and the code rate is greater than the third threshold, it can be determined that the second bit count is greater than the length of the CB-CRC that would result from dividing the second transport block into an additional segment. In this case, an additional segment can be divided; otherwise, an fewer segment can be divided to minimize the number of segments and thus reduce the code rate overhead caused by CB-CRC.
[0354] Based on the above description of the second preset condition, optionally, this application provides a possible design to describe the relationship between the first value and the size of the first transmission block, the code rate, the maximum mother code length, and the second preset condition. The second preset condition may include conditions 4, 5, and 6, and the transmitting device can determine the first value based on the second preset condition. Specifically, the following two possible implementations can be referred to:
[0355] In the first possible implementation, if the second preset condition is met, the first value can be the sum of the fourth value and 1; or it can be described as follows: if the code rate is greater than the first threshold or the second value is less than the second threshold, the first length is not divisible by the maximum mother code length, and the product of the second number of bits and the code rate is greater than the third threshold, the first value can be the sum of the fourth value and 1. If the second preset condition is not met, the first value can be the maximum value between the fourth value and 1; or it can be described as follows: if the code rate is less than or equal to the first threshold, the second value is greater than or equal to the second threshold, the first length is divisible by the maximum mother code length, or the product of the second number of bits and the code rate is less than or equal to the third threshold.
[0356] The first value can be the maximum value between the fourth value and 1. If the first length is less than the maximum mother code length, it can be determined that the transmission block will not be segmented, and the first value can be 1. If the first length is greater than the maximum mother code length, it can be determined that the transmission block will be segmented, and the first value can be the fourth value.
[0357] Taking a first threshold of 7 / 16 and a second threshold of 9 as an example, the pseudocode for the first possible implementation can be as follows:
[0358] / / S4 is the fourth value
[0359] if(R>7 / 16||S4<9)&&mod(G,N)≠0&&(G-S4·N)·R>T
[0360] C = S4 + 1;
[0361] else
[0362] C = max(1, S4);
[0363] end
[0364] Alternatively, the pseudocode for the first possible implementation could be as follows:
[0365] / / S4 is the fourth value
[0366] if(R>7 / 16||S4<9)&&mod(G,N)≠0&&(G-S4·N)·R>T
[0367] C = S4 + 1;
[0368] end if
[0369] C = max(1, S4);
[0370] In the second possible implementation, if the second preset condition is met, the first value can be the fifth value; or it can be described as follows: if the code rate is greater than the first threshold or the second value is less than the second threshold, the first length is not divisible by the maximum mother code length, and the product of the second number of bits and the code rate is greater than the third threshold, the first value can be the fifth value. If the second preset condition is not met, the first value can be the maximum value between the difference between the fifth value and 1 and 1; or it can be described as follows: if the code rate is less than or equal to the first threshold, the second value is greater than or equal to the second threshold, the first length is divisible by the maximum mother code length, or the product of the second number of bits and the code rate is less than or equal to the third threshold.
[0371] The fifth value is the result of rounding up the first length and the maximum mother code length. For example, the fifth value can satisfy the following formula:
[0372] Taking a first threshold of 7 / 16 and a second threshold of 9 as an example, the pseudocode for the second possible implementation can be as follows:
[0373] / / S4 is the fourth value
[0374] / / This is the fifth value for S5
[0375] if(R>7 / 16||S4<9)&&mod(G,N)≠0&&(G-S4·N)·R>T
[0376] C = S5
[0377] else
[0378] C = max(1, S5-1)
[0379] end
[0380] Alternatively, the pseudocode for the second possible implementation can be as follows:
[0381] / / S4 is the fourth value
[0382] / / This is the fifth value for S5
[0383] if(R>7 / 16||S4<9)&&mod(G,N)≠0&&(G-S4·N)·R>T
[0384] C = S5
[0385] end if
[0386] C = max(1, S5-1);
[0387] The above design is only an example of the second preset conditions including conditions 4, 5 and 6 to determine the first value. The second preset conditions may also include conditions 5 and 6. For the specific method of determining the first value, please refer to the relevant description of the first preset conditions including conditions 2 and 3 to determine the first value, which will not be repeated here.
[0388] This application proposes a possible embodiment for determining the length of a code block. Taking a maximum mother code length of 1024 bits, a second transport block size of 1952 bits (i.e., 244 bytes), and a code rate of 1 / 2 as an example, the first length G can be determined to be 3904 bits (i.e., 1952 * 2), and the fourth value can be determined to be... If the second preset condition is met, the number of code blocks can be 4, and the length of each code block can be determined to be 488 bits. If the second preset condition is not met, the number of code blocks can be 3, and the length of each code block can be determined to be 651 bits (i.e., it can be the result of rounding down 1952 / 3, the result of rounding to the nearest integer 1952 / 3, the result of rounding up 1952 / 3, or the result of rounding to the nearest integer 1952 / 3). In addition, the a posteriori coding rate can be determined to be 0.5.
[0389] Based on the description of the above communication method, this application provides two possible embodiments to segment the second transmission block to obtain C code blocks. The first preset condition may include condition 1, condition 2, and condition 3; the second preset condition may include condition 4, condition 5, and condition 6; the first threshold may be 7 / 16; the second threshold may be 9; the length of TB-CRC is 24; and the length of CB-CRC is 24.
[0390] In the first possible embodiment, taking a maximum mother code length N of 4096 and a third threshold of 192 as an example, the specific steps for determining C code blocks can be referred to below. Figure 7 :
[0391] Step 701: Determine C based on the number of bits corresponding to the transmission resource, the maximum mother code length N, and the first preset condition.
[0392] Wherein, if the first preset condition is met, C can be the sum of the second value and 1; if the first preset condition is not met, C can be the maximum value between the second value and 1.
[0393] The second value can be referred to the description of the second value above, and will not be repeated here.
[0394] Step 702: Determine the size of the first transport block based on the number of bits, code rate, and C corresponding to the transport resources.
[0395] The size of the first transmission block in, N info It is the product of the number of bits and the code rate corresponding to the transmission resource.
[0396] The number of bits corresponding to the transmission resources can be referred to in the above description of the number of bits corresponding to the transmission resources, and will not be repeated here.
[0397] Step 703: Determine C code blocks based on the size of the first transmission block, the length of TB-CRC, the length of CB-CRC, the code rate, and C.
[0398] The k-th code block may include K-24 bits from the second transport block, as well as a CB-CRC of length 24.
[0399] Where K = B′ / C, B′ = B + C * L2, and B is the sum of the size of the first transmission block and the length of the TB-CRC.
[0400] The pseudocode for steps 701-703 above can be shown below:
[0401]
[0402]
[0403] It is understandable that C can also be associated with the size of the first transport block, the code rate, the maximum mother code length, and the second preset condition.
[0404] Wherein, if the second preset condition is met, C can be the sum of the fourth value and 1; if the second preset condition is not met, C can be the maximum value between the fourth value and 1.
[0405] The fourth value can be referred to in the above description of the fourth value, and will not be repeated here.
[0406] The pseudocode for determining C can be shown below:
[0407] / / S4 is the fourth value
[0408] if(R>7 / 16||S4<9)&&mod(G,N)≠0&&(G-S4·N)·R>192
[0409] C = S4 + 1;
[0410] else
[0411] C = max(1, S4);
[0412] end
[0413] Step 704: Perform polar coding on each of the C code blocks to obtain C encoded bit sequences of length N.
[0414] Step 705: Rate matching is performed on the C encoded bit sequences to obtain C rate-matched encoded bit sequences.
[0415] Where C is 1, the length E0 of the coded bit sequence after the 0th rate match can be E tot When C is greater than 1, the length E of the encoded bit sequence after the r-th rate match is... r It can be
[0416] Among them, E tot The number of bits corresponding to the transmission resource is as described above, and will not be repeated here.
[0417] Step 706: Modulate the third sequence to obtain the modulated symbol sequence.
[0418] The third sequence includes C rate-matched encoded bit sequences, or it can be understood that the third sequence can be obtained by concatenating the C rate-matched encoded bit sequences.
[0419] Alternatively, the third sequence can be scrambled, and the scrambled third sequence can be modulated to obtain a modulated symbol sequence. Alternatively, the third sequence can be interleaved, and the interleaved third sequence can be modulated to obtain a modulated symbol sequence.
[0420] For example, taking a modulation order of Q as an example, each Q bits in the third sequence can be mapped to a modulation symbol to obtain multiple modulation symbols, thereby determining the modulation symbol sequence. For example, taking a third sequence of length E as an example, E / Q modulation symbols can be determined, and the modulation symbol sequence can include E / Q modulation symbols.
[0421] Furthermore, a modulation symbol sequence can be output.
[0422] In the second possible embodiment, taking a maximum mother code length N of 4096 and a third threshold of 240 as an example, the third threshold in the second possible embodiment is different from the third threshold in the first possible embodiment, while all other contents are the same.
[0423] In the second possible embodiment, the pseudocode for steps 701-703 above can be as follows:
[0424]
[0425]
[0426] It is understandable that C can also be associated with the size of the first transport block, the code rate, the maximum mother code length, and the second preset condition.
[0427] The pseudocode for determining C can be shown below:
[0428] / / S4 is the fourth value
[0429] if(R>7 / 16||S4<9)&&mod(G,N)≠0&&(G-S4·N)·R>240
[0430] C = S4 + 1;
[0431] else
[0432] C = max(1, S4);
[0433] end
[0434] Based on the two possible embodiments described above, the transmitting or receiving device can determine the number of C or code blocks according to the two possible embodiments described above.
[0435] Based on the above description of the first and second preset conditions, W greater than the threshold can be understood as W being greater than or equal to the sum of the threshold and 1, or W less than the threshold can be understood as W being less than or equal to the difference between the threshold and 1, where W can be any parameter in the first or second preset conditions. For example, taking a bitrate greater than the first threshold as an example, it can be understood as the bitrate being greater than or equal to the first threshold + 1; or, taking (G-S4·N)·R>192 as an example, it can be understood as (G-S4·N)·R≥193.
[0436] In addition, if W is greater than the threshold, the transport block is divided into more segments, and if W is less than or equal to the threshold, the transport block is divided into fewer segments; this can be replaced by dividing the transport block into more segments if W is greater than or equal to the threshold, and dividing the transport block into fewer segments if W is less than the threshold.
[0437] In one example, taking W as the bitrate, C is the sum of the second value and 1 when the bitrate is greater than the first threshold, and the maximum value between the second value and 1 when the bitrate is less than or equal to the first threshold. It can be replaced by the following: C is the sum of the second value and 1 when the bitrate is greater than or equal to the first threshold, and the maximum value between the second value and 1 when the bitrate is less than the first threshold.
[0438] In another example, taking W as (G-S4·N)·R, when (G-S4·N)·R is greater than 192, C is the sum of the second value and 1; when (G-S4·N)·R is less than or equal to 192, C is the maximum value between the second value and 1. This can be replaced by the following: when (G-S4·N)·R is greater than or equal to 192, C is the sum of the second value and 1; when (G-S4·N)·R is less than 192, C is the maximum value between the second value and 1.
[0439] It is understood that the above alternative scenarios can be applied to any of the above embodiments for determining the number of C or code blocks, and will not be elaborated here.
[0440] The various embodiments of this application can be implemented independently or in combination, without limitation. Unless otherwise specified or in conflict of logic, the terminology and / or descriptions between the different embodiments provided in this application are consistent and can be referenced mutually. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.
[0441] It is understood that in the embodiments of this application, the executing entity may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the various steps may be executed in different orders as presented in the embodiments of this application, and it is not necessarily necessary to execute all the operations in the embodiments of this application.
[0442] The foregoing primarily describes the solutions provided in this application from the perspective of device-to-device interaction. It is understood that each device, in order to achieve the aforementioned functions, includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art will readily recognize that, based on the algorithmic steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware 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.
[0443] This application embodiment can divide each device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. The module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0444] When dividing each function into modules according to its corresponding function. Figure 8 A transmitting device 80 is shown, which can perform the above-described... Figures 5-7 The actions performed by the transmitting device in the method shown, and all related content of each step involved in the above method embodiments, can be referenced from the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiments, and will not be repeated here.
[0445] The transmitting device 80 may include a transceiver module 801 and a processing module 802. Exemplarily, the transmitting device 80 may be a communication device, or a chip or other combination device or component having the aforementioned transmitting device functions applied in a communication device. When the transmitting device 80 is a communication device, the transceiver module 801 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 802 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the transmitting device 80 is a component having the aforementioned transmitting device functions, the transceiver module 801 may be a radio frequency unit; the processing module 802 may be a processor (or processing circuit), such as a baseband processor. When the transmitting device 80 is a chip system, the transceiver module 801 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 802 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. It should be understood that the transceiver module 801 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 802 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).
[0446] For example, the transceiver module 801 can be used to perform... Figures 5-7 In the illustrated embodiment, all transmit and receive operations performed by the transmitting device, and / or other processes used to support the techniques described herein; the processing module 802 can be used to perform Figures 5-7 The embodiments shown include all operations performed by the transmitting device other than the sending and receiving operations, and / or other processes used to support the techniques described herein.
[0447] Figure 9 A receiving device 90 is shown, which can perform the above-described... Figures 5-7 The actions performed by the receiving device in the method shown, and all related content of each step involved in the above method embodiments, can be referenced from the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiments, and will not be repeated here.
[0448] The receiving device 90 may include a transceiver module 901 and a processing module 902. Exemplarily, the receiving device 90 may be a communication device, or a chip or other combination device or component having the aforementioned receiving device functions applied in a communication device. When the receiving device 90 is a communication device, the transceiver module 901 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 902 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the receiving device 90 is a component having the aforementioned receiving device functions, the transceiver module 901 may be a radio frequency unit; the processing module 902 may be a processor (or processing circuit), such as a baseband processor. When the receiving device 90 is a chip system, the transceiver module 901 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 902 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. The transceiver module 901 in this embodiment can be implemented by a transceiver or transceiver-related circuit components; the processing module 902 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).
[0449] For example, the transceiver module 901 can be used to perform... Figures 5-7 In the illustrated embodiment, all transmit and receive operations performed by the receiving device, and / or other processes used to support the techniques described herein; the processing module 902 can be used to perform Figures 5-7 The embodiments shown include all operations performed by the receiving device other than the transmit / receive operations, and / or other processes used to support the techniques described herein.
[0450] As another feasible approach Figure 8 The transceiver module 801 can be replaced by a transceiver unit, which can integrate the functions of the transceiver module 801; the processing module 802 can be replaced by a processor, which can integrate the functions of the processing module 802. Furthermore, Figure 8 The transmitting end device 80 shown may also include a memory. Alternatively, Figure 9 The transceiver module 901 can be replaced by a transceiver unit, which can integrate the functions of the transceiver module 901; the processing module 902 can be replaced by a processor, which can integrate the functions of the processing module 902. Furthermore, Figure 9 The receiver device 90 shown may also include a memory.
[0451] Alternatively, when the processing module 802 is replaced by a processor and the transceiver module 801 is replaced by a transceiver, the transmitting end device 80 involved in the embodiments of this application can also be... Figure 10The communication device 100 shown. Alternatively, when the processing module 902 is replaced by a processor and the transceiver module 901 is replaced by a transceiver, the receiving end device 90 involved in the embodiments of this application can also be Figure 10 The communication device 100 shown.
[0452] The processor can be logic circuit 1001, and the transceiver can be interface circuit 1002. Furthermore, Figure 10 The communication device 100 shown may further include a memory 1003. The memory 1003 may exist independently of the processor or may be integrated with the processor. The memory 1003 may be used to store instructions, program code, or some data. The memory 1003 may be located inside or outside the communication device 100, without limitation.
[0453] This application also provides a computer program product that, when executed by a computer, can implement the functions of any of the above method embodiments.
[0454] This application also provides a computer program that, when executed by a computer, can implement the functions of any of the above method embodiments.
[0455] This application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the computer-readable storage medium, and when executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be an internal storage unit of the terminal (including a data sending end and / or a data receiving end) of any of the foregoing embodiments, such as the terminal's hard disk or memory. The computer-readable storage medium can also be an external storage device of the terminal, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the terminal. Further, the computer-readable storage medium can include both the terminal's internal storage unit and external storage devices. The computer-readable storage medium is used to store the computer program and other programs and data required by the terminal. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0456] The terms "first" and "second," etc., used in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. "First" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first" and "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.
[0457] Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.
[0458] It is understood that in this application, "at least one (item)" refers to one or more. "More than one" refers to two or more. "At least two (items)" refers to two or three or more. "And / or" is used to describe the relationship between related objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one (item) 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 (item) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple. Both "...when" and "if" indicate that a corresponding action will be taken under certain objective circumstances. They are not time limits, nor do they require a judgment action to be taken when the action is taken, nor do they imply any other limitations.
[0459] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0460] In this application, "sending information to...(terminal device)" can be understood as the destination of the information being the terminal device. This can include sending information directly or indirectly to the terminal device. "Receiving information from...(terminal device)" can be understood as the source of the information being the terminal device, and can include receiving information directly or indirectly from the terminal device. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source.
[0461] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0462] In the several embodiments provided in this application, the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules or units is only 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 device, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0463] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0464] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0465] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of this application embodiment, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor 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.
Claims
1. A communication method, characterized in that, include: A first transport block is determined; wherein the size of the first transport block is determined based on the number of bits corresponding to the transport resource, the code rate, and a first value C, and the first value C is determined based on the number of bits corresponding to the transport resource, the maximum mother code length N, and a first preset condition; the first preset condition is determined based on one or more of the following: the number of bits corresponding to the transport resource, the maximum mother code length, or the code rate; the first value C is a positive integer; Output the first transfer block.
2. The method according to claim 1, characterized in that, The output of the first transmission block includes: The second transmission block is segmented to obtain C code blocks; wherein, the second transmission block includes the first transmission block and the cyclic redundancy check bits TB-CRC of the transmission block; Each of the C code blocks is encoded to obtain C encoded bit sequences of length N; Rate matching is performed on each of the C coded bit sequences to obtain C rate-matched coded bit sequences; Output the C rate-matched encoded bit sequences.
3. A communication method, characterized in that, include: Receive a sequence to be decoded; wherein the sequence to be decoded corresponds to a second transport block; The sequence to be decoded is decoded according to the size of the second transport block to obtain a decoding result; wherein, the size of the second transport block is determined according to the size of the first transport block; the size of the first transport block is determined according to the number of bits corresponding to the transport resource, the code rate, and a first value C, and the first value C is determined according to the number of bits corresponding to the transport resource, the maximum mother code length N, and a first preset condition; the first preset condition is determined according to one or more of the following: the number of bits corresponding to the transport resource, the maximum mother code length, or the code rate; the first value C is a positive integer.
4. The method according to claim 3, characterized in that, The step of decoding the sequence to be decoded according to the size of the second transport block to obtain the decoding result includes: Based on the size of the second transport block and the first value C, the sequence to be decoded is segmented to obtain C first sequences; Decompose rate matching for each of the C first sequences to obtain C second sequences; Decode each of the C second sequences to obtain the decoding result.
5. The method according to claim 3 or 4, characterized in that, The second transport block includes the first transport block and the cyclic redundancy check (TB-CRC) bits of the transport block.
6. The method according to any one of claims 1-5, characterized in that, The first preset condition includes one or more of the following: The bit rate is greater than the first threshold or the second value is less than the second threshold; The number of bits corresponding to the transmission resource is not divisible by the maximum mother code length; or The product of the first number of bits and the code rate is greater than the third threshold; Wherein, the second value is the result of rounding down the ratio of the number of bits corresponding to the transmission resource to the maximum mother code length; the first number of bits is the difference between the number of bits corresponding to the transmission resource and the first product, and the first product is the product of the second value and the maximum mother code length.
7. The method according to claim 6, characterized in that, If the first preset condition is met, the first value is the sum of the second value and 1; or If the first preset condition is met, the first value becomes the third value; The third value is the result of rounding up the ratio of the number of bits corresponding to the transmission resource to the maximum mother code length.
8. The method according to claim 6 or 7, characterized in that, If the first preset condition is not met, the first value is the maximum value between the second value and 1; or If the first preset condition is not met, the first value is the maximum value between the difference between the third value and 1 and 1. The third value is the result of rounding up the ratio of the number of bits corresponding to the transmission resource to the maximum mother code length.
9. The method according to any one of claims 6-8, characterized in that, The first threshold is 2 / 3; or The first threshold is 1 / 2; or The first threshold is 7 / 16.
10. The method according to any one of claims 6-9, characterized in that, The second threshold is 8; or The second threshold is 9; or The second threshold is 10.
11. The method according to any one of claims 6-10, characterized in that, The third threshold is predefined; or The third threshold is determined based on the maximum mother code length.
12. The method according to claim 11, characterized in that, The third threshold is N / 16; or The third threshold is (3*N) / 32; or The third threshold is (3*N) / 64.
13. The method according to any one of claims 6-12, characterized in that, The third threshold is also determined based on the bit rate.
14. The method according to claim 13, characterized in that, If the bitrate is greater than the first threshold, the third threshold is (3*N) / 64; or When the bit rate is less than or equal to the first threshold, the third threshold is (3*N) / 32.
15. The method according to any one of claims 6-14, characterized in that, When the maximum mother code length is 4096... The third threshold is 240; or The third threshold is 192.
16. The method according to any one of claims 1-15, characterized in that, The first value is associated with the size of the first transport block, the code rate, the maximum mother code length, and a second preset condition; wherein the second preset condition is determined based on the size of the first transport block, the code rate, and the maximum mother code length.
17. The method according to claim 16, characterized in that, The second preset condition includes one or more of the following: The bit rate is greater than the first threshold or the fourth value is less than the second threshold; The first length cannot be divided by the maximum mother code length; or The product of the second number of bits and the code rate is greater than the third threshold; Wherein, the first length is the result of rounding down the ratio of the size of the first transmission block to the code rate, or the first length is the result of rounding down the ratio of the sum of the size of the first transmission block and the TB-CRC length to the code rate. The second number of bits is the difference between the first length and the second product, the second product is the product of the fourth value and the maximum mother code length, and the fourth value is the result of rounding down the first length and the maximum mother code length.
18. The method according to claim 17, characterized in that, If the second preset condition is met, the first value is the sum of the fourth value and 1; or If the second preset condition is met, the first value is the fifth value; The fifth value is the result of rounding up the first length and the maximum mother code length.
19. The method according to claim 17 or 18, characterized in that, If the second preset condition is not met, the first value is the maximum value between the fourth value and 1; or If the second preset condition is not met, the first value is the maximum value between the difference between the fifth value and 1 and 1; The fifth value is the result of rounding up the first length and the maximum mother code length.
20. The method according to any one of claims 1-19, characterized in that, The size of the first transport block is determined based on a sixth value and the first value; wherein the sixth value is determined based on the number of bits corresponding to the transport resource, the code rate, and the length of the TB-CRC; the sixth value is a multiple of an integer power of 2, and the sixth value is greater than or equal to the length of the TB-CRC.
21. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instructions that cause the communication method as described in any one of claims 1-2, 6-20 to be executed, or cause the communication method as described in any one of claims 3-20 to be executed.
22. A communication device, characterized in that, The communication device includes an interface circuit and a logic circuit; the interface circuit is used to input and / or output information; the logic circuit is used to execute the communication method as described in any one of claims 1-2, 6-20, or to execute the communication method as described in any one of claims 3-20, and to process and / or generate the information based on the information.
23. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the communication method as described in any one of claims 1-2, 6-20, or as described in any one of claims 3-20, to be executed.
24. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are executed on a computer, they cause the communication method as described in any one of claims 1-2, 6-20 to be executed, or cause the communication method as described in any one of claims 3-20 to be executed.