rsenc

Кодер Рида-Соломона

Синтаксис

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

Описание

code = rsenc(msg,n,k) кодирует сообщение в msg использование [nK] Код Рида-Соломона с порождающим полиномом узкого смысла. msg массив Галуа символов, имеющих m биты каждый. Каждый k- строка элемента msg представляет слово сообщения, где крайний левый символ является старшим значащим символом. n самое большее 2m- 1. Если n не точно 2m- 1, rsenc использует сокращенный код Рида-Соломона. Символами четности является в конце каждого слова в выходном массиве Галуа code.

code = rsenc(msg,n,k,genpoly) совпадает с синтаксисом выше, за исключением того, что непустое значение genpoly задает порождающий полином для кода. В этом случае, genpoly вектор-строка Галуа, который перечисляет коэффициенты, в порядке убывающих степеней, порождающего полинома. Порождающий полином должен иметь степень n-k. Чтобы использовать порождающий полином узкого смысла по умолчанию, установите genpoly к [].

code = rsenc(...,paritypos) задает ли rsenc добавляет или предварительно ожидает символы четности к входному сигналу, чтобы сформировать code. paritypos может быть любой 'end' или 'beginning'. Значением по умолчанию является 'end'.

Примеры

свернуть все

Установите параметры кода.

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

Создайте два сообщения на основе 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

Сгенерируйте RS (7,3) кодовые комбинации.

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

Коды систематичны, таким образом, первые три символа каждой строки совпадают со строками msg.

Ограничения

n и k должен отличаться целым числом. n между 7 и 65535.

Представлено до R2006a