|
|
|
|
|
by klodolph
1320 days ago
|
|
Some additions, as "exercise for the reader": 1. The finite field you choose has a minimum size. What is the minimum size field 2^bits for an RS(N,K) coding system? What happens when you try to construct a Reed-Solomon code with a finite field that is too small? 2. Consider a Reed-Solomon coding system which uses a lookup table for the finite field multiplication operation that fits in L1 cache. Given that the table already fits in L1 cache, how could you make the encoder/decoder faster, if you had a smaller finite field? |
|
Your field size must be at least N+1, noting that you shouldn't use the value 0 in the encoding matrix.
> What happens when you try to construct a Reed-Solomon code with a finite field that is too small?
Your system of linear equations doesn't have enough linearly independent equations.
> how could you make the encoder/decoder faster
Maybe put the lookup table in a 64-bit general-purpose register and use bit shifting, or in a 128/256/512-bit SIMD register and use extraction instructions (shuffle bytes, etc.).