This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Convolutional decoding


output = lteConvolutionalDecode(input)



output = lteConvolutionalDecode(input) performs convolutional decoding of the input data vector, input. The input data is assumed to be soft bit data that has been encoded by a tail-biting convolutional code with constraint length 7, coding rate 1/3, and octal polynomials G0 =133, G1 =171 and G2 =165. Since the code is tail-biting, output will be 1/3 of the length of the input. The input data vector is assumed to be structured as three encoded parity streams concatenated block-wise. For example, input is [D0 D1 D2], where D0, D1, and D2 are the separate parity streams resulting from the original encoding with individual polynomials G0, G1 and G2. The decoder uses a soft input Viterbi algorithm without any quantization.


collapse all

Convolutionally decode soft bits.

Generate random bits and convolutionally encode them. QPSK modulate the coded bits and add noise to the received symbols.

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;

Show rxSymbols constellation, setting txSymbols as the reference constellation.

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

Demodulate the noisy symbols to obtain soft bits. Convolutionally decode the soft bits. Display the number of erroneous bits.

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

rxBits = lteConvolutionalDecode(softBits);

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

Input Arguments

collapse all

Input data, specified as a column vector. The data is assumed to be soft bit data encoded by a tail-biting convolutional code with constraint length 7, coding rate 1/3 and octal polynomials G0=133, G1=171 and G2=165.

Output Arguments

collapse all

Convolutionally decoded data, specified as a column vector. The decoded data is 1/3 the length of the input input.

Data Types: int8

Introduced in R2014a

Was this topic helpful?