Convolutional encoder with Viterbi maximum likelihood decoder. Uses constraint length K=3, rate 1/2 with generator polynomials (7,5) octal. Widely used in digital communications including WiFi, LTE, and satellite systems.
| Property | Value |
|---|---|
| Category | Error Correction |
| Sub-category | Convolutional Code |
| Security status | π Educational Only |
| Complexity | Advanced |
| Inventor | Andrew Viterbi |
| Year | 1967 |
| Origin | πΊπΈ United States |
| Source | algorithms/ecc/convolutional-viterbi.js |
Status: π Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Decoding Complexity | Viterbi decoding complexity grows exponentially with constraint length. K=7 is practical limit for software. | β |
| Error Propagation | Bit errors can propagate through decoder state transitions, though typically limited to 5Γ constraint length. | β |
4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β K=3 all zeros test
| Field | Value |
|---|---|
input |
00000000 |
expected |
0000000000000000 |
Vector 2 β K=3 single bit test
| Field | Value |
|---|---|
input |
01000000 |
expected |
0101010001010000 |
Vector 3 β K=3 all ones test
| Field | Value |
|---|---|
input |
01010101 |
expected |
0101000101000100 |
Vector 4 β K=3 alternating pattern
| Field | Value |
|---|---|
input |
01000100 |
expected |
0101010000000100 |