Communication method and apparatus
By modifying specific values in the base matrix of the LDPC code to generate a second base matrix, and combining this with communication parameters, efficient LDPC encoding and decoding performance is improved in different scenarios, solving the problem of flexible determination of the base matrix.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-08
- Publication Date
- 2026-06-18
AI Technical Summary
How to flexibly determine the basis matrix of low-density parity-check (LDPC) codes to improve coding and decoding performance in different scenarios.
By using a first basis matrix and information bits to jointly encode or decode under specific conditions of communication parameters, and modifying the values at specific positions in the basis matrix, a second basis matrix is generated for encoding or decoding, thereby improving encoding and decoding performance.
Under specific communication conditions, the encoding and decoding performance of LDPC codes is improved, especially in the case of low iteration rounds, which enhances the efficiency and accuracy of encoding and decoding.
Smart Images

Figure CN2025140800_18062026_PF_FP_ABST
Abstract
Description
A communication method and apparatus
[0001] Cross-reference to related applications
[0002] This application claims priority to Chinese Patent Application No. 202411836313.0, filed on December 11, 2024, entitled "A Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of mobile communication technology, and in particular to a communication method and apparatus. Background Technology
[0004] Low-density parity-check (LDPC) codes are a channel coding scheme very close to Shannon lines, characterized by high performance and low complexity. They have been selected by the 3rd Generation Partnership Project (3GPP) as the coding and decoding scheme for data channels in 5G communication. Mainstream LDPC codes have a quasi-cyclic (QC) structure, which avoids bad structures such as short cycles and improves code distance by setting the shift amount of each block.
[0005] LDPC codes can be represented using a base matrix. In actual LDPC encoding or decoding, a complete parity check matrix can be obtained from the base matrix, and encoding or decoding can be performed based on the parity check matrix.
[0006] Currently, how to flexibly determine the basis matrix of LDPC codes to improve the LDPC encoding and decoding performance in different scenarios is a technical problem that urgently needs to be solved. Summary of the Invention
[0007] This application provides a communication method and apparatus for improving LDPC encoding and decoding performance.
[0008] Firstly, embodiments of this application provide a communication method, which can be executed by a first communication device or a first equipment, or in other words, the method can be applied to a first communication device. Unless otherwise specified, the "first communication device" in this application can refer to the first equipment itself, a component within the first equipment, or a logic module or software capable of implementing all or part of the first equipment. The first equipment can be a transmitting device. Specifically, the first equipment can be a terminal or a network device such as a base station. The components in this application may include, for example, at least one of a chip, a chip system, a processor, a transceiver, a processing unit, a transceiver unit, or other functional modules. Taking the first equipment as the executing entity as an example, the method includes:
[0009] The first device acquires information bits; the first device determines a first base matrix, wherein one or more first positions in the first base matrix have a first value; when the communication parameters meet a first condition, the first device encodes the information bits according to the first base matrix and first information to obtain encoded information, wherein the first information is used to indicate a second value corresponding to the first position, and the first value is different from the second value.
[0010] Based on the first aspect, when the communication parameters meet the first condition, the first device performs encoding by jointly encoding the first base matrix and the first information, instead of encoding only based on the first base matrix, which can improve encoding performance when the communication parameters meet the first condition.
[0011] In the first aspect, the second basis matrix can be considered as a basis matrix obtained by modifying the first basis matrix, such as BG1 or BG2.
[0012] In one possible implementation, the first position is located in a first region, and the first row in the first region is the next row after the region corresponding to the highest code rate in the first base matrix. Based on this implementation, the first base matrix can be base graph (BG)1 or BG2, and the first region can be region D in BG1 or BG2, or a portion of region D. Therefore, under the condition of satisfying the first condition, the value of the first position in region D or a portion of region D can be modified, which can improve the encoding and decoding performance of LDPC codes with a low number of iteration rounds.
[0013] In one possible implementation, the first device may determine the first base matrix based on the payload and / or code rate of the information bits.
[0014] In one possible implementation, the communication parameters satisfy a first condition, including at least one of the following: the buffer state report index is greater than or equal to the buffer size index threshold; the buffer size level is greater than or equal to the buffer size level threshold; the maximum number of code block groups included in each transport block is greater than or equal to the threshold for the maximum number of code block groups in each transport block; the number of transport blocks is greater than or equal to the threshold for the number of transport blocks; the number of code blocks contained in a transport block is greater than or equal to the threshold for the number of code blocks contained in a transport block; the modulation and coding scheme level is greater than or equal to the modulation and coding scheme level threshold; the modulation order is greater than or equal to the modulation order threshold; the code rate is greater than or equal to a first code rate threshold; and the code rate is less than or equal to a second threshold.
[0015] Based on this implementation, it can be determined whether the communication parameters meet the first condition by considering at least one of the following: buffer status report index, buffer size level, maximum number of code block groups included in each transport block, number of transport blocks, number of code blocks contained in a transport block, modulation and coding scheme level, modulation order, or code rate.
[0016] In one possible implementation, the first device determines a second basis matrix based on the first basis matrix and the first information, wherein the value corresponding to the first position in the second basis matrix is the second value; the first device encodes the information bits based on the second basis matrix and the translation value corresponding to the second basis matrix.
[0017] Based on this implementation, the first device can encode information bits according to the second base matrix and the corresponding shift value of the second base matrix.
[0018] In one possible implementation, the first device may further determine the translation value corresponding to the second basis matrix based on the translation value corresponding to the first basis matrix and the translation value corresponding to the first position.
[0019] Based on this implementation, the first device can determine the translation value corresponding to the first position in the second basis matrix based on the second value of the first position, and determine the translation value corresponding to the second basis matrix based on the translation value corresponding to the first basis matrix and the translation value corresponding to the first position. It can be considered that in the second basis matrix, the translation values corresponding to positions other than the first and second positions are the same as the translation values corresponding to the same positions in the first basis matrix; in the second basis matrix, the value of the first position is the translation value corresponding to the first position determined based on the second value of the first position; in the second basis matrix, the value of the second position is 0, and correspondingly, the translation value corresponding to the second position is 0.
[0020] In one possible implementation, the first information may also include the translation value corresponding to the first position.
[0021] Based on this implementation, the first information can indicate the translation value corresponding to the first position in the second basis matrix, thereby achieving efficient determination of the translation value corresponding to the first position. This translation value can be determined based on simulation.
[0022] In one possible implementation, the translation value corresponding to the first position is related to the row index of the first position. Based on this implementation, the translation value corresponding to the first position can be flexibly determined by the first device.
[0023] In one possible implementation, the shift value corresponding to the first position is related to the row index of the first position, including:
[0024] The first position is located in the first row of the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied:
[0025] SV i,j =j+w j , or SV i,j =mod(j+w) j ,Zc);
[0026] Where j represents the column index of the first position, Zc represents the promotion value, and w j It is a constant, or, the w j Related to j;
[0027] The first position is located in a row other than the first row in the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied:
[0028] SV i,j =i+j+w i,j , or SV i,j =mod(i+j+w) j ,Zc);
[0029] Where i represents the row index of the first position, j represents the column index of the first position, Zc represents the promotion value, and w i,j It is a constant, or, the w i,j It relates to i and j.
[0030] This implementation method allows for the flexible determination of the translation value corresponding to the first position.
[0031] In one possible implementation, the value at the second position in the first base matrix is the second value, and the first information is also used to indicate that the value corresponding to the second position is the first value.
[0032] Based on this implementation, the first information can also instruct that the value at the second position in the first base matrix be changed from the second value to the first value.
[0033] In one possible implementation, the second position includes one or more positions in the columns of the first base matrix whose column weight is greater than the column weight threshold.
[0034] Based on this implementation, the values of large column reorders in BG1 or BG2 can be modified, enabling the receiver to obtain the correct decoding result using a decoder with lower complexity without punching holes in the large column reorders.
[0035] In one possible implementation, the first information can be contained in a translation value table corresponding to the first base matrix. Based on this implementation, flexible indication of the first information can be achieved. Specifically, the translation value table corresponding to the first base matrix can be defined by a protocol. Alternatively, the first information can be defined by a protocol. Alternatively, the first information can also be configured in the first device.
[0036] Secondly, embodiments of this application provide a communication method, which can be executed by a second communication device or a second equipment, or in other words, the method can be applied to a second communication device. Unless otherwise specified, the "second communication device" in this application can refer to the second equipment itself, a component within the second equipment, or a logic module or software capable of implementing all or part of the second equipment. The second equipment can be a receiving device. Specifically, the second equipment can be a terminal or a network device such as a base station. The components in this application may include, for example, at least one of a chip, a chip system, a processor, a transceiver, a processing unit, a transceiver unit, or other functional modules. Taking the second equipment as the executing entity as an example, the method includes:
[0037] The second device acquires the information to be decoded; the second device determines a first base matrix, wherein one or more first positions in the first base matrix have a first value; the second device can also decode the information to be decoded according to the first base matrix and the first information to obtain information bits, provided that the communication parameters meet the first condition, wherein the first information is used to indicate the second value corresponding to the first position, and the first value is different from the second value.
[0038] Based on the second aspect, when the communication parameters meet the first condition, the second device performs decoding using the first base matrix and the first information to improve decoding performance, thus improving decoding performance when the communication parameters meet the first condition.
[0039] In one possible implementation, the first position is located in a first region, and the first row in the first region is the next row of the region corresponding to the highest bit rate in the first base matrix.
[0040] In one possible implementation, the second device may determine the first base matrix based on the payload and / or code rate of the information bits.
[0041] In one possible implementation, the communication parameters satisfy a first condition, including at least one of the following: the buffer state report index is greater than or equal to the buffer size index threshold; the buffer size level is greater than or equal to the buffer size level threshold; the maximum number of code block groups included in each transport block is greater than or equal to the threshold for the maximum number of code block groups in each transport block; the number of transport blocks is greater than or equal to the threshold for the number of transport blocks; the number of code blocks contained in a transport block is greater than or equal to the threshold for the number of code blocks contained in a transport block; the modulation and coding scheme level is greater than or equal to the modulation and coding scheme level threshold; the modulation order is greater than or equal to the modulation order threshold; the code rate is greater than or equal to a first code rate threshold; and the code rate is less than or equal to a second threshold.
[0042] In one possible implementation, the second device can determine a second basis matrix based on the first basis matrix and the first information, wherein the value corresponding to the first position in the second basis matrix is the second value, and decode the information to be decoded based on the second basis matrix and the translation value corresponding to the second basis matrix.
[0043] In one possible implementation, the second device may also determine the translation value corresponding to the second basis matrix based on the translation value corresponding to the first basis matrix and the translation value corresponding to the first position.
[0044] In one possible implementation, the first information may also include the translation value corresponding to the first position.
[0045] In one possible implementation, the shift value corresponding to the first position is related to the row index of the first position.
[0046] In one possible implementation, the shift value corresponding to the first position is related to the row index of the first position, including:
[0047] The first position is located in the first row of the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied:
[0048] SV i,j =j+w j , or SV i,j =mod(j+w) j ,Zc);
[0049] Where j represents the column index of the first position, Zc represents the promotion value, and w j It is a constant, or, the w j Related to j;
[0050] The first position is located in a row other than the first row in the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied:
[0051] SV i,j =i+j+w i,j , or SV i,j =mod(i+j+w) j ,Zc);
[0052] Where i represents the row index of the first position, j represents the column index of the first position, Zc represents the promotion value, and w i,j It is a constant, or, the w i,j It relates to i and j.
[0053] In one possible implementation, the value at the second position in the first base matrix is the second value, and the first information is also used to indicate that the value corresponding to the second position is the first value.
[0054] In one possible implementation, the second position includes one or more positions in the columns of the first base matrix whose column weight is greater than the column weight threshold.
[0055] In one possible implementation, the first information can be contained in the translation value table corresponding to the first basis matrix.
[0056] The beneficial effects of the second aspect and its various possible implementations can be found in the description of the beneficial effects of the first aspect and its corresponding implementations, and will not be repeated here.
[0057] Thirdly, embodiments of this application provide a communication method, which can be executed by a first communication device or a first equipment, or in other words, the method can be applied to a first communication device. The first communication device or the first equipment can be found in the description of the first aspect. Taking a first equipment as the executing entity as an example, the method includes:
[0058] The first device acquires information bits; if the communication parameters meet the first condition, the first device encodes the information bits according to the second base matrix to obtain encoded information.
[0059] Based on the method shown in the third aspect, the first device can encode information bits according to the second basis matrix when the communication parameters meet the first condition, thereby improving the encoding performance when the communication parameters meet the first condition.
[0060] In one possible implementation, the value of one or more first positions in the first basis matrix is a second value.
[0061] In one possible implementation, if the communication parameters do not meet the first condition, the first device can encode the information bits according to a first basis matrix, wherein the value at the first position in the first basis matrix is a first value, and the value at the first position in the second basis matrix is a second value, and the first value and the second value are different. The second basis matrix can be considered as a basis matrix obtained by modifying the first basis matrix, such as BG1 or BG2.
[0062] In one possible implementation, the first device may determine the first base matrix based on the payload and / or code rate of the information bits.
[0063] In one possible implementation, the first position is located in a first region, and the first row in the first region is the next row of the region corresponding to the highest bit rate in the first base matrix.
[0064] In one possible implementation, the communication parameters satisfy a first condition, including at least one of the following: the buffer state report index is greater than or equal to the buffer size index threshold; the buffer size level is greater than or equal to the buffer size level threshold; the maximum number of code block groups included in each transport block is greater than or equal to the threshold for the maximum number of code block groups in each transport block; the number of transport blocks is greater than or equal to the threshold for the number of transport blocks; the number of code blocks contained in a transport block is greater than or equal to the threshold for the number of code blocks contained in a transport block; the modulation and coding scheme level is greater than or equal to the modulation and coding scheme level threshold; the modulation order is greater than or equal to the modulation order threshold; the code rate is greater than or equal to a first code rate threshold; and the code rate is less than or equal to a second threshold.
[0065] In one possible implementation, the first device may further encode the information bits based on the second base matrix and the translation value corresponding to the second base matrix.
[0066] In one possible implementation, the first device can determine the translation value corresponding to the second basis matrix based on the translation value table corresponding to the first basis matrix and / or the translation value table corresponding to the second basis matrix. The translation value table corresponding to the first basis matrix may include the translation value corresponding to a first position in the second basis matrix. The translation value table corresponding to the first basis matrix and / or the translation value table corresponding to the second basis matrix may be defined by a protocol or pre-configured.
[0067] In one possible implementation, the shift value corresponding to the first position is related to the row index of the first position.
[0068] In one possible implementation, the shift value corresponding to the first position is related to the row index of the first position, including:
[0069] The first position is located in the first row of the first region, and the translation value SV corresponding to the first position is...i,j The following relationship must be satisfied:
[0070] SV i,j =j+w j , or SV i,j =mod(j+w) j ,Zc);
[0071] Where j represents the column index of the first position, Zc represents the promotion value, and w j It is a constant, or, the w j Related to j;
[0072] The first position is located in a row other than the first row in the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied:
[0073] SV i,j =i+j+w i,j , or SV i,j =mod(i+j+w) j ,Zc);
[0074] Where i represents the row index of the first position, j represents the column index of the first position, Zc represents the promotion value, and w i,j It is a constant, or, the w i,j It relates to i and j.
[0075] In one possible implementation, the value at the second position in the second basis matrix is the first value, and the value at the second position in the first basis matrix is the first value.
[0076] In one possible implementation, the second position includes one or more positions in the columns of the first base matrix whose column weight is greater than the column weight threshold.
[0077] The beneficial effects of the third aspect and its various possible implementations can be found in the description of the beneficial effects of the first aspect and its corresponding implementations, and will not be repeated here.
[0078] Fourthly, embodiments of this application provide a communication method, which can be executed by a second communication device or a second equipment, or in other words, the method can be applied to a second communication device. The second communication device or second equipment can be found in the description of the second aspect. Taking a second equipment as the executing entity as an example, the method includes:
[0079] The second device acquires the information to be decoded; the second device can also decode the information to be decoded according to the second base matrix to obtain information bits, provided that the communication parameters meet the first condition.
[0080] Based on the method shown in the fourth aspect, the second device can decode the information bits according to the second basis matrix when the communication parameters meet the first condition, thereby improving the coding performance when the communication parameters meet the first condition.
[0081] In one possible implementation, the value of one or more first positions in the first basis matrix is a second value.
[0082] In one possible implementation, if the communication parameters do not meet the first condition, the second device can decode the information bits according to the first basis matrix, wherein the value of the first position in the first basis matrix is a first value, and the value of the first position in the second basis matrix is a second value, and the first value and the second value are different.
[0083] In one possible implementation, the first device may determine the first base matrix based on the payload and / or code rate of the information bits.
[0084] In one possible implementation, the first position is located in a first region, and the first row in the first region is the next row of the region corresponding to the highest bit rate in the first base matrix.
[0085] In one possible implementation, the communication parameters satisfy a first condition, including at least one of the following: the buffer state report index is greater than or equal to the buffer size index threshold; the buffer size level is greater than or equal to the buffer size level threshold; the maximum number of code block groups included in each transport block is greater than or equal to the threshold for the maximum number of code block groups in each transport block; the number of transport blocks is greater than or equal to the threshold for the number of transport blocks; the number of code blocks contained in a transport block is greater than or equal to the threshold for the number of code blocks contained in a transport block; the modulation and coding scheme level is greater than or equal to the modulation and coding scheme level threshold; the modulation order is greater than or equal to the modulation order threshold; the code rate is greater than or equal to a first code rate threshold; and the code rate is less than or equal to a second threshold.
[0086] In one possible implementation, the second device may also decode the information bits based on the second basis matrix and the corresponding shift value of the second basis matrix.
[0087] In one possible implementation, the second device can determine the translation value corresponding to the second basis matrix based on the translation value table corresponding to the first basis matrix and / or the translation value table corresponding to the second basis matrix. The translation value table corresponding to the first basis matrix may include the translation value corresponding to the first position in the second basis matrix. The translation value table corresponding to the first basis matrix and / or the translation value table corresponding to the second basis matrix may be defined by a protocol or pre-configured.
[0088] In one possible implementation, the shift value corresponding to the first position is related to the row index of the first position.
[0089] In one possible implementation, the shift value corresponding to the first position is related to the row index of the first position, including:
[0090] The first position is located in the first row of the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied:
[0091] SV i,j =j+w j , or SV i,j =mod(j+w) j ,Zc);
[0092] Where j represents the column index of the first position, Zc represents the promotion value, and w j It is a constant, or, the w j Related to j;
[0093] The first position is located in a row other than the first row in the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied:
[0094] SV i,j =i+j+w i,j , or SV i,j =mod(i+j+w) j ,Zc);
[0095] Where i represents the row index of the first position, j represents the column index of the first position, Zc represents the promotion value, and w i,j It is a constant, or, the w i,j It relates to i and j.
[0096] In one possible implementation, the value at the second position in the second basis matrix is the first value, and the value at the second position in the first basis matrix is the first value.
[0097] In one possible implementation, the second position includes one or more positions in the columns of the first base matrix whose column weight is greater than the column weight threshold.
[0098] The beneficial effects of the fourth aspect and its various possible implementations can be found in the description of the beneficial effects of the first aspect and its corresponding implementations, and will not be repeated here.
[0099] Fifthly, a communication device is provided. The device can implement the method described in any possible implementation of any of the first to fourth aspects. The device possesses the functions of the first or second communication device described above. The device is, for example, a terminal device, a functional module within a terminal device, a network device, or a functional module within a network device, etc.
[0100] In one optional implementation, the device may include modules corresponding one-to-one with the methods / operations / steps / actions performed in any possible implementation of any of the first to fourth aspects. These modules may be hardware circuits, software, or a combination of hardware circuits and software. In another optional implementation, the device includes a processing unit (sometimes also called a processing module) and a communication unit (sometimes also called a transceiver module, communication module, etc.). The transceiver unit is capable of both sending and receiving functions. When the transceiver unit performs the sending function, it may be called a sending unit (sometimes also called a sending module); when it performs the receiving function, it may be called a receiving unit (sometimes also called a receiving module). The sending unit and the receiving unit may be the same functional module, referred to as the transceiver unit, which performs both sending and receiving functions; or, the sending unit and the receiving unit may be different functional modules, with the transceiver unit being a collective term for these functional modules.
[0101] For example, when the apparatus is used to perform the method described in any one of the first to fourth aspects, the apparatus may include a communication unit and a processing unit.
[0102] In a sixth aspect, embodiments of this application also provide a communication device, including a processor for executing a computer program (or computer-executable instructions) stored in a memory, which, when executed, causes the device to perform the method as described in any possible implementation of any of the first to fourth aspects.
[0103] In one possible implementation, the processor and memory are integrated together;
[0104] In another possible implementation, the memory is located outside the communication device.
[0105] The communication device also includes a communication interface for communicating with other devices, such as sending or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.
[0106] A seventh aspect provides a computer-readable storage medium for storing a computer program or instructions that, when executed, enable the implementation of the method described in any possible implementation of any of the first to fourth aspects, and the method shown in any possible implementation of the method described therein.
[0107] Eighthly, a computer program product containing instructions is provided, which, when run on a computer, enables the method described in any possible implementation of any of the first to fourth aspects to be implemented.
[0108] Ninthly, embodiments of this application also provide a communication device for performing the method described in any possible implementation of any of the first to fourth aspects.
[0109] In a tenth aspect, a chip system is provided, comprising logic circuitry (or, as understood, a processor, which may include logic circuitry, etc.), and further comprising input / output interfaces. The input / output interfaces can be used to input messages or to output messages. The input / output interfaces can be the same interface, i.e., the same interface can implement both sending and receiving functions; or, the input / output interface includes an input interface and an output interface, the input interface being used to implement the receiving function, i.e., to receive messages; and the output interface being used to implement the sending function, i.e., to send messages. The logic circuitry can be used to perform operations other than the sending and receiving functions in any possible implementation of any of the first to fourth aspects described above; the logic circuitry can also be used to transmit messages to the input / output interfaces or to receive messages from other communication devices from the input / output interfaces. The chip system can be used to implement the methods described in any possible implementation of any of the first to fourth aspects described above. The chip system can be composed of chips or can include chips and other discrete devices.
[0110] Optionally, the chip system may also include a memory, which can be used to store instructions, and the logic circuits can call the instructions stored in the memory to implement the corresponding functions.
[0111] Eleventhly, a communication method is provided, which may include the method implemented by a first communication device as shown in the first aspect and any possible implementation thereof, and the method implemented by a second communication device as shown in the fourth aspect and any possible implementation thereof.
[0112] In a twelfth aspect, a communication system is provided, which may include a first communication device and a second communication device. The first communication device may be used to implement the methods shown in the first or third aspect and any possible implementation thereof, and the second communication device may be used to implement the methods shown in the second or fourth aspect and any possible implementation thereof.
[0113] The technical effects brought about by the third to twelfth aspects above can be found in the descriptions of the beneficial effects of the corresponding solutions in the first and second aspects above, and will not be repeated here. Attached Figure Description
[0114] Figure 1(a) is a schematic diagram of the architecture of a wireless communication system provided in an embodiment of this application;
[0115] Figure 1(b) is a schematic diagram of a network device provided in an embodiment of this application;
[0116] Figure 2 is a schematic diagram of a 4*4 cyclic shift matrix;
[0117] Figure 3 shows an example diagram of the basis matrix in an LDPC code;
[0118] Figure 4 shows an example diagram of the check matrix;
[0119] Figure 5 shows the region division method of the basis matrix;
[0120] Figure 6 is a schematic diagram of the matrix regions corresponding to different code rates;
[0121] Figure 7 is a schematic diagram of the high bit rate region of BG1;
[0122] Figure 8 is a flowchart illustrating a communication method provided in an embodiment of this application;
[0123] Figure 9(a) is a schematic diagram of a second basis matrix provided in an embodiment of this application;
[0124] Figure 9(b) is a performance diagram of a second basis matrix provided in an embodiment of this application;
[0125] Figure 10 is a flowchart illustrating another communication method provided in an embodiment of this application;
[0126] Figure 11 is a flowchart illustrating another communication method provided in an embodiment of this application;
[0127] Figure 12 is a flowchart illustrating another communication method provided in an embodiment of this application;
[0128] Figure 13 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0129] Figure 14 is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation
[0130] In the embodiments of this application, words such as "exemplarily" and "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design scheme described as an "example" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "example" is intended to present concepts in a concrete manner. In the embodiments of this application, "of," "corresponding, relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent unless their distinction is emphasized.
[0131] Figure 1(a) is a schematic diagram of the architecture of the communication system applied in an embodiment of this application. The communication system 1000 shown in Figure 1(a) includes a wireless access network 100 and a core network 200. Optionally, the communication system 1000 also includes an Internet 300. The wireless access network 100 may include at least one network device (110a and 110b in Figure 1(a)) and at least one terminal device (120a-120j in Figure 1(a)). The terminal device is wirelessly connected to the network device, and the network device is wirelessly or wiredly connected to the core network. The core network device and the network device may be independent physical devices, or the functions of the core network device and the logical functions of the network device may be integrated on the same physical device, or a single physical device may integrate some of the functions of the core network device and some of the functions of the network device. Terminal devices and network devices may be interconnected via wired or wireless means. Figure 1(a) is just a schematic diagram. The communication system may also include other network devices, such as wireless relay devices and wireless backhaul devices, which are not shown in Figure 1(a).
[0132] Network equipment is an access device that enables terminal devices to access a communication system via wired or wireless means. Network equipment can be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5G mobile communication system, a next-generation base station in a 6G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system; it can also be a module or unit that performs some of the functions of a base station, such as a central unit (CU), a distributed unit (DU), or a radio unit (RU). Network equipment can be a macro base station (110a in Figure 1(a)), a micro base station or an indoor station (110b in Figure 1(a)), a relay node, or a donor node, etc. The embodiments of this application do not limit the specific technology or specific equipment form used in the network equipment.
[0133] A terminal device is a device with wireless transceiver capabilities, capable of sending signals to or receiving signals from network devices. Terminal devices include, but are not limited to, terminal units, terminals, user equipment (UE), mobile stations, and mobile terminals. Terminal devices can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, and smart cities. Specifically, a terminal device can be a mobile phone, tablet computer, computer with wireless transceiver capabilities, wearable device, vehicle, aircraft, ship, robot, robotic arm, smart home device, etc. The embodiments of this application do not limit the specific technologies or device forms used in the terminal devices.
[0134] Network devices and terminal devices can be fixed in location or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can be deployed on aircraft, balloons, and artificial satellites. The embodiments of this application do not limit the application scenarios of the network devices and terminal devices.
[0135] The roles of network devices and terminal devices can be relative. For example, the helicopter or drone 120i in Figure 1(a) can be configured as a mobile network device. For terminal devices 120j that access the wireless access network 100 through 120i, terminal device 120i is a network device; however, for network device 110a, 120i is a terminal device. That is, 110a and 120i communicate through a wireless air interface protocol. Of course, 110a and 120i can also communicate through a network device-to-network device interface protocol. In this case, relative to 110a, 120i is also a network device. Therefore, both network devices and terminal devices can be collectively referred to as communication devices. 110a and 110b in Figure 1(a) can be called communication devices with network device functions, and 120a-120j in Figure 1(a) can be called communication devices with terminal device functions.
[0136] Communication between network devices and terminal devices, between network devices, and between terminal devices can be conducted using licensed spectrum, unlicensed spectrum, or both simultaneously. Communication can be conducted using spectrum below 6 GHz, spectrum above 6 GHz, or both simultaneously. The embodiments of this application do not limit the spectrum resources used for wireless communication.
[0137] In the embodiments of this application, the functions of the network device can be executed by modules (such as chips) within the network device, or by a control subsystem that includes network device functions. This control subsystem, including network device functions, can be a control center in the aforementioned application scenarios such as smart grids, industrial control, intelligent transportation, and smart cities. Similarly, the functions of the terminal device can be executed by modules (such as chips or modems) within the terminal device, or by a device that includes terminal device functions.
[0138] Figure 1(b) shows a schematic diagram of a network device. As shown in Figure 1(b), the network device includes at least one of the following: one or more CUs, one or more DUs, and one or more RUs. For clarity, only one CU, DU, and RU are shown in Figure 1(b). The CU is used to connect to the core network and one or more DUs. Optionally, the CU may have some of the core network's functions. The CU may include a CU-control plane (CP) and a CU-user plane (UP).
[0139] The CU and DU can be configured according to the protocol layer functions of the wireless network they implement: for example, the CU can be configured to implement the functions of the Packet Data Convergence Protocol (PDCP) layer and above (such as the Radio Resource Control (RRC) layer and / or the Service Data Adaptation Protocol (SDAP) layer); the DU can be configured to implement the functions of the protocol layers below the PDCP layer (such as the Radio Link Control (RLC) layer, the Medium Access Control (MAC) layer, and / or the Physical (PHY) layer). Alternatively, the CU can be configured to implement the functions of the protocol layers above the PDCP layer (such as the RRC and / or SDAP layers), and the DU can be configured to implement the functions of the protocol layers below the PDCP layer (such as the RLC, MAC, and / or PHY layers).
[0140] The above CU and DU configurations are merely examples; the functions of the CU and DU can be configured as needed. For instance, the CU or DU can be configured to have more protocol layer functions, or only some protocol layer processing functions. For example, some RLC layer functions and protocol layer functions above the RLC layer can be placed in the CU, while the remaining RLC layer functions and protocol layer functions below the RLC layer can be placed in the DU. Furthermore, the functions of the CU or DU can be divided according to service type or other system requirements, such as by latency. Functions that require low latency can be placed in the DU, while functions that do not require low latency can be placed in the CU.
[0141] DU and RU can cooperate to implement the functions of the PHY layer. A DU can be connected to one or more RUs. The functions of DU and RU can be configured in various ways depending on the design. For example, a DU can be configured to implement baseband functions, and an RU can be configured to implement mid-RF functions. Another example is that a DU can be configured to implement higher-level functions in the PHY layer, and an RU can be configured to implement lower-level functions in the PHY layer, or to implement both lower-level and RF functions. Higher-level functions in the physical layer can include a portion of the physical layer's functions that are closer to the MAC layer, while lower-level functions in the physical layer can include another portion of the physical layer's functions that are closer to the mid-RF side.
[0142] The CU and DU can be separate entities or included in the same network element, such as a baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). In different systems, CU, DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an open radio access network (ORAN) system, CU can also be called O-CU (open CU), DU can be called O-DU, and RU can be called O-RU. Any of the CU (or CU-CP, CU-UP), DU, and RU units in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0143] To facilitate understanding of the content of this application, the nouns or terms involved in the embodiments of this application will be explained below.
[0144] I. Information Bit Sequence
[0145] An information bit sequence refers to a sequence of bits to be transmitted. For example, if the bits to be transmitted are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, then the information bit sequence is 10101100101. Information bits can refer to the payload itself, or to the payload and check bits.
[0146] II. Code Length
[0147] Code length refers to the length of the bit sequence to be transmitted obtained by encoding the information bit sequence. The code length is greater than or equal to the length of the information bit sequence.
[0148] III. Bitrate
[0149] The code rate is the ratio of the length of the information bit sequence to the code length. It can also be the ratio of the length of the information bit sequence to the length of the encoded bit sequence.
[0150] The length, code length, and code rate of the information bit sequence can be pre-configured by higher-layer signaling, MAC layer signaling, or downlink physical layer signals, and can also be obtained or calculated by the transmitting and receiving devices. For example, the transmitting and receiving devices can determine the code length based on the coding method, the frame structure used to transmit the information bits, the number of layers, and the modulation scheme. For example, the transmitting and receiving devices can obtain the code rate based on higher-layer signaling, MAC layer signaling, or downlink physical layer signals, or determine the code rate based on the modulation and coding scheme (MCS).
[0151] IV. LDPC Code
[0152] LDPC codes are a channel coding scheme very close to Shannon lines, characterized by high performance and low complexity. They have been adopted by 3GPP as the coding and decoding scheme for 5G communication data channels. Mainstream LDPC codes employ a QC structure, which avoids bad structures such as short loops and improves code distance by setting the shift amount for each block.
[0153] LDPC codes can be represented using a basis matrix, where elements are either 0 or 1. Expanding the basis matrix by adding 1 elements results in a Zc*Zc cyclic shift matrix, and expanding by adding 0 elements results in a Zc*Zc zero matrix. This expansion yields a parity-check matrix, which can be used for encoding or decoding. Zc can be referred to as the lift factor, spread factor, spread value, spread coefficient, lifting size, etc. The basis matrix can be represented as H. BG BG is an abbreviation for base graph. A basis matrix can also be represented by a base graph, and the two have a corresponding relationship.
[0154] For example, if the element in the i-th row and j-th column of the basis matrix has a value of 1 and corresponds to a shifting value (SV), it can be represented by P. i,j This represents the shift value corresponding to the i-th row and j-th column. A shift value can be used to calculate the corresponding number of cyclic shifts.
[0155] Taking Zc=4 as an example, the matrix obtained by cyclically shifting the 4*4 identity matrix to the right by 1, 2, 3, and 0 times respectively is shown in Figure 2. That is, the number of cyclic shifts are 1, 2, 3, and 0 respectively.
[0156] The following example illustrates this. Figure 3 shows an example of the basis matrix in an LDPC code. This basis matrix is a 3x3 matrix, and we assume Zc = 4, and P 0,0 The corresponding right circular shift count is 1, P 0,1 The corresponding right circular shift count is 2, P 1,0 The corresponding right circular shift count is 3, P 1,2 The corresponding right circular shift count is 3, P 2,2 The corresponding right circular shift count is 1. After expanding the base matrix, we can obtain the parity check matrix as shown in Figure 4.
[0157] Table 1 shows the various values of the lifting dimension (Zc).
[0158] Table 1
[0159] Referring to Table 1, the values of the lifting dimension Zc can be... Where j represents the j-th row in Table 1, j = 0, 1, 2, 3, 4, 5, 6, 7, and a0, a1, a2, a3, a4, a5, a6, a7 are 2, 3, 5, 7, 9, 11, 13, 15 respectively. k j The value of traverses from 0 to max(k) j ), where max(k0), max(k1), max(k2), max(k3), max(k4), max(k5), max(k6), and max(k7) are 7, 7, 6, 5, 5, 5, 4, and 4, respectively.
[0160] For example, if j = 0, then a0 = 2, and k0 iterates through 0 to 7, so the value of Zc can be 2*2. 0 2*2 1 2*2 2 2*2 3 2*2 4 2*2 5 2*2 6 2*2 7 That is, 2, 4, 8, 16, 32, 64, 128, 256. The cases where j takes values from 1 to 7 are similar and will not be elaborated further.
[0161] In Table 1, each row of Zc corresponds to a set of SV. When constructing the parity check matrix, the size of Zc is first determined, then the set of SV corresponding to that Zc is determined, and then the parity check matrix is constructed based on Zc and SV.
[0162] Table 2 below shows some examples of a set of SVs defined in the 3GPP 212 protocol.
[0163] Table 2
[0164] Table 2 shows the basis matrix H. BG The translation values SV corresponding to the elements with a value of 1 in row 0 i,j The set index i in Table 2 LS That is, the set index i in Table 1 LS Furthermore, the basis matrix H BG The cyclic shift value corresponding to each element with a value of 1 in row 0 can be obtained by taking the modulo of Zc using the corresponding translation value.
[0165] Table 2 only shows the translation values corresponding to each element in row 0. In practice, it also includes the translation values corresponding to each element in other rows (such as row 1, row 2, etc.).
[0166] Referring to Table 2, when Zc takes the values 2, 4, 8, 16, 32, 64, 128, or 256, then i LS =0, basis matrix H BG The SV values of the elements with a value of 1 in row 0 are 250, 69, 226, 159, 100, 10, 59, 229, 110, 191, 9, 195, 23, 190, 35, 239, 31, 1, 0. Assuming Zc = 4, then the basis matrix H... BG The cyclic shift counts corresponding to the elements with a value of 1 in row 0 are 250 mod 4, 69 mod 4, 226 mod 4, 159 mod 4, 100 mod 4, 10 mod 4, 59 mod 4, 229 mod 4, 110 mod 4, 191 mod 4, 9 mod 4, 195 mod 4, 23 mod 4, 190 mod 4, 35 mod 4, 239 mod 4, 31 mod 4, 1 mod 4, 0 mod 4, which are 2, 1, 2, 3, 0, 2, 3, 1, 2, 3, 1, 3, 3, 2, 3, 3, 3, 1, 0. This means that the 4x4 identity matrix is cyclically shifted 2, 1, 2, 3, 0, 2, 3, 1, 2, 3, 1, 3, 3, 2, 3, 3, 3, 1, 0 times to obtain the base matrix H. BG The elements in row 0 that have a value of 1 correspond to a 4x4 matrix. For the basis matrix H... BG The elements in the 0th row that have a value of 0 correspond to a zero matrix of size 4*4.
[0167] Similarly, for other values of Zc, there are corresponding translation values and cyclic shift counts, as detailed in Table 2.
[0168] Similarly, for the basis matrix H BGThe rows other than row 0 are also determined using a similar method to determine the corresponding Zc*Zc matrix.
[0169] In this embodiment, the lifting and translation operations of the LDPC code are described as follows: For a given lifting size Zc, from the basis matrix H BG Upgraded to the parity check matrix H, specifically, the basis matrix H BG t in i,j (where t) i,j =1) will be replaced with a Zc×Zc matrix I(P) i,j ), where I(P i,j ) is a cyclic shift of the identity matrix I of Zc×Zc by P i,j One (either left or right circular shift is possible) or circular shift P i,j A matrix of degree mod Zc, P i,j The translation value corresponding to the i-th row and j-th column; basis matrix H BG The zeros in H will be replaced with a Zc×Zc matrix of all zeros. It can be seen that the purpose of lifting is to improve the basis matrix H. BG To transform it into a larger parity check matrix H, the translation aims to shift each H... BG The identity matrix corresponding to the non-zero elements is cyclically shifted into a predefined matrix.
[0170] V. Basis Matrix of 5G LDPC Codes
[0171] The basis matrices of the 5G LDPC code include BG1 and BG2. BG1 is a 46x68 matrix, and BG2 is a 42x52 matrix. Both BG1 and BG2 have the matrix structure shown in Figure 5. Region A corresponds to high-rate information columns, region B corresponds to the core checksum for high-rate data, region C is a zero matrix, region D is the incremental redundancy portion of the basis matrix corresponding to low-rate data, and region E is the incremental redundancy region and is an identity matrix. The values of the basis matrices are either 0 or 1; a value of 0 represents an empty element, and a value of 1 represents an edge in the basis graph or an association between the checksum and the variable.
[0172] To improve the bit rate, LDPC encoding supports puncturing. For example, referring to Figure 5, the first two columns of the matrices BG1 and BG2 are punctured columns. In terms of matrix characteristics, the column weight of the punctured column is relatively large, where column weight refers to the number of non-zero elements in a column. In terms of transmission characteristics, the bits corresponding to the punctured column are not transmitted, and the receiver does not need to pay attention to the received information of this part. Its log-likelihood ratio is set to 0, and it is recovered through decoding.
[0173] BG1 and BG2 are designed for the lowest bitrate. When different bitrates need to be supported, the upper left portion of BG1 or BG2 can be used. Figure 6 shows a schematic diagram of the matrix regions corresponding to different bitrates. This matrix can be BG1 or BG2. Rows and columns of the high bitrate region shown in the figure are selected from BG1 or BG2 to form the base matrix. The high bitrate region can also be called the region corresponding to the highest bitrate. Taking BG1 as an example, the high bitrate region of BG1 is a matrix region composed of region A and region B of BG1. Region A is a 4x22 matrix used to carry data information, and region B is a 4x4 matrix used to carry check information. When the first two columns are punched, the bitrate supported by the high bitrate region is 22 / (22+4-2)=22 / 24≈0.917, and the bitrate of other regions is lower than that of the high bitrate region.
[0174] When a high-bitrate region is selected from BG1 or BG2 as the base matrix, the base matrix will have the highest bitrate; therefore, it is also called the highest bitrate matrix. If more rows and columns than high-bitrate regions are selected from BG1 or BG2 to form the base matrix, the bitrate of the base matrix will be lower than the highest bitrate. Furthermore, as the number of rows and columns increases, the bitrate of the corresponding matrix region gradually decreases. Referring to Figure 6, the rows and columns of each dashed box region form a base matrix; as the size of the dashed box region increases, the bitrate of the corresponding base matrix gradually decreases.
[0175] Figure 7 is a schematic diagram of the high bit rate region of BG1. To further improve the bit rate, while punching columns in region A, columns in region B can also be punched.
[0176] Currently, the performance of the LDPC basis matrix needs improvement in some scenarios. For example, because the first two columns of BG1 and BG2 use a design with high column weight and puncturing during transmission, and the fifth row of both BG1 and BG2 is set to low-degree parity to assist in the decoding of punctured columns, in high-throughput scenarios, the number of decoding iterations is reduced (e.g., reduced to 5 iterations). Punching will slow down the decoding convergence speed. Furthermore, the fifth row is used to assist in recovering information from punctured columns. Therefore, when puncturing is not used, the high column weight portion, the fifth row, and subsequent rows (i.e., the D region) need to be modified.
[0177] In summary, different LDPC code basis matrices are required in different scenarios to improve encoding and decoding performance. How to flexibly determine the basis matrix of LDPC codes is a pressing technical problem that needs to be solved.
[0178] To address the aforementioned issues, this application provides corresponding solutions.
[0179] Figure 8 is a flowchart illustrating an encoding method provided in an embodiment of this application. The method is executed by a first device. Unless otherwise specified, the "first device" in this application can refer to the first device itself (e.g., a terminal device or a network device), a component within the first device (e.g., a communication module, processor, circuit, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the first device.
[0180] In this application, the first device can be used as a transmitting device, and the second device can be used as a receiving device. For example, the first device can send information to the second device.
[0181] The method includes the following steps:
[0182] S101: The first device acquires information bits.
[0183] The first device acts as the transmitting device, and the information bits can be the sequence of bits to be encoded obtained by the first device through source coding. The information bits can refer to the payload itself, or to the payload and parity bits.
[0184] S102: The first device determines a first base matrix, wherein the value of one or more first positions in the first base matrix is a first value.
[0185] In this application, the first basis matrix can be the basis matrix of an LDPC code or a submatrix of the basis matrix of an LDPC code. For example, the basis matrix of an LDPC code can be the basis matrix of a 5G LDPC code, such as BG1 or BG2. That is, the first basis matrix can be BG1, BG2, a submatrix of BG1, or a submatrix of BG2.
[0186] In S102, the first device can determine the first base matrix based on the payload size of the information bits and / or the code rate.
[0187] For example, when the payload size is less than or equal to 292 bits, when the payload size is less than or equal to 3824 bits and the code rate is less than or equal to 0.67, or when the code rate is less than or equal to 0.25, the first device may determine that the first base matrix is BG2. Similarly, when the payload size is greater than 292 bits, when the payload size is greater than 3824 bits and / or the code rate is greater than or equal to 0.67, or when the code rate is greater than 0.25, the first device may determine that the first base matrix is BG1.
[0188] S103: When the communication parameters meet the first condition, the first device encodes the information bits according to the first base matrix and the first information to obtain encoded information. The first information indicates the second value corresponding to the first position, and the first value is different from the second value.
[0189] The first position will be introduced below.
[0190] In this application, the first position is located in the first region, and the first row in the first region is the next row after the region corresponding to the highest code rate in the first base matrix. The first information can be used to indicate that the first value of the first position in the first region be modified to a second value to improve encoding and decoding performance.
[0191] Taking BG1 or BG2 as an example, the region corresponding to the highest bitrate can be the first four rows of BG1 or BG2, that is, the region consisting of region A and region B. The next row after the region corresponding to the highest bitrate is the fifth row of BG1 or BG2.
[0192] As an example, if the first basis matrix is BG1 or BG2, the first region can be region D in BG1 or BG2. That is, in this application, the first value of the first position in region D can be modified to a second value. As another example, the first region is the region consisting of the first row or a series of consecutive rows including the first row in region D of BG1 or BG2, or the first region is a portion of the region consisting of the first row or a series of consecutive rows including the first row in region D of BG1 or BG2.
[0193] The first position can be the position of an element with a value of 0 in region D of BG1 or BG2. The first information can be used to indicate that the value of the first position be modified to 1, where 0 is the first value and 1 is the second value. That is, the first device can modify the elements in region D of BG1 or BG2 according to the first information, which can improve the encoding and decoding performance of LDPC codes with a low number of iteration rounds (e.g., 5 rounds).
[0194] The following section introduces the communication parameters and the first condition that the communication parameters must meet.
[0195] In this application, the communication parameters can be parameters used for communication between the first device and the second device. Specifically, the communication parameters can be used to configure the transmission of information bits or the data corresponding to the information bits. For example, the communication parameters are the communication parameters of the service to which the information bits in S101 belong. Alternatively, the communication parameters are communication parameters used for transmitting data between the first device and the second device, and the data transmitted between the first device and the second device includes the information bits in S101.
[0196] Specifically, the communication parameters may include at least one of the following: buffer status report index, buffer size level, maximum number of code block groups per transport block, number of transport blocks, number of code blocks contained in a transport block, modulation and coding scheme level, modulation order, code rate, spectral efficiency, whether sequence shaping is enabled, operating frequency band, number of multiple-input multiple-output (MIMO) streams, whether limited buffer rate matching (LBRM) is enabled, maximum number of iterations of the decoding algorithm, device capability information, or service information. That is, in S103, the first device can determine whether the first condition is met based on at least one of the following: buffer status report index, buffer size level, maximum number of code block groups per transport block, number of transport blocks, number of code blocks contained in a transport block, modulation and coding scheme level, modulation order, code rate, spectral efficiency, whether sequence shaping is enabled, operating frequency band, number of MIMO streams, whether LBRM is enabled, maximum number of iterations of the decoding algorithm, device capability information, or service information. Alternatively, in S103, the first device can encode the information bits based on at least one of the above parameters, the first base matrix, and the first information.
[0197] In S103, the first device can encode information bits according to the first base matrix and the first information, provided that one or more of the following communication parameters meet the first condition, to obtain encoded information:
[0198] (1) Buffer status report (BSR) index or buffer size level
[0199] The BSR index indicates the buffer size level. The buffer size level represents the amount of data in the buffer. A larger buffer size level means a larger amount of data to be sent in the buffer.
[0200] In this application, the communication parameters satisfying the first condition may include a BSR index greater than or equal to a BSR index threshold, or a buffer size greater than or equal to a buffer size threshold. The BSR index threshold and / or the buffer size threshold may be pre-configured or pre-defined values.
[0201] As an example, the BSR index can be indicated via MAC CE.
[0202] For example, for short MAC CE structures and short truncated MAC CE structures, the MAC CE can use 5 bits to indicate the BSR index. Here, communication transmission satisfying the first condition can include a BSR index value of 31 indicated by the MAC CE. In this example, the buffer size index threshold is 31, and the data volume corresponding to the buffer size index threshold of 31 is 150,000 bytes or 1,200,000 bits. The data volume corresponding to BSR index 31 is greater than 150,000 bytes or greater than 1,200,000 bits. Correspondingly, the buffer size level is also greater than 150,000 bytes. Alternatively, communication parameters satisfying the first condition can include a data volume greater than 150,000 bytes or 1,200,000 bits, or a buffer size level with a data volume greater than 150,000 bytes.
[0203] For example, in long MAC CE structures and long truncated MAC CE structures, the MAC CE can use 8 bits to indicate the BSR index. The communication transmission satisfies the first condition, which can include a BSR index value of 154 indicated by the MAC CE. In this example, the buffer size index threshold is 154, and the data volume corresponding to the buffer size index threshold of 154 is 150992 bytes or 1207936 bits. The data volume corresponding to BSR index 154 is greater than 150992 bytes or greater than 1207936 bits. Correspondingly, the buffer size level, i.e., the data volume, is greater than 150992 bytes.
[0204] Alternatively, it can be considered that the communication parameters meet the first condition, which may include a data volume greater than 150992 bytes or 1207936 bits, or a buffer size level of a data volume greater than 150992 bytes.
[0205] (2) The maximum number of code block groups included in each transport block
[0206] This communication parameter can indicate the number of code block groups included in each transport block (TB).
[0207] In this application, the communication parameters satisfying the first condition may include the maximum number of code block groups included in each transport block being greater than or equal to a threshold value for the maximum number of code block groups included in each transport block. The threshold value for the maximum number of code block groups included in each transport block may be a pre-configured or predefined value.
[0208] As an example, the threshold for the maximum number of code block groups included in each transport block is, for example, 6.
[0209] The maximum number of code block groups included in each transport block can be indicated by maxCodeBlockGroupPerTransportBlock in the higher-layer parameters PUSCH-CodeBlockGroupTransmission / PDSCH-CodeBlockGroupTransmission.
[0210] (3) Number of transport blocks
[0211] This communication parameter can indicate the number of transport blocks to be transmitted.
[0212] In this application, the communication parameters satisfying the first condition may include a threshold value for the number of transport blocks being greater than or equal to the number of transport blocks. The threshold value for the number of transport blocks may be a pre-configured or predefined value.
[0213] As an example, the threshold for the number of transport blocks could be a value such as 1,267,200 or 1,689,600. This threshold for the number of transport blocks can correspond to a buffer size index threshold. Furthermore, if the number of transports meets the threshold for the number of transport blocks, the BSR index can be considered to meet the buffer size index threshold corresponding to that threshold. For example, a transport block count of 1,267,200 corresponds to a buffer size index threshold of 151, and a transport block count of 1,267,200 corresponds to a buffer size index threshold of 155.
[0214] (4) Number of code blocks contained in a transport block
[0215] This communication parameter indicates the number of modules contained in each transport block.
[0216] In this application, the communication parameters satisfying the first condition may include the number of code blocks contained in the transport block being greater than or equal to a threshold value for the number of code blocks contained in the transport block. The threshold value for the number of code blocks contained in the transport block may be a pre-configured or predefined value.
[0217] As an example, the threshold for the number of code blocks contained in a transport block is, for example, 100 or 150.
[0218] (5) Modulation coding scheme (MCS) level (MCS index)
[0219] MCS levels can be used to indicate parameters such as modulation order, code rate, and spectral efficiency.
[0220] In this application, the communication parameters satisfying the first condition may include an MCS level greater than or equal to a threshold value for the MCS level. The threshold value for the MCS level may be a pre-configured or predefined value.
[0221] As an example, the threshold for MCS level is, for example, 20, 21, 22, 23, 24, 25, 26, 27 or 28, etc.
[0222] (6) Modulation order
[0223] The modulation order indicates the number of bits that can be included in each symbol.
[0224] In this application, the communication parameters satisfying the first condition may include a threshold value for the modulation order being greater than or equal to the modulation order. The threshold value for the modulation order may be a pre-configured or predefined value.
[0225] For example, the threshold for the modulation order is 8, 10, or 12. Among them, modulation order 8 corresponds to quadrature amplitude modulation (QAM) 256, modulation order 10 corresponds to QAM 1024, and modulation order 12 corresponds to QAM 4096.
[0226] (7) Bitrate
[0227] The code rate can include the coding code rate and / or the payload code rate. The coding code rate can refer to the LDPC coding code rate. The payload code rate is the ratio between the number of payload bits and the total number of transmitted bits. The total number of transmitted bits is the sum of the number of payload bits and the number of redundant bits. The coding code rate and / or payload code rate can be determined based on the MCS level and / or modulation order, or they can be independently configured parameters.
[0228] In this application, the communication parameters satisfying the first condition may include a code rate greater than or equal to a code rate threshold. The code rate threshold may be a pre-configured or pre-defined value.
[0229] For example, the bitrate thresholds are 22 / 24, 22 / 25, 22 / 26, 948 / 1024, 910 / 1024, or 873 / 1024, etc.
[0230] If the communication parameters shown in (1) to (7) above satisfy the first condition, it can be considered that the data transmission is in a high-throughput communication scenario. Optionally, S103 can also be replaced by: In a high-throughput communication scenario or in the case of high-throughput communication, the first device encodes the information bits according to the first base matrix and the first information to obtain the encoded information.
[0231] Optionally, the communication parameters may also include one or more of the following parameters:
[0232] (8) Spectral efficiency
[0233] Spectral efficiency, also known as system capacity or bandwidth utilization, refers to the number of bits transmitted per unit time within a given bandwidth. The unit of spectral efficiency is, for example, bits per second per hertz (bit / s / Hz).
[0234] In this application, the communication parameters satisfying the first condition may further include a threshold value for spectral efficiency that is greater than or equal to the spectral efficiency. The threshold value for spectral efficiency may be a pre-configured or pre-defined value.
[0235] For example, the thresholds for spectral efficiency are 6 bit / s / Hz, 7 bit / s / Hz, 7.5 bit / s / Hz, or 8 bit / s / Hz, etc.
[0236] (9) Is sequence shaping enabled?
[0237] Shaping, also known as distribution matching or probabilistic shaping, refers to cascading a precoder before channel coding to map (or "shape") the information bits to a bit sequence that follows a specific distribution. During channel coding, systematic coding is used, ensuring that the resulting sequence directly appears in the coded sequence, thus shaping the final modulation symbols. For example, shaping can increase the probability of low-energy symbols appearing more frequently than high-energy symbols, thereby saving average energy.
[0238] In this application, the communication parameters satisfying the first condition may also include enabling shaping.
[0239] (10) Operating frequency band
[0240] The operating frequency band can refer to the frequency band that the first device is currently connected to.
[0241] In this application, the communication parameters satisfying the first condition may further include a threshold value for the operating frequency band being greater than or equal to the operating frequency band. The threshold value for the operating frequency band may be a pre-configured or pre-defined value.
[0242] For example, the threshold for the operating frequency band could be 24 GHz or 24.25 GHz, etc.
[0243] (11) MIMO stream count
[0244] Currently, MIMO technology enables devices to transmit data simultaneously through multiple data streams. Here, the number of streams refers to the number of data streams that the device transmits at the same time.
[0245] In this application, the communication parameters satisfying the first condition may further include the number of streams being greater than or equal to a stream number threshold. The stream number threshold may be a pre-configured or predefined value.
[0246] For example, the stream number threshold can be 4, 5, 6 or 12, etc.
[0247] (12) Is LBRM enabled?
[0248] Limited buffer rate matching refers to increasing the minimum bit rate supported by the base matrix to reduce retransmission wait time.
[0249] In this application, the communication parameters satisfying the first condition may also include limited buffer rate matching enabled.
[0250] (13) Maximum number of iterations in the decoding algorithm
[0251] The maximum number of iterations in the decoding algorithm can be used to indicate the maximum number of iterations the receiving device-level second device can perform during decoding. If the second device still cannot decode accurately after performing this number of decoding iterations, the second device determines that the decoding has failed.
[0252] Specifically, the maximum number of iteration rounds can be a preset value or a value configured by the network device through signaling.
[0253] In this application, the communication parameters satisfying the first condition may further include the maximum number of iterations of the decoding algorithm being less than or equal to a threshold number of iterations. The threshold number of iterations may be a pre-configured or predefined value.
[0254] For example, the number of rounds threshold can be 5, 6, 7, 8, 9 or 10, or other values.
[0255] (14) Equipment Capability Information
[0256] Among them, equipment capability information can be used to indicate the capabilities of the first device and / or the second device.
[0257] Terminal capability information may include information such as decoding complexity, terminal type, terminal capabilities, decoding mode, receiver complexity, receiving mode, power consumption, and power mode of the terminal device. Meeting the first condition for communication parameters may also include a specific capability information item among these meeting a corresponding threshold condition. The threshold condition for any capability information can be a pre-configured or predefined value.
[0258] In addition, the capability information of the terminal device may also include some kind of indicator information reported by the terminal device, such as a channel quality indicator (CQI). Meeting the first condition for communication parameters may also include the terminal device reporting an indicator information that meets the corresponding condition. The condition corresponding to the indicator information can be a pre-configured or predefined value.
[0259] (15) Business Information
[0260] Business information or scenario information can be used to indicate relevant information about the business to which the data belongs.
[0261] For example, business information can include scenario information and business requirement information. Scenario information can be used to indicate business scenarios, such as enhanced mobile broadband (eMBB), ultra-reliable and low latency communications (URLLC), or enhanced machine-type communication (eMTC). Alternatively, business information can indicate specific business types, such as connected vehicle services, cloud gaming services, cloud virtual reality (VR), and augmented reality (AR).
[0262] The communication parameters satisfying the first condition may also include scenario information indicating an eMTC scenario, or indicating high-throughput services such as cloud gaming, cloud VR, or cloud AR. Alternatively, the communication parameters satisfying the first condition may include service information indicating that the data belongs to a high-throughput scenario or service. It is understood that the scenarios or services exemplified here are exemplary and should not be considered as limiting all scenarios or services that require the communication parameters to satisfy the first condition.
[0263] In addition, if the service information indicates that the service scenario is a non-high throughput scenario or service such as eMBB, then it can be considered that the communication parameters do not meet the first condition.
[0264] Business requirements may include latency requirements and bit error rate requirements. The following sections will describe the scenario information, latency requirements, and bit error rate requirements respectively.
[0265] The communication parameters meeting the first condition can also include service requirements such as service latency requirements or service bit error rate requirements. The service bit error rate can also be called the error rate. These service requirements can be pre-configured or pre-defined. For example, the threshold for the service latency requirement might be 1 millisecond (ms) or 0.5 ms. Similarly, the threshold for the bit error rate requirement might be 0.01 or 0.001.
[0266] Understandably, if the communication parameters do not meet the first condition, the first device does not encode the information bits according to the first base matrix and the first information. In this case, the first device can encode the information bits according to the first base matrix to obtain the encoded information. That is, if the communication parameters do not meet the first condition, the first device and the second device can communicate using the first base matrix, that is, the first device and the second device can perform LDPC code encoding based on the submatrices of BG1, BG2, BG1, or BG2. In other words, it is not necessary to determine the first information or to execute steps such as S103 at this time.
[0267] The first piece of information will be introduced below.
[0268] The first information can indicate the correspondence between the first position and the second value. This can be understood as the first information being used to indicate that the first value at the first position in the first base matrix is modified to the second value to obtain the second base matrix. In S103, the first device can encode the information bits according to the second base matrix to obtain encoded information.
[0269] For example, the first value can be 0 and the second value can be 1; or, the first value can be 1 and the second value can be 0.
[0270] The first position can indicate one or more positions in the first base matrix. For example, the first information can include information about the first position, such as the row index and column index of the first position. The row index can also be replaced with row coordinates, and the column index can also be replaced with column coordinates. Taking Figure 7 as an example, the first information can include the row and column indices (0,1), where 0 represents that the row index of the first position is 0, and 1 represents that the column index of the first position is 1. (0,1) can indicate the element in Figure 7 with row coordinate 1 and column coordinate 2, which is used to indicate the element in the 1st row and 2nd column, that is, the element in the 1st row and 2nd column of the first position.
[0271] Furthermore, since the values at each position in the first basis matrix are known, that is, the first value at the first position is known, and the elements in the first basis matrix take the values of 0 or 1, the first information does not need to explicitly indicate the value of the second value. The first value at the first position can be determined based on the information at the first position. If the first value is 0, then the second value is 1; if the first value is 1, then the second value is 0.
[0272] Taking Figure 7 as an example, the element at position (0,1) has a value of 1 in the base matrix shown in Figure 7. When the first information includes (0,1), the first information can be used to indicate that the value of the element at position (0,1) should be changed to 0. That is, the first value corresponding to position (0,1) is 1, and the second value corresponding to position (0,1) is 0.
[0273] It is understandable that multiple first positions include multiple positions, and these positions can be numbered. For example, a number or index k can be used to represent different first positions. For example, k = 0, 1, 2... or k = 1, 2, 3...
[0274] In S103, the first indication information can indicate different first positions within different code rate ranges. That is, the first position can be different when the code rate corresponds to different numerical ranges. The code rate can be indicated by the MCS level, modulation order, or independent parameters other than the MCS level and modulation order.
[0275] For example, taking BG1 as the first base matrix, when the bit rate is less than or equal to 11 / 13, the first position includes one or more positions with the smallest column weight in the first row of the first region of the first base matrix. That is, when the bit rate is less than or equal to 11 / 13, the values of one or more positions with the smallest column weight in the first row of the first region of the first base matrix can be changed from 0 to 1 to obtain the second base matrix.
[0276] Figure 9(a) shows an example of a second basis matrix. The first position includes, for example, positions with indices (4,6), (4,9), (4,15), (4,23), and (4,25). The value of these positions is 0 in BG1 and 1 in the second basis matrix.
[0277] It is understandable that the fifth row (row index 4) containing positions (4,6), (4,9), (4,15), (4,23), and (4,25) shown in Figure 9(a) can also be represented by Table 3:
[0278] Table 3
[0279] It can also be understood that the fifth row, where positions (4,6), (4,9), (4,15), (4,23), and (4,25) are shown in Figure 9(a), can also be represented by a bit string: 110000100100000100000001011000000. In this bit string, each bit represents an element in the fifth row.
[0280] For example, when the bit rate is less than or equal to 23 / 27, the first position includes one or more positions with the smallest column weight in the row or multiple rows with the smallest row weight in the first region. That is, when the bit rate is less than or equal to 23 / 27, the first device can change the value of one or more positions with the smallest column weight in the row or multiple rows with the smallest row weight in the first region of the first base matrix from 0 to 1 to obtain the second base matrix.
[0281] As shown in Figure 9(a) (b), the first position includes, for example, at least one of the indices (7,23), (7,24), (10,5) and (10,25), where the value of the above position is 0 in BG1 and 1 in the second base matrix.
[0282] Furthermore, when the bitrate is less than or equal to 23 / 27, the condition of a bitrate less than or equal to 11 / 13 is also satisfied. Therefore, when the bitrate is less than or equal to 23 / 27, the first position can still include one or more positions with the smallest column weight in the first row of the first region in the first base matrix, such as positions with indices (4,6), (4,9), (4,15), (4,23), and (4,25). That is, when the bitrate is less than or equal to 23 / 27, the first device can modify the value of the positions with indices (4,6), (4,9), (4,15), (4,23), and (4,25) in BG1 to 1, and can also modify the value of at least one of the positions (7,23), (7,24), (10,5), and (10,25) to 1.
[0283] It is understandable that the positions (7,23) and (7,24) shown in Figure 9(a) and the 11th row (10) where (10,5) and (10,25) are located can also be represented by Table 4:
[0284] Table 4
[0285] It can also be understood that the 8th row, where positions (7,23) and (7,24) are shown in (b) of Figure 9(a), can also be represented by a bit string: 110010011000001000000001100001000. In this bit string, each bit represents an element in the 8th row.
[0286] The 11th row, where positions (10,5) and (10,25) are shown in (b) of Figure 9(a), can also be represented by a bit string: 011011011000001000000000010000001. In this bit string, each bit represents an element in the 11th row.
[0287] In one possible embodiment, the first basis matrix further includes an element at a second position, wherein the value of the element at the second position is a second value. When the communication parameters satisfy a first condition, the first information can also indicate that the value corresponding to the second position is a first value. Therefore, the first device can modify the value at the second position to the first value based on the first information. For example, the second value is 1, and the first value is 0.
[0288] The second position can be one or more positions within a second region. The second region is one or more columns in the first base matrix whose column weight exceeds a column weight threshold. The second region can be a region comprised of columns with large column weights in the first base matrix. Large column weights can refer to punched columns in the first base matrix.
[0289] Taking BG1 or BG2 as an example, the second region can be the first and second columns of BG1 or BG2.
[0290] In other words, the first device can modify one or more elements in the first and second columns of BG1 or BG2 based on the first information, enabling the second device to obtain the correct decoding result using a decoder with lower complexity without punching holes in large columns.
[0291] As shown in (a) or (b) of Figure 9(a), the second position includes, for example, at least one of the indices (0,1), (2,0) and (3,1), where the value of the above position is 1 in BG1 and 0 in the second base matrix.
[0292] It is understandable that rows 1 (i.e., row index 0), 3 (i.e., row index 2), and 4 (i.e., row index 3) shown in (a) or (b) of Figure 9(a) can also be represented by Table 5:
[0293] Table 5
[0294] It can also be understood that the first row shown in (a) or (b) of Figure 9(a) can also be represented by a bit string: 10110110011111011011111000000000. The third row shown in (a) or (b) of Figure 9(a) can also be represented by a bit string: 011011111110011101111000110000000. The fourth row shown in (a) or (b) of Figure 9(a) can also be represented by a bit string: 100110111011111011101110010000000. In the above bit strings, each bit represents one element.
[0295] Figure 9(b) shows the performance of LDPC coding based on BG1 and the second basis matrix shown in (b) of Figure 9(a) under the same code length and code rate. In Figure 9(b), maxlter represents the maximum number of iteration rounds, and Es / N0 represents the signal-to-noise ratio.
[0296] In Figure 9(b), the curve for "5G" shows the simulated block error rate (BLER) as a function of Es / N0 when using BG1 encoding. The curve for "5G without puncturing" shows the simulated BLER as a function of Es / N0 when using BG1 encoding without puncturing the first two columns of BG1. The curve for "Removing the 5th row" shows the simulated BLER as a function of Es / N0 when using the base matrix after removing the elements of the 5th row in BG1 for encoding. The curve for "Second base matrix" shows the simulated BLER as a function of Es / N0 when using the second base matrix shown in Figure 9(a)(b). It can be seen that compared to the other encoding methods in Figure 9(b), encoding with the second base matrix shown in Figure 9(a)(b) results in better BLER performance.
[0297] In step S103, the first device can determine the second basis matrix based on the first basis matrix and the first information, where the value corresponding to the first position in the second basis matrix is the second value. The first device can also encode the information bits based on the second basis matrix and the corresponding shift values to obtain encoded information. The encoded information can be understood as the codeword obtained after LDPC encoding.
[0298] It can be understood that the second basis matrix can be obtained by replacing the first value at the first position in the first basis matrix with the corresponding second value at the first position. The translation values corresponding to the second basis matrix can be understood as the set of translation values corresponding to each element in the second basis matrix.
[0299] Since the value at the first position in the second basis matrix is changed from the first value to the second value, the translation value corresponding to the second basis matrix is different from the translation value corresponding to the first basis matrix. It can be understood that the translation value at the first position changes, while the translation values at other positions in the first basis matrix besides the first position change.
[0300] The following describes how to determine the translation value corresponding to the first position in the second basis matrix.
[0301] Method 1: Determine the translation value corresponding to the first position based on the second value of the first position in the second matrix.
[0302] The first device can determine the shift value corresponding to the first position based on the row index, column index, or number of the first position. That is, the shift value corresponding to the first position is related to at least one of the row index, column index, or number of the first position.
[0303] The following section explains how to determine the translation value corresponding to the first position, using methods 1-1 and 1-2 as examples.
[0304] In Method 1-1, when the first position is located in the first row of the first region, the shift value corresponding to the first position is related to the column index and / or the number of the first position. For example, the shift values corresponding to the first positions (4,6), (4,9), (4,15), (4,23), and (4,25) can be determined using Method 1-1.
[0305] The first position number can be used to identify the first position that is different for multiple row and column indices.
[0306] As shown in Table 6, the k numbers of the first positions (4,6), (4,9), (4,15), (4,23), and (4,25) are 1, 2, 3, 4, and 5, respectively.
[0307] Table 6
[0308] It is understandable that the numbering of the first position shown in Table 6 is based on 1 as the minimum value. However, the numbering value of the first position can be replaced with other values. Table 6 is not used as a restriction on the numbering value.
[0309] As an example, the shift value corresponding to the first position is related to the column index of the first position, and the shift value corresponding to the first position is positively correlated with the column index of the first position.
[0310] For example, the translation value SV corresponding to the first position i,j The column index j at the first position satisfies the following relationship: SV i,j =j+w j ;
[0311] Where i represents the row index, w j w represents a constant. j It can be a fixed value, such as w. j =1, w j =2, w j =3 or w j = 4th grade, or, w j It can be a value related to the column index, for example, w j =1+j, w j =2+j, w j =3+j, or w j =4+j etc.
[0312] For example, the translation value SV corresponding to the first position. i,j The column index j at the first position satisfies the following relationship: SV i,j =mod(j+w) j ,Zc);
[0313] Where i represents the row index, w jw represents a constant. j It can be a fixed value or a value related to the column index. mod(a,b) represents the remainder when a is divided by b, and Zc represents the boost value. The method for determining Zc can be found in the relevant 3GPP protocols.
[0314] The above SV i,j The relationship between j and is merely a possible example and should not be construed as limiting the scope of the relationship. For instance, coefficients or constants could be introduced into the above formula to achieve reasonable transformations of the relation.
[0315] As an example, the shift value corresponding to the first position is related to the column index of the first position and the number of the first position. The shift value corresponding to the first position is positively correlated with the column index of the first position and also positively correlated with the number of the first position.
[0316] For example, the translation value SV corresponding to the first position i,j The column index j of the first position and the number k of the first position satisfy the following relationship: SV i,j =k+w j ;
[0317] Where i represents the row index, w j w represents a constant. j It can be a constant related to j. That is, for different j, w j The values of k vary. See Table 6 for the possible values of k.
[0318] For example, the translation value SV corresponding to the first position. i,j The column index j of the first position and the number k of the first position satisfy the following relationship: SV i,j =mod(k+w) j ,Zc);
[0319] Where i represents the row index, w j w represents a constant. j It can be a constant related to j, that is, w for different j. j The values of are different. mod(a,b) represents the remainder when a is divided by b, and Zc represents the boost value. The method for determining Zc can be found in the relevant 3GPP protocols. The values of k can be found in Table 6.
[0320] The above SV i,j The relationship between j and k is merely a possible example and should not be construed as limiting the relationship between the three. For example, coefficients or constants can be introduced into the above formula to achieve reasonable transformations of the relationship.
[0321] As an example, the translation value corresponding to the first position is related to the number of the first position, and the translation value corresponding to the first position is positively correlated with the number of the first position.
[0322] For example, the translation value SV corresponding to the first position i,j The first position number k satisfies the following relationship: SV i,j =k+w;
[0323] Where i represents the row index and w represents a constant. w can be a fixed value.
[0324] For example, the translation value SV corresponding to the first position. i,j The first position number k satisfies the following relationship: SV i,j = mod(k+w, Zc);
[0325] Where i represents the row index, w j This represents a constant. w can be a fixed value. mod(a,b) represents the remainder when a is divided by b, and Zc represents the boost value. The determination of Zc can be found in the relevant 3GPP protocols.
[0326] The above SV i,j The relationship between k and k is merely a possible example and should not be interpreted as limiting the relationship between the three. For example, coefficients or constants can be introduced into the above formula to achieve reasonable transformations of the relationship.
[0327] In other words, if the communication transmission meets the first condition, the translation value SV corresponding to the first position can be determined according to the above formula. i,j Additionally, the first device can also store the correspondence between the row and column indices of the first position and the shift value, meaning that it is not necessary to calculate SV according to the formula after the first condition is met. i,j .
[0328] In Method 1-2, when the first position is located in a row other than the first row of the first region, the shift value corresponding to the first position is related to the row index and column index of the first position, and / or the number of the first position. For example, the shift values corresponding to the first positions (7,23), (7,24), (10,5), and (10,25) can be determined using Method 1-2.
[0329] As shown in Table 7, the k numbers of the first positions (7,23), (7,24), (10,5) and (10,25) are 1, 2, 3, 4 and 5, respectively.
[0330] Table 7
[0331] It is understood that the number value of the first position shown in Table 7 can also be replaced with other values, and Table 7 is not used as a restriction on the number value.
[0332] As an example, the shift value corresponding to the first position is related to the row index and column index of the first position. The shift value corresponding to the first position is positively correlated with the row index of the first position and also positively correlated with the column index of the first position.
[0333] For example, the translation value SV corresponding to the first position i,j The row index i and column index j at the first position satisfy the following relationship: SV i,j =i+j+w j ;
[0334] Among them, w j w represents a constant. j It can be a fixed value, such as w. j =1, w j =2, w j =3 or w j =4th grade. w j It can also be a value related to i and j. For example, w j =1+i+j, w j =2+i+j, w j =3+i+j, or w j =4+i+j etc.
[0335] For example, the translation value SV corresponding to the first position. i,j The row index i and column index j of the first position satisfy the following relationship: SV i,j =mod(i+j+w) j ,Zc);
[0336] Among them, w j w represents a constant. j It can be a fixed value or a value related to i and j. mod(a,b) represents the remainder when a is divided by b, and Zc represents the boost value. The method for determining Zc can be found in the relevant 3GPP protocols.
[0337] The above SV i,j The relationship between i and j is merely a possible example and should not be construed as limiting the relationship between the three. For instance, coefficients or constants can be introduced into the above formula to achieve reasonable transformations of the relationship.
[0338] As an example, the shift value corresponding to the first position is related to the row index, column index, and number of the first position. The shift value corresponding to the first position is positively correlated with the row index, the column index, and the number of the first position.
[0339] For example, the translation value SV corresponding to the first position i,jThe row index i and column index j of the first position and the number k of the first position satisfy the following relationship: SV i,j =k+w i,j ;
[0340] Where i represents the row index, w i,j This represents a constant related to i and j. That is, for different i and j, w i,j The values of k vary. See Table 7 for the possible values of k.
[0341] For example, the translation value SV corresponding to the first position. i,j The row index i and column index j of the first position and the number k of the first position satisfy the following relationship: SV i,j =mod(k+w) i,j ,Zc);
[0342] Among them, w i,j This represents a constant related to i and j. That is, for different i and j, w i,j The values of are different. mod(a,b) represents the remainder when a is divided by b, and Zc represents the boost value. The method for determining Zc can be found in the relevant 3GPP protocols. The values of k can be found in Table 7.
[0343] The above SV i,j The relationship between i, j, and k is merely a possible example and should not be construed as limiting the relationship between these four. For example, coefficients or constants can be introduced into the above formula to achieve reasonable transformations of the relationship.
[0344] As an example, the translation value corresponding to the first position is related to the number of the first position. The translation value of the first position is positively correlated with the number of the first position.
[0345] For example, the translation value SV corresponding to the first position i,j The first position number k satisfies the following relationship: SV i,j =k+w;
[0346] Where i represents the row index and w represents a constant. w can be a fixed value.
[0347] For example, the translation value SV corresponding to the first position. i,j The first position number k satisfies the following relationship: SV i,j = mod(k+w, Zc);
[0348] Where i represents the row index and w represents a constant. w can be a fixed value. mod(a,b) represents the remainder when a is divided by b, and Zc represents the boost value. The determination of Zc can be found in the relevant 3GPP protocols.
[0349] The above SVi,j The relationship between k and k is merely a possible example and should not be construed as limiting the scope of the relationship. For instance, coefficients or constants can be introduced into the above formula to achieve reasonable transformations of the relation.
[0350] In other words, if the communication transmission meets the first condition, the translation value SV corresponding to the first position can be determined according to the above formula. i,j Additionally, the first device can also store the correspondence between the row and column indices of the first position and the shift value, meaning that it is not necessary to calculate SV according to the formula after the first condition is met. i,j .
[0351] It is understandable that the translation value corresponding to the second basis matrix can also include the translation value corresponding to the second position, where the position of the second position is 0, and correspondingly, the translation value of the second position is 0. That is to say, if the communication parameters satisfy the first condition, it can be determined that the translation value corresponding to the second position is 0.
[0352] In Method 2, the first information can also indicate the translation value corresponding to the first position in the second matrix.
[0353] That is, the first information can include the translation value corresponding to the first position. The translation value can be referenced from SV in Method 1. i,j The difference lies in the way SV is determined, which can be defined by the protocol. i,j The value can be a pre-configured value or a value stored in the first device. It is understood that if the translation value corresponding to the first position is a pre-configured value or a value stored in the first device, this can be a translation value determined through simulation to obtain better encoding and decoding performance.
[0354] Alternatively, the translation value corresponding to the second position can be omitted in the second information, and the first device can determine that the translation value corresponding to the second position is 0 based on the second value of the second position being 0.
[0355] In one possible embodiment, the first information can be contained in the translation value table corresponding to the first base matrix. As shown in Table 8, which is an example of the translation value table when the row indices are 3 and 4, it can be seen that the first position can be represented by (+) and the second position can be represented by (-).
[0356] Table 8
[0357] It is understood that Table 8 is merely an example of carrying the first information in the translation value table corresponding to the first basis matrix, and should not be construed as a limited implementation. Furthermore, Table 8 uses the translation value SV at the first position... i,j =j+w jFor example, w j =4. The SV corresponding to the first position shown in Table 8 i,j Other values can also be used. For example, SV can be determined through performance simulation values. i,j and SV i,j Store in Table 8.
[0358] For example, in Table 8, under the condition that the first condition is met, the first device can determine, based on (+), to modify the value of the first position of indices (4,6), (4,9), (4,15), (4,23), and (4,25) in the first base matrix to 1. Additionally, Table 8 also includes the translation values SV corresponding to the values of (4,6), (4,9), (4,15), (4,23), and (4,25) being 1. i,j If the first condition is met, the first device can also determine, based on (-), to modify the value of the second position with index (3,0) in the first base matrix to 0.
[0359] One possible implementation is that if the first device determines that the code rate is greater than or equal to 2 / 3 and the number of iterations is less than or equal to 7 based on the communication parameters, then when reading the translation value table shown in Table 8, the modification of the second position with (-) is ignored, and the modification of the first position with (+) is performed. That is, the first device can modify the value of the first position with (+) in the first base matrix to 1 to obtain the second base matrix.
[0360] In other scenarios, such as in the eMBB scenario, the modification of the first position with (+) can be ignored, while the modification of the second position with (-) can be performed. That is, the first device can modify the value of the second position with (-) in the first basis matrix to 0 to obtain the second basis matrix.
[0361] In this embodiment, Table 8 shows the SV corresponding to the first position marked with (+). i,j This can be used as the translation value corresponding to the first position in the second basis matrix. The translation value table corresponding to the first basis matrix shown in Table 8 can be defined by a protocol. Therefore, the first device can, under the condition that the communication parameters meet the first condition, query the translation value corresponding to the first position from the translation value table of the first basis matrix to obtain the translation value corresponding to the second basis matrix. For example, the translation value table of the second basis matrix corresponding to Table 8 can be found in Table 9.
[0362] Table 9
[0363] Table 9 is merely an example of one possible value for the translation value table corresponding to the second basis matrix, and should not be construed as a limitation on the translation value table.
[0364] The translation value table shown in Table 9 uses row indices 3 and 4 in the second base matrix as an example. This translation value table corresponding to the second base matrix includes the translation values corresponding to positions with a value of 1 in the second base matrix. Compared to Table 8, it does not include the translation value corresponding to (3,0), and it does not need to use (+) to represent the first position or (-) to represent the second position. The translation value table corresponding to the second base matrix can be defined through a protocol; therefore, the first device can obtain the translation value table corresponding to the second base matrix based on the protocol.
[0365] In another possible embodiment, the first device may also query and obtain the translation value table shown in Table 9, which is the translation value table corresponding to the second basis matrix, when the communication parameters meet the first condition. That is, when the communication parameters meet the first condition, the first device can store or obtain the translation value table corresponding to the second basis matrix based on the protocol.
[0366] The communication method provided in this application may also include the steps shown in Figure 10. In Figure 10, the second device may perform the following actions to decode the information to be decoded.
[0367] S201: The second device acquires the information to be decoded.
[0368] The information to be decoded can be obtained by the second device receiving a signal sent by the first device through a receiver. For example, the first device can send a signal corresponding to the encoded information in S103 through a transmitter, and the second device can obtain the information to be decoded after receiving the signal through a receiver.
[0369] The information to be decoded is, for example, a sequence of modulated symbols to be decoded and demodulated.
[0370] S202: The second device determines the first base matrix.
[0371] The second device determines the first basis matrix in the same way as the first device determines the first basis matrix in S102, so S202 can refer to the description of S102.
[0372] S203: When the communication parameters meet the first condition, the second device decodes the information to be decoded according to the first base matrix and the first information to obtain the information bits.
[0373] The first information can be found in the description of S103. In S203, the second device can obtain the first information if it determines that the communication parameters meet the first condition. It can also be considered that there is a correspondence between the first condition and the first information. It is understood that the correspondence between the first condition and the first information can be defined by a protocol, therefore the second device can obtain the first condition and the first information based on the protocol. Alternatively, the correspondence between the first condition and the first information can also be pre-configured in the second device.
[0374] It is understood that the communication parameters and the corresponding first condition in S203 can be found in the explanation of the communication parameters and the first condition in S103.
[0375] S203 can also be replaced by: In high-throughput communication scenarios or when performing high-throughput communication, the second device decodes the information to be decoded based on the first base matrix and the first information to obtain information bits.
[0376] In S203, the second device can determine the second basis matrix based on the first basis matrix and the first information, and the value corresponding to the first position in the second basis matrix is the second value; the second device can also decode the information to be decoded based on the second basis matrix and the translation value corresponding to the second basis matrix.
[0377] The method for determining the second basis matrix can be found in the explanation of the method for determining the second basis matrix in S103. The method for determining the translation value corresponding to the second basis matrix in S203 can also be found in the explanation of the method for determining the translation value corresponding to the second basis matrix in S103.
[0378] After the second device obtains the information bits through S203, it can perform operations such as demodulation on the information bits to obtain data.
[0379] Based on the processes shown in Figures 8 and 10, the first device and the second device can encode and decode using the first base matrix and the first information, respectively, when the communication parameters meet the first condition, in order to improve the encoding and decoding performance.
[0380] In this application, the process shown in Figure 8 can also be replaced by the process shown in Figure 11 below.
[0381] S301: The first device acquires information bits.
[0382] S301 can be referred to S101, and will not be repeated here.
[0383] S302: When the communication parameters meet the first condition, the first device encodes the information bits according to the second base matrix to obtain the encoded information.
[0384] In the second basis matrix, one or more first positions have a second value, and / or one or more second positions have a first value. Specifically, one or more first positions in the first basis matrix have a first value, and one or more second positions in the first basis matrix have a second value. For example, if the first basis matrix is BG1 or BG2, one or more first positions are one or more positions in the first basis matrix with a value of 0, and one or more second positions are one or more positions in the first basis matrix with a value of 1. The first value can be 0, and the second value can be 1.
[0385] The second basis matrix can be found in the description in S103.
[0386] Compared to S103, in S302, the first device can obtain the second basis matrix by querying when it is determined that the communication parameters meet the first condition, without needing to determine the second basis matrix based on the first basis matrix and the first information. It can also be considered that there is a correspondence between the first condition and the second basis matrix. That is, the first device can obtain the second basis matrix based on the correspondence between the first condition and the second basis matrix when the communication parameters meet the first condition.
[0387] It is understandable that the correspondence between the first condition and the second basis matrix can be defined through a protocol. Therefore, the first device can obtain the correspondence between the first condition and the second basis matrix based on the protocol, so as to query and obtain the second basis matrix when the communication parameters meet the first condition. In addition, the correspondence between the first condition and the second basis matrix can also be pre-configured in the first device.
[0388] S302 can also be replaced by: In high-throughput communication scenarios or when performing high-throughput communication, the first device encodes the information bits according to the second base matrix to obtain the encoded information.
[0389] Specifically, in S302, the first device can encode the information bits according to the second base matrix and its corresponding shift values to obtain encoded information. The encoded information can be understood as the codeword obtained after LDPC encoding. The method for determining the shift values corresponding to the second base matrix can be found in S103. For example, if the communication parameters meet the first condition, the first device can obtain the shift value corresponding to the first position based on the shift value table corresponding to the first base matrix shown in Table 8, and determine the shift value corresponding to the second base matrix based on the shift values corresponding to the first base matrix and the shift value corresponding to the first position. Alternatively, if the communication parameters meet the first condition, the first device can determine the shift value corresponding to the second base matrix based on the shift value table shown in Table 9. The shift value table shown in Table 9 can be considered as the shift value table corresponding to the second base matrix determined based on the shift value table corresponding to the first base matrix and the first information. The first device can store the translation value table corresponding to the second basis matrix shown in Table 9. Therefore, in S302, it can be assumed that the translation value matrix shown in Table 9 is read by the first device when the communication parameters meet the first condition, and the first device does not need to re-determine the translation value table corresponding to the second basis matrix based on the translation value table corresponding to the first basis matrix and the first information when the communication parameters meet the first condition.
[0390] Based on the process shown in Figure 11, the first device can encode the information bits according to the second base matrix to obtain the encoded information when the communication parameters meet the first condition, without having to determine the second base matrix according to the first information and the first base matrix and then encode according to the second base matrix after determining that the communication parameters meet the first condition.
[0391] In this application, the process shown in Figure 10 can also be replaced by the process shown in Figure 12 below.
[0392] S401: The second device acquires the information to be decoded.
[0393] For details regarding S401, please refer to the description in S201.
[0394] S402: When the communication parameters meet the first condition, the second device decodes the information to be decoded according to the second base matrix to obtain the information bits.
[0395] The second basis matrix can be found in the description in S302.
[0396] Compared to S203, in S402, the second device can obtain the second basis matrix by querying it if the communication parameters satisfy the first condition, without needing to determine the second basis matrix based on the first basis matrix and the first information. It can also be considered that there is a correspondence between the first condition and the second basis matrix. That is, the second device can obtain the second basis matrix based on the correspondence between the first condition and the second basis matrix, provided the communication parameters satisfy the first condition.
[0397] It is understood that the communication parameters and the corresponding first condition in S402 can be found in the explanation of the communication parameters and the first condition in S103.
[0398] S402 can also be replaced by: In high-throughput communication scenarios or when performing high-throughput communication, the second device decodes the information to be decoded according to the second base matrix to obtain the information bits.
[0399] Specifically, in S402, the second device can decode the information to be decoded based on the second basis matrix and its corresponding translation value. The method for determining the second basis matrix can refer to the explanation in S103. The method for determining the translation value corresponding to the second basis matrix in S402 can also refer to the explanation in S103, or the explanation in S302.
[0400] For example, the second device can read the translation values corresponding to the second basis matrix from the translation value table of the second basis matrix as shown in Table 9. This translation value table can be defined by a protocol or stored in the second device.
[0401] Based on the process shown in Figure 12, the second device can decode the information bits according to the second basis matrix to obtain the information bits when the communication parameters meet the first condition, without having to determine the second basis matrix according to the first information and the first basis matrix and then encode according to the second basis matrix after determining that the communication parameters meet the first condition.
[0402] It is understood that, in order to achieve the functions in the above embodiments, the communication device includes hardware structures and / or software modules corresponding to each function. Those skilled in the art should readily recognize that, based on the units and method steps described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0403] Figures 13 and 14 are schematic diagrams of possible communication devices provided in embodiments of this application. These communication devices can be used to implement the functions of the first communication device (or first device) and / or the second communication device (or second device) in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments. The first communication device and / or the second communication device can be referred to the description in the above method embodiments, and will not be repeated here. For example, the communication device can be used to implement the function of the first device in the process shown in Figure 8 or Figure 11, or to implement the function of the second device in the process shown in Figure 10 or Figure 12.
[0404] The communication device 1300 shown in Figure 13 includes a processing unit 1310 and a transceiver unit (or communication unit) 1320. The communication device 1300 is used to implement the functions of the first communication device and / or the second communication device in the above method embodiments. The transceiver unit may include a sending unit and a receiving unit, used for sending and receiving, respectively.
[0405] Taking the process shown in Figure 8 as an example, when the communication device 1300 is used to implement the function of the first device in the method embodiment shown in Figure 8, specifically, the processing unit 1310 can be used to acquire information bits and determine the first base matrix; the transceiver unit 1320 can be used to encode the information bits according to the first base matrix and the first information to obtain encoded information when the communication parameters meet the first condition.
[0406] In one possible implementation, the processing unit 1310 may determine the first basis matrix based on the payload of the information bits and / or the code rate.
[0407] In one possible implementation, the transceiver unit 1320 can be used to determine a second basis matrix based on the first basis matrix and the first information, and encode the information bits based on the second basis matrix and its corresponding shift value to obtain encoded information.
[0408] In one possible implementation, the transceiver unit 1320 can be used to determine the translation value corresponding to the second basis matrix based on the translation value corresponding to the first basis matrix and the translation value corresponding to the first position.
[0409] Taking the process shown in Figure 10 as an example, when the communication device 1300 is used to implement the function of the second device in the method embodiment shown in Figure 10, specifically, the processing unit 1310 can be used to obtain the information to be decoded and determine the first base matrix, and the transceiver unit 1320 can be used to decode the information to be decoded according to the first base matrix and the first information to obtain information bits when the communication parameters meet the first condition.
[0410] In one possible implementation, the processing unit 1310 may determine the first basis matrix based on the payload of the information bits and / or the code rate.
[0411] In one possible implementation, the transceiver unit 1320 can be used to determine a second basis matrix based on the first basis matrix and the first information, and decode the information to be decoded based on the second basis matrix and its corresponding shift value to obtain information bits.
[0412] In one possible implementation, the transceiver unit 1320 can be used to determine the translation value corresponding to the second basis matrix based on the translation value corresponding to the first basis matrix and the translation value corresponding to the first position.
[0413] Taking the process shown in Figure 11 as an example, when the communication device 1300 is used to implement the function of the first device in the method embodiment shown in Figure 11, specifically, the processing unit 1310 can be used to acquire information bits; the transceiver unit 1320 can be used to encode the information bits according to the second base matrix to obtain encoded information when the communication parameters meet the first condition.
[0414] In one possible implementation, the transceiver unit 1320 can be used to encode information bits according to the second base matrix and its corresponding shift value to obtain encoded information.
[0415] Taking the process shown in Figure 12 as an example, when the communication device 1300 is used to implement the function of the second device in the method embodiment shown in Figure 12, specifically, the processing unit 1310 can be used to obtain the information to be decoded, and the transceiver unit 1320 can be used to decode the information to be decoded according to the second base matrix to obtain information bits when the communication parameters meet the first condition.
[0416] In one possible implementation, the transceiver unit 1320 can be used to decode the information to be decoded based on the second basis matrix and its corresponding shift value to obtain information bits.
[0417] For a more detailed description of the processing unit 1310 and the transceiver unit 1320, please refer directly to the description of the process steps and their related features in the above method embodiments, which will not be repeated here.
[0418] The communication device 1400 shown in Figure 14 includes a processor 1410 and an interface circuit 1420. The processor 1410 and the interface circuit 1420 are coupled to each other. It is understood that the interface circuit 1420 can be a transceiver or an input / output interface. Optionally, the communication device 1400 may also include a memory 1430 for storing instructions executed by the processor 1410, or storing input data required by the processor 1410 to execute instructions, or storing data generated after the processor 1410 executes instructions.
[0419] When the communication device 1400 is used to implement the above method embodiment, the processor 1410 is used to implement the function of the processing unit 1310, and the interface circuit 1420 is used to implement the function of the transceiver unit 1320.
[0420] It is understood that the processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), microprocessors without interlocked piped stages architecture (MIPS), advanced instruction set computers (RISC) machines (ARM), network processors (NPs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0421] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disk, portable hard disk, compact disc read-only memory (CD-ROM), or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Furthermore, the ASIC can reside in a first communication device, a second communication device, a third communication device, or a fourth communication device. Alternatively, the processor and storage medium can exist as discrete components in the first, second, third, or fourth communication device.
[0422] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. A computer program is a set of instructions that directs each step of an action of an electronic computer or other device with message processing capabilities. It is typically written in a programming language and runs on a target architecture. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium can be volatile or non-volatile, or it can include both types of storage media.
[0423] Based on the same technical concept, embodiments of this application also provide a computer-readable storage medium, including a program or instructions, which, when run on a computer, cause the methods in the above method embodiments to be executed.
[0424] Based on the same technical concept, embodiments of this application also provide a computer program product, including instructions that, when run on a computer, cause the methods in the above method embodiments to be executed.
[0425] Based on the same technical concept, embodiments of this application also provide a communication system, including a first device and a second device. The first device can implement the method shown in FIG8 or FIG11, and the second device can implement the method shown in FIG10 or FIG12.
[0426] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0427] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0428] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates an "or" relationship between the preceding and following related objects; in the formulas of this application, the character " / " indicates a "division" relationship between the preceding and following related objects.
[0429] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.
Claims
1. A communication method, characterized in that, include: Obtain information bits; Determine a first basis matrix, wherein one or more first positions in the first basis matrix have a first value; When the communication parameters meet the first condition, the information bits are encoded according to the first base matrix and the first information to obtain encoded information, wherein the first information is used to indicate the second value corresponding to the first position, and the first value is different from the second value.
2. The method as described in claim 1, characterized in that, The first position is located in the first region, and the first row in the first region is the next row of the region corresponding to the highest bit rate in the first base matrix.
3. The method as described in claim 1 or 2, characterized in that, Determining the first basis matrix includes: The first base matrix is determined based on the payload and / or code rate of the information bits.
4. The method according to any one of claims 1-3, characterized in that, The communication parameters satisfy a first condition, including at least one of the following: The buffer status report index is greater than or equal to the buffer size index threshold; The buffer size level is greater than or equal to the buffer size level threshold; The maximum number of code block groups included in each transport block is greater than or equal to a threshold for the maximum number of code block groups in each transport block; The number of transport blocks is greater than or equal to the transport block number threshold; The number of code blocks contained in the transport block is greater than or equal to a threshold number of code blocks contained in the transport block; The modulation and coding scheme level is greater than or equal to the modulation and coding scheme level threshold. The modulation order is greater than or equal to the modulation order threshold; The bitrate is greater than or equal to the first bitrate threshold; The bit rate is less than or equal to the second threshold.
5. The method according to any one of claims 1-4, characterized in that, The step of encoding the information bits according to the first base matrix and the first information includes: A second basis matrix is determined based on the first basis matrix and the first information, wherein the value corresponding to the first position in the second basis matrix is the second value. The information bits are encoded based on the second basis matrix and the corresponding translation value of the second basis matrix.
6. The method as described in claim 5, characterized in that, The method further includes: The translation value corresponding to the second basis matrix is determined based on the translation value corresponding to the first basis matrix and the translation value corresponding to the first position.
7. The method as described in claim 6, characterized in that, The first information also includes the translation value corresponding to the first position.
8. The method as described in claim 6 or 7, characterized in that, The shift value corresponding to the first position is related to the row index of the first position.
9. The method as described in claim 8, characterized in that, The shift value corresponding to the first position is related to the row index of the first position, including: The first position is located in the first row of the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied: SV i,j =j+w j , or SV i,j =mod(j+w) j ,Zc); Where j represents the column index of the first position, Zc represents the promotion value, and w j It is a constant, or, the w j Related to j; The first position is located in a row other than the first row in the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied: SV i,j =i+j+w i,j , or SV i,j =mod(i+j+w) j ,Zc); Where i represents the row index of the first position, j represents the column index of the first position, Zc represents the promotion value, and w i,j It is a constant, or, the w i,j It relates to i and j.
10. The method according to any one of claims 1-9, characterized in that, The value at the second position in the first base matrix is the second value, and the first information is also used to indicate that the value corresponding to the second position is the first value.
11. The method as described in claim 10, characterized in that, The second position includes one or more positions in the columns of the first base matrix where the column weight is greater than the column weight threshold.
12. A communication method, characterized in that, include: Obtain the information to be decoded; Determine a first basis matrix, wherein one or more first positions in the first basis matrix have a first value; When the communication parameters meet the first condition, the information to be decoded is decoded according to the first base matrix and the first information to obtain information bits, wherein the first information is used to indicate the second value corresponding to the first position, and the first value is different from the second value.
13. The method as described in claim 12, characterized in that, The first position is located in the first region, and the first row in the first region is the next row of the region corresponding to the highest bit rate in the first base matrix.
14. The method as described in claim 12 or 13, characterized in that, Determining the first basis matrix includes: The first base matrix is determined based on the payload and / or code rate of the information bits.
15. The method according to any one of claims 12-14, characterized in that, The communication parameters satisfy a first condition, including at least one of the following: The buffer status report index is greater than or equal to the buffer size index threshold; The buffer size level is greater than or equal to the buffer size level threshold; The maximum number of code block groups included in each transport block is greater than or equal to a threshold for the maximum number of code block groups in each transport block; The number of transport blocks is greater than or equal to the transport block number threshold; The number of code blocks contained in the transport block is greater than or equal to a threshold number of code blocks contained in the transport block; The modulation and coding scheme level is greater than or equal to the modulation and coding scheme level threshold. The modulation order is greater than or equal to the modulation order threshold; The bitrate is greater than or equal to the first bitrate threshold; The bit rate is less than or equal to the second threshold.
16. The method according to any one of claims 12-15, characterized in that, The decoding of the information to be decoded based on the first basis matrix and the first information includes: A second basis matrix is determined based on the first basis matrix and the first information, wherein the value corresponding to the first position in the second basis matrix is the second value. The information to be decoded is decoded based on the second basis matrix and the corresponding translation value of the second basis matrix.
17. The method as described in claim 16, characterized in that, The method further includes: The translation value corresponding to the second basis matrix is determined based on the translation value corresponding to the first basis matrix and the translation value corresponding to the first position.
18. The method as described in claim 17, characterized in that, The first information also includes the translation value corresponding to the first position.
19. The method as described in claim 17 or 18, characterized in that, The shift value corresponding to the first position is related to the row index of the first position.
20. The method as described in claim 19, characterized in that, The shift value corresponding to the first position is related to the row index of the first position, including: The first position is located in the first row of the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied: SV i,j =j+w j , or SV i,j =mod(j+w) j ,Zc); Where j represents the column index of the first position, Zc represents the promotion value, and w j It is a constant, or, the w j Related to j; The first position is located in a row other than the first row in the first region, and the translation value SV corresponding to the first position is... i,j The following relationship must be satisfied: SV i,j =i+j+w i,j , or SV i,j =mod(i+j+w) j ,Zc); Where i represents the row index of the first position, j represents the column index of the first position, Zc represents the promotion value, and w i,j It is a constant, or, the w i,j It relates to i and j.
21. The method according to any one of claims 12-20, characterized in that, The value at the second position in the first base matrix is the second value, and the first information is also used to indicate that the value corresponding to the second position is the first value.
22. The method as described in claim 21, characterized in that, The second position includes one or more positions in the columns of the first base matrix where the column weight is greater than the column weight threshold.
23. A communication device, characterized in that, It includes units or modules for performing the method as described in any one of claims 1-11, or units or modules for performing the method as described in any one of claims 12-22.
24. A communication device, characterized in that, Includes a processor for executing computer programs or instructions to implement the method as described in any one of claims 1-11, or to implement the method as described in any one of claims 12-22.
25. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, which, when executed by a communication device, implement the method as described in any one of claims 1-11, or the method as described in any one of claims 12-22.
26. A computer program product, characterized in that, When the computer program product is executed by a computer, the computer executes the method as described in any one of claims 1-11, or executes the method as described in any one of claims 12-22.