Доклад: Теория кодирования в среде MATLAB
Пакет Communications Toolbox
Применяется научными, коммерческими и военными организациями для разработки новых алгоритмов кодирования, шифрования, модуляции и передачи данных с учетом различных эффектов искажения и интерференции. Ключевые возможности
Средства вычислений в конечных полях Галуа.
Средства визуализации сигналов: глазковая диаграмма, сигнальное созвездие и др.
Специальные средства визуализации нестационарных параметров канала.
Средства вычисления, анализа и сравнения коэффициента битовой ошибки (BER).
Готовые функции и средства разработки алгоритмов кодирования источника, помехоустойчивого кодирования, перемежения, модуляции, демодуляция и эквализации.
Генерация проверочной и порождающей матриц для кода Хэмминга
Синтаксис:
h = hammgen(m); h = hammgen(m,pol); [h,g] = hammgen(...); [h,g,n,k] = hammgen(...);
Описание:
Для всех вариантов синтаксиса длина кодового слова обозначается как n. Величина n равна 2m – 1 для некоторого целочисленного m, большего или равного трем. Длина блока исходного сообщения обозначается как k, она равна n – m.
Пример:
Приведенная ниже команда выводит на экран проверочную и порождающую матрицы для кода Хэмминга с длиной кодового слова 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
Генерация порождающего полинома для циклического кода
Синтаксис:
pol = cyclpoly(n,k); pol = cyclpoly(n,k,opt);
Описание:
Для всех вариантов синтаксиса полином представляется в виде строки, содержащей коэффициенты полинома в порядке возрастания степеней.
pol = cyclpoly(n,k)
Возвращает вектор-строку, представляющий один из нетривиальных порождающих полиномов для циклического кода с длиной кодового слова n и длиной блока исходного сообщения k.
pol = cyclpoly(n,k,opt)
Производит поиск одного или нескольких нетривиальных порождающих полиномов для циклических кодов с длиной кодового слова n и длиной блока исходного сообщения k. Результат pol зависит от входного параметра opt.
Пример:
--> ЧИТАТЬ ПОЛНОСТЬЮ <--