Design of basis matrices for quasi-cyclic LDPC codes

By expanding and cyclically rotating the base matrix to generate a new parity matrix, and uniformly distributing the connections, the structure of the extended and extended matrix is ​​optimized. This solves the problems of high decoding complexity and high energy consumption of LDPC codes in 5G communication, and achieves more efficient decoding performance.

CN121014168APending Publication Date: 2025-11-25ORANGE SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480028685.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-04-28
Filing Date
2024-04-24
Publication Date
2025-11-25

AI Technical Summary

Technical Problem

Existing LDPC codes consume a lot of energy and are very complex to decode, especially in 5G communication where they consume a lot of receiver resources.

Method used

By expanding and cyclically rotating the base matrix, new odd and even matrices are generated, and the matrices are evenly distributed and connected, thus optimizing the extended and extended matrix structure and reducing the number of decoding iterations.

Benefits of technology

It reduces the energy consumption and complexity of the decoder, improves the performance of error correction codes, and reduces resource consumption, especially in 5G communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121014168A_ABST
    Figure CN121014168A_ABST
Patent Text Reader

Abstract

The invention relates to a method for encoding at least one block of source data, generating at least one codeword of size, where an integer expansion factor, said method implementing a step of encoding (53) said source data using a parity matrix of size. According to the invention, the parity matrix is obtained (52) from a modified basis matrix of size by replacing each element of the modified basis matrix of size with an expansion matrix of size, the modified basis matrix being represented in Form (I). The extension matrix includes at least two row blocks, each row block including the same number of rows, each row block including a diagonal matrix.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The field of this invention is digital communication.

[0002] More specifically, the present invention relates to error-correcting codes, and particularly, but not exclusively, to LDPC (Low-Density Parity-Check) error-correcting codes.

[0003] This invention is particularly applicable to the field of data storage or transmission, for example, via wireless communication (e.g., using radio waves or unguided light waves) or wired communication (e.g., using optical fibers or cables).

[0004] This invention is particularly suitable for applications seeking to provide good transmission reliability (e.g., for wireless transmissions (Wi-Fi)). ® All areas including 5G, 6G, etc. Background Technology

[0005] Figure 1 A transmitter in a digital transmission chain is shown. This transmitter uses a conventional signal processing module.

[0006] Therefore, source data 11 (e.g., from sources of video data, audio data (e.g., speech), flow control data (which is video or audio or other types of such data, e.g., from animated images, virtual reality or augmented reality images, image sequences), or binary data from sensors, actuators, etc.) is encoded in channel coding block 12 to introduce redundancy. The encoded data is then interleaved in interleaving block 13 to mix the encoded data. Mapping block 14 makes it possible to convert the encoded data into constellation points (BPSK, QPSK, 16QAM, etc.). The associated symbols are framed 15 and modulated in single-carrier or multi-carrier modulation blocks 16, such as OFDM (Orthogonal Frequency Division Multiplexing).

[0007] To improve the robustness of communication via the communication channel, error-correcting codes are known to be used in the channel coding block 12. For example, LDPC codes, turbo codes, polar codes, or Reed-Salomon codes provide good performance in error correction.

[0008] Specifically, Turbo codes have been selected for the 4G mobile phone standard, and LDPC codes have been selected for the 5G mobile phone standard.

[0009] The following section will review the main characteristics of LDPC codes as defined in the 5G standard.

[0010] Traditionally, LDPC codes are defined by three parameters. :

[0011] - This corresponds to the size of the source data; for example, if binary data is considered, it corresponds to the size in terms of the number of payload bits.

[0012] - This corresponds to the size of the redundant data; for example, if we consider binary data, it corresponds to the size in terms of the number of redundant bits.

[0013] - This corresponds to the size of the data from the LDPC encoder, such as the number of payload bits and redundant bits.

[0014] The coding rate is usually determined by Given, there is a relationship .

[0015] LDPC codes can be specifically composed of parity matrices. The parity matrix is ​​defined to give the parity relationship between the source data and the redundant data.

[0016] Parity matrix An example in Figure 2 The information is provided in the text.

[0017] Parity matrix A value equal to "1" corresponds to the connection (parity equation) between the payload data and redundant data. The connection (that is, the parity matrix) The more instances of "1" in the code, the greater the complexity of the decoder.

[0018] As an explanation, follow Figure 2 Parity matrix in In the example, the parity equation in the first row gives the first redundant data. :

[0019]

[0020] in:

[0021] ,and

[0022] This is the "XOR" operation.

[0023] In the document ETSI TS 138 212 V15.2.0, the 3GPP standardization consortium defines two basic structures or matrices, BG1 and BG2 (basic graphs), which enable the construction of 104 odd-even matrices. (52 matrices constructed from basis matrix BG1 and 52 matrices constructed from basis matrix BG2).

[0024] For example, for 5G, the sizes of the basis matrices BG1 and BG2 are:

[0025] -BG1: , ,

[0026] -BG2: , , ,or , , ,or , , ,or , , .

[0027] Parity matrix From the base matrix BG1 or BG2, based on the expansion factor It is obtained by cyclic rotation of a diagonal matrix. This construction is called the protograph.

[0028] According to this technique, each non-zero element of the basis matrix BG1 or BG2 is replaced with a cyclic rotation V (which is not necessarily the same for all non-zero elements of the basis matrix) of size V. To obtain a diagonal matrix of size . parity matrix .

[0029] One advantage of this LDPC encoder family is that it is easy to obtain all the parity matrices. At the same time, memory usage is restricted.

[0030] For example, for the expansion factor and cyclic rotation The non-zero elements of the basis matrix BG1 or BG2 are replaced with the following matrix:

[0031]

[0032] According to document ETSI TS 138 212 V15.2.0, for each base matrix BG1 or BG2, 52 matrices can be constructed, based on the "ils" index and the expansion factor. The values ​​(between 2 and 384) are categorized into eight subfamilies:

[0033]

[0034] Therefore, it is possible to use sizes of The source data is encoded in blocks, ranging from 12 bits (from the base matrix BG2, where...). And it has the minimum expansion factor ) to 8448 bits (from the base matrix BG1, where And it has the largest expansion factor ).

[0035] Based on the size of the source data to be encoded and expected coding rate The choice is made between using the basis matrix BG1 or BG2. Therefore, as... Figure 3 As shown, the base matrix BG1 is primarily used for high coding rates and large source data sizes. Both base matrices are specifically designed to cover a wide range of 5G applications, which may require high data rates and / or high reliability (robustness).

[0036] Furthermore, according to the 5G standard, deleting the first two columns of the base matrix BG1 or BG2 before transmission results in different basic rates. and .

[0037] It should also be noted that the parity matrix used to construct LDPC codes according to the 5G standard The basis matrix BG1 or BG2 can be represented by six submatrices. 0 The form of I is as described by Y. Zhu et al. in the document "High Area-Efficient Parallel Encoder with compatible architecture for 5G LDPC codes", and as... Figure 4 As shown:

[0038]

[0039] in:

[0040] The kernel matrix has a size of . ,

[0041] It is a matrix with at least one double diagonal and a size of . ,

[0042] For extended matrix, the size is ,

[0043] Let be the extension matrix, with size . ,

[0044] It is a zero matrix with size . ,

[0045] It is an identity matrix with a size of ,

[0046] While LDPC codes are recognized for their ability to guarantee high data rate transmissions, particularly by the possibility of parallelizing operations in the decoder, one drawback of these codes is the complexity associated with decoding. In fact, the larger the number of decoding iterations, the greater the number of operations to be performed during reception, and the more resources they consume. Therefore, a decoding block can utilize up to 90% of the receiver's resources. It can be considered the most energy-intensive part of the physical layer, especially for 5G.

[0047] Therefore, a novel encoding technique is needed to reduce the energy consumption of the decoder. Summary of the Invention

[0048] This invention proposes a novel solution, which takes the form of a method for... A method for encoding at least one block of source data, the generation of which is... Source data and by The size of the redundant data is At least one codeword, ,in For integer expansion factors, .

[0049] According to the method of the present invention, the following steps are implemented: using a size of parity matrix Regarding the The source data is encoded into this parity matrix. By using a size of The size of the extended matrix replacement is basis matrix Each element from the base matrix Obtained

[0050] The basis matrix It can be expressed in the following form:

[0051]

[0052] in:

[0053] The kernel matrix has a size of . ,

[0054] It is a matrix with at least one double diagonal and a size of . ,

[0055] For extended matrix, the size is ,

[0056] Let be the extension matrix, with size . ,

[0057] It is a zero matrix with size . ,

[0058] It is an identity matrix with a size of .

[0059] According to the present invention, the extended matrix It includes at least two row blocks, each row block contains the same number of rows, and each row block contains a diagonal matrix.

[0060] In other words, the extended matrix Including at least two The blocks of rows, each block containing a size of A diagonal matrix, and preferably including a matrix of size . A single diagonal matrix.

[0061] For example, if but ,if but ,if but ,if but .

[0062] By choosing the size of the diagonal, the number of connections in each row can be changed, especially for extended matrices. Each row has only one connection (excluding the first two columns). For this purpose, one should recall the number of connections (that is, the number of non-zero elements in the basis matrix, and therefore the parity matrix). The larger the number of non-zero elements in the decoder, the greater its complexity. Therefore, according to one embodiment, a trade-off between the number of connections and decoding performance is sought.

[0063] The use of diagonal matrices thus makes it possible to extend the matrix. Non-zero elements are distributed in the extended matrix On each row and / or column.

[0064] The proposed solution specifically seeks to improve the performance of error-correcting codes, particularly the performance of LDPC decoders, by reducing the number of decoder iterations and thus reducing energy consumption.

[0065] Specifically, encoded data (by...) Source data and The codewords formed by redundant data can be stored in memory and / or transmitted from the transmitter to the receiver via a transmission channel.

[0066] In particular, matrix and The number of rows depends on The value, the base rate (1 / 5 for BG2), and the number of punctured columns.

[0067] Under normal circumstances, and rate For 5G, speed Furthermore, the first two columns were punched.

[0068] if ,but ,and .

[0069] Therefore, the matrix can be calculated. and Size: If the kernel matrix Has size Then the extended matrix The size is And the size of the extension matrix is Regarding 5G, .

[0070] According to a particular embodiment, the extension matrix It includes at least two row blocks, each row block contains the same number of rows, and each row block contains a diagonal matrix.

[0071] In other words, the extension matrix Including at least two The blocks of rows, each block containing a size of A diagonal matrix, where or And preferably includes a size of A single diagonal matrix.

[0072] For example, regardless What is the value of ? .

[0073] The use of diagonal matrices makes it possible to extend the matrix. Non-zero elements are distributed in the extended matrix On each row and / or column.

[0074] According to a particular embodiment, in the kernel matrix In the example, except for the first two columns, the number of non-zero elements in each column and / or each row is between 50% and 100% of the total number of elements in each column and / or each row.

[0075] Specifically, in the kernel matrix In the table, except for the first two columns, the number of non-zero elements in each column and / or each row is between 75% and 100% of the total number of elements in each column and / or each row.

[0076] Therefore, with matrix Compared to the rest, the kernel matrix Each row and / or column has numerous connections, making it possible to recover the source data during decoding. For the 5G standard, the core matrix... Having, for example, each row The order of non-zero elements.

[0077] According to a specific embodiment, the kernel matrix and / or the extended matrix The first two columns consist of alternations of non-zero and zero elements in each row and column.

[0078] Therefore, what is being sought is the kernel matrix. and / or the extended matrix The connections in the first two columns are evenly distributed, exhibiting a quincunx structure. As indicated in the preamble, these first two columns may not be transmitted, especially in 5G.

[0079] According to a particular embodiment, and

[0080] - and ,or

[0081] - and ,or

[0082] - and ,or

[0083] - and .

[0084] Therefore, the basis matrix It has a format similar to matrix BG2, and it is decomposed into six submatrices ( 0 and It is the same size as the base matrix BG2. Therefore, it can be used in any system compatible with the 5G standard.

[0085] According to a particular embodiment, according to The value of the kernel matrix equal:

[0086]

[0087] The matrix having at least one double diagonal equal:

[0088]

[0089] The extended matrix equal:

[0090]

[0091]

[0092]

[0093] The extension matrix equal:

[0094]

[0095]

[0096]

[0097] The empty elements of the above matrix correspond to the zero value.

[0098] matrix and Based on Nested structure of values.

[0099] Therefore, for nuclear matrix Has size In other words, based on the example shown, .for nuclear matrix Has size In other words, based on the example shown, It consists of a kernel matrix. This resulted in the addition of two columns to the kernel matrix. nuclear matrix Has size In other words, based on the example shown, It consists of a kernel matrix. This forms a matrix by adding a column to the core matrix. For nuclear matrix Has size In other words, based on the example shown, It consists of a kernel matrix. This forms a column added to the core matrix.

[0100] In the same way, for , extended matrix Has size In other words, based on the example shown, .for , extended matrix Has size In other words, based on the example shown, It consists of an extension matrix. This creates an extended matrix by adding two columns and eight rows. For , extended matrix Has size In other words, based on the example shown, It consists of an extension matrix. This creates an extended matrix by adding one column and four rows. For , extended matrix Has size In other words, based on the example shown, It consists of an extension matrix. This forms an extension matrix by adding one column and four rows.

[0101] Finally, for , extension matrix Has size In other words, based on the example shown, .for , extension matrix Has size In other words, based on the example shown, It consists of an extension matrix. This resulted in the addition of eight rows to the extended matrix. , extension matrix Has size In other words, based on the example shown, It consists of an extension matrix. This forms a matrix by adding four rows. For , extension matrix Has size In other words, based on the example shown, It consists of an extension matrix. This forms a matrix by adding four rows.

[0102] According to this embodiment:

[0103] -The basis matrix Each empty or zero element is replaced with a value of size 1. The zero matrix,

[0104] -The basis matrix Each non-zero element is replaced by a subset of elements of size 1. Application of cyclic rotation to the identity matrix The resulting circular permutation matrix makes:

[0105]

[0106]

[0107] in and It is a random variable.

[0108] In another embodiment, the present invention relates to a method for... A device that encodes at least one block of source data, which generates the data from the source data. Source data and by The size of the redundant data is At least one codeword, ,in For integer expansion factors, ,

[0109] Includes at least one processing unit, which is configured to use a size of parity matrix Regarding the The source data is encoded, and the odd / even matrix is... From the size described above basis matrix Obtained.

[0110] Such an encoding device, also known as an encoder, is specifically designed to implement the encoding method described above. Of course, it can include various features related to the method according to the invention, which can be used in combination or individually. Therefore, the features and advantages of the encoder are the same as those of the method described above. Therefore, they will not be described in more detail.

[0111] The present invention also relates to one or more computer programs comprising instructions for implementing the methods described above when these one or more programs are executed by at least one processor.

[0112] The present invention also relates to a computer-readable information medium comprising instructions of a computer program as described above. Attached Figure Description

[0113] Other features and advantages of the invention will become more apparent after reading the following description of a particular embodiment given by way of simple illustrative and non-limiting examples, along with the accompanying drawings, in which:

[0114] - Figure 1 This illustrates a transmitter in a conventional digital transmission chain;

[0115] - Figure 2 The parity matrix for LDPC codes is shown. An example;

[0116] - Figure 3 The selection criteria for the basis matrix BG1 or BG2 are shown;

[0117] - Figure 4 This illustrates the decomposition of the basis matrix BG1 or BG2 into submatrices;

[0118] - Figure 5 The main steps implemented by an encoding method according to an embodiment of the present invention are shown;

[0119] - Figure 6A and Figure 6B The structure of matrix BG1 is shown;

[0120] - Figure 7A and Figure 7B This illustrates the concept of a cycle;

[0121] -Figure 8 to Figure 13D A matrix according to an embodiment of the present invention is shown. and / or This makes it possible to optimize the basis matrix. Various structures;

[0122] - Figure 14 A simplified structure of an encoder implementing an encoding method according to an embodiment of the present invention is shown. Detailed Implementation

[0123] 5.1 General Principles

[0124] The general principle of this invention is based on a cleverly distributed basis matrix. In the base matrix, the connections (i.e., non-zero elements) are sought to be distributed in a substantially uniform manner and / or to limit the number of short cycles. Therefore, from the base matrix... Obtained parity matrix It has a specific structure. Such a structure makes it possible to improve the performance of error-correcting codes, especially by reducing decoding complexity.

[0125] Figure 5 The main steps of an encoding method according to an embodiment of the present invention are shown.

[0126] In the first step 51, the size is obtained as basis matrix .

[0127] such a basis matrix It can be decomposed into six submatrices 0 and I, and expressed in the following form:

[0128]

[0129] in:

[0130] The kernel matrix has a size of . ,

[0131] It is a matrix with at least one double diagonal and a size of . ,

[0132] For extended matrix, the size is ,

[0133] Let be the extension matrix, with size . ,

[0134] It is a zero matrix with size . ,

[0135] It is an identity matrix with a size of ,

[0136] In particular, the extended matrix It has a specific structure and includes at least two row blocks, each row block including the same number of rows, each row block including a diagonal matrix, and preferably including a single complete diagonal matrix.

[0137] In the second step 52, from the basis matrix Obtain the parity matrix Therefore, the basis matrix Each element is replaced with a size of The extended matrix, where For integer expansion factors, More specifically, the basis matrix Each zero element is replaced with a size of The zero matrix, and the basis matrix Each non-zero element is replaced by a subset of elements of size 1. Application of cyclic rotation to the identity matrix The resulting cyclic permutation matrix.

[0138] In step 53, a size of parity matrix right At least one block of the source data is encoded in order to obtain the result from the source data. Source data and by The size of the redundant data is At least one codeword, .

[0139] Such codewords can be stored specifically in the encoder's memory or sent to the receiver by the transmitter.

[0140] In one particular embodiment, the kernel matrix, except for the first two columns... and the extended matrix The number of non-zero elements in each column is and Between, among The integers are defined in the extended matrix, excluding the first two columns. and the extension matrix The number of non-zero elements in each row is and Between, among It is an integer.

[0141] Therefore, seeking in the basis matrix The number of connections is evenly distributed in each column and / or each row.

[0142] For example, in 5G, Between 7 and 10, and determined by the kernel matrix. and extension matrix The number of non-zero elements in each column of the resulting matrix is ​​between 4 and 13, for example, between 7 and 8.

[0143] According to another example, the extended matrix The number of non-zero elements in each column is between 2 and 8, for example, equal to 4 or 5.

[0144] According to yet another example, the kernel matrix The number of non-zero elements in each column is between 2 and 4, for example, equal to 3.

[0145] For example, in 5G, Between 2 and 4, and by the extended matrix (excluding the first two columns) and the extended matrix The number of non-zero elements in each row of the resulting matrix is ​​between 0 and 6, for example, equal to 2.

[0146] According to another example, the extended matrix The number of non-zero elements in each row (excluding the first two columns) is equal to 1.

[0147] According to yet another example, the extension matrix The number of non-zero elements in each row is equal to 1.

[0148] In particular, if and Then the basis matrix It has the same size as the base matrix BG2 and can be used in any system using the 5G standard.

[0149] 5.2 Basis Matrix BG1

[0150] To better understand the present invention, Figure 6A Recalling the structure of the basis matrix BG1 as defined in document ETSI TS 138 212 V15.2.0, it consists of matrix and Formation. For simplicity, submatrices have been omitted. and .

[0151] The "1" elements in the basis matrix BG1 represent the connections between various parity equations. The number of connections per column and per row has been added. Figure 6A .

[0152] Therefore, matrix and The first column contains 30 connections, the second column contains 28 connections, the third column contains 7 connections, and so on.

[0153] matrix and The first column contains 12 connections, the second column contains 5 connections, and so on.

[0154] matrix and The first four lines each contain 19 connections.

[0155] matrix and The first line contains 2 connections, the second line contains 7 connections, and so on.

[0156] If the zero matrix is ​​not considered and identity matrix The minimum number of connections per row is 2, and the maximum number of connections per row is 19. The minimum number of connections per column is 4, and the maximum number of connections per column is 30. Therefore, there is a significant difference in the number of connections per row and / or per column in matrix BG1.

[0157] kernel matrix Proportionally, it has a large number of connections, meaning a large number of non-zero elements, because it is the core of matrix BG1. This allows the decoder to recover this data upon reception. It should also be noted that the first two columns of matrix BG1 (which correspond to the untransmitted data) also have a large number of instances of "1".

[0158] The upper part of matrix BG1 also has more connections than its lower part, which makes it possible to guarantee good performance at high speeds. In fact, the lower part of matrix BG1 can be punched to obtain the desired speed. Therefore, the connections in the upper part of matrix BG1 are preferably selected.

[0159] As an example, Figure 6B It shows the use of from Figure 6A Circular rotation factor of matrix BG1 expansion factor .

[0160] Parity matrix By using a size of The identity matrix replaces each non-zero element of matrix BG1, and by according to Figure 6B The factors shown apply cyclic rotation It was constructed from. Therefore, it comes from Figure 6A The "1" element in the first row / first column of matrix BG1 is replaced with a value of size 1. The identity matrix, to which a cyclic rotation is applied. From Figure 6A The "1" element in the first row / second column of matrix BG1 is replaced with a value of size 1. The identity matrix, to which a cyclic rotation is applied. And so on.

[0161] 5.3 Basis Matrix BG2

[0162] Similarly, the document ETSI TS 138 212 V15.2.0 describes the structure of the basis matrix BG2, which can be decomposed into six submatrices. , , and For simplicity, submatrices are omitted in the following text. and .

[0163] 5.4 Basis Matrix

[0164] The 3GPP 5G standard specifies the positions of the connections in the base matrix BG2 and the rotation factors to be used. However, as mentioned earlier, it is still desirable to improve the performance of error-correcting codes, particularly by reducing decoding complexity, for example, by reducing the number of connections.

[0165] Therefore, the following proposes a basis matrix to reduce decoding complexity. Therefore, according to various embodiments of the invention, novel connection structures are proposed. According to the considered embodiments, such structures are based on an even / odd matrix. The dimensions are valid and / or easily reproducible.

[0166] According to a particular embodiment, the basis matrix The structure is defined such that the number of connections per row and / or per column varies slightly. In practice, for example, if we consider an LDPC encoder, we will recall that LDPC decoding is based on the probability that a value equal to "1" or "0" has been sent. Therefore, it is desirable to distribute the number of connections evenly, such that the number of connections in rows, and especially in columns, is substantially constant or uniformly distributed.

[0167] According to another specific embodiment, the base matrix The structure is defined to limit the number of short cycles and avoid short cycles (girth) if possible. In practice, these short cycles limit the performance of error-correcting codes, especially LDPC codes, particularly for small values. For example, 256 bits or smaller.

[0168] To better understand this principle, Figure 7A and Figure 7B It shows the expansion factor The phenomenon of loops. According to... Figure 7A With the same rotation factor expansion factor Applied to location , and The element "1" at that location. This results in the loop indicated by the arrow. According to Figure 7B With the same rotation factor expansion factor Applied to location , and The element "1" at the position, and the rotation factor Applied to location The element at that position. In this case, there are no loops. Therefore, changing the rotation factor of one of the elements of the matrix makes it possible to eliminate loops.

[0169] The following presents various solutions that make it possible to obtain the basis matrix. Small differences in the number of connections per row and / or per column and / or limiting (or even avoiding) short loops.

[0170] 5.4.1 Optimizing the kernel matrix

[0171] Based on the first example, it can be found in the kernel matrix. The system distributes connections evenly across the network while simultaneously seeking a large number of connections as defined in the 5G standard.

[0172] For example, in the kernel matrix In the diagram, the number of non-zero elements in each column (excluding the first two columns) is... and between.

[0173] Figures 8A to 8D The kernel matrix is ​​shown. An example where the number of non-zero elements in each column is constant and equal to 3, for each column... .

[0174] 5.4.2 Optimizing the kernel matrix and / or extended matrix The first two columns

[0175] Based on the second example, the first two columns (which are usually not sent) can be selected to ensure a good distribution of connections.

[0176] For example, kernel matrix and / or extended matrix The first two columns consist of alternations of non-zero and zero elements in each row and column. In other words, the connections are distributed in a quincunx pattern, as shown below. Figure 9 As shown.

[0177] 5.4.3 Optimize the extension matrix and extension matrix

[0178] Based on the third example, it is possible to extend the matrix. (Excluding the first two columns) and / or in the extended matrix The connections are evenly distributed throughout the region.

[0179] Extended matrix Its size is usually the largest. For the basis matrix BG2, for example, the extended matrix (Excluding its first two columns) has a size:

[0180] for ,

[0181] for ,

[0182] for , as well as

[0183] for , .

[0184] Based on this third example, the extended matrix The connections are distributed diagonally to ensure good distribution. Specifically, the connections are distributed such that for each row block, there is one connection per row and one connection per column.

[0185] According to the present invention, the extended matrix Therefore, it includes at least two row blocks, each row block containing the same number of rows, and each row block contains a diagonal matrix.

[0186] Figure 10A It shows that for The extended matrix excluding the first two columns An example. Based on the extended matrix of this example. It includes at least two line blocks (101A, 102A, 103A), each line block containing the same number of lines. Each row block includes a diagonal matrix (of size ). One or more rows of zero elements can be interleaved between two row blocks. For example, there are four rows of zero elements between two row blocks that include a diagonal matrix.

[0187] Figure 10B It shows that for The extended matrix excluding the first two columns Another example. Based on the extended matrix of this example. It includes at least two line blocks (101B, 102B, 103B, 104B), each line block containing the same number of lines. Each row block includes a diagonal matrix (of size ). One or more rows of zero elements can be interleaved between two row blocks. For example, there are two rows of zero elements between two row blocks that include a diagonal matrix.

[0188] In the same way, the extended matrix It can include at least two row blocks, each row block containing the same number of rows, and each row block containing a diagonal matrix.

[0189] Therefore, the extension matrix The connections can also be distributed diagonally to ensure good distribution of connections. In particular, the connections are distributed such that for a row block, there is one connection per row and one connection per column.

[0190] Figure 11A It shows that for extension matrix An example. Based on the extension matrix of this example. Includes at least two line blocks (111A, 112A, 113A, 114A, 115A), each line block containing the same number of lines. Each row block includes a diagonal matrix (of size ). These line blocks are continuous, meaning that lines without zero or non-zero elements are interleaved between two line blocks.

[0191] Figure 11B It shows that for extension matrix An example. Based on the extension matrix of this example. It includes at least two line blocks (111B, 112B, 113B, 114B, 115B, 116B, 117B), each line block containing the same number of lines. Each row block includes a diagonal matrix (of size ). These line blocks are continuous, meaning that lines without zero or non-zero elements are interleaved between two line blocks.

[0192] In particular, all line blocks have the same size.

[0193] According to this particular embodiment, since the connections are distributed such that for the extended matrix... (excluding the first two columns) and the extension matrix In the row blocks, each row has one connection and each column has one connection, so the number of connections per row is equal to 1 (if the extended matrix is ​​considered). (The row with zero elements) or 2.

[0194] The number of connections per column depends on the variable. The size. In Figure 10A and Figure 11A In the example shown, for Its extension matrix It equals 3, and its extension matrix It equals 5 or 6. In Figure 10B and Figure 11B In the example shown, for Its extension matrix It equals 4, and its extension matrix It equals 7 or 8.

[0195] As an example, Figure 12 A kernel matrix was proposed. Double diagonal matrix Extended matrix and extension matrix An example of a structure, for For various values ​​of , Use from Figure 10A and Figure 11A The matrix, and for Use from Figure 10B and Figure 11B The matrix. This structure is extended to... Other values, especially and .like Figure 12 As shown, the matrix and Based on A nested structure of values. This structure is particularly compatible with 5G standards.

[0196] In the extended matrix and extension matrix In the resulting matrix, excluding the first two columns, the number of non-zero elements in each row is [number missing]. and Between, among It is an integer.

[0197] In the context of 5G, For example, between 2 and 4.

[0198] 5.4.4 Global Optimization of Basis Matrix BG'

[0199] In the example above, the extended matrix (excluding the first two columns) and the extension matrix It has been optimized to reduce short loops.

[0200] However, if we consider the kernel matrix proposed in the above examples... Double diagonal matrix Extended matrix and extension matrix The resulting matrix may retain short cycles.

[0201] Such short cycles might, for example, originate from targeting the kernel matrix. Or for extended matrices The structure proposed in the first two columns is generated.

[0202] like Figure 7BAs shown, considering the rotation factor makes it possible to particularly reduce or even avoid short cycles.

[0203] Therefore, the basis matrix can be increased. The diversity of the loops, and therefore the number of short loops can be reduced by taking into account the rotation factor.

[0204] Using the 5G standard context, expansion factor It is at least equal to 2. This means there are at least two possible rotation factors: the basis matrix. Non-zero elements can be replaced with those for cyclic rotations. of Or it could be replaced for cyclic rotation. of .

[0205] Figures 13A to 13D Showing the target The various values ​​of are respectively and Consider matrices with at least two distinct rotation factors. and Examples of structures. As these figures show, the number of rotation factors can be increased to increase the basis matrix. The diversity of rotation factors. For example, choosing five rotation factors denoted as V0 to V4. Of course, different numbers of rotation factors can be chosen, resulting in matrices with varying degrees of diversity. and Different structures.

[0206] As already indicated, the matrix and Based on The nested structure of values. In particular, the equations can be defined as functions with "ils" indexes, where the twiddle factors V0 to V4 are defined according to the 3GPP 5G standard.

[0207]

[0208]

[0209]

[0210] in and Let be a random variable, and its interval is given in the table above.

[0211] Figures 13A to 13D The structure shown specifically makes it possible to reduce the number of short loops used for small matrices, for example, for... .

[0212] In particular, it was observed that in the kernel matrix and extension matrix In the resulting matrix, the number of non-zero elements in each column, except for the first two columns, is [number missing]. and between, The integer is used. In the extended matrix... and extension matrix In the resulting matrix, excluding the first two columns, the number of non-zero elements in each row is [number missing]. and between, It is an integer.

[0213] In the context of 5G, For example, between 7 and 10, such as equal to 9, and Between 2 and 4, for example, equal to 3. Figures 13A to 13D In the example shown, according to The value is determined by the kernel matrix. and by the extended matrix The resulting matrix has between 6 and 12 non-zero elements in each column, and is formed by the extended matrix. and the extended matrix The number of non-zero elements in each row of the resulting matrix is ​​between 1 and 2.

[0214] Therefore, the number of connections per row and / or per column is relatively uniform.

[0215] 5.4.5 Obtaining the odd / even matrix

[0216] Based on the obtained basis matrix BG', it can be obtained by using a matrix of size... The zero matrix replaces the basis matrix Each empty or zero element, and by using a size of Application of cyclic rotation to the identity matrix The obtained cyclic permutation matrix replaces the basis matrix. To obtain the parity matrix, use each non-zero element. , .

[0217] The resulting parity matrix It can be used by an encoder to... At least one block of the source data is encoded.

[0218] 5.4.6 Variation

[0219] The example described above shows that the basis matrix BG' has the same size as the basis matrix BG2, where This in particular makes it possible to use the base matrix BG' in any communication system based on the 5G standard.

[0220] However, this is a simple example, and one can imagine... and Other values, especially for other transmission standards (Wi-Fi) ® 6G, etc.

[0221] A basis matrix BG' with five rotation factors V0 to V4 has also been proposed. However, different numbers of rotation factors can be chosen.

[0222] It also provides a form of matrix Examples. Other forms of matrices with at least one double diagonal can be used. In this case, the positions of the connections and / or the values ​​of the rotation factors can be updated to take the matrix into account. The structure.

[0223] LDPC codes are also used as an example. This invention can also be extended to other error-correcting codes that use parity matrices.

[0224] 5.5 Encoding Equipment

[0225] Finally, refer to Figure 14 This presents a simplified structure of the encoder according to at least one of the above embodiments.

[0226] like Figure 14 As shown, the encoder includes at least one memory 141 and at least one processing unit 142, which is equipped with, for example, a programmable computer or a dedicated computer, such as a processor P, and is driven by a computer program 143 to implement the steps of the encoding method according to at least one embodiment of the present invention.

[0227] During initialization, the code instructions of computer program 143 are loaded into RAM memory, for example, before being executed by the processor of processing unit 142.

[0228] The processor of processing unit 142 implements the steps of the above encoding method according to the instructions of computer program 143, so as to use a size of parity matrix right The source data is encoded, and a result is generated by... Source data and The size of the redundant data is At least one codeword.

Claims

1. A method for... A method for encoding at least one block of source data, the method generating data from the source data. Source data and by The size of the redundant data is At least one codeword, ,in For integer expansion factors, , The method is implemented using a size of parity matrix Regarding the The steps of encoding the source data (53) Its features are, The parity matrix By using a size of The size of the extended matrix replacement is basis matrix Each element is derived from the base matrix. (52) were obtained. The basis matrix It can be expressed in the following form: in: The kernel matrix has a size of . , It is a matrix with at least one double diagonal and a size of . , For extended matrix, the size is , Let be the extension matrix, with size . , It is a zero matrix with size . , It is an identity matrix with a size of , And in that, the extended matrix It includes at least two consecutive row blocks, each row block containing the same number of rows, and each row block contains a diagonal matrix.

2. The method according to claim 1, characterized in that, At least one of the row blocks includes a row number greater than or equal to 3.

3. The method according to any one of the preceding claims, characterized in that, The extension matrix It includes at least two row blocks, each row block contains the same number of rows, and each row block contains a diagonal matrix.

4. The method according to any one of the preceding claims, characterized in that, Apart from the first two columns, the number of non-zero elements in each column and / or each row relative to the kernel matrix The total number of elements in each column and / or each row is between 50% and 100%.

5. The method according to any one of the preceding claims, characterized in that, Apart from the first two columns, the number of non-zero elements in each column and / or each row relative to the kernel matrix Each column and / or each row The total number of elements is between 75% and 100%.

6. The method according to any one of the preceding claims, characterized in that, The kernel matrix and / or the extended matrix The first two columns consist of alternations of non-zero and zero elements in each row and each column.

7. The method according to any one of the preceding claims, characterized in that, ,and: and ,or and ,or and ,or and .

8. The method according to any one of claims 1 to 4, characterized in that, according to The value of the kernel matrix equal: The matrix having at least one double diagonal equal: The extended matrix equal: For K=6 For K=8: For K=9: And for K=10 The extension matrix equal: For K=6: For K=8: For K=9: And for k=10: And it lies in: -The basis matrix Each empty or zero element is replaced with a value of size 1. The zero matrix, -The basis matrix Each non-zero element is replaced by a subset of elements of size 1. Application of cyclic rotation to the identity matrix The resulting cyclic permutation matrix makes: in and It is a random variable.

9. A method for... A device that encodes at least one block of source data, which generates the data from the source data. Source data and by The size of the redundant data is At least one codeword, ,in For integer expansion factors, , Includes at least one processing unit, which is configured to use a size of parity matrix Regarding the The source data is encoded (53). Its features are, The parity matrix By using a size of The size of the extended matrix replacement is basis matrix Each element is derived from the base matrix. (52) were obtained. The basis matrix It can be expressed in the following form: in: The kernel matrix has a size of . , It is a matrix with at least one double diagonal and a size of . , For extended matrix, the size is , Let be the extension matrix, with size . , It is a zero matrix with size . , It is an identity matrix with a size of , And in that, the extended matrix It includes at least two consecutive row blocks, each row block containing the same number of rows, and each row block contains a diagonal matrix.

10. A computer program comprising instructions that, when executed by a processor, are configured to implement the method according to any one of claims 1 to 8.