4.7 PUNCTURED CODES
Many communication systems must operate under changing channel conditions. At one time the communication channel may be relatively free from noise and interference, allowing data to be transmitted at a high rate with only modest error protection. At another time, increased noise, fading, or interference may require much stronger error correction. Ideally, the coding rate should be adjustable without requiring a completely different encoder and decoder for every operating condition.
One elegant solution to this problem is the punctured code. Rather than designing a separate error-control code for every desired code rate, puncturing begins with a relatively low-rate "mother code" that provides strong error protection. Selected parity bits are then deliberately omitted (or punctured) before transmission according to a predetermined pattern. Because fewer redundant bits are transmitted, the effective code rate increases while the underlying encoder structure remains unchanged.
For example, a convolutional encoder having a native rate of 1/2 generates two output bits for every input bit. If every fourth parity bit is omitted according to a specified puncturing pattern, the transmitted code rate may become 2/3 or 3/4, depending on the puncturing sequence. Both the transmitter and receiver know the puncturing pattern in advance, allowing the decoder to reconstruct the locations of the omitted bits and decode the received sequence using essentially the same decoding algorithm as for the original mother code.
Puncturing provides considerable practical flexibility. Instead of implementing several different encoders, a single encoder can support multiple coding rates simply by changing the puncturing pattern. Higher-rate punctured codes transmit less redundancy and therefore achieve greater spectral efficiency when channel conditions are favourable. Lower-rate codes transmit more parity information, improving error-correction capability when the channel becomes noisy or unreliable. This allows communication systems to trade data rate against transmission reliability according to prevailing operating conditions.
The principal disadvantage of puncturing is that removing parity bits inevitably reduces the code's error-correction capability. As the code rate increases, fewer redundant bits remain available to assist the decoder, and the probability of decoding errors correspondingly increases. System designers therefore select the puncturing pattern carefully to obtain an acceptable compromise between coding gain and transmission efficiency.
Punctured codes are widely used in modern digital communication systems because they provide an efficient means of supporting multiple code rates with minimal additional hardware or software complexity. They have been employed extensively in convolutional coding for digital broadcasting, wireless local area networks, cellular systems, satellite communications, and many other applications. More generally, puncturing forms one of the key techniques used in adaptive coding and modulation (ACM) systems, where the code rate and modulation format are adjusted dynamically to match changing channel conditions and maximise overall system throughput.
Although puncturing removes some of the redundancy introduced by channel coding, it does so in a carefully controlled and reversible manner. It therefore provides a practical means of generating an entire family of related error-control codes from a single parent code, greatly simplifying implementation while allowing communication systems to adapt efficiently to widely varying operating environments.
Back to reading