158
Desarrollo de un simulador DVB-T2 en Simulink 1

Desarrollo de Un Simulador DVB-T2 en Simulink

Embed Size (px)

Citation preview

Page 1: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 1

Page 2: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 2

ÍNDICE

1.- INTRODUCCIÓN .............................................................................................................................. 13

1.1.- HISTORIA DE LA TELEVISIÓN .................................................................................................................. 13

1.2.- OBJETIVOS. ORGANIZACIÓN DE LA MEMORIA ............................................................................................ 15

2.- DVB ................................................................................................................................................. 17

2.1.- INTRODUCCIÓN ................................................................................................................................... 17

2.2.- EL PROYECTO DVB .............................................................................................................................. 18

2.3.- ESTÁNDARES MÁS IMPORTANTES ............................................................................................................ 19

2.3.1.- DVB-S ...................................................................................................................................... 19 2.3.1.1.- Flujo de Transporte ......................................................................................................................... 19

2.3.2.- DVB-S2 .................................................................................................................................... 21

2.3.3.- DVB-C ...................................................................................................................................... 21

2.3.4.- DVB-C2 .................................................................................................................................... 22

2.4.- DVB-T ............................................................................................................................................. 23

2.4.1.- Introducción ............................................................................................................................ 23

2.4.2.- Codificación de Canal.............................................................................................................. 25 2.4.2.1.- Adaptación y Dispersión de Energía ................................................................................................ 25 2.4.2.2.- Codificación Externa ........................................................................................................................ 26 2.4.2.3.- Codificación Interna ........................................................................................................................ 27 2.4.2.4.- Entrelazado Interno ......................................................................................................................... 27

2.4.3.- Modulación OFDM .................................................................................................................. 28 2.4.3.1.- Capacidad del Canal de Transmisión ............................................................................................... 29 2.4.3.2.- Portadoras Piloto ............................................................................................................................. 29

2.5.- OTROS ESTÁNDARES DE TRANSMISIÓN DIGITAL .......................................................................................... 31

2.5.1.- Estándar ATSC ......................................................................................................................... 31

2.5.2.- Estándar ISDB-T ...................................................................................................................... 33

3.- DVB-T2 ............................................................................................................................................ 35

3.1.- INTRODUCCIÓN ................................................................................................................................... 35

3.2.- VISIÓN GENERAL SOBRE DVB-T2 ........................................................................................................... 36

3.2.1.- Capa Física .............................................................................................................................. 36

3.2.2.- Physical Layer Pipes (PLPs) ..................................................................................................... 37

3.2.3.- Preámbulos (P1 y P2) .............................................................................................................. 38

3.2.4.- Patrón de Pilotos .................................................................................................................... 38

3.2.5.- Códigos de control de errores LDPC/BCH................................................................................ 39

3.2.6.- Etapas de entrelazado ............................................................................................................ 39

3.2.7.- Técnicas de reducción de PAPR ............................................................................................... 40

3.3.- ELECCIÓN DE PARÁMETROS ................................................................................................................... 40

3.3.1.- Elección del tamaño FFT ......................................................................................................... 41

3.3.2.- Elección de portadora normal o extendida ............................................................................. 41

3.3.3.- Elección del Intervalo de Guarda ............................................................................................ 42

3.3.4.- Elección del Patrón de Pilotos ................................................................................................. 43

3.3.5.- Elección de la longitud de la Trama ........................................................................................ 44

Page 3: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 3

3.3.6.- Elección de los parámetros de entrelazado de tiempo ........................................................... 45

3.4.- ESTRUCTURA FÍSICA DE LA TRAMA .......................................................................................................... 46

3.4.1.- Súper-trama ............................................................................................................................ 46

3.4.2.- Trama T2................................................................................................................................. 47

3.4.3.- Señalización L1 ....................................................................................................................... 49

3.5.- ESTRUCTURA LÓGICA DE UNA TRAMA ...................................................................................................... 50

3.5.1.- Paquetes ................................................................................................................................. 50

3.5.2.- BB-Frame, FECFrames y bloques FEC ...................................................................................... 50 3.5.2.1.- BB-Frames ....................................................................................................................................... 50 3.5.2.2.- FECFrames ....................................................................................................................................... 50 3.5.2.3.- Bloques FEC ..................................................................................................................................... 51

3.5.3.- Entrelazado de Tramas ........................................................................................................... 51

3.5.4.- Bloques TI ............................................................................................................................... 52

3.6.- SEÑALIZACIÓN L1 ................................................................................................................................ 52

3.7.- CODIFICACIÓN Y MODULACIÓN .............................................................................................................. 53

3.7.1.- Corrección de errores para las PLP ......................................................................................... 53

3.7.2.- Entrelazado de Bits ................................................................................................................. 54

3.7.3.- Entrelazador de células ........................................................................................................... 55

3.7.4.- Entrelazado de Tiempo ........................................................................................................... 56

3.8.- FORMACIÓN DE TRAMA Y GENERACIÓN OFDM ......................................................................................... 57

3.8.1.- Entrelazado en frecuencia ...................................................................................................... 58

3.8.2.- Inserción de Pilotos ................................................................................................................. 59 3.8.2.1.- Definición de la secuencia de referencia ......................................................................................... 59

3.8.2.1.1.- Secuencia PRBS ........................................................................................................................ 60 3.8.2.1.2.- Secuencia PN ........................................................................................................................... 60

3.8.2.2.- Propósito de la inserción de pilotos ................................................................................................ 61 3.8.2.3.- Localización de las portadoras pilotos ............................................................................................. 61

3.9.- USO DEL SÍMBOLO P1 .......................................................................................................................... 62

3.9.1.- Introducción ............................................................................................................................ 62

3.9.2.- Estructura del símbolo P1 ....................................................................................................... 62

3.9.3.- Características de P1 .............................................................................................................. 64

4.- MODULACIÓN OFDM ...................................................................................................................... 65

4.1.- UN POCO DE HISTORIA ......................................................................................................................... 65

4.2.- MODELADO DE OFDM ........................................................................................................................ 66

4.2.1.- Modelo en tiempo Continuo ................................................................................................... 67

4.2.2.- Modelo en tiempo discreto ..................................................................................................... 68

4.2.3.- Imperfecciones ........................................................................................................................ 69

4.2.4.- Sincronización ......................................................................................................................... 70 4.2.4.1.- Sincronización de Símbolos ............................................................................................................. 70 4.2.4.2.- Sincronización de la frecuencia de muestreo .................................................................................. 71 4.2.4.3.- Sincronización de la frecuencia de portadora ................................................................................. 72

4.2.5.- Estimación de canal ................................................................................................................ 73 4.2.5.1.- Información de pilotos .................................................................................................................... 74 4.2.5.2.- Diseño del estimador ....................................................................................................................... 74

5.- MATLAB Y SIMULINK ...................................................................................................................... 76

5.1.- MATLAB ............................................................................................................................................ 76

5.1.1.- Introducción ............................................................................................................................ 76

5.1.2.- Componentes de Matlab ........................................................................................................ 77

5.1.3.- El entorno de trabajo de Matlab ............................................................................................ 77

Page 4: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 4

5.1.3.1.- Ayuda en línea ................................................................................................................................. 77 5.1.3.2.- Organización de ventanas ............................................................................................................... 78 5.1.3.3.- Operaciones básicas en la línea de comandos ................................................................................ 79 5.1.3.4.- Operaciones básicas con Matlab ..................................................................................................... 80 5.1.3.5.- Funciones en Matlab ....................................................................................................................... 80 5.1.3.6.- Almacenamiento en Archivo ........................................................................................................... 82

5.2.- SIMULINK .......................................................................................................................................... 83

5.2.1.- Introducción ............................................................................................................................ 83

5.2.2.- Uso de Simulink ...................................................................................................................... 83

5.2.3.- El espacio de trabajo Simulink ................................................................................................ 85

5.2.4.- Fuentes y Sumideros de señal ................................................................................................. 86

6.- SIMULACIÓN ................................................................................................................................... 87

6.1.- INTRODUCCIÓN ................................................................................................................................... 87

6.2.- VISIÓN GENERAL ................................................................................................................................. 87

6.3.- Transmisor ................................................................................................................................. 89

6.3.1.- Generador de datos ................................................................................................................ 90 6.3.1.1.- Generador de los datos ................................................................................................................... 91 6.3.1.2.- Integer to Bit Converter ................................................................................................................... 93 6.3.1.3.- CRC-N Generator ............................................................................................................................. 93 6.3.1.4.- Base Band (BB) Header Insertion ..................................................................................................... 94 6.3.1.5.- Vector Concatenate ......................................................................................................................... 95 6.3.1.6.- Zero Pad .......................................................................................................................................... 96 6.3.1.7.- Scrambler ........................................................................................................................................ 97

6.3.2.- Codificación y Modulación de datos ...................................................................................... 97 6.3.2.1.- Codificación FEC .............................................................................................................................. 98

6.3.2.1.1.- Codificación BCH ...................................................................................................................... 99 6.3.2.1.2.- Codificación LDPC .................................................................................................................... 99

6.3.2.2.- Bit to Integer Converter ................................................................................................................. 100 6.3.2.3.- Modulación.................................................................................................................................... 100 6.3.2.4.- Entrelazado de célula .................................................................................................................... 101 6.3.2.5.- Entrelazado en Tiempo .................................................................................................................. 101

6.3.3.- Adición de Portadoras Pilotos ............................................................................................... 102 6.3.3.1.- Buffer ............................................................................................................................................. 104 6.3.3.2.- Entrelazado en Frecuencia ............................................................................................................ 104 6.3.3.3.- Pilotos ............................................................................................................................................ 105

6.3.3.3.1.- PRBS Sequence ...................................................................................................................... 105 6.3.3.3.2.- PN-Sequence ......................................................................................................................... 106 6.3.3.3.3.- Selector .................................................................................................................................. 107 6.3.3.3.4.- Logical Operator .................................................................................................................... 107 6.3.3.3.5.- Selectors ................................................................................................................................ 108 6.3.3.3.6.- Ganancia ................................................................................................................................ 109

6.3.3.4.- Matrix Concatenate ....................................................................................................................... 109 6.3.3.5.- Seleccionador de Índices ............................................................................................................... 109

6.3.3.5.1.- Vector para ordenar los símbolos .......................................................................................... 110 6.3.3.5.2.- Multiport Switch .................................................................................................................... 111 6.3.3.5.3.- Señal de Control .................................................................................................................... 111

6.3.3.6.- Variable Selector ........................................................................................................................... 112 6.3.4.- Modulación de la Señal......................................................................................................... 112

6.3.4.1.- Zero Pad ........................................................................................................................................ 113 6.3.4.2.- Selector.......................................................................................................................................... 114 6.3.4.3.- IFFT ................................................................................................................................................ 115 6.3.4.4.- Inserción del Intervalo de Guarda ................................................................................................. 115

6.4.- RECEPTOR ....................................................................................................................................... 117

Page 5: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 5

6.4.1.- Demodulación OFDM ....................................................................................................................... 118 6.4.1.1.- Eliminación del Intervalo de Guarda ............................................................................................. 118 6.4.1.2.- FFT ................................................................................................................................................. 119 6.4.1.3.- Frame Conversion .......................................................................................................................... 119 6.4.1.4.- Eliminación de ceros ...................................................................................................................... 119

6.4.2.- Eliminación de las portadoras Pilotos ................................................................................... 120 6.4.2.1.- Índice para ordenar ....................................................................................................................... 121

6.4.2.1.1.- Vector para ordenar el símbolo ............................................................................................. 122 6.4.2.1.2.- Multiport Switch .................................................................................................................... 122 6.4.2.1.3.- Señal de Control .................................................................................................................... 122

6.4.2.2.- Variable Selector ........................................................................................................................... 123 6.4.2.3.- Desentrelazado en Frecuencia ...................................................................................................... 123 6.4.2.4.- Frame Allignement ........................................................................................................................ 124 6.4.2.5.- Buffer ............................................................................................................................................. 125

6.4.3.- Decodificación y Demodulación de Datos ............................................................................. 126 6.4.3.1.- Desentrelazado en Tiempo ............................................................................................................ 126 6.4.3.2.- Desentrelazado de célula .............................................................................................................. 127 6.4.3.3.- Demodulador................................................................................................................................. 127 6.4.3.4.- Integer to Bit converter ................................................................................................................. 128 6.4.3.5.- Mapeador de Datos ....................................................................................................................... 128 6.4.3.6.- Decodificación LDPC ...................................................................................................................... 129 6.4.3.7.- BCH Decoder ................................................................................................................................. 130

6.4.4.- Extracción de datos .............................................................................................................. 130 6.4.4.1.- Descrambler .................................................................................................................................. 131 6.4.4.2.- Selector.......................................................................................................................................... 131 6.4.4.3.- Bit to Integer Converter ................................................................................................................. 132

6.4.5.- Resultados ............................................................................................................................ 133 6.4.5.1.- Constelaciones y Espectro ............................................................................................................. 133 6.4.5.2.- Variables ........................................................................................................................................ 136 6.4.5.3.- BER ................................................................................................................................................ 137

7.- CONCLUSIONES Y LÍNEAS FUTURAS .............................................................................................. 139

8.- BIBLIOGRAFÍA ............................................................................................................................... 141

ANEXO ............................................................................................................................................... 143

VARIABLES ............................................................................................................................................... 143

FUNCIÓN DVBT2LDPC ................................................................................................................................ 147

Page 6: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 6

ÍNDICE DE GRÁFICAS

FIG. 2.1: ESTÁNDARES PARA LA TELEVISIÓN DIGITAL EN EL MUNDO ........................................................ 18

FIG. 2.2: FLUJO DE TRANSPORTE EN DVB-S ................................................................................................ 20

FIG. 2.3: DIAGRAMA DE BLOQUES DE UN SISTEMA DVB-T ........................................................................ 24

FIG. 2.4: GENERADOR PRBS PARA LA DISPERSIÓN DE ENERGÍA DEL FLUJO DE TRANSPORTE ................... 25

FIG. 2.5: CODIFICACIÓN REED-SOLOMON .................................................................................................. 26

FIG. 2.6: ESTRUCTURA DEL SEGMENTO DE DATOS .................................................................................... 32

FIG. 2.7: DIAGRAMA DE BLOQUES DE LA CODIFICACIÓN DE CANAL EN ISDB-T ......................................... 34

FIG. 3.1: COMPARACIÓN ENTRE DVB-T Y DVB-T2 ...................................................................................... 35

FIG. 3.2: VISIÓN GENERAL DE UN SISTEMA DVB-T2 ................................................................................... 36

FIG. 3.3: DIFERENTES PLPS OCUPANDO DIFERENTES INTERVALOS DE TIEMPO ......................................... 37

FIG. 3.4: PATRÓN DE PILOTOS DISPERSAS EN DVB-T (IZQUIERDA) Y DVB-T2 (DERECHA) .......................... 39

FIG. 3.5: COMPARACIÓN ENTRE CODIFICACIÓN CONVOLUCIONAL (DVB-T) Y CODIFICACIÓN LDPC (DVB-

T2) ............................................................................................................................................................... 39

FIG. 3.6: ESPECTRO DE LA SEÑAL DVB-T2 PARA INTERVALOS DE GUARDA 1/8 (CANALES DE 8 MHZ) ...... 42

FIG. 3.7: ESTRUCTURA DE UNA TRAMA T2 ................................................................................................. 46

FIG. 3.8: ESTRUCTURA DE UNA TRAMA T2 ................................................................................................. 48

FIG. 3.9: MAPEADO DE SEÑALIZACIÓN L1, PLPS Y CADENAS AUXILIARES EN UNA TRAMA T2 .................. 48

FIG. 3.10: MAPEADO DE SEÑALIZACIÓN L1 EN SÍMBOLOS P2 .................................................................... 49

FIG. 3.11: ESTRUCTURA DE LA SEÑALIZACIÓN L1 ....................................................................................... 53

FIG. 3.12: EJEMPLO DE ENTRELAZADO DE BITS .......................................................................................... 55

FIG. 3.13: ESQUEMA DEL ENTRELAZADO DE CÉLULA ................................................................................. 56

FIG. 3.14: USO DE LA MEMORIA PARA EL ENTRELAZADO DE TIEMPO ....................................................... 57

FIG. 3.15: ENTRELAZADOR FRECUENCIAL PARA EL MODO 8K ................................................................... 58

FIG. 3.16: FORMACIÓN DE LA SECUENCIA DE REFERENCIA ....................................................................... 59

FIG. 3.17: GENERACIÓN DE LA SECUENCIA PRBS ....................................................................................... 60

FIG. 3.18: ESTRUCTURA DEL SÍMBOLO P1 .................................................................................................. 63

FIG. 4.1: POSICIÓN DEL PREFIJO CÍCLICO RESPECTO A UN SÍMBOLO OFDM ............................................. 66

FIG. 4.2: ESQUEMA GENERAL DE UN SISTEMA CON MODULACIÓN OFDM ............................................... 67

FIG. 4.3: ESQUEMA DEL MODELADO DE UN SISTEMA OFDM EN TIEMPO CONTINUO .............................. 68

FIG. 4.4: ESQUEMA DE UN SISTEMA OFDM EN TIEMPO DISCRETO ........................................................... 68

Page 7: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 7

FIG. 4.5: EFECTOS DEL OFFSET DE FRECUENCIA ΔF: REDUCCIÓN DE LA AMPLITUD DE LA SEÑAL () Y LA

INTERFERENCIA ENTRE PORTADORAS (•) .................................................................................................. 73

FIG. 4.6: EJEMPLO DE TRANSMISIÓN DE INFORMACIÓN DE PILOTOS ....................................................... 74

FIG. 5.1: ENTORNO DE TRABAJO MATLAB .................................................................................................. 78

FIG. 5.2: VENTANA NAVEGACIÓN DE BLOQUES SIMULINK ........................................................................ 84

FIG. 5.3: ESPACIO DE TRABAJO DE SIMULINK ............................................................................................. 85

FIG 6.1: ESQUEMA GENERAL DE MODULACIÓN......................................................................................... 88

FIG. 6.2: ESQUEMA GENERAL DEL TRANSMISOR ....................................................................................... 90

FIG. 6.3: ESQUEMA DEL GENERADOR DE DATOS ....................................................................................... 91

FIG. 6.4: ESQUEMA DEL GENERADOR DE DATOS PROPUESTO POR EL ESTÁNDAR .................................... 91

FIG. 6.5: ESQUEMA DE LA ETAPA CODIFICACIÓN Y MODULACIÓN DE DATOS .......................................... 98

FIG. 6.6: ESQUEMA DE CODIFICACIÓN Y MODULACIÓN DE DATOS PROPUESTO POR EL ESTÁNDAR........ 98

FIG. 6.7: FORMATO DE LOS DATOS ANTES DE LA ETAPA DE MODULACIÓN .............................................. 98

FIG. 6.8: ESQUEMA DE LA CONSTELACIÓN TRANSMITIDA ....................................................................... 100

FIG. 6.9: ENTRELAZADO EN TIEMPO ......................................................................................................... 101

FIG. 6.10: ESQUEMA DE ADICIÓN DE PILOTOS ......................................................................................... 103

FIG. 6.11: ESQUEMA DEL GENERADOR DE TRAMAS PROPUESTO POR EL ESTÁNDAR ............................. 103

FIG. 6.12: ESQUEMA DE LA GENERACIÓN DE PILOTOS ............................................................................ 105

FIG. 6.13: ESQUEMA DEL SELECCIONADOR DE ÍNDICES ........................................................................... 110

FIG. 6.14: MODULACIÓN DE LA SEÑAL ..................................................................................................... 113

FIG. 6.15: ESQUEMA DE MODULACIÓN DE LA SEÑAL PROPUESTO POR EL ESTÁNDAR ........................... 113

FIG. 6.16: ESQUEMA DE LA INSERCIÓN DEL INTERVALO DE GUARDA ..................................................... 116

FIG. 6.17: ESQUEMA GENERAL DEL RECEPTOR ........................................................................................ 117

FIG. 6.18: ESQUEMA DE DEMODULACIÓN DE LA SEÑAL .......................................................................... 118

FIG. 6.19: ESQUEMA DE ELIMINACIÓN DE LAS PORTADORAS PILOTOS ................................................... 120

FIG. 6.20: ESQUEMA PARA GENERAR LOS VECTORES DE REORDENACIÓN ............................................. 121

FIG. 6.21: ESQUEMA DEL PROCESO DE DECODIFICACIÓN DE DATOS ...................................................... 126

FIG. 6.22: ESQUEMA DE LA ETAPA EXTRACCIÓN DE DATOS .................................................................... 130

FIG. 6.23: ESQUEMA DE UNA SEÑAL QPSK ............................................................................................... 134

FIG. 6.24: CONSTELACIONES DE LAS SEÑALES TRANSMITIDAS Y RECIBIDAS ........................................... 134

FIG. 6.25: ESPECTRO TEÓRICO PARA UNA SEÑAL DVB-T2 ........................................................................ 135

FIG. 6.26: ESPECTRO EN FRECUENCIA DE LA SEÑAL TRANSMITIDA ......................................................... 135

FIG. 6.27: BER A LOS 4.48∙10^(-3) SEG. .................................................................................................... 137

FIG. 6.28: BER A LOS 0.2 SEG .................................................................................................................... 137

FIG. 6.29: BER A LOS 0.4 SEG. ................................................................................................................... 138

Page 8: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 8

ÍNDICE DE TABLAS

TABLA 3.1: DURACIÓN DE LOS INTERVALOS DE GUARDA EN µS PARA CANALES DE 8MHZ ...................... 43

TABLA 3.2: COMPARACIÓN ENTRE LOS PATRONES DE SCATTERED PILOTS ............................................... 44

TABLA 3.3: NÚMERO DE SÍMBOLOS P2 PARA CADA VALOR DE FFT ........................................................... 47

TABLA 3.4: MÁXIMA LONGITUD DE TRAMA LF EN SÍMBOLOS OFDM ........................................................ 48

TABLA 3.5: DISTRIBUCIÓN DE LOS PESOS DE LAS COLUMNAS PARA BLOQUES DE 64800 ......................... 54

TABLA 3.6: DISTRIBUCIÓN DE LOS PESOS DE LAS COLUMNAS PARA BLOQUES DE 16200 ......................... 54

TABLA 3.7: PERMUTACIÓN DE BITS PARA EL MODO 8K ............................................................................. 58

TABLA 3.8: SECUENCIA PN GENERAL. DESCRIPCIÓN HEXADECIMAL ......................................................... 60

TABLA 3.9: PRESENCIA DE LOS DISTINTOS TIPOS DE PILOTOS EN CADA TIPO DE SÍMBOLO ...................... 62

TABLA 5.1: OPERACIONES ARITMÉTICAS Y LÓGICAS EN MATLAB .............................................................. 80

TABLA 5.2: FUNCIONES ELEMENTALES DE MATLAB: TRIGONOMETRÍA ..................................................... 81

TABLA 5.3: FUNCIONES ELEMENTALES DE MATLAB: EXPONENCIALES ...................................................... 81

TABLA 5.4: FUNCIONES ELEMENTALES DE MATLAB: AJUSTE Y REDONDEO .............................................. 81

TABLA 5.5: FUNCIONES ELEMENTALES DE MATLAB: OPERACIONES MATRICIALES ................................... 82

TABLA 5.6: TABLA RESUMEN DEL COMANDO SAVE ................................................................................... 82

TABLA 5.7: TABLA RESUMEN DEL COMANDO LOAD .................................................................................. 83

TABLA 5.8: FORMAS DE CONECTAR LOS BLOQUES .................................................................................... 85

TABLA 5.9: FUENTES DE SEÑAL EN SIMULINK ............................................................................................ 86

TABLA 5.10: SUMIDEROS DE SEÑAL EN SIMULINK ..................................................................................... 86

Page 9: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 9

DEFINICIONES, SÍMBOLOS Y ABREVIATURAS

Definiciones

• Células OFDM: El valor de la modulación para cada portadora OFDM durante un símbolo OFDM.

• Célula de datos: Célula OFDM que no es una portadora piloto.

• Símbolo OFDM: Conjunto de portadoras moduladas y codificadas con sus correspondientes valores de modulación. Incluye el intervalo de guarda.

• Sistema T2: Entidad donde una o más PLPs son transportadas, en una dirección determinada, dentro de una señal DVB-T2 en una o más frecuencias. El sistema T2 es único dentro de la red T2 y viene identificado por el parámetro T2_system_id.

• Physical Layer Pipe (PLP): Capa física TDM del canal.

• Trama T2: Capa física TDM fija que se dividirá en distintas portadoras.

• Símbolo P1: Símbolo que contiene la señalización S1 y S2 y está localizado en el inicio de la trama. Principalmente se usa para detectar señales T2, offset en frecuencia y para conocer el tamaño de la FFT usado.

• Símbolo P2: Símbolo localizado justo después del símbolo P1 con el mismo valor de FFY e intervalo de guarda que lo símbolos de datos. Se usan para afinar la sincronización en frecuencia y en tiempo así como para la estimación inicial del canal.

• Bloques TI: Conjunto de células dentro de las que se procede al entrelazado en tiempo.

• Señalización P1: Señalización transportada en un símbolo P1 y que se usa para poder identificar los parámetros básicos de los símbolos OFDM.

• Tamaño de la FFT: Valor de la FFT usada para un modo particular, igual al periodo del símbolo expresado en relación al periodo elemental T.

• Período Elemental: Periodo de tiempo que depende del ancho de banda del sistema y es usado para definir otros periodos de tiempo en el sistema T2.

Page 10: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 10

• BBFRAME: Conjunto de Kbch bits que constituyen la entrada de un proceso de codificación FEC.

• FECFRAME: Conjunto de Nldpc bits procedentes del proceso de codificación LDPC.

Símbolos

• ∆: Duración del Intervalo de guarda

• C/N: Relación potencia de la portadora frente al ruido.

• Cdata: Número de células activas en un símbolo de datos.

• Cp2: Número de células activas en un símbolo P2.

• Ctot: Número de células acticas en una trama T2.

• H(p): Función de permutación para el entrelazado en frecuencia.

• H0(p): Función de permutación para el entrelazado en frecuencia, para símbolos pares.

• H1(p): Función de permutación para el entrelazado en frecuencia, para símbolos impares.

• Ldata: Número de símbolos de datos por trama T2.

• LF: Número de símbolos OFDM por trama T2, excluyendo el símbolo P1.

• Lr(q): Función de permutación para el entrelazado de células para el bloque FEC r.

• Nbch: Número de bits del bloque BCH.

• Ncells: Número de células OFDM por bloque FEC.

• Ndata: Número de células de datos en un símbolos OFDM.

• NFEF: Número de partes FEF en una súper- trama.

• Nldpc: Número de bits del bloque LDPC.

• Np2: Número de símbolos P2 por trama T2.

Page 11: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 11

• T: Período Elemental dependiente del ancho de banda usado.

• TFEF: Duración de cada parte FEF.

• Tp1: Duración de un símbolo P1.

• Ts: Duración total de un símbolo OFDM.

• Tu: Duración del símbolo activo, es decir, sin contar con las portadoras pilotos, de un símbolo OFDM.

• UPL: Longitud del Paquete de Usuario.

ABREVIATURAS

• 16QAM: 16-ary Modulación de Amplitud en Cuadratura.

• 64QAM: 64-ary Modulación de Amplitud en Cuadratura.

• 256QAM: 64-ary Modulación de Amplitud en Cuadratura.

• ACM: Codificación y Modulación Adaptable.

• AWGN: Ruido Aditivo Blanco Gaussiano.

• BB: Banda Base.

• BCH: Correción Binaria Bose-Chaudhuri-Hocquenghem.

• CBR: Tasa de bit constante.

• CI: Cell Interleaver (Entrelazador de célula).

• DVB: Digital Video Broadcasting.

• DVB-T: Digital Video Broadcasting-Terrestrial.

• DVB-T2: Digital Video Broadcasting-Terrestrial, versión 2.

• FEC: Forward Error Correction (Corrección de Errores hacia delanta).

• FEF: Future Extension Frame. Tramas reservadas para uso futuro.

• FFT: Transformada rápida de Fourier.

Page 12: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 12

• IFFT: Transformada rápida inversa de Fourier.

• ISI: Interferencia Inter-Símbolo.

• LDPC: Low Density Parity Check.

• PAPR: Peak to Average Power Ratio. Es la relación entre la potencia de pico y la potencia media.

• PLP: Physical Layer Pipes. Representa la capa física de la trama.

• QPSK: Quaternary Phase Shift Keying.

• UP: Paquetes de usuario.

Page 13: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 13

1.- INTRODUCCIÓN

1.1.- Historia de la Televisión

No hay que ser muy observador para darse cuenta de los continuos cambios que “afectan” al mundo de la televisión. Rápidamente se han ido introduciendo en la vida cotidiana nuevos elementos que permiten al espectador no sólo disponer de un mayor abanico de posibilidades de elección, sino también que ofrecen una importante mejora en la calidad con que percibimos las imágenes.

El origen de la televisión se remonta a finales del siglo XIX cuando el alemán Paul Gottlieb Nipkow desarrolló un equipo de exploración lumínica, consistente en un disco plano perforado por pequeños agujeros que exploraba una imagen al girarlo delante del ojo. No sería hasta 1925 cuando el inventor escocés John Logie Baird efectuó la primera experiencia real utilizando dos discos, uno en el emisor y otro en el receptor, separados 2m y unidos al mismo eje para que su giro fuera síncrono. Se transmitió una cabeza de un maniquí con una definición de 28 líneas y una frecuencia de cuadro de 14 cuadros por segundo. En 1927, Baird consiguió transmitir una señal sobre una distancia de 438 millas a través de una línea de teléfono entre las ciudades de Londres y Glasgow.

Sin embargo, muy pronto la televisión mecánica fue desplazada por la electrónica gracias al ingeniero ruso Vladimir Kosma Zworykin, que había experimentado utilizando tubos de rayos catódicos para el receptor y un sistema de exploración mecánica para lograr la transmisión. En el año 1936 comenzaron las emisiones programadas en Inglaterra y ya en el año 1937 se iniciaron transmisiones regulares entre Francia y Reino Unido, lo que llevó a un rápido desarrollo de la industria de la televisión así como un importante aumento en el número de espectadores. En Estados Unidos las primeras emisiones datan de 1939, fecha de la inauguración de la Exposición Universal de Nueva York.

En plena Segunda Guerra Mundial, hacia 1940, Zworykin tuvo la visión de estandarizar todos los sistemas de televisión que se desarrollaban en el mundo, sin embargo, su idea solo se hizo efectiva en Norteamérica con la creación del National Television System Comitee (NTSC) cuya finalidad era supervisar que las normas de fabricación de televisores fueran compatibles entre todas las empresas del país dedicadas a la producción de equipos. Finalmente el sistema de 325 líneas logró estandarizarse en todos los Estados Unidos hasta que llegó la guerra, momento en el cual se interrumpieron todas las emisiones programadas para reanudarlas posteriormente al término del conflicto.

Page 14: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 14

La industria de la televisión inició con más ímpetu sus actividades después de la guerra. Muy pronto la mayor parte de Europa adoptó un sistema propio de 625 líneas, a excepción de Francia con uno de 819 líneas e Inglaterra con uno de 405 líneas. Estados Unidos estandarizó el suyo en 525 líneas. El sistema de compatibilidad sólo se logró en 1953 tomando el nombre del comité regulador: NTSC.

Europa tuvo su propio desarrollo particular, ya que no logró unificar sus criterios territoriales en materia de televisión y tampoco quiso estandarizar los sistemas desarrollados por los americanos. De esta manera en Europa se dio origen a sistemas como SECAM (Sequentiel Couleur A Memorie) desarrollado por Francia en 1967 y el sistema desarrollado por Alemania gracias a la empresa TELEFUNKEN: conocido como PAL (Phase Alternation Line).

Pero las necesidades fueron creciendo a medida que se sucedía cada descubrimiento. Muy pronto se creó la televisión por cable, invento relativamente reciente para nosotros pero con más de 60 años desde que apareció en la industria televisiva. Conocida anteriormente como CATV (Community Antenna Television), el sistema de cable nació en las montañas de Pennsylvania a finales de 1940 gracias al ingenio del señor Milton Shapp. Se extendió hacia las áreas más remotas, lejos de los transmisores de los canales de televisión en las ciudades.

La televisión por satélite apareció en 1959 cuando la sonda espacial soviética Lunik III envió a la tierra las primeras imágenes de la cara oculta de la luna; en 1961 fueron transmitidas las primeras imágenes del hombre en el espacio y en 1965 el satélite estadounidense Early Bird permitió la transmisión de programas directos en ambas direcciones entre Estados Unidos y Europa.

A finales de los años 80 se empezaron a desarrollar sistemas de digitalización. La digitalización en la televisión tiene dos partes bien diferenciadas: por un lado tenemos la digitalización de la producción y por otro la digitalización de la transmisión.

Para la producción se desarrollaron varios sistemas de digitalización. Los primeros de ellos estuvieron basados en la digitalización de la señal compuesta de vídeo que no tuvo éxito. El planteamiento de digitalizar las componentes de la señal de vídeo, es decir la luminancia y las diferencias de color, fue el que resultó más idóneo. En un principio se desarrollaron sistemas de señales en paralelo, con gruesos cables que precisaban de un hilo para cada bit, aunque pronto se sustituyeron por una transmisión multiplexada en tiempo. Este sistema permitió, además, incluir el audio.

En cuanto a la transmisión, la digitalización de la misma fue posible gracias a técnicas de compresión que lograron reducir el flujo a menos de 5 Mbits/s (hay que tener en cuenta que el flujo original de una señal de calidad de estudio tiene 270 Mbits/s.) Esta compresión es la llamada MPEG-2 que produce flujos de entre 4 y 6 Mbits/s sin pérdidas apreciables de calidad.

Page 15: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 15

El avance de la informática permitió el tratamiento informático de las señales de televisión. Los sistemas de almacenamiento, como los magnetoscopios, pasaron a ser sustituidos por servidores informáticos de vídeo y los archivos pasaron a guardarse en discos duros. El acceso a la información se realizaba desde los propios ordenadores donde teníamos programas de edición de vídeo de tal forma que la información residente en el archivo era accesible en tiempo real por el usuario.

Los avances han seguido sucediendo, la búsqueda por mejorar la calidad de la imagen no ha cesado. En estos últimos años la tecnología ha logrado recrear imágenes de excelente definición gracias a resoluciones de 1100-1200 líneas que se alcanzan con el desarrollo de la televisión de alta definición HDTV (High Definition Television), inventada en 1989, cuyo éxito radica en la amplitud de banda utilizada.

1.2.- Objetivos. Organización de la memoria

El presente Proyecto tiene por objeto mostrar la simulación de un sistema DVB-T2 (en condiciones ideales) a través de la interfaz gráfica de Simulink (Matlab). Para la realización de este proyecto nos hemos apoyado en distintos documentos publicados por el organismo internacional de estandarización para la televisión digital europeo, DVB (Digital Video Broadcasting), en el que se recogen las distintas especificaciones, protocolos y características que deben cumplir tanto el sistema DVB-T2 como las señales que se pueden transmitir a través de él.

Se proponen los siguientes puntos:

− En el Capítulo 2 hablaremos del organismo de estandarización europeo, DVB. También comentaremos sobre los principales estándares de este organismo, dedicando especial interés al predecesor del estándar DVB-T2, es decir, al DVB-T y de otros estándares de transmisión digital existentes en el mundo.

− En el Capítulo 3 comentaremos las principales características de nuestro estándar. De esta forma adquiriremos una base sólida sobre el funcionamiento de un sistema de comunicaciones basado en DVB-T2 para cuando desarrollemos la simulación. Es, sin duda, un capítulo clave para entender el Proyecto.

− En Capítulo 4 está dedicado a la modulación OFDM. En él abordaremos los diferentes esquemas para esta modulación, enfatizando en los principales problemas que nos pueden surgir al trabajar con este tipo de

Page 16: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 16

modulación, tales como problemas de sincronismo, no linealidades o interferencias externas.

− El Capítulo 5 está dedicado a Matlab y a Simulink. Con este capítulo hemos pretendido que el lector se familiarice con el entorno en el que hemos llevado a cabo la simulación.

− El Capítulo 6 es, sin duda, el capítulo más importante de este Proyecto, si bien no podrá seguirse sin haber realizado una lectura de los anteriores. En él explicaremos la simulación de nuestro sistema de comunicaciones. En primer lugar haremos una presentación global de nuestro sistema, para posteriormente centrarnos tanto en el transmisor como en el receptor. En cada uno de ellos, procederemos a comentar los distintos bloques que hemos ido utilizando, dando una breve reseña de la función que van a desempeñar cada uno de ellos y explicando los parámetros que hemos utilizado para la configuración de los mismos. Por último, mostraremos los resultados obtenidos, de forma que apoyen o desaprueben nuestro sistema.

− Para finalizar, en el Capítulo 7, exponemos una serie de líneas futuras de investigación y que se dejan abiertas para posteriores estudios.

Como idea general me gustaría hacer hincapié en el carácter teórico, expositivo e incluso didáctico de este Proyecto Fin de Carrera. La bibliografía seguida está publicada en el Capítulo 8. Las funciones y variables que se han seguido durante el proceso de simulación se encuentran recogidas en el Anexo, al final de este Proyecto.

Page 17: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 17

2.- DVB

2.1.- Introducción

DVB (Digital Video Broadcasting) es la organización encargada de promocionar los estándares para la televisión digital a nivel internacional, así como de la creación de dichos estándares. Actualmente está constituida por más de 270 instituciones y empresas pertenecientes a todo el mundo.

Los estándares propuestos por esta organización han sido ampliamente aceptados en Europa y la mayor parte de países de otros continentes, a excepción de Estados Unidos, Canadá y México, que utilizan el estándar ATSC en lugar de DVB-T, o Japón, donde se usa principalmente el estándar ISDB.

En los estándares promovidos por DVB, los procedimientos de codificación de las fuentes de vídeo y audio están basados en los estándares definidos por MPEG. No obstante, los estándares MPEG sólo cubren aspectos y metodologías utilizados en la compresión de las señales de audio y vídeo así como procedimientos de multiplexación y sincronización de las señales en tramas de programa o de transporte. Una vez definida la trama de transporte es necesario definir los sistemas de modulación de las señales que se utilizarán para los distintos tipos de radiodifusión (satélite, cable y terrena), los tipos de códigos de protección frente a errores y los mecanismos de acceso condicional a los servicios y programas.

Existen diversos estándares creados por la organización DVB en función de las características del sistema de radiodifusión. Los más importantes son:

• Televisión terrestre: DVB-T, DVB-T2 y para dispositivos móviles DVB-H.

• Cable: DVB-C y DVB-C2.

• Satélite: DVB-S y DVB-S2 y para dispositivos portátiles DVB-SH.

También se definen estándares que definen las características de la señalización en el canal de retorno (medio por el cual el usuario se comunica con el proveedor de servicios o contenidos) en sistemas de televisión interactiva, la estructura de transmisión de datos para el cifrado y descifrado de programas de acceso condicional, la transmisión de subtítulos, y la radiodifusión de datos (nuevos canales de teletexto) mediante sistemas digitales.

Page 18: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 18

2.2.- El proyecto DVB

En el año 1991 se empieza a pensar en crear una plataforma de televisión digital para todo el continente europeo pero extensible a otros países del mundo. Así, a finales de este mismo año, un numeroso grupo conformado principalmente por organismos de radiodifusión, empresas tecnológicas de consumo y órganos reguladores empiezan a discutir la formación de un grupo para el desarrollo de la televisión digital en Europa. Este grupo, que comienza llamándose ELG (European Launching Group), intentó abarcar a todos los grupos interesados, desde gobiernos a empresas de electrónicas tanto del sector público como privado.

En Septiembre de 1993 se firma el MoU (Memorandum of Understanding, Principio de acuerdo), mediante el que se establecen las bases a seguir. A partir de este momento el grupo cambia su nombre por el que actualmente se le conoce, Digital Video Broadcasting Project (DVB) y ya contaban con más de 80 miembros. El trabajo de desarrollo para la televisión digital en Europa realizado hasta la fecha amplió sus horizontes para que cualquier país del mundo pudiese acogerse a este nuevo proyecto.

Paralelamente, otro grupo, el “Working Group on Digital Television”, preparaba un estudio sobre las posibilidades de la televisión digital terrestre en Europa. Este estudio introducía importantes conceptos, tales como la televisión de alta definición (HDTV) o la televisión en equipos portables.

Fig. 2.1: Estándares para la televisión digital en el mundo

Page 19: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 19

2.3.- Estándares más importantes

2.3.1.- DVB-S

DVB-S es el estándar del proyecto DVB para la transmisión vía satélite. La primera versión data de 1994, aunque el estándar como tal estuvo en desarrollo desde 1993 hasta el año 1997. La primera plataforma comercial en utilizarlo fue Canal+ Francia. El éxito del estándar DVB-S permitió incrementar la capacidad de transmisión de datos de televisión digital a través del satélite UH11, gracias al manejo del formato de vídeo MPEG2. La estructura permite mezclar en una misma trama un gran número de servicios, como audio, vídeo y datos.

Para transmisiones vía satélite se adoptó la modulación QPSK (Quadrature Phase Shift Keying) y presenta un flujo binario variable desde los 18,4 hasta los 48,4 Mbits/s. Si bien la norma DVB-S sólo especifica las características físicas y del enlace, el flujo de transporte emitido utiliza el MPEG2, conocido como MPEG-TS.

El estándar puede utilizarse con satélites que tengan transpondedores con ancho de banda entre los 26 y 47 MHz. En el caso de España, algunos satélites con dicha tecnología son ASTRA, HISPASAT, TELECOM o EUTELSAT.

Uno de los anchos de banda más comunes para un transpondedor de un sistema de satélite DBS (Direct Broadcast Satellite, Difusión Directa por satélite) es de 36 MHz. Con este ancho de banda es posible obtener 28 millones de símbolos por segundo, consiguiendo una capacidad de transmisión por transpondedor de 56 Mbits/s con una modulación 4-PSK. Como resultado de todo es una velocidad útil de 39 Mbits/s, que se van a traducir en 8 canales por transpondedor. Así, por ejemplo, con los 5 transpondedores que posee HISPASAT se pueden conseguir hasta 40 canales de televisión.

2.3.1.1.- Flujo de Transporte

El proceso de empaquetamiento de la información se realiza según la trama de transporte común al MPEG2. Para crear esta trama se utiliza el método de flujo de transporte realizando el encapsulado de la siguiente manera:

Page 20: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 20

Fig. 2.2: Flujo de Transporte en DVB-S

El vídeo, el audio y el resto de los datos (información específica, información del servicio o los datos del abonado para el acceso condicional) se insertan en los paquetes de transporte del MPEG2. Después de esto se invierten los bytes de sincronización cada 8 paquetes.

• Los contenidos de cada paquete se aleatorizan (scrambling), a excepción de aquellos que incluyan la Información Específica de Servicio (PSI). De esta manera se consigue el acceso condicional y otra serie de ventajas, como una mayor protección frente a errores, uniformar el uso de la banda disponible o facilitar la sincronización.

• Permite multiplexar varios flujos de paquetes de transporte en un único flujo de transporte multiprograma.

• Permite la protección contra errores en dos etapas: una primera fase, llamada “outer code”, que utiliza un código Reed-Solomon, añade un 12% de sobrecarga a los datos útiles; la segunda fase, “inner code”, utiliza un código convolucional definido por los distintos proveedores de servicios según sus propias necesidades.

• Finalmente se modula la señal QPSK y es retransmitida a través del correspondiente transpondedor del canal en cuestión.

Con todo este proceso la señal se adecua a las propiedades del canal concreto para su correcta transmisión.

Page 21: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 21

2.3.2.- DVB-S2

La segunda versión del estándar DVB-S fue lanzada al público en el año 2003 y ratificada por la ETSI dos años más tarde, en marzo de 2005. Durante el desarrollo de dicho estándar se desarrollan dos códec de vídeo de alta definición: el HDTV y el H.264 (MPEG-4 AVC). El sistema permite la transición de MPEG-2 o MPEG-4 en cualquier combinación (sólo uno, los dos o incluso combinando audio y vídeo de un tipo y de otro).

El estándar DVB-S2 permite la utilización de las modulaciones QPSK, 8PSK, 16PSK o 32PSK con codificación concatenada. Este nuevo sistema está basado en el anterior estándar (DVB-S). Las dos características más importantes que añade DVB-S2 frente a DVB-S son:

• VCM (Variable Coding and Modulation, Codificación y Modulación Variable) que optimiza los parámetros de la transmisión para diferentes usuarios.

• Cambios en los parámetros de la codificación en tiempo real (ACM, Adaptive Coding and Modulation, Codificación y Modulación Modificable).

DVB-S2 se utiliza para emitir la televisión en definición estándar (SDTV) o en alta definición (HDTV) o para servicios interactivos con acceso a internet, donde los contenidos generados por el usuario se pueden enviar por cable, ADSL o conexión vía satélite. También puede emplearse para aplicaciones profesionales, que multiplexan los datos en tiempo real y se envían en la banda VHF/UHF. Opcionalmente puede hacerse compatible con el estándar anterior (DVB-S), pero reduciendo el ancho de banda en un 30%.

Para la total implantación del estándar DVB-S2 frente a DVB-S se estiman que sean necesarios unos 15 años, siendo el mayor obstáculo para este cambio el coste de actualización de los equipos transmisores del satélite.

2.3.3.- DVB-C

El estándar DVB-C nace en diciembre de 1994. El sistema transmite basándose en las familias digitales MPEG-2 y MPEG-4, tanto para vídeo como para audio, empleando para ello una modulación QAM, desde 16-QAM hasta 256 QAM, para la televisión y los servicios de radiodifusión. Esta norma es seguida actualmente por todo tipo de operadores de cable del mundo.

Page 22: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 22

Debido a las existencia de una gran demanda en servicios de televisión digital, muchos operadores de cable ya han actualizado sus redes, desplegando mayoritariamente la modulación 256-QAM (con la que se consiguen 50 Mbits/s útiles por cada canal de cable) así como un aumento de la gama de frecuencias disponibles utilizadas para transmisión, con un máximo de 862 MHz. También empiezan a surgir operadores de cable que ofrecen un abanico de televisión analógica y simultáneamente varios cientos de canales de televisión digital, junto a los nuevos y sofisticados servicios añadidos (como interactividad y/o personalización de los servicios).

Aun así, la demanda de servicios más avanzados continúa obligando a los operadores de cable a buscar nuevas formas de ofrecer productos avanzados. Debido a ello gran parte de los operadores de cable que poseen redes híbridas de fibra óptica con coaxial (HFC) están optimizando el rendimiento para mejorar las prestaciones con los sistemas de modulación que permite el DVB-C.

Es precisamente la demanda de servicios más sofisticados por parte de los usuarios lo que ha llevado al desarrollo de un nuevo estándar, el DVB-C2, con el que se espera suministrar a la industria del cable servicios con tecnología punta por al menos otros diez años.

2.3.4.- DVB-C2

En 2007, un estudio llevado a cabo por el departamento técnico del organismo DVB, identificó diversas tecnologías que podían ser consideradas como alternativas de éxito a la especificación existente, DVB-C. De esta manera surge, el 18 de febrero de 2008, la segunda versión del estándar de DVB para cable, el DVB-C2.

Este nuevo estándar surge, principalmente, por las siguientes razones:

• Necesidad de una mayor capacidad de transporte en redes de cable para los nuevos servicios, tales como HDTV, VoD (vídeo bajo demanda) y otros servicios interactivos.

• Necesidad de los operadores de cable de permanecer competitivos y flexibles.

• Necesidad de los operadores de cable de ser capaces de retransmitir señales recibidas vía satélite o de redes terrestres usando complejos esquemas de modulación.

• Necesidad de tener más y mejores herramientas proporcionando nuevas oportunidades de expansión a los distintos operadores en mercados residenciales o de negocios.

Page 23: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 23

2.4.- DVB-T

2.4.1.- Introducción

El estándar de televisión digital denominado DVB-T (Terrestrial Digital Video Broadcasting), y recogido en el estándar ETSI (European Telecommunications Standards Intitute) EN 300 744, especifica los procesos de codificación de canal y de modulación para un adecuado funcionamiento cuando se usan los canales de transmisión terrestre. Como en el resto de estándares DVB, la señal de entrada normalizada es la denominada “MPEG-2 Transport Stream” (TS) o “Flujo de transporte MPEG-2”.

Dicho “Flujo de Transporte” (TS), obtenido mediante el proceso denominado “Codificación de Fuente” es una adaptación del estándar MPEG-2 según la norma ISO/IEC 138-1 que se estructura multiplexando varios programas y añadiendo la “Información del Servicio” (SI) correspondiente, según EYS 300 468.

El sistema DVB-T es muy flexible, disponiéndose de una serie de opciones:

• 2 modos de transmisión: 2k (1705 portadoras) u 8k (6817 portadoras).

• 3 esquemas de modulación: QPSK, 16-QAM y 64-QAM.

• 5 relaciones de codificación para protección interna de errores: 1/2, 2/3, 3/4, 5/6, y 7/8.

• 4 longitudes para el intervalo de guarda: 1/4, 1/8, 1/16 y 1/32.

• Modulación jerárquica o no jerárquica con diferentes valores del parámetro α.

Un aspecto a destacar de la modulación utilizada, OFDM (que se verá con más detalle en el capítulo 4) es que permite la separación, tanto en áreas pequeñas como grandes, de “Redes de Frecuencia Única” (Single Frequency Networks, SFN). Esto posibilita la recepción cuando se radian idénticos programas desde diferentes transmisores que operan en la misma frecuencia. En estas condiciones se obtiene la máxima eficiencia del espectro, lo cual adquiere especial relevancia cuando se usan en las bandas UHF asignadas para TV.

En Fig. 2.3 se muestra de manera esquemática el diagrama de bloques funcionales del sistema DVB-T.

Page 24: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 24

Fig. 2.3: Diagrama de Bloques de un sistema DVB-T

En la figura anterior, marcados con puntos, podemos ver los bloques funcionales para transmisiones jerárquicas. En el caso mostrado podemos ver 2 flujos de transporte, uno de ellos es de “alta prioridad” (“HP”) que tiene baja velocidad y, por tanto, menor calidad de imagen, y que modula las portadoras con un esquema de modulación muy robusto frente al ruido (QPSK); mientras el segundo flujo de transporte, denominado de “baja prioridad” (“LP”) complementa al anterior en cuanto a velocidad y calidad de imagen y combina su información con el anterior de forma que las portadoras son moduladas finalmente con un esquema más exigente en cuanto a relación señal/ruido. En el caso de que este último flujo de transporte utilice 4 bits por cada 2 bits de alta prioridad, se alcanzaría una constelación total para la señal emitida de 64-QAM. En la zona del área de cobertura donde se reciba la señal con buena relación S/N, la imagen recuperada, de alta calidad, corresponderá a la combinación de los dos flujos (alta y baja prioridad) mientras que en el caso contrario (baja relación S/N) la calidad de imagen recibida será peor, correspondiendo sólo al flujo de alta prioridad.

A continuación veremos, muy brevemente, algunas de las características más importantes del estándar.

Page 25: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 25

2.4.2.- Codificación de Canal

Los “Paquetes de Transporte” del múltiplex de entrada “Transport Stream” en formato MPEG-2 tienen una longitud de 188 bytes, utilizándose el primer byte como sincronización.

2.4.2.1.- Adaptación y Dispersión de Energía

Para asegurar la “dispersión de la energía” del espectro radiado, la señal de entrada debe hacerse cuasi-aleatoria, de forma que se eviten largas series de ceros o de unos. Por esta razón, el múltiplex de entrada debe ser “aleatorizado”, lo cual se consigue mediante un proceso cuyo esquema se muestra en la Figura 2.4.

Fig. 2.4: Generador PRBS para la dispersión de energía del Flujo de Transporte

El proceso es el siguiente: el primer bit en la salida del generador PRBS se aplica al primer bit (el MSB) del primer byte que sigue al byte de sincronización invertido del TS y así sucesivamente con los demás bits. Para ayudar al resto de funciones de la sincronización, durante los bytes de sincronismo de los otros 7 paquetes, la generación PRBS continúa, pero está deshabilitada, dejando estos bytes intactos.

El proceso descrito debe permanecer activo incluso cuando no exista flujo de transporte a la entrada o cuando éste no cumpla con el formato estándar MPEG-2.

Page 26: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 26

2.4.2.2.- Codificación Externa

Para permitir la corrección de errores (FEC) en la recepción, se introduce una cierta redundancia en la estructura de los paquetes de transporte, procedimiento que se conoce como codificación.

La codificación externa se emplea en todos los estándares DVB y se complementa con otra codificación, codificación interna, en el caso de los estándares de transmisión vía satélite y terrestre.

La codificación externa usada es de tipo Reed-Solomon, RS (204, 188, t=8), que es una versión acortada de la codificación original. Mediante esta codificación se añaden 16 bytes de paridad a los primeros 188 de cada paquete de transporte, resultando un total de 204 bytes.

En todas las condiciones pueden corregirse hasta un total de 8 bytes erróneos, de ahí la denominación del código: RS (204, 188, t=8).

Fig. 2.5: Codificación Reed-Solomon

El proceso de entrelazado convolucional de basa en la aproximación de Forney [1]. Los bytes de datos entrelazados, pertenecientes a los paquetes de transporte protegidos, están delimitados por los bytes de sincronización MPEG-2 invertidos y no invertidos, que no sufren alteración alguna. El entrelazado preserva, por tanto, la periodicidad de 204 bytes de los paquetes de transporte. El resultado del proceso de entrelazado es que cada byte de los paquetes de transporte se encuentra desplazado en el tiempo, con lo que los bytes originales de un paquete de transporte quedarán repartidos entre dos paquetes consecutivos.

Todo este proceso reduce los errores por ráfagas introducidos por el canal de transmisión (errores que afectan a varios bytes consecutivos), ya que después de la reordenación de los datos en el receptor, estos errores se habrán distribuido entre paquetes sucesivos, lo que favorecerá que no se excedan los límites en los que la codificación Reed-Solomon puede recuperar la información original.

Page 27: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 27

2.4.2.3.- Codificación Interna

Después de la codificación y entrelazado externos, los datos se someten a un nuevo proceso de codificación y entrelazado, codificación interna. Este tipo de codificación es de tipo convolucional.

El codificador, con frecuencia llamado erróneamente de “Viterbi” debido al algoritmo en recepción para la decodificación, está orientado al bit y distribuye en dos salidas el flujo de datos original a base de combinar (mediante sumas módulo-2) los datos de entrada con los obtenidos en las tomas situadas detrás de una serie de registros de desplazamiento.

La gran redundancia obtenida mediante esta codificación hace muy potente la corrección de errores cuando éstos son aleatorios, generalmente asociados a una baja relación señal/ruido del canal de transmisión utilizado. Sin embargo reduce a la mitad la capacidad del canal.

2.4.2.4.- Entrelazado Interno

El entrelazado interno se compone de un primer proceso de entrelazado relativo al bit que va seguido de un entrelazado de símbolos. Ambos, el relativo al bit y el entrelazado de símbolos están basados en bloques.

• Entrelazado de bits

El entrelazado de bits se realiza por bloques y sólo actúa sobre los datos útiles. El tamaño del bloque es de 126 bits para todos los entrelazadores, aunque la secuencia de entrelazado es diferente de unos a otros. El citado tamaño de los bloques implica que este proceso se repite un número exacto de veces por cada símbolo OFDM tanto si usa el estándar 2k como si se usa el 8k:

Estándar 2k Estándar 8k Nº portadoras activas para datos: 1512 6048 Bits totales por símbolo OFDM: v x 1512 v x 6048 Nº entrelazadores de bits: v v Repetición del entrelazado (nº de veces por símbolo OFDM):

(vx1512)/(vx126)=12 (vx6048)/(vx126)=48

Page 28: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 28

Las salidas de los “v” entrelazadores se agrupan para formar palabras (y’w)

de “v” bits, de manera que se toma cada vez un único bit de la entrada de cada entrelazador.

• Entrelazado de símbolos

El entrelazado de símbolos se realiza sobre las anteriores palabras y’w

conteniendo cada una de ellas “v” bits, de forma que a la salida del entrelazador queden agrupadas en bloques cuyo tamaño está calculado para que los datos se puedan distribuir directamente entre las 1512 portadoras (modo 2k) o 6048 (8k) portadoras activas que tiene cada símbolo OFDM.

2.4.3.- Modulación OFDM

El principio de la modulación OFDM consiste en distribuir el flujo binario de información entre un gran número de portadoras de forma que cada una maneja una velocidad de datos reducida con respecto a la del flujo total. En consecuencia, la duración “Tu” de los símbolos aumenta respecto al caso de modular una sola portadora, haciendo de esta forma la señal más robusta frente a interferencias por trayectos múltiples (ecos) ya que el retardo de éstos resulta ser muy pequeño comparado con la duración citada.

Para fortalecer todavía más la señal transmitida frente a los ecos, se amplía la duración de los símbolos añadiendo un tiempo ∆ denominado “intervalo de guarda” a la duración útil Tu, con lo que la duración total del símbolo pasa a ser:

Ts = Tu + ∆

El tiempo ∆ del intervalo de guarda se mide en fracciones de la duración útil Tu del símbolo, disponiéndose de 4 posibles valores:

∆/Tu = 1/4 1/8 1/16 1/32

Page 29: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 29

2.4.3.1.- Capacidad del Canal de Transmisión

El estándar 2k tiene 1705 portadoras totales en cada símbolo OFDM mientras que el estándar 8k tiene 6817 portadoras.

Ahora bien, no todas las portadoras están moduladas por los datos procedentes de la “Codificación de Canal”. Sólo 1512 portadoras en modo 2k ó 6048 portadoras en modo 8k son útiles para datos.

Llamando “FT” al flujo binario total transportado por las portadoras útiles para datos, éste vendrá dado por:

FT = fs · υ · L (bits/seg)

Siendo

fs: Frecuencia de los símbolos (símbolos/seg) (fs = 1/Ts).

Ts: Duración del símbolo.

υ: nº de bits/portadora (función del esquema de modulación).

L: nº de portadoras activas para datos.

La capacidad del canal o flujo binario útil “Fu” resultará de descontar del flujo binario total las redundancias incluidas en la codificación interna y en la codificación Reed-Solomon, es decir:

Fu= FT · r · 188/204 (bits/s)

Siendo “r” la relación de codificación interna.

2.4.3.2.- Portadoras Piloto

Un símbolo OFDM está compuesto por conjuntos de K elementos, correspondiendo cada uno de ellos a una portadora (K=1705 elementos en el modo 2k y K=6817 elementos en el modo 8k).

Sin embargo, como se ha indicado anteriormente, los datos procedentes de la “Codificación de canal” modulan solamente 1512 portadoras en modo 2k ó 6048 portadoras en modo 8k, que son las portadoras activas para datos contenidas en cada símbolo OFDM.

Page 30: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 30

Esto significa que, además de las portadoras para datos, la señal transmitida incluye portadoras cuya utilidad es la siguiente:

• Portadoras Pilotos Continuas, para sincronización del receptor en frecuencia y fase.

• Portadoras Pilotos Dispersas, para generación del canal en amplitud y fase en el receptor.

• Portadoras TPS con la información del modo transmitido.

La incorporación de estas portadoras pilotos exige reorganizar la señal transmitida en Tramas:

• Cada trama, con duración “TF” consiste en 68 símbolos OFDM, que se numeran de 0 a 67. En consecuencia, TF = 68TS.

• Una “Súper-Trama” está formada por 4 Tramas tanto en modo 2k como 8k.

• Una “Mega-Trama” está formada por 32 tramas en el caso del estándar 2k y 8 tramas para el caso de que se trate del estándar 8k.

El número de portadoras pilotos es el siguiente:

Modo 2k Modo 8k Continuas 45 177 Dispersas 131 524 TPS 17 68 Portadoras de datos 1512 6048

TOTAL 1705 6817 Portadoras

Localización de las Portadoras Pilotos Continuas

A diferencia de lo que ocurre con las Portadoras Pilotos Dispersas, las posiciones que ocupan estas portadoras en cada símbolo OFDM son siempre las mismas.

Localización de las Portadoras Piloto Dispersas

Llamando:

“m”: Número de la trama.

Page 31: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 31

“l”: Número del símbolo dentro de la trama (0 ≤ l ≤ 67).

“k”: Índice de la portadora dentro de cada símbolo OFDM (0 ≤ k≤kmax), donde kmáx = 6816 en modo 8k y kmáx = 1704 en modo 2k.

Para el símbolo “l” de una determinada trama, los índices “k” que corresponden al subconjunto de Portadoras dispersas vienen dado por:

k = 3 x (lmod4) + 12p

siendo “p” un número entero p ≥ 0 que debe cumplir la condición de que el valor resultante “k” no exceda el valor de kmax correspondiente al estándar de que se trate.

Portadoras TPS

Las portadoras TPS sirven para señalizar los parámetros correspondientes al esquema de transmisión empleado, es decir, para informar de todo lo relativo a la Codificación de Canal y a la Modulación usadas para la transmisión.

Estas portadoras TPS se transmiten en paralelo, ocupando 17 posiciones de cada símbolo OFDM en el estándar 2k y 68 posiciones en el estándar 8k.

2.5.- Otros estándares de transmisión digital

2.5.1.- Estándar ATSC

Designado también como DTV (Digital Television) fue el primer sistema de televisión digital y fue adoptado por la Comisión Federal de Comunicación de los Estados Unidos en noviembre de 1953. Actualmente está siendo adoptado, además de por Estados Unidos, por Canadá, México y Corea del Sur.

La entrada digital al sistema de transmisión de ATSC es un flujo de transporte MPEG-2, síncrono y continuo a una tasa binaria de 19.39 Mbits/s. Este flujo de datos en serie está formado por paquetes MPEG de 187 bytes más un byte de sincronismo, dando lugar a una carga útil de información de 19.2895 Mbits/s. Dicha carga útil puede incluir paquetes codificados de vídeo o audio digitales y/o datos adicionales y llega al modulador a través de un cable coaxial de 75 Ω y un conector BNC de entrada. El nivel

Page 32: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 32

de la señal de salida es de 0.8 V ± 10% pico a pico. Los datos de sincronismo (reloj) van embutidos en la carga útil. El ancho de banda del canal RF es de 6 MHz.

La señal de salida del modulador es una señal modulada en amplitud, con vestigio de señal lateral, de ocho niveles. Por lo general, la salida del modulador es a una frecuencia intermedia entre la banda base y la frecuencia de salida de RF, por ejemplo 41 MHz. Dicha frecuencia intermedia, así como el nivel de salida y otras características, dependen de la elección del fabricante.

El modulador, de manera similar a otros estándares, cumple dos funciones esenciales: primero, realiza la codificación del canal y segundo, la modulación propiamente dicha. La señal de salida del modulador pasa a aun conversor ascendente que la traslada a la frecuencia del canal RF. El codificador convolucional, que forma parte del codificador del canal, entrega un código picado (punctured code) de tasa 2/3 ya que cada bit alterno lo codifica en dos bits y el bit intermedio no lo codifica. En otras palabras, por cada dos bits de entrada produce tres bits de salida que luego son entrelazados o intercalados por un entrelazador de 12 símbolos.

Los paquetes de transporte MPEG-2 en los estándares ATSC, DVB a ISDB son de 187 bytes más un byte de sincronismo que no se somete a codificación del canal. En ATSC la codificación del bloque (Reed-Solomon), agrega 20 bytes de redundancia, de modo que el paquete completo, incluyendo el byte de sincronismo, es de 208 bytes a los que se designa como segmentos de datos. Con 8 bits/byte y 3 bits por símbolo, un segmento de datos tiene una longitud de 208 x 8/3 x 3/2 = 832 símbolos, de los cuales 828 constituyen los datos codificados mediante R-S y los otros cuatro son símbolos de sincronismo del segmento. En total se tienen 3 x 832 = 2496 símbolos/segmento, de lo que 2484 son de datos y 12 de sincronismo de segmento. La estructura del segmento de datos se ilustra en la Fig. 2.6

Fig. 2.6: Estructura del segmento de datos

A una tasa binaria de 32.28 Mbits/s, la duración por bit es de 31 ns, de modo que la duración de un segmento es de 77.3 µs, es decir, 12.94 segmentos por segundo. Para barrido entrelazado se tienen 313 segmentos/campo, con lo que la duración de un campo

Page 33: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 33

es de 24.2 ms y la frecuencia de campo resulta de 41.3 kHz. La frecuencia de cuadro es la mitad de la frecuencia de campo, es decir, 20.66 kHz.

2.5.2.- Estándar ISDB-T

Este estándar fue desarrollado por el Grupo de Expertos en Radiodifusión Digitak (DiBEG) en Japón que incluye radiodifusión de televisión digital, sonido y servicios de datos y se designa como Radiodifusión Digital de Servicios Integrados (ISDB) e incluye los estándares para servicios terrestres, por cable y por satélite, de manera similar a DVB. El estándar ISDB-T es, en muchos aspectos, similar al DVB-T, si bien una diferencia importante es el uso de OFDM en bandas segmentadas (BST-OFDM).

En ISDB-T, uno o varios flujos de transporte se remultiplexan para generar un flujo único de transporte (TS). Este TS se somete a procesos múltiples de codificación de canal, de acuerdo con los objetivos del servicio y se transmite finalmente como una señal OFDM única. En ISDB-T también es posible el entrelazado en tiempo, con el objeto de proporcionar una codificación de canal más potente para recepción móvil, donde las considerables variaciones de nivel de la señal recibida son inevitables.

Para transmisión de televisión, el espectro consiste en 13 bloques sucesivos de OFDM, también designados como segmentos OFDM, donde el ancho de banda de cada segmento es igual a 1/14 del ancho de banda de un canal de televisión. Esta configuración en segmentos permite el uso del mismo receptor tanto para televisión como para recepción de señales de radiodifusión de audio digital.

La codificación de canal se realiza en términos de segmentos, de modo que una parte de un canal de televisión puede utilizarse para servicio fijo y el resto para servicios móviles. Cada capa de la jerarquía consiste en uno o más segmentos y para cada uno se pueden especificar parámetros tales como el esquema de modulación de portadoras, tasa de codificación interna (picado) y longitud del intercalado en tiempo. Se tienen hasta tres capas jerárquicas en que el segmento empleado para recepción parcial, también cuenta como capa jerárquica.

La codificación del canal en ISDB-T es más compleja que en DVB y el orden de la codificación de bloque y dispersión de energía (aleatorización) se intercambian, como se ilustra en la Fig. 2.7

Page 34: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 34

Fig. 2.7: Diagrama de bloques de la codificación de canal en ISDB-T

La dispersión de energía, ajuste de retardo, intercalado de bits y codificación convolucional se aplican a cada segmento de datos por separado, lo que permite que el intercalado y la tasa de código del codificador interno, así como la constelación de señales, pueda seleccionarse independientemente para cada capa jerárquica. El intercalado a nivel de bit difiere para cada capa, dependiendo de la codificación de canal y de la modulación. Para compensar esto se inserta un ajuste de retardo antes del intercalado.

La salida de los codificadores convolucionales (o codificadores de Trellis) de cada capa se aplican al modulador OFDM de forma similar a DVB, lo que implica el cómputo de la IFFT para generar portadoras múltiples en cuadratura. Dependiendo del modo de transmisión, el número de portadoras varía de 1405 a 5617, de las que el número de portadoras activas varía de 1249 a 4993. El ancho de banda ocupado por la información es aproximadamente de 5.6, 6.5 y 7.4 MHz para los canales de RF de 6, 7 y 8 MHz respectivamente.

Además de las tres constelaciones usuales en DVB-T (QPSK, 16QAM y 64QAM), en ISDB también se utiliza DPSK (modulación diferencial en cuadratura de fase).

Una vez llevada a cabo la modulación, la señal de salida ISDB-T está generada y el resto del sistema transmisor, al igual que en otros sistemas, tiene por finalidad la conversión de la salida de FI del modulador a la frecuencia del canal de RF y la amplificación subsiguiente para alcanzar el nivel de potencia requerido para la transmisión.

Page 35: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 35

3.- DVB-T2

3.1.- Introducción

DVB-T2 es el estándar de transmisión digital de segunda generación desarrollado por el DVB Project. Introduce las últimas modulaciones y las últimas técnicas de codificación para permitir un uso eficiente del espectro para el reparto de audio, vídeo y servicios de datos fijos. DVB-T2 no está diseñado para reemplazar a DVB-T a corto o medio plazo; ambos estándares coexistirán en el mercado durante muchos años.

Como su predecesor, DVB-T2 utiliza modulación OFDM (Orthogonal Frequency División Multiplexer) con un gran número de subportadoras. También, en concordancia con DVB-T, el nuevo estándar ofrece distintos rangos de modos de operación haciéndolo más flexible. DVB-T2 emplea la misma codificación que el estándar DVB-S2, codificación LDPC (Low Density Parity Check) en combinación con BCH (Bose-Chaudhuri-Hocquengham) ofreciendo un comportamiento excelente en presencia de altos niveles de ruido e interferencias, dando lugar a una señal muy robusta.

Se permiten diversas opciones en algunos parámetros como en el número de portadoras, el tamaño del intervalo de guarda y las portadoras piloto, por lo que la sobrecarga puede ser minimizada para determinados canales de transmisión. Además, una nueva técnica, denominada Rotación de Constelación, proporciona una robustez adicional en canales difíciles.

Además, DVB-T2 especifica un método de diversidad de transmisión, conocido como codificación Alamouti [2], que mejora la cobertura en redes de una sola frecuencia (redes SFN). Finalmente, se ha definido una forma para que el estándar pueda ser completamente mejorado en un futuro a través de lo que se conoce como Future Extension Frames.

Fig. 3.1: Comparación entre DVB-T y DVB-T2

Page 36: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 36

En países donde DVB-T ya está operando, la transición DVB-T a DVB-T2 tendrá que darse paulatinamente, si se quiere que prospere; los servicios ofrecidos por ambos estándares coexistirán durante un tiempo. Además se ha comprobado, por experiencias en Australia (donde se usa DVB-T con una codificación de vídeo MPEG2) y de Francia (DVB-T con una codificación de vídeo MPEG4) que es posible ofrecer servicios de alta definición (HDTV) sin necesidad del nuevo estándar. No obstante, los precios de los equipos DVB-T2 caerán durante los próximos años, lo que convertirá al nuevo estándar en la primera opción para llevar los servicios de televisión digital a países donde éstos no existan.

3.2.- Visión general sobre DVB-T2

En este apartado se pretende dar una visión general sobre los sistemas para la emisión de la televisión digital de segunda generación (Second-Generation Digital Terrestrial Broadcasting, DVB-T2).

3.2.1.- Capa Física

El modelo genérico para la capa física para sistemas DVB-T2 se representa en la Fig. 3.2. La entrada del sistema puede tener uno o más Flujos de Transporte, TS (MPEG Transport Stream) que pueden ser modificados por un pre-procesador a la entrada del sistema T2. Cada señal de entrada tiene una correspondencia única con un canal de datos en el modulador. A estos canales se les conoce como PLPs (Physical-Layer Pipes).

Fig. 3.2: Visión general de un sistema DVB-T2

Page 37: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 37

A la salida del modulador tendremos una señal RF o un único canal RF. Opcionalmente, la salida podrá dividirse en una segunda señal, para ser transportada a otra antena en transmisiones tipo MISO (Multiple Inputs, Output), usando una codificación Alamouti modificada. Si existe una única capa física (PLP) habrá un único canal de datos.

El rango de parámetros del estándar COFDM se ha extendido en comparación con el de DVB-T:

• Tamaño de FFT: 1k, 2k, 4k, 8k, 16k y 32k.

• Intervalos de guarda: 1/128, 1/32, 1/16, 19/256, 1/8, 19/128, 1/4.

• Patrón de portadoras dispersas (scattered-pilot): 8 versiones diferentes ajustadas a cada uno de los intervalos de guarda.

• Pilotos continuos, similares a los del estándar DVB-T, pero con una optimización mejorada para reducir la sobrecarga.

• Un modo de portadora extendida que permite una optimización en el uso de los canales limitados en banda para tamaños FFT mayores.

3.2.2.- Physical Layer Pipes (PLPs)

Los requerimientos comerciales que solicitan servicios cada vez más robustos unidos a la necesidad de transportar diferentes tipos de señales nos llevan al concepto de PLP, capaces de transportar datos independientemente de la organización de los mismos.

DVB-T2 permite que las constelaciones, las tasas de codificación así como el entrelazado en tiempo sean asignados a distintas PLPs de forma individual.

Fig. 3.3: Diferentes PLPs ocupando diferentes intervalos de tiempo

Page 38: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 38

Típicamente un grupo de servicios compartirán elementos comunes. Para evitar la necesidad de duplicar esta información para cada una de las PLPs, el estándar DVB-T2 incluye el concepto de PLPs comunes. De ahí que los receptores necesiten decodificar 2 PLPs simultáneamente al recibir un servicio: las PLPs de datos y las PLPs comunes a estos servicios.

En el estándar se definen dos modos de entrada:

• Modo A, que usa una única PLP.

• Modo B, que usa múltiples PLPs.

3.2.3.- Preámbulos (P1 y P2)

Los primeros símbolos de cada trama física en el estándar DVB-T2 son denominados símbolos preámbulos, que transportan una cantidad limitada de datos de señalización. La trama comienza con un símbolo P1, que emplea una modulación diferencial BPSK, con intervalos de guarda a ambos extremos del símbolo, que portan 7 bits de información (incluyendo el tamaño de la FFT). Los siguientes símbolos son símbolos P2; el número de símbolos P2 es fijo y viene dado por el tamaño de la FFT usado y proporciona toda la información de señalización de nivel 1 (capa física). Los primeros bits de señalización (L1 pre-signalling) tienen una codificación y modulación fija; para los restantes (L1 post-signalling), la tasa de codificación es 1/2 pudiendo optarse por una modulación QPSK, 16-QAM ó 64-QAM.

3.2.4.- Patrón de Pilotos

Mientras que en DVB-T se aplicaba el mismo patrón de pilotos con independencia del tamaño de FFT o del intervalo de guarda seleccionado, DVB-T2 ha elegido una propuesta más flexible definiendo hasta ocho patrones que serán seleccionados dependiendo del tamaño de la FFT y del intervalo de guarda adoptados para la transmisión. Con ello se consigue una reducción de la sobrecarga de pilotos mientras que asegura una suficiente calidad en la estimación del canal.

Se añaden portadoras pilotos dispersas (Scattered pilots) de amplitud y fase predeterminadas en la señal a intervalos regulares tanto en tiempo como en frecuencia. Estos son usados por el receptor para poder estimar cambios en la respuesta del canal.

Page 39: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 39

Fig. 3.4: Patrón de pilotos dispersas en DVB-T (izquierda) y DVB-T2 (derecha)

3.2.5.- Códigos de control de errores LDPC/BCH

Mientras que la codificación de control de errores interna y externa en DVB-T estaba basada en códigos convolucionales y Reed-Solomon, diez años más tarde el desarrollo tecnológico permite que la mayor complejidad de la codificación LDPC pueda ser manejada en el receptor. DVB-T2 usa una codificación LDPC/BCH concatenada, como hace el estándar DVB-S2. Ambos códigos aseguran una mayor protección, permitiendo el transporte de una mayor cantidad de datos en un canal dado; además su uso muestra un mejor comportamiento de la BER (Bit Error Ratio) frente a C/N (relación entre la potencia de la señal recibida frente a la potencia del ruido), como puede verse en la siguiente Figura:

Fig. 3.5: Comparación entre codificación convolucional (DVB-T) y codificación LDPC (DVB-T2)

3.2.6.- Etapas de entrelazado

El objetivo de estas etapas de entrelazado no es otro que el de dispersar el contenido tanto en el dominio del tiempo como en el de la frecuencia de forma que ni los efectos de ruidos impulsivos ni de desvanecimientos selectivos en frecuencia

Page 40: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 40

eliminen largas secuencias de la cadena de datos original. Además, el entrelazado es ajustado de acuerdo al comportamiento de los códigos de control de errores ya que estos no protegen a todos los datos por igual. Por último, estas etapas de entrelazado se han diseñado de forma que los bits transportados en puntos de una constelación ya transmitida no se correspondan con la secuencia consecutiva de bits de la cadena original.

Uno de los cambios más significativo entre DVB-T y DVB-T2 es la introducción del entrelazado en tiempo que va a proporcionar protección contra ruidos impulsivos y desvanecimientos selectivos en el tiempo.

3.2.7.- Técnicas de reducción de PAPR

Un elevado valor de PAPR (relación entre la potencia de pico y la potencia media) en sistemas OFDM puede reducir la eficiencia de los amplificadores RF. Dos técnicas de reducción del PAPR “Active Constellation Extension (ACE)” y “Tone Reservation (TR)” son soportadas en DVB-T2 dando lugar a una sustancial reducción del PAPR, aunque a expensas de un ligero incremento de la potencia media de menos de 1%.

La técnica ACE reduce el PAPR aumentando la distancia entre los puntos de la constelación en el dominio de la frecuencia, mientras que la técnica TR reduce directamente el PAPR cancelando la señal de pico en el dominio del tiempo. Ambas técnicas son complementarias.

3.3.- Elección de Parámetros

Existe una gran cantidad de formas de configurar un sistema DVB-T2. En este apartado comentaremos del porqué de la elección de cada uno de los parámetros.

Page 41: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 41

3.3.1.- Elección del tamaño FFT

Los factores que pueden verse afectados por el tamaño de la FFT son bien conocidos. Incrementando el tamaño de la FFT daremos una mayor tolerancia al retraso para los mismos intervalos de guarda. Por otra parte, grande valores de la FFT provocan una mayor vulnerabilidad ante canales que presenten rápidas variaciones en el tiempo. Para un tamaño de FFT, constelación y tasa de codificación dados, el efecto Doppler es aproximadamente proporcional al ancho de banda de la señal en RF e inversamente proporcional a la frecuencia RF.

Para servicios fijos que requieren altas tasas de bits en bandas UHF IV/V o en bandas bajas, el modo 32k es el recomendado. En estas situaciones, las variaciones en el tiempo de los canales están minimizadas y el modo 32k ofrece la posibilidad de lograr altas tasas binarias usando DVB-T2.

Para recepciones móviles en bandas UHF IV/V o bandas mayores, deben utilizarse tamaños inferiores para la FFT.

El modo 1k da lugar a un efecto Doppler más alto y se utiliza principalmente para operaciones en la banda L (1.5GHz) o mayores, usando un ancho de banda nominal de unos 1.7 MHz.

3.3.2.- Elección de portadora normal o extendida

La señal DVB-T2 ha sido diseñada para que no presente requisitos tan estrictos para el plan de frecuencia como en el caso de DVB-T.

El espectro de una “clásica” señal OFDM muestra una señal más o menos rectangular desde la banda deseada de la señal requerida, presentando un factor de roll-off que depende del espaciado entre portadoras OFDM. El mayor tamaño de la FFT (para la misma tasa de muestreo y mismo ancho de banda nominal), un menor espaciado entre portadoras y la mayor rapidez de caída del espectro fuera de la banda requerida son las principales propiedades que hacen que la opción de portadora extendida sea viable para modos con tamaño de FFT 8k o superiores. La opción de portadora extendida tiene como beneficio el incremento de la capacidad de datos.

Page 42: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 42

Fig. 3.6: Espectro de la señal DVB-T2 para intervalos de guarda 1/8 (canales de 8 MHz)

3.3.3.- Elección del Intervalo de Guarda

DVB-T2 ofrece un amplio rango de posibles intervalos de guarda para garantizar todas las necesidades de transmisión. Debemos distinguir entre dos conceptos: la duración del intervalo de guarda, TG, y la fracción del intervalo de guarda, GIF=TG/TU.

La visión más sencilla es tratar el intervalo de guarda como los límites en los que se puede extender un canal para que éste siga siendo tolerado por el sistema. Asumiendo que la amplitud del canal para un escenario de emisión es conocida, es sólo una cuestión de elegir el valor de TG. Esta elección requerirá también la consideración del tamaño de la FFT. La mayor capacidad del canal se obtiene minimizando el GIF, es decir, maximizando el valor de TU. No obstante, sabemos que existen otras limitaciones en la elección del valor de la FFT, como la influencia del efecto Doppler en el escenario de interés. Éste establecerá un límite en la elección del valor para la FFT. Así, atendiendo a estas consideraciones, el proceso de decisión sería:

• Determinar la máxima ampliación del canal.

• Tomar el valor de TG más próximo.

• Determinar los efectos Doppler del escenario.

Page 43: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 43

• Determinar el mayor tamaño para la FFT aceptable bajo las consideraciones anteriores.

No obstante, hemos realizado una aproximación bastante simplista.

Si la ampliación del canal es menor que la duración del intervalo de guarda, no habrá interferencia intersímbolos (ISI). Si, por el contrario, la ampliación del canal es mayor que la duración del intervalo de guarda existirá interferencia intersímbolos.

En la siguiente tabla, Tabla 1, se listan la duración de los intervalos de guarda para canales de ancho de banda 8MHz, para cada combinación de intervalo de guarda y tamaño de la FFT permitida.

Tabla 3.1: Duración de los intervalos de guarda en µs para canales de 8MHz

3.3.4.- Elección del Patrón de Pilotos

Los receptores DVB-T2 realizan medidas constantemente del canal usando scattered pilots (SPs) para luego realizar interpolaciones de estas medidas y construir así estimaciones de las respuestas del canal para cada una de las células OFDM. Estas medidas deben ser suficientemente importantes para que posibiliten seguir posibles variaciones del canal tanto en tiempo como en frecuencia.

En DVB-T2 existen varios patrones de pilotos, denominados PP1 a PP8, con la intención de proporcionar mejores opciones de eficiencia para los diferentes escenarios. Cada patrón puede, en principio, soportar variaciones en tiempo y frecuencia por encima de los límites de Nyquist. PP8 se trata como un caso especial: en ellos no se usa la interpolación entre medidas; en lugar de ello se emplea una técnica de retroalimentación que continuamente actualiza las estimaciones al comienzo de las tramas.

El operador deberá elegir un patrón de pilotos considerando el canal esperado en función del tipo de uso que desea soportar.

Page 44: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 44

La capacidad se reduce notablemente a medida que aumenta la inserción de scattered pilots; la carga de SPs puede expresarse como 1/(Dx·Dy). PP1 y PP2 son los que tienen mayor carga (8.33%), y PP7 y PP8 los que menos (1.04%). Por supuesto, los casos con mayor sobrecarga se incluyen porque también presentan ventajas. PP1 ofrece los mayores límites de Nyquist para extender los canales, mientras que PP6 y PP7 los que menos.

Tabla 3.2: Comparación entre los patrones de scattered pilots

El entrelazado en tiempo y el patrón de pilotos PP8 no deberían usarse juntos; para redes en las que el operador decida hacer esto, el rendimiento del receptor puede verse degradado.

3.3.5.- Elección de la longitud de la Trama

La longitud de una trama T2, es decir, el número de símbolos LF en una trama T2, es un parámetro configurable por el transmisor u operador de red. Hay 3 restricciones importantes:

• La máxima duración de la trama son 250ms.

• El mínimo número de símbolos está especificado. Esto simplifica el proceso de estimación del canal.

• En el modo 32k, debe haber un número par de símbolos.

Además de todas estas restricciones, hay otra serie de factores que también afectan a la elección de la longitud de la trama:

Page 45: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 45

• Un valor muy grande de la longitud de la trama reduce el porcentaje de carga asociada con los símbolos preámbulos P1, la señalización L1 y la mayor densidad de los pilotos en P2, incrementándose el régimen binario total.

• Un valor pequeño de la longitud de la trama significa que los símbolos P1 y P2 aparecen con demasiada frecuencia.

Aunque aumentar la longitud de la trama reduce la carga de los símbolos preámbulos, hay un efecto de segundo orden que debería considerarse en la elección del número de símbolos. Debe haber un número entero de bloques FEC (veremos su significado en el apartado 3.5.2.3) en una trama T2. Como resultado, el régimen binario total depende del número exacto de símbolos y, por tanto, del número de células en una trama. Reduciendo la longitud de la trama en un símbolo puede incrementarse el régimen binario total significativamente.

La elección exacta de la longitud de la trama dependerá de las selecciones realizadas en otros parámetros:

• Tamaño de la FFT.

• Intervalo de guarda.

• Uso del modo portadora extendida.

• Combinación de diferentes tipos de PLPs.

3.3.6.- Elección de los parámetros de entrelazado de tiempo

La elección del número de bloques TI para el entrelazado de trama depende de dos factores. Incrementando el número de bloques TI para una duración de trama dada, reducimos el entrelazado de tiempo, además de la resistencia del sistema a interferencias de otros sistemas y variaciones del canal en el tiempo. Por otra parte, incrementando el número de bloques TI incrementamos la máxima tasa de datos para una PLP.

Page 46: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 46

Una opción alternativa es el entrelazado multitrama, donde un bloque TI se divide entre varias tramas T2. Esta alternativa suele usarse para PLPs con una baja tasa de datos. Particularmente es útil para PLPs comunes y PLPs tipo 1.

El entrelazado de tiempo es opcional, sin embargo su uso es muy recomendado puesto que proporciona una gran diversidad en el tiempo.

3.4.- Estructura Física de la Trama

3.4.1.- Súper-trama

La mayor entidad de un sistema DVB-T2 es una súper-trama, que está formada por tramas T2 y puede contener, además, tramas para una extensión futura (FEF, Future Extension Frame). El número máximo de tramas T2 en una súper-trama es de 255. La máxima longitud de una trama T2 es de 250ms y la longitud máxima de FEF también es de 250ms. Las tramas T2 pueden tener longitudes diferentes entre tramas FEF, sin embargo deberán tener la misma longitud dentro de una súper-trama. Esto es también aplicable a todas las partes FEF. Una FEF puede ser insertada entre dos tramas T2, por lo que el número de FEFs en una súper-trama oscila entre 0 y 255. Si existen es necesario que ésta finalice en una FEF. La máxima longitud de una súper-trama es de 256*250ms = 64s, si no lleva FEFs y de 256*2*250ms = 128s, si se usan FEFs.

Una trama T2 se divide en símbolos OFDM. Cada trama T2 empieza en un símbolo P1. También cada FEF empieza con un símbolo P1. Por ello, el intervalo entre dos símbolos P1 es de 250ms.

Fig. 3.7: Estructura de una trama T2

Page 47: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 47

El propósito de las tramas T2 es la de llevar PLPs y señalización L1. Por ello, estas tramas portan servicios DVB-T2 y su señalización pertinente. El propósito de las FEFs es el de permitir el mezclado entre los servicios definidos en la actual versión del estándar junto con los nuevos servicios que se puedan definir en una futura versión del mismo. Actualmente, las FEFs suelen ir vacías. Un receptor diseñado para la recepción de señales DVB-T2 debería ser capaz de detectar y corregir partes FEFs, por lo que la recepción de tramas T2 no debe verse afectadas en ningún caso.

3.4.2.- Trama T2

Una trama T2 está compuesta por un símbolo P1, NP2 símbolos P2 y un número configurable de símbolos de datos, en los que el último puede ser un símbolo especial Frame Closing symbol. El número de símbolos P2, NP2, depende del tamaño de la FFT y se define en la Tabla 3.3:

Tabla 3.3: Número de símbolos P2 para cada valor de FFT

La duración de una trama T2 está determinada por el tamaño de la FFT, intervalo de guarda y el número de símbolos OFDM. La duración máxima permitida en una trama T2 es de 250ms, que impone un límite en el número máximo de símbolos OFDM, LF, para los diferentes valores de FFT e intervalos de guarda, como se ve en la Tabla 4.4. La longitud de una trama T2 se calcula como:

TF = LF x TS + TP1

donde TS es la duración total de símbolos OFDM definida como:

TS = TU + TG = TU x (1 + GIF)

y la duración de un símbolo P1 es de 0.224ms. LF incluye todos los símbolos P2 y símbolos de datos por lo que LF = NP2 + Ldata. GIF es la fracción del intervalo de guarda.

Page 48: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 48

Tabla 3.4: Máxima longitud de trama LF en símbolos OFDM

Los símbolos P2 y los símbolos de datos llevan señalización L1, PLPs y cadenas auxiliares (opcionales). La señalización L1 debe ir siempre en los símbolos P2, nunca en los símbolos de datos. Las PLPs y las cadenas auxiliares pueden ir tanto en los símbolos P2 como en los símbolos de datos. La estructura de una trama T2 viene recogida en la Fig. 3.8. El mapeado de señalización L1, PLPs y cadenas auxiliares en símbolos OFDM de una trama T2 se recoge en Fig. 3.9.

Fig. 3.8: Estructura de una trama T2

Fig. 3.9: Mapeado de señalización L1, PLPs y cadenas auxiliares en una trama T2

Page 49: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 49

3.4.3.- Señalización L1

La señalización L1 se divide en L1-pre signalling y L1-post signalling. La modulación y la tasa de codificación para L1-pre signalling es una BPSK a 1/2 y el número de bits de señalización es constante. La L1-pre signalling siempre va a ocupar 1840 células.

El número de bits de señalización L1-post signalling depende del número de PLPs, del número de cadenas auxiliares y del uso de FEFs. El número de células ocupadas por L1-post signalling depende del número de bits de señalización y de la modulación usada. La modulación para L1-post signalling puede ser BPSK, QPSK, 16QAM o 64QAM. La codificación FEC es siempre 1/2. La modulación para L1-post signalling es elegida de forma que la señalización L1 es siempre más robusta que cualquier PLP.

Los símbolos P2 siempre deben llevar señalización L1. Debido a esto, el número de PLPs que puede haber en un sistema T2 viene limitado por la modulación usada por la L1-post signalling y el número de bits de señalización.

La L1-pre signalling y la L1-post signalling serán entrelazadas y codificadas por separado. La señalización es mapeada a símbolos P2 por lo que la cantidad de L1-pre y L1-post es la misma en cada símbolo P2, como vemos en Fig. 3.10:

Fig. 3.10: Mapeado de señalización L1 en símbolos P2

Page 50: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 50

3.5.- Estructura lógica de una trama

3.5.1.- Paquetes

Las PLPs pueden llevar paquetes, incluyendo paquetes de flujos de transporte (TS) MPEG u otros tipos de paquetes usados por flujos genéricos. La cabecera BB-Frame (ver apartado 3.5.2.1) proporciona un mecanismo para que los paquetes puedan ser reconstruidos en el receptor. La señal DVB-T2 en sí es, generalmente, independiente de cualquier estructura de paquetes.

3.5.2.- BB-Frame, FECFrames y bloques FEC

3.5.2.1.- BB-Frames

Las BB-Frames (BaseBand Frames, tramas en banda base) son unidades enmarcadas en la estructura básica de DVB-T2: asignación y programación son llevadas a cabo en números enteros de BB-Frames. Cada BB-Frame puede contener un número entero de paquetes o, por el contrario, los paquetes pueden ser fragmentados en varias BB-Frames. Cada BB-Frame contiene una cabecera, en la que se especifica la longitud y la posición del primer paquete, que permite al paquete original poder ser reconstruido por el receptor. También es posible que las BB-Frames puedan contener padding (relleno), en el caso de que no haya datos suficientes para una BB-Frame completa. El tamaño total de una BB-Frame, incluyendo el relleno es constante para una PLP dada y depende de la tasa de codificación LDPC.

3.5.2.2.- FECFrames

Las tramas en banda base, con su cabecera, son tratadas como “palabras” de información a las que se les aplica la codificación BCH y LDPC. Como resultado de esta codificación obtenemos una nueva cadena de datos que contendrá 64800 o 16200 bits y que es conocida como FECFrame. Las dos longitudes diferentes se corresponden con la elección de bloques FEC largos o cortos respectivamente. Los bloques FEC

Page 51: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 51

cortos permiten una granularidad mejor de régimen binario pero acarrea una gran carga y un rendimiento ligeramente peor que los bloques largos.

3.5.2.3.- Bloques FEC

Los bits de una FECFrame son entrelazados y organizados en “palabras”, que son mapeadas en constelaciones o células OFDM; cada punto de la constelación que se corresponde con una FECFrame es conocido como bloque FEC. El número de células en cada bloque FEC depende tanto de la modulación QAM y de la elección realizada de bloques cortos o largos para una PLP particular.

3.5.3.- Entrelazado de Tramas

El entrelazado de trama es una estructura de entramado dentro de la cual tiene lugar la asignación para una PLP particular. El programador asignará un número variable de BB-Frames a cada entrelazado de trama, y además, habrá un número entero de entrelazados de tramas en una súper-trama.

Hay dos razones que explican por qué el entrelazado de tramas no es el mismo en todas las tramas T2. En primer lugar, una PLP puede usar el entrelazado en tiempo sobre múltiples tramas T2. Por tanto, no es correcto decir que una trama en banda base (BB-Frame) es asignada a una trama T2 particular, si no que cada BB-Frame puede ser dispersada sobre todas la Pi (número de tramas en las que se mapea el entrelazado de tramas, para cada PLP i) tramas T2 en el periodo de entrelazado.

En segundo lugar, una PLP particular no necesita ser mapeada en cada trama T2 de una súper-trama, pero en lugar de ello puede aparecer en una trama T2 cada IJUMP

(diferencia entre sucesivas tramas T2 en las que una PLP particular ha sido mapeada) entre tramas T2. La duración del entrelazado de tramas en este caso se corresponde con Pi tramas T2 en las que una PLP se ha mapeado más Pi x (IJUMP – 1) tramas que se han saltado: un total de Pi x IJUMP tramas T2.

Page 52: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 52

3.5.4.- Bloques TI

Un bloque TI es una serie de células en las que se ejecuta el entrelazado de tiempo; no existe entrelazado entre bloques TI. Cada uno de ellos contiene un número variable de bloques FEC. El número total de BB-Frames y, por tanto, de bloques FEC, asignados al entrelazado de tramas no necesita ser múltiplo del número de bloques TI; como resultado, los bloques TI dentro del entrelazado de tramas puede contener un número de bloques FEC ligeramente diferentes.

Éstos también se utilizan también para el entrelazado de células. El valor de L(r) de la función de permutación cambia de un bloque FEC al siguiente, pero el índice r que marca la posición de los bloques FEC se pone a cero al comienzo de cada bloque.

3.6.- Señalización L1

La señalización L1 tiene dos funciones principales. En primer lugar proporciona al receptor una manera rápida de detección de la señal. En segundo lugar, proporciona al receptor toda la información necesaria para acceder a la señalización de nivel 2 (señalización L2). La estructura de la señalización es la que puede verse en la Fig. 3.11.

El propósito de la señalización P1, que es la que porta la señalización referente al símbolo P1, es indicar el tipo de parámetros básicos usados para la transmisión. El resto de señalización se porta en los símbolos P2, que también son capaces de transportar datos de las PLPs. La L1-pre signalling proporciona los parámetros básicos de transmisión incluyendo aquellos parámetros que permiten la recepción y decodificación de la L1-post signalling. La L1-post signalling se divide, a su vez, en otras dos partes: una parte configurable y otra parte dinámica. Además, siguiendo a éstas puede ir un campo opcional. La L1-post signalling acaba con un CRC (Cyclical Redundancy Checking) y un relleno (padding) en caso de que sea necesario.

Page 53: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 53

Fig. 3.11: Estructura de la señalización L1

Todos los datos de señalización L1, a excepción de la parte dinámica de L1-post signalling, permanecerá sin cambios durante toda la duración de la súper-trama. De ahí que cualquier cambio que se vaya a implementar en la configuración tendrá que ir entre dos súper-tramas.

La señalización P1 se define, casi exclusivamente, para permitir la detección rápida de la señal y proporcionar un sub-conjunto de parámetros de transmisión válidos para la trama T2 entera.

L1-pre signalling a la vez que permite la recepción y la decodificación de L1-post signalling proporciona información de la súper-trama actual, relativa a la topología de la red, configuración y transmisión de protocolos usados dentro de la súper-trama.

L1-post signalling contiene la mayoría de la información necesaria para extraer y decodificar las PLPs procedentes de las tramas T2.

3.7.- Codificación y Modulación

3.7.1.- Corrección de errores para las PLP

El esquema de corrección de errores (FEC) de un sistema DVB-T2 está basado en la concatenación de los códigos BCH y LDPC, además de distintas etapas de entrelazado y el mapeado de los bits a células.

Page 54: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 54

El código BCH es incluido como un seguro ante errores no deseados y es exactamente igual que en el estándar DVB-S2.

Para el código LDPC, el estándar DVB-T2 incluye dos elecciones para elegir la longitud del código (bloques normales de 64800 o bloques pequeños de 16200) así como 6 elecciones de tasa de código (1/2, 3/5, 2/3, 3/4, 4/5, 5/6) del estándar DVB-S2.

El código para bloques de 64800 es el mismo que para DVB-S2. El código para bloques de 16200 está basado también en el código para la segunda versión del estándar de DVB para satélite.

3.7.2.- Entrelazado de Bits

El código LDPC en DVB-T2 no es un código uniforme sino que, en general, el nivel de protección dependerá del peso de la columna de la matriz de paridad. Las siguientes tablas dan la distribución de los pesos de la matriz para bloques de 64800 y bloques de 16200.

Tabla 3.5: Distribución de los pesos de las columnas para bloques de 64800

Tabla 3.6: Distribución de los pesos de las columnas para bloques de 16200

Page 55: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 55

El entrelazado de bit es un bloque de entrelazado que se aplica a cada palabra codificada LDPC. En DVB-T2 el entrelazador de bits tiene NC = 2m si se usa una modulación 2m-QAM. Los bits codificados son escritos por columnas y leídos por filas. En Fig. 3.12 tenemos un ejemplo de cómo se realiza este proceso.

Fig. 3.12: Ejemplo de entrelazado de bits

3.7.3.- Entrelazador de células

El entrelazado de células (CI) consiste en una permutación pseudo-aleatoria de las células de una FEC, diferente para cada una de las FEC de un bloque TI, para asegurar así en el receptor una distribución incorrelada de las distorsiones del canal. El procedimiento que se sigue es muy similar al entrelazado en frecuencia (que se verá posteriormente). Con el objetivo de tener diferentes patrones de entrelazado para diferentes FEC, se añade un cambio constante a la permutación (modulo Ncells), generado como el valor del bit inverso de un contador de bit Nd, donde

Nd = floor (log2Ncells)

Page 56: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 56

Los requisitos de memoria para el entrelazado de células son dependientes del entrelazado de tiempo; así, de este modo, una implementación eficiente del entrelazado de tiempo mejorará el rendimiento del entrelazado de células.

Fig. 3.13: Esquema del Entrelazado de Célula

3.7.4.- Entrelazado de Tiempo

El concepto de entrelazado en el tiempo lo hemos visto en el apartado 3.5.6 y la elección de los parámetros de entrelazado fue discutido en punto 3.3.6. En este apartado consideraremos la implementación del entrelazado de tiempo.

Las células entrantes en el entrelazador de tiempo serán escritas en columnas dentro de la memoria del entrelazador, tal y como se muestra en Fig. 3.13. Una vez que toda la trama ha sido recibida en la entrada, el entrelazador de trama puede dividirla en bloques TI, teniendo en cuenta que estos bloques dentro del entrelazador de tramas puede contener ligeras diferencias en el número de bloques FEC, con el bloque TI más pequeño en primer lugar. El entrelazador de trama sólo puede leer un bloque a la vez, leyendo las partes más significativas de cada fila de la memoria para el entrelazado.

Page 57: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 57

Fig. 3.14: Uso de la memoria para el entrelazado de tiempo

3.8.- Formación de trama y generación OFDM

La función del “constructor” de tramas es la de unir las células procedentes del entrelazador de tiempo de cada PLP y las células moduladas de la señalización L1 en vectores de células activas OFDM correspondientes a cada símbolo OFDM para completar la estructura general de la trama. La formación de la trama se realiza con la información proporcionada por el programador y con la configuración de la estructura de la trama.

La programación de la PLP es realizada actualmente en el programador, que se asume como una parte de la entrada al sistema de DVB-T2. Para generar la información de señalización L1 requerida, el programador decidirá qué células de la señal T2 llevarán datos pertenecientes a qué PLP. Aunque esta operación no tiene efecto en la cadena de datos en esta etapa, el programador definirá la composición exacta de la estructura de la trama.

Page 58: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 58

3.8.1.- Entrelazado en frecuencia

Para minimizar la memoria empleada, necesitamos implementar el entrelazado de frecuencia con una única memoria compuesta de Nmax localizaciones. Nmax es el máximo número de células de datos en un símbolo OFDM para un valor de FFT dado. Es previsible que las implementaciones prácticas de los moduladores DVB-T2 deban soportar todos los valores para la FFT. Para tales implementaciones, Nmax sería la capacidad de memoria necesaria para llevar a cabo el entrelazado par-impar para 32k. De ahí que Nmax = 27404 sea el número máximo de células de datos para el modo 32k usando el patrón PP8 de scattered pilots. El entrelazado en frecuencia para todos los modos puede ser implementado con una memoria de Nmax localizaciones. Para una configuración dada con Cmax = máx. (Cdata), esta memoria necesitaría Cmax localizaciones (para el modo 32k) o 2Cmax localizaciones (para el resto de modos).

Así, el esquema para el entrelazador de frecuencia que se va a seguir es el siguiente:

Fig. 3.15: Entrelazador frecuencial para el modo 8k

Tabla 3.7: Permutación de bits para el modo 8k

Page 59: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 59

3.8.2.- Inserción de Pilotos

Como ya hemos visto, distintas células dentro de una trama OFDM son moduladas con información de referencia y son transmitidas en posiciones conocidas por el receptor.

Estas portadoras pilotos pueden ser usadas para sincronización de la trama, sincronización en frecuencia, sincronización en tiempo, estimación del canal o para identificar el tipo de transmisión.

3.8.2.1.- Definición de la secuencia de referencia

Las portadoras pilotos son moduladas de acuerdo a una señal de referencia, rl,k, donde l y k son el símbolo y el índice de la portadora definidos previamente. Esta secuencia de referencia se aplica a todos las portadoras pilotos de cada símbolo de una trama T2.

Fig. 3.16: Formación de la secuencia de referencia

Page 60: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 60

3.8.2.1.1.- Secuencia PRBS

La secuencia PRBS se genera de acuerdo a la Figura 3.17:

Fig. 3.17: Generación de la secuencia PRBS

Todos los registros están inicializados a 1.

El polinomio para el generador PRBS será: x11 + x2 + 1

3.8.2.1.2.- Secuencia PN

Cada valor de la secuencia PN se aplica a cada uno de los símbolos OFDM de la trama T2. La longitud de la secuencia PN será, por tanto, igual que la longitud de la trama LF, es decir, igual al número de símbolos de la trama T2.

La secuencia de longitud NPN = LF, estará formada por los primeros NPN bits de la secuencia PN general.

Tabla 3.8: Secuencia PN general. Descripción Hexadecimal

Page 61: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 61

3.8.2.2.- Propósito de la inserción de pilotos

Las portadoras pilotos se insertan por varias razones:

• Las portadoras pilotos dispersas, las de los símbolos P2 y las de los símbolos fin de trama, pueden usarse para la estimación y ecualización del canal.

• Las portadoras pilotos continuas, las de los símbolos P2 y las de los símbolo fin de trama, pueden usarse para la corrección del error de fase,

• Todas las portadoras pilotos pueden usarse para sincronización.

• Las portadoras pilotos continuas, las de los símbolos P2 y las de los símbolos fin de trama, su usan también como una forma de relleno.

3.8.2.3.- Localización de las portadoras pilotos

En este apartado no vamos a indicar la posición exacta de las portadoras pilotos en cada uno de los símbolos OFDM que componen la trama T2. En lugar de ello, comentaremos algunas consideraciones que tendrán que tomarse en cuenta:

• Los diferentes tipos de símbolos contienen distintas combinaciones de diferentes tipos de pilotos. En la Tabla 3.9 se resume las distintas portadoras pilotos que nos podemos encontrar en cada símbolo.

• El patrón eficaz de portadoras dispersas empieza en el símbolo cero.

• En el modo portadora extendida, las portadoras pilotos dispersas en la parte central de la señal para un símbolo dado ocupan las mismas portadoras (k’) que en el modo portadora normal. Como resultado, los valores de k para las portadoras dispersas para un símbolo dado no son necesariamente las mismas para los modos normal y extendido. En la práctica, este hecho sólo es relevante para los modos 8k y 16k con los patrones PP7 y PP8.

• Hay portadoras pilotos P2 cada tres portadoras en todo los modos salvo para el 32k SISO.

Page 62: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 62

Tabla 3.9: Presencia de los distintos tipos de pilotos en cada tipo de símbolo

3.9.- Uso del símbolo P1

3.9.1.- Introducción

Hay un símbolo P1 por trama, insertado al principio de cada una de ellas. Estos símbolos marcan el comienzo de una trama T2 y tienen cuatro propósitos principales:

• Permitir a un receptor determinar rápidamente si un canal contiene una señal DVB-T2.

• Identificar el preámbulo como un preámbulo T2.

• Señalizar algunos parámetros de transmisión que son necesarios para decodificar el resto del preámbulo y de la información principal. En particular, el símbolo P1 revela el modo FFT de transmisión. Aunque el intervalo de guarda de transmisión sigue siendo desconocido, la reducción en el número de posibilidades (recordamos que sólo son “permitidos” determinados intervalos de guarda para un modo FFT concreto) es muy útil para reducir el tiempo de detección.

• Permite al receptor detectar y corregir sincronización en frecuencia y en tiempo.

3.9.2.- Estructura del símbolo P1

La longitud del símbolo P1 es fija, independientemente de los valores de la FFT y del intervalo de guarda. Esto lo hace más fácil de detectar, ya que sólo tendremos que fijarnos en una cosa.

Page 63: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 63

La señal P1 puede ser detectada a pesar de la presencia de un sustancial offset en frecuencia. Este offset aparece por dos razones:

• Una mayor o menor tolerancia en la frecuencia de referencia en el receptor.

• Offset introducido de forma deliberada por el transmisor como parte de un proceso para el control de interferencia entre redes.

La detección es posible gracias a que el símbolo P1 contiene algunas partes que son “repeticiones” de la parte principal del símbolo.

Fig.: 3.18: Estructura del símbolo P1

Nótese que la primera parte del símbolo, C, es una copia de las primeras 542 muestras de A; mientras que B es una copia de las últimas 482 muestras de A.

En principio, con un símbolo de 1k, 853 portadoras podrían ser transmitidas dentro de un ancho de banda nominal. Las portadoras usadas estarán centradas en la banda, dejando 44 y 43 portadoras vacías a los lados. Dentro del bloque principal usado, bastantes portadoras son fijadas a cero según un patrón conocido que podrán ser usadas para la sincronización en frecuencia. Para sistemas de 8MHz, las portadoras usadas ocupan aproximadamente un bloque de 6.3MHz en el medio de una señal de ancho nominal 7.61MHz.

Un modelo de modulación es aplicado a 384 portadoras, usando DBPSK. Dicho modelo de modulación codifica 7 bits de señalización.

Page 64: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 64

3.9.3.- Características de P1

La arquitectura del símbolo P1 ha sido diseñada para ser robusta, permitiendo al receptor decodificar el símbolo P1 en condiciones cambiantes. P1 fue diseñado con las siguientes características:

• Protección contra interferencias.

Se espera que el símbolo P1 pueda ser corregido y decodificado bajo circunstancias verdaderamente extremas. La elección (por eficiencia) de longitud fija del símbolo significa que puede haber interferencia inter-símbolo, aunque ésta puede ser tolerada debido a que la modulación y la codificación han sido diseñadas para operar en una baja relación señal a ruido. La presencia de las partes C y B al comienzo y al final de símbolo de 1k proporciona robustez contra la falsa detección o pérdida de detección.

• Recepción de la señal sin conocimiento del canal

El símbolo P1 puede ser recuperado correctamente cuando el receptor está sintonizado con la frecuencia central. De hecho, el símbolo admite offset de más o menos 500KHz desde la frecuencia central de ancho de banda nominal en el caso de sistemas de 8MHz. La relación entre la potencia de pico y la potencia media (PAPR) del símbolo ha sido optimizada para facilitar la recepción.

• Capacidad para corregir el offset

El símbolo P1 puede ser utilizado para conseguir una mejor sincronización de tiempo del receptor, así como detectar cualquier desviación en frecuencia.

• Robustez de señalización

La señalización transportada por el símbolo P1 también es modulada (mediante modulación DBPSK). Se ha asegurado que esta protección es suficiente para recuperar dicha señalización incluso bajo valores negativos de SNR.

Page 65: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 65

4.- MODULACIÓN OFDM

4.1.- Un poco de historia

La historia de la modulación OFDM comienza a mediados de los años 60 cuando Hang publica su artículo sobre la síntesis de señales limitadas en banda para transmisiones multicanal. Hang expone un principio para transmitir mensajes simultáneamente a través de un canal lineal y limitado en banda, sin interferencia cocanal (ICI) ni interferencia intersímbolo (ISI). Poco después de que éste presentara su artículo, Saltzberg [3] llevó a cabo un análisis para la implementación de este principio, de lo que concluyó que la estrategia para diseñar un sistema paralelo eficiente se debería basar más en reducir el crosstalk (parte de señal que se introduce en un canal que no es el suyo) entre canales adyacentes que en perfeccionar cada uno de los canales por sí solo, ya que la distorsión debida al crosstalk tendía a ser dominante. Esta es una importante conclusión que se comprobó como cierta con el procesado digital en banda base unos cuantos años más tarde.

Una contribución muy importante para la modulación OFDM fue presentada por Weinstein y Ebert [4], quienes propusieron el uso de la Transformada Discreta de Fourier (DFT) para la realización de la modulación y demodulación en banda base. Su trabajo no se enfocó solo a “perfeccionar cada canal de manera independiente”, sino que también buscó introducir un procesado eficiente y eliminar los desajustes propios de un banco de osciladores. Este banco de osciladores era necesario en el transmisor y en el receptor, un oscilador para cada uno de los subcanales, apareciendo serios problemas de sincronización y sintonización. Para combatir la ISI y la ICI, se usaron los intervalos de guarda entre símbolos así como el enventanado de tipo coseno alzado en el dominio del tiempo. Este sistema no conseguía una ortogonalidad perfecta entre subportadoras sobre un canal disperso pero suponía una importante mejora para la época.

Otra importante aportación fue la presentada por Peled y Ruiz [5] en el año 1980, quienes introdujeron el prefijo cíclico o la extensión cíclica (CP o GI, período de guarda), que resolvía el problema de la ortogonalidad. En lugar de usar un período de guarda vacío, ellos propusieron transmitir en ese espacio una extensión cíclica del símbolo OFDM. Esto, efectivamente, simula un canal que realiza una convolución cíclica, lo que implica ortogonalidad sobre canales dispersos cuando el CP es mayor que la respuesta impulsiva del canal. Esto, sin embargo, introduce una pérdida de energía proporcional a la longitud del CP, pero que queda justificada por la nula ICI.

Page 66: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 66

Los sistemas OFDM se diseñan normalmente para pulsos rectangulares, aunque recientemente se está produciendo una tendencia a utilizar otros tipos de pulsos, pulse shaping. Esto permite jugar un poco con la forma del espectro, consiguiendo mejores resultados en cuanto a interferencias.

4.2.- Modelado de OFDM

La idea básica de OFDM es dividir el espectro total en varios subcanales (subportadoras). Al conseguir así subcanales de banda estrecha, cada uno experimenta un desvanecimiento plano, lo que hace que la ecualización sea bastante simple. Para obtener una alta eficiencia espectral, la respuesta en frecuencia de los subcanales se solapan y son ortogonales, de ahí el nombre de Orthogonal Frequency Division Multiplexing, OFDM. Esta ortogonalidad se mantiene incluso al pasar por un canal disperso, gracias al prefijo cíclico comentado. El modelo de OFDM que presentamos en este apartado, a grandes rasgos, será un modelo con prefijo cíclico (CP).

Como ya comentamos antes, el CP es una copia de la última parte del símbolo OFDM que se antepone al símbolo OFDM, ver Fig. 4.1:

Fig. 4.1: Posición del prefijo cíclico respecto a un símbolo OFDM

De esta forma, la señal que se transmite se vuelve periódica, lo que juega un papel decisivo para evitar la ISI y la ICI, aunque, como ya se comentó, conlleva una reducción en la relación señal a ruido (eficiencia).

Un esquema de un sistema OFDM en banda base sería el mostrado en la Fig. 4.2

Page 67: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 67

Fig. 4.2: Esquema general de un sistema con modulación OFDM

Para este tipo de sistemas tendremos en cuenta las siguientes suposiciones:

• El uso de un prefijo cíclico.

• La respuesta impulsiva del canal será menor que el prefijo cíclico.

• El transmisor y el receptor estarán perfectamente sincronizados.

• El canal va a introducir ruido complejo, aditivo y Gaussiano.

• El desvanecimiento será lo suficientemente lento como para considerarlo constante en la duración de un símbolo OFDM.

La dificultad de realizar un análisis teórico completo de un sistema OFDM hace que sea imposible abordarlo completamente a un nivel adecuado en este documento. Por ello, usaremos modelos simplificados que nos permitan un análisis más simple sin pérdida de resultados. Se suelen clasificar estos modelos en dos tipos diferentes: sistemas de tiempo continuo y sistemas de tiempo discreto.

4.2.1.- Modelo en tiempo Continuo

Los primeros sistemas OFDM no empleaban modulación ni demodulación digital. Por ello, el modelo de tiempo continuo para OFDM puede ser considerado como el sistema OFDM ideal, que en la práctica es sintetizado digitalmente.

Page 68: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 68

Fig. 4.3: Esquema del modelado de un sistema OFDM en tiempo continuo

Prestaremos poca atención a este tipo de modelo al no estar muy en consonancia con el resto del trabajo.

4.2.2.- Modelo en tiempo discreto

En la siguiente Figura (Fig. 4.4) mostramos un modelo en tiempo discreto completo de un sistema OFDM. Comparado con el modelo en tiempo continuo, la modulación y la demodulación se realizan mediante una IDFT y una DFT, respectivamente. El canal es modelado con una convolución discreta. El prefijo cíclico realiza la misma función ya comentada de mantener la ortogonalidad, de la misma forma que en tiempo continuo. La principal diferencia estriba en que las integrales del modelo analítico se sustituirían por sumas.

Fig. 4.4: Esquema de un sistema OFDM en tiempo discreto

Desde el punto de vista del receptor, el uso del prefijo cíclico más largo que el canal transforma la convolución lineal en una convolución cíclica con el canal. Denotando la convolución cíclica como , podemos escribir el sistema OFDM completo como:

yl = DFT(IDFT(xl) gl + kl) = DFT(IDFT(xl) gl + nl)

Page 69: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 69

Donde yl contiene los N puntos de datos recibidos, xl los N puntos de la

constelación que se han transmitido, g la respuesta al impulso del canal ( con zero–

padding si es necesario para obtener la longitud N), y nl es el ruido del canal.

4.2.3.- Imperfecciones

Dependiendo de la situación que se analice, las imperfecciones de un sistema real OFDM deben ser ignoradas o explícitamente incluidas en el modelo. A continuación, mencionaremos algunas de estas imperfecciones así como sus correspondientes efectos

Dispersión

Tanto la dispersión en tiempo como en frecuencia pueden destruir la ortogonalidad del sistema, ya que éstas introducen ISI y/o ICI. Si estos efectos no son lo suficientemente irrelevantes, debido por ejemplo a la inclusión de un prefijo cíclico o a un gran espaciamiento entre portadoras, deberán ser incluidos en el modelo. Una forma de modelar esto sería incrementando la potencia de ruido aditivo.

;o linealidades

Los sistemas OFDM tienen una gran relación potencia de pico a potencia media (PAPR) y son muy exigentes en cuanto a linealidad en los amplificadores de potencia. Las no linealidades en los amplificadores causan tanto ISI como ICI en el sistema, especialmente si los amplificadores no se diseñan para un back-off (OBO, relación entre la potencia de salida y la potencia de salida en saturación) adecuado.

Interferencia externa

Tanto los sistemas basados en cable como los inalámbricos están sujetos a interferencias externas. Para el caso inalámbrico, la interferencia suele provenir de otras transmisiones y equipamiento electrónico situado en la vecindad del propio del sistema. Para los sistemas sobre soporte físico, lo más común será encontrarnos con el crosstalk. En cualquier caso, la interferencia suele modelarse como ruido coloreado.

Page 70: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 70

Ruido de fase de portadoras

Es causado por las imperfecciones de los osciladores del transmisor y del receptor. Para canales selectivos en frecuencia, la rotación de fase que introduce esta anomalía es indistinguible de las rotaciones de fase de un error de temporización.

Se puede demostrar que la degradación de la SNR se puede aproximar por:

Donde W representa el ancho de banda y la SNR. Nótese que la degradación

aumenta con el número de portadoras. Las rápidas variaciones de la fase de ruido pueden provocar graves problemas.

4.2.4.- Sincronización

Uno de los argumentos en contra de OFDM es que este tipo de modulación es muy sensible a los errores de sincronización, en particular, a los errores de sincronización en frecuencia.

4.2.4.1.- Sincronización de Símbolos

En los sistemas OFDM se presta una enorme atención a la sincronización de símbolos. No obstante, desde que se usa el prefijo cíclico, los requerimientos temporales se han relajado bastante. El objetivo no es otro que el de saber cuando un símbolo empieza. Un offset en tiempo origina una rotación de fase en las subportadoras que será mayor en los extremos de la banda de frecuencia. Si el error en tiempo es lo bastante pequeño para mantener la respuesta impulsiva del canal dentro del prefijo cíclico, se mantendrá la ortogonalidad del sistema. En este caso, un retraso en el tiempo del símbolo puede verse como un desplazamiento en fase introducido por el canal y las rotaciones de fase podrán ser estimadas mediante los estimadores de canal. Por otra parte, si el error en tiempo es mayor que el prefijo cíclico entonces aparecerá interferencia intersímbolos.

Page 71: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 71

Existen, principalmente, dos métodos relacionados con la sincronización en tiempo: basado en las portadoras pilotos o basado en el código cíclico.

Para el primero tenemos un algoritmo sugerido por Warner and Leung [6]. Ellos usaron un esquema en el que la señal OFDM era transmitida usando una modulación en frecuencia (FM). El transmisor codifica un número reservado de subportadoras con una amplitud y fase conocida. Esta técnica de sincronización, con algunas modificaciones, es aplicable a señales OFDM transmitidas por modulación de amplitud (AM). Este algoritmo consta de tres fases: detección de potencia, sincronización “gruesa” y sincronización “fina”.

En la primera fase, se detecta si hay o no señal OFDM midiendo la potencia recibida y comparándola con un valor umbral. La segunda fase se usa para adquirir alineación de sincronismo dentro de ± 0.5 muestras. Este desarrollo no es aceptable, pero esta fase sirve para simplificar el algoritmo de rastreo. La sincronización “gruesa” se realiza correlacionando la señal recibida con una copia de la sincronización de la señal trasmitida. En la última fase de la sincronización, las subportadoras con pilotos son ecualizadas con los estimadores de canal obtenidos de los pilotos. Desde que la segunda fase garantiza que el error en tiempo sea menor que ± 0.5, la respuesta impulsiva del canal cae dentro del prefijo cíclico.

También existen algoritmos de sincronización basados en el prefijo cíclico. En el estudio de P.J Tourier, R. Monrier y P. Lopez, Multicarring [7], la diferencia entre las muestras recibidas y las espaciadas N muestras, r(k) – r(k + N), debe ser pequeña. De no ser así, la diferencia tendría el doble de potencia y, por tanto, en promedio, sería mucho mayor. Encerrando esta diferencia en una ventana rectangular de la misma longitud que el prefijo cíclico, la señal de salida tendría un mínimo en el comienzo del símbolo OFDM.

La sincronización en el enlace ascendente es mucho más difícil que en el descendente. Esto es debido a que tiene que existir una separación de tiempo para cada usuario.

4.2.4.2.- Sincronización de la frecuencia de muestreo

La señal en tiempo continuo recibida es muestreada en instantes determinados por el reloj del receptor. Hay dos métodos para tratar la falta de ajuste en la frecuencia de muestreo. En sistemas sincronizados por la tasa de muestreo, un algoritmo controla el VCO (Voltage Controlled Oscillator) para alinear el reloj del receptor con el reloj del transmisor. El otro método que se aplica es para sistemas no sincronizados por la tasa de muestreo, en los que la tasa de muestreo permanece fija, y que además requiere un post

Page 72: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 72

procesado en el dominio digital. El efecto del offset de frecuencia es doble: la componente de señal útil es rotada y atenuada y, además, se introduce ICI (interferencia inter-portadora). Los sistemas no sincronizados por la tasa de muestreo son mucho más sensibles al offset de frecuencia en comparación con los sistemas sincronizados por la tasa de muestreo. Además, en estos sistemas la degradación (en dB) debido al offset de la frecuencia de muestreo depende del cuadrado del índice de la portadora y del cuadrado del offset de frecuencia.

4.2.4.3.- Sincronización de la frecuencia de portadora

El offset de frecuencia se origina por diferencias en los osciladores del transmisor y del receptor así como por la fase del ruido introducidos por canales no lineales. Hay dos efectos destructivos causados por el offset de la frecuencia de la portadora en sistemas OFDM. Uno es la reducción de la amplitud de la señal y el otro es la introducción de ICI debido a otras portadoras (ver Fig. 4.5). Esto último es causado por la pérdida de ortogonalidad entre subportadoras. Un sistema multiportadora es mucho más sensible que un sistema de una única portadora. Llamando al offset de

frecuencia de portadora, normalizada por el espaciado entre subportadoras, como ∆f=

donde ∆F es el offset de frecuencia y N el número de subportadoras. La degradación D (en dB) puede aproximarse como:

D (dB) ≈ (π∆f)2 = (π )2

Nótese que la degradación se incrementa con el cuadrado del número de subportadoras, si ∆F y W permanecen fijos.

Page 73: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 73

Fig. 4.5: Efectos del offset de frecuencia ∆F: reducción de la amplitud de la señal () y la

interferencia entre portadoras (•)

4.2.5.- Estimación de canal

La modulación puede ser clasificada como diferencial o coherente. Cuando usamos modulación diferencial, no hay necesidad de estimar el canal ya que la información es codificada como la diferencia entre dos símbolos consecutivos. Esta es una técnica común en sistemas inalámbricos, en los que no se necesita estimar el canal, reduciendo, de esta forma, la complejidad del receptor. La modulación diferencial es usada en los estándares de DVB. Los inconvenientes es el aumento de 3 decibelios en la potencia de ruido y la incapacidad de usar constelaciones de multiamplitud eficientes.

Una alternativa interesante a la modulación coherente es la modulación de amplitud diferencial y desplazamiento de fase (DAPSK, Differential Amplitude and Phase Shift Keying) donde se consigue una mayor eficiencia espectral empleando un código diferencial de amplitud. Esto requiere una distribución no uniforme de amplitud. La modulación coherente, no obstante, permite constelaciones de señales arbitrarias y se utiliza para sistemas cableados, donde el canal difícilmente varía en el tiempo.

Tenemos, principalmente, dos problemas en el diseño de los estimadores de canal para sistemas inalámbricos OFDM. El primero de ellos es la elección de cuántos pilotos se deben transmitir; esta información de los pilotos es necesaria como referencia para la estimación del canal. El segundo problema radica en el diseño de estos estimadores con poca complejidad y que tengan buena capacidad para el “rastreo” de los canales. Estos dos problemas están interconectados, ya que el funcionamiento del estimador depende de cuantos pilotos sean transmitidos.

Page 74: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 74

4.2.5.1.- Información de pilotos

Los estimadores de canales necesitan la información de las portadoras pilotos como puntos de referencia. Un canal con desvanecimiento requiere un “rastreo” constante, por los que las portadoras pilotos se deben transmitir de manera continua. Una manera eficiente de permitir una actualización constante de la estimación del canal es transmitir pilotos en lugar de datos en posiciones específicas de los símbolos OFDM. Un ejemplo de ésto lo podemos ver en la Fig. 4.6 donde se muestran tanto las portadoras continuas como las dispersas.

Fig. 4.6: Ejemplo de transmisión de información de pilotos

En general, un canal con desvanecimiento puede ser visto como una señal de dos dimensiones (tiempo y frecuencia) en la que se muestrea en las posiciones de las portadoras pilotos y en el que las atenuaciones entre pilotos son estimadas mediante interpolación.

4.2.5.2.- Diseño del estimador

Asumiendo que se ha elegido el patrón de las portadoras pilotos, el estimador de canal óptimo lineal, en términos de error cuadrático medio (MSE, mean-squared error), se comporta como un filtro Wiener de dos dimensiones. Conociendo las propiedades estadísticas del canal, los estimadores pueden diseñarse empleando técnicas estándares. La combinación de una alta velocidad de datos y una BER (Bit Error Rate) necesitan estimadores con poca complejidad y una alta precisión. No obstante, ambas características son incompatibles. Muchos estimadores con una gran precisión, como los

Page 75: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 75

filtros Wiener de dos dimensiones, tienen una gran carga computacional; mientras que los estimadores con baja complejidad, por lo general, tiene una estimación menos exacta. Por tanto, el objetivo es encontrar un equilibrio entre complejidad y precisión.

Page 76: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 76

5.- MATLAB Y SIMULINK

5.1.- Matlab

5.1.1.- Introducción

Matlab es un programa de gran aceptación en la Ingeniería destinado a realizar cálculos técnico-científicos y de propósito general. En él se integran operaciones de cálculo, visualización y programación, donde la interacción con el usuario emplea una notación matemática clásica.

Los usos y aplicaciones típicas de Matlab son las siguientes:

Matemáticas y cálculo.

Desarrollo de algoritmos.

Adquisición de datos.

Modelación, simulación y prototipado.

Análisis y procesado de datos.

Gráficos científicos y de ingeniería.

Desarrollo de aplicaciones.

El tipo de variable con el que trabaja Matlab es una matriz que no requiere ser dimensionada previamente en la declaración. Una de las características más interesantes consiste en que el álgebra lineal y matricial se expresa con la misma sintaxis que las operaciones aritméticas escalares. Por ejemplo, en lenguaje C, para realizar la suma de dos variables enteras o reales b y c, escribiremos:

a = b + c;

mientras que en Matlab emplearemos la misma sentencia tanto si b y c son enteros, reales, vectores o matrices.

Page 77: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 77

5.1.2.- Componentes de Matlab

Matlab consta de cuatro partes fundamentales:

• Entorno de desarrollo. Se trata de un conjunto de utilidades que permiten el uso de funciones de Matlab y ficheros en general. Muchas de estas utilidades son interfaces gráficas de usuario. Incluye el espacio de trabajo Matlab y la ventana de comandos.

• La librería de funciones matemáticas Matlab. Se trata de un amplio conjunto de algoritmos, comprendiendo las funciones más elementales, como la suma, senos y cosenos o la aritmética compleja, hasta funciones más sofisticadas como la inversión de matrices, el cálculo de autovalores y transformadas rápidas de Fourier.

• Gráficos. Matlab dispone de un conjunto de utilidades destinadas a visualizar vectores y gráficas en forma de gráficos. Existe una gran cantidad de posibilidades para ajustar el aspecto de los gráficos, destacando la visualización tridimensional con opciones de iluminación y sombreado, y la posibilidad de crear animaciones.

• El interfaz de aplicación de Matlab (API). Consiste en una librería que permite escribir programas ejecutables independientes en C y otros lenguajes, accediendo, mediante DLLs, a las utilidades de cálculo matricial en Matlab.

La gestión de complementos en Matlab se realiza mediante lo que se denomina toolboxes, (paquetes de herramientas). Un toolbox de Matlab es un conjunto de funciones y algoritmos de cálculo especializados en un área de conocimiento: finanzas, tratamiento de señales, teoría de sistemas, etc.

5.1.3.- El entorno de trabajo de Matlab

5.1.3.1.- Ayuda en línea

Si se ha instalado la opción correspondiente durante la instalación de Matlab, podemos acceder a la ayuda en línea en todo momento pulsando la tecla F1. Dicha

Page 78: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 78

documentación está organizada con un índice en forma de árbol y mediante herramientas de navegación como hipervínculos. Es sumamente recomendable su uso, tanto a modo de introducción como de referencia para temas específicos. Si se desea conocer documentación específica asociada a un comando de Matlab, entonces se tecleará:

>> doc nombre_del_comando

en la línea de comandos de Matlab.

5.1.3.2.- Organización de ventanas

La Figura 5.1 muestra la organización por defecto de ventanas que nos encontramos cuando arrancamos Matlab por primera vez. Las ventanas que en ella aparecen son, de arriba hacia abajo: en la parte izquierda, la estructura del directorio donde nos encontramos, y debajo de ella la historia de comandos que se han tecleado en el pasado; en la mitad derecha nos encontramos, arriba, la ventana de edición de programas Matlab (que se escriben en un lenguaje propio de Matlab y que se almacenan en ficheros .m), y debajo la línea de comandos, donde se sitúa el cursor pata teclear comandos de Matlab.

Fig. 5.1: Entorno de trabajo Matlab

Page 79: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 79

5.1.3.3.- Operaciones básicas en la línea de comandos

Como se ha dicho previamente, en Matlab todos los objetos son matrices. Un escalar no es más que una matriz 1x1. En la línea de comandos podemos asignar un nombre simbólico para identificar una matriz:

>> a = [15; 36; -12]; %Asignación

Esto es una asignación de un vector columna que llevará el nombre a. A su derecha aparece un comentario, que tiene su utilidad cuando redactemos programas en Matlab.

Los objetos pueden crearse en cualquier momento. Para ello, basta con asignarles un valor mediante una asignación, como en el ejemplo previo. Los identificadores asignados para designar matrices son de libre elección, con la salvedad de que no pueden empezar por un número ni contener espacios en blanco.

Una vez creado un objeto de Matlab, este pasa a formar parte del espacio de trabajo ocupando una porción de memoria. Por tanto, a veces, tras horas de trabajo con Matlab, necesitamos eliminar los objetos que ya no se utilicen. Para ello se emplea el comando clear.

>> clear a; % Borra a de la memoria

>> clear; % Borra todos los objetos del espacio de trabajo

En las sentencias previas, aparece el signo “;” al final de cada comando. Este comando sirve para separar unos comandos de otros. Por ejemplo, cuando escribimos varios comandos en una misma línea, estos deben estar separados por punto y coma. Además, si escribimos un comando aislado (sin “;”) y pulsamos ENTER, Matlab proporcionará siempre una salida en respuesta del comando.

Sin embargo, si escribimos el comando seguido de “;”, no se mostrará en pantalla la respuesta. Cuando los comandos forman parte de un programa, es conveniente emplearlo para evitar así desbordar la pantalla con información innecesaria.

Page 80: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 80

5.1.3.4.- Operaciones básicas con Matlab

La siguiente tabla muestra las operaciones básicas aritméticas y lógicas que podemos realizar con Matlab

Expresión en Matlab Operación + Suma aritmética - Resta aritmética o cambio de signo * Multiplicación aritmética / División ^ Elevar un número a una potencia < Relación “menor que” > Relación “mayor que”

<= Relación “menor o igual que” >= Relación “mayor o igual que” == Relación “igual que” ~= Relación “distinto que” & Producto lógico | Suma lógica ~ Negación

Tabla 5.1: Operaciones aritméticas y lógicas en Matlab

Todas estas operaciones se aplican indistintamente a escalares, vectores y matrices.

5.1.3.5.- Funciones en Matlab

Buena parte de las operaciones que se realizan con Matlab son llamadas a funciones. Las funciones procesan información, por lo que poseen datos de entrada y de salida, que pueden ser matriciales. Los datos de entrada se especifican entre paréntesis; si son varios, éstos van separados por comas.

Las funciones son programas escritos por el usuario o incorporados en el paquete básico de Matlab. Entre estas últimas destacan las siguientes:

;ombre Función

sin Seno sinh Seno hiperbólico cos Coseno

Page 81: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 81

cosh Coseno hiperbólico tan Tangente

tanh Tangente hiperbólica cot Cotangente

coth Cotangente hiperbólica sec Secante

sech Secante hiperbólica csc Cosecante

csch Cosecante hiperbólica asin Arcoseno (inversa del seno)

asinh Arcoseno hiperbólico (inversa del seno hiperbólico) acos Arcocoseno (inversa del coseno)

acosh Arcocoseno hiperbólico (inversa del coseno hiperbólico) atan Arcotangente (inversa de la tangente)

atan2 Arcotengente de cuatro cuadrantes

Tabla 5.2: Funciones Elementales de Matlab: Trigonometría

;ombre Función

exp Exponencial log Logaritmo natural (base e)

log2 Logaritmo base 2 log10 Logaritmo base 10 sqrt Raíz cuadrada

Tabla 5.3: Funciones Elementales de Matlab: Exponenciales

;ombre Función

fix Redondear hacia cero floor Redondear hacia menos infinito ceil Redondear hacia más infinito

round Redondear hacia el entero más próximo mod Módulo de la división entera rem Resto de la división entera

Tabla 5.4: Funciones Elementales de Matlab: Ajuste y redondeo

;ombre Función

inv Matriz inversa det Determinante eig Autovalores ‘ Matriz traspuesta

eye Crear una matriz identidad dado por el número de filas/columnas

Page 82: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 82

zeros Crear una matriz de ceros dado por el número de filas/columnas ones Crear una matriz de unos dado por el número de filas/columnas

length Longitud de un vector size Dimensiones de una matriz

Tabla 5.5: Funciones Elementales de Matlab: Operaciones matriciales

5.1.3.6.- Almacenamiento en Archivo

Matlab permite almacenar en el disco las variables del espacio de trabajo. De este modo es posible parar una sesión de trabajo y continuar en otro momento sin tener que repetir los cálculos. La orden más común para salvar los datos es save, que puede usarse de varias maneras. En la siguiente tabla mostramos un resumen:

Orden Operación realizada

save Crea el archivo de nombre matlam.mat en la carpeta actual. Dicho archivo contiene todas las variables que existen en ese momento en el entorno de Matlab.

save nombre_archivo Crea el archivo de nombre nombre_archivo.mat en la carpeta actual. Dicho archivo contiene todas las variables que existen en ese momento en el entorno de Matlab.

save nombre_archivo x, y, z Crea el archivo de nombre nombre_archivo.mat en la carpeta actual. Dicho archivo contiene solamente las variables x, y y z.

Tabla 5.6: Tabla resumen del comando save

Para recuperar las variables almacenadas en un fichero previamente creado, emplearemos principalmente la orden load. La siguiente tabla ilustra tres operaciones típicas de recuperación de datos

Orden Operación realizada

load Lee todas las variables del archivo Matlab.mat de la carpeta actual. Si alguna de las variables del disco tiene nombre coincidente con otra que previamente existe en Matlab se producirá la destrucción de la variable existente para dejar su sitio a la variable del disco

Page 83: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 83

load nombre_archivo Igual que en el caso anterior pero leyendo del archivo nombre_archivo.mat de la carpeta actual

load nombre_archivo x, y ,z Igual que en el caso anterior pero leyendo únicamente las variables x, y, z

Tabla 5.7: Tabla resumen del comando load

5.2.- Simulink

5.2.1.- Introducción

Simulink es una aplicación que permite construir y simular modelos de sistemas físicos y sistemas de control mediante diagramas de bloque. El comportamiento de dichos sistemas se define mediante funciones de transferencia, operaciones matemáticas, elementos de Matlab y señales predefinidas de todo tipo.

Simulink dispone de una serie de utilidades que facilitan la visualización, análisis y guardado de los resultados de simulación. Simulink se emplea profusamente en ingeniería de control.

Principalmente se trata de un entorno de trabajo gráfico con el que se especifican las partes de un sistema y su interconexión en forma de diagrama de bloques.

5.2.2.- Uso de Simulink

En primer lugar, lanzaremos la aplicación escribiendo Simulink en la línea de comandos de Matlab, a bien abriendo desde el explorador de Windows cualquier fichero con extensión .mdl. En el primer de los casos se abrirá la ventana de la Figura 5.2

Page 84: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 84

Fig. 5.2: Ventana navegación de bloques Simulink

Esta ventana inicial no está destinada a crear modelos de simulación; su función principal consiste en navegar por la enorme librería de bloques disponibles para el modelado.

En ella distinguiremos dos partes: la izquierda contiene una visión en forma de árbol de todos los Toolboxes instalados que contienen bloques Simulink. La amplitud de este árbol dependerá de las opciones que hayamos activado al seleccionar Matlab.

La parte de la derecha de la ventana de Fig. 5.2 muestra los bloques Simulink contenidos en el Toolbox o nodo de la parte izquierda de la ventana. Estos bloques se deben arrastrar sobre el espacio de trabajo Simulink para la creación del modelo que queremos simular.

Por último, cabe indicar que en la parte superior de la ventana de inicio de Simulink hay varias herramientas como la búsqueda de un bloque determinado a partir de su nombre, que nos pueden resultar bastante útiles.

Page 85: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 85

5.2.3.- El espacio de trabajo Simulink

Si pulsamos en el icono superior izquierdo de la ventana de Fig. 5.2 (página en blanco), se abre una ventana blanca sobre la que iniciaremos la creación de un modelo de simulación. Dicha ventana se puede ver en la Figura 5.3

Fig. 5.3: Espacio de trabajo de Simulink

En el espacio de trabajo de Simulink crearemos un modelo insertando los bloques correspondientes. Una vez localizado el bloque que nos interesa, arrastraremos dicho bloque hacia el espacio de trabajo de Simulink. El arrastre de bloques se realiza seleccionando el icono del bloque con el botón izquierdo del ratón, y manteniendo éste pulsado se desplazará el cursor hasta la ventana del modelo.

Una vez configurados los distintos bloques con los parámetros que necesitemos, tendremos que conectarlos entre ellos. Para ello emplearemos las siguientes operaciones:

Operación Procedimiento

Conectar Bloques (I) Para conectar las salidas de un bloque a la entrada de otro, hacer click con el botón izquierdo del ratón en el bloque origen. Pulsar y mantener la tecla CTRL y hacer de nuevo click sobre el botón destino

Conectar Bloques (II) También se puede extraer un cable de señal haciendo click en el saliente derecho del bloque origen y prolongar la señal (pulsando y manteniendo el botón izquierdo del ratón) hasta llegar a la parte izquierda del bloque destino.

Bifurcar cables Un cable de señal (que lleva la salida de un bloque hacia otro bloque), puede bifurcarse para distribuir la señal a varios bloques pulsando con el botón derecho en cualquier punto del cable

Tabla 5.8: Formas de conectar los bloques

Page 86: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 86

5.2.4.- Fuentes y Sumideros de señal

En las simulaciones han de existir fuentes de señales externas ya que lo que pretendemos, en general, es ver cómo responden determinados sistemas a estímulos exteriores.

A modo de referencia, la tabla 5.9 muestra algunas fuentes de señal de uso común (nodo Simulink/Source), mientas que la tabla 5.10 muestra algunos de los bloques sumidero (Simulink/Sinks) más comunes

Elemento Función

Clock Marcas de tiempo de la simulación. Útil para trazar gráficas con los resultados

Sin Señal senoidal parametrizable Step Señal en escalón Constant Señal de valor constante Signal generator Permite elegir entre un conjunto de señales predefinidas Random Number Generación de ruido blanco configurable From Workspace Señal generada a partir de una variable del espacio de trabajo

de Matlab

Tabla 5.9: Fuentes de señal en Simulink

Elemento Función

Scope Gráfica 2D para visualizar las señales frente al tiempo durante la simulación

XY Graph Gráficas 2D para visualizar un gráfico X-Y creado a partir de dos señales de entrada

To Workspace Almacena las muestras de la señal de entrada en una variable (vector) del espacio de trabajo de Matlab

Tabla 5.10: Sumideros de señal en Simulink

Page 87: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 87

6.- SIMULACIÓN

6.1.- Introducción

Como ya comentamos en la Introducción inicial y hemos venido repitiendo en Capítulos anteriores, el objetivo de este Proyecto Fin de Carrera es la Simulación de un sistema de comunicaciones basado en el nuevo estándar para la televisión digital, DVB-T2. Hasta ahora, en los Capítulos 2, 3, 4 y 5 nos hemos limitado a exponer una serie de conceptos necesarios para asimilar de una manera correcta el funcionamiento de un sistema de comunicaciones, con conceptos tan importantes como la de modulación ortogonal o la introducción a las distintas técnicas de transmisión digital promovidas por el organismo DVB.

La finalidad de este Capítulo será la de guiar al lector a través de la simulación que se ha llevado a cabo, utilizando la aplicación Simulink de Matlab.

En primer lugar, queremos ofrecer una visión general de nuestro esquema de simulación. Ya en una segunda etapa, realizaremos una distinción entre los bloques del transmisor y los del receptor, realizando en todo momento una comparación entre nuestro esquema y el propuesto en el estándar y explicando y detallando cada uno de los bloques que hemos empleado. Explicaremos, a su vez, todos y cada uno de los parámetros con los que hemos configurado los bloques.

Para finalizar el capítulo, mostraremos al lector los resultados que se han obtenido durante la simulación.

6.2.- Visión general

El esquema que hemos seguido a la hora de realizar la simulación se muestra en la Figura 6.1:

Page 88: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 88

Fig. 6.1: Esquema general de modulación

Page 89: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 89

Antes de empezar a comentar las principales características de los bloques que conforman el esquema seguido para la simulación del sistema de comunicaciones, queríamos dejar constancia del valor de los distintos parámetros que se han tenido en cuenta durante la elaboración de este proyecto:

• Período Elemental: T = 7/64 µs para sistemas de ancho de banda 8 MHz.

• Duración del Intervalo de Guarda: 256T.

• Tamaño de la FFT: 8k.

• Número de portadoras activas: 6817.

• Longitud de la trama T2: LF = 270 símbolos.

• Duración de la trama: TF = 250 ms.

• Modulación seguida: QPSK.

• Patrón de Pilotos: PP7.

• Duración de un símbolo: Ts = 924 µs.

Otra asunto a tener en cuenta, es que muchos de los bloques que hemos utilizado dependen de variables que hemos almacenado en un fichero (estos ficheros aparecerán posteriormente en un Anexo). Para que Simulink tenga en cuenta estos ficheros y cargue los mismos en Matlab, hemos proporcionado la ruta a Simulink para que al ejecutar el programa, realice la carga de estas variables automáticamente. Otra posible opción hubiera sido cargar nosotros mismos estos ficheros en Matlab mediante el comando conocido load.

A continuación, empezaremos a describir las principales características de los distintos bloques utilizados.

6.3.- Transmisor

Como todos sabemos, el transmisor de un sistema de comunicaciones es el conjunto de bloques encargados de generar las señales que van a propagarse a través del canal (en nuestro caso, hemos considerado un canal ideal durante el proceso de simulación) y que deben tener una serie de características en función del estándar de transmisión que estemos considerando.

Page 90: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 90

La Figura 3.2 nos muestra el esquema general del transmisor, tal y como hicimos anteriormente con el esquema general.

Fig. 6.2: Esquema general del transmisor

A continuación, pasaremos a describir cada uno de los bloques que componen esta primera etapa del sistema de comunicaciones. Una cosa que iremos haciendo será la de comparar el esquema propuesto por el organismo que elaboró el estándar y el esquema que hemos seguido nosotros para realizar el proceso de simulación. En principio, las diferencias serán muy pequeñas.

6.3.1.- Generador de datos

Como su nombre bien indica, este bloque será el encargado de ir generando la señal de datos para un sistema basado en DVB-T2. Para ello, primero generaremos una señal de datos con el bloque “Random Integer”, para posteriormente actuar sobre ella como se muestra en la siguiente Figura:

Page 91: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 91

Fig. 6.3: Esquema del Generador de datos

El esquema propuesto por el estándar es el siguiente:

Fig. 6.4: Esquema del Generador de datos propuesto por el estándar

Pasamos a estudiar cada uno de los bloques que conforman el Generador de datos.

6.3.1.1.- Generador de los datos

Este bloque, “Random Integer Generator”, será el encargado de generar la señal que posteriormente enviaremos por el canal de transmisión.

Los parámetros que hemos utilizado para este bloque son los siguientes:

• M-ary ;umber: indica el rango de valores del vector de salida. En nuestro caso, como vamos a implementar una señal QPSK, este valor será 4.

• Initial Seed: Las señales generadas por este bloque necesitan un valor con el que generar los datos. Realmente con este bloque obtenemos datos

Page 92: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 92

pseudo aleatorios. Por tanto para este campo no existe un valor predeterminado.

• Sample Time: Con este valor indicamos el período de muestreo de nuestra señal. El valor que nosotros hemos utilizado lo hemos obtenido de la siguiente manera. Nos dice el estándar que la duración de un símbolo de datos para una modulación OFDM de 8k para sistemas de ancho de banda de 8 MHz es de 896 µs. Esta operación sale de multiplicar el número de portadoras del símbolo OFDM, en nuestro caso, 8192 por el valor del período elemental, que como vimos anteriormente, en nuestro caso es de T = 7/64 µs (8192 * T = 896 µs). Por otra parte, hemos tomado el valor del intervalo de guarda como 1/32. De esta manera, la duración del símbolo total es de 896 µs + 1/32 veces esta duración, es decir, 924 µs. Para obtener el periodo de muestreo, tendremos que dividir el tiempo de duración total del símbolo por el número de datos que se vayan a enviar, en nuestro caso, como veremos posteriormente, es de 3948. Todo esto nos lleva a que nuestro periodo de muestro es de 924e-6/3948.

• Frame-based outputs: Para la generación de señales OFDM en Simulink necesitamos medirlas en tramas. Por ello, deberemos marcar esta opción.

• Samples per Time: Es el número de muestras que se transmiten en cada trama. El estándar nos dice que tenemos que utilizar tramas de 188 bytes. Nosotros generaremos, simultáneamente, 21 bloques de 188 bytes, es decir, nuestro valor para este campo será el de 21*188 = 3948. El motivo es el siguiente: necesitamos a la entrada del bloque del codificador BCH, que se verá más adelante, 32208 bits. Si pasásemos los 188 bytes a bits obtendríamos 1504 bits, lo cual es insuficiente. Tendríamos que añadir un buffer que almacenase los bits hasta llegar a ese valor, lo cual provocaría en el sistema retrasos innecesarios. Es por ello por lo que hemos optado por la primera solución.

• Output data type: Como para este primer bloque no nos hace falta precisión, hemos usado uint8.

Page 93: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 93

6.3.1.2.- Integer to Bit Converter

Como su nombre indica, este será el bloque encargado de pasar de bytes a bits. Sus parámetros son:

• ;umber of bits per Integer: Como ya hemos dicho, queremos pasar de bytes a bits, luego este valor tiene que ser 8.

• Output data type: Como posteriormente necesitamos trabajar a nivel de bits, su salida será de tipo boolean.

6.3.1.3.- CRC-N Generator

El estándar DVB-T2 especifica que debemos incluir en la generación de la señal un algoritmo que permita comprobar la fiabilidad y la no alternación de los datos. Aquí es donde entra nuestro “CRC-N Generator”. No obstante, no en todos los casos tiene que utilizarse este algoritmo.

Sabemos que existen en DVB-T2, hasta cuatro opciones para el formato de la señal de entrada. Son:

• Transporte en cadena (Transport Stream, TS), caracterizado por tamaño fijo de los paquetes de usuario, de 188 x 8 bits, donde el primer byte es un byte de sincronismo.

• Encapsulado Genérico de cadenas (Generic encapsulated Stream, GSE), caracterizado por una longitud variable de los paquetes de usuario.

• Cadenas continuas genéricas (Generic Continuous Stream, GCS), que al igual que en el caso anterior, también presenta una longitud variable de paquetes.

• Cadenas genéricas de longitud fija de paquetes (Generic Fixe-length Packetised Stream, GFPS). Se diferencia del primer caso en que los paquetes de usuario pueden tomar valores de hasta 64K.

Nosotros, para la simulación, nos hemos decantado por la primera de las opciones, es decir, por TS. Sólo para esta opción, se ha definido el uso del algoritmo CRC.

De acuerdo a lo establecido por el estándar, los campos de este bloque son los siguientes:

Page 94: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 94

• CRC method: Como hemos comentado, el estándar recoge que sea CRC-8. El polinomio generador utilizado, de acuerdo con el estándar es: G(x) = x8 + x7 + x6 + x4 + x2 + 1.

• Inital States: Se inicializan los registros internos con valor cero.

• Checksums per Frames: Es el número de comprobaciones que se realiza por trama. Nosotros le hemos dado a este campo el valor 1.

6.3.1.4.- Base Band (BB) Header Insertion

El estándar recoge que tiene que añadirse una cabecera en banda base para describir el formato de los datos que se transmiten. Esta cabecera tendrá una longitud fija de 10 bytes, o lo que es lo mismo, una longitud de 80 bits.

Los campos de esta cabecera son los siguientes:

• MATYPE (2 bytes): describe el formato de la cadena de entrada.

Primer byte

o Campo TS/GS (2 bits), define el formato de la cadena de entrada: GFPS(00), TS(11), GCS(01) o GSE(10)

o Campo SIS/MIS (1 bit), si se transmite una única portadora (1) o múltiples portadoras (0).

o Campo CCM/ACM (1 bit), si es codificación y modulación constante (1) o si es codificación y modulación variable (0).

o ISSYI (1 bit), es el indicador de sincronización de la cadena de entrada: 1 si está activo y 0 si no lo está.

o ;PD (1 bit), para indicar si está activo el borrado de paquetes vacíos: 1 si está activo, 0 si no lo está

o EXT (2 bits): para uso futuro. Se ponen a cero.

Segundo byte

Sólo se usa cuando el campo ISI/MIS = 0. En caso contrario, está reservado para un uso futuro.

Page 95: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 95

Así, el valor de campo MATYPE en nuestro caso será: 1111000000000000.

• UPL (2 bytes): Indica la longitud del paquete de usuario en bits. En nuestro caso es de 188 bytes, por tanto: 0000001011110000.

• DFL (2 bytes): Indica la longitud del campo de datos en bits. En nuestro caso son 3948 bytes: 1111011011000000.

• SY;C (1 byte): Copia del sincronismo de byte: 01000111 (47HEX).

• SY;CD (2 bytes): 0000000000000000. Indica que la trama está alineada con el comienzo de los datos.

• CRC-8 MODE (1 byte). CRC-8 detecta errores en los primeros 9 bytes de la cabecera. Toma el valor: 00000000.

La cabecera se le añade a la trama de datos a través del bloque de Simulink “Vector Concatenate”.

6.3.1.5.- Vector Concatenate

Como hemos comentado anteriormente, este bloque se usa para concatenar la cabecera en banda base con la trama de datos.

Los parámetros usados son:

• ;umber of inputs: Con este campo indicamos el número de vectores a concatenar. En nuestro caso, obviamente, son 2.

• Mode: Indicamos el tipo de concatenación que se llevará a cabo. Nosotros hemos tomado Mutidimensional Array

• Concatenate dimensión: Una vez se ha realizado la concatenación, queremos que nos quede un único vector. Por eso el valor dado a este campo es 1.

Page 96: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 96

6.3.1.6.- Zero Pad

Ya hemos comentado con anterioridad que a la entrada del codificador BCH necesitábamos 32208 bits. Una vez que hemos añadido la cabecera en banda base a la trama de datos, la señal que tenemos tiene una longitud de 31672 bits, algo lejos de los 32208 bits que hemos dicho que necesitamos. Por tanto, nos hace falta un bloque que nos aporte esta diferencia.

Esta es la función del “Zero Pad”. Añade una cantidad extra, bien de ceros o bien de unos, a la señal que tiene a la entrada.

Los parámetros utilizados son los siguientes:

• Pad over: Como trabajamos con vectores columnas, el valor de este campo no puede ser otro que Columns.

• Pad value source: Nos interesa indicarle dónde queremos que nos añada la información “extra”. Por ello seleccionamos la opción Especify via

dialog.

• Pad Value: Queremos que añada ceros.

• Output column mode: Con este parámetro le indicamos la cantidad de ceros que tiene que añadir. Hay dos opciones: o bien añade cero hasta la siguiente potencia de dos o bien le especificamos hasta qué valor tiene que añadir datos. Elegimos la segunda opción, luego marcamos User-

specified.

• Column size: Esta opción sólo aparece cuando en el campo anterior hemos marcado la segunda opción. Con este parámetro indicamos la longitud de la señal que queremos a la salida. Nosotros, como ya hemos comentado, ponemos 32208.

• Pad signal at: Indica el lugar dentro de la trama donde queremos añadir los ceros. Nos interesa tenerlos al final, por lo que hemos marcado la opción End.

• Action when truncation occurs: En este caso, como estamos seguros de que no se va a producir, marcamos ;one.

Page 97: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 97

6.3.1.7.- Scrambler

Se utiliza para aleatorizar la BBRAME. La secuencia de aleatorización estará sincronizada con la BBFRAME, comenzando por el bit más significativo y terminando después del bit Kbch.

El polinomio para pseudo aleatorizar la secuencia binaria viene dado por: G(x)=1 + x14 + x15. Por otra parte, precargamos los registros internos del bloque con la secuencia: 100101010000000.

Los parámetros utilizados son:

• Calculation base: será 2, ya que estamos trabajando en binario.

• Scramble polynomial: en este parámetro introducimos el polinomio en binario. Así tendremos: 1100000000000001.

• Initial states: es la condición inicial para los registros internos. Como ya hemos dicho, le damos el siguiente valor: 100101010000000.

Con este bloque, finaliza esta primera etapa del transmisor.

6.3.2.- Codificación y Modulación de datos

Durante esta segunda etapa del transmisor, la señal generada con anterioridad es sometida a distintos procesos de codificación con el objetivo de dotarla de una mayor robustez. Una vez la señal ha sido codificada, procederemos a su modulación (en nuestro caso, como ya indicamos anteriormente, se tratará de una modulación QPSK), para posteriormente aplicar sobre la misma distintos procesos de entrelazado. Así, si existe una ráfaga de datos erróneos, con los diferentes procesos de entrelazado que se aplican sobre la señal, podremos dispersar estos datos con el objetivo de que no afecten únicamente a un símbolo.

El esquema que hemos seguido en esta segunda etapa es el siguiente:

Page 98: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 98

Fig. 6.5: Esquema de la etapa Codificación y Modulación de datos

Comparándolo con el esquema propuesto en el estándar, vemos que ambos son muy parecidos.

Fig. 6.6: Esquema de Codificación y Modulación de datos propuesto por el estándar

6.3.2.1.- Codificación FEC

Cada BBFRAME transmitida (Kbch bits) será procesada por un subsistema de codificación FEC (BCH/LDPC) para generar una FECFRAME (Nldpc bits). Los bits de comprobación de paridad (BCHFEC), introducidos por el codificador BCH se añadirán después de la BBFRAME, mientras que los bits de comprobación de paridad (LDPCFEC) generados por el codificador LDPC se añaden detrás del campo BCHFEC. La Fig.6.7 muestra el formato de la trama una vez llevada a cabo la codificación.

Fig. 6.7: Formato de los datos antes de la etapa de modulación

Page 99: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 99

6.3.2.1.1.- Codificación BCH

Como acabamos de comentar, todas las tramas BBFRAME deben pasar por el codificador BCH, generándose una serie de bits de comprobación de paridad que permitirán al sistema comprobar si han existido errores durante la transmisión. En nuestro caso, el estándar define que para una tasa de código LDPC igual a 1/2, que es el que nosotros hemos utilizado, el codificador BCH genera 192 bits de comprobación de paridad, que se añadirán al final de la trama de datos. Así a la salida de este bloque tendremos una señal de 32400 bits.

Los parámetros que hemos utilizado han sido:

• Generator Polynomial Vector: Como su nombre indica, debemos indicar en este campo cuál es el polinomio generador. Este polinomio viene definido en el estándar.

6.3.2.1.2.- Codificación LDPC

Este bloque es muy similar al visto anteriormente. Su función es la de generar bits de comprobación de paridad, que se añadirán al final de la trama, que permiten conocer al sistema si se han producido errores durante la transmisión.

Para este bloque, nos hemos apoyado en una serie de funciones que ya venían implementadas en Matlab (versión R2007b). De esta forma, sólo hemos tenido que llamar a la función, pasándole la tasa de codificación LDPC que hemos empleado durante la simulación (en nuestro caso 1/2).

Parámetros utilizados:

• Parity-check Matrix: Como acabamos de comentar, llamamos en este campo a la función ya recogida en Matlab, pasándole el valor adecuado de la tasa de codificación LDPC: dvbt2ldpc (1/2).

Page 100: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 100

6.3.2.2.- Bit to Integer Converter

A partir de este bloque queremos trabajar a nivel de símbolos transmitidos y no de bits como lo veníamos haciendo con anterioridad. Por tanto, la finalidad que presenta este bloque es, sencillamente, la de pasar de bits a símbolos. Para ello, sólo será necesario tener en cuenta la modulación que va a seguirse durante la simulación.

Los parámetros que deberán tenerse en cuenta son los siguientes:

• ;umber of bits per Integer: Como ya hemos dicho, queremos pasar de bits a símbolos, luego en nuestro caso este valor tiene que ser 2.

• Output data type: En cuanto al tipo de salida de este bloque, dado que estamos seguros que todos van a ser enteros positivos, ponemos uint8.

6.3.2.3.- Modulación

Este bloque “General QAM Modulator” será el encargado de llevar a cabo la modulación de nuestra señal para convertirla en una señal QPSK. Los parámetros utilizados han sido:

• Signal Constellation: Le damos a este campo las posiciones para una constelación QPSK, ya normalizada, de acuerdo al mapeado indicado en el estándar.

• Output data type: Como los datos pueden ser flotantes y de gran longitud, elegimos la opción double.

La constelación que se recibirá tendrá que ser:

Fig. 6.8: Esquema de la constelación transmitida

Page 101: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 101

6.3.2.4.- Entrelazado de célula

El pseudo aleatorio entrelazado de células, ilustrado en la Fig. 3.13, dispersa uniformemente las células de la FEC para asegurar en el receptor una distribución no correlada de posibles distorsiones de canal y de interferencias que hayan incidido sobre la FEC.

Para llevar a cabo este proceso, utilizaremos un bloque general de entrelazado, “General Block Interleaver”, al que le pasamos la variable en la que hemos almacenado el vector de entrelazado utilizado y que hemos desarrollado de acuerdo al algoritmo que aparece recogido en el estándar y que incluiremos más adelante en el Anexo. Este bloque lo que hace es reordenar el vector de la entrada de acuerdo al parámetro que se le pasa.

6.3.2.5.- Entrelazado en Tiempo

Su función es muy similar a la del Entrelazado de células, ya que el objetivo de este bloque es impedir que un símbolo de la trama se vea completamente afectado por un error.

El bloque tiene que actuar de la siguiente forma:

Fig. 6.9: Entrelazado en Tiempo

Page 102: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 102

Para conseguir que nuestro bloque de Simulink realice la misma función, nos hemos apoyado en el bloque “Matriz Deinterleaver”. Este bloque almacena el vector de entrada en una matriz por columnas y saca el vector de salida fila a fila.

Los parámetros que tenemos que utilizar para este bloque también son facilitados por el estándar DVB-T2. Así para un número de células de 32400 por bloque LDPC, necesitaremos un número de filas, Nr, igual a 6480.

Los parámetros del bloque son los siguientes:

• ;umber of Rows: que como hemos dicho viene dado por el estándar, siendo en nuestro caso 6480.

• ;umber of Columns: este dato es fácilmente calculable con los datos que ya sabemos. Si el número de células a meter en la matriz es de 32400 y tenemos 6480 filas, el número de columnas vendrá dado por 32400/6480 = 5.

Con este bloque ya tenemos finalizado la etapa de Codificación y Modulación de datos. Ya a partir de este momento, tenemos nuestra señal generada en la primera etapa perfectamente codificada, modulada y entrelazada, de forma que evitamos que los errores se propaguen por un solo símbolo.

6.3.3.- Adición de Portadoras Pilotos

Ya hemos hablado con anterioridad de las portadoras pilotos. Como sabemos, las portadoras pilotos son portadoras dentro del símbolo OFDM moduladas con información de referencia cuyos valores son conocidos por el receptor.

La finalidad de estas portadoras es la de ser usadas para sincronización de trama, sincronización en frecuencia, sincronización en tiempo, estimación del canal y/o para la identificación del modo de transmisión.

En este punto veremos cómo se generan estas portadoras y cómo se añaden al resto de datos del símbolo.

El esquema que seguiremos durante todo este aparatado es el siguiente:

Page 103: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 103

Fig. 6.10: Esquema de Adición de pilotos

Como hemos venido haciendo hasta ahora, comparamos con el esquema propuesto por el estándar:

Fig. 6.11: Esquema del Generador de tramas propuesto por el estándar

El esquema propuesto por el estándar se correspondería con los dos primeros sub-bloques del nuestro, de ahí la diferencia existente, ya que nosotros incluimos en el esquema de Adición de Pilotos, parte de los sub-bloques que aparecerán en el esquema siguiente del estándar.

Page 104: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 104

6.3.3.1.- Buffer

El objetivo de este Buffer es el de almacenar la información que le llega en forma de FEC, recordemos que eran 32400 símbolos, e ir sacando la información en tramas de 6698 símbolos. Esta cantidad (6698) es el número de portadoras activas en un símbolo OFDM. Por tanto, a partir de este sub-bloque, empezaremos a trabajar a nivel de símbolo OFDM.

Los parámetros utilizados son:

• Output Buffer size: Ya hemos dicho que este valor será 6698.

• Buffer Overlap: Queremos que la información salga por vectores pero que ésta no se repita. Por tanto, el valor de este campo será cero.

• Initial Conditions: se pondrá a cero, ya que no queremos que se transmita nada mientras el Buffer se llena.

6.3.3.2.- Entrelazado en Frecuencia

El objetivo del entrelazado en frecuencia, operando en las células de datos dentro de un símbolo OFDM, es mapear las células de datos procedentes del Buffer en las portadoras activas en cada símbolo. El procedimiento de este entrelazador ya fue explicado en el punto 3.8.1.

Para llevar a cabo esta función de manera adecuada, haremos uso del “General Block Interleaver”, cuyo funcionamiento ya se explicó en el punto 6.3.2.4.

Al igual que en el caso anterior, le pasamos una variable en la que hemos almacenado el vector de entrelazado. Dicho vector viene de la implementación del algoritmo fijado en el estándar y que se adjuntará posteriormente en el Anexo.

Page 105: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 105

6.3.3.3.- Pilotos

Este sub-bloque será el encargado de generar las portadoras pilotos que posteriormente se añadirán a los símbolos de datos.

El esquema que hemos seguido para la generación de estas portadoras es el siguiente:

Fig. 6.12: Esquema de la Generación de Pilotos

Pasamos a explicar cada uno de los sub-bloques que componen el esquema de Generación de Pilotos.

6.3.3.3.1.- PRBS Sequence

Para generar esta secuencia, utilizamos el bloque de Simulink “PN Sequence Generator” con los siguientes parámetros:

• Generator Polynominal: En este campo tenemos que incluir el vector generador. Dicho vector, indicado en el estándar, es: [11 2 0].

• Initial States: Con este campo inicializamos los registros internos del bloque. Este campo, según el estándar, vale: [1 1 1 1 1 1 1 1 1 1 1].

• Output mask source: En este campo tenemos que indicar si queremos que el bloque genere la señal (Dialog Parameter) o bien modulará una señal entrante (Input Port). En nuestro caso, queremos que nos genere la señal, por lo que marcamos la primera opción.

Page 106: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 106

• Output mask Vector: Indica el retraso originado por el bloque. Por tanto, nos interesará que este campo valga 0.

• Sample Time: Es el tiempo de muestreo. Lo ponemos a -1, ya que no nos interesa.

• Frame-based outputs: Ya hemos dicho que nos interesa que la señal de salida esté basada en trama, luego tenemos que tener marcado esta opción.

• Samples per Frame: Es el número de muestras por trama. Viene dado por la suma de todas las portadoras pilotos. Así, el valor de este campo es de 119.

• Output data Type: Especificamos el tipo de datos que va a tener el vector que se genere. Se escogerá el tipo boolean.

6.3.3.3.2.- PN-Sequence

Para generar la secuencia que nos interesa para este bloque (mirar el punto 3.8.2.1.2), utilizamos el bloque “Constant”. Los parámetros que hemos utilizado son los siguientes:

• Constant Value: En este campo incluimos la parte de la secuencia general que nos interesa en binario. En este caso cogemos los primeros 119 bits.

• Sampling Mode: Al igual que nos ocurriese en el caso anterior, nos interesa que a la salida haya tramas, en vez de muestras sueltas. Por este motivo marcamos Frame based.

• Frame Period: Igualmente marcamos esta opción con -1.

Page 107: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 107

6.3.3.3.3.- Selector

Con este bloque pretendemos realizar una reordenación del vector que tiene a la entrada. El motivo viene dado por la secuencia de referencia rl,k, como vemos en el punto 3.8.2.1. Así, según vemos, la secuencia PRBS antes de realizar la operación Xor, está desplazada en secuencia un valor de Kext. El valor de Kext para una modulación 8k es de 48.

Los parámetros utilizados son:

• Index Option: Con él seleccionamos la forma en el que le decimos al bloque como queremos realizar la selección. Nosotros hemos elegido la opción Index vector.

• Index: Ponemos en este campo el orden en el que queremos que este bloque nos saque el vector de salida. Así, para el caso de las scattered pilots pondremos [1:72]; para las pilotos continuas, [73:117]; mientras que las pilotos de fin de símbolo, pondremos [118:119].

• Input port size: Le indicamos el tamaño del vector de entrada. Así, pondremos en este campo el valor 119, que como vimos es el tamaño de la secuencia PRBS.

6.3.3.3.4.- Logical Operator

Este bloque se va a encargar de realizar la operación entre la secuencia PRBS y la secuencia PN. De acuerdo, con el estándar, esta operación será una Xor. Los parámetros con los que vamos a configurar este bloque son:

• Operator: En nuestro caso, seleccionamos Xor, que es la operación que nos interesa.

• ;umber of input ports: Queremos multiplicar las secuencias PRBS y PN, por lo que este campo valdrá 2.

• Icon shape: Marcamos distinctive, para que nos muestre el bloque con el símbolo de la operación de la Xor.

• Sample Time: Ponemos -1, ya que este parámetro no es interesante.

Page 108: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 108

6.3.3.3.5.- Selectors

El bloque Selector vimos anteriormente que lo usábamos para llevar a cabo la reordenación del vector que tenía a su entrada. Otra aplicación de este bloque, que es la que nos interesa en esta ocasión, es la de seleccionar un conjunto de muestras dentro de un rango mayor.

El objetivo de esta acción es la de seleccionar, dentro del conjunto de la secuencia para las portadoras pilotos, aquellas muestras que vamos a usar para generar las portadoras pilotos continuas, las que vamos a utilizar para generar las portadoras pilotos dispersas y las que van a corresponder a las portadoras de los extremos.

Los parámetros que hemos empleado son:

• Index option: Al igual que antes, marcamos la opción Index Vector.

• Input port size: Define el tamaño del vector de entrada

• Index: Hemos dejado este parámetro para el final ya que es el único diferente en los tres bloques que tenemos. Como ya hemos comentado, con este campo vamos a seleccionar el subconjunto de muestras que nos interesan. Este dato es proporcionado por el estándar. Así, este nos dice que:

El número de portadoras pilotos en los extremos será 2.

El número de portadoras continuas para una FFT de 8k es 44.

Y el número de portadoras dispersas (scattered) viene dada por la siguiente expresión:

kmod(Dx·Dy) = Dx mod(l·Dy), para portadora normal

(k-kext)mod(Dx·Dy) = Dx mod(l·Dy), para portadora extendida

donde “l” es el símbolo OFDM, k є [kmin, kmax], y Dx y Dy valen para el patrón de pilotos PP7 (que recordamos que es el que estamos usando) 24 y 4, respectivamente. Ello nos lleva a 72 portadoras.

Así, el dato que tendremos que poner en cada uno de los bloques será, precisamente, el número de portadoras de cada tipo.

Page 109: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 109

6.3.3.3.6.- Ganancia

El objetivo de este bloque es el de dar cierta ganancia a cada una de las subportadoras pilotos, datos todos ellos facilitados por el estándar. Haciendo un resumen, el estándar nos dice que la ganancia para cada tipo de portadoras pilotos es la siguiente:

Tipo de Portadora Piloto Ganancia

Portadoras Pilotos Continuas 7/3 Portadoras Pilotos Dispersas 8/3

Portadoras Pilotos en los Extremos /5

Será estos valores de ganancia los que tendremos que incluir en el parámetro “Gain” de este bloque. El resto de parámetros los dejamos tal cual.

6.3.3.4.- Matrix Concatenate

La función de este bloque es la misma que la que se explicó en el punto 6.3.1.5 en el bloque Vector Concatenate, es decir, su función es la de concatenar distintas tramas que tiene a la entrada. El orden es el siguiente: numerando las entradas de forma decreciente, primero extrae la entrada que se encuentra en la primera posición, luego la de la posición 2 y así sucesivamente.

Los parámetros son los mismos que los utilizados en el caso anterior. La única diferencia es que en el campo “;umber of Inputs” tendremos que poner el número de entradas en el bloque, esto es, 4.

6.3.3.5.- Seleccionador de Índices

En este apartado vamos a generar un subsistema que escoja, en cada intervalo de tiempo de símbolo (en nuestro caso 924 µs), un vector con las posiciones que deberán ocupar, tanto las portadoras pilotos como los datos transmitidos, en cada trama generada. Para realizar dicha función, nos ayudaremos de los siguientes bloques:

Page 110: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 110

Fig. 6.13: Esquema del Seleccionador de Índices

Pasamos a describir las principales propiedades de estos bloques:

6.3.3.5.1.- Vector para ordenar los símbolos

Cada uno de estos cuatro bloques “Constant” va a indicar la posición tanto de las portadoras de datos como de las portadoras pilotos dentro de la trama. Los parámetros utilizados son:

• Constant Value: En este campo indicamos la posición tanto de las portadoras como de los datos. En nuestro caso, hemos indicado el nombre de las variables donde hemos almacenado estas posiciones. Se adjuntará posteriormente en el Anexo el valor de cada una de estas variables.

Los demás parámetros no son importantes.

Page 111: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 111

6.3.3.5.2.- Multiport Switch

Este bloque será el encargado de seleccionar en cada intervalo de tiempo de símbolo una de las secuencias transmitidas por los bloques “Constant”. El “Multiport Switch” necesita para su funcionamiento una señal de control que le diga cuándo y cómo debe cambiar la entrada. Esta señal debe ser generada desde el exterior, como veremos en el siguiente punto.

En cuanto a los parámetros utilizados destacamos:

• ;umber of inputs: En este campo indicamos el número de señales a la entrada de este bloque. En nuestro caso será de 4.

• Used zero-based indexing: Con este campo indicamos si permitimos o no el instante cero dentro de la señal de control habilitando esta opción. Nosotros la hemos marcado.

• Sample Time: Por defecto, la dejamos a -1.

6.3.3.5.3.- Señal de Control

Con este bloque generamos una señal periódica e indicamos al bloque “Multiport Switch” cuando debe conmutar a una entrada. Lo que realmente estamos haciendo con esta función es generar los distintos tipos de símbolos OFDM que hay en una misma trama T2.

El bloque se ha configurado de la siguiente manera:

• Vector of outputs value: En este campo vamos a generar la señal que queremos que se repita en el tiempo. Queremos empezar transmitiendo el símbolo 1, luego nuestra señal será: [0 1 2 3], es decir, le estamos indicando que cada Sample Time, saque primero la secuencia que haya en el primer puerto, en segundo lugar la que haya en el segundo puerto y así sucesivamente.

• Sample Time: En este campo irá el tiempo en el que permanecerá constante la señal. Nos interesa que la entrada se mantenga constante cada 924 µs, es decir, cada Ts.

Page 112: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 112

Llegados a este punto tenemos la señal perfectamente “ordenada”, es decir, los datos y la información piloto en sus respectivas portadoras, y lo único que falta para poder transmitir la señal es proceder a su modulación. Este apartado lo vemos a continuación.

6.3.3.6.- Variable Selector

Con este bloque queremos seleccionar y reordenar las filas de la señal de entrada de acuerdo a lo especificado por el puerto ldx, que en nuestro caso le estamos pasando las posiciones de los datos y de las portadoras pilotos para los distintos símbolos OFDM.

Los parámetros que hemos utilizado son los siguientes:

• ;umber of input signal: tenemos un vector a la entrada de este bloque, luego ponemos 1.

• Select: Tenemos un vector columna, luego nos interesa reordenar las filas. Seleccionamos Rows.

• Select mode: determina si el bloque usa los mismos índices para todas las entradas o si emplea diferentes índices, en función de la entrada. Hemos seleccionado la opción Variable.

• Index mode: Indicamos si queremos que la primera muestra se contabilice como índice 0 o índice 1. Marcamos la opción One-based.

6.3.4.- Modulación de la Señal

En este apartado vamos a ver la modulación de una señal T2. Hasta ahora, tenemos una señal con 6817 portadoras (6698 portadoras de datos, 2 portadoras pilotos de fin de símbolo, 44 portadoras pilotos continuas y 72 portadoras dispersas). Para realizar la modulación, los símbolos deben tener 8192 portadoras.

El esquema que hemos seguido para esta última parte del transmisor, es el siguiente:

Page 113: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 113

Fig. 6.14: Modulación de la señal

Comparándolo con el esquema propuesto por el estándar:

Fig. 6.15: Esquema de Modulación de la señal propuesto por el estándar

Las diferencias más importantes entre ambos esquemas fueron descritas en el punto 6.3.3. Así, nosotros en nuestro esquema hemos considerado la inserción de pilotos dentro del esquema Generador de Tramas. Por lo demás, a grandes rasgos, ambos esquemas son idénticos.

Vamos a empezar a describir las principales características de cada uno de nuestros bloques.

6.3.4.1.- Zero Pad

Como hemos comenzado diciendo en el punto 6.3.4, tenemos, justo antes de realizar el proceso de modulación, una señal con 6817 portadoras. Sabemos que para poder aplicar la anti-transformada discreta de Fourier, el número de portadoras de los símbolos debe tener base 2. Por tanto, el objetivo de este bloque será añadir información (en nuestro caso, nos interesa que se añadan ceros) a la señal de entrada hasta alcanzar el tamaño deseado.

Page 114: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 114

Hemos configurado el bloque con los siguientes valores:

• Pad over: Como trabajamos con vectores columnas, el valor de este campo no puede ser otro que Columns.

• Pad value source: Nos interesa indicarle dónde queremos que nos añada la información “extra”. Por ello seleccionamos la opción Especify via

dialog.

• Pad Value: Queremos que añada ceros.

• Output column mode: Con este parámetro le indicamos la cantidad de ceros que tiene que añadir. Hay dos opciones: o bien añade cero hasta la siguiente potencia de dos o bien le especificamos hasta qué valor tiene que añadir datos. Elegimos la segunda opción, luego marcamos User-

specified.

• Column size: Esta opción sólo aparece cuando en el campo anterior hemos marcado la segunda opción. Con este parámetro indicamos la longitud de la señal que queremos a la salida. En nuestro caso ponemos 8192.

• Pad signal at: Indica el lugar dentro de la trama donde queremos añadir los ceros. Nos interesa tenerlos al final, por lo que hemos marcado la opción End.

• Action when truncation occurs: En este caso, como estamos seguros de que no se va a producir, marcamos ;one.

6.3.4.2.- Selector

En el bloque anterior, lo que hicimos fue añadir ceros a la señal que ya teníamos. Estos ceros se añadieron al final de la trama. Sin embargo, esta posición de los ceros no nos interesa para que el espectro nos quede centrado. Así lo que haremos será situar estos ceros justo en las posiciones medias de los símbolos y los datos y portadoras pilotos en ambos extremos. Con esta nueva reordenación de las portadoras dentro de un símbolo estaremos obteniendo, al realizar la anti-transformada discreta de Fourier, una señal en banda base.

Los parámetros más importantes con los que hemos configurado el bloque “Selector” son:

Page 115: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 115

• ;umber of inputs: Sólo tenemos un vector a la entrada, luego este valor será 1.

• Index mode: Seleccionamos si queremos empezar a contar el vector desde cero o desde uno. Nosotros hemos marcado la opción de One

based.

• Index Option. Como ya hemos explicado varias veces, elegimos la opción Index Vector, ya que con ella podemos “decirle” al bloque como queremos reordenar el vector de entrada.

• Index: En este campo determinamos la forma de reordenar el vector. Como queremos que los ceros insertados en el zero pad queden en el centro del símbolo, hacemos: [1:3408 6818:8192 3409:6817].

• Input port size: Seleccionamos el tamaño del vector de entrada. En nuestro caso, 8192.

6.3.4.3.- IFFT

Queda claro que con este bloque lo que vamos a realizar es la anti-transformada discreta de Fourier. Nuestro objetivo es pasar la señal del dominio de la frecuencia al dominio del tiempo; de esta forma la señal estaría lista para poder transmitirse por cualquier canal.

Los parámetros utilizados para este bloque son los que ya venían por defecto.

6.3.4.4.- Inserción del Intervalo de Guarda

El Intervalo de Guarda o Prefijo Cíclico es una copia de la última parte del símbolo OFDM que se antepone al símbolo OFDM. De esta forma, la señal que se transmite se vuelve periódica, lo que juega un papel decisivo para evitar la ISI (interferencia intersímbolo) y la ICI (interferencia inter portadoras), aunque conlleva una reducción en la relación señal a ruido (eficiencia).

Como comentamos al principio del capítulo, hemos elegido una duración del Intervalo de Guarda de 1/32 veces la duración del símbolo. Si nuestro símbolo tiene 8192 muestras, entonces nuestro intervalo de guarda va a tener 256 muestras.

Page 116: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 116

El esquema que vamos a seguir para la inserción del Intervalo de Guarda es el siguiente:

Fig. 6.16: Esquema de la inserción del Intervalo de Guarda

La función de ambos bloques es la que venimos viendo con anterioridad. Así con el bloque “Zero Pad” se van a añadir tantos ceros a la señal de entrada como queramos; en nuestro caso la señal de entrada tiene 8192 muestras y necesitamos que a la salida haya 8448 (8192 + 256 del Intervalo de Guarda), es decir, el bloque añade 256 ceros.

La función del bloque “Selector”, que también hemos visto, es la de reordenar el vector que tiene a la entrada. Dijimos que nos interesaba insertar el Intervalo de Guarda antes de que empezara el símbolo y que éste era una copia de la última parte del símbolo. Por este motivo, en el campo Index pondremos: [7937:8192 1:8192]. Con ello le estamos indicando que ponga una copia de las últimas 256 muestras de la trama al principio del vector y que coloca las 8192 muestras que teníamos al principio justo detrás de estas primeras.

Llegados a este punto ya tenemos nuestra señal DVB-T2 perfectamente modulada y lista para transmitirse a través del canal.

En el siguiente punto veremos los bloques para la recepción perfecta de esta señal.

Page 117: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 117

6.4.- Receptor

El receptor es el bloque encargado de extraer la señal transmitida del canal de comunicaciones. La finalidad de este bloque que presentamos a continuación, no es otra que la de recuperar los datos transmitidos inicialmente. Si los procesos de transmisión y de recepción se han realizado correctamente, los datos que obtenemos al finalizar todo el proceso de recepción deben ser iguales a los datos que se transmitieron en la primera etapa del transmisor, es decir, en el Generador de Datos.

El esquema que hemos venido siguiendo para realizar el conjunto de la recepción es:

Fig. 6.17: Esquema general del receptor

Haciendo un breve resumen de lo que veremos un poco después, nuestro receptor constará, de una etapa de demodulación, en la que la señal pasará del dominio del tiempo al de la frecuencia, una etapa de extracción de las portadoras pilotos introducidas durante la transmisión y una fase de decodificación de la señal.

Vamos a empezar a ver cada una de las etapas que componen la recepción profundizando en cada una de ellas.

Page 118: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 118

6.4.1.- Demodulación OFDM

Realiza el proceso inverso al visto anteriormente en el punto 6.3.4, esto es, se va a encargar de realizar la demodulación de la señal, sabiendo que ésta va a llegar en símbolos de 8448 muestras, que recordemos que eran 8192 portadoras y 256 muestras del intervalo de guarda.

Lo primero que tendremos que hacer será “eliminar” el intervalo de guarda para proceder a la demodulación de la señal.

El esquema seguido es el siguiente:

Fig. 6.18: Esquema de Demodulación de la Señal

6.4.1.1.- Eliminación del Intervalo de Guarda

Como ya explicamos en el apartado dedicado al receptor, una vez procedíamos a la modulación de los datos, introducíamos un intervalo de guarda para reducir la ISI y la ICI. Pues bien, antes de demodular los datos de cada uno de los símbolos, es necesario eliminar este intervalo de guarda.

Para realizar esta función vamos a emplear un “Selector”. Los parámetros son los mismos que los que venimos explicando a lo largo de este Proyecto. La única salvedad está en el parámetro Index.

• Index: El intervalo de guarda ocupa las primeras 256 muestras de la señal recibida. Como nos interesa eliminarlo, seleccionamos todas las muestras a partir de la última muestra del intervalo de guarda, es decir, seleccionamos el rango [257 8448].

Page 119: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 119

Así, a la salida de este bloque volvemos a tener una señal de 8192 muestras. Ahora sí, podemos proceder a su demodulación.

6.4.1.2.- FFT

Con el bloque “FFT” vamos a aplicar la Transformada Discreta de Fourier a la señal que tiene a la entrada. Con este bloque lo que estamos haciendo es pasar la señal que hemos transmitido del dominio del tiempo al dominio frecuencial, que es lo que nos interesa.

Los distintos campos los vamos a dejar con los valores indicados por Matlab, ya que no son muy relevantes.

Un dato importante a tener en cuenta con este bloque (y, por ende, también en el bloque IFFT) es que, a pesar de que la señal a su entrada se estructura en tramas, a la salida la señal pasa a estructurarse en muestras.

6.4.1.3.- Frame Conversion

Este bloque viene a solucionar el problema que acabamos de ver. Para poder operar con las distintas señales, como para aplicar retrasos sobre las mismas, éstas deben estar organizadas en tramas. Es por ello por lo que vamos a utilizar este bloque.

Para su uso correcto, tenemos que indicar el tipo de señal que queremos a su salida. En nuestro caso, tenemos que seleccionar Frame based.

6.4.1.4.- Eliminación de ceros

Llegados a este punto, tenemos que recordar que en la etapa de modulación de datos, para poder realizar correctamente el proceso de anti-Transformada Discreta de Fourier, tuvimos que añadir ceros de forma que el tamaño del vector fuese potencia de 2 (en nuestro caso, 8192 portadoras). También hay que tener en cuenta que colocamos

Page 120: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 120

estos valores en las posiciones centrales de las diferentes tramas, de forma que tuviésemos una señal en banda base.

Lo que queremos realizar con este bloque es, precisamente, eliminar esta información “extra” que se añadió. Para ello empleamos un bloque “Selector”, de forma que podamos seleccionar los datos que realmente nos interesan.

Así, en el campo Index tenemos que indicarle a Simulink qué datos de la entrada queremos que nos saque a la salida. Teniendo en cuenta que los ceros que se añadieron están en las posiciones centrales, indicamos: [1:3408 4784:8192], es decir, de cada vector de entrada vamos a extraer las primeras 3408 muestras y las últimas 3407 muestras.

A la salida de esta etapa de Demodulación OFDM tendremos un vector de 6817 portadoras. Lo que buscaremos, a continuación, será eliminar las portadoras pilotos de cada símbolo OFDM.

6.4.2.- Eliminación de las portadoras Pilotos

En esta fase del receptor pretendemos, en primer lugar, eliminar de cada uno de los símbolos OFDM las distintas portadoras pilotos, que servían al receptor para facilitar la sincronización de trama, sincronización en frecuencia, sincronización en tiempo, estimación del canal y/o para la identificación del modo de transmisión. Otra función que vamos a realizar será el desentrelazado en frecuencia.

El esquema en el que nos vamos a apoyar es el siguiente:

Fig. 6.19: Esquema de Eliminación de las Portadoras pilotos

Page 121: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 121

Pasamos a explicar los distintos bloques que componen esta nueva fase del receptor.

6.4.2.1.- Índice para ordenar

Tal y como hicimos en el punto 6.3.3.5, con este bloque pretendemos generar un vector para indicarle a Simulink como queremos que reordene la señal que entra en el bloque “Variable Selector”.

El esquema de este bloque es el siguiente:

Fig. 6.20: Esquema para generar los vectores de reordenación

Pasamos a describir cada uno de los elementos que componen esta fase.

Page 122: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 122

6.4.2.1.1.- Vector para ordenar el símbolo

Cada uno de estos cuatro bloques “Constant” va a indicar la posición de los datos dentro de cada trama. Los parámetros utilizados son:

• Constant Value: En este campo indicamos la posición de los datos transmitidos dentro de cada símbolo.

Los demás parámetros no son relevantes.

6.4.2.1.2.- Multiport Switch

Este bloque será el encargado de seleccionar en cada intervalo de tiempo de símbolo una de las secuencias transmitidas por los bloques “Constant”. El “Multiport Switch” necesita para su funcionamiento una señal de control que le diga cuándo y cómo debe cambiar la entrada. Esta señal debe ser generada desde el exterior, como veremos en el siguiente punto.

En cuanto a los parámetros utilizados destacamos:

• ;umber of inputs: En este campo indicamos el número de señales a la entrada de este bloque. En nuestro caso será de 4.

• Used zero-based indexing: Con este campo indicamos si permitimos o no el instante cero dentro de la señal de control habilitando esta opción. Nosotros la hemos marcado.

• Sample Time: Por defecto, la dejamos a -1.

6.4.2.1.3.- Señal de Control

Con este bloque generamos una señal periódica e indicamos al bloque “Multiport Switch” cuándo debe conmutar a una entrada. Lo que realmente estamos haciendo con esta función es generar los distintos tipos de símbolos OFDM que hay que una misma trama T2.

Page 123: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 123

El bloque se ha configurado de la siguiente manera:

• Vector of outputs value: En este campo vamos a generar la señal que queremos que se repita en el tiempo. Tenemos que repetir la misma secuencia que la que se usó en el transmisor, esto es [0 3 2 1].

• Sample Time: En este campo irá el tiempo en el que permanecerá constante la señal. Nos interesa que la entrada se mantenga constante cada 924 µs, es decir, cada Ts.

6.4.2.2.- Variable Selector

Con este bloque queremos seleccionar y reordenar las filas de la señal de entrada de acuerdo a lo especificado por el puerto ldx. En nuestro caso le vamos a indicar las posiciones de los datos para los distintos símbolos OFDM.

Los parámetros que hemos utilizado son los siguientes:

• ;umber of input signal: Tenemos un vector a la entrada de este bloque, luego ponemos 1.

• Select: Tenemos un vector columna, luego nos interesa reordenar las filas. Seleccionamos Rows.

• Select mode: Determina si el bloque usa los mismos índices para todas las entradas o si emplea diferentes índices, en función de la entrada. Hemos seleccionado la opción Variable.

• Index mode: Indicamos si queremos que la primera muestra se contabilice como índice 0 o índice 1. Marcamos la opción One-based.

6.4.2.3.- Desentrelazado en Frecuencia

El objetivo del desentrelazado en frecuencia es, precisamente, invertir el entrelazado que se realizó entre los datos de un símbolo OFDM, como vimos en el punto 6.3.3.2.

Para llevar a cabo esta función de manera adecuada, haremos uso del bloque “General Block Deinterleaver”.

Page 124: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 124

Es muy importante que le pasemos la misma información que al bloque que realiza el entrelazado (en este caso, a ambos bloques les pasamos el vector des/entrelazador). En caso contrario, los datos que se obtendrían tras la recepción serían diferentes a los transmitidos.

6.4.2.4.- Frame Allignement

Este es uno de los bloques más importantes de toda la etapa de recepción. En primer lugar vamos a explicar qué es lo que hace para posteriormente hablar de la finalidad del bloque.

Este bloque lo que hace es retrasar la señal que tiene a su entrada un número de muestras determinado, que será especificado por el usuario.

Los parámetros con los que se ha configurado dicho bloque son:

• Delay units: En este campo especificamos si queremos retrasar la señal en muestras (samples) o en tramas (Frames). Nosotros hemos seleccionado la opción Samples.

• Delay (samples): Tenemos que indicar el número de muestras en los que se retrasará la señal.

• Initial Conditions: Especificamos lo que queremos que se transmita mientras se lleva a cabo el retraso de la señal de entrada.

El resto de parámetros no son relevantes.

El motivo por el que añadimos este bloque es el siguiente: el buffer que incluimos en la etapa de Adición de Portadoras Pilotos (ver punto 6.3.3) lo que hacía era almacenar la trama FEC procedente de la etapa de Codificación de Datos. Pues bien, mientras en el buffer se almacenan todos los datos, éste va transmitiendo aquellos que tenía pre-cargado (en nuestro caso, dijimos que los valores iniciales del buffer valían cero), con lo que se genera un vector de ceros del tamaño de salida del buffer, esto es, de tamaño 6698. Esto implica que existe una diferencia entre el conjunto de datos ya codificados en el transmisor y el conjunto de datos que se obtienen tras realizar el proceso de eliminación de las portadoras pilotos de 6698 muestras. Esto es muy importante tenerlo en cuenta para el bloque siguiente, un buffer que almacena las muestras de los distintos símbolos OFDM en una trama FEC de 32400 elementos. Al tener un vector de 6698 muestras que no teníamos en el transmisor, las tramas FEC en recepción no van a coincidir con las tramas FEC de transmisión, o dicho de otro modo, los datos que se van a recibir no van a ser los mismos que fueron transmitidos.

Page 125: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 125

Así, al retrasar la señal una cantidad de muestras igual a 25702, o lo que es lo mismo, añadiendo 25702 ceros al inicio del primer vector que llega, tendremos una primera trama FEC de 32400 ceros, pero el resto de tramas sí que van a coincidir con las que se transmitieron. Somos conscientes de que estamos añadiendo un retraso a la señal, pero en contrapartida, nos estamos asegurando que la señal recibida va a coincidir con la transmitida.

6.4.2.5.- Buffer

Este buffer se va a encargar de almacenar los datos de los símbolos que le van llegando, 6698, y sacar tramas de 32400 elementos. Ya a partir de este bloque vamos a dejar de trabajar a nivel de símbolos para volver a trabajar con tramas FEC (FECFRAME).

Los parámetros utilizados son:

• Output Buffer size: Ya hemos dicho que este valor será 32400.

• Buffer Overlap: Queremos que la información salga por vectores pero que ésta no se repita. Por tanto, el valor de este campo será cero.

• Initial Conditions: se pondrá a cero, ya que no queremos que se transmita nada mientras el Buffer se llena.

Haciendo un breve resumen de lo visto hasta ahora en el receptor, hemos realizado la demodulación de la señal recibida y nos hemos quedado sólo con los datos, es decir, hemos eliminado las distintas portadoras pilotos. A partir de este momento dejamos de hablar de símbolos OFDM ya que vamos a trabajar a nivel de trama FEC.

En la siguiente etapa del receptor, se procede a la decodificación de la trama FEC.

Page 126: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 126

6.4.3.- Decodificación y Demodulación de Datos

Una vez hemos llevado a cabo todo el proceso de eliminación de portadoras pilotos y nos encontramos trabajando con tramas FEC en lugar de símbolos OFDM, tenemos que proceder a la decodificación y demodulación de estas tramas.

En primer lugar, las tramas pasan por una fase de desentrelazado. Recordamos que el entrelazado se llevó a cabo durante la etapa de Codificación y Modulación de Datos con el fin de dispersar posibles errores que dañaran la trama.

Una vez realizado este desentrelazado, se procederá a la demodulación de la señal para acabar decodificando la trama recibida.

El esquema que se ha venido siguiendo durante toda esta etapa es el siguiente:

Fig. 6.21: Esquema del proceso de Decodificación de datos

Aunque la gran mayoría de los bloques ya se han visto, vamos a comentar la función de los mismos y los parámetros más importantes con los que los hemos configurado.

6.4.3.1.- Desentrelazado en Tiempo

Si recordamos el funcionamiento del entrelazador en tiempo (ver punto 6.3.2.5), lo que este bloque hacía era colocar los datos que recibía en una matriz por columnas y leerlos por filas.

Pues bien, parece claro que en esta ocasión debemos actuar de forma complementaria. Para ello, vamos a utilizar el bloque “Matriz Interleaver”. Este bloque rellena una matriz por filas y envía el contenido de dicha matriz leído por columnas.

Page 127: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 127

Los valores para estos campos son los mismos que para el bloque que usamos con anterioridad. Esto es:

• ;umber of rows: 6840.

• ;umber of columns: 5.

Otra solución por la que podríamos haber optado era la de haber usado el mismo bloque que en la etapa de Codificación, pero invirtiendo los parámetros; es decir, en ;umber of rows haber puesto 5 y en ;umber of columns 6840. El resultado no hubiese variado.

6.4.3.2.- Desentrelazador de células

Nos encontramos con un caso muy parecido que al del punto anterior. Necesitamos contrarrestar el entrelazado que realizamos durante la fase de Codificación.

Para llevar a cabo la función de aleatorizar las células que componen una trama hicimos uso del bloque “General Block Interleaver”. Lo que nosotros estamos buscando ahora es realizar el proceso opuesto: queremos “devolver” cada célula a su posición inicial. Por ello en esta ocasión emplearemos el bloque “General Block Deinterleaver”. Como elementos, tendremos que pasarle el mismo vector que para realizar el entrelazado de la trama. Como bien se indicó con anterioridad, le pasamos el nombre del vector que tenemos implementado en nuestro fichero de variables y que se adjuntará en el Anexo.

6.4.3.3.- Demodulador

El objetivo de toda demodulación es recuperar la señal transmitida originariamente.

Para conseguir ésto, hemos utilizado el bloque “General QAM Demodulator BaseBand”, ya que nuestra señal modulada era una 4-QAM.

Los parámetros con los que se ha configurado dicho bloque han sido:

Page 128: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 128

• Signal Constellation: Le damos a este campo las posiciones para una constelación QPSK, ya normalizada, de acuerdo al mapeado indicado en el estándar.

• Output type: Indicamos el tipo de los elementos de salida. En este caso van a tratarse de enteros.

• Output data type: Como el bloque “LDPC Decoder” necesitan que los datos a su entada sean del tipo double, seleccionamos esta opción.

6.4.3.4.- Integer to Bit converter

Como su nombre hace intuir, este bloque se va a encargar de realizar la conversión de enteros a bits.

Una vez demodulada la señal, hemos obtenido un vector de números enteros, representando cada uno de ellos a un símbolo (al ser una señal 4-QAM, estos símbolos van del 0 al 3). Con este conversor, pasamos a trabajar a nivel de bits.

Los parámetros con los que se ha configurado dicho bloque han sido:

• ;umber of bits per Integer: ya hemos comentado que se trata de una señal 4-QAM, luego el número de bits por símbolo es 2.

• Output data type: Al igual que en el bloque anterior, seleccionamos la opción double.

6.4.3.5.- Mapeador de Datos

Su objetivo no es otro que el de mapear los distintos bits de entrada para “crear” una nueva salida.

Los valores que le hemos dado a dicho bloque son los siguientes:

• Vector of input values: Como tenemos un vector binario, los datos sólo pueden tomar dos valores: ó 0 ó 1. Así nuestro vector será [0 1].

Page 129: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 129

• Table data: En ella escribimos la conversión que queremos de los datos. En nuestro caso nos interesa [1 0], es decir transformamos los ceros en unos y viceversa.

• Lookup method: Describe el método para realizar el mapeado. Nosotros hemos utilizado Interpolation-Extrapolation.

• Sample time: -1, por defecto.

Necesitamos este bloque para realizar la decodificación de la señal de manera correcta. Sin él, nuestro decodificador no funcionaría correctamente y a la salida no obtendríamos los datos esperados. De hecho, los datos que obtendríamos presentan la misma secuencia que antes de realizar la codificación LDPC de los mismos pero con los valores invertidos, es decir, donde ahora obtenemos un uno antes de la codificación había un cero y viceversa.

6.4.3.6.- Decodificación LDPC

Su función es la de eliminar los bits de comprobación de paridad, que se encuentran al final de la trama y que permitían al sistema conocer si se habían producido errores durante la transmisión.

Para este bloque, y al igual que para la Codificación LDPC (ver punto 6.3.2.1.2) nos hemos apoyado en una serie de funciones que ya venían implementadas en Matlab (versión R2007b). De esta forma, sólo hemos tenido que indicar el nombre de la función, pasándole la tasa de codificación LDPC que hemos empleado durante la simulación (en nuestro caso 1/2).

Los parámetros para este bloque son los siguientes:

• Parity check matrix: Aquí nos apoyamos en la función que ya se encuentra implementada en Matlab. Así escribimos: dvbt2ldpc (1/2).

• Output format: Sólo queremos obtener la información de la trama codificada, luego marcamos Information part.

• Decision type: Marcamos la opción Hard decisión.

• Output data type: Vamos a trabajar a partir de ahora con números binarios, por lo que marcamos boolean.

Page 130: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 130

6.4.3.7.- BCH Decoder

La función de este bloque también es la de eliminar parte de la información que se generó durante la Codificación BCH para hacer que la señal que se estaba transmitiendo fuera más robusta.

Para llevar a cabo esta función hemos utilizado un bloque que utiliza una función que ya venía implementada en Matlab. Se trata de una S-function y se denomina scomberlekamp. Nosotros sólo hemos tenido que pasarle los valores adecuados, según lo especificado por dicha función.

Con esto ya tenemos finalizada la fase de Decodificación y Demodulación de datos. Recordamos que a partir de este momento dejamos de trabajar con FECFRAMEs para trabajar a nivel de BBFRAMEs.

6.4.4.- Extracción de datos

En estos momentos, nuestra BBFRAME está perfectamente preparada para que podamos acceder a la información transmitida durante la etapa de Generación de datos, en el transmisor (ver punto 6.3.1).

Para poder recuperar esta información, la fase de extracción de datos va a contar de los siguientes elementos:

Fig 6.22: Esquema de la etapa Extracción de datos

Page 131: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 131

6.4.4.1.- Descrambler

Utilizamos este bloque para invertir el proceso de aleatorización llevado a cabo en la etapa de Generación de datos sobre la BBFRAME.

Los parámetros que debemos utilizar para este bloque tienen que ser los mismos que los que empleamos para la aleatorización. Son los siguientes:

• Calculation base: Como estamos trabajando con señales binarias, este campo valdrá 2.

• Scramble polynomial: En este parámetro introducimos el polinomio de des-aleatorización que viene indicado en el estándar. Así tendremos el vector 1100000000000001.

• Initial states: Es la condición inicial para los registros internos. Volvemos a poner las mismas condiciones iniciales que marcamos para el Scrambler: 100101010000000.

6.4.4.2.- Selector

Una vez hemos procedido a la aleatorización de la BBFRAME, hemos de recordar que durante la transmisión de los datos, procedimos a la inserción tanto de una cabecera en banda base, que describía el formato de los datos que se transmitían, como de información “extra” (que se añadieron en forma de ceros) para que la señal tuviera las dimensiones indicadas por el estándar.

Esta información deberá ser eliminada de nuestra señal. Ése es el objetivo de este nuevo bloque: eliminar todo aquello que no sea información útil.

Convenimos en su momento que la información “extra” se iba a añadir al final de la señal, mientras que la cabecera, obviamente, deberá ir al principio. Esto es muy importante tenerlo en cuenta a la hora de seleccionar el rango de la señal con la que nos interesa quedarnos.

Como la configuración de este bloque ya se ha repetido en numerosas ocasiones a lo largo de este Proyecto, sólo nos vamos a fijar en el campo Index. Necesitamos eliminar las primeras 20 muestras de la señal, ya que éstas pertenecían a la cabecera de la misma; por otra parte, necesitamos que a la salida haya 31584 (si hacemos memoria, es el resultado que se obtenía cuando pasábamos a bits los 3948 datos que

Page 132: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 132

transmitíamos). Con todos estas consideraciones, extraemos la señal que se encuentra en el rango [81 31664].

6.4.4.3.- Bit to Integer Converter

El fin de este bloque es pasar de la secuencia de bits que tenemos a una secuencia de bytes.

Los parámetros de este bloque van a ser, por tanto:

• ;umber of bits per Integer: Como ya hemos dicho, queremos pasar de bits a bytes, luego este valor es 8.

• Output data type: Como tenemos enteros, nosotros hemos seleccionado la opción uint8 (enteros sin signos), pero no es un parámetro muy relevante.

Con este bloque finalizamos la etapa de recepción. Si todo ha ido de forma correcta, la señal que tenemos que recibir en este punto, aunque retrasada en el tiempo, tiene que ser igual a la señal que transmitimos. Estos retrasos, como ya vimos en su momento, vienen ocasionados por los buffers, que envían los datos que éstos tuvieran almacenados en el momento en que se inicia la transmisión. Esto no imposibilita la recepción óptima de los datos; no obstante sí es muy importante conocer el retraso introducido por el sistema para poder indicar a nuestro equipo cuándo deben empezar a leer los datos.

A continuación, mostraremos los resultados que hemos obtenido durante la etapa de Simulación.

Page 133: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 133

6.4.5.- Resultados

Durante el desarrollo de esta memoria hemos estado viendo tanto el desarrollo teórico como la implementación, mediante Simulink, de un sistema de comunicaciones basado en el nuevo estándar para la televisión digital, DVB-T2.

En este apartado lo que queremos es presentar los resultados que hemos ido obteniendo durante el desarrollo práctico del sistema.

Para obtener las imágenes que más nos interesa mostrar nos hemos apoyado en un par de bloques, que pasamos a enunciar:

• Por un lado, para poder representar las constelaciones recibidas y transmitidas, utilizamos el bloque “Discrete – Time Scatter Plot Scope”.

• Para representar el espectro en frecuencia de la señal transmitida, usamos el bloque de Simulink “Spectrum Scope”.

Otro bloque bastante interesante para nosotros es “To simout”. Este bloque tiene la característica de almacenar en una variable los datos de la señal que tiene a su entrada, con la que después podremos trabajar.

Para verificar que nuestra simulación ha sido correcta, presentaremos los resultados de tres formas distintas.

6.4.5.1.- Constelaciones y Espectro

La primera forma que se nos ocurre de poder verificar que nuestra simulación ha sido correcta, es a través de las constelaciones de las señales transmitidas y recibidas, así como a través del espectro de la señal.

Venimos comentando a lo largo de la memoria que la señal que nosotros hemos modulado es una señal QSPK. Luego la constelación de las diferentes señales que recibimos deben tener la siguiente forma:

Page 134: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 134

Fig. 6.23: Esquema de una señal QPSK

Las constelaciones que nosotros hemos obtenido, en régimen permanente de la señal, han sido:

Fig. 6.24: Constelaciones de las señales transmitidas y recibidas

Como puede verse claramente, ambas constelaciones son idénticas a la constelación de una señal QPSK ideal.

Otro elemento que nos indica si la simulación se ha realizado correctamente o no es el espectro de frecuencia de la señal transmitida. El estándar define el siguiente espectro de frecuencia para señales de intervalo de guarda igual a 1/8.

Page 135: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 135

Fig. 6.25: Espectro teórico para una señal DVB-T2

Nosotros, durante el proceso de simulación, hemos obtenido el siguiente espectro:

Fig. 6.26: Espectro en frecuencia de la señal transmitida

Page 136: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 136

Comparando ambas figuras, vemos que ambos espectros son casi idénticos.

6.4.5.2.- Variables

Otra forma que tenemos para poder comprobar que los datos recibidos son idénticos a los transmitidos es a través de las variables generadas por los bloques “To simout”.

Para que la comparación entre ambas señales sea lo más real posible, lo que hemos hecho ha sido retrasar la señal de entrada al simout del transmisor el mismo número de muestras que sabemos que lo está la señal recibida.

Una forma de comparar ambas señales es viendo el conjunto de datos que contienen, a través del Workspace de Matlab. En él podemos encontrar toda la información referente a las variables que está utilizando el programa en ese momento. No obstante la tarea de comparar uno a uno todos los datos de ambas variables resulta una tarea demasiado tediosa.

Para realizar esta tarea de una manera mucho más rápida lo que vamos a hacer es trabajar con las variables que se generan. Así, si restamos ambas variables, si todo ha ido correcto, deberíamos obtener un vector de ceros. Para comprobar que efectivamente obtenemos un vector de ceros calculamos el máximo y el mínimo de ese vector.

Los resultados que hemos obtenido, como era de esperar, han sido:

max (recibida1 –transmitida1) = 0

y

min (recibida1 –transmitida1) = 0

siendo recibida1 y transmitida1 las variables generadas por los bloques “To simout” del receptor y del transmisor, respectivamente.

Page 137: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 137

6.4.5.3.- BER

La última forma de demostrar que nuestra simulación se ha realizado de manera correcta es a través de la tasa de bits erróneos, es decir, de la BER.

Para calcular la BER de nuestro sistema nos ayudaremos de los siguientes bloques:

• Bloque “Error Rate Calculation”. Como es de esperar, este bloque se encarga de calcular la tasa de error del sistema comparando los datos recibidos con los datos de la señal transmitida retrasada. La señal de salida estará constituida por tres elementos: la tasa de error seguida del número de datos erróneos detectados y el número total de datos comparados. El campo más importante que tendremos que configurar en este bloque es Receive delay, es decir, el retraso de la señal. Nosotros, como le hemos añadido a la señal transmitida un retraso antes de entrar en este bloque, ponemos en este campo 0.

• Una vez calculada la tasa de error de nuestro sistema, para poder visualizarla, utilizaremos el bloque “Display”, que nos permitirá poder ver simultáneamente los diferentes valores, esto es, tasa de error, número de datos erróneos y número total de datos comparados.

A continuación mostraremos los valores que hemos obtenido para diferentes intervalos de la simulación:

Fig. 6.27: BER a los 4.48·10^(-3) seg.

Fig. 6.28: BER a los 0.2 seg

Page 138: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 138

Fig. 6.29: BER a los 0.4 seg.

Observando las distintas figuras, vemos que en todas ellas el número de datos erróneos que se detecta, y por tanto también valor de la BER, es cero.

Luego, con las distintas demostraciones que hemos realizado, todas con el mismo resultado, concluimos que nuestro sistema de comunicaciones funciona de acuerdo a lo especificado en el estándar.

Page 139: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 139

7.- CONCLUSIONES Y LÍNEAS FUTURAS

Al comenzar este Proyecto Fin de Carrera, se proponía la implementación de un sistema de comunicaciones basado en el nuevo estándar europeo para la transmisión digital, DVB-T2. A partir de ahí, capítulo tras capítulo, se han ido formando las bases para llevar a cabo tal objetivo. Así se ha visto, con más o menos profundidad, las funciones del principal organismo regulador y sus principales estándares; se ha hablado en profundidad de los fundamentos teóricos de este nuevo estándar; hemos comentado la modulación OFDM y algunos de los principales inconvenientes que nos podíamos encontrar en su implementación; también hemos dado pequeñas nociones sobre el programa que hemos utilizado para realizar la simulación, y hemos hablado sobre ésta, comentando las principales características de los distintos bloques que hemos venido utilizando y hemos ilustrado sobre los resultados que habíamos obtenido. Todo ello, distribuido en capítulos y apartados, comentando las conclusiones parciales que hemos obtenido.

Sin embargo, son muchas las puertas que se dejan abiertas con respecto al estudio de algunos de los temas que se han tratado en este Proyecto y que podrían significar la continuación para distintos proyectos en el futuro.

Con respecto a los sistemas OFDM, se han publicado numerosos artículos y obras que dedican buena parte de su contenido a explicar los distintos aspectos que llevan asociados dichos sistemas, tales como los transmisores óptimos, el sincronismo, las portadoras pilotos, etc. Sin embargo no debemos olvidar que su uso en la vida cotidiana es cada vez más importante (un claro ejemplo lo acabamos de ver nosotros con la televisión digital), por lo que un estudio en profundidad debe ser el primer paso para poder diseñar sistemas que mejoren en prestaciones a los ya existentes. Así cualquier investigación futura relacionada con la modulación OFDM, si bien será difícil encontrar algún punto de mejora en su propia definición, deberá partir de los conocimientos ya existentes.

Otras mejoras que se pueden llevar a cabo están más relacionadas con la implementación del sistema de comunicaciones. Nosotros, durante la elaboración de este Proyecto, venimos suponiendo, por un lado, que únicamente se van a transmitir datos útiles; por otro lado, ya hemos visto que la simulación se ha realizado teniendo en cuenta la presencia de un canal ideal, lo cual sabemos que es imposible de conseguir en la realidad.

Sería interesante estudiar cómo se comportaría este mismo sistema ante la presencia de un canal no ideal. El transmisor sería el mismo que el utilizado en este caso, pero lo que sí tendría que implementarse es tanto el canal y, fundamentalmente, el receptor, ya que habría que tenerse en cuanta tanto el ruido que podría añadir por el canal como los efectos que éste ocasionaría en las señales transmitidas. Además,

Page 140: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 140

también tendría tenerse en cuenta la posible utilización de un ecualizador, para procesar las distintas señales.

Otra mejora bastante interesante podría consistir en añadir a lo que se ha hecho en este Proyecto la transmisión de los símbolos de señalización P1 y P2, tal y como vienen definidos en el estándar. La implementación del símbolo P1 resulta muy sencilla, no así la del símbolo P2, ya que éste tiene un comportamiento bastante diferente a los símbolos de datos.

Otra posible mejora podría ser la de llevar a la práctica lo que hemos expuesto en este Proyecto. Esto es, la implementación física de un transmisor y de un receptor que, con las características que aquí hemos comentado, funcionase para una señal DVB-T2.

Hasta aquí hemos comentado una serie de posibles trabajos relacionados con algunos temas tratados en este Proyecto. Pero éstas son sólo algunas proposiciones que realizamos. Basta con analizar la bibliografía relacionada con estos temas para darse cuenta de la importancia y el alcance de los temas aquí tratados. Temas que, sin duda alguna, gozan, a día de hoy, de un primer plano en el panorama de la investigación de los sistemas de telecomunicaciones actuales y del futuro.

Page 141: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 141

8.- BIBLIOGRAFÍA

Referencias

[1] G.D. Forney. “The Viterbi Algorithm”.

[2] S.M Alamouti. “A simple transmit diversity technique for wireless communication, IEEE Journal Select”.

[3] D.R. Saltzberg. “Performance of an efficient parallel data transmission system”.

[4] S.B.Weinstein, P.M. Ebert. “Data transmission by frequency Division Multiplexing using the discrete Fourier Transform”.

[5] Abraham Peled, Antonio Ruiz. “Frequency data transmission using reduced computational complexity algorithms”.

[6] W.D. Warner, C. Leving. “OFDM/FM frame synchronization for mobile radio data communication”.

[7] P.J Tourtier, R. Monrier, P. Lopez. “Multicarrier modem for digital HDTV terrestrial broadcasting”.

Artículos

• Edfor, Ove; Sandell, Magnus; Van de Beek, Jan-Jaap y Landström, Daniel: “An Introduction to Orthogonal Frequency-Division Multiplexing”.

• Pérez Gutiérrez, Alejandro: “Transmisión de señales de televisión digital en el estándar terreno DVB-T”.

• “Implementation guidelines for a second generation digital terrestrial television broadcasting system (DVB-T2)”.

• “Digital Video Broadcasting (DVB): Framing structure, channel coding and modulation for digital terrestrial television”.

• “Implementation guideline for DVB-T transmission aspects”

• “DVB-T2 Fact Sheet” – Abril 2009.

Page 142: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 142

• Tutoriales de Simulink.

Páginas Web

• http://www.dvb.org

• http://www.mathworks.com/access/helpdesk_r13/help/toolbox/simulink/

• http://es.wikipedia.org

• http://www.coyan.es

• http://www.dvb-h.org

• http://en.wikipedia.org

• http://www.etsi.org

Page 143: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 143

ANEXO

En esta parte del proyecto vamos a definir las variables y las funciones que hemos utilizado a lo largo del Proyecto.

Variables

%%%%%%%%%%%%%%%%%%%%% %Periodo de muestreo% %%%%%%%%%%%%%%%%%%%%%

T=1.09375e-007;

%%%%%%%%%%%%%%%%%%%%%%%% %Duración de un símbolo% %%%%%%%%%%%%%%%%%%%%%%%%

Ts=896e-006;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Polinomio generador para el código BCH% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

BCH_datos = [1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0

0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 0

0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1

0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0

0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0

0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 1];

BCH_datos = logical(fliplr(BCH_datos));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 144: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 144

%Datos para realizar el BCH Decoder% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

kBCH = 32208; nBCH = 32400; tBCH = 12;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Inserción de portadoras pilotos en los símbolos de datos. Se van a %

%definir las posiciones de estas portadoras para los cuatro tipos de %

%símbolos que % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Edge = [0 6816]+1;

continuals = [0 264 360 1848 2088 2112 2160 2256 2280 3936 3960 3984

5016 5136 5208 5664 116 430 518 601 646 1022 1296 1368 1369 1495 2833

3024 4416 4608 4776 5710 5881 6168 485 1636 4040 4181 4987 6418 2503

3655 5350 6295 196 562 456 480 2261 6072 4444 1008 6120 898]+1;

scattered3 = [0 96 192 288 384 480 576 672 768 864 960 1056 1152 1248

1344 1440 1536 1632 1728 1824 1920 2016 2112 2208 2304 2400 2496 2592

2688 2784 2880 2976 3072 3168 3264 3360 3456 3552 3648 3744 3840 3936

4032 4128 4224 4320 4416 4512 4608 4704 4800 4896 4992 5088 5184 5280

5376 5472 5568 5664 5760 5856 5952 6048 6144 6240 6336 6432 6528 6624

6720 6816]+1;

scattered1 = scattered3(1:end-1)+48; scattered2 = scattered3(1:end-1)+72; scattered4 = scattered3(1:end-1)+24;

%Posiciones de los pilotos en los distintos símbolos existentes sym1 = [edge,continuals,scattered1]; sym2 = [edge,continuals,scattered2]; sym3 = [edge,continuals,scattered3]; sym4 = [edge,continuals,scattered4];

%Escribimos las posiciones de los datos, seguidos de las posiciones de

%las portadoras pilotos, teniendo en cuenta que el número de

%portadoras activas para el patrón de pilotos PP7 es de 6698 y el

%número de portadoras activas para el modo 8k es de 6817

Pdat = 1:6698; Ppilotos = 6699:6826; Ppilotos1_2_4 = Ppilotos(1:end-1); datos = 1:6817;

%Ponemos a cero las posiciones correspondientes a las portadoras

%pilotos. Procedemos a su ordenación según lo indicado en el estándar.

Page 145: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 145

P1a = datos; P1a(sym1)= 0; P1a = find(P1a~=0); P1 = zeros(1,6817); P1(sym1) = Ppilotos1_2_4; P1(P1a) = Pdat;

P2a = datos; P2a(sym2) = 0; P2a = find(P2a~=0); P2 = zeros(1,6817); P2(sym2) = Ppilotos1_2_4; P2(P2a) = Pdat;

P3a = datos; P3a(sym3) = 0; P3a = find(P3a~=0); P3 = zeros(1,6817); P3(sym3) = Ppilotos; P3(P3a) = Pdat;

P4a = datos; P4a(sym4) = 0; P4a = find(P4a~=0); P4 = zeros(1,6817); P4(sym4) = Ppilotos1_2_4; P4(P4a) = Pdat;

%%%%%%%%%%%%%%%%%%% % Constelacion QAM% %%%%%%%%%%%%%%%%%%%

DVBT2_QAM= [ 1 + 1i 1 - 1i -1 + 1i -1 - 1i];

dvbt2_qam=DVBT2_QAM/sqrt(2);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Frequency Interleaver para símbolos de datos% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Mmax = 8192; Nr = log2(Mmax); Nmax = 6698; q = 0;

h = zeros(1,Mmax); R = zeros(1,Nr);

Page 146: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 146

for indx =0:Mmax-1 if (indx == 2) R(1) = 1; end if(mod(indx,2)==0)

Rsum = R(1)*2^7+R(2)*2+R(3)*2^4+R(4)*2^2+R(5)*2^9+R(6)*2^6+R(7)*2^8 +R(8)*2^10+R(9)*2^0+R(10)*2^3+R(11)*2^11+R(12)*2^5;

h(q+1) = mod(indx,2)*2^(Nr-1)+Rsum; if(h(q+1)<Nmax) q = q+1; end R = [R(2:Nr-1) xor(xor(R(1),R(2)),xor(R(5),R(7)))]; else

Rsum=R(1)*2^11+R(2)*2^4+R(3)*2^9+R(4)*2^3+R(5)*2+R(6)*2^2+R(7)*2^5+

+R(8)*2^0+R(9)*2^6+R(10)*2^7+R(11)*2^10+R(12)*2^8; h(q+1)=mod(indx,2)*2^(Nr-1)+Rsum; if(h(q+1)<Nmax) q=q+1; end R = [R(2:Nr-1) xor(xor(R(1),R(2)),xor(R(5),R(7)))]; end end

dvb_sym_int_table = h(1:Nmax)+1;

dvb_sym_int_table = dvb_sym_int_table(:);

%%%%%%%%%%%%%%%%%%%% %%CELL INTERLEAVER%% %%%%%%%%%%%%%%%%%%%%

Ncells = 32400; Nr = 6480; Nd = 15; q=0;

S = zeros(1,Nd);

%Generamos la secuencia Lo(q) for index=0:2^(Nd) S = [S(2:Nd) xor(xor(S(1),S(3)),xor(S(5),S(6)))]; if index==2 S(1) = 1; end

Lo(q+1)=S(1)*2+S(2)*2^2+S(3)*2^3+S(4)*2^4+S(5)*2^5+S(6)*2^6+S(7)*2^7+ +S(8)*2^8+S(9)*2^9+S(10)*2^10+S(11)*2^11+S(12)*2^12+S(13)*2^(13)+ +S(14)*2^(14)+S(15)*2^(15);

if(Lo(q+1)<Ncells) q=q+1;

Page 147: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 147

end S = [S(2:Nd) xor(xor(S(1),S(2)),xor(S(3),S(13)))]; end

Cell_interleaver=Lo(1:Ncells); Cell_interleaver=mod(Cell_interleaver,Ncells);

Función dvbt2ldpc

Como ya hemos dicho en alguna otra ocasión, esta función ya viene implementada en Matlab.

function H = dvbt2ldpc(R)

R=1/2; lenCodeWord = 64800; % Longitud a la salida de bloque para DVB-T2 NB = 360;

numInfoBits = lenCodeWord * R; numParityBits = lenCodeWord - numInfoBits;

[ct1, ct2] = getchecknodetable(R);

ck1 = nodeindices(ct1, numParityBits, NB); ck2 = nodeindices(ct2, numParityBits, NB);

d = [size(ck1,2) size(ck1,1) size(ck2,2) size(ck2,1) numParityBits-1 2

1 1]; r = [ck1(:); ck2(:); 0; reshape(ones(2,1)*(1:numParityBits-1),[],1)]; S = zeros(length(r),1); numGroup = length(d)/2; n = 0; ncol = 1; for i = 1:numGroup p = d(2*i-1)*d(2*i); S(n+1:n+p) = reshape(ones(d(2*i),1)*(ncol:ncol+d(2*i-1)-1),p,1); ncol = ncol + d(2*i-1); n = n + p; end

% Parity check matrix (sparse) for DVB-T.2 H = logical(sparse(double(r+1), S, 1));

%---------------------------------------------------------------------

-----

Page 148: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 148

function ck = nodeindices(ct, M, NB) % ct: Posiciones para los bits de paridad para una longitud del código

% de 64800.

% M: Número de bits de paridad % NB: Tamaño del Bloque [N, D] = size(ct); q = (M/NB); b = (1:NB); bq = (b-1).'*q; ck = zeros(D, NB*N); for r=1:N ck(:, NB*(r-1)+1:NB*r) = mod(addcr(bq, ct(r,:)), M)'; end %--------------------------------------------------------------------

------ function A = addcr(c, r) M = length(c); N = length(r); A = zeros(M, N); for m = 1:M A(m, :) = r + c(m); end

%---------------------------------------------------------------------

----- function [ct1, ct2] = getchecknodetable(R) % Devuelve la matriz de posiciones de los bits de paridad para la

% codificación LDPC. Estas posiciones vienen recogidas en el

% Anexo A del estándar DVB-T2. % R = code rate. switch R

case 1/2 ct1 = [54 9318 14392 27561 26909 10219 2534 8597 55 7263 4635 2530 28130 3033 23830 3651

56 24731 23583 26036 17299 5750 792 9169

57 5811 26154 18653 11551 15447 13685 16264

58 12610 11347 28768 2792 3174 29371 12997

59 16789 16018 21449 6165 21202 15850 3186

60 31016 21449 17618 6213 12166 8334 18212

61 22836 14213 11327 5896 718 11727 9308

62 2091 24941 29966 23634 9013 15587 5444

63 22207 3983 16904 28534 21415 27524 25912

64 25687 4501 22193 14665 14798 16158 5491

65 4520 17094 23397 4264 22370 16941 21526

66 10490 6182 32370 9597 30841 25954 2762

67 22120 22865 29870 15147 13668 14955 19235

68 6689 18408 18346 9918 25746 5443 20645

69 29982 12529 13858 4746 30370 10023 24828

70 1262 28032 29888 13063 24033 21951 7863

71 6594 29642 31451 14831 9509 9335 31552

72 1358 6454 16633 20354 24598 624 5265

73 19529 295 18011 3080 13364 8032 15323

74 11981 1510 7960 21462 9129 11370 25741

75 9276 29656 4543 30699 20646 21921 28050

76 15975 25634 5520 31119 13715 21949 19605

77 18688 4608 31755 30165 13103 10706 29224

78 21514 23117 12245 26035 31656 25631 30699

79 9674 24966 31285 29908 17042 24588 31857

80 21856 27777 29919 27000 14897 11409 7122

81 29773 23310 263 4877 28622 20545 22092

82 15605 5651 21864 3967 14419 22757 15896

83 30145 1759 10139 29223 26086 10556 5098

84 18815 16575 2936 24457 26738 6030 505

85 30326 22298 27562 20131 26390 6247 24791

86 928 29246 21246 12400 15311 32309 18608

87 20314 6025 26689 16302 2296 3244 19613

88 6237 11943 22851 15642 23857 15112 20947

Page 149: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 149

89 26403 25168 19038 18384 8882 12719 7093];

ct2=[0 14567 24965 1 3908 100

2 10279 240

3 24102 764

4 12383 4173

5 13861 15918

6 21327 1046

7 5288 14579

8 28158 8069

9 16583 11098

10 16681 28363

11 13980 24725

12 32169 17989

13 10907 2767

14 21557 3818

15 26676 12422

16 7676 8754

17 14905 20232

18 15719 24646

19 31942 8589

20 19978 27197

21 27060 15071

22 6071 26649

23 10393 11176

24 9597 13370

25 7081 17677

26 1433 19513

27 26925 9014

28 19202 8900

29 18152 30647

30 20803 1737

31 11804 25221

32 31683 17783

33 29694 9345

34 12280 26611

35 6526 26122

36 26165 11241

37 7666 26962

38 16290 8480

39 11774 10120

40 30051 30426

41 1335 15424

42 6865 17742

43 31779 12489

44 32120 21001

45 14508 6996

46 979 25024

47 4554 21896

48 7989 21777

49 4972 20661

50 6612 2730

51 12742 4418

52 29194 595

53 19267 20113];

case 3/5 %Table B.4: rate 3/5 nldpc = 64 800) ct1 = [22422 10282 11626 19997 11161 2922 3122 99 5625 17064 8270 179 25087 16218 17015 828 20041 25656 4186 11629 22599 17305 22515 6463

11049 22853 25706 14388 5500 19245 8732 2177 13555 11346 17265 3069

16581 22225 12563 19717 23577 11555 25496 6853 25403 5218 15925 21766

16529 14487 7643 10715 17442 11119 5679 14155 24213 21000 1116 15620

5340 8636 16693 1434 5635 6516 9482 20189 1066 15013 25361 14243

18506 22236 20912 8952 5421 15691 6126 21595 500 6904 13059 6802

8433 4694 5524 14216 3685 19721 25420 9937 23813 9047 25651 16826

21500 24814 6344 17382 7064 13929 4004 16552 12818 8720 5286 2206

22517 2429 19065 2921 21611 1873 7507 5661 23006 23128 20543 19777

1770 4636 20900 14931 9247 12340 11008 12966 4471 2731 16445 791

6635 14556 18865 22421 22124 12697 9803 25485 7744 18254 11313 9004

19982 23963 18912 7206 12500 4382 20067 6177 21007 1195 23547 24837

756 11158 14646 20534 3647 17728 11676 11843 12937 4402 8261 22944

9306 24009 10012 11081 3746 24325 8060 19826 842 8836 2898 5019

Page 150: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 150

7575 7455 25244 4736 14400 22981 5543 8006 24203 13053 1120 5128

3482 9270 13059 15825 7453 23747 3656 24585 16542 17507 22462 14670

15627 15290 4198 22748 5842 13395 23918 16985 14929 3726 25350 24157

24896 16365 16423 13461 16615 8107 24741 3604 25904 8716 9604 20365

3729 17245 18448 9862 20831 25326 20517 24618 13282 5099 14183 8804

16455 17646 15376 18194 25528 1777 6066 21855 14372 12517 4488 17490

1400 8135 23375 20879 8476 4084 12936 25536 22309 16582 6402 24360

25119 23586 128 4761 10443 22536 8607 9752 25446 15053 1856 4040

377 21160 13474 5451 17170 5938 10256 11972 24210 17833 22047 16108

13075 9648 24546 13150 23867 7309 19798 2988 16858 4825 23950 15125

20526 3553 11525 23366 2452 17626 19265 20172 18060 24593 13255 1552

18839 21132 20119 15214 14705 7096 10174 5663 18651 19700 12524 14033

4127 2971 17499 16287 22368 21463 7943 18880 5567 8047 23363 6797

10651 24471 14325 4081 7258 4949 7044 1078 797 22910 20474 4318

21374 13231 22985 5056 3821 23718 14178 9978 19030 23594 8895 25358

6199 22056 7749 13310 3999 23697 16445 22636 5225 22437 24153 9442

7978 12177 2893 20778 3175 8645 11863 24623 10311 25767 17057 3691

20473 11294 9914 22815 2574 8439 3699 5431 24840 21908 16088 18244

8208 5755 19059 8541 24924 6454 11234 10492 16406 10831 11436 9649

16264 11275 24953 2347 12667 19190 7257 7174 24819 2938 2522 11749

3627 5969 13862 1538 23176 6353 2855 17720 2472 7428 573 15036];

ct2 = [0 18539 18661 1 10502 3002

2 9368 10761

3 12299 7828

4 15048 13362

5 18444 24640

6 20775 19175

7 18970 10971

8 5329 19982

9 11296 18655

10 15046 20659

11 7300 22140

12 22029 14477

13 11129 742

14 13254 13813

15 19234 13273

16 6079 21122

17 22782 5828

18 19775 4247

19 1660 19413

20 4403 3649

21 13371 25851

22 22770 21784

23 10757 14131

24 16071 21617

25 6393 3725

26 597 19968

27 5743 8084

28 6770 9548

29 4285 17542

30 13568 22599

31 1786 4617

32 23238 11648

33 19627 2030

34 13601 13458

35 13740 17328

36 25012 13944

37 22513 6687

38 4934 12587

39 21197 5133

40 22705 6938

41 7534 24633

42 24400 12797

43 21911 25712

44 12039 1140

45 24306 1021

46 14012 20747

47 11265 15219

48 4670 15531

49 9417 14359

50 2415 6504

51 24964 24690

52 14443 8816

53 6926 1291

54 6209 20806

Page 151: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 151

55 13915 4079

56 24410 13196

57 13505 6117

58 9869 8220

59 1570 6044

60 25780 17387

61 20671 24913

62 24558 20591

63 12402 3702

64 8314 1357

65 20071 14616

66 17014 3688

67 19837 946

68 15195 12136

69 7758 22808

70 3564 2925

71 3434 7769];

case 2/3 %Table B.4: rate 2/3 nldpc = 64 800) ct1 = [0 10491 16043 506 12826 8065 8226 2767 240 18673 9279 10579 20928 1 17819 8313 6433 6224 5120 5824 12812 17187 9940 13447 13825 18483

2 17957 6024 8681 18628 12794 5915 14576 10970 12064 20437 4455 7151

3 19777 6183 9972 14536 8182 17749 11341 5556 4379 17434 15477 18532

4 4651 19689 1608 659 16707 14335 6143 3058 14618 17894 20684 5306

5 9778 2552 12096 12369 15198 16890 4851 3109 1700 18725 1997 15882

6 486 6111 13743 11537 5591 7433 15227 14145 1483 3887 17431 12430

7 20647 14311 11734 4180 8110 5525 12141 15761 18661 18441 10569 8192

8 3791 14759 15264 19918 10132 9062 10010 12786 10675 9682 19246 5454

9 19525 9485 7777 19999 8378 9209 3163 20232 6690 16518 716 7353

10 4588 6709 20202 10905 915 4317 11073 13576 16433 368 3508 21171

11 14072 4033 19959 12608 631 19494 14160 8249 10223 21504 12395 4322];

ct2 = [12 13800 14161 13 2948 9647

14 14693 16027

15 20506 11082

16 1143 9020

17 13501 4014

18 1548 2190

19 12216 21556

20 2095 19897

21 4189 7958

22 15940 10048

23 515 12614

24 8501 8450

25 17595 16784

26 5913 8495

27 16394 10423

28 7409 6981

29 6678 15939

30 20344 12987

31 2510 14588

32 17918 6655

33 6703 19451

34 496 4217

35 7290 5766

36 10521 8925

37 20379 11905

38 4090 5838

39 19082 17040

40 20233 12352

41 19365 19546

42 6249 19030

43 11037 19193

44 19760 11772

45 19644 7428

46 16076 3521

47 11779 21062

48 13062 9682

49 8934 5217

50 11087 3319

51 18892 4356

52 7894 3898

53 5963 4360

Page 152: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 152

54 7346 11726

55 5182 5609

56 2412 17295

57 9845 20494

58 6687 1864

59 20564 5216

0 18226 17207

1 9380 8266

2 7073 3065

3 18252 13437

4 9161 15642

5 10714 10153

6 11585 9078

7 5359 9418

8 9024 9515

9 1206 16354

10 14994 1102

11 9375 20796

12 15964 6027

13 14789 6452

14 8002 18591

15 14742 14089

16 253 3045

17 1274 19286

18 14777 2044

19 13920 9900

20 452 7374

21 18206 9921

22 6131 5414

23 10077 9726

24 12045 5479

25 4322 7990

26 15616 5550

27 15561 10661

28 20718 7387

29 2518 18804

30 8984 2600

31 6516 17909

32 11148 98

33 20559 3704

34 7510 1569

35 16000 11692

36 9147 10303

37 16650 191

38 15577 18685

39 17167 20917

40 4256 3391

41 20092 17219

42 9218 5056

43 18429 8472

44 12093 20753

45 16345 12748

46 16023 11095

47 5048 17595

48 18995 4817

49 16483 3536

50 1439 16148

51 3661 3039

52 19010 18121

53 8968 11793

54 13427 18003

55 5303 3083

56 531 16668

57 4771 6722

58 5695 7960

59 3589 14630];

case 3/4 %Table B.4: rate 3/4 nldpc = 64 800) ct1 = [0 6385 7901 14611 13389 11200 3252 5243 2504 2722 821 7374 1 11359 2698 357 13824 12772 7244 6752 15310 852 2001 11417

2 7862 7977 6321 13612 12197 14449 15137 13860 1708 6399 13444

3 1560 11804 6975 13292 3646 3812 8772 7306 5795 14327 7866

4 7626 11407 14599 9689 1628 2113 10809 9283 1230 15241 4870

5 1610 5699 15876 9446 12515 1400 6303 5411 14181 13925 7358

Page 153: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 153

6 4059 8836 3405 7853 7992 15336 5970 10368 10278 9675 4651

7 4441 3963 9153 2109 12683 7459 12030 12221 629 15212 406

8 6007 8411 5771 3497 543 14202 875 9186 6235 13908 3563

9 3232 6625 4795 546 9781 2071 7312 3399 7250 4932 12652

10 8820 10088 11090 7069 6585 13134 10158 7183 488 7455 9238

11 1903 10818 119 215 7558 11046 10615 11545 14784 7961 15619

12 3655 8736 4917 15874 5129 2134 15944 14768 7150 2692 1469

13 8316 3820 505 8923 6757 806 7957 4216 15589 13244 2622

14 14463 4852 15733 3041 11193 12860 13673 8152 6551 15108 8758];

ct2=[15 3149 11981 16 13416 6906

17 13098 13352

18 2009 14460

19 7207 4314

20 3312 3945

21 4418 6248

22 2669 13975

23 7571 9023

24 14172 2967

25 7271 7138

26 6135 13670

27 7490 14559

28 8657 2466

29 8599 12834

30 3470 3152

31 13917 4365

32 6024 13730

33 10973 14182

34 2464 13167

35 5281 15049

36 1103 1849

37 2058 1069

38 9654 6095

39 14311 7667

40 15617 8146

41 4588 11218

42 13660 6243

43 8578 7874

44 11741 2686

0 1022 1264

1 12604 9965

2 8217 2707

3 3156 11793

4 354 1514

5 6978 14058

6 7922 16079

7 15087 12138

8 5053 6470

9 12687 14932

10 15458 1763

11 8121 1721

12 12431 549

13 4129 7091

14 1426 8415

15 9783 7604

16 6295 11329

17 1409 12061

18 8065 9087

19 2918 8438

20 1293 14115

21 3922 13851

22 3851 4000

23 5865 1768

24 2655 14957

25 5565 6332

26 4303 12631

27 11653 12236

28 16025 7632

29 4655 14128

30 9584 13123

31 13987 9597

32 15409 12110

33 8754 15490

34 7416 15325

35 2909 15549

Page 154: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 154

36 2995 8257

37 9406 4791

38 11111 4854

39 2812 8521

40 8476 14717

41 7820 15360

42 1179 7939

43 2357 8678

44 7703 6216

0 3477 7067

1 3931 13845

2 7675 12899

3 1754 8187

4 7785 1400

5 9213 5891

6 2494 7703

7 2576 7902

8 4821 15682

9 10426 11935

10 1810 904

11 11332 9264

12 11312 3570

13 14916 2650

14 7679 7842

15 6089 13084

16 3938 2751

17 8509 4648

18 12204 8917

19 5749 12443

20 12613 4431

21 1344 4014

22 8488 13850

23 1730 14896

24 14942 7126

25 14983 8863

26 6578 8564

27 4947 396

28 297 12805

29 13878 6692

30 11857 11186

31 14395 11493

32 16145 12251

33 13462 7428

34 14526 13119

35 2535 11243

36 6465 12690

37 6872 9334

38 15371 14023

39 8101 10187

40 11963 4848

41 15125 6119

42 8051 14465

43 11139 5167

44 2883 14521];

case 4/5 %Table B.4: rate 4/5 nldpc = 64 800) ct1 = [0 149 11212 5575 6360 12559 8108 8505 408 10026 12828 1 5237 490 10677 4998 3869 3734 3092 3509 7703 10305

2 8742 5553 2820 7085 12116 10485 564 7795 2972 2157

3 2699 4304 8350 712 2841 3250 4731 10105 517 7516

4 12067 1351 11992 12191 11267 5161 537 6166 4246 2363

5 6828 7107 2127 3724 5743 11040 10756 4073 1011 3422

6 11259 1216 9526 1466 10816 940 3744 2815 11506 11573

7 4549 11507 1118 1274 11751 5207 7854 12803 4047 6484

8 8430 4115 9440 413 4455 2262 7915 12402 8579 7052

9 3885 9126 5665 4505 2343 253 4707 3742 4166 1556

10 1704 8936 6775 8639 8179 7954 8234 7850 8883 8713

11 11716 4344 9087 11264 2274 8832 9147 11930 6054 5455

12 7323 3970 10329 2170 8262 3854 2087 12899 9497 11700

13 4418 1467 2490 5841 817 11453 533 11217 11962 5251

14 1541 4525 7976 3457 9536 7725 3788 2982 6307 5997

15 11484 2739 4023 12107 6516 551 2572 6628 8150 9852

16 6070 1761 4627 6534 7913 3730 11866 1813 12306 8249

17 12441 5489 8748 7837 7660 2102 11341 2936 6712 11977];

Page 155: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 155

ct2 = [18 10155 4210 19 1010 10483

20 8900 10250

21 10243 12278

22 7070 4397

23 12271 3887

24 11980 6836

25 9514 4356

26 7137 10281

27 11881 2526

28 1969 11477

29 3044 10921

30 2236 8724

31 9104 6340

32 7342 8582

33 11675 10405

34 6467 12775

35 3186 12198

0 9621 11445

1 7486 5611

2 4319 4879

3 2196 344

4 7527 6650

5 10693 2440

6 6755 2706

7 5144 5998

8 11043 8033

9 4846 4435

10 4157 9228

11 12270 6562

12 11954 7592

13 7420 2592

14 8810 9636

15 689 5430

16 920 1304

17 1253 11934

18 9559 6016

19 312 7589

20 4439 4197

21 4002 9555

22 12232 7779

23 1494 8782

24 10749 3969

25 4368 3479

26 6316 5342

27 2455 3493

28 12157 7405

29 6598 11495

30 11805 4455

31 9625 2090

32 4731 2321

33 3578 2608

34 8504 1849

35 4027 1151

0 5647 4935

1 4219 1870

2 10968 8054

3 6970 5447

4 3217 5638

5 8972 669

6 5618 12472

7 1457 1280

8 8868 3883

9 8866 1224

10 8371 5972

11 266 4405

12 3706 3244

13 6039 5844

14 7200 3283

15 1502 11282

16 12318 2202

17 4523 965

18 9587 7011

19 2552 2051

20 12045 10306

Page 156: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 156

21 11070 5104

22 6627 6906

23 9889 2121

24 829 9701

25 2201 1819

26 6689 12925

27 2139 8757

28 12004 5948

29 8704 3191

30 8171 10933

31 6297 7116

32 616 7146

33 5142 9761

34 10377 8138

35 7616 5811

0 7285 9863

1 7764 10867

2 12343 9019

3 4414 8331

4 3464 642

5 6960 2039

6 786 3021

7 710 2086

8 7423 5601

9 8120 4885

10 12385 11990

11 9739 10034

12 424 10162

13 1347 7597

14 1450 112

15 7965 8478

16 8945 7397

17 6590 8316

18 6838 9011

19 6174 9410

20 255 113

21 6197 5835

22 12902 3844

23 4377 3505

24 5478 8672

25 4453 2132

26 9724 1380

27 12131 11526

28 12323 9511

29 8231 1752

30 497 9022

31 9288 3080

32 2481 7515

33 2696 268

34 4023 12341

35 7108 5553];

case 5/6 %Table B.4: rate 5/6 nldpc = 64 800) ct1 = [0 4362 416 8909 4156 3216 3112 2560 2912 6405 8593 4969 6723 1 2479 1786 8978 3011 4339 9313 6397 2957 7288 5484 6031 10217

2 10175 9009 9889 3091 4985 7267 4092 8874 5671 2777 2189 8716

3 9052 4795 3924 3370 10058 1128 9996 10165 9360 4297 434 5138

4 2379 7834 4835 2327 9843 804 329 8353 7167 3070 1528 7311

5 3435 7871 348 3693 1876 6585 10340 7144 5870 2084 4052 2780

6 3917 3111 3476 1304 10331 5939 5199 1611 1991 699 8316 9960

7 6883 3237 1717 10752 7891 9764 4745 3888 10009 4176 4614 1567

8 10587 2195 1689 2968 5420 2580 2883 6496 111 6023 1024 4449

9 3786 8593 2074 3321 5057 1450 3840 5444 6572 3094 9892 1512

10 8548 1848 10372 4585 7313 6536 6379 1766 9462 2456 5606 9975

11 8204 10593 7935 3636 3882 394 5968 8561 2395 7289 9267 9978

12 7795 74 1633 9542 6867 7352 6417 7568 10623 725 2531 9115

13 7151 2482 4260 5003 10105 7419 9203 6691 8798 2092 8263 3755

14 3600 570 4527 200 9718 6771 1995 8902 5446 768 1103 6520];

ct2 = [15 6304 7621 16 6498 9209

17 7293 6786

18 5950 1708

Page 157: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 157

19 8521 1793

20 6174 7854

21 9773 1190

22 9517 10268

23 2181 9349

24 1949 5560

25 1556 555

26 8600 3827

27 5072 1057

28 7928 3542

29 3226 3762

0 7045 2420

1 9645 2641

2 2774 2452

3 5331 2031

4 9400 7503

5 1850 2338

6 10456 9774

7 1692 9276

8 10037 4038

9 3964 338

10 2640 5087

11 858 3473

12 5582 5683

13 9523 916

14 4107 1559

15 4506 3491

16 8191 4182

17 10192 6157

18 5668 3305

19 3449 1540

20 4766 2697

21 4069 6675

22 1117 1016

23 5619 3085

24 8483 8400

25 8255 394

26 6338 5042

27 6174 5119

28 7203 1989

29 1781 5174

0 1464 3559

1 3376 4214

2 7238 67

3 10595 8831

4 1221 6513

5 5300 4652

6 1429 9749

7 7878 5131

8 4435 10284

9 6331 5507

10 6662 4941

11 9614 10238

12 8400 8025

13 9156 5630

14 7067 8878

15 9027 3415

16 1690 3866

17 2854 8469

18 6206 630

19 363 5453

20 4125 7008

21 1612 6702

22 9069 9226

23 5767 4060

24 3743 9237

25 7018 5572

26 8892 4536

27 853 6064

28 8069 5893

29 2051 2885

0 10691 3153

1 3602 4055

2 328 1717

3 2219 9299

4 1939 7898

5 617 206

Page 158: Desarrollo de Un Simulador DVB-T2 en Simulink

Desarrollo de un simulador DVB-T2 en Simulink 158

6 8544 1374

7 10676 3240

8 6672 9489

9 3170 7457

10 7868 5731

11 6121 10732

12 4843 9132

13 580 9591

14 6267 9290

15 3009 2268

16 195 2419

17 8016 1557

18 1516 9195

19 8062 9064

20 2095 8968

21 753 7326

22 6291 3833

23 2614 7844

24 2303 646

25 2075 611

26 4687 362

27 8684 9940

28 4830 2065

29 7038 1363

0 1769 7837

1 3801 1689

2 10070 2359

3 3667 9918

4 1914 6920

5 4244 5669

6 10245 7821

7 7648 3944

8 3310 5488

9 6346 9666

10 7088 6122

11 1291 7827

12 10592 8945

13 3609 7120

14 9168 9112

15 6203 8052

16 3330 2895

17 4264 10563

18 10556 6496

19 8807 7645

20 1999 4530

21 9202 6818

22 3403 1734

23 2106 9023

24 6881 3883

25 3895 2171

26 4062 6424

27 3755 9536

28 4683 2131

29 7347 8027];

otherwise error('comm:dvbt2ldpc:UnsupportedCodeRate', ... 'Code rate not supported'); end