Skip to content

komm.WagnerDecoder

Wagner decoder for single parity-check codes. For more information, see CF07, Sec. III.C.

Parameters:

  • code (SingleParityCheckCode)

    The single parity-check code to be used for decoding.

Notes
  • Input type: soft.
  • Output type: hard.

__call__

Decode received words. This method takes one or more sequences of received words and returns their corresponding estimated message sequences.

Parameters:

  • input (ArrayLike)

    The input sequence(s). Can be either a single sequence whose length is a multiple of $n$, or a multidimensional array where the last dimension is a multiple of $n$.

Returns:

  • output (NDArray[integer | floating])

    The output sequence(s). Has the same shape as the input, with the last dimension contracted from $bn$ to $bk$, where $b$ is a positive integer.

Examples:

>>> code = komm.SingleParityCheckCode(4)
>>> decoder = komm.WagnerDecoder(code)
>>> decoder([[1.52, -0.36, 1.56, 0.82], [-0.75,  1.20 , -2.11,  1.73]])
array([[0, 0, 0],
       [1, 0, 1]])