Documentation

This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

rsenc

Reed-Solomon encoder

Syntax

```code = rsenc(msg,n,k) code = rsenc(msg,n,k,genpoly) code = rsenc(...,paritypos) ```

Description

`code = rsenc(msg,n,k)` encodes the message in `msg` using an [`n`,`k`] Reed-Solomon code with the narrow-sense generator polynomial. `msg` is a Galois array of symbols having m bits each. Each `k`-element row of `msg` represents a message word, where the leftmost symbol is the most significant symbol. `n` is at most 2m-1. If `n` is not exactly 2m-1, `rsenc` uses a shortened Reed-Solomon code. Parity symbols are at the end of each word in the output Galois array `code`.

`code = rsenc(msg,n,k,genpoly)` is the same as the syntax above, except that a nonempty value of `genpoly` specifies the generator polynomial for the code. In this case, `genpoly` is a Galois row vector that lists the coefficients, in order of descending powers, of the generator polynomial. The generator polynomial must have degree `n-k`. To use the default narrow-sense generator polynomial, set `genpoly` to `[]`.

`code = rsenc(...,paritypos)` specifies whether `rsenc` appends or prepends the parity symbols to the input message to form `code`. `paritypos` can be either `'end'` or `'beginning'`. The default is `'end'`.

Examples

collapse all

Set the code parameters.

```m = 3; % Number of bits per symbol n = 2^m - 1; % Codeword length k = 3; % Message length```

Create two messages based on GF(8).

`msg = gf([2 7 3; 4 0 6],m)`
``` msg = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal) Array elements = 2 7 3 4 0 6 ```

Generate RS (7,3) codewords.

`code = rsenc(msg,n,k)`
``` code = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal) Array elements = 2 7 3 3 6 7 6 4 0 6 4 2 2 0 ```

The codes are systematic so the first three symbols of each row match the rows of `msg`.

Limitations

`n` and `k` must differ by an integer. `n` between 7 and 65535.