From: cpshah99 on

Hello Everybody

Recently I simulated a regular rate 1/2 LDPC code over AGWN and I got the
expected BER plot.

Then I thought to simulate the same code over frequency selective channel.
I am using linear MMSE equalizer and then LDPC decoding. So basically it is
one time equalization and decoding.

However, I am not getting any coding gain over uncoded system even after
100 LDPC iterations. As a test case, when I remove noise, I can recover the
codeword. So the system is working. I am assuming perfect channel knowledge
at the RX.

However, when I use convolution code for the same setup, I get tremendous
coding gain.

Does anybody has idea what could be wrong????

Many thanks.

Chintan Shah
From: Eric Jacobsen on
On 2/15/2010 2:07 PM, cpshah99 wrote:
> Hello Everybody
>
> Recently I simulated a regular rate 1/2 LDPC code over AGWN and I got the
> expected BER plot.
>
> Then I thought to simulate the same code over frequency selective channel.
> I am using linear MMSE equalizer and then LDPC decoding. So basically it is
> one time equalization and decoding.
>
> However, I am not getting any coding gain over uncoded system even after
> 100 LDPC iterations. As a test case, when I remove noise, I can recover the
> codeword. So the system is working. I am assuming perfect channel knowledge
> at the RX.
>
> However, when I use convolution code for the same setup, I get tremendous
> coding gain.
>
> Does anybody has idea what could be wrong????
>
> Many thanks.
>
> Chintan Shah

How big are the codewords, and do you have any interleaving prior to the
codewords or do you send a single codeword at a time?

For small blocks, e.g., around 50-60 bytes, most LDPCs don't have an
advantage over a good convolutional code in fading.

--
Eric Jacobsen
Minister of Algorithms
Abineau Communications
http://www.abineau.com
From: cpshah99 on

>How big are the codewords, and do you have any interleaving prior to the
>codewords or do you send a single codeword at a time?
>
>For small blocks, e.g., around 50-60 bytes, most LDPCs don't have an
>advantage over a good convolutional code in fading.
>

Hi Eric

Thanks for your reply.

The codeword is 2000 bits long. I do not understand what you mean by prior
to the codewords. It will be great if you can explain.

What I am doing is that encode the information bits using given generator
matrix and use interleaving prior to symbol mapping. And the usual stuff at
the receiver i.e. linear equalizer, LLR calculation, deinterleave and LDPC
decoding.

Thanks again.

Chintan
From: Vladimir Vassilevsky on


cpshah99 wrote:

> Hello Everybody
>
> Recently I simulated a regular rate 1/2 LDPC code over AGWN and I got the
> expected BER plot.
>
> Then I thought to simulate the same code over frequency selective channel.
> I am using linear MMSE equalizer and then LDPC decoding. So basically it is
> one time equalization and decoding.
>
> However, I am not getting any coding gain over uncoded system even after
> 100 LDPC iterations. As a test case, when I remove noise, I can recover the
> codeword. So the system is working. I am assuming perfect channel knowledge
> at the RX.
>
> However, when I use convolution code for the same setup, I get tremendous
> coding gain.
>
> Does anybody has idea what could be wrong????

Looks like a trivial mistake somewhere. Are you sure the LDPC word is
not getting shifted by one bit or so? The convolutional decoder will
self synchronize, the LDPC won't.


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
From: Eric Jacobsen on
On 2/15/2010 4:44 PM, cpshah99 wrote:
>> How big are the codewords, and do you have any interleaving prior to the
>> codewords or do you send a single codeword at a time?
>>
>> For small blocks, e.g., around 50-60 bytes, most LDPCs don't have an
>> advantage over a good convolutional code in fading.
>>
>
> Hi Eric
>
> Thanks for your reply.
>
> The codeword is 2000 bits long. I do not understand what you mean by prior
> to the codewords. It will be great if you can explain.
>
> What I am doing is that encode the information bits using given generator
> matrix and use interleaving prior to symbol mapping. And the usual stuff at
> the receiver i.e. linear equalizer, LLR calculation, deinterleave and LDPC
> decoding.
>
> Thanks again.
>
> Chintan

I wasn't clear; I meant a channel interleaver, i.e., an
interleaver/deinterleaver between the encoder and decoder (i.e., before
the decoder). Sounds like you're doing that, and you have codewords
that are long enough to maintain gain compared to the convolutional code.

So I don't know what's wrong, but there's nothing fundamental preventing
the LDPC from outperforming the Convolutional Code for the conditions
you describe.


--
Eric Jacobsen
Minister of Algorithms
Abineau Communications
http://www.abineau.com