Beruflich Dokumente
Kultur Dokumente
TRABAJO DE DIPLOMA
Santa Clara
2008
““A
Aññoo 5500 ddee llaa R
Reevvoolluucciióónn””
Universidad Central “Marta Abreu” de Las Villas
Universidad Central “Marta Abreu” de Las Villas
Facultad de Ingeniería Eléctrica
Departamento de Electrónica y Telecomunicaciones
TRABAJO DE DIPLOMA
Santa Clara
2008
"Año 50 de la Revolución"
Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central
“Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad
de Ingeniería en Automática, autorizando a que el mismo sea utilizado por la Institución,
para los fines que estime conveniente, tanto de forma parcial como total y que además no
podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.
Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de
la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un
trabajo de esta envergadura referido a la temática señalada.
DEDICATORIA
A mis abuelos por quererme y por estar conmigo siempre aunque ya no están en
este mundo.
A mis padres y mis hermanos quienes yo quiero más que cualquier cosa del
mundo.
ii
AGRADECIMIENTOS
A mis padres por haberme enseñado los primeros pasos, por darme tanto cariño
y amor, por acompañarme siempre en las victorias y en las dificultades de mi
vida, dándome fuerza para
para levantarme después de cada caída y sobre todo por
haberme regalado la vida.
A todos mis amigos por estar siempre conmigo, ayudándome a pasar los
tiempos difíciles lejos de casa.
A todos los profesores por haberme enseñado, por sus cariños y por todas sus
ayudas.
Muchas gracias
iii
TAREA TÉCNICA
Para el logro de los objetivos propuestos en el presente trabajo, la investigación sigue una
línea definida por un grupo de tareas, entre las que se encuentran:
2. Estudio del fenómeno del jitter que se produce en aplicaciones de VoIP en redes
de paquetes: Tipos, características, factores que influyen en jitter.
3. Elegir las herramientas para la aplicación del control y el estudio del jitter.
6. Confección de informe.
RESUMEN
En este trabajo se realiza una contribución al estudio y control del jitter. Para ello se hace
una descripción del fenómeno del jitter que se produce en aplicaciones de VoIP en las
redes de paquetes, son expuestas sus principales características y los factores que inciden en
él. Son analizados las variantes de dos tipos de algoritmos de buffer de reproducción de
audio: aquellos que ajustan los parámetros del buffer de reproducción durante el tiempo de
ráfaga de silencio y los que ajustan en cualquier momento. Se exploran las funciones de las
herramientas para la evaluación de algoritmos siendo las más destacadas: MATLAB y NS-
2 (Network Simulator) y se propone un esquema para medir el desempeño de estos.
Finalmente se aplica el esquema de evaluación propuesto a un caso de estudio y se discuten
los resultados obtenidos.
v
TABLA DE CONTENIDOS
DEDICATORIA ......................................................................................................................i
AGRADECIMIENTOS ......................................................................................................... ii
RESUMEN ............................................................................................................................iv
INTRODUCCIÓN ..................................................................................................................1
2.5.1 MATLAB......................................................................................................37
3.2 Tráfico simulado de una aplicación de VoIP combinado con tráfico de FTP. .....39
vii
3.4.1 Resultados obtenidos con α =0.998, la razón de transmisión entre los router
1 y 2 es de 10 Mbps. .....................................................................................................43
3.4.2 Resultados obtenidos con α =0.885, la razón de transmisión entre los router
1 y 2 es de 10 Mbps. .....................................................................................................46
Conclusiones.....................................................................................................................51
Recomendaciones. ............................................................................................................52
Referencias bibliográficas
Anexos
INTRODUCCIÓN
1
INTRODUCCIÓN
Internet fue concebida originalmente para transportar tráfico de datos usando el protocolo
de control de transmisión (TCP) sobre IP (Internet Protocolo). En los últimos años, se ha
realizado un esfuerzo de investigación considerable sobre mecanismos de transmisión de
tráfico que es sensible a las pérdidas y al retardo, tal como la voz y el video en tiempo real.
A este tipo de tráfico se le conoce tradicionalmente como tráfico multimedia. El paradigma
de mejor esfuerzo (best-effort en inglés) característico en Internet hace que la transmisión
de esta clase de tráfico sea un gran reto de investigación. Esta característica best-effort
introduce variabilidad en el retardo y pérdida de paquetes. Estos fenómenos afectan
seriamente la calidad del tráfico multimedia en Internet.
Uno de los servicios multimedia más utilizados actualmente sobre Internet es la transmisión
de voz en tiempo real de forma interactiva, el cual es llamado comúnmente Telefonía sobre
Internet (ToIP, VoIP). El reto más importante es el de reducir al máximo los efectos de las
pérdidas y de la variabilidad del retardo, para de esta manera ofrecer la mejor calidad de
voz posible en una conversación.
probabilidad que un paquete llegue a tiempo también aumenta. Esto reduce la cantidad de
paquetes perdidos artificialmente en el buffer del receptor; sin embargo, incrementar el
tiempo de espera de los paquetes en el buffer impacta negativamente la interactividad de
una conversación de voz. Este es el principal compromiso de un algoritmo de “playout
delay” para VoIP: optimizar el tiempo de espera de los paquetes en el buffer.
El objetivo de este presente trabajo es contribuir al estudio y control del jitter para
aplicaciones en VoIP, para alcanzar dicho objetivo se realiza un estudio de los mecanismos
de control del jitter, haciendo una descripción del fenómeno en las aplicaciones de VoIP en
las redes de paquetes. Son descritas las variantes de dos tipos de algoritmos de buffer de
reproducción de audio y se exploran herramientas que permiten implementar y evaluar
estos algoritmos. Se propone el esquema de evaluación para un caso de estudio.
Introducción
Capítulo I
Se hace una descripción de los conceptos y los principios relacionados con el fenómeno
jitter y los mecanismos del control de jitter. Se aborda lo referente a la evaluación de la
calidad a través de los modelos MOS, PESQ, E
Capítulo II
Se exponen las variantes de dos tipos de algoritmo para buffer de reproducción de audio y
INTRODUCCIÓN
3
Capítulo III
Conclusiones
Se realizará un análisis crítico de los resultados obtenidos a partir de los objetivos que se
trazaron inicialmente.
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
4
Comúnmente se conoce también por los términos de voz sobre Protocolo de Internet
(Internet Protocol-IP), también llamado Voz sobre IP (Voice over IP-VoIP) VoIP,
Telefonía IP, Telefonía por Internet, Telefonía Broadband y Voz sobre Broadband
(Neuman, 2007).
Según Ríos et al. (2007), la voz sobre IP es una tecnología usada para transmitir
conversaciones de voz sobre una red de datos usando el protocolo IP. Las redes de datos
pueden ser: Internet, una Intranet Corporativa, una red manejada por un Operador Local o
de Larga Distancia o un Proveedor de Servicio de Internet (Internet Service Provider-ISP).
A pesar de ser varios los términos utilizados para describir este proceso de transmisión de
la voz a través de una red de datos, VoIP y Telefonía IP son los más comúnmente usados, y
aunque se usen de forma indiferente, cada uno de ellos tiene su propia definición.
En la figura 1.1 se muestra en términos simples el proceso para llevar a cabo la VoIP
Figura 1.1 Proceso de codificación y transmisión de la voz sobre una red IP. (Ríos et
al., 2007)
De acuerdo a la naturaleza de la red IP usada se puede hablar de tres tipos de de voz sobre
redes IP
La segunda modalidad es la que posibilita la comunicación entre dos usuarios, aunque uno
de ellos no esté conectado a Internet. Una persona conectada a través de su PC con Internet
puede llamar a un teléfono fijo.
a una central conectada a Internet y ésta lo comunica con el otro teléfono fijo de manera
similar a la descrita anteriormente.
Una de las dificultades principales en telefonía IP es que debe alcanzar una calidad del
servicio similar a la de las redes de teléfono convencional .Esta dificultad proviene, por una
parte, de las consideraciones técnicas que son específicas por el modo de transferir los
datos sobre las redes del IP. Por otra parte, de las organizaciones y modo de la provisión del
servicio sobre redes de datos en general, y IP en particular (ITU –D, 2003).
Muchas llamadas atraviesan redes hibridas incluyendo PSTN-VOIP-PSTN desde ahora los
deterioros tradicionales introducidos por la PSTN se aumentan y a veces se destacan por
los deterioros introducidos por las redes de nueva generación. Podemos mencionar cuatro
fuentes principales de la dificultad asociadas al modo de la transmisión de paquetes que
tiene un impacto en el transporte de la voz sobre IP.
• Retardo del paquete: también se llama latencia, se define técnicamente en VoIP como el
tiempo que tarda un paquete en llegar desde la fuente al destino.
Las comunicaciones en tiempo real (como VoIP) y full-duplex son sensibles a este
efecto. Al igual que el jitter, es un problema frecuente en enlaces lentos o congestionados.
La latencia o retardo entre el punto inicial y final de la comunicación debiera ser inferior a
150 ms. El oído humano es capaz de detectar latencias de unos 250 ms, y 200 ms en el caso
de personas bastante sensibles. Si se supera ese umbral la comunicación se vuelve molesta.
Figura 1.6: Variación en el tiempo de llegada de los paquetes (jitter) (Cisco Systems
Inc, 2006)
softphone) cuando el proceso de VoIP tenga que compartir la CPU con otros procesos en el
mismo tiempo.
En voz sobre IP (VoIP), un buffer de jitter es un área de datos compartida donde los
paquetes de voz se pueden recoger, almacenar, y enviar al procesador de voz en intervalos
uniformemente espaciados.
Las variaciones en el tiempo de llegada del paquete (jitter), pueden ocurrir debido a la
congestión de red, o cambios de la ruta. El buffer de jitter, que está situado en el extremo de
recepción de la conexión de voz, retrasa intencionalmente los paquetes que llegan de modo
que el usuario del extremo experimente una conexión clara con la distorsión pequeña
(Grupta, 2007).
El funcionamiento tradicional del buffer consiste en almacenar los paquetes antes de ser
enviados al decodificador. Un problema común es que los paquetes pueden llegar fuera de
secuencia, el buffer de jitter no responde estrictamente a la estructura FIFO (primero en
llegar-primero en salir), sino que se reordenan los paquetes de ser necesario. Un algoritmo
empleado es definir un buffer con un tamaño fijo que solo puede procesar una cantidad fija
de paquetes. Como resultado de esto se obtiene un sistema con demora constante y mínima
complejidad. La desventaja de este método es que el tamaño del buffer debe ser
suficientemente grande para que ante el peor caso se puedan acomodar los paquetes antes
de ser reproducidos. El tamaño del buffer depende de las características de la llamada, del
codec empleado, así como del número de tramas de audio incluidas en los paquetes RTP.
Cuando un buffer de jitter estático es usado en un sistema para almacenar los paquetes de
media, es necesario conocer el tipo de codec usado y el número esperado de tramas por
paquete (Grupta, 2007).
Con el propósito de mantener la demora tan corta como sea posible, es importante que el
algoritmo del buffer de jitter se adapte rápidamente a las condiciones de cambio de la red.
Por lo tanto, los buffer de jitter con asignación de tamaño dinámico son denominados
buffer de jitter adaptativos. La adaptación se alcanza mediante el incremento o decremento
de la profundidad del buffer para eliminar el jitter en el arribo de los paquetes RTP (Grupta,
2007).
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
12
Durante los años 1993-1996 Jean Bolot produjo una serie de los artículos que
reportaron y caracterizaron el comportamiento de la pérdida y retardo de los paquetes
del audio en Internet. Son trabajos teóricos apoyados por evidencia experimental, con uso
de técnicas tales como protección de la redundancia contra pérdida del paquete (Bolot,
Crepin y Garcia ,2005).
La primera técnica significativa usada para medir claridad del habla estaba basada en
encuestas de una gran cantidad de oyentes humanos para producir puntajes de claridad
estadísticos sujetivos. Esta técnica se conoce como puntaje de opinión humana. Las
técnicas para probar redes con MOS se describen en la Recomendación P.800 de la ITU. La
recomendación P830 proporciona métodos más específicos para la prueba sujetiva de codec
del habla .Estas dos recomendaciones de la ITU describen métodos para probar, métodos
para obtener puntajes subjetivos, valores de los puntajes, características de las muestras de
habla que se utilizarán y otras condiciones bajo de las cuales la prueba debe ser realizada.
Cada uno de estos métodos define sus escalas de opinión correspondientes (Ver anexo 1).
Es costosa porque requiere a una gran cantidad de gente y elabora las disposiciones
de prueba.
Evaluación perceptiva de la calidad del habla (PESQ) es un método que se realizar a través
del computador, simulando un oído humano, no solo aplicable a codec de voz sino a
medidas de extremo a extremo.
PESQ presenta ciertas condiciones en las que se debe usar para obtener predicciones
acertadas, por ejemplo, se recomienda su uso para la evaluación de la calidad del habla de
banda angosta 3.1 kHz y también de codec de habla de banda angosta. PESQ no presenta
una evaluación detallada de la calidad de transmisión, sino que simplemente mide los
efectos de la distorsión del habla, y el ruido sobre la señal del canal, en un sentido. Otros
efectos como eco, etc..., no se ven reflejados en los puntajes obtenidos por PESQ.
El objetivo de PESQ es comparar la señal original X (t) con esta misma degradada por el
canal Y (t), para obtener la preedición objetiva de la calidad de habla percibida por una
persona como si fuera una prueba subjetiva de escucha. PESQ está actualmente en la
recomendación P.862 del 2001, en la cual describe el procedimiento para procesar las
señales, con el fin de obtener un resultado de la escala MOS. Este procedimiento se divide
en tres módulos: procesamiento de señales, modelamiento perceptivo y modelamiento
cognitivo (Aguilar ,2005).
CAPÍTULO 1. REVISIÓN BIBLIOGRÁFICA
15
1.6.3 Modelo E
El método de evaluación más usado para VoIP es el llamado modelo E, el cual computa
una estimación predicativa de la calidad subjetiva de la voz según los parámetros de la
transmisión.
Modelo E define un factor de calidad R, obtenido como una función de retrasos, pérdidas
de paquetes, deterioro de factores de los equipos, y calidad esperada de la llamada del
usuario., con rango de 1 hasta 100
R = Ro –Is -Ie- Id + A
Donde
Is toma en cuenta los efectos de los deterioros que ocurren simultáneamente con la
señal de voz.
En un sistema de VoIP, debido a que en realidad los retrasos y las pérdidas constituyen las
afectaciones principales, Cole y Rosenbluth han reducido el modelo a la siguiente ecuación,
usando apropiadamente los valores seleccionados por defecto para los factores sustituidos:
R = 94.2 − Ie −Id
Sus pruebas han mostrado que la siguiente definición para Ie puede ser usada en la
estimación del impacto de las pérdidas:
Ie = λ1 + λ 2 ln(1 + λ 3e).
Tabla2: Coeficientes para el cálculo del deterioro de la calidad debido a las pérdidas
Donde I (x) es una función paso unitario y d el retraso total de extremo a extremo. La forma
de esta ecuación está justificada por la observación experimental de que después de un
umbral calculado en 177.3 ms el retraso conduce a una degradación perceptiva más rápida.
La interpretación los valores de los factores R y MOS (Balan, 2006).
Este capítulo se organiza de la forma siguiente: en la sección 2.2 se hace un estudio sobre
cuatro algoritmos que tienen características esenciales comunes, tomando como base el
artículo de Ramjee (Ramjee et al., 1994). En la sección 2.3 se realiza un análisis de un
algoritmo que implementa una modificación a los algoritmos de sección 2.2. En la sección
2.4 se presenta un algoritmo con un mecanismo de ajuste diferente. En la parte final del
capítulo se proponen herramientas para la aplicación del control y el estudio del jitter.
Los cuatro algoritmos que se analiza en esta sección 2.2 determinan el retardo de
reproducción en cada ráfaga de audio. Dentro de cada ráfaga de audio, los paquetes son
CAPÍTULO 2. MATERIALES Y METODOS
19
Sin embargo los algoritmos pueden modificar el retardo de reproducción desde una ráfaga
de audio a otra. Los intervalos de silencio entre dos ráfagas de audio en el receptor pueden
artificialmente alargarse o comprimirse (con respecto a la longitud original del intervalo de
silencio correspondiente en el emisor). La compresión o expansión de silencio en pequeñas
cantidades no es notable en la calidad de reproducción de la llamada.
Para una mejor comprensión se introducen la definición de los tiempos siguientes asociados
con el paquete i:
• ti : Tiempo en el cuál paquete i es transmitido en el emisor.
reproducción bi = p i − a i .
• d i : Cantidad total de tiempo desde el momento que el paquete i es transmitido en
la fuente hasta su reproducción en el receptor (se refiere al retardo extremo –
extremo del paquete i) d i = pi − ti .
Figura 2.1: Los tiempos asociados con el paquete i (Ramjee et al., 1994).
Para determinar el tiempo de la reproducción del paquete i, se consideran los dos casos
siguientes, dependiendo si ese paquete es o no es el primero paquete de la ráfaga de audio.
• Si paquete i es el primer paquete de ráfaga de audio, su tiempo de reproducción ( pi )
es computado como:
^ ^
pi = t i + d i + 4 * v i ;
^ ^
d i y v i son las estimaciones de la media y varianza del retardo extremo a extremo durante
una ráfaga de audio.
p j = pi + t j − t i .
^ ^
d i y v i son computados para cada paquete recibido, aunque ellos solo se utilizan para
determinar el punto de la reproducción del primer paquete de cualquier ráfaga de audio. Se
analizarán los cuatro algoritmos más adelante, pero la diferencia entre ellos solo es la
^ ^ ^
manera de computar d i . La computación de v i (el cuál alternativamente depende de d i ) es
la misma para todos los algoritmos y es definido más adelante. Desde un punto de vista
CAPÍTULO 2. MATERIALES Y METODOS
21
^
intuitivo, el término 4* v i se utiliza para fijar el tiempo de reproducción bastante lejos de la
estimación del retardo.
2.2.2 Algoritmo 1
La estimación del retardo es calculado según RFC793 (Jon Postel, 1981) y el trabajo de
Van Jacobson (Jacobson, 1988) es:
d i = α * d i −1 + (1 − α ) * ni .
^ ^
v i = α * v i −1 + (1 − α ) d i − ni .
^ ^ ^
2.2.3 Algoritmo 2
El segundo algoritmo es una pequeña modificación del primer algoritmo. La idea es usar
diferentes valores de α, uno para la tendencia hacia el incremento del retardo, y el otro para
la tendencia a la disminución del retardo.
^
If ( ni > d i ) then
d i = β * d i + (1 − β ) * ni
^ ^
else
d i = α * d i −1 + (1 − α ) * ni .
^ ^
2.2.4 Alogoritmo 3
El tercero algoritmo utiliza el retardo mínimo de todos los paquetes recibidos en la ráfaga
de audio anterior (k-1) como el retardo medio.
{
d i [k ] = min n i =1.. N [k − 1]}; .
^
2.2.5 Algoritmo 4
Este algoritmo sirve para ajustar los picos. En la figura muestra un pico típico del retardo
de los paquetes, el cual constituye un aumento grande del retardo extremo – extremo en la
red (ni en la figura 2.1), seguido por una serie de los paquetes que llegan casi
simultáneamente (en la figura 2.2, cada paquete es representado por un punto).
Figura 2.2: Pico típico del retardo de los paquetes (Ramjee et al., 1994).
Los primeros algoritmos no se adaptan lo suficiente rápido en el caso de los picos, tomando
mucho tiempo para aumentar sus estimaciones de retardo y para decrecer cuando el pico se
acaba. Este algoritmo tiene dos modos de operación, dependiendo de si se ha detectado un
pico. Para cada paquete que llega al receptor, el algoritmo comprueba el modo actual y en
el caso necesario, cambia su modo. Si un paquete llega con retardo que es más grande que
un umbral dado (por ejemplo un cierto múltiplo del actual retardo), el algoritmo cambia a
modo del pico. La detección de la terminación del pico hace uso de una variable “var” para
ajustar la pendiente del pico. Cuando su valor es bastante pequeño, el algoritmo regresa a
modo normal.
CAPÍTULO 2. MATERIALES Y METODOS
23
2. if (mod e == NORMAL ) {
^
if (abs (ni − ni −1 ) > abs v * 2 + 800 ) {
mod e = IMPULSE ; }
else {
ni − 2 =n i −1;
ni −1 = n i ;
return;
3. if (mod e == NORMAL )
^ ^
d i = 0.125 * ni + 0.875 * d i −1 ;
else
^ ^
d i = d i −1 + ni − ni −1 ;
^
^
^
v i = 0.125 * abs ni − d i + 0.875 * v i −1 ;
4 ni − 2 =n i −1;
CAPÍTULO 2. MATERIALES Y METODOS
24
ni −1 = n i ;
return;
Según (Ramjee et al, 1994) el objetivo principal de de los cuatro algoritmos es mantener la
razón de pérdida del paquete debajo del 5% y el retardo de reproducción (el retardo de
buffer) tan pequeño como sea posible. Por tanto se evalúa la eficiencia de los algoritmos de
reproducción usando experimentalmente las mediciones de tráfico de audio en varios
puntos diferentes de Internet.
Una estrategia estándar del buffer de la reproducción utiliza la estimación del retardo
medio y de la varianza del retardo en la red para ajustar el tiempo de reproducción de los
paquetes. Esta estimación es caracterizada por un factor fijo, constante (factor α). En
(Narbutt y Murphy, 2003) se demostró que este parámetro no trabaja muy bien para todas
las condiciones de la red. Por lo tanto propone ampliar la estrategia estándar del buffer
substituyendo el factor α fijo por un factor dinámico. En este algoritmo, el factor α se ajusta
dinámicamente según las variaciones del retardo. Cuando estas variaciones son altas
CAPÍTULO 2. MATERIALES Y METODOS
25
(implica que las condiciones de la red están cambiando), el parámetro α tiene un valor bajo,
y viceversa. Esto permite una adaptación rápida a las variaciones de la red y reduce el
tamaño del buffer. Las simulaciones y los resultados experimentales, demuestran que este
nuevo algoritmo del buffer de reproducción puede mejorar perceptiblemente la
compensación entre la pérdida de los paquetes y el tamaño del buffer.
El algoritmo estima dos estadísticas: la media y la varianza del retardo extremo a extremo
durante una ráfaga de audio y las utiliza para calcular el tiempo de reproducción de los
paquetes:
d i = α * d i −1 + (1 − α ) * ni ;
^ ^
v i = α * v i −1 + (1 − α ) d i − ni ;
^ ^ ^
En el algoritmo del epígrafe 2.2, el factor α es fijo y alto (α = 0.998002) para limitar la
sensibilidad de la estimación a los términos pequeños del jitter. Mediante experimentos
con diversos valores de α se observó que un valor alto de α es bueno solamente cuando las
condiciones de la red son estables (retardo y jitter son constante). Cuando las condiciones
de la red cambian rápidamente (aumentos o disminuciones repentinos del retardo), los
valores más pequeños de α (0.7, 0.8, 0.9) son más apropiados.
En la figura 2.3 se ilustra que cuando las condiciones de la red cambian rápidamente, este
algoritmo trabaja mejor con los valores pequeños del factor α. Consecuentemente se
pierden menos paquetes (de 3.5% a el 1%) y el tamaño del buffer es más pequeño (de
27.8ms a 7.4ms).
CAPÍTULO 2. MATERIALES Y METODOS
26
La figura 2.4 demuestra que no hay un valor fijo óptimo cuando la condición de la red varía
en tiempo.
CAPÍTULO 2. MATERIALES Y METODOS
27
Cuando el jitter es pequeño y el retardo medio de la red es grande (Fig. 2.4), los mejores
resultados se alcanzan con α pequeña. En este caso, la razón de la pérdida del paquete y el
tamaño del buffer es relativamente pequeño (3.7% de paquetes perdidos y de 2.7 ms del
tamaño de buffer). Con α=998002, la razón de la pérdida del paquete es alto (11.7%), y el
tamaño de buffer es mucho más grande que el necesario (36.6ms).
Por otra parte cuando el jitter es grande pero el retardo medio de la red es constante), los
mejores resultados se alcanzan con α=0.998002 (Narbutt y Murphy, 2003).
^/
α i = f vi ,
CAPÍTULO 2. MATERIALES Y METODOS
28
^
Donde la función f ( v / i ) fue elegida experimental para maximizar el funcionamiento del
algoritmo.
El parámetro dinámico α i ahora se utiliza para las estimaciones adaptantes del retardo
promedio y su variación:
d i = α i * d i −1 + (1 − α i ) * ni ;
^ ^
v i = α i * v i −1 + (1 − α i ) d i − ni ;
^ ^ ^
Cualquier paquete subsiguiente de esa ráfaga de audio es reproducido hacia fuera con el
mismo periodo de la generación de los paquetes en el emisor - es decir:
p j = pi + t j − t i ;
El modelo E fue utilizado para evaluar la calidad subjetiva del algoritmo, se determinaron
la calidad de transmisión y la satisfacción subjetiva del usuario sobre un período de una
hora. Las figuras 2.8 y 2.9: muestran el nivel de satisfacción del usuario (basados en
valores calculados de R) para dos tipos de cancelación de eco (TELR=55, 65) y para varios
parámetros de α (0.8, 0.9, 0.998, dinámicos). El mejor valor de R (71% muy satisfecho)
cuando TELR=65 se alcanza con α dinámico. El segundo lugar de satisfacción se alcanza
con α = 0.8 fijo (47% con resultados muy satisfecho). Cuando el nivel de cancelación del
eco es TELR=55dB, el mejor nivel de satisfacción del usuario se alcanza nuevamente con
el algoritmo de α dinámico (el 85 % satisfecho) mientras que con α =0.8, obtiene solamente
50% satisfecho
CAPÍTULO 2. MATERIALES Y METODOS
31
Figura 2.8: Nivel de satisfacción del usuario para varios tipos de α cuando TELR=65
(Narbutt y Murphy, 2003).
Figura 2.9: Nivel de satisfacción del usuario para varios tipos de α cuando TELR=55
(Narbutt y Murphy, 2003).
CAPÍTULO 2. MATERIALES Y METODOS
32
Los algoritmos presentados en las secciones 2.2 y 2.3 ajustan el tiempo de reproducción de
los paquetes en la ráfaga de silencio, esto significa que el ajuste no se realiza con los
paquetes dentro de la misma ráfaga, sino con el primer paquete de cada ráfaga de audio. A
continuación, se hace un estudio sobre otro tipo de algoritmo de buffer, en el que el tiempo
de reproducción no solamente se ajusta en períodos del silencio, sino también dentro de
ráfaga de audio
Figura 2.10b: Buffer que ajusta tiempo de reproducción en los intervalos de silencio.
Figura 2.11: Relación entre los tiempos (Liang, Farber y Girod, 2001).
CAPÍTULO 2. MATERIALES Y METODOS
34
del paquete.
t si +1 − t si = Lo = const ;
También el número de los paquetes enviados en una ráfaga de audio se denota por N, y el
número de los paquetes recibidos por R = {i | tir < ∞}
El algoritmo tiene que fijar el retardo total máximo permitido (el plazo de la reproducción)
t ip+1 − t ip = Li ;
Ahora se definirán los dos parámetros más importantes para este algoritmo. El primero es
el tamaño promedio de buffer, es dado por.
∑ (d )
1
dp = i
− d ni , (2)
ρ ρ i∈
max
ε l = ( R − ρ )/ N .
CAPÍTULO 2. MATERIALES Y METODOS
35
La operación básica del proceso de reproducción como siguiente: cuando llega un paquete
nuevo i, su retardo de la red d ni se obtiene desde el encabezado de RTP. El retardo d ni junto
i
Desde ecuación 2, si el límite de reproducción d max se elige cerca bastante a d ni , el tamaño
de buffer puede ser reducido
i +1
En el tiempo i, ajusta d max y el tiempo de reproducción t ip+1 para el paquete i +1 usando la
estadística de los retardos pasados. Los datos y el histograma del retardo de los últimos
paquetes ω se recogen y se guardan, y el histograma de los pasados retardos acumulado en
el tiempo i se denota por h i (d n ) , con símbolo i que indica el tiempo en que el histograma es
actualizado
∞ ∞
∑ h (d ) / ∑ h (d ).
^
εl ≤ i
n
i
n
i +1 d n =0
d n = d max
^ i +1
El tamaño del buffer esperado d b del paquete i+1 es:
i +1 i +1
^ i +1
∑ (d )
d max d max
db = i +1
max − d n h (d n ) /
i
∑ h (d ).i
n
d n =o d n =0
2.5.1 MATLAB
NS-2 es un simulador de redes para modelar varias situaciones experimentales que nos
permitan analizar el comportamiento del jitter en diversos ambientes. Esta es la segunda
versión de una herramienta desarrollada por el proyecto VINT la cual es ampliamente
usada por la comunidad de investigadores en redes. Existen diferentes niveles de
configuración en NS-2 al ser del tipo “open source”. NS -2 posee la capacidad de crear
aplicaciones y protocolos personalizados y soporta varias fuentes de generación de tráfico
como son: Web, FTP, CBR…. La disponibilidad y gran desempeño de NS hacen de él una
atractiva herramienta para la simulación de tráfico, estas cualidades unidas a la flexibilidad
de programación y el bajo costo, propiciaron la elección de este software por encima de
OPNET.
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
38
de NS sobre OPNET tiene que ver con el costo y con la flexibilidad en la programación.
Para la captura de tráfico real y atendiendo a la disponibilidad de los mismos se proponen
los siguientes elementos:
Softphone XLITE.
PBX asterisk.
Durante el proceso de análisis, se filtran las trazas, tomando los campos significativos, se
importan desde Matlab. Posteriormente se ejecuta el algoritmo, y se almacenan y grafican
los resultados. Este esquema resulta apropiado para algoritmos como los que aquí se
analizan, sin embargo existen algoritmos donde los parámetros del emisor se ajustan
mediante retroalimentación del desempeño en el receptor. Para este tipo de algoritmo no
resulta adecuada la implementación en Matlab.
3.2 Tráfico simulado de una aplicación de VoIP combinado con tráfico de FTP.
A continuación se describe como se obtienen las trazas de tráfico de voz. Para simular un
ambiente cercano a las condiciones que aparecen en escenarios con tráfico diverso, se
combina el tráfico de la fuente de voz con tráfico FTP.
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
40
3.2.1 Topología.
Los nodos 2, 3, 4, 5 se conectan con el router1 a una razón de10 Mbps, y un retardo
de 10ms.
Los nodos 6, 7, 8, 9 se conectan con el router 2 a una razón de 10 Mbps, y un
retardo de 10ms.
El router1 se conecta con el router 2 a una razón variable, depende de cada
simulación, y a un retardo de 10ms.
El tipo de buffer usado es el DropTail, que es el tipo más simple de buffer. La caída
de los paquetes ocurre solamente cuando buffer está lleno (estructura FIFO).
El límite de cola utilizado para cada uno de los enlaces es de 80 paquetes.
3.2.2 Las características del tráfico de VoIP.
Las conexiones VoIP se basan en agentes UDP que ofrecen un flujo constante de paquetes
y no son afectados por la pérdida de paquetes en términos de la generación del tráfico, es
decir no hay ni retransmisión, ni ningún ajuste de razón de transmisión de los paquete. La
generación del tráfico es ON-OFF, significa que los paquetes pueden transmitir con la
máxima razón o no (Viipuri, 2002).
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
41
Este programa sirve para crear una conexión UDP entre dos nodos. En NS2, un agente
UDP es el servidor y un agente NULL es el cliente de la conexión.
$expoo set burst_time_ 1000ms indica el tiempo promedio activo del generador.
$expoo set rate_ 24kb es la razón de transmisión durante los periodos activos.
Hay dos tipos de fichero de resultado en NS-2, como se muestran en tabla 3.1 y tabla 3.2
1 2 3 4
En esta tesis se usa fichero TR para importar los resultados desde Matlab. De todos los
campos en este fichero, resultan de interés:
El retardo medio y su varianza se calculan para todos los paquetes, pero solo se
usan para calcular el tamaño nuevo de buffer
Dentro de cada ráfaga de audio, el tamaño del buffer es constante y cuando el buffer
detecta un intervalo de silencio (mayor que 0.1s), el tamaño del buffer cambia para
ajustar tiempo de reproducción de los paquetes.
A continuación se comentan los resultados del desempeño del algoritmo para diferentes
valores de α y diferentes condiciones de la red:
3.4.1 Resultados obtenidos con α =0.998, la razón de transmisión entre los router 1 y
2 es de 10 Mbps.
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
44
Se puede ver que en este caso el retardo de la red es bastante pequeño, no supera los 100ms
(figura 3.2) y los valores de jitter no superan los 10ms, los intervalos que aparecen vacíos
se corresponden a períodos de silencio (figura 3.3). En cuanto al comportamiento del jitter
después de pasar el buffer (no hay ningún paquete desechado por buffer) (Figura 3.4), es
importante notar que los valores de 80ms, 20ms son el resultado de ráfagas de silencio
inferiores a 100ms y como se explicó en 3.2, no se detectan en el algoritmo. Este interpreta
a los paquetes mencionados como paquetes que están en la ráfaga de audio que le precede.
El cálculo de jitter del paquete i se efectúa de la forma siguiente:
Si ocurren pérdidas de paquetes no se procede a realizar el cálculo hasta que se reciba dos
paquetes sucesivos. El primer paquete recibido luego de ocurrir alguna pérdida es tratado
como el nuevo primer paquete en el algoritmo que determina los valores del jitter.
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
45
Para las condiciones descritas no se pierden paquetes como resultado del funcionamiento
del algoritmo, para el segmento de traza escogido, el algoritmo realiza 13 ajustes de tamaño
de buffer de reproducción, y el valor promedio no supera los 86 ms.
Número 1 2 3 4 5 6 7
de ajustes
Número 8 9 10 11 12 13
de ajustes
3.4.2 Resultados obtenidos con α =0.885, la razón de transmisión entre los router 1 y
2 es de 10 Mbps.
Con condiciones de la red como en la sección 3.4.1, pero con un valor de α que cambia
(de 0.998 hasta 0.885), el algoritmo realiza también 13 ajustes de tamaño de buffer de
reproducción, pero el valor promedio de buffer es aproximadamente de 45 ms.
En este caso el tamaño del buffer no es lo suficientemente grande para acomodar las
variaciones de la demora. Hay 32 paquetes desechados en el buffer de reproducción.
Se debe notar en la figura 3.6 la presencia de intervalos vacíos que se corresponden con los
paquetes rechazados
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
47
En este caso, el ancho de banda entre los routers se disminuye (de 10Mbps a 5Mbps), esto
significa que causa un incremento del retardo y del jitter en la transmisión. Como se puede
notar en las figuras 3.7 y 3.8, el retardo extremo a extremo de la red aumenta
aproximadamente a 150 ms y el jitter alcanza los 20 ms. Para estas nuevas condiciones el
tamaño promedio de buffer se incrementa (hasta 160ms (Figura 3.9). Las pérdidas durante
de la transmisión alcanzan los 23 paquetes, y el algoritmo desecha 162 paquetes.
Nótese en la figura 3.10, que el intervalo entre los 0,8 y 4ms se corresponde con una cadena
de paquetes desechados por el algoritmo. Esta situación es una consecuencia de que para
los parámetros iniciales resulta imposible adaptar el tamaño del buffer durante la primera
CAPÍTULO 3. RESULTADOS Y DISCUSIÓN
49
ráfaga. Después del primer intervalo de silencio el algoritmo ajusta los parámetros y reduce
la cantidad de paquetes rechazados.
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
3. En este trabajo se hizo un estudio detallado sobre las variantes de dos tipos de
algoritmo para buffer de reproducción de audio, uno que ajusta durante las ráfagas
de silencio, y otro que ajusta en cualquier momento.
esquema resulta apropiado para algoritmos como los que aquí se analizan, sin
embargo existen algoritmos donde los parámetros del emisor se ajustan mediante
retroalimentación del desempeño en el receptor. Para este tipo de algoritmo no
resulta adecuado la implementación en Matlab
Recomendaciones.
3. BOLOT, J. C., CREPIN, H. & GARCIA, A. (2005) “Analysis of audio packet loss
in the Internet”. Proc.International Workshop on Network and Operating System
Support for Digital Audio and Video (NOSSDAV). Durham.
8. ITU-D. (2003) “The Essential Report on IP Telephony”. [En línea], disponible en:
http://www.itu.int/ITU-D/e-strategy/publications-articles/pdf/IP-tel_report.pdf.
[consultado el día 11 de mayo de 2007].
9. JACOBSON, V. (1988) “Congestion avoidance and control”. Procc.1988ACM
SIGCOMM Conf. Standford.
11. LIANG, Y., FARBER, N. & GIROD, B. (2001) “Adaptive playout scheduling
using time-scale modification in packet voice communications” en Revista IEEE
Xplore, 3. Stanford University.
12. NARBUTT, M. & MURPHY, L. (2003) “VoIP Playout Buffer Adjustment using
Adaptive Estimation of Network Delays”. Department of Computer Science.
13. NEUMAN, A., (2007) Telefonía IP 2. (VoIP). N&K Panama. [En línea]. Panamá,
disponible en: http://www.nkpanama.com. [Consultado el día 17 de mayo de 2008].
14. RAMJEE, M. et al., (1994) “Adaptive Playout Mechanisms for Packetized Audio
Applications in Wide-Area Networks” en Revista Proc. IEEE Infocom 1994, IEEE
CS Press.
15. RÍOS, A. et al., (2007) Desarrollo de una plataforma de VoIP basada en Software
Libre. [En línea], disponible en: http://www.jornadespl.org/biblioteca/v-
jornades/comunicacions/desarrollo-de-una-plataforma-de-voip-basada-en-software-
libre. [Consultado el día 13 de febrero de 2008].
16. SCHULZRINNE, H. (1993) “Reducing and characterizing packet loss for high-
speed computer networks with real-time services”. University of Massachusetts.
18. VIIPURI, T. (2002) “A Case Study of Simulating DiffServ in NS-2”. [En línea],
disponible en www.netlab.hut.fi/opetus/s383180/2005/harj/H3/diffnet.pdf.
[Consultado el día 29 de abril de 2008].
BIBLIOGRAFÍAS
1. BLACK, U. (2000) “Voice over IP” [En línea], New Jersey, Prentice Hall,
Disponible en: \\neumann\e-Books\Network [Accedido: 12 de abril de 2007].
2. HERSENT, O.; GURLE, D. Y J.P., PETIT, (2000) “IP Telephony: packet based
multimedia communications systems”. Addison-Wesley.
3. NARBUTT, M., KELLY, A., MURPHY, L. & PERRY, P. (2005) “Adaptive VoIP
Playout Scheduling:Assessing User Satisfaction”. IEEE Computer Societ.
ANEXOS
# The preamble
# Predefine tracing
$ns trace-all $f
#Create nodes
set ftp($i) [new Application/FTP] ;# TCP does not generate its own traffic
$ns at 60 "finish"
proc finish {} {
global ns f nf
$ns flush-trace
close $f
close $nf
exit 0
$ns run
ANEXO 4: Código fuente del algoritmo de la reproducción de buffer
fid = fopen('g729nuevo.tr');
timeofevent=zeros(x,1);
timeofevent=C{1,2};
nodesource=zeros(x,1);
nodesource=C{1,3};
nodedest=zeros(x,1);
nodedest=C{1,4};
seqnum=zeros(x,1);
seqnum=C{1,11};
received=strcmp(C{1,1}, 'r');
drop=strcmp(C{1,1}, 'd');
trans=strcmp(C{1,1}, '+');
IDdeflujo=zeros(x,1);
IDdeflujo=C{1,8};
dr=0;
rec=0;
tr=0;
for i=1:x
if IDdeflujo(i,1)==0&trans(i,1)==1&nodesource(i,1)==5 % calcula # de los paquetes
transmitidos
tr=tr+1;
dr=dr+1;
rec=rec+1;
end
end
sndrop=zeros(dr,2);
time=zeros(rec,2);
transmited=zeros(tr,2);
d=0;
r=0;
t=0;
for i=1:x
if IDdeflujo(i,1)==0&trans(i,1)==1&nodesource(i,1)==5
t=t+1;
transmited(t,1)=timeofevent(i,1);
transmited(t,2)=seqnum(i,1);
elseif IDdeflujo(i,1)==0&drop(i,1)==1
d=d+1;
sndrop(d,1)=seqnum(i,1);
sndrop(d,2)=timeofevent(i,1);
elseif IDdeflujo(i,1)==0&received(i,1)==1&nodedest(i,1)==6
r=r+1;
time(r,1)=timeofevent(i,1);
time(r,2)=seqnum(i,1);
end
end
for i=1:dr
for j=1:tr
if transmited(j,2)==sndrop(i,1);
transmited(j,1)=0;
end
end
end
con =0;
transmited1=zeros(rec,2);
for i =1:rec+dr
if transmited(i,1)~=0
con=con+1;
transmited1(con,1)=transmited(i,1);
transmited1(con,2)=transmited(i,2);
end
end
for i=1: rec
end
mean_delay = 0.030144;
counter=0;
JB_size=min_JB;
for i = 1: rec-1
if transmited1(i+1,1)-transmited1(i,1)<0.1 %rafaga
mean_variance=0.875*mean_variance+0.125*abs(mean_delay-ins_delay(i,1));
mean_delay=0.875*mean_delay+0.125*ins_delay(i,1);
playout_time=mean_delay+4*mean_variance;
end
if ins_delay(i,1)>dmin+JB_size
dest_delay(i,1)=dmin+JB_size+transmited1(i,1);
counter=counter+1;
else
dest_delay(i,3)=mean_delay;
dest_delay(i,4)=mean_variance;
dest_delay(i,5)=playout_time;
end
if transmited1(i+1,1)-transmited1(i,1)>0.1
% intervalo de silencio
var=var+1;
JBbuffer(var,1) =JB_size;
end
end