Академический Документы
Профессиональный Документы
Культура Документы
Redes Inalmbricas y Movilidad Planificacin y anlisis de una red de comunicaciones mviles Jorge Navarro Ortiz
Redes Inalmbricas y Movilidad Prctica 2. Planificacin y anlisis de rendimiento de una red de comunicaciones mviles
Duracin: 2 sesiones
1 Introduccin
El objetivo de esta prctica ser familiarizar al alumno con el concepto de reuso de frecuencias en las redes celulares, tpicamente utilizadas en comunicaciones mviles pero tambin en otros sistemas. Para ello, se partir de una topologa en la que las celdas tendrn forma de hexgonos regulares con el mismo tamao. Este escenario permitir al alumno comprobar el rendimiento de este tipo de sistemas. Para ello, se supondr que la limitacin vendr dada por la interferencia cocanal de otras celdas (tpico en reas urbanas) y no por el ruido trmico (tpico en reas rurales). Por otro lado, el alumno tambin aprender alguna de las tcnicas clsicas de asignacin de frecuencias en este tipo de redes. Para ello, crear una red con una topologa irregular en la que no se podrn utilizar tcnicas geomtricas sencillas para la asignacin de frecuencias. De esta forma, el alumno deber utilizar alguna de las tcnicas clsicas para esta asignacin.
2 Realizacin de la prctica
Los alumnos debern entregar una memoria de la prctica en grupos de 3 alumnos. La memoria debe seguir el formato [1], as como incluir (en ficheros aparte) el cdigo MATLAB generado para cada apartado y los ficheros de configuracin de Radio Mobile (opcional). Todo se entregar en un fichero comprimido (ZIP o RAR) con nombre rim2013_p2_xxx_yyy_zzz, donde xxx, yyy y zzz son las iniciales de los alumnos del grupo (por orden alfabtico). Las memorias sern enviadas al profesor por correo electrnico (jorgenavarro@ugr.es) desde una cuenta de la Universidad (@correo.ugr.es), con el asunto [RIM_PRACTICA2_2013] (sin las comillas). En caso de que los ficheros ocupen demasiado (ms de 5 MB), los alumnos podrn utilizar el servicio de consigna de la Universidad (http://consigna.ugr.es), adjuntando el enlace creado en el correo. La fecha mxima de entrega de la memoria se notificar en clase.
donde Pr es la potencia recibida, Pt es la potencia transmitida, K es una constante que depende de las caractersticas de la antena y de la atenuacin media del canal, d0 es una distancia de referencia para considerar campo lejano, d es la distancia entre el transmisor y el receptor y es un exponente (tpicamente entre 2 y 4). Las potencias estn expresadas en unidades lineales.
El cdigo permite recrear este tipo de topologas, indicando el tamao de la celda, el nmero de celdas en el eje horizontal y vertical y el reuso de frecuencias. Este reuso indica el tamao del cluster, o sea, el nmero de celdas que utilizan una frecuencia diferente antes de tener que reutilizar la frecuencia de una celda dada. Adems, el alumno obtendr un mapa con la relacin portadora interferencia (CIR, carrierto-interference ratio) para cada uno de los puntos de la topologa. Igualmente, se calcular un histograma de la CIR que permitir la comparacin entre diferentes escenarios, e.g. diferentes reusos de frecuencia. Como se ha visto en teora, los reusos posibles son los que cumplen la expresin , donde i y j son nmeros enteros, e.g. k = 1, 3, 4, 7, 9, 12.
TAREA1: Complete el cdigo para incluir las prdidas de propagacin segn el modelo general simplificado, suponiendo que todas las celdas tienen las mismas caractersticas de propagacin y que transmiten con la misma potencia. Compare la CIR para diferentes reusos, al menos desde k = 1 12, y para distintos valores del exponente, e.g. = 2, 3 y 4. Para ello haga una tabla en la que indique la CIR media y los percentiles 5, 50 y 95 para cada caso. Suponga para ello un sistema con al menos 50 celdas y que el radio de la celda es de 5 km. Compare la distribucin espacial de CIR para un exponente dado aumentando el reuso, e.g. para = 2 con k=3 y k=7. Igualmente, represente dicha distribucin espacial para un reuso dado cuando aumenta el exponente, e.g. para k=7 con = 2 y = 4. TAREA2: Elija un reuso y un exponente concretos y repita los clculos anteriores para un tamao de radio de celda diferente. Qu observa? Cul es la razn? Para qu sirve entonces aumentar o reducir el radio de la celda? TAREA3: Para los escenarios simulados, calcule cul sera el rendimiento en el borde de la celda. Para ello, utilice como criterio el 5 percentil de la funcin densidad de probabilidad acumulada de la CIR, mapeando dicho valor de CIR a MOS (suponga el cdec EFR para el caso de llamadas de voz GSM) y a velocidad por canal fsico (en el caso de transmisin de datos en GPRS) usando las Figuras 2 y 3.
5 4.5 4 3.5 3
MOS
C/I (dB)
Figura 2. Mean Opinion Score (MOS) para los cdecs EFR y HR de GSM.
Figura 3. Velocidad por canal fsico para GSM (escenario Typical Urban con mvil a 3 Km/h).
jugadores. Bajo ciertas condiciones, las decisiones tomadas por los distintos jugadores convergen a una situacin de equilibrio en la que ningn jugador mejora su beneficio si slo l cambia de decisin. A esta situacin se le llama equilibrio Nash debido al autor que public esta teora. { { } { } }, donde N es el Un juego en su forma normal se define como conjunto de jugadores, Si es el conjunto de estrategias asociadas con el jugador i, y como el conjunto de funciones de utilidad que los jugadores asocian con sus estrategias, siendo el espacio de estrategias. Para cada jugador i en el juego , su funcin de utilidad Ui es una funcin de la estrategia si que ha seleccionado y de las estrategias s-i elegidas por sus oponentes. El algoritmo desarrollado en [1] supone que las celdas son los jugadores, la estrategia elegida por cada jugador es la frecuencia empleada, y la utilidad de la celda Ui asociada a la estrategia elegida viene dada por la siguiente expresin (simplificada para el caso en que todas las celdas usen la misma potencia de transmisin p): ( ) ( )
donde p es la potencia de transmisin de la celda, Gij es la ganancia de enlace entre la celda i y la celda j (inverso de las prdidas por propagacin o path loss) y f(si, sj) es una funcin que indica si las celdas i y j estn transmitiendo en la misma frecuencia: ( ) {
Es decir, la funcin de utilidad de la celda i viene dada por la interferencia recibida por las celdas que transmiten usando su misma frecuencia. Como los juegos maximizan la utilidad agregada ( ), se incluye un signo menos ( - ) para que maximizar U sea equivalente a minimizar la interferencia agregada de todas las celdas. Para llegar a la situacin de equilibrio, se debe jugar iterativamente escogiendo siempre la estrategia (o frecuencia) que maximiza la utilidad del jugador elegido. En cada iteracin, el primer jugador (i = 1) jugar (elegir su estrategia = frecuencia) teniendo en cuenta la situacin actual (estrategias del resto de jugadores). Despus jugar el segundo jugador, y as sucesivamente hasta el jugador N. El juego termina cuando no haya ningn cambio en una iteracin completa (ningn jugador mejora su utilidad si slo l modifica su estrategia unilateralmente).
TAREA: Modifique el cdigo adjunto en el Anexo II para que ahora la posicin de las celdas sea completamente aleatoria (nuevos parmetros de entrada: nmero de celdas, longitud y altura del rea donde se ubican las celdas). Suponga 100 celdas y un rea de 50 Km x 50 Km, con k = 3,5,7 y 9 frecuencias. Con este nuevo escenario:
5
1) Calcule las distribuciones de CIR (indique la media y percentiles 5, 50 y 95) suponiendo que cada celda emplea una frecuencia aleatoria entre 1 y k, suponiendo que el exponente del modelo de propagacin es =4. Incluya la representacin espacial de la CIR y su funcin densidad de probabilidad acumulada. 2) A partir de la situacin anterior (situacin inicial), ejecute el juego con mltiples semillas aleatorias (diferente orden de las celdas a la hora de jugar, si bien este orden no cambiar en cada iteracin). Indique el valor medio del nmero de iteraciones necesarias para llegar al equilibrio. Indique los valores de CIR (media y percentiles) cuando la semilla es igual a la indicada en el apartado 2.2.
2.2.2 Asignacin de frecuencias basada en teora de juegos para el escenario regular con celdas hexagonales (OPCIONAL)
TAREA: Repita el apartado anterior, adaptando el cdigo para usar el escenario regular con celdas hexagonales (escenario del apartado 2.1). 1) Repita los clculos realizados en el apartado 2.1 suponiendo que la asignacin de frecuencias para cada celda es completamente aleatoria. 2) A partir de la situacin anterior (situacin inicial), ejecute el juego con la semilla indicada en el apartado 2.2. Repita los clculos del apartado anterior.
Parmetro Valor ESTACIN BASE Sensibilidad -104 dBm Potencia de transmisin 46 dBm Ganancia de antena 16 dBi Altura de antena 30 m Frecuencia 900 890.2 MHz Frecuencia 1800 1710.2 MHz Ancho de banda 150 KHz MVIL Sensibilidad -102 dBm Potencia de transmisin 33 dBm Ganancia de antena 0 dBi Altura de antena 1.5 m Frecuencia 900 935.2 MHz Frecuencia 1800 1805.2 MHz Ancho de banda 150 KHz
Tabla 1. Parmetros tpicos de estacin base y mvil GSM.
TAREA: Elabore un mapa de cobertura de los sectores instalados en la ETSIIT, tanto si utilizan frecuencias de la banda de 900 MHz como si son de la banda de 1800 MHz. Indique si el mvil recibe correctamente en ambos casos.
% Regular frequency assignment frequency = zeros(hcells, vcells); for i=1:k % Find a cell with no frequency assigned cellnumber = find(frequency==0); cellnumber = cellnumber(1); cellI = mod((cellnumber-1), hcells) + 1; cellJ = floor((cellnumber-1) / hcells) + 1; frequency(cellI, cellJ) = i; % Assign same frequency to the six cells around this cell (using i steps in one direction % and then j steps in another direction (see Figure 1) for j=1:6 frequency = setFrequencyNextCell(cellI, cellJ, ki, kj, j, i, frequency, hcells, vcells); end end % Figure with frequency assignments figure; hold on; plot (cellsX, cellsY, '+k'); hcolor=colormap(hsv(k)); for i1=1:hcells for j1=1:vcells % Plot cells [x,y] = hexagon(0.9*r, cellsX(i1,j1), cellsY(i1,j1)); plot(x,y, 'LineWidth', 3, 'Color', hcolor(frequency(i1,j1),:)); textOffset = 1; text(cellsX(i1,j1) + textOffset*deltaX, cellsY(i1,j1), num2str(frequency(i1,j1)), 'FontSize', 8, 'Color', hcolor(frequency(i1,j1),:)); end end xlabel('X position (meters)'); ylabel('Y position (meters)'); title('Cell locations and frequencies'); cb1=colorbar; set(get(cb1,'ylabel'),'String', 'frequency'); maxX = max(max(cellsX)) + r; maxY = max(max(cellsY)) + r; axis ([0 maxX 0 maxY]); % Calculate pathloss values maxX2 = ceil(maxX/deltaX); maxY2 = ceil(maxY/deltaY); pathloss = zeros(hcells*vcells, maxX2, maxY2); % Loops for cells for i=1:hcells for j=1:vcells % Loops for X and Y for x=1:maxX2 for y=1:maxY2 % Pathloss between the cell and the point (x*deltaX, y*deltaY) pathloss(i + (j-1)*hcells, x, y) = pathloss_model(...); end end end end % Calculate CIR values cir = zeros(maxX2, maxY2); receivedPower = zeros(maxX2, maxY2); interferencePower = zeros(maxX2, maxY2); for x=1:maxX2 for y=1:maxY2 % Cell with highest received power, i.e. lowest path loss predominantCell = find(pathloss(:,x,y) == min(pathloss(:,x,y))); predominantCell = predominantCell(1); % Just in case two cells were at the same
% distance frequencyPredominantCell = frequency(predominantCell); % Received power (but scaling factors) receivedPower(x,y) = 1/pathloss(predominantCell,x,y); % Cells using same frequency cellsWithSameFrequency = find(frequency == frequencyPredominantCell); % Removing selected (predominant) cell cellsWithSameFrequency = cellsWithSameFrequency(find(cellsWithSameFrequency ~= predominantCell)); % Interference power (but scaling factors) interferencePower(x,y) = sum(1./pathloss(cellsWithSameFrequency,x,y)); % CIR cir(x,y) = receivedPower(x,y) / interferencePower(x,y); end end % Values in dBs receivedPowerdB = 10*log10(receivedPower); interferencePowerdB = 10*log10(interferencePower); cirdB = 10*log10(cir); % Bound CIR values for the plot maxCIRdBMatrix = maxCIRdB*ones(size(cirdB)); minCIRdBMatrix = minCIRdB*ones(size(cirdB)); limitedCIRdB = max(minCIRdBMatrix,min(maxCIRdBMatrix, cirdB)); % CIR figure figure; set(gcf, 'renderer', painters'); pcolor((1:maxX2)*deltaX, (1:maxY2)*deltaY, limitedCIRdB'); shading(gca, 'interp'); cb2=colorbar; set(get(cb2,'ylabel'),'String', 'CIR (dB)'); xlabel('X position (meters)'); ylabel('Y position (meters)'); title('Carrier to Interference Ratio (CIR)'); % CIR histogram (probability density function) figure; cirdBsamples = cirdB(:); noBins = 50; [n,x] = hist(cirdBsamples, noBins); n = n / sum(n); plot(x,n); grid on; xlabel('CIR (dB)'); ylabel('proportion of samples'); title('CIR probability density function'); % CIR cumulative density function figure; n = cumsum(n); plot(x,n); grid on; xlabel('CIR (dB)'); ylabel('proportion of samples'); title('CIR cumulative density function'); end function [x,y] = hexagon(r, centerX, centerY) % r ......... radius of the cell (meters) % centerX ... X value of the center of the cell (meters) % centerY ... Y value of the center of the cell (meters) theta = 0:60:360; x = r*cosd(theta) + centerX; y = r*sind(theta) + centerY; end
10
function [d] = distance(P1, P2) % P1 ... first point (vector with X and Y values) % P2 ... second point (vector with X and Y values) d = sqrt((P1(1)-P2(1))^2 + (P1(2)-P2(2))^2); end function [frequency] = setFrequencyNextCell(cellI, cellJ, ki, kj, side, channel, frequency, hcells, vcells) switch side case 1 % Up then right newCellI = floor((((2*cellI - mod(cellJ,2)) + kj) - 1) / 2) + 1; newCellJ = cellJ + 2*ki + kj; case 2 % Right-up then right-down newCellI = floor((((2*cellI - mod(cellJ,2)) + ki + kj) - 1) / 2) + 1; newCellJ = cellJ + ki - kj; case 3 % Right-down then down newCellI = floor((((2*cellI - mod(cellJ,2)) + ki) - 1) / 2) + 1; newCellJ = cellJ - ki - 2*kj; case 4 % Down then left-down newCellI = floor((((2*cellI - mod(cellJ,2)) - kj) - 1) / 2) + 1; newCellJ = cellJ - 2*ki - kj; case 5 % Left-down then left-up newCellI = floor((((2*cellI - mod(cellJ,2)) - ki - kj) - 1) / 2) + 1; newCellJ = cellJ - ki + kj; case 6 % Left-up then up newCellI = floor((((2*cellI - mod(cellJ,2)) - ki) - 1) / 2) + 1; newCellJ = cellJ + ki + 2*kj; end % Check whether the cell is on the map and has not been visited yet if ((newCellI >= 1) && (newCellI <= hcells) && (newCellJ >= 1) && (newCellJ <= vcells) && (frequency(newCellI, newCellJ) == 0)) frequency(newCellI, newCellJ) = channel; for j=1:6 % Call recursively this function with the 6 sides of the hexagon frequency = setFrequencyNextCell(newCellI, newCellJ, ki, kj, j, channel, frequency, hcells, vcells); end end end function [pathloss] = pathloss_model(...) % *** IMPLEMENTATION OF THE PATHLOSS MODEL *** end
Cdigo 1. Algoritmo para crear una topologa celular regular con un reuso dado.
11
12
for i=1:noCells % All possible utilities for each frequency selection util = utilities(gainMatrix, frequency, k, i); % Select the frequency that maximizes the cell utility bestFrequency = find(util == max(util)); bestFrequency = bestFrequency(1); % Just in case there were two frequencies with % same max utility if (frequency(i) ~= bestFrequency) frequency(i) = bestFrequency; noChanges = noChanges + 1; end end % Test whether there has been any change (then continue) or not (game has finished) if (noChanges > 0) noIterations = noIterations + 1; utilityPerIteration(noIterations+1) = aggregateUtility(gainMatrix, frequency); else finished = true; end end end % Figure with frequency assignments figure; hold on; plot (cellsX, cellsY, '+k'); hcolor=colormap(hsv(k)); for i=1:noCells % Plot cells textOffset = 1; text(cellsX(i) + textOffset*deltaX, cellsY(i), num2str(frequency(i)), 'FontSize', 8, 'Color', hcolor(frequency(i),:)); end xlabel('X position (meters)'); ylabel('Y position (meters)'); title('Cell locations and frequencies'); cb1=colorbar; set(get(cb1,'ylabel'),'String', 'frequency'); maxX = hlength; maxY = vlength; axis ([0 maxX 0 maxY]); % Calculate pathloss values maxX2 = ceil(maxX/deltaX); maxY2 = ceil(maxY/deltaY); pathloss = zeros(noCells, maxX2, maxY2); % Loop for cells for i=1:noCells % Loops for X and Y for x=1:maxX2 for y=1:maxY2 % Pathloss between the cell and the point (x*deltaX, y*deltaY) pathloss(i, x, y) = pathloss_model(...); end end end % Calculate CIR values cir = zeros(maxX2, maxY2); receivedPower = zeros(maxX2, maxY2); interferencePower = zeros(maxX2, maxY2); for x=1:maxX2 for y=1:maxY2 % Cell with highest received power, i.e. lowest path loss predominantCell = find(pathloss(:,x,y) == min(pathloss(:,x,y))); predominantCell = predominantCell(1); % Just in case two cells were at the same % distance
13
frequencyPredominantCell = frequency(predominantCell); % Received power (but scaling factors) receivedPower(x,y) = 1/pathloss(predominantCell,x,y); % Cells using same frequency cellsWithSameFrequency = find(frequency == frequencyPredominantCell); % Removing selected (predominant) cell cellsWithSameFrequency = cellsWithSameFrequency(find(cellsWithSameFrequency ~= predominantCell)); % Interference power (but scaling factors) interferencePower(x,y) = sum(1./pathloss(cellsWithSameFrequency,x,y)); % CIR cir(x,y) = receivedPower(x,y) / interferencePower(x,y); end end % Values in dBs receivedPowerdB = 10*log10(receivedPower); interferencePowerdB = 10*log10(interferencePower); cirdB = 10*log10(cir); % Bound CIR values for the plot maxCIRdBMatrix = maxCIRdB*ones(size(cirdB)); minCIRdBMatrix = minCIRdB*ones(size(cirdB)); limitedCIRdB = max(minCIRdBMatrix,min(maxCIRdBMatrix, cirdB)); % CIR figure figure; set(gcf, 'renderer', painters'); pcolor((1:maxX2)*deltaX, (1:maxY2)*deltaY, limitedCIRdB'); shading(gca, 'interp'); cb2=colorbar; set(get(cb2,'ylabel'),'String', 'CIR (dB)'); xlabel('X position (meters)'); ylabel('Y position (meters)'); title('Carrier to Interference Ratio (CIR)'); % Utility for each iteration figure; maxUtility = -sum(sum(triu(gainMatrix,1))); plot(1:(noIterations+1), utilityPerIteration/abs(maxUtility), 'b*-'); grid on; xlabel('iteration number'); ylabel ('utility'); title('Normalized aggregate utility'); % CIR histogram (probability density function) figure; cirdBsamples = cirdB(:); % All points within the area noBins = 50; [n,x] = hist(cirdBsamples, noBins); n = n / sum(n); plot(x,n); grid on; xlabel('CIR (dB)'); ylabel('proportion of samples'); title('CIR probability density function'); % CIR cumulative density function figure; n = cumsum(n); plot(x,n); grid on; xlabel('CIR (dB)'); ylabel('proportion of samples'); title('CIR cumulative density function'); end function [util] = utilities(gainMatrix, frequency, k, cell) util = zeros(1,k); for i=1:k % Cells using frequency i cellsWithSameFrequency = find(frequency == i);
14
% Removing selected cell cellsWithSameFrequency = cellsWithSameFrequency(find(cellsWithSameFrequency ~= cell)); utility = 0; for j=1:length(cellsWithSameFrequency) % The utility is proportional to the propagation gain between the % selected cell and other cells using the same frequency (assuming % that each cell has the same transmission power) utility = utility - gainMatrix(cell,cellsWithSameFrequency(j)); end util(i) = utility; end end function [util] = aggregateUtility(gainMatrix, frequency) noCells = length(frequency); aggregateUtility = 0; for i=1:noCells currentFrequency = frequency(i); % Cells using the same frequency cellsWithSameFrequency = find(frequency == currentFrequency); % Removing cells that have been already considered cellsWithSameFrequency = cellsWithSameFrequency(find(cellsWithSameFrequency > i)); % The utility is proportional to the propagation gain between the % selected cell and other cells using the same frequency (assuming % that each cell has the same transmission power) utility = 0; for j=1:length(cellsWithSameFrequency) % The utility is proportional to the propagation gain between the % selected cell and other cells using the same frequency (assuming % that each cell has the same transmission power) utility = utility - gainMatrix(i,cellsWithSameFrequency(j)); end aggregateUtility = aggregateUtility + utility; end util = aggregateUtility; end function [pathloss] = pathloss_model(...) % *** IMPLEMENTATION OF THE PATHLOSS MODEL *** end
15
x 10 4.5
4 3.5
7
3
4 3.5
25
Y position (meters)
Y position (meters)
3 2.5 2 1.5
3 2.5
20
frequency
15 2 1.5 1
10
1 0.5 0
0.5
7 x 10
4
5 1 2 3 4 5 X position (meters) 6 7 x 10
4
3 4 5 X position (meters)
proportion of samples
-5
10 CIR (dB)
15
20
25
30
16
CIR (dB)
x 10
5 4.5
x 10
3.5
25 4 3.5 20
Y position (meters)
frequency
3 2.5 2
1 2 3 1
1 3 2
Y position (meters)
3 2
2 2 1 3
3 2.5
2.5
10 2 1.5 5
1.5 1 0.5
3
3 2 1 1
1.5
1 0 0.5
2 3 X position (meters)
4 x 10
5
4
-0.1
0.8 0.7
-0.2
proportion of samples
-0.3
utility
-0.4
-0.5
-0.6
0.1 0 -10
-5
10 CIR (dB)
15
20
25
30
-0.7
1.5
3.5
17
CIR (dB)
4
15
Bibliografa
[1] Plantilla Word para las revistas IEEE Transactions, disponible en http://www.ieee.org/publications_standards/publications/authors/author_templates.html. La plantilla se puede descargar directamente en http://www.ieee.org/documents/TRANSJOUR.doc. [2] N. Nie, C. Comaniciu, Adaptive Channel Allocation Spectrum Etiquette for Cognitive Radio Networks, Journal of Mobile Networks and Applications, Dec. 2006. Available: http://dl.acm.org/citation.cfm?id=1238644. [3] Radio Mobile, http://www.cplus.org/rmw/english1.html [4] Irregular Terrain Model (ITM), http://www.its.bldrdoc.gov/resources/radio-propagationsoftware/itm/itm.aspx [5] 3GPP TS 05.05 V8.20.0, 3rd Generation Partnership Project; Technical Specification Group GSM/EDGE Radio Access Network; Radio Transmission and reception (Release 1999), Nov. 2005. Available: http://www.3gpp.org/ftp/Specs/html-info/0505.htm
18