Algorithms for Error Control in Wireless Medium
1. Cyclic Redundancy Check (CRC) Algorithm
Input: Data bits D(x), Generator polynomial G(x)
Encoding Procedure:
1. Represent data as binary polynomial D(x).
2. Append r zeros (degree of G).
3. Perform modulo-2 division of D(x)*2^r by G(x).
4. Obtain remainder R(x).
5. Transmit T(x) = D(x)*2^r + R(x).
Decoding Procedure:
1. Divide received codeword by G(x).
2. If remainder = 0 → Accept frame.
3. If remainder ≠ 0 → Error detected.
2. Hamming Code Algorithm
1. Determine number of parity bits r such that 2^r ≥ m + r + 1.
2. Insert parity bits at positions 2^0, 2^1, 2^2, etc.
3. Compute parity values.
4. Transmit encoded block.
Decoding:
1. Recompute parity bits.
2. Form syndrome.
3. If syndrome ≠ 0, flip bit at indicated position.
3. Convolutional Encoding Algorithm
1. Initialize shift register.
2. Input data bits sequentially.
3. Generate output bits using generator polynomials (XOR operations).
4. Continue until all bits processed.
5. Flush register if required.
4. Viterbi Decoding Algorithm
1. Initialize path metrics.
2. For each received symbol:
a. Compute branch metrics.
b. Apply Add-Compare-Select (ACS).
3. Store survivor paths.
4. Perform traceback.
5. Output decoded sequence.
5. Turbo Coding Algorithm
Encoding:
1. Pass input data to Encoder 1.
2. Interleave data and pass to Encoder 2.
3. Transmit systematic and parity bits.
Decoding:
1. Perform iterative soft decoding.
2. Exchange extrinsic information between decoders.
3. Repeat until convergence.
6. LDPC Algorithm
1. Generate sparse parity-check matrix H.
2. Encode data using generator matrix G.
3. At receiver, initialize probabilities.
4. Perform belief propagation iterations.
5. Check parity condition.
6. Stop when satisfied or max iterations reached.
7. Stop-and-Wait ARQ Algorithm
Sender:
1. Send one frame.
2. Wait for ACK.
3. If timeout, retransmit.
Receiver:
1. Check frame using CRC.
2. Send ACK or NACK.
8. Go-Back-N ARQ Algorithm
1. Maintain transmission window.
2. Send multiple frames.
3. If error detected, retransmit from erroneous frame onward.
9. Selective Repeat ARQ Algorithm
1. Maintain sender and receiver windows.
2. Retransmit only erroneous frames.
3. Buffer out-of-order frames.
10. Hybrid ARQ (HARQ) Algorithm
1. Encode data using FEC.
2. Transmit first redundancy version.
3. If decoding fails, send NACK.
4. Transmit additional redundancy.
5. Combine previous and new transmissions.
6. Repeat until success or limit reached.
Comparison Table
Algorithm Type Error Feedback Complexity
Capability Required
CRC Detection Detects burst Yes Low
errors
Hamming FEC Corrects 1-bit No Low
Convolutional FEC Multiple-bit No Medium
(prob.)
Turbo FEC High No High
LDPC FEC Very High No High
ARQ Retransmission All errors (via Yes Low
resend)
HARQ Hybrid Very High Yes Medium