# Performance Analysis for Cooperative Communication System with QC-LDPC Codes Constructed with Integer Sequences

Authors: Yan Zhang; Feng-fan Yang; Weijun Song
Journal: Discrete Dynamics in Nature and Society
 (2015)

---

## Abstract

This paper presents four different integer sequences to construct  quasi-cyclic low-density parity-check (QC-LDPC) codes with  mathematical theory. The paper introduces the procedure of the coding principle and coding. Four different integer sequences constructing QC-LDPC code are compared with LDPC codes by using PEG algorithm, array codes, and the Mackey codes, respectively. Then, the integer sequence QC-LDPC codes are used in coded cooperative communication. Simulation results show that the integer sequence constructed QC-LDPC codes are effective, and overall performance is better than that of other types of LDPC codes in the coded cooperative communication. The performance of  Dayan integer sequence constructed QC-LDPC is the most excellent performance.


---

## Body

## 1. Introduction

In 1979, Cover and El Gamal reached substantial progress in cooperative communication technology [1, 2]. Amplify-and-forward (AF) [3], decode-and-forward (DF) [4], and coded cooperation (CC) [5] are three commonly user cooperation modes. In coded cooperation, the relay user does not send signals of cooperative users repeatedly. With features of coding, this method sends different parts of codes, respectively. Due to the fact that different parts in codes have innate correlated characteristics, if the base station receives different parts of codes by mutually opposed channels, that is, if the information of each code is sent by two channels, the transmission diversity is realized and the coding gain is acquired. As the application of channel, coded cooperation mode is superior to the previous methods.According to the characteristics of low-density parity-check (LDPC) codes coded cooperative system, many scholars had achieved fruitful research on designing LDPC codeword construction in the coded cooperative system [6–8]. In single-source single relay scenario, the literature [9] proposed that using computer search structure could optimize LDPC code sets. In the multisource coded cooperative system, the literature [10] introduced that LDPC codes are optimized by distribution function without taking into account the complexity of encoding and decoding, memory, and other resource consumption. This optimized distribution function is long enough to clearly show the advantages of its performance. As the length of LDPC is large, the complexity of coding and decoding is too high and the memory consumption is larger in hardware implementation.Quasi-cyclic low-density parity-check (QC-LDPC) codes coded cooperative system is an important subclass of LDPC. Compared with randomly constructed LDPC, QC-LDPC can achieve a simple shift register and linear coding complexity, but the parameters of the code are not flexible enough, and they cannot meet the needs of practical application.In point-to-point (noncooperative) system, the literature [11] proposed various design methods of QC-LDPC; for example, the literature [12] designed the QC-LDPC with the ring length of at least 8 through the greatest common divisor inequality when the subblock length is greater than a lower bound. The literature [13] designed the QC-LDPC in coded cooperative system by finite field (Galois Field, GF) of the multiplicative inverses, but the check matrix of QC-LDPC is limited to the lower triangular structure.For this problem, this paper introduces the QC-LDPC constructed by four different integer sequences, compared with traditional QC-LDPC; the class QC-LDPC can save more space used with linear encoding complexity and quasi-cyclic structure. Through simulating, the results show that the QC-LDPC constructed by integer sequences is without the girth-4 length and is excellent in performance.The rest of the paper is organized as follows. Section2 introduces fundamentals of general coded relay cooperation. Section 3 presents QC-LDPC constructed by four different integer sequences. The simulation results are shown in Section 4. Finally, the conclusions are reached in Section 5.


## 2. Fundamentals of General Coded Relay Cooperation

In this paper, 3-nodes relay channel model is a common model to describe the cooperative communication system. It is shown in Figure1. It is comprised of three fundamental communication units such as the source S, the relay R, and the destination D. All these terminals are assumed to have a single antenna and they communicate with each other in half-duplex mode.Figure 1
Coded cooperative communication model.The transmission of information data is divided into two frames. In the first frame, the source node (S) encodes information using the code c1 and sends its information to the relay node (R) and the destination node (D) simultaneously. During the first frame the received signal ySR over a Rayleigh fading channel at the relay is given as
(1)ySR=hSRxA+nSR,
where nSR is complex additive Gaussian noise with each component as a zero-mean complex Gaussian variable with independent real and imaginary parts of equal variance N0/2. hSR is also complex Gaussian variables with zero-mean 1/2-variance for the real and imaginary parts of each component. Similarly, the received signal ySD over a Raleigh fading channel at the destination during the first frame is described as
(2)ySD=hSDxA+nSD,
where nSD and hSD are corresponding to Gaussian noise and fading, respectively.In the second frame, if the relay node can decode the information successfully, then using BPSK modulation the relay sends the coded informationc2 to the destination. Otherwise, the relay node does not work. hi,j and ni,j are were taken representatively as channel gain and additive noise of each channel. Each channel is mutually independent. The received signal yRD over a Rayleigh fading channel at the destination during the second frame is given as
(3)yRD=hRDxR+nRD,
where nRD and hRD are associated with Gaussian noise and fading, respectively. xR represents the information sent by relay node. Finally, the overall received signal y at the destination is given as
(4)y=ySD∣yRD,
where ySD∣yRD is the series concatenation of ySD and yRD received in the first frame and second frame, respectively. The signal y is jointly decoded to recover the transmitted information at the source.In the information transmitting procedure, two different LDPC codesC1(K1,N1) and C2(K2,N2) were used to represent the source node S and relay node R. Ki and Ni, respectively, represent the dimension and length of codes. The length of coded message sequence of source node S is K1 and the check matrix is H1. C1 and C2 can be designed for simple systematic codes. The code of C1 is (I,P1), where P1 is the parity bits with the length of N1-K1. If relay node succeeds to code after receiving information from C1, relay node will generate check matrix H2 by adding new parity bits P2 with the length of N2-K2. The destination node D would receive information from source node S and relay node R. After the combination, the code (I,P1,P2) is obtained. The joint coding is conducted by the check matrix H comprised of H1 and H2 to acquire source information.The entire code ofC1 and parity bit of C2, respectively, reach the destination node through S-D channel and R-D channel, which can be obtained by the check relationship of codes. Consider
(5)H1C1=0,H2C2=0.
As can be seen from (5), the entire code of coded cooperative communication system can meet the following check relationship:
(6)HC=0.


## 3. QC-LDPC Constructed by Four Different Integer Sequences

The check matrixH of regular (J,L) QC-LDPC codes is expressed by J×L array of p×p cyclic permutation matrix. Its length is n=LP, which can be defined as
(7)H=I(p0,0)I(p0,1)⋯I(p0,L-1)I(p1,0)I(p1,1)⋯I(p1,L-1)⋮⋮⋮⋮I(pJ-1,0)I(pJ-1,1)…I(pJ-1,L-1),
where 0≤j≤J-1; 0≤l≤L-1, I(pj,l) is the p×p cyclic permutation matrix, and each row and line of the matrix contain only one 1. The last line of the matrix is ring shifted right by one element so as to acquire the line one of the matrix; each column of the matrix is ring shifted downward by one element to obtain the next column of the matrix; the last column of the matrix is ring shifted downward by one element to obtain the first column of the matrix. For example, matrix P is the 5 × 5 cyclic permutation matrix:
(8)P=1000001000001000001000001.pi,j represents the shift value of this cyclic permutation matrix; that is, 1 of rth of this matrix was in the column (r+pj,l)mod⁡p, 0≤r≤p-1, while the other columns of this row are 0. I(0) represents the unit matrix with the size of p×p, and I(pj,l) shows the matrix after the ring shift right of I(0) by pi,j. Assume the shift matrix B of check matrix H formed by I(pi,j) with the right shifting number pi,j as follows:
(9)B=p0,0p0,1⋯p0,L-1p1,0p1,1⋯p1,L-1⋮⋮⋮⋮pJ-1,0pJ-1,1⋯pJ-1,L-1.
The above QC-LDPC codes check matrix contains a cycle, which could be expressed by the sequence of p×p cyclic permutation matrix; the cycle of QC-LDPC codes with the length of 2i can be expressed as j0,l0,j1,l1,…,jk,lk,…,(ji-1,li-1),(j0,l0), where (ji,li) is I(pj,k) of H matrix at row jk and column lk. To accurately express a cycle, jk≠jk+1 and lk≠lk+1 should be met. The literature [14] proposed that the necessary and sufficient condition for a code without girth 4 is
(10)∑k=0i-1pjk,lk-pjk+1,lk≠0mod⁡p,
where ji=j0;jk≠jk+1;lk≠lk+1.


### 3.1. QC-LDPC Codes Constructed by Fibonacci Array

Definition 1 (see [15]).
For an arrayf(n), n is a nonnegative integer. If the array meets
(11)fn=fn-1+fn-2n≥2,f0=1,f1=1.
Then, this array is known as Fibonacci array, and its element is Fibonacci value [16]. For example, a typical Fibonacci array is as follows: 1,1,2,3,5,8,13,21,34,55,….According to the check matrix in (7), the shift value of cyclic permutation matrix at row j column l is
(12)pj,l=fj+l+2+j.
Literature [17] verified that girth 4 of H matrix designed by Fibonacci array can be removed. According to the above rules, it can be assumed that in the design of QC-LDPC of Fibonacci array of H(10,1,2), each item of shift matrix was
(13)p0,0=f(0+0+2)+0=f(2)=2,p0,1=f(0+1+2)+0=f(3)=3.
Shift matrix B can be written as follows: B=[23].p can flexibly select any value greater than the maximal Fibonacci value and p is identified as shift. The maximal value in the matrix is +2 and p=5, and according to the definition of cyclic permutation, one has
(14)H10,1,2=I(p0,0)I(p0,1)=00100000100001000001000011000010000010000100000100.


### 3.2. The Design of QC-LDPC Codes with Dayan Integer Sequence

Definition 2 (see [18]).
For an arrayf(n), when n is a nonnegative integer and an odd number, one has
(15)fn=n×n-12,
and when n is an even number, one has
(16)fn=n×n2.
The sequence that satisfied the recurrence relation is known as Dayan integer sequence, and its element is the item of Dayan integer sequence. A typical Dayan integer sequence is as follows: 0,2,4,8,12,18,24,32,40,50,….In a Dayan integer sequence, the new sequence formed by Dayan integer sequence items of numbers with the same item number difference shows monotone increasing. Besides, QC-LDPC constructed by Dayan integer sequence can remove girth 4, and the verification process is shown in Literature [19]. In accordance with check matrix in (7), the shift equation of cyclic permutation matrix at row j and line l is
(17)pj,l=fj+l+l+j.
For example, to construct a check matrix H(30,1,2), each item of corresponding shift matrix B(1,2) is as follows:
(18)p0,0=f(1+1+1)+1=f(3)+1=3×3-12+1=4+1=5,p0,1=f(1+2+2)+1=f(5)+1=5×5-12+1=12+1=13.
The form to the shift matrix is B1,2=[513].


### 3.3. QC-LDPC Constructed by Differential Sequence

Definition 3 (see [20]).
Leth0,h1,h2,…,hn,….As a digital sequence, thus, we define a new sequenceΔh0,Δh1,Δh2,…,Δhn,…, known as first-order difference sequence, where
(19)Δhn=hn+1-hn,n≥0.
In (20), each item of the difference sequence is the difference value of adjacent items in sequence (19). After the construction of difference sequence (20), the second-order difference sequence can be easily obtained:
(20)Δ2h0,Δ2h1,Δ2h2,…,Δ2hn,….
Hence, one has
(21)Δ2hn=Δ(Δhn)=Δhn+1-Δhn=(hn+2-hn+1)-(hn+1-hn)=hn+2-2hn+1+hnn≥0,
where Δmhn=Δ(Δm-1hn).Hence,m-order differential sequence is the first-order differential sequence of m-1-order differential sequence. We define the zero-order differential sequence as the digital sequence, as Δ0hn=hn, (n≥0). Assume (3,k) QC-LDPC codes, known as DS-LDPC codes. The check matrix of this kind of codes consisted of zero-, first-, and second-order differential sequences generated by the quadratic polynomial. The design process of check matrix is shown in the literature [21].


### 3.4. QC-LDPC Constructed by Hoey Sequence

Definition 4 (see [22]).
In a Hoey sequence,hi shows monotone increasing and meets the minimal nonnegative integer sequence with the sum of the two being different.Fori=0,1,…,49, the top 50 elements of hi are
(22)0,1,3,7,12,20,30,44,65,80,96,122,147,181,203,251,289,360,400,474,564,661,774,821,915,969,1015,1158,1311,1394,1522,1571,1820,2028,2253,2509,2779,2924,3154,3353,3590,3796,3997,4296,4432,4778,4850.
Let the form of shift matrix B of QC-LDPC codes be as follows:
(23)B=h0h1⋯hL-100⋯0.
Elements in the first row of shift matrix B are derived from top L elements in Hoey sequence and each element in the second row is 0. Shift matrix B is a 2×L matrix, and the corresponding check matrix H is a 2×L array formed by p×p cyclic permutation matrix, where p>max⁡0≤i≤L-1{hi} and the null space of H presents a (2,L) regular QC-LDPC code with the length of pL and the code rate of at least (pL-2p+1)/pL. The check matrix constructed by Hoey sequence does not include girth 4, which was verified by the literature [23]. With the example of the minimum matrix, due to the fixed pattern of base matrix of Hoey sequence, we obtain (23).Thus, the minimal matrix is2*4 matrix. Consider
(24)B=01370000.


## 3.1. QC-LDPC Codes Constructed by Fibonacci Array

Definition 1 (see [15]).
For an arrayf(n), n is a nonnegative integer. If the array meets
(11)fn=fn-1+fn-2n≥2,f0=1,f1=1.
Then, this array is known as Fibonacci array, and its element is Fibonacci value [16]. For example, a typical Fibonacci array is as follows: 1,1,2,3,5,8,13,21,34,55,….According to the check matrix in (7), the shift value of cyclic permutation matrix at row j column l is
(12)pj,l=fj+l+2+j.
Literature [17] verified that girth 4 of H matrix designed by Fibonacci array can be removed. According to the above rules, it can be assumed that in the design of QC-LDPC of Fibonacci array of H(10,1,2), each item of shift matrix was
(13)p0,0=f(0+0+2)+0=f(2)=2,p0,1=f(0+1+2)+0=f(3)=3.
Shift matrix B can be written as follows: B=[23].p can flexibly select any value greater than the maximal Fibonacci value and p is identified as shift. The maximal value in the matrix is +2 and p=5, and according to the definition of cyclic permutation, one has
(14)H10,1,2=I(p0,0)I(p0,1)=00100000100001000001000011000010000010000100000100.


## 3.2. The Design of QC-LDPC Codes with Dayan Integer Sequence

Definition 2 (see [18]).
For an arrayf(n), when n is a nonnegative integer and an odd number, one has
(15)fn=n×n-12,
and when n is an even number, one has
(16)fn=n×n2.
The sequence that satisfied the recurrence relation is known as Dayan integer sequence, and its element is the item of Dayan integer sequence. A typical Dayan integer sequence is as follows: 0,2,4,8,12,18,24,32,40,50,….In a Dayan integer sequence, the new sequence formed by Dayan integer sequence items of numbers with the same item number difference shows monotone increasing. Besides, QC-LDPC constructed by Dayan integer sequence can remove girth 4, and the verification process is shown in Literature [19]. In accordance with check matrix in (7), the shift equation of cyclic permutation matrix at row j and line l is
(17)pj,l=fj+l+l+j.
For example, to construct a check matrix H(30,1,2), each item of corresponding shift matrix B(1,2) is as follows:
(18)p0,0=f(1+1+1)+1=f(3)+1=3×3-12+1=4+1=5,p0,1=f(1+2+2)+1=f(5)+1=5×5-12+1=12+1=13.
The form to the shift matrix is B1,2=[513].


## 3.3. QC-LDPC Constructed by Differential Sequence

Definition 3 (see [20]).
Leth0,h1,h2,…,hn,….As a digital sequence, thus, we define a new sequenceΔh0,Δh1,Δh2,…,Δhn,…, known as first-order difference sequence, where
(19)Δhn=hn+1-hn,n≥0.
In (20), each item of the difference sequence is the difference value of adjacent items in sequence (19). After the construction of difference sequence (20), the second-order difference sequence can be easily obtained:
(20)Δ2h0,Δ2h1,Δ2h2,…,Δ2hn,….
Hence, one has
(21)Δ2hn=Δ(Δhn)=Δhn+1-Δhn=(hn+2-hn+1)-(hn+1-hn)=hn+2-2hn+1+hnn≥0,
where Δmhn=Δ(Δm-1hn).Hence,m-order differential sequence is the first-order differential sequence of m-1-order differential sequence. We define the zero-order differential sequence as the digital sequence, as Δ0hn=hn, (n≥0). Assume (3,k) QC-LDPC codes, known as DS-LDPC codes. The check matrix of this kind of codes consisted of zero-, first-, and second-order differential sequences generated by the quadratic polynomial. The design process of check matrix is shown in the literature [21].


## 3.4. QC-LDPC Constructed by Hoey Sequence

Definition 4 (see [22]).
In a Hoey sequence,hi shows monotone increasing and meets the minimal nonnegative integer sequence with the sum of the two being different.Fori=0,1,…,49, the top 50 elements of hi are
(22)0,1,3,7,12,20,30,44,65,80,96,122,147,181,203,251,289,360,400,474,564,661,774,821,915,969,1015,1158,1311,1394,1522,1571,1820,2028,2253,2509,2779,2924,3154,3353,3590,3796,3997,4296,4432,4778,4850.
Let the form of shift matrix B of QC-LDPC codes be as follows:
(23)B=h0h1⋯hL-100⋯0.
Elements in the first row of shift matrix B are derived from top L elements in Hoey sequence and each element in the second row is 0. Shift matrix B is a 2×L matrix, and the corresponding check matrix H is a 2×L array formed by p×p cyclic permutation matrix, where p>max⁡0≤i≤L-1{hi} and the null space of H presents a (2,L) regular QC-LDPC code with the length of pL and the code rate of at least (pL-2p+1)/pL. The check matrix constructed by Hoey sequence does not include girth 4, which was verified by the literature [23]. With the example of the minimum matrix, due to the fixed pattern of base matrix of Hoey sequence, we obtain (23).Thus, the minimal matrix is2*4 matrix. Consider
(24)B=01370000.


## 4. Simulation Results

In this section, we select the(3,6) Fibonacci array with code rate R=1/2 and a length of 354 to construct QC-LDPC codes (p=59), as well as the (5,10) Fibonacci with the length of 9970 to construct QC-LDPC codes (p=997), which were compared with array LDPC codes [24] with the same length in the Gaussian white noise channel. The maximum number of iterations is 50.As can be seen from Figure2, performance of QC-LDPC codes constructed by Fibonacci with the length of 354 is better than that of array LDPC codes. When BER = 4 × 10−6, the performance of Fibonacci-constructed QC-LDPC codes is improved by about 1.6 dB compared to the performance of array LDPC codes. The QC-LDPC codes constructed by Fibonacci with the length of 9970 are superior to array LDPC codes with the same parameters.Figure 2
The curves of Fibonacci-constructed QC-LDPC and QC-LDPC codes BER (bit error rate) constructed by array sequence.For the simulation of QC-LDPC code constructed by differential sequence, a quadratic polynomialhn=2n2+3n+1 is found by the search algorithm. As max0≤i≤5,j∈{0,1,2}{Δjhi}=66, p=67, and a 67 × 67 cyclic permutation matrix formed 3 × 6 array H. H matrix is a 201 × 402 matrix. The column weight is 3 and the row weight is 6. In order to facilitate the comparison, the PEG algorithm [25] is used to construct the pseudorandom (402, 201) PEG codes. Besides, the random (402, 201) MacKay codes (see [26]) and a (402, 203) array codes are constructed (see [27]), and the performance is compared as in Figure 3.Figure 3
The BER curve comparison between QC-LDPC constructed by differential sequences, Mackay, PEG algorithm, and array codes.As can be seen from Figure3, at BER = 10−5, Mackay codes began to show platform, whereas DS-LDPC codes did not show platform at BER = 10−7. At BER = 10−5, DS-LDPC codes comparing with Mackay codes and array codes, there are about 0.7 dB and 2.0 dB coding gain. The performance of differential sequence is better than that of MacKay, PEG algorithm, and array codes in the condition of the same parameters.With the performance simulation of QC-LDPC codes constructed by Hoey sequence, letL=12 and p=123, and a 2 × 12 shift matrix can be constructed to make a 2 × 12 array H constructed by a 123 × 123 cyclic permutation matrix. H is a 246 × 1476 matrix, with the column weight and row weight of 2 and 12, respectively. Its null space provides (1476,1231) binary QC-LDPC codes with the code rate of 0.83. The performance comparison and analysis of (1476,1231) pseudorandom PEG codes and the (1476,1231) array codes are as in Figure 4.Figure 4
The BER curve comparison of QC-LDPC constructed by Hoey sequence, PEG algorithm codes, and array codes.As can be seen from Figure4, at BER = 10−5, Hoey code compared with array code improves about 1.1 dB coding gain. The performance of QC-LDPC codes constructed by Hoey sequence is better than that of the QC-LDPC codes constructed by PEG algorithm and that of QC-LDPC codes constructed by array code in the condition of the same parameters.QC-LDPC constructed by four different integer sequences, respectively, is used in the code cooperative communication system. The system model is shown in Figure1. Assume the channel is a Rayleigh channel, and the relevant parameters are shown in Table 1.Table 1
The parameters of Figure5.
Coding type
Source node length
Code rate
Relay length
Mackey
5098
0.5
5098
Dayan
5568
0.5
5568
Hoey
4930
0.1174
4570
Difference
4068
0.5
4068
Fibonacci
5664
0.5
5310Figure5 shows that the BER performance of the Mackey code which is random configuration method is inferior to the structured LDPC code. When the length of Mackey code is longer, its generating matrix and parity check matrix are more complex. Integer sequence constructed QC-LDPC codes are structural characteristics and effectively avoid the parity check matrix of the short loop. The results show that the performance of Dayan constructed QC-LDPC code is the most outstanding one.Figure 5
The BER performance comparison curve of QC-LDPC constructed by four different integer sequences and Mackey code in the code cooperative communication system.


## 5. Conclusions

In this paper, four different integer sequences were introduced and compared. The design of QC-LDPC constructed by four different sequences was used in the coded cooperative communication. Through the theoretical analysis and simulation results, it can be seen that the application of QC-LDPC codes constructed by integer sequence in the cooperative communication system is effective. Besides, the coding structure is simple and the overall performance is better than that of the other types of LDPC codes. Moreover, QC-LDPC constructed by Dayan integer sequence presents the best performance.



---

*Source: 649814-2015-02-09.xml*