Departamento de Ingeniería Electrónica

Anuncio
UDLA
Desarrollo de Software Radio
TX/RX de FM
CAPÍTULO 1
1. Contexto General
Debido a que esta Tesis tiene como finalidad desarrollar un Transmisor y un
Receptor de FM utilizando GNU Radio[19] y el Universal Software Radio
Peripheral[5] es necesario iniciarnos en este proyecto conociendo los temas básicos que
se muestran a continuación en este capítulo.
1.1.
Software Radio (Hardware + Software system)
1.1.1. Definición
El término de Software Radio fue acuñado por Joe Mitola en 1991 para referirse
a las comunicaciones de radio reprogramables o reconfigurables. Donde la misma pieza
de Hardware puede desarrollar diversas funciones en diferentes tiempos [1]. Software
Radio refleja la convergencia de dos fuerzas tecnológicas desarrolladas en los años 90´s,
comunicaciones digitales de radio y tecnología de software [2].
Se llama Software Radio a los sistemas de radio que en su implementación
tienen una parte de Hardware y otra de Software, contrario a los sistemas de radio
convencionales que se encuentran definidos únicamente por Hardware. Un sistema
Software Radio realiza procesos similares a los de un sistema convencional, como se
muestra en la Figura 1.1 y Figura 1.2. Partes como la antena, la sección de RF e incluso
la parte de la conversión analógica se realizan en Hardware. Los procesos que
involucran el uso de Software son la modulación / demodulación y la codificación /
decodificación, hablando de un sistema básico de Radio.
1
UDLA
Desarrollo de Software Radio
TX/RX de FM
En la Figura 1.1 se muestra un diagrama a bloques de un sistema de radio
convencional y en la Figura 1.2 el diagrama de un sistema similar pero implementado
en Software Radio.
Antena
RF
FrontEnd
A/D
Conversión.
D/A
Conversión.
Demodulación
Decodificación
Modulación
Codificación
Hardware
Figura 1.1. Diagrama a bloques de un TX/RX de Radio convencional.
USRP
Universal Software Radio
Peripheral
Basic RX / Basic TX
Tarjetas Secundarias
Altera
Antena
RF
FrontEnd
A/D
Conversión.
D/A
Conversión.
Demodulación
Decodificación
Modulación
Codificación
Hardware
Software
Figura 1.2. Diagrama a bloques de un TX/RX de Software Radio.
Software Radio tiene como finalidad el desarrollo de multisistemas para soportar
distintos estándares de comunicación celular o distintas bandas de RF. Con esto se
pretende lograr una interoperabilidad y adaptabilidad entre sistemas para poder brindar
varios servicios en un mismo equipo en diferentes tiempos.
2
UDLA
Desarrollo de Software Radio
TX/RX de FM
Podemos decir que Software Radio es una técnica que consta en poner el código
de software lo más cerca posible de la antena, lo que hace que los problemas de radio en
hardware se conviertan a problemas de radio en software. La característica fundamental
de Software Radio es que las formas de onda transmitidas se definen por software, y
este mismo software demodula la forma de onda recibida.
Software Radio esta perfilando el diseño de sistemas de radio debido a la
posibilidad de cambiar el sistema “on the fly” y crear nuevas opciones para el usuario.
Los sistemas de Software Radio hacen lo mismo que un sistema de radio tradicional. La
parte revolucionaria es la flexibilidad que el software nos ofrece, y el camino hacia un
sistema universal de comunicación. “Podemos imaginar un dispositivo que funciona
como teléfono celular y obtiene conectividad utilizando GPRS (General Packet Radio
Service), 802.11 Wi-Fi (Wíreless Fidelity), 802.16 Wi-Max, enlace satelital, o el
estándar emergente en aquel día.” [14]
1.1.2. Lógica Programable para Software Radio
Para lograr implementar en software la parte de procesado de la señal es
necesario utilizar sistemas de lógica programables como FPGA (Field Programmable
Gate Array), DSP (Digital Signal Processor) y Microprocesadores, ya que con estos
realizamos el procesado digital de señales, debido a la implementación en Software del
procesado de la señal, es posible implementar diferentes tipos en el mismo sistema de
radio. En el Apéndice C se muestra una lista de los FPGA´s que pueden ser utilizados
en Software Radio.
3
UDLA
Desarrollo de Software Radio
TX/RX de FM
1.1.3. Inicios de Software Radio
El concepto de Software Radio tuvo sus inicios en proyectos de las Fuerzas
Armadas y el Departamento de Defensa de los Estados Unidos de Norteamérica como
se muestra a continuación.
1.1.3.1
ICNIA - 70´s
A finales de los años 70´s la Fuerza Aérea Norteamericana trabajó en un sistema
conocido como Integrated Communications Navigation, Identification and Avionics
system que corresponde a las siglas de ICNIA. Éste sistema utilizaba un DSP en el que
se realizaban las funciones de programación y control para obtener una plataforma
integrada para comunicaciones aéreas. La base de ICNIA era un procesador GPP
(General Purpose Processor) de la serie 6800. Los esfuerzos capturaron la atención de
otros servicios militares y rápidamente se desarrollo un radio programable con tres
servicios, a este se le llamó más adelante SPEAKeasy. ICNIA fue el primer sistema de
radio programable del que tenemos conocimiento. [6].
1.1.3.2
TAJPSP - 80´s
A finales de los años 80´s el Air Force Research Laboratory inició el proyecto
llamado Tactical Anti-Jam Programmable Signal Processor (TAJPSP). Éste procesador
fue desarrollado para ser capaz de operar con distintas formas de onda simultáneamente
utilizando aproximación modular. TAJPSP evolucionó también en el programa
SPEAKeasy [6].
1.1.3.3
SPEAKeasy - finales de los 80´s, inicios de los
90´s
El concepto de Software Radio apareció debido al natural desarrollo tecnológico
de la milicia de los Estados Unidos, ahí fue donde surgió el proyecto SPEAKeasy
4
UDLA
Desarrollo de Software Radio
TX/RX de FM
organizado por el Departamento de Defensa. Éste tenia como finalidad iniciar el
desarrollo de un software programable para sistemas de radio que operara de los 2MHz
a los 2GHz, empleando formas de onda seleccionadas en memoria, o extraídas de un
floppy disk. El software programado de SPEAKeasy permitiría volver interoperable
cualquier software de radio que había sido emulado. Esto se vuelve ventajoso cuando no
es práctico o muy costoso tener tantos radios convencionales como se necesiten para
comunicar en cada tipo de forma de onda [7]. Actualmente el proyecto de SPEAKeasy
continúa en proceso, pero la parte fundamental de este trabajo del Departamento de
Defensa es que sentó las bases de lo que ahora conocemos como Software Radio.
1.1.4. Mapas conceptuales de Software Radio
La Figura 1.3 nos muestra un mapa conceptual sobre comunicaciones inalámbricas,
primero observamos donde se utilizan las comunicaciones inalámbricas como en radio,
satélites, entre otros, luego observamos su división por comportamiento y estructura.
Por su comportamiento encontramos tipos de comunicaciones inalámbricas con
distintos modos de propagación, interferencias, etc. Por su estructura tenemos
actualmente los implementados por Hardware y los implementados por Software Radio
(Hardware
y
Software),
para
ambos
casos
encontramos
transmisores
y
receptores.
5
UDLA
Desarrollo de Software Radio
TX/RX de FM
Comunicaciones
Alámbricas
Inalámbricas
Radio,
Comunicación
Satelital,
Televisión, GPS,
Estructura
Estructura
Comportamiento
Implementados
Implementados
por Hardware
por Hardware
Modos de
Propagación,
interferencia, etc.
Interferencia
Implementados
Implementados
por Software
Software
por
Radio
(HW+SW)
(HW+SW)
Transmisor
Transmisor
Transmisor
Transmisor
Receptor
Receptor
Receptor
R
eceptor
Figura 1.3 Mapa conceptual sobre comunicaciones inalámbricas.
La Figura 1.4 muestra un mapa conceptual poniendo detalle en el transmisor y el
receptor en los cuales se muestran las partes que conforman a cada uno.
6
UDLA
Desarrollo de Software Radio
TX/RX de FM
Estructura de
comunicaciones
inalámbricas
Implementados por Software Radio
(Hw+Sw)
Implementados
por Hardware
Transmisor
Receptor
Transmisor
Receptor
Decodificador
Antena
Procesado
(codificación y
modulación)
Antena
Demodulador
RF Section
DAC
RF Section
DAC
ADC
RF Section
ADC
RF Section
Modulador
Antena
Antena
Codificador
Procesado
(demodulación y decodificación)
Figura 1.4. Mapa conceptual de la estructura en un sistema de comunicaciones
inalámbricas. La definición de los acrónimos se encuentra en el apéndice K.
7
UDLA
Desarrollo de Software Radio
TX/RX de FM
En la siguiente Figura 1.5 se menciona el tipo de procesado que se utiliza para el
desarrollo de Software Radio, como son ROM´s (Read Only Memory), FPGA´s o
DSP´s, para este trabajo se utilizará la tarjeta USRP la cual cuenta con un procesador
FPGA de la serie Altera Cyclone.
Procesado
(modulación / demodulación y
codificación / decodificación)
ROM´s
FPGA´s
DSP´s
Read Only Memory
Field Programmable Gate
Array
Digital Signal Processor
USRP
Universal Software Radio
Peripheral
Figura 1.5 Tipos de procesadores en un sistema de Software Radio.
8
UDLA
Desarrollo de Software Radio
TX/RX de FM
1.2.
GNU: Gnu´s Not Unix
GNU es un sistema operativo desarrollado completamente utilizando software libre, este
sistema operativo es llamado GNU por el acrónimo recursivo Gnu´s Not Unix.
Software Libre o Free Software en Inglés. Es importante, de inicio, aclarar a que
se refiere “free”, ya que esta palabra suele tener dos connotaciones, libre y gratuito. Por
lo que se puede confundir el significado de esta frase. El Software Libre no es
necesariamente gratuito, ya que nos podemos valer de él para obtener ganancias
enfocadas al desarrollo de software, como se menciona en la página de www.gnu.org en
la sección de: Vender Software Libre.[9] Software Libre se refiera a la libertad que
tenemos para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software con el
que contamos. [11]
El proyecto GNU inició en 1983 como una forma de devolver el espíritu
cooperativo que prevalecía en la comunidad computacional en aquellos días, es decir,
hacer la cooperación posible al eliminar los obstáculos impuestos por los dueños de
software privativo.
En 1971, cuando Richard Stallman comenzó su carrera en el MIT (Instituto de
Tecnología de Massachusetts), trabajó en un grupo que usaba software libre
exclusivamente. Incluso compañías informáticas frecuentemente distribuían software
libre. Los programadores eran libres de cooperar unos con otros, y frecuentemente lo
hacían. En los 80, casi todo el software era privado, lo cual significa que tenía dueños
que prohibían e impedían la cooperación entre usuarios. Esto hizo necesario el Proyecto
GNU.
9
UDLA
Desarrollo de Software Radio
TX/RX de FM
Cada usuario de computadoras necesita un sistema operativo; si no existe un
sistema operativo libre, entonces no puedes ni siquiera comenzar a usar una
computadora sin recurrir a un software privativo. Así que el primer elemento en la
agenda del software libre era un sistema operativo libre.
Un sistema operativo no es sólo el núcleo; sino que también las aplicaciones que
incluyen compiladores, editores, formateadores de texto, software de correo y muchas
otras cosas. Por todo esto, escribir un sistema operativo con aplicaciones preinstaladas
es un trabajo complicado. [11]
1.3.
GNU/Linux
Al completarse el objetivo inicial de un sistema operativo libre parecido al Unix, es
decir, ya se tenían encontrados o escritos los componentes principales, excepto uno: el
núcleo. Entonces Linux, un núcleo libre, fue desarrollado por Linus Torvalds.
Combinando Linux con el ya casi completo sistema GNU se consiguió un
sistema operativo completo: un sistema GNU basado en Linux. Se estima que hay
cientos de miles de personas que ahora usan sistemas GNU basados en Linux,
incluyendo distribuciones como Debian, Red Hat y otros. [11]
Existe una gran confusión entre un sistema operativo Linux y un núcleo Linux.
Linux no es un sistema operativo, es el núcleo del sistema operativo, este núcleo se
encarga de asignarle a la computadora los recursos para ejecutar los programas. El
sistema operativo por lo tanto, en este caso, se debe llamar GNU/Linux y no solamente
Linux.
10
UDLA
Desarrollo de Software Radio
TX/RX de FM
1.4.1 Distribuciones
Una distribución no es otra cosa que el núcleo Linux con un conjunto de programas
seleccionados, con herramientas específicas de configuración, empaquetamiento,
documentación, etc. Prácticamente todas las distribuciones son comerciales, salvo
Debian, Hay muchísimas distribuciones alrededor del mundo, pero sólo unas pocas son
usadas ampliamente, estas distribuciones son:
Mandriva [20]: Esta es la mejor opción para principiantes, es uno de los
sistemas que más se ha esforzado en llegar al usuario hogareño. Por ejemplo algunas
versiones traen una utilidad llamada “supermount”, la cual permite montar y desmontar,
disquetes y CDs según se necesite en forma automática. Mandriva está basada en
RedHat.
La desventaja es que requiere un hardware más actualizado que otras
distribuciones.
SuSE [21]: Distribución que se caracteriza por contar con gran cantidad de
software y documentación. Es bastante amigable y posee herramientas de configuración
general llamadas YaST y YaST2 que están muy bien logradas. Hay que tener en cuenta
que no sigue el modelo de RedHat y algunos comandos y ubicaciones de archivos son
algo diferentes a otros sistemas linux.
RedHat [22]: De alguna manera es la primera distribución de Linux que logró
un tipo de instalación más sencilla en su época. La empresa RedHat es una de las más
11
UDLA
Desarrollo de Software Radio
TX/RX de FM
grandes dentro del mercado del software libre. La distribución posee una herramienta de
configuración que facilita las tareas del sistema llamada “linuxconf”. Muchas
distribuciones se basan en ella, como por ejemplo la distribución brasileña Conectiva.
Slackware [23]: Esta distribución es la más parecida al Sistema Operativo
Unix. En slackware todo o casi todo está para ser configurado mediante la edición de
archivos de texto o por medio de aplicaciones para terminales. Si bien es algo compleja
de instalar para el usuario nuevo, para los expertos es una excelente opción ya que es
sumamente flexible. Trae un sistema de instalación basado en paquetes .tar.gz el cual si
bien es más personalizable no posee un sistema de chequeo de dependencias. De todas
formas, como todas las distribuciones cuenta con entornos gráficos que reducen
considerablemente la dificultad para operarla.
Debian [24]: Definitivamente, considerada la distribución más dura para instalar
y configurar. Posee su propio sistema de instalación de paquetes en formato “.deb”.
Para muchos es la distribución más robusta, ideal para servidores. Debian adhiere
fervorosamente a la causa del software libre, tal es así que los paquetes que no tengan la
licencia GNU GPL se ponen en una categoría totalmente separada del resto. Las
versiones de los programas se examinan rigurosamente, y cuenta con las actualizaciones
más estables y no precisamente las más nuevas.
[13]
12
UDLA
Desarrollo de Software Radio
TX/RX de FM
1.4.2 Ubuntu
Según la enciclopedia libre Wikipedia, Ubuntu significa:
“Ubuntu: es una regla ética o ideología sudafricana enfocada en la lealtad de
las personas y las relaciones entre éstas. La palabra proviene de las lenguas zulú y
xhosa. Ubuntu es visto como un concepto africano tradicional.
Una traducción nada elaborada al español podría ser "humanidad hacia los
demás." Otra traducción puede ser: "La creencia en un enlace universal de compartir
que conecta a toda la humanidad.".
Esta es una definición más larga y exacta: "Una persona con ubuntu es abierta
y está disponible para los demás, afirma de los demás, no se siente amenazado cuando
otros son capaces y están bien, porque es seguro de sí mismo ya que sabe que pertenece
a una gran totalidad, que se disminuye cuando otras personas son humilladas o
menospreciadas, cuando otros son torturados u oprimidos." Dicho por el arzobispo
Desmond Tutu.
Se ve a Ubuntu como uno de los principios fundamentales de la nueva república
de Sudáfrica y está conectado con la idea de un Renacimiento Africano.
Ubuntu es también un término usado entre los grupos jóvenes de la iglesia. La
frase asociada con Ubuntu es "Yo soy porque nosotros somos".”
Obtenido de "http://es.wikipedia.org/wiki/Ubuntu_%28Sud%C3%A1frica%29"
Una definición de Ubuntu Linux es también encontrada en la enciclopedia libre
Wikipedia como se muestra a continuación:
“Ubuntu es una distribución de Linux de tipo escritorio, basada en Debian. El
proyecto se encuentra patrocinado por Canonical Ltda. Económicamente se sostiene
con aportaciones de la misma empresa que posee por dueño al sudafricano Mark
Shuttleworth.
Ubuntu debe su nombre al movimiento homónimo encabezado por el obispo
Desmond Tutu, el cual ganó el Premio Nobel de la Paz en 1984 por su lucha en contra
del Apartheid en Sudáfrica. Mark Shuttleworth, el mecenas del proyecto, es sudafricano
y por lo tanto se encontraba muy familiarizado con la corriente. Tras ver similitudes
entre los ideales de los Proyectos GNU, Debian y en general con el movimiento de
software libre, decidió aprovechar la ocasión para difundir los ideales de ubuntu.”
Obtenido de " http://es.wikipedia.org/wiki/Ubuntu_Linux"
13
UDLA
Desarrollo de Software Radio
TX/RX de FM
Ubuntu es un sistema operativo basado completamente en Linux, libre, y
disponible con soporte profesional y para la gran comunidad que lo desarrolla. La
comunidad Ubuntu esta construida con los principios del Manifiesto Ubuntu; éste dice
que el software debe ser disponible gratuitamente, las herramientas de este software
deben ser utilizables por la gente en su lenguaje nativo y con cualquier tipo de
discapacidades, y esta gente debe tener la libertad de modificarlo de acuerdo a sus
necesidades particulares cualesquiera que sean éstas.
Esta libertad es fundamental para hacer de Ubuntu un software diferente de
cualquier software privativo. No solo las herramientas necesarias son libres de cualquier
cargo, sino también tenemos los derechos para modificarlas de forma que cumplan con
nuestras necesidades.
El equipo detrás de Ubuntu hace el siguiente compromiso público con sus
usuarios:
•
Ubuntu siempre será gratuito, y no existen cargos adicionales por la versión
empresarial, hacemos nuestro mejor trabajo y lo ponemos a disposición de todos
en los mismos términos de libertad.
•
Ubuntu viene con soporte comercial completo por parte de cientos de compañías
alrededor del mundo. Ubuntu es relanzado regular y predeciblemente; un nuevo
lanzamiento se realiza cada seis meses. Cada relanzamiento tiene el soporte de
las actualizaciones para seguridad de los últimos 18 meses.
•
Ubuntu incluye lo mejor en traducciones e infraestructura de accesibilidad que el
Free Software Community ofrece, esto, para hacer de Ubuntu un sistema
utilizable por la mayor cantidad de gente posible. La colaboración va desde el
14
UDLA
Desarrollo de Software Radio
TX/RX de FM
arreglo de problemas del sistema (bug fixing), hasta el compartir código (code
sharing).
•
Ubuntu está completamente confiado en los principios de desarrollo de software
libre, y animan a la gente a que utilice gratuita y libremente el código del
software, mejorarlo y distribuirlo.
Ubuntu esta disponible tanto para computadoras de escritorio y laptops como
para servidores. El último lanzamiento de Ubuntu soporta arquitecturas PC (Intel x86),
arquitecturas 64-bit PC (AMD64) y arquitecturas PowerPC (Apple iBook y Powerbook,
G4 y G5)
Ubuntu incluye más de 16,000 piezas de software, aunque el sistema operativo
cabe en un solo CD. Ubuntu cubre cada una de las aplicaciones de escritorio, desde
procesadores de texto y hojas de cálculo, hasta aplicaciones de acceso a Internet,
software para servidores web, correo electrónico, lenguajes de programación, además de
algunos juegos.
Ubuntu introduce en cada uno de sus lanzamientos la última versión de Kernel y
Gnome.
“Kernel es la parte fundamental de un sistema operativo. Es el software
responsable de facilitar a los distintos programas acceso seguro al hardware de la
computadora o en forma mas básica, es la encargada de gestionar recursos, a través de
servicios de llamada al sistema.”
Obtenido de "http http://es.wikipedia.org/wiki/Kernel"
“Gnome es un entorno de escritorio para sistemas operativos de tipo Unix bajo
tecnología X Window, se encuentra disponible actualmente en más de 35 idiomas.
Forma parte oficial del proyecto GNU.”
Obtenido de " http://es.wikipedia.org/wiki/Gnome"
15
UDLA
Desarrollo de Software Radio
TX/RX de FM
La instalación de Ubuntu 5.04 es indispensable para continuar con el proceso de
este trabajo por lo que en el Apéndice B se explica claramente la forma correcta de
llevar a cabo esta instalación.
16
Descargar