diff --git a/commpy/channelcoding/convcode.py b/commpy/channelcoding/convcode.py index d1dcf16..651913f 100644 --- a/commpy/channelcoding/convcode.py +++ b/commpy/channelcoding/convcode.py @@ -521,7 +521,8 @@ def conv_encode(message_bits, trellis, termination = 'term', puncture_matrix=Non outbits = np.zeros(number_outbits, 'int') if puncture_matrix is not None: - p_outbits = np.zeros(number_outbits, 'int') + number_punctured_bits = int(number_outbits * puncture_matrix.sum() / puncture_matrix.size) + p_outbits = np.zeros(number_punctured_bits, 'int') else: p_outbits = np.zeros(int(number_outbits* puncture_matrix[0:].sum()/np.size(puncture_matrix, 1)), 'int')