rsgenpoly

Полином генератора кода Тростника-Solomon

Синтаксис

genpoly = rsgenpoly(N,K)
genpoly = rsgenpoly(N,K,prim_poly)
genpoly = rsgenpoly(N,K,prim_poly,B)
genpoly = rsgenpoly(N,K,prim_poly,B,outputFormat)
[genpoly,T] = rsgenpoly(___)

Описание

пример

genpoly = rsgenpoly(N,K) возвращает полином генератора узкого смысла [N, K] код Тростника-Solomon. Вывод genpoly является массивом Поля Галуа, который представляет коэффициенты полинома генератора в порядке убывающих степеней. Полином генератора узкого смысла (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 +N–K – 1), где B является целым числом.

пример

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

пример

[genpoly,T] = rsgenpoly(___) также возвращает возможность исправления ошибок [N, K] код Тростника-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;

Создайте полином генератора узкого смысла для [n, k] код Тростника-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;

Создайте полином генератора узкого смысла для [n, k] код Тростника-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;

Создайте полином генератора узкого смысла для [n, k] код Тростника-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 является вектором - строкой, который представляет коэффициенты полинома генератора узкого смысла [N, K] код Тростника-Solomon в порядке убывающих степеней.

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

Ограничения

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

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

Больше о

свернуть все

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

Эта таблица приводит примитивный полином по умолчанию, используемый для каждого GF Поля Галуа массивов (2M). Чтобы использовать различный примитивный полином, задайте prim_poly как входной параметр. prim_poly должен быть в области значений [(2M+1), (2 (M +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