error detection methods of computer networks, Study notes of Computer Networks

error detection codes in Computer Networks

Typology: Study notes

2017/2018

Uploaded on 01/17/2018

manish-singh-4
manish-singh-4 🇮🇳

1 document

1 / 14

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
3. Implement Hamming code- Error Correction
Mechanism in C language
Ans:
Aim:
To Implement Hamming Code using C language.
Code:
#include <stdio.h>
int main()
{
int data[20];
int datarecv[20], c, c1, c2, c4 , c8, i;
printf("Enter 8 bits of data (Burst Errors can\'t be found)\n");
scanf("%d", &data[12]);
scanf("%d", &data[11]);
scanf("%d", &data[10]);
scanf("%d", &data[9]);
scanf("%d", &data[7]);
scanf("%d", &data[6]);
scanf("%d", &data[5]);
scanf("%d", &data[3]);
data[8] = data[9] ^ data[10]^data[11] ^ data[12];
data[4] = data[5] ^ data[6] ^ data[7] ^ data[12];
data[2] = data[3] ^ data[6] ^ data[7]^ data[10]^ data[11];
data[1] = data[3] ^ data[5] ^ data[7] ^ data[9] ^ data[11];
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Partial preview of the text

Download error detection methods of computer networks and more Study notes Computer Networks in PDF only on Docsity!

3. Implement Hamming code- Error Correction

Mechanism in C language

Ans:

Aim:

To Implement Hamming Code using C language.

Code:

#include <stdio.h>

int main()

int data[20];

int datarecv[20], c, c1, c2, c4 , c8, i;

printf("Enter 8 bits of data (Burst Errors can't be found)\n");

scanf("%d", &data[12]);

scanf("%d", &data[11]);

scanf("%d", &data[10]);

scanf("%d", &data[9]);

scanf("%d", &data[7]);

scanf("%d", &data[6]);

scanf("%d", &data[5]);

scanf("%d", &data[3]);

data[8] = data[9] ^ data[10]^data[11] ^ data[12];

data[4] = data[5] ^ data[6] ^ data[7] ^ data[12];

data[2] = data[3] ^ data[6] ^ data[7]^ data[10]^ data[11];

data[1] = data[3] ^ data[5] ^ data[7] ^ data[9] ^ data[11];

printf("Redundant Bits are: %d%d%d%d", data[1], data[2],

data[4], data[8]);

printf("\nEncoded data is: ");

for (i = 12 ; i >= 1 ; i-- ) {

printf("%d", data[i]);

printf("\nEnter the received dataword:\n" );

for (i = 12 ;i >= 1 ; i--) {

scanf("%d", &datarecv[i]);

c1 =

datarecv[1]^datarecv[3]^datarecv[5]^datarecv[7]^datarecv[9]^da

tarecv[11];

c2 =

datarecv[2]^datarecv[3]^datarecv[6]^datarecv[7]^datarecv[10]^d

atarecv[11];

c4 =

datarecv[4]^datarecv[5]^datarecv[6]^datarecv[7]^datarecv[12] ;

c8 =

datarecv[8]^datarecv[9]^datarecv[10]^datarecv[11]^datarecv[12]

c = c1 + c22 + c44 + c8*8 ;

if (c == 0){

printf("\nNo Error\n");

} else {

printf("\nError on position %d", c);

printf("\nCorrect Message: ");

if (datarecv[c] == 0)

datarecv[c] = 1;

else

datarecv[c] = 0;

int choice; while(1) { printf("\n1.Find CRC\t2.Check CRC\t3.Exit \nYour choice\t"); scanf("%d",&choice); switch(choice) { case 1: printf("Enter the input string\n"); scanf("%s",text); printf("Enter the key\n"); scanf("%s",key); crc(); printf("the transmitted message is %s\n",strcat(text,rem)); break; case 2: printf("Enter the input string\n"); scanf("%s",&text); printf("Enter the key\n"); scanf("%s",key); crc(); for(i=0;i<strlen(key)-1;i++) if(rem[i]=='1') break; if(i==strlen(key)-1) printf("There is no error in the message\n"); else printf("There is error in the message\n"); break; case 3: exit(0); } } }

Input:

Enter choice: 1. Find CRC

2. Check CRC

If 1 is pressed:

Enter the input string: 101101001

Enter the key: 1011

Output:

The transmitted message is 101101001110

SCREENSHOTS:

5. Implement Checksum- Error Detection Mechanism

in C language.

Aim: To CheckSum using C language: Code: #include<stdio.h> #include<math.h> void sender() { printf("Sender:\n\n"); int a[10],i,m,scheck,rcheck; printf("Enter number of data segments: "); scanf("%d",&m); printf("Enter the data segments:\n"); for(i=0;i<m;i++) scanf("%d",&a[i]); int checksum,sum=0; for(i=0;i<m;i++) sum+=a[i]; checksum=~sum; printf("Checksum: %d\n",checksum); } void receiver() { printf("Reciever:\n\n"); int a[10],i,m,scheck; printf("Enter number of data segments: "); scanf("%d",&m); printf("Enter the data segments:\n"); for(i=0;i<m;i++) scanf("%d",&a[i]); printf("Enter the recieved checksum: "); scanf("%d",&scheck); int checksum,sum=0; for(i=0;i<m;i++) sum+=a[i]; sum=sum+scheck;

checksum=~sum; printf("Checksum: %d\n", checksum); if(checksum==0) printf("No error in transmission\n"); else printf("Error in transmission\n"); } int main() { int a; while(1) { printf("Enter 1 for sender and 2 for reciever. Press 3 to quit\n"); scanf("%d",&a); if(a == 1) sender(); else if(a == 2) receiver(); else if(a == 3) break; else printf("Invalid choice\n"); } return 0; }

Input:

Choose 1 for Sender and 2 for Receiver

If 1:

Sender:

Enter the number of data segments: 4

Enter the data segments: 1001, 1101, 1111, 1000

If 2:

Receiver:

Enter the number of data segments: 4

Enter the data segments: 1001, 1101, 1111, 1000

Enter the Receiver Checksum: -

Output:

Conclusion:

All the error Detecting methods have been implemented using C

language and the output is verified using Pen and paper method

also.