rsgenpoly

Полином генератора кода Рида-Соломона

Описание

пример

genpoly = rsgenpoly(N,K) возвращает полином генератора узкого смысла [NK] Код тростника-Solomon. Выход genpoly массив Поля Галуа, который представляет коэффициенты полинома генератора в порядке убывающих степеней. Узкий смысл код BCH является кодом BCH с B = 1. Здесь, полином генератора узкого смысла (X – α 1) (X – α 2)... (X – α NK), где α является корнем примитивного полинома по умолчанию для поля GF (N+1). Для получения дополнительной информации смотрите Узкий смысл Коды BCH и Коды Тростника-Solomon.

пример

genpoly = rsgenpoly(N,K,prim_poly) также задает примитивный полином, prim_poly, для GF (N+1) это имеет α как корень.

пример

genpoly = rsgenpoly(N,K,prim_poly,B) возвращает полином генератора, (X – α B) (X – α B+1).. (X – α B+NK – 1), где B целое число.

пример

genpoly = rsgenpoly(N,K,prim_poly,B,outputFormat) задает выходной формат genpoly как массив Поля Галуа или массив с двойной точностью.

пример

[genpoly,T] = rsgenpoly(___) также возвращает возможность исправления ошибок [NK] Код тростника-Solomon, T, использование любого из предыдущих синтаксисов входного параметра.

Примеры

свернуть все

Задайте длину кодовой комбинации, n, и передайте длину, k.

n = 7;
k = 3;

Создайте полином генератора узкого смысла для [n, k] код Тростника-Solomon. genpoly массив Поля Галуа, по умолчанию, который представляет коэффициенты этого полинома генератора в порядке убывающих степеней.

genpoly = rsgenpoly(n,k)
 
genpoly = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)
 
Array elements = 
 
   1   3   1   2   3

Создайте полином генератора узкого смысла кода Тростника-Solomon относительно примитивного полинома D3+D2+1.

Задайте длину кодовой комбинации, n, передайте длину, k, и примитивный полином D3+D2+1 представленный в десятичной форме.

n = 7;
k = 3;
prim_poly = 13;

Создайте полином генератора узкого смысла для [nK] Код тростника-Solomon относительно примитивного полинома D3+D2+1 для GF (8). genpoly массив Поля Галуа, по умолчанию, которые представляют коэффициенты этого полинома генератора в порядке убывающих степеней.

genpoly = rsgenpoly(n,k,prim_poly)
 
genpoly = GF(2^3) array. Primitive polynomial = D^3+D^2+1 (13 decimal)
 
Array elements = 
 
   1   4   5   1   5

Создайте полином генератора кода Тростника-Solomon относительно примитивного полинома по умолчанию.

Задайте длину кодовой комбинации, n, передайте длину, k, и экспонента αB.

n = 7;
k = 3;
b = 4;

Создайте полином генератора (X-α4)(X-α5)(X-α6)(X-α7), относительно примитивного полинома по умолчанию. genpoly массив Поля Галуа, который представляет коэффициенты этого полинома генератора в порядке убывающих степеней. Отобразите поддержку с коррекцией ошибок кода.

[genpoly,t] = rsgenpoly(n,k,[],b)
 
genpoly = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)
 
Array elements = 
 
   1   5   5   3   2
t = 2

Создайте полином генератора кода Тростника-Solomon относительно примитивного полинома D8+D4+D3+D2+1.

Задайте длину кодовой комбинации, n, передайте длину, k, примитивный полином, представленный в десятичной форме и экспоненте αB.

n = 255;
k = 239;
prim_poly = 285;
b = 0;

Создайте полином генератора для [nK] Код тростника-Solomon. genpoly массив Поля Галуа, который представляет полином генератора и совместим с DVB-S и WiMAX.

genpoly = rsgenpoly(n,k,prim_poly,b)
 
genpoly = GF(2^8) array. Primitive polynomial = D^8+D^4+D^3+D^2+1 (285 decimal)
 
Array elements = 
 
  Columns 1 through 13

     1    59    13   104   189    68   209    30     8   163    65    41   229

  Columns 14 through 17

    98    50    36    59

Создайте полином генератора узкого смысла кода Тростника-Solomon. Задайте тип выходных данных как массив с двойной точностью.

Задайте длину кодовой комбинации, n, и передайте длину, k.

n = 7;
k = 3;

Создайте полином генератора узкого смысла для [nK] Код тростника-Solomon. genpoly массив с двойной точностью, который представляет коэффициенты этого полинома генератора в порядке убывающих степеней. Задайте значения значений по умолчанию для примитивного полинома и экспоненты α входные параметры путем присвоения [] для них.

genpoly = rsgenpoly(n,k,[],[],'double')
genpoly = 1×5

     1     3     1     2     3

Входные параметры

свернуть все

Длина кодовой комбинации в виде целого числа формы N = 2M – 1, где M находится в области значений [3,16]. Для получения дополнительной информации смотрите Ограничения.

Пример: установите N к 15 для M=4.

Передайте длину в виде положительного целого числа. Для получения дополнительной информации смотрите Ограничения.

Примитивный полином в виде положительного целого числа. prim_poly целое число, бинарное представление которого указывает на коэффициенты примитивного полинома. Использовать примитивный полиномиальный GF по умолчанию (N+1), установите prim_poly к []. Для получения дополнительной информации смотрите Примитивные Полиномы По умолчанию.

Пример: 19 задает примитивный полиномиальный D4+D+1 потому что его бинарное представление 10011.

Экспонента α в виде положительного целого числа. α является корнем prim_poly.

Выходной формат genpolyВ виде:

  • 'gf' — выводить массив Поля Галуа.

  • 'double' — выводить массив с двойной точностью значений Поля Галуа.

Для получения дополнительной информации смотрите Работу с Полями Галуа.

Выходные аргументы

свернуть все

Коэффициенты полинома генератора в порядке убывания, возвращенный как массив Поля Галуа или массив с двойной точностью. genpoly вектор-строка, который представляет коэффициенты полинома генератора узкого смысла [NK] Код тростника-Solomon в порядке убывающих степеней.

Поддержка исправления ошибок кода, возвращенного как положительное целое число, равняется ⌊ (N K)/2⌋.

Ограничения

  • Допустимые значения для N = 2M – 1, где M является целым числом в области значений [3,16]. Максимальное допустимое значение N = 216 – 1 = 65,535.

  • Допустимые значения для K = [1, N – 1].

Больше о

свернуть все

Примитивные полиномы по умолчанию

Эта таблица приводит примитивный полином по умолчанию, используемый для каждого GF Поля Галуа массивов (2m). Чтобы использовать различный примитивный полином, задайте prim_poly как входной параметр. prim_poly должен быть в области значений [(2m + 1), (2m+1 – 1)] и должен указать на неприводимый полином. Для получения дополнительной информации смотрите Примитивные Полиномы и Представления Элемента.

Значение mПримитивный полином по умолчаниюЦелочисленное представление
1D + 13
2D 2 + D + 17
3D 3 + D + 111
4D 4 + D + 119
5D 5 + D 2 + 137
6D 6 + D + 167
7D 7 + D 3 + 1137
8D 8 + D 4 + D 3 + D 2 + 1285
9D 9 + D 4 + 1529
10D 10 + D 3 + 11033
11D 11 + D 2 + 12053
12D 12 + D 6 + D 4 + D + 14179
13D 13 + D 4 + D 3 + D + 18219
14D 14 + D 10 + D 6 + D + 117475
15D 15 + D + 132771
16D 16 + D 12 + D 3 + D + 169643

Расширенные возможности

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