Верный для допустимой структуры решетки
[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. Элемент в 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 = ''
Другой пример решетки находится в Описании Решетки Сверточного кода.