ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Simulación de paquetes Matlab


Enviado por   •  3 de Enero de 2021  •  Trabajo  •  3.922 Palabras (16 Páginas)  •  110 Visitas

Página 1 de 16

Universidad Politécnica de Cartagena[pic 1]

Escuela Técnica Superior de Ingeniería de Telecomunicación

PRÁCTICAS DE MODELADO Y SIMULACIÓN

BOLETÍN DE ENTREGA

TRABAJO SIMULACIÓN

INTEGRANTES DEL GRUPO:

NOMBRE Y APELLIDOS

CORREO ELECTRÓNICO

Marina García Lorenzo

marinagarcia252@gmail.com

Rubén Martínez Olivares

rubydelruben@gmail.com

Información y metodología de evaluación:

  1. Este trabajo tiene un peso total del 15% en la evaluación de la asignatura

  1. El boletín debe rellenarse y convertirse a formato PDF para su envío a través de aula virtual, en las fechas dispuestas en el calendario
  1. La evaluación se basará en las respuestas del boletín y también se contempla la posibilidad de realizar entrevistas online individuales para verificar la autoría de las mismas.
  1. Proporcione el modelo completo de simulación: estado, eventos, pseudocódigos, etc. (5 puntos)

En el instante "t_simulacion" igual a 0 se genera un paquete que llegará a TX en un tiempo aleatorio "retardo" dado por un modelo previamente escogido, encolándose en la lista de eventos con los datos: "listaEV" (lista donde se encolará), "t_simulacion + retardo" (el tiempo actual más el tiempo calculado), "TX" (al ser el primer evento debe ser de transmisión), "t_simulacion" (tiempo de generación del evento) y "npaquete" (el número del paquete del evento).

En el momento del evento se recogen las variables de "tiempo" (tiempo actual que es la suma de las variables "t_simulacion + retardo"), "tipo" (si es TX o RX), "llegada" (momento de generación del evento) y "npaquete" (número del paquete) del mismo.

Dependiendo de la variable "tipo", irá al caso de transmisión (TX) o recepción (RX) del paquete.

En el caso TX, se guarda el momento en el que llega el paquete en un vector. Luego se calcula el tiempo que tardará en llegar a RX, sin embargo, este tiempo no puede superar al tiempo dado por la variable "Tmax". Si lo superase, se calcula nuevamente el tiempo de envío, además de aumentar en 1 la variable "ret". Esta variable cuenta cada vez que debe ser retransmitido el paquete.

Una vez que se consigue un tiempo igual o menor a "Tmax", se encola el evento de recepción del paquete que deberá llegar "Tmax" veces las ocasiones en las que se ha calculado el tiempo de envío, más el tiempo de envío final. El tiempo de llegada a RX quedaría de esta manera: t_simulacion + (Tmax * ret) + retardo. Luego, se aumenta "npaquete" en 1, indicando que es el siguiente paquete, y se prepara su evento de transmisión.

Cuando un paquete llega a recepción, RX, se guarda su número en el vector correspondiente de recepción. Además, se recoge el índice del paquete que acaba de llegar para usarlo más adelante.

Primero, se comprueba si el paquete que llegó es el primero, en tal caso se entrega colocando su número en la variable "paqueteOK" y se elimina del vector de recepción.

Si no es el primero, se debe comprobar si el paquete anterior ha sido entregado a recepción mirando en "paqueteOK". Si llegó, este también puede entregarse, sustituyéndolo en la variable anterior y borrándose del vector de recepción.

En ambos casos, la variable "err" se pone a 0, indicando que todo va bien, lo que lleva al siguiente condicional. Si la variable "err" es 0, se calculará el retardo del paquete y se añadirá a la variable "summuestrasaux", además, se comprobará si los paquetes posteriores al que acaba de ser entregado han llegado a recepción y están esperando. Se comprueba el vector "vectorN_rx" en busca de estos paquetes y al encontrar uno, coge su índice y lo borra del vector, además de marcarlo como entregado y calcular su retardo. Se aumenta el contador "i" y vuelve al bucle hasta que no hay más posteriores a este en espera.

Tanto si "err" vale 1 (no se entregó el paquete) como si sale del bucle, pasará al cálculo de la calidad (siempre que el número de pasos supere "H" y hayan pasado "D" muestras).

  1. Proporcione el código MATLAB del simulador (3 puntos)

esqueletoSIM.m:

%% ESQUELETO DE SIMULACION

tic

 

listaEV = [];

                                         

t_simulacion = 0.0;

 

pasos = 0;

 

% ACCIONES DE INCIO: p.ej. definir estado, generar primeros eventos

 

% Se proporciona ejemplo del caso cola de trabajos

 

% TIPOS DE EVENTOS, CADA UNO UN NUMERO DIFERENTE

TX = 0;

RX = 1;

 

% ESTADOS

Z = 1;

i = 1;

err = 0;

 

% VARIABLES

paqueteOK = 0;

 

% VECTORES

vectorT_tx = [];

vectorN_rx = [];

 

% PARAMETROS DE SIMULACION

% Tiempo entre mensajes

tipoX = 2;

param1X = 1;

param2X = 0;

 

% Tiempo de transito por red

tipoE = 2;

param1E = 0.5;

param2E = 0;

 

% Tiempo de transito maximo

Tmax = 1.5;

 

% Configuracion filtrado muestras

H = 50000;

D = 10;

TEST = 100;

calidadobjetivo = 0.95;

tolrelativa = 0.01;

 

% VARIABLES PARA EL CALCULO DE LA CALIDAD

nb = 0;

nummuestras = 0;

summuestras = 0;

sumcuadrado = 0;

nummuestrasaux = 0;

summuestrasaux = 0;

...

Descargar como (para miembros actualizados) txt (14 Kb) pdf (255 Kb) docx (75 Kb)
Leer 15 páginas más »
Disponible sólo en Clubensayos.com