Верный для допустимой структуры решетки
[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 -by-2k матрица | Следующие состояния для всех комбинаций текущего состояния и текущего входа |
outputs | numStates -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 = ''
Другой пример решетки находится в Описании Решетки Сверточного кода.