MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
Обработка сигналов и изображений\Communications Toolbox

Список функций CommunicationsToolbox: Помехоустойчивое кодирование и декодирование

  В оглавление \ К следующему разделу \ К предыдущему разделу

HAMMGEN
Генерация проверочной и порождающей
матриц для кода Хэмминга

Синтаксис:

h = hammgen(m);
h = hammgen(m,pol);
[h,g] = hammgen(...);
[h,g,n,k] = hammgen(...);

Описание:

Для всех вариантов синтаксиса длина кодового слова обозначается как n. Величина n равна 2m – 1 для некоторого целочисленного m, большего или равного трем. Длина блока исходного сообщения обозначается как k, она равна n – m.

  • h = hammgen(m)

Возвращает проверочную матрицу (m строк, n столбцов) для кода Хэмминга с длиной кодового слова n = 2m – 1. Входной параметр m должен быть целым числом, большим или равным трем. Длина блока исходного сообщения для получаемого кода равна n – m. Для получения кода Хэмминга применяется двоичный примитивный полином, используемый в MATLAB по умолчанию для конечного поля GF(2m). Этот полином рассчитывается с помощью функции gfprimdf(m).

  • h = hammgen(m,pol)

То же, что и предыдущий вариант синтаксиса, но второй входной параметр pol в явном виде задает примитивный полином над конечным полем GF(2m), используемый для получения кода Хэмминга. Этот параметр должен представлять собой вектор-строку и содержать коэффициенты полинома в порядке возрастания степеней. Если полином, представляемый параметром pol, не является примитивным, функция выдает сообщение об ошибке.

  • [h,g] = hammgen(...)

То же, что предыдущие варианты синтаксиса, но в данном случае наряду с проверочной функция возвращает и порождающую матрицу кода — выходной параметр g (k строк, n столбцов). Длина блока исходного сообщения, k, равна n – m, или, что то же самое, 2m – 1 – m.

  • [h,g,n,k] = hammgen(...)

То же, что предыдущий вариант синтаксиса, но наряду с проверочной и порождающей матрицами кода функция возвращает также длину кодового слова n и длину блока исходного сообщения k.

Замечание. Если значение m не превышает 25 и для генерации кода используется примитивный полином по умолчанию, синтаксис hammgen(m) скорее всего окажется более быстрым, чем hammgen(m,pol).

Примеры:

Приведенная ниже команда выводит на экран проверочную и порождающую матрицы для кода Хэмминга с длиной кодового слова 7 = 23 – 1 и длиной блока исходного сообщения 4 = 7 – 3.

[h,g,n,k] = hammgen(3)

h =
1 0 0 1 0 1 1
0 1 0 1 1 1 0
0 0 1 0 1 1 1

g =
1 1 0 1 0 0 0
0 1 1 0 1 0 0
1 1 1 0 0 1 0
1 0 1 0 0 0 1

n = 7

k = 4

Следующая команда использует явно заданный примитивный полином 1 + x2 + x3, показывая тем самым, что вид проверочной матрицы зависит от выбора примитивного полинома. Чтобы в этом убедиться, сравните выведенную ниже матрицу h1 с матрицей h из предыдущего примера.

h1 = hammgen(3,[1 0 1 1])

h1 =
1 0 0 1 1 1 0
0 1 0 0 1 1 1
0 0 1 1 1 0 1

Сопутствующие функции: gftuple, gfrepcov, gfprimck, gfprimfd, gfprimdf.

  В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика