Jeff King wrote in a message to Mike Bilow:

 JK> Quite off topic, but can you recommend any reading material on 
 JK> FEC. I am looking for a small implementation of FEC for a PIC 
 JK> microprocessor.... if you had any 'C' examples that would be 
 JK> great.

Sorry about the delayed response.  Start with "The Error Correcting Codes Home
Page" at "http://hideki.iis.u-tokyo.ac.jp/~robert/codes.html".  Although his
links and code examples are fantastic, I have to say that I don't share his
enthusiasm for the books he recommends.  Sure, they are classics of the
literature, but they are heavily theoretical, expensive, and hard to get.

Vera Pless' "Introduction to the Theory of Error-Correcting Codes" is much more
up to date, the 3rd edition published in July 1998.  This is as close as you
come to a standard college textbook on the subject.  It is still fairly
theoretical, but it covers all of the modern techniques.  This is important,
because commonplace things like Reed-Solomon codes were considered fairly
exotic stuff only 15 years ago when their major user was NASA for its deep
space probes, but now they are in your CD player.

A recent book that is worth considering, although quite expensive, is Richard
Wells' "Applied Coding and Information Theory for Engineers."  It is aimed at
becoming a textbook to supplant Pless' very successful one, competing mostly by
giving more attention to the practical implementation and decreasing the
theoretical treatment.  Depending upon whether you see this as good or bad, it
might be easier to follow than Pless.

One of the best practical books written for the engineer rather than the
mathematician is A. D. Houghton's "Engineer's Error Coding Handbook," for which
all of the book's copious source code is available on the web at
"http://www.shef.ac.uk/uni/academic/D-H/eee/esg/research/errcode/errcode.html"
(albeit in Pascal).  For someone whose interest is the PIC, this book might be
just the right approach.

Benjamin Arazi's "A Commonsense Approach to the Theory of Error Correcting
Codes" has the significant advantage of being half the price of any competitor,
but it is really too short to cover a lot of the interesting stuff.
Nevertheless, it is organized to serve as a ready reference.

Speaking as someone who has spent a fair amount of time programming PICs, you
will need to rework a lot of the textbook examples to get them to run in the
limited memory constraints of a PIC.  Ordinarily, precomputed tables are used
to speed up the initial stages of polynomial arithmetic, but this is not a good
strategy in a PIC where you are usually short of registers but have some
processing power to burn.  Exactly how you tweak these classic memory/time
trade-offs will require a more thorough understanding of the underlying math
than might otherwise be needed.
 
-- Mike

Reply via email to