Nonlinear codes with parameters [2^m, k=2^m-2m-1, d=5] achieving good parameters. The (16,2048,5) code can correct 2 errors. Constructed using cosets of first-order Reed-Muller codes. Notable for being nonlinear yet achieving parameters better than many linear codes. Related to Kerdock codes.
| Property | Value |
|---|---|
| Category | Error Correction |
| Sub-category | Nonlinear Code |
| Security status | ๐ Educational Only |
| Complexity | Expert |
| Inventor | Franco P. Preparata |
| Year | 1968 |
| Origin | ๐ฎ๐น Italy |
| Source | algorithms/ecc/preparata-code.js |
Status: ๐ Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Nonlinear Complexity | Nonlinear structure makes encoding/decoding more complex than linear codes. | โ |
| Power-of-2 Lengths | Only defined for length 2^m, limiting flexibility. | โ |
4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 โ Preparata (16,7) all zeros
| Field | Value |
|---|---|
input |
00000000000000 |
expected |
00000000000000000000000000000000 |
Vector 2 โ Preparata (16,7) pattern 1
| Field | Value |
|---|---|
input |
00000000000001 |
expected |
01010101010101010101010101010101 |
Vector 3 โ Preparata (16,7) pattern 2
| Field | Value |
|---|---|
input |
00000000010000 |
expected |
00000000010101010000000001010101 |
Vector 4 โ Preparata (16,7) pattern 3
| Field | Value |
|---|---|
input |
00000001000000 |
expected |
00000101000001010000010100000101 |