commpy.channelcoding.turbo_decode¶
-
turbo_decode
(sys_symbols, non_sys_symbols_1, non_sys_symbols_2, trellis, noise_variance, number_iterations, interleaver, L_int=None)¶ Turbo Decoder.
Decodes a stream of convolutionally encoded (rate 1/3) bits using the BCJR algorithm.
Parameters: - sys_symbols (1D ndarray) – Received symbols corresponding to the systematic (first output) bits in the codeword.
- non_sys_symbols_1 (1D ndarray) – Received symbols corresponding to the first parity bits in the codeword.
- non_sys_symbols_2 (1D ndarray) – Received symbols corresponding to the second parity bits in the codeword.
- trellis (Trellis object) – Trellis representation of the convolutional codes used in the Turbo code.
- noise_variance (float) – Variance (power) of the AWGN channel.
- number_iterations (int) – Number of the iterations of the BCJR algorithm used in turbo decoding.
- interleaver (Interleaver object.) – Interleaver used in the turbo code.
- L_int (1D ndarray) –
Array representing the initial intrinsic information for all received symbols.
Typically all zeros, corresponding to equal prior probabilities of bits 0 and 1.
Returns: decoded_bits – Decoded bit stream.
Return type: 1D ndarray of ints containing {0, 1}