# 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.

Get the latest tools and tutorials, fresh from the toaster.