Extension of first-order Reed-Muller codes including complements of all codewords. Parameters [2^m, m+1, 2^(m-1)] where extra bit selects between codeword and its complement. Achieves twice the codebook size of Hadamard codes. Used in spread spectrum and code-division multiple access.
| Property | Value |
|---|---|
| Category | Error Correction |
| Sub-category | Linear Code |
| Security status | π Educational Only |
| Complexity | Intermediate |
| Inventor | Irving S. Reed, David E. Muller (extended concept) |
| Year | 1954 |
| Origin | πΊπΈ United States |
| Source | algorithms/ecc/biorthogonal-code.js |
Status: π Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Moderate Code Rate | Code rate (m+1)/2^m is low for large m. Example: m=4 gives (5/16) = 31.25%. | β |
| Power-of-2 Constraint | Block length must be 2^m, limiting flexibility. | β |
4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Biorthogonal (8,4) all zeros
| Field | Value |
|---|---|
input |
00000000 |
expected |
0000000000000000 |
Vector 2 β Biorthogonal (8,4) pattern 0001
| Field | Value |
|---|---|
input |
00000001 |
expected |
0000000101010100 |
Vector 3 β Biorthogonal (8,4) pattern 0010
| Field | Value |
|---|---|
input |
00000100 |
expected |
0001010000010100 |
Vector 4 β Biorthogonal (8,4) pattern 1000
| Field | Value |
|---|---|
input |
01000000 |
expected |
0101010101010101 |