Method of encoding or decoding and communication device
By performing specific transformations and XOR operations on the LDPC basis matrix, the problems of slow convergence speed and poor performance of LDPC in high-throughput scenarios and low-iteration-count scenarios are solved, achieving performance improvement and complexity reduction.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-19
AI Technical Summary
Existing low-density parity-check (LDPC) base matrices have slow convergence speed in high-throughput scenarios and poor performance at low iteration counts, so there is a need to improve coding performance.
By performing specific transformations on the basis matrix of LDPC, including obtaining the first basis matrix or a matrix that satisfies the row and/or column transformation relationship with it, and using the specific characteristics of two rows in the same group to perform an XOR operation, the decoding complexity is reduced and the performance is improved.
It improves the convergence speed of LDPC in high-throughput scenarios and the performance of low-iteration scenarios, and reduces the decoding complexity.
Smart Images

Figure CN122247436A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of channel coding, and more specifically, to a method of encoding or decoding and a communication apparatus. Background Technology
[0002] Low-density parity-check (LDPC) codes are channel coding schemes that closely approximate the Shannon limit, offering advantages such as high performance and low complexity. Mainstream LDPC applications employ a quasi-cyclic (QC) structure. In fifth-generation (5G) systems, the base graphs (BGs) for LDPCs are BG1 and BG2, both sharing a common matrix structure. The base graph can also be written in matrix form, called the base matrix. Based on the base matrix and its boost value, the base matrix can be extended into a complete parity-check matrix for encoding or decoding.
[0003] However, the performance of existing basis matrices for encoding still needs improvement. For example, there are problems such as slow convergence speed in high throughput scenarios and poor performance in low iteration counts. Summary of the Invention
[0004] This application provides an encoding or decoding method and a communication device that can improve the performance of LDPC codes, such as improving the convergence speed in high-throughput scenarios and the performance under low iteration counts.
[0005] Firstly, an encoding method is provided, which can be executed by a communication device or a module applied to the communication device (e.g., a processor, chip, chip system, integrated circuit, etc., or a logic module, hardware, and / or software capable of implementing all or part of the functions of the communication device). The method may include: obtaining a first basis matrix, wherein the first basis matrix is a basis matrix H. BG , or with the basis matrix H BG A matrix that satisfies row and / or column transformation relationships, wherein the base matrix H BGThe first 2k rows comprise k groups, each of which contains two rows, where k is a positive integer. The two rows belonging to the same group include a first row and a second row. The row index of the first row is less than the row index of the second row. The first row and the second row satisfy the following characteristics: the element in the column with column index p of the second row is 1, and the element in the column with column index p of the first row is 1; or, the element in the column with column index p of the second row is 1, the element in the column with column index p of the first row is 0, and the number of columns with column index p is no greater than 3, where p is a non-negative integer. A first matrix is determined based on the first base matrix and the translation values corresponding to the elements in the first base matrix. Encoding is performed based on the first matrix to obtain an encoded bit sequence. Finally, the encoded bit sequence is output.
[0006] In the technical solution of this application, the first basis matrix used for LDPC can be the basis matrix H. BG Or with the basis matrix H BG A matrix that satisfies row and / or column transformation relations, where the basis matrix H BG The first 2k rows satisfy the features described in the embodiment, which can improve the performance of LDPC, such as improving the convergence speed in high throughput scenarios (or supporting high throughput scenarios), and improving the performance of LDPC with low iteration counts.
[0007] Regarding the basis matrix H BG The characteristics satisfied by the first 2k rows are detailed in the embodiments.
[0008] As in the first aspect, in one possible implementation, the basis matrix H BG In the first 2k rows, if two rows belonging to the same group have an element of 1 in a certain column of the second row and an element of 0 in the same column of the first row, then the basis matrix H is... BG The number of such columns in the first 2k rows does not exceed 3. This is done so that during decoding, the checksum corresponding to the first row in the same group (corresponding to Z) can be used. c The i-th row in the group, and the checksum corresponding to the second row in the group (corresponding to Z). c The result of the XOR operation on the i-th row of the first row (rows) is used to replace the i-th row of the checksum corresponding to the row with the larger row weight in the group (specifically, the row with the larger row weight between the first and second rows). This can reduce decoding complexity and improve throughput without sacrificing performance. Optionally, the basis matrix H BG The limit on the number of such columns in the first 2k can be smaller; for example, changing 3 to 1 or 2 can improve the performance of the first basis matrix.
[0009] Secondly, a decoding method is provided, which can be executed by a communication device or a module applied to the communication device (e.g., a processor, chip, circuit, etc., or a logic module, hardware, and / or software capable of implementing all or part of the functions of the communication device). The communication device is also referred to as a decoding device. The method includes: obtaining a first basis matrix, wherein the first basis matrix is a basis matrix H. BG , or with the basis matrix H BG A matrix that satisfies row and / or column transformation relationships, wherein the base matrix H BG The first 2k rows comprise k groups, each of which contains two rows, where k is a positive integer. The two rows belonging to the same group include a first row and a second row. The row index of the first row is less than the row index of the second row. The first row and the second row satisfy the following characteristics: the element in the column with column index p of the second row is 1, and the element in the column with column index p of the first row is 1; or, the element in the column with column index p of the second row is 1, the element in the column with column index p of the first row is 0, and the number of columns with column index p is not greater than 3, where p is a non-negative integer. A first matrix is determined based on the first base matrix and the translation values corresponding to the elements in the first base matrix. Based on the first matrix, the received value sequence is decoded to obtain a decoded bit sequence. Finally, the decoded bit sequence is output.
[0010] In some implementations of the first or second aspect, the first row and the second row further satisfy the following: the element of the column with column index q in the second row is 0, and the element of the column with column index q in the first row is 0 or 1, where q is a non-negative integer.
[0011] In this implementation, the basis matrix H BG In the first 2k rows, if the element in a certain column of the lower row (i.e., the second row) belonging to the same group is 0, the element in that column of the upper row (i.e., the first row) belonging to the same group can be either 0 or 1.
[0012] In some implementations of the first or second aspect, when the element of the column with column index p in the second row is 1, and the element of the column with column index p in the first row is 1, the shift values corresponding to the positions of the first row and the second row at the column with column index p are the same.
[0013] In some implementations of the first or second aspect, the first basis matrix is determined based on a second basis matrix, which is the base map BG1 in the new radio (NR).
[0014] In this implementation, the first basis matrix of this application is obtained by modifying NR BG1, which can reduce the complexity of the basis matrix design for LDPC.
[0015] In some implementations of the first or second aspect, the method includes: reading the first m rows and first n columns from a third basis matrix to obtain a first basis matrix, wherein the third basis matrix is determined based on the second basis matrix, and m and n are both positive integers; wherein each row in the 5th, 6th, 7th, and 8th rows of the third basis matrix corresponds to one row in the 1st, 2nd, 3rd, and 4th rows of the third basis matrix, and the corresponding two rows belong to the same group and satisfy the aforementioned characteristic; and the third basis matrix satisfies one of the following:
[0016] The third basis matrix includes 44 columns of information, and the first 22 columns and the second 22 columns of the 44 columns correspond one-to-one.
[0017] The third base matrix comprises 43 columns, including a column with index r and the remaining 42 columns. The remaining 42 columns are divided into two groups, each containing 21 columns. These 21 columns in each group correspond one-to-one, and r belongs to any index in the column index set {1, 2, 22, 23}; or...
[0018] The third base matrix includes 42 columns of information. These 42 columns include columns with column indices r1 and r2, and the remaining 40 columns. The remaining 40 columns are divided into two groups, each containing 20 columns, with the 20 columns in each group corresponding one-to-one. Here, r1 and r2 are two indices from the column index set {1, 2, 21, 22}. Alternatively, the 42 columns can be divided into two groups, each containing 21 columns, with the 21 columns in each group corresponding one-to-one.
[0019] or,
[0020] The third base matrix comprises 41 columns, including a column with index r3 and the remaining 40 columns. These remaining 40 columns are divided into two groups of 20 columns each, with each group corresponding to a single index. Here, r3 is any index in the set {1, 21}. Alternatively,
[0021] The third base matrix includes 40 columns of information, which are divided into two groups of 20 columns each, with the 20 columns in each group corresponding one-to-one.
[0022] This implementation provides the characteristics that the information columns of the third basis matrix may satisfy, allowing for the selection of different third basis matrices in different application scenarios. Alternatively, the transmitting or receiving device can determine, based on certain conditions, whether to delete column 's' (where 's' takes values other than 0, such as 1, 2, 3, or 4) from the basis matrix obtained based on NR BG1 (e.g., basis matrix #2 in Example 1, basis matrix #3 in Example 2, basis matrix #5 in Example 3, or basis matrix #6 in Example 4) to obtain the third basis matrix. Then, the first basis matrix is extracted from the third basis matrix.
[0023] In some implementations of the first or second aspect, each row in the 5th, 6th, 7th, and 8th rows of the third basis matrix corresponds to one row in the 1st, 2nd, 3rd, and 4th rows of the third basis matrix, and the corresponding two rows belong to the same group and satisfy the aforementioned characteristic, including: the 5th, 6th, 7th, and 8th rows correspond one-to-one with the 1st, 2nd, 3rd, and 4th rows, and the two rows belonging to the same group satisfy the aforementioned characteristic; or, the 5th, 6th, 7th, and 8th rows correspond one-to-one with the 2nd, 1st, 4th, and 3rd rows, and the two rows belonging to the same group satisfy the aforementioned characteristic; or, the 5th, 6th, 7th, and 8th rows correspond one-to-one with the 1st, 4th, 3rd, and 2nd rows, and the two rows belonging to the same group satisfy the aforementioned characteristic.
[0024] In this implementation, taking k=4 as an example, the basis matrix H BG The first 8 rows are grouped into two groups of two, and the two rows in the same group satisfy the characteristics described in the first aspect.
[0025] The following implementation methods provide several different examples of obtaining the third basis matrix. Please refer to the detailed description in the Implementation Examples section for specific details.
[0026] In some implementations of the first or second aspect, the third basis matrix is determined based on the second basis matrix, including: determining a basis matrix #1 based on the second basis matrix, the basis matrix #1 comprising 44 columns of information, wherein the first 22 columns and the second 22 columns of the 44 columns correspond one-to-one and are identical, and the first 22 columns and the second 22 columns are respectively the first 22 columns of the second basis matrix; modifying the 5th, 6th, 7th, and 8th rows of the basis matrix #1 to obtain a basis matrix #2, wherein the 5th, 6th, 7th, and 8th rows of the basis matrix #2 correspond one-to-one with the 1st, 2nd, 3rd, and 4th rows; deleting column s from the 1st, 2nd, 23rd, and 24th columns of the basis matrix #2 to obtain the third basis matrix, where s = 0, 1, 2, 3, or 4.
[0027] In some implementations of the first or second aspect, the third basis matrix is determined based on the second basis matrix, including: determining a basis matrix #1 based on the second basis matrix, the basis matrix #1 comprising 44 columns of information, wherein the first 22 columns and the second 22 columns of the 44 columns correspond one-to-one and are identical, and the first 22 columns and the second 22 columns are respectively the first 22 columns of the second basis matrix; modifying rows 5, 6, 7, and 8 of the basis matrix #1 to obtain a basis matrix #3, wherein rows 5, 6, 7, and 8 of the basis matrix #3 correspond one-to-one with rows 2, 1, 4, and 3; wherein rows 5, 6, 7, and 8 of the basis matrix #3 satisfy:
[0028] Row 5: The first 22 columns correspond one-to-one with and are identical to the first 22 columns of row 2 of the base matrix #1; columns 23 to 44 are 0;
[0029] Row 6: The first 22 columns are the same as the first 22 columns of row 6 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 6 of the base matrix #1 from the elements of columns 23 to 44 of row 1 of the base matrix #1.
[0030] Row 7: The first 22 columns are the same as the first 22 columns of row 7 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 7 of the base matrix #1 from the elements of columns 23 to 44 of row 4 of the base matrix #1.
[0031] Row 8: The first 22 columns are the same as the first 22 columns of row 8 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 8 of the base matrix #1 from the elements of columns 23 to 44 of row 3 of the base matrix #1.
[0032] In addition, delete column s from columns 1, 2, 23 and 24 of the base matrix #3 to obtain the third base matrix, s = 0, 1, 2, 3 or 4.
[0033] In some implementations of the first or second aspect, the third basis matrix is determined based on the second basis matrix, including: determining a basis matrix #4 based on the second basis matrix, the basis matrix #4 comprising the portion of the second basis matrix excluding row 5 and column 49, the first 44 columns of the basis matrix #4 comprising a first 22 column and a second 22 column, the first 22 column and the second 22 column being the first 22 columns of the second basis matrix respectively; modifying rows 5, 6, 7, and 8 of the basis matrix #4 to obtain a basis matrix #5, the 5th, 6th, 7th, and 8th rows of the basis matrix #5 corresponding one-to-one with rows 1, 2, 3, and 4; and deleting column s from columns 1, 2, 23, and 24 of the basis matrix #5 to obtain the third basis matrix, s = 0, 1, 2, 3, or 4.
[0034] In some implementations of the first or second aspect, the third basis matrix is determined based on the second basis matrix, including:
[0035] Based on the second basis matrix, a basis matrix #4 is determined. The basis matrix #4 includes the part of the second basis matrix except for the 5th row and the 49th column. The first 44 columns of the basis matrix #4 include a first 22 column and a second 22 column, which are the first 22 columns of the second basis matrix, respectively.
[0036] Modifying rows 5, 6, 7, and 8 of the basis matrix #4 yields basis matrix #6, where rows 5, 6, 7, and 8 correspond one-to-one with rows 1, 4, 3, and 2. Specifically, rows 5, 6, 7, and 8 of basis matrix #6 satisfy the following conditions:
[0037] Row 5: The first 22 columns are the same as the first 22 columns of row 5 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 5 of the base matrix #4 from the elements of columns 23 to 44 of row 1 of the base matrix #4.
[0038] Row 6: The first 22 columns are the same as the first 22 columns of row 6 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 6 of the base matrix #4 from the elements of columns 23 to 44 of row 4 of the base matrix #4.
[0039] Row 7: The first 22 columns are the same as the first 22 columns of row 7 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 7 of the base matrix #4 from the elements of columns 23 to 44 of row 3 of the base matrix #4.
[0040] Row 8: The first 22 columns are the same as the first 22 columns of row 8 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 8 of the base matrix #4 from the elements of columns 23 to 44 of row 2 of the base matrix #4.
[0041] In addition, the s column is deleted from the 1st, 2nd, 23rd and 24th columns of the base matrix #6 to obtain the third base matrix, s = 0, 1, 2, 3 or 4.
[0042] In some implementations of the first or second aspect, m = 4 + z, n = 44 - s + z, where s is the total number of information columns deleted, and z is a non-negative integer.
[0043] Thirdly, a communication device is provided, which has the function of implementing the method in the first aspect or any possible implementation of the first aspect. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above-described function.
[0044] Fourthly, a communication device is provided, which has the function of implementing the method in the second aspect or any possible implementation of the second aspect. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above-described function.
[0045] Fifthly, a communication device is provided, comprising at least one processor configured to cause the communication device to execute the method of the first aspect or any possible implementation thereof; or to execute the method of the second aspect or any possible implementation thereof. Optionally, the at least one processor is coupled to at least one memory for storing computer programs or instructions, and the at least one processor is configured to call and run the computer program or instructions from the at least one memory, causing the communication device to execute the method of the first aspect or any possible implementation thereof; or to execute the method of the second aspect or any possible implementation thereof. Optionally, the at least one processor may be included in the communication device or may be configured outside the communication device. Optionally, the communication device further includes the at least one memory. Optionally, the communication device further includes at least one communication interface. As an example, the communication interface may include an input interface and / or an output interface, or may be an interface circuit.
[0046] Sixthly, a communication device is provided, including a communication interface and a circuit. The communication interface is used to receive a signal to be processed and transmit the signal to the circuit. The circuit is used to process the signal to perform a method as described in the first aspect or any possible implementation thereof; or to perform a method as described in the second aspect or any possible implementation thereof. Optionally, the communication interface is further used to output the signal processed by the circuit. Optionally, the signal may include information and / or data. Optionally, the communication device may be a chip (e.g., a baseband chip) or a chip system. As an example, the chip may be a modem chip, also known as a baseband chip, or a system-on-a-chip (SoC) chip containing a modem, or a system-in-package (SIP) chip, etc., without limitation.
[0047] In one example, the communication device described in the third or fifth aspect can be an encoding device, such as an encoder; the communication device described in the fourth or sixth aspect can be a decoding device, such as a decoder.
[0048] A seventh aspect provides a computer-readable storage medium storing computer program code or instructions that, when executed on a computer, cause the method of the first aspect or any possible implementation thereof to be implemented; or, the method of the second aspect or any possible implementation thereof to be implemented.
[0049] Eighthly, a computer program product is provided, the computer program product comprising computer program code or instructions, which, when executed on a computer, cause the method in the first aspect or any possible implementation thereof to be implemented; or, as in the second aspect or any possible implementation thereof, the method to be implemented.
[0050] A ninth aspect provides a wireless communication system, including a communication device as described in the third aspect and a communication device as described in the fourth aspect. Attached Figure Description
[0051] Figure 1 This is a schematic diagram of the base matrix structure of 5G LDPC.
[0052] Figure 2 This is a schematic diagram of the incremental redundancy region of the basis matrix of LDPC.
[0053] Figure 3 This is an example of a communication system applicable to the technical solutions of this application.
[0054] Figure 4 A schematic flowchart of the channel coding method 200 provided in this application.
[0055] Figure 5 This is a schematic diagram of the encoding process of the transmitting device.
[0056] Figure 6 A schematic flowchart of the channel decoding method 300 provided in this application.
[0057] Figure 7 An example of a basis matrix provided for this application.
[0058] Figure 8 Another example of the basis matrix provided in this application.
[0059] Figure 9 A performance simulation comparison chart of the base matrix provided in this application and 5G BG1.
[0060] Figure 10 A schematic structural diagram of the communication device 1000 provided in this application.
[0061] Figure 11 A schematic structural diagram of another communication device provided in this application.
[0062] Figure 12 A schematic structural diagram of the chip provided in this application. Detailed Implementation
[0063] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0064] Low-density parity-check (LDPC) codes are channel coding schemes very close to the Shannon limit and have been selected as the data channel coding scheme for the fifth-generation (5G) system. The quasi-cyclic LDPC (QC-LDPC) used in practice is represented using a base graph (BG). The 5G LDPC has two base graphs (BGs): BG1 and BG2, which share a common matrix structure, such as... Figure 1 As shown.
[0065] Figure 1This is a schematic diagram of the base matrix structure of 5G LDPC. The base matrix includes: part A, corresponding to the information column region of the high code rate; part B, corresponding to the core check region of the high code rate; part C, an all-zero region; part D, an incremental redundancy region corresponding to the low code rate matrix; and part E, corresponding to the raptor-like region.
[0066] Figure 2 This is a schematic diagram of the incremental redundancy region of the LDPC base matrix. (Example:) Figure 2 The E region employs a Raptor-like structure, which can be gradually expanded to low bitrates using a high-bitrate core matrix. In practical use, such as... Figure 2 As shown by the dashed lines, the first X rows and Y columns of the parity-check matrix can be extracted. As the bitrate decreases, X and Y gradually increase, and the area of the matrix used also gradually expands. Different dashed boxes represent matrix areas extracted based on different bitrates. Within region E, the row weight (the number of 1s in each row) is equal to 1, and the column weight (the number of 1s in each column) is equal to 1. In other words, region E is an identity matrix, or can be transformed into an identity matrix through row and column permutations. The advantage of this is that the parity-check positions of any row in E can be encoded quickly.
[0067] The BG graph model of the QC-LDPC code is BG = (X, Y, F), where X corresponds to the variables, Y corresponds to the check equation, F is the edge relationship, and the expansion factor is Z. c After QC expansion, we obtain the Tanner graph, which is a bipartite graph G = (V, C, E), where V is the variable node, C is the check node, and E is its edge relationship, corresponding to the number of columns in the check matrix N = |V| = Z. c |X|, the number of rows in the parity check matrix M = |C| = Z c |Y|, the number of non-zero elements in the parity check matrix is |E|=Z|F|. BG can also be written in matrix form H. BG Based on the basis matrix and the lifting value Z c (Lifting size) can expand the basis matrix into a complete parity-check matrix for encoding or decoding. c It can also be called the expansion factor, lifting factor, expansion value, expansion coefficient, or lifting size. The lifting process involves lifting the elements of the basis matrix to a value of Z. c ×Z c The basis matrix is a square matrix. The elements in the basis matrix take values of 0 and 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 a corresponding check and a variable. Element 0 in the basis matrix is promoted to Z. c ×Z cThe 0 matrix is promoted to an identity matrix by its element 1, and then cyclically shifted based on the shifting value (SV) corresponding to 1. This cyclic shift can be to the left or right, which is not limited in this application. Each element 1 in the base matrix corresponds to a shifting value. Taking a 4*4 identity matrix as an example, if the shifting values are 0, 1, and 3, and the shift is to the right, the resulting cyclically shifted matrix is as follows:
[0068] If the translation value is 0, the corresponding cyclically shifted matrix is:
[0069] If the shift value is 1, the corresponding cyclically shifted matrix is:
[0070] If the shift value is 3, the corresponding cyclically shifted matrix is:
[0071] The QC-LDPC used in practice employs a base matrix H BG H indicates BG The elements in H are either 0 or 1, so that the basis matrix H is... BG The 1s in the matrix are expanded into a cyclic shift matrix, and the 0s are expanded into a 0 matrix of the corresponding size. The resulting parity check matrix is used for encoding or decoding.
[0072] The same H BG Different lifting sizes are needed to adapt to rate matching of different code lengths. For this purpose, it is necessary to store a list of lifting sizes and a list of shift values that correspond one-to-one with the rows of the lifting size list.
[0073] Table 1 is an example of a list of lift dimensions Z for LDPC.
[0074] Table 1: sets of LDPC lifting size Z
[0075] <![CDATA[Set index(i LS )]]> Set of LDPC lifting sizes (Z) 0 {2,4,8,16,32,64,128,256} 1 {3,6,12,24,48,96,192,384} 2 {5,10,20,40,80,160,320} 3 {7,14,28,56,112,224} 4 {9,18,36,72,144,288} 5 {11,22,44,88,176,352} 6 {13,26,52,104,208} 7 {15,30,60,120,240}
[0076] As shown in Table 1, the j-th row of the lifting size list Where a j ∈{2,3,5,7,9,11,13,15}, max(k jThe lift size is ∈ {7,7,6,5,5,5,4,4}; the row index of the lift size corresponds one-to-one with the column index of the shift value, that is, the lift size in each row of the lifting size list corresponds to a set of shift values. During rate matching, the lift size is determined first, and then the corresponding shift values are selected to construct the check matrix.
[0077] A parity-check matrix (PCM) is typically represented by H. The PCM H can be represented by a Tanner graph, with a one-to-one correspondence between the Tanner graph and the PCM H. The Tanner graph consists of two types of vertices: one type represents codeword bits, called variable nodes, each corresponding to a column in the PCM H; the other type consists of check nodes, representing check constraints, each corresponding to a row in the PCM H. For a PCM H of size m rows and n columns, the Tanner graph contains n variable nodes and m check nodes. The n variable nodes correspond to the n columns of the PCM H, and the m check nodes correspond to the m rows of the PCM H. The connections between the two types of nodes correspond to the values of elements in the PCM H. If there is a connection between the i-th check node and the j-th variable node, the element (i, j) in the PCM H has a value of 1; otherwise, the corresponding element is 0. The connection between variable nodes and check nodes is also called an edge. The existence of a connection between the validation node and the variable node can also be described as: the validation node and the variable node are connected or have an edge. The connection between the validation node and the variable node can include either the presence of an edge or the absence of an edge.
[0078] Table 2 is a schematic diagram of the list of edge connections and translation values for the BG1 section in NR. As shown in Table 2, after selecting a lift value from the lift value list shown in Table 1, the index i corresponding to that lift value can be determined. LS According to index i LS This allows us to determine the translation values corresponding to elements at different positions in the basis matrix. Taking Table 1 as an example, if the lift value is 96, the corresponding i... LS =1, based on i LS By querying the BG1 partial edge list in Table 2, we can determine that the element in row 0, column 0 of the base matrix corresponds to a translation value of 307; the element in row 0, column 1 corresponds to a translation value of 19; the element in row 0, column 2 corresponds to a translation value of 50, and so on. Table 2 only shows the translation values corresponding to some elements in row 0 of BG1 as examples.
[0079] Table 2
[0080]
[0081] As mentioned in the background section, the performance of the basis matrix in 5G systems is still not ideal. For example, it has slow convergence speed in high throughput scenarios and poor performance in low iteration counts.
[0082] To improve the performance of LDPC, especially at low iteration counts, this application considers increasing the number of columns in the basis matrix. However, this increases the density of 1s in the basis matrix for the same code length and code rate, resulting in a performance disadvantage at the same complexity. Therefore, this application further considers performing an operation before decoding to reduce the density of 1s in the basis matrix. Thus, this application provides a basis matrix scheme that facilitates this operation, along with the characteristics of the corresponding shift values. The "certain operation" referred to here means that during the decoding process, the parity part (corresponding to Z) of the first row of the same group in the basis matrix is used... c The i-th row in the group, and the checksum corresponding to the second row in the group (corresponding to Z). c The result of the XOR operation on the i-th row of the group (rows) replaces the i-th row of the checksum corresponding to the row with the larger row weight in the group (specifically, the row with the larger row weight between the first and second rows in the group). For a detailed definition of "the first and second rows in the same group" in "this operation," please refer to the description in the following examples.
[0083] This application provides an encoding or decoding scheme. Specifically, the scheme provides a basis matrix that can improve the performance of LDPC, for example, by increasing the convergence speed of LDPC in high-throughput scenarios and improving performance with low iteration counts. As an example, the high-throughput scenario may include ultra-reliable and low-latency communication (URLLC) scenarios and hyper-reliable and low-latency communication (HRLLC) scenarios.
[0084] The technical solutions of this application can be applied to various existing and future communication systems, including but not limited to: satellite communication systems, fifth-generation (5G) systems or new radio (NR) systems, long-term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, and future communication systems. Furthermore, they can also be applied to sidelink (SL) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), and Internet of Things (IoT) communication systems, or other communication systems, etc., which are not limited herein.
[0085] Figure 3 This is an example of a communication system applicable to the technical solution of this application. For example... Figure 3 The communication system may include one or more transmitting devices and one or more receiving devices. Optionally, one of the transmitting and receiving devices may be a terminal device, and the other may be a network device. The encoding or decoding method provided in this application is applicable to... Figure 3 The communication between the network device and the terminal device shown is either uplink or downlink communication. For example, in downlink communication, the sending device is the network device and the receiving device is the terminal device; in uplink communication, the sending device is the terminal device and the receiving device is the network device.
[0086] For example, a terminal device may also be referred to as user equipment (UE), access terminal, user unit, user station, mobile station, mobile station, mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user apparatus. In the embodiments of this application, the terminal device may be a device that provides voice and / or data connectivity to a user, and can be used to connect people, objects, and machines, such as a handheld device with wireless connectivity, in-vehicle equipment, etc. The terminal device in the embodiments of this application may be a mobile phone, tablet computer, laptop computer, PDA, mobile internet device (MID), wearable device, virtual reality (VR) device, augmented reality (AR) device, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, etc. Optionally, the UE may be used to act as a base station. For example, the UE may act as a scheduling entity, providing sidelink signals between UEs in V2X or SL, etc.
[0087] In this embodiment, the device used to implement the functions of the terminal device can be the terminal device itself, or any device capable of supporting the terminal device in implementing the corresponding functions, such as a chip, processor, circuit, hardware, and / or software combination. This device is located on the terminal side and can be configured within or used in conjunction with the terminal device. The chip system can consist of chips or include chips and other discrete components. In this embodiment, the terminal device is used as an example to illustrate the device for implementing the corresponding functions of the terminal device.
[0088] The network device in this application embodiment may include a device for communicating with a terminal device. This network device may include an access network device or a radio access network device; for example, the network device may be a base station. In this application embodiment, the access network device may refer to a radio access network (RAN) node (or device) that connects the terminal device to the wireless network. A base station can broadly encompass, or be replaced by, various names such as: NodeB, evolved NodeB (eNB), next-generation NodeB (gNB), relay station, access point, transmitting and receiving point (TRP), transmitting point (TP), master station, auxiliary station, motor slide retainer (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distributed unit (DU), radio unit (RU), positioning node, etc. A base station can be a macro base station, micro base station, relay node, donor node, or a combination thereof. A base station can also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. A base station can also be a mobile switching center, a device performing base station functions in D2D, V2X, and M2M communications, a network device (e.g., a base station) in a future communication network, or a device performing network device functions. A base station can support networks using the same or different access technologies. Optionally, a RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). The embodiments of this application do not limit the specific technology or device form used in the network equipment.
[0089] Base stations can be fixed or mobile. For example, a helicopter or drone can be configured to act as a mobile base station, and one or more cells can move depending on the location of the mobile base station. In other examples, a helicopter or drone can be configured as a device to communicate with another base station.
[0090] In some deployments, the network device in this application embodiment may be a device including a CU, or a DU, or a device including both CU and DU, or a control plane CU node (central unit-control plane (CU-CP)) and a user plane CU node (central unit-user plane (CU-UP)) and a DU node. For example, the network device may include gNB-CU-CP, gNB-CU-UP, and gNB-DU.
[0091] In some deployments, multiple RAN nodes collaborate to assist terminals in achieving wireless access, with different RAN nodes each implementing some of the base station's functions. For example, RAN nodes can be CUs, DUs, CU-CPs, CU-UPs, or RUs. CUs and DUs can be configured separately or included in the same network element, such as a BBU. RUs can be included in radio frequency equipment or radio frequency units, such as RRUs, AAUs, or RRHs.
[0092] In different systems, CU (or CU-CP and CU-UP), 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 / O-RAN) system, CU can also be called an open CU (open CU, O-CU), and DU can also be called an open DU (open DU, O-DU). CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules.
[0093] In this embodiment, the device used to implement the functions of the network device can be the network device itself; it can also be a device capable of supporting the network device in implementing the corresponding functions, such as a chip, processor, circuit, hardware, and / or software combination. This device is located on the network side and can be configured within or used in conjunction with the network device. In this embodiment, only the network device is used as an example to illustrate the implementation of the corresponding functions of the network device.
[0094] The encoding or decoding methods provided in this application are described in detail below.
[0095] Figure 4This is a schematic flowchart of the channel coding method 200 provided in this application. Method 200 relates to an encoding method, which can be implemented by a transmitting-side device (or an encoding-side device) performing steps 210 to 240. The transmitting-side device can be a transmitting device or an apparatus applied to a transmitting device (e.g., a chip, processor, circuit, etc.), and is not limited thereto.
[0096] 210. The transmitting device obtains the first base matrix.
[0097] The first basis matrix includes the basis matrix H. BG , or with the basis matrix H BG A matrix that satisfies row and / or column transformation relationships.
[0098] Basis matrix H BG The first 2k rows consist of k groups, each containing two rows, where k is a positive integer. The two rows belonging to the same group are the first and second rows, with the row index of the first row being less than the row index of the second row. That is, the first row refers to the row that comes first in the group, and the second row refers to the row that comes last in the group. For any group, the first and second rows satisfy the following characteristics:
[0099] The element in the column with index p in the second row is 1, and the element in the column with index p in the first row is 1; or,
[0100] The elements in the column with index p in the second row are all 1s, the elements in the column with index p in the first row are all 0s, and the number of columns with index p is no greater than 3. p is a non-negative integer. For example, the base matrix H... BG The indices of the first 22 columns can be represented as 1 to 22, or 0 to 21, and the other columns are represented similarly. Furthermore, the base matrix H... BG The row index of any row in the array is a non-negative integer.
[0101] Optionally, the first and second rows may also satisfy:
[0102] The elements in the column with index q in the second row are 0, and the elements in the column with index q in the first row are either 0 or 1, where q is a non-negative integer.
[0103] In the following embodiments, two rows belonging to the same group satisfying the above characteristics uniformly means that: two rows belonging to the same group satisfy "the element of the column with column index p in the second row is 1, and the element of the column with column index p in the first row is 1; or, the element of the column with column index p in the second row is 1, the element of the column with column index p in the first row is 0, and the number of columns with column index p is not greater than 3, where p is a non-negative integer"; and optionally, the two rows also satisfy "the element of the column with column index q in the second row is 0, and the element of the column with column index q in the first row is 0 or 1, where q is a non-negative integer".
[0104] Based on the above basis matrix H BG As can be seen from the introduction, the basis matrix H BG Any column in the matrix H may satisfy one of the three possibilities mentioned above: either, if an element in a column of the second row of a group is 1, then the element in that column of the first row of that group is 1; or, if an element in a column of the second row of a group is 1, then the element in that column of the first row of that group is 0. Meanwhile, the basis matrix H... BG There can be no more than 3 such columns; or, if an element in a column of the second row belonging to a group is 0, the element in that column of the first row can be 0 or 1.
[0105] In other words, the basis matrix H BG In the first 2k rows, pair up to form k groups, denoted as: {x1,y1},{x2,y2},…,{x i ,y i},…,{x k ,y k}, where x i ,y i All are line numbers, and x i <y i If the basis matrix H BG The yth i In the row, the column corresponding to 1 is the x-th element in the basis matrix. i The column in that row is also 1, except for a maximum of 3 exceptions, such as the second possibility mentioned above. That is, if BG(y) i If p) = 1, then BG(x) i p) = 1, with at most 3 exceptions. This is to ensure that the basis matrix H... BG The decoding performance is such that the number of exceptions does not exceed three. The fewer the exceptions, the better the base matrix H. BG The better the decoding performance, the better. The three exceptions are merely examples; fewer exceptions are possible, such as two or one. This exception is the basis matrix H. BG The second of the three possibilities for a column in the matrix is that an element in a column of the second row of the same group is 1, and an element in the same column of the first row of the same group is 0. When the number of exceptions does not exceed three, it indicates that the basis matrix H... BG It contains at most 3 such columns; in exceptional cases, the number does not exceed 1, indicating that the basis matrix H is... BG It can contain at most one such column.
[0106] 220. The transmitting device determines the first matrix based on the first base matrix and the translation values corresponding to the elements in the first base matrix.
[0107] For the basis matrix H BGIn each of the k groups, if the elements in the first and second rows at column index p are both 1, then the translation values corresponding to those positions in the first and second rows at column index p are the same. For example, at these positions in the first and second rows where the elements in a certain column are both 1, the translation value corresponding to that position in the first row determines the translation value corresponding to that position in the second row. Optionally, the first basis matrix is determined based on a second basis matrix, which can be BG1 or BG2 in the new radio (NR) standard. In this implementation, when the elements in the first row and second row of the same group in the first base matrix are both 1 at certain column positions, the translation values corresponding to these column positions in the first row and second row are the same. For a column in the first base matrix corresponding to a column of the first 22 columns of NR BG1, except for the column positions where the elements in the first row and second row are both 1, the translation values for other column positions retain the corresponding translation values in NR BG1. For a column in the first base matrix corresponding to a column of the 23rd to 44th columns of the expanded information columns, the corresponding translation value can be determined according to a calculation formula. Therefore, the transmitting device can determine the translation value corresponding to each element in the first base matrix. Combined with the determined lift size, the first base matrix is expanded to obtain the first matrix (also called the parity check matrix).
[0108] As an example, the first basis matrix can be determined based on the second basis matrix, which can be BG1 or BG2 defined in NR, or BG1 or BG2 in 5G. As an example, NR BG1 in this application embodiment specifically refers to BG1 specified in section 5.3.2 of the third generation partnership project (3GPP) technical specification (TS) 38.212 version 16.0.0 (V16), and also refers to other versions after V16. In all embodiments of this application, for the sake of simplicity, NR BG1 is also simply referred to as BG1, and all refer to BG1 defined in section 5.3.2 of 3GPP TS 38.212.
[0109] Specifically, the translation values of BG1 and its elements as defined in the 5G standard are shown in Table 3 below.
[0110] Table 3
[0111]
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118] Based on the above basis matrix H BG As can be seen from the description of the verification matrix H, Table 3 shows the value of each element at position NG1 in NR and the translation value at that position.
[0119] As described above, the first basis matrix in the embodiments of this application can be determined based on the second basis matrix. As an example, k is an integer greater than or equal to 4. The process of determining the first basis matrix based on the second basis matrix, taking k=4 as an example, can be as follows:
[0120] Based on the second basis matrix, the third basis matrix is determined. Then, the first basis matrix is obtained by reading the first m rows and first n columns from the third basis matrix. Each row in the 5th, 6th, 7th, and 8th rows of the third basis matrix corresponds to one row in the 1st, 2nd, 3rd, and 4th rows of the third basis matrix, and the corresponding two rows belong to the same group and satisfy the above characteristics; and the third basis matrix satisfies one of the following:
[0121] 1) The third basis matrix includes 44 columns of information, where the first 22 columns and the second 22 columns are identical and correspond one-to-one; or,
[0122] 2) The third base matrix includes 43 columns, comprising the column with index r and the remaining 42 columns. These remaining 42 columns are divided into two groups, each containing 21 columns. The 21 columns in each group are identical and correspond one-to-one. r is any one of the column indices {1, 2, 22, 23}; or...
[0123] 3) The third base matrix includes 42 columns, comprising columns with indices r1 and r2, and the remaining 40 columns. These remaining 40 columns are divided into two groups of 20 columns each. The 20 columns in each group are identical and correspond one-to-one. Here, r1 and r2 are any two indices from the column index set {1, 2, 21, 22}; or...
[0124] 4) The third base matrix comprises 41 columns, including a column with index r3 and the remaining 40 columns. These remaining 40 columns are divided into two groups of 20 columns each, with the 20 columns in each group corresponding one-to-one and identical. Here, r3 is any index in the set {1, 21}; or...
[0125] 5) The third base matrix includes 40 columns of information, which are divided into two groups of 20 columns each. The 20 columns in the two groups correspond one-to-one and are identical.
[0126] As shown above, the second basis matrix can be BG1 in NR. The following explanation uses BG1 in NR as an example to illustrate how the third basis matrix is obtained in the various cases described above. For simplicity, BG1 in NR will be simply referred to as BG1 below.
[0127] In 1) above, the first 44 columns of the third basis matrix can be divided into a first 22-column matrix and a second 22-column matrix. The first 22-column matrix and the second 22-column matrix correspond one-to-one, and both the first 22-column matrix and the second 22-column matrix are identical to the first 22 columns of BG1 (i.e., the information columns of BG1). It can be understood that the third basis matrix in 1) above can be obtained based on BG1. For example, the first 22 columns of BG1 can be copied, and the information columns can be expanded to 44 columns. If the expanded basis matrix is denoted as BG1_1, the first 22 columns and the second 22 columns of the first 44 columns of BG1_1 correspond one-to-one and are identical (because the first 22 columns are copies of the second 22 columns). For example, the first column of the first 22 columns is a copy of the first column of the second 22 columns, and each other column of the first 22 columns is a copy of the corresponding column of the second 22 columns. After modifying the elements of some rows of BG1_1, the first 2k rows satisfy the above characteristics. Therefore, some elements in corresponding positions of the first 22 columns and the second 22 columns of the third basis matrix may be different. Thus, the first 22 columns and the second 22 columns of the third basis matrix correspond one-to-one.
[0128] In section 2) above, the information columns of the third base matrix consist of 43 columns. Excluding the column with index r, the remaining 42 columns are divided into two groups of 21 columns each. These 21 columns correspond one-to-one; for example, column 1 in the first group corresponds to column 1 in the second group, column 2 in the first group corresponds to column 2 in the second group, and so on. r belongs to any one of the column indices {1, 2, 22, 23}.
[0129] As an example, BG1 has 22 information columns. Copying these 22 columns and placing them before the first column of BG1 yields an expanded basis matrix, called basis matrix #a. It can be seen that basis matrix #a has 44 information columns, with columns 1-22 corresponding one-to-one with columns 23-44, or in other words, columns 1-22 are copies of columns 23-44. Then, by adjusting the elements in basis matrix #a, a new basis matrix is obtained, for example, called basis matrix #b. The first 2k rows of basis matrix #b satisfy the above characteristics. Deleting columns s from columns 1, 2, 23, and 24 of basis matrix #b yields a third basis matrix, where s = 0, 1, 2, 3, or 4.
[0130] In one possible implementation, s = 0, in which case the third basis matrix is the basis matrix #b. Therefore, the information columns of the third basis matrix are 44 columns, and the first 22 columns correspond one-to-one with the second 22 columns.
[0131] In another possible implementation, s = 1, which means deleting one of the 1st, 2nd, 23rd and 24th columns of the basis matrix #b to obtain the third basis matrix.
[0132] As an example, suppose we delete the first column of the base matrix #b to obtain the third base matrix. We know that the third base matrix has 43 information columns. Assume the column indices of these 43 information columns in the third base matrix are 1 to 43. The 43 columns corresponding to column indices 1 to 43 are the same as the 43 columns corresponding to column indices 2 to 44 of the base matrix #b. The first column of the base matrix #a is a copy of the 23rd column, and the base matrix #b is obtained by modifying elements of some rows of the base matrix #a. Therefore, the columns of the base matrix #b correspond to the columns of the base matrix #a. Thus, the 23rd column of the base matrix #b corresponds to the 22nd column of the radix-3 base matrix. In this implementation, the third base matrix has 43 information columns, including the column with column index r and the remaining 42 columns. The remaining 42 columns are divided into two groups, each containing 21 columns. These two groups of 21 columns correspond one-to-one, so r = 22.
[0133] As another example, suppose we delete the second column of the base matrix #b to obtain the third base matrix. In this case, the information columns of the third base matrix are 43. The second column of the base matrix #1 is a copy of the 24th column, and the 24th column of the base matrix #b corresponds to the 23rd column of the third base matrix. In this implementation, the information columns of the third base matrix include 43 columns, which include the column with column index r and the remaining 42 columns. The remaining 42 columns are divided into two groups, each containing 21 columns. The 21 columns in these two groups correspond one-to-one, and r = 23.
[0134] Based on a similar process, when the 23rd column of the base matrix #b is deleted, r = 1; when the 24th column of the base matrix #b is deleted, r = 2.
[0135] In summary, when the information columns of the third base matrix are 43, the above r belongs to any index in the column index set {1,2,22,23}.
[0136] In step 3) above, any two columns from columns 1, 2, 23, and 24 of the basis matrix #b are deleted to obtain the third basis matrix.
[0137] As an example, if columns 1 and 2 of the base matrix #b are deleted, the resulting third base matrix has 42 columns, denoted as 1 to 42, corresponding to column indices 3 to 44 of the base matrix #b. These 42 columns of the third base matrix include two columns with indices r1 and r2, and the remaining 40 columns. These remaining 40 columns are divided into two groups of 20 columns each, with a one-to-one correspondence between the two groups. Since column indices 23 to 24 of the base matrix #b correspond to column indices 21 to 22 of the third base matrix, r1 = 21, r2 = 22.
[0138] If columns 23 and 24 of the base matrix #b are deleted, the resulting third base matrix will have 42 columns. For the same reason as above, since column indices 1-2 of the base matrix #b correspond to column indices 1-2 of the third base matrix, r1 = 1, r2 = 2.
[0139] If we delete columns 1 and 24 of the base matrix #b, the resulting third base matrix will have 42 columns. For the same reasoning as above, since column indices 2 and 23 of the base matrix #b correspond to column indices 1 and 22 of the third base matrix, r1 = 1, r2 = 22.
[0140] If we delete columns 2 and 23 of the base matrix #b, the resulting third base matrix will have 42 columns. For the same reasoning as above, since column indices 24 and 1 of the base matrix #b correspond to column indices 22 and 1 of the third base matrix, r1 = 1 and r2 = 22.
[0141] If you delete the first and 23rd columns of the base matrix #b, or delete the second and 24th columns of the base matrix #b, the resulting third base matrix will have 42 columns. These 42 columns are divided into two groups of 21 columns each, and the two groups of 21 columns correspond one-to-one.
[0142] In 4) above, delete any three columns from columns 1, 2, 23 and 24 of the basis matrix #b to obtain the third basis matrix.
[0143] As an example, if we retain column 1 from columns 1, 2, 23, and 24 of the base matrix #b, the resulting third base matrix has 41 columns. These 41 columns are denoted by indices 1 to 41, corresponding sequentially to the 41 columns of the first 44 columns of the base matrix #b, excluding columns 2, 23, and 24. These 41 columns of the third base matrix include the column with index r3 and the remaining 40 columns, which are divided into two groups of 20 columns each, with a one-to-one correspondence between the two groups. Since column index 1 of the base matrix #b corresponds to column index 1 of the third base matrix, r3 = 1.
[0144] As another example, if we retain column 2 of columns 1, 2, 23, and 24 of the base matrix #b, since columns 1, 23, and 24 of the base matrix #b are deleted, column index 2 of the base matrix #b corresponds to column index 1 of the third base matrix. Therefore, r3 = 1.
[0145] As another example, if column 23 of columns 1, 2, 23 and 24 of the base matrix #b is retained, since columns 1, 2, and 24 of the base matrix #b are deleted, column index 23 of the base matrix #b corresponds to column index 21 of the third base matrix. Therefore, r3 = 21.
[0146] As another example, if column 24 of columns 1, 2, 23 and 24 of the base matrix #b is retained, since columns 1, 2, and 23 of the base matrix #b are deleted, column index 24 of the base matrix #b corresponds to column index 21 of the third base matrix. Therefore, r3 = 21.
[0147] In step 5) above, columns 1, 2, 23, and 24 of the basis matrix #b are deleted to obtain the third basis matrix. Based on the correspondence between the third basis matrix and the basis matrix #b, it can be seen that the information columns of the third basis matrix include 40 columns, which are divided into two groups, and the 20 columns in the two groups correspond one-to-one.
[0148] The above mainly explained the characteristics of the third basis matrix from the perspective of its "columns". Below are some examples illustrating how to obtain the third basis matrix.
[0149] In different embodiments or examples of this application, the first basis matrix can be obtained by directly reading the first m rows and first n columns of the third basis matrix; however, the third basis matrix may be different in different embodiments or examples. The third basis matrix in each embodiment or example can be referred to the description in each embodiment or example.
[0150] In the example below, k=4 is used as an example. That is, the first 8 rows of the first basis matrix are divided into 4 groups, each group containing two rows, and the two rows belonging to the same group satisfy the above characteristics. Based on the characteristics satisfied by the first 2k rows of the first basis matrix described in steps 210-220 above, those skilled in the art can also design the first basis matrix for other values of k, such as k=5,6, which can also improve decoding performance.
[0151] 1) Based on the second basis matrix, determine the basis matrix #1. The basis matrix #1 includes 44 columns of information. The first 22 columns and the second 22 columns of these 44 columns correspond one-to-one and are the same. The first 22 columns and the second 22 columns are the first 22 columns of the second basis matrix, respectively.
[0152] 2) Modify rows 5, 6, 7, and 8 of basis matrix #1 to obtain basis matrix #2. Rows 5, 6, 7, and 8 of basis matrix #2 correspond one-to-one with rows 1, 2, 3, and 4. The corresponding two rows belong to the same group in the aforementioned k groups and satisfy the above characteristics; and
[0153] 3) Delete column s from columns 1, 2, 23 and 24 of the base matrix #2 to obtain the third base matrix, s = 0, 1, 2, 3 or 4.
[0154] Since the first two columns of NR BG1 are information columns with very high column weight, this is designed to prevent the first two columns of NR BG1 from being punctured during transmission. When using the base matrix provided in this application embodiment, the first two columns can be left unpunctured, thus allowing the columns designed for puncturing in NR BG1 to be deleted. Since columns 23 and 24 are copies of columns 1 and 2 after expanding the first 22 information columns of NR BG1 to obtain 44 information columns, when deleting columns designed for puncturing, one or more columns from 1, 2, 23, and 24 can be deleted, i.e., s = 1, 2, 3, or 4, to bring other gains in encoding or decoding. Alternatively, no deletion can be made, in which case s = 0. It can be understood that in this example, when column s of base matrix #2 is deleted and s = 0, that is, base matrix #2 is not deleted, and the third base matrix is base matrix #2.
[0155] 4) Further, extract the first m rows and first n columns of the third basis matrix to obtain the first basis matrix.
[0156] For example, if the second basis matrix is BG1, copying the information columns of BG1 (i.e., the first 22 columns) and placing them at the beginning of BG1 is equivalent to expanding the information columns of BG1 from 22 columns to 44 columns, resulting in basis matrix #1. Modifying rows 5, 6, 7, and 8 of basis matrix #1 so that they pair with rows 1, 2, 3, and 4, i.e., {x1,x2,x3,x4} = {1,2,3,4}, and {y1,y2,y3,y4} = {5,6,7,8}, with each pair satisfying the above characteristics. The matrix obtained after modifying rows 5, 6, 7, and 8 of basis matrix #1 is called basis matrix #2. To obtain the third basis matrix, delete column s from columns 1, 2, 23, and 24 of the basis matrix #2, where s = 0, 1, 2, 3, or 4. That is, you can leave any of these 4 columns of the basis matrix #2 intact, and in this case, the third basis matrix is the same as the basis matrix #2. Alternatively, you can delete any 1, 2, 3, or all 4 columns from columns 1, 2, 23, and 24 of the basis matrix #2, and the resulting matrix after the deletion operation is the third basis matrix.
[0157] Example 2
[0158] 1) Based on the second basis matrix, determine the basis matrix #1. The basis matrix #1 includes 44 columns of information. The first 22 columns and the second 22 columns of these 44 columns correspond one-to-one and are the same. The first 22 columns and the second 22 columns are the first 22 columns of the second basis matrix, respectively.
[0159] 2) Modify rows 5, 6, 7, and 8 of basis matrix #1 to obtain basis matrix #3. Rows 5, 6, 7, and 8 of basis matrix #3 correspond one-to-one with rows 2, 1, 4, and 3, and the corresponding two rows belong to the same group in the aforementioned k groups; wherein, rows 5, 6, 7, and 8 of basis matrix #3 satisfy:
[0160] Row 5: The first 22 columns correspond one-to-one with and are identical to the first 22 columns of row 2 of the base matrix #1; columns 23 to 44 are 0;
[0161] Row 6: The first 22 columns are the same as the first 22 columns of row 6 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 6 of the base matrix #1 from the elements of columns 23 to 44 of row 1 of the base matrix #1.
[0162] Row 7: The first 22 columns are the same as the first 22 columns of row 7 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 7 of the base matrix #1 from the elements of columns 23 to 44 of row 4 of the base matrix #1.
[0163] Row 8: The first 22 columns are the same as the first 22 columns of row 8 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 8 of the base matrix #1 from the elements of columns 23 to 44 of row 3 of the base matrix #1.
[0164] as well as,
[0165] 3) Delete column s from columns 1, 2, 23, and 24 of the basis matrix #3 to obtain the third basis matrix, where s = 0, 1, 2, 3, or 4. It can be understood that when s = 0, the third basis matrix is the same as the basis matrix #3.
[0166] 4) Further, extract the first m rows and first n columns of the third basis matrix to obtain the first basis matrix.
[0167] In this application, the subtraction operation is defined as: 1-1=0, 0-0=0, 1-0=1, 0-1=1.
[0168] For example, if the second basis matrix is BG1, copying the information columns (the first 22 columns) of BG1 and placing them at the beginning of BG1 is equivalent to expanding the information columns of BG1 from 22 columns to 44 columns, resulting in basis matrix #1. Modifying rows 5, 6, 7, and 8 of basis matrix #1 as follows yields basis matrix #3:
[0169] Row 5: The first 22 columns are modified to be the first 22 columns of the second row of the base matrix #1. That is, the first 22 columns of the fifth row of the base matrix #1 are modified to be the same as the first 22 columns of the second row of BG1. In addition, columns 23 to 44 are all 0. This can be represented as: BG#3(5,1:22)=BG#1(2,1:22), BG#1(5,23:44)=zeros(1,22).
[0170] Row 6: The first 22 columns remain unchanged. Columns 23 to 44 are modified by subtracting the corresponding column positions of the first 22 columns of the first row of base matrix #1 from the elements of the first 22 columns of the sixth row. This can be represented as: BG#3(6,23:44) = BG#1(1,23:44) - BG#1(6,23:44). Furthermore, since the first 22 columns of the first row of base matrix #1 correspond one-to-one with and are identical to columns 23 to 44, columns 23 to 44 of the sixth row can also be described as: the first 22 columns of the first row of base matrix #1 minus the first 22 columns of the sixth row.
[0171] Row 7: The first 22 columns remain unchanged, and columns 23 to 44 are modified to be the result of subtracting the corresponding column position of the first 22 columns of the first 22 columns of the fourth row of the base matrix #1 from the elements of the first 22 columns of the seventh row; it can also be expressed as: BG#3(7,23:44)=BG#1(4,1:22)-BG#1(7,1:22);
[0172] Row 8: The first 22 columns remain unchanged. Columns 23 to 44 are modified to be the result of subtracting the corresponding column position of the first 22 columns of the first 22 columns of the third row of the base matrix #1 from the elements of the first 22 columns of the third row. This can also be expressed as BG#3(8,23:44)=BG#1(3,23:44)-BG#1(8,23:44).
[0173] In this example, rows 5, 6, 7, and 8 of the basis matrix #1 are modified to obtain the basis matrix #3. In the basis matrix #3, rows 5, 6, 7, and 8 correspond one-to-one with rows 2, 1, 4, and 3, and the corresponding pairs of rows belong to a group.
[0174] Delete columns s from columns 1, 2, 23, and 24 of the base matrix #3 to obtain the third base matrix, where s = 0, 1, 2, 3, or 4. Finally, extract the first m rows and first n columns of the third base matrix to obtain the first base matrix.
[0175] As can be seen in Example 2, rows 5, 6, 7, and 8 of the first basis matrix correspond one-to-one with rows 2, 1, 4, and 3. That is, row 5 and row 2 belong to one group, row 6 and row 1 belong to one group, row 7 and row 4 belong to one group, and row 8 and row 3 belong to one group.
[0176] In Examples 1 and 2 above, the information columns of BG1 are first expanded from 22 columns to 44 columns, resulting in basis matrix #1. Then, rows 5, 6, 7, and 8 of basis matrix #1 are modified to obtain basis matrix #2 (corresponding to Example 1) or basis matrix #3 (corresponding to Example 2), such that rows 5, 6, 7, and 8 of basis matrix #2 or #3 are paired with rows 1, 2, 3, and 4, forming 4 groups. These 4 groups satisfy the characteristics of the aforementioned k groups. Alternatively, in these examples, k=4 is used as an example. Next, columns s from columns 1, 2, 23, and 24 of basis matrix #2 or #3 are deleted, resulting in the third basis matrix. Finally, the first m rows and first n columns are extracted from the third basis matrix to obtain the first basis matrix.
[0177] Two more examples are given below, such as Example 3 and Example 4. In these two examples, after expanding the information columns of BG1, one or more rows and / or one or more columns of the resulting basis matrix are deleted. Then, the elements in the basis matrix are modified to obtain the third basis matrix. The first basis matrix is obtained by extracting the first m rows and first n columns of the third basis matrix.
[0178] In Examples 3 and 4 below, the 22 information columns of BG1 are expanded to 44 information columns. Then, row 5 and column 49 are deleted. The elements of the resulting base matrix are then modified to obtain a third base matrix. Deleting row 5 and column 49 is just an example; other rows and / or columns could be deleted. In one example, the first 8 rows are not included in the deleted rows. For example, the first 22 columns of BG1 are copied to obtain BG1_1, which has 44 information columns. The first and second 22 columns correspond one-to-one and are identical. Then, one or more rows of BG1_1, and / or one or more columns excluding BG1_1, can be deleted. However, the deleted rows do not include any of rows 1, 2, 3, 4, 5, 6, 7, or 8 of BG1_1.
[0179] Example 3
[0180] 1) Based on the second basis matrix, determine basis matrix #4, which includes the portion of the second basis matrix excluding row 5 and column 49. The first 44 columns of basis matrix #4 include the first 22 columns and the second 22 columns, which are respectively the first 22 columns of the second basis matrix;
[0181] 2) Modify rows 5, 6, 7, and 8 of the base matrix #4 to obtain base matrix #5. Rows 5, 6, 7, and 8 of base matrix #5 correspond one-to-one with rows 1, 2, 3, and 4, and the corresponding two rows belong to the same group.
[0182] 3) Delete column s from columns 1, 2, 23, and 24 of basis matrix #5 to obtain the third basis matrix, where s = 0, 1, 2, 3, or 4. It can be understood that when s = 0, the third basis matrix is basis matrix #3.
[0183] 4) Further, the first m rows and first n columns are extracted from the third basis matrix to obtain the first basis matrix.
[0184] For example, if the second base matrix is BG1, copying the information columns (the first 22 columns) of BG1 and placing them at the beginning of BG1 is equivalent to expanding the information columns of BG1 from 22 columns to 44 columns, resulting in base matrix #1. Deleting the 5th row and 49th column of base matrix #1 yields base matrix #4. Optionally, the deletion of the 5th row and 49th column can also be performed before expanding the information columns. For example, deleting the 5th row and 49th column of BG1 yields base matrix BG1_1, and then copying the first 22 columns of BG1_1 and placing them at the beginning yields base matrix #4.
[0185] Modify rows 5, 6, 7, and 8 of basis matrix #4 so that they pair with rows 1, 2, 3, and 4, i.e., {x1, x2, x3, x4} = {1, 2, 3, 4} and {y1, y2, y3, y4} = {5, 6, 7, 8}. Each pair satisfies the above characteristics. The matrix obtained after modifying basis matrix #4 is called basis matrix #5. Delete column s from columns 1, 2, 23, and 24 of basis matrix #5 to obtain the third basis matrix, where s = 0, 1, 2, 3, or 4. That is, any one of these four columns of basis matrix #5 can be left undeleted; in this case, the third basis matrix is basis matrix #5. Alternatively, delete any one, two, three, or all four columns of columns 1, 2, 23, and 24 of basis matrix #5; the matrix obtained after the deletion operation is the third basis matrix. The first basis matrix can be obtained by extracting the first m rows and first n columns from the third basis matrix.
[0186] Example 4
[0187] 1) Based on the second basis matrix, determine the basis matrix #4. The basis matrix #4 includes the part of the second basis matrix except for the 5th row and the 49th column of the second basis matrix. The first 44 columns of the basis matrix #4 include the first 22 columns and the second 22 columns, which are the first 22 columns of the second basis matrix, respectively.
[0188] 2) Modify rows 5, 6, 7, and 8 of basis matrix #4 to obtain basis matrix #6. Rows 5, 6, 7, and 8 of basis matrix #6 correspond one-to-one with rows 1, 4, 3, and 2, with corresponding rows belonging to the same group. Rows 5, 6, 7, and 8 of basis matrix #6 satisfy the following:
[0189] Row 5: The first 22 columns are the same as the first 22 columns of row 5 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 1 of base matrix #4 from the elements of columns 23 to 44 of row 5 of base matrix #4; it can be expressed as: BG#6(5,23:44)=BG#4(1,23:44)-BG#4(5,23:44);
[0190] Row 6: The first 22 columns are the same as the first 22 columns of row 6 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 6 of the base matrix #4 from the elements of columns 23 to 44 of row 4 of the base matrix #4; it can be expressed as: BG#6(6,23:44)=BG#4(4,23:44)-BG#4(6,23:44);
[0191] Row 7: The first 22 columns are the same as the first 22 columns of row 7 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 7 of the base matrix #4 from the elements of columns 23 to 44 of row 3 of the base matrix #4; it can be expressed as: BG#6(7,23:44)=BG#4(3,1:22)-BG#4(7,1:22);
[0192] Row 8: The first 22 columns are the same as the first 22 columns of row 8 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 8 of the base matrix #4 from the elements of columns 23 to 44 of row 2 of the base matrix #4, which can be expressed as BG#6(8,23:44) = BG#4(2,23:44) - BG#4(8,23:44); and,
[0193] 3) Delete column s from columns 1, 2, 23, and 24 of the base matrix #6 to obtain the third base matrix, where s = 0, 1, 2, 3, or 4. It can be understood that when s = 0, the third base matrix is the same as base matrix #6.
[0194] 4) Further, extract the first m rows and first n columns of the third basis matrix to obtain the first basis matrix.
[0195] For example, if the second basis matrix is BG1, the process of determining basis matrix #4 based on BG1 is explained in Example 3 and will not be repeated here. After obtaining basis matrix #4, the 5th, 6th, 7th, and 8th rows of basis matrix #4 are modified as follows:
[0196] Row 5: The first 22 columns remain unchanged, and columns 23 to 44 are modified to be the result of subtracting the corresponding column position of the first 22 columns of the first row of the base matrix #4 from the elements of the first 22 columns of the base matrix #4.
[0197] Row 6: The first 22 columns remain unchanged, while columns 23 to 44 are modified to be the result of subtracting the corresponding column position of the first 22 columns of the first 22 columns of the fourth row of the base matrix #4 from the elements of the first 22 columns of the sixth row.
[0198] Row 7: The first 22 columns remain unchanged, and columns 23 to 44 are modified to be the result of subtracting the corresponding column position of the first 22 columns of the first 22 columns of the third row of the base matrix #4 from the elements of the first 22 columns of the third row;
[0199] Row 8: The first 22 columns remain unchanged. Columns 23 to 44 are modified to be the result of subtracting the corresponding column position of the first 22 columns of the first row of the base matrix #4 from the elements of the first 22 columns of the second row.
[0200] As can be seen in Example 4, rows 5, 6, 7, and 8 of the first basis matrix correspond one-to-one with rows 1, 4, 3, and 2. That is, row 5 and row 1 belong to one group, row 6 and row 4 belong to one group, row 7 and row 3 belong to one group, and row 8 and row 2 belong to one group.
[0201] In Examples 2 and 4 of the embodiments of this application, the subtraction operation is defined as: 1-1=0, 0-0=0, 1-0=1, 0-1=1. The xth... i The element of a certain column of a row minus the y-th element i The element at the same column position in the row refers to the element in the subtraction operation as defined above, after which the x-th subtraction operation is performed. i The element at position y in the row, minus the element at position y. i Subtraction is the operation of subtracting elements in the same column position. For example, subtracting elements in row 1 and row 5 that are in the same column position means subtracting the element in row 1 that is in the same column position from the element in row 5 that is in the same column position. The subtraction results of other elements in the same group of two rows that are in the same column position are similar and will not be described in detail here.
[0202] In Examples 3 and 4 above, after expanding the first 22 information columns of NR BG1 to obtain 44 information columns, rows 5 and 49 can be deleted. Taking the deletion of row 5 as an example, since row 5 in NR BG1 has a very low row weight, its existence in NR BG1 is to provide information for the first two columns, in order to cope with the design of the first two columns of NR BG1 being punctured during transmission. However, in the embodiments of this application, when performing LDPC encoding or decoding based on the first base matrix, the first two columns do not need to be punctured. Therefore, row 5, which is designed for punctured columns, can be deleted. In the implementation of deleting row 5 of the second base matrix, since column 49 of the second base matrix is all 0 after deleting row 5, column 49 of the second base matrix can be deleted simultaneously. Alternatively, it is also possible to choose not to delete row 5 and column 49 of the second base matrix, without limitation.
[0203] In Examples 1 to 4 above, the first basis matrix is extracted from the third basis matrix. Specifically, this extraction can be based on one or more of the following: code length, code rate, and application scenario. The first m rows and first n columns are extracted from the third basis matrix. As an example, one possible value is: m = 4 + z, n = 44 - s + z, where s is the total number of deleted information columns, and z is a non-negative integer.
[0204] The above is a detailed example of how to obtain the first basis matrix.
[0205] The above example of deleting row 5 and column 49 of BG1 during the process of obtaining the first base matrix is merely an example. Other rows and / or columns of BG1 can also be deleted, provided that the rows deleted do not include those in the row index set {1,2,3,4,5,6,7,8}. That is, no rows from row 1 to row 8 of BG1 can be deleted.
[0206] 230. The transmitting device encodes based on the first matrix to obtain the encoded bit sequence.
[0207] 240. The transmitting device outputs the encoded bit sequence.
[0208] The above describes the encoding process of the transmitting device. The encoding process of the transmitting device can also be as follows: Figure 5 The process is shown.
[0209] Figure 5 This is a schematic diagram of the encoding process of the transmitting device. For example... Figure 5The transmitting device selects a base matrix (specifically, the first base matrix in the above embodiment) and a boosting factor based on one or more of the following: target code length K, code rate R, or application scenario. The transmitting device determines the translation value corresponding to the element in the first base matrix based on the first base matrix and the boosting size. Here, for the first 2k rows of the first base matrix, if the element at column index p in the second row is 1, and the element at column index p in the first row is also 1, then the translation values corresponding to the first and second rows at column index p are the same. As an example, the translation value at column index p in the first row determines the translation value at column index p in the second row. As described in the above embodiment, the first basis matrix can be determined based on BG1. In the first basis matrix, the column corresponding to a certain column of the first 22 columns of BG1, except for the columns in the first and second rows that are both 1, retains the translation value of the corresponding position in BG1. The column corresponding to a certain column in the 23rd to 44th columns of the expanded information column in the first basis matrix can have its corresponding translation value determined according to the calculation formula.
[0210] In one example of this application, the transmitting device may store a third basis matrix and, during encoding, extract a first basis matrix from the third basis matrix. Then, based on the boosting size and the shift values of the elements in the first basis matrix, the first basis matrix is expanded into a parity check matrix for encoding. In another example, the transmitting device may also store basis matrix #2 from Example 1, basis matrix #3 from Example 2, basis matrix #5 from Example 3, or basis matrix #6 from Example 4. During encoding, it is determined whether to delete column s. When s = 0, it means no deletion is performed. In this implementation, the transmitting device can extract the first basis matrix from the saved basis matrix (e.g., basis matrix #2 in Example 1, basis matrix #3 in Example 2, basis matrix #5 in Example 3, or basis matrix #6 in Example 4). When s = 1, 2, 3, or 4, it means deleting at least one column from the 1st, 2nd, 23rd, or 24th column of the saved basis matrix (e.g., basis matrix #2 in Example 1, basis matrix #3 in Example 2, basis matrix #5 in Example 3, or basis matrix #6 in Example 4). In this implementation, the transmitting device deletes column s from the saved basis matrix to obtain the third basis matrix, and then extracts the first basis matrix from the third basis matrix.
[0211] In this application embodiment, the reasons for whether the transmitting device deletes at least one column in the saved base matrix (i.e., the implementation when s = 1, 2, 3, or 4) are not limited, nor are the reasons for deleting a specific number of columns.
[0212] As an example, the above application scenarios may include, but are not limited to, any of the following: enhanced mobile broadband (eMBB) and high-throughput or peak-rate scenarios, or ultra-reliable and low-latency communication (URLLC) scenarios, or massive machine-type communication (mMTC) scenarios, etc. Furthermore, the first basis matrix provided in this application may be for a specific application scenario, such as a high-throughput scenario, or it may be for multiple application scenarios, without limitation.
[0213] Optionally, this application also provides a decoding method 300 performed by a receiving device, which corresponds to the encoding method 200 performed by a transmitting device. Method 300 may include steps 310-340, such as... Figure 6 As shown. The receiving device can be a receiving device or a device applied to a receiving device, such as a chip, processor, or circuit.
[0214] Figure 6 A schematic flowchart of the channel decoding method 300 provided in this application.
[0215] 310. The receiving device acquires the first base matrix.
[0216] 320. The receiving device determines the first matrix based on the first base matrix and the translation values corresponding to the elements in the first base matrix.
[0217] Steps 310 to 320 can be referred to in the descriptions of steps 210 to 220 above, and will not be repeated here.
[0218] 330. The receiving device decodes the received value sequence based on the first matrix to obtain the decoded bit sequence.
[0219] 340. The receiving device outputs the decoded bit sequence.
[0220] Similar to the transmitting side, the receiving device can store the third basis matrix and extract the first basis matrix from it during decoding. Then, based on the boosting size and the shift values of the elements in the first basis matrix, it expands the first basis matrix into a parity check matrix for decoding. Alternatively, the receiving device can store basis matrix #2 from Example 1, basis matrix #3 from Example 2, basis matrix #5 from Example 3, or basis matrix #6 from Example 4. During encoding, it is determined whether to delete column s. When s = 0, it means no deletion is performed. In this implementation, the first basis matrix can be extracted from the saved basis matrix (e.g., basis matrix #2 in Example 1, basis matrix #3 in Example 2, basis matrix #5 in Example 3, or basis matrix #6 in Example 4). When s = 1, 2, 3, or 4, it means deleting at least one of the 1st, 2nd, 23rd, or 24th columns from the saved basis matrix (e.g., basis matrix #2 in Example 1, basis matrix #3 in Example 2, basis matrix #5 in Example 3, or basis matrix #6 in Example 4). In this implementation, s takes values other than 0, such as 1, 2, 3, or 4. In this implementation, column s is deleted from the saved basis matrix to obtain the third basis matrix, and then the first basis matrix is extracted from the third basis matrix for decoding.
[0221] After the receiving device obtains the first basis matrix, it performs decoding based on the first basis matrix to obtain the decoded bit sequence.
[0222] The following are two examples of the first basis matrix provided in the embodiments of this application. See below. Figure 7 and Figure 8 .
[0223] Figure 7 This is a schematic diagram of Example 2 above. (As shown) Figure 7 As shown, two rows of the same color belong to the same group, that is, rows 1 and 6 belong to one group, rows 2 and 5 belong to one group, rows 3 and 8 belong to one group, and rows 4 and 7 belong to one group. Figure 7 The basis matrix shown corresponds to basis matrix #3 in Example 2 above. That is, in this example, the first 8 rows of basis matrix #3 are divided into 4 groups, k=4. Within the same group, the top row is the first row of that group, and the bottom row is the second row. That is, rows 1, 2, 3, and 4 are the first rows of each of these 4 groups, and rows 6, 5, 8, and 7 are the second rows of each of these 4 groups. This can be understood as... Figure 7 Only a portion of the base matrix #3 is shown in the image.
[0224] Figure 8 This is a schematic diagram of Example 4 above. Figure 8Two rows of the same color belong to the same group, that is, rows 1 and 5 belong to one group, rows 2 and 8 belong to one group, rows 3 and 7 belong to one group, and rows 4 and 6 belong to one group. Figure 8 The basis matrix shown corresponds to basis matrix #6 in Example 4 above. That is, in this example, the first 8 rows of basis matrix #6 are divided into 4 groups, k=4. Within the same group, the top row is the first row of that group, and the bottom row is the second row. Specifically, rows 1, 2, 3, and 4 are the first rows of each of these 4 groups, and rows 5, 8, 7, and 6 are the second rows of each of these 4 groups. Other details are provided in the aforementioned embodiments and will not be repeated here.
[0225] exist Figure 7 or Figure 8 In the matrix, two rows belonging to the same group satisfy the following characteristics: if the element in a certain column position of the second row is 1, then the element in the first row at that column position is also 1; or, if the element in a certain column position of the second row is 1, then the element in the first row at that column position is 0, but the latter case occurs in no more than 3 columns of the base matrix. Furthermore, if the element in a certain column position of the second row is 0, the element in the first row at that column position can be either 0 or 1.
[0226] In various embodiments of this application, each basis matrix can also be replaced with a basis matrix that satisfies the row and / or column transformation relationship with it, which will not be described in detail one by one.
[0227] The above provides a detailed description of the encoding or decoding method provided in this application, mainly introducing how the first basis matrix used in the technical solution of this application is obtained.
[0228] Figure 9 This is a performance simulation comparison chart of the base matrix provided in this application and 5G BG1. The simulation results use a Min-sum decoding algorithm with 3 iterations, comparing the performance of the first base matrix provided in this application and the LDPC code based on NR BG1 at a block error ratio (BLER) level of 0.01 and an improvement factor of 384. The horizontal axis represents the number of rows, corresponding to a code rate of 22 / (20+row), with a range of 4 to 13, thus the code rate ranges from 11 / 12 to 2 / 3. The vertical axis represents the signal-to-interference-plus-noise ratio (SINR) corresponding to a BLER of 1e-2, which can also be expressed as SNR; a lower value indicates better performance.
[0229] The asterisk (*) represents the simulation performance of 5G BG_1, with an improvement factor Z. c=384, 3 rounds of iteration, punching holes in two columns, and scheduling according to the optimal scheduling order; the "square" line uses the base matrix provided by the scheme of this application (such as the first base matrix in the above embodiment), and the translation value is searched using the price earnings to growth ratio (PEG) algorithm. No holes are punched, and a split operation (or elimination operation) is performed. Under the same code length and code rate, the computational complexity (related to the number of base matrix 1s) is calculated.
[0230] The above is a detailed description of the encoding or decoding method provided in this application. Based on the base matrix provided in this application (such as the first base matrix in the above embodiment), a parity check matrix is obtained by expanding it. Applying this parity check matrix to the encoding or decoding of LDPC can improve decoding performance, especially under high throughput and low iteration count, it can achieve better decoding performance.
[0231] The communication device provided in this application is described below.
[0232] Figure 10 This is a schematic structural diagram of a communication device 1000 provided in this application. The communication device 1000 can be a transmitting-side device, or a device applied to the transmitting-side device that can implement the corresponding functions of the transmitting-side device in the method embodiments of this application, such as a chip, processor, or circuit. Alternatively, the communication device 1000 can be a receiving-side device, or a device applied to the receiving-side device that can implement the corresponding functions of the receiving-side device in the method embodiments of this application, such as a chip, processor, or circuit.
[0233] Optionally, the communication device 1000 includes a processing module 1001, which may be a processor, a processing board, a processing unit, or a processing device, etc. When the communication device 1000 is a transmitting-side device or an apparatus applied to a transmitting-side device, the processing module 1001 is used to: obtain a first basis matrix; determine a first matrix based on the first basis matrix and the translation values corresponding to the elements in the first basis matrix; and encode based on the first matrix to obtain an encoded bit sequence, etc. Specific processes can be found in the detailed descriptions of the corresponding steps in the method embodiments, and will not be repeated here. When the communication device 1000 is a receiving-side device or an apparatus applied to a receiving-side device, the processing module 1001 is used to: obtain a first basis matrix; determine a first matrix based on the first basis matrix and the translation values corresponding to the elements in the first basis matrix; and decode the received value sequence based on the first matrix to obtain a decoded bit sequence, etc. Specific processes can be found in the detailed descriptions of the corresponding steps in the method embodiments, and will not be repeated here.
[0234] Optionally, the communication device 1000 further includes a communication module 1002, which may also be referred to as a transceiver module, transceiver, transceiver unit, or transceiver device, etc., for performing receiving (or input) and / or sending (or output) operations. For example, when the communication device 1000 is a transmitting-side device or a device applied to a transmitting-side device, the communication module 1002 can be used to acquire a bit sequence to be encoded and transmit the bit sequence to be encoded to the processing module 1001; and output the encoded bit sequence obtained by the processing module 1001. When the communication device 1000 is a receiving-side device or a device applied to a receiving-side device, the communication module 1002 can be used to receive information to be decoded, such as the log-likelihood ratio (LLR) sequence corresponding to the encoded bit sequence sent by the transmitting-side device, and transmit the information to be decoded to the processing module 1001; and output the decoded bit sequence obtained by the processing module 1001 decoding the information to be decoded. Furthermore, it should be noted that the aforementioned communication module and / or processing module can be implemented through virtual modules. For example, the processing module can be implemented through software functional units or virtual devices, and the communication module can be implemented through software functions or virtual devices. Alternatively, the processing module or communication module can also be implemented through physical devices, such as chips / circuits (e.g., integrated circuits or logic circuits). The communication module can be an input / output circuit and / or a communication interface, performing input operations (corresponding to the aforementioned receiving operation) and output operations (corresponding to the aforementioned sending operation); the processing module is an integrated processor, microprocessor, or circuit (e.g., integrated circuits, logic circuits).
[0235] The module division in this application is illustrative and represents only one logical functional division. In actual implementation, other division methods are possible. Furthermore, the functional modules in the various examples of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware, as software functional modules, or a combination of hardware and software.
[0236] Figure 11This is a schematic structural diagram of another communication device provided in this application. The communication device 1100 can be used to implement the functions of any communication device (e.g., a transmitting device or a receiving device) in the communication system described in the foregoing examples. The communication device 1100 may include at least one processor 1110. Optionally, the processor 1110 (or processing device) is coupled to a memory, which may be located within the communication device, integrated with the processor, or located outside the communication device. For example, the communication device 1100 may also include at least one memory 1120. The memory 1120 stores computer programs, instructions, or data necessary for implementing any of the above method embodiments; the processor 1110 may execute the computer programs, instructions, or data stored in the memory 1120 to perform the corresponding functions of the transmitting device or receiving device in any of the above embodiments.
[0237] Optionally, the communication device 1100 may further include a communication interface 1130, through which the communication device 1100 can interact with other devices. For example, the communication interface 1130 may be a transceiver, circuit, bus, module, pin, or other type of communication interface. When the communication device 1100 is a chip-type device or circuit, the communication interface 1130 in the device 1100 may also be an input / output circuit, capable of inputting information (or receiving information) and / or outputting information (or sending information). The processor may be an integrated circuit or logic circuit, etc., and the processor can determine the output information based on the input information.
[0238] The coupling in this application refers to indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. The processor 1110 may operate in conjunction with the memory 1120 and the communication interface 1130. This application does not limit the connection medium between the processor 1110, the memory 1120, and the communication interface 1130.
[0239] Figure 12 This is a schematic structural diagram of the chip provided in this application. Chip 30 includes circuit 31 and communication interface 32. Circuit 31 can be a logic circuit, integrated circuit, etc., and communication interface 32 can also be called input / output circuit, input / output interface, interface circuit, etc., which can input information (or receive information) or output information (or send information). Chip 30 can execute the methods executed by the transmitting side device or the receiving side device in the various embodiments of this application.
[0240] In addition, this application also provides a computer-readable storage medium storing computer instructions that, when executed on a computer, cause operations and / or processes performed by a transmitting-side device or a receiving-side device in the various method embodiments of this application to be performed.
[0241] This application also provides a computer program product, which includes computer program code or instructions. When the computer program code or instructions are run on a computer, the operations and / or processes performed by the sending-side device or the receiving-side device in the various method embodiments of this application are executed.
[0242] Furthermore, this application also provides a chip including a processor. A memory for storing a computer program is provided independently of the chip, and the processor is used to execute the computer program stored in the memory, such that operations and / or processes performed by a transmitting-side device or a receiving-side device in any method embodiment are executed. Further, the chip may also include a communication interface. The communication interface may be an input / output interface or an interface circuit, etc. Further, the chip may also include the memory.
[0243] This application provides a communication system, including the transmitting-side device and the receiving-side device in the above method embodiments.
[0244] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0245] The processor in this application embodiment has signal processing capabilities and can be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in this application can be directly implemented by the hardware processor, or implemented by a combination of hardware and software modules within the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above methods.
[0246] In the embodiments of this application, the memory can be volatile memory or non-volatile memory, or it can include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). The memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0247] The technical solutions provided in this application can be implemented in whole or in part through software, hardware, firmware, or any combination thereof. When implemented using software, they can be implemented in whole or in part as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a terminal device, an access network device, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) 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 media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media, etc.
[0248] In the embodiments of this application, "at least one" refers to one or more items. "More than one" means two or more items. "And / or" is used to describe the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.
[0249] The term "comprising" and any variations thereof used in the embodiments of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.
[0250] In this application, examples may reference each other without logical contradiction. For example, methods and / or terms between method embodiments may reference each other, functions and / or terms between device embodiments may reference each other, and functions and / or terms between device examples and method examples may reference each other.
[0251] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0252] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0253] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0254] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0255] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0256] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. An encoding method, characterized in that, include: Obtain the first basis matrix, which is the basis matrix H. BG , or with the basis matrix H BG A matrix that satisfies row and / or column transformation relationships, wherein the base matrix H BG The first 2k rows consist of k groups, each of which contains two rows, where k is a positive integer. The two rows belonging to the same group include the first row and the second row, where the row index of the first row is less than the row index of the second row. The first row and the second row satisfy the following characteristics: The element in the column with index p in the second row is 1, and the element in the column with index p in the first row is 1; or, The elements of the column with column index p in the second row are 1, the elements of the column with column index p in the first row are 0, and the number of columns with column index p is no greater than 3, where p is a non-negative integer; The first matrix is determined based on the first basis matrix and the translation values corresponding to the elements in the first basis matrix; Encoding is performed based on the first matrix to obtain an encoded bit sequence; and... Output the encoded bit sequence.
2. The method according to claim 1, characterized in that, The first and second rows also satisfy: The elements of the column with column index q in the second row are 0, and the elements of the column with column index q in the first row are either 0 or 1, where q is a non-negative integer.
3. The method according to claim 1 or 2, characterized in that, When the element in the column with column index p of the second row is 1, and the element in the column with column index p of the first row is 1, the shift values corresponding to the positions of the first row and the second row at the column with column index p are the same.
4. The method according to any one of claims 1-3, characterized in that, The first basis matrix is determined based on the second basis matrix, which is the base map BG1 in the new wireless NR.
5. The method according to claim 4, characterized in that, The method includes: The first basis matrix is obtained by reading the first m rows and first n columns from the third basis matrix. The third basis matrix is determined based on the second basis matrix, where m and n are both positive integers. Each row in rows 5, 6, 7, and 8 of the third basis matrix corresponds to one row in rows 1, 2, 3, and 4 of the third basis matrix, and the corresponding two rows belong to the same group and satisfy the aforementioned characteristic; and the third basis matrix satisfies one of the following: The third basis matrix includes 44 columns of information, and the first 22 columns and the second 22 columns of the 44 columns correspond one-to-one. The third base matrix comprises 43 columns, including a column with index r and the remaining 42 columns. The remaining 42 columns are divided into two groups, each containing 21 columns. These 21 columns in each group correspond one-to-one, and r belongs to any index in the column index set {1, 2, 22, 23}; or... The third base matrix includes 42 columns of information. These 42 columns include columns with column indices r1 and r2, and the remaining 40 columns. The remaining 40 columns are divided into two groups, each containing 20 columns, with the 20 columns in each group corresponding one-to-one. Here, r1 and r2 are two indices from the column index set {1, 2, 21, 22}. Alternatively, the 42 columns can be divided into two groups, each containing 21 columns, with the 21 columns in each group corresponding one-to-one. The third base matrix comprises 41 columns, including a column with index r3 and the remaining 40 columns. These remaining 40 columns are divided into two groups of 20 columns each, with each group corresponding to a single index. Here, r3 is any index in the set {1, 21}. Alternatively, The third base matrix includes 40 columns of information, which are divided into two groups of 20 columns each, with the 20 columns in each group corresponding one-to-one.
6. The method according to claim 5, characterized in that, Each row in rows 5, 6, 7, and 8 of the third basis matrix corresponds to one row in rows 1, 2, 3, and 4 of the third basis matrix, and the corresponding two rows belong to the same group and satisfy the following characteristics: Rows 5, 6, 7, and 8 correspond one-to-one with rows 1, 2, 3, and 4, and two rows belonging to the same group satisfy the aforementioned characteristic; or, Rows 5, 6, 7, and 8 correspond one-to-one with rows 2, 1, 4, and 3, and two rows belonging to the same group satisfy the aforementioned characteristic; or, Rows 5, 6, 7, and 8 correspond one-to-one with rows 1, 4, 3, and 2, and the two rows belonging to the same group satisfy the aforementioned characteristics.
7. The method according to claim 6, characterized in that, The third basis matrix is determined based on the second basis matrix and includes: Based on the second basis matrix, basis matrix #1 is determined. The basis matrix #1 includes 44 columns of information. The first 22 columns and the second 22 columns of the 44 columns correspond one-to-one and are the same. The first 22 columns and the second 22 columns are the first 22 columns of the second basis matrix, respectively. Modify rows 5, 6, 7, and 8 of the base matrix #1 to obtain base matrix #2. Rows 5, 6, 7, and 8 of the base matrix #2 correspond one-to-one with rows 1, 2, 3, and 4. Delete column s from columns 1, 2, 23, and 24 of the base matrix #2 to obtain the third base matrix, where s = 0, 1, 2, 3, or 4.
8. The method according to claim 6, characterized in that, The third basis matrix is determined based on the second basis matrix and includes: Based on the second basis matrix, a basis matrix #1 is determined. The basis matrix #1 includes 44 columns of information. The first 22 columns and the second 22 columns of the 44 columns correspond one-to-one and are the same. The first 22 columns and the second 22 columns are the first 22 columns of the second basis matrix, respectively. Modifying rows 5, 6, 7, and 8 of the basis matrix #1 yields basis matrix #3, where rows 5, 6, 7, and 8 correspond one-to-one with rows 2, 1, 4, and 3; wherein rows 5, 6, 7, and 8 of the basis matrix #3 satisfy: Row 5: The first 22 columns correspond one-to-one with and are identical to the first 22 columns of row 2 of the base matrix #1; columns 23 to 44 are 0; Row 6: The first 22 columns are the same as the first 22 columns of row 6 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 6 of the base matrix #1 from the elements of columns 23 to 44 of row 1 of the base matrix #1. Row 7: The first 22 columns are the same as the first 22 columns of row 7 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 7 of the base matrix #1 from the elements of columns 23 to 44 of row 4 of the base matrix #1. Row 8: The first 22 columns are the same as the first 22 columns of row 8 of the base matrix #1; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 8 of the base matrix #1 from the elements of columns 23 to 44 of row 3 of the base matrix #1; and, Delete column s from columns 1, 2, 23, and 24 of the base matrix #3 to obtain the third base matrix, where s = 0, 1, 2, 3, or 4.
9. The method according to claim 6, characterized in that, The third basis matrix is determined based on the second basis matrix and includes: Based on the second basis matrix, a basis matrix #4 is determined. The basis matrix #4 includes the part of the second basis matrix except for the 5th row and the 49th column. The first 44 columns of the basis matrix #4 include a first 22 column and a second 22 column, which are the first 22 columns of the second basis matrix, respectively. Modifying rows 5, 6, 7, and 8 of the basis matrix #4 yields basis matrix #5, where rows 5, 6, 7, and 8 correspond one-to-one with rows 1, 2, 3, and 4; and, Delete column s from columns 1, 2, 23, and 24 of the base matrix #5 to obtain the third base matrix, where s = 0, 1, 2, 3, or 4.
10. The method according to claim 6, characterized in that, The third basis matrix is determined based on the second basis matrix and includes: Based on the second basis matrix, a basis matrix #4 is determined. The basis matrix #4 includes the part of the second basis matrix except for the 5th row and the 49th column. The first 44 columns of the basis matrix #4 include a first 22 column and a second 22 column, which are the first 22 columns of the second basis matrix, respectively. Modifying rows 5, 6, 7, and 8 of the basis matrix #4 yields basis matrix #6, where rows 5, 6, 7, and 8 correspond one-to-one with rows 1, 4, 3, and 2. Specifically, rows 5, 6, 7, and 8 of basis matrix #6 satisfy the following conditions: Row 5: The first 22 columns are the same as the first 22 columns of row 5 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 5 of the base matrix #4 from the elements of columns 23 to 44 of row 1 of the base matrix #4. Row 6: The first 22 columns are the same as the first 22 columns of row 6 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 6 of the base matrix #4 from the elements of columns 23 to 44 of row 4 of the base matrix #4. Row 7: The first 22 columns are the same as the first 22 columns of row 7 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 7 of the base matrix #4 from the elements of columns 23 to 44 of row 3 of the base matrix #4. Row 8: The first 22 columns are the same as the first 22 columns of row 8 of the base matrix #4; columns 23 to 44 are the results of subtracting the corresponding column positions of columns 23 to 44 of row 8 of the base matrix #4 from the elements of columns 23 to 44 of row 2 of the base matrix #4; and, Delete column s from columns 1, 2, 23, and 24 of the base matrix #6 to obtain the third base matrix, where s = 0, 1, 2, 3, or 4.
11. The method according to any one of claims 5-10, characterized in that, The formula is m = 4 + z, n = 44 - s + z, where s is the total number of deleted information columns and z is a non-negative integer.
12. A decoding method, characterized in that, include: Obtain the first basis matrix, which is the basis matrix H. BG , or with the basis matrix H BG A matrix that satisfies row and / or column transformation relationships, wherein the base matrix H BG The first 2k rows consist of k groups, each of which contains two rows, where k is a positive integer. The two rows belonging to the same group include the first row and the second row, where the row index of the first row is less than the row index of the second row. The first row and the second row satisfy the following characteristics: The element in the column with index p in the second row is 1, and the element in the column with index p in the first row is 1; or, The elements of the column with column index p in the second row are 1, the elements of the column with column index p in the first row are 0, and the number of columns with column index p is no greater than 3, where p is a non-negative integer; The first matrix is determined based on the first basis matrix and the translation values corresponding to the elements in the first basis matrix; Based on the first matrix, the received value sequence is decoded to obtain a decoded bit sequence; and... Output the decoded bit sequence.
13. An encoding device, characterized in that, include: Processing module, used for: Obtain the first basis matrix, which is the basis matrix H. BG , or with the basis matrix H BG A matrix that satisfies row and / or column transformation relationships, wherein the base matrix H BG The first 2k rows consist of k groups, each of which contains two rows, where k is a positive integer. The two rows belonging to the same group include the first row and the second row, where the row index of the first row is less than the row index of the second row. The first row and the second row satisfy the following characteristics: The element in the column with index p in the second row is 1, and the element in the column with index p in the first row is 1; or, The elements of the column with column index p in the second row are 1, the elements of the column with column index p in the first row are 0, and the number of columns with column index p is no greater than 3, where p is a non-negative integer; The first matrix is determined based on the first basis matrix and the translation values corresponding to the elements in the first basis matrix; and, Encoding is performed based on the first matrix to obtain an encoded bit sequence; and... A communication module is used to output the encoded bit sequence.
14. A decoding device, characterized in that, include: Processing module, used for: Obtain the first basis matrix, which is the basis matrix H. BG , or with the basis matrix H BG A matrix that satisfies row and / or column transformation relationships, wherein the base matrix H BG The first 2k rows consist of k groups, each of which contains two rows, where k is a positive integer. The two rows belonging to the same group include the first row and the second row, where the row index of the first row is less than the row index of the second row. The first row and the second row satisfy the following characteristics: The element in the column with index p in the second row is 1, and the element in the column with index p in the first row is 1; or, The elements of the column with column index p in the second row are 1, the elements of the column with column index p in the first row are 0, and the number of columns with column index p is no greater than 3, where p is a non-negative integer; The first matrix is determined based on the first basis matrix and the translation values corresponding to the elements in the first basis matrix; and, Based on the first matrix, the received value sequence is decoded to obtain the decoded bit sequence; A communication module is used to output the decoded bit sequence.
15. A communication device, characterized in that, The device includes a communication interface and a circuit, wherein the communication interface is used to acquire information required to perform the method as described in any one of claims 1-12, and to send the information to the circuit, wherein the circuit is used to perform the method as described in any one of claims 1-12 based on the received information.
16. A communication device, characterized in that, Includes modules or units for performing the method as described in any one of claims 1-12.
17. A communication device, characterized in that, The device includes a processor coupled to a memory, the processor being configured to execute a computer program or instructions stored in the memory to cause the communication device to perform the method as described in any one of claims 1-12.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed on a computer, implement the method as described in any one of claims 1-12.
19. A computer program product, characterized in that, Includes a computer program or instructions for performing the method as described in any one of claims 1-12.