exponenta event banner

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 row и uth обозначает следующее состояние, когда начальное состояние равно s-1, а входные биты имеют десятичное представление u-1. Чтобы преобразовать входные биты в десятичное значение, используйте первый входной бит в качестве старшего бита (MSB). Например, второй столбец nextStates в матрице сохраняются следующие состояния, когда текущим набором входных значений является {0,..., 0,1}.

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

В outputs в матрице элемент в sth-строке и в-м столбце обозначает выходной сигнал кодера, когда начальное состояние - 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++ с помощью MATLAB ® Coder™

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