46 Chapitre 2 : HybridLDPC Codes to an ensemble of p 1 -sized vectors whose elements lie in Z . This is the reason why we 2Z adopt the fully denomination of these codes as being multi-binary hybrid LDPCcodes. In the remainder, we use a shortcut and refer to them as hybrid LDPCcodes. Let q 1 and q 2 , such that q 1 < q 2 , denote the group orders of a column and of a row of H, respectively. They will be similarly called variable and check order. Let G(q 1 ) denote the group of variable j and G(q 2 ) the group of parity-check i. The non-zero elements of the parity-check matrix are applications which have to map a value in the column group (variable node group), to a value in the row group (check node group, see figure 2.1). This is achieved thanks to functions named h ij such that h ij : G(q 1 ) → G(q 2 ) c j → h ij (c j ) Hence, an hybrid parity-check equation is given by ∑ h ij (c j ) = 0 in G(q 2 ) (2.2) j We notice that, on equation (2.1) as well as on equation (2.2), the additive group structure defines the local constraints of the code. Moreover, as mentioned in , and deeply studied in, e.g., , the additive group structure possesses a Fourier transform, whose importance for the decoding is pointed out in section 2.1.7. Since the mapping functions h ij can be of any type, the class of hybrid LDPCcodes is very general and includes classical non-binary and binary codes. c 1 ∈ G(q 1 ) c 2 ∈ G(q 2 ) c 3 ∈ G(q 3 ) 2 4 8 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 000 111 q 1 ≤ q 2 ≤ q 3 h i1(c 1) h i2(c 2) h i3(c 3) 8 8 8 parity-check in G(q 3 ) h i1 (c 1 ) + h i2 (c 2 ) + h i3 (c 3 ) = 0, h ij (c j ) ∈ G(q 3 ) defines a component code in the group G = G(q 1 ) × G(q 2 ) × G(q 3 ) Figure 2.1 : Factor graph of parity-check of an hybrid LDPC code.
2.1 The class of hybrid LDPCcodes 47 2.1.2 HybridLDPC code ensemble By definition of G(q k ), to each element of G(q k ) corresponds a binary map of p k bits. Let us call the minimum order of codeword symbols q min , and the maximum order of codeword symbols q max . The class of hybrid LDPCcodes is defined on the product group ( Z 2Z ) pmin × . . . × ( Z 2Z) pmax. Let us notice that this type of LDPCcodes built on product groups has already been proposed in the literature , but no optimization of the code structure has been proposed and its application was restricted to the mapping of the codeword symbols to different modulation orders. 2.1.3 Different sub-classes of hybrid LDPCcodes Among the huge set of hybrid LDPCcodes, we can distinguish as many classes as different types of non-zero elements of the parity-check matrix H. Such a non-zero element is an application, that we denote by A, which maps the q 1 symbols of G(q 1 ) into a subset of q 1 symbols that belongs to G(q 2 ). It can be of any type. Let us consider the case where these applications are linear, i.e., represented by a matrix, with dimensions p 2 × p 1 . In that way, A actually connects the binary map vector of a symbol in G(q 1 ) to the binary map vector of a symbol in G(q 2 ). At this stage, it is quite straightforward to establish a connection between hybrid LDPCcodesand doubly-generalized LDPC (D-GLDPC) codes, thoroughly studied in [29, 56]. Indeed, the linear map A can be seen as part of the generalized check and generalized variable. The code corresponding to the generalized variable v would have a number of information bits K = p 1 and length N = ∑ l p l, where the sum is done over the groups of all the checks connected to v. The code of the generalized check c would have a number of redundancy bits M = p 2 and length N = ∑ k p k, where the sum is done over the groups of all the variables connected to c. However, it is important to note that, if the idea is the same, hybrid LDPCcodes are not exactly D- GLDPCcodes because of the decoder. Indeed, with D-GLDPCcodes, one considers that the generalized codes are at variable and check nodes sides, whereas with hybrid LDPC, we consider that the previous generalized codes for each node are split on each incoming edge. As detailed in section 2.3 on optimization, this difference allows us to affect different connection degrees on the nodes depending on their group order, i.e., depending on K for variables and on M for checks. In other words, we will be able to optimize the length of the codes, given the dimension. We distinguish different sub-classes of hybrid LDPCcodes whose non-zero elements are linear maps: (i) Applications that are not of rank p 1 . This includes the case where the group order of a column can be higher than the group order of the row. From a D-GLDPC perspective, this allows to have generalized variables whose codes have K > N, that is to say the number of incoming bits is projected to a smaller one. This could be thought as puncturing, and, as a consequence, we get back the result that the rate of the graph can be lower than the actual code rate. This case is out of the scope of this thesis. (ii) Applications that are of rank p 1 . They are named full-rank applications, and corre-