exponenta event banner

rsgenpoly

Генераторный многочлен кода Рида - Соломона

Описание

пример

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

пример

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(___) также возвращает возможность исправления ошибок [N,K] код Рида-Соломона, T, используя любой из предыдущих синтаксисов входных аргументов.

Примеры

свернуть все

Укажите длину кодового слова, nи длина сообщения, k.

n = 7;
k = 3;

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

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

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

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

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

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

Укажите длину кодового слова, 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

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

Укажите длину кодового слова, n, длина сообщения, k, примитивный многочлен, представленный в десятичной форме, и экспонента α, b.

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

Создайте полином генератора для [n,k] Код Рида-Соломона. 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

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

Укажите длину кодового слова, nи длина сообщения, k.

n = 7;
k = 3;

Создайте полином генератора узкого смысла для [n,k] Код Рида-Соломона. 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' - вывод массива значений поля Галуа с двойной точностью.

Дополнительные сведения см. в разделе Работа с полями Galois.

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

свернуть все

Коэффициенты полинома генератора в порядке убывания, возвращаемые как массив поля Галуа или массив двойной точности. genpoly - вектор строки, который представляет коэффициенты полинома генератора узких чувств для [N,K] Код Рида-Соломона в порядке убывания сил.

Способность кода исправлять ошибки, возвращаемая в виде положительного целого числа, равного ⌊ (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), (2m+ 1-1)] и должен указывать неприводимый многочлен. Дополнительные сведения см. в разделе Примитивные полиномы и представления элементов.

Значение мПолином примитива по умолчаниюЦелочисленное представление
1D + 13
2D2 + D + 17
3D3 + D + 111
4D4 + D + 119
5D5 + D2 + 137
6D6 + D + 167
7D7 + D3 + 1137
8D8 + D4 + D3 + D2 + 1285
9D9 + D4 + 1529
10D10 + D3 + 11033
11D11 + D2 + 12053
12D12 + D6 + D4 + D + 14179
13D13 + D4 + D3 + D + 18219
14D14 + D10 + D6 + D + 117475
15D15 + D + 132771
16D16 + D12 + D3 + D + 169643

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

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