“desarrollo de software de radio modem para la … · las comunicaciones por radio frecuencia se...
Post on 14-Oct-2018
223 Views
Preview:
TRANSCRIPT
Tema de Tesis:
Desarrollo de software de radio modem para la transmisión de datos sobre canales analógicos en la banda de voz aplicado a organismos
gubernamentales
Autores:
Cáceres Najarro, Lismer Andrés Olmedo Castillo, Diego Oswaldo
Especialidad:
INGENIERÍA ELECTRÓNICA
Asesor:
Dr. Carlos Valdez Velásquez-López
Fecha de Sustentación:
12 de Diciembre del 2012
Lima – Perú
2013
INDICE PAG. INTRODUCCIÓN 3 1 PROPÓSITO DE LA INVESTIGACIÓN
E HIPOTESIS PLANTEADA 3 1.1 Hipótesis 4
2. METODOLOGÍA EMPLEADA EN LA INVESTIGACIÓN 4
3. TRABAJOS Y/O EXPERIENCIAS REALIZADAS 5
3.1 Estimación del ancho de banda 6
3.2 Descripción del Sistema desarrollado - Hardware 8 3.2.1. El equipo radio transceptor 9 3.2.2. Tarjeta Interfaz LernToch (TILT) 10
3.2.2.1. Esquemático de la tarjeta interfaz 10
3.3 Diseño del software de radio modem 11 3.3.1. Requerimientos para la computadora 11 3.3.2. Descripción del modem software 12
3.3.2.1. Desarrollo del software 12 3.3.3. Lenguajes de programación y librerías 16
4. ANÁLISIS DE LOS RESULTADOS, PRUEBAS Y
VALIDACIÓN DEL SISTEMA 17
4.1 Descripción de la prueba tasa de bits 17
4.2 Descripción de la prueba BER 21
4.3 Resultados de otras investigaciones similares 23
4.4 Análisis de resultados 24
5. CONCLUSIONES 26
6. APLICACIONES REALIZADAS Y OTRAS POSIBILIDADES DE
APLICACIÓN 28
ANEXOS 30
BIBLIOGRAFÍA 101
3
INTRODUCCIÓN La presente investigación se centra en los sistemas de comunicaciones digitales para la transmisión de datos sobre canales analógicos, plasmándose ésta en un proyecto. El proyecto trata del desarrollo de un software de radio modem para la transmisión de datos sobre canales analógicos en la banda de voz, a través de equipos de transmisión en la banda de VHF, aplicado a organismos gubernamentales. La institución en la que se llevó a cabo este proyecto es el Centro de Operaciones de Emergencia Nacional (COEN) del Instituto Nacional de Defensa Civil (INDECI).
Este proyecto surge por la imperiosa necesidad de la institución de tener a disposición un sistema de transmisión de datos alternativo al que ya poseen, principalmente el Internet, sobre una infraestructura de comunicación diferente. Es por ello que el proyecto se apoya en el sistema de comunicación VHF, sistema con que la institución cuenta, lo cual dio como resultado una solución flexible y versátil, a un costo significativamente bajo. Además, por su versatilidad, el sistema puede ser usado en distintos campos: sistemas de alerta temprana, chat e intercambio de información inter-comunidades, monitoreo y control remoto para las industrias, etc.
Existen desarrollos similares en el mundo, conocidos con el nombre de Packet Radio. Uno de los productos más comerciales de Packet Radio, que se encuentran en la actualidad es de la marca Kantronics, para la transmisión de datos a través de equipos analógicos por radio frecuencia en las bandas HF, VHF y UHF. Si bien en el Perú no existe una estadística del uso de estos equipos, los potenciales usuarios de un producto con estas características son las entidades y personas que poseen un sistema de radio analógico de 2 vías (2-way radio) en estaciones terrenas fijas, móviles, embarcaciones marítimas, etc., y para las aplicaciones que se valen de información presentada en tiempo real o que intercambian datos remotamente.
1. PROPÓSITO DE LA INVESTIGACIÓN E HIPOTESIS PLANTEADA
En agosto del 2007, el Perú sufrió una gran catástrofe, un terremoto de casi 8 grados en la escala de Richter el cual enlutó al país entero. Este terremoto se sintió prácticamente en todos los departamentos del Perú, siendo la más afectada la provincia de Pisco. En esos momentos las comunicaciones telefónicas fueron prácticamente inservibles. Las redes de telefonía fija como la de telefonía móvil colapsaron. Algunos organismos gubernamentales emplearon sistemas alternativos de comunicación para poder comunicarse sin depender de la telefonía fija o móvil. Uno de estos sistemas alternativos fue la radio analógica, utilizada por el Centro de Operaciones de Emergencia Nacional (COEN) del Instituto Nacional de Defensa Civil (INDECI). Este sistema, brinda una opción de comunicación que no depende de las redes públicas de comunicación y en ello radica su importancia. Sin embargo, estos sistemas venían siendo utilizados sólo para la transmisión de voz (no digitalizada). La comunicación que realiza esta institución con estos sistemas es puramente analógica, y no se aprovechan las virtudes de
4
las comunicaciones digitales. Es por ello que la presente investigación busca aportar una solución a dicha situación.
El propósito de la investigación, plasmada en un proyecto, en primera instancia, es atender la necesidad del COEN de tal manera que la institución pueda contar con un medio de transmisión de datos alternativo al Internet, teniendo en cuenta la disponibilidad de equipos de radio analógicos en la banda VHF. Así mismo, el proyecto resultado de la investigación es altamente versátil y puede ser utilizado en distintas aplicaciones, las cuales se detallan en la sección 6.
1.1. Hipótesis
Es posible transmitir datos mediante el empleo de la infraestructura de radio comunicaciones analógicas en la banda VHF con que cuenta el Instituto Nacional de Defensa Civil (INDECI) elaborando una interfaz simple y económica, y desarrollando un software de comunicaciones que puede instalarse en cualquier sistema de cómputo general.
2. METODOLOGÍA EMPLEADA EN LA INVESTIGACIÓN
La investigación se desarrolló en el Centro de Operaciones de Emergencia Nacional (COEN) del Instituto Nacional de Defensa Civil (INDECI) y para el mismo, bajo la asesoría del experto en la materia, el Dr. Carlos Valdez Velásquez-López.
Como se mencionó anteriormente, la hipótesis planteada consistió en probar que es posible transmitir datos por radiofrecuencia en la banda VHF, aprovechando los equipos de radio FM del Centro de Operaciones de Emergencia Nacional (COEN). Para ello, se establecieron ocho objetivos específicos realizados de manera secuencial, los cuales se enumeran a continuación:
1. Estimar el ancho de banda del sistema. 2. Analizar y definir el tipo de modulación y demodulación a utilizar. 3. Analizar y definir la codificación de canal a utilizar. 4. Desarrollar e implementar la sincronización. 5. Desarrollar la tarjeta interfaz Computador-Radio. 6. Desarrollar la interfaz de usuario. 7. Integrar todas las etapas del software de radio modem. 8. Determinar la calidad del sistema desarrollado.
Para lograr el objetivo número uno, primero se delimitó el ancho de banda utilizando el programa SPARK, el cual es un programa comercial confiable. Gracias a este programa se pudo saber que el ancho de banda del sistema era menor a 4.5 kHz. Una vez hecha la delimitación, se procedió a estimar el ancho de banda del sistema, lo cual se verá a detalle en el apartado 3.1 de la siguiente sección.
5
Una vez determinado el ancho de banda, se pasó a analizar los principales tipos de modulación como son ASK (Amplitud Shift Keying), PSK (Phase Shift Keying), FSK (Frecuency Shift Keying) y sus variantes; de las cuales se eligió la
modulación
debido, principalmente, a que ésta elimina la ambigüedad de
fase y disminuye la dispersión del espectro cuando se trabaja en la zona no lineal de un amplificador de potencia. Luego de esto, se analizó los dos tipos de codificación de canal, más conocidas por sus iniciales en inglés Automatic ReQuest (ARQ) y Forward Error Correction (FEC); de las cuales se optó por la codificación FEC convolucional (2,1,2). Asimismo, se analizaron los distintos tipos de entrelazado de los cuales se decidió utilizar un entrelazado matricial de grado 14 (14x14).
Una vez realizado lo anterior, se desarrolló la sincronización del sistema, la misma que fue denominada Sincronizador por Tiempos Muertos (STM). Este sincronizador es versátil y puede ser usado en cualquier tipo de comunicación en la que se envíe información en forma de paquetes. Ésta presenta la característica de que debe transmitir por un intervalo de tiempo breve para que sincronice la señal recibida, de ahí el nombre “Tiempos Muertos”.
A continuación, se describe el desarrollo de la tarjeta interfaz Computador-Radio (el Hardware) que se le denominó Tarjeta Interfaz LernToch (TILT). Esta tarjeta de Interfaz es sencilla y de bajo costo y tiene como principal función enlazar el transceptor con la computadora, cuyos detalles se muestran en la sección 3.2.
Seguidamente, se describe la interfaz de usuario, la cual fue desarrollada con el lenguaje de programación C Sharp. Desde esta interfaz se controla a los 2 programas núcleo del sistema, es decir al modulador y demodulador, y sus detalles se resumen en la sección 3.3. Luego de ello se integran todas las partes del sistema desarrollado, tanto hardware como software.
Finalmente, se procede a determinar la calidad del sistema desarrollado. Para ello se utiliza dos parámetros importantes: la tasa de transferencia (en bps) y la tasa de error de bit (BER), más detalles en la sección 4.
De este modo, se logró el propósito planteado y se comprobó la hipótesis de la tesis que luego fue sustentada de manera exitosa y recibió el calificativo de sobresaliente.
3. TRABAJOS Y/O EXPERIENCIAS REALIZADAS
Para los trabajos y experiencias que se realizaron se consideraron dos puntos de comunicación ubicados en diferentes lugares. Se realizaron varias tareas, sin embargo tres son las más resaltantes: 1) Estimación de ancho de banda, 2) Diseño y desarrollo del hardware y 3) Diseño y desarrollo del software.
6
3.1. Estimación del ancho de banda
Las tarjetas de sonido estándar poseen frecuencias de muestreo de 44,1 kHz, 48 kHz y 96 kHz. La tarjeta que se utilizó en el proyecto soporta sólo 2 frecuencias de muestreo 44,1 kHz y 48 kHz. En el proyecto se utiliza la frecuencia más alta. Por lo que, utilizando la ecuación 1 se obtiene la frecuencia de corte superior.
Hz (1)
Se tiene en consideración que = 48 kHz por lo que la frecuencia de corte superior resulta 24 kHz. Considerando, de manera teórica, una frecuencia de corte inferior igual a 0 Hz, se tiene una ancho de banda de 24 kHz. Obviamente, al utilizar otras tarjetas de sonido con una mayor frecuencia de muestreo es posible obtener un mayor ancho de banda.
Sin embargo, el límite práctico para este proyecto fue determinado por el transceptor, la radio VHF de marca Yaesu FT-2200. Esta radio tiene como finalidad transmitir voz vía una portadora modulada en FM. La portadora en radio frecuencia trata de ocupar el menor canal de comunicación por la limitación del espectro electromagnético. Esto último para tener una banda de guarda que evite interferir con otras transmisiones1. La radio utiliza la FM (Frecuencia Modulada) para la transmisión de voz. Esto quiere decir que combina una señal de AF (Audio Frecuencia) con otra de RF (Radio Frecuencia) que es la portadora. La AF, es la señal moduladora que ingresa al equipo de radio. En el proyecto, ésta es
generada por la computadora utilizando el modulador digital
QPSK con una
frecuencia de portadora 2 kHz2.
Si bien es cierto que el micrófono de la radio debe estar diseñado para el ancho de banda de la voz, no se sabía exactamente cuánto era su valor; ni mucho menos las frecuencias de corte, la inferior y la superior. Se trató de encontrar el ancho de banda en las especificaciones técnicas del equipo, pero no se llegó a dar con este dato. Por ello, se procedió a hallar el ancho de banda de forma experimental. Por lo que, se realizaron pruebas para poder determinar dicho ancho de banda a la entrada del equipo Yaesu FT-2200. Estas pruebas se realizaron con el programa SPARK, el cual es un programa comercial desarrollado en conexión con una investigación de transmisión VHF OFDM3 de la Universidad de Ciencias Aplicadas de Kaiserlautem y la Universidad Técnica de Kaiserlautem, Alemania4. Este programa se basa en el estándar DRM. Este estándar utiliza la modulación OFDM y cuenta con la conveniente característica de generar audio frecuencia con distintos anchos de banda. Estos audios son enviados por la tarjeta de sonido desde un punto a otro, y es ahí donde se realiza la captura de la señal enviada. Se envió varias señales de este
1 Cfr. Yamada 2009
2 Esta frecuencia de portadora puede ser variada por el usuario. Más detalles en el Anexo.
3 Orthogonal Frequency Division Multiplexing.
4 Cfr. Feilen 2010
7
tipo variando sólo la frecuencia intermedia. Las frecuencias intermedias seleccionadas fueron las siguientes: 400 Hz, 800 Hz, 1,2 kHz, 1,6 kHz y 2 kHz. La captura se realizó con el programa Windows Winrad. Este es un programa para la captura de emisiones radiales con la tarjeta de sonido en plataforma Win325. La ventaja de utilizar este programa es que muestra gráficamente el espectro de la señal recibida. Todas las captura realizadas, mostraron el detalle de cómo afecta el ancho de banda del equipo Yaesu FT-2200 al espectro de la señal transmitida. Es así que se llega a apreciar la filtración de frecuencias. Por lo tanto, teniendo como información que el ancho de banda de las señales enviadas fue de 4,5 kHz, se llega a deducir que el ancho de banda del equipo en mención es menor a ese valor. Sin embargo, para poder definir el ancho de banda del equipo se generó señales sinusoidales con diferentes frecuencias. Estas señales fueron enviadas para ver así la atenuación que sufrían en su espectro, y con el criterio del -3dB calcular la
frecuencia de corte superior y la frecuencia de corte inferior .
A continuación se detalla el experimento. En la siguiente figura el área de interés es la gráfica del espectro de la captura. Se mueve el cursor para comprobar los valores de la abscisa y la ordenada.
Figura (1) Observación de 600 Hz en ~ -3,5 dB
Figura (2) Observación de 5,8 kHz en ~ -2,9 dB
Una vez recibidas las señales enviadas, se mide la potencia de las señales recibidas. Estas señales van variando su frecuencia en pasos de 200 Hz, desde los 400 Hz hasta los 6 000 Hz.
5 Cfr. Pawlan 2010
8
No se muestran todas las gráficas de las señales recibidas. Sin embargo, en la tabla 1 se muestran los valores obtenidos.
Tabla (1) Valores de atenuación de las señales recibidas
Los valores obtenidos en la tabla anterior son mostrados en forma gráfica en la figura 3. En ésta se muestran las atenuaciones de las señales recibidas.
Figura (3) Atenuación de las señales enviadas
Por lo tanto, utilizando el criterio de -3 dB se determina que la = 900 Hz y la = 4,2 kHz. Ya habiendo hallado las frecuencias de corte se determina que el ancho de banda estimado es de 3,3 kHz.
3.2. Descripción del Sistema desarrollado - Hardware
El sistema desarrollado satisface la necesidad de transmitir datos en la banda de VHF del Centro de Operaciones de Emergencia Nacional (COEN) del Instituto Nacional de Defensa Civil (INDECI). La institución cuenta con el área de comunicaciones, en la cual se tienen diversas necesidades de comunicación. Por ello, el sistema que se desarrolló es un valor agregado, que fue integrado al existente permitiendo así un uso más eficiente de su infraestructura. Lo dicho se representa de manera gráfica en la figura 4.
9
Figura (4) Sistema de comunicación desarrollado
El sistema utiliza la infraestructura ya establecida en la banda de VHF para así poder transmitir datos. Para tal fin, se requiere en esencia tres equipos por punto de comunicación: una computadora, un transceptor y una tarjeta interfaz LernToch “TILT”6. Todo el sistema, en diagrama de bloques, se muestra en la figura 5.
Figura (5) Diagrama de bloques del sistema desarrollado
Como es de notar, lo que se añade al sistema actual de la institución es la TILT y el software de radio modem que se ejecuta en la computadora. A continuación se dará alcance sobre los equipos.
3.2.1. El equipo radio transceptor
El equipo con el que se trabaja en el proyecto es un transmisor de radio analógico en la banda VHF, modelo FT-2200 de la marca YAESU, equipo que dispone el COEN y que se muestra en la figura 6.
6 TILT: Tarjeta Interfaz LernToch
10
Figura (6) Transceptor FT 2200
3.2.2. Tarjeta Interfaz LernToch (TILT)
La TILT es un equipo que cumple la función de adaptar las señales de la computadora al equipo de radio. Se llevó a cabo el desarrollo del equipo porque no existe un producto estándar que se comercialice. La figura 7 muestra la TILT.
Figura (7) Tarjeta interfaz LernToch
La TILT internamente contiene la tarjeta interfaz y la tarjeta de sonido externa. Asimismo, este equipo presenta 4 salidas: la primera para la conexión de la tarjeta externa a la computadora, la segunda para la conexión del circuito PTT (Push To Talk) a la computadora mediante el puerto RS232, la tercera para el conector al altavoz (out put) de la radio y la última al conector del micrófono de la radio. Asimismo, cuenta con un indicador de “peteteo” y un indicador del funcionamiento de la tarjeta de sonido (Tx / Rx).
3.2.2.1. Esquemático de la tarjeta interfaz
Para el desarrollo de la tarjeta interfaz radio - tarjeta de sonido se tuvo en consideración 2 aspectos en esencia: la adaptación de impedancias y el manejo de la señal del PTT. La figura 8 muestra el esquemático de la misma.
11
Figura (8) Esquemático de la tarjeta interfaz (radio - tarjeta de sonido)
Tal como se puede ver en la figura, el circuito para la conexión de la radio con la tarjeta de sonido es de lo más sencilla. Se utiliza dos transformadores de audio de 600 Ω para aislar el circuito de la radio y la tarjeta de sonido. Los transformadores no deben modificar el audio que viaja por ellos, por lo que la relación del primario con el secundario es de 1:1. También, se tiene el opto acoplador que sirve para activar la transmisión del transceptor. En la parte izquierda de la tarjeta (figura 8) se observa el transformador número 1, éste se utiliza para la conexión del OUT de la radio con el micrófono de la tarjeta de sonido. El transformador número 2 se utiliza para la conexión del OUT de la tarjeta de sonido con el micrófono de la radio. Asimismo, en el secundario de este transformador se coloca en serie un capacitor de 4.7 µF y una resistencia de 3.5 kΩ, esto con el fin de desacoplar la DC.
3.3. Diseño del software de radio modem
3.3.1. Requerimientos para la computadora
La interfaz que usa el operador de comunicaciones tiene por nombre modem software. Ésta se ejecuta en la computadora y cumple con la función de generar las señales para enviarlas por la radio. El sistema propuesto requiere de una computadora, en la cual se ejecuta la aplicación modem software. Para el desarrollo del proyecto no se distinguió ninguna arquitectura en particular, ya que el núcleo del modem software fue desarrollado utilizando el lenguaje C++ que es multiplataforma (en Windows en un procesador x86, en GNU/Linux en un procesador x86 y en Mac OS X en un procesador x86 o en un PowerPC).
La computadora necesaria para el modem software desarrollado es un equipo Pentium III (como mínimo) o superior, en preferencia, con al menos 1 GB de memoria RAM y espacio libre en disco de 100 MB.
Además, el sistema operativo debe contar con los controladores de la tarjeta de sonido y el puerto serial. Algunas laptops actualmente no cuentan con puerto
12
serial, en aquellos casos el usuario hará uso de un cable adaptador7 que genera un puerto serial conectado a un puerto USB. El driver de estos cables generará un puerto serial en el sistema operativo.
Es necesario que la computadora cuente con el software de Microsoft Framework .Net 2.0 o superior8, un driver de tarjetas de sonido ASIO de Soundbird y librerías algebraicas para ejecutables ITPP9, este último se provee como parte de la instalación del software.
3.3.2. Descripción del modem software
El modem software fue desarrollado en dos lenguajes de programación: C ++ y C Sharp. Con el primero se desarrolló el núcleo del sistema (modulador y demodulador) y con en el otro la parte visual. De la programación en C++ surgen dos ejecutables: “Modulador.exe” y “Demodulador.exe”. Estos son controlados por un programa maestro, el cual fue desarrollado en C Sharp, “Softradio.exe”. Este último, muestra y maneja la parte visual del modem software. Asimismo, este programa llama al modulador y/o demodulador según se requiera. En conjunto estos 3 programas forman el modem software desarrollado. En seguida se ahondará sobre éstos, se explicará sobre los 2 principales y luego se dará detalles de la interfaz visual. 3.3.2.1. Desarrollo del software Tal como se mencionó, el núcleo del modem software se centra en 2 programas: “Modulador.exe” y “Demodulador.exe.” Éstos han sido desarrollados teniendo en consideración las distintas limitaciones que se tiene en la comunicación por VHF. En ese sentido, estos programas se ciñen a dos diagramas de bloques los cuales se muestran en la figura 9.
Figura (9) Diagrama de bloques del Modulador.exe y del Demodulador.exe
7 Los cables USB a serial utilizan el integrado PL-2303 que crea un puente entre el conector serial DB9
macho un conector USB tipo A estándar.
8 Sistemas Microsoft Windows 7 ya tienen el software pre instalado
9 ITPP es una librería matemática de C++
13
Cada programa consta de tres procesos en esencia, estos a su vez constan con procesos propios, los cuales ayudan a cumplir la función del macro programa “modem software”. En seguida, se detallan los programas modulador.exe y demodulador.exe. Modulador y Demodulador En el modem software todos los programas principales están hechos como función. Las figuras 10 y 11 muestran el diagrama de flujo del modulador y demodulador, respectivamente.
Figura (10) Diagrama de flujo del
modulador
Figura (11) Diagrama de flujo del
demodulador
Al modulador se le da inicio cuando se le invoca a la función; ésta recibe parámetros como los datos a modular, la frecuencia de muestreo, frecuencia de la portadora y el número de ciclos por símbolo. El modulador tiene cuatro procesos. El primero, realiza el proceso de separar los datos entrantes en dos grupos (cuadratura y fase). Estos dos, en el segundo proceso, son codificados diferencialmente. Luego de la codificación diferencial se pasa al tercer proceso, en la cual la información codificada es multiplicada por la portadora para luego pasar al último proceso en la que se suma las 2 señales, dando finalmente la señal modulada. Por su parte, el demodulador recibe como parámetros la señal capturada por la tarjeta de sonido, la frecuencia de muestreo, frecuencia de la portadora y el número de ciclos por símbolo. La función demodulador consta de 5 procesos. En la primera se genera el retardo y el desfase haciendo operaciones de procesamiento digital con la señal recibida. Una vez realizado esto se pasa al segundo proceso donde se realiza la multiplicación en cuadratura y fase. La señal obtenida del retardo es la que se utiliza como multiplicador común del símbolo de cuadratura y de fase. En el tercer proceso, la señal obtenida del proceso de multiplicación es filtrada utilizando el filtro correlador. Una vez filtrada, se pasa al cuarto proceso donde se toma la muestra de la señal. Si la muestra es mayor que
14
cero entonces es un uno, caso contrario es un cero. Este proceso se realiza independientemente tanto en cuadratura como en fase, por lo que es necesario unirlos. Para tal fin, en el último proceso, se realiza la conversión de paralelo a serie. Esto es juntar los unos y ceros que se obtuvieron en el cuarto proceso. Para mayor detalle de estos algoritmos refiérase al Anexo 5. Transmisión y recepción de datos Tanto la transmisión como la recepción de datos fueron programadas con el lenguaje de programación C Sharp. Las figuras 12 y 13 muestran el diagrama de flujo del programa de transmisión de datos y el diagrama de flujo de la recepción, respectivamente. Éstos reciben como parámetros la frecuencia de muestreo en Hz , la frecuencia de portadora en Hz , el número de ciclos por símbolo (cs) y la robustez del sistema (codificación y/o entrelazado).
Figura (12) Diagrama de flujo de la
transmisión de datos
Figura (13) Diagrama de flujo de la
recepción de datos
Tal como se aprecia en la figura 12, la transmisión de datos consta de tres procesos. El primer proceso es de activación del puerto “COM” para el “peteteo”. Es decir, se pone al transceptor en modo transmisión. Luego, se pasa al segundo proceso en el cual se llama al “Modulador.exe” y es el modulador quien prepara y adecua los datos para su transmisión. Enseguida, luego de haber hecho la transmisión se desactiva el puerto “COM”. Esto genera un tiempo muerto que ayuda al demodulador a sincronizarse. Estos procesos se repiten cíclicamente hasta que se envíe todos los datos. En la figura 13, se puede observar que el programa de recepción de datos consta de dos procesos. El primer proceso hace un llamado al programa “Demodulador.exe”. Este programa devuelve los datos recibidos. Enseguida, se pasa al segundo proceso el cual muestra los datos recibidos al usuario (operador). Esto se repite cíclicamente hasta que se le detenga, lo cual implica
15
que una vez que se lleve a cabo el muestreo de datos se vuelve a poner en escucha, a espera de nuevos datos. Para mayor detalle de estos algoritmos refiérase al Anexo 5. Detección de la señal enviada Una vez activado el programa “Demodulador.exe” se empieza a capturar la señal que entrega el transceptor con la tarjeta de sonido, la cual es almacenada en un buffer de entrada. Este buffer en todo momento está siendo leído por la función “Clap”. Esta función es la encargada de detectar la señal enviada. La figura 14 muestra la mencionada función. Esta función recibe como parámetros la señal capturada por la tarjeta de sonido que se encuentra almacenada en el buffer de entrada y el adecuado umbral de detección. Este umbral es un valor definido y ayuda a discriminar la señal del ruido.
Figura (14) Diagrama de flujo de la recepción de datos
Esta función cuenta con dos procesos principales, en el primer proceso se realiza el algoritmo de cruces por cero. Este algoritmo detecta desde que punto se genera cruces por ceros. Se entiende que la señal enviada por el transmisor está formada por señales cosenoidales, por lo que tendrá valores oscilantes alrededor de cero. Por ende, al tener este algoritmo, se está detectando la señal, la portadora modulada. Sin embargo, para tener una mayor certeza de que lo detectado es la señal enviada por el transmisor, se pasa al segundo proceso. En este proceso se busca el punto donde el valor de señal pasa el umbral definido. Este umbral está alrededor de la mitad de la amplitud máxima de la señal enviada por el transmisor. Finalizado este proceso, la señal detectada es almacenada en un buffer anillo, del cual se van extrayendo para ser entregadas como parámetro a la función encargada de la demodulación. Para mayor detalle de este algoritmo refiérase al anexo 5.
16
La interfaz usuario Ésta se desarrolló en plataforma .NET específicamente en C Sharp. A continuación, se describe la interfaz que el usuario maneja. En la parte superior izquierda se tiene 2 pestañas, tanto en la ventana de transmisión como en la de recepción: “configuración” y “Ayuda”. Si se le da click en la primera se desplegará la misma y se mostrará 2 opciones: “Avanzado” y “Básico”. Se puede operar al transmisor en los 2 modos, el avanzado y el básico. En el modo avanzado se permite modificar parámetros para la transmisión como son: la frecuencia de la portadora, la frecuencia de muestreo y el número de ciclos por símbolo (c/s). También, se puede utilizar en modo básico. Este modo tiene configurados todos los parámetros de transmisión, lo cual facilita el envío de datos de manera despreocupada. Es necesario que se ingresen en el formulario del programa los parámetros de frecuencia de muestreo, frecuencia de portadora y el número de ciclos por símbolo. Se puede variar los parámetros de transmisión predefinidos (Modo Básico) dependiendo de las condiciones de calidad en la señal. Los valores de la frecuencia de portadora que se pueden usar son: 1 kHz, 2 kHz y 3 kHz, los valores para la frecuencia de muestreo que se pueden usar son: 44,1 kHz, 48 kHz y 96 kHz y el valor del número de ciclos por símbolo (cs) debe estar en el rango de 2 a 10. Tener en consideración que en el caso de que no se coloquen los mismos valores tanto en el modulador como en el demodulador, se provocarán errores en los datos recuperados. 3.3.3. Lenguajes de programación y librerías En todos los procesos del proyecto: desarrollo, pruebas y validación se utilizaron 3 lenguajes de programación: C++, C Sharp y Matlab. Éste último fue utilizado para observar las señales en cada momento del programa. Cabe recalcar, que núcleo del sistema fue desarrollada en C++. Sin embargo, para el desarrollo de los programas modulador, demodulador y en el procesamiento digital de señales de éstos se utilizó la ayuda de la librería ITPP y RTAUDIO, principalmente. La librería ITPP (también conocida como IT++) es un framework, un conjunto de funciones de C++ que realiza desde las funciones básicas hasta las más elaboradas en el campo de los sistemas de comunicaciones. Esta librería facilita las operaciones algebraicas con vectores y matrices, he ahí su importancia. Asimismo, ésta utiliza librerías matemáticas BLAS, CBLAS, LAPACK, FFTW. ITPP tiene funciones que son equivalentes al Matlab permitiendo importar o exportar variables desde o hacia el Matlab10. Por su parte, RTAUDIO es un conjunto de clases de C++ que provee un API común para la entrada y salida de audio en tiempo real a través del sistema operativo Windows, mediante DIRECTSOUND o ASIO11. ASIO es una librería de 10
Cfr. ITPP 2011 11
Cfr. McGill University 2012
17
manejo de tarjetas de sonido proporcionado por Steinberg12, para que las aplicaciones basadas en ella tengan las mejoras de la baja latencia. Asimismo, Asio4all es un driver que ha sido desarrollado para tener compatibilidad con casi todas las tarjetas existentes. ASIO asegura una comunicación directa entre la tarjeta y la aplicación por ello presenta un menor retardo13. Otros drivers de audio pasan por capas intermedias del sistema operativo, lo cual genera un mayor retardo. Por ello, en el proyecto desarrollado se utiliza ASIO.
Algo a resaltar, es que las librerías de esta aplicación son proyectos que son de licencia pública general (GPL), lo cual implica que no hay costos por empleo de éstas.
4. ANÁLISIS DE LOS RESULTADOS, PRUEBAS Y VALIDACIÓN DEL SISTEMA
Las pruebas (métodos de validación) que se realizan son las mediciones de la tasa de bits y de la tasa de error de bit (Bit Error Rate, BER), con las que se comprueban los alcances de la investigación plasmada en el proyecto. La primera prueba se refiere a la velocidad práctica alcanzada, ya que la tasa de bits (en bps) mide la cantidad de información que se logra transmitir en un tiempo determinado. La segunda prueba es una medición de la cantidad de bits errados que llegan al receptor, con lo que se calcula el BER.
Estas pruebas son explicadas más adelante en forma descriptiva. Primero se muestra el método de realización de las pruebas, luego se evalúan y explican los resultados. Finalmente, estos resultados se comparan con otros sistemas desarrollados.
4.1. Descripción de la prueba tasa de bits
La primera prueba que se hizo al sistema es la tasa de bits, la cual se da en unidades de bits por segundo (bps). Para esta prueba primero se halla la tasa binaria utilizando la ecuación 2.
(2)
Dónde:
M: Número de puntos en la constelación.
12
Una marca registrada 13
Cfr. Tippach 2012
18
: Periodo de símbolo en segundos.
Para esta ecuación se necesita el valor de M y el periodo de símbolo. Al utilizar un
modulador
QPSK, es claro que el valor de M=4. Ahora, el periodo de símbolo no
es fijo, ya que éste depende de 3 parámetros en esencia los cuales son: la
frecuencia de muestreo en Hertz ( ), la frecuencia de portadora en Hertz ( ) y el número de ciclos por símbolo ( ); los cuales pueden ser variados por el operador. Sin embargo, para esta prueba los valores seleccionados son los valores predefinidos que están en el software:
= 48 000 Hz.
= 2 000 Hz.
= 4.
Teniendo los valores de estos tres parámetros se halla el número de muestras
( ), la cual cumple la siguiente relación.
(3)
Utilizando la ecuación 3 se halla el número de muestras: = 96 muestras. Ahora, remplazando los valores en la ecuación 4:
(4)
Se obtiene que .
Ahora bien, ya habiendo hallado todas las variables, se utiliza la ecuación 2 para
hallar el valor de tasa binaria: = 1 000 bps = 1 kbps. Asimismo, variando los valores de la frecuencia de muestreo , frecuencia portadora y el número de ciclos por símbolo (cs) se puede obtener una tasa de hasta 3 000 bps. Teóricamente, el valor límite es cuando cs=1 y la frecuencia de la portadora sea el valor más alto posible. El valor máximo de la frecuencia portadora está limitado por el ancho de banda del equipo.
Validación y desarrollo
Para la validación de la tasa binaria se desarrolló una prueba la cual consta de 3 pasos, los cuales se detallan en seguida:
Primero: se captura la señal a enviar (1ra señal). Esta señal es generada con el programa Modulador desde C++; y ésta a su vez es mostrada con el MATLAB.
Segundo: en el receptor, se captura la señal enviada por la radio (2da señal). Para realizar la captura se utiliza un programa hecho en MATLAB que controla la tarjeta de sonido.
Tercero: obtenidas estas dos señales son comparadas tomando un tiempo de análisis de 14ms. Durante este tiempo se tiene que tener la misma cantidad de
19
muestras en ambas señales; así se demostrará que la tasa binaria es tal cual se halló teóricamente (1 000 bps).
En esta validación se envió la palabra “validando”, la cual en formato binario es: “111011011000011101100110100111001001100001110111011001001101111”. Estos datos binarios son modulados y se obtiene la señal a enviar, la cual se puede apreciar en la figura 15.
Figura (15) Señal enviada
Una vez enviada esta señal es capturada con el programa “captura”. Este programa ha sido desarrollado con MATLAB. La señal capturada se ve en la figura 16. El tiempo de captura fue de 8 segundos.
Figura (16) señal capturada
La señal capturada por la tarjeta de sonido no sólo está compuesta por la señal modulada (Palabra “validando”), sino también, por el ruido inherente del canal y por el ruido por cierre del “peteteo”. Es importante señalar que este último no
20
ocasiona ningún inconveniente en la demodulación. Asimismo, la figura muestra la señal modulada (“validando”) capturada en distintos tiempos. Por ende, para llevar a cabo el tercer paso se extrae la señal modulada. Ésta se puede apreciar en la figura 17.
Figura (17) Señal “validando”
Habiendo realizado los dos primeros pasos, se realiza el último, en donde se compara parte de las señales (de la enviada y de la recibida), tomando en consideración los 14 ms definidos en el tercer paso. En la figura 18 se muestra las 2 señales a comparar.
Figura (18) Comparación de la señal enviada y recibida – 14ms
21
En la figura 18 se muestran partes de la señal enviada (18a) y la recibida (18b) en un tiempo de 14 milisegundos. Tal como se puede apreciar, ambas presentan la misma cantidad de muestras durante el mismo tiempo; por lo cual se verifica que la tasa binaria es de 1 kbps, ésta es la tasa experimental del proyecto. Así también, se demuestra que las frecuencias de muestreo son las mismas tanto en el receptor como en el transmisor.
Por otro lado, es importante observar la distorsión que ocasiona el canal a la señal modulada. Pero, aun con esas distorsiones, se llega a recuperar la información. Obviamente, el papel del codificador y entrelazador son de ayuda.
4.2. Descripción de la prueba del BER
La segunda y última prueba fue calcular experimentalmente el BER. Para ello, se utilizó la ecuación 5, la cual se define a continuación.
(5)
Donde:
: Numero de bits errados.
: Numero de bits transmitidos.
Para que se tenga una fiel certeza que el BER es tal cual se da, es decir, con el 100% de seguridad; la cantidad de bits enviados debería ser infinita. Por ende, las pruebas nunca terminarían. Por ello, para hacer práctico hallar el BER se utiliza un parámetro que se denomina “nivel de seguridad” (NS). Para ello, se tiene que fijar un umbral de BER. Obviamente, el umbral del BER será mayor al BER que se desea que tenga el sistema.
Por lo tanto, se define el nivel de seguridad con la siguiente ecuación14:
(6)
De la ecuación anterior se despeja la cantidad de bits a enviar “ ”, dando lugar a la ecuación 7.
(7)
Por lo tanto, la ecuación 7 define la cantidad de bits que se requieren enviar para obtener un BER menor al BER umbral con un nivel de seguridad fijado por los que realizan las pruebas.
Por otro lado, en cualquier sistema de comunicación se quiere que el nivel de seguridad tienda a 100%. Sin embargo, éste está limitado por la velocidad de transferencia de datos del sistema que se implementa, ya que de esto dependerá
14
Cfr. Agilent Technologies 2012
22
el tiempo que demora realizar la prueba. Por ejemplo, para un estándar de
comunicación como es el “Gigabit Ethernet” ( =1.25 Gbit/s) que especifica un
BER menor a toma alrededor de 13 minutos en transmitir bits15. Esto quiere decir que con esta cantidad de bits enviados sólo se tendría un nivel de seguridad de seguridad de 63%.
Si es que se fijase una BER con un nivel de seguridad de 90%, para el proyecto desarrollado, esta prueba tomaría 59 horas aproximadamente, lo cual no es práctico. Es por ello que para esta última prueba se fija un BER umbral de
y un nivel de seguridad de 65 %. Esto quiere decir, utilizando la ecuación 7, se necesita enviar 104 983 bits como mínimo.
Validación y Desarrollo
Para la validación de esta prueba se desarrolló un testeador del BER. Éste es un programa desarrollado específicamente para el cálculo del BER. En la figura 19 se muestra la parte visual de este programa.
Figura (19) Testeador del BER
En la figura anterior, se pueden ver los detalles del testeador del BER (BERT). Se aprecian los controles de las características del sistema a variar, ya sean los parámetros de transmisión y recepción o de robustez del sistema. También, se puede apreciar cuadros de textos. En la parte inferior izquierda se encuentra el cuadro de texto, donde se colocan los datos a enviar, que para esta prueba consta de más de 14 998 caracteres. En la parte inferior derecha se encuentra la caja de texto donde se muestra los datos recibidos y en la parte superior de éste
15
Cfr. Palani Subbiah 2012
23
se encuentra otra caja de texto donde se muestra los datos con los que se comparará los datos que se demodulan. Estos dos cuadros de texto ayudan a ver en detalle que caracteres se están comparando, ya que se puede tener pérdida de paquetes y en ese caso se estaría comparando diferentes paquetes.
Sin embargo, para evitar ese percance cada paquete enviado viaja con un identificador (cabecera). Esta cabecera es cíclica, va desde el cero hasta el nueve y luego vuelve a reiniciar desde cero. Esto se sabe en el demodulador, el cual cuenta con un algoritmo de detección y conteo de cabecera. Este algoritmo ayuda a sincronizar los paquetes que se comparan. Por ejemplo, un escenario es cuando el receptor está esperando el tercer paquete, pero por efectos de retardo de procesamiento (sea éste en el modulador o demodulador) se perdiesen 2 paquetes; entonces, el paquete a recibir sería el quinto. Esto es detectado por el receptor e inmediatamente cambia el paquete a comparar, del tercer al quinto paquete; con lo cual se soslaya el problema de comparar distintos paquetes de información.
El BERT fue creado, en primera instancia, para alternar envío y recepción. Sin embargo, a la hora de realizar las pruebas se observó que el tiempo de procesamiento se incrementó considerablemente. Es por esa razón que se simplificó el código para que la comunicación sólo se dé en un sentido durante el tiempo de prueba. Es decir, que sólo un punto estará enviando y otro recibiendo durante todo el tiempo que demande realizar las pruebas.
En esta prueba se envió un total de 16 156 caracteres. Todos estos datos son encapsulados en paquetes de 14 caracteres, de los cuales 13 son caracteres propios del texto a enviar y uno es carácter especial de cabecera que va variando su valor cíclicamente. Al termino del envío de todos estos caracteres se tuvo 3 paquetes perdidos en distintos tiempos por lo que se recibieron un total de 1 151 paquetes, los cuales hacen 112 798 bits recibidos. En todos estos bits recibidos no se apreció ningún error. Cabe mencionar que el tiempo que tomó realizar esta prueba fue de 2 horas con 30 minutos, aproximadamente.
4.3. Resultados de otras investigaciones similares
En este apartado se citan a 2 proyectos relacionados al tema en desarrollo: uno de ellos fue realizado en Ucrania y el otro en el Perú. Justamente, el proyecto que se hizo en el Perú se realizó en la Universidad Peruana de Ciencias Aplicadas y en la misma facultad de los desarrolladores del presente proyecto. El proyecto lleva por nombre: “Monitoreo remoto de señales a través del canal de voz de teléfonos celulares GSM”. Por su parte, el proyecto realizado en Ucrania es conocido con el nombre: “UZ7HO Soundcard Modem”. En las siguientes líneas se dará un breve alcance de ambos proyectos.
En relación al proyecto realizado en el Perú, fue un proyecto que se presentó el año 2009. Este proyecto consistió en el envío de datos en la banda de UHF (Ultra High Frecuency). Se utiliza una estructura ya establecida como es la telefonía
24
(GSM) y así aprovecha sus enlaces para el envío de datos16. En la siguiente figura se muestra el esquema a nivel macro del mencionado proyecto.
Figura (20) Esquema general del proyecto
De la figura anterior, se puede apreciar que para enlazar dos puntos se necesita en cada uno de ellos un modem. Para este trabajo, un modem se encuentra en la computadora y el otro en un DSP. Obviamente, el DSP es usado, aparte de actuar como modem, como lector de datos. Estos datos son los que se modulan en el DSP y son enviados mediante el celular.
El modem que desarrollaron utiliza un modulador 4-FSK con demodulación no coherente. Asimismo, utilizan un codificador de canal (codificador de bloque (7,4)). Este proyecto, obtuvo como resultado un promedio en la tasa de error de 2,4 % y con una desviación estándar de 0,04 %. Asimismo, consiguieron una tasa de transferencia de 80 bps.
Por otro lado, el “UZ7HO Soundcard Modem” es un proyecto realizado por Andrei Kopanchuk’s radio aficionado de Ucrania. Este es un modem software desarrollado para ser usado en las bandas de HF, VHF y UHF para la trasmisión de datos. Este proyecto presenta el mismo esquema de funcionamiento que el sistema que se propone en este proyecto. Sin embargo, se presentan cierta diferencia: en el modulador utiliza la modulación FSK. Asimismo, este presenta distintas tasas de transferencia, dependiendo si la transmisión se hará en HF o en VHF. La tasa para HF está en 300 bps y la tasa para VHF es de 1 200 bps17. Este proyecto sigue realizando mejoras y está teniendo mucha aceptación dentro de los radioaficionados.
4.4. Análisis de resultados
Tal como se vio en la sección anterior en el proyecto que se realizó se obtuvo una tasa de transferencia de 1 000 bps. Obviamente, para lograr esto se tomó ciertas
consideraciones en la frecuencia de la portadora ( ) y la cantidad de ciclos por símbolo ( ), tal como se mencionó en dicha sección. Comparando con la tasa
16
Cfr. Bodero y Sarmiento 2009
17 Cfr. Andrei Kopanchuk’s 2012
25
obtenida en el trabajo de Bodero y Sarmiento18 se tiene un incremento en 1 150 %. Este gran aumento en la tasa de transferencia se debe a varias razones: al
utilizar una modulación en fase con M = 4 (
QPSK) la densidad espectral de
potencia es más angosta por lo cual ocupa menor ancho de banda y por ende se tiene mayor posibilidad en variar la frecuencia portadora. Es decir, se tiene más facilidad de aumentar la frecuencia de portadora y por lo tanto incrementar la tasa de transferencia. Por ejemplo, si se cambia, para la ecuación 2, la frecuencia de portadora de 2 kHz a 3 kHz, la tasa se incrementa a 1 500 bps. Otro factor es la cantidad de muestras por símbolo. Ellos utilizan más del doble (200 muestras por símbolo) en cantidad de muestras que las que se utiliza para este proyecto.
Obviamente, el utilizar una frecuencia de muestreo menor al que se utilizó, también, es una causa para la diferencia entre las tasas.
En contraparte, el proyecto “UZ7HO Soundcard Modem”, presenta una tasa mayor en un 16,6 %. Sin embargo, cabe aclarar que el valor de la frecuencia de portadora puede ser incrementado hasta 3 kHz y el número de ciclos por símbolo reducido hasta 2 ciclos por símbolo; pudiendo así lograr tener una tasa de transferencia de 3 000 bps. Con estas consideraciones se tendría una tasa binaria mayor en un 150 %. Obviamente, al realizar el incremento de la tasa la calidad del sistema decrece.
Por otro lado, el proyecto realizado presenta una tasa de error de bit menor a con un nivel de seguridad de 65 %. En contraparte el proyecto realizado por los autores Bodero y Sarmiento presenta una tasa de error de bit, de acuerdo a la
estadística brindada, de .
La siguiente tabla muestra las características de los proyectos en comparación.
Parámetro / Proyectos
Cáceres y Olmedo Kopanchuk Bodero y Sarmiento
Tasa 1 000 bps 1 200 bps 80 bps
BER Menor a -
Modulación
FSK 4-FSK
Canal Voz FM - Banda VHF
Voz Banda HF, VHF y UHF
Voz GSM
Codificación Convolucional (2,1,2)
- Bloque (7,4)
Tabla (2) Comparación de parámetros entre proyectos
18
Cfr. Bodero y Sarmiento 2009
26
5. CONCLUSIONES
La investigación realizada, plasmada en un proyecto, fue para satisfacer la necesidad del Centro de Operaciones de Emergencia Nacional (COEN) del Instituto Nacional de Defensa Civil (INDECI). Los usuarios que van a utilizar el modem software desarrollado, no necesariamente tienen conocimiento de las telecomunicaciones digitales. Por ello, la interfaz visual para el usuario presenta 2 modos de operación, la básica y la avanzada. En el modo básico, todo los parámetros de transmisión están predefinidos, por lo cual el usuario sólo tendrá que escribir el texto a enviar y darle click en el botón enviar; olvidándose de configurar valores como la frecuencia de portadora, frecuencia de muestreo y el número de ciclos por símbolo.
El proyecto aprovecha la estructura de comunicación analógica por radiofrecuencia en la banda VHF de la institución. Por ello, el único hardware que se crea en el proyecto es la Tarjeta Interfaz LernToch (TILT). Internamente, contiene una tarjeta interfaz para la tarjeta de sonido/radio y la tarjeta de sonido. Este equipo es el encargado de recibir las señales enviadas y entregárselas al modem software.
Se logró estimar el ancho de banda del sistema, el cual resultó ser de 3,3 kHz. Esto se logró en dos pasos: Primero, se envió sonidos de audio con un ancho de banda de 4,5 kHz generados con el programa SPARK DRM. Estos fueron capturados por el programa WINRAD, el cual mostraba las filtraciones que sufría los sonidos de audio. Lo anterior ayudó a limitar el ancho de banda. Finalmente, una vez visto que el ancho de banda es menor a los 4,5 kHz se envió tonos desde los 400 Hz hasta los 6 kHz con un paso de 200 Hz (Se envió hasta los 6 kHz para validar el primer paso). Estos tonos fueron capturados y se analizaron la atenuación que sufrían; y con el criterio de los -3 dB se estimó que la frecuencia
de corte inferior = 900 Hz y que la frecuencia de corte superior = 4,2 kHz. Por lo que el ancho de banda estimado es 3.3 kHz; lo cual está dentro de lo esperado ya que estas radios (Yaesu FT-2200) están hechas para la transmisión de voz.
Se investigó tres tipos de modulación digital en esencia: ASK (Amplitude Shift Keying), FSK (Frecuency Shift Keying), y PSK (Phase Shift Keying). De éstas se eligió utilizar la modulación PSK, debido a que este esquema de modulación presenta mayor inmunidad al ruido que la ASK y ocupa un menor ancho de banda que la modulación FSK. Es decir, se tomó el término medio teniendo en consideración robustez de modulación y optimización del ancho de banda. Asimismo, el esquema de modulación PSK presenta distintas variantes de las
cuales se optó por utilizar la modulación
QPSK. Esto debido a que ésta elimina
la ambigüedad de fase y disminuye el efecto que causa trabajar en la zona no lineal de un amplificador de potencia.
27
La información modulada con
QPSK puede ser recuperada mediante
demodulación coherente o no coherente. En este proyecto se optó por la no coherente debido a que ésta presenta menor complejidad y por ende menor tiempo de procesamiento, lo cual le da al sistema un mejor tiempo de respuesta.
Se llegó a implementar satisfactoriamente la codificación de canal. Para ello, se analizó los dos tipos de codificación de canal la ARQ (Automatic ReQuest) y la FEC (Forward Error Correction). No se optó por la ARQ porque generaría mucho retardo, haciendo ineficiente el sistema. Por ello, se utilizó un tipo de codificación convolucional (2, 1, 2) y en la decodificación se utilizó el algoritmo de Viterbi. Asimismo, se añadió el entrelazado de datos el cual protege aún más la información enviada, especialmente, cuando se produce ráfaga de errores. Sin embargo, cabe mencionar que la codificación de canal es la que consume mayor tiempo de procesamiento, pero se implementó para dar mayor robustez al sistema.
La sincronización fue creada especialmente para este proyecto y fue denominada Sincronización por Tiempos Muertos (STM). Esta sincronización requiere que se deje de transmitir por un determinado tiempo. Este tiempo depende de los tiempos de procesamiento tanto en el modulador como en el demodulador. Es así que para este proyecto fue necesario tener un tiempo muerto de aproximadamente 1,2 segundos.
Se hallaron dos parámetros que miden al sistema desarrollado: la tasa de transferencia de datos y el BER (Bit Error Rate). En relación al primero, se llegó a comprobar, lo que teóricamente se calculó, que el sistema presenta una tasa de transferencia de 1 000 bits por segundo. El segundo parámetro hallado fue la tasa
de error la cual se demostró que es menor a con un nivel de seguridad del 65 %. Lo cual, quiere decir que de 100 000 bits enviados todos llegarán a ser recuperados sin ningún error.
28
6. APLICACIONES REALIZADAS Y OTRAS POSIBILIDADES DE APLICACIÓN
El trabajo realizado es muy versátil y se puede dar uso en distintos campos, por ende las aplicaciones pueden ser diversas. Enseguida, se detalla algunas de ellas.
• Sistema de alerta temprana
Siempre ha sido, es y será necesario un sistema de alerta temprana confiable y seguro. El presente proyecto, se puede adecuar de una manera sencilla con otros dispositivos o sistemas y formar parte de un sistema de alerta temprano. Para lograr lo mencionado, bastaría con crear una interfaz con dichos sistemas. Es así que el presente proyecto se podría utilizar, por ejemplo, para un sistema de alerta de tsunamis. Ya que el modem software se puede unir con un sistema de sensores, los cuales en cada instante estarían censando los parámetros necesarios que indiquen la existencia de un tsunami. Esta información brindada por los sensores serían enviados gracias al modem software y con esta información se podría dar la activación de la alerta para una evacuación de emergencia.
• Chat e intercambio de información inter-comunidades
Debido a la agreste geografía que presenta el Perú, existen comunidades rurales en el interior del país que prácticamente viven aislados de la sociedad. Éstas cuentan con un pobre sistema de comunicación. Este proyecto se puede utilizar para ayudar a intercomunicar dichas comunidades apartadas, con un centro urbano donde se podría transmitir datos e incluso implementarse un chat rural.
• Red de seguridad marítima.
Hay ciertos sectores en el mar que son restringidos para la pesca industrial, donde sólo se les permite la presencia de los pescadores artesanales. Sin embargo éstos, haciendo caso omiso a la disposición, realizan sus actividades pesqueras en las zonas restringidas, perjudicando así a los pescadores artesanales.
Se podría implementar una interfaz con un sensor el cual dé información al algoritmo de control y mediante el modem software se podría remitir la información a los encargados de la supervisión, para que así puedan sancionar a los responsables.
29
• Uso del canal de audio para enviar información encriptada.
En el modem software se pueden desarrollar algoritmos de encriptación para el envío de información encubierta. Esta aplicación estaría enfocada al sector militar.
• Sistema de telecomunicaciones para emergencias.
Cuando ocurren catástrofes como los ocurridos en agosto del año 2007, las comunicaciones juegan un gran papel dentro del país. Es por ello que es de vital importancia tener sistemas de comunicación que trabajen y funcionen en forma paralela e independiente de las comunicaciones convencionales. Es así que se desarrolló la presente investigación, ya que se enfoca a la transmisión de información digitalizada, aprovechando el sistema de comunicación analógica, el cual funciona de forma independiente del Internet y de las comunicaciones móviles y fijas.
• Monitoreo y control remoto para las industrias.
Hay gran cantidad de empresas, que tienen sucursales a nivel nacional o simplemente tienen plantas de trabajo, que se encuentran alejados de la sede principal que necesitan de monitoreo y control. Ejemplos de ellas pueden ser las generadoras de electricidad, las centrales hidroeléctricas, las cuales se encuentran en zonas donde la geografía es por lo general agreste. Es así que el modem software que se desarrolló sería útil para el envío, por ejemplo, la intensidad de corriente eléctrica producida o de alguna alerta que se podría dar en una planta de energía eléctrica.
• Posicionamiento y localización
Existen personas con espíritu aventurero que se van a lugares desconocidos. Un ejemplo de ellos son las personas que practican “off road”, que necesitan comunicarse entre ellos y enviar sus coordenadas de posicionamiento para así no desviarse de su trayecto. El sistema que se desarrolló cuenta con la característica de ser portable y su funcionamiento sería ideal para la transmisión y recepción de coordenadas en la banda ciudadana.
ANEXOS
INDICE
Pag.
ANEXO 1: ASPECTOS INTRODUCTORIOS 33
1.1 Resumen 33
1.2 Estado del arte del Modem Software 33
1.3 Ventajas y Desventajas 36
ANEXO 2: MARCO TEÓRICO 38
2.1 Sistema de comunicaciones (analógicas- digitales) 38
2.1.1 Modulación analógica 39
2.1.1.1. Modulación Angular 40
2.1.2 Modulación digital 41
2.2 Modulación QPSK 43
2.3 Demodulación QPSK 46
2.4 Filtro correlador 50
2.5 Codificación de canal 51
2.5.1 Codificador convolucional 52
2.5.2 Decodificación – Algoritmo de Viterbi 57
2.6 Entrelazador 58
2.7 Tasa de error (BER) - Probabilidad de error de bit ( ) 59
2.8 Tasa binaría ( ) 62
2.9 Sincronización 62
ANEXO 3: FRECUENCIAS DE TRABAJO DEL MÓDULO DE
COMUNICACIONES DEL CENTRO DE OPERACIONES DE
EMERGENCIA NACIONAL (COEN) 66
ANEXO 4: RECOMENDACIONES 68
ANEXO 5: DIAGRAMAS DE FLUJO 69
5.1 Diagramas de flujo del software desarrollado en C++. 69
5.1.1 Demodulador 69
5.1.2 Modulador 71
5.1.3 Entrelazador 72
5.1.4 Desentrelazador 73
5.1.5 Codificador 74
5.1.6 Decodificador 76
5.2 Diagramas de flujo del software desarrollado en C# 78
5.2.1 Transmisor 81
5.2.2 Receptor 83
ANEXO 6: Manual de Usuario 86
Glosario 99
Bibliografía 101
33
ANEXO 1: ASPECTOS INTRODUCTORIOS
1.1 Resumen
El presente trabajo de investigación consistió en implementar un software de radio modem
que en adelante se denominará modem software para la transmisión de datos sobre canales
analógicos en la banda de voz aplicado en el Centro de Operaciones de Emergencia
Nacional (COEN) del Instituto Nacional de Defensa Civil (INDECI). La iniciativa para
desarrollar este trabajo de investigación nació con la necesidad del COEN de contar con
un medio de transmisión de datos alternativo al Internet, teniendo en cuenta la
disponibilidad de equipos de radio analógicos en la banda VHF, que pueden ser
aprovechados para dicho objetivo a bajo costo.
Al término del trabajo de investigación, se logró desarrollar un sistema de comunicaciones
mediante el cual se puede transferir datos a través de equipos de radio analógicos en la
banda VHF y que el COEN podrá hacer uso del mismo, como una alternativa a la
comunicación básica entre sus distintas sedes.
1.2 Estado del arte del Modem Software
El desarrollo del Packet Radio ha evolucionado en el tiempo, para llegar a los estándares
que se tiene en la actualidad, lo cual se resume a continuación.
Historia del Packet Radio
• En 1945 la Comisión Federal de Comunicaciones de EE. UU (Federal
Communications Commission - FCC) licencia la banda para el radioaficionado.
• En 1970 comienza la era del Packet Radio y el uso del TCP / IP para redes
inalámbricas de radioaficionados. DARPA, se convertía en el pionero fundamental
en la convocatoria de una red mundial que más tarde se convirtió en la Internet.
• En 1981 la FCC autorizó las frecuencias de espectro ensanchado a aficionados.
• En 1985 se acepta usar la banda ISM; antes de los 80’s era inaceptable para las
radiocomunicaciones porque el equipo producía interferencia.
• En 1989 se describió por primera vez un enlace de datos vía microondas a bajo
costo, para construir una red de radio aficionados con capacidad de soportar una
variedad de aplicaciones, permitiendo a los aficionados compartir recursos.
• En 1990 Phil Karn diseña un nuevo método para acceder al canal. Tal desarrollo,
más adelante, fue adoptado por el IEEE 802.11.
34
• A principios de 1997 la organización TAPR comenzó a desarrollar una
transmisión a 128 Kbps en una frecuencia de 900 MHz con 1 vatio de potencia, lo
cual sugería que ese sería el futuro para el Packet Radio (aficionado).
• A mediados de 2001, se formó la ARRL HSMM y se comenzó la promoción
del uso generalizado de los modos del espectro ensanchado, tales como IEEE
802.11, en las frecuencias de radio aficionados.
• 2004, los defensores del open source descubrieron que la serie de routers
Linksys WRT54 están basados en los componentes de Linux.
Es así que el desarrollo del Packet Radio ha ido avanzando paulatinamente. Sin embargo, a
mediados de los años 90, aproximadamente, el crecimiento se detuvo considerablemente
debido a la creciente fiebre del Internet; pero las nuevas aplicaciones de software como el Narrow Band Emergency Messaging Software (NBEMS) han mejorado enormemente la función de transmisión y recepción dentro de este campo. Esto debido al trabajo de grandes grupos de radioaficionados. A continuación, se detalla los principales software y
estándares de comunicación para el Packet Radio.
NBEMS
NBEMS1, son las siglas en inglés de Narrow Band Emergency Messaging Software. El
NBEMS, es un conjunto de programas (software), para el envío de mensajes de
emergencias en banda angosta. Este software, permite enviar y recibir datos de manera
confiable, usando una computadora y una radio analógica y sin ningún requerimiento de
una estructura digital dedicada como un Terminal Network Controller (TNC). El envío de
datos es posible en VHF, UHF y en HF. Este software consta de cuatro programas, los
cuales son2:
FLdigi: Éste es un programa creado para el radio aficionado y que utiliza al
computador personal como el modulador y demodulador (modem). Este programa,
emplea la tarjeta de sonido para generar y decodificar señal digital. Así mismo, está
preparado para trabajar en diferentes modos digitales como Domino EX, MFSK16, PSK31 y RTTY.
Flarq: Del inglés Fast Ligth Automatic Repeat reQuest. Es una aplicación
de transferencia de archivos que está basado en la especificación de “ARQ”. Flarq
está preparado para enviar tramas de datos con protocolo ARQ. El envío de datos
se puede hacer mediante FLdigi o MultiPsk por plataforma Windows, o mediante
1 Cfr. ARRL 2010
2 Cfr. Freese 2010
35
FLdgi por plataforma Linux. Así mismo, este programa se puede utilizar con diferentes
módems sea BPSK, QPSK, MFSK, DOMINOEX 11, THOR Y MT63.
Flwrap: Este programa permite el envío de los datos con una seguridad alta, tanto
de mensajes de texto o imágenes. Se encapsulan los archivos y se les asigna una cabecera
de identificación, la cual consta de 16 bits de chequeo, que permiten la verificación de la
integridad del archivo. Este software puede ser utilizado con cualquier modem digital.
Flmsg: Es un editor de formatos simples de gestión para radio aficionados. Este
software maneja formatos estándar para el envío de mensajes, los cuales son: ICS-203,
ICS-205, ICS-205A, ICS-206, etc.
D-STAR
El D-STAR, es un estándar digital para la transmisión por radio que nació en 2001, como un trabajo de investigación financiado por el Ministerio de Correos y Telecomunicaciones de Japón, para investigar tecnologías digitales para radioaficionados. La comisión de desarrollo fue integrada por representantes de los fabricantes japoneses de radioaficionado incluyendo a ICOM y a la Liga de Japón de Radioaficionado (JARL).
El sistema D-STAR, lleva voz digitalizada y datos en las bandas VHF y UHF (en 1,2 GHz). El envío de la información se realiza en dos diferentes modos. El primer modo es el D-STAR DV para el envío de voz digitalizada. El segundo modo es el D-STAR DD para el envío de datos3.
TETRA
TETRA del inglés Terrestrial Trunked Radio, ha sido diseñado específicamente para el uso de las agencias gubernamentales, servicios de emergencia, transporte y militar (principalmente)4. TETRA es un estándar que fue definido por la European
Telecommunications Standards Institute (ETSI), cuya primera versión fue publicada en 1995. ETSI fue el ente que publicó la norma para GSM, que es el estándar más popular para los teléfonos móviles en el mundo. TETRA, trabaja de una manera muy similar a la GSM, y sus principales diferencias radican en que los teléfonos tienen un alcance mayor y
3 Cfr. Wikimedia 2010A
4 Cfr. ITU 2010
36
hay más ancho de banda asignado para los datos. TETRA es aprobado por el Comité Europeo de Comunicaciones de Radio (ERC) y es de uso obligatorio en Europa.
APCO25 (P25)
A diferencia del D-STAR, que es un estándar digital diseñado por y para radioaficionados, APCO-25, fue desarrollado específicamente para comunicaciones estatales, locales y federales de seguridad pública de EE. UU5. APCO, es la Asociación de Funcionarios de Seguridad Pública de Comunicaciones, que originalmente fue una asociación de técnicos de comunicación policial y que ahora es una organización privada. El propósito general del estándar APCO-25, es hacer posible que los gobiernos cambien de comunicación analógica a digital con la menor dificultad posible. Esto significa colocar una gran cantidad de énfasis en la compatibilidad con versiones anteriores y en la interoperabilidad. En el mundo de la seguridad pública, la interoperabilidad es un punto clave. La experiencia de comunicaciones caóticas en la ciudad de Nueva York, durante el ataque terrorista del 11 de septiembre del 2001 y en el 2005 durante el huracán Katrina, demostró la importancia crítica de la interoperabilidad6. Durante los desastres, hubo numerosos casos, en que la comunicación por radio entre los distintos grupos era imposible, porque cada grupo estaba usando equipos mutuamente incompatibles.
1.3 Ventajas y desventajas
El presente trabajo presenta diversas ventajas y desventajas las cuales se enumeran a
continuación:
Ventajas:
1. Bajo costo.
2. Confiabilidad para datos de baja velocidad.
3. Acorde a la necesidad del país, porque es de bajo costo de adquisición ya que
utiliza la infraestructura existente.
4. Gran versatilidad, permite variedad de aplicaciones.
5 Cfr. APCO 2010
6 Cfr. NBEMS 2010
37
5. Portabilidad, debido a su adaptación en unidades móviles.
6. Alta privacidad, debido a que la información enviada sólo puede ser recuperada
por el mismo sistema desarrollado.
7. Simple de usar por la similitud a la interfaz visual de un software de mensajería
instantánea.
8. Independencia de un Terminal Network Controller (TNC).
9. Simplicidad para el envío de paquetes.
10. Uso generalizado para cualquier transceptor.
Desventajas:
1. Baja tasa de transferencia debido al reducido ancho de banda del canal
telefónico.
2. No es interoperable, porque no es compatible con otros módems software.
3. No es confiable para el intercambio de archivos, porque el sistema utiliza la
arquitectura Forward Error Correction (FEC), ya que ésta asegura sólo la
recuperación de la pérdida de algunos bits más no de los paquetes.
38
ANEXO 2: MARCO TEÓRICO
2.1 Sistema de comunicaciones (analógicas- digitales)
Un sistema de comunicaciones, es un conjunto de elementos mediante los cuales se logra
transportar información de un lugar a otro. En un sistema, puede haber gran cantidad de
elementos que forman parte del mismo; sin embargo, se tiene tres elementos
fundamentales, los cuales son:
Transmisor: Procesa la señal de entrada, moldeándola de acuerdo a las características del
canal de transmisión para que sea posible enviar la información.
Canal de transmisión: Es el medio que actúa como un puente, entre la fuente de la
información y el destino.
Receptor: Es el encargado de recibir la señal del canal de transmisión, para realizar
procesos inversos al del transmisor con el fin de recuperar la información enviada.
En seguida, en la figura 2.1 se muestra los 3 elementos esenciales de todo sistema de
comunicaciones.
Figura (2.1) Elementos de un sistema de comunicaciones
Estos elementos, son la parte principal tanto de un sistema de comunicación digital como
de un sistema de comunicación analógico. En términos simples, un sistema de
comunicación digital, es aquel sistema que pasa información de una fuente digital al canal.
Un sistema de comunicación analógica, es aquel que pasa información de una fuente
analógica al canal7. Asimismo, no cabe duda que el sistema de comunicación digital
presenta mayores ventajas que un sistema de comunicación analógico, tales como:
Se pueden usar circuitos relativamente baratos.
Se puede mezclar y transmitir datos de voz, video y fuentes de datos mediante un
mismo sistema.
En un sistema de larga distancia, no se acumula el ruido entre una repetidora y otra.
7 Cfr. Couch 1998: 5
39
Los errores en los datos pueden ser menores, incluso cuando hay gran cantidad de
ruido.
Con frecuencia, se pueden corregir los errores mediante la codificación que se
realice.
Las desventajas de la comunicación digital son:
En general requiere más ancho de banda que los sistemas analógicos.
Algunos requieren sincronización, como los sistemas coherentes.
Sin embargo, estos sistemas comparten problemas inherentes a todo sistema de
comunicaciones los cuales limitan su funcionalidad. Estas limitantes son dos en esencia,
los problemas tecnológicos y las de naturaleza física. Dentro del problema tecnológico
tenemos, principalmente, la disponibilidad del hardware, factores económicos y las
regulaciones de cada Estado. Estos son problemas que teóricamente pueden ser resueltos.
Por otro lado, se tienen limitantes fundamentales, basado en las leyes de la física, las cuales
determinan si es factible una comunicación, tales como el ancho de banda y el ruido8.
Tomando estas dos limitantes fundamentales, en 1948 el renombrado científico Claude E.
Shannon llegó a determinar la capacidad del canal de transmisión gaussiano ideal. La
ecuación 2.1 muestra lo mencionado.
(2.1)
Donde:
C: capacidad del canal (bps).
B: Ancho de Banda (Hz).
S/N: Relación señal – ruido.
Asimismo, en todo sistema de comunicación, en la parte de transmisión existe una parte a
la cual se le considera como el centro de la transmisión, la modulación. Ésta puede ser
analógica o digital.
2.1.1 Modulación analógica
La modulación analógica, se caracteriza por la variación de algún parámetro de una
portadora sinusoidal de alta frecuencia en función de la señal mensaje. La frecuencia de la
portadora debe ser alta, ya que gracias a ésta se hace posible la transmisión del mensaje.
Existen distintos tipos de modulación analógica, pero las principales son la modulación
AM (Amplitude Modulation), FM (Frecuency Modulation), PM (Phase Modulation), etc.
Asimismo, hay variantes en relación a éstas que no son tema a tratar en este trabajo de
investigación. A continuación, en la figura 2.2 se muestra el diagrama de un sistema de
comunicación analógica.
8 Cfr. Carlson 1987: 4-5
40
Figura (2.2) Sistema de comunicación analógica
2.1.1.1 Modulación Angular
La modulación angular, es una modulación que engloba a la modulación por fase (PM) y a
la modulación por frecuencia (FM)9. En el presente trabajo, dejaremos de lado la
modulación por fase y daremos detalles puntuales sobre la modulación por frecuencia. Sin
embargo, cabe aclarar que estos dos tipos de modulación son muy parecidos. Hay relación
entre ellas y mediante esta relación se puede convertir una modulación por fase en una
modulación por frecuencia.
La modulación por frecuencia, se caracteriza por variar la frecuencia instantánea de
manera proporcional al mensaje. Esto se puede apreciar en la ecuación 2.2.
(2.2)
Donde:
: Frecuencia instantánea (Hz).
: Frecuencia de portadora (Hz).
: Constante de desviación de frecuencia (rad/V-s).
: Mensaje (V).
Lo anterior se puede apreciar gráficamente. La figura 2.3 muestra el mensaje, la frecuencia
instantánea y la señal modulada en frecuencia10
.
9 Cfr. Couch 1998: 311
10 Cfr. Couch 1998: 314
41
Figura (2.3) Modulación en frecuencia (FM)
De la gráfica anterior, se puede apreciar que la frecuencia instantánea tiene un máximo y
un mínimo, está determinado por la desviación de frecuencia, . A su vez, está
limitado por el voltaje pico del mensaje. Esta relación se puede apreciar de forma
matemática en la ecuación 2.3.
(2.3)
Donde:
: Desviación de la frecuencia (Hz).
: Constante de desviación de frecuencia (rad/V-s).
: Voltaje pico del mensaje (V).
Esta relación, implica que si la amplitud de la señal modulante (mensaje) se incrementa,
también y por ende, el ancho de banda. Sin embargo, la potencia promedio de la señal
modulada será la misma. Éstas son características inherentes a la modulación angular.
2.1.2 Modulación digital
En la modulación digital, la señal analógica es modulada por un flujo binario (bits).
Dentro de la modulación digital se puede decir que hay 2 categorías principales. Una de
ellas, es la que mantiene la amplitud de la portadora constante y la información viaja en la
frecuencia o fase. La otra, es la que lleva la información en la amplitud. Dependiendo
donde se lleve la información se le designa el nombre correspondiente. Es así que, cuando
la información viaja en la frecuencia la modulación se conoce con el nombre de Frecuency
Shift Keying, más conocido como modulación FSK; si la información se transmite en la
42
fase el nombre de este tipo de modulación es Phase Shift Keying, más conocida como
modulación PSK y por último si la información viaja en la amplitud se le denomina
Amplitude Shift Keying (ASK). Las anteriores son las principales, sin embargo, de la
variación de estos nacen otros tipos de modulación como es la PSK M-aria, FSK M-aria,
PSK M-aria, QAM, DMPSK, entre otros. Todas las modulaciones digitales, pueden ser
utilizadas en un sistema de comunicaciones digitales. Particularmente, para este trabajo de
investigación se utilizó la modulación QPSK, en la sección 2.2 se da las razones de su
elección. En la figura (2.4) se muestra el esquema de la modulación de un sistema de
comunicaciones digitales.
Figura (2.4) Sistema de modulación digital
Como se muestra en la figura anterior, un sistema de modulación digital está,
principalmente, compuesto por cuatro bloques. La fuente, es donde se origina o recopila la
información a transmitir bien puede ser video, texto, voz, etc. El segundo bloque, es el
codificador de fuente, la cual tiene como función transformar la información que se tiene
de la fuente en un formato adecuado (formato binario) para ser procesado. Algunos de los
más usados codificadores de fuente son el MPG2, codec PCH, vocoders, Huffman, etc. El
tercer bloque, es el codificador de canal, el cual cumple con la función de proteger la
información, para así tener una menor cantidad de bits errados. En el último bloque, se
encuentra el modulador digital, el cual tiene como misión adecuar la señal (información)
para su adecuada transmisión por el canal. En este bloque se puede utilizar distintos tipos
de modulación ya sea ASK, PSK, FSK, QPSK, DPSK, etc.
Para un mejor entendimiento de los distintos tipos de modulación a continuación en la
figura (2.5) se muestra el diagrama de bloques general del modulador digital11
.
11
Cfr. Valdez 2009
43
Figura (2.5) Diagrama de bloques general del modulador digital
De la gráfica anterior se define la siguiente ecuación:
(2.4)
Donde:
: Amplitud instantánea en la salida del modulador (voltios).
: Frecuencia angular (rads/seg).
: Fase de referencia.
2.2 Modulación QPSK
La elección de utilizar la modulación PSK y no la modulación ASK, ni la modulación
FSK, fue que ésta es más robusta frente al ruido y consume un menor ancho de banda que
FSK. Luego de haber seleccionado la modulación en fase se escogió la modulación QPSK.
Esto debido a que ésta no sufre una degradación del Bit Error Rate (BER), cuando la
eficiencia del ancho de banda se incrementa12
al pasar de BPSK a QPSK. Asimismo,
dentro de la modulación QPSK, hay variantes como DQPSK, OQPSK y QPSK.
12
Cfr. Xiong 2000: 154
44
De las variantes mencionadas se escogió la modulación QPSK, debido a que toma las
ventajas de la modulación DQPSK y de la OQPSK. Es decir, este tipo de modulación
elimina la ambigüedad de fase y disminuye la dispersión del espectro cuando se trabaja en
la zona no lineal de un amplificador de potencia. Asimismo, tiene otra ventaja particular ya
que puede utilizarse un demodulador no coherente. Y es por estas ventajas que esta
modulación ha sido adoptada como un estándar en el sistema digital de celulares en Japón
y Estados Unidos13
.
Asimismo, cabe mencionar que este tipo de modulación es muy parecida a la modulación
DEQPSK. La diferencia es que ésta presenta una regla de codificación diferente. A
continuación se muestra la regla de codificación de la DEQPSK y de la QPSK.
Regla de codificación DEQPSK:
(2.5)
(2.6)
Regla de codificación QPSK:
(2.7)
(2.8)
Donde:
: Señal codificada para el canal en fase.
: Señal codificada para el canal en cuadratura.
Claramente de las ecuaciones 2.5, 2.6, 2.7 y 2.8, se pueden apreciar las diferencias en las
reglas de codificación. Asimismo, la codificación en la modulación QPSK es más
sencilla, lo cual permite tener un menor tiempo de procesamiento en el modem software.
A continuación, en la figura 2.6 se puede apreciar el esquema del modulador QPSK.
13
Cfr. Xiong 2000: 160 - 170
45
Figura (2.6) Modulador
Del esquema de modulación anterior, se determinará matemáticamente la señal modulada.
Por practicidad se obviarán los bloques del codificador diferencial y la del convertidor
serie a paralelo del diagrama de bloques del modulador , la cual se puede apreciar
en la figura 2.6. La señal modulada será denotada por .
(2.9)
(2.10)
(2.11)
(2.12)
En seguida en la figura 2.7 se muestra la señal modulada para los datos binarios “1 0 0 1 1
0 0”
46
Figura (2.7) Señal modulada -
2.3 Demodulación QPSK
Al utilizar la modulación QPSK, la información viaja en una diferencia de fase . Esto
permite utilizar un demodulador no coherente. Sin embargo, una modulación coherente es
necesaria si es que se quiere una mayor eficiencia en cuanto a la potencia de transmisión.
Existen cuatro formas de recuperar la información cuando se utiliza la modulación
QPSK, éstas son:
1) Detección diferencial en banda base.
2) Detección diferencial en banda IF (Intermediate Frequency).
3) Detección por discriminador FM.
4) Detección coherente.
Las primeras tres formas de demodulación son no coherentes. Asimismo, la calidad de
éstas respecto a una demodulación coherente es de 2 a 3 dB menos14
.
Para el desarrollo de este trabajo de investigación, se utilizó un demodulador no coherente
con detección diferencial en banda IF, ya que ésta es más sencilla y no necesita un 14
Cfr. Xiong 2000: 173
47
oscilador local. La frecuencia intermedia utilizada varía entre 1 kHz y 3 kHz. Enseguida en
la figura 2.8 se puede apreciar el esquema del demodulador utilizado.
Figura (2.8) Demodulador
Lo destacable de este demodulador es que no necesita de un oscilador local. La señal para
la multiplicación en el canal de fase y cuadratura se obtiene de la misma señal recibida. Sin
embargo, antes de entrar al multiplicador en el canal de cuadratura la señal de entrada es
desfasada en . Luego de pasar por el multiplicador la señal es filtrada. Se decidió
utilizar el filtro correlador en vez de un filtro adaptado, ya que el primero es más tolerante
al jitter15
. Más adelante se dará mayor detalle sobre el filtro correlador y las virtudes que
ésta presenta. En seguida de haber sido filtrada la señal se realiza el muestreo, para luego,
con ésta realizar la toma de decisión si es un cero o un uno. Algo que es muy importante
mencionar es la ventaja de utilizar el modulador , ya que simplifica el trabajo del
demodulador. En el sentido que ésta permite que sólo haya un umbral para la detección, lo
cual no sucede al utilizar un modulador DEQPSK. Lo anterior se puede apreciar en la
figura 2.9.
15
Cfr. Valdez 2009
48
Figura (2.9) Cantidad de umbrales DEQPSK y QPSK
Tal como se observa en la figura 2.9a, al utilizar el esquema de modulación DEQPSK, a la
salida del filtro, se tiene dos umbrales para la decisión. Se cuenta con 2 umbrales de
decisión porque hay varios cruces por cero en casi la mitad de la señal a la salida lo que
producen 3 intervalos y es en el intervalo central en dónde se darán indeterminaciones.
Esto se reduce cuando se cambia al esquema de modulación QPSK, que con un cruce por
cero sólo tiene un umbral, figura 2.9b.
De la figura 2.8 es la señal de recepción:
(2.13)
Donde:
: Frecuencia de la portadora.
: Fase instantánea de la señal.
: Fase de referencia.
Considerando el retardo de un periodo, la señal multiplicadora será:
(2.14)
Por lo que a la salida del multiplicador se tendría :
(2.15)
(2.16)
49
Luego esta señal pasa a ser filtrada obteniendo a la salida
(2.17)
La señal filtrada ahora pasa por el muestreador y una vez obtenida la muestra se procede a
la toma de decisión, de la siguiente manera:
Si:
v (2.18)
v (2.19)
Una vez tomada la decisión, se pasa de paralelo a serie y finalmente se obtiene la
información recuperada.
Para ver el funcionamiento del demodulador se toma la señal mostrada en la figura 2.7
como la señal . Al pasar esta señal por todas las etapas se llega recuperar la
información enviada. En la figura 2.10 se aprecia los bits recuperados.
Figura (2.10) Bits recuperados
Tal como se puede apreciar en la figura 2.10, se llega a recuperar los bits enviados. Más
adelante en la sección del filtro correlador se mostrará cómo es que al pasar la señal por
ésta, sólo se tiene un umbral de detección por lo cual facilita el trabajo de toma de
decisión.
50
2.4 Filtro correlador
El filtro correlador es considerado un filtro óptimo. El filtro óptimo, es un filtro de gran
importancia ya que éste tiene un comportamiento que maximiza la señal y minimiza el
ruido en el instante de muestreo. Sin embargo, también, se puede considerar el uso de un
filtro adaptado que tiene la misma funcionalidad. Sin embargo, desde el punto de vista de
la sincronización, el filtro correlador es mejor ya que éste es mucho más tolerante a los
problemas de desincronización. A continuación, la figura 2.11 ilustra la respuesta del filtro
correlador al ingreso de una señal y la respuesta del filtro adaptado al ingreso de la misma
señal.
Figura (2.11) Respuesta del filtro Correlador y Adaptado
De la figura anterior, se puede apreciar que desde el punto de vista de la sincronización el
filtro correlador es más tolerante a retrasos. Esto debido a que a la salida del filtro
correlador, por cada periodo de bit se tiene una tendencia de la señal: creciente (mayor a
cero) o decreciente (menor a cero). En contraparte, a la salida del filtro adaptado se tiene
en un mismo periodo de bit más de una oscilación de valores que cruzan por cero. Lo cual,
implica que la toma de muestra no puede tener un retraso ya que al muestrear la señal se
podría pasar de un valor positivo a uno negativo o de un valor negativo a uno positivo. Sin
embargo, al utilizar el filtro correlador esto no sucede ya que si se produjera una variación
en el instante de muestreo dentro del rango del periodo de bit, no se correrá el riesgo de
pasar de un valor positivo a uno negativo o viceversa.
51
Asimismo, en seguida se muestra las señales que se obtienen a la salida del filtro
correlador. Esto para el caso en que se envía la trama de datos: “1 0 0 1 1 0 0”. La figura
2.12 muestra )(tI x y a )(tI y . La figura 2.10 muestra los datos recuperados.
Figura (2.12) Señales a la salida del Filtro Correlador
Tal como se puede apreciar en la figura 2.12 en ambos casos, fase y cuadratura, sólo se
tiene un umbral de decisión, el cual es el cero. Obviamente, esto facilita mucho a la
decisión si lo que se envió es un cero o es un uno, más aún cuando la presencia del ruido es
considerable. Aún con esta característica de sólo tener un umbral, es necesario de un
codificador de canal para obtener una mejor calidad de sistema.
2.5 Codificación de Canal
Para el buen desempeño de este trabajo de investigación, la codificación de canal aporta
una mejora considerable en cuanto a la calidad del sistema. Esto debido a que además de
proteger la señal, ésta llega a corregir los posibles errores que el canal pueda causar a la
señal transmitida. Existen dos técnicas de codificación de canal, estos son la solicitud de
repetición automática y la corrección de errores hacia adelante. Estos tipos de codificación
son más conocidas por sus iniciales en inglés Automatic ReQuest (ARQ) y Forward Error
Correction (FEC), respectivamente.
La diferencia entre estos codificadores es que el FEC, corrige los errores sin necesitar un
reenvío de la información, mientras que el ARQ si lo requiere. Sin embargo, éstas dos
cumplen la misma función; permitir que el receptor a la salida entregue los bits enviados.
Para lograr ello, ambos codificadores añaden bits de redundancia. Estos bits de
52
redundancia son los que protegen a los bits reales16
. En seguida se nombran los principales
tipos de codificación:
Convolucionales.
La codificación por bloques:
Hamming.
Reed Solomon.
BCH.
Golay.
Cíclico.
Para el desarrollo de este trabajo se decidió utilizar un tipo de codificador FEC
convolucional en la siguiente sección se ahondará en esta cuestión.
2.5.1 Codificador convolucional
Para esta aplicación en particular se optó por elegir una codificación de canal del tipo
FEC. Esto debido a que si se utilizaría una codificación del tipo ARQ, la tasa efectiva de
transferencia de datos disminuiría considerablemente ya que el tipo de comunicación que
se cuenta es del tipo halfdúplex17
. Es por ello que se decidió utilizar la codificación FEC
convolucional como el codificador de canal de este trabajo de investigación.
Algo particular de la codificación convolucional es que los datos de salida, los datos
codificados, no sólo dependen del bit entrante en ese momento, sino también de los bits
que le precedieron. Lo cual lleva a utilizar necesariamente memorias para el almacenaje de
los bits precedentes para su uso luego. Todos los codificadores convolucionales tienen tres
parámetros que identifican a primera instancia el sub tipo de codificación convolucional,
estos son:
: Número de bits a la salida del codificador.
: Número de bits entrantes al codificador.
: Número unidades de memorias del registro de desplazamiento.
16
Cfr. Carlson 1986: 473 - 480
17 Cfr. Couch 1998: 19
53
Por lo tanto, un codificador se identifica de la siguiente manera: “codificador
convolucional ( )”. A su vez, cada codificador puede pertenecer al grupo de
codificadores sistemáticos o no sistemáticos. La característica del codificador determinará
si es una o es otra. A continuación, la figura 2.13 muestra el diagrama general de un
codificador convolucional.
Figura (2.13) Diagrama de bloques general de la codificación convolucional
De la figura 2.13, de la cantidad de registros que se tenga se obtendrá la cantidad de
estados. Por ello, se define como la cantidad de estados, la cual cumple la siguiente
relación:
(2.20)
A su vez, se define como la razón del código y presenta la siguiente relación:
(2.21)
Por otro lado, una vez seleccionado el tipo de codificación, ésta se puede representar de
tres formas distintas gráficamente: el diagrama del árbol, el diagrama de estados y el
diagrama de Trellis (enrejado).
54
Dicho lo anterior, el codificador que se utilizó para el desarrollo de este trabajo de
investigación es el convolucional (2, 1, 2). Se decidió utilizar este tipo de codificador por
una razón principal, por el menor tiempo de procesamiento que éste implica. Asimismo,
este codificador además de ser rápido computacionalmente permite la corrección de hasta 2
bits errados18
.
En seguida, la figura 2.14 muestra el diagrama de bloques del codificador convolucional
(2, 1, 2).
Figura (2.14) Codificador convolucional (2, 1, 2)
De la figura anterior, se puede comprobar que los bits de salida y no sólo dependen
del bit entrante sino, también, de los bits que le precedieron. Estos, a su vez son formados
por la suma en módulo dos de los valores que tienen los registros. Sin embargo, esta suma
se realiza con una determinada lógica que uno puede elegir. Para este caso, la lógica que se
escogió es la siguiente:
(2.22)
(2.23)
Al margen de las sumas en base dos que se realiza para la determinación de los bits de
salida, este codificador presenta una razón de código = 0,5 y la cantidad de estados
sería =4 de acuerdo a las ecuación 2.21 y 2.20, respectivamente.
18
Cfr. Benedetto y Biglieri 1999: 532 - 544
55
Ya sabiendo las características del codificador seleccionado se procederá a representarlo de
las tres maneras gráficas que anteriormente se mencionó. La figura 2.15 muestra el
diagrama del árbol, la figura 2.16 muestra el diagrama de Trellis y la figura 2.17 muestra el
diagrama de estados para el codificador seleccionado19
.
Figura (2.15) Diagrama de Trellis
19
Cfr. Valdez 2009
56
Figura (2.16) Diagrama del árbol
Figura (2.17) Diagrama de estados
57
2.5.2 Decodificación – Algoritmo de Viterbi
Una vez hecha la codificación de canal, luego de viajar por el canal y finalmente ser
recibida en el receptor, la información debe decodificarse. Sin embargo, existen tres
métodos para recuperarla: decodificación por retroalimentación, decodificación secuencial
y la decodificación por máxima certidumbre.
De estos tres métodos, se decidió utilizar la decodificación por máxima certidumbre. Se
escogió ésta porque utiliza la máxima probabilidad para la decodificación de los datos.
Esta máxima probabilidad se logra gracias al algoritmo de Viterbi. Al utilizar este
algoritmo la calidad es alta, sin embargo, se requiere mayor procesamiento computacional.
Es así que este algoritmo tiene que guardar posibles secuencias de decodificación. Por
ello, al aumentar el valor de la complejidad en la decodificación se incrementa
exponencialmente. Lo anterior también fue una de las razones por la cual se escogió un
codificador del canal como el que se utiliza en este trabajo de investigación, con un valor
.
El algoritmo de Viterbi compara la secuencia recibida con las posibles secuencias en el diagrama de Trellis; siguiendo así sólo con las rutas que menores errores presenten. Por último, escoge el que presenta menor acumulación de errores y es de esa secuencia que se saca los bits recuperados. A continuación, la figura 2.18 muestra el funcionamiento del algoritmo de Viterbi20.
20
Cfr. Valdez 2009
58
Figura (2.18) Ilustración del algoritmo Viterbi
2.6 Entrelazador
Existen distintos tipos de entrelazador, por ejemplo, el entrelazador por bloque,
entrelazador convolucional y el entrelazador helicoidal. Sin embargo, todos estos cumplen
una misma función la cual es combatir la ráfaga de errores (burst error). Esto se logra de
una manera sencilla, reordenando los datos secuenciales que van al modulador de forma
aleatoria; con lo cual se consigue la dispersión de estos en el tiempo, de tal forma que se
llega a mitigar los errores en bits consecutivos.
Para el desarrollo de este trabajo de investigación se optó por el entrelazador por bloque. El
entrelazador por bloque utiliza una matriz rectangular de M filas por N columnas, tal
como muestra en la siguiente matriz:
(2.24)
El procedimiento para realizar el entrelazado es el siguiente:
59
Recordemos que los datos (bits) entran al modulador de forma secuencial, por lo tanto
éstos se fraccionan en tamaños de N bits hasta completar la matriz fila por fila. Una vez
completada la matriz se retornan éstos a su forma original, secuencial. Sin embargo, la
manera de retornarlos a su forma secuencial es extrayendo las columnas (de la matriz) una
por una y colocándolas una tras otra. Es de notar que realizando el procedimiento inverso
se llega a desentrelazar los datos enviados.
En el trabajo de investigación se utiliza una matriz cuadrada de M x M, donde M=14, por
lo que el grado del entrelazador es 14. Con ello se logra soportar un tiempo de ráfaga de
error menor igual a 16 ms. Teniendo en consideración lo siguiente: la frecuencia de
muestreo fs = 48 000 Hz, la frecuencia de portadora fc = 2 000 Hz y el número de ciclos
por símbolo cs = 4. Cabe mencionar, que los valores prácticos de la frecuencia de
muestreo (fs), frecuencia portadora (fc) y número de ciclos por símbolo (cs) están entre los
41 000 Hz – 48 000 Hz, 900 Hz - 3 000 Hz y 2 - 6, respectivamente.
2.7 Tasa de error (BER) - Probabilidad de error de bit ( )
El BER es la probabilidad estimada de que cualquier bit enviado sea recibido con error. La
tasa de error es la cantidad de bits errados que se tiene en el receptor de una trama de bits
transmitidos. Esto expresado matemáticamente es:
(2.25)
Donde:
: Numero de bits errados.
: Numero de bits transmitidos.
Habiendo definido la tasa de error, ahora, es posible dar un alcance sobre la probabilidad
de error de bit ( ). La probabilidad de error de bit se aproxima a la tasa de error de bit
(BER) para secuencias muy largas, lo cual expresado matemáticamente es:
(2.26)
La probabilidad de error de bit o simplemente la probabilidad de error en un sistema de
comunicación depende, principalmente, del tipo de codificación de canal, del método de
modulación y de demodulación que se utiliza.
60
Para este trabajo de investigación se utiliza la modulación QPSK y una demodulación no
coherente. La probabilidad de error para este esquema se puede aproximar con la ecuación
2.2721
.
(2.27)
Donde:
Q (.): Es la función Q de Marcum.
: Energía de bit.
: Energía del ruido.
La función Q de Marcum cumple la siguiente relación:
(2.28)
En seguida en la figura 2.19 se muestra en forma gráfica la probabilidad de error del
esquema de modulación QPSK22
.
21
Cfr. Xiong 2000: 164
22 Cfr. Xiong 2000: 161
61
Figura (2.19) Probabilidad de error de QPSK
De la figura anterior, cabe aclarar, que la relación de la energía de bit a ruido está dada en
decibeles (dB). Asimismo, se puede apreciar que con el esquema de modulación QPSK,
dependiendo que tipo de demodulación se use, sea este coherente o no coherente se tendrá
diferente probabilidad de error. Es así que en la figura 2.19 se ve que al utilizar un
demodulador coherente ésta tiene la misma probabilidad de error que al utilizar un
esquema con modulación DEBPSK o una modulación DEQPSK, utilizando un
demodulador coherente, en ambos casos.
En este trabajo de investigación se utiliza una demodulación no coherente. Por ello, para
obtener la misma probabilidad de error que al utilizar una demodulación coherente se
necesita incrementar el SNR entre 2 a 3 dB, aproximadamente. Sin embargo, al utilizar la
demodulación no coherente se obtiene la misma probabilidad de error que al utilizar el
óptimo demodulador DQPSK.
62
2.8 Tasa binaría ( )
La tasa binaria indica la cantidad de bits que se transfiere en un determinado tiempo. Por lo
general, la tasa de bits se da en bits por segundo (bps). La tasa binaria se obtiene por la
siguiente ecuación:
(2.29)
Donde:
M: Número de puntos en la constelación.
: Periodo de símbolo (s).
2.9 Sincronización
La sincronización utilizada en este trabajo de investigación fue creado específicamente
para este trabajo de investigación y es denominada Sincronización por Tiempos Muertos
(STM). Este sincronizador es versátil y puede ser usado en cualquier tipo de comunicación
en la que se envíe información en forma de paquetes. Sin embargo, ésta presenta una ligera
inconveniencia: requiere que se deje de transmitir por un determinado tiempo para que
sincronice la señal recibida. De ahí el nombre “Tiempos Muertos”. En seguida
analizaremos la STM a mayor detalle:
Sea la señal transmitida, la cual se muestra en la figura 2.20:
Figura (2.20) Señal Transmitida
63
De la figura anterior se define las siguientes variables:
: Tiempo de procesamiento computacional del transmisor.
: Tiempo muerto en el transmisor (silencio).
: Tiempo total en el transmisor.
Asimismo, se desprende la ecuación 2.30
(2.30)
El desarrollo del modem software, tanto para la transmisión como para la recepción, ha
sido desarrollado con 2 lenguajes de programación, C++ y C Sharp. Es por ello que el
tiempo de procesamiento computacional es la suma de los tiempos computacionales
generados por los códigos hechos en C++ y C Sharp. Por tal razón, se desprende la
ecuación 2.31 y 2.32.
(2.31)
Donde:
: Tiempo de procesamiento computacional del transmisor en C ++.
: Tiempo de procesamiento computacional del transmisor en C #.
Y por último se define la variable “ ”: Tiempo de propagación de la señal, la cual será
utilizada junta a las otras más adelante.
De la misma forma que se definió variables en el transmisor, se procederá a realizarlo en el
receptor. Por ello, la figura 2.21 muestra la señal en el receptor.
64
Figura (2.21) Señal en el receptor
Es así que de la figura 2.21 se definen las siguientes variables:
: Tiempo de procesamiento computacional del receptor.
: Tiempo muerto en el receptor.
: Tiempo total en la recepción.
Con las cuales se da lugar a la ecuación 2.32:
(2.32)
Así también, se define la ecuación 2.33:
(2.33)
65
Habiendo definido las variables necesarias, se procederá a demostrar que con esta técnica
de sincronización se adecúa la recuperación de la señal de tal manera que es factible la
recuperación de datos.
En tal sentido, para que sea factible la demodulación de datos se tiene que cumplir una
premisa en particular. El tiempo de transmisión total más el tiempo de propagación de la
señal tiene que ser menor al tiempo total en la recepción. Esto debido a que si no se
cumpliese lo mencionado sucedería que mientras se está demodulando la información
recibida ya se habría enviado un nuevo paquete, mientras que el receptor todavía no está
liberado para la recepción de otro. Lo anterior conllevaría a la pérdida de la información,
por lo cual con la ecuación 2.34 se define la desigualdad que evita lo mencionado:
(2.34)
Remplazando las ecuaciones 2.30 y 2.32 en la inecuación 2.34 se obtiene lo siguiente:
(2.35)
A su vez se reemplaza las ecuaciones 2.31 y 2.33 en la ecuación anterior, obteniéndose:
(2.36)
Para que se entienda de una manera clara, debe precisarse que los tiempos de
procesamiento en C++ y en C# tanto en el transmisor como en el receptor son constantes,
debido a que las instrucciones ejecutadas son las mismas cada vez que se ejecuta el modem
software. Asimismo, la variable también es una constante con un valor de 0.01 nano
segundos aproximadamente, por lo que se le considera despreciable. Es así que teniendo
los tiempos de procesamientos constantes y siendo el tiempo de propagación una variable
no manejable, es posible manejar sola la variable del tiempo muerto del transmisor. En tal
sentido, el tiempo muerto en la transmisión juega un papel crucial para el cumplimiento de
la desigualdad que se quiere. Por ello, así se tenga tiempos de procesamientos muy largos
en el receptor y muy cortos en la transmisión, se podrá incrementar el tiempo muerto en el
transmisor para que siempre se tenga la desigualdad. Teóricamente se puede incrementar el
tiempo muerto en la transmisión hasta el infinito ya que con esto se estaría asegurando la
desigualdad, por ende la recuperación de la información. Por lo tanto, es totalmente
factible la sincronización y por ende la demodulación de datos.
66
ANEXO 3: FRECUENCIAS DE TRABAJO DEL MÓDULO DE
COMUNICACIONES DEL CENTRO DE OPERACIONES DE EMERGENCIA
NACIONAL (COEN)
El módulo de comunicaciones del COEN, es un servicio interno que tiene a cargo elaborar
informes de las distintas comunicaciones de emergencias recibidas. Este centro cuenta con
equipos de radio para esta labor. Las comunicaciones por radio frecuencia se dan
empleando las frecuencias asignadas por el Ministerio de Transportes y Comunicaciones
(MTC). También, las comunicaciones se dan utilizando el Internet, fax, por medio de
telefonía RTB y satelital23
. Además, se monitorea la prensa escrita y televisiva. La
finalidad es la de redactar informes recogiendo las incidencias, y calculando la magnitud
de alguna situación de emergencia.
El COEN, dada una eventualidad se apoya (en el peor de los casos), por enlaces de radio
para poder contar con el equipo encargado de las operaciones de emergencia. Para ello, se
tiene el área de comunicaciones que posee una red de radio comunicaciones que cuenta con
las once siguientes frecuencias asignadas:
En HF: 7 415 kHz, 7 365 kHz y 3 655 kHz 24
En la ciudad de Lima los enlaces alcanzan hasta la Provincia de Canta y Matucana.
En VHF, se posee una Red de Emergencia en FM25
cuyas frecuencias son:
Canal 1:
RX 142.60 MHz.
RX 143.840 MHz.
Canal 2: 143 y 180 MHz.
Canal 3: 142.920 MHz (Alterno).
Canal 4: 142.840 MHz (Alterno).
También, cuenta con una repetidora que opera en dos canales:
En transmisión 142.260 MHz.
En recepción 143.840 MHz.
23
Cfr. INDECI 2012B
24 Cfr. El Peruano 2007
25 Cfr. INDECI 2012A
67
Este enlace tendría mayor utilidad si el mensaje pudiera ser escrito ya que posibilitaría la
transmisión de datos oficiales haciendo uso de un equipo informático, mejorando la
comunicación de sólo voz.
68
ANEXO 4: RECOMENDACIONES
El trabajo de investigación tiene la potencialidad de ser optimizado en software y
en hardware. En software, se podría desarrollar algoritmos más avanzados teniendo
en consideración técnicas más eficientes que resultaría en un aumento de la tasa de
transferencia de datos. En hardware, la interfaz puede incluir una o varias etapas de
filtrado para reducir las señales espurias y el ruido. Lo cual mejoraría el SNR, y con
ello la calidad del sistema.
La calidad del trabajo de investigación sólo fue puesto a prueba en un sistema de
modulación FM de 2 vías en la banda de 144-146 MHz (banda VHF), se sugiere
para un trabajo posterior realizar las pruebas correspondientes para las bandas HF y
UHF. Cabe aclarar que para realizar las pruebas tanto en HF y UHF se tendrían que
adecuar el hardware y los valores del software desarrollados.
El trabajo de investigación presenta una tasa de transferencia estándar a la mayoría
de módems software desarrollados, 1 000 bits por segundo. Sin embargo, ésta se
puede mejorar incrementando la eficiencia espectral, utilizando esquemas de
modulación más sofisticados como la OFDM, por ejemplo. Esto conllevaría a
incrementar la tasa de transferencia considerablemente.
Para todo trabajo de investigación relacionado a sistemas de comunicaciones, se
recomienda tener claro las limitaciones físicas del sistema de comunicación a
implementar, como por ejemplo el ancho de banda. Para así utilizar el mejor
esquema de modulación que esté más acorde a los requerimientos del trabajo de
investigación.
Para el cálculo del BER se requiere el envío de miles de datos desde un punto a
otro. Para ello se desarrolló un programa que calcula el BER luego de haber
recibido todos los datos enviados de un mismo punto. Es decir que el valor del BER
es hallado después de que toda la transmisión desde un punto termine. Lo cual toma
un tiempo considerablemente grande. Por lo que, se sugiere mejorar el programa
para que la transmisión sea desde los dos puntos de comunicación, simulando un
“ping pong”. Esto implica que la transmisión y recepción sea sincronizada en los 2
puntos de comunicación. Realizando esto se estaría reduciendo el tiempo de cálculo
del valor del BER.
69
ANEXO 5: DIAGRAMAS DE FLUJO
5.1 Diagramas de flujo del software desarrollado en C++.
A continuación las funciones principales en C++.
5.1.1 Demodulador
En la parte inicial la aplicación demodulador se calculan algunas variables con los datos
de entrada e inicializa a otras variables. En el código desarrollado se crean las siguientes
variables:
yI: Vector para la señal en fase.
yQ: Vector para la señal en cuadratura.
yA: Es la señal en fase multiplicada por si misma con un retardo.
yB: Es la señal en cuadratura multiplicada por si misma con un retardo.
yint1: Es el resultado de filtrar señal yA.
yint2: Es el resultado de filtrar yB.
yit: Se obtiene de juntar todos los vectores yint1 de la señal.
Yqt: Se obtiene de juntar todos los vectores yint1 de la señal.
xk: Es una muestra de la señal que pasará a decidirse que correspondería a un valor
discreto.
yk: Es una muestra de la señal que pasará a decidirse que correspondería a un valor
discreto.
El vector "yI" toma muestras de la señal con retardo de un símbolo (menos un número de
posiciones al inicio) y sin las muestras un cuarto de fase del final (menos un número de
muestras de la última posición). El vector "yQ_desf" se crea al quitar muestras para
generar el desfase de un cuarto de fase con "yI" en posición hacia adelante. Las variables
"yA" y "yB" almacenan el resultado de multiplicar cada uno (cuadratura y fase) con un
RET que es un vector de muestras retardado un símbolo. Luego de haber realizado la
multiplicación éstas son filtradas y el resultado guardados en "yit" y "yqt" . Todo esto
ocurre dentro de un bucle para cada símbolo de la señal digital de muestras en
procesamiento. A continuación se ejecuta un bucle para muestrear la señal filtrada, los
70
valores de muestra son guardados en las variables "xk" y "yk". Si la muestra es mayor que
cero entonces el bit recuperado es un uno, caso contrario el valor es un cero. Finalmente
luego de la toma de la decisión, los bits son almacenados en el vector de datos "dtorec" el
cual contiene todos los datos demodulados. El demodulador emplea otros algoritmos de
procesamiento de señal para el audio previo al llenado de los buffers lo cual son las
funciones: “clap”, “callback” y “main”.
Figura (5.1.1) Diagrama de flujo de la demodulación C++
71
5.1.2 Modulador
En la parte inicial el programa consta de 3 grupos de variables: los datos de entrada, los
valores iniciales y los valores calculados de los datos de entrada. En el código desarrollado
se crean las siguientes variables:
uuk: Es un vector de la función seno de longitud de muestras por símbolo a
codificar.
vvk: Es un vector de la función coseno de longitud de muestras por símbolo a
codificar.
Ik: Es el MSB de un par de bits de la data.
Qk: Es el LSB de un par de bits de la data.
u: Resultado MSB de evaluar los bits en la tabla de verdad.
v: Resultado LSB de evaluar los bits en la tabla de verdad.
dto: Es el vector de la data.
ukk: Es el vector formado por los resultantes “u” de las operaciones de verdad.
vkk: Es el vector formado por los resultantes “v” de las operaciones de verdad.
uuk: Es la señal “ukk” multiplicada por la portadora.
vvk: Es la señal “vkk” multiplicada por la portadora.
El modulador trabaja con 2 arreglos, primero se construyen un vector función seno de un
ciclo y un vector función coseno un ciclo que se crean en un bucle con la cantidad de
muestras del ciclo portadora y la frecuencia portadora. Esta función se convierte en "uuk" y
"vvk" que es la señal seno y la señal coseno de la longitud de ciclos que se requieren para
la data que se modulará. A continuación se toman los valores "Ik" y "Qk" que son tomados
por pares de "dto", cada par corresponde a un valor que luego tomará el valor "u" o "v" por
la ecuación de la tabla de verdad de QPSK. Así mismo, "ukk" "vkk" son los vectores
resultantes de estas operaciones. Estas 2 señales se deben multiplicar por las señales
portadora "uuk" y "vvk". Finalmente se suman las 2 señales resultado del producto y se
obtiene la señal modulada.
72
Figura (5.1.2) Diagrama de flujo del modulador C++
5.1.3 Entrelazador
Esta función al inicio recibe los parámetros de cuántos datos ingresan en la cadena de datos
de entrada "dtos" y a su vez cuántas filas y columnas tendrán las matrices temporales
contenedoras de datos. Por lo común se utiliza el mismo número de filas y columnas.
Luego ingresamos los datos a la matriz de entrada desde el primer dato hasta el último dato
en orden y por filas. Luego estos datos son extraídos de la cadena de datos de salida
"dtosout" por columnas de la matriz transpuesta.
73
Figura (5.1.3) Diagrama de flujo del entrelazador
5.1.4 Desentrelazador
Esta función al igual que Entrelazador recibe los parámetros de cuántos datos tiene la
cadena de datos de entrada "dtos" y de las filas y columnas de las matrices temporales pero
ahora el número de filas de entrada es el número de columnas de salida del entrelazador o
lo que es lo mismo la matriz de entrada es la matriz de salida del entrelazador y todo tiene
el mismo procedimiento.
74
Figura (5.1.4) Diagrama de flujo del desentrelazador
5.1.5 Codificador
Este código recibe como único parámetro de entrada los datos a codificar “dto”. Se tiene en
cuenta que el codificador desarrollado es un convolucional (2, 1, 2). Esto quiere decir que
por cada bit entrante el codificador entrega 2 bits, colocando así un bit redundante. Sin
embargo, el añadir un bit redundante no sólo depende del bit entrante sino también del
estado en que la lógica se encuentre. Es por ello, que en el código desarrollado se crean 5
variables:
st: Variable que guarda la información del estado en que se encuentra la lógica.
bitt: Variable puente que sirve para almacenar un solo bit, el bit entrante a
codificar.
B: Matriz que almacena todos los valores de transición de un estado a otro,
considerando la entrada de un bit con valor 0 ó 1.
i: Contador general.
dto_cod: Variable donde se almacena los datos codificados.
Toda la lógica está gobernada por un solo bucle. En éste se recorre los datos a codificar
(“dto”), bit a bit hasta llegar al último. La lógica de codificación siempre inicia desde el
75
primer estado (“st=1”) y dependiendo si el bit entrante es 0 ó 1 le corresponderá un dueto
de bits, los cuales están almacenados en la matriz “B”. Es por ello que en el diagrama de
flujo de la figura 5.1.5 se puede apreciar que la variable “st” esta inicializado con el valor
1. Así mismo, dentro del bucle, a la vez que se recorre todos los datos a codificar se va
variando los estados dependiendo del valor del bit entrante a codificar. Es por ello que se
puede observar que dentro del bucle se encuentran 8 condicionales, los cuales cubren todas
las posibilidades de variación de estados y en el valor del bit entrante.
Figura (5.1.5) Diagrama de flujo del codificador
76
5.1.6 Decodificador
El decodificador por el algoritmo de Viterbi es el algoritmo más complejo dentro de todos
los algoritmos realizados. Éste recibe como único parámetro de entrada los datos a
decodificar que se almacena en la variable “dto_cod”. Así mismo, se crean 10 variables
intermedias para todo el proceso y una variable final, donde se almacena los datos
decodificados “dto_deco”. El código en total cuenta con más de 20 procesos, de los cuales
se dará alcance de los más importantes. A continuación se da detalles del uso que se le da
a cada variable en todo el código:
Cod: Variable que almacena los datos de entrada en forma matricial “nx2”.
B: Matriz que contiene todos los estados posibles.
Diff: Matriz que almacena la diferencia que existe de los datos de entrada con los
estados.
Peso: Matriz que almacena los pesos acumulados para cada rama.
Direc: Matriz que almacena los hitos de las posibles trayectorias de la rama que
finalmente dará los datos decodificados.
p,pr: Variables puente para la matriz peso.
A: Matriz provisoria de la matriz peso.
Posj: Variable que indica en qué estado se encuentra la lógica.
Dto_cod: Variable que almacena los datos recuperados (decodificados).
I, j: Contadores para distintos propósitos.
Nota: la denominación “rama” se refiere a las posibles trayectorias de decodificación.
Debido a la complejidad del código, y por ende a la gran cantidad de procesos que se lleva
a cabo, el diagrama de flujo del código desarrollado se presenta en cuatro diagramas.
En el primer diagrama, en la figura 5.1.6 se aprecia dos procesos principalmente. El primer
proceso es convertir los datos que entran en forma de un arreglo en un formato matricial,
de “nx2”. Esto para tener mayor facilidad de manejo de los datos de entrada. Así mismo, se
aprovecha inicializar las diferentes matrices que más adelante serán usadas.
77
Figura (5.1.6) Diagrama de flujo del decodificador parte 1
El segundo proceso consta de 3 procesos repetitivos, en los cuales se pueden apreciar que
se hallan las diferencias de los datos de entrada con los estados; y es en la matriz “diff”
donde se guardan estas diferencias. La matriz “diff” es una matriz de n filas por 4
columnas. Las 4 columnas representan los 4 estados.
Luego de haber hallado la matriz de diferencia se procede a hallar la matriz de pesos. Para
ello, se recorre la matriz “diff”. En esta se recorre los cuatro estados de cada fila. Cabe
aclarar que en cada fila de esta matriz se guarda el valor que indica la diferencia de bits del
par codificado26
con los 4 estados.
26
“par codificado” se refiere al dueto de bits que se obtiene luego de codificar un bit.
Recordar que el codificador agrega un bit de redundancia.
78
Figura (5.1.7) Diagrama de flujo del decodificador parte 2
En el diagrama de flujo de la figura 5.1.7 se puede apreciar el bucle anidado que recorre la
matriz “diff” con el fin de hallar los pesos por cada nodo. Así mismo, se recorre los cuatro
estados posibles, donde j es la variable utilizada que gobierna la variación de estado a
estado. En esta parte del código no es necesario realizar una comparación de pesos por
cada nodo, debido a que los 2 pares entrantes a esta lógica son los 2 primeros pares a
decodificar. Es por ello, también, que la matriz “direc” solo almacena los hitos27
que
indican la ruta superior.
Así mismo, a partir del tercer par (i>1) a decodificar se requiere realizar comparación de
pesos. De la comparación de pesos se toma el menor. A partir del 3 par, por nodo, se
obtiene 2 pesos. De estos se almacena el menor de ellos y dependiendo a que ruta
pertenece, se almacena en la matriz “direc” el valor del hito correspondiente (-1 ó 1). Todo
lo anterior se puede apreciar en el diagrama de flujo de la figura 5.1.8.
27
“hito” se refiere al valor que puede adquirir un nodo (estado) para que se indique si
seguir una ruta superior o inferior. Para ello, la ruta inferior es representada por -1 y la ruta
superior por 1.
79
Figura (5.1.8) Diagrama de flujo del decodificador parte 3
Una vez obtenida la matriz de pesos y la matriz que guarda los hitos correspondientes a las
posibles rutas de decodificación, se procede a determinar la ruta de decodificación. Para
ello, se obtiene la última columna de la matriz “peso” y se identifica el peso menor. Una
vez identificado el peso menor se identifica la posición del mismo. Una vez hecho esto se
procede con la recuperación de los bits codificados, consultando a la matriz “direc” que es
donde se guarda los hitos para la trayectoria de decodificación. Esto se puede apreciar en el
diagrama de flujo de la figura 5.1.9.
80
Figura (5.1.9) Diagrama de flujo del decodificador parte 4
81
5.2 Diagramas de flujo del software desarrollado en C#
A continuación los Windows Forms principales de la aplicación en C#
5.2.1 Transmisor
A continuación se da detalles del uso que se le da a cada variable en todo el código:
tambloq: La variable indica el tamaño, en número de caracteres, del bloque. Este
bloque de caracteres aporta 7 bits por caracter. Tambloq fue calculado resultando
14 porque el número de bits a continuación de la codificación resultaría en 196 que
es el total de bits requeridos para entrelazar en una matriz cuadrada de 14 x 14.
ProcessObj: Es el objeto configurado con el proceso el cual se llama para enviar los
datos a modular.
numbloq: Es el número de bloques que hay del total de caracteres ingresados al
programa.
Newdto: Es el total de caracteres ingresados.
valpte: Es una trama de caracteres temporal que extrae un bloque de caracteres del
contenedor Newdto.
Las variables son cargadas de la interfaz de usuario en C#. Se completa el número de datos
que ingresaron para crear un número múltiplo de tamaño de bloque, cumplida esta
validación se convierte la data, que es el texto ingresado por el usuario, del ASCII a una
cadena de bits y en el caso que el MSB resultó 0 se completa la trama de 6 bits en la sétima
posición con su valor, que es cero, para que completen 7 bits. Finalmente estos datos son
pasados al proceso "modulador.exe"
82
Figura 5.2.1 Diagrama de flujo del transmisor C#
83
5.2.2 Receptor
A continuación se da detalles del uso que se le da a cada variable en todo el código:
_process: Es el objeto configurado con el proceso el cuál se llama para recibir
datos.
Recipiente: es un arreglo de caracteres que almacena temporalmente la trama
recibida cada llamada el receptor.
txtbuff: es otro arreglo de caracteres que almacena temporalmente la trama recibida
El programa realiza el proceso inverso del “Windows form” “transmisor”, el “receptor” es
la interfaz de usuario en C# encargada de recibir y mostrar los datos ingresados y enviados
de su programa contraparte. Éste llama al proceso "demodulador.exe". El proceso llamado
es terminado una vez comprobado que la trama recibida es de la longitud esperada. En
seguida, las tramas se concatenan para mostrarse una a continuación de otra.
Se distinguen 2 partes del programa: la primera parte se observa el lanzamiento inicial del
proceso “demodulador.exe” precedido por preparaciones y verificaciones iniciales.
84
Figura 5.2.2 Diagrama de flujo del receptor parte 1
En la figura siguiente tenemos el diagrama de flujo de la parte del programa que realiza la
verificación de los datos recibidos por el proceso llamado anteriormente y que es
recolectado previo a ser mostrado al usuario y a continuación previo al reinicio de todo
con el procedimiento “start”, es terminando el proceso para ser lanzado nuevamente. Al
finalizar esta parte se regresa a la primera parte del programa de la figura anterior.
85
Figura 5.2.3 Diagrama de flujo del receptor parte 2
86
ANEXO 6: MANUAL DE USUARIO
87
En este documento se encontrará información relevante sobre el uso del modem
software; así como las consideraciones a tomar en cuanto a las configuraciones en el
driver y la tarjeta de sonido.
CENTRO DE OPERACIONES DE EMERGENCIA NACIONAL (COEN)
“Desarrollo de software de radio modem para la transmisión de datos sobre
canales analógicos en la banda de voz aplicado a organismos gubernamentales”
Manual de Usuario
Cáceres Najarro, Lismer Andrés - Olmedo Castillo, Diego Oswaldo
03/08/2012
88
Contenido
Software………………………………………..………………………………………..89
Características: ……………………………………………………………………….....89
Acerca de la aplicación: ……………………………………………………………..….89
Instalación.……………………………………………………………………………....89
Operación.……………………………………………………………………………….90
Ventana Principal.……………………….……………………………………………....90
Configuración de la tarjeta de sonido……………………………………………….…..93
Configuración del driver ASIO4ALL……………………………...……………...……94
Hardware………………………………………………………………………..……….94
Acerca de la interfaz………………………………………………………………….....95
Descripción.…………………………………………………………………………......95
Operación.…………………………………………………………………………….....98
89
SOFTWARE
CARACTERÍSTICAS
El modem software desarrollado presenta las siguientes características:
1) Puede transmitir hasta 3000 bps variando las configuraciones.
2) Puede soportar una tarjeta de sonido interna o externa.
3) Puede ejecutarse en Windows XP, Vista y Windows 7.
4) Opera por un sólo canal de audio.
5) "Peteteo" automático.
6) Puede operar en las bandas de HF, VHF y UHF.
7) Presenta dos modos de operación: básico y avanzado.
ACERCA DE LA APLICACIÓN
El modem software presentado, se podría decir, que es una versión beta ya que ésta tiene
para seguir mejorando.
La aplicación provee una interfaz bien sencilla. Esto con el fin de que hasta los usuarios
que desconocen de comunicaciones digitales puedan usar el trabajo de investigación. La
aplicación se ejecuta por default en modo básico.
INSTALACIÓN
La instalación del modem software es bien simple. El modem software está compuesto por
3 ejecutables (.exe). Estos son: SoftRadio, Modulador y Demodulador. Los 2 últimos son
programas esclavos. Es decir, que el SoftRadio es el programa maestro y que desde éste, de
acuerdo a la manipulación del usuario se estará controlando al modulador y/o al
demodulador.
Estos 3 ejecutables siempre deberán estar dentro de una misma carpeta. El nombre de la
misma no tiene mayor importancia. Sin embargo, se recomienda colocar un nombre
sugerente al trabajo de investigación. Así mismo, para que pueda ejecutarse los programas
sin ningún inconveniente, el sistema debe contar con 3 dlls. Son los siguientes:
Blas_win32.dll imprescindible
90
Lapack_win32.dllOpcional
Libfftw3-3.dllOpcional
Estos tienen que ser colocados en los archivos del sistema operativo, dentro de la carpeta
“System32”. Una vez hecho esto se podrá ejecutar el modem software sin ningún
inconveniente.
En síntesis, para la instalación del modem software existen 2 pasos:
1. Primero:
Copiar los 3 ejecutables (.exe) dentro de una misma carpeta.
2. Segundo:
Copiar las 3 dlls dentro de la carpeta “System32” que pertenece a los archivos de
programa.
Nota: Es indispensable tener el driver “ASIO4ALL” para el manejo de la tarjeta de audio.
Éste es gratuito y se puede descargar de la siguiente página: http://www.asio4all.com/.
OPERACIÓN
Para iniciar el modem software, simplemente hacer doble click a la aplicación
“SoftRadio.exe” que se encuentra en la carpeta de trabajo que se creó. Para un uso más
sencillo, se sugiere crear un acceso directo de Windows y guardarlo en el escritorio o en el
menú de inicio.
La aplicación puede ser operada en dos modos: el avanzado y el básico. En el modo
avanzado se puede variar la robustez del sistema, quitando la codificación y/o entrelazado.
Realizando lo anterior se reducirá la carga computacional de la CPU.
Ventana Principal
La figura 1 muestra la ventana principal de usuario. En esta ventana se nombra a los
desarrolladores del trabajo de investigación y al asesor de los mismos.
91
Figura (1). Ventana Principal de presentación – Portada
Así mismo, en la parte superior se tiene dos pestañas: de “Ir a” y la de “Ayuda”. Si se le da
click a la primera pestaña se desplegará y mostrará dos opciones: Transmisor y Receptor.
El usuario elegirá si desea transmitir datos o recibirlos. Pero, si el usuario no tiene la menor
idea del funcionamiento del programa podrá darle click en la pestaña de ayuda. Al darle
click se mostrará una nueva ventana en la cual se dará detalles del uso del software.
Si el usuario desea transmitir, se abrirá la ventana de transmisión que se muestra en la
figura 2.En la parte superior izquierda se tiene 2 pestañas: “configuración” y “Ayuda”. Si
se le da click en la primera se desplegara la misma y se mostrará 2 opciones: “Avanzado” y
“básico”. Para poder transmitir en con cualquiera de las 2 opciones es imprescindible
realizar la configuración de puerto para "el peteteo". Para la adecuada configuración del
puerto se debe verificar que puerto ha sido asignado por la computadora. Una vez realizado
esto se puede operar al transmisor en los 2 modos, el avanzado y el básico. En el modo
avanzado te permite modificar parámetros para la transmisión como es la frecuencia de la
portadora, la frecuencia de muestreo y el número de ciclos por símbolo (c/s).
92
Figura (2). Ventana de Transmisión
Así mismo, se puede utilizar en modo básico. Este modo tiene configurados todos los
parámetros de transmisión, facilita el envío de datos de manera despreocupada. En la
ventana de transmisión se tiene 3 botones: “Transmitir”, “Reset” y “Limpiar”. El primero
es para empezar a enviar los datos que se desee. El segundo es para detener el envío y el
tercero es para limpiar la ventana donde se escribe los datos a enviar; facilitando así la
escritura de un nuevo texto a enviar. Por otro lado, si se desea poner al modem en
“escucha”. Es decir, el usuario desea recibir datos, simplemente, el usuaria tendrá que darle
en la opción “Recepción”, en la ventana principal.
Es necesario que el usuario fije adecuadamente los parámetros de frecuencia de muestreo,
frecuencia de la portadora y el número de ciclos por símbolo, si es que se modificaron los
parámetros de transmisión predefinidos (Modo Básico). En el caso de que no se coloquen
los mismos valores que en el modulador, se provocarán errores en los datos recuperados.
La figura 3 muestra la venta de recepción.
93
Figura (3). Ventana del Receptor
Ésta presenta 2 pestañas en la parte superior izquierda, igual que el modulador:
“Configuración” y “Ayuda”. Al darle click en la pestaña configuración se desplegará la
misma mostrando 2 modos de operación: “Avanzado” y “Básico”. Si se selecciona el
avanzado, se podrán modificar los parámetros de recepción: la frecuencia de la portadora,
la frecuencia de muestreo y el número de ciclos por símbolo (c/s). Si se selecciona el
modo básico, los valores de los parámetros de recepción serán los predefinidos. Así
mismo, se tiene tres botones: “Empezar”, “Parar” y “Limpiar”. Al presionar el botón
“Empezar” se da inicio a la recepción de información. Los datos recibidos se muestran en
el recuadro de la parte inferior. Si se desea parar con la recepción de información se debe
dar clic en el botón “Parar” y si se desea limpiar los datos recibidos se debe dar clic en
“Limpiar”.
CONFIGURACIONES DE LA TARJETA DE SONIDO.
En la reproducción se tiene que tener en consideración lo siguiente:
Deshabilitar todos los efectos de la tarjeta de sonido.
Predefinir la frecuencia de muestreo.
Utilizar el altavoz con una ganancia entre 10 y 50, preferentemente.
En la grabación se tiene que tener en consideración lo siguiente:
94
Deshabilitar todos los efectos de la tarjeta de sonido.
Deshabilitar el control automático de ganancia (AGC).
Predefinir la frecuencia de muestreo.
Utilizar un nivel de ganancia entre 2 y 5.
CONFIGURACIONES DEL DRIVER ASIO4ALL
Para poder configurar este driver se tiene que abrir el “ASIO4ALL off line settings”. Este
se instala al momento de instalar el driver. La figura 4 muestra la ventana de
configuración.
Figura (4). Ventana de configuración ASIO4ALL
La figura anterior muestra las opciones de configuración y los estados de ellos. En la parte
superior izquierda se tiene los dispositivos (todas las tarjetas de audio conectadas a la
computadora). Ahí se pueden apreciar los estados de la entrada y salida de audio. Estos
estados son tres: habilitado, en uso y deshabilitado. Para el adecuado funcionamiento del
software el micrófono y el altavoz tienen que estar habilitados. Si el micrófono o altavoz se
encuentran en uso por otra aplicación, cierre la aplicación para liberarlo. El tamaño del
buffer tiene que ser de 1024 y todas las demás opciones deben de estar deshabilitadas.
HARDWARE
CARACTERÍSTICAS
El hardware desarrollado, la Tarjeta Interfaz LernToch (TILT), presenta las siguientes
características:
1) Presenta tarjeta USB externa.
2) Presenta tarjeta interfaz entre la tarjeta de sonido y el transceptor
95
3) Puede ser adaptado para diferentes modelos de transceptores.
4) Indicadores LED (Tx/Rx y PTT)
5) 2 Conectores hacia la computadora y 2 conectores hacia el transceptor.
6) Peso: 0.5 kg.
7) Dimensiones: 13 cm x 7 cm x 3 cm.
ACERCA DE LA INTERFAZ
La TILT es un equipo que cumple la función de adaptar las señales de la computadora al
equipo radio. Se lleva a cabo el desarrollo del equipo porque no existe un producto
estándar que se comercialice. La figura 5 muestra a la TILT.
Figura (5). Tarjeta interfaz LernToch
DESCRIPCIÓN
La TILT internamente contiene la tarjeta interfaz y la tarjeta de sonido externa. Este equipo
presenta 4 cables conectados: el primero para la conexión de la tarjeta externa a la
computadora, el segundo para la conexión del PTT con interfaz USB; que va hacia la
computadora; el tercero para el conector de altavoz (out put) de la radio y el último para el
conector del micrófono de la radio. Asimismo, cuenta con un indicador de “peteteo” y un
indicador del funcionamiento de la tarjeta de sonido. La siguiente figura indica la
ubicación de estos en la TILT.
96
Figura (6). Ubicación de los cables conectados a la TILT
A continuación se muestran los conectores en las figuras 7, 8 y 9. En la figura 8 se observa
que el conector USB que se usa es doble para utilizar la corriente extra de un puerto USB
adicional.
Figura (7). Conector DB9 para la conexión del PTT con interfaz USB
97
Figura (8). Conector USB doble para la tarjeta de sonido externa
Figura (9). Conector del micrófono de la radio
La figura 10 muestra la configuración de los pines. Si se da el caso de que la configuración
de pines no esté de acuerdo a la figura que se muestra, se tendrá que hacer un simple
cambio en el cable de conexión que une la tarjeta interfaz con el transmisor.
98
Figura (10) Configuración de los pines de entrada - transmisor
OPERACIÓN
Para la operación de la TILT existen 4 pasos:
1. Primero: Conectar el cable RS232 a un puerto de la computadora para este
protocolo. La mayoría de computadoras actuales no vienen con puerto RS232, para
esa situación utilizar el adaptador USB – Serial. Para comprobar su funcionamiento
activar el puerto COM al que esté conectado el cable usando un programa de
control o usando el modem software. Si utiliza el modem software, al activar el
“Peteteo” (al activar la transmisión), el led indicador se encenderá cada vez que se
transmita. Si no se enciende revisar el conexionado y la asignación del puerto
COM.
2. Segundo: Conectar el cable de la tarjeta USB a la computadora y comprobar su
detección por ASIO4ALL. Activar como tarjeta de sonido predeterminada en el
sistema operativo. Observar el led de encendido de tarjeta de sonido y en parpadeo
al reproducir sonido vía esta tarjeta.
3. Tercero: Conectar el cable de conector para el equipo de radio (euro DIN) a la
interfaz de ésta.
4. Cuarto: Configurar el equipo de radio para envío y recepción y graduar el volumen
de amplificación de recepción. Comprobar que en el "peteteo" el equipo se
encuentre en uso (LED indicador del “peteteo” permanece encendido).
A partir de esta parte refiérase al manual de usuario del equipo radio transceptor, el que
está personalizado para cada marca y modelo de equipo.
99
GLOSARIO
ACML: AMD Core Math Library.
ATLAS: Automatically Tuned Linear Algebra Software.
BER: Bit Error Rate. Es la tasa de error.
BERT: Bit Error Rate Tester. Es un módulo para pruebas de BER.
BLAS: Basic Lineal Algebra Subroutines.
CBLAS: Complex basic Linea Algebra Subprograms.
Controlador: Software que permite a un Sistema operativo el control de un hardware de
computador.
C++: Lenguaje de programación orientado a objetos.
C#: Lenguaje derivado del C++ que usa la plataforma .Net .
Eb/N0: Se lee Ebno. Significa Energía de bit sobre energía de ruido.
Entrelazado: Técnica de protección de bits en la que se mezclan los bits enviados.
FFTW: Fastest Fourier Transform in the west.
Framework: Conjunto de librería o clases reusables para un sistema o subsistema.
Interferencia: Perturbación debido a fenómenos indeseados en el canal de comunicación.
Jitter: Retardo de la llegada de un paquete en tiempo real.
LAPACK: Linear Algebra PACKage.
MKL: Intel Math Kernel Library.
.NET: es un framework de Microsoft que hace un énfasis en la transparencia de redes, con
independencia de plataforma de hardware.
Ruido: Señales indeseadas que se interfieren en el canal de la comunicación.
SNR: (Signal to Noise Ratio) Nivel de potencia de una señal frente al nivel de ruido.
Sincronización de bit: Asegura que la máquina receptora sepa en que momento principie o
termine un bit.
Peteteo: Termino en referencia al Push To Talk (PTT).
ASK: Amplitud Shift Keying.
PSK: Phase Shift Keying.
FSK: Frecuency Shift Keying.
100
OFDM: Orthogonal Frecuency Division Multiplexing.
101
BIBLIOGRAFIA
AGILENT TECHNOLOGIES (2012) Bit error rate measure (Consulta: 16 de julio)
(http://www.home.agilent.com/agilent/editorial.jspx?cc=PE&lc=eng&ckey=14811
06&nid=-536902433.0.00&id=1481106).
AMATEUR RADIO RELAY LEAGUE (ARRL) (2010)
(http://www.arrl.org/nbems) Sitio web oficial del ARRL; contiene información
sobre la institución y enlaces de interés (Consulta: 17 de diciembre).
APCO (2010) Project 25 (Consulta: 10 de diciembre)
(http://apcointl.org/spectrum-management/resources/interoperability/p25.html).
BALANIS, Constantine (2005) Antenna theory analysis and design. 3rd
. Ed. USA:
John Wiley.
BENEDETTO, Sergio y BIGLIERI, Ezio (1999) Principles of digital transmission
with wireless aplications. California.
BODERO, Luis y SARMIENTO, Diego (2009) Monitoreo remoto de señales a
través del canal de voz de teléfonos celulares GSM (tesis de grado en ingeniería
electrónica). Lima: Universidad Peruana de Ciencias Aplicadas.
CANSAYA, Him (2005) DESARROLLO INTERFAZ USB ESTACIONES
RADIO (Tesis de Licenciatura de Ingeniería Electrónica). Lima: Pontificia
Universidad Católica del Perú.
CARMONA (2007) INSTALACIONES SINGULARES EN VIVIENDAS Y
EDIFICIOS. Madrid: Mc Graw Hill.
CARLSON, Bruce (1987) Communication systems. 3rd. Ed. Mexico: McGraw-
Hill.
COUCH, H. Leon W (1998) Sistemas de comunicación digitales y analógicos, 5a.
ed. México: Prentice Hall.
EL COMERCIO (2011) Sistema de prevención de tsunamis (Consulta: 30 de
marzo). (http://elcomercio.pe/lima/445971/noticia-gobierno-destino-2186000-
implementar-sistema-alerta-tsunamis) .
ECURED (2012) Enciclopedia colaborativa en la red cubana (Consulta: 02 de
febrero) (http://www.ecured.cu/index.php?title=Tarjeta_de_Sonido).
EL PERUANO (2007) Normas legales pp. 22. En: El Peruano, 18 de diciembre.
EUROPEAN TELECOMMUNICATIONS STANDARDS INSTITUTE (ETSI)
(2010) (http://www.etsi.org/WebSite/homepage.aspx) Sitio web oficial del ETSI;
contiene información sobre la institución y enlaces de interés (Consulta: 17 de
diciembre).
102
FEILEN, Michael (2010) SPARK Your solution for digital radio (Consulta: 11 de
noviembre) (http://www.drm-sender.de/?page=history&lang=en)
FREESE, David (2010) Software por W1HKJ y asociados (Consulta: 17 de
diciembre) (http://www.w1hkj.com/).
HAYKIN, Simone (1991), editor, Advances in Spectrum Analysis and Array
Processing, vol.1, Prentice-Hall.
INSTITUTO NACIONAL DE DEFENSA CIVIL (INDECI) ( (2012A) Simulacro
nacional de Sismo publicado en la Municipalidad de Lima.
INSTITUTO NACIONAL DE DEFENSA CIVIL (INDECI) (2012B)
(http://www.indeci.gob.pe/) Sitio web oficial del INDECI; contiene información
sobre la institución y enlaces de interés (Consulta: 25 de marzo).
INTEL (2002) The Audio Codec ’97 Specification. Santa Clara, CA, EUA:Intel
Corporation
INTERNATIONAL TELECOMMUNICATIONS UNION (ITU) (2010)
(http://www.itu.int/es/Pages/default.aspx) Sitio web oficial de la ITU; contiene
información sobre la institución y enlaces de interés (Consulta: 30 de noviembre).
ITPP (2012) (http://itpp.sourceforge.net/current/) Sitio web oficial del ITPP;
contiene información sobre la librería y enlaces de interés (Consulta: 2 de febrero).
JARA, Jorge y otros (2007) Antenas inteligente (Consulta: 15 de marzo).
(http://148.206.53.231/UAMI14431.pdf).
JONES, Greg (2012) Packet Radio: Introduction to Packet Radio (Consulta: 07 de
julio) (http://www.tapr.org/pr_intro.html).
KANTRONICS, Inc. (2011) Kantronics
(http://www.kantronics.com/modems.html) Página de los productos Kantronics que
lista UN catálogo y muestra las soluciones en las que son empleados. (Consulta: 11
de noviembre)
KOPANCHUK’S, Andrei (2012) UZ7HO Soundcard Modem (Consulta: 18 de
julio) (http://uz7.ho.ua/packetradio.htm).
LAMPEREUR, Steve (2011). High Speed Multi Media (Consulta: 11 de
noviembre) (http://www.qsl.net/kb9mwr/projects/wireless/plan.html)
103
MICROSOFT (2010) MSDN Microsoft Developer Network
(http://msdn.microsoft.com/en-us/ms348103.aspx) Página con contenido específico
sobre las plataformas de desarrollo de Microsoft (Consulta: 11 de noviembre).
McGILL UNIVERSITY (2012) RTAUDIO (Consulta: 6 de junio)
(http://www.music.mcgill.ca/~gary/rtaudio/apinotes.html).
MILNES, Ralph (2010) KC2RLM (Consulta: 11 de noviembre)
(http://www.qsl.net/soundcardpacket/).
MINISTERIO DE TRASNPORTE Y TELECOMUNICACIONES (MTC) (2011)
(http://www.mtc.gob.pe/portal/inicio.html) Sitio web oficial del MTC; contiene
información sobre la institución y enlaces de interés (Consulta: 25 de marzo).
NEWTON, Harry (2004) Newton's Telecom Dictionary. CMP books.
PAWLAN, Jeffrey (2010) Winrad.org (Consulta: 11 de noviembre)
(http//www.Winrad.org).
PROCOM (2012) (http://www.procom.dk/) Sitio web del fabricante de Antenas
Procom de Dinamarca (Consulta: 08 de agosto).
SUBBIAH, Palani y SEMICONDUCTOR, C. (2006) Bit-Error Rate (BER) for high
speed serial data communication (www.analogzone.com) (Consulta: 03 de
octubre).
TIPPACH, Michael (2011) ASIO4ALL Universal ASIO driver (Consulta: 6 de
junio) (http://www.asio4all.com/).
YAESU (2000) Manual Usuario FT-2200. Tokyo, Japan: Yaesu Musen Co.
YAMADA, Fujio y otros (2009) Radio Digital, pp. 91-100 En: Revista de
Radiodifusão - SET, v. 3, n. 03.
WIKIMEDIA (2010A) Digital Smart Technologies for Amateur Radio (Consulta:
10 de diciembre) (http://en.wikipedia.org/wiki/D-STAR).
WIKIMEDIA (2010B) Wikipedia the free enciclopedia (Consulta: 10 de
noviembre) (http://es.wikipedia.org/wiki/Tarjeta_de_sonido).
WIKIMEDIA (2012) Wikipedia the free enciclopedia (Consultada 07 julio)
http://es.wikipedia.org/wiki/Mezclador_de_la_tarjeta_de_sonido).
top related