94
INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA La modulación Codificada Entramada (TCM) en los nuevos estándares de comunicación T E S I S Que para obtener el título de Ingeniero en Comunicaciones y Electrónica P R E S E N T A Hector Flabio Balderas Serrato ASESOR: M. en C. Miguel Sánchez Meraz México, D. F. 2008

INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y

ELÉCTRICA

La modulación Codificada Entramada (TCM) en los nuevos estándares de comunicación

T E S I S

Que para obtener el título de Ingeniero en Comunicaciones y Electrónica

P R E S E N T A

Hector Flabio Balderas Serrato

ASESOR: M. en C. Miguel Sánchez Meraz

México, D. F. 2008

Page 2: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITÉCNICO NACIONAL

ii

AGRADECIMIENTOS

Quiero agradecer a Dios por haberme permitido llegar a esta meta que me había propuesto y por

la familia que me dio, pues sin su apoyo este trabajo sería definitivamente imposible.

También un agradecimiento a todos y cada uno de mis maestros que, desde mi formación

preescolar, han contribuido a hacerme el profesional que hoy soy.

Al Maestro Miguel Sánchez por la oportunidad que me dio de trabajar con él y el apoyo que me

brindó como asesor para poder desarrollar este trabajo.

Al Dr. Antonio Osorio y al M. en C. Floriberto Ortiz por haber dedicado parte de su valioso

tiempo para, con su experiencia y conocimientos, realizar correcciones y observaciones al trabajo

y con ello lograr de éste una tesis de calidad.

A mis compañeros y amigos que compartieron conmigo opiniones, conocimientos, preguntas,

respuestas, etc.

A todos ustedes MUCHAS GRACIAS.

HECTOR

Page 3: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITÉCNICO NACIONAL

iii

ÍNDICE DE FIGURAS

FIGURA 1: Esquema general de un sistema de comunicaciones digitales (tomada de [3])...…. 8

FIGURA 2: Modelo en tiempo discreto de un sistema LMDS utilizando TCM……………..… 16

FIGURA 3: Codificador Convolucional…………………………………………………..…… 22

FIGURA 4: Codificador convolucional de razón ½ (tomada de [5])……………………..…… 23

FIGURA 5: Codificador sistemático con R= ½ (tomada de [5]) ……………………..……… 24

FIGURA 6: Codificador, diagrama de estado y diagrama trellis de un codificador con

G(x) = [1+ x2, 1+ x + x

2] (tomada de [5]).................................................................................... 26

FIGURA 7: Codificador convolucional sistemático (n, n-1,m) con

retroalimentación (tomada de [9])……………………………………………………..………. 28

FIGURA 8: Codificador convolucional de cuatro estados y R= 2/3 (tomada de [9])………..… 28

FIGURA 9: Codificador convolucional sistemático (3, 2, 2) con

retroalimentación (tomada de [9])………………………………………………………..…….. 29

FIGURA 10: Etapas de procesamiento de un código convolucional…………………..………. 30

FIGURA 11: Notación asociada con la transición de estados (tomada de [5])……...………..... 32

FIGURA 12: La etapa Viterbi: Selección de la trayectoria con la mejor

métrica (tomada de [5])……………………………………………………………………..….. 33

FIGURA 13: Trayectoria a través de la trellis que corresponde al ejemplo de

decodificación con el algoritmo de Viterbi………………………………………………..……. 35

FIGURA 14: Decisiones suave y dura de un decodificador de Viterbi……………………..…. 41

FIGURA 15: Diagrama trellis para el código [133,171] R= ½ y K=7…………………..…….. 41

FIGURA 16: Trellis repetitiva para el codificador [133,171] con decodificación

con el algoritmo de Viterbi…………………………………………………………………..…. 42

FIGURA 17: Decodificación hacia atrás para ui ………………………………………..……… 42

FIGURA 18: Ilustración de una decodificación con decisión suave………………………..….. 43

Page 4: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITÉCNICO NACIONAL

iv

FIGURA 19: Codificador/ modulador de Ungerboeck [1 y 2]…………………………..……... 44

FIGURA 20: (a) Modulador básico; (b) modulación codificada……………………..………… 45

FIGURA 21: Ejemplo práctico del funcionamiento de TCM……………………..…………… 46

FIGURA 22: Constelaciones PSK………………………………………………………..…….. 47

FIGURA 23: Particionamiento de conjuntos de una constelación 8-PSK………………..….... 49

FIGURA 24: Diagrama de bloques de un codificador TCM…………………………..……...... 50

FIGURA 25: Esquema TCM: a) Codificador convolucional; b) Trellis de 4 estados;

c) mapeo de los bits codificados (c1, c2, c3) en los puntos de señal……………………..….…. 50

FIGURA 26: Determinación de la distancia mínima en la trellis………………………..……... 51

FIGURA 27: Implementación de TCM 8-PSK con codificador retroalimentado………..…….. 54

FIGURA 28: Diagrama no retroalimentado del esquema 8-PSK de la fig. 27…………..…….. 55

FIGURA 29: Codificador de cuatro estados utilizado en esquemas TCM 8-PSK…………..…. 55

FIGURA 30: Forma no retroalimentada del codificador de la figura 29…………..…………… 56

FIGURA 31: Esquema general de simulaciones realizadas……………………..……………... 57

FIGURA 32: Diagrama de flujo de un codificador/decodificador convolucional………..…….. 59

FIGURA 33: Imagen de la pantalla que presenta el programa que simula la

codificación convolucional y la decodificación con el algoritmo de Viterbi

de una secuencia de datos………………………………………………………………..……... 61

FIGURA 34: Diagrama de flujo de un codificador/ decodificador con ambos tipos de

decodificación………………………………………………………………………..…………. 63

FIGURA 35: Tasa de Error de Bit (BER) como función de la RSR para un

codificador R= ½ con una ventana de 32 bits y decodificación con el algoritmo

de Viterbi usando decisión dura………………………………………………………....…….. 65

FIGURA 36: BER como función de la RSR para un codificador R= ½ con una

ventana de 32 bits y decodificación con el algoritmo de Viterbi usando decisión

suave con 8 niveles de cuantización……………………………………………………………. 66

FIGURA 37: Decisión suave adaptada según la RSR que se proporciona como argumento…... 67

Page 5: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITÉCNICO NACIONAL

v

FIGURA 38: Resultados teóricos vs. canal AWGN simulado……………………………….... 68

FIGURA 39: Modelo Simulink utilizado para simular un sistema de codificación

convolucional con decodificación basada en el algoritmo de Viterbi con decisión suave…....... 69

FIGURA 40: Parámetros del generador de datos de Bernoulli………………………………… 70

FIGURA 41: Parámetros del bloque codificador convolucional……………………………….. 71

FIGURA 42: Parámetros correspondientes al modulador BPSK. ……………………………... 71

FIGURA 43: Parámetros del bloque del canal AWGN. …………………………………….… 72

FIGURA 44: Bloques integrantes del subsistema demodulador. ……………………………… 73

FIGURA 45: Cuadro de diálogo de los parámetros correspondiente al decodificador

de Viterbi……………………………………………………………………………………….. 73

FIGURA 46: Parámetros modificables del bloque que calcula la tasa de error.…...……..….… 75

FIGURA 47: Cuadro de diálogo del bloque que envía los datos al espacio de trabajo de

MATLAB. ……………………………………………………………………………………... 76

FIGURA 48: Resultados de la tasa de error obtenidos implementando el sistema con bloques

simulink. ……………………………………………………………………………………….. 78

FIGURA 49: Modelo Simulink utilizado para implementar la decodificación de

de códigos convolucionales utilizando decisión dura (un nivel de cuantización). ……………. 78

FIGURA 50: Bloques integrantes del subsistema BPSK decisión dura. ………………………. 79

FIGURA 51: Parámetros modificados al bloque decodificador de Viterbi. …………………… 79

FIGURA 52: Desempeño de los codificadores implementados en simulink……………...…… 80

FIGURA 53: Modelo Simulink utilizado para implementar un sistema TCM. ………………. 81

FIGURA 54: Parámetros a definir en el bloque codificador TCM……………………………... 81

FIGURA 55: Cuadro de dialogo del bloque correspondiente al canal AWGN del

Sistema simulado…….…………………………………………………………………….…… 82

FIGURA 56: Esquema TCM 8-PSK de dos estados simulado....………………………………. 83

FIGURA 57: Parámetros correspondientes al decodificador TCM. …………………………… 83

FIGURA 58: Resultados obtenidos mediante la simulación de un esquema TCM. …………… 84

Page 6: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITÉCNICO NACIONAL

vi

ÍNDICE DE TABLAS

TABLA 1: Cronología de la estandarización…………………………………………………... 11

TABLA 2: Estándares para módems de alta velocidad sobre redes telefónicas……………… 12

TABLA 3: Respuesta al impulso del codificador del ejemplo 1…………………….………… 23

TABLA 4: salidas correspondientes al codificador del ejemplo 3………………………….… 34

TABLA 5: Resultados obtenidos y publicados por ungerboeck [2] …………………………… 53

TABLA 6: Diferentes longitudes de restricción usadas para la simulación……………….…… 62

Page 7: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

1

ÍNDICE GENERAL

ÍNDICE DE FIGURAS………………………………………………………….. iii

ÍNDICE DE TABLAS …………………………………………………………... vi

JUSTIFICACIÓN …………………......…….…………...…......…………......… 3

OBJETIVOS……...………………........…………………………...……….....… 4

I.- INTRODUCCIÓN…………………………………………………................ 5

II.- ESTÁNDARES DE COMUNICACIÓN…………………..……..................... 9

III.- CODIFICACIÓN PARA CONTROL DE ERROR………….............. 17

IV.- CÓDIGOS CONVOLUCIONALES………………………….............. 20

IV.1.- DESCODIFICACIÓN CONVOLUCIONAL: ALGORITMO

DE VITERBI………………………………………….......................... 30

IV.1.1 Decodificación dura y suave...................................................... 40

V.- MODULACIÓN CODIFICADA TRELLIS (TCM)…….….….......… 44

VI.- SIMULACIÓN Y RESULTADOS………………………...…............. 57

VI.1.- Codificación/decodificación convolucional............................... 58

VI.2.- Simulación en MATLAB de códigos convolucionales con diferente

longitud de restricción................................................................. 60

VI.3.- Simulación del canal AWGN en MATLAB.............................. 67

VI.4.- Simulaciones basadas en bloques simulink............................... 67

Page 8: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

2

VI.5.- SIMULACIÓN DE CÓDIGOS TCM....................................... 80

VII.- CONCLUSIONES………………………………………………...........…. 85

REFERENCIAS..........................……………………………………...…........... 86

ANEXOS……………………………………………………………...…............ 89

* CÓDIGOS FUENTE.............................................................................. 89

Page 9: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

3

JUSTIFICACIÓN

El propósito de cualquier sistema de comunicaciones es transmitir información desde una

fuente a un destino mediante un canal de comunicaciones. Un ingeniero en comunicaciones

usualmente tiene muy poco control sobre estos tres componentes. Su rol es diseñar transmisores y

receptores que envían la salida de la fuente sobre el canal al destino con alta fidelidad (baja

distorsión, que puede evaluarse mediante probabilidad de error).

Como ya se ha mencionado, en las telecomunicaciones se ha hecho indispensable el manejo

digital de los datos ya que muchos de los algoritmos de codificación y decodificación de los

mismos así lo precisan.

La digitalización de los datos conviene porque:

* Es más fácil diseñar algoritmos de procesamiento de señales digitales que analógicas

* Se ha logrado implementar exitosas aplicaciones de la codificación con control de error

debido a la gran abundancia de técnicas de control de error y algoritmos de procesamiento

digital.

Una aplicación importante de la codificación con control de error fue en dispositivos de

almacenamiento, como en los reproductores de CD que usan códigos Red-Solomon para manejar

la probabilidad de error que introduce el lector óptico en la reproducción de alta fidelidad sin

corrección de error.

Otro logro fue la exitosa aplicación del control de error de banda limitada de los canales

telefónicos, donde la modulación codificada entramada (TCM) fue utilizada para producir

impresionantes mejoras y aprovechar la tasa de transmisión llevándola hacia el límite teórico del

canal. Actualmente la codificación es aplicada en las comunicaciones satelitales, dispositivos

computacionales de almacenamiento, circuitos lógicos, sistemas de memoria de semiconductores,

sistemas de audio/video y sistemas modernos de comunicación.

Page 10: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

4

OBJETIVOS

• Presentar una revisión de la Modulación Codificada Entramada TCM así

como los conceptos que involucra.

• Desarrollar módulos de software en MATLAB útiles para la

implementación de un sistema TCM.

• Proveer un material útil para la fácil comprensión del funcionamiento de

los esquemas de modulación trellis.

Page 11: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

5

Capitulo I

INTRODUCCIÓN Parte fundamental para la elaboración del presente trabajo es la búsqueda y recopilación de

información referente a los temas que anteriormente se refirieron. En seguida se presenta la

información básica necesaria para la comprensión de los esquemas TCM y su funcionamiento,

posteriormente se incluyen y explican los distintos códigos que se implementaron para realizar

las simulaciones correspondientes.

Debido al gran desarrollo de los circuitos de alta velocidad y la integración de gran escala

(VLSI) los equipos de procesamiento y almacén de datos han optado por el uso de técnicas

digitales.

Los sistemas digitales codifican los datos en ceros ―0‖ y unos ―1‖ lógicos que son resultado

de la apertura o cierre de los interruptores semiconductores que contienen.

En la mayoría de los procesos la información se captura en forma analógica, a través de

sensores, ésta tiene que ser codificada a cadenas de ceros y unos. Tanto este proceso de

codificación como el opuesto (de digital a analógico) los encontramos en todos los sistemas.

Las ventajas del manejo de señales digitales son muchas, como el hecho de que el receptor, en

el caso más simple, sólo se encarga de tomar una decisión entre un número finito de señales

discretas y definir un cero o un uno y no hace estimaciones sobre señales como en el caso de un

receptor analógico.

En la figura 1 se presenta el esquema general de un sistema de comunicaciones digitales, de

la figura se puede decir que los sistemas de comunicación digitales pueden partir tanto de datos

digitales (como las manejadas por la computadora) como de datos presentes en forma analógica

(la señal recibida de un micrófono, por ejemplo), en este último caso se digitaliza la señal para

poder representarla en secuencias de ceros y unos, en ocasiones es necesario eliminar del dato

digital información innecesaria esto con el fin de garantizar que cada bit de información tenga la

misma probabilidad de ocurrencia (más adelante se verá por qué esto es importante). El

codificador de canal se encarga de agregar redundancia controlada para realizar la transmisión a

través del canal. Por su parte, el modulador convierte los símbolos discretos en formas de onda

que se transmitirán a través del canal de formas de onda.

Es conveniente recordar que básicamente el proceso de modular es modificar

sistemáticamente alguna o algunas características de una señal. Para los sistemas de

comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos

digitales antes de realizar la transmisión. Existen diversos métodos de modulación de señales,

entre los que se encuentran:

Page 12: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

6

Modulación de amplitud (ASK, Amplitude Shift Keying): La amplitud de la portadora

se ve afectada por los bits de datos.

Modulación de fase (PSK, Phase Shift Keying): Se trabaja sobre la fase de la señal

portadora.

Modulación de amplitud en cuadratura ( QAM, Quadrature Amplitude Modulation):

Que puede verse como una forma de combinación de modulación de amplitud y

modulación de fase.

Modulación en frecuencia (FSK, Frecuency Shift Keying): se modifica la frecuencia

de la señal portadora.

Modulación de fase continua (CPM): A diferencia de PSK la fase de la portadora es

variante en el tiempo.

Modulación Codificada Trellis (TCM, Trellis Coded Modulation): Esencialmente es

CPM con la ventaja de que se codifica y se modula al mismo tiempo.

Es este ultimo tipo de modulación motivo de estudio de este trabajo debido a que posee

características que lo hacen único, tales características son:

Permiten incrementar la tasa de transmisión de datos sin incrementar el ancho de

banda debido a que se transmite más información por cada símbolo.

Se realizan las funciones de codificación y modulación de manera conjunta.

La tasa de transmisión de símbolos no aumenta aunque ellos contengan más

información.

El codificador mapea los bits de información en un número mayor de bits de código.

En general, los poderosos esquemas de modulación TCM en los sistemas mejoran

significantemente la ganancia del sistema e inmunidad a interferencia, lo que se

traduce directamente en enlaces mas largos, antenas mas pequeñas y menor costo de

implementación.

Los esquemas TCM más sencillos (cuatro estados) pueden mejorar en 3dB la ganancia

total del sistema, mientras que los más complejos pueden sobrepasar los 6dB.

Del lado del receptor se tienen las acciones inversas que se deben realizar a la información

proveniente del canal para obtener la información original.

Es en la parte de codificación/modulación, el canal y demodulación/decodificación en donde

se encuentra enfocado el presente trabajo, especialmente en la corrección de errores hacia delante

(FEC) que se ilustra en la figura con líneas punteadas.

Page 13: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

7

Existen otros métodos para corregir errores como el caso del requerimiento automático de

retransmisión (ARQ, por sus siglas en inglés), sin embargo, estos métodos no son motivo de

estudio para este trabajo.

Es muy importante mencionar que las señales digitales son más confiables en ambientes con

mucho ruido, porque a pesar de la presencia de éste, es posible detectar la señal para recuperar

los datos y, mediante técnicas de corrección de error, también corregir los errores creados

durante la transmisión. Los datos digitales pueden ser codificados fácilmente tanto para crear

una interdependencia entre un gran número de símbolos, como para habilitar al receptor para

realizar una detección más exacta de los símbolos. Esto se denomina codificación con control de

error.

La estructura del trabajo está planeada de manera que se establezcan las bases necesarias para

la fácil comprensión del funcionamiento de los esquemas TCM, para ello es importante entender

en qué radica la importancia del uso de modulación trellis (como también se le conoce a TCM,

por la manera que representarse), es por ello que en el capitulo II se presenta una breve

introducción a lo que son los estándares de comunicación así como las aplicaciones más

comunes que ha tenido la modulación TCM desde sus inicios.

En el capitulo IV se presenta una estudio de los codificadores convolucionales que son parte

fundamental de este tipo de modulación y que es de fundamental importancia conocer para

comprender el funcionamiento de los esquemas TCM. Si bien es cierto que la modulación trellis

también se implementa con otros tipos de codificadores, el desempeño que tiene en conjunto

con codificadores convolucionales es mucho mejor. Es por ello que en el capitulo III se hace

mención de otros tipos de codificación que existen y qué desventajas tiene su uso con respecto a

los códigos convolucionales.

Otra parte fundamental del proceso de envío / recepción de los datos digitales es la manera

en como se reciben del canal y se reconstruyen para obtener nuevamente los datos originales, esta

acción la realiza el decodificador/demodulador. Es por ello que también en el capítulo IV se

estudia el algoritmo de decodificación de Viterbi. Se eligió este algoritmo debido a que en

estudios anteriores se ha demostrado que ofrece un mejor desempeño del esquema TCM en

cuanto a la tasa de error de bit (BER, por sus siglas en inglés) y sobre todo por la facilidad de

implementación en software al ser un algoritmo recursivo.

Ya con las bases necesarias es posible comprender cómo es que se realiza el proceso de

codificación/decodificación de los esquemas TCM por lo que en el capítulo V se comienza con

el estudio de este tipo de modulación.

Finalmente, en el capítulo VI se presentan las simulaciones que se realizaron para verificar

el desempeño de los códigos convolucionales usando el algoritmo de Viterbi con decisión suave y

dura así como el desempeño que tuvo un esquema de modulación TCM 8-PSK con codificación

convolucional. Además se incluyen los resultados arrojados por tales simulaciones y las

conclusiones que se desprenden de ellos.

Page 14: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

8

FIGURA 1: Esquema general de un sistema de comunicaciones digitales

Debido a la tendencia de los sistemas hacia la digitalización, la simulación de los mismos se

vuelve una herramienta indispensable para evaluar su desempeño sin necesidad de

implementarlos en campo. Por esta razón en la Sección de Estudios de Posgrado (SEPI) de la

ESIME-ZAC se tienen varios proyectos de este tipo. El presente trabajo forma parte de un

proyecto más amplio que pretende implementar diferentes estándares de radio sobre hardware

programable (FPGA). El primer paso en el desarrollo de estos prototipos es la simulación de los

sistemas en MATLAB y lenguaje C.

Finalmente se concluye que los diversos módulos de software implementados son útiles para

investigar el desempeño de diferentes implementaciones de TCM debido a la gran similitud que

los resultados obtenidos tienen con modelos teóricos o con otras simulaciones documentadas. Por

tal motivo los resultados obtenidos de este trabajo servirán como base para los trabajos que se

realizan en la SEPI para la implementación de hardware que trabaje con esta tecnología.

Digitalizador

ARQ

Descompresión

fuente

Detección de

error

Codificador/

ModuladorDemodulador/

Decoder

Compresión de

fuente

Sincronización

Canal

Conversor D/A

Dato digital

Información

analógica

Control de error hacia delante FEC

Información

Analogica

Salida digital

Page 15: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

9

Capitulo II

ESTANDARES DE COMUNICACIÓN

Las tecnologías de telecomunicaciones han progresado incesantemente desde la investigación

hacia la estandarización de la implementación de sistemas. Los estándares de telecomunicaciones

son conjuntos de normas y recomendaciones técnicas que regulan la transmisión en los sistemas

de comunicaciones.

El proceso de comunicación es regido por las siguientes cuatro leyes:

La ley de Shannon

WN

PWC

0

2 1log ...........................................(1)

Donde C es la capacidad de un sistema de comunicaciones en bits por segundo, P es la

potencia de la señal en Watts, W es el ancho de banda de la señal en Hertz, y N0 es la densidad

espectral de la potencia del ruido unilateral en Watts/Hertz. La ley de Shannon dice que si hay un

transmisor y un receptor, la capacidad del canal de comunicación depende linealmente del

ancho de banda disponible y logarítmicamente de la relación señal a ruido (RSR). Esto significa

que es más difícil incrementar la capacidad de canal incrementando la relación señal a ruido que

incrementando el ancho de banda disponible.

La ley de Moore

Establece que el nivel de integración de los circuitos integrados se duplicará cada 18 meses.

Tercer principio. La utilidad de una red es proporcional al cuadrado de la velocidad de

conexión.

Cuarto Principio. Establece que la utilidad de una red es proporcional al cuadrado del número

de dispositivos que pueden ser conectados. Con respecto a un dispositivo en particular esta regla

dice que la utilidad de un dispositivo es proporcional al cuadrado del número de dispositivos con

los cuales puede comunicarse.

Las tecnologías de comunicación y los estándares de comunicación han buscado, desde los

trabajos de Shannon en 1948, acercarse más a la capacidad de Shannon. Mientras los dos

primeros principios se refieren a la pregunta de qué puede ser lo ideal, el tercero y cuarto se

refieren a cómo un incremento en la utilidad puede mejorar el desempeño—incrementando la tasa

de comunicación e incrementando el número de dispositivos unidos—. El desarrollo de los

estándares de telecomunicaciones de la IEEE 802 es una buena manifestación de esas leyes

fundamentales de comunicación. Los estándares de Comunicación proporcionan la tecnología

para interconectar un gran número de dispositivos a tasas de datos cada vez mayores.

Antes de describir los estándares de comunicación es importante identificar las principales

características de la tecnología de telecomunicaciones. Esas características incluyen las

siguientes:

Page 16: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

10

Habilidad de transportar voz, audio y video, además de datos de computadora.

Incluyen dispositivos con diferente precio, consumo de potencia y tasas de datos para

operar.

Asignación de espectro eficiente y dinámica entre los dispositivos conectados

De manera adicional la tabla 1 incluye una cronología de la fundación de algunas

organizaciones estandarizadoras y la publicación de los estándares más importantes.

Algunas de las organizaciones estandarizadoras son: ISO International Standards

Organization (Organización Internacional de Estándares), el IEEE (Instituto de Ingenieros

Electrónicos y Eléctricos) que es la encargada de fijar los estándares de los elementos físicos de

una red, cables, conectores, etc., ANSI American National Standards Institute (Instituto Nacional

Americano de Estandarización ), TIA Telecommunications Industry Association ( Asociación de

Industrias de Telecomunicaciones) y la Alianza de Industrias de Electrónica (EIA, por sus siglas

en inglés).

El comité que se ocupa de los estándares de computadoras a nivel mundial es de la IEEE en

su división 802, los cuales se dedican a todo lo relacionado con sistemas de red.

En los últimos años se han desarrollado diversos estándares para comunicaciones digitales

inalámbricas con distinto tipo de acceso a redes de comunicaciones e interacción de sistemas.

Estos estándares se pueden clasificar en 3 grandes grupos. Los WPAN (Wireless Personal Area

Network), WLAN (Wireless Local Area Network) y los WMAN (Wireless Metropolitan Area

Network). Los primeros están ideados para comunicaciones de muy bajo alcance y muy baja

potencia, siendo el estándar más conocido de esta familia bluetooth, que nos permite

transmisiones de hasta 1Mbps a distancias de varios metros. En general, estos estándares están

diseñados para que los dispositivos que los implementan sean de bajo costo. Los estándares

WLAN son los estándares que nos permiten conexiones de hasta varias decenas de Mbps para

alcances de hasta centenares de metros. El estándar más conocido de esta familia es el WiFi que

permite conexiones de hasta 11Mbps. Por ultimo los WMAN son estándares que permiten

conexiones de varios kilómetros y velocidades de hasta 75Mbps, en la configuración actual de

WiMax.

El estándar de la IEEE que regula las conexiones WLAN es el IEEE 802.11. Este estándar, a

su vez, tiene más subdivisiones entre las que destaca la norma IEEE 802.11b que se basa en la

tecnología de espectro extendido y logra tasas de datos de 5.5 Mb/s y 11Mb/s. Por ello muchos

de los productos del mercado siguen esta norma. Es de especial interés que trabaja a nivel físico

y determina como alternativa de funcionamiento un esquema llamado codificación

convolucional binaria empaquetada (PBCC por sus siglas en ingles). Esta codificación algunas

veces se denomina como modo de alto desempeño. Se usa un codificador convolucional de 64

estados y una tasa de 1/2, además de una secuencia de protección. Después de pasar por el

codificador los bits son mapeados, para transmisiones de 5.5 Mb/s el mapeo es BPSK (Binary

Phase Shift Keying) una modulación en fase y para transmisiones de 11 Mb/s se mapea usando

QPSK (quadrature phase shift keying). La norma IEEE 802.11a usa un nuevo modo de

transmisión llamado OFDM (Orthogonal Frecuency Division Multiplexing) que debido a su bajo

costo fácilmente se ha incluido en los dispositivos inalámbricos del mercado. A pesar de esta

novedosa forma de modulación la norma IEEE 802.11a contempla el uso de codificadores

convolucionales de tasas ½, 2/3 o ¾. En el caso de la tasa ½ el codificador tiene los polinomios

Page 17: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

11

133 y 171 en notación octal. Las otras tasas se obtienen por omisión de perforado de ciertos bits

de la palabra. La decodificación se realiza indiscutiblemente con el algoritmo de Viterbi.

TABLA 1: Cronología de la estandarización

1865 Es fundada la ITU (International Telegraph Union), primer esfuerzo para

estandarizar las telecomunicaciones en diferentes países.

1884 Es fundada la IEEE (Institute of Electrical and Electronics Enginneers).

1906 Se funda la IEC (International Electrotechnical Commission). Crea

estándares para ingeniería eléctrica y electrónica.

1918 Es fundada la ANSI (American National Standards Institute), enaltece la

competividad global de los negocios de Estados Unidos y la "calidad de

vida del estadounidense".

1932 Se crea la Unión Internacional de Telecommunicaciones ITU (antes

Unión Internacional de Telegrafía)

1947 Se hicieron varios cambios en el funcionamiento y en la estructuración de

la ITU, que hasta hoy continúan presentes.

Se crea la ISO (International Organization for Standardization)

1976 La ISO/IEC crea Joint Technical Committee 1(JTC 1). Primer esfuerzo

para crear estándares Internacionales de IT (Information Technologies).

1980 La IEEE establece el comité de estándares LAN MAN 802

1982 La ARPA (Advanced Research Project Agency) define el protocolo

TCP/IP para utilizarlo en Arpanet

1983 La IEEE aprueba la tecnología Ethernet 802.3 originalmente desarrollados

por NEC, Intel y Xerox.

1984 ANSI comienza a desarrollar los estándares para FDDI (Fiber .Distributed

Data Interface). 13 años después -y 19 estándares más tarde- el trabajo

continúa.

1985 La IEEE aprueba Token Ring 802.5

1986 Se hace la primera junta de la IETF (Internet Engineering Task Force)

con 15 asistentes.

1988 Se funda la OSF primer consorcio de vendedores

Se funda la ETSI (European Telecommunications Standards Institute)

1990 Microsoft define NDIS (Network Device Interface Specification).

1991 Se funda Frame Relay Forum, otro Consorcio de Fabricantes

1992 Es fundado ATM Forum, establecido por NEC, Northern Telecom, Sprint

y Sun.

IEEE empieza a trabajar en los estándares Ethernet de 100 Mbps.

Page 18: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

12

1994 Es fundado ADSL Forum

1995 IEEE aprueba Fast Ethernet (802.3u) y 100VG-AnyLAN (802.12).

1996 Es fundado Gigabit Ethernet Alliance

Tabla 2: Estándares para módems de alta velocidad sobre redes telefónicas

Estándar

CCITT

Tasa de

bit

(bps)

Esquema de

modulación

Cables /modo

de transmisión

Duplex

Síncrono/

asíncrono

Tipo de línea

(dial up/

dedicada)

V.32 9,600 2-D TCM/ 32-CR 2/ full Síncrono conmutada

V.33 14,400 2-D TCM/ 128-CR 4/ full Síncrono dedicada

V.34 28,800 4-D TCM/ 960-CR 4/ full Síncrono dedicada

Desde la década de los 70 se han venido aplicando los códigos trellis, en especial los códigos

con control de error, en el área de comunicaciones espaciales, debido a su excelente desempeño

en cuanto a la eficiencia de potencia. Este hecho provocó que por años se encasillaran en la

aplicación a sistemas de comunicaciones espaciales hasta que se probó su desempeño en los

sistemas de transmisión de tatos sobre canales de voz, registrando una sorprendente mejora en la

eficiencia espectral. En un canal estándar de teléfono los parámetros que se deben cuidar para

garantizar una transmisión confiable son el ancho de banda y la Relación Señal a Ruido (RSR,

SNR por sus siglas en inglés).

Page 19: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

13

El ancho de banda de los canales telefónicos se extiende por lo general de 300 Hz a 3400 Hz

y son un excelente ejemplo de canales de ancho de banda limitado. En 1982 se formó el grupo de

estudio International Telephone and Telegraph Consultative Committee (CCITT) dedicado a

estandarizar una familia de módems para transmisión de datos sobre canales de voz. Durante

1983 se consideró la modulación TCM de una y dos dimensiones con esquemas de señalización

QAM. De modo que la recomendación CCITT V.32 para transmisiones de dos hilos por arriba

de 9.6 Kbits/s (Kbps) y una tasa de símbolos de 2400 bits/símbolo (también denominados

bauds) eligió un codificador convolucional rotacionalmente invariante a 90º de ocho estados con

una decodificación de máxima probabilidad con decisión suave acompañado de una constelación

32-Cross que logró conseguir una ganancia de código de 4 dB comparada con una señal no

codificada 16-QAM. Una versión modificada de éste estándar que usa el mismo codificador que

el V.32 pero una constelación expandida 128-Cross para cuatro hilos y tasas de transmisión

arriba de los 14.4 Kbps fue propuesta por CCITT grupo de estudio XVII en 1985 y adoptada por

el estándar V.33 en 1991.

En 1993, la Unión Internacional de Telecomunicaciones en su sector de estandarización de

telecomunicaciones (ITU-T, por sus siglas en inglés) grupo de estudio 14 (formalmente CCITT

grupo de estudio XVII) diseñó una nueva recomendación de módem de alta velocidad, V.34 o

V.fast. Se trata de un estándar análogo de módems para transmisiones full-duplex a tasas arriba

de 33.6 Kbps sobre redes estándar de telefonía, maneja códigos convolucionales sistemáticos

rotacionalmente invariantes de 16 estados con una ganancia de 4.2 dB, de 32 estados con una

ganancia de código de 4.5 dB y de 64 estados con ganancia de código de 4.7 dB y una

constelación (más adelante se definirá el término constelación) de señales 960-QAM, ésta

expansión de constelación ayuda a proteger de distorsiones no Gaussianas.

A altas tasas de transmisión, el estándar V.34 implica algunas técnicas avanzadas de

procesamiento de señales. Emplea una ecualización no lineal en el transmisor usando un

precodificador para reducir el incremento del ruido de ecualización causado por la distorsión de

la amplitud. Para mejorar la inmunidad al ruido la constelación de señales 4-D (esquemas TCM

de cuatro dimensiones) se determina por la imposición de una distribución de probabilidad

Gaussiana 2-D en la constelación 2-D de señales. En la tabla 2 se observa un breve resumen

referente a los estándares ITU-T V.32, V.33 y V.34.

Es importante mencionar que los módems V.90 de 56 Kbps que actualmente se usan recaen

en una tecnología diferente y más importante aún, en un canal diferente. Dado que las líneas

telefónicas urbanas portan canales digitales de 64 Kbps entre las estaciones locales de

conmutación, los cables de par trenzado de las estaciones de conmutación hacia los teléfonos del

usuario final son análogos y, no sufren de ruido de cuantización1, tienen una relación señal a

ruido (SNR) más grande, casi todo el tráfico de datos puede ser transportado hacia el usuario final

por un módem que trate las líneas telefónicas como un canal digital en vez de canales de ruido de

banda de voz. Esto es precisamente lo que el estándar V.90 hace.

1 El ruido de cuantización es el error que se comete cuando una señal analógica se analiza en base a diferentes

niveles de un cierto parámetro, por ejemplo su amplitud, y a cada uno de ellos se asigna un conjunto de ceros y

unos con el fin de obtener una señal digital, esto es digitalizar la señal.

Page 20: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

14

Para fines de la década del 80 se enfocó nuevamente la atención sobre los esquemas TCM

para su uso en tecnologías espaciales y de aeronáutica como es el caso del experimento

realizado por la Agencia Espacial de Estados Unidos (NASA) referente a comunicación móvil

satelital con el objeto de transmitir con tasas de 4800 a 9600 bps conversaciones codificadas

digitalmente sobre un canal RF de 5 KHz con una tasa de error de 10-3

. El proyecto denominado

(MSAT-X) consistió en dos etapas: la primera, establecer una comunicación full- duplex de voz

y datos a 4.8 Kbps (sobre un canal de 5 KHz) a través de un satélite entre un centro en New

Jersey y otro en Connecticut. La segunda parte consistió en establecer la misma comunicación

entre una estación fija en tierra y un boeging 727 sobrevolando la costa este de los Estados

Unidos. El sistema MSAT-X se basó en una arquitectura de Acceso por División Múltiple de

Frecuencia (FDMA por sus siglas en inglés) con una modulación trellis 8DMPSK en conjunto

con otros sistemas y un protocolo de red que integra voz y datos. Como resultado se obtuvo una

comunicación confiable y segura.

En 1992 surgió un nuevo interrogante, dado que ya se poseía una ganancia de hasta 3 dB en

las transmisiones satelitales, ¿Cómo lograr ganancias superiores a 5 dB sin que ello implique un

aumento en la complejidad del decodificador y además sin tener que incrementar la potencia?, la

respuesta fue combinar la modulación codificada trellis con codificación concatenada logrando

con ello transmisiones con una mejor confiabilidad, ganancia de código, eficiencia de ancho de

banda y una complejidad de decodificación menor.

Otra importante área en la que ha tenido gran auge el uso de esquemas TCM es la Televisión

Digital o de Alta definición (HDTV).

Al inicio de la década de los años 80 en Japón se define por primera vez la televisión de alta

definición HDTV. Mediante el proyecto Eureka EU95 (registrado ante la ITU en 1987) se

determina una norma Europea para dicho sistema. En Estados Unidos la Comisión Federal de

Comunicaciones (FCC) solicita en 1990 la entrega de propuestas para HDTV. En 1995 se debe

decidir en 5 propuestas que cumplen las condiciones de compatibilidad con NTSC. Los dos

sistemas estandarizados hasta el momento fueron MUSE (Multiple-Sub-Nyquist Sampling

Encoding) y MAC (Multiplexed Analogue Components).

La televisión HDTV digital ha generado dos normas similares. La DTV (Digital TeleVision)

en Estados Unidos incorpora varios procesos de compresión de imágenes: modelado perceptual,

estimación de movimiento jerárquico, compensación de movimiento bidireccional. El canal de

audio utiliza el sistema Dolby AC-3. Se utiliza la modulación VSB (Vestigial Side-Band) con

codificación Trellis y codificadores con control de error hacia adelante (FEC, por sus siglas en

inglés) del tipo Reed-Solomon y convolucionales. En el diagrama de bloques de esta norma se

encuentra la parte de codificación trellis cuyas características son las siguientes:

Entrada de dos bits en paralelo. Se codifica en forma diferencial una de las líneas de

datos.

La otra línea de datos permite obtener la codificación convolucional. El resultado son 3

datos en paralelo: FEC-2/3.

Los datos son mapeados en un símbolo de 8 estados (000= -7, 001= -5, -3, -1, +1, +3,

+5, 111= +7).

La secuencia de datos mapeados llegarán a un modulador de 8 estados.

Page 21: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

15

El codificador Trellis (como también se conoce al codificador convolucional) tiene

incorporado un Interleaver (intercalador que es un dispositivo que cambia el orden de los

bits de datos pero de manera irregular es decir, de manera aleatoria) para mejorar las

prestaciones frente a ráfagas de errores.

Opera con 12 codec (codificadores/decodificadores) Trellis idénticos en paralelo de

forma que la salida extrae un símbolo de cada uno de ellos.

El codificador trellis FEC-2/3 no se utiliza para la tasa de datos de 38,6 Mb/s (16-VSB)

pero el FEC-RS (que utiliza código Reed-Solomon, por ellos se escribe RS) es el mismo.

Para el mismo tipo de aplicación de televisión en Europa se preparó la norma DVB (Digital

Video Broadcast). El proyecto se inició en 1993 y reemplazó al Eureka. Se dispone de formatos

para DVB-S(satélite), DVB-C(cable) y DVB-T(terrestre). Utiliza anchos de banda de 6 y 8 MHz.

Es de características muy similares a la norma ATSC pues en la parte de codificación/modulación

utiliza codificadores convolucionales (de tasas 1/2, 2/3, 3/4, 5/6 o 7/8) y modulaciones (QPSK,

16-QAM o 64QAM).

En este mismo entorno de televisión digital se encuentran las transmisiones de tv por cable

(CATV, CAble TeleVision) y satelital (DBS, Direct Broadcast satellite) que son de ancho de

banda limitado y utilizan la misma compresión de video y audio que HDTV por lo que se hace

necesario el uso de los esquemas TCM para aprovechar al máximo el ancho de banda disponible

y realizar una transmisión confiable.

Los esquemas TCM también se aplican en redes locales inalámbricas como las de Servicio de

Distribución Local Multipunto (LMDS, Local Multipoint Distribution Service) que operan a nivel

mundial en rangos de 26 a 43 GHz con grandes anchos de banda (de 0.1 a arriba de 2 GHz) pero

no son consideradas como redes de comunicaciones móviles, sino como redes de acceso

inalámbricas fijas, donde el equipo del usuario final no requiere de movilidad alguna, por ejemplo

una PC. Los sistemas LMDS permiten un rápido despliegue en comparación con las tecnologías

homólogas basadas en cable e incluso con relación a sus homólogas inalámbricas, a lo que se

suma su carácter celular, que le dota de elevada escalabilidad, permite el acceso a Internet de alta

velocidad, tanto para el sector residencial (aun no, en la actualidad por su elevado costo de renta)

como para el empresarial, gracias a las técnicas digitales. Finalmente, esta tecnología presenta un

importante potencial como tecnología de acceso (especialmente compatible con las redes de fibra

óptica, redes HFR, Hybrid Fibre Radio) para nuevos operadores que no dispongan de grandes

recursos financieros.

Para mejorar la capacidad de las redes LMDS Ranjan Bose del Departamento de Ingeniería

Eléctrica del Instituto Tecnológico de la India (IIT) realizó en 2004 un trabajo que consistió en la

simulación de implementación de esquemas TCM en los sistemas LMDS. Su propuesta consiste

en implementar diferentes esquemas TCM en las células que utilizan el mismo canal para con

ello lograr que las señales codificadas por el esquema TCM 1 sean rechazadas por el

decodificador TCM 2 y viceversa y así reducir considerablemente las interferencias entre tales

células. En la siguiente figura se observa el modelo en tiempo discreto del sistema.

Page 22: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

16

Codificador

TCM 1

Codificador

TCM 2

X

X

+Decodificador

TCM 1

Celula deseada

Bits de entrada

Celula en el mismo canal

Sk

Uk

a

b

nk

rkBits de salida

Bits de entrada

FIGURA 2: Modelo en tiempo discreto de un sistema LMDS utilizando TCM.

En lo referente a redes inalámbricas la modulación TCM está siendo estudiada por que

permite aumentar las tasas de transmisión y reduce los errores provocados por interferencia.

Como ejemplo está la publicación localizada en [24], aquí se propone implementar esquemas de

modulación TCM para mejorar transmisiones inalámbricas de corta distancia entre dispositivos

portátiles como lap tops, reproductores de MP3 y de CD logrando velocidades de transmisión de

hasta 55 Mbps aún con archivos que pueden tener tamaños del orden de los 3 Mbytes.

Finalmente una aplicación más de los esquemas TCM tiene lugar en la Líneas de Abonado

Digital (DSL, Digital Subscriber Line) que es una tecnología que permite una conexión a una red

con más velocidad a través de las líneas telefónicas. Se trata de tecnología alternativa al (RDSI,

Red Digital de servicios Integrados). Engloba tecnologías que proveen conexión digital sobre red

telefónica como ADSL, SDSL, IDSL, HDSL, VDSL, etc. DSL envía paquetes de datos con

velocidades de 128 Kbps - 1.5Mbps. Por otra parte, la RDSI está disponible en dos diferentes

velocidades, es decir, 64Kbps y 128 Kbps. A pesar de tener tasas de transmisión diferentes se

trata de dos estándares equivalentes que utilizan muchos de los módems de la actualidad.

Tal es la utilidad de los esquemas TCM que hasta en la implementación de redes neuronales

se utilizan para optimizar las velocidades de procesamiento de datos. El documento localizado en

[25] detalla las características del esquema utilizado para decodificar los datos procesados dentro

de la red así como la manera en que mejora el sistema con el uso de TCM.

Page 23: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

17

Capitulo III

CODIFICACION PARA CONTROL DE ERROR Tres investigadores marcaron el inicio en el campo del manejo del error y echaron abajo

teorías antes planteadas, ellos fueron Shannon, Hamming y Golay. Shannon echó abajo la teoría

que explicaba los limitantes fundamentales de la eficiencia de los sistemas de comunicación,

Hamming y Golay fueron los primeros en desarrollar esquemas prácticos de control de error. La

fórmula más famosa del trabajo de Shannon trata sobre la capacidad de canal de un canal ideal

gaussiano de banda limitada (el término Gaussiano se refiere a la distribución de probabilidad que

tiene el ruido, recuérdese la campana de Gauss).

...........................................(2)

Donde

C= Capacidad de canal (el máximo número de bits que se pueden transmitir a través del

canal por unidad de tiempo).

W= Ancho de banda del canal

S/N= relación señal a ruido del receptor

S= Potencia de la señal

N= Potencia del ruido

Debido a su gran importancia, de la fórmula de Shannon se obtienen ciertas variantes que se

aplican a distintos tipos de canales de transmisión como es el caso del canal de ruido blanco

gaussiano AWGN (Additive White Gaussian Noise) que tiene la forma dada por (1).

Por tanto se puede concluir que los factores que determinan la capacidad de canal son el

ancho de banda W, la densidad espectral de potencia del ruido N0 (este término se refiere a la

potencia del ruido por unidad de ancho de banda con que contribuyen las componentes de

frecuencia centradas en ω) y la potencia de la señal S, y que existe una relación directa entre S y

W en el sentido en que uno compensa al otro.

Si se piensa en incrementar la potencia de la señal de entrada obviamente incrementa la

capacidad de canal, debido a que cuando se tiene disponible más potencia, es posible elegir un

mayor número de niveles de entrada al canal de forma que estén más apartados y en

consecuencia sea posible enviar más bits de información por transmisión. Sin embargo, el

incremento en la capacidad con el aumento de la potencia es logarítmico y suave. Esto se debe a

que si se transmite con cierto número de niveles de entrada con una separación Δ, para permitir

cierto nivel de inmunidad al ruido y se desea incrementar el número de niveles, es necesario

introducir nuevos niveles con amplitudes mayores que la de los niveles existentes y esto requiere

gran cantidad de potencia. A pesar de esto, la capacidad de canal podría incrementarse en

cualquier valor incrementando la potencia de entrada.

segbitsN

sWC /)1(log2

Page 24: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

18

El efecto del ancho de banda del canal, sin embargo, es muy diferente. El incrementar W

tiene dos efectos opuestos. Por un lado, sobre un canal de ancho de banda mayor es posible

transmitir más muestras por segundo y de esta forma incrementar la tasa de transmisión. Por otro

lado, un ancho de banda mayor significa mayor potencia de ruido en el receptor (debido al factor

N0W) y esto degrada el desempeño. Esto se observa en los dos W que se encuentran en la

relación (1) que describe la capacidad de canal.

Para enviar la información a través de un canal de comunicación se usan actualmente

esquemas de codificación tanto en la fuente como en el canal, la codificación del canal tiene

como tarea codificar la información adicionando redundancia al mensaje de tal manera que ante

la presencia de ruido en el canal se pueda detectar y corregir los errores generados por este;

además con la codificación de canal se puede operar con transmisión de baja potencia, realizar

transmisiones a largas distancias, mayor tolerancia a la interferencia, transmitir a altas tasas de

datos y hacer posible usar antenas pequeñas.

Un sistema de codificación de canal además de corregir errores debe ser capaz de corregir

otras fallas que se pueden presentar en la degradación del canal tales como: atenuación de la señal

debido al medio, el ruido térmico, interferencia ínter simbólica, interferencia de múltiple usuario,

la propagación multidireccional, y limitaciones de potencia.

Para el diseño de la codificación y modulación del canal se deben tener en cuenta cuatro

factores:

1. Probabilidad de error (Pe): este factor nos dice que tan confiable es la transmisión, es decir

mide el desempeño de un sistema de comunicación digital.

2. Eficiencia espectral o ancho de banda ( W Rs ): esto mide la eficacia en gasto del ancho de

banda, nos dice cuántos bits por segundo (Rs) pueden ser transmitidos en un ancho de banda dado

W.

3. Tasa de relación señal a ruido (SNR), este factor es necesario para alcanzar el factor de

calidad (QoS) requerido: este parámetro mide cómo el esquema de codificación y modulación

hace uso eficientemente de la potencia disponible.

4. Complejidad: Este factor está estrechamente relacionado con el costo del equipo.

En la codificación de canal se distinguen dos métodos:

Corrección de error hacia atrás BEC (Backward Error Correction) ó ARQ (Automatic

Repeat reQuest). El cual solo emplea detección de errores, si un error es detectado se solicita

retransmisión de todo el mensaje. Mientras este método tiene una baja complejidad en los

esquemas de corrección de errores, se debe disponer de una comunicación dúplex, además la

retransmisión trae como consecuencia retardos a nivel del tiempo, que en aplicaciones críticas

como las de tiempo real no es aconsejable.

Corrección de error hacia delante FEC (Forward error correction). En el transmisor un

codificador de FEC agrega redundancia a los datos en la forma de información de paridad de

Page 25: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

19

la siguiente manera: un codificador binario de FEC toma k bits a la vez y produce una salida

(o palabra de código) de n bits, donde n>k.

Mientras que hay 2n secuencias posibles de n bits, solamente hay un subconjunto

pequeño de ellos, 2k, que serán palabras de código válidas. El cociente k/n se llama la tasa de

código.

Entonces en el receptor, un decodificador de FEC puede explotar la redundancia de

una manera tal que un número razonable de los errores de canal pueda ser corregido. Con un

código FEC se logra tolerar más errores de canal, los sistemas codificados pueden permitirse

funcionar con más baja transmisión de potencia, transmitir a largas distancias y tolerar más

interferencia, y hace posible el uso de antenas más pequeñas, y se podría transmitir a una

mayor velocidad para una potencia de transmisión dada. El método FEC solo requiere una

comunicación simplex, este método es muy atractivo en sistemas de comunicación

inalámbrica, ayudando a mejorar la eficiencia de la energía de los sistemas.

En el método de corrección de error hacia delante (FEC) se encuentran los códigos de

corrección de bloques, los códigos convolucionales y los turbo códigos.

Códigos de bloque

Estos códigos hacen la corrección de errores a nivel de bits tomando la información por

bloques, dentro de ellos se encuentran los códigos Hamming, Golay, BCH, ReedSolomon (estos

códigos como trabajan con símbolos de código m-arios, los hace eficientes para corregir errores

de ruido en ráfaga).

Los Turbo códigos

Los turbo códigos son un método de corrección de errores basado en los códigos

convolucionales más intercalación y realimentación. Consiste en una estructura de codificación

concatenada más un algoritmo iterativo, estos fueron introducidos en 1993 por Berrou y Glavieux

en la conferencia internacional de la IEEE en Ginebra Suiza. El esquema propuesto en dicho

trabajo alcanzaba una probabilidad de error de bit de 10-5

usando una tasa de codificación de ½

sobre un canal de ruido blanco gausiano (AWGN) y modulación BPSK (Binary Phase Shift

Keying) con una relación de energía promedio de bit sobre la densidad espectral de potencia de

ruido (Eb/N0 ) de 0.7 dB, lo cual está cercano al límite de Shannon que es 0.1dB.

Códigos Convolucionales

Los códigos convolucionales trabajan serialmente, y tienen memoria lo cual los hace

comparablemente más eficientes que los códigos de bloque, por su simplicidad y capacidad de

corrección. A continuación se presenta una descripción más detallada de éste método de

detección de error FEC que es uno de los temas de estudio incluidos en el presente trabajo.

Page 26: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

20

Capitulo IV

CODIGOS CONVOLUCIONALES

Los códigos convolucionales son códigos lineales en los que la operación de codificación

puede ser vista como una operación de filtrado (o convolución). Un codificador convolucional

se puede ver como no más que un conjunto de filtros digitales -sistemas lineales e invariantes en

el tiempo- con la secuencia de código como la salida intermedia de las salidas filtradas. En la

práctica los códigos convolucionales son a menudo preferidos sobre los códigos de bloques,

porque proporcionan excelente rendimiento cuando se comparan con los códigos de bloques de

complejidad de codificación/decodificación comparable.

Los códigos convolucionales se especifican mediante tres parámetros, (n, k, m) donde n es el

número de bits a la salida del codificador, k el número de bits de información a la entrada de éste

y m, el número de registros de memoria. La relación k/n es la relación o tasa de código, tiene el

mismo significado que para los códigos de bloque y proporciona una medida de la eficiencia de

codificación. De manera práctica, k y n suelen variar de 1 a 8, m de 2 a 10 y k/n de 1/8 a 7/8. En

algunas aplicaciones de comunicaciones con vehículos espaciales a distancias muy grandes de la

tierra se han utilizado tasas de código muy bajas, del orden de 1/100 o menores, esto significa

que se usan codificadores convolucionales con hasta 100 bits de 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) en que L se designa como longitud de constricción y está dada por

L = k(m – 1) L 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.

Antes de comenzar con el estudio de los códigos convolucionales es conveniente retomar

algunos conceptos de álgebra necesarios para la comprensión de los mismos.

Para comenzar es preciso recordar que un campo (F, +, ∙ ) es un conjunto de elementos con

dos operaciones, adición y multiplicación. Las operaciones2 de suma y multiplicación satisfacen

ciertos axiomas como el de cerradura, elemento neutro (0 para la suma y 1 para el producto),

elemento inverso (-a para la suma y 1a para el producto, esto para todo a que está en el campo

F ), la asociatividad y la conmutatividad. El campo (F, +, ∙ ) frecuentemente se refiere como F

simplemente y un campo con q elementos se denota como Fq.

Dentro del estudio de los campos se encuentran los campos finitos denotados por GF (pm

) o

GF(q) donde q=pm

, con p un número primo y m está en los números naturales y es mayor que 1.

Estos campos se denotan con GF en honor al matemático francés Evariste Galois (GF significa

― Galois field ‖). Es de particular interés el campo con dos elementos en él, debido a que su

2 Una operación es un mapeo de E X E → E

Page 27: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

21

implementación electrónica se puede realizar fácilmente utilizando elementos biestables. Los

campos finitos encuentran gran aplicabilidad en áreas como la conmutación, la codificación, la

criptografía, etc., esto es porque se analizan códigos binarios (con datos representados como

vectores de ―ceros ―y ―unos‖) cuyas operaciones recaen precisamente en éste campo. El campo

de Galois con dos elementos se denota como GF(2)3 y tiene las siguientes tablas de adición y

multiplicación:

O exclusiva

+ 0 1

0 0 1

1 1 0

Los elementos básicos de un codificador convolucional son un registro de desplazamiento,

constituido por m elementos de memoria (flip-flops) y n generadores de señal que, en este caso,

no son otra cosa que sumadores en módulo 2. Estos bloques de memoria están unidos entre sí, de

tal forma que cada pulso de reloj recibido hace avanzar el contenido de cada una de ellas y la

carga en el bloque adyacente correspondiente, en función del sentido de avance elegido. Los

codificadores básicos sólo presentan avance en un sentido, sin embargo hay codificadores

retroalimentados en los cuales el primer módulo de memoria se carga con el valor obtenido del

resultado de la operación EX-OR (O exclusiva)de realimentación. En la figura 3 se tiene un

codificador convolucional simple.

Otro aspecto de suma importancia de los códigos convolucionales es la función de

transferencia. Debido a la convolución4 que el codificador realiza se denomina convolucional, se

tiene j

ki

k

j

k

j

i xhy0

donde x es una secuencia de entrada, yj es una secuencia para la salida j y

hj es la respuesta al impulso para la salida j. Debe recordarse que una respuesta al impulso

genera una función de transferencia a través de la transformada Z, de este modo, se representan

las secuencias (tanto de entrada como de salida) y las funciones de transferencia (entendidas

como la relación entre la entrada y la salida del codificador) como series de potencias en la

variable x (que en ocasiones también es tratada como D). Una secuencia {...m-2, m-1, m0, m1,

m2,...} como elementos de un campo F es representada como una serie de Laurent formal

l

l

l xmm . El conjunto de todas las series de Laurent bajo F es un campo, el cual es

usualmente denotado como F [[x]]. Entonces )(xm F [[x]].

Para múltiples cadenas de entrada se usa un superíndice, así m(1)

(x) representa la primera

cadena de entrada y m(2)

(x) representa la segunda cadena de entrada. Además, es conveniente

reunirlas dentro de un vector simple (columna), como en

3 Para mayor detalle sobre los campos de Galois y los campos en general refiérase a [5] secciones 2.3 y 5.4

4 Una convolución es la interacción de dos funciones para generar otra con características de las originales.

Al convolucionar una función f(t) con la función impulso se obtiene la misma señal f(t). Una

multiplicación de funciones en el tiempo implica una convolución en la frecuencia.

Y lógica

∙ 0 1

0 0 0

1 1 1

Page 28: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

22

.F[[x]] (x)m (x)m)( 2(2)(1)xm

..........................................(3)

Un codificador convolucional es típicamente representado como un conjunto de filtros

digitales (binarios) como se ilustra en la figura 3.

m= m1, m2, m3, . . . mi, . . . 1 2 3 . . . . . . k késima etapa del registro

secuencia de entrada de desplazamiento

1 2 . . . . . n sumadores modulo 2

Secuencia código U=U1, U2l U3, . . . Ui, . > .

FIGURA 3: Codificador Convolucional

Ejemplo 1. La figura 4 muestra un ejemplo de un codificador convolucional. (Hay que

recordar que los bloques D representan dispositivos de almacenamiento de 1 bit, o flip flops).

La cadena de entrada mk pasa a través de dos filtros (elementos de memoria compartida)

produciendo dos cadenas de salida. En este codificador se observa que hay k=1 entradas y n=2

salidas, denotadas por 1

kc y 2

kc donde k representa el instante de tiempo en que se genera tal

salida y los superíndices indican el número de salida, esto implica que el codificador es de tasa

R= ½ y además L ( la longitud de restricción o longitud restringida del código también denotada

por ) vale 3.

En base a este codificador se puede construir la siguiente tabla:

TABLA 3: Respuesta al impulso del

codificador del ejemplo 1

mk mk-1 mk-2 c1 c

2

1 0 0 1 1

0 1 0 0 1

0 0 1 1 1

+ + +

Page 29: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

23

D

+

+

D

2

kc

1

kc

La tabla 3 se denomina respuesta al impulso debido a que se considera una entrada ―1‖ en un

instante de tiempo con el codificador en el estado ―todos ceros‖ (todos los registros inicializados

en cero) y se hace recorrer ese único ―1‖ a través del codificador hasta que sale del mismo

quedando nuevamente los elementos de memoria en ceros . Esto se hace para verificar las salidas

del codificador con respecto al estado presente en sus registros.

2

)1(

kkk mmc y 21

)2(

kkkk mmmc

Estas dos cadenas son procesadas juntas para producir la cadena codificada ck. Por lo tanto,

para cada bit de entrada, hay dos bits de salida, resultando en un código de tasa R=1/2.

mk mk-1 mk-2

FIGURA 4: Codificador convolucional de razón ½

Para la entrada m= {1, 1, 0, 0, 1, 0,1}, las salidas son

c(1)

= {1, 1,"1. 1, 1, 0, 0, 0, 1}) y c(2)

= {1, 0, 0, 1, 1, 1, 0.`1, 1}

y la cadena intercalada es

c = {11, 10, 10, 11, 11, 01, 00, 01, 11}

donde las comas separan los pires de salidas en tiempos de entrada únicos. Se puede

representar la función de transferencia de la entrada m(x) hacia la salida c (1)

(x) como g (1)

(x)=

1+x2, y la función de transferencia desde m(x) hasta la salida c

(2) (x) como g

(2) (x) = 1+ x +x

2.

La cadena de entrada m = {1, 1, 0, 0, 1, 0, 1} puede ser representada como m(x) = 1+ x +x4+ x

6

G F (2)[[x]]. Las salidas son:

c(1)

(x) = m(x)g1(x) = (1+ x +x4+ x

6)( 1+ x

2) = 1+ x + x

2 + x

3 + x

4+ x

8

c(2)

(x) = m(x)g2(x) = (1+ x +x4+ x

6)( 1+ x + x

2) = 1+ x

3 + x

4+ x

5 + x

7+ x

8

Un código convolucional de tasa R = k / n tiene asociado a él un codificador, una matriz

función de transferencia G(x). Para la tasa de ½ del ejemplo resulta

Ga(x) = [1 + x2 1 + x + x

2 ]

Sin embargo la función de transferencia convolucional no siempre tiene entradas

polinomiales. Por ejemplo:

Page 30: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

24

2

2

x 1

x x 1 1)(xGb

D

+

+ D

Cuya implementación en hardware puede quedar como en la figura 5. En [5] se explica con

más detalle la forma de lograr tal implementación.

ck(2)

mk c k

ck(1)

FIGURA 5: Codificador sistemático con R= ½.

Para codificadores con alimentación directa es común que los polinomios de conexión se

indiquen como vectores de números representando la respuesta al impulso del codificador, en

vez de polinomios. La matriz función de transferencia G(x)= [1+ x2, 1+ x + x

2] es representada

por los vectores

g(1)

= [101] y g(2)

= [111]

Estos son con frecuencia expresados en forma octal (en las tablas de códigos), donde los tríos

de bits son representados usando los números enteros correspondientes 0 a 7. De esta forma el

codificador es representado usando g(1)

= 5 y g(2)

= 7. Debido a la facilidad de manejo se usan

codificadores con alimentación directa con los vectores especificados en notación octal para

implementar la simulación de la codificación convolucional en MATLAB.

Dado que el codificador convolucional tiene memoria finita, es posible representarlo con un

diagrama de transición de estados. En este diagrama, cada estado del codificador se representa

mediante un bloque y las transiciones entre estados son las líneas que conectan cada bloque.

Sobre cada línea están especificadas tanto las entradas que causan la transición como las salidas

correspondientes. El número de líneas que salen de cada estado es igual al número de entradas

posibles al codificador de ese estado, la cual es igual a 2k. El número de líneas que van hacia

cada estado es igual al número de estados del cual es posible una transición hacia ese estado.

Este es igual al número de combinaciones de bits posibles que dejan el codificador cuando k

bits entran al codificador. Este número es otra vez 2k. En la figura 5(b) se puede ver el

diagrama de transición de estados del codificador convolucional del ejemplo1.

Otra forma de describir códigos convolucionales es el diagrama trellis que sirve además para

representar las transiciones de estados mientras transcurre el tiempo. El diagrama trellis se

Page 31: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

25

obtiene al especificar los estados en el eje vertical y extendiendo éste a lo largo del eje del

tiempo (el eje horizontal). Posteriormente las transiciones entre estados se representan con una

recta que une esos estados sobre los dos ejes verticales correspondientes a los dos instantes de

tiempo. Para una mayor claridad de lo anterior en las figuras 6(c) y 6(d) se observan una etapa y

tres etapas respectivamente, del diagrama trellis correspondiente al codificador del ejemplo

anterior.

Para un codificador básico G(x) con elementos polinomiales se tiene que ))(deg(max xg ijj

i

denota el máximo grado de los polinomios en la fila i de G(x). Este es el número máximo de

elementos de memoria necesarios para almacenar la porción de realización del codificador

correspondiente a la entrada i, es la longitud de restricción del codificador (también denotada

con L).

Ejemplo 2. Considerando ahora el codificador convolucional (2, 1, 2), n=2, k=1 y m=2, o

sea que se trata de un codificador de tasa ½ y 2 elementos de memoria o longitud de restricción

L=3, 1 0, 1, g ,)1 ,1 ,1( (1)

0

)0(

0g , o lo que es igual G= [111, 101], teniendo una entrada mj = (0

1 0 1 0 0 0) y se desea hallar la salida dada por el codificador (desde el estado inicial ‗todos

ceros‘) de acuerdo a tal entrada.

Para poder resolver este problema se utiliza la ecuación de codificación convolucional que

es:

m

i

iijj Gmx0

...........................................(4)

Por tanto se tiene que de acuerdo a (1)

0

)0(

0 gy g resulta G0= [1 1], G1= [1 0] y G2=([1 1],

entonces x0= m0G0 m-1G1 m-2G2 y como el estado inicial es (u-1, u-2, . . .) =(0, 0, 0,…),

x0 =0 [1 1] 0[1 0] 0[1 1] = [0 0],

x1=1 [1 1] 0[1 0] 0[1 1] = [1 1]

x2=0 [3 1] 1[1 0] 0[1 1] = [1 0]

x3=1 [1 1] 0[1 0] 1[1 1] = [0 0]

x4=0 [1 1] 1[1 0] 0[1 1] = [1 0]

x5=0 [1 1] 0[1 0] 1[1 1] = [1 1]

x6=0 [1 1] 0[1 0] 0[1 1] = [0 0].

Page 32: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

26

00 0/00 0/00 0/00

1/11 1/11 1/11

10 0/11 0/11 0/11

1/00 1/00 1/00

01

0/010/01

0/01

11

0/10 0/100/10

1/011/01 1/01

1/10 1/101/10

t t+1 t+3 t+4

Estado

(bms,bMs)0/00

1/11

0/11

1/00

0/10

1/01

0/01

0000

10

01

11

10

01

11

1/10

(a) Codificador (b) Diagrama de estados

Estado Siguiente (bms,bMs)

5 estdo

(c) Una etapa de la trellis (d) Tres etapas de la trellis

FIGURA 6: Codificador, diagrama de estado y diagrama trellis de G(x) = [1+ x2, 1+ x + x

2]

Reuniendo todos estos pares de bits en una salida tenemos: Uj=[00, 11, 10, 00, 10, 11, 00, 00] y

como se puede ver en negritas se han puesto los bits de entrada al codificador que corresponden

la mj.

En la práctica es frecuente utilizar una implementación del codificador convolucional que

ayuda a mejorar el desempeño del sistema y optimiza la utilización de hardware. Esta realización

se denomina realización con retroalimentación o ―feedback realization‖. Una manera fácil de

pasar un codificador a esta representación es expresar, primero, la matriz generadora en su forma

sistemática.

5 (bms,bMs) significa (bit menos significativo, bit Más significativo)

D

+

+

D

Page 33: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

27

)1(

Ix

)2(

Ix

)1(n

Ix

)1(

Iy

)2(

Iy

)1(n

Iy

)(

0,1

na)(

0,2

na)(

1,1

n

na )(

1,2

na )(

0,1

n

na)(

1,1

na

+ + +

)(

,1

n

mna )(

,2

n

ma )(

,1

n

ma

mq1q 0q

D D)(n

Iy

Dado un codificador G(x) es posible pasarlo a su forma sistemática si se encuentra una

submatriz T(x) de rango completo y de dimensiones k x k , de manera que G‘(x) = T(x)-1

G(x},

entonces G‘(x) es de la forma G‘(x)=[Ik,k , Pk,n-k(x)], donde Pk,n-k(x) es, por lo general, una matriz

racional. La salida que produce Pk,n-k que es la parte no sistemática de la matriz generadora se

denomina como matriz de verificación de paridad de la secuencia codificada y suele representarse

como H(x) = (h0(x), h1x),…,hγ(x)), donde ν ≥ γ ≥0. Esta matriz de verificación de paridad

cumple la condición G(x)HT(x)=0, donde el superíndice T representa la matriz transpuesta, y

sirve para que, como ayuda del circuito general para un codificador sistemático con

retroalimentación y (n, n-1,m) de la figura 7, se pueda llegar a una representación más eficiente

del codificador. Es por ello que se utiliza ampliamente en TCM, el circuito está basado en la

matriz generadora sistemática del codificador que es de la forma

)()(100

)()(010

)()(001

)(

)(

1

)(

2

)(

1

xQxA

xQxA

xQxA

xG

n

n

n

n

sis

.........................................(5)

donde

mmn

mi

n

i

n

i

n

i xxnixaxaaxA m10

)(

,

)(

1,

)(

0,

)( qqq Q(x)y 11 para )( ,

utilizando le notación manejada en [10].

Page 34: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

28

+

++

+D

D

a(1)

(x)

a(2)(x)

c(1)

(x)

c(2)

(x)

c(3)(x)

FIGURA 7: Codificador convolucional sistemático (n, n-1,m) con retroalimentación tomado de [9].

Ejemplo 3. Supóngase que se tiene el codificador R=2/3 de la figura 8 que tiene cuatro

estados y la matriz generadora

xx

xxxG

111

11)(

FIGURA 8: Codificador convolucional de cuatro estados y R= 2/3.

Si se toma T(x) de las primeras dos columnas de G(x) resulta

11

1)(

x

xxxT se sabe que la inversa de una matriz se calcula con

Tdet

T )(

adjxT y la

adjunta de T(x) se obtiene a base de una matriz B(x) de cofactores de T(x) de manera que se tiene

xx

xxB

1

11)( y

xx

xxBT

11

1)( = adj T y se tiene que det T= 1+x + x + x

2 = 1+ x

2

(debe recordarse que se está trabajando en operaciones módulo 2 por lo que x+x =0), finalmente

xx

xx

x

x

x

xx

x

xxGxxx

x

xxT

111

11

1

1

1

111

1

)()(T (x)G' como 11

1

1

1)(

22

221-

2

1

al efectuar el producto resulta que

Page 35: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

29

+ ++D D

a(1)(x)

a(2)(x)

c(1)(x)

c(2)(x)

c(3)

(x)

2

2

2

2

110

1

101

)('

x

xxx

xx

xG es la representación sistemática del codificador en cuestión. El

circuito correspondiente a este codificador es el de la figura 9.

FIGURA 9: Codificador convolucional sistemático (3, 2, 2) con retroalimentación.

Page 36: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

30

Añade el estado cero

Una secuencia forzada

(Opcional)

Codificador

Convolucional

R= k/n

Mapeo de señal Decodificador

IV.1.- DECODIFICACION CONVOLUCIONAL: ALGORITMO DE

VITERBI

Se han manejado varios algoritmos para decodificar los códigos convolucionales, uno de ellos

y el más empleado es el algoritmo de Viterbi que fue propuesto por Andrew Viterbi en 1967, éste

es un Estimador de Secuencia de Máxima Probabilidad (MLSE por sus siglas en inglés). Una

variación del algoritmo de Viterbi es el algoritmo de Viterbi de salida suave (SOVA), que

proporciona no sólo símbolos decodificados sino además un indicativo de la confiabilidad de los

valores decodificados. Otro algoritmo es el decodificador Máximo a Posteriori (MAP)

comúnmente referido como algoritmo BCJR el cual calcula probabilidades de los bits

decodificados.

Para ubicar la etapa que decodificación se tiene la figura 10 en la que la base de tiempo se

denota con t e indica los tiempos a los cuales son distinguidos los estados en el diagrama de

estados; hay entonces k bits de entrada al codificador y n bits de salida a cada paso de tiempo t.

Como se puede observar se cuenta con un mensaje de datos de entrada que puede tener una

secuencia añadida que permita manejar el estado a cero al final de cada bloque de entrada. Al

tiempo t hay k bits de entrada denotados como k. ..., 2, 1, i , xo (i)

t

)(i

tm El conjunto de k bits de

entrada se de notan como ) ..., , ,( )()2()1( k

tttt mmmm y los que cuentan con la secuencia agregada

son xt. Por lo que una secuencia con L bloques es denotada como x:

x ].,...,,[ 110 Lxxx

Los bits codificados correspondientes se denotan como n. ..., 2, 1, i ,)(i

tc La secuencia

completa codificada es c = [c0, c1, …, cL-1].

Canal

m x c a r

n

FIGURA 10: Etapas de procesamiento de un código convolucional.

Page 37: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

31

).(log)(log1

0

tt

L

t

xrfxrf

La secuencia codificada de salida es mapeada en como una secuencia de M símbolos

seleccionados de una constelación de señales con Q puntos en algún espacio de señales., con Q

= 2p. Por facilidad se asumirá p = 1 así que L = M. Las señales mapeadas se denotan como ,)(i

ta

i = 1,2,…, n y la secuencia completa es a = {a0, a1, …, aL-1} estos símbolos at pasan a través del

canal, que en este caso se considera un canal AWGN, resultando los símbolos recibidos )(i

tr , i

= 1, 2, …, n, o un bloque rt. Como anteriormente se describió, el ruido AWGN tiene una

distribución de voltaje en el tiempo con características que pueden ser descritas por una

distribución estadística Gaussiana o normal, como por ejemplo la campana de Gauss. Esta

distribución de voltaje tiene media cero y una desviación estándar que es función de la relación

señal a ruido (RSR) de la señal recibida. Si se considera que el nivel de la señal está dado,

entonces si la RSR es alta, la desviación estándar del ruido es pequeña, y viceversa.

La ventaja de la decodificación con el algoritmo de Viterbi es que tiene un determinado

tiempo de decodificación, por ello es muy usado en la implementación de hardware. Una

desventaja podría ser que los requerimientos computacionales crecen exponencialmente con

respecto a la longitud de restricción y por ello en la práctica se utilizan longitudes por debajo de

K=9.

Revisando la notación utilizada para la decodificación tenemos que el estado al tiempo t en

la trellis del codificador es denotado como ψt. Los estados son representados con valores enteros

en el rango de 0 ≤ ψt ≥ 2ν, donde ν es la longitud de restricción del codificador. (Se utiliza 2

ν

puesto que se trata de codificadores binarios.)

Como se puede ver en la figura 11 la entrada que causa la transición del estado ψt = p al

estado ψt+1 = q es denotada como x(p,q)

. (Si la trellis tiene diferentes estructuras en distintos

tiempos, se usa la notación ),( qp

tx . La secuencia de bits código de salida como resultado de esta

transición de estados es c(p,q)

y los símbolos mapeados son a(p,q)

.

El algoritmo de Viterbi es esencialmente un algoritmo de trayectoria más corta, puesto que

se trata de calcular la trayectoria más corta a través de la trellis asociada con el código.

Para una entrada xt la salida ct depende del estado del codificador ψt, el cual en cambio

depende de las entradas previas. Esta dependencia entre entradas implica que las decisiones

óptimas no se puedan basar en una función de probabilidad para un solo tiempo f(rt|xt). En lugar

de eso, las decisiones óptimas se basan en una entera secuencia de símbolos recibida. La

función de probabilidad a ser maximizada es f(r|x), donde

1

0

110

1

0

1

0 ).(),..., ,()()(L

t

ttL

LL xrfrrrfxrfxrf .....................................(6)

Puesto que se esta manejando un canal sin memoria se puede tener la igualdad anterior. Esto

es conveniente para manejar la función log de probabilidad,

...........................................(7)

Page 38: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

32

).ˆ,()()ˆ,()ˆ,()( ),(1

0

1

qp

it

t

i

ttttiitt xrpMxrxrqM

Tiempo t Tiempo t+1

),(),( qpqp ax

Ψt = p

Ψt+1 = q

rt

FIGURA 11: Notación asociada con la transición de estados.

Tomando en cuenta que una secuencia 110

1

0ˆ ..., ,ˆ ,ˆˆ

t

t xxxx deja al codificador en el estado

ψt = p al tiempo t, esta secuencia determina una trayectoria (o secuencia de estados) a través de

la trellis del código. Entonces t t .,...,, 10

La función log de probabilidad para esta secuencia es .)x̂f(r log )x̂f(r log1-t

0i

ii

1-t

0

1-t

0 ......(8)

Sea )ˆ(log 1

0

1

01

tt

t xrfM la métrica de trayectoria del camino Пt a través de la trellis

definida por la secuencia x1

0

t y que termina en el estado p. El signo negativo indica que se

pretende minimizar la métrica de la trayectoria (para maximizar la probabilidad).

Si ahora )ˆ(log)ˆ,( ttttt xrfxr denota la probabilidad negativa de una entrada que hace

que al tiempo t+1 el estado sea ψt-1= q. Se puede usar de manera equivalente

,)ˆ(log)ˆ,( ),( bxrfaxr qp

tttt para cualquier a<0. La cantidad )ˆ,( ttt xr es llamada

métrica de rama del codificador. Puesto que x̂ mueve la trellis del estado p al tiempo t estado

q al tiempo t+1, se puede escribir )ˆ,( ttt xr como ).ˆ,( ),( qp

tt xr Entonces

.....................(9)

Esto es, la métrica del camino (o de trayectoria) a lo largo de una trayectoria hacia el estado

q al tiempo t se obtiene sumando la métrica del camino hasta el estado p al tiempo t-1 a la

métrica de rama para una entrada la cual mueve el codificador del estado p al estado q. (Si no

hay tal entrada entonces la métrica de rama es ∞).

Ahora se ha llegado a un punto medular del algoritmo de Viterbi, el momento en el que dos

caminos confluyen o se unen. Supóngase que mt-1(p1) es la métrica de trayectoria de un camino

Page 39: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

33

)}ˆ,()(M,)ˆ,()(min{)(),(

21-t

),(

1121 qp

tt

qp

tttt xrpxrpMqM

que termina en el estado p1 al tiempo t y Mt-1(p2) es la métrica de trayectoria del camino que

finaliza en el estado p2 al tiempo t. Considérese además que ambos estados están conectados al

estado q al tiempo t+1, como se sugiere en la figura 12, las métricas de camino resultantes en el

estado q son ).ˆ,()(My )ˆ,()(),(

21-t

),(

1121 qp

tt

qp

ttt xrpxrpM

El Principio que gobierna el algoritmo de Viterbi es: Para obtener la trayectoria más corta a

través de la trellis, la trayectoria al estado q debe ser lo más corta posible. Entonces, cuando dos

o más trayectorias se juntan, la trayectoria con la métrica de trayectoria más corta es retenida

mientras que la otra trayectoria ya no se toma en cuenta. Esto es.

y la trayectoria con la mínima longitud se convierte en la trayectoria al estado q. Este camino es

llamado trayectoria sobreviviente.

Trayectoria de la trellis

que la deja en el estado

ψt = P1 Tiempo t Tiempo t+1

)ˆ,()()(),(

111 qp

tttt xrpMqMo

)ˆ,()()(),(

212 qp

tttt xrpMqM

)( 11 pM t

)( 21 pM t

)ˆ,(),( 1 qp

tt xr

)ˆ,(),( 2 qp

tt xr

Trayectoria de la trellis

que la deja en el estado

ψt =P2 FIGURA 12: La etapa Viterbi: Selección de la trayectoria con la mejor métrica

Puesto que no se sabe en el tiempo t<L a través de cuales estados pasa la trayectoria final, se

busca la trayectoria de cada estado en cada tiempo. El algoritmo de Viterbi mantiene la

siguiente información:

Una métrica de camino para cada estado en el tiempo t.

Un camino para cada estado en el tiempo t.

Finalmente es posible resumir el algoritmo de Viterbi en 4 sencillos puntos:

1.- Para cada estado q al tiempo t +1, encontrar la métrica de trayectoria para cada camino

hacia q por medio de la suma de la métrica de camino Mt-1(p) de cada trayectoria sobreviviente

del estado p en el tiempo t a la métrica de rama ).ˆ,( ),( qp

tt xr

Page 40: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

34

2.- La trayectoria sobreviviente hacia q se seleccionada como la trayectoria al estado q que

tiene la métrica de trayectoria más pequeña.

3.- Almacenar la trayectoria y la métrica de trayectoria para cada estado q.

4.- Incrementar t y repetir hasta completar.

Es preciso apuntar que en el caso en que haya dos trayectorias que se unen y que además

tienen la misma métrica lo que se hace es una selección aleatoria sin que esto pueda tener

repercusiones negativas en la probabilidad.

Para que quede más claro este algoritmo hay que ver el siguiente ejemplo:

Ejemplo 4: Se tiene el codificador G =[x2+1 x

2 + x +1] del ejemplo 1, cuya realización y

diagrama trellis se observan en la figura 6, pasando los datos a través de un Canal Binario

Simétrico (BSC, por sus siglas en inglés). Donde la secuencia de datos m =[1, 1, 0, 0, 1, 0, 1, 0,

…] = [m0, m1, m2, m3, m4, m5, m6, m7, …] se aplica al codificador, la secuencia de bits de salida

e c = [11, 10, 10, 11, 11, 01, 00, 01, …] que corresponde a c = [c0, c1, c2, c3, c4, c5, c6, c7, …].

Por facilidad se considera que los datos pasan por un BSC, en tal caso los datos mapeados

son iguales a la salida del codificador at = ct. La secuencia de salida y los estados

correspondientes se muestran en la tabla 4, donde ψ0 = 0 es el estado inicial.

Tabla 4: salidas correspondientes al

codificador del ejemplo 3

t Salida

mk

Salida

ct

Estado

ψt+1

0 1 11 1

1 1 10 3

2 0 10 2

3 0 11 0

4 1 11 1

5 0 01 2

6 1 00 1

7 0 01 2

La secuencia de estados en la trellis para este codificador se muestra en la figura 13 donde la

línea oscura representa la secuencia de estados correspondiente a esta secuencia de salidas.

Page 41: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

35

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2 t = 7t = 6

FIGURA 13: Trayectoria a través de la trellis que corresponde a la secuencia en cuestión

La secuencia codificada de salida pasa a través de un canal, produciendo con ello la

secuencia recibida r = [11 10 00 10 11 01 08 01…] = [r0, r1, r2, r3, r4, r5, r6, r7,…]. Los bits que

están subrayados son resultado del ruido existente en el canal.

Entonces entrando en materia con el algoritmo, es necesario ir paso por paso en cada instante

de tiempo t:

En t = 0; se sabe que es el estado inicial y la secuencia recibida es r1=11, se calcula la

métrica para cada estado en el tiempo t = 1 encontrando la distancia (de Hamming) entre r0 y la

posible secuencia transmitida c0, a lo largo de las ramas de este primer estado de la trellis. Como

se sabe que el estado 0 es el estado inicial, hay sólo dos trayectorias, con métricas de trayectoria

de 2 y 0, como se muestra a continuación:

0

1

2

3t = 0 t = 1

r0=11

2

0

Para t= 1 la secuencia recibida es r1= 10. Nuevamente cada trayectoria al tiempo t=1

únicamente es extendida sumando la métrica de trayectoria a cada métrica de rama.

0

1

2

3

t = 0 t = 1 t = 2

r1=10

3

3

2

0

t = 2: la secuencia recibida es r2= 00. Cada trayectoria al tiempo t = 2 es ampliada, sumando

la métrica de trayectoria a cada métrica de rama de cada camino.

Page 42: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

36

0

1

2

3

t = 0 t = 1 t = 3t = 2

3

3

2

0

3

41

4

2

5

4

1

r2=00

Ahora hay múltiples caminos hacia cada nodo en el tiempo t =3. Se selecciona la trayectoria

hacia cada nodo con la mejor métrica y se eliminan las otras trayectorias. Esto genera el

siguiente diagrama:

0

1

2

3

t = 0 t = 1 t = 3t = 2

1

2

1

r2=00

3

t = 3: La secuencia recibida es r3= 10. Cada camino al tiempo t = 3 es extendido, sumando

la métrica de trayectoria a cada métrica de rama de cada trayectoria.

0

1

2

3

t = 0 t = 1 t = 3t = 2

1

2

1

r3=10

34

2

1

4

2

4

2

3

t = 4

Nuevamente se selecciona la mejor trayectoria de cada estado. Es preciso notar que durante

la selección de las mejores trayectorias, algunas trayectorias en algunos estados en tiempos

anteriores no tienen sucesores; estas trayectorias huérfanas ahora se eliminarán del diagrama.

0

1

2

3

t = 0 t = 1 t = 3t = 2

r3=10

2

1

2

2

t = 4

Page 43: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

37

En t = 4: La secuencia recibida es r4= 11. Cada trayectoria al tiempo t = 4 se amplía, como se

ha venido haciendo en pasos anteriores.

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2

2

1

2

2 4

3

3

3

3

2

1

3

r4=11

En este caso se observa que hay dos trayectorias en el estado 3 que tienen la misma métrica

de trayectoria, de igual manera se tiene el caso en el estado 2. Dado que una de las dos

trayectorias tiene que seleccionarse, dicha selección se puede hacer arbitrariamente. Después de

la selección y eliminación de las trayectorias huérfanas resulta:

t = 0 t = 1 t = 5t = 4t = 3t = 2

2

1

2

2r4=11

3

3

2

1

En t = 5: La secuencia recibida es r5= 01

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2 t = 6

4

4

5

2

2

4

3

2

3

3

2

1

r5=01

Después de la selección y el depurado

Page 44: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

38

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2 t = 6

r5=01

3

2

2

2

t = 6: La secuencia recibida es r6= 00.

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2 t = 7t = 6

r6=00

3

2

2

2 2

3

4

3

2

4

4

4

Después de la selección y el depurado

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2 t = 7t = 6

r6=00

3

3

2

2

En t = 7: La secuencia recibida es r7= 01.

Page 45: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

39

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2 t = 7t = 6 t = 8

3

3

2

23

4

5

2

4

3

3

3

r7=01

Después de la selección y el depurado se tiene:

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2 t = 7t = 6 t = 8

3

3

2

2

3

2

3

3

r7=01

La decodificación termina al final de la transmisión (los 16 bits de datos recibidos) mediante

la selección de estado tras estado del que tuvo el menor costo, atravesando hacia atrás a lo largo

del camino también indicado en el comienzo de la trellis, después atravesando hacia delante a lo

largo del mejor camino, leyendo los bits de entrada y decodificando los bits de salida a lo largo

de la trayectoria. Esto se muestra en seguida con una línea continua, donde se indican los pares

entrada/salida de bits.

0

1

2

3

t = 0 t = 1 t = 5t = 4t = 3t = 2 t = 7t = 6 t = 8

3

2

3

3

r7=01

1/11

1/00

0/01

1/11

0/10

0/00

1/100/01

Hay que notar que la trayectoria a través de la trellis es la misma que la de la figura 12 y

que la secuencia de bits de entrada recibida es la misma que la secuencia original. Entonces en

la secuencia de 16 bits, dos bits de error han sido corregidos.

Page 46: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

40

IV.1.1 Decodificacion dura y suave.

Los datos provenientes del canal deben suministrarse al decodificador, y pueden ser

manejados con dos tipos de decodificación, designados como dura o firme (hard) y suave (soft).

En términos muy simples, puede decirse que la decodificación dura se da cuando el demodulador

entrega al decodificador de canal la información tal como la detecta sin intentar efectuar ninguna

corrección, dejando esa tarea al decodificador de canal. Esto significa que la señal recibida del

canal es cuantizada con sólo dos niveles. Ahora suponiendo que los datos se introdujeron a un

canal con AWGN6 y que en la detección se toma en cuenta la distancia Euclidiana y la métrica

de rama, entonces se trata de una decodificación suave. Haciendo una comparación entre la

decodificación con decisión suave usando modulación BPSK bajo un canal AWGN y la

decodificación con decisión dura bajo un canal BSC, en los cuales los valores recibidos son

convertidos a valores binarios con una probabilidad de error pc = 02 NEQ b , se ha

determinado que la decodificación con decisión suave proporciona una ganancia de 2 a 3 dB

sobre la decodificación con decisión dura.

Para comprender mejor lo anterior se debe considerar la señal recibida del canal como la

variable aleatoria y. En la Figura 14 se representa la probabilidad de la señal recibida

condicionado al hecho de haber enviado un ‗0‘ f (y |‘0‘) y la probabilidad al hecho de haber

enviado un ‗1‘ f (y |‘1‘) cuando se introduce ruido AWGN al canal.

El demodulador aplicado a un decodificador con decisión suave cuantifica una graduación

entre los dos niveles de señal del emisor ‗0‘ y ‗1‘. Así, la decisión de si un símbolo es ‗1‘ o ‗0‘ se

suaviza (decisión suave). En la figura, el decodificador Viterbi interpretará el símbolo ‗000‘

como un ‗0‘ con máxima probabilidad y el símbolo ‗111‘ como un ‗1‘ con máxima probabilidad.

En medio se encuentran el resto de símbolos.

El ejemplo de la sección anterior corresponde al algoritmo de Viterbi con decisión dura. El

proceso del cálculo de las métricas de rama en el algoritmo de Viterbi con decisión suave es un

tanto diferente, por ejemplo: si para una rama en particular de la trellis las etiquetas conocidas

(las salidas del codificador) son ν1 y ν2 como se observa en la figura 15, y las entradas

correspondientes del decodificador son r1 y r2 , entonces la métrica de rama se calcula como

sigue 2

1

2)(j

jjrbm .......................................................(10)

Ejemplo 5: para resumir los principales pasos del algoritmo de Viterbi con decisión suave se

considerará el codificador convolucional con polinomios generadores (en notación octal)

[133,171] con tasa R= ½ y, por tanto con una K=7. Se asume que la salida del codificador es +/-

1 y un canal con AWGN. Por simplicidad, las entradas del decodificador r2i y r2i+1 en la ventana i

se consideran valores continuos. Para 0 ≤ i K-2 la trellis crece pero como se ve en la figura 15

se considerará la transición más común. A cada nodo de la trellis se asigna una métrica de camino

continua y para el nodo p está dada por:

6 Recuérdese que éste término se refiere al Ruido Blanco Aditivo Gaussiano (Additive White Gaussian Noise).

Page 47: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

41

]][1[

]][1[

picb

pipm

n]][[

]][[

nicb

nipm

]][1[

]][1[

qicb

qipm

]32][1[

]32][1[

cb

pm

sobrante

aTrayectori

2

212

2

12 )()(]][[]][1[ ii rrnipmpipm

f(y| ‗0‘) f(y| ‗1‘)

Dec. suave

Dec. dura

FIGURA 14: Decisiones suave y dura del decodificador.

i=0 1 2 5 6 7

16

r2i,r2i+1 i i+1

16 ui=0 p=2

n

32

uy=1

48 q=2

n+32

FIGURA 15: Diagrama trellis para el código [133,171] R= ½ y K=7.

Aquí, ν1 y ν2 son las etiquetas para el caso ui=0 debido al estado actual n. Además de las dos

métricas de rama se agrega la información necesaria para realizar el traceback tomando en

cuenta la trayectoria con mejor probabilidad.

En la figura 16 se muestra una transición de estados para el ejemplo que se maneja. Para la

rama pn una métrica de rama temporal se calcula como:

mp= 2

212

2

12 )()(]][[ ii rrpipm y de manera similar para mq. Asumiendo, por ejemplo,

que mp < mq entonces pmnipm ]][1[ ; cb[i+1][n]=p.

Page 48: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

42

]][[

]][[

Wi

Wi

SWicb

SWipm

Finalmente, considerando la decodificación con traceback y suponiendo que se quiere la

decodificación del bit de información ui dada una ventana de decodificación de W etapas, como

en la figura 17. El estado Si+W correspondiente a la métrica de trayectoria más pequeña no es

necesaria en la trayectoria del decodificador, pero es un buen punto de inicio para el trazo hacia

atrás (traceback). Se realiza el trazo W etapas hacia atrás usando el algoritmo

S[j] = cb [j+1] [Si+1], con j = i + W -1, ..., i+1, i

p=2n

i etapa,i i+1

p r2i,r2i+1 0≤ n < 32 n

mp q=2n+1

n

mq p=2(n-32)

Q 31< n < 64 n

p=2(n-32)+1

FIGURA 16: Trellis repetitiva para el codificador [133,171] con decodificación con el algoritmo de Viterbi

W etapas

i i+1 i+W

Si+W

Si

Si+W-1

ui

Si+1

FIGURA 17: Decodificación hacia atrás para ui

Proporcionando W = 5K o más, entonces los estados Si y Si+1 identificarán con mayor

precisión la métrica de camino para la etapa correspondiente, también tiene más probabilidad de

identificar la trayectoria usada por el codificador para la etapa i. En el algoritmo se siguen

algunas reglas simples, por ejemplo ui = 0 si Si+1< Si.

Ejemplo 6: Finalmente, para terminar de comprender el algoritmo tómese en cuenta un

ejemplo real en el que se tiene parte de la trellis de un codificador convolucional de tasa R= 1/2.

Las etiquetas de cada rama corresponden al par de símbolos codificados ν1, ν2 y también se

]][[

]][[

picb

pipm

]][[

]][[

qicb

qipm

]][1[

]][1[

nicb

nipm

Page 49: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

43

observan las métricas de trayectoria en cada nodo, la métrica de trayectoria por nodo se

encuentra como sigue:

9.5

i

-1,1

r

10.6 1,1

p

1,-1

j

1,1 1,-1

q k

8.2 12.1

-1,-1

s

Entrada suave 0.9,-0.5 1.3,0.6

FIGURA 18: Ilustración de una decodificación con decisión suave.

Para el nodo j se tiene:

mp =10.6+(0.9-1)2

+ (-0.5-(-1))2 = 10.86

mq =8.2+h0.9-1)2

+ (-0.5-1)2 = 10.46

Así que la métrica para el nodo j es 10.46. La métrica de camino para el nodo r es

mj =10.46+(1.3-1)2

+ (0.2-1)2 = 11.19

mi =9.5+(1.3-(-1))2

+ )0.2-1)2 = 15.43

De modo que la métrica para el nodo r es 11.19. Finalmente, para el nodo s se tiene

mj =10.6+(1.3-1)2

+ (0.2-(-1))2= 11.99

Por lo tanto, aparentemente el trazo hacia atrás sería siguiendo la trayectoria z → j → q.

Con respecto a códigos convolucionales y algoritmo de Viterbi es suficiente con lo tratado

hasta el momento, sólo resta incluir las simulaciones y los resultados arrojados por ellas. Antes,

es preciso incluir información relacionada con la Codificación trellis para saber el porqué de la

importancia de los códigos convolucionales.

Page 50: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

44

1~

~

m

mtasa

ma

1~ma

ma ~

1a

my

1~my

my ~

1y

0y

2m+1 señales

Codificador

Convolucional

de k bits de

memoria

m+1 bits

de salida

m bits de

datos

a=1,0, ...

Mapeo de

señales

Capitulo V

MODULACIÓN CODIFICADA TRELLIS (TCM)

La modulación codificada trellis es un método simple para diseñar esquemas de modulación

que puedan lograr un buen desempeño general. Este esquema de modulación-codificación se basa

FIGURA19: Codificador/ modulador de Ungerboeck[1 y 2].

en el concepto de mapeo por particionamiento de conjuntos desarrollado por Ungerboeck (1982)

[1]. Este mapeo de conjuntos puede utilizarse conjuntamente con ambos tipos de códigos,

convolucionales y de bloques, pero debido a la existencia de un algoritmo de decodificación con

decisión suave simple y óptimo (el algoritmo de Viterbi), se ha empleado mayoritariamente con

convolucionales. Cuando se utiliza con códigos convolucionales, el esquema de modulación

resultante se conoce como modulación codificada trellis. El codificador/modulador propuesto

por Ungerboeck es el que se ilustra en la figura 19.

En la modulación codificada se logra una ganancia de codificación a través del incremento

del tamaño de la constelación de la señal, en lugar de incrementar la tasa de símbolos como en los

esquemas FEC convencionales. El incremento del tamaño de la constelación genera la

redundancia necesaria para llevar a cabo la FEC. La figura 20 ilustra el concepto de este tipo de

modulación. El modulador o mapper de la figura 20(a) se modifica en la figura 20(b) de modo

que k bits de entrada generan una constelación de 2k+1

símbolos en lugar de 2k. Entonces

duplicando el tamaño de la constelación podemos utilizar un código convolucional de tasa (n-

1/n). Lo importante aquí es que un símbolo de salida todavía es generado por cada k bits de

Page 51: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

45

Codificador

convolucional Mapper

datos, de modo que la tasa y el ancho de banda no se modifican, aún habiendo agregado el FEC.

Es importante resaltar que los sistemas TCM las funciones de codificación y mapeo se diseñan

en conjunto como se indica en la figura 20(b), esto con la intención de reducir la complejidad del

decodificador.

En la figura 21 se tiene de manera práctica la forma en que operan los esquemas de

modulación TCM, como se puede ver en los tres casos se mantiene constante la tasa de

transmisión pero se va incrementando el número de puntos en la constelación sin alterar la

energía de la señal, así que la distancia euclidiana entre símbolos disminuye. Además la razón

de bits aumenta pero la tasa de símbolos permanece igual.

Para comenzar con el estudio de TCM hay que repasar el concepto de constelación de

señales. Una constelación de señales S es un subconjunto de los reales o al plano 2 (algunas

veces considerado como el plano complejo). La constelación unidimensional se usa en la

modulación por desplazamiento de amplitud (amplitude shift keying ASK), y la constelación

unidimensional con dos puntos bE se llama frecuentemente modulación binaria por

desplazamiento de fase (binary phase-shift keying BPSK). Una constelación de dos dimensiones

con todos los puntos sobre un círculo se conoce como constelación PSK (phase shift keying). La

constelación con frecuencia se expresa en términos del número de puntos, tales como 4-PSK, 8-

PSK, o 16-PSK.

La constelación 4-PSK también se conoce como QPSK. En la figura 22 se observan estas

constelaciones. En la figura se tiene que la energía de las constelaciones es Es. La distancia

mínima entre los puntos de señal se denota como d0. La constelación con bidimensional con

puntos en una cuadricula se denomina modulación de amplitud en cuadratura (QAM, por sus

siglas en inglés).

K bits/símbolo M=2k símbolos

(a)

codificador/modulador

K bits/símbolo n bits/símbolo M=2n símbolos

( k= n - 1)

n

nR

1 diseñado simultáneamente

(b)

FIGURA 20: (a) Modulador básico; (b) modulación codificada.

Modulador

(mapper)

Page 52: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

46

Codif.

Convol..

R=½

MODULADOR

4PSK

M=22 = 4

Codif.

Convol..

R= 2/3

MODULADOR

8PSK

M=23 = 8

Codif.

Convol..

R= 3/4

MODULADOR

16QAM

M=24= 16

K= 1 Entra BPSK

2 bits símbolos

QPSK

K= 2 Entra QPSK

3 bits

Símbolos 8PSK

K= 3 Entra 8PSK 4

bits

Símbolos 16QAM

400 simb/s

400 simb/s

1200 bps

1600 bps

400 simb/s

400 simb/s

400 bps

800 bps

1200 bps

400 simb/s 400 simb/s

800 bps

.2

5

23234232822416

1

2

0

2

0

2

0

2

0

2

0

2

0

2

0

d

ddddddEs

FIGURA 21: Ejemplo práctico del funcionamiento de TCM.

La densidad espectral de una constelación es el número de bits portados por cada símbolo.

Asumiendo que los bits son idénticamente distribuidos, la energía promedio por símbolo Es, es el

promedio de el cuadrado de las distancias de los puntos de la constelación al origen. Por ejemplo,

para la constelación 16- QAM con distancia mínima d0,

La energía promedio por bit está dada por sb EE1

. Además para una constelación

cuadrada con M puntos resulta que .6

1 2

0dM

Es

Los elementos de un punto (a1, a2) S 2 de una constelación, representan las amplitudes

de dos funciones base, las cuales se denotan como φ1(t) y φ2(t), y se consideran ortonormales

(es decir, que tienen energía unitaria y son ortogonales entre sí ). Además un corrimiento de estas

funciones por el periodo de los símbolos (T) sigue siendo ortogonal,

0)()( dtkTtt ii con i=1,2,…, para todos los enteros k 0.

Page 53: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

47

sEsE

BPSK 4-PSK (QPSK)

do

do

- sE sE sE

8 – PSK 16 – PSK

do

do

FIGURA 22: Constelaciones PSK

La señal transmitida s(t) se obtiene al yuxtaponer una secuencia de señales base escaladas,

cada una con su propia amplitud representada por el símbolo transmitido

k

kk kTtakTtats ).()()( 2,21,1

Finalmente, en el receptor la señal recibida r(t) es otra vez proyectada sobre el plano de la

constelación de señales por un conjunto de filtros. En cada intervalo de símbolos, cuando se ha

recibido el punto (r1, r2), el detector de máxima probabilidad (ML por sus siglas en inglés)

determina el punto de la constelación más cercano a (r1, r2). Es importante mencionar que los

esquemas TCM más sencillos (cuatro estados) pueden mejorar en 3dB la ganancia total del

sistema, mientras que los más complejos pueden sobrepasar los 6dB.

Otro concepto de vital importancia para el estudio de los esquemas TCM es el de

particionamiento de conjuntos que consiste en la subdivisión de la constelación más grande en

pequeños subconjuntos lo que da como resultado que la distancia euclidiana d0 entre los puntos

de los subconjuntos de cada nivel es substancialmente incrementada. El particionamiento será

repetido k+1 veces hasta que la distancia dk+1 es igual o más grande que la distancia libre

deseada para el esquema TCM que se esté diseñando. Los conjuntos obtenidos finalmente,

etiquetados como D0, D1, D2, ..., D7, en el caso de la figura 23 serán llamados subconjuntos. La

forma de etiquetar las ramas en el diagrama de particionamiento para los k+1 bits codificados 0,,1

n

k

n cc , de acuerdo a la figura 23 genera la etiqueta que se denota como cn =0,,1

n

k

n cc para

cada subconjunto. La etiqueta determina la posición del subconjunto en el diagrama.

Esta forma de etiquetar da paso a una importante propiedad. Si las etiquetas de dos

subconjuntos coinciden en las pasadas q posiciones, pero no en el bit q

nc , entonces las señales de

Page 54: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

48

los dos subconjuntos son elementos del mismo subconjunto en el nivel q del diagrama de

particionamiento; por lo tanto las señales tienen al menos la distancia dq.

En la trellis, las señales de los subconjuntos se han asociado con las 22k transiciones

paralelas. La distancia libre de un código TCM se puede expresar entonces como:

dfree= Min[dk1+1,dfree(k1)],

donde dk1+1 es la distancia mínima entre transiciones paralelas y dfree(k1) denota la distancia

mínima entre trayectorias no paralelas del diagrama trellis. En el caso especial en el que k1=k2

los subconjuntos sólo contienen una señal y por tanto no hay transiciones paralelas en el

diagrama (más adelante se aclarara el porqué de este hecho).

En la figura 24 se observa el diagrama de bloques de un codificador TCM en donde un

bloque de longitud k se divide en dos sub bloques de longitudes k1 y k2 respectivamente. Los

primeros k1 bits se aplican a un codificador binario (N1, k1). La salida del codificador consiste en

n1 bits. Esos bits se utilizan para elegir una de las 12n particiones de la constelación. Esto significa

que la constelación ha sido particionada en 12n subconjuntos. Después de que la constelación ha

sido elegida, los k2 bits restantes se utilizan para elegir uno de los puntos de la constelación

elegida. Esto significa que existen 22k puntos en cada partición. En consecuencia, la partición que

se utiliza contiene 12n subconjuntos y cada subconjunto contiene 22

k puntos. Esto determina una

regla para determinar el tamaño de la constelación requerido y cuántos pasos de particionamiento

deben seguirse sobre la constelación.

Ungerboeck (1982) [2] demostró que eligiendo n1 = k1+1 y k2=1 y utilizando códigos

convolucionales simples es posible diseñar esquemas de modulación codificados que logran una

ganancia total de codificación entre 3 y 6 dB. Es preciso mencionar que se habla de códigos

convolucionales simples en referencia a lo que se denomina como codificadores básicos mismos

que ya se han estudiado en el capitulo IV del presente trabajo.

Page 55: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

49

0

nc = 0 0

nc = 1

1

nc = 0 1

nc = 1 1

nc = 0 1

nc = 1

2

nc = 0 2

nc = 1 2

nc = 0 2

nc = 1 2

nc = 0 2

nc = 1 2

nc = 0 2

nc = 1

FIGURA 23: Particionamiento de conjuntos de una constelación 8-PSK.

Page 56: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

50

Subconjunto

seleccionado

FIGURA 24: Diagrama de bloques de un codificador TCM.

Ejemplo 7: En la figura 25 se tiene un esquema TCM con k1= 1, n1=2 y k2=1. La

constelación tiene 212kn =2

3 = 8 puntos, que están particionados en 12

n = 22 =4 subconjuntos cada

uno de los cuales contiene 22k = 2

1=2 puntos. La constelación elegida aquí es 8-PSK y se

particiona como se ilustra en la figura 23. El codificador convolucional que se usa tiene una tasa

R= ½. La longitud de restricción se puede elegir de manera que se obtenga la ganancia de

codificación deseada. Como se verá más adelante, en los resultados de las simulaciones, para

longitudes de restricción mayores se tiene una mayor ganancia al precio de incrementar la

complejidad del codificador/decodificador además de los cálculos computacionales se

incrementan considerablemente. En este ejemplo se tienen una longitud de restricción de 3. En la

figura 25(b) se incluye una etapa del diagrama trellis.

c1 (c1, c2, c3) = 000

Entradas

c2

No codificada. c3

(a) (b) (c)

FIGURA 25: Esquema TCM: a) Codificador convolucional; b) Trellis de 4 estados; c) mapeo de los bits

codificados (c1, c2, c3) en los puntos de señal.

Razón

k1/( k1+1)

Codificador

Convolucional

Selección de

subconjunto

de la

constelación

Selección de

un punto del

subconjunto

1

nm2

nm

1k

nm

0

nc1

nc

1n

nc

11k

nm

21k

nm

21 kk

nm

Page 57: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

51

Como se puede ver en el diagrama trellis, hay una particularidad en relación con la trellis

común de un codificador convolucional, se trata de que aquí se tienen dos caminos que conectan

dos estados. Esto se debe a que existe un bit de más, k2=1, que selecciona un punto en cada

partición. En realidad, los dos caminos paralelos que conectan dos estados corresponden a una

partición, y cualquier camino simple corresponde a un punto en la partición.

A continuación se incluyen unas reglas que se deben seguir para conseguir un buen

desempeño de los esquemas TCM:

1.- Las transiciones en paralelo corresponden a puntos de señal en una única partición en la

etapa siguiente del particionamiento. En el ejemplo anterior, C0 = {D0, D4}, C2 = {D2, D6},

C1={D1, D5}, y C3 = {D3, D7} corresponden a transiciones en paralelo. Esos puntos están

separados por una distancia Euclidiana máxima de d2= sE2 .

2.- Las transiciones que se originan y vuelven a cualquier estado se asignan en la siguiente

etapa del particionamiento que tiene una partición pariente simple en la etapa precedente. En el

ejemplo anterior esas particiones serían B0 = {C0, C2} Y B1 = {C1, C3}. La distancia máxima en

este caso es d1= sE2 .

3.- Los puntos de señal deberían ocurrir con igual frecuencia.

El funcionamiento de la trellis de la figura 25(b) se basa en el concepto antes mencionado, la

distancia libre (dfree), para determinar esta distancia se consideran primero las transiciones en

paralelo ya que suelen tener la menor dfree, en nuestro caso tenemos que esta distancia vale

sEd 22 . En la figura 26 se muestra también otro posible camino con dfree, sin embargo, la

distancia euclidiana entre esos dos caminos es sEddd 58.42 2

1

2

0

2 .

FIGURA 26: Determinación de la distancia mínima en la trellis.

Page 58: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

52

Es evidente que este valor es mayor que la distancia de los caminos paralelos por lo que para

este código se elige una dfree= sEd 22 .

Ahora la pregunta es: ¿La distancia euclidiana elegida es la que realmente proporciona el

mejor desempeño para el esquema TCM que se maneja?, para poder responder a esta pregunta se

debe considerar la cantidad

DCd

d

E

E

free

free

s

s

2

codificada,

2

codificar sin,

codificada,

codificar sin, ...............................(11)

que se conoce como ganancia de codificación del código. En esta fórmula dfree, sin codificar es la

distancia mínima entre los puntos de la constelación original y dfree, codificada es la distancia mínima

que se tiene en la codificación. El término codificada,

codificar sin,

s

s

E

EC se conoce como factor de

expansión de la constelación y cuenta la energía promedio de las constelaciones – a mayor

energía promedio en la constelación de codificación se reduce la ganancia de codificación. El

factor 2

codificada,

2

codificar sin,

free

free

d

dD se llama factor de distancia incrementada. En este caso vale 1 por

que en las constelaciones PSK se requiere la misma energía por símbolo. Con frecuencia la

ganancia de codificación γ se expresa en decibeles (dB) de la siguiente forma: γdB = 10log10(γ).

Tomando en cuenta lo anterior y considerando que la distancia entre la trayectoria C0 y C0,

donde en un caso se envía el símbolo D0 y en otro caso se envía D4. Entonces la distancia es:

d2

= (D0, D4)= sd 42

2

la cual es más pequeña que la distancia que se encontró anteriormente. De esta manera, la

ganancia de codificación para este ejemplo es dBs

s 32log1022

4. De esta manera es

posible demostrar que este esquema de codificación proporciona la mejor ganancia de

codificación para un código TCM de cuatro estados sin incrementar el ancho de banda. No hay

que pasar por alto para lograr esta ganancia se incrementa la complejidad de el

codificador/decodificador.

Las trellis de más de 4 estados producen mayores ganancias de codificación. Como demostró

Ungerboeck con varias simulaciones por computadora los esquemas con 8, 16, 32, 128 y 256

estados se pueden lograr ganancias de codificación en el rango de 3.6 a 5.75 dB. Los resultados

de las investigaciones de Ungerboeck se encuentran en las publicaciones de la IEEE citadas en

[1] y [2] ordenados en diversas tablas que contienen el desempeño de una amplia gama de

códigos. De dichas tablas hay una que se refiere al desempeño del esquema TCM 8-PSK. La

tabla 5 incluye los resultados obtenidos por Ungerboeck (puesto que fue tomada de [2]). Hay que

observar que en ella se representan las ganancias de código correspondientes a este esquema de

modulación así como los coeficientes del polinomio de verificación de paridad de los

codificadores convolucionales correspondientes.

Page 59: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

53

Tabla 5: Resultados obtenidos y publicados por ungerboeck [2]

Códigos para modulación en fase

8-PSK (Δi, 0 ≤ i ≤ 2 ) = 2sen (π/8), 2 ,2;

16-PSK (Δi, 0 ≤ i ≤ 3 ) = 2sen (π/16), 2sen (π/8), 2 ,2;

Número

de

estados

Coeficientes de chequeo de paridad

Ganancia de código asintótica

G8PSK/4PSK G16PSK/8PSK

Nfree

2 m~ h2 h

1 h

0 2

0

2 /freed (m=2) (m=3) (m→ )

4 1 − 2 5 4.000* 3.01 − 1

8 2 04 02 11 4.586 3.60 − 2

16 2 16 04 23 5.172 4.13 − ≈2.3

32 2 34 16 45 5.758 4.59 − 4

64 2 066 030 103 6.343 5.01 − ≈ 5.3

128 2 122 054 277 6.586 5.17 − ≈ 0.5

256 2 130 072 435 7.515 5.75 − ≈ 1.5

4 1 − 2 5 1.324 − 3.54 4

8 1 − 04 13 1.476 − 4.01 4

16 1 − 04 23 1.628 − 4.44 8

32 1 − 10 45 1.910 − 5.13 8

64 1 − 024 103 2.000* − 5.33 2

128 1 − 024 203 2.000* − 5.33 2

256 2 374 176 427 2.085 − 5.51 ≈ 8.0

¿Cómo se pueden expresar los códigos de Ungerboeck presentados en la tabla 5 en forma no

retroalimentada?. En seguida se describe la forma de lograr esto.

Ejemplo 8: De la tabla 5 se toma el código 8-PSK de ocho estados, esto es H(x) = (11, 2, 4)8,

o H(x)= (1+x3, x, x

2), y para no diferir de la notación empleada por Ungerboeck en la figura 19

se manejará en adelante ci=yi como la salida generada por el codificador, de modo que el

polinomio de verificación de paridad será

decir es , )(,, )2(

2

)1(

1

)0(

3

)0()2(

2

)1(

1

)0(

3

)0()2()1()0(

iiiiiiii

T

iii ccccccccxHccc

En la expresión los superíndices indican la salida del codificador (entrada al modulador)

mientras los subíndices representan los retrasos que deben recibir dichas entradas de modo que

esta ecuación de verificación de paridad genera la implementación del codificador de ocho

estados 8-PSK que se presenta en la figura 25.

Entonces, para encontrar la forma no retroalimentada del codificador se debe recordar que,

como se trata de un codificador con dos entradas y tres salidas (R=2/3), la matriz generadora

tendrá la forma

Page 60: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

54

D+D D+

c2

c1

a2

a1

Mapper

8-PSK

)()()(

)()()()(

232221

131211

xGxGxG

xGxGxGxG .

Es posible notar, en la figura 27 que a1 se almacena en un elemento de memoria y a2 lo está

en dos, así que cualquier polinomio de la fila 1 de la matriz generadora del codificador en

cuestión tendrá como exponente máximo 1 y en la segunda fila el máximo exponente será 2.

Como se sabe G(x)HT(x)=0 de manera que en la primera fila de G(x) se tiene

0)()()1)(( 2

1312

3

11 xxGxxGxxG los valores que satisfacen la ecuación anterior podrían

ser G11(x)= 0, G12(x)= x, G13(x)= 1. Para la segunda fila aplicando nuevamente G(x)HT(x)=0

resulta

0)()()1)(( 2

2322

3

21 xxGxxGxxG

Cuya solución puede ser G21(x)= x, G22(x)= 1, G13(x)= x2.

FIGURA 27: Implementación de TCM 8-PSK con codificador retroalimentado

Así que la matriz generadora es:

21

10)(

xx

xxG

Y la implementación en hardware de esta matriz se muestra en la figura 28.

Page 61: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

55

Mapper

8-PSK

DD

D

+

+

a2

a1

c2

c1

c0

D+D+

c2

c1

a2

a1

c0

FIGURA 28: Diagrama no retroalimentado del esquema 8-PSK.

Ejemplo 9: De la misma tabla se tiene que H(x)= (5, 2, 4)8, es decir H(x)= (1+x2, x, x

2), de

modo que )(,, )2(

2

)1(

1

)0(

2

)0()2(

2

)1(

1

)0(

2

)0()2()1()0(

iiiiiiii

T

iii ccccccccxHccc .

Esta ecuación genera el codificador que se ilustra en la figura 29 que bien puede

complementarse con un esquema 8-PSK. De manera similar al ejemplo anterior se obtiene la

matriz generadora utilizando el criterio G(x)HT(x)=0, por lo tanto

0)()()1)(( 2

1312

2

11 xxGxxGxxG

FIGURA 29: Codificador de cuatro estados utilizado en esquemas TCM 8-PSK.

Arroja como soluciones G11(x)= 0, G12(x)= 1, G13(x)= x., porque se observa a1 sólo se

almacena en un elemento de memoria. Y

0)()()1)(( 2

2322

2

21 xxGxxGxxG

Se cumple con G21(x)= x, G22(x)= x, G13(x)= 1+ x2.

Así que la matriz generadora resultante es

Page 62: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

56

DD

D

+

+

a2

a1

c2

c1

c0

21

10)(

xxx

xxG

cuyo diagrama es el de la figura 30.

Existen sistemas de comunicaciones en donde es de vital importancia mantener un ancho de

banda reducido como las comunicaciones digitales en canales telefónicos, las comunicaciones

espaciales, los módems para líneas telefónicas y los reproductores de discos compactos. Es en

estas áreas donde ha tenido gran auge el uso de la Modulación Codificada Trellis.

FIGURA 30: Forma no retroalimentada del codificador de la figura 29.

Page 63: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

57

Capitulo VI

SIMULACIÓN Y RESULTADOS

A la par del desarrollo de los sistemas de comunicaciones han venido evolucionando las

computadoras permitiendo con ello hacer experimentos de campo y evaluar el desempeño de

tales sistemas sin la necesidad de realizar prototipos. A través del uso de los lenguajes de

simulación se pueden crear funciones de propósito general que son utilizadas con frecuencia en

los sistemas de comunicación facilitando así la simulación pues se pueden realizar programas

que funcionen de manera modular. Para realizar las simulaciones se ha elegido MATLAB,

producido por la compañía Math Works, porque se trata de uno de los lenguajes computacionales

de simulación más populares del mundo, es un lenguaje de cálculos matriciales (matrix

laboratory, de aquí su nombre) [11] que es de fácil manejo. En esta sección se presentan los

diagramas de flujo correspondientes a los programas de pruebas así como los resultados

obtenidos con ellos, los códigos fuente se encuentran en la parte códigos fuente de los anexos.

Las simulaciones realizadas están enfocadas a realizar la codificación/modulación, el pase

por un canal AWGN, la demodulación/decodificación y la comparación de resultados para

obtener la tasa de error BER, en la figura 31 se presenta el esquema general de simulación para

tener gráficamente presente lo que se está realizando.

FIGURA 31: Esquema general de simulaciones.

Generador de datos

Codificador

Canal

Modulador

Demodulador Decodificador Datos recuperados

Estadísticas

Page 64: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

58

VI.1.- Codificación/decodificación convolucional

Para comenzar se incluye un programa en turbo C que está disponible en [20], se trata de un

tutorial sobre códigos convolucionales y el algoritmo de viterbi, el programa hace la codificación

(de tasa R=1/2), simulación del paso de los datos codificados a través de un canal con AWGN y

decodificación usando el algoritmo de Viterbi con decisión suave, de una cadena de datos que el

usuario mismo introduce junto con las características básicas del codificador convolucional como

son: el numero de entradas, salidas y elementos de memoria (para poder determinar la longitud de

restricción del codificador). En la figura 32 se tiene el diagrama de flujo general de este

programa y en seguida se observa la pantalla de resultados que arroja la ejecución del programa.

Page 65: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

59

INICIO

Decodificador

de Viterbi

Canal con

Ruido AWGN

Codificador

convolucional

Impresión

de

resultados

Long. de restricción L,

Long de la secuencia

de entrada, RSR, G.

Otro

codificador ?

FIN

NO

SI

FIGURA 32: Diagrama de flujo de un codificador/decodificador convolucional

Page 66: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

60

Es preciso mencionar que el programa contenía funciones declaradas de manera externa pero

por facilidad fueron incluidas en el código fuente y sólo se usan funciones de pase por valor y

pase por referencia.

En primer lugar se introducen de manera manual las características bajo las cuales se realizará

la simulación, la longitud de la secuencia de entrada, la longitud de restricción (número de

elementos de memoria), la relación señal a ruido (para ajustar la parte de decodificación) y los

polinomios generadores correspondientes al codificador convolucional a simular, todas ellas son

solicitadas al principio. La secuencia de entrada, que es una cadena de ceros y unos, se almacena

en un vector que pasa directamente a una función que se encargará de realizar la codificación

convolucional, para generar una nueva cadena con una longitud de más del doble que la

inicialmente introducida, esto debido a que se trata de un codificador ½ y por los bits de

redundancia. En seguida los datos se pasan a una función que realiza la cuantificación de los

datos y les agrega el ruido gaussiano. Una vez codificados y ya con el ruido propio del canal, los

datos pasan a una función que realiza la decodificación mediante el algoritmo de Viterbi

guardando los datos recuperados en un nuevo vector que, según la pantalla de resultados

mostrada en la figura 33, son idénticos a los introducidos al principio de la ejecución del

programa. Cabe aclarar que este programa podría ser útil para calcular la tasa de error de bit

(BER, por sus siglas en inglés) haciéndolo recursivo pero por facilidad se decidió recurrir a

MATLAB para este fin. Este programa en C se incluyó para demostrar que es posible realizar

simulaciones de los sistemas de comunicaciones actuales en distintos lenguajes de programación

para ver su desempeño sin tener que implementarlos físicamente.

VI.2.- Simulación en MATLAB de códigos convolucionales con diferente

longitud de restricción.

El desempeño de la codificación convolucional depende en gran medida de la longitud de

restricción del codificador y del tipo de cuantización en la decodificación, como se señala en [5],

para medir el desempeño del proceso de codificación/decodificación se utiliza lo que

anteriormente se mencionó, la BER. Además de esto en las simulaciones existe un factor más que

puede hacer variar los resultados, se trata de la longitud de la ventana de decodificación, para

evitar complicar más el proceso se decidió fijar el valor de éste parámetro al valor utilizado con

mayor frecuencia, 32 bits.

Considerando que se maneja un codificador de tasa R =½ con una decodificación con

decisión dura entonces se procede a medir el desempeño del codificador con respecto a la

longitud de restricción. Para lograr esto se creó el siguiente programa en MATLAB que simula el

proceso de codificación, el paso por un canal AWGN y la decodificación con el método de

Viterbi con decisión dura para diferentes valores de longitud de restricción y, por tanto diferentes

polinomios generadores, éstos últimos se listan en la tabla 6 en notación polinomial y en

notación octal:

El diagrama de flujo correspondiente a este primer programa en MATLAB es el de la figura

34.

Page 67: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

61

FIGURA 33: Imagen de la pantalla que presenta el programa que simula la

codificación convolucional y la decodificación con el algoritmo de Viterbi de una secuencia de datos.

Page 68: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

62

TABLA 6: Diferentes longitudes de restricción usadas para la simulación

k g1(x) g2(x) g1(x)oct g2(x)oct dfree

3 1+x2 1+x+x

2 5 7 5

4 1+x+x3 1+x+x

2+x

3 15 17 6

5 1+x3+x

4 1+x+x

2+x

4 23 35 7

6 1+x2+x

4+x

5 1+x+x

2+x

3+x

5 53 75 8

7 1+x2 +x

3+x

5+x

6 1+x+x

2+x

3+x

6 133 171 10

8 1+x2 +x

5+x

6+x

7 1+x+x

2+x

3+x

4+x

7 247 371 10

Page 69: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

63

INICIO

Canal con Ruido AWGN

Codificador convolucional

Conta= long

Eb/NodB ?

FIN

SI

NO

Eb/No_dB, long

restricción L, G

Poly2trellis

For elementos de Eb/

No_dB # conta

Poly2trellis

decisión

Decodificador decisión

dura

Decodificador decisión

suave

Calcula BER

Conta= conta +1

FIGURA 34: Diagrama de flujo de un codificador/ decodificador con ambos tipos de decodificación

Page 70: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

64

El programa consiste en una función que se encarga de realizar la simulación en base a los

siguientes parámetros:

1.- EbN0_dB. Es el o los valores de la Relación Señal a Ruido en decibeles (RSR dB).

2.- K. La longitud de restricción deseada para el codificador (en el desarrollo del trabajo

también se ha manejado como L y ν).

3.- codegen. Los valores de las secuencias generadoras introducidas como una matriz en

notación octal, por ejemplo codegen = [5 7].

4.- decisión. El tipo de decisión con el que se desea realizar la decodificación, éste es un

dato de tipo cadena de caracteres ya sea ‗dura‘ para decisión dura o ‗suave‘ para decisión

suave.

En seguida se presenta la forma en que debe ser llamada la función.

%%%%%%%%%%%%%%%%%%%%% INICIO %%%%%%%%%%%%%%%%%%%%%%%%%%

k=3

EbN0_dB1=3;

codegen=[5 7];

ratio=completo2b(EbN0_dB1,k,codegen,'suave');

% 'dura' es el tipo de decisión, puede ser 'suave'

%%%%%%%%%%%%%%%%%%%%%% FIN %%%%%%%%%%%%%%%%%%%%%%%%%%%

Es preciso recordar que en MATLAB las líneas de comentario se inician con % o con %%.

En la sección de códigos fuente de los anexos a se incluye la declaración de la función y algunos

comentarios para orientar al lector sobre el funcionamiento del mismo.

En las figuras 35, 36 y 37, se observan las gráficas de los resultados obtenidos mediante la

ejecución del programa. Se trata de la BER vs. la Relación señal a Ruido en decibeles. Si se

comparan los datos de la gráfica de la figura 35 con los presentados en [5] se puede ver la gran

similitud entre ellos, de manera que se confirma el comportamiento en el desempeño de un

codificador convolucional al variar la longitud de restricción.

Esta primera etapa de prueba fue superada, sin embargo había todavía que verificar que para

estos mismos codificadores y en las mismas condiciones excepto que bajo una decodificación

con decisión suave se lograra (según lo descrito anteriormente) esa ganancia de 2 dB en los

resultados. Para este caso se usaron 3 bits de cuantización M=23= 8 niveles de cuantización para

realizar la decodificación. Aquí se encontró un ligero problema pues primero, aplicando los

umbrales de decisión directamente sobre los datos obtenidos del canal, se obtuvieron los

resultados que se presentan en la figura 36. Aquí hubo partes en las que tal ganancia no se

alcanzaba, sobre todo para k=7 por lo que se tomó la decisión de aplicar un concepto que se

maneja en una de las fuentes consultadas, realizar una cuantización adaptativa.

Page 71: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

65

Se trata de normalizar los datos obtenidos del canal en base a la Eb/N0 dB que se maneja, y

por tanto de la varianza. De esta forma los datos que se encuentran muy dispersos se acercan

más hacia los umbrales de decisión y con ello se reduciría considerablemente la incidencia de

error. Como última alternativa se procedió a agregar este concepto a la parte de decodificación

del programa logrando con ello conseguir la ganancia deseada en todos los

codificadores/decodificadores simulados. Los resultados se pueden observar en la figura 37.

Es importante hacer mención que, debido a la gran cantidad de cálculos y operaciones de

cómputo que implica simular todos los codificadores incluidos en la tabla A usando

decodificación con decisión suave, se optó por realizar sólo los que en [5] se proponen.

FIGURA 35: BER como función de la RSR para un codificador R= ½ con una ventana de 32 bits y

decodificación con el algoritmo de Viterbi usando decisión dura.

Page 72: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

66

FIGURA 36: BER como función de la RSR para un codificador R= ½ con una ventana de 32 bits y

decodificación con el algoritmo de Viterbi usando decisión suave con 8 niveles de cuantización.

Page 73: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

67

FIGURA 37: Decisión suave adaptada según la RSR que se proporciona como argumento.

VI.3.- Simulación del canal AWGN en MATLAB

Sólo resta mencionar que para verificar el buen comportamiento del canal AWGN que se está

manejando se comparó con el comportamiento teórico de un canal no codificado con la

aplicación de la función Q(sqrt(2*EbN0)) que genera datos con distribución gaussiana7.

Teniendo como resultado las gráficas presentadas en la figura 38, de esta manera se puede

comprobar que el canal AWGN que se introdujo en las señales codificadas anteriormente es

altamente confiable pues se mantiene muy cerca de los valores teóricos esperados.

VI.4.- Simulaciones basadas en bloques simulink

Otra poderosa herramienta de simulación mucho más fácil de utilizar es simulink de

MATLAB, que utiliza bloques para crear modelos de simulación a los cuales se les pueden

cambiar determinados parámetros e inmediatamente ver los resultados, además es posible

modificar algunas herramientas y propiedades de los bloques desde el editor de MATLAB de

modo que, como MATLAB y simulink se encuentran de manera integrada, se pueden analizar,

simular y revisar los modelos desde otro ambiente en cualquier punto.

7 En los anexos se encuentra el código fuente de ésta función Q.

Page 74: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

68

FIGURA 38: Resultados teóricos vs. canal AWGN simulado.

Es precisamente esta conjugación del editor de MATLAB con simulink la que se utilizó para

simular nuevamente el desempeño de los codificadores convolucionales con el objetivo de

comprobar la eficacia de esta herramienta de MATLAB así como contar con alternativas de

simulación más flexibles. La razón de hacer esto es porque en la versión 7 de este software se

pueden encontrar unos bloques de modulación y demodulación TCM que serán de gran ayuda

para el desarrollo del presente trabajo. En seguida se explica los pasos seguidos para realizar la

simulación y los resultados a los que se llegó.

Se trata de simular la creación de datos que se codificarán, pasarán por un modulador BPSK,

se enviarán a un canal con ruido blanco aditivo Gaussiano (AWGN), se demodularán, serán

decodificados utilizando el algoritmo de viterbi con decisión suave y con decisión dura. En lo

que respecta a decisión suave es preciso aclarar que en la ayuda de MATLAB se encuentra un

ejemplo que realiza todo el proceso. En este caso se trabajó en implementar el código que

permitiera, desde el editor, modificar los parámetros que fueran necesarios de ciertos bloques y

ejecutar los bloques de manera iterativa. En la figura 39 se observa el conjunto de bloques que

integran el modelo.

Page 75: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

69

FIGURA 39: Modelo Simulink utilizado para simular un sistema de codificación convolucional con

decodificación basada en el algoritmo de Viterbi con decisión suave.

Ahora se analizarán uno por uno cada bloque del modelo:

* Bernoulli Random Binary Generador: Es un generador de números binarios aleatorios que

utiliza la distribución de Bernoulli. La distribución de Bernoulli con parámetro p genera un

―cero‖ con una probabilidad p y un ―uno‖ con una probabilidad 1-p. La distribución de

Bernoulli tiene una media de 1-p y una varianza de p(1-p). La probabilidad de un parámetro

cero se da por p y éste puede ser un número entre cero y uno.

El cuadro de diálogo de este bloque así como los valores fijados a cada uno se ilustra en la

figura 40.

Como ya se dijo, el campo Probability of a zero determina la probabilidad con la que

ocurrirá un cero lógico.

Initial seed: Es el valor inicial del generador de números aleatorios y puede ser un vector de

igual longitud que el parámetro probabilidad de cero o un escalar, de preferencia se debe elegir el

valor de salida de la función randseed.

Sample time: Es el periodo de cada vector basado en muestras o de cada fila o matriz basada

en estructuras.

Frame-based outputs: Determina si la salida es basada en muestras o en estructuras.

Samples per frame: Es el número de muestras en cada columna de una señal de salida

basada en muestras.

Page 76: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

70

FIGURA 40: Parámetros del generador de datos de Bernoulli

* Convolutional Encoder: Es el bloque encargado de realizar la codificación convolucional de

los datos aleatorios generados. Los parámetros en este bloque son:

Trellis structure: utiliza la función poly2trellis para definir al codificador convolucional.

Reset: Sirve para resetear los registros del estado todos ceros del codificador durante el curso

de la simulación. None nunca resetea los registros.

* BPSK Modulator: Realiza una modulación binaria por desplazamiento de fase. La salida es

una representación banda base de la señal modulada.

Phase offset (rad): La fase del punto cero de la constelación manejada.

Samples per symbol: Es el número de muestras de salida que el bloque produce por cada bit

de entrada.

* AWGN Channel: Agrega ruido blanco Gaussiano a la señal de entrada sea real o

compleja. Cuando la señal es real, el bloque agrega ruido Gaussiano real y produce una señal

real como salida. Cuando la señal de entrada es compleja, el bloque agrega ruido Gaussiano

complejo y produce una señal compleja como salida. Este bloque toma su tiempo de muestreo

de la señal de entrada, utiliza un bloque de fuente aleatoria para generar el ruido.

Page 77: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

71

FIGURA 41: Parámetros del bloque codificador convolucional

El parámetro Initial seed inicializa el generador de ruido. Este parámetro puede ser un escalar o

un vector cuya longitud es igual al número de canales en la señal de entrada.

FIGURA 42: Parámetros correspondientes al modulador BPSK.

Initial seed: Es el valor inicial del generador de ruido Gaussiano.

Mode: Es la forma en como se determinará la variación del ruido: en función a la energía

de bit (Eb/No), La energía por símbolo (Es/No), la relación señal a ruido (SNR), todas ellas

en decibeles, variación por máscara o por puerto.

Page 78: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

72

FIGURA 43: Parámetros del bloque del canal AWGN.

Number of bits per symbol: Especifica el número de bits en cada símbolo de entrada.

Este campo sólo aparece si se trabaja en el modo Eb/No.

Input signal power (watts): Es la potencia media cuadrática de los símbolos de entrada

(si el modo es Eb/No o Es/No) o de las muestras de entrada (si el modo es SNR), en watts.

Este campo sólo aparece si el modo es puesto en Eb/No, Es/No, o SNR.

Symbol period (s): Es la duración, en segundos, de un símbolo de canal. Este campo sólo

aparece cuando el modo que se trabaja es Eb/No o Es/No.

Variance: Es la varianza del AWGN. Este campo aparece sólo en el modo variación por

máscara.

Aquí es preciso aclarar que como el canal se fijó en el modo Es/No y las gráficas están dadas

con respecto a Eb/No se consideró una expresión que relaciona a ambos parámetros.

El bloque Soft-Output BPSK Demodulator en realidad es un subsistema, es decir, dentro

de él hay más bloques cuyos parámetros son modificables, en la figura 44 se encuentran los

bloques que integran este subsistema.

Page 79: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

73

FIGURA 44: Bloques integrantes del subsistema demodulador.

En este subsistema lo que se hace es remodular los datos y transformarlos de datos complejos

que llegan del canal a datos con valores entre 0 y 7 (cuantizados) para que el decodificador de

Viterbi pueda hacer su labor sin problemas. Es este subsistema el que habrá que modificarse para

implementar la decodificación en base a decisión dura.

* Viterbi Decoder: Decodifica los símbolos de entrada para producir símbolos binarios como

salida, este bloque puede procesar varios símbolos a la vez con tal de realizar un desempeño más

rápido. Si el código convolucional utiliza un alfabeto de 2n símbolos posibles, entonces la

longitud del vector de entrada al bloque es L*n para algunos enteros positivos L. De manera

similar, si los datos decodificados usan un alfabeto de 2k símbolos de salida, entonces el vector

de salida de este bloque es de longitud L*k. El entero L es el número de estructuras que el bloque

procesa en cada etapa. La entrada puede ser también un vector basado en estructuras con L=1, o

un vector columna basado en estructuras con cualquier entero positivo para L.

FIGURA 45: Cuadro de diálogo de los parámetros correspondiente al decodificador de Viterbi

Page 80: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

74

Trellis structure: Nuevamente define al codificador convolucional sobre el que se está

trabajando. Se debe utilizar el mismo que en el codificador.

Decision type: Puede ser sin cuantización (Unquantized), con decisión dura (Hard Decisión),

o decisión suave (Soft Decisión).

Number of soft decision bits: Es el número de bits de decisión a utilizar para representar

cada entrada cuando se maneja decisión suave.

Traceback depth: Es el número de ramas de la trellis usadas para construir el ―camino hacia

atrás‖ (traceback path). Por conveniencia se utilizan generalmente valores de cinco a seis veces la

longitud de restricción del codificador (como en este caso la longitud manejada es 5 el

Traceback depth se fijó a 25).

Operation mode: Determina el método para realizar las transiciones entre sucesivas cadenas

de entrada, para una entrada basada en estructuras las opciones son Continuous, Terminated, y

Truncated. Para una entrada basada en muestras se debe usar el modo contínuo.

Reset input: Cuando se selecciona esta opción, el decodificador tiene un segundo puerto de

entrada denominado Rst. Proporcionando un valor de entrada diferente de cero en este puerto el

bloque fija su memoria interna al estado inicial antes de procesar los datos de entrada.

* Error Rate Calculation: Compara los datos de entrada provenientes de un transmisor con los

datos provenientes de un receptor. Calcula la tasa de error dividiendo el número de datos

diferentes por el número total de datos de la fuente. Este bloque es útil cuando se quiere calcula la

tasa de error de bit o de símbolo porque no considera la magnitud de la diferencia entre las dos

cantidades. Si las entradas son bits, el bloque calcula la tasa de error de bit. Si son símbolos se

calculará la tasa de error de símbolo. Este bloque también toma el tiempo de muestreo de sus

entradas. Entre sus parámetros están:

Receive delay: Determina el número de muestras por las cuales los datos recibidos se

retrasan de los transmitidos. (Si Tx o Rx es un vector, entonces cada entrada representa una

muestra.)

Computation delay: Determina el número de muestras que el bloque debe ignorar para

iniciar la comparación.

Computation mode: En cualquiera de las estructuras de entrada, selecciona muestras de la

máscara, o selecciona muestras del puerto, dependiendo tanto si el bloque debería considerar

todas o parte de las estructuras de entrada.

Selected samples from frame: Se trata de un vector que lista los índices de los elementos del

vector recibido que el bloque debe considerar cuando realice comparaciones. Este campo a parece

cólo cuando Computation mode se fija a seleccionar muestras de la máscara ―Select samples

from mask‖.

Page 81: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

75

Output data: Cualquiera de las dos, el especio de trabajo (Workspace) o puerto, dependiendo

a dónde se desee enviar los datos de salida.

Variable name: define el nombre de la variable del espacio de trabajo de MATLAB donde

se quiere guardar el dato de salida. Este campo se activa sólo si Output data se fija en

Workspace.

Reset port: Si se selecciona esta opción aparece una entrada adicional etiquetada como Rst.

Stop simulation: Si se activa esta casilla, la simulación correrá sólo hasta que el bloque

detecta un número específico de errores o realiza un determinado número de comparaciones,

cualquiera que ocurra primero.

FIGURA 46: Parámetros modificables del bloque que calcula la tasa de error.

Page 82: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

76

Target number of errors: La simulación se detiene después de detectar éste número de

errores. Este campo se activa sólo cuando se selecciona la casilla Stop simulation.

Maximum number of symbols: La simulación se detiene después de haber hecho éste

número de comparaciones. Este campo se activa sólo cuando se selecciona la casilla Stop

simulation.

* Los bloques etiquetados como To Workspace escriben sus entradas (iguales a la salida) en el

espacio de trabajo de MATLAB ya sea en forma de vector o estructura con el nombre establecido

en ese parámetro.

Variable name: Es el nombre de la variable donde se almacenarán los datos.

Limit data points to last: El máximo número de muestras que se guardarán. El valor por

defecto es 1000 muestras.

Decimation: Es un factor de decimales. El valor por defecto es 1.

Sample time:El tiempo de muestreo al cual se recogerán los puntos.

FIGURA 47: Cuadro de diálogo del bloque que envía los datos al espacio de trabajo de MATLAB.

Page 83: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

77

Log fixed-point data as a fi object: Si se activa la casilla los datos se guardarán como de

punto flotante en el workspace de MATLAB. De lo contrario, se guardarán como de tipo doble.

Save format: El formato en el cual se guardarán las salidas de la simulación en el workspace.

El valor por defecto es structure.

El siguiente es el código utilizado para ejecutar de manera iterativa el modelo en cuestión.

%%ESTE PROGRAMA CONTIENE LOS RESULTADOS OBTENIDOS EN SIMULINK

%SIMULANDO CODIFICADORES CONVOLUCIONALES CON MODULACION BPSK

EbNoVec = [2.0:0.5:5.5];

R = 1/2;

figure;

xlabel('Eb/No (dB)'); ylabel('Bit Error Rate');

title('Bit Error Rate (BER)');

legend('Theoretical bound on BER','Actual BER', 'South');

axis([2 8 1e-6 1e-2]);

hold on;

grid on;

BERVec5 = [];

opts = simset('SrcWorkspace','Current',...

'DstWorkspace','Current');

set_param('decision_suave/AWGN Channel',... %%se fijan los parámetros del bloque

%%AWGN

'EsNodB','EbNodB+10*log10(1/2)');

for n = 1:length(EbNoVec)

EbNodB = EbNoVec(n);

sim('decision_suave',5000000,opts);

BERVec5(n,:) = BER_Data;

semilogy(EbNoVec(n),BERVec5(n,1),'r*'); % Plot point.

drawnow;

end

hold off;

En la figura 47 se muestran los resultados arrojados por esta simulación.

Page 84: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

78

FIGURA 48: Resultados de la tasa de error obtenidos implementando el sistema con bloques simulink.

Para obtener el desempeño del sistema con decisión dura se modifica el bloque etiquetado

como subsistema de la siguiente manera:

FIGURA 49: Modelo Simulink utilizado para implementar la decodificación de de códigos convolucionales

utilizando decisión dura (un nivel de cuantización).

Page 85: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

79

El subsistema Demodulador BPSK decisión dura se integra por los siguientes bloques:

FIGURA 50: Bloques integrantes del subsistema BPSK decisión dura.

Como se puede observar, lo único que se hizo fue definir, a partir de los datos obtenidos del

canal, si son ceros o unos, considerando solamente si eran positivos o negativos. Los parámetros

del decodificador de Viterbi quedaron como se ilustra en el cuadro de diálogo de la figura 51.

Los resultados del desempeño de los codificadores convolucionales usando el algoritmo de

Viterbi con decisión dura se presentan en la gráfica de la figura 52.

FIGURA 51: Parámetros modificados al bloque decodificador de Viterbi.

Page 86: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

80

FIGURA 52: Desempeño de los codificadores implementados en simulink

Haciendo una comparación de estos resultados con los antes obtenidos se puede observar que

son muy similares, por lo tanto está demostrada la efectividad del uso de simulink de MATLAB

para realizar simulaciones confiables de cualquier sistema.

V.5.- SIMULACIÓN DE CÓDIGOS TCM En seguida se incluyen las distintas simulaciones realizadas para medir el desempeño de los

esquemas TCM. Los sistemas se implementaron en bloques Simulink utilizando los bloques de

codificación/decodificación TCM.

El modelo utilizado para esta simulación es el de la figura 53. En la figura se observa que el

generador de datos aleatorios es el mismo que el utilizado en las simulaciones de códigos

convolucionales. En la figura 54 se observa el cuadro de diálogo correspondiente a los

parámetros a modificar para el bloque de codificación TCM y se explica a que se refiere cada

parámetro. Es importante mencionar que la referencia utilizada para medir el desempeño del

sistema es la presentada en [10] págs. 122-124. En tal referencia se grafican los límites teóricos

de la tasa de error de bit resultantes del análisis del diagrama de estados de error de los esquemas

TCM en cuestión. En primer lugar se grafica el desempeño del esquema TCM 8-PSK de dos

estados cuyo codificador se muestra en la figura 56.

Page 87: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

81

FIGURA 53: Modelo Simulink utilizado para implementar un sistema TCM.

Trellis structure: Este parámetro se refiere a la especificación del codificador convolucional

que está relacionado con la modulación, la forma de especificarlo es con la función poly2trellis

anteriormente mencionada.

M-ary number: este parámetro sirve para especificar el número de puntos que deberá

contener la constelación de señales, en este caso es 8.

Los parámetros del bloque correspondiente al canal se presentan en la figura 55, aquí ahora

se está manejando el canal en modo Eb/NodB y se está especificando que se manejan tres bits por

símbolo mapeado, los demás parámetros ya se explicaron en la sección anterior.

FIGURA 54: Parámetros a definir en el bloque codificador TCM.

Page 88: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

82

FIGURA 55: Cuadro de dialogo del bloque correspondiente al canal AWGN del sistema

Con respecto a la parte de decodificación se tienen los parámetros del bloque en cuestión en

la figura 56.

Nuevamente en el campo Trellis structure hay que definir al codificador convolucional, en

este caso para que se realice adecuadamente la decodificación con el algoritmo de Viterbi,

nuevamente en M-ary number hay que especificar el número de puntos en la constelación de

señales.

En trace back depth se especifica el número de ramas en la trellis sobre las cuales el

decodificador realizará el camino hacia atrás (trace back), y los últimos parámetros tienen la

misma especificación que los ya mencionados para la simulación de los códigos

convolucionales.

Page 89: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

83

Da1

a2

Mapeador

8-PSK

c1

c2

c3

FIGURA 56: Esquema TCm 8-PSK de dos estados simulado

FIGURA 57: Parámetros correspondientes al decodifiador TCM.

Finalmente en la figura 58 está la gráfica de resultados que arroja la simulación en cuestión.

Refiriéndose a [10] se puede observar que los resultados obtenidos a partir de la simulación caen

dentro de los límites teóricos especificados en dicha fuente y por lo tanto se pueden considerar

como aceptables.

Page 90: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

84

FIGURA 58: Resultados obtenidos mediante la simulación de un esquema TCM.

Page 91: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

85

Capitulo VII

CONCLUSIONES Como se pudo ver en los resultados de las simulaciones, los códigos convolucionales en

combinación con el algoritmo de Viterbi proporcionan un buen desempeño en cuanto a la tasa de

error que manejan, y más aún si la decodificación se realiza con decisión suave. Es por ello que

en la actualidad se utilizan ampliamente en las comunicaciones digitales y su estudio facilita una

mejor comprensión de la codificación modulada TCM que utiliza éstas dos herramientas para

proporcionar mayores ganancias de codificación de datos y con ello elevar las velocidades de

transmisión cada vez más confiables. Con respecto al desempeño del esquema TCM simulado se

puede concluir que, como en [10] se consideran límites para la probabilidad de error del esquema

TCM de dos estados en un ambiente real lo cual implica tener una mayor interferencia entre

símbolos, el esquema simulado pasa esa prueba y por lo tanto es idóneo para implementarse en

un sistema real de comunicaciones como los que en la sección de estándares se discutieron.

De esta manera, sin necesidad de crear prototipos, queda demostrada la eficiencia de los

esquemas de modulación codificada Trellis aún en medios bastante ruidosos y por tanto se

comprueba el por qué de el gran auge que han tenido desde su creación, en la década de los 70,

en diversas áreas de las telecomunicaciones.

El presente trabajo documenta los conceptos relacionados directamente con la

implementación de los esquemas de modulación codificada trellis de manera que se convierte en

una herramienta para introducirse al manejo una de esta poderosa técnica que, en esta era de las

comunicaciones digitales en donde se necesita enviar grandes cantidades de información sin que

ello implique disponer de un ancho de banda extenso, ha estado ganando terreno y cada vez se

utiliza e implementa con más frecuencia.

Dados los resultados favorables se demuestra que la librería de programas en MATLAB, C y

Simulink que se desprende de este trabajo permitirá investigar el desempeño de diferentes

esquemas TCM que servirán de base para los trabajos que de manera paralela se realizan en la

SEPI para la implementación de hardware que trabaje con esta tecnología.

Page 92: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

86

REFERENCIAS

BIBLIOGRAFICAS:

[1] G. UNGERBOECK, ―Trellis-coded modulation with redundant signal sets.

Part I: Introduction‖, IEEE commun. Mag., Vol 25, pp. 5-12 Feb. 1978.

[2] G. UNGERBOECK, ―Trellis-coded modulation with redundant signal sets.

Part II: State of the art‖, IEEE commun. Mag., Vol 25, pp. 12-22 Feb. 1978.

[3] Christian B. Shlegel and Lance C. Pérez ―Trellis and Turbo Coding‖, 2004

Institute of Electrical and Electronics Engineers.

[4] Todor Koolev ―Wireless Communication Standards‖, Ed. IEEE pág. 100-105

[5] Tood K. Moon ―Error correction coding‖, mathematical methods algorithms,

Ed. Wiley interscience, 2005, pp 453-580.

[6] Shu Lin & Daniel J. Costello ―Error control coding‖ fundamentals and

applications, Ed., Prentice Hall, pp. 287-348.

[7] Stephen B. Wicker ―Error control systems‖ for digital communication and

storage, Ed. Prentice Hall, 1995, pp 269-330, 356- 390.

[8] Graham Wade ―Coding techniques‖ an introduction to compression and error

control, Ed. Palgrave, 2000.

[9] L. H. Charles Lee, ―Convolutional coding: fundamentals and applications‖,

Artech House, 1997, pp. 11-51, 57-87, 149-204.

[10] Biglieri Ezio and Divsalar Dariush, ―Introduction to Trellis- Coded Modulation

with Applications‖, Ed. MacMillan Publishing, pp. 56-61, 67-94.

[11] Harada Hiroshi and Prasad Ramjee, ―Simulation and Software Radio for

Mobile Communications, Ed. Artech House, pp. 1-70

[12] Math Works Inc., ―MATLAB Using MATLAB.‖

Page 93: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

87

DE INTERNET:

[13] Escuela de Ingeniería Electrónica Universidad Nacional del Rosario

http://www.eie.fceia.unr.edu.ar/ftp/Radioenlaces/1502.pdf

[14] Aholab (Signal Processing Laboratory of the University of the Basque Country

UPV/EHU)

http://bips.bi.ehu.es/~inma/psc/

[15] NASA TECHNICAL REPORTS SERVER (NTRS)

http://ntrs.nasa.gov/search.jsp

[16] http://fiee.uni.edu.pe/publicaciones/TecniaEsp/10art/index.html

[17] MINISTERIO DE CIENCIA E INNOVACIÓN ―GOBIERNO DE ESPAÑA‖

UNION CINETÍFICA INTERNACIONAL DE RADIO

http://w3.iec.csic.es/ursi/articulos_gandia_2005/articulos/SC3/327.pdf

[18] Página personal de Constantino Pérez Vega del departamento de Ingeniería de

Comunicaciones de la Universidad de Cantabrina, España.

http://personales.unican.es/perezvr/pdf/CH3%20TV.pdf

[19] COLEGIO DE INGENIERIA, UNIVERSIDAD DE UHTA

http://www.engineering.usu.edu/ece/faculty/tmoon/eccbook/FILES/

[20] ― A Tutorial on convolutional Coding with Viterbi Decoding‖ by Chip Fleming

http://home.netcom.com/~chip.f/viterbi/tutorial.html

[21] Modulación Codificada Trellis, Universidad Distrital ―Francisco José de

Caldas‖

http://internet-solutions.com.co/deacosta/tcm/refuerzo_convol/frame.html

[22] Simulation source code Examples

http://home.netcom.com/~chip.f/viterbi/examples.html

[23] "eurasip newsletter"

Page 94: INSTITUTO POLITECNICO NACIONAL · 2017. 12. 13. · comunicaciones digitales es conveniente modular una señal portadora con el flujo de datos digitales antes de realizar la transmisión

INSTITUTO POLITECNICO NACIONAL

88

http://www.eurasip-newsletter.org/newsletter-15-4.pdf

[24] ―World Intellectual property, IP services‖

http://www.wipo.int/pctdb/en/wo.jsp?IA=US2002031966&DISPLAY=DESC

[25] A Neural Network Trellis coded Modulation Decoder

http://www.scitec.uwichill.edu.bb/cmp/journal/masonsodha1stdec2005.pdf