Hadamard Decoding
Instructions

  • Goal: To decode a received vector sent using the \(RM(1, 2)\) code.
  • Step 1: Observe the received real vector \(\mathbf{y}\).
  • Step 2: Compute the Fast Hadamard Transform (FHT) of \(\mathbf{y}\) to get \(\mathbf{z}\). Fill in these 4 real values in the "Part 1" boxes. Round to one decimal place.
  • Step 3: Submit Part 1. If correct, Part 2 will appear.
  • Step 4: Find the index \(k \in \{0, 1, 2, 3\}\) for which the absolute value \(|z_k|\) is the largest.
  • Step 5: Use this index \(k\) and the sign of \(z_k\) to find the ML message bits \((\hat{m}_0, \hat{m}_1, \hat{m}_2)\).
    • The sign determines \(\hat{m}_0\): \(z_k > 0 \implies \hat{m}_0 = 0\). \(z_k \le 0 \implies \hat{m}_0 = 1\).
    • The index \(k\) determines \((\hat{m}_1, \hat{m}_2)\):
      • \(k=0 \implies (\hat{m}_1, \hat{m}_2) = (0, 0)\)
      • \(k=1 \implies (\hat{m}_1, \hat{m}_2) = (1, 0)\)
      • \(k=2 \implies (\hat{m}_1, \hat{m}_2) = (0, 1)\)
      • \(k=3 \implies (\hat{m}_1, \hat{m}_2) = (1, 1)\)
  • Step 6: Reconstruct the ML codeword \(\mathbf{\hat{c}} = \hat{m}_0 \mathbf{v}_0 \oplus \hat{m}_1 \mathbf{v}_1 \oplus \hat{m}_2 \mathbf{v}_2\). Enter this 4-bit binary codeword into the "Part 2" boxes.
  • Step 7: Click "Check Part 2" to get final feedback.


An \(RM(1, 2)\) codeword was sent...

Part 1: Compute the Hadamard Transform

Compute \(\mathbf{z} = \text{FHT}(\mathbf{y})\). (Round to one decimal place).

Observations

Your feedback will appear here.