Block Channel Coding
Because of the higher datarate imposed by the channel coder, the probability of bit error occurring in the digital channel increases relative to the value obtained when no channel coding is used. The bit interval duration must be reduced by
in comparison to the no-channel-coding situation, which means the energy per bit
goes down by the same amount. The bit interval must decrease by a factor of three if the transmitter is to keep up with the data stream, as illustrated here.
Point of Interest:
It is unlikely that the transmitter's power could be increased to compensate. Such is the sometimes-unfriendly nature of the real world.
Because of this reduction, the error probability
of the digital channel goes up. The question thus becomes does channel coding really help: Is the effective error probability lower with channel coding even though the error probability for each transmitted bit is larger? The answer is no: Using a repetition code for channel coding cannot ultimately reduce the probability that a data bit is received in error. The ultimate reason is the repetition code's inefficiency: transmitting one data bit for every three transmitted is too inefficient for the amount of error correction provided.
Exercise
Using MATLAB, calculate the probability a bit is received incorrectly with a three-fold repetition code. Show that when the energy per bit
is reduced by
that this probability is larger than the no-coding probability of error.
With no coding, the average bit-error probability pep e is given by the probability of error equation :
. With a threefold repetition code, the bit-error probability is given by
, where
. Plotting this reveals that the increase in bit-error probability out of the channel because of the energy reduction is not compensated by the repetition coding.
The repetition code represents a special case of what is known as block channel coding. For every
bits that enter the block channel coder, it inserts an additional
error-correction bits to produce a block of
bits for transmission. We use the notation (N,K) to represent a given block code's parameters. In the three-fold repetition code,
and
. A block code's coding efficiency
equals the ratio
, and quantifies the overhead introduced by channel coding. The rate at which bits must be transmitted again changes: So-called data bits
emerge from the source coder at an average rate
and exit the channel at a rate
higher. We represent the fact that the bits sent through the digital channel operate at a different rate by using the index ll for the channel-coded bit stream
. Note that the blocking (framing) imposed by the channel coder does not correspond to symbol boundaries in the bit stream
, especially when we employ variable-length source codes.
Does any error-correcting code reduce communication errors when real-world constraints are taken into account? The answer now is yes. To understand channel coding, we need to develop first a general framework for channel coding, and discover what it takes for a code to be maximally efficient: Correct as many errors as possible using the fewest error correction bits as possible (making the efficiency
as large as possible).
This textbook is open source. Download for free at http://cnx.org/contents/778e36af-4c21-4ef7-9c02-dae860eb7d14@9.72.
Explore CircuitBread
Get the latest tools and tutorials, fresh from the toaster.