istrellis

True для допустимой структуры шпалеры

Синтаксис

[isok,status] = istrellis(s)

Описание

[isok,status] = istrellis(s) проверяет, является ли вход s является допустимой структурой шпалеры. Если вход является допустимой структурой шпалеры, isok равен 1 и status - пустой символьный вектор. В противном случае isok 0 и status указывает, почему s не является допустимой структурой решетки.

Допустимой структурой шпалеры является структура MATLAB, поля которой соответствуют приведенной ниже таблице.

Поля действительной структуры треллиса для кода скорости k/n 

Поле в шпалерной структуреРазмерностиЗначение
numInputSymbolsСкаляр Количество входа символов в энкодер: 2k
numOutputSymbolsСкаляр Количество выхода символов от энкодера: 2n
numStatesСкаляр Количество состояний в энкодере
nextStatesnumStates-by-2k матрица Следующие состояния для всех комбинаций текущего состояния и текущего входа
outputsnumStates-by-2k матрица Выходы (в восьмерике) для всех комбинаций текущего состояния и текущего входа

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

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

В outputs матрица, элемент в строке sth и столбце uth обозначает выход энкодера, когда начальное состояние 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 =

     ''

Другой пример шпалеры - в Trellis Description of a Convolutional Code.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Представлено до R2006a