Communication method and device
Patent Information
- Application Number
- CN202380101313.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-13
- Publication Date
- 2026-04-14
AI Technical Summary
The existing code block segmentation method may be incorrect or inapplicable in some new business scenarios, making it difficult to meet the communication needs of different business scenarios.
By dynamically determining the segment length of the code block, and according to the number of information columns of the base matrix and the lift value in the set of lift values, flexible segmentation of the data blocks to be transmitted is achieved, avoiding segmentation errors or inapplicability of the code blocks.
It improves the accuracy of code block segmentation and communication reliability, and can better meet the communication needs in different business scenarios.
Smart Images

Figure CN121866730A_ABST
Abstract
Description
Communication method and device Technical Field
[0001] The present application relates to the field of communications, and in particular to a communication method and device. Background Art
[0002] Low-density parity check code (LDPC) is a linear block code with a sparse check matrix. It not only has good performance close to the Shannon limit, but also has low decoding complexity and flexible structure. It has been identified by the 3rd Generation Partnership Project (3GPP) as the fifth generation (5G) data channel coding scheme. The code block segmentation (CB segmentation) method it uses is: the code block segment length K is determined according to the selected base graph (BG) cb , and use K cb The data blocks to be transmitted are segmented into code blocks. For example, if BG1 is selected, the data blocks to be transmitted are segmented according to 8448. If BG2 is selected, the data blocks to be transmitted are segmented according to .
[0003] However, in some new business scenarios, such as those with high reliability and / or low latency connection requirements, the existing code block segmentation method may be erroneous or inapplicable. How to meet the communication needs of different business scenarios is a technical problem that needs to be solved urgently.
[0004] Summary of the Invention
[0005] The embodiments of the present application provide a communication method and apparatus to meet the communication needs of different business scenarios.
[0006] This application adopts the following technical solutions:
[0007] In the first aspect, a communication method is provided, which can be executed by a transmitting device. Unless otherwise specified, the "transmitting device" in the embodiments of the present application can refer to the transmitting device itself (for example, a network device, a terminal device), or a component in the transmitting device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the transmitting device. The method includes: determining a first code block segment length, and segmenting the data block to be transmitted according to the first code block segment length, and performing LDPC encoding on the segmented data block to be transmitted to obtain the encoded data. The first code block segment length is used to segment the data block to be transmitted, and the first code block segment length is determined according to the number of information columns of the base matrix and the lifting value in the lifting value set corresponding to the base matrix. The base matrix is used to perform low-density parity check code LDPC encoding on the data block to be transmitted.
[0008] Based on the method described in the first aspect, it can be seen that the transmitting end can dynamically determine the first code block segment length according to the number of information columns of the base matrix and the boost value in the boost value set corresponding to the base matrix, so as to segment the data block to be transmitted. Compared with the existing code block segmentation method, the transmitting end directly uses the pre-selected fixed length K cb =3840 or K cb =8448 for segmentation, the length of the first code block segment can be dynamically adjusted according to the needs of the business scenario, which is more flexible and can avoid errors or inapplicability in code block segmentation, thereby improving the accuracy of code block segmentation and the reliability of communication to meet the communication needs in different business scenarios.
[0009] In a possible design, the length of the first code block segment satisfies the following relationship: K cb =K b ×Z c Among them, K cb is the first code block segment length, K b is the number of information columns, Z c is the lifting value, that is, the first code block segment length is the product of the number of information columns and the lifting value, which can accurately determine the first code block segment length, thereby improving the accuracy of code block segmentation.
[0010] In one possible design, the encoding rate is less than or equal to the first rate value, and the number of information columns is determined based on the minimum encoding rate and the maximum number of information columns. When the encoding rate is greater than or equal to the minimum encoding rate, the number of information columns is less than or equal to the maximum number of information columns. The first rate value can be a preset value, such as 1 / 3, without limitation. That is, in low-rate service scenarios, such as high-reliability, low-latency connection service scenarios, the number of information columns can be determined based on the minimum encoding rate and the maximum number of information columns to suit low-rate service scenarios.
[0011] Optionally, the number of information columns satisfies any of the following relationships:
[0012] or
[0013] Among them, R min is the minimum coding rate, K b is the number of information columns, K bmax is the maximum number of information columns, R min and K bmax The value of can be a preset value, so that the number of information columns in a low-code-rate business scenario can be accurately determined, thereby improving the accuracy of code block segmentation.
[0014] In one possible design, the number of information columns is determined according to the encoding bit rate, which is suitable for high-throughput business scenarios.
[0015] Optionally, the relationship between the number of information columns and the coding rate satisfies any of the following: when the coding rate is less than or equal to 0.875, the value of the number of information columns is 14; when the coding rate is greater than 0.875 and less than or equal to 0.9, the value of the number of information columns is 18; when the coding rate is greater than 0.9 and less than or equal to 0.917, the value of the number of information columns is 22; or, when the coding rate is greater than 0.917 and less than or equal to 0.926, the value of the number of information columns is 26. In this way, the transmitter can accurately determine the number of information columns in a high-throughput business scenario based on the value range of the coding rate, thereby improving the accuracy of code block segmentation.
[0016] In one possible design, the number of information columns is a preset value, that is, the number of information columns can be predefined or preconfigured, and the transmitter can directly use the predefined or preconfigured number of information columns to determine the length of the first code block segment, which is simple to implement.
[0017] In one possible design scheme, the boost value is a preset value, that is, the boost value can be predefined or preconfigured, and the transmitter can directly use the predefined or preconfigured boost value to determine the length of the first code block segment, and the implementation process is simple.
[0018] In one possible design scheme, corresponding to the terminal device sending a data block to be transmitted to the network device, the boost value is a first boost value; or, corresponding to the network device sending a data block to be transmitted to the terminal device, the boost value is a second boost value; the maximum value of the first boost value is greater than the maximum value of the second boost value.
[0019] It can be understood that the decoding capabilities of network equipment and terminal equipment are different, and the maximum decoding code length that the network equipment can support is greater than the maximum decoding code length that the terminal equipment can support. Therefore, the maximum value of the first boost value is greater than the maximum value of the second boost value. The sending end can flexibly select the boost value according to whether the data block to be transmitted belongs to an uplink data block or a downlink data block to achieve matching with the decoding capability of the receiving end, so as to improve the coding efficiency of the sending end and the decoding efficiency of the receiving end, thereby further improving the efficiency of communication.
[0020] Optionally, the number of values of the first boost value is greater than the number of values of the second boost value. For example, optionally, the value of the first boost value is any one of the following: 416, 448, 512, 1024, 115, 1536, 1920, or 2048; the value of the second boost value is any one of the following: 384 or 512. In this way, the terminal device can determine a value from the values of the above-mentioned first boost value as the boost value in the uplink data channel, or the network device can determine a value from the values of the above-mentioned second boost value as the boost value in the downlink data channel, for subsequent determination of the corresponding first code block segment length.
[0021] In one possible design, corresponding to the first communication service type, the first communication service type satisfies any of the following conditions: the number of bits contained in the data block to be transmitted is less than or equal to the first bit value, and the encoding rate is less than or equal to the second rate value; or the mother code length is less than or equal to the first code length, and the encoding rate is less than or equal to the third rate value. The mother code length is the length of the code block after encoding the data block to be transmitted. In this case, the transmitter can use LDPC codes to encode the data block to be transmitted, which has a flexible structure and low decoding complexity.
[0022] Optionally, corresponding to the base matrix including the first base graph BG1, the number of bits contained in the data block to be transmitted is less than or equal to the first bit value, and the encoding rate is less than or equal to the second rate value, including: the number of bits contained in the data block to be transmitted is greater than 3824, the number of bits contained in the data block to be transmitted is less than or equal to 8448, the encoding rate is greater than 0.25, and the encoding rate is less than or equal to 0.67; or, the number of bits contained in the data block to be transmitted is greater than 140, the number of bits contained in the data block to be transmitted is less than or equal to 8448, the encoding rate is greater than 0.67, and the encoding rate is less than or equal to 0.9258. That is, through the above-mentioned constraints on the number of bits contained in the data block to be transmitted and the encoding rate, the area to which BG1 belongs can be clearly determined. When the number of bits contained in the data block to be transmitted and the encoding rate belong to this area, the transmitter can directly use BG1 to encode the data block to be transmitted.
[0023] Optionally, corresponding to the base matrix including the second base graph BG2, the number of bits K contained in the data block to be transmitted is less than or equal to the first bit value, and the coding rate is less than or equal to the second rate value, including: the number of bits contained in the data block to be transmitted is greater than 1024, the bits contained in the data block to be transmitted is less than or equal to the third bit value 8448, and the coding rate is less than or equal to 0.25; or, the number of bits contained in the data block to be transmitted is greater than 1024, the number of bits contained in the data block to be transmitted is less than or equal to 3824, the coding rate is greater than 0.25, and the coding rate is less than or equal to 0.5; or, the number of bits contained in the data block to be transmitted is greater than 140, the number of bits contained in the data block to be transmitted is less than or equal to 3824, the coding rate is greater than 0.5, and the coding rate is less than or equal to 0.67. That is, through the constraints of the number of bits and the encoding rate contained in the above-mentioned data block to be transmitted, the area to which BG2 belongs can be clearly determined. When the number of bits and the encoding rate contained in the data block to be transmitted belong to this area, the sender can directly use BG2 to encode the data block to be transmitted.
[0024] Optionally, the mother code length is less than or equal to the first code length, and the encoding code rate is less than or equal to a third code rate value, including: the mother code length is greater than 1024, the mother code length is less than or equal to 25344, and the encoding code rate is less than or equal to 1 / 3; or the mother code length is greater than 512, the mother code length is less than or equal to 25344, the encoding code rate is greater than 1 / 3, and the encoding code rate is less than or equal to 2 / 3; or the mother code length is greater than 256, the mother code length is less than or equal to 25344, the encoding code rate is greater than 2 / 3, and the encoding code rate is less than or equal to 7 / 8. That is, through the above constraints of the mother code length and encoding code rate, the region to which the LDPC code belongs can be clearly determined. When the mother code length and encoding code rate belong to this region, the transmitter can directly use the LDPC code to encode the data block to be transmitted.
[0025] In one possible design, the method described in the first aspect further includes: encoding the data block to be transmitted using polar codes, corresponding to the second communication service type. The encoding rate and the number of bits in the data block to be transmitted for the second communication service type satisfy at least one of the following conditions: the number of bits in the data block to be transmitted is less than or equal to a second bit value, and the encoding rate is less than or equal to a fourth rate value. In this case, the transmitter can use polar codes to encode the data block to be transmitted, thereby improving decoding performance of the data channel. The transmitter does not need to segment the data block to be transmitted into code blocks.
[0026] Optionally, the number of bits included in the data block to be transmitted is less than or equal to the second bit value, and the coding rate is less than or equal to the fourth rate value, including: the number of bits included in the data block to be transmitted is less than or equal to 140, and the coding rate is less than or equal to 0.9258; or the number of bits included in the data block to be transmitted is greater than 140, the number of bits included in the data block to be transmitted is less than or equal to 1024, and the coding rate is less than or equal to 0.5. That is, through the above-mentioned constraints of the number of bits included in the data block to be transmitted and the coding rate, the region to which the polar code belongs can be clearly determined. When the number of bits included in the data block to be transmitted and the coding rate fall within this region, the transmitter can directly use the polar code to encode the data block to be transmitted. The performance of polar codes is far superior to that of LDPC codes, and polar codes have lower computational complexity in coding and decoding. Therefore, polar codes can improve the coding and decoding performance of the data channel.
[0027] In one possible design, the method described in the first aspect further includes: segmenting the data blocks to be transmitted, corresponding to the second communication service type; and encoding the data blocks to be transmitted using polar codes. The second communication service type satisfies the following conditions: the mother code length is less than or equal to the second code length, the encoding code rate is less than or equal to the fifth code rate, and the mother code length is the length of the code block after encoding the data blocks to be transmitted. In this case, the transmitter can use polar codes to encode the segmented data blocks to be transmitted, which can improve decoding performance of the data channel.
[0028] Optionally, the mother code length is less than or equal to the second code length, and the coding rate is less than or equal to a fifth code rate value, including: the mother code length is less than or equal to 1024, and the coding rate is less than or equal to 1 / 3; or, the mother code length is less than or equal to 512, the coding rate is greater than 1 / 3, and the coding rate is less than or equal to 2 / 3; or, the mother code length is less than or equal to 256, the coding rate is greater than 2 / 3, and the coding rate is less than or equal to 7 / 8. That is, through the above constraints of the mother code length and coding rate, the region to which the polar code belongs can be clearly determined. When the mother code length and coding rate fall within this region, the transmitter can directly use the polar code to encode the data block to be transmitted. The performance of polar codes is far superior to that of LDPC codes, and polar codes have lower computational complexity in coding and decoding. Therefore, the coding and decoding performance of the data channel can be improved.
[0029] Optionally, segmenting the data block to be transmitted includes segmenting the data block to be transmitted into code blocks according to a second code block segment length. The second code block segment length is determined according to a mother code length and an encoding rate. The transmitting end can flexibly adjust the second code block segment length according to the mother code length and the encoding rate to meet the needs of different service scenarios, thereby improving the reliability of the code block segmentation process and thus improving the reliability of communication.
[0030] Optionally, the second code block segment length satisfies the following relationship: Among them, A is the length of the second code block segment, N max is the mother code length, R is the encoding rate, that is, the first code block segment length is the product of the mother code length and the encoding rate, so that the second code block segment length can be accurately determined, thereby improving the accuracy of code block segmentation.
[0031] On the second aspect, a communication method is provided, which can be executed by a transmitting device. Unless otherwise specified, the "transmitting device" in the embodiments of the present application can refer to the transmitting device itself (for example, a network device, a terminal device), or a component in the transmitting device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the transmitting device. The method includes: obtaining a lifting value of a base matrix, and encoding the segmented data blocks to be transmitted according to the lifting value. The lifting value is determined according to the code block segment length and the number of information columns of the base matrix, and the code block segment length is a preset value; the base matrix is used to perform LDPC encoding on the data blocks to be transmitted.
[0032] Based on the method described in the second aspect, it can be seen that the transmitter can first determine the code block segment length according to the selected BG, and then use the code block segment length and the number of information columns of the base matrix to dynamically adjust the boost value of the base matrix. The transmitter uses the boost value of the base matrix to encode the segmented data blocks to be transmitted, which is more flexible and can avoid errors in the encoding process caused by a small number of information columns, thereby improving the accuracy of data channel coding to meet the needs of different scenarios and improve communication efficiency.
[0033] In one possible design, the improvement value satisfies the following relationship: Among them, Z c is the improvement value, K cb is the code block segment length, K b is the number of information columns, that is, the boost value is the product of the code block segment length and the number of information columns, so that the boost value can be accurately determined, thereby improving the accuracy of data channel coding.
[0034] In one possible design, the method described in the second aspect further includes: segmenting the data blocks to be transmitted according to the code block segment length. That is, the transmitting end may first segment the data blocks to be transmitted according to the code block segment length for subsequent LDPC encoding.
[0035] Optionally, the code block segment length is related to the type of base matrix. For example, if the base matrix is a first base matrix, the code block segment length is a first preset value, which is 8448. If the base matrix is a second base matrix, the code block segment length is a second preset value, which is 3840. The transmitter can determine the code block segment length to be 8448 or 3840 based on the base matrix type, so that the code block to be transmitted can be segmented into code blocks using 8448 or 3840.
[0036] In one possible design, the number of information columns is determined based on a minimum encoding rate and a maximum number of information columns, the encoding rate is greater than or equal to the minimum encoding rate, and the number of information columns is less than or equal to the maximum number of information columns. The first rate value may be a preset value, such as 1 / 3, without limitation.
[0037] Optionally, the number of information columns satisfies any of the following relationships:
[0038] or
[0039] Among them, R min is the minimum coding rate, K b is the number of information columns, K bmax is the maximum number of information columns, R min and K bmax The value of can be a preset value.
[0040] In one possible design, the number of information columns is determined according to the encoding bit rate.
[0041] Optionally, the relationship between the number of information columns and the encoding rate satisfies any of the following: when the encoding rate is less than or equal to 0.875, the value of the number of information columns is 14; when the encoding rate is greater than 0.875 and less than or equal to 0.9, the value of the number of information columns is 18; when the encoding rate is greater than 0.9 and less than or equal to 0.917, the value of the number of information columns is 22; or, when the encoding rate is greater than 0.917 and less than or equal to 0.926, the value of the number of information columns is 26.
[0042] In a possible design solution, the number of information columns may be a preset value.
[0043] In addition, other technical effects of the method described in the second aspect can refer to the technical effects of the method described in the first aspect, and will not be repeated here.
[0044] In the third aspect, a communication device is provided. The communication device can be applied to the transmitting device of the first aspect to implement the functions performed by the transmitting device. The communication device can be a transmitting device. Unless otherwise specified, the "transmitting device" in the embodiments of the present application can refer to the transmitting device itself (for example, a network device, a terminal device), or a component in the transmitting device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can implement all or part of the functions of the transmitting device. 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; accordingly, the processing module can also independently complete the following processing operations, or cooperate with the transceiver module to complete the following processing operations, without limitation.
[0045] The processing module is configured to determine a first code block segment length, segment the data block to be transmitted based on the first code block segment length, and perform LDPC encoding on the segmented data block to be transmitted to obtain encoded data. The first code block segment length is used to segment the data block to be transmitted, and the first code block segment length is determined based on the number of information columns of a base matrix and a lift value in a lift value set corresponding to the base matrix. The base matrix is used to perform LDPC encoding on the data block to be transmitted.
[0046] In a possible design, the length of the first code block segment satisfies the following relationship: K cb =K b ×Z c Among them, K cb is the first code block segment length, K b is the number of information columns, Z c To increase the value.
[0047] In one possible design, the encoding rate is less than or equal to the first rate value, the number of information columns is determined according to the minimum encoding rate and the maximum number of information columns, the encoding rate is greater than or equal to the minimum encoding rate, and the number of information columns is less than or equal to the maximum number of information columns.
[0048] Optionally, the number of information columns satisfies any of the following relationships:
[0049] or
[0050] Among them, R min is the minimum coding rate, K b is the number of information columns, K bmax is the maximum number of information columns, R min and K bmax The value of can be a preset value.
[0051] In one possible design, the number of information columns is determined according to the encoding bit rate.
[0052] Optionally, the relationship between the number of information columns and the encoding rate satisfies any of the following: when the encoding rate is less than or equal to 0.875, the value of the number of information columns is 14; when the encoding rate is greater than 0.875 and less than or equal to 0.9, the value of the number of information columns is 18; when the encoding rate is greater than 0.9 and less than or equal to 0.917, the value of the number of information columns is 22; or when the encoding rate is greater than 0.917 and less than or equal to 0.926, the value of the number of information columns is 26
[0053] In one possible design, the number of information columns is a preset value.
[0054] In one possible design, the number of information columns is a preset value.
[0055] In one possible design scheme, corresponding to the terminal device sending a data block to be transmitted to the network device, the boost value is a first boost value; or, corresponding to the network device sending a data block to be transmitted to the terminal device, the boost value is a second boost value; the maximum value of the first boost value is greater than the maximum value of the second boost value.
[0056] Optionally, the number of values of the first boost value is greater than the number of values of the second boost value.
[0057] Optionally, the first boost value is any one of the following values: 416, 448, 512, 1024, 115, 1536, 1920, or 2048; the second boost value is any one of the following values: 384 or 512.
[0058] In one possible design, corresponding to the first communication service type, the first communication service type satisfies any of the following conditions: the number of bits contained in the data block to be transmitted is less than or equal to the first bit value, and the encoding code rate is less than or equal to the second code rate value; or the mother code length is less than or equal to the first code length, and the encoding code rate is less than or equal to the third code rate value. The mother code length is the code block length after encoding the data block to be transmitted.
[0059] Optionally, corresponding to the base matrix including the first base graph BG1, the number of bits contained in the data block to be transmitted is less than or equal to the first bit value, and the coding rate is less than or equal to the second rate value, including: the number of bits contained in the data block to be transmitted is greater than 3824, the number of bits contained in the data block to be transmitted is less than or equal to 8448, the coding rate is greater than 0.25, and the coding rate is less than or equal to 0.67; or, the number of bits contained in the data block to be transmitted is greater than 140, the number of bits contained in the data block to be transmitted is less than or equal to 8448, the coding rate is greater than 0.67, and the coding rate is less than or equal to 0.9258.
[0060] Optionally, corresponding to the base matrix including the second base graph BG2, the number of bits K contained in the data block to be transmitted is less than or equal to the first bit value, and the coding rate is less than or equal to the second rate value, including: the number of bits contained in the data block to be transmitted is greater than 1024, the bits contained in the data block to be transmitted is less than or equal to the third bit value 8448, and the coding rate is less than or equal to 0.25; or, the number of bits contained in the data block to be transmitted is greater than 1024, the number of bits contained in the data block to be transmitted is less than or equal to 3824, the coding rate is greater than 0.25, and the coding rate is less than or equal to 0.5; or, the number of bits contained in the data block to be transmitted is greater than 140, the number of bits contained in the data block to be transmitted is less than or equal to 3824, the coding rate is greater than 0.5, and the coding rate is less than or equal to 0.67.
[0061] Optionally, the mother code length is less than or equal to the first code length, and the encoding code rate is less than or equal to the third code rate value, including: the mother code length is greater than 1024, the mother code length is less than or equal to 25344, and the encoding code rate is less than or equal to 1 / 3; or, the mother code length is greater than 512, the mother code length is less than or equal to 25344, the encoding code rate is greater than 1 / 3, and the encoding code rate is less than or equal to 2 / 3; or, the mother code length is greater than 4256, the mother code length is less than or equal to 25344, the encoding code rate is greater than 2 / 3, and the encoding code rate is less than or equal to 7 / 8.
[0062] In one possible design, corresponding to the second communication service type, the processing module is further configured to encode the data block to be transmitted using a polar code. The encoding rate and the number of bits in the data block to be transmitted for the second communication service type satisfy at least one of the following: the number of bits in the data block to be transmitted is less than or equal to the second bit value, and the encoding rate is less than or equal to a fourth rate value.
[0063] Optionally, the number of bits contained in the data block to be transmitted is less than or equal to the second bit value, and the encoding code rate is less than or equal to the fourth code rate value, including: the number of bits contained in the data block to be transmitted is less than or equal to 140, and the encoding code rate is less than or equal to 0.9258; or, the number of bits contained in the data block to be transmitted is greater than 140, the number of bits contained in the data block to be transmitted is less than or equal to 1024, and the encoding code rate is less than or equal to 0.5.
[0064] In one possible design, corresponding to the second communication service type, the processing module is further configured to segment the data block to be transmitted. The processing module is further configured to encode the data block to be transmitted using a polar code. The second communication service type satisfies the following conditions: the mother code length is less than or equal to the second code length, and the encoding code rate is less than or equal to the fifth code rate value; the mother code length is the code block length after encoding the data block to be transmitted.
[0065] Optionally, the mother code length is less than or equal to the second code length, and the encoding code rate is less than or equal to the fifth code rate value, including: the mother code length is less than or equal to 1024, and the encoding code rate is less than or equal to 1 / 3; or, the mother code length is less than or equal to 512, the encoding code rate is greater than 1 / 3, and the encoding code rate is less than or equal to 2 / 3; or, the mother code length is less than or equal to 256, the encoding code rate is greater than 2 / 3, and the encoding code rate is less than or equal to 7 / 8.
[0066] Optionally, the processing module is further configured to segment the data block to be transmitted into code blocks according to a second code block segment length, wherein the second code block segment length is determined according to the mother code length and the encoding rate.
[0067] Optionally, the second code block segment length satisfies the following relationship: Among them, A is the length of the second code block segment, N max is the mother code length, and R is the encoding rate.
[0068] Optionally, the communication device described in the third aspect may further include a storage module, wherein the storage module stores a program or instruction. When the processing module executes the program or instruction, the communication device may execute the communication method described in the first aspect.
[0069] The communication device described in the third aspect can be a terminal device or a network device, or it can be a component in the terminal device or network device (for example, a processor, a chip, or a chip system, etc.), or it can be a logic module or software that can realize all or part of the functions of the terminal device or network device. This application does not limit this.
[0070] In addition, the technical effects of the communication device described in the third aspect can refer to the technical effects of the communication method described in the first aspect, and will not be repeated here.
[0071] In a fourth aspect, a communication device is provided. The communication device can be applied to the transmitting device of the second aspect above to implement the functions performed by the transmitting device above. The communication device can be a transmitting device. Unless otherwise specified, the "transmitting device" in the embodiments of the present application can refer to the transmitting device itself (for example, a network device, a terminal device), or a component in the transmitting device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can implement all or part of the functions of the transmitting device. 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; accordingly, the processing module can also independently complete the following processing operations, or cooperate with the transceiver module to complete the following processing operations, without limitation.
[0072] The processing module is configured to obtain a lifting value of the base matrix and to encode the segmented data blocks to be transmitted based on the lifting value. The lifting value is determined based on the code block segment length and the number of information columns in the base matrix, where the code block segment length is a preset value. The base matrix is used to perform LDPC encoding on the data blocks to be transmitted.
[0073] In one possible design, the improvement value satisfies the following relationship: Among them, Z c is the improvement value, K cb is the code block segment length, K b The number of information columns.
[0074] In a possible design solution, the processing module is further configured to segment the data blocks to be transmitted into code blocks according to the code block segment length.
[0075] Optionally, the value of the code block segment length is related to the type of the base matrix. For example, if the base matrix is the first base matrix, the code block segment length is a first preset value, which is 8448; if the base matrix is the second base matrix, the code block segment length is a second preset value, which is 3840.
[0076] In one possible design, the encoding rate is less than or equal to a first rate value, the number of information columns is determined based on a minimum encoding rate and a maximum number of information columns, the encoding rate is greater than or equal to the minimum encoding rate, and the number of information columns is less than or equal to the maximum number of information columns. The first rate value may be a preset value.
[0077] Optionally, the number of information columns satisfies any of the following relationships:
[0078] or
[0079] Among them, R min is the minimum coding rate, K b is the number of information columns, K bmax is the maximum number of information columns, R min and K bmax The value of can be a preset value.
[0080] In one possible design, the number of information columns is determined according to the encoding bit rate.
[0081] Optionally, the relationship between the number of information columns and the encoding rate satisfies any of the following: when the encoding rate is less than or equal to 0.875, the value of the number of information columns is 14; when the encoding rate is greater than 0.875 and less than or equal to 0.9, the value of the number of information columns is 18; when the encoding rate is greater than 0.9 and less than or equal to 0.917, the value of the number of information columns is 22; or, when the encoding rate is greater than 0.917 and less than or equal to 0.926, the value of the number of information columns is 26.
[0082] In a possible design solution, the number of information columns may be a preset value.
[0083] Optionally, the communication device described in the fourth aspect may further include a storage module, wherein the storage module stores a program or instruction. When the processing module executes the program or instruction, the communication device can execute the communication method described in the second aspect.
[0084] The communication device described in the fourth aspect can be a terminal device or a network device, or it can be a component in the terminal device or network device (for example, a processor, a chip, or a chip system, etc.), or it can be a logical module or software that can realize all or part of the functions of the terminal device or network device. This application does not limit this.
[0085] In addition, the technical effects of the communication device described in the fourth aspect can refer to the technical effects of the communication method described in the second aspect, and will not be repeated here.
[0086] In a fifth aspect, a communication device is provided, comprising: a processor and a communication interface; the communication interface is used to communicate with a module outside the communication device; the processor is used to execute a computer program or instruction so that the communication device executes the method described in the first or second aspect above.
[0087] In a sixth aspect, a communication device is provided (for example, the communication device may be a chip or a chip system), which includes a processor for implementing the functions involved in the first or second aspect above.
[0088] In some possible designs, the communication device includes a memory for storing necessary program instructions and / or data.
[0089] In one possible design, the processor can be integrated with the memory.
[0090] In some possible designs, when the communication device is a chip system, it can be composed of a chip, or it can include a chip and other discrete devices.
[0091] In a seventh aspect, a communication device is provided, comprising: a transceiver and a processor, wherein the transceiver is used to exchange information between the communication device and other communication devices, and the processor executes program instructions to perform the method described in the first or second aspect.
[0092] In one possible design, the communication device described in aspect 7 may further include a memory. The memory may be integrated with the processor or provided separately. The memory may be used to store the computer program and / or data involved in the method described in aspect 1 or aspect 2 above.
[0093] It should be understood that the fifth to seventh aspects above include modules, units, or means corresponding to the methods described in the first or second aspects above, and the modules, units, or means may be implemented by hardware, software, or by hardware executing the corresponding software implementation. The hardware or software includes one or more modules or units for performing the functions involved in the above methods.
[0094] It can be understood that when the communication device provided in any one of the fifth to seventh aspects is a chip, the above-mentioned sending action / function can be understood as output, and the above-mentioned receiving action / function can be understood as input.
[0095] In an eighth aspect, a computer-readable storage medium is provided, in which a computer program or instruction is stored. When the computer-readable storage medium is run on a communication device, the communication device can execute the method described in the first or second aspect above.
[0096] In a ninth aspect, a computer program product comprising instructions is provided, which, when executed on a communication device, enables the communication device to execute the method described in the first or second aspect above.
[0097] In a tenth aspect, an embodiment of the present application provides a communication system, which may include a communication device as described in any possible design of the first aspect or the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0098] FIG1 is a schematic diagram of the structure of a base matrix corresponding to a NR LDPC code check matrix;
[0099] FIG2 is a schematic diagram of the architecture of a communication system provided in an embodiment of the present application;
[0100] FIG3 is a schematic diagram of the structure of an encoding-decoding architecture provided in an embodiment of the present application;
[0101] FIG4 is a flow chart of a communication method provided by the present application;
[0102] FIG5 is a first schematic diagram of area division corresponding to the coding method of the data channel;
[0103] FIG6 is a second schematic diagram of area division corresponding to the coding method of the data channel;
[0104] FIG7 is a second flow chart of a communication method provided in an embodiment of the present application;
[0105] FIG8 is a first structural diagram of a communication device provided in an embodiment of the present application;
[0106] FIG9 is a second structural diagram of the communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0107] For ease of understanding, the technical terms involved in the embodiments of this application are first introduced below.
[0108] 1. LDPC code check matrix
[0109] LDPC code is a linear block code, which is determined by a sparse matrix H with M rows and N columns. H consists of elements 0 and 1. Since most elements in the matrix are 0 except for a few 1s, it is called a sparse matrix. The sparse matrix H can also be called the LDPC code check matrix. H meets the following conditions: the ratio of the matrix row weight (the number of 1s in each row) and column weight (the number of 1s in each column) to the code length is much less than 1; any two rows (columns) have at most one 1 in the same position; and the number of any linearly independent columns is as large as possible.
[0110] QC-LDPC code is a subclass of LDPC code, and its check matrix H has a cyclic property. The check matrix H of a QC-LDPC code can usually be expressed as the following array:
[0111] Among them, each matrix A i,j Both are circulant matrices of size Z×Z. If the number of rows and columns of the parity check matrix H is denoted by M = ρZ and N = cZ, respectively, the length of the information sequence packet to be transmitted is K = NM. The transmitter needs to use the parity check matrix to encode the information sequence packet to be transmitted, and the receiver also needs to decode it based on the parity check matrix. The design process of QC-LDPC codes involves three key concepts: the circular permutation matrix (CPM), the base mode graph, and the base matrix (BG).
[0112] There are many ways to construct a check matrix for a QC-LDPC code. One possible method for constructing a check matrix for a quasi-cyclic LDPC code is to first construct a basis matrix B of size ρ×c, for example:
[0113] The fundamental mode graph of a QC-LDPC code is a matrix of the same size as the base matrix, with elements that are either 0 or 1: a 1 indicates that the shifting value (also called translation value) at the corresponding position in the base matrix is not equal to -1; a 0 indicates that the shifting value at the corresponding position in the base matrix is -1. For example, the fundamental mode graph of the base matrix in the above example is:
[0114] Then, each non-"-1" element in the basis matrix B is expanded into a circulant permutation matrix of size Z×Z, and the "-1" element is expanded into a full-zero matrix of size Z×Z. Assume that P is used i represents a Z×Z circulant permutation matrix, also called a subcirculant matrix of the basis matrix, and i is called P i For example:
[0115] Take Z=8 as an example:
[0116] It can be seen that P 0 is the identity matrix, each cyclic permutation matrix P i In fact, it is obtained by cyclically shifting the unit matrix right by i positions. Moreover, for a given Z, there are Z P i , that is, i∈{0,1,2,…,Z-1}. Each P i (0≤i<Z) is used to expand the elements with value i in the basis matrix B.
[0117] In this way, different parts of the base matrix B can be intercepted and expanded into corresponding check matrices according to different code rates, where a maximum check matrix of (ρZ)×(cZ) can be obtained. Therefore, the information sequence to be transmitted can be encoded and decoded at different code rates based on the different check matrices obtained.
[0118] For example, Figure 1 is a schematic structural diagram of a base matrix corresponding to an NR LDPC code check matrix provided in an embodiment of the present application. As shown in (a) in Figure 1, the base matrix is divided into a high rate region, an incremental redundancy region, a 0 matrix region, and an extended / expanded node region (raptor-like region). In practical applications, the first X rows and Y columns of the base matrix can be intercepted. As X and Y gradually increase, the code rate decreases from high to low, so that the area where the matrix is used gradually expands. Thus, the intercepted matrix part can be expanded to a check matrix.
[0119] Furthermore, Figure 1(b) shows a possible structure of the base matrix. As shown in Figure 1(b), A and B together form the high-rate core matrix. A corresponds to the information bits to be encoded, and B is a square matrix with a dual-diagonal structure, corresponding to the high-rate parity bits. C is an all-zero matrix. E is a unit matrix, corresponding to the parity bits of the low-spread code rate. D and E together form a single parity check relationship. As of now, 3GPP radio access network (RAN)1 specifies that two base matrices with length × width of 46 × 68 and 42 × 52 are used in enhanced mobile broadband (eMBB) scenarios to support large code length and high code rate coding and medium and low code length and low code rate coding, respectively.
[0120] Since NR LDPC codes support shortening (shortening by zero padding) and puncturing operations during the encoding process, the base matrix of some NR LDPC codes may also include the number of information bit puncturing bits, the number of information bit shortening bits, and the number of parity bit puncturing bits.
[0121] In the embodiment of the present application, the information bits are information bits encoded for LDPC codes, which may be information bits to be transmitted, or information bits to be transmitted including cyclic redundancy check (CRC) check bits, without limitation.
[0122] 2. Polar code
[0123] Polar codes are a known channel coding scheme that has been rigorously proven to achieve channel capacity. They offer high performance and low complexity, and have been selected by 3GPP as the control channel coding scheme for 5G enhanced mobile broadband (eMBB) scenarios (uplink and downlink).
[0124] Polar codes are the first channel coding method rigorously proven to achieve channel capacity. Polar codes significantly outperform LDPC codes across various code lengths, especially for finite codes. Furthermore, polar codes offer lower computational complexity in encoding and decoding. These advantages have led to their widespread adoption in 5G.
[0125] Polar code is a linear block code, the generator matrix is G N , the encoding process is in, is a binary row vector with a length of N (i.e., code length); GN is an N×N matrix, and n = log2(N); is the Kronecker product of n matrices F2.
[0126] During the encoding process of Polar code, A part of the bits in the data are used to carry information, called information bits, and the set of these special indexes is denoted as A; the other part of the bits are set to fixed values pre-agreed by the sender and receiver, called fixed bits, and the set of their indexes is denoted by the complement of A. c express.
[0127] 3. Hybrid automatic repeat request (HARQ)
[0128] In latency-insensitive communication applications, HARQ is a commonly used transmission method to improve system throughput. When transmitting a block of information, the transmitter encodes the block and sends it into the channel. If the receiver decodes the received signal and discovers a transmission failure (for example, failing a cyclic redundancy check), it sends a negative acknowledgment (NACK) message to the transmitter via a feedback link, prompting the transmitter to retransmit the block. This process continues until the receiver decodes the block correctly, at which point it sends an acknowledgment (ACK) message to the transmitter, completing the transmission of the block. To maximize link throughput, the receiver buffers all received signals and decodes them together with newly received signals.
[0129] 4. Code block segmentation (CB segmentation)
[0130] Code block segmentation refers to the process of dividing the bit stream to be encoded, such as transport block (TB), into shorter code blocks according to specific rules. Currently, the existing data channel uses LDPC coding, and its CB segmentation method is to first determine BG based on the current payload size (the number of bits contained in the transport block) and the coding rate, and then calculate the maximum message bit number K corresponding to BG. cbSegmentation is performed, where BG can be divided into BG1 and BG2. The code rate range R supported by BG1 can be {1 / 3, 2 / 5, 1 / 2, 2 / 3, 3 / 4, 5 / 6, 8 / 9; the size of BG2 is 42×52, and the code rate range R supported by BG2 can be {1 / 5, 1 / 3, 2 / 5, 1 / 2, 2 / 3}. If the selected BG is BG1, the data block to be transmitted is based on K cb The data blocks to be transmitted are divided into 8448 segments; if the selected BG is BG2, the ... cb Segment for 3840.
[0131] However, in some new business scenarios, the sender may encounter the following problems when using the existing code block segmentation method:
[0132] Question A: In some new business scenarios, such as those with high reliability and / or low latency connection requirements, the existing code block segmentation method may be erroneous or inapplicable. How to meet the communication requirements of different business scenarios is a technical problem that needs to be solved urgently.
[0133] For example, to support high-reliability and low-latency connection services, the transmitter may choose fewer information columns rather than reducing the code rate by increasing the number of redundant rows. In this case, the number of information columns corresponding to each CB segment may be smaller. For example, the number of information columns corresponding to each CB segment may be less than 6. At this time, LDPC may introduce a new BG, such as BG3. In order to reduce the coding rate to less than 1 / 5, the number of information columns in the base graph may be selected as 5.
[0134] At this time, if the number of message bits contained in the data block to be transmitted is 7680, BG2 will be selected according to the existing code block segmentation method, and K cb =3840 is divided into two segments of equal length. However, if 5 information columns are selected according to BG3, the lifting value (lifting size Zc) of the existing maximum basis matrix is 384. In this case, the maximum length of each CB segment is 1920, which is smaller than the existing segment length of 3840. Therefore, the code block needs to be re-segmented.
[0135] Question B: In some new business scenarios, such as those with high reliability and / or low latency connection requirements, the transmitter still uses the existing code block segmentation method for segmentation, which may cause errors in the transmitter's encoding process, resulting in low accuracy of data channel coding.
[0136] For example, if the number of message bits of the data block to be transmitted is 7680, BG2 will be selected according to the existing code block segmentation method, and K cb=3840 is divided into 2 segments of the same length each. However, if 5 information columns are selected according to the above BG3, the current maximum base matrix lift value is 384. At this time, the maximum length of each CB segment is 1920, which is less than the existing segment length of 3840. The sender uses 384 to encode each segmented CB, which will cause errors in the encoding process of the sender.
[0137] In summary, in response to the above technical problems, the embodiments of the present application propose the following technical solutions to meet the communication needs of different business scenarios.
[0138] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
[0139] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as wireless fidelity (WiFi) systems, vehicle to everything (V2X) communication systems, device-to-device (D2D) communication systems, 4G, such as long-term evolution (LTE) systems, world-wide interoperability for microwave access (WiMAX) communication systems, 5G, such as new radio (NR) systems, and future communication systems.
[0140] This application will present various aspects, embodiments, or features in the context of systems that may include multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all of the devices, components, modules, etc. discussed in conjunction with the figures. Furthermore, combinations of these aspects may also be used.
[0141] Additionally, in the embodiments of this application, words such as "exemplary" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of the word "exemplary" is intended to present concepts in a concrete manner.
[0142] In the embodiments of the present application, "information", "signal", "message", "channel" and "signaling" can sometimes be used interchangeably. It should be noted that when the distinction between them is not emphasized, the meanings they intend to express are matched. "of", "corresponding, relevant" and "corresponding" can sometimes be used interchangeably. It should be noted that when the distinction between them is not emphasized, the meanings they intend to express are matched. In addition, the " / " mentioned in the present application can be used to represent an "or" relationship. It can be understood that in the present application, "indication" can include direct indication, indirect indication, explicit indication and implicit indication. When describing a certain indication information as being used to indicate A, it can be understood that the indication information carries A, directly indicates A, or indirectly indicates A.
[0143] In this application, the information indicated by the indication information is referred to as the information to be indicated. In the specific implementation process, there are many ways to indicate the information to be indicated, such as but not limited to, the information to be indicated can be directly indicated, such as the information to be indicated itself or the index of the information to be indicated, etc., or the information to be indicated can be indirectly indicated by indicating other information, wherein there is an association between the other information and the information to be indicated. It is also possible to indicate only a part of the information to be indicated, while the other parts of the information to be indicated are known or agreed in advance. For example, the indication of specific information can also be achieved with the help of the arrangement order of each information agreed in advance (such as specified in the protocol), thereby reducing the indication overhead to a certain extent.
[0144] The information to be indicated can be sent as a whole or divided into multiple sub-information and sent separately. The transmission period and / or transmission timing of these sub-information can be the same or different. The specific transmission method is not limited in this application. The transmission period and / or transmission timing of these sub-information can be predefined, for example, according to a protocol, or can be configured by the transmitting device through sending configuration information to the receiving device.
[0145] The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field will know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0146] To facilitate understanding of the embodiments of the present application, a communication system applicable to the embodiments of the present application is first described in detail using the communication system shown in Figure 2 as an example. For example, Figure 2 is a schematic diagram of the architecture of a communication system applicable to the communication method provided in the embodiments of the present application.
[0147] Among them, there can be multiple network devices, such as a first network device, a second network device, a third network device, etc. The network device can be a device with wireless transceiver functions, or it can be a chip or chip system provided in the device, located in the access network (AN) of the communication system, to provide access services for the terminal. For example, the network device can be called a radio access network device (RAN) device, which can specifically be a next-generation mobile communication system, such as a 6G access network device, such as a 6G base station, or in the next-generation mobile communication system, the network device can also have other naming methods, which are all covered within the scope of protection of the embodiments of this application, and this application does not impose any limitations on this. Alternatively, the network device may include 5G, such as a gNB in a new radio (NR) system, or one or a group of antenna panels (including multiple antenna panels) of a base station in 5G, or a network node constituting a gNB, a transmission and reception point (TRP or TP), or a transmission measurement function (TMF), such as a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), a radio unit (RU), an RSU with base station functions, a wired access gateway, or a 5G core network element. Alternatively, the network device may include an access point (AP) in a wireless fidelity (WiFi) system, a wireless relay node, a wireless backhaul node, various types of macro base stations, micro base stations (also known as small cells), relay stations, access points, wearable devices, vehicle-mounted devices, and the like.
[0148] Among them, the CU and DU can be set separately, or can also be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU) or a remote radio head (RRH). It can be understood that the network device can be a CU node, a DU node, or a device including a CU node and a DU node. In addition, the CU can be divided into a network device in the access network RAN, or the CU can be divided into a network device in the core network CN, and there is no limitation here.
[0149] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, CU may also be called O-CU (Open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application uses CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0150] In the embodiments of the present application, the form of the network device is not limited. The device used to implement the function of the network device can be a network device; it can also be a device that can support the network device to implement the function, such as a chip system. The device can be installed in the network device or used in conjunction with the network device.
[0151] The terminal device may be one or more, such as a first terminal device, a second terminal device, a third terminal device, etc. The terminal device may be a terminal device with transceiver functions, or may be a chip or chip system provided in the terminal device. The terminal device may also be referred to as user equipment (UE), access terminal device, subscriber unit (subscriber unit), user station, mobile station (MS), mobile station, remote station, remote terminal device, mobile device, user terminal device, terminal device, wireless communication device, user agent or user device. The terminal device in the embodiments of the present application can be a mobile phone, a cellular phone, a smart phone, a tablet computer, a wireless data card, a personal digital assistant (PDA), a wireless modem, a handheld device (handset), a laptop computer, a machine type communication (MTC) terminal device, a computer with wireless transceiver function, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a smart home device (for example, a refrigerator, a television, an air conditioner, an electric meter, etc.), an intelligent robot, a robotic arm, a workshop device, a wireless terminal device in unmanned driving, a wireless terminal device in industrial control, a wireless terminal device in self-driving, a wireless terminal device in remote medical care, a wireless terminal device in a smart grid, a wireless terminal device in transportation safety, a wireless terminal device in a smart city, a smart home, etc. The terminal device of the present application may also be a vehicle-mounted module, a vehicle-mounted module, a vehicle-mounted component, a vehicle-mounted chip or a vehicle-mounted unit that is built into a vehicle as one or more components or units. The terminal device may also be other devices with terminal device functions, for example, the terminal device may also be a device that functions as a terminal device in D2D communication.
[0152] The embodiments of this application do not limit the form of the terminal device. The device used to implement the functions of the terminal device can be the terminal device; it can also be a device that supports the terminal device to implement 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 a chip or include a chip and other discrete devices.
[0153] In this communication system, the transmitting end can dynamically determine the first code block segment length according to the number of information columns of the base matrix and the boost value in the boost value set corresponding to the base matrix, so as to segment the data block to be transmitted. Compared with the existing code block segmentation method, the transmitting end directly uses the pre-selected fixed length K cb =3840 or K cb =8448 for segmentation, the length of the first code block segment can be dynamically adjusted according to the needs of the business scenario, which is more flexible and can avoid errors or inapplicability in code block segmentation, thereby improving the accuracy of code block segmentation and the reliability of communication to meet the communication needs in different business scenarios.
[0154] It can be understood that FIG2 is a simplified schematic diagram for ease of understanding, and the communication system may also include other network devices and / or other terminal devices, which are not shown in FIG2 .
[0155] For example, FIG3 is a schematic diagram of the structure of a coding-decoding architecture provided in an embodiment of the present application. As shown in FIG3, the transmitting device performs source coding, channel coding, and modulation processing on the source data to obtain coded data, and sends the coded data to the receiving device through a wireless channel. Accordingly, the receiving device can demodulate, channel decode, and source decode the received coded data to obtain the destination data. The transmitting device can be the network device shown in FIG2, and the receiving device can be the terminal device shown in FIG2; or, the transmitting device can be the terminal device shown in FIG2, and the receiving device can be the network device shown in FIG2.
[0156] It should be understood that Figure 3 is only a simple example. In a specific implementation, other possible steps can be added on the basis of Figure 3, such as radio network temporary identity (RNTI) scrambling, rate matching, descrambling, rate dematching, etc., without specific limitation.
[0157] In the embodiment of the present application, the coding and modulation process or the decoding and demodulation process can be implemented by an application specific integrated circuit (ASIC) chip or a field programmable gate array (FPGA) chip, or by software (program code in a memory).
[0158] For ease of understanding, the communication method provided in the embodiment of the present application will be specifically described below with reference to Figures 4 to 7.
[0159] For example, in response to the above-mentioned question A, FIG4 is a flow chart of a communication method provided in an embodiment of the present application. The method can be executed by a transmitting end device. The "transmitting end device" in the embodiment of the present application can refer to the transmitting end device itself (for example, a network device, a terminal device), or a component in the transmitting end device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the transmitting end device, without limitation. For example, the transmitting end device can be the network device or terminal device shown in FIG2.
[0160] Specifically, as shown in FIG4 , the process of the communication method is as follows:
[0161] S401: The transmitting end determines the length of a first code block segment.
[0162] In the embodiment of the present application, both the transmitting and receiving devices locally store a base matrix. For the transmitting device, the base matrix can be used for LDPC encoding of data (data blocks to be transmitted), and for the receiving device, the base matrix can be used for data decoding. The base matrix can be a base matrix corresponding to a parity check matrix used for encoding or decoding, or a base matrix corresponding to a parity check matrix used for encoding or decoding obtained after a transformation process (such as elimination, puncturing, or merging). The base matrix is lifted / expanded to obtain a parity check matrix, and this is not limited to this.
[0163] Among them, the first code block segment length can be used to segment the data blocks to be transmitted. The data blocks to be transmitted can be the data blocks to be channel-coded received by the transmitter. It can be understood that the data blocks to be transmitted, the data blocks to be channel-coded, or the transmission data blocks can be replaced with each other without limitation.
[0164] The length of the first code block segment can be determined according to the number of information columns of the base matrix and the lifting value in the lifting value set corresponding to the base matrix. The length of the first code block segment can satisfy the following relationship: K cb =K b ×Z c Among them, K cbis the first code block segment length, K b is the number of information columns, Z c To increase the value.
[0165] Next, K b The value of is described in detail.
[0166] In a possible design, the encoding rate is less than or equal to a first rate value, and the number of information columns is determined according to a minimum encoding rate and a maximum number of information columns.
[0167] The coding rate can be denoted as R, which can be determined by the formula R=K / N, where K is the number of bits contained in the data block to be transmitted, or in other words, K is the number of information bits; N is the code length, and the length of N can be the sum of the number of bits contained in the data block to be transmitted and the number of check bits, or in other words, the length of N can be the sum of the number of information bits and the number of redundant bits.
[0168] It should be understood that the encoding rate can also be replaced by code rate, coding efficiency or coding rate, or any other possible naming without limitation.
[0169] The first code rate value may be a preset value, for example, 1 / 3, without limitation. A coding rate less than or equal to the first code rate value may be understood as indicating a low-code rate service scenario, such as a high-reliability, low-latency connection service scenario. In other words, in a low-code rate service scenario, the number of information columns may be determined based on the minimum coding rate and the maximum number of information columns.
[0170] The minimum coding rate can be the minimum coding rate that the transmitting end can support. If the transmitting end uses the minimum coding rate to perform channel coding on the data block to be transmitted, then the accuracy of the information of the data block that the receiving end can decode can meet the communication requirements of the current business. If the transmitting end uses a coding rate less than the minimum coding rate to perform channel coding on the data block to be transmitted, then the receiving end cannot decode the information of the data block, or in other words, the accuracy of the information of the decoded data block cannot meet the communication requirements of the current business. That is, the minimum coding rate can be understood as the critical value of the coding rate. The value of the minimum coding rate can be a preset value. For example, the value of the minimum coding rate can be predefined or preconfigured according to the protocol. For example, the value of the minimum coding rate can be 1 / 5, which is not limited.
[0171] The maximum number of information columns can be the maximum number of information columns that the transmitter can support when performing channel coding. The value of the maximum number of information columns can be a preset value. For example, the maximum number of information columns can be predefined or preconfigured according to the protocol. For example, the value of the maximum number of information columns can be 42, which is not limited.
[0172] It can be understood that the encoding rate is greater than or equal to the minimum encoding rate, and the number of information columns is less than or equal to the maximum number of information columns, without any limitation.
[0173] Optionally, the minimum encoding bit rate may satisfy any of the following relationships:
[0174] or
[0175] Among them, R min is the minimum coding rate, K b is the number of information columns, K bmax The maximum number of information columns.
[0176] For example, suppose R min =1 / 5, K bmax =42, then
[0177] The above-mentioned number of information columns can be the number of columns corresponding to A shown in Figure 1. The starting value of the number of information columns can be calculated from the first column corresponding to A, or the starting value of the number of information columns can also be calculated from the number of columns that are not actually punched. For example, the first and second columns in A are punched. At this time, the starting value of the number of information columns can be calculated from the third column without limitation.
[0178] In one possible design, the number of information columns is determined according to the encoding bit rate.
[0179] It can be understood that in a high-bitrate business scenario, such as a high-throughput business scenario, the number of information columns can be determined according to the encoding bit rate.
[0180] For example, the relationship between the number of information columns and the encoding rate satisfies any of the following: when the encoding rate is less than or equal to 0.875, the number of information columns is 14; when the encoding rate is greater than 0.875 and less than or equal to 0.9, the number of information columns is 18; when the encoding rate is greater than 0.9 and less than or equal to 0.917, the number of information columns is 22; or when the encoding rate is greater than 0.917 and less than or equal to 0.926, the number of information columns is 26. In this way, the transmitter can accurately determine the number of information columns in high-throughput service scenarios based on the range of encoding rate values, thereby improving the accuracy of code block segmentation. That is, the relationship between the number of information columns and the encoding rate can be determined by the following Table 1.
[0181] Table 1
[0182] The above relationship between the number of information columns and the encoding rate is only an example, and the relationship between the number of information columns and the encoding rate can also meet other conditions and is not limited. For example, the above relationship between the number of information columns and the encoding rate can also meet any of the following: when the encoding rate is greater than 0.875 and less than or equal to 0.9, the value of the number of information columns is 14; when the encoding rate is greater than 0.9 and less than or equal to 0.917, the value of the number of information columns is 18; when the encoding rate is greater than 0.917 and less than or equal to 0.926, the value of the number of information columns is 22; or when the encoding rate is greater than 0.926, the value of the number of information columns is 26. That is, the relationship between the number of information columns and the encoding rate can be determined by the following Table 2.
[0183] Table 2
[0184] It can be understood that the above Tables 1 and 2 are only examples, and the relationship between the number of information columns and the encoding bit rate can also be determined by other methods, which are not limited.
[0185] In one possible design, the number of information columns is a preset value. That is, the number of information columns can be predefined or preconfigured. The transmitter can directly use the predefined or preconfigured number of information columns to determine the length of the first code block segment, simplifying the implementation process. For example, if the number of information columns is 5, the transmitter can directly use 5 to determine the length of the first code block segment without any limitation.
[0186] Next, Z c The value of is described in detail.
[0187] In one possible design, the boost value is a preset value. That is, the boost value can be predefined or preconfigured. The transmitter can directly use the predefined or preconfigured boost value to determine the first code block segment length, simplifying the implementation process. For example, if the boost value is 384, the transmitter can directly use 384 to determine the first code block segment length without any limitation.
[0188] In one possible design, when a terminal device sends a data block to be transmitted to a network device, the boost value is a first boost value; or, when a network device sends a data block to be transmitted to a terminal device, the boost value is a second boost value; the maximum value of the first boost value is greater than the maximum value of the second boost value. In other words, if the data block to be transmitted is uplink data, the boost value may belong to the boost value set of the uplink basis matrix; if the data block to be transmitted is downlink data, the boost value may belong to the boost value set of the downlink basis matrix.
[0189] It can be understood that the decoding capabilities of network equipment and terminal equipment are different, and the maximum decoding code length that the network equipment can support is greater than the maximum decoding code length that the terminal equipment can support. Therefore, the maximum value of the first boost value is greater than the maximum value of the second boost value. The sending end can flexibly select the boost value according to whether the data block to be transmitted belongs to an uplink data block or a downlink data block to achieve matching with the decoding capability of the receiving end, so as to improve the coding efficiency of the sending end and the decoding efficiency of the receiving end, thereby further improving the efficiency of communication.
[0190] Optionally, the number of values of the first boost value is greater than the number of values of the second boost value. In other words, the number of boost values in the boost value set of the uplink base matrix is greater than the number of boost values in the boost value set of the downlink base matrix. For example, the value of the first boost value is any one of the following: 416, 448, 512, 1024, 115, 1536, 1920, or 2048; the value of the second boost value is any one of the following: 384, or 512. In this way, the terminal device can determine a value from the above-mentioned first boost value as the boost value in the uplink data channel, or the network device can determine a value from the above-mentioned second boost value as the boost value in the downlink data channel, for subsequent determination of the corresponding first code block segment length.
[0191] For example, the first boost value is 2048 and the second boost value is 512. At this time, when the transmitting end performs channel coding on the data block to be transmitted on the physical uplink shared channel (PUSCH), 2048 can be used as the boost value to determine the first code block segment length; when the transmitting end performs channel coding on the data block to be transmitted on the physical downlink shared channel (PDSCH), 512 can be used as the boost value to determine the first code block segment length.
[0192] It should be understood that the first boost value may also be any other possible value, and the second boost value may also be any other possible value, without limitation.
[0193] At this time, the sending end can determine the number of information columns K according to the above method. b and the boost value Zc, and according to K cb =K b ×Zc determines the first code block segment length. It can be understood that the sending end can also use the number of information columns K b The set and the boost value Zc set are used to determine the set of code block segment lengths to be determined. After that, the sending end determines the first code block segment length in the set of code block segment lengths without any limitation.
[0194] In one possible design, corresponding to the first communication service type, the transmitter may perform LDPC encoding on the data block to be transmitted, and the first communication service type satisfies any of the following conditions:
[0195] The number of bits contained in the data block to be transmitted is less than or equal to the first bit value, and the encoding rate is less than or equal to the second rate value. Or,
[0196] The mother code length is less than or equal to the first code length, and the encoding code rate is less than or equal to the third code rate value. The mother code length is the length of the code block after the data block to be transmitted is encoded.
[0197] The following two cases are taken as examples to specifically introduce that the number of bits included in the data block to be transmitted is less than or equal to the first bit value and the encoding rate is less than or equal to the second rate value.
[0198] Case 1: corresponding to the base matrix including the first base graph BG1, the number of bits contained in the data block to be transmitted is greater than 3824 (K3), the number of bits contained in the data block to be transmitted is less than or equal to 8448 (K4), the encoding rate is greater than 0.25 (R1), and the encoding rate is less than or equal to 0.67 (R3); or,
[0199] The number of bits contained in the data block to be transmitted is greater than 140 (K1), the number of bits contained in the data block to be transmitted is less than or equal to 8448 (K4), the encoding rate is greater than 0.67 (R3), and the encoding rate is less than or equal to 0.9258 (R4, 948 / 1024).
[0200] The above values of K1, K3, K4, R1, R3 and R4 are only examples. K1, K3, K4, R1, R3 and R4 can also be any other possible values without limitation.
[0201] For example, FIG5 is a schematic diagram of the area division corresponding to the coding method of the data channel. As shown in FIG5, the vertical axis is the coding rate R (code-rate), and the horizontal axis is the number of bits K contained in the data block to be transmitted (or the payload size). At this time, the first base graph BG1 can correspond to area 1 and area 2 in FIG5. In area 1, the number of bits contained in the data block to be transmitted is greater than 3824 and less than or equal to 8448, and the coding rate is greater than 0.25 and less than or equal to 0.67; in area 2, the number of bits contained in the data block to be transmitted is greater than 140 and less than or equal to 8448, and the coding rate is greater than 0.67 and less than or equal to 0.9258. That is, when the number of bits contained in the data block to be transmitted and the coding rate belong to area 1 or area 2, the transmitter can use BG1 to encode the data block to be transmitted.
[0202] It is understood that the above "less than or equal to" can also be replaced by "less than", and the above "greater than" can also be replaced by "greater than or equal to", without limitation. For example, the number of bits contained in the data block to be transmitted is greater than 3824, the number of bits contained in the data block to be transmitted is less than or equal to 8448, the encoding rate is greater than 0.25, and the encoding rate is less than or equal to 0.67, which can also be replaced by the number of bits contained in the data block to be transmitted is greater than or equal to 3824, the number of bits contained in the data block to be transmitted is less than 8448, the encoding rate is greater than or equal to 0.25, and the encoding rate is less than 0.67.
[0203] Case 2: corresponding to the base matrix including the second base graph BG2, the number of bits contained in the data block to be transmitted is greater than 1024 (K2), the number of bits contained in the data block to be transmitted is less than or equal to the third bit value 8448 (K4), and the encoding rate is less than or equal to 0.25 (R1); or,
[0204] The number of bits contained in the data block to be transmitted is greater than 1024 (K2), the number of bits contained in the data block to be transmitted is less than or equal to 3824 (K3), the encoding rate is greater than 0.25 (R1), and the encoding rate is less than or equal to 0.5 (R2); or,
[0205] The number of bits contained in the data block to be transmitted is greater than 140 (K1), the number of bits contained in the data block to be transmitted is less than or equal to 3824 (K3), the encoding rate is greater than 0.5 (R2), and the encoding rate is less than or equal to 0.67 (R3).
[0206] The above values of K1, K2, K3, K4, R1, R2 and R3 are only examples. K1, K2, K3, K4, R1, R2 and R3 can also be any other possible values without limitation. For example, K1=140 is the LDPC short code interval K b =6 corresponding to the load size, which is also the maximum load size of polar code downlink control information (DCI); K1 can also be 544, that is, the LDPC short code interval K b =9 corresponding to the size of the load; K1 can also be 624, that is, the LDPC short code interval K b =10 corresponds to the size of the load.
[0207] For example, as shown in Figure 5, the first base graph BG2 can correspond to regions 3, 4, and 5 in Figure 5. In region 3, the number of bits contained in the data block to be transmitted is greater than 1024 and less than or equal to 3824, and the coding code rate is less than or equal to 0.25; in region 4, the number of bits contained in the data block to be transmitted is greater than 1024 and less than or equal to 38, what is the rest of the text here? It seems incomplete in the original Chinese.24, and the coding code rate is greater than 0.25 and less than or equal to 0.5; in region 5, the number of bits contained in the data block to be transmitted is greater than 384 and less than or equal to 3824, and the coding code rate is greater than 0.5 and less than or equal to 0.67. In other words, when the number of bits and the coding code rate of the data block to be transmitted belong to region 3, region 4, or region 5, the sending end can use BG2 to encode the data block to be transmitted.
[0208] It can be understood that the above "less than or equal to" can also be replaced by "less than", and the above "greater than" can also be replaced by "greater than or equal to", without limitation. For example, the number of bits contained in the above data block to be transmitted is greater than 140, the number of bits contained in the data block to be transmitted is less than or equal to 3824, the coding code rate is greater than 0.5, and the coding code rate is less than or equal to 0.67. It can also be replaced by the number of bits contained in the data block to be transmitted is greater than or equal to 384, the number of bits contained in the data block to be transmitted is less than 3824, the coding code rate is greater than or equal to 0.5, and the coding code rate is less than 0.67.
[0209] Next, taking the following case 3 as an example, the mother code length is less than or equal to the first code length, and the coding code rate is less than or equal to the third code rate value will be specifically introduced.
[0210] Among them, the mother code length can be understood as the length of the data block to be transmitted after channel coding, that is, the initial code length without rate matching. The initial code length can be E (E < N) is the length after rate matching obtained by puncturing or shortening the mother code length N.
[0211] Case 3: The mother code length is greater than 1024 (N3), the code length of the data block to be transmitted is less than or equal to 25,344 (N4), and the coding code rate is less than or equal to 1 / 3 (R1); or,
[0212] The mother code length is greater than 512 (N2), the mother code length is less than or equal to 25,344 (N4), the coding code rate is greater than 1 / 3 (R1), and the coding code rate is less than or equal to 2 / 3 (R2); or,
[0213] The mother code length is greater than 256 (N1), the mother code length is less than or equal to 25,344 (N4), the coding code rate is greater than 2 / 3 (R2), and the coding code rate is less than or equal to 7 / 8 (R3).
[0214] The above values of N1, N2, N3, N4, R1, R2 and R3 are only examples. N1, N2, N3, N4, R1, R2 and R3 can also be any other possible values without limitation.
[0215] For example, FIG6 is a second schematic diagram of the region division corresponding to the coding scheme of the data channel. As shown in FIG6 , the vertical axis is the coding rate R (code-rate), and the horizontal axis is the mother code length N. At this time, for a mother code length less than or equal to the first code length and a coding rate less than or equal to the third code rate value, it can correspond to regions a, b, and c in FIG6 . In region a, the mother code length is greater than 1024 and the code length is less than or equal to 25344, and the coding rate is less than or equal to 1 / 3; in region b, the mother code length is greater than 512 and less than or equal to 25344, the coding rate is greater than 1 / 3, and the coding rate is less than or equal to 2 / 3; in region c, the mother code length is greater than 256 and less than or equal to 25344, and the coding rate is greater than 2 / 3 and less than or equal to 7 / 8. In other words, when the mother code length and coding rate belong to region a, region b, or region c, the transmitter can use LDPC code to encode the data block to be transmitted.
[0216] It is understood that the above "less than or equal to" can be replaced by "less than", and the above "greater than" can be replaced by "greater than or equal to", without limitation. For example, the above mother code length is greater than 512, the mother code length is less than or equal to 25344, the encoding rate is greater than 1 / 3, and the encoding rate is less than or equal to 2 / 3 can also be replaced by the mother code length is greater than or equal to 512, the mother code length is less than 25344, the encoding rate is greater than or equal to 1 / 3, and the encoding rate is less than 2 / 3.
[0217] Region a, region b, and region c in FIG6 may be further divided, for example, by dividing region a, region b, and region c according to the base matrix BG1 or BG2, which will not be described in detail here.
[0218] It can be understood that in areas 1, 2, 3, 4, and 5 as shown in FIG5 , and in areas a, b, and c as shown in FIG6 , the transmitter can use LDPC codes to encode the data blocks to be transmitted.
[0219] It can be understood that the naming of the above-mentioned first code block segment length is only an example, and the first code block segment length can also be replaced by the first length, code block segment length #1, etc., without limitation.
[0220] S402: The transmitting end segments the data block to be transmitted according to the first code block segment length.
[0221] The following scenario is used as an example for detailed description.
[0222] Scenario 1: The current scenario is a high-reliability and low-latency connection scenario. Let the length (number of bits) of the data block to be transmitted be B1, the current coding rate be R, and the first coding rate threshold R1 be 1 / 5.
[0223] 1. If R < R1, the sender determines the number of information columns K b1 and the lifting value Z c1 values.
[0224] Let R be 1 / 8. At this time, 1 / 8 < 1 / 5, so the sender determines the value of K b1 can be 5, and the value of Z c1 can be 384.
[0225] 1.1. According to K b1 and Z c1 , determine K cb1 = K b1 × Z c1 = 5 × ¾ = 1920.
[0226] * 1.2. According to K cb1 segment the data block to be transmitted into code blocks. )]]
[0227] The sender can determine the number of segments for code block segmentation according to . If B1 is 7680, then That is, the sender divides the data block to be transmitted into 4 code blocks with a length of 192{].
[0228] 2. If R ≥ R1, segment the data block to be transmitted according to the existing code block segmentation method. That is, the sender segments according to 8448 or 3840. For specific introductions, please refer to the relevant parts in the above technical terms and will not be elaborated here.
[0229] It can be understood that Scenario 1 above can be represented by the following pseudocode:
[0230] The data to be segmented is an input sequence with a length equal to B1;
[0231] if R < R1 (such as R1 = 1 / 5)
[0232] K b1 = 5; / / Determine the number of information columns
[0233] Z c1 = 384; / / Determine the lifting value of the base matrix
[0234] K cb1 = K b1 × Z c1 ; / / Determine the segmentation length K according to the number of information columns and the lifting value of the base matrix cb1 Note: There seems to be an error in the original text where "Z = 384; / / 确定基矩阵的提升值" should probably be "Z = 384; / / Determine the lifting value of the base matrix" and in the calculation "K = 5 × ¾ = 1920" which might be incorrect as it was originally "K = 5×384 = 1920". The above translation has been done based on the provided text while trying to maintain the integrity of the content.
[0235] else
[0236] Existing standard practices
[0237] end if
[0238] Scenario 2: The current scenario is a high-throughput scenario. Assume that the length of the data block to be transmitted is B2, the current encoding rate is R, and the second rate threshold R2 is 0.917.
[0239] 1. If R>R2, the sender determines the number of information columns K b2 and the boost value Z c2 The value of .
[0240] If R is 0.95, then 0.95>0.917, and the sender determines K b2 The value of Z can be 26. c2 The value can be 384.
[0241] 1.1. According to K b2 and K b2 , determine K cb2 =K b2 ×Z c2 =26×384=9984.
[0242] 1.2. According to K b2 The data blocks to be transmitted are segmented into code blocks.
[0243] The sender can Determine the number of code block segments. If B2 is 19968, then That is, the receiving end divides the data block to be transmitted into two code blocks with a length of 9984.
[0244] 2. If R≤R2, the sender determines the number of information columns K b3 Improvement value Z c3 The value of .
[0245] If R is 0.91, then 0.91<0.917, and the sender confirms K b3 The value of Z can be 22. c3 The value can be 384.
[0246] 2.1. According to K b3 and Z c3 , determine K cb3 =K b3 ×Z c3 =22×384=8448.
[0247] 2.2. According to Kcb3 Segment the code block for the data block to be transmitted.
[0248] The sender can determine the number of segments for code block segmentation. If B2 is 19968, then That is, the sender divides the data block to be transmitted into 3 code blocks with a length of 8448.
[0249] It can be understood that the above scenario 2 can be characterized by the following pseudo-code:
[0250] The data to be segmented is an input sequence with a length equal to B2
[0251] if R > R2 (e.g., R2 = 0.917)
[0252] K b2 = 26; / / Determine the number of information columns
[0253] Z [[ID=
[0262] Assume R is 1 / 8. At this time, 1 / 8<1 / 5, then the sender determines K b4 The value of Z can be 5, c4 The value of can be determined according to Table 5.3.2-1 in the technical specification (TS) 38.212, such as K b4 =384, making |K b4 ×Z c4 -B| has the smallest value.
[0263] 1.1. According to K b4 and Z c4 , determine K cb4 =K b4 ×Z c4 =5×384=1920.
[0264] 1.2. According to K cb4 The data blocks to be transmitted are segmented into code blocks.
[0265] The sender can Determine the number of code block segments. If B is 2000, then That is, the transmitting end divides the data block to be transmitted into two code blocks with a length of 1920.
[0266] 2. According to the number of segments C, re-determine the number of bits to be encoded. Because C is the result after rounding up, the sum of the number of bits in each segment after segmentation may be greater than the number of bits before segmentation B, that is, the sum of the number of bits in each segment after segmentation is B'=K cb4 ×Z c4 ×C=1920*2=3840. If B'>B, (B'-B)=1840 zeros are added before the B bits to be segmented, and the remaining B=2000 bits are located at the last B positions.
[0267] For each segmented data, such as the rth segment data, r = {0, 1, 2, ..., C-1}, a cascade CRC operation is performed, and the bit length of the rth segment is Kr = K cb4 ×Z c4 , perform L-bit CRC encoding on each Kr bit segment, and the encoded L-bit CRC check bit is cascaded after each Kr bit data segment. It can be understood that the specific implementation of CRC encoding and CRC cascade operations can be implemented by reusing the existing technology and will not be repeated here.
[0268] It can be understood that the above scenario 3 can be represented by the following pseudo code:
[0269] if R<1 / 5
[0270] Kb4 = 5; / / Determine the number of information columns first
[0271] Find the value of Zc in the standard that minimizes |K b4 ×Z c4 - B|;
[0272] B' = (K b4 ×Z c4 ) × C
[0273] for i = 0 to B' - B - 1
[0274] b′ i = 0;
[0275] end for <00008r(L-1) .
[0287] for k=K r -L to K r -1
[0288] end for
[0289] end for
[0290] else
[0291] existing standard practices;
[0292] end
[0293] It is understood that the specific implementation process of the above existing standard practices can refer to the relevant content of Chapter 5 of TS 38.212 and will not be repeated here.
[0294] S403: The transmitting end performs LDPC encoding on the segmented data blocks to be transmitted to obtain encoded data.
[0295] It can be understood that the specific implementation process of the transmitter performing LDPC encoding on the segmented data blocks to be transmitted can reuse the existing LDPC encoding method, which will not be described in detail.
[0296] In summary, the transmitting end can dynamically determine the first code block segment length according to the number of information columns of the basis matrix and the boost value in the boost value set corresponding to the basis matrix, so as to segment the data block to be transmitted. Compared with the existing code block segmentation method, the transmitting end directly uses the pre-selected fixed length K cb =3840 or K cb =8448 for segmentation, the length of the first code block segment can be dynamically adjusted according to the needs of the business scenario, which is more flexible and can avoid errors or inapplicability in code block segmentation, thereby improving the accuracy of code block segmentation and the reliability of communication to meet the communication needs in different business scenarios.
[0297] In combination with the above embodiment, optionally, the above method may further include:
[0298] Corresponding to the second communication service type, the transmitting end uses a polar code to encode the data block to be transmitted.
[0299] The encoding rate corresponding to the second communication service type and the number of bits contained in the data block to be transmitted satisfy at least one of the following:
[0300] The number of bits included in the data block to be transmitted is less than or equal to the second bit value, and the encoding code rate is less than or equal to the fourth code rate value.
[0301] The following is a detailed introduction using the following situation 4 as an example.
[0302] Case 4: The number of bits contained in the data block to be transmitted is less than or equal to 140 (K1), and the encoding rate is less than or equal to 0.9258 (R4); or,
[0303] The number of bits included in the data block to be transmitted is greater than 140 (K1), the number of bits included in the data block to be transmitted is less than or equal to 1024 (K2), and the encoding rate is less than or equal to 0.5 (R2).
[0304] The above values of K1, K2, R2 and R4 are only examples, and K1, K2, R2 and R4 can also be any other possible values without limitation.
[0305] For example, as shown in Figure 5, the number of bits contained in the data block to be transmitted is less than or equal to the second bit value, and the coding rate is less than or equal to the fourth code rate value, which can correspond to regions 6 and 7 in Figure 5. In region 6, the number of bits contained in the data block to be transmitted is less than or equal to 140, and the coding rate is less than or equal to 0.9258; in region 7, the number of bits contained in the data block to be transmitted is greater than 140, the number of bits contained in the data block to be transmitted is less than or equal to 1024, and the coding rate is less than or equal to 0.5. In other words, when the number of bits contained in the data block to be transmitted and the coding rate belong to region 6 or region 7, the transmitter can use polar codes to encode the data block to be transmitted.
[0306] It is understood that the above "less than or equal to" can be replaced by "less than", and the above "greater than" can be replaced by "greater than or equal to", without limitation. For example, the above-mentioned number of bits contained in the data block to be transmitted is greater than 140, the number of bits contained in the data block to be transmitted is less than or equal to 1024, and the encoding rate is less than or equal to 0.5 can also be replaced by the number of bits contained in the data block to be transmitted is greater than or equal to 384, the number of bits contained in the data block to be transmitted is less than 1024, and the encoding rate is less than 0.5.
[0307] In areas 6 and 7 as shown in Figure 5, the data packets in the data channel are short packets, or in other words, the data blocks to be transmitted are short codes with low code rates. At this time, the sender does not need to segment the transmitted data blocks into code blocks, and the sender can directly use polar codes for encoding.
[0308] It can be understood that as shown in FIG. 5, the sending end can determine the coding method or coding type corresponding to the data channel according to the number of bits included in the data block to be transmitted and the region to which the coding rate belongs. For example, when the number of bits included in the data block to be transmitted and the coding rate belong to Region 1, Region 2, Region 3, Region 4 or Region 5, the sending end can use LDPC codes to encode the data block to be transmitted; when the number of bits included in the data block to be transmitted and the coding rate belong to Region 6 or Region 7, the sending end can use polar codes to encode the data block to be transmitted. Thus, a new coding method can be introduced into the data channel. The performance of polar codes is far better than that of LDPC codes, and polar codes have a lower computational complexity in encoding and decoding. Therefore, the encoding and decoding performance of the data channel can be improved. The embodiments of the present application do not limit the specific implementation process of the sending end using polar codes to encode the data block to be transmitted. <> <>
[0309] For example, the following scenario is used for specific introduction. <> <>
[0310] Scenario 4: As shown in FIG. 5, assume that the number of bits included in the data block to be transmitted is A, and the current coding rate is R. <> <>
[0311] If K1 < A ≤ K2 and R ≤ R2, or A ≤ K1 and R ≤ R4, at this time, the sending end does not need to perform code block segmentation on the data block to be transmitted, and the number of segments C of the code block segmentation is 1. <> <>
[0312] If K2 < A ≤ K4 and R ≤ R1, or K2 < A ≤ K3 and R1 < R ≤ R2, or K1 < A ≤ K3 and R2 < R ≤ R3, at this time, the code block segmentation length K <> cb = 3840, and the sending end segments the data block to be transmitted according to 3840. <> <>
[0313] If K3 < A ≤ K4 and R1 < R ≤ R3, or K1 < A ≤ K4 and R3 < R ≤ R4, at this time, the code block segmentation length K <> cb = 8448, and the sending end segments the data block to be transmitted according to 8448. <> <>
[0314] If A ≤ K <> cb , then the number of bits L of the CRC check bits takes the value of 0, the number of segments C of the code block segmentation is 1, and the sum A' of the number of bits of each segment after segmentation is equal to A; otherwise, the value of L is 24, the number of segments <> of the code block segmentation B' = B + C·L, and the number of bits K' of each data block after segmentation = B' / C. <> <>
[0315] It can be understood that the above Scenario 4 can be represented by the following pseudocode: <> <>
[0316] if K1 < A ≤ K2 and R ≤ R2_2, or A ≤ K1 and R ≤ R4;
[0317] No segmentation, C = 1;
[0318] else if K2 < A ≤ K4 and R ≤ R1, or K2 < A ≤ K3 and R1 < R ≤ R2, or K1 < A ≤ K3 K1 < A ≤ K3 and R2 < R ≤ R3;
[0319] K cb = 3840, segment according to K cb Segment;
[0320] else
[0321] K cb = 8448, segment according to K cb Segment;
[0322] if A ≤ K cb ;
[0323] L = 0, Number of code blocks C = 1; A’ = A;
[0324] else
[0325] L = 24, Number of code blocks:
[0326] The number of bits K in each code block is calculated as K’ = B’ / C;
[0327] Optionally, the above method may further include:
[0328] Corresponding to the second communication service type, the sender segments the data block to be transmitted;
[0329] 0The sender uses a polar code to encode the data block to be transmitted.
[0330] Among them, the mother code length is the code block length after encoding the data block to be transmitted. It can be understood that the relevant introduction of the mother code length can refer to the relevant introduction in step S401 above, and will not be elaborated here.
[0331] The second communication service type can meet the conditions: the mother code length is less than or equal to the second code length, and the coding code rate is less than or equal to the fifth code rate value; the mother code length is the code block length after encoding the data block to be transmitted. The following takes the following situation 5 as an example for specific introduction.
[0332] Case 5: The mother code length is less than or equal to 1024 (N3), and the encoding rate is less than or equal to 1 / 3 (R1); or,
[0333] The mother code length is less than or equal to 512 (N2), the encoding rate is greater than 1 / 3 (R1), and the encoding rate is less than or equal to 2 / 3 (R2); or,
[0334] The mother code length is less than or equal to 256 (N1), the encoding rate is greater than 2 / 3 (R2), and the encoding rate is less than or equal to 7 / 8 (R3).
[0335] The above values of N1, N2, N3, R1, R2 and R3 are only examples. N1, N2, N3, R1, R2 and R3 can also be any other possible values without limitation.
[0336] For example, as shown in Figure 6, when the mother code length is less than or equal to the second code length and the encoding rate is less than or equal to the fifth rate value, the values correspond to regions d, e, and f in Figure 6. Within region d, the mother code length is less than or equal to 1024, and the encoding rate is less than or equal to 1 / 3; within region e, the mother code length is less than or equal to 512, the encoding rate is greater than 1 / 3, and the encoding rate is less than or equal to 2 / 3; and within region f, the mother code length is less than or equal to 256, the encoding rate is greater than 2 / 3, and the encoding rate is less than or equal to 7 / 8. In other words, when the mother code length and encoding rate fall within region d, e, or f, the transmitter can use polar codes to encode the data blocks to be transmitted.
[0337] It can be understood that, as shown in Figure 6, the transmitter can determine the coding mode or coding type corresponding to the data channel according to the region to which the mother code length and the coding code rate belong. For example, when the mother code length and the coding code rate belong to region a, region b, or region c, the transmitter can use LDPC code to encode the data block to be transmitted; when the mother code length and the coding code rate belong to region d, region e, or region f, the transmitter can use polar code to encode the data block to be transmitted. In this way, a new coding mode can be introduced in the data channel. The performance of polar code is much better than LDPC code, and polar code has lower computational complexity in coding and decoding. Therefore, the coding and decoding performance of the data channel can be improved.
[0338] It can be understood that before the transmitting end uses the polar code to encode the data block to be transmitted, the transmitting end needs to perform code block segmentation on the data block to be transmitted according to the second code block segment length.
[0339] The second code block segment length is determined according to the mother code length and the encoding rate. The second code block segment length can satisfy the following relationship: Among them, A is the length of the second code block segment, N max is the mother code length, and R is the encoding rate.
[0340] At this time, the sending end can use the mother code length N max The product of the code rate R determines the second code block segment length A, and uses the second code block segment length to segment the data block to be transmitted. For example, if the maximum mother code length after retransmission is Nmax = 2048 and the maximum initial transmission code rate is R = 0.5, the transmitter can As the second code block segment length, the data block to be transmitted is segmented into code blocks.
[0341] It can be understood that the above-mentioned naming of the second code block segment length is only an example, and the second code block segment length can also be replaced by the second length, code block segment length #2, etc., without limitation.
[0342] The embodiment of the present application does not limit the specific implementation process of the transmitting end using polar code to encode the data block to be transmitted.
[0343] For example, in response to the above-mentioned question B, FIG7 is a flow chart of a communication method provided in an embodiment of the present application. The method can be executed by a transmitting device. The "transmitting device" in the embodiment of the present application can refer to the transmitting device itself (for example, a network device, a terminal device), or a component in the transmitting device (for example, a processor, a chip, or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the transmitting device, without limitation. For example, the transmitting device can be the network device or terminal device shown in FIG2.
[0344] Specifically, as shown in FIG7 , the communication process is as follows:
[0345] S701: The transmitting end obtains the lifting value of the basis matrix.
[0346] In the embodiment of the present application, both the transmitting and receiving devices locally store a base matrix. For the transmitting device, the base matrix can be used for LDPC encoding of data (data blocks to be transmitted), and for the receiving device, the base matrix can be used for data decoding. The base matrix can be a base matrix corresponding to the check matrix used for encoding or decoding, or a base matrix corresponding to the check matrix used for encoding or decoding obtained after a transformation process (such as elimination, puncturing, or merging). The base matrix is lifted / expanded to obtain a check matrix, which is not limited to this. The base matrix is used to encode the data blocks to be transmitted.
[0347] The boost value is determined by the code block segment length and the number of information columns of the base matrix. The boost value can satisfy the following relationship: Among them, Z c is the improvement value, K cb is the code block segment length, K bThe number of information columns.
[0348] Next, K cb The value of is specifically introduced. The code block segment length can be a preset value. For example, the value of the code block segment length can be related to the type of the base matrix. If the base matrix is the first base matrix, the code block segment length can be the first preset value; if the base matrix is the second base matrix, the code block segment length can be the second preset value. The first base matrix can be BG1, and the first preset value can be 8448; the second base matrix can be BG2, and the second preset value can be 3840. The transmitting end can determine the code block segment length to be 8448 or 3840 according to the base matrix type, so as to subsequently use 8448 or 3840 to perform code block segmentation on the data block to be transmitted.
[0349] Next, K b The value of is described in detail.
[0350] In one possible design, the number of information columns is determined based on a minimum encoding rate and a maximum number of information columns, the encoding rate is greater than or equal to the minimum encoding rate, and the number of information columns is less than or equal to the maximum number of information columns. The first rate value may be a preset value, such as 1 / 3, without limitation.
[0351] Optionally, the number of information columns satisfies any of the following relationships:
[0352] or
[0353] Among them, R min is the minimum coding rate, K b is the number of information columns, K bmax is the maximum number of information columns, R min and K bmax The value of can be a preset value.
[0354] In one possible design, the number of information columns is determined according to the encoding bit rate.
[0355] Optionally, the relationship between the number of information columns and the encoding rate satisfies any of the following: when the encoding rate is less than or equal to 0.875, the value of the number of information columns is 14; when the encoding rate is greater than 0.875 and less than or equal to 0.9, the value of the number of information columns is 18; when the encoding rate is greater than 0.9 and less than or equal to 0.917, the value of the number of information columns is 22; or, when the encoding rate is greater than 0.917 and less than or equal to 0.926, the value of the number of information columns is 26.
[0356] In a possible design solution, the number of information columns may be a preset value.
[0357] It can be understood that the process of determining the number of information columns of the base matrix can refer to the relevant introduction of the number of information columns in the above step S401, and will not be described in detail.
[0358] The sending end can determine the code block segment length K according to the above method. cb and the number of information columns K b , and according to Determine the lifting value of the basis matrix. For example, the code block segment length K cb 3840, number of information columns K b There are 6 columns. At this time, the promotion value Z c for
[0359] S702: The transmitting end encodes the segmented data blocks to be transmitted according to the boost value.
[0360] The transmitter can generate a corresponding base matrix according to the determined boost value, and extract different parts of the base matrix to expand it into a corresponding check matrix. The transmitter uses the check matrix to encode the information sequence to be transmitted at different code rates.
[0361] It can be understood that the specific process of encoding the segmented data blocks to be transmitted by the transmitting end according to the boost value in the embodiment of the present application is as follows:
[0362] In summary, the transmitter can first determine the code block segment length according to the selected BG, and then use the code block segment length and the number of information columns of the base matrix to dynamically adjust the boost value of the base matrix. The transmitter uses the boost value of the base matrix to encode the segmented data blocks to be transmitted, which is more flexible and can avoid errors in the encoding process caused by a small number of information columns, thereby improving the accuracy of data channel coding to meet communication needs in different scenarios and improve communication efficiency.
[0363] In combination with the above embodiment, optionally, before the transmitting end encodes the segmented data blocks to be transmitted according to the boost value, the above method may further include:
[0364] The transmitting end divides the data blocks to be transmitted into code blocks according to the code block segment length.
[0365] The transmitter can first segment the data blocks to be transmitted based on the code block segment length for subsequent LDPC encoding. For example, if the selected base matrix is BG1, the code block segment length can be 8448, and the transmitter can use 8448 to segment the data blocks to be transmitted. If the selected base matrix is BG2, the code block segment length can be 3840, and the transmitter can use 3840 to segment the data blocks to be transmitted.
[0366] The embodiments of the present application do not limit the specific implementation process of code block segmentation.
[0367] The above is a comprehensive introduction to the communication method provided in the embodiments of the present application in combination with the method embodiments. For ease of understanding, the above method is described below using the following scenario as an example:
[0368] Scenario 5:
[0369] 1) Select BG2. At this time, K cb =3840.
[0370] 2) According to the code block segment length, the data block to be transmitted is segmented into code blocks.
[0371] If the length B of the data block to be transmitted is less than or equal to K cb , then the value of the number of CRC check bits L is 0, the number of code block segments C = 1, and the sum of the number of bits in each segment after segmentation B' is equal to B; otherwise, the value of L is 24, the number of code block segments The sum of the number of bits in each segment after segmentation is B'=B+C·L.
[0372] The transmitting end may determine the number of bits K' of each segmented data block according to K'=B' / C.
[0373] 3) Determine the minimum number of information columns based on the current encoding bit rate.
[0374] For example, if the current encoding rate R is less than 1 / 5, the transmitter can choose a smaller number of information columns, such as K b =5, or the sender can determine K based on TS b , no limitation.
[0375] 4) According to Determine the lift value of the basis matrix.
[0376] If Z c is greater than the lifting values of all basis matrices in Table 5.3.2-1 of TS 38.212, then the lifting value of the basis matrix On the contrary, the transmitter can determine the minimum lifting value of the basis matrix in Table 5.3.2-1 in TS as Zc, so that Z c ×K b ≥K'.
[0377] It can be understood that the above scenario 5 can be represented by the following pseudo code:
[0378] Step 1) Select BG2, K cb =3840.
[0379] Step 2) According to K cb Segmentation.
[0380] if B≤K cb ;
[0381] L = 0;
[0382] Number of code blocks C=1; B'=B;
[0383] else
[0384] L = 24;
[0385] Number of code blocks: B'=B+C·L;
[0386] end if
[0387] The number of bits K in each code block is calculated as K'=B' / C;
[0388] Step 3) Determine the minimum number of information columns K based on the encoding rate b .
[0389] if R<1 / 5;
[0390] Select fewer columns of information, such as K b =5;
[0391] else
[0392] Determine K based on existing standards b ;
[0393] end if
[0394] Step 4) Calculation Determine the appropriate lifting size.
[0395] if Z c is larger than all sets of lifting sizes in Table 5.3.2-1, then
[0396] else
[0397] find the minimum value of Z in all sets of lifting sized in Table 5.3.2-1, denoted as Zc, such that Z c ×Kb ≥K';
[0398] end if
[0399] It is understood that the specific implementation process of the above existing standard practices can refer to the relevant content of Chapter 5 of TS 38.212 and will not be repeated here.
[0400] The above method embodiment introduces the implementation process of code block segmentation using the data channel as an example. The above communication method can also be applied to other channels, such as control channel code block segmentation. Its implementation principle is the same as that of data channel code block segmentation. You can refer to it for understanding and will not elaborate on it.
[0401] The above mainly introduces the solution provided by this application. Accordingly, this application also provides a communication device, which is used to implement the various methods in the above method embodiments. The communication device can be the transmitting device in the above method embodiments, or a device including the transmitting device, or a component that can be used for the transmitting device, such as a chip or chip system.
[0402] It is understandable that, in order to realize the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. It should be easily appreciated by those skilled in the art that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0403] In the embodiment of the present application, the functional modules of the communication device can be divided according to the above method embodiment. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. The division of modules in the embodiment of the present application is schematic and is only a logical functional division. In actual implementation, there may be other division methods.
[0404] Taking the communication device as the transmitting end device in the above method embodiment as an example, Figure 8 is a schematic diagram of the structure of a communication device provided in an embodiment of the present application. As shown in Figure 8, communication device 800 includes a processing module 801 and a transceiver module 802. The processing module 801 is used to perform the processing functions of the transmitting end device in the above method embodiment. The transceiver module 802 is used to perform the transceiver functions of the transmitting end device in the above method embodiment.
[0405] Among them, all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.
[0406] Since the communication device 800 provided in this embodiment can execute the above method, the technical effects that can be obtained can refer to the above method embodiments and will not be repeated here.
[0407] In one possible design solution, in the embodiment of the present application, the transceiver module 802 may include a receiving module and a sending module (not shown in FIG8 ).
[0408] In one possible design, the communication device 800 may further include a storage module (not shown in FIG8 ) storing a program or instruction. When the processing module 801 executes the program or instruction, the communication device 800 may perform the functions of the transmitting end device in the method shown in FIG4 or FIG7 .
[0409] It should be understood that the processing module 801 involved in the communication device 800 can be implemented by a processor or a processor-related circuit component, which can be a processor or a processing unit; the transceiver module 802 can be implemented by a transceiver or a transceiver-related circuit component, which can be a transceiver or a transceiver unit.
[0410] For example, FIG9 is a schematic diagram of the structure of another communication device provided in an embodiment of the present application. The communication device can be a transmitting end device, or a chip (system) or other component or assembly that can be set in the transmitting end device. As shown in FIG9, the communication device 900 may include a processor 901. In one possible design scheme, the communication device 900 may also include a memory 902 and / or a transceiver 903. The processor 901 is coupled to the memory 902 and the transceiver 903, such as by a communication bus.
[0411] The following is a detailed introduction to the various components of the communication device 900 in conjunction with FIG9 :
[0412] The processor 901 may be a single processor or a collective term for multiple processing elements. For example, the processor 901 may be one or more central processing units (CPUs), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application, such as one or more digital signal processors (DSPs) or one or more field programmable gate arrays (FPGAs).
[0413] In one possible design, the processor 901 may execute various functions of the communication device 900 by running or executing software programs stored in the memory 902 and calling data stored in the memory 902 .
[0414] In a specific implementation, as an embodiment, the processor 901 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG. 9 .
[0415] In a specific implementation, as an embodiment, the communication device 900 may also include multiple processors, such as the processor 901 and the processor 904 shown in FIG9 . Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0416] The memory 902 is used to store the software program for executing the solution of the present application, and the execution is controlled by the processor 901. The specific implementation method can refer to the above method embodiment and will not be repeated here.
[0417] In one possible design, the memory 902 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 902 can be integrated with the processor 901 or exist independently and be coupled to the processor 901 through the interface circuit of the communication device 900 (not shown in FIG9 ), which is not specifically limited in this embodiment of the present application.
[0418] Transceiver 903 is used for communication with other communication devices. For example, if communication device 900 is a terminal device, transceiver 903 can be used to communicate with an access network device or another terminal device. For another example, if communication device 900 is a network device, transceiver 903 can be used to communicate with a terminal device or another network device.
[0419] In one possible design solution, transceiver 903 may include a receiver and a transmitter (not separately shown in FIG9 ), wherein the receiver is used to implement a receiving function, and the transmitter is used to implement a sending function.
[0420] In one possible design scheme, the transceiver 903 can be integrated with the processor 901, or it can exist independently and be coupled to the processor 901 through the interface circuit of the communication device 900 (not shown in Figure 9). This embodiment of the present application does not specifically limit this.
[0421] The structure of the communication device 900 shown in FIG9 does not constitute a limitation on the communication device. An actual communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0422] In addition, the technical effects of the communication device 900 can refer to the technical effects of the methods described in the above method embodiments, and will not be repeated here.
[0423] An embodiment of the present application further provides a computer-readable storage medium on which a computer program or instruction is stored. When the computer program or instruction is executed by a computer, the functions of the above-mentioned method embodiment are realized.
[0424] The embodiments of the present application also provide a computer program product, which implements the functions of the above method embodiments when executed by a computer.
[0425] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using a software program, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more media integrated therein. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)).
[0426] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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.
[0427] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0428] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interface, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0429] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0430] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0431] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or an access network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0432] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other variations of the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
Claims
1. A communication method, characterized in that: The method comprises: Determine a first code block segment length; wherein the first code block segment length is used to segment the data block to be transmitted, and the first code block segment length is determined according to the number of information columns of a base matrix and a boost value in a boost value set corresponding to the base matrix, and the base matrix is used to perform low-density parity check code LDPC encoding on the data block to be transmitted; Segmenting the data block to be transmitted according to the first code block segment length; The segmented data blocks to be transmitted are LDPC encoded to obtain encoded data.
2. The method according to claim 1, characterized in that The first code block segment length satisfies the following relationship: K cb =K b ×Z c ; Among them, K cb is the first code block segment length, K b is the number of information columns, Z c is the boost value.
3. The method according to claim 1 or 2, characterized in that: The encoding rate is less than or equal to a first rate value, the number of information columns is determined according to a minimum encoding rate and a maximum number of information columns, the encoding rate is greater than or equal to the minimum encoding rate, and the number of information columns is less than or equal to the maximum number of information columns.
4. The method according to claim 3, characterized in that The number of information columns satisfies any of the following relationships: or Among them, R min is the minimum coding rate, K b is the number of information columns, K bmax is the maximum number of information columns.
5. The method according to claim 1 or 2, characterized in that: The number of information columns is determined according to the encoding bit rate.
6. The method according to claim 1 or 2, characterized in that: The relationship between the number of information columns and the encoding bit rate satisfies any of the following: When the encoding bit rate is less than or equal to 0.875, the value of the number of information columns is 14; When the encoding bit rate is greater than 0.875 and less than or equal to 0.9, the value of the number of information columns is 18; When the encoding bit rate is greater than 0.9 and less than or equal to 0.917, the value of the number of information columns is 22; or, When the encoding bit rate is greater than 0.917 and less than or equal to 0.926, the value of the number of information columns is 26.
7. The method according to any one of claims 1 to 6, characterized in that Corresponding to the terminal device sending the data block to be transmitted to the network device, the boost value is the first boost value; or, Corresponding to the network device sending the data block to be transmitted to the terminal device, the boost value is the second boost value; The maximum value of the first boost value is greater than the maximum value of the second boost value.
8. The method according to claim 7, characterized in that The number of values of the first boost value is greater than the number of values of the second boost value.
9. The method according to claim 7 or 8, characterized in that: The first boost value is any one of the following values: 416, 448, 512, 1024, 115, 1536, 1920, or 2048; the second boost value is any one of the following values: 384, or 512.
10. The method according to any one of claims 1 to 9, characterized in that Corresponding to the first communication service type, the first communication service type satisfies any of the following: The number of bits included in the data block to be transmitted is less than or equal to the first bit value, and the encoding code rate is less than or equal to the second code rate value; or, The mother code length is less than or equal to the first code length, and the encoding code rate is less than or equal to a third code rate value; wherein the mother code length is the code block length after the data block to be transmitted is encoded.
11. The method according to claim 10, characterized in that Corresponding to the base matrix including the first base graph BG1, the number of bits included in the data block to be transmitted is less than or equal to the first bit value, and the encoding code rate is less than or equal to the second code rate, including: The number of bits included in the data block to be transmitted is greater than 3824, the number of bits included in the data block to be transmitted is less than or equal to 8448, the encoding rate is greater than 0.25, and the encoding rate is less than or equal to 0.67; or, The number of bits included in the data block to be transmitted is greater than 140, the number of bits included in the data block to be transmitted is less than or equal to 8448, the encoding bit rate is greater than 0.67, and the encoding bit rate is less than or equal to 0.9258.
12. The method according to claim 10, characterized in that Corresponding to the base matrix including the second base graph BG2, the number of bits K included in the data block to be transmitted is less than or equal to the first bit value, and the encoding code rate is less than or equal to the second code rate, including: The number of bits included in the data block to be transmitted is greater than 1024, the number of bits included in the data block to be transmitted is less than or equal to the third bit value 8448, and the encoding rate is less than or equal to 0.25; or, The number of bits contained in the data block to be transmitted is greater than 1024, the number of bits contained in the data block to be transmitted is less than or equal to 3824, the encoding rate is greater than 0.25, and the encoding rate is less than or equal to 0.5; or, The number of bits included in the data block to be transmitted is greater than 140, the number of bits included in the data block to be transmitted is less than or equal to 3824, the encoding bit rate is greater than 0.5, and the encoding bit rate is less than or equal to 0.
67.
13. The method according to claim 10, characterized in that The mother code length is less than or equal to the first code length, and the encoding code rate is less than or equal to a third code rate value, including: The mother code length is greater than 1024, the code length of the data block to be transmitted is less than or equal to 25344, and the encoding rate is less than or equal to 1 / 3; or, The mother code length is greater than 512, the mother code length is less than or equal to 25344, the encoding rate is greater than 1 / 3, and the encoding rate is less than or equal to 2 / 3; or, The mother code length is greater than 256, the mother code length is less than or equal to 25344, the encoding code rate is greater than 2 / 3, and the encoding code rate is less than or equal to 7 / 8.
14. The method according to any one of claims 1 to 13, characterized in that The method further comprises: Corresponding to the second communication service type, encoding the to-be-transmitted data block by using a polar code; The coding rate corresponding to the second communication service type and the number of bits contained in the data block to be transmitted satisfy at least one of the following: The number of bits included in the data block to be transmitted is less than or equal to the second bit value, and the encoding code rate is less than or equal to a fourth code rate value.
15. The method according to claim 14, characterized in that The number of bits included in the to-be-transmitted data block is less than or equal to the second bit value, and the encoding code rate is less than or equal to the fourth code rate value, including: The number of bits contained in the data block to be transmitted is less than or equal to 140, and the encoding rate is less than or equal to 0.9258; or, The number of bits included in the data block to be transmitted is greater than 140, the number of bits included in the data block to be transmitted is less than or equal to 1024, and the encoding bit rate is less than or equal to 0.
5.
16. The method according to any one of claims 1 to 13, characterized in that The method further comprises: Corresponding to the second communication service type, segmenting the data block to be transmitted; Encoding the to-be-transmitted data block using a polar code; Among them, the second communication service type meets the following conditions: the mother code length is less than or equal to the second code length, and the encoding code rate is less than or equal to the fifth code rate value; the mother code length is the code block length after encoding the data block to be transmitted.
17. The method according to claim 16, characterized in that The mother code length is less than or equal to the second code length, and the encoding code rate is less than or equal to a fifth code rate value, including: The mother code length is less than or equal to 1024, and the encoding rate is less than or equal to 1 / 3; or, The mother code length is less than or equal to 512, the encoding rate is greater than 1 / 3, and the encoding rate is less than or equal to 2 / 3; or, The mother code length is less than or equal to 256, the encoding rate is greater than 2 / 3, and the encoding rate is less than or equal to 7 / 8.
18. The method according to claim 16 or 17, characterized in that The segmenting the data block to be transmitted includes: The data block to be transmitted is segmented into code blocks according to a second code block segment length; wherein the second code block segment length is determined according to the mother code length and the encoding code rate.
19. The method according to claim 18, characterized in that The second code block segment length satisfies the following relationship: Where A is the length of the second code block segment, N max is the mother code length, and R is the encoding bit rate.
20. A communication device, characterized in that: The communication device comprises: a processor; when the processor executes computer instructions, the communication device executes the method according to any one of claims 1-19.
21. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises a computer program or instructions, and when the computer program or instructions are run on a computer, the method according to any one of claims 1 to 19 is executed.
22. A computer program product, characterized in that The computer program product comprises a computer program or instructions, and when the computer program or instructions are executed by a communication device, the method according to any one of claims 1 to 19 is executed.