Documente Academic
Documente Profesional
Documente Cultură
PROIECT
COMUNICAȚII MOBILE
Rețelele celulare de comunicații mobile sunt organizate ca rețele cu acces multiplu (trunking).
Aceasta înseamnă că un număr mare de utilizatori folosesc în comun un număr mult mai mic de canale de
comunicație. Rețelele cu acces multiplu își bazează funcționarea pe comportarea statistică a utilizatorilor,
în sensul că fiecare din ei inițiază comunicații la momente de timp aleatoriu distribuite și independent de
acțiunile celorlalți utilizatori; în plus, un utilizator petrece doar o fracțiune de timp pentru a comunica, cea
mai mare parte din timp el neaccesând resursele rețelei de comunicație. Din această cauză la un anumit
moment numai o mică parte din utilizatori sunt angajați în comunicație. O rețea cu acces multiplu asigură
o calitate dorită a comunicațiilor dacă are suficiente canale pentru a susține în fiecare moment
marea majoritate a comunicațiilor solicitate de utilizatorii ei. Dacă la primirea unui apel de comunicație
toate canalele rețelei sunt ocupate, comunicația nu se poate desfășura și cererea este respinsă. Se spune că
apelul este blocat. Calitatea comunicațiilor (QoS - Quality of Service) într-o rețea cu acces multiplu este
apreciată, în principal, prin numărul de apeluri blocate raportat la numărul total de apeluri lansate într-o
perioadă de timp, raport denumit probabilitate de blocare deoarece este un parametru cu evoluție
aleatoare în timp. Dacă rețeaua are posibilitatea de a memora apelurile neservite și de a le oferi canale în
momentul în care se eliberează unul din ele, atunci QoS este apreciată prin timpul mediu de așteptare a
apelurilor.
Intensitatea traficului realizat pe un canal de comunicație este raportul dintre timpul în care
canalul a fost ocupat și timpul total de observare. Perioada de observare poate fi minutul, ora, o perioadă a
zilei, ziua întreagă etc. Intensitatea traficului este o mărime adimensională. Totuși ei îi este asociată o
unitate de măsură − Erlang − în cinstea savantului danez cu acest nume ce a elaborat prima teorie privind
traficul în rețelele cu acces multiplu. O intensitate a traficului realizat de 1 Erlang înseamnă un canal
ocupat permanent pe perioada de observare. Dacă, de exemplu, un canal este ocupat în medie 15 minute
în fiecare oră, atunci traficul realizat de acest canal are intensitatea de 0,25 Erlangi, iar dacă este ocupat în
medie 12 ore pe zi, atunci intensitatea traficului este de 0,5 Erlangi.
Traficul maxim realizabil de o rețea celulară este egal cu produsul dintre numărul total de canale și
numărul de cluster-e definite pe aria rețelei. Abstracție făcând de nivelul inacceptabil de mare al
interferenței în rețea atunci când toate canalele sunt ocupate, această valoare maximă nu se poate atinge
nici principial, deoarece ar presupune o ordonare perfectă a comunicațiilor pe fiecare canal și în fiecare
celulă, astfel încât să nu se suprapună în timp, dar nici să existe pauze între ele. În realitate apelurile de
comunicații sosesc aleatoriu și durata comunicațiilor este, de asemenea, aleatorie. În perioadele de timp
cu trafic de intensitate mică există intervale de timp în care multe din canalele rețelei sunt libere, iar în
perioadele de timp cu trafic de intensitate mare unele apeluri sunt blocate din cauză că nu există canale
libere. Traficul realizat de o rețea este, deci, totdeauna mai mic decât traficul oferit de utilizatori.
Proiectarea unei rețele de comunicații se realizează cu obiectivul ca probabilitatea de blocare a apelurilor
în ora cea mai ocupată să nu depășească un prag prestabilit (de exemplu, 2% sau 1%). În rețelele fără
memorie în care apelurile blocate sunt eliminate probabilitatea de blocare este dată de formula Erlang B:
unde A este intensitatea traficului oferit în rețea, iar M este numărul total de canale aflate la dispoziția
rețelei. Dacă probabilitatea de blocare a apelurilor este o măsură a calității comunicațiilor într-o rețea,
atunci formula Erlang B poate fi folosită pentru analiza acesteia. Când se cunoaște intensitatea traficului
oferit și numărul de canale pe care rețeaua le are la dispoziție, atunci formula Erlang B permite calcularea
probabilității de blocare.
Capitolul II Implementare temei de proiectare
Pentru realizarea acestui proiect ne propunem să realizăm un script în Matlab, care să permită utilizarea
formulei B a lui Erlang pentru calcularea unor caracteristici dintr-o rețea unicelulară.
Limite:
Afișare rezultate
fprintf('\a Probabilitatea de blocare pentru %4.0f numar de canale \n
si %4.0f intensitate de trafic este%4.4f %% \r',mm,aa,Pb*100);
fprintf('\n \n \n');
Generarea unei matrici Pb cu probabilități de blocare pentru un număr finit de elemente. Este necesar
acest lucru pentru a limita durata calculelor. În acest caz am generat o matrice de dimensiuni
30X30=900 de elemente. Vom efectua o căutări repetate în această matrice pentru a identifica
numărul de canale.
A=[0.0:1.0:30];
m=[1:1:30];
for i=1:length(A)
for j=1:length(m)
Pb(i,j)=0;
end;
end;
Pentru ușurința implementării soluției, am folosit funcția erlangb(N,A)cu dezavantajul introducerii
unor erori de rotunjire.
for i=1:length(A)
for j=1:length(m)
Pb(i,j)=erlangb(m(j),A(i));
end;
end;
%100.^
rand=1;
for (i=1:length(A) )
if (a==A(rand))
pozi=rand;
else rand=rand+1;
end;
end;
pp=p*100;
pp=floor(pp);
for (j=1:length(m))
comp1=(Pb(pozi,j)*100);
comp1=floor(comp1);
if (comp1==pp)
pozj=j;
end;
end;
for i=1:length(A)
for j=1:length(m)
Pb(i,j)=0;
end;
end;
for i=1:length(A)
for j=1:length(m)
Pb(i,j)=erlangb(m(j),A(i));
end;
end;
pozji=0;
pp2=B*100;
pp2=floor(pp);
for (i=1:length(A))
comp2=(erlangb(N,A(i))*100);
comp2=floor(comp2);
if (comp2==pp2)
pozji=i;
end;
end;
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @final_a_OpeningFcn, ...
'gui_OutputFcn', @final_a_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
Realizarea casetelor text pentru introducerea datelor și validarea datelor intruse (la introducere unor
date dinafara intervalului se va afișa un mesaj de eroare)
Am preferat să afișăm rezultatul în cele două forme (procentual și zecimal) pentru ca mai târziu să
putem utiliza rezultatul zecimal.
function rezultat_de_afisat_Callback(hObject, eventdata, handles)
set(handles.rezultat_de_afisat_Callback,'String',handles.rezultat_Callback);
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @final_b_OpeningFcn, ...
'gui_OutputFcn', @final_b_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
for i=1:length(A)
for j=1:length(m)
Pb(i,j)=erlangb(m(j),A(i));
end;
end;
rand=1;
for (i=1:length(A) )
if (a==A(rand))
pozi=rand;
else rand=rand+1;
end;
end;
pp=p*100;
pp=floor(pp);
pozj1=0;
for (j=1:length(m))
comp1=(Pb(pozi,j)*100);
comp1=floor(comp1);
if (comp1==pp)
pozj=j;
end;
end;
set(handles.rezultat,'String',pozj);
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
m=[1:1:N];
for i=1:length(A)
for j=1:length(m)
Pb(i,j)=0;
end;
end;
for i=1:length(A)
for j=1:length(m)
Pb(i,j)=erlangb(m(j),A(i));
end;
end;
pozji=0;
pp2=B*100;
pp2=floor(pp2);
for (i=1:length(A))
comp2=(erlangb(N,A(i))*100);
comp2=floor(comp2);
if (comp2==pp2)
pozji=i;
end;
end;
pozji=pozji-1;
set(handles.edit6,'String',pozji);
În acest proiect realizat un script în Matlab care să calculeze probabilitatea de blocare a unui sistem
unicelular, pentru o intensitate de trafic dată și un număr de canale dat. Astfel folosind formula amintită
în capitolul I (formula B a lui Erlang) am reușit să îndeplinim acest punct al proiectului nostru, dar cum în
inginerie nimic nu este perfect și pentru că noi folosim un sistem de calcul pentru realizarea scriptului
am introdus mici erori de aproximare în momentul efectuării calculelor. Erorile sunt de ordinul 0,001,
astfel pentru cazul tratat de noi, intensitate de trafic de 9 Erlang și 15 canale am obținut 1,9865%
probabilitate de eroare, iar funcția erlangb(15,9) returnează 1,99.
Credem că am realizat tema de proiect cu succes și cu erori minime ce intervin în aflarea rezultatelor
pentru toate cele trei cazuri.