SERVFORU

LINEAR BLOCKCODES

LINEAR BLOCKCODES
AIM
To detect and correct the error accruing in the transmitted data with the help
of linear block codes.
THEORY
A code is said to be linear if any two code word in the code, can be added in module 2 arithmetic to Produce a third codeword in the code. The (n-k) bits in the remaining portion are computed from the message bits in the accordance with the prescribed encoding rule that determines a mathematical structure of the code, then use frame to get the syndrome calculation.
The hamming weight of the code vector C is defined in the number of non zero elements in the code vector. The minimum distance of the linear block code is defiend in the smallest hamming distance between any pair of code vector in code.
Algorithm

  1. Get the generator matrix value.
  2. Calculate the order of given matrix.
  3. calculate the code word.
  4. calculate the minimum ha
  5. Get the received code word.
  6. Display the hamming code
  7. Display the syndrome of the code word.
  8. Calculate the error in the bit.
  9. Display the correlated code word.

    PROGRAM
    #######################################
    clc;
    clear all;
    close all;
    %input generator matrix
    g=input('enter the generator matrix:')
    disp('G=')
    disp('the order of linear block code for given generator mathrix is:');
    [n,k]=size(transpose(g))
    for i=1:2^k
        for j=k:-1:1
            if rem(i-1,2^(-j+k+1))>=2^(-j+k)
                u(i,j)=1;
            else
                u(i,j)=0;
            end
        end
    end
    u;
    disp('the possible code word are:');
    c=rem(u*g,2);
    disp('the minimum hamming distance dmin for given block code is:');
    d_min=min(sum((c(2:2^k,:))'))
    %code word
    r=input('enter the recieved code word:');
    p=[g(:,n-k+2:n)];
    h=[transpose(p),eye(n-k)];
    disp('hamming code');
    ht=transpose(h)
    disp('syndrome of a given code word is:');
    s=rem(r*ht,2)
    for i=1:1:size(ht)
        if(ht(i,1:3)==5)
            r(i)=1-r(i);
            break;
        end
    end
    disp('the error is in bit:');
    i;
    disp('the correct codeword is:');
    r;

    ###########################################################################
    OUTPUT
    Enter the generator matrix:[1000101;0100111;0010110;0001011]
    g =1000101
    0100111
    0010110
    0001011
    G = The order of linear block code for given generator mathrix is:
    n = 7
    k = 4
    The possible code word are:
    0000000
    0001011
    0010110
    0011101
    0000111
    0101100
    0110001
    0111010
    1000100
    1001110
    1010011
    1011000
    1100010
    1101001
    1110100
    1111111
    The minimum hamming distance dmin for given block code is:
    d_min =3
    Enter the received code word:[1000100]
    r=1000100
    Hamming code
    H=
    101
    111
    110
    011
    100
    101
    001

    Syndrome of t given codeword is:
    s=001
    The error is in bit :
    i=7
    The corrected code word is : r=100010.

    Result
    Thus the error is detected and corrected n the transmitted code by using linear block codes.



Share this article :
 

Post a Comment

 
Support : Ebin EPhrem | Ebin Ephrem | #Gabbarism
Copyright © 2011. Services | Embedded Support | Reviews | Virtual Technologys - All Rights Reserved
Template Created by ebinephrem.com Published by Ebin Ephrem
Proudly powered by Blogger