Near-Capacity Coding for Discrete Multitone Systems with Impulse Noise

We consider the design of near-capacity-achieving error-correcting codes for a discrete multitone (DMT) system in the presence of both additive white Gaussian noise and impulse noise. Impulse noise is one of the main channel impairments for digital subscriber lines (DSL). One way to combat impulse noise is to detect the presence of the impulses and to declare an erasure when an impulse occurs. In this paper, we propose a coding system based on low-density parity-check (LDPC) codes and bit-interleaved coded modulation that is capable of taking advantage of the knowledge of erasures. We show that by carefully choosing the degree distribution of an irregular LDPC code, both the additive noise and the erasures can be handled by a single code, thus eliminating the need for an outer code. Such a system can perform close to the capacity of the channel and for the same redundancy is signiﬁcantly more immune to the impulse noise than existing methods based on an outer Reed-Solomon (RS) code. The proposed method has a lower implementation complexity than the concatenated coding approach.


INTRODUCTION
The design of error control codes for discrete multitone (DMT) systems is of great interest for applications such as digital subscriber lines (DSL) [1][2][3][4][5][6].In a DMT system, different constellations may be used in different tones and nonbinary high-order modulation formats are typically used.Current asymmetric DSL (ADSL) standards use a trelliscoded modulation scheme concatenated with an outer Reed-Solomon (RS) code.The inner trellis code provides a coding gain for an additive white Gaussian noise (AWGN) channel, and the outer RS code offers additional noise immunity, especially against impulse noise.This paper is motivated by the phenomenal success of turbo and low-density parity-check (LDPC) codes in the past decade.It is now possible to design codes that perform within a fraction of a decibel (dB) from the Shannon limit in an additive white Gaussian noise channel.However, the use of turbo codes and LDPC codes in DMT systems is not yet widespread.This is in part due to the fact that the effect of impulse noise on turbo or LDPC codes has not yet been studied in depth.Impulse noise is one of the main channel impairments in DSL.The main focus of this paper is the design of LDPC codes for a DMT system in an impulse-noise environment.
In their original forms, both turbo and LDPC codes are binary codes.In the low signal-to-noise-ratio (SNR) regime, where binary modulation is spectrally efficient, binary turbo codes and binary low-density parity-check (LDPC) codes can effectively approach the capacity of many channels (e.g., [7][8][9][10][11]).A DMT system, however, often includes higher-order constellations that are not necessarily binary.This necessitates the use of nonbinary alphabets or the use of multilevel coding techniques.Theoretically, multilevel coding [12], when combined with capacity-achieving binary codes, is capable of achieving the capacity of higher-order modulation.In practice, schemes such as bit-interleaved coded modulation (BICM) [13] can offer a performance very close to the capacity of higher-order modulation.
The use of multilevel coding for DMT systems has been studied by various authors for DSL and power-line communication channels [2,[4][5][6].For example, in [5] a regular high-rate LDPC code is used for error correction in a DSL transmission system, achieving a coding gain of 6 dB at a symbol error rate (SER) of 10 −7 .In [2], turbo codes have been used for ADSL and a coding gain of 6 dB at an SER of 10 −6 (equivalent to approximately 6.8 dB at an SER of 10 −7 ) is reported.In [6], the idea of using LDPC codes together with coded modulation is used, although the issue of code optimization is not addressed.In [4], irregular LDPC codes-optimized for Gaussian channels-are used for data transmission over power-line channels and an average coding gain of about 7.5 dB at an SER of 10 −7 is achieved.These coding gains can be compared with a 5.5 dB gain which can be achieved by a 512-state trellis code on an AWGN channel at an SER of 10 −7 [14].
The above-mentioned systems all assume an additive Gaussian noise model.The effect of impulsive noise is either ignored, or not considered in the code design.However, impulse noise is a major channel impairment in digital subscriber lines.A large impulse often causes an entire DMT symbol to be corrupted [15] which can seriously deteriorate overall system performance.Current DSL standards rely on extensive interleaving and an outer RS code to provide impulse protection.Much work has been done (e.g., see [15][16][17][18][19][20] and the references therein) on the characteristics of impulse noise and the use of RS codes for impulse protection.
One way to combat the effect of impulse noise is the idea of impulse detection and erasure.As an impulse is typically a large signal that occurs for an extended period of time and across a large number of frequency tones, reliable detection of impulses is often possible.When an impulse is detected, an erasure can then be declared.The declaration of erasure provides side information to the decoder of the error-correcting code and effectively increases its error-correcting capability.For example, in a system with an RS code, the errorcorrecting capability can be increased by a factor of two when erasures are declared [18,19].Under the erasure model, the impulse channel is essentially a concatenation of an additive noise channel and an erasure channel.
LDPC codes have excellent performance on both additive noise channels (e.g., AWGN) and the binary erasure channel (BEC) alone.However, the design and performance of these codes over channels with both additive noise and erasures have not-to the best of our knowledge-been studied.This motivates us to study the design and the analysis of LDPC codes over a channel model seen in DMT systems in impulsive environments.
In this study, we rigorously analyze an impulse-noise channel model and design an irregular LDPC code specifically for the impulse noise channel.Our main contribution is a design methodology that enables the design of capacityapproaching LDPC codes for channels with both additive Gaussian noise and erasures.Such an optimized LDPC code, when combined with bit-interleaved coded modulation, outperforms both conventional systems with RS codes and systems with LDPC codes optimized for AWGN channel alone in a DMT system.In fact, such a design can effectively handle both the additive Gaussian noise and the erasures introduced by the DMT channel, thus eliminating the need for an outer code.This results in hardware-and software-complexity savings as well as higher code rates.
The rest of the paper is organized as follows.In Section 2, the impulse-noise channel model is introduced.In Section 3, a review of multilevel coding and density evolution analysis for LDPC codes is provided.In Section 4, a coding structure based on BICM and LDPC coding is established; the characteristics of the effective "bit-channel" are studied; and an LDPC code optimization technique is described.The optimization technique is capable of finding LDPC codes that perform close to the capacity of the effective "bitchannel."Section 5 provides simulation results and comparison with existing solutions.Finally, conclusions are drawn in Section 6.

CHANNEL MODEL AND PROBLEM STATEMENT
Throughout this work we assume that the DMT symbols that are corrupted by impulsive noise are known to the receiver, and can therefore be replaced by erasures.In [19] a process called erasing is used to detect the impulse noise and to indicate the location of the potentially corrupted data in an RS block.This way, the error-correcting capability of the RS code is increased by a factor of two.There are many different methods for detecting the impulse noise at the receiver, for example, [18][19][20].The detection of impulse noise is usually based on the observation that when a noise burst occurs, the squared distance between several of the received signals in a DMT symbol and the constellation points exceeds a threshold.Therefore, using square distance-based methods, the impulsive noise can be replaced with an erasure in the channel.
Figure 1 shows the channel model that we consider in this study.The input to this channel, x, is a point selected from a constellation A ⊂ C of size 2 l .The output, y ∈ C ∪ {E}, of this channel is either erasure E with probability or x + n with probability 1 − , where n is assumed to be a sample of a complex zero-mean circularly-symmetric white Gaussian noise with variance 2σ 2 .The erasure output of this channel model reflects the effect of the impulse noise and the additive noise reflects the effect of the AWGN channel.
Erasures can be naturally incorporated in the messagepassing decoding of LDPC codes (see Section 3.2).However, it is not clear that a code optimized for an AWGN channel would also remain optimized for a channel with both AWGN and erasures.One of the objectives of this paper is to design LDPC codes specifically for such channels.
Since in this work we use multilevel coding, the transmission of the signal will be modelled as the transmission of the bits of the binary labels used for labelling different constellation points.Thus, we are most interested in the characteristics of the channels seen by the label bits.We call these channels bit-channels, and will study them after a brief review of multilevel coding and a description of our proposed system.

BACKGROUND
In this section we briefly review the idea of multilevel coding, the structure of LDPC codes, and their analysis techniques.

Multilevel coding
The main idea of multilevel coding [12] is to label each point of a nonbinary constellation A = {a 0 , a 1 , . . ., a N−1 } of size N = 2 l with a binary address b = (b 0 , b 1 , . . ., b l−1 ) and use binary codes to protect each address bit b i by an individual binary code C i at level i [21].
Let A and Y represent the random variables corresponding to the transmitted and received signals, respectively.Also consider (b 0 , b 1 , . . ., b l−1 ) as the vector of random variables corresponding to the address bits.Since a one-to-one mapping between the address vector and the constellation points exists, we have which, using the mutual information chain rule, can be written as This decomposition of the mutual information implies that transmission of the signal over the physical channel can be thought of as parallel transmission of individual bits.Due to the labelling scheme, each address bit sees an effective channel (bit-channel) whose capacity can be different from the capacity of other bit-channels.An individual code should be used for each bit-channel, and it is known that if each code achieves the capacity of its bit-channel, the total capacity of the channel is achieved [21].A complete study of multilevel coding and the structure of the encoder and decoder can be found in [22,23].One drawback of capacity-approaching systems using multilevel coding is that they require different codes with different rates for each bit-channel.This problem can be solved using BICM.In BICM, after using gray labelling, the address bits of the labels are interleaved.Hence, instead of using individual codes at different levels, a single code can be used for all the address bits.BICM can approach the channel capacity very closely [13], but, unlike multilevel coding, cannot achieve capacity.What makes BICM attractive is its lower software/hardware complexity at the expense of very minor performance loss.

LDPC codes
An LDPC code is a linear block code with a sparse paritycheck matrix that can be represented by a bipartite graph [24,25].Figure 2 shows one such graphical representation.
A variable node v j (represented by a circle) is a binary variable from the alphabet {0, 1} and a check node c i (represented by a square) is an even parity constraint on its neighboring variable nodes, so that in a valid codeword we have, for all the checks c i , where n(c i ) is the set of all the neighbors of c i and ⊕ represents modulo-two sum.LDPC codes, depending on their structure, are classified as being regular or irregular.In a regular code, all variable nodes are of a fixed degree and all the check nodes are of another fixed degree.Irregular LDPC codes can significantly outperform regular codes [26].By carefully designing the irregularity in the graph, codes which perform very close to the capacity can be found [9,11,26,27].
An ensemble of irregular codes can be defined by its variable and check-node-degree distributions.The degree distribution at the variable/check side represents the percentage of edges incident on variable/check nodes with different degrees.As the block length of a randomly chosen code approaches infinity, the performance of the code depends only on its degree distributions [9]; therefore, code design problem translates to the problem of finding good variable and check-degree distributions.In practice, when a finite-length code is used, the larger the block length, the closer the performance of the code to the predicted asymptotic behavior.In the remainder of this paper, we refer to variable-node-degree distribution as λ = {λ 2 , λ 3 , . . ., λ dv }, where λ i is the fraction of edges incident on variable nodes of degree i and d v is the maximum variable-node degree of the code.Similarly we use ρ = {ρ 2 , ρ 3 , . . ., ρ dc } for the check-degree distribution.
The decoding of LDPC codes is done by iterative message-passing algorithms.Different types of messages exist, but log-likelihood-ratio (LLR) messages are the most common ones.The LLR for a bit b is defined as Notice that in the case of an erasure, LLR(b) = 0.Many different message-passing algorithms exist [9,25], among which the sum-product algorithm is the most accurate one [25].Assuming that LLR messages are used, and following the notation of [25], the update rules of the sum-product algorithm at a check node c and a neighboring variable node v are where μ h→c represents a message from a variable node h to the check node c, μ y→v represents a message from a check node y to the variable node v, and μ ch→v is the channel message to the variable node v.In this paper, we assume that our LDPC decoder uses the sum-product algorithm.
Erasure LLR messages are zero and are processed like other messages in the decoder.Hence, they are naturally incorporated in the decoding, requiring no modification to the decoder.

LDPC code analysis and design
The analysis of the decoder's performance can be done by density evolution [10] or discrete density evolution [27].The main idea of the analysis is to track the evolution of the probability density function (PDF) of the messages in the decoder.The inputs to this algorithm are the code variablenode-and check-node-degree distributions, the update rules at the variable and check nodes, and the PDF of LLR messages from the channel.The output of the algorithm is the PDF of LLR messages after each iteration.
One of the pillars of density evolution analysis of LDPC codes for binary transmission is the assumption that the allzero codeword (all-{+1} channel-word) is transmitted.This assumption is valid because the performance of the code is independent of the transmitted codeword [10].Therefore, under this assumption we can associate an error rate to a message PDF, that is, the negative tail of the PDF.Thus, one can investigate whether or not the error rate of messages (the negative tail of the LLR density) approaches zero as the number of iterations goes to infinity.
For higher-order modulation, however, assuming that the all-zero codeword is transmitted is not valid.This is because, different constellation points might have different error rates.In Section 4.3 we will show how this problem can be tackled and an LLR density whose negative tail corresponds to the message error rate can be found, without the need for an all-zero codeword assumption.
Using density evolution as a probe, one can search for variable-node-and check-node-degree distributions that provide performance approaching capacity [27].The inputs to this optimization program are the message update rules of the decoder at the variable and check nodes as well as the channel LLR PDF and the output is the optimized degreedistribution.
There are many papers on such degree optimizations for various channel models.Probably the one most related to our study is [28], where component LDPC codes are designed in a multilevel coding structure.Our work is different in two ways: first, we use BICM and hence we need to design one single LDPC code; second, we consider the effect of impulse noise.Using one LDPC code has many practical benefits, for example, for the same delay, it allows for a longer blocklength (hence better performance); it also reduces hardware and software complexity.

SYSTEM STRUCTURE
Figures 3 and 4 show the block diagrams of the proposed system at the transmitter and the receiver, respectively.At the transmitter, the constellation mapper uses l bits from the output of LDPC encoder to select a point from the constellation for each subchannel of the DMT system.After assigning data to all subchannels, this complex vector is mapped to a DMT symbol using an inverse Fourier transform (IDFT).
At the receiver, a DMT symbol is first converted to a complex vector using the discrete Fourier transform (DFT).Then, for each tone, l LLR values associated with the l transmitted bits are computed and buffered.Once all LLR values are ready, they are passed to the LDPC decoder.
Here, we assume that the length of the LDPC code is an integer multiple of the length of the DMT symbols.Even if we relax this assumption (due to the time-varying number of bits loaded into the DMT symbols), we can simply put as many DMT symbols as possible in the LDPC structure and fill its remaining portion with zeros.Typically, the length of an LDPC codeword is much longer than the length of a DMT symbol.Thus, filling the remaining portion of the LDPC code with zeros has no significant effect on the system performance.

Channel capacity
The physical channel model for a DMT system in an impulse environment is as shown in Figure 1.In this section, we consider instead the transmission of the bits of the constellation labels and study the resulting bit-channel.Since the binary LDPC decoder receives its initial LLRs from these bitchannels, we first investigate the distribution of the LLRs of the bit-channels.We then characterize the bit-channel capacity, which provides a metric with which the actual achieved code rates may be compared.
As shown in [29], the mutual information between the input and the output of an AWGN channel, when the input signals are equally likely chosen from a constellation A of size 2 l , is where a k is the kth point on the constellation, and w represents samples of a complex Gaussian noise with variance 2σ 2 .Our channel model is a concatenation of such an AWGN channel with an erasure channel whose erasure rate is .Therefore the channel capacity is This capacity should be normalized per bit to reflect the average capacity of bit-channels.Thus, (7) results in bitchannels whose average capacity C b is In this work we use BICM.Although, BICM cannot achieve the capacity (8), it can approach the capacity very closely, as shown in [13].At high SNRs the capacities of BICM and multilevel coding are almost equal.
Figure 5 shows the plot of C b versus SNR.It also shows the capacity of BICM.It can be seen that for SNRs exceeding 6 dB, the gap from the capacity of BICM to the capacity of multilevel coding is minor.It should be mentioned that here SNR is defined as 10 log 10 (E s /σ 2 ), where E s is the average energy of constellation per real dimension and 2σ 2 is the variance of the complex Gaussian noise.The erasure rate of the channel is assumed to be 0.06, hence at high SNR the value of C b approaches 1 − = 0.94.

Density of bit-channel LLRs
While an erasure in the actual channel translates to an erasure in all bit-channels, a Gaussian noise on the actual channel does not necessarily translate to Gaussian noise on the bit-channels.The effective noise of each bit-channel highly depends on the constellation labelling.
We can easily find the LLRs for different bit-channels.The LLR value for b i , can be computed as where y is the received signal, a j represents a point of the transmitted constellation, 2σ 2 is the Gaussian noise variance, and A (b i = 0) represents the subconstellation of A with the address bit b i equal to zero.In BICM, since the bits are interleaved, the density of LLRs that the LDPC code sees is a mixture of LLR densities for different bit-channels.For a gray-labelled 16-QAM constellation this density is shown in Figure 6.In this figure, the erasure probability is 0.06 and the Gaussian channel SNR is 10 dB.Notice that since Pr (y = E) = , the density of LLRs has an impulse of weight at zero.Another interesting observation is that the density is not symmetric with respect to the vertical axis.To see why, consider the gray-labelled 16-QAM constellation of Figure 7 and notice that the value of LLR(b 0 ) can grow unboundedly large (for received signals far to the right or to the left), but approaches its minimum for the received signals close to the vertical axis.Therefore, the LLR PDF of b 0 (and as a result the mixture of LLR densities) is not symmetric with respect to the vertical axis.

All-zero codeword assumption
For the design and analysis of binary LDPC codes over symmetric binary-input channels, it is usually assumed that the all-zero codeword (equivalent to all-{+1} channel-word) is transmitted.In fact, the density of LLR messages associated with the all-{+1} channel-word, is essential for the design procedures which are based on density evolution.In our case, however, assuming that the all-zero codeword is transmitted is not valid because the points of the constellation are not all equivalent.To tackle this problem, we first notice that for an LDPC code of length N and dimension K, an information sequence of K bits, when K is large, is a typical Bernoulli sequence with p = 1/2.While not strictly true, it is reasonable to assume that the encoded sequence is also a typical Bernoulli sequence.Therefore, in the encoded codeword, all binary sequences of length l appear with the same probability.Hence, for one typical LDPC codeword, all the constellation points are transmitted the same number of times.As a result, we can assume that almost all the LDPC codewords are received with the same quality at the receiver.That is to say, the performance of the decoder is independent of the codeword, as long as a typical codeword is transmitted.Notice that we can always add a random dither to the codewords to make them typical Bernoulli sequences, but it seems reasonable that such a dither is not required in practice.Indeed, we will see later that the codes designed based on the assumption that all constellation points are transmitted equally likely perform very close to the predicted behavior without the need for a random dither.Now that all the codewords are assumed to be received with the same quality at the receiver, the performance of the LDPC decoder is independent of the codeword.Therefore, we only need to translate each LLR to its equivalent value corresponding to the all-{+1} channel-word.In other words, for every bit which is a "1," we define the LLR to be ln(Pr(1)/ Pr(0)) and for every bit which is a "0" we use the conventional definition of ln(Pr(0)/ Pr(1)).This way, a positive LLR carries a correct belief, and (once more) the negative tail of the LLR density shows the LLR error rate.This equivalent LLR density may be computed for all bit-channels and for every constellation point.We may then mix these densities uniformly to produce a modified LLR which is suitable for code optimization.
The density of these modified LLRs is shown in Figure 8.A negative LLR here reflects an error in a hard decision decoder (which was not the case in Figure 6).For a given constellation, a given labelling scheme, and a given noise variance, we can find such a modified LLR density to be used as input to a density evolution program for degree distribution optimization.

Code design
So far, we have discussed the use of BICM and LDPC codes for DMT systems in an impulsive environment.We now focus on the design of capacity-approaching LDPC codes on such channels.As mentioned before, the optimization algorithm should take the density of LLR messages and the update rules of the decoder as the input and should give an optimized degree distribution.Thus, given the channel conditions, that is, SNR of the Gaussian part of the channel and of the erasure part, the purpose of our optimization is to find the highest rate LDPC code whose convergence is guaranteed at these channel conditions.
Different methods are used for finding optimized degree distributions [10,27].In this work, we use a method which is based on linear programming and reflects our goal of finding the maximum rate for a given channel.We start with a degree distribution for which convergence to zero error rate is guaranteed.In the density evolution program, at each iteration, we save p in , that is, the error rate of the LLR messages at the input of the iteration (the input messages to the check nodes) and also p out,i , that is, the error rate of the LLR messages at the output of variable nodes of degree i (for all values of i).A plot of p out,i versus p in for all values of i is equivalent to the elementary p in − p out extrinsic information transfer (EXIT) charts of [30], that is, EXIT charts corresponding to different variable degrees.For more information on EXIT charts, please see [31].
It is shown in [30] that for a fixed check-degree distribution, a linear combination of elementary p in − p out EXIT charts with a set of weights λ = {λ 2 , . . ., λ dv }, such that for all i, λ i ≥ 0 and i λ i = 1 results in the EXIT chart of an irregular code whose degree distribution is determined by λ, that is, for all p in , where f (p in ) is the EXIT chart of the irregular code and f i (p in ) is the elementary EXIT chart associated with variable nodes of degree i.Therefore, a linear program similar to that of [30] can be used to find an optimized degree distribution.The linear program of [30] takes a set of elementary EXIT charts, a desired convergence behavior (given by a curve h(p in )), and finds the variable-node-degree distribution λ which maximizes the code rate and for all p in keeps the p out of the irregular code less than or equal to h(p in ).Here, we have to make sure that the change made in the degree distribution is small, since the elementary EXIT charts found here are valid only for the degree distribution for which the density evolution program is executed.
Assuming that making a small change in the degree distribution of the code will not significantly change the elementary EXIT charts, our design procedure is as follows.First, we find f (p in ), the current EXIT chart of the code (for which convergence was observed).Then, we make a small change in this EXIT chart to make it closer to the line p out = p in and feed it back as h(p in ) to the linear program to find another degree distribution whose rate is maximum and whose convergence behavior is better than h(p in ).It is shown in [30] that by moving towards h(p in ) = p in we achieve higher code rates.Using the updated degree distribution, we run the density evolution program to update the elementary EXIT charts and repeat the linear program to update the degree distribution.This optimization is iterated until the desired convergence behavior is h(p in ) p in .

SIMULATION RESULTS
To show the success of our proposed system, we have designed two irregular codes for 16-QAM signaling at two different channel conditions.The first code is designed at SNR = 10 dB, and = 0.06 and the second one at SNR = 7 dB and = 0.06.At these channel conditions, the capacity of BICM is almost 0.744 bits/symbol (per bit-channel) and 0.570 bits/symbol, respectively.Our codes, whose degree distributions can be found in Table 1, have rates of 0.740 bits/symbol and 0.566 bits/symbol, respectively.The maximum variable degree allowed in these designs is 80 for code 1 and 100 for code 2, and their check degree is chosen to be regular.The capacity (normalized per bit-channel) of BICM with 16-QAM signaling on our channel model with = 0.06 is 0.740 at about 9.91 dB and is 0.566 at about 6.92 dB, hence in both cases a gap of about only 0.08-0.09dB from the Shannon limit exists.
We have computed the threshold of a code of rate 0.74 optimized for the AWGN channel (with d c = 24 and maximum d v = 100) on our channel.The degree distribution of the code is selected from the optimized codes reported in [32].We first verified the reported threshold of this code on a Gaussian channel.Then, assuming an erasure rate of = 0.06 and 16-QAM signalling, we found the threshold of convergence of this code to be at about 10.2 dB or almost 0.29 dB away from the capacity.
It can be concluded that although the performance of codes designed for the AWGN is fairly good on our channel model, further improvement in the order of 0.2 dB is possible.Similar results have been observed in [33], where irregular codes are designed for the Rayleigh channel.In fact, the performance of the codes designed for the AWGN channel on a Rayleigh channel is about 0.2 dB worse than those designed for the Rayleigh channel.We have also simulated the performance of our rate 0.74 code and have compared it with the above-mentioned rate 0.74 code optimized for AWGN.Both codes have a block length of 30 000. Figure 9 shows the results of our comparison.The erasure rate for simulation is = 0.06 and a maximum of 100 iterations is allowed.As expected, our code has a performance that is about 0.2 dB better than the code designed for AWGN channel.The code designed for AWGN is slightly more complex because it has a higher check degree and hence its decoding complexity is about 10% higher.The decoding complexity for both codes is comparable with a 512-state trellis code (see [4] for a detailed study of complexity and comparison with the complexity of 512-state trellis code).
With this code length and code rate, and assuming an ADSL system with a bit rate of 1 Mbits/s, the buffer-fill delay is t b f = 30 000 × 0.74 1 000 000 = 22.2 milliseconds.(11) Therefore, neglecting the encoding/decoding delay and also the transmission delay, the total delay of the system can be approximated to be about 45 milliseconds.For ADSL systems with higher data bit rates, longer block-length codes can be used and hence, performance closer to the threshold can be expected.
Although SNR norm , defined as SNR norm = SNR /(2 R − 1) [14], is usually a better measure than SNR, this paper uses SNR because our design goal is to maximize the code rate for a given channel condition, and prior to the design the code rate is not known (however, Figure 9 uses SNR norm , since the rate is known).
The conventional solution based on trellis codes and outer RS codes is known to have a gap of a few dB from the Shannon limit.Also notice that a (255, 239) RS code (of a rate a little bit less than 0.94) can correct a maximum of 16 erased bytes.Assuming that each byte has at most one erased bit and that the bit erasure probability is , we can define p = 1 − (1 − ) 8 as the byte erasure probability.To guarantee an error rate of less than 10 −6 , p should take a value for which This results in an error-correction capability of p < 0.0159 and hence < 2.003 × 10 −3 .In other words, about 0.2% error can overwhelm an RS code that introduces more than 6% rate loss to the system.Our code, however, can correct up to 6% erasures.This erasure correction capability is achieved by a rate loss of 6% introduced by the channel model whose capacity at high SNR is 0.94.

CONCLUSIONS
In this work, we have shown that a carefully optimized LDPC code is a promising candidate coding approach in DMT systems with impulsive noise.To illustrate the potential of this approach, we have shown how to optimize an LDPC code at a fixed SNR and for a fixed constellation size.Further research is required to address practical DMT systems that require flexible coding to accommodate a variety of SNRs and hence a variety of constellation sizes at different tones.Indeed, it is shown in [4] that a single LDPC code can perform effectively in a DMT system if a fixed number of bits from each constellation is assigned to it.
From Figure 9, it can be seen that both LDPC codes show an error floor at bit error rates near 10 −6 .Error floors in LDPC codes are mainly due to the presence of short cycles in the graph structure of the code.This will be a less serious problem for long block-length codes.Many solutions have been proposed to handle the error floor issue.One easy solution is to use a very high-rate, low-complexity outer BCH code (e.g., a double-error correcting BCH code).However, there also exist LDPC codes which are carefully structured to push the error floor to a much lower BER (10 −8 and lower) [34,35].Using such LDPC codes, the need for an outer code is completely eliminated.

Figure 1 :
Figure 1: Channel model: the concatenation of an AWGN channel with an erasure channel.

Figure 2 :
Figure 2: A bipartite graph representing a parity-check code.

Figure 3 :Figure 4 :
Figure 3: The block diagram of the encoder of the proposed system.

Figure 5 :
Figure 5: The average bit-capacity for a gray-labelled 16-QAM at different SNRs with an erasure rate of = 0.06.

Figure 8 :
Figure 8: The density of modified LLRs for a 16-QAM gray-labelled constellation at SNR = 10 dB.

Figure 9 :
Figure 9: Performance comparison of LDPC codes in a system based on 16-QAM signaling and BICM in the presence of impulse noise.