Note that there are some explanatory texts on larger screens.

plurals
  1. POForward error correction using Reed-Solomon Erasure Correction
    primarykey
    data
    text
    <p>I have the task of encoding and decoding some bytes of sound using parity checksum method and <a href="http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction" rel="nofollow">Reed-Solomon Erasure Correction</a>. I've done my encoding for first method(parity checksum) but need help completing the second method which is detection by Reed-Solomon Erasure Correction.</p> <p>So far I know that, RS code adds <code>t</code> symbols to <code>k</code> symbols of data. So it is able to locate and correct up to <code>t/2</code> symbols or if the error locations are known so called erasures. It can correct up to <code>t</code>. For this task I have to use Galois field GF(2<sup>8</sup>) to represent each symbol as a byte. Operation addition and subtraction are based on XOR. So over all I have to employ Reed-Solomon codes that are capable of correction up to <code>t=3</code> erasures. The computation of a single Reed Solomon code in now as follow</p> <pre>C<sub>0</sub> | C<sub>1</sub> |........| C<sub>k-1</sub> | C<sub>k</sub> | C<sub>k+1</sub> | C<sub>k+2</sub></pre> <p>so the code bytes can be viewed as vector <code>c=[c<sub>0</sub>,c<sub>1</sub>,...,c<sub>k+2</sub>]</code> and a single code <code>C</code> is computed from k bytes of data as follow <code>d=[d<sub>0</sub>,d<sub>1</sub>,...,d<sub>k-1</sub>]</code>, so my encoding and decoding process require the following Vandermonde matrix F</p> <pre> 1 1 1<sup>2</sup> 1<sup>3</sup> ... 1<sup>k-1</sup> 1 2 2<sup>2</sup> 2<sup>3</sup> ... 2<sup>k-1</sup> ... 1 k+2 (k+2)<sup>2</sup> (k+2)<sup>3</sup> ... (k+2)<sup>k-1</sup> 1 k+3 (k+3)<sup>2</sup> (k+3)<sup>3</sup> ... (k+3)<sup>k-1</sup> </pre> <p>so a simple matrix vector multiplication using <code>F</code> &amp; <code>D</code> we get <code>C=F.D</code>.</p> <p>so far what I did for encoding is as follow :</p> <pre><code>#else void fox_encode(Buffer* bufin, Buffer* bufout, FoxEncData* algorithm_data){ // Your encoder for Task 2.C.3 goes in here !!! while (bufin-&gt;size &gt;= 1){ guint8 databyte = bufin-&gt;data[0]; //Pick up a byte from input buffer buffer_push_byte (bufout, databyte); //Send it 3 times buffer_push_byte (bufout, databyte); buffer_push_byte (bufout, databyte); buffer_pop (bufin, 1); //Remove it from the input buffer } } #endif </code></pre> <p>I need code to complete this code for encoding and decoding my fox_encode and fox_decode class using Reed-Solomon Erasure Correction. Any Help will be appreciated to complete this task as soon as possible.</p> <p>Thanks in advance </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload