Anda di halaman 1dari 5

LDPC Convolutional Codes Based on Permutation

Polynomials over Integer Rings


Marcos B. S. Tavares and Gerhard P. Fettweis
Vodafone Chair Mobile Communications Systems, Dresden University of Technology, 01062 Dresden, Germany
Email: {tavares, fettweis}@ifn.et.tu-dresden.de

Abstract— A novel algebraic construction technique for LDPC matrices are known to have poor distance properties for higher
convolutional codes (LDPCCCs) based on permutation polyno- block lengths. This fact is also reflected in the correspond-
mials over integer rings is presented. The underlying elements ing convolutional codes [7]. In this context, Takeshita [8]
of this construction technique are graph automorphisms and
quasi-cyclic (QC) codes. The algebraic structure of the obtained proposed a new code construction method, where the parity-
LDPCCCs, their encoding and decoding are discussed. These new check matrices are defined by permutation polynomials over
codes have a special structure, which is favorable for high-rate integer rings. The obtained parity-check matrices (graphs) have
VLSI implementations. Their performances in the asymptotic automorphisms that can be exploited to rearrange them in
case are superior to that of the QC codes from which they are a generalized circulant fashion. Although not yet formally
derived at a much lower complexity. 1
proven, the minimum distances of these QC codes seem to
I. I NTRODUCTION grow with the block length. LDPCCCs obtained from this
class of QC codes have not been previously considered in
Low-Density Parity-Check (LDPC) codes were invented by the literature and are the subject of this paper.
Gallager [1] in the early 60’s. The convolutional counterparts The remainder of this paper is organized as follows. Section
of Gallager’s LDPC block codes, namely LDPC convolutional II explains how convolutional codes can be obtained from QC
codes (LDPCCC), were proposed by Jiménez-Feltström and block codes. In Section III, we show how to obtain QC block
Zigangirov [2]. Contrary to LDPC block codes, a single codes from a class of permutation polynomials over integer
LDPCCC can be applied to a multitude of frame lengths rings. The LDPCCCs derived from these QC block codes
because of its inherent convolutional structure. Moreover, a are defined in Section IV. In the same section, issues like
pipelined version of the conventional message-passing decoder encoding, decoding, scalability and termination of these novel
can be derived. This pipelined decoder alleviates the typical LDPCCCs are discussed. Section V presents several results on
on-chip interconnection problems [3] and has some other performance for our codes. Finally, we summarize our findings
advantages regarding its VLSI design. In [4] it was shown in Section VI.
that for a comparable BER performance the complexity of a
decoder for LDPCCCs is much lower than the complexity of II. LDPC C ONVOLUTIONAL C ODES FROM QC C ODES
a decoder for block codes. Additionally, LDPCCCs can be LDPC convolutional codes are derived from QC codes by
easily encoded using shift-registers. replicating their constraint graphs to infinity [5]. This can be
The original construction technique for LDPCCCs presented expressed by representing the circulants in the parity-check
in [2] consists of unwrapping the parity-check matrices of matrix of a QC code by polynomials. Then, the polynomial
LDPC block codes. The codes obtained through this technique parity-check matrix of the corresponding LDPCCC has the
are of semi-random nature. This randomness presents some form
disadvantages in terms of storing and accessing the parity-  (1,1)
(D) · · · p(1,K) (D)

check matrices, encoding data and analyzing the codes. The p
insertion of an algebraic structure in the LDPCCCs can be H(D) =  .. .. ..
, (1)
 
. . .
exploited to overcome some of these problems and, also, for
even more efficient VLSI designs (e.g. parallelization methods, p(J,1) (D) · · · p(J,K) (D)
memory architectures, scheduling, etc.). where p(j,k) (D) =
PI(j,k) e(i,j,k)
i=1 D . The I(j, k) monomial
Several methods for designing structured LDPC block entries in p(j,k) (D) correspond to the identity matrices cyclic-
codes have been proposed recently (see [5], [6] and the shifted by e(i, j, k) positions, which are present in each
references therein). Among these methods, the quasi-cyclic circulant of the QC parity-check matrix.
(QC) constructions proposed by Tanner et al. [5] are par-
ticular interesting because they allow a direct mapping into III. P ERMUTATION P OLYNOMIALS AND QC C ODES
convolutional codes [7]. However, QC codes with circulant Let G = (V ∪ C ∪ E) be a regular bipartite graph
1 This work was supported by the German ministry of research and
with vertex degrees (λ, ρ). The sets V = {v1 , · · · , vN },
education within the project Wireless Gigabit With Advanced Multimedia C = {c1 , · · · , cN −M } and E = {e1 , · · · , eL }, where L =
Support (WIGWAM) under grant 01 BU 370. N λ = (N − M )ρ, represent the variable nodes, the check
(a) (b)

Fig. 1. Parity-check matrices obtained from QPP f (x) = 29x + 42x2 : (a) before reordering (b) after reordering

nodes and the edges, respectively. Next, we define the sets from the permutation polynomial f (x) = 29x + 42x2 with
R = {r1 , · · · , rL } and L = {l1 , · · · , lL }, which repre- β = 12. It is easy to see that the size of the circulants is given
sent the right and left labels of the edges in E, respec- by Sc = N/β = 84. Moreover, computations have shown that
tively. In addition, each vi (ci ) is associated to a subset the girth of this code is g = 8 and the minimum distance is
of R (L), namely Ri = {r(i−1)λ+1 , · · · , r(i−1)λ+λ } (Li = dmin = 44 [8].
{l(i−1)ρ+1 , · · · , l(i−1)ρ+ρ }). A permutation is defined by a
bijective function f : R → L. In this sense, f defines the IV. LDPC C ONVOLUTIONAL C ODES FROM P ERMUTATION
graph connections and, consequently, the parity-check matrix P OLYNOMIALS
of the code. We use the QC structure of the matrices obtained through
In this work we are interested in permutations, which can polynomial permutation to generate LDPCCCs. In general,
be expressed through polynomials. More specifically, we will the circulants in these matrices are in factorized form. This
only consider quadratic permutation polynomials (QPP’s) over means that for a given code sequence (· · · , vi , vi+1 , vi+2 , · · · ),
integer rings with the simple form the parity-check equations represented by the circulant-
factors contain disjoint sequences of code symbols given by
f (x) = ax + bx2 . (2) (· · · , vi , vi+δ , vi+2δ , · · · ), where δ is the distance between the
symbols checked by a circulant-factor and, simultaneously, the
The conditions that the coefficients a and b must satisfy number of circulant-factors that compose the original circulant.
to make f a permutation polynomial over the ring ZL = The LDPCCC obtained from this generalized circulant matri-
{0, · · · , L−1}, as well as, the search algorithm for coefficients ces code will have basically the same form of (1), but now
that maximizes the graph’s girth are described in [8]. As men- the entries of H(D) will be vectors of length δ given by
tioned by Takeshita, the nature of the permutation polynomials
results in graph automorphisms. The disjoint sets of variable " I(j,k,1) I(j,k,δ)
#T
nodes Vi = {vi , vi+β , · · · , vi+ N −1 } with i = 0, · · · , N − N e(i,j,k,1) e(i,j,k,δ)
X X
(j,k)
β β p (D) = D1 ,··· , Dδ ,
and check nodes Cj = {cj , cj+γ , · · · , cj+ (N −M ) −1 } with i=1 i=1
γ
(3)
j = 0, · · · , (N − M ) − (N −M γ
)
represent the equivalence where the subindexes of D stand for the disjoint sequences of
classes of the graph under its automorphisms. The parameter code symbols that are used by each element of p(j,k) (D).
β is defined in [8] and γ = βλ ρ .
Observing the regularity in the distributions of graph nodes A. Encoding
that pertain to any equivalence class, one can conclude that the A block code that has a parity-check matrix H composed
parity-check matrix H of the resulting code is highly struc- of circulants will have a systematic generator matrix also
tured. Effectively, if we reorder the columns of H according composed of circulants if it can be written as
to the permutation Px = {0, β, · · · , N − β, 1, 1 + β, · · · , 1 +
N − β, · · · , β − 1, β − 1 + β, · · · , β − 1 + N − β} and the H = [Λ Γ]. (4)
rows according to the permutation Py = {0, γ, · · · , N − M −
γ, 1, 1+γ, · · · , 1+N −M −γ, · · · , γ−1, γ−1+γ, · · · , γ−1+ In the equation above, H is (n − k) × n and Γ is an (n −
N − M − γ}, we obtain a generalized circulant matrix. Figure k)×(n−k) invertible square matrix. The conventional method
1 exemplifies this phenomenon for a regular (3, 6)-code with for constructing the generator matrix G is to find an (n − k) ×
dimensions (N = 1008, M = 504). This code was obtained (n − k) matrix Φ such that ΦΓ = I(n−k) , where I(n−k) is the
Fig. 2. Generator matrix in systematic circulant form

(n − k) × (n − k) identity matrix. Then, the generator matrix The decoders for LDPCCCs from generalized circulant
will have the following form matrices will have basically the same complexity and structure
of Figure 3. But now, because of the parity-checks on disjoint
G = [Ik (ΦΛ)T ]. (5)
symbol sequences, δ · ρ symbols enter (leave) the decoder
As it might be conjectured, not all circulant matrices H will each time. Thus, the LDPCCCs obtained from QC codes with
have Γ in an invertible form. For instance, in Figure 1(b) the generalized circulant matrices permit decoders with a new
last Sc rows of Γ are zero. In this case, the generator matrix degree of parallelism (δ), which is an important feature when
G cannot be quasi-cyclic. To circumvent this problem, we can considering high-rate implementations.
cyclically shift Sc columns of H to the right until we obtain C. Scalability
a Γ that has full rank.
We can obtain shorter QC block codes from an existing
Figure 2 shows the systematic generator matrix obtained
mother QC code by shrinking its circulants. This operation
from the parity-check matrix in Figure 1(b) by cyclic shifting
on the mother code can be easily performed by the modulo
it 3 times (in each time we shift Sc columns, i.e., a column of
operator. In this case, we choose a new circulant size SN
circulants) to the right. As we can see, the generator matrix
(SN is smaller than the circulant size of the mother code) and
is not low-density. However, it exhibits the desired circulant
calculate the shifts of the circulants for the new code with
structure.
The encoder for the LDPCCC is directly obtained from the
eN (i, j, k) = eM (i, j, k) mod SN , (6)
generator matrix of the QC code by translating its circulants
into polynomials, as explained in Section II for the parity- where eN (i, j, k) and eM (i, j, k) are respectively the shifts of
check matrix. Although the generator matrix of the underlying the circulants for the new and mother codes, using the same
QC code is not low-density and, consequently, the polynomial terminology as in (1).
generator matrix G(D) of the LDPCCC contains lots of terms, Naturally, the new convolutional codes associated with
the encoders for both codes are very practical for a hardware the new QC codes with circulant size SN will have lower
implementation. This feature is due to the highly structured memories and are derived using the same ideas of Section II.
generator matrices that allow efficient implementations based
D. Termination
on shift-registers and XOR operations. Consequently, we can
expect that high-rate implementations of these encoders are In order to perform optimal decoding using the pipeline
feasible with the current VLSI technology. decoder [2], the graphs underlying the codewords of the LD-
PCCCs have to be terminated. The termination is the process
B. Decoding that brings the convolutional encoder back to the zero state.
Decoding of LDPCCCs can be performed using the pipeline When the transmitted codeword is a terminated sequence, the
decoder [2]. An example of this decoder for a convolutional soft-decoder can assume that all the symbols after the last
code of memory ms = 3 and graph degrees (λ = 2, ρ = effectively transmitted symbol are zero with infinite reliability.
3) is shown in Figure 3. The symbols from the channel are In the case of systematic convolutional codes, the termina-
continuously decoded. At each time, ρ = 3 symbols enter tion consists in a sequence of zeros that is fed into the encoder.
(leave) the decoder. The I processors represent the iterations. The length of this termination sequence LT is determined by
They are identical and operate in parallel. In each processor, the memory ms of the systematic convolutional code and also
only the ρ + λ = 5 highlighted graph vertices and the thick by the number of lines k of G(D). Actually, we can write
edges are active each time. LT = k · ms .
Fig. 3. Pipeline decoder for a convolutional code with memory ms = 3

Because the termination sequence is not user data, it causes −1


10
the so-called rate-loss. In this case, the rate of the terminated (3,6) 504x1008 PEG LDPCBC
(3,6) 504x1008 QPP LDPCBC
code will be (3,6) LDPCCC (m = 83)
L · R − LT s

RT = , (7) −2
10
L
where L is the length of the terminated codeword and R is the
rate of the non-terminated (or infinite) codeword. As a matter −3
10
of fact, for very large codewords (L  k · ms ) the rate-loss
BER

is negligible.
−4
10
V. S IMULATION R ESULTS
Figure 4 shows the BER curve for the non-terminated LDPC Threshold for
regular
convolutional code (LDPCCC) obtained from the QPP code in −5
10 (3,6)−codes

Figure 1. As a comparison, the BER curves for the regular QPP


LDPC block code (QPP LDPCBC) code from Figure 1 and
the regular (3, 6) PEG-code [10] with block length N = 1008 −6
10
0.5 1 1.11 1.5 2 2.5 3
and girth g = 8 are also shown. Eb/N0[dB]

As we can observe, the LDPCCC outperforms the other


codes. At a BER = 10−5 the convolutional code has a gain Fig. 4. Comparison between LDPC block and non-terminated convolutional
of more than 1 dB. It is important to mention that this codes transmitted over the BIAWGN channel. All codes have rate R = 1/2
convolutional code has memory ms = 83. Hence, it uses a and the maximum number of decoding iterations is I = 80.
decoder, which is much simpler than the decoders for block
codes with N = 1008 [4].
Figure 5 shows the effect of rate-loss expressed in terms of
BER for the LDPCCC with memory ms = 83. As we can and thus it is not appropriate for decoding using the pipeline
observe, for lower block lengths the terminated code performs decoder (message-passing algorithm).
bad. For block lengths above N = 4320, the terminated Reducing the memory of the LDPCCC results in lower
LDPCCC performs better than the QPP LDPCBC with N = implementation complexity and also in lower rate-loss due to
1008. Although we are comparing codes with different block termination. Figure 7 shows a comparison that involves code
sizes, the implementation complexity for the LDPCCC in memory and block length for terminated LDPCCCs. It can be
question is still very low comparing to the LDPCBC with observed that codes with lower memory show better results
N = 1008. concerning the tradeoff performance vs. rate-loss for smaller
In Figure 6 we study the LDPCCCs with reduced memories block lengths, while codes with higher memory perform
using the ideas of Section IV-C. As we can observe, the better with bigger block lengths. For instance, the terminated
code with memory ms = 41 has a performance similar to LDPCCCs with memories below ms = 41 and block length
the mother code with memory ms = 83. On the other side, N = 2160 are at least as good as the LDPCBC with N =
the code with memory ms = 20 presents an error-floor. 1008. From this we can conclude that for a given system with
We conjecture that this effect possibly occurs because the certain range of block lengths, its is an optimization problem
shrinking of the circulants of the parity-check matrix may to find the codes in a certain memory range that give the best
result in a new code that has lots of short cycles in its graph performances considering the termination losses.
−1 −1
10 10
LDPCCC ms = 83 N = 2160
LDPCCC ms = 20 N = 2160
LDPCCC m = 41 N = 2160
s
LDPCCC ms = 83 N = 8460
LDPCCC m = 20 N = 8460
−2 s
10 LDPCCC ms = 41 N = 8460
QPP LDPCBC N = 1008
BER

BER
−3 −2
10 10

LDPCCC ms = 83 R = 0.5

−4
LDPCCC ms = 83 N = 2160
10
LDPCCC ms = 83 N = 4320

LDPCCC ms = 83 N = 6480

LDPCCC ms = 83 N = 8460

QPP LDPCBC N = 1008


−5 −3
10 10
0 0.5 1 1.5 2 2.5 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4
Eb/N0 [dB] Eb/N0 [dB]

Fig. 5. Simulations results for the terminated convolutional code with Fig. 7. Terminated LDPC convolutional codes with different memories
memory ms = 83 for different block lengths. The transmissions occur over and different block lengths. The transmission takes place over the BIAWGN
the BIAWGN channel. I = 80 decoding iterations are used. channel. I = 80 decoding iterations are used.

−1
10
LDPCCC ms = 83 R = 0.5
we presented a method to obtain codes with lower memories
LDPCCC ms = 20 R = 0.5 from a given mother code. The termination problem was
LDPCCC ms = 41 R = 0.5
also approached and we examined how the performance of
10
−2
the codes behaves with regard to the block length and code
memory.
Finally, we would like to point out that further research
can be done in the direction of finding optimal (performance
BER

−3
10
vs. rate-loss) LDPCCCs from permutation polynomials for a
given range of block lengths. Within this context, the design
of irregular LDPCCCs is also an open issue.
−4
10
R EFERENCES
[1] R. G. Gallager, Low-Density Parity-Check Codes, Cambridge, MA: MIT
Press, 1963.
−5
10
0 0.5 1 1.5 2 2.5 3
[2] A. Jiménez-Feltström and K. Sh. Zigangirov, ”Time-varying periodic
Eb/N0 [dB] convolutional codes with low-density parity-check matrix,” IEEE Trans.
Inform. Theory, vol. IT-45, pp. 2181-2191, Sept. 1999.
[3] A. J. Blanksby and C. J. Howland, ”A 690-mW 1-Gb/s 1024-b, Rate-1/2
Fig. 6. Comparison between LDPC convolutional codes with different Low-Density Parity-Check Code Decoder,” IEEE J. Solid-State Circuits,
memories. The transmission takes place over the BIAWGN channel. I = 80 vol. 37, pp. 404-412, Mar. 2002.
decoding iterations are used. [4] A. E. Pusane, A. Jimenéz-Feltström, A. Sridharan, M. Lentmaier,
K. Sh. Zigangirov and D. J. Costello, Jr., ”Implementation Aspects of
LDPC Convolutional Codes,” submitted to IEEE Trans. Commun., Sept.
2005.
VI. C ONCLUSIONS [5] R. M. Tanner, D. Sridhara, A. Sridharan, T. E. Fuja and D. J. Costello, Jr.,
”LDPC block and convolutional codes based on circulant matrices,” IEEE
In this paper we have presented a new class of LDPC Trans. Inform. Theory, vol. IT-50, pp. 2966-2984, Dec. 2004.
convolutional codes, which are derived from QC codes defined [6] H. Tang, J. Xu, S. Lin and K. A. S. Abdel-Ghaffar, ”Codes on Finite
Geometries,” IEEE Trans. Inform. Theory, vol. IT-51, pp. 572-596, Feb.
by permutation polynomials. These new codes can be encoded 2005.
using shift-registers and, because of their highly structured [7] R. M. Tanner, ”Convolutional codes from quasi-cyclic codes: A link
graphs, they can be decoded using a slightly modified version between the theories of block and convolutional codes,” Univ. Calif. Santa
Cruz, Tech. Rep., 1987.
of the pipeline decoder [2]. This modified pipeline decoder [8] O. Y. Takeshita, ”A new construction for LDPC codes using permutation
allows a new degree of parallelism that depends upon the polynomials over integer rings,” submitted to IEEE Trans. Inform. Theory,
number of factors (δ) the circulants of the parity-check matrix Jun. 2005
[9] R. Johannensson and K. Sh. Zigangirov Fundamentals of Convolutional
of the associated QC code are decomposed. Coding, Piscataway, NJ: IEEE Press, 1999.
In addition, we showed that the generator matrix of the QC [10] X.-Y. Hu, E. Eleftheriou and D. M. Arnold, ”Regular and irregular
codes can be obtained in circulant form and thus a polynomial progressive edge-growth Tanner graphs,” IEEE Trans. Inform. Theory,
vol. IT-51, pp. 386-398, Jan. 2005.
generator for the LDPCCC can be derived from it. Moreover,

Anda mungkin juga menyukai