Searching \ for 'Reed-Solomon Error Correction with PIC - Oops' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: techref.massmind.org/techref/method/errors.htm?key=error+cor
Search entire site for: 'Reed-Solomon Error Correction with PIC - Oops'.

Truncated match.
PICList Thread
'Reed-Solomon Error Correction with PIC - Oops'
1998\03\19@184828 by Tom Mariner

flavicon
face
Hello Randie,

My previous message that contained no reply was going to ask why you didn't
consider another flavor of FEC, but then my eye caught your firm name and
it became clear that you had no choice -- your data is coming to you in
Reed-Solomon. We are in the process of using Convolutional / Viterbi which
in many of its incarnations gives good results too.

Tom

On Wednesday, March 18, 1998 5:47 PM, Tom Mariner
[SMTP:spam_OUTTom_MarinerTakeThisOuTspamEMAIL.MSN.COM] wrote:
{Quote hidden}

PIC.
> > >
> > > Thanks in advance,
> > >
> > > -Randie
> > > .....rohtsjiKILLspamspam.....glenayre.com
> > >
> >

1998\03\19@184828 by Tom Mariner

flavicon
face
Hello Randie,

My previous message that contained no reply was going to ask why you didn't
consider another flavor of FEC, but then my eye caught your firm name and
it became clear that you had no choice -- your data is coming to you in
Reed-Solomon. We are in the process of using Convolutional / Viterbi which
in many of its incarnations gives good results too.

Tom

On Wednesday, March 18, 1998 5:47 PM, Tom Mariner
[SMTP:EraseMETom_Marinerspam_OUTspamTakeThisOuTEMAIL.MSN.COM] wrote:
{Quote hidden}

PIC.
> > >
> > > Thanks in advance,
> > >
> > > -Randie
> > > KILLspamrohtsjiKILLspamspamglenayre.com
> > >
> >

1998\03\19@194227 by ndie Ohtsji [4555]

flavicon
face
Hi Tom,

Actually we have control at both the sending and receiving end, so
other types of FEC may be considered.  How does Convolutional/Viterbi
compare to RS?  Are you doing this with a PIC?  I've seen some
FEC engines out there (just poking around on the web) for both
RS and Viterbi.  My requirements for data throughput and length
are quite small (throughput between 5-10Kbps, packet length
between 15-150 bytes) but transmission is one-way over an RF link
and would like to try to avoid sending duplicate packets.  Want
to use a PIC for both encoding and decoding.

Regards,

-Randie
RemoveMErohtsjiTakeThisOuTspamglenayre.com


{Quote hidden}

1998\03\19@210540 by Mike Keitz

picon face
On Thu, 19 Mar 1998 16:15:10 -0800 "Randie Ohtsji [4555]"
<RemoveMErohtsjiTakeThisOuTspamspamGLENVAN.GLENAYRE.COM> writes:
>Hi Tom,
>
>Actually we have control at both the sending and receiving end, so
>other types of FEC may be considered.  How does Convolutional/Viterbi
>compare to RS?  Are you doing this with a PIC?

I've been kicking this idea around for a while, but don't quote me as an
expert.  I don't understand very much of the theory since the literature
presents it from an abstract math viewpoint that I just can't get a grip
on.  But I'm always trying to learn more, so I'm glad to see some
discussion.

I have taken one of the C-language RS "engines" and crunched it into
decently-effective PIC assembler.  It appears that a 20 MHz PIC would be
able to keep up with 128-byte blocks sent at about 30 Kbps.  However, in
order for RS to be really effective in most situations, especially radio,
it should be interleaved.  The two downsides to that are that the encoder
and decoder need more RAM, and there is a delay in transmission.  This is
the project that's waiting for a PIC with about 2Kbyte of RAM.

The RS encoder/decoder takes about 500 PIC instructions to store and
something like 20000 cycles to execute.  Also 2 lookup tables of 2^N x N
bits are required where N is the number of bits you use per symbol.  In
the commonly used case of 8 bits per symbol, that would be 512 bytes of
tables.  I used 7 bits per symbol, so the tables are 128 x 7 bits.  One
thing I didn't like about the C decoder was that it used a time-consuming
process to find the syndrome from the received data and parity.  It seems
that that could be done in a single pass similar to how the encoder works
by using some sort of "error check polynomial" in place of the "generator
polynomial."  But I lack the theory background to know how.

I didn't try much with a convolutional code.  These codes seem more for
continuous use than intermittently-sent "packets".  It appeared to me
that implementing a Viterbi decoder on a general-purpose processor like a
PIC would require considerably more processing power than a similar RS
system.

Another neat thing about RS is that you can improve the recovery of data
by using "erasures".  If some part of your radio receiver can tell the
decoder that a particular received symbol is almost certainly wrong,
twice as many of these "erased" symbols can be recovered as ones that
have to be detected as erroneous first.  For example, if the radio loses
carrier, detects impulse noise, or appears to lose bit sync (a bit comes
in that crosses zero near of it's bit cell is almost certainly wrong), it
can flag erasures to the ECC decoder.

Or if you RS a block, then interleave these blocks and RS them again, a
block that is unrecoverable from the first pass would be marked as erased
and quite likely recovered in the second pass (the erased symbols would
be scattered through many blocks for the second pass).  This is how CDs
work (data CD's have a third pass of RS after that, so unrecoverable
errors are *really* rare).  It defintely took two twisted minds to come
up with Reed-Solomon code.

_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

More... (looser matching)
- Last day of these posts
- In 1998 , 1999 only
- Today
- New search...