lteConvolutionalDecode

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

Синтаксис

output = lteConvolutionalDecode(input)

Описание

пример

output = lteConvolutionalDecode(input) выполняет сверточное декодирование вектора входных данных, input. Входные данные приняты, чтобы быть мягкими битными данными, которые были закодированы кусающим хвост сверточным кодом с продолжительностью ограничения 7, кодируя уровень 1/3, и восьмеричные полиномы G0 =133, G1 =171 и G2 =165. Поскольку код является кусанием хвоста, output будет 1/3 длины входа. Вектор входных данных принят, чтобы быть структурированным как три закодированных потока четности, конкатенированные мудрый блоком. Например, input является [D0 D1 D2], где D0, D1 и D2 являются отдельными потоками четности, следующими из исходного кодирования с отдельными полиномами G0, G1 и G2. Декодер использует мягкий алгоритм входа Viterbi без любого квантования.

Примеры

свернуть все

Convolutionally декодируют мягкие биты.

Сгенерируйте случайные биты и convolutionally закодируйте их. QPSK модулирует закодированные биты и добавляет шум в полученные символы.

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

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

Покажите совокупность rxSymbols, установка txSymbols как ссылочная совокупность.

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

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

softBits = lteSymbolDemodulate(rxSymbols,'QPSK','Soft');

rxBits = lteConvolutionalDecode(softBits);

numberErrors = sum(rxBits ~= int8(txBits))
numberErrors =

     0

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

свернуть все

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

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

свернуть все

Convolutionally декодировал данные, заданные как вектор-столбец. Декодируемые данные являются 1/3 длина входа input.

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

Введенный в R2014a