II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
Раздел "Обработка сигналов и изображений\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.

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


О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры