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

Список функций CommunicationsToolbox: Утилиты

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

ISTRELLIS
Проверка того, является ли объект таблицей переходов сверточного кода

Синтаксис

[isok,status] = istrellis(s);

Описание

    [isok,status] = istrellis(s)

Функция проверяет, является ли входной параметр s структурой, описывающей таблицу переходов сверточного кода. Если проверка дает положительный результат, выходной параметр isok равен 1, а выходной параметр status представляет собой пустую строку. В противном случае результат isok равен 0, а в выходном параметре status возвращается строка, описывающая, почему входной параметр s не может служить описанием сверточного кода.

Корректное описание сверточного кода представляет собой MATLAB-структуру, поля которой описаны в следующей таблице.

Таблица. Поля структуры описания сверточного кода, имеющего скорость k/n

Имя поля структуры Размерность Назначение
numInputSymbols Скаляр Число возможных входных символов: 2k
numOutputsymbols Скаляр Число возможных выходных символов: 2n
numStates Скаляр Число внутренних состояний кодера
nextStates Матрица: numStates строк, 2k столбцов Таблица переходов, указывающая состояния кодера, в которые осуществляется переход, для всех комбинаций текущего состояния и входного символа
outputs Матрица: numStates строк, 2k столбцов Таблица формирования выходного сигнала, содержащая значения выходных символов для всех комбинаций текущего состояния и входного символа

Элементы матрицы nextStates должны представлять собой целые числа в диапазоне от 0 до numStates–1. Элемент в s-й строке и u-м столбце указывает следующее состояние кодера, в которое осуществляется переход, если текущее состояние равно s – 1, а входной символ имеет десятичное представление u – 1. При преобразовании входных битов в десятичное представление первый входной бит должен считаться старшим (MSB). Например, второй столбец матрицы nextStates содержит номера состояний, в которые осуществляется переход, если входной символ представляет собой последовательность бит {0, ..., 0, 1}.

Для получения десятичных значений внутренних состояний кодера используется следующее правило. Если k больше 1, то тот элемент памяти кодера, который получает первый (по времени) бит входного символа, соответствует младшим двоичным разрядам номера состояния, а тот элемент памяти кодера, который получает последний бит входного символа, соответствует старшим двоичным разрядам номера состояния.

Элемент матрицы outputs, расположенный в s-й строке и u-м столбце, указывает выходной символ, генерируемый кодером, когда текущее состояние равно s – 1, а входной символ имеет десятичное представление u – 1. При преобразовании выходных битов в десятичное представление первый выходной бит должен считаться старшим (MSB).

Примеры

Приведенные ниже команды задают значения полей для описания очень простого сверточного кода и производят проверку корректности созданной структуры.

trellis.numInputSymbols = 2;
trellis.numOutputSymbols = 2;
trellis.numStates = 2;
trellis.nextStates = [0 1;0 1];
trellis.outputs = [0 0;1 1];
[isok,status] = istrellis(trellis)

isok =

     1

status =

     ' '

Сопутствующие функции: poly2trellis, struct, convenc, vitdec.

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


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

Система Orphus

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