Upload
muhammad-tariq-sadiq
View
228
Download
1
Embed Size (px)
DESCRIPTION
Channel Coding III by dr nasir
Citation preview
Channel Coding - III
Digital Communication System
Sources of Noise When transmitting a signal over a channel, it is typically subject to; Interference: caused by transmission of other
communicating devices. Sky noise: caused by the emission of radio waves by
warm bodies in the space, atmosphere and on the earth surface.
Johnson noise: caused by thermal agitation of electrons within the Tx and Rx circuit.
Shot noise: caused by random fluctuation in the number of electrons that flow as a current within the Tx and Rx circuit.
Quantum noise: caused by random fluctuation in the number of photons that flow in an optical fibre.
Additive White Gaussian Noise All sources of noise can be thought of as being
combined into a single source AWGN Suppose, we have a digitally modulated signal (), which was obtained using a mod. Schem.
If we transmit it over a channel that introduces AWGN, the received signal will be corrupted as = + (), where n(t) AWGN.
AWGN is additive because it is added to signal. White because its amplitude spectrum is flat
within the BW of the signal. Gaussian because its value at a particular time t
resemble a random value chosen from Gaussian distribution with 0 mean and standard deviation of .
Bit Errors
Noise in the received signal () can cause the demodulator to makes mistakes on recovering the bit sequence which is conveyed by the transmitted signal .
These so called bit errors cause a 0 to be recovered when a 1 was transmitted and vice versa.
The bit error ratio is the fraction of bits that suffer from bit errors.
The BER is typically increases as the AWGN standard deviation increased.
Channel Coding When the errors introduced by the channel are
unacceptable then the channel coding is needed.
The use of channel coder with source coder provides the efficient and reliable transmission in the presence of noise.
Channel Coding (Contd) Channel coding can be used to allow a receiver
to mitigate the bit errors in its recovered bit sequence.
Transmitter channel encoder inserts some carefully chosen redundancy into the bit sequence.
A channel decoder mitigates the bit errors in the information bits by considering the redundant bits that were inserted by the channel encoder.
The simplest example of a channel code is the repetition code.
Channel Coding (Contd)
Channel coding deals with error control techniques. If the data at the output of a communication system has errors that are too frequent for the desired use, the errors can often be reduced by the use of a number of techniques.
The channel code can resolve bit errors by two schemes of error control.
Error
Control
ARQ
FEC
Channel Coding (Contd)
ARQ: If the channel decoder detects errors in a block of data, it requests data retransmission. A feedback channel can be used to control the retransmission of code word until it is received without the detectable errors.
FEC: The errors are not only detected but the bits in error can be identified and corrected.
The choice of ARQ and FEC depends on particular application. ARQ full duplex channel, FEC not full duplex or where ARQ is not desirable.
Channel Coding (Contd)
Channel Coding (Contd)
Channel Coding (Contd)
Information Theory and Coding In any communication system, there is a fundamental
limit called channel capacity [bps], on the maximum possible rate of data transmission.
Shannons channel capacity law states that channel code can be designed to mitigate (nearly) all of the bit errors caused by noisy channel, provided that the number of information bits transmitted per seconds cannot exceed the channel capacity.
The capacity of an AWGN channel is given by, = 2(1 + )
where,
B = BW used to convey the bit sequence in Hz
Information Theory and Coding (Contd)
= lim 1
2
0 is signal power (watts)
N = lim
1
2 = 2
0 is noise power
(watts)
In theory, one can transmit over a channel at rate with almost no errors.
However, if we try to transmit at a rate > , then reliable transmission is impossible.
Channel codes The two main categories of channel codes are;
Block Codes: A block of information bits is encoded to give a codeword of bits ( > ). For each sequence of information bits, there is a distinct codeword of bits. Ex: Hamming Codes and Cyclic codes.
Convolutional Codes
The primary objective of coding is that to determine, either the Rxd word is valid codeword or corrupted by noise (error detection). The decoder should be able to decide the correct Txed codeword (error correction).
Repetition codes These are the simplest type of block codes.
One way to detect the error in the information bit is to send the information twice. The two received blocks are compared bit by bit and if there is difference, an error is occurred.
This method may be extended by sending the information block three times. If one block differs from the other two, assume an error has occurred in that block and discard it.
It is simplest to implement but inefficient.
Repetition codes (Contd) Decoding rule: The decoder looked at the
received codeword and attempts to extract the transmitted bits using majority decision.
1. Count the number of 0s and 1s in the received codeword
2. If there more 0s than 1s 0 was sent and vice versa
3. If number of 1s equal to number of 0s, donot decide just flag decoding failure or generate an ARQ.
Repetition codes (Contd) The decoding rule will decode correctly in all
cases where the channel noise changes less than half the bits in any one block.
If the channel noise changes more than half of the bits, the decoder will make an error. If the channel error occurs infrequently, the probability of a decoding failure or a decoding error for a repetition code of long block length is very small indeed.
Repetition codes Example
Clearly the transmitted bits will be recovered correctly, as long as no more than one of the bits in the codeword is wrong!
Repetition codes Example (Contd) For each info bits, the repetition encoder
inserts two redundant replica of it, i.e., 00110 000000111111000
Suppose channel noise causes 1st,5th,11th and 12th bits to suffer error 100001111100000
Decoder takes 3 bits and decides 00100
Note that repetition code is incapable to correct all errors not very strong!
Coding Rate = 1/3
Hamming Code Hamming code is a more sophisticated
channel code than a repetition code
Hamming codes are still widely used in computing, telecommunication and other applications.
Hamming codes are also applied in data compression and block turbo codes.
Hamming codes are best described in terms of their parity check matrix H
Hamming Code (Contd) The mapping from the set of k info sequence to
the corresponding codeword of length n can be represented by a matrix G called the generator matrix.
Given a matrix,
If u= (1, 2, 3, 4) , then we encode it as =
Generating matrix
Parity check matrix
For a given code generating matrix, we can
determine its corresponding check matrix.
Specifically, if = [|],
Then the parity check matrix is given by = [|] ,
Tariq SadiqNoten=number of colum in G matrixk=number of rows in G matrix
If the structure of G is = [|],
Where is the identity matrix and is the ( ) matrix, then the resulting linear block code is called systematic. In such codes, the first components of the codeword are equal to the information sequence and the following components are called the parity check bits, provide the redundancy for protection against errors. Such generator matrix can be put in such form by elementary row operations and column permutation. Since a codeword C is orthogonal to all rows of H, we conclude that = 0
The number of bits that differ between two bit sequence is hamming distance.
In general a channel code can correct up to 1
2 and can
detect 1.