CommPy icon indicating copy to clipboard operation
CommPy copied to clipboard

MAP decoder (BCJR) for non-systematic codes

Open snerzkristall opened this issue 1 year ago • 0 comments
trafficstars

The current MAP decoder implementation is for coding rate 1/2 but assumes that the code is systematic (based on the input parameters). Is it possible to decode non-systematic codes like the one from the example conv_encode_decode.py with this algorithm?

# =============================================================================
# Convolutional Code 1: G(D) = [1+D^2, 1+D+D^2]
# Standard code with rate 1/2
# =============================================================================

# Number of delay elements in the convolutional encoder
memory = np.array(2, ndmin=1)

# Generator matrix
g_matrix = np.array((0o5, 0o7), ndmin=2)

# Create trellis data structure
trellis1 = cc.Trellis(memory, g_matrix)

The output of map_decode() only provides LLRs for the systematic symbols, which is just half of the whole message.

snerzkristall avatar Jan 25 '24 14:01 snerzkristall