Skip to content

Commit 1a21d1d

Browse files
committed
Reworked math section a little bit
Trying to give a link to systematic codes without overloading the reader
1 parent 6db48cf commit 1a21d1d

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,9 @@ binary division:
137137
crc = 0x3b
138138
```
139139

140-
You can describe this mathematically in [GF(2)][gf2] (the extra
141-
$x^{\left|P\right|}$ represents shifting the message to make space for
142-
the CRC), but the above example is probably easier to understand:
140+
You can describe this mathematically in [GF(2)][gf2], but depending on
141+
your experience with GF(2) and other finite-fields, the above example is
142+
probably easier to understand:
143143

144144
<p align="center">
145145
<img
@@ -148,9 +148,15 @@ the CRC), but the above example is probably easier to understand:
148148
>
149149
</p>
150150
151+
The extra $x^{\left|P\right|} multiplications represent shifting the
152+
message to make space for the CRC, and gives us what's called a
153+
["systematic code"][systematic-code]. Alternatively we could actually
154+
multiply the message with our polynomial to get valid codewords, but that
155+
would just make everything more annoying without much benefit...
156+
151157
The neat thing is that this remainder operation does a real good job of
152158
mixing up all the bits. So if you choose a good CRC polynomial, it's very
153-
unlikely a message with a bit-error will result in the same CRC.
159+
unlikely a message with a bit-error will result in the same CRC:
154160

155161
```
156162
a couple bit errors:

0 commit comments

Comments
 (0)