Do you know how information sometimes loses authenticity when passed from mouth to mouth? A person could pass a piece of information down to someone else, who may add or alter it. Such alterations lead to corruption or, more precisely, errors. And this is similar to what happens with data sent from one walkie-talkie to another.
Data can pick up errors when stored or transmitted. As a result, the receiver will get unclear, corrupted messages instead of the original message. Some walkie-talkies may correct it by repeatedly resending the message until it’s error-free. But since this increases latency, is it efficient, or is there a better way to correct errors?
In this article, we will discuss forward error correction and its various techniques. We will also determine if they are more efficient for correcting random communication errors.
Basics of Communication Errors
When you store or send data, the data may get exposed to errors, becoming corrupted. Such errors include bit flips, where a binary 1 becomes a 0 or vice versa. Error correction codes try to identify and detect errors, enabling reliable data delivery.
Communication errors occur when transmitted data gets corrupted or lost during transmission. These errors fall into two main categories:
- Bit Errors: Bit error occurs when individual bits get corrupted when stored or transmitted. For example, the transmitter sends 0101, but the receiver receives 1101. It means the first bit has an error. Usually, noise, interference, or signal errors cause bit errors.
- Packet Errors: Packets are smaller segments of larger data sent from one device to another. Packet errors occur when an entire packet of data gets corrupted during transmission. It can happen due to extreme signal degradation or interference.
The Impact of Communication Errors on Walkie-Talkie Performance
Communication errors affect walkie-talkie performance. They can cause:
- Reduced Audio Quality: You may get garbled, unclear audio if your message has errors. Such poor transmission can make it challenging to communicate effectively.
- Increased Power Consumption: Retransmission of data makes your two-way radio consume more power than it should. Thus, the battery may drain faster, reducing battery life.
- Reduced Range: Signal degradation and interference can cause errors. Hence, they limit the walkie-talkie’s communication range.
Understanding Forward Error Correction
Forward Error Correction (FEC) is an error control technique in which the transmitter adds redundancy (error correcting code) to the data. Thus, the receiver can detect and correct errors without requesting retransmission.
FEC increases the data size but powerfully enhances the chances of successful communication. In its most straightforward application, FEC sends each character two to three times. The receiver then checks all (two to three) instances or samples of the character for compliance with the protocol.
If both samples conform to the protocol, it will accept it. But if only one sample does, it accepts the character that conforms to the protocol.
However, if no instance corresponds to the protocol, it rejects the character. Then it displays a blank space or an underscore instead of the character.
Bit Error Rate (BER)
BER is the number of bit errors divided by the number of transmitted bits, expressed in percentage. That is the percentage of corrupted bits in a transmission.
BER determines the transmission quality and may predict the success of message delivery. Usually, a higher bit error rate will mean more errors. And even FEC will be unable to correct very high bit error rates (too many mistakes). In such cases, FEC will ask the transmitter to resend the packet.
FEC vs. Automatic Repeat Request
FEC and Automatic Repeat Request (ARQ) are error control methods in data transmission. But what differentiates them is how they correct errors. FEC adds redundancy to transmitted data, allowing the receiver to identify and correct errors.
Conversely, ARQ requests automatic retransmission of corrupted or lost data packets. If the transmitter sends a frame or packet, the receiver acknowledges it. That is, if it receives it correctly.
If the receiver doesn’t get the packet correctly before the timeout period, it keeps requesting retransmission of the data frame until it receives the correct one.
Although ARQ provides reliable communication over an unreliable source, it has some drawbacks. ARC increases latency and reduces efficiency because of repeated transmissions. In contrast, FEC can correct errors without retransmission. Hence, it provides faster and more reliable communication in environments with high error rates.
Popular Forward Error Correction Techniques
There are numerous FEC techniques, but below are the most common ones used in walkie-talkies:
Block Codes
Block codes are a fundamental forward error correction (FEC) technique. They use them in digital communication systems to detect and correct errors.
In this technique, the sender divides the data into fixed-sized blocks called messages. It adds redundant bits to each block to create a codeword. The transmitter then sends all blocks to the receiver. The receiver, in turn, decodes the blocks to recover the original message.
Some popular block codes are Hamming codes, Golay codes, Reed-Muller codes, and BCH codes.
Hamming Codes
Richard Hamming introduced the Hamming Codes in the early 1950s. Hamming codes are a family of linear block codes that can detect and correct single-bit errors.
Hamming codes can detect both one-bit errors and two-bit errors. But they can only correct one-bit errors. They are pretty simple to implement. They are most times used in computer memory and other error-prone digital systems. Hamming codes are further broken down into binary and non-binary codes.
Golay Codes
Golay codes are an impressive family of linear block codes used in digital communication. They named them after Marcel J. E. Golay, who wrote an introductory paper on the codes.
The main Golay codes are the binary and ternary Golay, which are perfect codes. The binary Golay code corrects up to three-bit errors, while the ternary correct two-bit errors. There are also the extended binary Golay and the extended ternary Golay code. They are both self-dual codes derived from extending the binary and ternary codes.
Reed-Muller Codes
Reed-Muller codes are a family of block codes known for their flexibility in error correction. They are one of the oldest and simplest codes. Two parameters, r, and m, define the Reed-Muller codes. r is the order, while m is the length of the codes.
Reed-Muller can correct numerous errors depending on their configuration. But, the higher-order Reed-Muller codes have better error-correcting capabilities. They use these codes in wireless communication, satellite communications, and computer memory systems.
BCH Codes
Bose-Chaudhuri-Hocquenghem (BCH) codes are a family of cyclic block codes. They have powerful random error-correcting capabilities. Two parameters define them: the block length (n) and the error-correcting capacity (t).
BCH codes are easily solved through an algebraic method known as syndrome decoding. They can correct all random patterns of t errors in each code word. They use BCH in digital communication systems, computer memory, and other applications.
The redundancy in BCH codes is higher than in some other block codes. But they offer excellent error-correcting performance.
Convolutional Codes
Convolutional codes are a popular FEC technique used in digital communication. They encode data using a sliding window, adding redundancy based on the previous bits in the sequence. Two parameters characterize convolution codes: constraint length (K) and code rate.
Convolutional codes don’t operate on fixed-size data blocks like block codes. They generate them by convolving the data bits with a predefined code generator polynomial called the boolean polynomial function.
They implement convolution codes using shift registers and modulo-2 adders. This method makes them relatively simple to execute in hardware.
Reed-Solomon Codes
Reed-Solomon (RS) codes are a subclass of the non-binary BCH codes. They are a powerful family of non-binary block codes that can correct multiple errors in a block. The number and type of mistakes they can fix usually depend on the characteristics of the Reed-Solomon code.
RS codes are based on the mathematics of finite fields, specifically Galois fields. Two parameters characterize these codes: the block length (n) and the number of data symbols (k). The code word most times consists of the coefficients of a polynomial.
They generate RS codes using polynomials over a finite field. Each symbol in a code word represents a coefficient of the polynomial, and all codewords are divisible by the generator polynomial. They use RS in digital and satellite communication systems because of their excellent error-correcting capabilities.
Turbo Codes
Turbo codes are a class of forward error correction codes. They combine two or more convolutional codes uniquely, providing high-performance error correction.
Claude Berrou introduced the code in 1993, and it has remained a popular choice for 3G, 4G, and satellite communication. His Turbo codes proved the Shannon Theory and earned him the Marconi Prize in 2005.
The Shannon limit is the theoretical max rate of error-free data you can transfer over a channel, given a particular noise level. Turbo codes have a near-Shannon limit error correction.
Turbo codes consist of two or more parallel concatenated convolutional codes. An interleaver separates these codes. The interleaver reorders the data bits in a pseudorandom manner, spreading the effects of burst errors across the code words.
During decoding, it uses an iterative process called “turbo decoding.” Turbo decoding alternates between the two convolutional decoders and exchanges soft information. This iterative decoding process allows turbo codes to achieve near-optimal error-correcting performance.
Low-Density Parity-Check Codes
Low-Density Parity-Check (LDPC) codes are a type of linear block code characterized by their sparse parity-check matrix. First named Gallager codes, Robert G. Gallager introduced them in 1963. They use iterative belief propagation decoding, and they construct LPDC using a sparse Tanner graph.
LDPCs are near-optimal error correction codes with a noise threshold very close to the Shannon limit. Despite their powerful performance, they were mostly forgotten for years. But, recently, they have gained popularity and compete closely with Turbo codes.
But turbo codes perform better for moderate to low code rates. And LDPC works better and is less complex for higher code rates. The sparse parity-check matrix (H), often randomly generated, defines the LDPC codes.
It is used to create the code words and perform error detection and correction during decoding. It allows for efficient decoding algorithms, such as the belief propagation (BP) or the sum-product algorithm (SPA).
The Advantages of Forward Error Correction
Increases Overall Communication Reliability
One massive benefit of FEC is enhancing communication reliability, even over unreliable sources. It makes it possible to communicate clearly and effectively in various settings.
Improves Signal Quality and Clarity
FEC techniques can significantly enhance signal quality and clarity. By identifying and correcting errors, FEC helps audio signals to remain intelligible, even in noisy environments.
Increases Range and Coverage
FEC is beneficial in long-distance communication. It allows walkie-talkies to maintain clear communication over greater distances. FEC compensates for error rates that cause signal degradation.
Since it corrects errors without retransmission, there’s less performance impact. Thus, walkie-talkies can cover more extensive ranges.
Reduces the Need for Retransmissions
By reducing the bit error rate, FEC minimizes the need for retransmission. Retransmission is time-consuming and can significantly increase latency over greater distances.
Thus, FEC reduces latency and enhances efficiency by correcting errors without retransmission. The faster transmission capacity of FEC is most useful in areas where fast, reliable communication is essential.
Enhanced Resistance to Interference and Signal Fading
Forward Error Correction corrects errors caused by interference and signals fading. Thus, walkie-talkies with FEC are less prone to signal fading and interception, which can affect communication quality.
Final Words
Forward Error Correction techniques correct errors by adding redundancy to the transmitted message. This technique allows the receiving walkie-talkie to correct mistakes without retransmission. While other error correction techniques also fix errors, FEC does it more efficiently.
There is no need for retransmission. Hence, it reduces latency and enhances clear communication over great distances and in challenging environments like cruise ships.