Forums

Short block FEC

Started by John April 14, 2008
Hi group,

I'm wondering what the most practical and modern choice is for coding
80 bits of data for a power-limited AWGN channel using BPSK, with the
constraint that the encoder is a tiny device with just a few kbytes
and a few MIPS. The decoder can be very complex.

Suggestions appreciated.

John
On Apr 14, 4:47&#2013266080;pm, John <sampson...@gmail.com> wrote:
> Hi group, > > I'm wondering what the most practical and modern choice is for coding > 80 bits of data for a power-limited AWGN channel using BPSK, with the > constraint that the encoder is a tiny device with just a few kbytes > and a few MIPS. The decoder can be very complex. > > Suggestions appreciated. > > John
Modern -> Turbo coding. Although simple block coding with either Golay or BCH may be enough. What do you know about the errors? I.e., the bit error rate and are the errors randomly distributed? And what would you like (greater that zero) to be the effective bit error rate? Is your channel very busy? Can the 80 actual data bits be expanded out to 100s or more bits? Basically a good model of the channel will be needed if you are trying to push for near optimal performance. IHTH, Clay

John wrote:
> Hi group, > > I'm wondering what the most practical and modern choice is for coding > 80 bits of data for a power-limited AWGN channel using BPSK, with the > constraint that the encoder is a tiny device with just a few kbytes > and a few MIPS. The decoder can be very complex.
80 bits is too small block for the advanced coding methods. Probably the best that you can do is the two stage system with the binary taibiting convolutional inner code and the nonbinary RS or BCH outer code. Unless you want to try something exotic like a system of 2^80 orthogonal signals :) The higher is the code redundancy, the better is the coding gain, but the worse is the carrier and the timing synch accuracy. So the system can appear to be limited by synch rather then by Eb/No.
> Suggestions appreciated.
What kind of errors do you expect? What kind of error rate at the output you can tolerate? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

clay@claysturner.com wrote:

> On Apr 14, 4:47 pm, John <sampson...@gmail.com> wrote: > >>Hi group, >> >>I'm wondering what the most practical and modern choice is for coding >>80 bits of data for a power-limited AWGN channel using BPSK, with the >>constraint that the encoder is a tiny device with just a few kbytes >>and a few MIPS. The decoder can be very complex. >> >>Suggestions appreciated. >> >>John > > > Modern -> Turbo coding.
Not for 80 bits. Random codes are getting efficient starting from the block size of 500 bits or so.
> Although simple block coding with either Golay > or BCH may be enough.
If the decoder complexity is not a problem, then the classic codes can be very well decoded by MAP algorithm.
> What do you know about the errors? I.e., the bit > error rate and are the errors randomly distributed? And what would you > like (greater that zero) to be the effective bit error rate? Is your > channel very busy? Can the 80 actual data bits be expanded out to 100s > or more bits? Basically a good model of the channel will be needed if > you are trying to push for near optimal performance.
Those are the good questions. BTW, it could appear that the ARQ scheme will produce better results then coding. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On Apr 14, 5:00 pm, c...@claysturner.com wrote:
> On Apr 14, 4:47 pm, John <sampson...@gmail.com> wrote: > > > Hi group, > > > I'm wondering what the most practical and modern choice is for coding > > 80 bits of data for a power-limited AWGN channel using BPSK, with the > > constraint that the encoder is a tiny device with just a few kbytes > > and a few MIPS. The decoder can be very complex. > > > Suggestions appreciated. > > > John > > Modern -> Turbo coding. Although simple block coding with either Golay > or BCH may be enough. What do you know about the errors? I.e., the bit > error rate and are the errors randomly distributed? And what would you > like (greater that zero) to be the effective bit error rate? Is your > channel very busy? Can the 80 actual data bits be expanded out to 100s > or more bits? Basically a good model of the channel will be needed if > you are trying to push for near optimal performance. > > IHTH, > Clay
Thanks for the feedback Clay. Right now I'm looking at DPSK + AWGN, so I think the decoder input errors come in twos. Coherent BPSK is also a possibility. The target is >= 99% of the 80-bit messages error free. The transmission can be expanded to a few hundred bits so long as memory footprint is low. I assume the channel is not busy. One of the tradeoffs is using five interleaved (31,16) BCH codewords vs one (127,78) BCH codeword. Rx can soft-correlate for 2^16 patterns, but not 2^78. Using hard decisions, the longer BCH has more coding gain, but by using short codewords I should get some soft decision gain, but I'm not sure how much. John

John wrote:


> One of the tradeoffs is using five interleaved (31,16) BCH codewords > vs one (127,78) BCH codeword.
Either soft decision or hard decision decoder for BCH 31.16 is a plain vanilla. BTW, the extended 32.16 code would be better: the Dmin is increased by 1 for the cost of one extra bit.
> Rx can soft-correlate for 2^16 patterns, but not 2^78.
There are much more efficient algorithms for the soft decision with the block codes: http://www.abvolt.com/research/research.htm#BCH%2032.21 Good book: "Trellis Coding" by Christian Schlegel.
> Using hard decisions, the longer BCH has more coding > gain, but by using short codewords I should get some soft decision > gain, but I'm not sure how much.
It depends on the error rate. Longer code with hard decisions will be better then the short code with soft decisions if the error rate is lower then some value. On the small codes, the difference in Eb/No between the soft and the hard decision is about 2dB. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On Apr 14, 8:30 pm, Vladimir Vassilevsky <antispam_bo...@hotmail.com>
wrote:
> John wrote: > > One of the tradeoffs is using five interleaved (31,16) BCH codewords > > vs one (127,78) BCH codeword. > > Either soft decision or hard decision decoder for BCH 31.16 is a plain > vanilla. BTW, the extended 32.16 code would be better: the Dmin is > increased by 1 for the cost of one extra bit. > > > Rx can soft-correlate for 2^16 patterns, but not 2^78. > > There are much more efficient algorithms for the soft decision with the > block codes: > > http://www.abvolt.com/research/research.htm#BCH%2032.21 > > Good book: "Trellis Coding" by Christian Schlegel. > > > Using hard decisions, the longer BCH has more coding > > gain, but by using short codewords I should get some soft decision > > gain, but I'm not sure how much. > > It depends on the error rate. Longer code with hard decisions will be > better then the short code with soft decisions if the error rate is > lower then some value. > > On the small codes, the difference in Eb/No between the soft and the > hard decision is about 2dB. > > Vladimir Vassilevsky > DSP and Mixed Signal Design Consultanthttp://www.abvolt.com
Thanks for the link. Lots of good stuff in there. John