CN Prog2
CN Prog2
#include<stdio.h>
#include<stdlib.h>
k = 0;
for(i=0;i<nq;i++)
{
if(r[i]==0)
{
for(j=i;j<(i+ng);j++)
{
r[j]=r[j]^0;
}
q[i]=0;
}
else
{
for(j=i;j<(i+ng);j++)
{
r[j]=r[j]^g[k];
k++;
}
q[i]=1;
k=0;
}
}
return (0);
}
main()
{
int *gx,*tx,*q,*r;
int i,j,nt,ng,nq,n,flag=1;
n=nt+ng-1;
nq=nt;
gx=malloc(sizeof(int)*ng);
tx=malloc(sizeof(int)*n);
r=malloc(sizeof(int)*n);
q=calloc(nq,sizeof(int));
/* *****AT TRANSMITTER***** */
printf("\n CRC at transmitter :");
printf("\n Message to be transmitted :");
print(tx,nt);
printf("\n G(x)=");
print(gx,ng);
printf("\n Message with '0' appended :");
print(r,n);
crc(gx,q,r,ng,nq);
for(i=0;i<nt;i++)
{
r[i]=tx[i];
}
/* ***** AT RECEIVER***** */
printf("\n CRC at receiver :");
printf("\n Message received :");
print(r,n);
printf("\n G(x)=");
print(gx,ng);
crc(gx,q,r,ng,nq);
if(flag)
printf("\n No error detected -->CRC algorithm implemented
successfully.");
else
printf("\n Error detected.");
getch();
Enter message :0 1 1 0 1 1 0 1
Enter G(x) :1 0 1 0 1
CRC at transmitter :
Message to be transmitted :01101101
G(x)=10101
Quotient at transmitter:01110111
CRC at receiver :
Message received :011011011011
G(x)=10101