7.2 Weak program equivalence
7.2.2 Laws of weak program equivalence
En base a la modulación por frecuencia que se ofrece en servicios de Internet por cable e inalámbrica, son la base matemática para la modulación en WIMAX al fortalecer la síntesis del comportamiento de difusión de datos. La gran diferencia al emplear este tipo de tecnología es al establecer una banda de frecuencia como en la radio convencional, omitiendo la conmutación de paquetes y evitar que la red sea multifuncional para los usuarios terminales del servicio.
El comportamiento usual de la modulación en los canales de difusión de datos públicos limita el ancho de banda, al ser una red multifuncional que ofrece diversos servicios y contiene una gran variedad de protocolos. Esto genera una problemática mayor, no solo por limitar el ancho de banda y la mejora de QoS, si no al incluir la conmutación de paquetes ajenos al streaming a gran diferencia de WIMAX que permite excluir aplicaciones ajenas a la banda frecuencia.
75
C A P Í T U L O 3
DESARROLLO DEL SISTEMA STREAMING PARA AUDIO
3.1.
Implementación Final
Figura 3.1 Diagrama de conexión final
Ingeniería de Audio Micrófono / Mezcla (Figura 3.1.1): Este bloque representa todo aquello que tiene que ver con el tratamiento de la señal, es decir, la tarjeta de audio del equipo utilizado, micrófonos añadidos, bocinas y audífonos para monitorear la señal; esta parte del proceso tiene como objetivo el acondicionamiento de las señales de audio para su posterior procesamiento y envío a través de Internet.
Procesamiento de datos (Figura 3.1.2): Consiste en todo aquello que tiene relevancia en el procesamiento y tratamiento de las señales (ej. voz adquirida por micrófonos) o archivos (ej, música almacenada en la base de datos), para ajustarla al formato requerido para su transmisión vía streaming.
En la figura 3.1.4 se muestran dos servidores, en este caso se utiliza una sola máquina físicamente, pero mediante la utilización de máquinas virtuales podemos tener dos servidores con un solo equipo, una de ellas (la máquina física) está siendo utilizada como servidor streaming, y la segunda (máquina virtual) se utiliza como segundo servidor, para la aplicación web, es decir, proporciona la página web del proyecto. Esto nos da una ventaja, ya que al crear la MV esta trabaja mediante su propia conexión, es decir, posee su propia dirección IP, independiente de la máquina anfitrión.
Monitorear la señal consiste en tomar la señal que se envía, pero las muestras son tomadas desde la red en la que se estableció el servicio, en este caso Internet; esto es
76 con el fin de detectar posibles fallas en la transmisión (cortes en el audio, retrasos, o inclusive pérdida de la señal) y corregirlas. Ver figura 3.1.3.
Internet (Figura 3.1.6) se refiere al medio de transmisión que se utilizara para el envío de datos, ya sean medios alámbricos o inalámbricos; en este caso se trata de una conexión ADSL, pero puede ser sustituida por otros medios, como por ejemplo un transmisor WiMAX.
Las bases de datos que se muestran en la figura 3.1.5, se refiere a todo aquel dispositivo de almacenamiento que nos permita guardar las imágenes, música, sonidos, que se utilicen para transmitir y/o mostrar en el internet.
Por último se tiene el receptor, mostrado en la figura 3.1.6, que es el usuario final del servicio proporcionado.
3.1.1.
El servidor streaming y ancho de banda
SHOUTcast, Icecast, Icecast2 son un ―streaming audio system‖ que permite ser implementado y configurado en plataformas Windows y Unix
Así mismo el servidor debe cumplir con características de plataforma especificas:
Windows 95, 98, NT, 2000.
MAC OS X
Sparc Solaris 2.7+
Linux con libc Kernel
Se debe de tener 14 kB en memoria RAM por ―radio escucha‖. Es decir, el tamaño de RAM para el servidor se calcula por medio de la siguiente formula. Ver Tabla 3.1.
RRAM : Recursos que consume en RAM el Sistema Operativo CSERVIDOR : Consumo en RAM para el servidor = 1.5 MB RPARCIAL : Recurso Parcial
NP : Número de peticiones
RPARCIAL = RRAM + CSERVIDOR
Memoria RAM Requerida = RPARCIAL + (14 KB * NP ) (1.1.) Tabla 3.1. Memoria requerida por el servidor de Stream
Numero de
Listeners Memoria RAM requerida Recursos que consume en RAM el Sistema Operativo
100 2.914 MB 1.5 MB
1000 15.514 MB 1.5 MB
10000 141.514 MB 1.5 MB
77 Para poder correr el servidor correctamente y sin sobrecarga, es necesario determinar el ancho de banda suficiente, para poder ejecutar un broadcast de n- peticiones. El ancho de banda se determina u obtiene del tamaño de la muestra por el número de peticiones. Ver desde la Tabla 3.2 a Tabla 3.6.
TMUESTRA : Tamaño de muestra que proporciona el Stream a cierto encoder. NP: Número de peticiones
BW: Ancho de Banda
BW = TMUESTRA * NP (1.1.a)
Ejemplo. 100 peticiones o ―radio escuchas‖ para una muestra de 96kbps. En
mono o calidad Estereo. Se tiene 96kbps*100 listeners = 9600 kbps lo cual equivale a 9.6 Mbps
BW = 96 kbps * 100 = 9 600 Kbps
Tabla 3.2. Tamaño de muestra que proporciona el Stream a cierto encoder
TMUESTRA Calidad Estereo 22 050kHz TMUESTRA Calidad Estereo 44 100kHz TMUESTRA Calidad Monoaural 22 050kHz TMUESTRA Calidad Monoaural 44 100kHz 40 kbps 96 kbps 24 kbps 48 kbps 48 kbps 112 kbps 32 kbps 56 kbps 56 kbps 128 kbps 40 kbps 64 kbps 64 kbps 160 kbps 48 kbps 80 kbps 80 kbps 192 kbps 56 kbps 96 kbps 224 kbps 112 kbps 256 kbps 128 kbps 320 kbps
Tabla 3.3. Ancho de banda relacionado a una calidad Estereo de 22 050 Khz.
Numero de Listeners NP TMUESTRA Calidad Estereo 22 050kHz Ancho de Banda (BW) 100 40 kbps 4 Mbps 100 48 kbps 4.8 Mbps 100 56 kbps 5.6 Mbps 100 64 kbps 6.4 Mbps 100 80 kbps 8 Mbps
78
Tabla 3.4. Ancho de banda relacionado a una calidad Estereo de 44 100 Khz.
Numero de Listeners NP TMUESTRA Calidad Estereo 44 100kHz Ancho de Banda (BW) 100 96 kbps 9.6 Mbps 100 112 kbps 11.2 Mbps 100 128 kbps 12.8 Mbps 100 160 kbps 16 Mbps 100 192 kbps 19.2 Mbps 100 224 kbps 22.4 Mbps 100 256 kbps 25.6 Mbps 100 320 kbps 32 Mbps
Tabla 3.5. Ancho de banda relacionado a una calidad Estereo de 22 050 Khz.
Numero de Listeners NP TMUESTRA Calidad Monoaural 22 050kHz Ancho de Banda (BW) 100 24 kbps 2.4 Mbps 100 32 kbps 3.2 Mbps 100 40 kbps 4 Mbps 100 48 kbps 4.8 Mbps 100 56 kbps 5.6 Mbps
Tabla 3.6. Ancho de banda relacionado a una calidad Estereo de 44 100 Khz.
Numero de Listeners NP TMUESTRA Calidad Monoaural 44 100kHz Ancho de Banda (BW) 100 48 kbps 4.8 Mbps 100 56 kbps 5.6 Mbps 100 64 kbps 6.4 Mbps 100 80 kbps 8 Mbps 100 96 kbps 9.6 Mbps 100 112 kbps 11.2 Mbps 100 128 kbps 12.8 Mbps
Ahora bien, si se sabe que el valor de la frecuencia central de una señal de audio B es de 4kHz, y aplicando el teorema de muestreo de Nyquist el cual dice, que si la señal de información es de espectro limitado a B Hz, entonces sus muestras contendrán toda la información de la señal siempre que se tomen a una velocidad no menor a 2B muestras / segundo. Y del segundo teorema de Nyquist el sistema de transmisión que se diseña para transmitir datos a la velocidad de f0 puede también recibir datos a razón de 2f0 con precisión siempre que la señal que se recibe se
interprete de manera correctamente. Por tal, aplicando el teorema de muestreo de Nyquist para la frecuencia central obtenemos 8 muestras / segundo, y en razón de esto se determina que el numero de bits para codificar la señal de audio PCM es de 8 bits.
79 Esto es, si la frecuencia fundamental es 2fm pulsos por segundo ( Velocidad de
Nyquist ). Entonces el codificador cuantifica a L = 2n cada muestra y después la codifica con 8 bits ò pulsos binarios (palabra en código binario).
Entonces se requiere un ancho de banda de transmisión de audio PCM de 2nB donde :
n = 8 bits (palabra en código binario) B = fm (Velocidad de Nyquist)
BWt = 2nB (1.1.b) Bwt = 2 x 8 x 4 x 103 = 64 kHz.
Debido a esta fórmula se debe tomar en cuenta la tabla 3.7 y tabla 3.8 de contratación de servicio de distribución de Internet e involucrando el concepto de conectividad “Propiedad de una red que permite que dispositivos distintos se comunique unos con otros”, con esto se logra una relación con velocidad DS0 y Bwt para determinar un servicio que ofrece velocidades de datos en incrementos de 64 kHz. El Ancho de banda (bandwidth) se le define como la medida de capacidad de un canal de comunicaciones. En canales digitales la medida se realiza en bits por segundos. En las líneas telefónicas análogas la diferencia en Hertz entre las frecuencias mayor y menor de un canal de transmisión.
Tabla 3.7. Ancho de banda, servicios domésticos de Internet y relación a petición de oyentes. Servicio Domestico
DS0 (64kHz) Si se requiere BW = 9.6Mbps
2 x DS0 = 128 kbps 75 Líneas para 100 oyentes
4 x DS0 = 256 kbps 38 Líneas para 100 oyentes
8 x DS0 = 512 kbps 19 Líneas para 100 oyentes
16 x DS0 = 1 Mbps 10 Líneas para 100 oyentes
32 x DS0 = 2 Mbps 5 Líneas para 100 oyentes
Tabla 3.8. Ancho de banda, servicios empresariales de Internet y relación a petición de oyentes. Servicio
Empresarial Si se requiere BW = 9.6Mbps
Sub. T1 de 9.6kbps a1.472 Mbps 7 Líneas para 100 oyentes
Sub. E1 de 2.048 Mbps 5 Líneas para 100 oyentes
T1 de 1.544 Mbps 7 Líneas para 100 oyentes
T2 de 6.312 Mbps 2 Líneas para 100 oyentes
T3 de 44.736 Mbps 1 Líneas para 100 oyentes
E1 de 2.048 Mbps 5 Líneas para 100 oyentes
E2 de 8.448 Mbps 2 Líneas para 100 oyentes
80
Descripción de los servicios empresariales:
Canal de comunicaciones de datos T1 fraccional
Servicio que ofrece velocidades de datos en incrementos de 56/64 Kbps (velocidad DS0) hasta 1.544 Mbps. Tiene una fracción de 24 canales de capacidad.
Canal de comunicaciones T2
Servicio con la capacidad de cuatro canales T1 (ancho de banda de 6Mbps)
Canal de comunicaciones de datos T3 fraccional
Es equivalente a 28 líneas T1 o 672 DS0 canales de 64 Kbps (con un ancho de banda de 45Mbps).
Canal de comunicaciones de datos E1
Equivalencia europea del T1, Servicio que ofrece velocidades de datos en incrementos de 64 Kbps (velocidad DS0) hasta 2.048 Mbps.
Canal de comunicaciones de datos E2
Señal de datos que lleva cuatro señales E1 multicanalizadas (8.448 Mbps).
Canal de comunicaciones de datos E3
Equivalencia europea del T3. Una señal que lleva 16 señales E1 (34.368 Mbps).
Canal de comunicaciones de datos Sub. T1
Cualquier equipo de voz o datos que opera a velocidades menores a 1.544 Mbps. Generalmente, esto cubre a los equipos operando desde 9.6 Kbps hasta 1.472 Mbps; por ejemplo, líneas DDS, líneas T1 fraccionales. A menudo utilizado para referir a servicios N x 56/64 Kbps
Canal de comunicaciones de datos Sub. E1
Similar a sub.-T1, cualquier equipo de voz o datos que opera a velocidades menores a 2.048 Mbps.
3.1.2.
Configuración del Stream
La configuración de los ficheros XML del Source DSP plug-in. Que es una tecnología de streaming auditiva freeware, desarrollada por Nullsoft. Icecast y SHOUTcast utilizan la codificación MPEG- 3 (MP3) y AAC para transmitir radio por Internet. El cual mejora la calidad de la muestra ò permite variarla para el método broadcast de Winamp ofrece una mejora matemática de compresión. Tabla 3.9.
Dentro de la compresión de MP3 se puede tener diferentes velocidades de transferencia de datos (Bitrate), así como ancho de banda y modo.
Tabla 3.9. Velocidad de transferencia de datos (Bitrate) y calidad de sonido
Calidad de sonido Ancho de Banda Modo de Calidad Bitrate* compresión Ratio de
Radio AM 7.5kHz Mono 32 kbps 24 : 1
Radio FM 11kHz Estereo 56 a 64 kbps 26 a 24 : 1
CD normal 15kHz Estereo 96 kbps a 128 kbps 16 : 1
81
*Las velocidades de conexión a Internet en teoría son netas. Sin embargo en la práctica, la velocidad real disponible para el usuario, suele ser entre un 10-15 % menor, debido al ancho de banda consumido por las cabeceras y las colas de los protocolos.
Detalles técnicos de codificación y Banco de filtros híbrido:
En esta capa existen varias diferencias respecto a los estándares MPEG-1 y MPEG-2, entre las que se encuentra el llamado banco de filtros híbrido que hace que su diseño tenga mayor complejidad. Esta mejora de la resolución en frecuencia empeora la resolución temporal introduciendo problemas de pre-eco que se pueden predecir y corregir. Además, permite calidad de audio en tasas tan bajas como 64Kbps que se lograría emplear adecuadamente el Bitrate de 96 kbps con relación de 16 discos compactos a 1 disco compacto (16:1).
El banco de filtros híbrido poli fase / MDCT. Se encarga de realizar el mapeo del dominio del tiempo al de la frecuencia tanto para el codificador como para los filtros de reconstrucción del decodificador.
Las muestras de salida del banco están cuantizadas y proporcionan una resolución en frecuencia variable de 6 LINEAS x 32 ó de 18 LINEAS x 32 sub-bandas, ajustándose mucho mejor a las bandas críticas de las diferentes frecuencias. Usando 18 LINEAS, el número máximo de componentes en frecuencia es:
CF = NSALIDAS * NLINEAS (1.2.a)
CF = 32 x 18 = 576 Dando lugar a una resolución en frecuencia de:
FR = Bitrate / CF (1.2.b)
FR = 96 000 / 576 = 166. 67 Hz
Si se usan 6 líneas de frecuencia la resolución es menor, pero la temporal es mayor, y se aplica en aquellas zonas en las que se espera efectos de pre-eco (transiciones bruscas de silencio a altos niveles energéticos).
Empleando los ficheros XML:
Para adaptar las relaciones (1.1.a) y (1.1.b) con las tablas 3.4, 3.8 y 3.9. Se empleara el uso de XML (Extensible Markup Language) el cual es un metalenguaje
extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades.
82
Ventajas de emplear XML:
Es extensible, lo que quiere decir que una vez diseñado un lenguaje y puesto en producción, igual es posible extenderlo con la adición de nuevas etiquetas de manera que los antiguos consumidores de la vieja versión todavía puedan entender el nuevo formato.
El analizador es un componente estándar, no es necesario crear un analizador específico para cada lenguaje. Esto posibilita el empleo de uno de los tantos disponibles. De esta manera se evitan bugs y se acelera el desarrollo de la
aplicación.
Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarlo. Mejora la compatibilidad entre aplicaciones.
Estructura básica de un documento XML:
<Edit_Mensaje> <Mensaje>
<Remitente>
<Nombre>Nombre del remitente</Nombre> <Mail> Correo del remitente </Mail>
</Remitente> <Destinatario>
<Nombre>Nombre del destinatario</Nombre> <Mail>Correo del destinatario</Mail>
</Destinatario> <Texto>
<Asunto>
Documento con una estructura muy sencilla no contiene atributos ni entidades.
</Asunto> <Párrafo>
Este documento con una estructura muy sencilla no contiene atributos ni entidades.
</Párrafo> </Texto>
</Mensaje> </Edit_Mensaje>
83 A continuación se realizara la configuración adecuada mediante la breve explicación de XML y el apartado 1.1 con las tablas antes mencionadas y las relaciones matemáticas.
<icecast><!—Este fichero también es para SHOUTcast--> <mount>
<username>Nombre del administrador</username> <password>Contraseña del administrador</password> <max-listeners>
Número máximo de listeners en este caso 100
</max-listeners> <stream-url>
Dirección http de la estación en este caso
http://localhost/SekhmetRadio.html
</stream-url> <genre>
Aquí se pone el genero musical. Ejemplo: Rock,
</genre> <bitrate>
Aquí se pone el resultado de la relación (1.1.a)
En este caso 96kbps
</bitrate> <burst-size>
Tamaño del dato (en bytes que se le envian al cliente
por cada paquete) en este caso 65536
</burst-size>
<mp3-metadata-interval>
4096
</mp3-metadata-interval>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/> </authentication>
<on-connect>
/home/Nombre del Servidor streaming/bin/source-start
</on-connect> <on-disconnect>
/home/ Nombre del Servidor streaming /bin/source-end
</on-disconnect> </mount>
84
3.2.
INSTALACIÓN Y CONFIGURACIÓN
3.2.1.
Configurando el Distributed Network Audio
Server (DNAS)
Es el software que se ejecuta en los receptores de streaming y es el responsable de recibir el audio desde el equipo transmisor, así mismo de actualizar la información sobre el contenido y conectar a los oyentes.
Sin embargo hay que programarlo y determinar en base a las características antes mencionadas del Source DSP plug-in y el ancho de banda en base al canal de comunicación de datos para el mejoramiento del muestro, encode y compresión.
<ices><!—Este fichero también es para SHOUTcast--> <stream>
<input>
<param name="rate">44100</param>
<param name="channels">2 para Modo Estereo</param> <param name="device">/dev/dsp</param> <param name="metadata">1</param> <param name="metadatafilename">/usr/share/ices/infometadata</param> </input> <instance> <hostname>Poner la IP</hostname> <port>8000</port> <encode> <quality>1</quality> <nominalbitrate>96000</nominalbitrate> <samplerate>44100</samplerate> <channels>1</channels> </encode> <downmix>1</downmix> <resample> <inrate>44100</inrate> <outrate>44100</outrate> </resample> </instance> </stream> </ices>
85
3.2.2.
Implementación en la web del servidor de
streaming
En este apartado se muestra el desarrollo de la pagina web, recordando que no todos los usuarios de Internet usan el mismo navegador. Por tal se incorpora el código HTML para los dos reproductores del streaming Windows Media Player y Real Audio Player.
Inicialmente HTML (HyperText Markup Language) es un Lenguaje de Marcado
de Hipertexto. Se le define comercialmente como un lenguaje de marcado predominante para la construcción de páginas web.
Estructura básica de un documento HTML:
<html>
<head>
<title>Sekhmet @ Radio 802.16 </title> </head>
<body> <p>
Documento con una estructura muy sencilla no contiene atributos ni entidades.
</p> </body> </html>
Explicación de los códigos básicos de HTML.
<title> Define el título de la página. Por lo general, el título aparece en la barra de título
encima de la ventana
<body>Define el contenido principal o cuerpo del documento. Esta es la parte del
documento html que se muestra en el navegador; dentro de esta etiqueta pueden definirse propiedades comunes a toda la página, como color de fondo y márgenes.
<img>: Define el uso o inserción de una imagen. Requiere del atributo src, que indica la
86
Código HMTL para emplear el Windows Media Player
<html>
<head><title>S E K H M E T © R A D I O</title></head> <body bgcolor="#B88C78">
<img src="Sekhmet_relief_jk.jpg" width="320" height="496" >
<object id="WMP4" height="63" width="278" classid="clsid:6BF52A52-394A-11D3- B153-00C04F79FAA6">
<param name="URL" value="http://Número de IP : Número de PUERTO"> <param name="rate" value="1">
<param name="balance" value="0">
<param name="currentPosition" value="0"> <param name="defaultFrame" value> <param name="playCount" value="1"> <param name="autoStart" value="-1"> <param name="currentMarker" value="0"> <param name="invokeURLs" value="0"> <param name="baseURL" value>
<param name="volume" value="100"> <param name="mute" value="0"> <param name="uiMode" value="mini"> <param name="stretchToFit" value="0"> <param name="windowlessVideo" value="0"> <param name="enabled" value="-1">
<param name="enableContextMenu" value="0"> <param name="fullScreen" value="0">
<param name="SAMIStyle" value> <param name="SAMILang" value> <param name="SAMIFilename" value> <param name="captioningID" value>
<param name="enableErrorDialogs" value="-1"> <param name="_cx" value="7355">
<param name="_cy" value="1667"> </object>