lteConvolutionalDecode

Сверточное декодирование

Описание

пример

out = lteConvolutionalDecode(softBits) возвращает out, данные, восстановленные сверточным декодированием softBits, вектор мягких бит.

Декодер использует алгоритм Viterbi мягкого входа без какого-либо квантования. Алгоритм создает обучающие данные для добавления к началу и концу пакета путем циклического расширения пакета. Длина декодирования обратного отслеживания составляет 42.

Примеры

свернуть все

Сгенерируйте случайные биты и сверточно закодируйте их.

txBits = randi([0 1],1000,1);
codedData = lteConvolutionalEncode(txBits);

QPSK модулирует закодированные биты и добавляет шум к принятым символам.

txSym = lteSymbolModulate(codedData,'QPSK');
noise = 0.5*complex(randn(size(txSym)),randn(size(txSym)));
rxSym = txSym + noise;

Показать rxSymbols созвездие, установка txSymbols как ссылочное созвездие.

xylimits = [-2.5 2.5];
cdScope = comm.ConstellationDiagram('ReferenceConstellation',txSym,'XLimits',xylimits ,'YLimits',xylimits);
cdScope(rxSym)

Figure Constellation Diagram contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 2 objects of type line. This object represents Channel 1.

Демодулируйте зашумленные символы, чтобы получить мягкие биты, сверточно декодируйте мягкие биты и отображайте количество ошибочных битов.

softBits = lteSymbolDemodulate(rxSym,'QPSK','Soft');
out = lteConvolutionalDecode(softBits);
disp(sum(out ~= int8(txBits)))
     0

Входные параметры

свернуть все

Данные мягкого бита, заданные как вектор-столбец. Функция принимает, что входные данные были закодированы сверточным кодом с конечным кусочком с длиной ограничения 7, скоростью кодирования 1/3 и восьмеричными полиномами G0 = 133, G1 = 171 и G2 = 165. Функция также принимает, что вектор входных данных структурирован как три закодированных потока четности, конкатенированных блочно в форме [D0 D1 D2], где D0, D1, и D2 являются отдельными потоками четности, полученными из исходной кодировки с отдельными полиномами G0, G1 и G2.

Типы данных: double

Выходные аргументы

свернуть все

Сверточно декодированные данные, возвращенные как вектор-столбец. Длина этого вектора составляет 1/3 длины softBits вход.

Типы данных: int8

Введенный в R2014a