Está en la página 1de 10

Universidad Autnoma de Nuevo

Len
F.I.M.E.
Comunicaciones Mviles
Hora: V6


Modelo de propagacin Okumura

San Nicols De Los Garza a, Junio 2013







Introduccin
Modelos de Propagacin

Los modelos de propagacin ayudan en el desarrollo de redes de comunicaciones
inalmbricas. La potencia de la seal y la propagacin son aspectos vitales en el diseo de
sistemas de comunicaciones inalmbricas. Hay tres mtodos utilizados en la prediccin de
seales de potencia y de propagacin. Ellos consisten de aproximaciones empricas,
aproximaciones estadsticas (analtico) y la combinacin de ambas. La aproximacin
emprica est basada en curvas o expresiones que recrean un conjunto de mediciones de
datos. Este tiene la ventaja de tomar implcitamente los factores de propagacin, ambos
conocidos y desconocidos.

Debido a que el modelado estadstico es a menudo complicado, han sido desarrollado un
nmero de modelos empricos para predecir el comportamiento de las seales de
propagacin. Generalmente, estos modelos son construidos sobre una categorizacin de
topologa del terreno e incluyendo las caractersticas de construccin de edificios, densidad,
altura, localizacin, tamao, densidad de vegetacin, variaciones de terrenos, inclinacin
del terreno, combinacin de terreno-mar, entre otras.

En nuestro caso nos toc desarrollar el modelo de Okumura, el cual desarrollaremos en
Matlab mediante una interfaz grfica.
Con el comando GUIDE

A continuacin de mostrara una breve introduccin de lo que es el modelo Okumura y por
quien fue desarrollado.

Modelo de Okumura
Este modelo fue desarrollado por Yoshihisa Okumura en 1968.

Caractersticas:
El modelo est basado en mediciones hechas dentro y alrededor de Tokio.
Intervalo de frecuencia: Hasta 1920 MHz (extrapolando hasta 3000 MHz).
El modelo est basado en prdidas por trayectorias en el espacio libre.
Distancias de 1 km a 1000 km.

El modelo de Okumura es uno de los ms ampliamente modelos usados para predicciones en reas
urbanas.
Okumura desarroll un conjunto de curvas de atenuacin media relativa para espacio libre (A
mu
) en
un rea urbana sobre un terreno casi-suave con una altura de la antena de la estacin base efectiva
(h
te
) de 200 m y una altura de la antena del mvil (h
fe
) de 3 m. Estas curvas fueron desarrolladas
usando una antenas omni-verticales para ambos (base y mvil) y son graficadas como funcin en un
intervalo de frecuencia de 150 a 1920 MHz y como una funcin de distancia desde la estacin base
en el intervalo de 1 km a 100 km.

Para calcular las prdidas por propagacin utilizando el modelo de Okumura, primero es
determinado las prdidas en espacio libre y el valor de A
mu
(f,d), ledo en las curvas que Okumura
desarroll, son sumados a los factores de correccin (inclinacin, combinacin tierra-mar, tipo de
suelo, aislamiento por montaa). Entonces las prdidas por propagacin estn dadas como:

AREA re te mu F
G h G h G d f A L dB L ) ( ) ( ) , ( ) (
50


L
50
(dB): es el 50% del valor de las prdidas por trayectorias de propagacin.
L
F
: son las prdidas por trayectorias en el espacio libre.
A
mu
: es la atenuacin media relativa en el espacio libre.
G(h
te
) : factor de ganancia de la altura de la antena de la estacin base.
G(h
re
) : factor de ganancia de la altura de la antena del mvil.
G
AREA
: es la ganancia debido al tipo de contorno (medio ambiente).

La interfaz grfica que desarrollamos se mostrara a continuacin en la imagen 1.
Interfaz grafica

Figura 1 Interfaz grafica
A continuacin se mostrara el cdigo que utilizamos para realizar esta interfaz
function varargout = okumura(varargin)
% OKUMURA M-file for okumura.fig
% OKUMURA, by itself, creates a new OKUMURA or raises the existing
% singleton*.
%
% H = OKUMURA returns the handle to a new OKUMURA or the handle to
% the existing singleton*.
%
% OKUMURA('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in OKUMURA.M with the given input
arguments.
%
% OKUMURA('Property','Value',...) creates a new OKUMURA or raises
the
% existing singleton*. Starting from the left, property value pairs
are
% applied to the GUI before okumura_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to okumura_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only
one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help okumura

% Last Modified by GUIDE v2.5 05-Jun-2013 14:29:18

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @okumura_OpeningFcn, ...
'gui_OutputFcn', @okumura_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
% End initialization code - DO NOT EDIT


% --- Executes just before okumura is made visible.
function okumura_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to okumura (see VARARGIN)

% Choose default command line output for okumura
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes okumura wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = okumura_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

axes(handles.axes1)
background = imread('estacion_movil.jpg');
axis off;
imshow(background);
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes1)
background = imread('fg_altura_movil.jpg');
axis off;
imshow(background);


% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes1)
background = imread('curva_atenuacion.jpg');
axis off;
imshow(background);

% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)


Distancia=((handles.DISTANCIA)*1e3);
Frecuencia=((handles.FRECUENCIA)*1e6);
M=handles.MOVIL;
EB=handles.EB;

if Distancia <1e3 || Distancia >100e3
warndlg('La Distancia debe estar entre 1Km y 100 Km',' Advertencia
');
return;
end

if Frecuencia<1e6 || Frecuencia>3000e6
warndlg('La frecuencia debe estar entre 1 Mhz y 3000 MHz',' Error ');
return;
end

if EB<30 || EB>1000
warndlg('La altura de la estacion base debe estar entre 30 mts y 1000
mts',' Advertencia');
return;
end

if M<3 || M>10
warndlg('La altura de la antena del mvil debe estar entre 3 mts y 10
m','Advertencia ');
return;
end



L=(10*log10(Frecuencia/Distancia))- (20*log10(EB/200)) - (20*log10(M/3))
+ (-10*log10(((3e8/Frecuencia)^2)/(((4*pi)^2)*(Distancia^2)))) -9;



set(handles.RESULTADO,'String',L);

function DISTANCIA_Callback(hObject, eventdata, handles)
% hObject handle to DISTANCIA (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of DISTANCIA as text
% str2double(get(hObject,'String')) returns contents of DISTANCIA
as a double
Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.DISTANCIA=NewVal; %Almacenar en identificador
guidata(hObject,handles);

% --- Executes during object creation, after setting all properties.
function DISTANCIA_CreateFcn(hObject, eventdata, handles)
% hObject handle to DISTANCIA (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end



function FRECUENCIA_Callback(hObject, eventdata, handles)
% hObject handle to FRECUENCIA (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of FRECUENCIA as text
% str2double(get(hObject,'String')) returns contents of FRECUENCIA
as a double
Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.FRECUENCIA=NewVal; %Almacenar en identificador
guidata(hObject,handles);

% --- Executes during object creation, after setting all properties.
function FRECUENCIA_CreateFcn(hObject, eventdata, handles)
% hObject handle to FRECUENCIA (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end



function EB_Callback(hObject, eventdata, handles)
% hObject handle to EB (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of EB as text
% str2double(get(hObject,'String')) returns contents of EB as a
double
Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.EB=NewVal; %Almacenar en identificador
guidata(hObject,handles);

% --- Executes during object creation, after setting all properties.
function EB_CreateFcn(hObject, eventdata, handles)
% hObject handle to EB (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end



function MOVIL_Callback(hObject, eventdata, handles)
% hObject handle to MOVIL (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of MOVIL as text
% str2double(get(hObject,'String')) returns contents of MOVIL as a
double
Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.MOVIL=NewVal; %Almacenar en identificador
guidata(hObject,handles);

% --- Executes during object creation, after setting all properties.
function MOVIL_CreateFcn(hObject, eventdata, handles)
% hObject handle to MOVIL (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end



Las condiciones if que se ven en el cdigo, son condiciones que nos ayudaran a restringir los datos de
entrada para calcular las perdidad en db, del modelo Okumura.
Y basta comentar que estando en Matlab en su ventana de cdigos, podemos acceder directamente
solo poniendo el nombre de nuestro archivo .m que en este caso ser okumura.m
Tambin se mostraran las grficas, de curvas de atenuacin y de factores de ganancia de altura de la
antena y otros aspectos
Las imgenes que se mostraran se presentaran a continuacin

Curva de atenuacin relativa media para espacio libre en un rea urbana sobre terreno casi suave.
En nuestro cdigo de Matlab, la funcin de este ser la grfica nmero 3.


Factor de ganancia de altura de antena para estacin base en reas urbanas

Esta es la grafica numero 2 de nuestra interfaz grafica

Por ultimo esta ser la grfica 1, de nuestro cdigo la cual es la factor de ganancia de estacin mvil.

Para verificar que nuestra interfaz grfica est funcionando realizamos una operacin que viene
como ejemplo en las hojas proporcionadas por el Ingeniero Alor a continuacin se muestra el
programa.






Resultado final de nuestra interfaz grfica, con el ejemplo.

También podría gustarte