rsenc

Энкодер тростника-Solomon

Синтаксис

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

Описание

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