MATLAB è Simulink íà ðóññêîì

https://hub.exponenta.ru/
Обработка сигналов и изображений\Communications Toolbox

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

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

SYNDTABLE
Генерация таблицы зависимости векторов ошибок
от синдрома (таблицы декодирования) для двоичных кодов

Синтаксис:

t = syndtable(parmat);

Описание:

t = syndtable(parmat)

Возвращает таблицу декодирования для двоичного корректирующего кода с длиной кодового слова n и длиной сообщения k. Параметр parmat — проверочная матрица кода, имеющая (n – k) строк и n столбцов. Результат t — двоичная матрица, содержащая 2n – k строк и n столбцов. r-я строка матрицы t представляет собой вектор ошибок для принятого двоичного кодового слова, синдром декодирования которого имеет десятичное целочисленное значение r – 1. (Синдром декодирования равен произведению принятого кодового слова и транспонированной проверочной матрицы.) Иными словами, строки матрицы t представляют собой лидеры смежных классов (coset leaders) из стандартного расположения (standard array) для данного кода.

При преобразовании десятичных величин в двоичные и наоборот левый столбец двоичных матриц интерпретируется как двоичная цифра старшего разряда. Это отличается от соглашения, которое по умолчанию используется функциями bi2de и de2bi.

Примеры:

Приведенные ниже команды вычисляют таблицу декодирования для кода Хэмминга (7, 4). Данный код имеет кодовое расстояние 3 и, следовательно, позволяет обнаруживать двукратные и исправлять однократные ошибки.

m = 3; n = 2^m-1; k = n-m;
parmat = hammgen(m); % Проверочная матрица
trt = syndtable(parmat) % Таблица декодирования
trt =

     0     0     0     0     0     0     0
     0     0     1     0     0     0     0
     0     1     0     0     0     0     0
     0     0     0     0     1     0     0
     1     0     0     0     0     0     0
     0     0     0     0     0     0     1
     0     0     0     1     0     0     0
     0     0     0     0     0     1     0

Первая строка таблицы декодирования соответствует случаю отсутствия ошибок при приеме. Остальные строки содержат все семь возможных векторов однократных ошибок, исправляемых данным кодом.

Декодирование с использованием данной таблицы осуществляется следующим образом. Сначала путем умножения принятого кодового слова на транспонированную проверочную матрицу вычисляется синдром декодирования. Пусть он оказывается равным, например, [0 1 0]. Десятичное значение синдрома равно 2. Соответствующий вектор ошибок, таким образом, следует брать из третьей (2 + 1) строки таблицы декодирования:

trt(3,:)
ans =

     0     1     0     0     0     0     0

Полученный вектор ошибок необходимо прибавить (по модулю два) к принятому кодовому слову. Итак, в данном примере для исправления однократной ошибки следует инвертировать второй разряд принятого кодового слова.

Сопутствующие функции: decode, hammgen, gfcosets

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


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


Система Orphus