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-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 =

     ''

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

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

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

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

| | |

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