Digitalizaci n y Transmision de voz por TCP/IP

Anuncio
Trabajo Práctico Final – Informática Electrónica - 2009
UNIVERSIDAD NACIONAL DE ROSARIO
FACULTAD DE CIENCIAS EXACTAS, INGENIERIA
Y AGRIMENSURA
ESCUELA DE INGENIERIA ELECTRONICA
INFORMATICA ELECTRONICA
TRABAJO FINAL
ALUMNO
LEGAJO
BARRERA, LUCAS
B-3859/8
ROVERI, ERIBERTO
R-2707/3
SAD, GONZALO
S-3205/1
GRUPO Nº 10: Barrera – Roveri – Sad
Hoja 1 de 2
Trabajo Práctico Final – Informática Electrónica - 2009
TRABAJO PRACTICO FIN AL
TRANSMISIÓN DE VOZ A TRAVÉS DE TCP/IP
E
l objetivo de este trabajo fue realizar una transmisión de voz a mediante el protocolo
TCP/IP utilizando el kit M52233DEMO para adquirir, procesar y transmitir los datos a
una computadora y desde allí enviarlos a un dispositivo de reproducción de audio,
instalado en la misma.
Este trabajo se abordó dividiéndolo en tres partes: la adquisición y procesamiento de la
señal, la transmisión sobre TCP/IP y el manejo de la API de Windows para reproducir el
audio.
ADQUISICIÓN Y PROCESAMIENTO DE DATOS
Para la obtención de la señal de voz se utiliza un micrófono Electrec el cual tiene
anexado un circuito amplificador, que utiliza un AO. Luego dicha señal se digitaliza a
través de uno de los ADC disponibles del MCU el cual muestrea la señal a una frecuencia de
8KHz utilizando para la temporización de la adquisición de las muestras, las
interrupciones generadas por uno de los timers PIT. Se utilizó esta frecuencia, debido a
que la máxima frecuencia, prácticamente hablando, contenida en una señal de voz es 4KHz
aproximadamente, y por el teorema de Nyquist
.
A la señal digitalizada se le quita el valor medio y luego se ofrece la posibilidad de
aplicarle o no una limitación de rango dinámico y una compuerta de ruido, mediante un
switch.
TRANSMISIÓN SOBRE TCP/IP
Para realizar esto se utilizó como base el proyecto ColdFire_Lite_DEMO y a este se
le agregó un cliente. El mismo está basado en una rutina que acumula una cierta cantidad
de datos y luego la envía. Esto se logra mediante la implementación de un buffer. Debido a
que se hace uso del protocolo TCP y sabiendo que este contiene mucha información extra,
para lograr mejor eficiencia en el envió de datos, el buffer de guardado intermedio de
datos es lo suficientemente grande como para que la relación datos a enviar sobre datos
extras del protocolo, sea lo más grande posible. La utilización de dos buffers que se
alternan, es necesaria debido a que no se puede sobrecargar a las interrupciones de
muestreo con el trabajo de envío. Por eso una vez que se llena un buffer, se lo pasa a una
tarea de envío, y mientras se llena el segundo buffer para así luego repetir la secuencia.
MANEJO DE LA API DE WINDOWS
La reproducción de la señal analógica en la PC, se logra mediante el uso de la API
de Windows. Para llevar a cabo esta tarea, el servidor que reside en la PC, se comunica con
el KIT mediante una serie de comandos, para fijar algunos parámetros como ser la
GRUPO Nº 10: Barrera – Roveri – Sad
Hoja 2 de 2
Trabajo Práctico Final – Informática Electrónica - 2009
frecuencia de muestreo. Una vez sucedido esto, el kit comienza a enviar paquetes de datos,
y el servidor recibe estos paquetes, los guarda en un buffer y mediante un sistema de
gestión de buffers, se los pasa a la API. Esta los envía a un dispositivo de audio, y este
último los reproduce sobre una salida analógica.
GRUPO Nº 10: Barrera – Roveri – Sad
Hoja 3 de 2
Descargar