Saturday, June 25, 2011

Generation of Integrated (ISDN) traffic [Matlab]


clc;
clear all;
use=input('Enter the Number of users: ');
ts=input('Enter the Number of Time Slots: ');
on=0.35;
voiceuser=0;
datauser=0;
voipuser=0;
ton=zeros(use,ts);
n=ton;
for i=1:use
for j=1:ts
ton(i,:)=poissrnd((on*10),1,ts);
if (ton(i,j)>=3.5)
n(i,j)=1;
end
end
end
userprob=randint(1,use,[1,10]);
useriden=ones(1,use);
for i=1:use
if (userprob(i)>=1 & userprob<=5)
useriden(i)=1;
voiceuser=voiceuser+1;
elseif (userprob(i)>5 & userprob(i)<=8)
useriden(i)=2;
voipuser=voipuser+1;
else
useriden(i)=3;
datauser=datauser+1;
end
end
newuseriden=sort(useriden);
isdn=64000*n;
test=randint(voipuser,ts,[1,1000]);
for i=voiceuser+1:voipuser+voiceuser
for j=1:ts
if n(i,j)==1
if test(i-voiceuser,j)>=1 & test(i-voiceuser,j)<=800
isdn(i,j)=64000;
else
isdn(i,j)=384000;
end
end
end
end
test1=randint(datauser,ts,[1,1000]);
for i=voiceuser+voipuser+1:use
for j=1:ts
if n(i,j)==1
if test1(i-(voiceuser+voipuser),j)>=1 & test1(i-(voiceuser+voipuser),j)<=800
isdn(i,j)=64000;
elseif test1(i-(voiceuser+voipuser),j)>800 & test1(i-(voiceuser+voipuser),j)<=900
isdn(i,j)=128000;
elseif test1(i-(voiceuser+voipuser),j)>900 & test1(i-(voiceuser+voipuser),j)<=950
isdn(i,j)=256000;
else
isdn(i,j)=512000;
end
end
end
end
%Time Slots Vs Bandwidth
d=sum(isdn);
figure(1);
bar(d);
xlabel('Time Slots');
ylabel('Bandwidth(bps)');
%Time Slots Vs Error Rate
e=zeros(1,ts);
bm=1984000;
for i=1:ts
if d(i)>bm
e(i)=d(i)-bm;
end
end
figure(2);
bar(e);
xlabel('Time Slots');
ylabel('Error Rate(bps)');
buff=0;
newbw=1984000+buff;
prisdn=isdn(1:voiceuser,:);
voipsort=isdn(voiceuser+1:voiceuser+voipuser,:);
prisdn(voiceuser+1:voiceuser+voipuser,:)=sort(voipsort,1);
datasort=isdn(voiceuser+voipuser+1:use,:);
prisdn(voiceuser+voipuser+1:use,:)=sort(datasort,1);
%To Find How many users go unserved with or without buffer?
unservedvoice=zeros(1,ts);
unservedvoip=zeros(1,ts);
unserveddata=zeros(1,ts);
for i=1:ts
j=0;
bwalloc=0;
while (bwalloc<=newbw & j
j=j+1;
bwalloc=bwalloc+prisdn(j,i);
end
ch=j;
if ch
unservedvoice(i)=voiceuser-ch;
unservedvoip(i)=voipuser;
unserveddata(i)=datauser;
elseif ch>=(voiceuser) & ch<(voiceuser+voipuser)
unservedvoip(i)=voiceuser+voipuser-ch;
unserveddata(i)=datauser;
elseif ch>=(voipuser+voiceuser) & ch
unserveddata(i)=use-ch;
end
end
figure(3);
bar(unservedvoice);
xlabel('Time Slot');
ylabel('Unserved Voice User');
figure(4);
bar(unservedvoip);
xlabel('Time Slot');
ylabel('Unserved VOIP User');
figure(5);
bar(unserveddata);
xlabel('Time Slot');
ylabel('Unserved Data User');

No comments:

Google : The top most search engine

Google : MAGIC BOX

nRelate - Posts and Homepage

LinkWithin

Related Posts Plugin for WordPress, Blogger...

Which is the toughest subject ?