Channel Coding III

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.