exponenta event banner

lteConvolutionalDecode

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

Описание

пример

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

Декодер использует алгоритм Витерби с мягким вводом без какого-либо квантования. Алгоритм создает обучающие данные для добавления к началу и концу пакета посредством циклического расширения пакета. Длина декодирования отслеживания составляет 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