Skip to main content
Top
Published in: EURASIP Journal on Wireless Communications and Networking 1/2019

Open Access 01-12-2019 | Research

A construction of the high-rate regular quasi-cyclic LDPC codes

Authors: Qi Meng, Jia Xiang Zhao, Wei Xu, Liang Li

Published in: EURASIP Journal on Wireless Communications and Networking | Issue 1/2019

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

In this paper, a scheme to construct the high-rate regular quasi-cyclic low-density parity-check (QC-LDPC) codes is developed based on the finite geometry low-density parity-check (LDPC) codes. To achieve this, we first decompose the EG-LDPC code into a set of the block submatrices with each of them being cyclic. Utilizing the decomposed structure, we then construct an auxiliary matrix to facilitate us for identifying and eliminating 6-cycles of the block submatrices. In the simulation, seven regular QC-LDPC codes with code rates being 4/5, 7/8, 10/11, 11/12, and 12/13 of moderate code lengths are constructed with this scheme. The performances of these codes demonstrate the effectiveness of the proposed scheme.
Notes

Authors’ information

QM is a graduate student at the College of Electronic Information and Optical Engineering at Nankai University. His research interests include digital signal processing and error control coding.
JXZ is a professor at the College of Electronic Information and Optical Engineering at Nankai University. His research interests include biological signal processing, high-speed digital transmission algorithm, and error control coding.
WX is a professor at Tianjin Polytechnic University. Her research interests include digital signal processing and error control coding.
LL is serving as a communications engineer in IP Technology Research Department at Huawei Technologies Co., Ltd.
Abbreviations
BER
Bit error rate
CDFs
Cyclic difference families
EG-LDPC
Euclidian geometry low-density parity-check
FER
Frame error rate
FG-LDPC
Finite geometry low-density parity-check
LDPC
Low-density parity-check
PG-LDPC
Projective geometry low-density parity-check
QC-LDPC
Quasi-cyclic low-density parity-check

1 Introduction

Low-density parity-check (LDPC) codes [1], which is one of the main error-correcting codes, has been widely used in various practical applications [2, 3]. However, the high-rate regular QC-LDPC codes which are prone to the hardware implementation [4] and particularly suited for many practical applications can be constructed only for very restricted code parameters, such as code rate and code length. This is primarily due to the fact that for a given code length, especially short or moderate code lengths, the parity-check matrices of high-rate codes are far more dense than those of low-rate codes, which could lead to making more short cycles. Therefore, it is imperative to research on the schemes that offer a flexibly choosing the code rate and length of the high-rate regular QC-LDPC codes.
Although both QC-LDPC and turbo codes [5, 6] are capable of achieving the near Shannon limit performances, the QC-LDPC codes in general are easier to implement in practices [7, 8]. For this reason, many schemes have been developed for designing regular QC-LDPC codes, such as FG-LDPC codes [9, 10] and LDPC codes of combinatorial designs [11]. These schemes are also employed in constructing the high-rate regular QC-LDPC codes [12, 13].
However, the high-rate regular QC-LDPC codes constructing from the above schemes usually have very restricted code parameters. That is, for a given coding rate, the above schemes only offer extremely limited choices of the code length. Some examples of these are the class-I circulant EG-LDPC codes [9, 12] and cyclic difference families (CDFs) [14].
In this paper, we utilize the construction of the FG-LDPC codes [9, 10] to develop a scheme for designing the high-rate regular QC-LDPC codes. The designing procedure proceeds as follows: We first decompose the EG-LDPC or PG-LDPC code into a set of the block submatrices with each of them being cyclic. We then construct a φ transformation which acts on the first line of the obtained block submatrices to yield an auxiliary matrix \(\mathcal {T}\left (\hat {\mathbf {h}}\right)\) for identifying and cancelling 6-cycles of the block submatrices. In the simulation, we use this scheme to construct four regular QC-LDPC codes with the code rates being 11/12 and 12/13 which have the code lengths 7560, 1092 and 4095, 8190, respectively. Furthermore, we also employ the same scheme to construct three regular QC-LDPC codes with code rates being 4/5, 7/8, and 10/11 whose lengths are 2925, 7280, and 6930. The performances of these codes demonstrate the effectiveness of the proposed scheme.

2 A review of cyclic finite geometry LDPC codes

This section gives a brief review of FG-LDPC codes and introduces some definitions as well as notations that are used throughout the rest of the paper.
An m-dimensional finite Euclidean geometry over the field GF(2s) with m and s being the two positive integers, denoted EG(m,2s), is a set of 2sm-tuples (a0,a1,⋯,am−1) where ai∈GF(2s) for each i=0,1,…,m−1.
Defining the entry-wise addition and multiplication for m-tuples of EG(m,2s), the set EG(m,2s) forms a vector space over GF(2s). There are 2ms points in EG(m,2s). Therefore, let α be a primitive element of EG(m,2s). All the elements of EG(m,2s) can be represented as the power of α, i.e., \(0=\alpha ^{-\infty }\,,\,1=\alpha ^{0}\,,\,\alpha \,,\,\ldots \,,\,\alpha ^{2^{ms}-2}\). For any point α∈EG(m,2s) and any nonorigin point β∈EG(m,2s), the line Lα(β) through α parallel to β comprised of 2s points is:
$$\begin{array}{@{}rcl@{}} L_{\alpha}(\beta)&=&\left\{\alpha+a\beta|a\in \text{GF}\left(2^{s}\right)\right\}\,. \end{array} $$
(1)
Thus, there are:
$$\begin{array}{@{}rcl@{}} \frac{2^{(m-1)s}(2^{ms}-1)}{2^{s}-1}\, \end{array} $$
(2)
lines in EG(m,2s). Any line of EG(m,2s) has 2(m−1)s lines parallel to it. Every point in EG(m,2s) has:
$$\begin{array}{@{}rcl@{}} \frac{2^{ms}-1}{2^{s}-1} \end{array} $$
(3)
lines passing through it. The lines of EG(m,2s) can be partitioned into k cosets where any two lines of EG(m,2s) belong to the same coset if and only if they are parallel to each other.
Recall that α is a primitive element of EG(m,2s). The parity-check matrix HEG of the Euclidean geometry code is a k×(2ms−1) matrix whose columns correspond to the ordered \(1=\alpha ^{0}\,,\,\alpha \,,\,\ldots \,,\,\alpha ^{2^{ms}-2}\phantom {\dot {i}\!}\). The rows of HEG correspond to the cosets in EG(m,2s) which do not contain the lines passing through the origin. That is, the (i,j) entry in HEG is equal to 1 if the ith coset contains a line passing the jth point, and is equal to 0 otherwise.

3 Construction method

In this section, we proceed with the procedure of the construction of the high-rate regular (QC-LDPC) codes through the following three steps: (1) Construct an n×n EG code and transform it into a proper form. (2) Utilize the transformed EG code matrix to construct an auxiliary matrix for identifying 6-cycles of it. (3) Eliminate the 6-cycles.

3.1 Decomposition of EG code matrix

Following [9], we can construct a n×n Euclidean geometry code W over the field EG(m=2,2s), where n=2ms−1. The constructed matrix W which is cyclic can be expressed by its first row w=(ω0,ω1,…,ωn−1) as:
$$\begin{array}{@{}rcl@{}} \mathbf{W} &=& \left[ \begin{array}{cccc} \omega_{0} & \omega_{1} & \cdots & \omega_{n-1}\\ \omega_{n-1} & \omega_{0} & \cdots & \omega_{n-2}\\ \vdots & \vdots & \ddots & \vdots\\ \omega_{1} & \omega_{2} & \cdots & \omega_{0}\\ \end{array} \right]_{n\times n}\,. \end{array} $$
(4)
For simplicity, we define an operation Ψ to represent:
$$\begin{array}{@{}rcl@{}} \mathbf{W} = \mathrm{\Psi}(\mathbf{w}), \end{array} $$
(5)
which implies that each row of the cyclic matrix W has the identical weight.
We assume that the positive integer n can be factored as n=c×b where b≠1 and c≠1 are positive integers with b being odd throughout the rest of this paper. Define the subset:
$$\begin{array}{@{}rcl@{}} \pi^{(0)} &=& \{0\,,c\,,2c\,,\ldots,(b-1)c\}\,. \end{array} $$
(6)
Thus, the set \(\mathcal {L}=\{0\,,1\,,2\,,\ldots \,,c \cdot b-1 \}\) can be partitioned into:
$$\begin{array}{@{}rcl@{}} \left\{\pi^{(0)}\,,\pi^{(0)}+1\,,\ldots\,,\pi^{(0)}+c-1\right\}, \end{array} $$
(7)
where we define π(0)+i={i,c+i,2c+i,…,(b−1)c+i} for i=0,1,…,c−1. We use π to denote the partition of the indices in \(\mathcal {L}\) defined in (7) for the rest of this paper. Using this partitioning, we obtain a b×n quasi-cyclic matrix Hqc as:
$$\begin{array}{@{}rcl@{}} \mathbf{H}_{\text{qc}}\triangleq[\mathrm{\Psi}(\mathbf{w}_{0})\,,\mathrm{\Psi}(\mathbf{w}_{1})\,,\ldots\,,\mathrm{\Psi}(\mathbf{w}_{c-1})]_{b \times n}\,. \end{array} $$
(8)
Let ri represent the row weight of Ψ(wi) for i=0,1,2,…,c−1 respectively. Choosing a positive integer 1≤λ< maxi=0,1,…,c−1{ri}, we eliminate all the Ψ(wk) (0≤kc−1) whose row weights are less than λ from the set:
$$\begin{array}{@{}rcl@{}} \{\mathrm{\Psi}(\mathbf{w}_{0}), \mathrm{\Psi}(\mathbf{w}_{1}), \ldots, \mathrm{\Psi}(\mathbf{w}_{c-1})\}\,. \end{array} $$
(9)
The resulting subset comprised of Ψ(wi)’s in (9) whose row weights are greater than or equal to λ is therefore represented as:
$$\begin{array}{@{}rcl@{}} \left\{\mathrm{\Psi}(\mathbf{w}_{i_{0}}),\mathrm{\Psi}(\mathbf{w}_{i_{1}}),\ldots,\mathrm{\Psi}\left(\mathbf{w}_{i_{k_{1}-1}}\right)\right\}\,. \end{array} $$
(10)
It follows \(r_{i_{k}} \geq \lambda \) for 0≤kk1−1. Since the row weight of Hqc defined in (8) is 2s, we choose the parameter λ satisfying c<2s/λ that ensures the subset (10) is not a null set.
We define a b×bk1 matrix Hqc′ as:
$$\begin{array}{@{}rcl@{}} \mathbf{H}_{\text{qc}}'&=&[\mathrm{\Psi}(\mathbf{w}_{i_{0}}), \mathrm{\Psi}(\mathbf{w}_{i_{1}}), \ldots, \mathrm{\Psi}(\mathbf{w}_{i_{k_{1}-1}})]\,. \end{array} $$
(11)

3.2 Identifying the 6-cycles

In this section, we develop a procedure to eliminate 6-cycles in (11). For this purpose, without loss generality, we assume that we are given:
$$ \mathbf{H}_{\text{qc}}' = [\mathrm{\Psi}(\mathbf{v}_{0}), \mathrm{\Psi}(\mathbf{v}_{1}), \ldots, \mathrm{\Psi}(\mathbf{v}_{k-1})], $$
(12)
where the row weight ri of Ψ(vi) for each i satisfying 0≤ik−1 is at least λ which is described in the previous section. The vector vi with 0≤ik−1 is:
$$ \mathbf{v}_{i} = \left(\nu_{0}^{i}, \nu_{1}^{i}, \ldots, \nu_{b-1}^{i}\right)\,. $$
(13)
The first row of (12) is therefore equal to:
$$ \mathbf{h} = [\mathbf{v}_{0}, \mathbf{v}_{1}, \ldots, \mathbf{v}_{k-1}] \,. $$
(14)
In order to eliminate 6-cycles, we transform matrix (12) into a new matrix of form (17). This leads us to introduce the operation φ which is defined as:
$$ \varphi(\mathbf{v}_{i})= \left(\nu_{\frac{b-1}{2}+1}^{i}\,,\ldots, \nu_{b-1}^{i}, \nu_{0}^{i}, \nu_{1}^{i}, \ldots, \nu_{\frac{b-1}{2}}^{i}\right)\,. $$
(15)
Therefore, we transform (14) into:
$$ \hat{\mathbf{h}} = [\varphi(\mathbf{v}_{0})\,,\varphi(\mathbf{v}_{1})\,,\ldots\,,\varphi(\mathbf{v}_{k-1})]\,. $$
(16)
The transformation \(\mathcal {T}\) maps \(\hat {\mathbf {h}}\) in (16) to a b×(kb+b−1) matrix is defined as:
$$ \begin{array}{ll} &\mathcal{T}(\hat{\mathbf{h}}) = \left[ \begin{array}{cccccc} \varphi(\mathbf{v}_{0}) & \varphi(\mathbf{v}_{1}) & \cdots & \varphi(\mathbf{v}_{k-1}) & 0 & \mathbf{0}_{1 \times (b-2)}\\ 0 & \varphi(\mathbf{v}_{0}) & \varphi(\mathbf{v}_{1}) & \cdots & \varphi(\mathbf{v}_{k-1}) & \mathbf{0}_{1 \times (b-2)}\\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\ 0 & \mathbf{0}_{1 \times (b-2)} & \varphi(\mathbf{v}_{0}) & \varphi(\mathbf{v}_{1}) & \cdots & \varphi(\mathbf{v}_{k-1}) \\ \end{array} \right]_{b \times kb}\\ &= \left[ \begin{array}{cccccccccccccc} \nu_{\frac{b-1}{2}+1}^{0} & \cdots & \nu_{0}^{0} & \cdots & \nu_{\frac{b-1}{2}}^{0} & \nu_{\frac{b-1}{2}+1}^{1} & \cdots & \nu_{\frac{b-1}{2}}^{1} & \cdots & \nu_{\frac{b-1}{2}}^{k-1} & 0 & 0 & \cdots & 0 \\ 0 & \nu_{\frac{b-1}{2}+1}^{0} & \cdots & \nu_{0}^{0} & \cdots & \nu_{\frac{b-1}{2}}^{0} & \nu_{\frac{b-1}{2}+1}^{1} & \cdots & \nu_{\frac{b-1}{2}}^{1} & \cdots & \nu_{\frac{b-1}{2}}^{k-1} & 0 &\cdots & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots &\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\ 0 & 0 & \cdots & 0 &\nu_{\frac{b-1}{2}+1}^{0} & \cdots & \nu_{0}^{0} & \cdots & \nu_{\frac{b-1}{2}}^{0} & \nu_{\frac{b-1}{2}+1}^{1} & \cdots & \nu_{\frac{b-1}{2}}^{1} & \cdots & \nu_{\frac{b-1}{2}}^{k-1}\\ \end{array} \right] \end{array} $$
(17)
Examing (17), we see that the first row of \(\mathcal {T}(\hat {\mathbf {h}})\) is obtained through adding b−1 zeros to the end of the vector \(\hat {\mathbf {h}}\). Each of the rest rows of \(\mathcal {T}(\hat {\mathbf {h}})\) is the circular shift of the row above it.
The set \(L(\hat {\mathbf {h}})\) comprised of the indices corresponding to the nonzero entries of \(\hat {\mathbf {h}}\) in (16) is defined as:
$$ L(\hat{\mathbf{h}}) = \{p_{0}, p_{1}, \ldots, p_{\rho-1}\}, $$
(18)
where we have \(\rho = \sum \limits _{i=0}^{k-1}r_{i}\) with ri representing the row weight of Ψ(vi). We define an oblique line segment \(l_{p_{i}}\) which starts from pi and forms a descending diagonal from left to right in \(\mathcal {T}(\hat {\mathbf {h}})\),i.e., \(l_{p_{i}}\) constituting of the set of the entries of \(\mathcal {T}(\hat {\mathbf {h}})\) as follows:
$$ l_{p_{i}} = \left\{\mathcal{T}(\hat{\mathbf{h}})_{1,p_{i}}, \mathcal{T}(\hat{\mathbf{h}})_{2,p_{i}+1}, \ldots, \mathcal{T}(\hat{\mathbf{h}})_{b,p_{i}+b-1}\right\}\,. $$
(19)
Clearly, from the definition, the total number of the oblique line segments of the form (19) is ρ. Thus, the set of all the oblique line segments is:
$$ \left\{l_{p_{0}}\,,l_{p_{1}}\,,\ldots\,,l_{p_{\rho-1}}\right\}\,. $$
(20)
We define the distance between two oblique lines as:
$$ |l_{p_{i_{0}}}-l_{p_{i_{1}}}| = |p_{i_{0}}-p_{i_{1}}|\,. $$
(21)
From [15], it follows that the possible of 6-cycles appeared in a parity-check matrix is one of the following forms shown in Fig. 1.
Case 1: Assume that 6-cycle is comprised of three oblique line segments from (20). Therefore, from (20), the total number of subsets comprised of three oblique line segments is \(\dbinom {\rho }{3}\). For each subset comprised of three oblique line segments \(\left \{l_{p_{i_{0}}}, l_{p_{i_{1}}}, l_{p_{i_{2}}}\right \}\) from (20), we employ (21) to compute:
$$\begin{array}{@{}rcl@{}} \left\{ \begin{aligned} d_{0} &=|p_{i_{1}}-p_{i_{0}}| \\ d_{1} &=|p_{i_{2}}-p_{i_{1}}| \,.\\ \end{aligned} \right. \end{array} $$
(22)
If \({d_{0}\over {d_{1}}}\) is not equal to either \(1\over {2}\) or 2, then we delete such a subset comprised of these three oblique line segments. The remaining subsets constitute Ω3 which can be represented as:
$$ \mathrm{\Omega}_{3} = \left\{ \left\{l_{p_{i_{0}}}, l_{p_{i_{1}}}, l_{p_{i_{2}}}\right\}, \left\{l_{p_{i_{3}}}, l_{p_{i_{4}}}, l_{p_{i_{5}}}\right\}, \ldots\right\}\,. $$
(23)
Clearly, each subset of three oblique line segments \(\{l_{p_{i_{j}}}, l_{p_{i_{j+1}}}, l_{p_{i_{j+2}}}\}\) in Ω3 satisfies:
$$ {|l_{p_{i_{j+1}}}-l_{p_{i_{j}}}|\over{|l_{p_{i_{j+2}}}-l_{p_{i_{j+1}}}}|}={|p_{i_{j+1}}-p_{i_{j}}|\over{|p_{i_{j+2}}-p_{i_{j+1}}|}}={1\over{2}}\,\,\,\,\rm{or}\,\,\,2\,. $$
(24)
Figure 2 shows that 6-cycles are constituted by three oblique lines.
Case 2: Assume that 6-cycle is comprised of four oblique line segments from (20). Therefore, from (20), the total number of subsets comprised of four oblique line segments is \(\dbinom {\rho }{4}\). For each subset comprised of four oblique line segments \(\{l_{p_{i_{0}}}, l_{p_{i_{1}}}, l_{p_{i_{2}}}, l_{p_{i_{3}}}\}\) from (20), we employ (21) to compute:
$$\begin{array}{@{}rcl@{}} \left\{ \begin{aligned} d_{0} &=|p_{i_{1}}-p_{i_{0}}| \\ d_{1} &=|p_{i_{2}}-p_{i_{1}}| \\ d_{2} &=|p_{i_{3}}-p_{i_{2}}| \,.\\ \end{aligned} \right. \end{array} $$
(25)
If the computed distance d0,d1, and d2 are not satisfied to any of these equations listed in the following set:
$$\begin{array}{@{}rcl@{}} \begin{array}{cc} &\left\{ \begin{array}{lll} d_{0} = d_{1}+d_{2}, & d_{1} = d_{0}+d_{2}, & d_{2} = d_{0}+d_{1}, \\ d_{0} = 2d_{2}, & d_{2} = 2d_{0}, & d_{0} = d_{1}+2d_{2}, \\ d_{2} = 2d_{0}+d_{1}\,,& d_{0} = d_{1}, & d_{1} = d_{2} \\ \end{array} \right\}, \end{array} \end{array} $$
(26)
then we delete such a subset comprised of these four oblique line segments. The remaining subsets constitute Ω4 which can be represented as:
$$ \mathrm{\Omega}_{4} = \left\{ \left\{l_{p_{i_{0}}}, l_{p_{i_{1}}}, l_{p_{i_{2}}}, l_{p_{i_{3}}}\right\}, \left\{l_{p_{i_{4}}}, l_{p_{i_{5}}}, l_{p_{i_{6}}}, l_{p_{i_{7}}}\right\}, \ldots\right\}\,. $$
(27)
Figure 3 shows that 6-cycles are constituted by four oblique line segments.
Case 3: Assume that 6-cycle is comprised of five oblique line segments from (20). Therefore, from (20), the total number of subsets comprised of five oblique line segments is \(\dbinom {\rho }{5}\). For each subset comprised of five oblique line segments \(\{l_{p_{i_{0}}}, l_{p_{i_{1}}}, l_{p_{i_{2}}}, l_{p_{i_{3}}}, l_{p_{i_{4}}}\}\) from (20), we employ (21) to compute:
$$\begin{array}{@{}rcl@{}} \left\{ \begin{aligned} d_{0} &=|p_{i_{1}}-p_{i_{0}}| \\ d_{1} &=|p_{i_{2}}-p_{i_{1}}| \\ d_{2} &=|p_{i_{3}}-p_{i_{2}}| \\ d_{3} &=|p_{i_{4}}-p_{i_{3}}|\,. \\ \end{aligned} \right. \end{array} $$
(28)
If the computed distance d0,d1,d2, and d3 are not satisfied to any of these equations listed in the following set:
$$\begin{array}{*{20}l} \begin{array}{cc} &\left\{ \begin{array}{lll} d_{0} = d_{1}+d_{3}, & d_{3} = d_{0}+d_{1}, & d_{0} = 2d_{2}+d_{3}, \\ d_{1} = d_{0}+d_{3}, & d_{0} = d_{2}+d_{3}, & d_{0} = d_{2}+2d_{3}, \\ d_{2} = d_{0}+d_{3}, & d_{0} = d_{1}+2d_{2}+d_{3}, & d_{3} = 2d_{0}+d_{1}, \\ d_{3} = d_{0}+d_{2}, & d_{3} = d_{0}+2d_{1}+d_{2}, & d_{3} = d_{0}+2d_{1} \\ \end{array} \right\}, \end{array} \end{array} $$
(29)
then we delete such a subset of these five oblique line segments. The remaining subsets constitute Ω5 which can be represented as:
$$ \mathrm{\Omega}_{5} \,=\, \left\{ \left\{l_{p_{i_{0}}}, l_{p_{i_{1}}}, l_{p_{i_{2}}}, l_{p_{i_{3}}}, l_{p_{i_{4}}}\!\right\},\! \left\{l_{p_{i_{5}}}, l_{p_{i_{6}}}, l_{p_{i_{7}}}, l_{p_{i_{8}}}, l_{p_{i_{9}}}\!\right\}, \ldots\right\}\!. $$
(30)
Figure 4 shows that 6-cycles are constituted by five oblique line segments.

3.3 Eliminating 6-cycles

In the following, we proceed with the procedure to eliminate 6-cycles.
Step 1: Construct Γ which is defined as:
$$ \mathrm{\Gamma} = \mathrm{\Omega}_{3} \cup \mathrm{\Omega}_{4} \cup \mathrm{\Omega}_{5}, $$
(31)
where Ω3, Ω4, and Ω5 are defined by (23), (27), and (30), respectively.
Step 2: Find the oblique line segment \(l_{p_{i_{0}}}\) that appears in the maximal number subsets of Γ. Delete all the subsets of Γ containing this oblique line segment \(l_{p_{i_{0}}}\) and collect all the remaining subsets of Γ to form an new subset Γ1. Repeat this process on the subset Γ1 to obtain \(l_{p_{i_{1}}}\) and Γ2. We continue this process till Γk for k being some positive integer becomes a null set. In this process, we also obtain an ordered set of oblique line segments which is:
$$ \mathrm{\Omega}_{\text{order}} = \left\{l_{p_{i_{0}}}, l_{p_{i_{1}}}, l_{p_{i_{2}}}\, \ldots\, l_{p_{i_{k-1}}}\right\}\,. $$
(32)
Step 3: In view of (12), we construct k subsets Q0,Q1,…,Qk−1 with Qj for 0≤jk−1 being comprised of the oblique line segments \(l_{p_{i_{j}}}\) in Ωorder satisfying:
$$ \lfloor p_{i_{j}}/b\rfloor =j, $$
(33)
where ⌊·⌋ denotes the rounding down operation. Recall that rj for 0≤jk−1 is the row weight of Ψ(vj) in (12) and λ is the pre-chosen positive integer introduced above Eq. (9). If there are more than (rjλ) oblique line segments of Ωorder satisfy (33), then only the first (rjλ) oblique line segments appeared in the ordered set Ωorder are chosen to form Qj. If there are less than (rjλ) oblique line segments of Ωorder satisfy (33), we arbitrarily choose oblique line segments satisfying (33) from (20) that do not belong to Ωorder.
Thus, Qj for 0≤jk−1 has the size of (rjλ). We define 1×b vector sj:
$$\begin{array}{@{}rcl@{}} \mathbf{s}_{j}&=&[s_{j,0}\,,\,\ldots, s_{j,b-1}]\,\, \text{with}\,\, s_{j,i}= \left\{ \begin{aligned} &1\,\,\,\text{if}\ \, l_{(i+jb)} \in Q_{j}\,\,\\ &0\,\,\,\text{otherwise}\, \end{aligned}\right.\,. \end{array} $$
(34)
For each sj, we utilize the inverse of the map φ defined in (15) to yield a b×b matrix Sj as follows:
$$ S_{j} = \mathrm{\Psi}\left(\varphi^{-1}(\mathbf{s}_{j})\right), $$
(35)
where the operation Ψ is defined in (5). Thus, the quasi-cyclic matrix S
$$ \mathbf{S} = [S_{0}, S_{1}, \ldots, S_{k-1}]\,. $$
(36)
In view of Hqc′ and S defined in (12) and (36), respectively, the quasi-cyclic encoding parity-check matrix \(\mathbf {H}_{\text {qc}}^{(1)}\) is therefore equal to:
$$\begin{array}{@{}rcl@{}} \mathbf{H}_{\text{qc}}^{(1)} = \mathbf{H}_{\text{qc}}' \oplus \mathbf{S}\,. \end{array} $$
(37)
The operator ⊕ in (37) is defined as the entry-wise XOR operations of matrices Hqc′ and S. From the construction procedure from (12) to (37), it follows that matrix \(\mathbf {H}_{\text {qc}}^{(1)}\) is regular and quasi-cyclic with its column and row weight being λ and kλ, respectively.

3.4 Another regular quasi-cyclic parity-check matrix

Substituting \(\mathbf {H}_{\text {qc}}^{(1)}\) for Hqc′ and proceeding the procedure from (12) to (36) with λ=0, we can get a new S(1) from (36). Then, we can construct another regular quasi-cyclic parity-check matrix \(\mathbf {H}_{\text {qc}}^{(2)}\) as follows:
$$ \mathbf{H}_{\text{qc}}^{(2)}=\left[ \begin{array}{cc} \mathbf{H}_{\text{qc}}^{(1)} \oplus \mathbf{S}^{(1)} & \mathbf{S}^{(1)}\\ \mathbf{S}^{(1)} &{H}_{\text{qc}}^{(1)} \oplus \mathbf{S}^{(1)}\\ \end{array} \right]\,. $$
(38)
\(\mathbf {H}_{\text {qc}}^{(2)}\) and \(\mathbf {H}_{\text {qc}}^{(1)}\) have the same row and column weight.

4 Result and discussion

In example 1 of this section, we utilize the procedure from (4) to (37) to construct a regular quasi-cyclic (4095,3781) LDPC code as well as (38) to construct regular quasi-cyclic (7560,6931) and (8190,7561) LDPC codes where the coding rates of all these three codes are 12/13.
In example 2, we utilize the procedure from (4) to (37) to construct a regular quasi-cyclic (2925,2341) LDPC code and a regular quasi-cyclic (4095,3781) LDPC code where the coding rates of all these two codes are 4/5 and 11/12, respectively.
In example 3 and example 4, the procedure of (4)–(38) is also employed to separately construct a regular quasi-cyclic (6930,6301) LDPC code and a regular quasi-cyclic (7280,6370) LDPC code with the coding rate 10/11 and 7/8, respectively. As a comparison of the performance, we also utilize the schemes from [1618] to construct six (4095,3771), (4095,3729), (16383,14923), (8176,7156), (1020,935), and (2850,2280) QC-LDPC codes. The simulation results in the following examples show that the procedure from (4) to (38) is an effective scheme to yield the high-rate regular QC-LDPC codes with moderate code lengths.
Example 1: Following the scheme of [9], we first construct a regular (4095,3367) EG-LDPC code over the field EG(2,26). Since we have 4095=c×b with c=13 and b=315, the procedure from (4) to (8) suggests that the parity-check matrix of the constructed (4095,3367) EG-LDPC code can be decomposed into 13 submatrices of size b×b shown in (8). Of the 13 submatrices of size b×b, choose the parameter λ=4 to perform (9) to (11) where parameter λ is introduced above Eq. (9). Then, we select the first k=13 submatrices and perform (12) to (37) and (38) separately which yields a regular quasi-cyclic 315×4095 parity-check matrix \(\mathbf {H}_{\text {qc}}^{(1)}\) defined in (37) as well as a 630×8190 parity-check matrix \(\mathbf {H}_{\text {qc}}^{(2)}\) defined in (38) respectively. The null spaces of \(\mathbf {H}_{\mathrm { qc}}^{(1)}\) and \(\mathbf {H}_{\text {qc}}^{(2)}\) render a regular quasi-cyclic (4095,3781) LDPC code as well as a (8190,7561) LDPC code with the coding rate 12/13. Similarily, we also choose the first k=12 submatrices and perform (12) to (38) which yields a regular quasi-cyclic 630×7560 parity-check matrix \(\mathbf {H}_{\text {qc}}^{(2)}\) defined in (38). The null space of this \(\mathbf {H}_{\text {qc}}^{(2)}\) also renders a regular quasi-cyclic (7560,6931) LDPC code with the coding rate 11/12. As a comparison, we also employ the procedure of [16] to construct the (4095,3771) QC-LDPC code with the coding rate being 0.92.
Figure 5 shows the performances of these codes where it (a) represents the bit error rate (BER) and (b) depicts the frame error rate (FER). In these figures, the circle, box, and diamond solid lines respectively represent the performances of the regular quasi-cyclic (4095,3781), (7560,6931), and (8190,5161) LDPC codes. The star dotted line corresponds to the performance of the (4095,3771) QC-LDPC code generated by [16].
Example 2: Following the scheme of [9], we first construct a regular (4095,3367) EG-LDPC code over the field EG(2,26). Since we have 4095=c×b with c=7, b=585, and c=45, b=91, the procedure from (4) to (8) suggests that the parity-check matrix of the constructed (4095,3367) EG-LDPC code can be decomposed into 7 and 45 submatrices of size b×b shown in (8). Of 7 and 45 submatrices of size b×b, choose the parameters λ=4 and λ=3 to perform (9) to (11) where parameter λ is introduced above Eq. (9). Then, we select separately the first k=5 and k=12 submatrices then perform (12) to (37) which yields a regular quasi-cyclic 585×2925 and 91×1091 parity-check matrix \(\mathbf {H}_{\text {qc}}^{(1)}\) both defined in (37). As a comparison, we also employ the procedure of [17, 18] construct the (2850,2280) and(1020,935) QC-LDPC code with the coding rate being 4/5 and 11/12, respectively.
Figure 6 shows the performances of these codes where it (a) represents the bit error rate (BER) and (b) depicts the frame error rate (FER). In these figures, the circle and box solid lines respectively represent the performances of the regular quasi-cyclic (2925,2341) and (1092,1001) LDPC codes. The circle and box dotted line corresponds to the performance of the (2850,2280) and 1020,935 QC-LDPC code generated by [17, 18].
Example 3: Following the scheme of [9], we first construct a regular (4095,3367) EG-LDPC code over the field EG(2,26). Since we have 4095=c×b with c=13 and b=315, the procedure from (4) to (8) suggests that the parity-check matrix of the constructed (4095,3367) EG-LDPC code can be decomposed into 13 submatrices of size b×b shown in (8). Of 13 submatrices of size b×b, choose the parameter λ=4 to perform (9) to (11) where parameter λ is introduced above Eq. (9). Then, we select the first k=11 submatrices and perform (12) to (38) which yields a regular quasi-cyclic 630×6930 parity-check matrix \(\mathbf {H}_{\text {qc}}^{(2)}\) defined in (38). The null space of \(\mathbf {H}_{\text {qc}}^{(2)}\) renders a regular quasi-cyclic (6930,6301) LDPC code with the coding rate 10/11. As a comparison, we also employ the procedure of [16] to construct the (4095,3729) and (16383,14923) QC-LDPC code with the coding rates of both codes being 0.91.
Figure 7 shows the performances of these codes where it (a) represents the bit error rate (BER) and (b) depicts the frame error rate (FER). In these figures, the circle solid line represents the performance of the regular quasi-cyclic (6930,6301) LDPC code constructed from the procedure from (4) to (38). The box and diamond dotted lines respectively correspond to the performances of the (4095,3729) and (16383,14923) QC-LDPC codes yielded from [16].
Example 4: Following the scheme of [9], we first construct a regular (4095,3367) EG-LDPC code over the field EG(2,26). Since we have 4095=c×b with c=9 and b=455, the procedure from (4) to (8) suggests that the parity-check matrix of the constructed (4095,3367) EG-LDPC code can be decomposed into nine submatrices of size b×b shown in (8). Of the nine submatrices of size b×b, choose the parameter λ=4 to perform (9) to (11) where parameter λ is introduced above Eq. (9). Then, we select the first k=8 submatrices and perform the procedure from (12) to (38) which yields a regular quasi-cyclic 910×7280 parity-check matrix \(\mathbf {H}_{\text {qc}}^{(2)}\) defined in (38). The null space of this \(\mathbf {H}_{\text {qc}}^{(2)}\) renders a regular quasi-cyclic (7280,6371) LDPC code with the coding rate 7/8. As a comparison, we also employ the procedure of [16] to construct the (8176,7156) QC-LDPC code with the coding rate being 0.875.
Figure 8 shows the performances of these codes where it (a) represents the bit error rate (BER) and (b) depicts the frame error rate (FER). In these figures, the circle solid line represents the performance of the regular quasi-cyclic (7280,6371) LDPC code yielded from the procedure of (4)–(38). The box dotted line corresponds to the performance of the (8176,7156) QC-LDPC code (example 7 of [16]) generated by the scheme of [16].

5 Conclusion

We have presented a scheme to construct the high-rate regular quasi-cyclic low-density parity-check QC-LDPC codes. The construction procedure is based on the FG-LDPC codes in which we first decompose the EG-LDPC code into a set of the block submatrices with each of them being cyclic. Then, we exploit the decomposed structure to produce an auxiliary matrix to facilitate us for identifying and eliminating 6-cycles of the block submatrices. Three regular QC-LDPC codes with code rates being 7/8, 10/11, and 11/12 of moderate code lengths are constructed in the simulation. The performances of these codes demonstrate the effectiveness of the proposed scheme.

Acknowledgements

We would like to thank the anonymous reviewers for their insightful comments on the paper, as these comments led us to an improvement of the work.

Funding

This work was supported by the National Natural Science Funds for the Nankai University (No. 61771262).

Availability of data and materials

Not applicable.

Competing interests

The authors declare that they have no competing interests.

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://​creativecommons.​org/​licenses/​by/​4.​0/​), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors’ information

QM is a graduate student at the College of Electronic Information and Optical Engineering at Nankai University. His research interests include digital signal processing and error control coding.
JXZ is a professor at the College of Electronic Information and Optical Engineering at Nankai University. His research interests include biological signal processing, high-speed digital transmission algorithm, and error control coding.
WX is a professor at Tianjin Polytechnic University. Her research interests include digital signal processing and error control coding.
LL is serving as a communications engineer in IP Technology Research Department at Huawei Technologies Co., Ltd.
Literature
2.
go back to reference N. Balasuriya, C. B. Wavegedara, Improved symbol value selection for symbol flipping-based non-binary LDPC decoding. EURASIP J. Wirel. Commun. Netw.2017(1), 105 (2017).CrossRef N. Balasuriya, C. B. Wavegedara, Improved symbol value selection for symbol flipping-based non-binary LDPC decoding. EURASIP J. Wirel. Commun. Netw.2017(1), 105 (2017).CrossRef
3.
go back to reference K. Kwon, T. Kim, J. Heo, Pre-coded LDPC coding for physical layer security. EURASIP J. Wirel. Commun. Netw.2016(1), 283 (2016).CrossRef K. Kwon, T. Kim, J. Heo, Pre-coded LDPC coding for physical layer security. EURASIP J. Wirel. Commun. Netw.2016(1), 283 (2016).CrossRef
4.
go back to reference A. Tasdighi, A. H. Banihashemi, author=Sadeghi, M.R., Symmetrical constructions for regular girth-8 QC-LDPC codes. IEEE Trans. Commun.65(1), 14–22 (2017). A. Tasdighi, A. H. Banihashemi, author=Sadeghi, M.R., Symmetrical constructions for regular girth-8 QC-LDPC codes. IEEE Trans. Commun.65(1), 14–22 (2017).
5.
go back to reference S. K. Chronopoulos, G. Tatsis, V. Raptis, P. Kostarakis, in Proceedings of the 2nd Pan-Hellenic Conference on Electronics and Telecommunications. A parallel turbo encoder-decoder scheme (Thessaloniki, 2012). S. K. Chronopoulos, G. Tatsis, V. Raptis, P. Kostarakis, in Proceedings of the 2nd Pan-Hellenic Conference on Electronics and Telecommunications. A parallel turbo encoder-decoder scheme (Thessaloniki, 2012).
6.
go back to reference S. K. Chronopoulos, G. Tatsis, P. Kostarakis, Turbo codes—a new PCCC design. Commun. Netw.3(4), 229–234 (2011).CrossRef S. K. Chronopoulos, G. Tatsis, P. Kostarakis, Turbo codes—a new PCCC design. Commun. Netw.3(4), 229–234 (2011).CrossRef
7.
go back to reference B. Bangerter, E. Jacobsen, Ho. Minnie, et al, High-throughput wireless LAN air interface. Intel Technol. J.7(3), 47–57 (2003). B. Bangerter, E. Jacobsen, Ho. Minnie, et al, High-throughput wireless LAN air interface. Intel Technol. J.7(3), 47–57 (2003).
9.
go back to reference Y. Kou, S. Lin, M. P. C. Fossorier, Low-density parity-check codes based on finite geometries: a rediscovery and new results. IEEE Trans. Inform. Theory. 47(7), 2711–2736 (2001).MathSciNetCrossRef Y. Kou, S. Lin, M. P. C. Fossorier, Low-density parity-check codes based on finite geometries: a rediscovery and new results. IEEE Trans. Inform. Theory. 47(7), 2711–2736 (2001).MathSciNetCrossRef
10.
go back to reference H. Tang, J. Xu, Y. Kou, S. Lin, K. Abdel-Ghaffar, On algebraic construction of Gallager and circulant low-density parity-check codes. IEEE Trans. Inform. Theory. 50(6), 1269–1279 (2004).MathSciNetCrossRef H. Tang, J. Xu, Y. Kou, S. Lin, K. Abdel-Ghaffar, On algebraic construction of Gallager and circulant low-density parity-check codes. IEEE Trans. Inform. Theory. 50(6), 1269–1279 (2004).MathSciNetCrossRef
11.
go back to reference B. Vasic, O. Milenkovic, Combinatorial constructions of low-density parity-check codes for iterative decoding. IEEE Trans. Inform. Theory. 50(6), 1156–1176 (2004).MathSciNetCrossRef B. Vasic, O. Milenkovic, Combinatorial constructions of low-density parity-check codes for iterative decoding. IEEE Trans. Inform. Theory. 50(6), 1156–1176 (2004).MathSciNetCrossRef
12.
go back to reference N. Kamiya, High-rate quasi-cyclic low-density parity-check codes derived from finite affine planes. IEEE Trans. Inform. Theory. 53(4), 1444–1459 (2007).MathSciNetCrossRef N. Kamiya, High-rate quasi-cyclic low-density parity-check codes derived from finite affine planes. IEEE Trans. Inform. Theory. 53(4), 1444–1459 (2007).MathSciNetCrossRef
13.
go back to reference M. Fujisawa, S. Sakata, A construction of high rate quasi-cyclic regular LDPC codes from cyclic difference families with girth 8. IEICE Trans. Fundam. Electron. Commun. Comput. Sci.90(5), 1055–1061 (2007).CrossRef M. Fujisawa, S. Sakata, A construction of high rate quasi-cyclic regular LDPC codes from cyclic difference families with girth 8. IEICE Trans. Fundam. Electron. Commun. Comput. Sci.90(5), 1055–1061 (2007).CrossRef
14.
go back to reference C. J. Colbourn, J. H. Dinitz, CRC handbook of combinatorial design. Math. Gaz.81(81), 44–48 (1996).MATH C. J. Colbourn, J. H. Dinitz, CRC handbook of combinatorial design. Math. Gaz.81(81), 44–48 (1996).MATH
15.
go back to reference W. Wen, M. Ai, J. Qiu, L. Liu, in 2015 IEEE International Conference on Progress in Informatics and Computing (PIC). Novel construction and cycle analysis of quasi-cyclic low-density parity-check codes (Nanjing, 2015), pp. 230–233. W. Wen, M. Ai, J. Qiu, L. Liu, in 2015 IEEE International Conference on Progress in Informatics and Computing (PIC). Novel construction and cycle analysis of quasi-cyclic low-density parity-check codes (Nanjing, 2015), pp. 230–233.
16.
go back to reference Q. Huang, Q. Diao, S. Lin, K. Abdel-Ghaffar, in 2011 Information Theory and Applications Workshop. Cyclic and quasi-cyclic LDPC codes: new developments (La Jolla, 2011), pp. 1–10. Q. Huang, Q. Diao, S. Lin, K. Abdel-Ghaffar, in 2011 Information Theory and Applications Workshop. Cyclic and quasi-cyclic LDPC codes: new developments (La Jolla, 2011), pp. 1–10.
18.
go back to reference H. Park, S. Hong, J. S. No, IEEE Trans. Commun.61(8), 3108–3113 (2013). H. Park, S. Hong, J. S. No, IEEE Trans. Commun.61(8), 3108–3113 (2013).
Metadata
Title
A construction of the high-rate regular quasi-cyclic LDPC codes
Authors
Qi Meng
Jia Xiang Zhao
Wei Xu
Liang Li
Publication date
01-12-2019
Publisher
Springer International Publishing
DOI
https://doi.org/10.1186/s13638-018-1325-9

Other articles of this Issue 1/2019

EURASIP Journal on Wireless Communications and Networking 1/2019 Go to the issue

Premium Partner