FYI,
Implements Golay(23,11,7) error detection and correction. Returns the
number of detected errors. If the error count is less than or equal to
the max correctable errors (3), then the error bits are corrected.
Otherwise the message is left intact and an error count greater than 3
is returned.
For all possible 23 bit inputs, total possible syndrome patterns: 2^11 (2048)
0 bit error syndrome patterns: 1
1 bit error syndrome patterns: 23
2 bit error syndrome patterns: 253
3 bit error syndrome patterns: 1771
Total: 2048
There are no syndromes for >3
If you run all 8,388,608 input patterns through your Golay23 checkAndCorrect() function, does it ever return values greater than 3? If so, I'd say it's broken and could degrade MBE processing.