• No se han encontrado resultados

Implementación en software de un decodificador de VITERBI para aplicaciones DVB-S

N/A
N/A
Protected

Academic year: 2017

Share "Implementación en software de un decodificador de VITERBI para aplicaciones DVB-S"

Copied!
119
0
0

Texto completo

(1)

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

“IMPLEMENTACIÓN EN SOFTWARE DE UN

DECODIFICADOR DE VITERBI PARA APLICACIONES

DVB-S

T

É

S

I

S

Q U E P A R A O B T E N E R E L T Í T U L O D E :

INGENIERO EN COMUNICACIONES Y ELECTRÓNICA

P R E S E N T A N

HUGO DÍAZ JARAMILLO

OSVALDO HURTADO CHÁVEZ

ASESOR:

DAVID VÁZQUEZ ÁLVAREZ.

(2)
(3)

1

Resumen ______________________________________________________________________________ 2 Objetivo General ________________________________________________________________________ 3 Objetivos Particulares ___________________________________________________________________ 3 Justificación ___________________________________________________________________________ 3 1. RADIO DEFINIDO POR SOFTWARE Y EL ESTÁNDAR DVB ____________________________________ 6 1.1 Introducción.________________________________________________________________________ 7 1.2 Definición de Radio Definido por Software _______________________________________________ 7 1.3 Comparación de arquitecturas entre Radio Definido por Hardware y Radio

Definido por Software. ___________________________________________________________________ 8 1.4 Arquitectura de Software para un RDS. __________________________________________________ 9 1.5 Beneficios del uso de Radio Definido por Software. ______________________________________ 11 1.6 La televisión Digital _________________________________________________________________ 12 1.7 El estándar DVB ____________________________________________________________________ 12 1.8 Como Funciona DVB ________________________________________________________________ 13 1.9 Equipos Compatibles con DVB ________________________________________________________ 16 1.10 Ventajas de la implementación de DVB ________________________________________________ 16 2. CÓDIGOS CONVOLUCIONALES _________________________________________________________ 18 2.1 Introducción________________________________________________________________________ 19 2.2 Codificación para control de errores. ___________________________________________________ 19 2.3 Codificación de línea para DVB. _______________________________________________________ 21 2.4 Códigos Convolucionales ____________________________________________________________ 22 2.5 Representación. ____________________________________________________________________ 25 2.5.1 Representación del generador. ______________________________________________________________ 25 2.5.2 Representación por diagrama de árbol. _______________________________________________________ 25 2.5.3 Representación por diagrama de estados. _____________________________________________________ 26 2.5.4 Representación por diagrama de Trellis. ______________________________________________________ 27

3. EL ALGORITMO DE VITERBI ____________________________________________________________ 28 3.1 Introducción. _______________________________________________________________________ 29 3.2 Tipos de decodificación usando el algoritmo de Viterbi. ___________________________________ 29

3.2.1 Decodificación con decisión suave. __________________________________________________________ 29 3.2.2 Decodificación con decisión dura. ___________________________________________________________ 30

3.3 Construcción del algoritmo. __________________________________________________________ 30 3.4 Corrección de errores. _______________________________________________________________ 31 3.5 El diagrama de Trellis. _______________________________________________________________ 31 3.6 Ejecución del algoritmo, ¿Cómo funciona el Decodificador de Viterbi? ______________________ 33

3.6.1 Caso 1, Sin errores en la recepción __________________________________________________________ 34 3.6.2 Caso 2, Con errores en la recepción__________________________________________________________ 38

(4)

2

4.1 Introducción. _______________________________________________________________________ 44 4.2 Lenguajes de descripción de hardware. _________________________________________________ 44 4.2.1 HDL. __________________________________________________________________________________ 44 4.2.2 VHDL. _________________________________________________________________________________ 45 4.2.3 Verilog. ________________________________________________________________________________ 47

4.3 Dispositivos de lógica programable. ___________________________________________________ 47

4.3.1 ASIC. __________________________________________________________________________________ 48 4.3.2 DSP. __________________________________________________________________________________ 48 4.3.3 FPGA. _________________________________________________________________________________ 48

4.4 Tecnología XMOS. ___________________________________________________________________ 49 4.5 Lenguaje de programación XC. ________________________________________________________ 49 5. IMPLEMENTACIÓN EN SOFTWARE DE UN DECODIFICADOR DE VITERBI UTILIZANDO UNA TARJETA DE DESARROLLO XMOS __________________________________________________________________ 51 5.1 introducción________________________________________________________________________ 52 5.2 implementación del decodificador usando herramientas auxiliares__________________________ 53

5.2.1 Codificador. _____________________________________________________________________________ 54 5.2.2 Decodificador de Viterbi. ___________________________________________________________________ 56

5.3 Comparativa entre FPGA y XMOS. _____________________________________________________ 61

5.3.1 Capacidades de reconfiguración. ____________________________________________________________ 61 5.3.2 Software para desarrollo de aplicaciones. _____________________________________________________ 62 5.3.3 Costo y capacidades. _____________________________________________________________________ 63

5.4 Uso de la tarjeta de desarrollo XC-1A ___________________________________________________ 64 5.4.1 XMOS Development environment. ___________________________________________________________ 65

5.5 Traducción del código de C a XC. ______________________________________________________ 67 5.6 Resultados. ________________________________________________________________________ 68 5.6.1 Implementación de un módulo de comunicación serial para pruebas con el decodificador deViterbi. ________ 71 5.6.1.1 Transmisor. _________________________________________________________________________ 72 5.6.1.2 Receptor. ___________________________________________________________________________ 72 5.6.1.3 Conversión de Variables. ______________________________________________________________ 72 5.6.1.4 Codificación Convolucional. ____________________________________________________________ 73 5.6.1.5 Decodificador de Viterbi. _______________________________________________________________ 74

6. CONCLUSIONES Y RECOMENDACIONES PARA TRABAJOS FUTUROS _________________________ 76 7. BIBLIOGRAFIA Y REFERENCIAS _________________________________________________________ 79 8. ANEXOS ______________________________________________________________________________ 81 Anexo A.- Código fuente del diseño de un codificador convolucional 1/2, en C++ ________________ 82 Anexo B.- Código fuente del diseño de un decodificador de Viterbi 1/2, en C++ __________________ 84 Anexo C.- Código fuente del diseño de un decodificador de Viterbi 1/2, en XC. __________________ 90 Anexo D.- Presentación para la IEEE ROC&C 2010, VigésimaPrimera Reunión de Otoño de

(5)

3

1/2, junto con el módulo de comunicación serial en XC ______________________________________ 105

ÍNDICE

DE

IMAGENES

(6)

4

Fig. 5.22 Interface de Realterm. ______________________________________________________________________ 72 Fig. 5.23 Envió y captura de datos mediante la terminal. ___________________________________________________ 74 Fig. 5.24 Caracteres Enviados y recibidos después del procesamiento. ________________________________________ 74 Fig. 5.25 Proceso de el modulo serial para pruebas de decodificación. ________________________________________ 75

ÍNDICE

DE

TABLAS

(7)

5

Al concluir con un proceso tan largo, arduo y lleno de dificultades como es terminar una carrera de Ingeniería, es inevitable el sentimiento egocéntrico que en mayor parte se debe al mérito propio de decir “¡lo he hecho!” Sin embargo esto no hubiese sido posible sin la participación de personas e instituciones que han facilitado las cosas para que este trabajo haya culminado en un feliz término. Por esta razón es para mí un verdadero placer dedicar este espacio para expresar mis agradecimientos.

A mis padres, por el apoyo moral que más que el económico, fue factor importante para no quitar el dedo del renglón y terminar todo aquello que comienzo aunque me tarde lo que me tenga que tardar, nunca dejar de intentarlo hasta cumplirlo.

A mis hermanos Fabián, Tedy, Sonia, cada quien a su manera me enseñaron a seguir intentando por más difícil o tedioso que sea lograrlo, cumplir las metas cueste lo que cueste y siempre ser perseverante y no conformarme.

Al Maestro David Vázquez Álvarez, desde segundo semestre de mi ingeniería, me brindó la confianza necesaria para nunca decepcionarlo, hasta la fecha gracias a esa confianza decidimos tomarlo de asesor y aunque lo veíamos poco por su agenda tan apretada, unas cuantas palabras lograban calmar nuestras preocupaciones y no dudar nunca de nosotros, gracias por nunca dudar de nosotros, es un gran ejemplo a seguir de que con esfuerzo verdadero, podemos volar muy alto.

Al Equipo del Portal Web Institucional, que para mí significa mucho la confianza que me brindan, gracias a ellos me esfuerzo mucho para prepararme siempre y saber más cada día, a la Maestra Beatriz Pérez Bernabe, que al mes de entrar, me puso a prueba y afortunadamente cumplí con las expectativas y confía en mí trabajo que nunca he fallado.

A mis amigos Osvaldo, Alan, Álvaro, que fuimos los 4 fantásticos, un verdadero honor haber compartido ese tiempo juntos, sinceramente en un futuro sería genial crear algo untos, somos un excelente equipo, no te nos quedes atrás Alan famosísimo Magic.

Francisco Casimiro, aunque tomamos diferentes caminos de especialidad y de semestre, jamás perdimos el contacto y esas pláticas de desvelados, rindieron frutos, ahora vas por otro nivel más, pronto te alcanzaré.

Luis Carrillo Mejía, También tomaste otro camino, pero la amistad compartida es muy valiosa y siempre no sé cómo estabas un punto arriba de Osvaldo y obvio de mí, eso me hizo esforzarme mucho más de lo que según hacía, ahora mi mayor contrincante soy yo mismo y es mucho más difícil superarme de lo que creí.

Osvaldo Hurtado Chávez eres de esas contadas personas a las que les puedo decir amigo, a pesar de mis contratiempos por desidia o exceso de confianza, jamás me dejaste tirado y hasta el último momento en este proceso de titulación, estuviste apoyándome en todo, este es un nivel más que estamos superando, a mi punto de vista muy merecido, y lo que falta por recorrer, Gracias.

Por último pero no menos importante, aunque tardó en incluirse en mi vida, Ingeniera Ilse Karen Virueta Tierrafría, un ejemplo de mujer, trabajadora, inteligente, analítica, cumplida, al igual que yo, tiene la ambición de siempre aprender y mejorar personal y profesionalmente, me pusiste el ejemplo y lo compartes conmigo día a día. Gracias.

Y los que me faltan por agradecer, han hecho de mí un profesional emprendedor, listo para poner mi granito de arena para mejorar al país. El que persevera alcanza.

(8)

6

Tomo esta página para dar crédito, donde el crédito es debido:

Mamá y Papá gracias por soportar todos estos años a su hijo, solo con estar ahí hicieron la diferencia para que pudiera cumplir esta meta. Espero estén orgullosos de esto que está frente a ustedes y que fue moldeado por sus manos. Yo no quisiera que hubiera sido de ninguna otra forma.

Areli, mi corazón, que me has acompañado por este camino, gracias a ti tuve la voluntad y fuerza para convertirme en lo que soy hoy y es por ti, que continuo para estar siempre a tu lado y de la felicidad inmensa que me das.

Hugo, te agradezco el tiempo dedicado, no solo durante este proyecto, sino desde que nos conocemos gracias por tu amistad y apoyo, estoy seguro que sin él, jamás hubiera logrado todas esas cosas increíbles que hemos hecho ¡y las que faltan amigo!

Maestro David le agradezco todo su apoyo y atención, estoy muy agradecido de que compartiera su conocimiento conmigo y gracias en verdad por enseñarme a programar, siéndole franco, yo no podía distinguir C++ de C:\.

A los maestros Juan Jose Martinez y Humberto Orozco espero no haberlos defraudado y donde quiera que estén les agradezco sus palabras de aliento.

A la ingeniera Melody Rivera y la maestra Patricia Gallegos, les agradezco el tiempo que me brindaron para poder completar este objetivo y aún más por el voto de confianza que depositaron en mí.

Mi familia, Hurtado y Chavez por igual, ustedes son parte de mí, así que mi reconocimiento también es para ustedes.

Amigos Gracias por estar ahí:

Alejandro, nosotros dos valla que somos un par.

Fabian, estoy seguro que no entiendes mis razones pero también estoy seguro que añoras llegar al mismo lugar que yo, gracias por acompañarme todo este tiempo.

Raúl, David y Mario, gracias por levantar este despojo y ponerle el espíritu Westown!

Hugo, Paco y Luis muchas gracias por los 5 años más chingones que ha tenido ESIME

…and you the player

Thanks for playing!

(9)

2

Resumen

En este documento se plasman las investigaciones y el desarrollo requeridos para la implementación de un módulo de software que representa el funcionamiento de un dispositivo conocido como; decodificador de Viterbi. El cual es parte del procesamiento que se le aplica una señal, en el receptor de un equipo de comunicaciones, basado en el estándar DVB-S. Parte importante de este diseño, es que el módulo de software no se encuentra atado a una arquitectura de hardware especifica ya que fue diseñado con el concepto de Radio definido por software y su funcionamiento puede ser trasladado entre dispositivos de lógica programable, dependiendo de las necesidades del usuario.

El capitulado recorre los conceptos que fueron necesarios para lograr este propósito:

El capítulo uno, trata del desarrollo que existe en el ámbito de los equipos de comunicaciones, mostrando la tendencia que las comunicaciones tienen hacia la digitalización, demostrando que los equipos que tienen como característica clave el procesamiento digital de señales para sustituir partes fundamentales de su funcionamiento, serán parte importante para el desarrollo de nuevos y más eficientes sistemas de comunicaciones, capaces de adaptarse a los requerimientos que se presenten en el futuro.

En ese mismo capítulo, es introducido el concepto de estándares globales, los cuales son esquemas de transmisión de señales creados por diversas organizaciones en el mundo, que buscan la homogeneización de las transmisiones, para conseguir ventajas, como la interoperabilidad en los sistemas de comunicación.

El capítulo dos, presenta uno de los conceptos inherentes al decodificador de Viterbi, la codificación con la cual trabaja; los llamados códigos convolucionales son un sistema de codificación para control de errores, que es utilizado en sistemas digitales diversos, con el propósito de proteger la información cuando esta es enviada a través de canales ruidosos.

El tercer capítulo, se enfoca en el núcleo de la creación de un decodificador de Viterbi; El algoritmo de Viterbi. Un algoritmo propuesto por el Dr. Andrew Viterbi, para la decodificación de códigos convolucionales, de una manera más eficiente y disminuyendo la carga computacional que provocan otros métodos de decodificación.

En el capítulo cuatro, se analizan algunos dispositivos de lógica programable disponibles en el mercado, así como también sus lenguajes de programación, con el propósito de averiguar cuáles son sus características y capacidades para así justificar el uso de uno de ellos como el más adecuado para el desarrollo de este proyecto, no solo por sus capacidades de procesamiento, sino también por nuevas características que aportan al desarrollo de proyectos de este tipo.

El dispositivo elegido para la realización de este proyecto, debe cumplir con varias características que le permitan flexibilidad y capacidades de escalabilidad, cruciales para el desarrollo del presente proyecto e inclusive para el desarrollo de aplicaciones futuras.

Por ultimo en el capítulo cinco, se encuentra todo el desarrollo del módulo de software, tomando todo el conocimiento recopilado a lo largo de los capítulos posteriores, desde la codificación y los algoritmos matemáticos, hasta la utilización de dispositivos de lógica programable de última generación, dominando todas las partes requeridas de su hardware, todo esto con la meta de aplicar los conocimientos adquiridos durante la investigación, para el desarrollo de una aplicación que cumpliera correctamente con las características deseadas.

(10)

3

Objetivo General

Implementar en una tarjeta de desarrollo XMOS, un módulo de software que represente un decodificador de Viterbi para códigos convolucionales y para aplicaciones en el estándar DVB-S, utilizando el concepto de radio definido por software.

Objetivos Particulares

 Revisión de la arquitectura del radio definido por software y sus diferentes aplicaciones en las comunicaciones móviles actuales.

 Revisión del estándar DVB.

 Revisión de los códigos convolucionales.

 Revisión del decodificador de Viterbi.

 Representación de módulos de decodificación en el lenguaje de descripción de hardware XC para programación de XMOS.

 Implementación de los diferentes módulos creados, realización de pruebas y comprobación de resultados.

Justificación

Actualmente las telecomunicaciones se están desarrollando cada vez con más fuerza ahora no solo podemos llamar por teléfono, sino que podemos enviar imágenes, videos, datos e incluso tener televisión digital en la palma de la mano esto lleva a las comunicaciones de ser solo una manera de acortar distancias, a una necesidad de la vida cotidiana por estar informado y entretenido.

Con este propósito los países y las organizaciones trabajan para desarrollar nuevas y mejores maneras para la transmisión y el procesamiento de datos.

Nuevas tecnologías han surgido a partir de los años 90 para un mejor y más eficiente envió de datos que se traducen en mejoras para los usuarios de servicios de comunicación. Estas mejoras van desde nuevos métodos de procesamiento de datos hasta gigantescos avances en el hardware de los transmisores y receptores, todas estas mejoras tienen el propósito de hacer llegar al usuario final los servicios que este requiere.

Últimamente han cobrado gran importancia las tecnologías para la distribución de la televisión digital, pues se está realizando una reinvención de la televisión a nivel mundial, más allá de transmitir solo imágenes ahora la televisión podrá ofrecer una interconexión de servicios que permitirán al usuario interactuar directamente con los programas que están viendo, los cambios suponen una más alta definición de imagen, elección de ángulos de visualización de un programa, acceso a información y publicidad así como compra de productos en línea. Además, la convergencia entre los dispositivos fijos y móviles, ya que la programación podrá seguirse a través de teléfonos celulares de nueva generación. [1]

Para realizar este salto hacia la televisión digital se han desarrollado varios estándares de transmisión de señales digitales cada uno diseñado para apoyar metodologías de transmisión diferentes para cumplir requerimientos específicos como son, la región y el terreno en los que se implementan o la movilidad que necesitan los receptores. Cuatro son los más importantes: [2,3]

 El DVB (“Digital Video Broadcasting”, “Transmisión de Video Digital”), de origen europeo.

 En Estados Unidos el ATSC (“Advanced Televisión SystemsCommittee”, “Comité de Sistemas de Televisión Avanzados).

 La ISDB (“IntegratedServices Digital Broadcasting”, “Transmisión de Servicios Digitales Integrados”) para Japón.

 El chino, DTMB (“Digital Terrestrial Multimedia Broadcast”, “Transmisión Digital Terrestre Multimedia”).

(11)

4

Centrémonos entonces en una de las organizaciones que se encarga de la mejora continua de la tecnología móvil llamada DVB.

Esta organización es resultado de la unión de diversos organismos con la meta de evaluar y desarrollar la introducción de la televisión digital al mercado casero y que con el tiempo ha marcado el terreno de la transmisión de datos. Es por ello que este estándar está siendo considerado cada vez más en el desarrollo y funcionamiento de dispositivos de comunicación. [4]

Del estándar DVB han aparecido varios sub estándares, DVB-S, DVB-C, DVB-T por mencionar algunos, principalmente diferenciables por la modulación que utilizan y el medio de transmisión (Satélite, Cable o Tierra), pero aunque son diferentes en ciertos aspectos también poseen similitudes entre sí, particularmente su codificación (Codificación mediante códigos convolucionales) que al ser similar en los tres ofrecen oportunidades para el desarrollo de dispositivos compatibles con DVB. Esas similitudes nos permiten trabajar con varios sub estándares en conjunto y buscar maneras de implementar estos estándares más eficientemente y sin el uso de dispositivos de radio especializados dejando abierto su desarrollo para mejoras y alternativas para su implementación. Una de estas alternativas es el concepto de radio definido por software (RDS), pensado y desarrollado por Joseph Mitola III, quien imagino una mejor manera de "construir" aparatos de radio mediante la emulación de estos usando software para remplazar algunas de las partes más significativas de un radio convencional.

Las mejoras que un radio definido por software aporta al esquema de telecomunicaciones actuales son variadas, una de las principales es la creación de un radio adaptable, que no está sujeto a uso con un solo tipo de modulación o tipo de señal, pues cuenta con la capacidad para modificar su comportamiento en tiempo real. No hay la necesidad de hacer cambios al hardware, ya que su modo de operar está ligado a su programación y no a las piezas con las que está construido, también nos permite aumentar el tiempo en el que un dispositivo de comunicaciones se vuelve obsoleto, debido a que elimina la necesidad de desechar el equipo y adquirir otro que se adapte a la función que requerimos.

El RDS no depende de filtros capacitivos o inductivos como las radios tradicionales, sino que opera mediante el procesamiento de señales de radio digitalizadas y procesadas con módulos de software, esto permite a un mismo dispositivo hacer múltiples tareas con solo reconfigurar su programación, de este modo la antena es la única parte que está limitada.[5]

La implementación de módulos de software que se comporten como piezas de radio transmisores se consigue mediante la programación de tarjetas programables del tipo XMOS, DSP (Digital Signal Processor) o FPGA (“Field Programmable Gate Array”, “Arreglo de Compuertas Programable de Campo”), que son conjuntos de arreglos de miles de compuertas lógicas usados para el modelado de dispositivos electrónicos, que funcionen mediante operaciones lógicas.

En el campo de las comunicaciones, se pueden usar FPGA‟s, DSP‟s o XMOS para describir mediante software, el comportamiento de moduladores y codificadores para señales de radio, para lo cual son utilizados lenguajes de programación como VHDL (“Very High Speed Integrated Circuit Hardware Description”, “Lenguaje de Descripción de Circuitos Integrados de muy Alta Velocidad”), o XC, lenguajes para el modelado de sistemas electrónicos pues mediante su uso se pueden programar sistemas de software que funcionen como sus contrapartes en hardware.

Las investigaciones en este campo hacen uso de las tecnologías descritas anteriormente, y pueden lograr la creación de sistemas de transmisión y recepción para los estándares actuales para que estos no dependan de hardware específico para funcionar o tengan solo un modo de operar, la combinación del uso de RDS con estándares como DVB puede generar sistemas de comunicaciones que aprovechen los actuales estándares de comunicaciones digitales y que permitan la flexibilidad para adaptarse a las necesidades del usuario.

(12)

5

(13)

6

(14)

7

1.1 Introducción.

El aumento exponencial de las formas y medios por los que la gente necesita comunicarse como: comunicación de datos, voz, video, mensajería, etc. Ha obligado a la creación de aplicaciones basadas en hardware para así satisfacer esta demanda. La funcionalidad de las arquitecturas de radios convencionales es principalmente hardware y una mínima configuración por medio de software. El hardware consiste de amplificadores, filtros, mezcladores y osciladores que determinan el tipo de señales con las que trabaja un equipo. El software en los dispositivos es usado para controlar la interfaz, la red, procesa los encabezados, los códigos de corrección de error de los paquetes de datos y enruta los paquetes de datos basados en la información de encabezado.

Un dispositivo basado en hardware y muy poco software de control, tiene un tiempo de vida relativamente corto, determinado por la evolución de la tecnología y hoy en día se puede observar que esta evolución es cada vez más veloz.

Este problema fue solucionado por Joe Mitola en 1991, con el término “Software Radio” refiriéndose a los “radios” reprogramables o reconfigurables. En otras palabras, las mismas piezas de hardware pueden realizar cambios en sus funciones y adaptarse a aplicaciones diferentes, “La radio en la que algunos o la totalidad de las funciones de la capa física son definidas mediante Software”. [6]

Para la implementación de la tecnología de Radio Definido por Software, se utilizan diversos dispositivos digitales programables, algunos de los más utilizados son DSP (“Digital Signal Processor”, “Procesadores Digitales de Señales”), FPGA (“Field Programable Gate Array”, “Arreglo de Compuertas de Campo Programables”), u otros procesadores programables específicos. El uso de estas tecnologías, permite nuevas funciones y capacidades para ser añadidas a los sistemas de radio existentes, sin la necesidad de nuevo hardware cuando un cambio en los sistemas sea necesario.

1.2 Definición de Radio Definido por Software

El radio definido por software[7] supone realizar la mayor parte de las funciones de un equipo de radio, incluso las funciones más importantes, todo esto mediante software implementado en una computadora. Para que quede más claro, primero definamos lo que no es RDS.

Por un lado, es importante decir que hay una gran diferencia entre un dispositivo RDS y uno meramente controlado por software. La gran mayoría de equipos modernos con interfaces informáticos son equipos que tienen la opción de ser controlados por software, permitiendo que se visualicen parte o todas las funciones y parámetros que normalmente están incluidos en el equipo: frecuencia, elección de modo de operación (AM, FM, SSB…), Control automático de ganancia (CAG), etc. incluso hay equipos de radiocomunicaciones que no cuentan con panel frontal de control y pueden ser controlados totalmente por computadora, mostrando toda la información en el monitor.

RDS tampoco se refiere al uso de sofisticadas técnicas de procesamiento digital de señales, mediante DSP (“Digital Signal Processor”, “Procesador Digital de Señal”), aunque este permita realizar filtros de audio mediante técnicas digitales que son mucho más efectivos que los tradicionalmente realizados con componentes electrónicos analógicos, e incluso poder programar sus características por software.

Una Radio Definida por Software (RDS), tiene casi todos sus componentes definidos y funcionando en forma de programas en una computadora y un número mínimo de componentes físicos necesarios, que no puedan ser definidos por software, en este sentido, las piezas de hardware en un dispositivo RDS no son más que un conjunto de placas electrónicas externas, una vez que son programadas, su funcionamiento es aprovechado para realizar el proceso que el usuario requiera.

(15)

8

Para entender mejor de los que se habla, veamos una comparación entre las arquitecturas de las dos formas de implementar un radio, por Hardware y por RDS.

1.3 Comparación de arquitecturas entre Radio Definido por Hardware y Radio Definido por Software.

Para comenzar, veamos la arquitectura general de un radio de AM o FM y la mayoría de otros tipos de radios. En la realidad un receptor de este tipo es mucho más complicado, con dispositivos pasivos (resistencias, capacitores, bobinas, etc.) e incluso activos (transistores, diodos, etc.) y aunque este dispositivo de hardware cumple muy bien su objetivo, es limitado por diversos factores.

Fig. 1.1 Diagrama de Receptor Superheterodino típico.

Actualmente el usuario no solo necesita un dispositivo pequeño, si no que a su vez sea potente, con capacidad de conectarse a internet, texto, llamadas, etc. Lo que necesitaría un gran número de dispositivos de hardware para implementarlo. Los dispositivos FPGA y DSP entre otros, permiten reemplazar componentes mediante líneas de código en la programación. En el siguiente esquema se observa la arquitectura de un Radio Definido por Software.

Fig. 1.2 Sistema típico de Radio Definido por Software.

Para entender mejor las ventajas primero entendamos el funcionamiento de las partes que componen al receptor del ejemplo anterior, los dispositivos que realizan funciones analógicas, no pueden ser mejoradas digitalmente, como son: Antenas, Filtrado RF, Combinación RF, Preamplificación de recepción, Transmisión de potencia de amplificación y generación de frecuencia de referencia.

(16)

9

Fig. 1.3 Arquitectura Ideal de Transmisores de RDS.

La arquitectura empuja la etapa de conversión analógica hacia la derecha los más cerca posible de la antena, en este caso se prioriza al amplificador de potencia (PA) en el transmisor y después al amplificador de bajo ruido (LNA) en el receptor. La separación de portadoras y la conversión de frecuencias altas y bajas a banda base es mejorada por los medios de procesamiento digital. De igual manera la codificación del canal y las funciones de modulación son mejoradas digitalmente en banda base por los mismos medios de procesamiento.

El software para una arquitectura ideal es en capas, entonces el hardware es completamente abstracto de la aplicación de software. Una capa intermedia logra esa funcionalidad cubriendo los elementos del hardware como objetos y proveyendo servicios que permiten a los objetos comunicarse unos con otros mediante interfaces estándar, por ejemplo CORBA (“Common Object Request Broker Architecture”, “Arquitectura Común de Intermediarios en Peticiones a Objetos”). La capa intermedia incluye: sistema operativo, drivers, recursos de administración y otras aplicaciones no específicas de software. La combinación del hardware y la capa intermedia frecuentemente se llama Framework.

Los diseños futuros de SDR y Framework que usan API abierta en capa intermedia, hará el desarrollo de aplicaciones más portables, rápidas y más baratas. Los desarrollos de aplicaciones serán liberados para diseñar programas en hardware de bajo nivel y permitirán concentrar en bloques, más complicados y complejas aplicaciones [8].

1.4 Arquitectura de Software para un RDS.

Este punto es muy importante para asegurar el mantenimiento, expansión, compatibilidad y escalabilidad de los Radio Software[9]. El software necesita estar informado de las capacidades del hardware en ambos extremos del enlace de comunicación para asegurar la compatibilidad y hacer el máximo uso de los recursos de hardware. De este modo lo ideal de la arquitectura permite al hardware el uso apropiado del software intermedio (middleware), el cual sirve como interface entre el software orientado a las aplicaciones y la capa de hardware.

La arquitectura de Hardware para el procesamiento digital de la señal se implementa mediante dispositivos de lógica programable como son DSP, FPGA, u otros dispositivos antes mencionados, para que en estos dispositivos se implemente una aplicación, se hace uso de lenguajes de descripción de hardware (VHDL, Verilog, ABEL HDL, entre otros).

(17)
[image:17.612.207.435.68.408.2]

10

Fig. 1.4 Configuración básica de la arquitectura de hardware para un RDS.

La configuración básica de la arquitectura de hardware de un RDS, consta de 8 capas que a su vez se comunican entre ellas y tienen algo en común, que es la infraestructura de hardware, que seguirá siendo el mismo, y los ajustes que sean necesarios serán realizados a través de software. A continuación explicamos que hace cada capa de esta arquitectura.

Unidad de enlace (Antena):

Se requiere una antena de baja pérdida y de banda ancha ya que se pueden usar por varios sistemas de comunicación móvil.

Unidad de procesamiento de RF:

Del transmisor las señales vienen en una unidad de frecuencia intermedia (UFI), y son convertidas en señales de una frecuencia más alta, en el caso del receptor las señales recibidas por la unidad de antena se amplifican a un nivel constante y son convertidas a una banda base.

Unidad de procesamiento de señal de frecuencia intermedia (UFI):

Las señales de la unidad de conversión analógica a digital y digital a analógica (CAD/CDA) son convertidas a señales de la banda de FI, amplificadas y transferidas a la URF del transmisor, en el receptor las señales de URF son amplificadas para el procesamiento de la señal en la UFI y directamente convertidas a unidad de banda base.

(18)

11

La señal digital de la unidad es convertida a una analógica y transferida a una unidad de banda de frecuencia superior (UFI o URF). En el receptor las señales de la UFI son amplificadas para el ADC convirtiéndose en digitales.

Unidad de procesamiento de la señal de banda base (UBB):

Aquí los datos se modulan digitalmente y se transfieren al CAD/CDA del transmisor.

Unidad de control de transmisión (UCT):

Configura el formato de flujo de bits que entran por la UBB a través del protocolo de transmisión en la capa de control de acceso al medio (CAM), en el caso del receptor, los datos detectados de la UBB son verificados de acuerdo al formato de datos de transmisión de la capa de control de acceso al medio.

Unidad de procesamiento de entrada/salida (UES):

En la estación móvil todos los datos de información vienen en un equipo portátil, ya sea PDA, PC, etc. Y todos los datos recibidos regresan a estas terminales o a las computadoras, estas unidades de entrada/salida tiene el propósito de realizar conexiones flexiblemente con las terminales externas.

Unidad de procesamiento de temporización extremo a extremo (UPT):

Control en retraso entre el transmisor y el receptor.

1.5 Beneficios del uso de Radio Definido por Software.

En los hogares comunes proliferan los controles remotos, nuestras vidas cada vez están llenándose de dispositivos inalámbricos, pero incompatibles entre sí, desde teléfonos celulares hasta el walkietalkie para bebés. Aun teniendo diferentes funciones, estos aparatos comparten tecnología muy similar: transmisores y receptores, baterías y antenas. Ya existen controles remotos universales, ¿Por qué no dispositivos inalámbricos Universales?

Para esto es el Radio Definido por Software[10].

Ventajas para el usuario:

De forma genérica, las ventajas más significativas que traería RDS para el usuario son las siguientes:

 Evitar la acumulación de aparatos en casa, puesto que con un mismo equipo se pueden utilizar distintos sistemas de radio.

 Alargar la vida útil de los aparatos de consumo y de los terminales móviles, gracias a la posibilidad de ser actualizados.

 Disponer de un terminal configurado específicamente para trabajar con el sistema de radio necesario (dependiendo del país, del uso del espectro de radio o de la evolución de la tecnología).

Ventajas para las compañías de Telecomunicaciones:

Las ventajas para un operador de telecomunicaciones son similares, basadas en conseguir que los equipos radio se parezcan a computadoras personales programables, de modo que con solo actualizar su software se consiga que realicen otras funciones.

Concretamente hablando de los beneficios, son los siguientes:

 Ofrecer nuevos servicios manteniendo el hardware existente.

 Facilitar el despliegue de nuevas redes o la evolución de las existentes, de una manera más económica, reduciendo los costes de operación y explotación.

(19)

12

1.6 La televisión Digital

Recientemente se está llevando a cabo una reconstrucción de la manera en que funciona la televisión y como está siendo presentada a los usuarios, hablamos de la televisión digital, una nueva manera de transmitir en la cual las televisoras le ofrecen al espectador una experiencia de mayor calidad de audio y video en alta definición (HD), mas robustez contra las interferencias y que ofrece varias elecciones de programación e incluso capacidades interactivas.

Existen diversas razones para que se esté implementando el cambio de televisión analógica a digital pero aparte de las mejoras que promete la televisión digital, hay beneficios adicionales para el consumidor. Las televisoras manejaran características como el multicasting, un esquema de transmisión donde un solo canal puede ofrecer varias opciones de programación al mismo tiempo, es decir no solo existirá el canal 5, sino que puede haber el canal 5-1 con una programación y un canal 5-2 ó un 5-3 con una programación distinta. También se suma a estas características la posibilidad de incluir servicios de información y datos en los programas de TV, que brindan un nivel de interactividad con el usuario, que no era posible con la televisión analógica pues la comunicación puede ser de una o dos vías y así permitirle al televidente participar directamente con el contenido del programa.

Otro punto que destaca cuando se piensa en la transición a la televisión digital, es que el ancho de banda requerido para la televisión digital es mucho menor al de su contraparte analógica, el cambio a transmisiones digitales ayudara a hacer un uso más eficiente del espectro radio eléctrico. Las frecuencias que se liberen podrán ser usadas para otro tipo de transmisiones, tales como ampliar la banda policiaca y de servicios de emergencia, así como también servicios inalámbricos más avanzados [1].

En nuestro país la liberación de banda supone también una ganancia para el gobierno pues al hacer espacio en el espectro radio eléctrico, este espacio puede alquilarse para su uso comercial:

“Recursos provendrán de manera casi inmediata de lo que recaude el gobierno federal por la licitación del espectro en la banda de 700 MHz, que es la que ocupan las televisoras para sus transmisiones y cuyo proceso

de asignación aportará al Estado alrededor de 10 mil millones de dólares.”

Mony de Swaan, presidente de la Comisión Federal de Telecomunicaciones (Cofetel) [11].

En algunos países el cambio a la transmisión de señales televisivas digitales ya ha sido adoptado, por ejemplo en Estados Unidos el cambio se completó el 12 de junio del 2010, a partir de ese día todas las televisoras de ese país transmiten señales digitales.

En México el cambio está previsto de la siguiente manera; Para octubre del 2011 el apagón analógico se llevara a cabo en las ciudades fronterizas del norte y para 2012 se llevara a cabo en ciudades más pobladas de la república como la ciudad de México y Guadalajara, el gobierno tiene previsto un calendario de transición que abarca hasta el año 2015 [12].

Aunque el cambio hacia la televisión digital es un paso en la dirección correcta, este cambio también significa un sacrificio para los televidentes del todo el país pues las televisiones que no estén preparadas con un receptor digital, no podrán captar señal alguna y aunque esto no signifique que estas televisiones viejas sean completamente inútiles, si estaremos forzados a adquirir un receptor digital.

1.7 El estándar DVB

En el medio de la transición de la televisión analógica a digital, se encuentra una organización europea formada en 1993 que se encarga de visualizar e implementar la llegada de las trasmisiones digitales a los hogares.

(20)

13

El proyecto DVB no es financiado ni controlado por alguna corriente política, en su lugar este tiene sus propias metas, políticas y reglamentos. Guiado por tres características clave: abierto, interoperable y guiado por el mercado el proyecto busca acordar que cambios se deben realizar para la implementación de las transmisiones digitales, y lograr una serie de acuerdos y propuestas que servirían a diversos sectores del mercado.

El proyecto DVB es representativo de diversos sectores en el ámbito de las comunicaciones podemos decir que está compuesto por: Fabricantes de equipos, televisoras operadores de redes y satélites, así como organismos regulatorios como la junta europea, cada uno de ellos aporta su propia experiencia lo que permite que se trabaje con diversos puntos de vista que enriquecen el desarrollo del proyecto.

El proyecto está conformado de una manera modular, cada módulo tiene las funciones que se describen a continuación:

Junta ejecutiva:

Se encarga de tomar decisiones basadas en los reportes regulares de los demás módulos.

Modulo comercial:

Es responsable de formular los “requerimientos del usuario”, sus funciones son orientadas al mercado.

Módulo de derechos de propiedad intelectual:

Como su nombre lo indica este módulo lidia con las situaciones que involucran derechos autor y derechos de propiedad.

Módulo de promoción y comunicaciones:

Se encarga de publicar los logros del proyecto que sean dignos de mención y hace publicidad del proyecto a instancias internacionales que estén interesadas en implementar DVB.

Modulo técnico:

Es el modulo que se encarga del desarrollo tecnológico y el cumplimiento de las especificaciones requeridas por DVB.

La tarea inicial del proyecto DVB fue la creación de un esquema de transmisiones que llevara la televisión digital a los consumidores usando los medios de transmisión tradicionales, esto quiere decir utilizar los medios existentes para la transmisión de señales digitales, por satélite así como terrestres y por cable (DVB-S, DVB-T, DVB-C)

Un paquete completo para transmisión digital.

Hoy en día se puede considerar el proyecto DVB como un éxito, con más de 500 millones de unidades a nivel mundial que trabajan con algún estándar DVB, incluyendo 150 millones de receptores para DVB-T que ha crecido exponencialmente en los últimos años, cabe mencionar que DVB-C es el sistema de televisión por cable digital más usado en el mundo. 100 millones de dispositivos satelitales son compatibles con DVB-S, es la base para la televisión digital satelital en prácticamente todas partes, tales avances en la penetración del mercado han provocado que los costos de los equipos disminuyan su precio lo que al final beneficia al usuario.

El estándar de transmisión digital DVB-S es el más ampliamente usado en el mundo y es el único sistema de televisión satelital en Europa, gracias a su éxito han aumentado las oportunidades para la adopción de los demás estándares [13].

1.8 Como Funciona DVB

(21)

14

Fig. 1.5 Esquema del transmisor para DVB-S

DVB, hace uso del codificador MPEG-2 (Moving Pictures Experts Group 2) para hacer “contenedores” que pueden llevar cualquier tipo de dato, desde audio, texto o inclusive información complementaria para un programa.

Los datos en el bloque transmisor son procesados de la siguiente manera:

Inversión de los bits de sincronismo:

Se invierten los bits en uno de cada ocho paquetes de la trama de transporte.

Inserción de un código aleatorio a la trama resultante:

La adición de éste código pretende garantizar que las características estadísticas de los datos sean prácticamente aleatorias.

Adición de un código de detección y corrección de errores de Reed-Solomon:

Este código se denomina código externo y es común en todos los estándares del DVB. Introduce 16 bytes de redundancia para cada paquete de 188 bytes.

Aplicación de un entrelazado convolucional:

Tiene el objetivo de dispersar las ráfagas de errores de canal, si se produce una ráfaga de errores, debida a un desvanecimiento del canal, podrán eliminarse usando las propiedades correctoras de los códigos interno y externo.

Inserción de un segundo código protector de errores:

Este código recibe el nombre de código interno y es de naturaleza convolucional, introduce un grado de redundancia que puede configurase para adaptarse a las características del sistema que desee utilizar (potencia de transmisión, tamaño de las antenas transmisoras y receptoras, tasa de datos disponible, etc.).

Modulación de la portadora mediante QPSK (“Quadrature Phase Shift Keying”, “Codificación por Cambio de Fase Cuadrática”).

(22)

15

Fig. 1.6 Esquema del receptor para DVB-S.

Ecualización de canal:

Es una técnica para combatir la interferencia intersimbólica (ISI), ocasionada por la propagación multicamíno

Decodificador convolucional:

El decodificador Viterbi es la contraparte del codificador convolucional, la decodificación de los códigos convolucionales se realiza mediante el algoritmo de Viterbi, la codificación convolucional a diferencia de la codificación Reed-Solomon, garantiza protección a nivel de bit.

Decodificador Reed-Solomon:

El codificador Reed-Solomon toma un bloque de información digital y añade bits redundantes, errores pueden ocurrir durante la transmisión o almacenamiento de información, el decodificador procesa cada bloque e intenta corregir los errores y recuperar la información original.

Desaleatorización:

Anulación de datos aleatorizados.

Decodificador MPEG-2:

Incluye los filtros necesarios para la interpretación de datos codificados con MPEG-2.

DVB, más allá de ser solamente una pauta para la transmisión de video digital, tiene la capacidad para transmitir cualquier tipo de dato que sea requerido por el cliente, hace uso del codificador MPEG-2 para hacer “contenedores” que pueden llevar cualquier tipo de dato, desde audio, texto o inclusive información complementaria para un programa televisivo.

Una característica realmente importante y que muestra el concepto de interoperabilidad de los diferentes estándares de DVB, es que comparten similitudes entre sí.

Tabla 1.1 Comparación entre estándares DVB

DVB-T DVB-S DVB-C

Codificación de Video MPEG-2

Codificación de Audio MPEG-1 (Capa 2)

Codificador externo Reed-Solomon

Entrelazado Si

Codificador interno Codificación Convolucional - - -

Modulación COFDM QPSK QAM 16 a 64

(23)

16

La única diferencia entre DVB-S y los otros dos propuestos por el DVB (cable y radiodifusión terrestre), es el tipo de modulación y la codificación de canal empleadas, esto permite trabajar con los tres estándares de maneras similares pues solo se deben ajustar partes especificas del equipo para implementar uno u otro.

1.9 Equipos Compatibles con DVB

Actualmente en el mercado se ofrecen diferentes opciones de equipos compatibles con DVB, compañías como: TI Technologies, DiBcom, Freescale, Micro Tune, Packet Video, Philips, Samsung, Siano, ST y Texas Instruments fabrican chips receptores de DVB.

Compañías fabricantes de equipos móviles de renombre entre las cuales podemos mencionar:

LG Electronics, Motorola, Nokia, Sagem, Samsung, Siemens/BenQ y Sony Ericsson, están incorporando a sus equipos la compatibilidad con el estándar DVB-H (“DVB Handheld”, “DVB portátil). [14]

La mayoría de equipos de recepción disponibles en el mercado, son tarjetas para equipos de cómputo, similares a las tarjetas de audio o las aceleradoras de gráficos, se conectan a los puertos de la tarjeta madre de una PC y realizan el procesamiento de las señales compatibles con DVB. Anvimur, Pericom, Sochuang y Sonicview son algunos de los fabricantes.

Una característica de estos equipos, es que son construidos con ASIC (“Application Specific Integrated Circuit”, “Circuitos Integrados de Aplicación Específica”) por lo que no pueden operar de manera distinta a la que fueron diseñados.

1.10 Ventajas de la implementación de DVB

Las ventajas de la implementación del estándar DVB son diversas, de acuerdo a las necesidades de los países latinoamericanos podemos señalar las principales [15]:

 La decisión sobre el estándar de TV digital tendrá implicaciones de largo plazo (los consumidores cambian de móvil en promedio cada 2 años y de TV cada 8 años).

 DVB es la solución que ofrece más garantías para el desarrollo de la TV Digital en Latinoamérica.

 DVB es el estándar más usado en el mundo (121 países en los cinco continentes) es el único estándar global.

 DVB es el estándar más económico debido a sus amplias economías de escala y una mayor competencia entre fabricantes de equipos (suministrado por todos los principales fabricantes mundiales).

 DVB es el estándar Más comprobado tanto desde los puntos de vista técnico como comercial.

 Ya está implementado en cuatro decenas de países en todo el mundo, inclusive en países con condiciones geográficas idénticas a las de los países latinoamericanos.

 DVB es el estándar más versátil, que permite flexibilidad de modelos de negocio para adecuarse a las condiciones socio-económicas del país, incluyendo: Alta definición y multiprogramación.

 Interactividad (servicios de interés social (para la educación, salud, etc.) y de valor añadido basados en un estándar global, GEM/MHP).

(24)

17

 Produce más desarrollo de la industria local (hardware + software) y mayores posibilidades de exportación software) y mayores posibilidades de exportación.

(25)

18

(26)

19

2.1 Introducción

Para cada sistema digital, desde medios de almacenamiento digital como CD, DVD y discos duros, hasta sistemas de envío y recepción de señales digitalizadas, existen pérdidas o degradación de la información, para lidiar con los posibles errores se han implementado técnicas de control y corrección de errores, que aunque varían en funcionamiento, tienen el propósito común de ayudar a mantener la integridad de la información. En este capítulo se analizaran algunas de las herramientas utilizadas para la prevención y corrección de errores, cuando se transmiten señales digitales mediante un canal, estos métodos de protección para la información, son indispensables para rectificar los errores que se pudieran generar durante la transmisión.

De todas las maneras de lograr la protección de las señales, algunas meramente teóricas como el aumento infinito de la potencia de transmisión, la más utilizada por su simplicidad de implementación y eficacia, es la codificación de canal, esta convierte los bits de información a palabras código que son fáciles para el receptor de identificar y verificar si han sido corrompidas.

Aunque existen diversos códigos de canal, el propósito del presente es analizar los códigos convolucionales, desde su teoría y su generación, hasta los beneficios que conllevan para una más eficiente protección de datos para las telecomunicaciones actuales. Es de particular interés analizar el funcionamiento del bloque decodificador de códigos convolucionales para los sistemas de comunicación, para dar una perspectiva de los métodos y algoritmos, que son utilizados para el proceso de decodificación.

2.2 Codificación para control de errores.

Desde el comienzo de las comunicaciones a distancia, llevar las señales de un lugar a otro no ha sido el único inconveniente, sino que asegurarse que el mensaje correcto llegue al otro extremo, es de vital importancia. Cuando se realiza una transmisión de señales, la transmisión es susceptible a diversas fallas que causan que la información entrante al receptor sea errónea o poco confiable. Cuando dichas fallas afectan señales analógicas, la mayoría de las veces la información transmitida se pierde, sin embargo el procesamiento y transmisión de señales digitales, permite que la información afectada pueda ser recuperada.

Para los sistemas digitales de comunicaciones hay dos causas principales que influyen en el deterioro de la señal recibida. La primera es el ruido introducido por el propio canal de comunicaciones ya que durante la transmisión, factores como el clima, la humedad o la proximidad del canal con fuentes de interferencia electromagnética, provocan que haya errores en los datos enviados.

Algunos métodos de transmisión son más robustos que otros, por ejemplo los sistemas de transmisión por cable y satélite son menos hostiles que los de radiodifusión terrestre, pues los primeros utilizan un medio más estable como el cable o la fibra óptica. El mayor problema que estos medios enfrentan es la atenuación, aun así los efectos de esta pueden ser fácilmente compensados. La segunda es el ruido de cuantización, que es resultado del mismo proceso de codificación y se introduce inevitablemente como consecuencia de este proceso.

Estos errores provocan que la señal reconstruida por el receptor no sea la misma que la señal transmitida. La fidelidad de la transmisión de información se mide en términos de la tasa de errores que nos indica la probabilidad de que el símbolo a la salida del receptor sea diferente al símbolo enviado por el emisor.

En las señales analógicas la degradación de la señal es tolerable a medida que va aumentando y la señal puede ser recibida en condiciones aceptables en un rango considerable de distancias. Para los sistemas digitales el cambio en la señal producido por el ruido es muy brusco y se pasa de una recepción satisfactoria a una recepción nula muy rápidamente, la señal deja de recibirse cuando la tasa de errores aumenta por encima del valor que es capaz de manejar el receptor.

(27)

20

los límites de la capacidad de corrección del receptor se pueden usar otras técnicas que ayuden a reducir los efectos visibles y así obtener una mejor calidad de señal que su contraparte analógica.

Los primeros intentos para lograr la detección de errores en sistemas digitales fue emplear un método simple que añadía información extra a los símbolos eran transmitidas, el principal método en esta categoría fue basado en el cómputo de paridad, consiste en agregar uno o más bits a cada palabra código de forma que el número total de bits de una palabra código sea par o impar.

En el siguiente ejemplo se puede apreciarse el uso del sistema de detección de errores usando bits de paridad. Supóngase un código octal en el que cada símbolo se representa usando tres bits de la forma siguiente:

0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111

Supóngase a una que cuando se transmite el símbolo correspondiente al 2 (010) se produce un error y el lugar de recibir el código 010 se recibe 011 que es el símbolo del número 3, en este caso el receptor no tiene manera de saber que el símbolo recibido no es el enviado y que la información que entregue a su salida será falsa. Ahora sí en el transmisor se agrega un bit adicional (de paridad) a cada símbolo de manera que el número total de bits en cada símbolo seas siempre par, la tabla de códigos quedaría de la siguiente manera:

0 0000 1 0011 2 0101 3 0110 4 1001 5 1010 6 1100 7 1111

En el receptor los tres bits más significativos son separados del bit de paridad y entonces se calcula la paridad del símbolo recibido, si los bits de paridad recibidos y los generados en el receptor no coinciden será indicación de que se produjo un error en la transmisión.

Este método de detección de errores es simple pero está muy limitado ya que no permite identificar si el error está en los bits de información o en los bits de paridad, al no poder definir la naturaleza del error no puede corregirlo directamente. Este método es suficiente para muchas aplicaciones pero no para transmisión de información más compleja como la televisión, el efecto de un error de bit en un sistema de vídeo depende de la posición significativa de ese bit, si él error es en el bit menos significativo del símbolo el efecto será apenas notable, pero un error en el bit más significativo causará un deterioro importante de la señal.

Puesto que los bits sólo tienen dos estados (uno o cero) cuando un error es detectado puede corregirse fácilmente simplemente invirtiendo el valor del bit. Actualmente los sistemas de protección contra errores son capaces de corregir casi todos los errores de un solo bit, el primer paso en la corrección de errores es su detección, existen dos formas de aplicar la redundancia para el control de errores.

(28)

21

El segundo tipo de control de errores se conoce como corrección de errores hacia adelante o FEC por sus siglas en inglés, en este caso los bits allegados a la información no sólo permiten la detección de un error sino que están configurados de tal manera que el receptor puede detectar la posición del error en la secuencia de bits y corregirlo. La detección y corrección de errores requiere de métodos de codificación para la transmisión, que constituyen secuencias estructuradas que se incluyen en los datos de la fuente, esta codificación de secuencias estructuradas, se conocen como codificación de línea y se divide en dos categorías: codificación de bloques y codificación convolucional, los códigos de línea deben utilizarse para mantener la integridad y confiabilidad de los datos, el tipo de código de línea que se utilizará para la transmisión es determinado por el proveedor del servicio de transporte.

El primer tipo, la codificación de bloques se basa en crear un alfabeto para el receptor el cual comparará con la información recibida para verificar que el símbolo sea una palabra código válida, cabe mencionar que este tipo de codificaciones tendrá más bits a la salida, que a su entrada el costo se verá reflejado en el ancho de banda y la velocidad requeridos en el canal de transmisión, pues estos deberán serán mayores a los requeridos para una transmisión convencional.

La codificación convolucional tiene la ventaja de expandir el alfabeto sin aumentar el ancho de banda requeridos para la transmisión de la información original, lo que posibilita corregir errores usando técnicas propias [16].

2.3 Codificación de línea para DVB.

La codificación de canal usada para el estándar DVB consiste en una serie de pasos que preparan la señal para ser transmitida, y que la protegen de las posibles fallas en la transmisión, el esquema de la codificación de canal para el estándar DVB-T, se ilustra en la siguiente figura.

Fig. 2.1 Codificador de canal en DVB-T.

El interés del presente se centrará en el llamado codificador interno, que funciona mediante una codificación convolucional, la cual se describirá más a fondo posteriormente en este capítulo.

En el entorno de la radiodifusión terrestre, los efectos multicamino pueden causar deterioros frecuentes a la información digital por lo que no es suficiente usar una sola etapa de codificación para la protección contra errores, pues a pesar de la considerable reducción de la tasa de errores que se logra utilizando una codificación de línea, la gran cantidad de información transmitida en un sistema de vídeo digital, causa que los errores sucedan con relativa frecuencia estos serían suficientes para hacer la visualización desagradable al espectador.

(29)

22

2.4 Códigos Convolucionales

Los códigos convolucionales son una forma de codificación de canal secuencial, usada para introducir redundancia a la información y así proteger la integridad de la misma, son un poco diferentes a los códigos de bloque en su forma estructural y son mayormente usados para proteger la información en canales ruidosos, son usados ampliamente para las comunicaciones satelitales pues estos códigos tiene muy buena capacidad correctora aún bajo condiciones adversas, con probabilidades de error del rango de 10-3. A menudo son preferidos y prueban ser más eficientes que los códigos de bloque (que tengan una complejidad similar de codificación/decodificación).Cabe mencionar que el estándar DVB optó por esta codificación de canal para sus sub estándares, podríamos entonces considerar que los códigos convolucionales son el método de codificación de canal más ampliamente usado para sistemas de comunicaciones prácticos.

Para la generación de estos códigos, se hace pasar una secuencia de información por un registro de corrimiento lineal, a diferencia de los códigos de bloque, las palabras de un código convolucional no se generan únicamente con los bits de la información actual sino que también hace uso de los bits anteriores en el tiempo, por ello los codificadores convolucionales son considerados sistemas con memoria, la operación de codificación puede verse como una operación de filtrado (convolucion) por lo que un codificador convolucional puede describirse como una serie de filtros digitales, lineales e invariantes en el tiempo, siendo la secuencia del código la salida del filtrado.

En general un código convolucional queda en función de tres parámetros, m, k y n. El registro de corrimiento debe consistir de m etapas, de k bits y n generadores de funciones algebraicas, por lo que para definir cualquier código convolucional, se utilizan esos tres parámetros como sigue a continuación[18]:

n.- es el número de bits de la palabra codificada a la salida del codificador. k.- es el número de bits de la palabra en la entrada de datos.

m.- el número de registros de memoria.

La relación de k/n=R es conocida como relación o taza de código (ratio), así como para los códigos de bloque proporciona una medida de la eficiencia de codificación.

Los bloques de memoria están unidos entre sí de tal manera que a cada pulso de reloj carga el contenido de ellas al bloque de memoria siguiente, los codificadores simples funcionan en un sentido determinado, sin embargo existen codificadores retroalimentados que toman el resultado del operación suma y lo añaden a la entrada como retroalimentación.

La respuesta del codificador queda determinada por la manera en que cada uno de los n sumadores calcula los respectivos bits de salida, si la entrada del codificador consiste únicamente de una secuencia no codificada se habla de códigos no recursivos, ahora sí a la secuencia no codificada se le suman algunos de los valores en los registros de corrimiento el resultado será un código recursivo.

Un ejemplo de un código recursivo se muestra en la figura 2.2, donde la entrada no solo son los bits que llegan, sino que a ellos se suman los bits de la salida 1[19]

(30)

23

En forma y función para la práctica, k y n suelen variar de 1 a 8, m de 2 a 10 y R de 1/8 a 7/8, aunque para propósitos particulares se han utilizado tazas de orden tan bajo como 1/100 lo que significa en otras palabras un codificador convolucional que entrega 100 bits a la salida por cada bit que entra.

Es común que los fabricantes de circuitos integrados especifiquen los parámetros del código convolucional como (n, k, L) donde L está dada por L = k (m-1) y representa el número de bits en la memoria del codificador, previos al bit actual de entrada que afectan a la generación del código.

Otro parámetro importante de los codificadores Convolucionales es conocido como Longitud de constricción, este parámetro se refiere a que si un codificador tiene m etapas de memoria habrá m bits del mensaje almacenados en cada una, por lo tanto se necesita un corrimiento más para que finalmente salga un bit del mensaje, finalmente ese corrimiento queda representado por:

Los bits de información son introducidos en los registros de corrimiento y los bits de salida codificados son obtenidos mediante sumadores módulo 2, que suman los bits de información y el contenido de los registros de corrimiento.

En la figura siguiente se muestra el diagrama de bloques genérico de un codificador convolucional, en el que cada secuencia de entrada de k bits es mapeada en una secuencia de salida de n bits. Se puede apreciar que un codificador convolucional está formado por un registro de desplazamiento de Lk bits, que se conecta a tantos sumadores módulo 2 como bits de salida se deseen [18].

Fig. 2.3 Representación del codificador convolucional.

La fuerte estructura matemática a la que está sujeta la generación de códigos convolucionales, asegura que, toda la codificación pueda ser representada mediante una expresión algebraica, aunque a diferencia de los códigos de bloque, en los cuales el código se obtiene mediante una matriz generadora, el caso de los códigos convolucionales se vale de n secuencias generadoras, como se muestra en el siguiente ejemplo:

(31)

24

Para el ejemplo de la figura los polinomios generadores son:

Finalmente los polinomios del codificador usualmente se representan con notación octal siendo el primero “1111001” = 171 y el segundo “1011011” = 133, si observamos el ejemplo notaremos que la longitud de constricción es 7.

Hay que hacer notar que un codificador convolucional es un sistema semifinito, debido a que si bien los bits de entrada pueden ser infinitos, el sistema no arroja resultado hasta que ingresa el primer uno, esto quiere decir que podemos asumir que todos los estados anteriores a la entrada del primer bit, son cero.

Dado que la escritura se vuelve excesivamente larga cuando la entrada se trata de una serie de bits en lugar de uno solo, para representar la serie de bits a la entrada se utiliza la notación:

Donde C es la salida del codificador con el subíndice representando de cuál de todas las salidas se trata y mk

es una serie de bits de entrada, y sus respectivos corrimientos. [19]

Tomando otro ejemplo donde se tiene un codificador convolucional, con parámetros: R=1/2, m=2, K=3 y dos sumadores como se muestra en la figura.

Fig. 2.5 Codificador de R=1/2 m=2, n=2, K=3

Si se introduce una serie de entrada:

{ }

Las salidas (C1 y C2) que obtendríamos serian:

{ }

{ }

Finalmente podemos encontrar la función de transferencia para cada salida, mediante sus polinomios generadores [20]:

Figure

Fig. 1.4 Configuración básica de la arquitectura de hardware para un RDS.
Fig. 2.7 Diagrama de estados de un codificador convolucional.
Fig. 3.5 Diagrama de Trellis durante el proceso de decodificación.
Fig. 3.7 Primer nivel.
+7

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que