Hi
For 5 bits group exists only 16 combination which have 1/0 sequence length less than 3:
00100
00101
00110
01001
01010
01011
01100
01101
10010
10011
10100
10101
10110
11001
11010
11011
Any combination of these groups haven't sequence 0/1 with length more than 4 bits. By example in worst case
11011 11011 11011
00100 00100 00100
You can easily convert 4 bits to a group of 5 bits and vice versa using a lookup table.
This method detects 22.5% of single errors. Your algorithm is simpler to implement, but detects 20% of single errors. So 2.5 percent improvement ;)
I looked at 4b/5b coding.
https://en.wikipedia.org/wiki/4B5B
The problem is that using this type of code with Golay codes makes it so that a single bit error in a 5b code results in multiple error bits in the decoded 4 bit code, resulting in a failed decode, or worse, an undetected error. I am not sure how to get around this except test all code words with errors, and it is likely that some of them will accidentally decode because multiple bits will be flipped in the error table. That is why I want a method that sends the Golay bits to be decoded unchanged.
Hi
For 5 bits group exists only 16 combination which have 1/0 sequence length less than 3:
00100
00101
00110
01001
01010
01011
01100
01101
10010
10011
10100
10101
10110
11001
11010
11011
Any combination of these groups haven't sequence 0/1 with length more than 4 bits. By example in worst case
11011 11011 11011
00100 00100 00100
You can easily convert 4 bits to a group of 5 bits and vice versa using a lookup table.
This method detects 22.5% of single errors. Your algorithm is simpler to implement, but detects 20% of single errors. So 2.5 percent improvement ;)