Tuesday, August 2, 2011

java code for crc-12 and crc-16

import java.io.*;
import java.util.*;
class Crc
{
    public char find(char c,char d)
    {
        if(c=='0'&&d=='0')
            return '0';
        else if(c=='0'&&d=='1')
            return '1';
        else if(c=='1'&&d=='0')
            return '1';
        else
            return '0';
    }
    public static void main(String[] args)throws IOException
    {
        String s1;
        Scanner p=new Scanner(System.in);
        System.out.println("enter the original data bits");
        s1=p.next();
        int l1=s1.length();
        System.out.println("menu\n1.crc-12\n2.crc-16");
        System.out.println("enter the choice");
        int ch=p.nextInt();
        String s2="";
        if(ch==1)
        {
            s2="000000000000";
        }
        else if(ch==2)
        {
            s2="0000000000000000000";
        }
        int l2=s2.length();
        System.out.println("enter the polynomial coefficient");
        String s3=p.next();
        int l3=s3.length();
        String s4="";
        s4=s1+s2;
        int l4=s4.length();
        int i,j,m;
        char a[]=new char[l4];
        for(i=0;i<l4;i++)
        {
            a[i]=s4.charAt(i);
        }
        char b[]=new char[l3];
        Crc cr=new Crc();
        char temp[]=new char[100];
        for(i=0;i<l3;i++)
        {
            temp[i]=cr.find(a[i],b[i]);
        }
        for(i=0;i<l4-l3;i++)
        {
            for(j=0;j<l3-1;j++)
            {
                temp[i]=temp[j+1];
            }
        temp[j]=a[l3+1];
        if(temp[0]=='0')
        {
            for(m=0;m<l3;m++)
            {
                temp[m]=cr.find(temp[m],'0');
            }
        }
        else
        {
            for(m=0;m<l3;m++)
            {
                temp[m]=cr.find(temp[m],b[m]);
            }
        }
        }
        System.out.println("transmitted frame:");
        for(i=1,j=1;i<l4;i++)
        {
            a[i]=temp[j];
            j++;
        }
        for(i=0;i<l4;i++)
        {
            System.out.print(+a[i]);
        }
        for(i=0;i<l4-l3;i++)
        {
            for(j=0;j<l3-1;j++)
            {
                temp[i]=cr.find(a[i],b[i]);
            }
            temp[j]=a[l3+1];
            if(temp[0]=='0')
            {
                for(m=0;m<l3;m++)
                {
                    temp[m]=cr.find(temp[m],'0');
                }
            }
            else
            {
               
                for(m=0;m<l3;m++)
                {
                    temp[m]=cr.find(temp[m],b[m]);
                }
            }
        }
            int count=0;
            for(i=0;i<l3;i++)
            if(temp[i]=='0')
                count++;
            if(count==l3)
                System.out.println("\ntransmitted code is error free");
            else
                System.out.println("\n it is an error");
    }
}           
       

2 comments:

  1. import java.util.Scanner;
    import static java.lang.System.*;
    public class Crc
    {
    public static void main(String [] args)
    {
    Scanner input=new Scanner(System.in);
    String s1=new String();
    int [] f=new int[500];
    out.print("enter Frame");
    s1=input.next();
    int lf=s1.length();
    String temp;
    int i;
    for(i=0;i=(lf+lg-1))
    {
    if(t1[0]!=0)
    {
    for(j=0;j<lg;j++)
    {
    t1[j]=t1[j]^g[j];
    }

    }
    }
    }
    out.println();
    for(j=0;j<lg-1;j++)
    {
    f[lf+j]=t1[j+1];
    }
    out.print("the message transmitted is : ");
    for(j=0;j<(lg+lf-1);j++)
    {
    out.print(f[j]);
    }
    }
    }


    /*
    how abt this code dude
    */

    ReplyDelete
  2. great raaa....It luks very simple....

    ReplyDelete