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Скаляр Количество состояний в энкодере
nextStatesnumStates- 2k матрица Следующие состояния для всех комбинаций текущего состояния и текущего входа
outputsnumStates- 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 =

     ''

Другой пример решетки находится в Описании Решетки Сверточного кода.

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

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

Смотрите также

| | |

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