You are on page 1of 20

Data Communication And Networking

Practicals
(2016-2017)

Inde

Practical No.1

Aim: W.A.P to generate check sum for given data at transmitter side & detect the error at receiver side.
3
% For transmitter side

% For receiver side

Practical No.2

Aim: W.A.P to generate code with the added parity on transmitter side & detect error on receiver side. 7
% For transmitter side

% For receiver side

Practical No.3

11

Aim: W.A.P to generate hamming code at the transmitter side & detect error on receiver side.

11

Matlab code :-

11

% For transmitter side

11

% For receiver side

13

Practical No.4
Aim: W.A.P to generate crc for transmitter & receiver.

15
15

% For transmitter side

15

% For receiver side

17

Practical No.5
Aim: W.A.P to generate matlab code for byte stuffing.

19
19

Practical No.1
Aim: W.A.P to generate check sum for given data at transmitter side & detect
the error at receiver side.
Matlab code :% For transmitter side
clc,
clear all,
close all,
a=input('input the data to be transmitted=');
l=length(a);
c=zeros(1,4)
j=1
for (i=1:l/4)
b(i,1:4)=a(1,j:j+3);
j=j+4;
end
for(i=1:l/4)
c=xor(c(1,1:4),b(i,1:4));
end
disp('Data in c= ')
disp(c)
disp('Data to be transmitted= ')
d=[b;c]

Output of transmitter:input the data to be transmitted=[1 0 1 0 1 1 0 0 1 0 1 0]


c =0

j =1
Data in c=1

Data to be transmitted=
1

% For receiver side


clc,
clear all,
close all,
a=input('input the received data=');
l=length(a);
disp(l)
f=[0 0 0 0];
j=1;
for(i=1:l/4)
b(i,1:4)=a(1,j:j+3);
j=j+4;
end
disp('data for syndrom')
disp(b)
for(i=1:l/4)
f=xor(f,b(i,1:4));
end
disp('syndrom')
disp(f)
if f==0
disp('no error in received data')
else
disp('error in received data')
end

Output of receiver:input the received data=[1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0]


l=16
syndrom 0

no error in received data

Practical No.2
Aim: W.A.P to generate code with the added parity on transmitter side &
detect error on receiver side.
Matlab code :% For transmitter side
clc;
clear all;
close all;
a=input('enter data to be transmitted= ');
l=length(a)
p=0
for i=1:l
p=xor(p,a(1,i))
end
disp('parity of entered data=');
disp(p);
disp('data to be transmitted=');
a=[a p];
disp(a)

Output of transmitter:enter data to be transmitted= [1 0 1 1 0]


l=5
pairty of entered data=1
data to be transmitted=
1

% For receiver side


clc;
clear all;
close all;
a=input('data received= ');
l=length(a)
e=0
for i=1:l
e=xor(e,a(1,i))
end
disp('error=');
disp(e);
if e==0
disp('no error');
else
disp('error occured');
end

Output of receiver:data received= [1 0 1 1 0 1]


l =6
error= 0
no error

10

Practical No.3
Aim: W.A.P to generate hamming code at the transmitter side & detect error
on receiver side.
Matlab code :% For transmitter side
clc;
clear all;
close all;
a=input('enter data to be transmitted= ');
k=xor(a(1,4),a(1,2))
r0=xor(k,a(1,3))
l=xor(a(1,2),a(1,3))
r1=xor(l,a(1,1))
m=xor(a(1,1),a(1,3))
r2=xor(m,a(1,4))
disp('codeword to be transmitted=')
data=[a,r2,r1,r0]

11

Output of transmitter:enter data to be transmitted= [1 0 1 0]


codeword to be transmitted=1

12

% For receiver side


clc;
clear all;
close all;
b=input('received data= ');
k=xor(b(1,2),b(1,3));
l=xor(k,b(1,4));
s0=xor(l,b(1,7));
m=xor(b(1,1),b(1,2));
n=xor(m,b(1,3));
s1=xor(n,b(1,6));
q=xor(b(1,1),b(1,4));
p=xor(q,b(1,3));
s2=xor(p,b(1,5));
x=[s2,s1,s0]
disp('syndrome=')
disp(x)
if x==[0 0 0]
disp('no error in received data')
elseif x==[0 0 1]
disp('error in 7th bit of received data')
elseif x==[0 1 0]
disp('error in 6th bit of received data')
elseif x==[0 1 1]
disp('error in 2nd bit of received data')
elseif x==[1 0 0]
disp('error in 5th bit of received data')
elseif x==[1 0 1]
disp('error in 4th bit of received data')
elseif x==[1 1 0]
disp('error in 1st bit of received data')
elseif x==[1 1 1]
disp('error in 3rd bit of received data')
end

13

Output of receiver:received data= [1 0 1 0 0 0 1]


syndrome= 0

no error in received data

14

Practical No.4
Aim: W.A.P to generate crc for transmitter & receiver.
Matlab code :% For transmitter side
clc;
clear all;
close all;
a=input('input data for dividend =');
b=input('input data for divisor =');
l=length(b);
disp(l)
c=zeros(1,(l-1));
e=zeros(1,l);
a1=[a,c]
i=length(a1)
disp(a1)
d=xor(a1(1,1:l),b(1,1:l));
disp(d)
n=length(d)
for (p=1:i-l)
if d(1,2)==0
d=xor([d(1,2:n),a1(1,p+l)],e);
disp(d)
else
d=xor([d(1,2:n),a1(1,p+l)],b);
disp(d)
end
end
disp(d)
disp('data to be transmitted = ')
a=[a,d(1,2:n)]

15

Output of transmitter:input data for dividend =[1 0 0 1 1 1 0 1]


input data for divisor =[1 0 1 1]
l=4
a1 =1

i =11
data to be transmitted =
1

16

% For receiver side


clc;
clear all;

close all;

a=input('input data received =');


b=input('input data for divisor =');
l=length(b);
disp(l)
e=zeros(1,l);
i=length(a)
disp(a)
d=xor(a(1,1:l),b(1,1:4));
disp(d)
n=length(d)
for (p=1:i-l)
if d(1,2)==0
d=xor([d(1,2:n),a(1,p+l)],e);
disp(d)
else
d=xor([d(1,2:n),a(1,p+l)],b);
disp(d)
end
end
disp(d)
if d==[0 0 0 0]
disp('no error in received data')
else
disp('error in received data')
end

17

Output of receiver:input data received =[1 0 0 1 1 1 0 1 0 1 1]


input data for divisor =[1 0 1 1]
l= 4
i =11
d=0

no error in received data

18

Practical No.5
Aim: W.A.P to generate matlab code for byte stuffing.
Matlab code :clc;
clear all;
close all;
a=input('enter the ascii data to be transmitted=')
l=length(a)
c=a
for i=1:l
if a(1,i)=='e'&& a(1,i-1)~='e'
b=a(1,i:l)
d=a(1,1:i-1)
a=[d 'e' b]
l=l+1
elseif a(1,i)=='f'&& a(1,i-1)~='e'
b=a(1,i:l)
d=a(1,1:i-1)
a=[d 'e' b]
l=l+1
else
end
end
disp('Data after byte stuffing= ')
disp(a)

19

Output of byte stuffing:enter the ascii data to be transmitted='a b c e f w'


Data after byte stuffing=a b c ee ef w

20

You might also like