Произведите проверку четности и матрицы генератора для Кода Хемминга
h = hammgen(m)
h = hammgen(m,pol)
[h,g] = hammgen(...)
[h,g,n,k] = hammgen(...)
Для всех синтаксисов длиной кодовой комбинации является n
. n
имеет форму 2 м - 1 для некоторого положительного целочисленного m
, больше, чем или равный 2. Длина сообщения, k
, имеет форму n
– m
.
h = hammgen(m)
производит m
-by-n
матрица проверки четности для Кода Хемминга, имеющего длину кодовой комбинации n = 2^m-1
. Вход m
является положительным целым числом, больше, чем или равный 2. Длиной сообщения кода является n
– m
. Бинарный примитивный полином, используемый, чтобы произвести Код Хемминга, является примитивным полиномом по умолчанию для GF (2^m
), представленный gfprimdf
(m)
.
h = hammgen(m,pol)
производит m
-by-n
матрица проверки четности для Кода Хемминга, имеющего длину кодовой комбинации n = 2^m-1
. Вход m
является положительным целым числом, больше, чем или равный 2. Длиной сообщения кода является n
– m
. pol
является вектором - строкой, который дает коэффициенты, в порядке возрастающих степеней, бинарного примитивного полинома для GF (2^m
), который используется, чтобы произвести Код Хемминга. Также можно задать pol
как полиномиальный вектор символов. hammgen
производит ошибку, если pol
представляет полином, который не, на самом деле, примитивен.
[h,g] = hammgen(...)
совпадает с h = hammgen(...)
за исключением того, что он также производит k
-by-n порождающая матрица g
, который соответствует матрице проверки четности h
. k
, длина сообщения, равняется n-m
или 2^m-1-m
.
[h,g,n,k] = hammgen(...)
совпадает с [h,g] = hammgen(...)
за исключением того, что он также возвращает длину кодовой комбинации n
и длина сообщения k
.
Если ваше значение m
будет меньше чем 25 и если ваш примитивный полином будет примитивным полиномом по умолчанию для GF (2^m
), синтаксис, то hammgen(m)
, вероятно, будет быстрее, чем синтаксис hammgen(m,pol)
.
В отличие от gftuple
, который обрабатывает один m
- кортеж за один раз, hammgen
генерирует целую последовательность от 0 до 2^m-1
. Алгоритм вычисления использует все ранее вычисленные значения, чтобы привести к результату вычисления.