-
error detection and correction (EDAC) (or error control)
- “The handling of errors in data transmission.” (Forouzan, 2012)
-
Error-detection codes
-
forward error correction (FEC)
- “The process that enables a receiver, upon detecting an error in the arriving data, to correct the error without further information from the transmitter.” (West, 2021)
- “Correction of errors at the receiver without retransmission.” (Forouzan, 2012)
-
error-correction codes (or error-correcting codes) (ECC)
-
data bits (or dataword or message or (data) block) (סיביות מידע, מילת מידע)
- of length .
-
redundant bits (or redundancy) (סיביות ביקורת)
- of length (where ).
-
sender:
- transmits the codeword (מילת קוד) of length .
-
receiver:
- receives
- checks if ,
- if yes, assume no error with high probability,
- else, error detected.
-
There can be possible datawords, and possible codewords.
- Thus, there are invalid codewords that can be used to detect errors.
-
(code rate)
-
(overhead, תקורה)
-
(redundancy, יתירות)
-
A bit error is when a bit is received incorrectly (0 instead of 1 or vice versa)
-
A burst error (or error burst) is when a sequence of bits is received incorrectly
-
(bit error ratio)
-
(bit error probability)
-
A code (of length ) over an alphabet is a subset .
-
A codeword is an element .
-
An encoder is a function that maps messages to codewords: .
-
The Hamming distance between two codewords is (the number of positions where they differ).
-
The Hamming weight of a codeword is (the number of non-zero positions).
-
The error-correction capability of a code is the maximum number of bit errors that can be corrected
-
The error-detecting capability of a code is the maximum number of bit errors that can be detected
-
The minimum Hamming distance of a code is .
parity checks
- even parity: if number of 1s in is even, else
- odd parity: if number of 1s in is odd, else
- two-dimensional parity check:
- is an matrix of bits
- row parity bits for each row
- column parity bits for each column
- overall parity bit
internet checksum
(note: used in IP, not used in link layer)
- message is divided into words of 16 bits:
- the checksum is (where is the bitwise NOT operation. The sum is done using ones’ complement addition)
- the sender sends
- the receiver computes (using ones’ complement addition) and checks if , if yes, assume no error, else, error detected
cyclic redundancy check (CRC)
- the message has bits
- is the generator polynomial of degree
- is the message polynomial of degree
- the transmitted word will be a polynomial of degree such that .
- construction:
- multiply by to get
- divide by to get the remainder
- compute
- the receiver receives where is the error polynomial (non-zero coefficients indicate bit errors)
- the receiver checks if , if yes, it means that (no error), else, error detected
References
- Forouzan, B. A. (2012). Data Communications and networking. McGraw-Hill Education.
- West, Jill (2021). Data Communication and Computer Networks. Course Technology.