6.4 Channel Coding Techniques

The speech decoding process is very sensitive to errors in the transmitted bits and attention
must be paid to checking and correcting errors in transmission. Procedures for addressing
this problem are covered in this section

Error Correction Coding

• To reproduce speech, decoder needs bit error rate no more
than 0.1%
• Radio channel typically gives error rate of 1% or more - need
error correction
• Channel coding provides error protection
• Two approaches to error protection:
• Backward error correction
• Forward error correction

6.4.1 BACKWARD ERROR CORRECTION

In backward error correction, we assume that if the known check bits have been transmitted
correctly, the rest of the data is correct. If the check bits do not match what is expected, the
system asks for re-transmission.


Automatic Repeat Request (ARQ) is not suitable for speech as the timing could become
unintelligible if several repeats were necessary. However, in normal conversation, we
naturally apply backward error correction by asking the person to repeat something we have
not understood.
• Blocks checked at distant end by comparing FCS/BCS
• Detected errors generate request for retransmission of block
• BEC utilises block channel coding
• Suitable for data transmission - not speech

6.4.2 FORWARD ERROR CORRECTION


Forward Error Correction

• Coding is added to the information bits (redundancy) which enable the original to
be reconstructed given a small number of random errors
• Repeat transmission is not required if data fully corrected - suitable for speech
In forward error transmission, the original data can be reconstructed from the received bits in
several ways, allowing the system to make a best estimate of what the data should be, without
requiring re-transmission.
Because we are sending more bits than there are in the original data, there is said to be
redundancy in the system.

6.4.3 BLOCK CHANNEL CODING

Using block codes, the current data block (that which is about to be transmitted) is used to
generate a code. This code is sent along with the original data bits. In the simple example
illustrated, the code is just a repeat of the original data. Realistic schemes are calculated to
give the best chance of recovering the data when errors occur.
Speech
coded blocks

Block Channel Coding

•• Simplified Block Coding Conceptt

6.4.4 CONVOLUTIONAL CHANNEL CODING

Convolutional coders are normally described by the ratio of input information bits to output
coded bits generated by the coder plus the delay (in terms of bits) incurred through the
convolution process. They delay is related to the number of registers used in the coding
device.
For example, a coder that generates 2 output bits for every information input bit using a 5-bit
register is referred to as a ½ rate encoder with a delay (or constraint length) of 5.


Convolutional Codes

• Rate of coding describes the amount of redundancy in the
coded data:
• 1/2 rate code transmits twice as many bits as actual data
• Data rate is halved
• Convolutional codes cannot detect errors
• If the error rate is high, convolutional codes can increase
errors
• Convolutional codes are slightly more efficient than block
codes
i.e. reduction in error rate for given increase in bits transmitted

Convolution Channel Coding

•• Simplified Convolution Coding Concept:

The coder above feeds 4 information bits of the bit stream into the registers. It then carries out
two processes:
· Modulo 2 addition of d + d3 + 1 to produce a G0 bit
and
· Modulo 2 addition of d4 + d3 + d1 + 1 to produce a G1 bit
These two bits are then fed to the output. The bits stored in the registers are then moved to
the right by one place and the next information bit is fed in. The process then repeats itself.
As a result, two bits are generated for each information bit fed into the encoder. These bits are
not the original data with bits added (as is the case with block coding) but rather a
representation of the original data. Therefore, convolutional coding is not able to detect
errors; it simply reconstructs that data using the information stored in the transmitted bits.

No comments:

Post a Comment