exponenta event banner

rsenc

Кодировщик Рида-Соломона

Синтаксис

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

Описание

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