NDICE
1.- INTRODUCCIN .............................................................................................................................. 13 1.1.- HISTORIA DE LA TELEVISIN .................................................................................................................. 13 1.2.- OBJETIVOS. ORGANIZACIN DE LA MEMORIA ............................................................................................ 15 2.- DVB ................................................................................................................................................. 17 2.1.- INTRODUCCIN ................................................................................................................................... 17 2.2.- EL PROYECTO DVB .............................................................................................................................. 18 2.3.- ESTNDARES MS 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.- Introduccin ............................................................................................................................ 23 2.4.2.- Codificacin de Canal.............................................................................................................. 25
2.4.2.1.- Adaptacin y Dispersin de Energa ................................................................................................ 25 2.4.2.2.- Codificacin Externa ........................................................................................................................ 26 2.4.2.3.- Codificacin Interna ........................................................................................................................ 27 2.4.2.4.- Entrelazado Interno ......................................................................................................................... 27
2.5.- OTROS ESTNDARES DE TRANSMISIN DIGITAL .......................................................................................... 31 2.5.1.- Estndar ATSC......................................................................................................................... 31 2.5.2.- Estndar ISDB-T ...................................................................................................................... 33 3.- DVB-T2 ............................................................................................................................................ 35 3.1.- INTRODUCCIN ................................................................................................................................... 35 3.2.- VISIN GENERAL SOBRE DVB-T2 ........................................................................................................... 36 3.2.1.- Capa Fsica .............................................................................................................................. 36 3.2.2.- Physical Layer Pipes (PLPs) ..................................................................................................... 37 3.2.3.- Prembulos (P1 y P2) .............................................................................................................. 38 3.2.4.- Patrn de Pilotos .................................................................................................................... 38 3.2.5.- Cdigos de control de errores LDPC/BCH................................................................................ 39 3.2.6.- Etapas de entrelazado ............................................................................................................ 39 3.2.7.- Tcnicas de reduccin de PAPR............................................................................................... 40 3.3.- ELECCIN DE PARMETROS ................................................................................................................... 40 3.3.1.- Eleccin del tamao FFT ......................................................................................................... 41 3.3.2.- Eleccin de portadora normal o extendida............................................................................. 41 3.3.3.- Eleccin del Intervalo de Guarda ............................................................................................ 42 3.3.4.- Eleccin del Patrn de Pilotos ................................................................................................. 43 3.3.5.- Eleccin de la longitud de la Trama ........................................................................................ 44
3.3.6.- Eleccin de los parmetros de entrelazado de tiempo ........................................................... 45 3.4.- ESTRUCTURA FSICA DE LA TRAMA .......................................................................................................... 46 3.4.1.- Sper-trama ............................................................................................................................ 46 3.4.2.- Trama T2................................................................................................................................. 47 3.4.3.- Sealizacin L1 ....................................................................................................................... 49 3.5.- ESTRUCTURA LGICA 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.- SEALIZACIN L1 ................................................................................................................................ 52 3.7.- CODIFICACIN Y MODULACIN .............................................................................................................. 53 3.7.1.- Correccin de errores para las PLP ......................................................................................... 53 3.7.2.- Entrelazado de Bits ................................................................................................................. 54 3.7.3.- Entrelazador de clulas........................................................................................................... 55 3.7.4.- Entrelazado de Tiempo ........................................................................................................... 56 3.8.- FORMACIN DE TRAMA Y GENERACIN OFDM......................................................................................... 57 3.8.1.- Entrelazado en frecuencia ...................................................................................................... 58 3.8.2.- Insercin de Pilotos ................................................................................................................. 59
3.8.2.1.- Definicin 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.- Propsito de la insercin de pilotos ................................................................................................ 61 3.8.2.3.- Localizacin de las portadoras pilotos ............................................................................................. 61
3.9.- USO DEL SMBOLO P1 .......................................................................................................................... 62 3.9.1.- Introduccin ............................................................................................................................ 62 3.9.2.- Estructura del smbolo P1 ....................................................................................................... 62 3.9.3.- Caractersticas de P1 .............................................................................................................. 64 4.- MODULACIN 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.- Sincronizacin ......................................................................................................................... 70
4.2.4.1.- Sincronizacin de Smbolos ............................................................................................................. 70 4.2.4.2.- Sincronizacin de la frecuencia de muestreo .................................................................................. 71 4.2.4.3.- Sincronizacin de la frecuencia de portadora ................................................................................. 72
5.- MATLAB Y SIMULINK ...................................................................................................................... 76 5.1.- MATLAB ............................................................................................................................................ 76 5.1.1.- Introduccin ............................................................................................................................ 76 5.1.2.- Componentes de Matlab ........................................................................................................ 77 5.1.3.- El entorno de trabajo de Matlab ............................................................................................ 77
5.1.3.1.- Ayuda en lnea ................................................................................................................................. 77 5.1.3.2.- Organizacin de ventanas ............................................................................................................... 78 5.1.3.3.- Operaciones bsicas en la lnea de comandos ................................................................................ 79 5.1.3.4.- Operaciones bsicas 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.- Introduccin ............................................................................................................................ 83 5.2.2.- Uso de Simulink ...................................................................................................................... 83 5.2.3.- El espacio de trabajo Simulink ................................................................................................ 85 5.2.4.- Fuentes y Sumideros de seal ................................................................................................. 86 6.- SIMULACIN ................................................................................................................................... 87 6.1.- INTRODUCCIN ................................................................................................................................... 87 6.2.- VISIN 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.4.1.- Demodulacin OFDM ....................................................................................................................... 118 6.4.1.1.- Eliminacin del Intervalo de Guarda ............................................................................................. 118 6.4.1.2.- FFT ................................................................................................................................................. 119 6.4.1.3.- Frame Conversion.......................................................................................................................... 119 6.4.1.4.- Eliminacin de ceros ...................................................................................................................... 119
7.- CONCLUSIONES Y LNEAS FUTURAS .............................................................................................. 139 8.- BIBLIOGRAFA ............................................................................................................................... 141 ANEXO ............................................................................................................................................... 143 VARIABLES ............................................................................................................................................... 143 FUNCIN DVBT2LDPC ................................................................................................................................ 147
NDICE DE GRFICAS
FIG. 2.1: ESTNDARES PARA LA TELEVISIN 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 DISPERSIN DE ENERGA DEL FLUJO DE TRANSPORTE ................... 25 FIG. 2.5: CODIFICACIN REED-SOLOMON .................................................................................................. 26 FIG. 2.6: ESTRUCTURA DEL SEGMENTO DE DATOS .................................................................................... 32 FIG. 2.7: DIAGRAMA DE BLOQUES DE LA CODIFICACIN DE CANAL EN ISDB-T ......................................... 34 FIG. 3.1: COMPARACIN ENTRE DVB-T Y DVB-T2 ...................................................................................... 35 FIG. 3.2: VISIN GENERAL DE UN SISTEMA DVB-T2 ................................................................................... 36 FIG. 3.3: DIFERENTES PLPS OCUPANDO DIFERENTES INTERVALOS DE TIEMPO ......................................... 37 FIG. 3.4: PATRN DE PILOTOS DISPERSAS EN DVB-T (IZQUIERDA) Y DVB-T2 (DERECHA) .......................... 39 FIG. 3.5: COMPARACIN ENTRE CODIFICACIN CONVOLUCIONAL (DVB-T) Y CODIFICACIN LDPC (DVBT2) ............................................................................................................................................................... 39 FIG. 3.6: ESPECTRO DE LA SEAL 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 SEALIZACIN L1, PLPS Y CADENAS AUXILIARES EN UNA TRAMA T2 .................. 48 FIG. 3.10: MAPEADO DE SEALIZACIN L1 EN SMBOLOS P2 .................................................................... 49 FIG. 3.11: ESTRUCTURA DE LA SEALIZACIN L1 ....................................................................................... 53 FIG. 3.12: EJEMPLO DE ENTRELAZADO DE BITS .......................................................................................... 55 FIG. 3.13: ESQUEMA DEL ENTRELAZADO DE CLULA ................................................................................. 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: FORMACIN DE LA SECUENCIA DE REFERENCIA ....................................................................... 59 FIG. 3.17: GENERACIN DE LA SECUENCIA PRBS ....................................................................................... 60 FIG. 3.18: ESTRUCTURA DEL SMBOLO P1 .................................................................................................. 63 FIG. 4.1: POSICIN DEL PREFIJO CCLICO RESPECTO A UN SMBOLO OFDM ............................................. 66 FIG. 4.2: ESQUEMA GENERAL DE UN SISTEMA CON MODULACIN 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
FIG. 4.5: EFECTOS DEL OFFSET DE FRECUENCIA F: REDUCCIN DE LA AMPLITUD DE LA SEAL () Y LA INTERFERENCIA ENTRE PORTADORAS () .................................................................................................. 73 FIG. 4.6: EJEMPLO DE TRANSMISIN DE INFORMACIN DE PILOTOS ....................................................... 74 FIG. 5.1: ENTORNO DE TRABAJO MATLAB .................................................................................................. 78 FIG. 5.2: VENTANA NAVEGACIN DE BLOQUES SIMULINK ........................................................................ 84 FIG. 5.3: ESPACIO DE TRABAJO DE SIMULINK............................................................................................. 85 FIG 6.1: ESQUEMA GENERAL DE MODULACIN......................................................................................... 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 ESTNDAR .................................... 91 FIG. 6.5: ESQUEMA DE LA ETAPA CODIFICACIN Y MODULACIN DE DATOS .......................................... 98 FIG. 6.6: ESQUEMA DE CODIFICACIN Y MODULACIN DE DATOS PROPUESTO POR EL ESTNDAR........ 98 FIG. 6.7: FORMATO DE LOS DATOS ANTES DE LA ETAPA DE MODULACIN .............................................. 98 FIG. 6.8: ESQUEMA DE LA CONSTELACIN TRANSMITIDA ....................................................................... 100 FIG. 6.9: ENTRELAZADO EN TIEMPO......................................................................................................... 101 FIG. 6.10: ESQUEMA DE ADICIN DE PILOTOS ......................................................................................... 103 FIG. 6.11: ESQUEMA DEL GENERADOR DE TRAMAS PROPUESTO POR EL ESTNDAR ............................. 103 FIG. 6.12: ESQUEMA DE LA GENERACIN DE PILOTOS ............................................................................ 105 FIG. 6.13: ESQUEMA DEL SELECCIONADOR DE NDICES ........................................................................... 110 FIG. 6.14: MODULACIN DE LA SEAL ..................................................................................................... 113 FIG. 6.15: ESQUEMA DE MODULACIN DE LA SEAL PROPUESTO POR EL ESTNDAR ........................... 113 FIG. 6.16: ESQUEMA DE LA INSERCIN DEL INTERVALO DE GUARDA ..................................................... 116 FIG. 6.17: ESQUEMA GENERAL DEL RECEPTOR ........................................................................................ 117 FIG. 6.18: ESQUEMA DE DEMODULACIN DE LA SEAL .......................................................................... 118 FIG. 6.19: ESQUEMA DE ELIMINACIN DE LAS PORTADORAS PILOTOS ................................................... 120 FIG. 6.20: ESQUEMA PARA GENERAR LOS VECTORES DE REORDENACIN ............................................. 121 FIG. 6.21: ESQUEMA DEL PROCESO DE DECODIFICACIN DE DATOS ...................................................... 126 FIG. 6.22: ESQUEMA DE LA ETAPA EXTRACCIN DE DATOS .................................................................... 130 FIG. 6.23: ESQUEMA DE UNA SEAL QPSK ............................................................................................... 134 FIG. 6.24: CONSTELACIONES DE LAS SEALES TRANSMITIDAS Y RECIBIDAS ........................................... 134 FIG. 6.25: ESPECTRO TERICO PARA UNA SEAL DVB-T2........................................................................ 135 FIG. 6.26: ESPECTRO EN FRECUENCIA DE LA SEAL TRANSMITIDA ......................................................... 135 FIG. 6.27: BER A LOS 4.4810^(-3) SEG. .................................................................................................... 137 FIG. 6.28: BER A LOS 0.2 SEG .................................................................................................................... 137 FIG. 6.29: BER A LOS 0.4 SEG. ................................................................................................................... 138
NDICE DE TABLAS
TABLA 3.1: DURACIN DE LOS INTERVALOS DE GUARDA EN S PARA CANALES DE 8MHZ ...................... 43 TABLA 3.2: COMPARACIN ENTRE LOS PATRONES DE SCATTERED PILOTS ............................................... 44 TABLA 3.3: NMERO DE SMBOLOS P2 PARA CADA VALOR DE FFT ........................................................... 47 TABLA 3.4: MXIMA LONGITUD DE TRAMA LF EN SMBOLOS OFDM ........................................................ 48 TABLA 3.5: DISTRIBUCIN DE LOS PESOS DE LAS COLUMNAS PARA BLOQUES DE 64800......................... 54 TABLA 3.6: DISTRIBUCIN DE LOS PESOS DE LAS COLUMNAS PARA BLOQUES DE 16200......................... 54 TABLA 3.7: PERMUTACIN DE BITS PARA EL MODO 8K ............................................................................. 58 TABLA 3.8: SECUENCIA PN GENERAL. DESCRIPCIN HEXADECIMAL ......................................................... 60 TABLA 3.9: PRESENCIA DE LOS DISTINTOS TIPOS DE PILOTOS EN CADA TIPO DE SMBOLO ...................... 62 TABLA 5.1: OPERACIONES ARITMTICAS Y LGICAS EN MATLAB .............................................................. 80 TABLA 5.2: FUNCIONES ELEMENTALES DE MATLAB: TRIGONOMETRA..................................................... 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 SEAL EN SIMULINK ............................................................................................ 86 TABLA 5.10: SUMIDEROS DE SEAL EN SIMULINK ..................................................................................... 86
Definiciones
Clulas OFDM: El valor de la modulacin para cada portadora OFDM durante un smbolo OFDM. Clula de datos: Clula OFDM que no es una portadora piloto. Smbolo OFDM: Conjunto de portadoras moduladas y codificadas con sus correspondientes valores de modulacin. Incluye el intervalo de guarda. Sistema T2: Entidad donde una o ms PLPs son transportadas, en una direccin determinada, dentro de una seal DVB-T2 en una o ms frecuencias. El sistema T2 es nico dentro de la red T2 y viene identificado por el parmetro T2_system_id. Physical Layer Pipe (PLP): Capa fsica TDM del canal. Trama T2: Capa fsica TDM fija que se dividir en distintas portadoras. Smbolo P1: Smbolo que contiene la sealizacin S1 y S2 y est localizado en el inicio de la trama. Principalmente se usa para detectar seales T2, offset en frecuencia y para conocer el tamao de la FFT usado. Smbolo P2: Smbolo localizado justo despus del smbolo P1 con el mismo valor de FFY e intervalo de guarda que lo smbolos de datos. Se usan para afinar la sincronizacin en frecuencia y en tiempo as como para la estimacin inicial del canal. Bloques TI: Conjunto de clulas dentro de las que se procede al entrelazado en tiempo. Sealizacin P1: Sealizacin transportada en un smbolo P1 y que se usa para poder identificar los parmetros bsicos de los smbolos OFDM. Tamao de la FFT: Valor de la FFT usada para un modo particular, igual al periodo del smbolo expresado en relacin al periodo elemental T. Perodo 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.
Desarrollo de un simulador DVB-T2 en Simulink 9
BBFRAME: Conjunto de Kbch bits que constituyen la entrada de un proceso de codificacin FEC. FECFRAME: Conjunto de Nldpc bits procedentes del proceso de codificacin LDPC.
Smbolos
: Duracin del Intervalo de guarda C/N: Relacin potencia de la portadora frente al ruido. Cdata: Nmero de clulas activas en un smbolo de datos. Cp2: Nmero de clulas activas en un smbolo P2. Ctot: Nmero de clulas acticas en una trama T2. H(p): Funcin de permutacin para el entrelazado en frecuencia. H0(p): Funcin de permutacin para el entrelazado en frecuencia, para smbolos pares. H1(p): Funcin de permutacin para el entrelazado en frecuencia, para smbolos impares. Ldata: Nmero de smbolos de datos por trama T2. LF: Nmero de smbolos OFDM por trama T2, excluyendo el smbolo P1. Lr(q): Funcin de permutacin para el entrelazado de clulas para el bloque FEC r. Nbch: Nmero de bits del bloque BCH. Ncells: Nmero de clulas OFDM por bloque FEC. Ndata: Nmero de clulas de datos en un smbolos OFDM. NFEF: Nmero de partes FEF en una sper- trama. Nldpc: Nmero de bits del bloque LDPC. Np2: Nmero de smbolos P2 por trama T2.
Desarrollo de un simulador DVB-T2 en Simulink 10
T: Perodo Elemental dependiente del ancho de banda usado. TFEF: Duracin de cada parte FEF. Tp1: Duracin de un smbolo P1. Ts: Duracin total de un smbolo OFDM. Tu: Duracin del smbolo activo, es decir, sin contar con las portadoras pilotos, de un smbolo OFDM. UPL: Longitud del Paquete de Usuario.
ABREVIATURAS
16QAM: 16-ary Modulacin de Amplitud en Cuadratura. 64QAM: 64-ary Modulacin de Amplitud en Cuadratura. 256QAM: 64-ary Modulacin de Amplitud en Cuadratura. ACM: Codificacin y Modulacin Adaptable. AWGN: Ruido Aditivo Blanco Gaussiano. BB: Banda Base. BCH: Correcin Binaria Bose-Chaudhuri-Hocquenghem. CBR: Tasa de bit constante. CI: Cell Interleaver (Entrelazador de clula). DVB: Digital Video Broadcasting. DVB-T: Digital Video Broadcasting-Terrestrial. DVB-T2: Digital Video Broadcasting-Terrestrial, versin 2. FEC: Forward Error Correction (Correccin de Errores hacia delanta). FEF: Future Extension Frame. Tramas reservadas para uso futuro. FFT: Transformada rpida de Fourier.
Desarrollo de un simulador DVB-T2 en Simulink 11
IFFT: Transformada rpida inversa de Fourier. ISI: Interferencia Inter-Smbolo. LDPC: Low Density Parity Check. PAPR: Peak to Average Power Ratio. Es la relacin entre la potencia de pico y la potencia media. PLP: Physical Layer Pipes. Representa la capa fsica de la trama. QPSK: Quaternary Phase Shift Keying. UP: Paquetes de usuario.
12
13
La industria de la televisin inici con ms mpetu sus actividades despus de la guerra. Muy pronto la mayor parte de Europa adopt un sistema propio de 625 lneas, a excepcin de Francia con uno de 819 lneas e Inglaterra con uno de 405 lneas. Estados Unidos estandariz el suyo en 525 lneas. El sistema de compatibilidad slo 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 televisin 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 suceda cada descubrimiento. Muy pronto se cre la televisin por cable, invento relativamente reciente para nosotros pero con ms de 60 aos desde que apareci en la industria televisiva. Conocida anteriormente como CATV (Community Antenna Television), el sistema de cable naci en las montaas de Pennsylvania a finales de 1940 gracias al ingenio del seor Milton Shapp. Se extendi hacia las reas ms remotas, lejos de los transmisores de los canales de televisin en las ciudades. La televisin por satlite apareci en 1959 cuando la sonda espacial sovitica Lunik III envi a la tierra las primeras imgenes de la cara oculta de la luna; en 1961 fueron transmitidas las primeras imgenes del hombre en el espacio y en 1965 el satlite estadounidense Early Bird permiti la transmisin de programas directos en ambas direcciones entre Estados Unidos y Europa. A finales de los aos 80 se empezaron a desarrollar sistemas de digitalizacin. La digitalizacin en la televisin tiene dos partes bien diferenciadas: por un lado tenemos la digitalizacin de la produccin y por otro la digitalizacin de la transmisin. Para la produccin se desarrollaron varios sistemas de digitalizacin. Los primeros de ellos estuvieron basados en la digitalizacin de la seal compuesta de vdeo que no tuvo xito. El planteamiento de digitalizar las componentes de la seal de vdeo, es decir la luminancia y las diferencias de color, fue el que result ms idneo. En un principio se desarrollaron sistemas de seales en paralelo, con gruesos cables que precisaban de un hilo para cada bit, aunque pronto se sustituyeron por una transmisin multiplexada en tiempo. Este sistema permiti, adems, incluir el audio. En cuanto a la transmisin, la digitalizacin de la misma fue posible gracias a tcnicas de compresin que lograron reducir el flujo a menos de 5 Mbits/s (hay que tener en cuenta que el flujo original de una seal de calidad de estudio tiene 270 Mbits/s.) Esta compresin es la llamada MPEG-2 que produce flujos de entre 4 y 6 Mbits/s sin prdidas apreciables de calidad.
14
El avance de la informtica permiti el tratamiento informtico de las seales de televisin. Los sistemas de almacenamiento, como los magnetoscopios, pasaron a ser sustituidos por servidores informticos de vdeo y los archivos pasaron a guardarse en discos duros. El acceso a la informacin se realizaba desde los propios ordenadores donde tenamos programas de edicin de vdeo de tal forma que la informacin residente en el archivo era accesible en tiempo real por el usuario. Los avances han seguido sucediendo, la bsqueda por mejorar la calidad de la imagen no ha cesado. En estos ltimos aos la tecnologa ha logrado recrear imgenes de excelente definicin gracias a resoluciones de 1100-1200 lneas que se alcanzan con el desarrollo de la televisin de alta definicin HDTV (High Definition Television), inventada en 1989, cuyo xito radica en la amplitud de banda utilizada.
15
modulacin, tales como problemas de sincronismo, no linealidades o interferencias externas. El Captulo 5 est dedicado a Matlab y a Simulink. Con este captulo hemos pretendido que el lector se familiarice con el entorno en el que hemos llevado a cabo la simulacin. El Captulo 6 es, sin duda, el captulo ms importante de este Proyecto, si bien no podr seguirse sin haber realizado una lectura de los anteriores. En l explicaremos la simulacin de nuestro sistema de comunicaciones. En primer lugar haremos una presentacin 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 resea de la funcin que van a desempear cada uno de ellos y explicando los parmetros que hemos utilizado para la configuracin de los mismos. Por ltimo, mostraremos los resultados obtenidos, de forma que apoyen o desaprueben nuestro sistema. Para finalizar, en el Captulo 7, exponemos una serie de lneas futuras de investigacin y que se dejan abiertas para posteriores estudios.
Como idea general me gustara hacer hincapi en el carcter terico, expositivo e incluso didctico de este Proyecto Fin de Carrera. La bibliografa seguida est publicada en el Captulo 8. Las funciones y variables que se han seguido durante el proceso de simulacin se encuentran recogidas en el Anexo, al final de este Proyecto.
16
Tambin se definen estndares que definen las caractersticas de la sealizacin en el canal de retorno (medio por el cual el usuario se comunica con el proveedor de servicios o contenidos) en sistemas de televisin interactiva, la estructura de transmisin de datos para el cifrado y descifrado de programas de acceso condicional, la transmisin de subttulos, y la radiodifusin de datos (nuevos canales de teletexto) mediante sistemas digitales.
17
18
19
El vdeo, el audio y el resto de los datos (informacin especfica, informacin del servicio o los datos del abonado para el acceso condicional) se insertan en los paquetes de transporte del MPEG2. Despus de esto se invierten los bytes de sincronizacin cada 8 paquetes. Los contenidos de cada paquete se aleatorizan (scrambling), a excepcin de aquellos que incluyan la Informacin Especfica de Servicio (PSI). De esta manera se consigue el acceso condicional y otra serie de ventajas, como una mayor proteccin frente a errores, uniformar el uso de la banda disponible o facilitar la sincronizacin. Permite multiplexar varios flujos de paquetes de transporte en un nico flujo de transporte multiprograma. Permite la proteccin contra errores en dos etapas: una primera fase, llamada outer code, que utiliza un cdigo Reed-Solomon, aade un 12% de sobrecarga a los datos tiles; la segunda fase, inner code, utiliza un cdigo convolucional definido por los distintos proveedores de servicios segn sus propias necesidades. Finalmente se modula la seal QPSK y es retransmitida a travs del correspondiente transpondedor del canal en cuestin. Con todo este proceso la seal se adecua a las propiedades del canal concreto para su correcta transmisin.
20
2.3.2.- DVB-S2
La segunda versin del estndar DVB-S fue lanzada al pblico en el ao 2003 y ratificada por la ETSI dos aos ms tarde, en marzo de 2005. Durante el desarrollo de dicho estndar se desarrollan dos cdec de vdeo de alta definicin: el HDTV y el H.264 (MPEG-4 AVC). El sistema permite la transicin de MPEG-2 o MPEG-4 en cualquier combinacin (slo uno, los dos o incluso combinando audio y vdeo de un tipo y de otro). El estndar DVB-S2 permite la utilizacin de las modulaciones QPSK, 8PSK, 16PSK o 32PSK con codificacin concatenada. Este nuevo sistema est basado en el anterior estndar (DVB-S). Las dos caractersticas ms importantes que aade DVB-S2 frente a DVB-S son: VCM (Variable Coding and Modulation, Codificacin y Modulacin Variable) que optimiza los parmetros de la transmisin para diferentes usuarios. Cambios en los parmetros de la codificacin en tiempo real (ACM, Adaptive Coding and Modulation, Codificacin y Modulacin Modificable). DVB-S2 se utiliza para emitir la televisin en definicin estndar (SDTV) o en alta definicin (HDTV) o para servicios interactivos con acceso a internet, donde los contenidos generados por el usuario se pueden enviar por cable, ADSL o conexin va satlite. Tambin puede emplearse para aplicaciones profesionales, que multiplexan los datos en tiempo real y se envan en la banda VHF/UHF. Opcionalmente puede hacerse compatible con el estndar anterior (DVB-S), pero reduciendo el ancho de banda en un 30%. Para la total implantacin del estndar DVB-S2 frente a DVB-S se estiman que sean necesarios unos 15 aos, siendo el mayor obstculo para este cambio el coste de actualizacin de los equipos transmisores del satlite.
2.3.3.- DVB-C
El estndar DVB-C nace en diciembre de 1994. El sistema transmite basndose en las familias digitales MPEG-2 y MPEG-4, tanto para vdeo como para audio, empleando para ello una modulacin QAM, desde 16-QAM hasta 256 QAM, para la televisin y los servicios de radiodifusin. Esta norma es seguida actualmente por todo tipo de operadores de cable del mundo.
21
Debido a las existencia de una gran demanda en servicios de televisin digital, muchos operadores de cable ya han actualizado sus redes, desplegando mayoritariamente la modulacin 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 transmisin, con un mximo de 862 MHz. Tambin empiezan a surgir operadores de cable que ofrecen un abanico de televisin analgica y simultneamente varios cientos de canales de televisin digital, junto a los nuevos y sofisticados servicios aadidos (como interactividad y/o personalizacin de los servicios). Aun as, la demanda de servicios ms avanzados contina 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 hbridas de fibra ptica con coaxial (HFC) estn optimizando el rendimiento para mejorar las prestaciones con los sistemas de modulacin que permite el DVB-C. Es precisamente la demanda de servicios ms sofisticados por parte de los usuarios lo que ha llevado al desarrollo de un nuevo estndar, el DVB-C2, con el que se espera suministrar a la industria del cable servicios con tecnologa punta por al menos otros diez aos.
2.3.4.- DVB-C2
En 2007, un estudio llevado a cabo por el departamento tcnico del organismo DVB, identific diversas tecnologas que podan ser consideradas como alternativas de xito a la especificacin existente, DVB-C. De esta manera surge, el 18 de febrero de 2008, la segunda versin del estndar de DVB para cable, el DVB-C2. Este nuevo estndar 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 (vdeo 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 seales recibidas va satlite o de redes terrestres usando complejos esquemas de modulacin. Necesidad de tener ms y mejores herramientas proporcionando nuevas oportunidades de expansin a los distintos operadores en mercados residenciales o de negocios.
Desarrollo de un simulador DVB-T2 en Simulink 22
2.4.- DVB-T
2.4.1.- Introduccin
El estndar de televisin digital denominado DVB-T (Terrestrial Digital Video Broadcasting), y recogido en el estndar ETSI (European Telecommunications Standards Intitute) EN 300 744, especifica los procesos de codificacin de canal y de modulacin para un adecuado funcionamiento cuando se usan los canales de transmisin terrestre. Como en el resto de estndares DVB, la seal 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 Codificacin de Fuente es una adaptacin del estndar MPEG-2 segn la norma ISO/IEC 138-1 que se estructura multiplexando varios programas y aadiendo la Informacin del Servicio (SI) correspondiente, segn EYS 300 468. El sistema DVB-T es muy flexible, disponindose de una serie de opciones: 2 modos de transmisin: 2k (1705 portadoras) u 8k (6817 portadoras). 3 esquemas de modulacin: QPSK, 16-QAM y 64-QAM. 5 relaciones de codificacin para proteccin 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. Modulacin jerrquica o no jerrquica con diferentes valores del parmetro .
Un aspecto a destacar de la modulacin utilizada, OFDM (que se ver con ms detalle en el captulo 4) es que permite la separacin, tanto en reas pequeas como grandes, de Redes de Frecuencia nica (Single Frequency Networks, SFN). Esto posibilita la recepcin cuando se radian idnticos programas desde diferentes transmisores que operan en la misma frecuencia. En estas condiciones se obtiene la mxima 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 esquemtica el diagrama de bloques funcionales del sistema DVB-T.
23
En la figura anterior, marcados con puntos, podemos ver los bloques funcionales para transmisiones jerrquicas. 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 modulacin 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 informacin con el anterior de forma que las portadoras son moduladas finalmente con un esquema ms exigente en cuanto a relacin seal/ruido. En el caso de que este ltimo flujo de transporte utilice 4 bits por cada 2 bits de alta prioridad, se alcanzara una constelacin total para la seal emitida de 64-QAM. En la zona del rea de cobertura donde se reciba la seal con buena relacin S/N, la imagen recuperada, de alta calidad, corresponder a la combinacin de los dos flujos (alta y baja prioridad) mientras que en el caso contrario (baja relacin S/N) la calidad de imagen recibida ser peor, correspondiendo slo al flujo de alta prioridad. A continuacin veremos, muy brevemente, algunas de las caractersticas ms importantes del estndar.
24
Fig. 2.4: Generador PRBS para la dispersin de energa 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 sincronizacin invertido del TS y as sucesivamente con los dems bits. Para ayudar al resto de funciones de la sincronizacin, durante los bytes de sincronismo de los otros 7 paquetes, la generacin PRBS contina, 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 estndar MPEG-2.
25
El proceso de entrelazado convolucional de basa en la aproximacin de Forney [1]. Los bytes de datos entrelazados, pertenecientes a los paquetes de transporte protegidos, estn delimitados por los bytes de sincronizacin MPEG-2 invertidos y no invertidos, que no sufren alteracin 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 quedarn repartidos entre dos paquetes consecutivos. Todo este proceso reduce los errores por rfagas introducidos por el canal de transmisin (errores que afectan a varios bytes consecutivos), ya que despus de la reordenacin de los datos en el receptor, estos errores se habrn distribuido entre paquetes sucesivos, lo que favorecer que no se excedan los lmites en los que la codificacin Reed-Solomon puede recuperar la informacin original.
26
Entrelazado de bits El entrelazado de bits se realiza por bloques y slo acta sobre los datos tiles. El tamao del bloque es de 126 bits para todos los entrelazadores, aunque la secuencia de entrelazado es diferente de unos a otros. El citado tamao de los bloques implica que este proceso se repite un nmero exacto de veces por cada smbolo OFDM tanto si usa el estndar 2k como si se usa el 8k:
Estndar 2k
N portadoras activas para datos: Bits totales por smbolo OFDM: N entrelazadores de bits: Repeticin del entrelazado (n de veces por smbolo OFDM): 1512 v x 1512 v (vx1512)/(vx126)=12
Estndar 8k
6048 v x 6048 v (vx6048)/(vx126)=48
27
Las salidas de los v entrelazadores se agrupan para formar palabras (yw) de v bits, de manera que se toma cada vez un nico bit de la entrada de cada entrelazador.
Entrelazado de smbolos El entrelazado de smbolos se realiza sobre las anteriores palabras yw conteniendo cada una de ellas v bits, de forma que a la salida del entrelazador queden agrupadas en bloques cuyo tamao est calculado para que los datos se puedan distribuir directamente entre las 1512 portadoras (modo 2k) o 6048 (8k) portadoras activas que tiene cada smbolo OFDM.
28
La capacidad del canal o flujo binario til Fu resultar de descontar del flujo binario total las redundancias incluidas en la codificacin interna y en la codificacin Reed-Solomon, es decir: Fu= FT r 188/204 (bits/s) Siendo r la relacin de codificacin interna.
29
Esto significa que, adems de las portadoras para datos, la seal transmitida incluye portadoras cuya utilidad es la siguiente: Portadoras Pilotos Continuas, para sincronizacin del receptor en frecuencia y fase. Portadoras Pilotos Dispersas, para generacin del canal en amplitud y fase en el receptor. Portadoras TPS con la informacin del modo transmitido.
La incorporacin de estas portadoras pilotos exige reorganizar la seal transmitida en Tramas: Cada trama, con duracin TF consiste en 68 smbolos OFDM, que se numeran de 0 a 67. En consecuencia, TF = 68TS. Una Sper-Trama est formada por 4 Tramas tanto en modo 2k como 8k. Una Mega-Trama est formada por 32 tramas en el caso del estndar 2k y 8 tramas para el caso de que se trate del estndar 8k. El nmero de portadoras pilotos es el siguiente:
Portadoras
Localizacin de las Portadoras Pilotos Continuas A diferencia de lo que ocurre con las Portadoras Pilotos Dispersas, las posiciones que ocupan estas portadoras en cada smbolo OFDM son siempre las mismas.
l: Nmero del smbolo dentro de la trama (0 l 67). k: ndice de la portadora dentro de cada smbolo OFDM (0 kkmax), donde kmx = 6816 en modo 8k y kmx = 1704 en modo 2k.
Para el smbolo 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 nmero entero p 0 que debe cumplir la condicin de que el valor resultante k no exceda el valor de kmax correspondiente al estndar de que se trate.
Portadoras TPS Las portadoras TPS sirven para sealizar los parmetros correspondientes al esquema de transmisin empleado, es decir, para informar de todo lo relativo a la Codificacin de Canal y a la Modulacin usadas para la transmisin. Estas portadoras TPS se transmiten en paralelo, ocupando 17 posiciones de cada smbolo OFDM en el estndar 2k y 68 posiciones en el estndar 8k.
de la seal 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 seal de salida del modulador es una seal modulada en amplitud, con vestigio de seal 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 caractersticas, dependen de la eleccin del fabricante. El modulador, de manera similar a otros estndares, cumple dos funciones esenciales: primero, realiza la codificacin del canal y segundo, la modulacin propiamente dicha. La seal 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 cdigo 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 smbolos. Los paquetes de transporte MPEG-2 en los estndares ATSC, DVB a ISDB son de 187 bytes ms un byte de sincronismo que no se somete a codificacin del canal. En ATSC la codificacin 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 smbolo, un segmento de datos tiene una longitud de 208 x 8/3 x 3/2 = 832 smbolos, de los cuales 828 constituyen los datos codificados mediante R-S y los otros cuatro son smbolos de sincronismo del segmento. En total se tienen 3 x 832 = 2496 smbolos/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
A una tasa binaria de 32.28 Mbits/s, la duracin por bit es de 31 ns, de modo que la duracin 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 duracin de un campo
Desarrollo de un simulador DVB-T2 en Simulink 32
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.
33
La dispersin de energa, ajuste de retardo, intercalado de bits y codificacin convolucional se aplican a cada segmento de datos por separado, lo que permite que el intercalado y la tasa de cdigo del codificador interno, as como la constelacin de seales, pueda seleccionarse independientemente para cada capa jerrquica. El intercalado a nivel de bit difiere para cada capa, dependiendo de la codificacin de canal y de la modulacin. 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 cmputo de la IFFT para generar portadoras mltiples en cuadratura. Dependiendo del modo de transmisin, el nmero de portadoras vara de 1405 a 5617, de las que el nmero de portadoras activas vara de 1249 a 4993. El ancho de banda ocupado por la informacin es aproximadamente de 5.6, 6.5 y 7.4 MHz para los canales de RF de 6, 7 y 8 MHz respectivamente. Adems de las tres constelaciones usuales en DVB-T (QPSK, 16QAM y 64QAM), en ISDB tambin se utiliza DPSK (modulacin diferencial en cuadratura de fase). Una vez llevada a cabo la modulacin, la seal de salida ISDB-T est generada y el resto del sistema transmisor, al igual que en otros sistemas, tiene por finalidad la conversin de la salida de FI del modulador a la frecuencia del canal de RF y la amplificacin subsiguiente para alcanzar el nivel de potencia requerido para la transmisin.
34
35
En pases donde DVB-T ya est operando, la transicin DVB-T a DVB-T2 tendr que darse paulatinamente, si se quiere que prospere; los servicios ofrecidos por ambos estndares coexistirn durante un tiempo. Adems se ha comprobado, por experiencias en Australia (donde se usa DVB-T con una codificacin de vdeo MPEG2) y de Francia (DVB-T con una codificacin de vdeo MPEG4) que es posible ofrecer servicios de alta definicin (HDTV) sin necesidad del nuevo estndar. No obstante, los precios de los equipos DVB-T2 caern durante los prximos aos, lo que convertir al nuevo estndar en la primera opcin para llevar los servicios de televisin digital a pases donde stos no existan.
36
A la salida del modulador tendremos una seal RF o un nico canal RF. Opcionalmente, la salida podr dividirse en una segunda seal, para ser transportada a otra antena en transmisiones tipo MISO (Multiple Inputs, Output), usando una codificacin Alamouti modificada. Si existe una nica capa fsica (PLP) habr un nico canal de datos. El rango de parmetros del estndar COFDM se ha extendido en comparacin con el de DVB-T: Tamao 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. Patrn de portadoras dispersas (scattered-pilot): 8 versiones diferentes ajustadas a cada uno de los intervalos de guarda. Pilotos continuos, similares a los del estndar DVB-T, pero con una optimizacin mejorada para reducir la sobrecarga. Un modo de portadora extendida que permite una optimizacin en el uso de los canales limitados en banda para tamaos FFT mayores.
37
Tpicamente un grupo de servicios compartirn elementos comunes. Para evitar la necesidad de duplicar esta informacin para cada una de las PLPs, el estndar DVBT2 incluye el concepto de PLPs comunes. De ah que los receptores necesiten decodificar 2 PLPs simultneamente al recibir un servicio: las PLPs de datos y las PLPs comunes a estos servicios. En el estndar se definen dos modos de entrada: Modo A, que usa una nica PLP. Modo B, que usa mltiples PLPs.
Fig. 3.5: Comparacin entre codificacin convolucional (DVB-T) y codificacin LDPC (DVB-T2)
eliminen largas secuencias de la cadena de datos original. Adems, el entrelazado es ajustado de acuerdo al comportamiento de los cdigos de control de errores ya que estos no protegen a todos los datos por igual. Por ltimo, estas etapas de entrelazado se han diseado de forma que los bits transportados en puntos de una constelacin ya transmitida no se correspondan con la secuencia consecutiva de bits de la cadena original. Uno de los cambios ms significativo entre DVB-T y DVB-T2 es la introduccin del entrelazado en tiempo que va a proporcionar proteccin contra ruidos impulsivos y desvanecimientos selectivos en el tiempo.
40
41
Fig. 3.6: Espectro de la seal DVB-T2 para intervalos de guarda 1/8 (canales de 8 MHz)
42
Determinar el mayor tamao para la FFT aceptable bajo las consideraciones anteriores. No obstante, hemos realizado una aproximacin bastante simplista. Si la ampliacin del canal es menor que la duracin del intervalo de guarda, no habr interferencia intersmbolos (ISI). Si, por el contrario, la ampliacin del canal es mayor que la duracin del intervalo de guarda existir interferencia intersmbolos. En la siguiente tabla, Tabla 1, se listan la duracin de los intervalos de guarda para canales de ancho de banda 8MHz, para cada combinacin de intervalo de guarda y tamao de la FFT permitida.
La capacidad se reduce notablemente a medida que aumenta la insercin de scattered pilots; la carga de SPs puede expresarse como 1/(DxDy). 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 tambin presentan ventajas. PP1 ofrece los mayores lmites de Nyquist para extender los canales, mientras que PP6 y PP7 los que menos.
El entrelazado en tiempo y el patrn de pilotos PP8 no deberan usarse juntos; para redes en las que el operador decida hacer esto, el rendimiento del receptor puede verse degradado.
Adems de todas estas restricciones, hay otra serie de factores que tambin afectan a la eleccin de la longitud de la trama:
Desarrollo de un simulador DVB-T2 en Simulink 44
Un valor muy grande de la longitud de la trama reduce el porcentaje de carga asociada con los smbolos prembulos P1, la sealizacin L1 y la mayor densidad de los pilotos en P2, incrementndose el rgimen binario total. Un valor pequeo de la longitud de la trama significa que los smbolos P1 y P2 aparecen con demasiada frecuencia.
Aunque aumentar la longitud de la trama reduce la carga de los smbolos prembulos, hay un efecto de segundo orden que debera considerarse en la eleccin del nmero de smbolos. Debe haber un nmero entero de bloques FEC (veremos su significado en el apartado 3.5.2.3) en una trama T2. Como resultado, el rgimen binario total depende del nmero exacto de smbolos y, por tanto, del nmero de clulas en una trama. Reduciendo la longitud de la trama en un smbolo puede incrementarse el rgimen binario total significativamente. La eleccin exacta de la longitud de la trama depender de las selecciones realizadas en otros parmetros: Tamao de la FFT. Intervalo de guarda. Uso del modo portadora extendida. Combinacin de diferentes tipos de PLPs.
45
Una opcin 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.
46
El propsito de las tramas T2 es la de llevar PLPs y sealizacin L1. Por ello, estas tramas portan servicios DVB-T2 y su sealizacin pertinente. El propsito de las FEFs es el de permitir el mezclado entre los servicios definidos en la actual versin del estndar junto con los nuevos servicios que se puedan definir en una futura versin del mismo. Actualmente, las FEFs suelen ir vacas. Un receptor diseado para la recepcin de seales DVB-T2 debera ser capaz de detectar y corregir partes FEFs, por lo que la recepcin de tramas T2 no debe verse afectadas en ningn caso.
3.4.2.- Trama T2
Una trama T2 est compuesta por un smbolo P1, NP2 smbolos P2 y un nmero configurable de smbolos de datos, en los que el ltimo puede ser un smbolo especial Frame Closing symbol. El nmero de smbolos P2, NP2, depende del tamao de la FFT y se define en la Tabla 3.3:
La duracin de una trama T2 est determinada por el tamao de la FFT, intervalo de guarda y el nmero de smbolos OFDM. La duracin mxima permitida en una trama T2 es de 250ms, que impone un lmite en el nmero mximo de smbolos 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 duracin total de smbolos OFDM definida como: TS = TU + TG = TU x (1 + GIF) y la duracin de un smbolo P1 es de 0.224ms. LF incluye todos los smbolos P2 y smbolos de datos por lo que LF = NP2 + Ldata. GIF es la fraccin del intervalo de guarda.
Desarrollo de un simulador DVB-T2 en Simulink 47
Los smbolos P2 y los smbolos de datos llevan sealizacin L1, PLPs y cadenas auxiliares (opcionales). La sealizacin L1 debe ir siempre en los smbolos P2, nunca en los smbolos de datos. Las PLPs y las cadenas auxiliares pueden ir tanto en los smbolos P2 como en los smbolos de datos. La estructura de una trama T2 viene recogida en la Fig. 3.8. El mapeado de sealizacin L1, PLPs y cadenas auxiliares en smbolos OFDM de una trama T2 se recoge en Fig. 3.9.
Fig. 3.9: Mapeado de sealizacin L1, PLPs y cadenas auxiliares en una trama T2
48
3.4.3.- Sealizacin L1
La sealizacin L1 se divide en L1-pre signalling y L1-post signalling. La modulacin y la tasa de codificacin para L1-pre signalling es una BPSK a 1/2 y el nmero de bits de sealizacin es constante. La L1-pre signalling siempre va a ocupar 1840 clulas. El nmero de bits de sealizacin L1-post signalling depende del nmero de PLPs, del nmero de cadenas auxiliares y del uso de FEFs. El nmero de clulas ocupadas por L1-post signalling depende del nmero de bits de sealizacin y de la modulacin usada. La modulacin para L1-post signalling puede ser BPSK, QPSK, 16QAM o 64QAM. La codificacin FEC es siempre 1/2. La modulacin para L1-post signalling es elegida de forma que la sealizacin L1 es siempre ms robusta que cualquier PLP. Los smbolos P2 siempre deben llevar sealizacin L1. Debido a esto, el nmero de PLPs que puede haber en un sistema T2 viene limitado por la modulacin usada por la L1-post signalling y el nmero de bits de sealizacin. La L1-pre signalling y la L1-post signalling sern entrelazadas y codificadas por separado. La sealizacin es mapeada a smbolos P2 por lo que la cantidad de L1-pre y L1-post es la misma en cada smbolo P2, como vemos en Fig. 3.10:
49
3.5.2.2.- FECFrames
Las tramas en banda base, con su cabecera, son tratadas como palabras de informacin a las que se les aplica la codificacin BCH y LDPC. Como resultado de esta codificacin 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 eleccin de bloques FEC largos o cortos respectivamente. Los bloques FEC
Desarrollo de un simulador DVB-T2 en Simulink 50
cortos permiten una granularidad mejor de rgimen binario pero acarrea una gran carga y un rendimiento ligeramente peor que los bloques largos.
51
3.5.4.- Bloques TI
Un bloque TI es una serie de clulas en las que se ejecuta el entrelazado de tiempo; no existe entrelazado entre bloques TI. Cada uno de ellos contiene un nmero variable de bloques FEC. El nmero total de BB-Frames y, por tanto, de bloques FEC, asignados al entrelazado de tramas no necesita ser mltiplo del nmero de bloques TI; como resultado, los bloques TI dentro del entrelazado de tramas puede contener un nmero de bloques FEC ligeramente diferentes. stos tambin se utilizan tambin para el entrelazado de clulas. El valor de L(r) de la funcin de permutacin cambia de un bloque FEC al siguiente, pero el ndice r que marca la posicin de los bloques FEC se pone a cero al comienzo de cada bloque.
3.6.- Sealizacin L1
La sealizacin L1 tiene dos funciones principales. En primer lugar proporciona al receptor una manera rpida de deteccin de la seal. En segundo lugar, proporciona al receptor toda la informacin necesaria para acceder a la sealizacin de nivel 2 (sealizacin L2). La estructura de la sealizacin es la que puede verse en la Fig. 3.11. El propsito de la sealizacin P1, que es la que porta la sealizacin referente al smbolo P1, es indicar el tipo de parmetros bsicos usados para la transmisin. El resto de sealizacin se porta en los smbolos P2, que tambin son capaces de transportar datos de las PLPs. La L1-pre signalling proporciona los parmetros bsicos de transmisin incluyendo aquellos parmetros que permiten la recepcin y decodificacin de la L1-post signalling. La L1-post signalling se divide, a su vez, en otras dos partes: una parte configurable y otra parte dinmica. Adems, 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.
52
Todos los datos de sealizacin L1, a excepcin de la parte dinmica de L1-post signalling, permanecer sin cambios durante toda la duracin de la sper-trama. De ah que cualquier cambio que se vaya a implementar en la configuracin tendr que ir entre dos sper-tramas. La sealizacin P1 se define, casi exclusivamente, para permitir la deteccin rpida de la seal y proporcionar un sub-conjunto de parmetros de transmisin vlidos para la trama T2 entera. L1-pre signalling a la vez que permite la recepcin y la decodificacin de L1post signalling proporciona informacin de la sper-trama actual, relativa a la topologa de la red, configuracin y transmisin de protocolos usados dentro de la sper-trama. L1-post signalling contiene la mayora de la informacin necesaria para extraer y decodificar las PLPs procedentes de las tramas T2.
53
El cdigo BCH es incluido como un seguro ante errores no deseados y es exactamente igual que en el estndar DVB-S2. Para el cdigo LDPC, el estndar DVB-T2 incluye dos elecciones para elegir la longitud del cdigo (bloques normales de 64800 o bloques pequeos de 16200) as como 6 elecciones de tasa de cdigo (1/2, 3/5, 2/3, 3/4, 4/5, 5/6) del estndar DVB-S2. El cdigo para bloques de 64800 es el mismo que para DVB-S2. El cdigo para bloques de 16200 est basado tambin en el cdigo para la segunda versin del estndar de DVB para satlite.
Tabla 3.5: Distribucin de los pesos de las columnas para bloques de 64800
Tabla 3.6: Distribucin de los pesos de las columnas para bloques de 16200
54
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 modulacin 2m-QAM. Los bits codificados son escritos por columnas y ledos por filas. En Fig. 3.12 tenemos un ejemplo de cmo se realiza este proceso.
55
Los requisitos de memoria para el entrelazado de clulas son dependientes del entrelazado de tiempo; as, de este modo, una implementacin eficiente del entrelazado de tiempo mejorar el rendimiento del entrelazado de clulas.
56
57
58
59
Todos los registros estn 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 smbolos 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 nmero de smbolos de la trama T2. La secuencia de longitud NPN = LF, estar formada por los primeros NPN bits de la secuencia PN general.
60
61
Tabla 3.9: Presencia de los distintos tipos de pilotos en cada tipo de smbolo
La seal 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 deteccin es posible gracias a que el smbolo P1 contiene algunas partes que son repeticiones de la parte principal del smbolo.
Ntese que la primera parte del smbolo, 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 smbolo de 1k, 853 portadoras podran ser transmitidas dentro de un ancho de banda nominal. Las portadoras usadas estarn centradas en la banda, dejando 44 y 43 portadoras vacas a los lados. Dentro del bloque principal usado, bastantes portadoras son fijadas a cero segn un patrn conocido que podrn ser usadas para la sincronizacin en frecuencia. Para sistemas de 8MHz, las portadoras usadas ocupan aproximadamente un bloque de 6.3MHz en el medio de una seal de ancho nominal 7.61MHz. Un modelo de modulacin es aplicado a 384 portadoras, usando DBPSK. Dicho modelo de modulacin codifica 7 bits de sealizacin.
63
3.9.3.- Caractersticas de P1
La arquitectura del smbolo P1 ha sido diseada para ser robusta, permitiendo al receptor decodificar el smbolo P1 en condiciones cambiantes. P1 fue diseado con las siguientes caractersticas: Proteccin contra interferencias. Se espera que el smbolo P1 pueda ser corregido y decodificado bajo circunstancias verdaderamente extremas. La eleccin (por eficiencia) de longitud fija del smbolo significa que puede haber interferencia intersmbolo, aunque sta puede ser tolerada debido a que la modulacin y la codificacin han sido diseadas para operar en una baja relacin seal a ruido. La presencia de las partes C y B al comienzo y al final de smbolo de 1k proporciona robustez contra la falsa deteccin o prdida de deteccin. Recepcin de la seal sin conocimiento del canal El smbolo P1 puede ser recuperado correctamente cuando el receptor est sintonizado con la frecuencia central. De hecho, el smbolo admite offset de ms o menos 500KHz desde la frecuencia central de ancho de banda nominal en el caso de sistemas de 8MHz. La relacin entre la potencia de pico y la potencia media (PAPR) del smbolo ha sido optimizada para facilitar la recepcin. Capacidad para corregir el offset El smbolo P1 puede ser utilizado para conseguir una mejor sincronizacin de tiempo del receptor, as como detectar cualquier desviacin en frecuencia. Robustez de sealizacin La sealizacin transportada por el smbolo P1 tambin es modulada (mediante modulacin DBPSK). Se ha asegurado que esta proteccin es suficiente para recuperar dicha sealizacin incluso bajo valores negativos de SNR.
64
65
Los sistemas OFDM se disean 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.
De esta forma, la seal que se transmite se vuelve peridica, lo que juega un papel decisivo para evitar la ISI y la ICI, aunque, como ya se coment, conlleva una reduccin en la relacin seal a ruido (eficiencia). Un esquema de un sistema OFDM en banda base sera el mostrado en la Fig. 4.2
66
Para este tipo de sistemas tendremos en cuenta las siguientes suposiciones: El uso de un prefijo cclico. La respuesta impulsiva del canal ser menor que el prefijo cclico. El transmisor y el receptor estarn perfectamente sincronizados. El canal va a introducir ruido complejo, aditivo y Gaussiano. El desvanecimiento ser lo suficientemente lento como para considerarlo constante en la duracin de un smbolo OFDM.
La dificultad de realizar un anlisis terico 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 anlisis ms simple sin prdida de resultados. Se suelen clasificar estos modelos en dos tipos diferentes: sistemas de tiempo continuo y sistemas de tiempo discreto.
67
Prestaremos poca atencin a este tipo de modelo al no estar muy en consonancia con el resto del trabajo.
Desde el punto de vista del receptor, el uso del prefijo cclico ms largo que el canal transforma la convolucin lineal en una convolucin cclica con el canal. Denotando la convolucin cclica como , podemos escribir el sistema OFDM completo como:
Donde yl contiene los N puntos de datos recibidos, xl los N puntos de la constelacin 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 situacin que se analice, las imperfecciones de un sistema real OFDM deben ser ignoradas o explcitamente incluidas en el modelo. A continuacin, mencionaremos algunas de estas imperfecciones as como sus correspondientes efectos Dispersin Tanto la dispersin 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 inclusin de un prefijo cclico o a un gran espaciamiento entre portadoras, debern ser incluidos en el modelo. Una forma de modelar esto sera incrementando la potencia de ruido aditivo.
o linealidades Los sistemas OFDM tienen una gran relacin 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 disean para un back-off (OBO, relacin entre la potencia de salida y la potencia de salida en saturacin) adecuado.
Interferencia externa Tanto los sistemas basados en cable como los inalmbricos estn sujetos a interferencias externas. Para el caso inalmbrico, la interferencia suele provenir de otras transmisiones y equipamiento electrnico situado en la vecindad del propio del sistema. Para los sistemas sobre soporte fsico, lo ms comn ser encontrarnos con el crosstalk. En cualquier caso, la interferencia suele modelarse como ruido coloreado.
69
Ruido de fase de portadoras Es causado por las imperfecciones de los osciladores del transmisor y del receptor. Para canales selectivos en frecuencia, la rotacin de fase que introduce esta anomala es indistinguible de las rotaciones de fase de un error de temporizacin. Se puede demostrar que la degradacin de la SNR se puede aproximar por:
aumenta con el nmero de portadoras. Las rpidas variaciones de la fase de ruido pueden provocar graves problemas.
4.2.4.- Sincronizacin
Uno de los argumentos en contra de OFDM es que este tipo de modulacin es muy sensible a los errores de sincronizacin, en particular, a los errores de sincronizacin en frecuencia.
Existen, principalmente, dos mtodos relacionados con la sincronizacin en tiempo: basado en las portadoras pilotos o basado en el cdigo cclico. Para el primero tenemos un algoritmo sugerido por Warner and Leung [6]. Ellos usaron un esquema en el que la seal OFDM era transmitida usando una modulacin en frecuencia (FM). El transmisor codifica un nmero reservado de subportadoras con una amplitud y fase conocida. Esta tcnica de sincronizacin, con algunas modificaciones, es aplicable a seales OFDM transmitidas por modulacin de amplitud (AM). Este algoritmo consta de tres fases: deteccin de potencia, sincronizacin gruesa y sincronizacin fina. En la primera fase, se detecta si hay o no seal OFDM midiendo la potencia recibida y comparndola con un valor umbral. La segunda fase se usa para adquirir alineacin de sincronismo dentro de 0.5 muestras. Este desarrollo no es aceptable, pero esta fase sirve para simplificar el algoritmo de rastreo. La sincronizacin gruesa se realiza correlacionando la seal recibida con una copia de la sincronizacin de la seal trasmitida. En la ltima fase de la sincronizacin, 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 cclico. Tambin existen algoritmos de sincronizacin basados en el prefijo cclico. 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 pequea. De no ser as, la diferencia tendra el doble de potencia y, por tanto, en promedio, sera mucho mayor. Encerrando esta diferencia en una ventana rectangular de la misma longitud que el prefijo cclico, la seal de salida tendra un mnimo en el comienzo del smbolo OFDM. La sincronizacin en el enlace ascendente es mucho ms difcil que en el descendente. Esto es debido a que tiene que existir una separacin de tiempo para cada usuario.
procesado en el dominio digital. El efecto del offset de frecuencia es doble: la componente de seal til es rotada y atenuada y, adems, se introduce ICI (interferencia inter-portadora). Los sistemas no sincronizados por la tasa de muestreo son mucho ms sensibles al offset de frecuencia en comparacin con los sistemas sincronizados por la tasa de muestreo. Adems, en estos sistemas la degradacin (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.
(f)2
)2
Ntese que la degradacin se incrementa con el cuadrado del nmero de subportadoras, si F y W permanecen fijos.
72
Fig. 4.5: Efectos del offset de frecuencia F: reduccin de la amplitud de la seal () y la interferencia entre portadoras ()
En general, un canal con desvanecimiento puede ser visto como una seal 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 interpolacin.
filtros Wiener de dos dimensiones, tienen una gran carga computacional; mientras que los estimadores con baja complejidad, por lo general, tiene una estimacin menos exacta. Por tanto, el objetivo es encontrar un equilibrio entre complejidad y precisin.
75
El tipo de variable con el que trabaja Matlab es una matriz que no requiere ser dimensionada previamente en la declaracin. Una de las caractersticas ms interesantes consiste en que el lgebra lineal y matricial se expresa con la misma sintaxis que las operaciones aritmticas 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.
76
La gestin 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 clculo especializados en un rea de conocimiento: finanzas, tratamiento de seales, teora de sistemas, etc.
documentacin est organizada con un ndice en forma de rbol y mediante herramientas de navegacin como hipervnculos. Es sumamente recomendable su uso, tanto a modo de introduccin como de referencia para temas especficos. Si se desea conocer documentacin especfica asociada a un comando de Matlab, entonces se teclear: >> doc nombre_del_comando en la lnea de comandos de Matlab.
78
Esto es una asignacin 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 asignacin, como en el ejemplo previo. Los identificadores asignados para designar matrices son de libre eleccin, con la salvedad de que no pueden empezar por un nmero ni contener espacios en blanco. Una vez creado un objeto de Matlab, este pasa a formar parte del espacio de trabajo ocupando una porcin 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; >> clear; % Borra a de la memoria % 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 lnea, estos deben estar separados por punto y coma. Adems, 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 informacin innecesaria.
79
cosh tan tanh cot coth sec sech csc csch asin asinh acos acosh atan atan2
Coseno hiperblico Tangente Tangente hiperblica Cotangente Cotangente hiperblica Secante Secante hiperblica Cosecante Cosecante hiperblica Arcoseno (inversa del seno) Arcoseno hiperblico (inversa del seno hiperblico) Arcocoseno (inversa del coseno) Arcocoseno hiperblico (inversa del coseno hiperblico) Arcotangente (inversa de la tangente) Arcotengente de cuatro cuadrantes
Funcin Exponencial Logaritmo natural (base e) Logaritmo base 2 Logaritmo base 10 Raz cuadrada
Funcin Redondear hacia cero Redondear hacia menos infinito Redondear hacia ms infinito Redondear hacia el entero ms prximo Mdulo de la divisin entera Resto de la divisin entera
Funcin Matriz inversa Determinante Autovalores Matriz traspuesta Crear una matriz identidad dado por el nmero de filas/columnas
81
Crear una matriz de ceros dado por el nmero de filas/columnas Crear una matriz de unos dado por el nmero de filas/columnas Longitud de un vector Dimensiones de una matriz
save nombre_archivo
save nombre_archivo x, y, z
Para recuperar las variables almacenadas en un fichero previamente creado, emplearemos principalmente la orden load. La siguiente tabla ilustra tres operaciones tpicas de recuperacin de datos
Orden load
Operacin realizada 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 destruccin de la variable existente para dejar su sitio a la variable del disco
82
Igual que en el caso anterior pero leyendo del archivo nombre_archivo.mat de la carpeta actual Igual que en el caso anterior pero leyendo nicamente las variables x, y, z
5.2.- Simulink
5.2.1.- Introduccin
Simulink es una aplicacin que permite construir y simular modelos de sistemas fsicos y sistemas de control mediante diagramas de bloque. El comportamiento de dichos sistemas se define mediante funciones de transferencia, operaciones matemticas, elementos de Matlab y seales predefinidas de todo tipo. Simulink dispone de una serie de utilidades que facilitan la visualizacin, anlisis y guardado de los resultados de simulacin. Simulink se emplea profusamente en ingeniera de control. Principalmente se trata de un entorno de trabajo grfico con el que se especifican las partes de un sistema y su interconexin en forma de diagrama de bloques.
83
Esta ventana inicial no est destinada a crear modelos de simulacin; su funcin principal consiste en navegar por la enorme librera de bloques disponibles para el modelado. En ella distinguiremos dos partes: la izquierda contiene una visin 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 creacin 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 bsqueda de un bloque determinado a partir de su nombre, que nos pueden resultar bastante tiles.
84
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 botn izquierdo del ratn, y manteniendo ste pulsado se desplazar el cursor hasta la ventana del modelo. Una vez configurados los distintos bloques con los parmetros que necesitemos, tendremos que conectarlos entre ellos. Para ello emplearemos las siguientes operaciones: Operacin Conectar Bloques (I) Procedimiento Para conectar las salidas de un bloque a la entrada de otro, hacer click con el botn izquierdo del ratn en el bloque origen. Pulsar y mantener la tecla CTRL y hacer de nuevo click sobre el botn destino Tambin se puede extraer un cable de seal haciendo click en el saliente derecho del bloque origen y prolongar la seal (pulsando y manteniendo el botn izquierdo del ratn) hasta llegar a la parte izquierda del bloque destino. Un cable de seal (que lleva la salida de un bloque hacia otro bloque), puede bifurcarse para distribuir la seal a varios bloques pulsando con el botn derecho en cualquier punto del cable
Bifurcar cables
85
Elemento Clock Sin Step Constant Signal generator Random Number From Workspace
Funcin Marcas de tiempo de la simulacin. til para trazar grficas con los resultados Seal senoidal parametrizable Seal en escaln Seal de valor constante Permite elegir entre un conjunto de seales predefinidas Generacin de ruido blanco configurable Seal generada a partir de una variable del espacio de trabajo de Matlab
Tabla 5.9: Fuentes de seal en Simulink
Funcin Grfica 2D para visualizar las seales frente al tiempo durante la simulacin Grficas 2D para visualizar un grfico X-Y creado a partir de dos seales de entrada Almacena las muestras de la seal de entrada en una variable (vector) del espacio de trabajo de Matlab
Tabla 5.10: Sumideros de seal en Simulink
86
87
88
Antes de empezar a comentar las principales caractersticas de los bloques que conforman el esquema seguido para la simulacin del sistema de comunicaciones, queramos dejar constancia del valor de los distintos parmetros que se han tenido en cuenta durante la elaboracin de este proyecto: Perodo Elemental: T = 7/64 s para sistemas de ancho de banda 8 MHz. Duracin del Intervalo de Guarda: 256T. Tamao de la FFT: 8k. Nmero de portadoras activas: 6817. Longitud de la trama T2: LF = 270 smbolos. Duracin de la trama: TF = 250 ms. Modulacin seguida: QPSK. Patrn de Pilotos: PP7. Duracin de un smbolo: 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 aparecern 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 automticamente. Otra posible opcin hubiera sido cargar nosotros mismos estos ficheros en Matlab mediante el comando conocido load. A continuacin, empezaremos a describir las principales caractersticas 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 seales que van a propagarse a travs del canal (en nuestro caso, hemos considerado un canal ideal durante el proceso de simulacin) y que deben tener una serie de caractersticas en funcin del estndar de transmisin que estemos considerando.
Desarrollo de un simulador DVB-T2 en Simulink 89
La Figura 3.2 nos muestra el esquema general del transmisor, tal y como hicimos anteriormente con el esquema general.
A continuacin, 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 estndar y el esquema que hemos seguido nosotros para realizar el proceso de simulacin. En principio, las diferencias sern muy pequeas.
90
Pasamos a estudiar cada uno de los bloques que conforman el Generador de datos.
pseudo aleatorios. Por tanto para este campo no existe un valor predeterminado. Sample Time: Con este valor indicamos el perodo de muestreo de nuestra seal. El valor que nosotros hemos utilizado lo hemos obtenido de la siguiente manera. Nos dice el estndar que la duracin de un smbolo de datos para una modulacin OFDM de 8k para sistemas de ancho de banda de 8 MHz es de 896 s. Esta operacin sale de multiplicar el nmero de portadoras del smbolo OFDM, en nuestro caso, 8192 por el valor del perodo 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 duracin del smbolo total es de 896 s + 1/32 veces esta duracin, es decir, 924 s. Para obtener el periodo de muestreo, tendremos que dividir el tiempo de duracin total del smbolo por el nmero 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 generacin de seales OFDM en Simulink necesitamos medirlas en tramas. Por ello, deberemos marcar esta opcin. Samples per Time: Es el nmero de muestras que se transmiten en cada trama. El estndar nos dice que tenemos que utilizar tramas de 188 bytes. Nosotros generaremos, simultneamente, 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 ms adelante, 32208 bits. Si passemos los 188 bytes a bits obtendramos 1504 bits, lo cual es insuficiente. Tendramos que aadir un buffer que almacenase los bits hasta llegar a ese valor, lo cual provocara en el sistema retrasos innecesarios. Es por ello por lo que hemos optado por la primera solucin. Output data type: Como para este primer bloque no nos hace falta precisin, hemos usado uint8.
92
Output data type: Como posteriormente necesitamos trabajar a nivel de bits, su salida ser de tipo boolean.
CRC method: Como hemos comentado, el estndar recoge que sea CRC-8. El polinomio generador utilizado, de acuerdo con el estndar es: G(x) = x8 + x7 + x6 + x4 + x2 + 1. Inital States: Se inicializan los registros internos con valor cero. Checksums per Frames: Es el nmero de comprobaciones que se realiza por trama. Nosotros le hemos dado a este campo el valor 1.
o EXT (2 bits): para uso futuro. Se ponen a cero. Segundo byte Slo se usa cuando el campo ISI/MIS = 0. En caso contrario, est reservado para un uso futuro.
94
campo
MATYPE
en
nuestro
caso
ser:
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 aade a la trama de datos a travs del bloque de Simulink Vector Concatenate.
Mode: Indicamos el tipo de concatenacin que se llevar a cabo. Nosotros hemos tomado Mutidimensional Array Concatenate dimensin: Una vez se ha realizado la concatenacin, queremos que nos quede un nico vector. Por eso el valor dado a este campo es 1.
95
96
6.3.1.7.- Scrambler
Se utiliza para aleatorizar la BBRAME. La secuencia de aleatorizacin estar sincronizada con la BBFRAME, comenzando por el bit ms significativo y terminando despus 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 parmetros utilizados son: Calculation base: ser 2, ya que estamos trabajando en binario. Scramble polynomial: en este parmetro introducimos el polinomio en binario. As tendremos: 1100000000000001. Initial states: es la condicin inicial para los registros internos. Como ya hemos dicho, le damos el siguiente valor: 100101010000000.
97
Comparndolo con el esquema propuesto en el estndar, vemos que ambos son muy parecidos.
98
99
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.- Modulacin
Este bloque General QAM Modulator ser el encargado de llevar a cabo la modulacin de nuestra seal para convertirla en una seal QPSK. Los parmetros utilizados han sido: Signal Constellation: Le damos a este campo las posiciones para una constelacin QPSK, ya normalizada, de acuerdo al mapeado indicado en el estndar. Output data type: Como los datos pueden ser flotantes y de gran longitud, elegimos la opcin double. La constelacin que se recibir tendr que ser:
100
101
Para conseguir que nuestro bloque de Simulink realice la misma funcin, 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 parmetros que tenemos que utilizar para este bloque tambin son facilitados por el estndar DVB-T2. As para un nmero de clulas de 32400 por bloque LDPC, necesitaremos un nmero de filas, Nr, igual a 6480. Los parmetros del bloque son los siguientes: umber of Rows: que como hemos dicho viene dado por el estndar, siendo en nuestro caso 6480. umber of Columns: este dato es fcilmente calculable con los datos que ya sabemos. Si el nmero de clulas a meter en la matriz es de 32400 y tenemos 6480 filas, el nmero de columnas vendr dado por 32400/6480 = 5.
Con este bloque ya tenemos finalizado la etapa de Codificacin y Modulacin de datos. Ya a partir de este momento, tenemos nuestra seal generada en la primera etapa perfectamente codificada, modulada y entrelazada, de forma que evitamos que los errores se propaguen por un solo smbolo.
102
Como hemos venido haciendo hasta ahora, comparamos con el esquema propuesto por el estndar:
El esquema propuesto por el estndar se correspondera con los dos primeros sub-bloques del nuestro, de ah la diferencia existente, ya que nosotros incluimos en el esquema de Adicin de Pilotos, parte de los sub-bloques que aparecern en el esquema siguiente del estndar.
Desarrollo de un simulador DVB-T2 en Simulink 103
6.3.3.1.- Buffer
El objetivo de este Buffer es el de almacenar la informacin que le llega en forma de FEC, recordemos que eran 32400 smbolos, e ir sacando la informacin en tramas de 6698 smbolos. Esta cantidad (6698) es el nmero de portadoras activas en un smbolo OFDM. Por tanto, a partir de este sub-bloque, empezaremos a trabajar a nivel de smbolo OFDM. Los parmetros utilizados son: Output Buffer size: Ya hemos dicho que este valor ser 6698. Buffer Overlap: Queremos que la informacin 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.
104
6.3.3.3.- Pilotos
Este sub-bloque ser el encargado de generar las portadoras pilotos que posteriormente se aadirn a los smbolos de datos. El esquema que hemos seguido para la generacin de estas portadoras es el siguiente:
Pasamos a explicar cada uno de los sub-bloques que componen el esquema de Generacin de Pilotos.
105
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 seal de salida est basada en trama, luego tenemos que tener marcado esta opcin. Samples per Frame: Es el nmero 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 parmetros 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 opcin con -1.
106
6.3.3.3.3.- Selector
Con este bloque pretendemos realizar una reordenacin 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, segn vemos, la secuencia PRBS antes de realizar la operacin Xor, est desplazada en secuencia un valor de Kext. El valor de Kext para una modulacin 8k es de 48. Los parmetros utilizados son: Index Option: Con l seleccionamos la forma en el que le decimos al bloque como queremos realizar la seleccin. Nosotros hemos elegido la opcin 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 smbolo, pondremos [118:119]. Input port size: Le indicamos el tamao del vector de entrada. As, pondremos en este campo el valor 119, que como vimos es el tamao de la secuencia PRBS.
Icon shape: Marcamos distinctive, para que nos muestre el bloque con el smbolo de la operacin de la Xor. Sample Time: Ponemos -1, ya que este parmetro no es interesante.
107
6.3.3.3.5.- Selectors
El bloque Selector vimos anteriormente que lo usbamos para llevar a cabo la reordenacin del vector que tena a su entrada. Otra aplicacin de este bloque, que es la que nos interesa en esta ocasin, es la de seleccionar un conjunto de muestras dentro de un rango mayor. El objetivo de esta accin 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 parmetros que hemos empleado son: Index option: Al igual que antes, marcamos la opcin Index Vector. Input port size: Define el tamao del vector de entrada Index: Hemos dejado este parmetro 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 estndar. As, este nos dice que: El nmero de portadoras pilotos en los extremos ser 2. El nmero de portadoras continuas para una FFT de 8k es 44. Y el nmero de portadoras dispersas (scattered) viene dada por la siguiente expresin: kmod(DxDy) = Dx mod(lDy), para portadora normal (k-kext)mod(DxDy) = Dx mod(lDy), para portadora extendida donde l es el smbolo OFDM, k [kmin, kmax], y Dx y Dy valen para el patrn 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 nmero de portadoras de cada tipo.
108
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 estndar. Haciendo un resumen, el estndar nos dice que la ganancia para cada tipo de portadoras pilotos es la siguiente:
Tipo de Portadora Piloto Portadoras Pilotos Continuas Portadoras Pilotos Dispersas Portadoras Pilotos en los Extremos
Ser estos valores de ganancia los que tendremos que incluir en el parmetro Gain de este bloque. El resto de parmetros los dejamos tal cual.
110
Used zero-based indexing: Con este campo indicamos si permitimos o no el instante cero dentro de la seal de control habilitando esta opcin. Nosotros la hemos marcado. Sample Time: Por defecto, la dejamos a -1.
111
Llegados a este punto tenemos la seal perfectamente ordenada, es decir, los datos y la informacin piloto en sus respectivas portadoras, y lo nico que falta para poder transmitir la seal es proceder a su modulacin. Este apartado lo vemos a continuacin.
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 funcin de la entrada. Hemos seleccionado la opcin Variable. Index mode: Indicamos si queremos que la primera muestra se contabilice como ndice 0 o ndice 1. Marcamos la opcin One-based.
112
Las diferencias ms importantes entre ambos esquemas fueron descritas en el punto 6.3.3. As, nosotros en nuestro esquema hemos considerado la insercin de pilotos dentro del esquema Generador de Tramas. Por lo dems, a grandes rasgos, ambos esquemas son idnticos. Vamos a empezar a describir las principales caractersticas de cada uno de nuestros bloques.
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 dnde queremos que nos aada la informacin extra. Por ello seleccionamos la opcin Especify via dialog. Pad Value: Queremos que aada ceros. Output column mode: Con este parmetro le indicamos la cantidad de ceros que tiene que aadir. Hay dos opciones: o bien aade cero hasta la siguiente potencia de dos o bien le especificamos hasta qu valor tiene que aadir datos. Elegimos la segunda opcin, luego marcamos Userspecified. Column size: Esta opcin slo aparece cuando en el campo anterior hemos marcado la segunda opcin. Con este parmetro indicamos la longitud de la seal que queremos a la salida. En nuestro caso ponemos 8192. Pad signal at: Indica el lugar dentro de la trama donde queremos aadir los ceros. Nos interesa tenerlos al final, por lo que hemos marcado la opcin 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 aadir ceros a la seal que ya tenamos. Estos ceros se aadieron al final de la trama. Sin embargo, esta posicin 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 smbolos y los datos y portadoras pilotos en ambos extremos. Con esta nueva reordenacin de las portadoras dentro de un smbolo estaremos obteniendo, al realizar la anti-transformada discreta de Fourier, una seal en banda base.
Los parmetros ms importantes con los que hemos configurado el bloque Selector son:
Desarrollo de un simulador DVB-T2 en Simulink 114
umber of inputs: Slo 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 opcin de One based. Index Option. Como ya hemos explicado varias veces, elegimos la opcin 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 smbolo, hacemos: [1:3408 6818:8192 3409:6817]. Input port size: Seleccionamos el tamao 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 seal del dominio de la frecuencia al dominio del tiempo; de esta forma la seal estara lista para poder transmitirse por cualquier canal. Los parmetros utilizados para este bloque son los que ya venan por defecto.
El esquema que vamos a seguir para la insercin del Intervalo de Guarda es el siguiente:
La funcin de ambos bloques es la que venimos viendo con anterioridad. As con el bloque Zero Pad se van a aadir tantos ceros a la seal de entrada como queramos; en nuestro caso la seal de entrada tiene 8192 muestras y necesitamos que a la salida haya 8448 (8192 + 256 del Intervalo de Guarda), es decir, el bloque aade 256 ceros. La funcin del bloque Selector, que tambin 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 smbolo y que ste era una copia de la ltima parte del smbolo. 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 tenamos al principio justo detrs de estas primeras.
Llegados a este punto ya tenemos nuestra seal DVB-T2 perfectamente modulada y lista para transmitirse a travs del canal. En el siguiente punto veremos los bloques para la recepcin perfecta de esta seal.
116
6.4.- Receptor
El receptor es el bloque encargado de extraer la seal transmitida del canal de comunicaciones. La finalidad de este bloque que presentamos a continuacin, no es otra que la de recuperar los datos transmitidos inicialmente. Si los procesos de transmisin y de recepcin se han realizado correctamente, los datos que obtenemos al finalizar todo el proceso de recepcin 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 recepcin es:
Haciendo un breve resumen de lo que veremos un poco despus, nuestro receptor constar, de una etapa de demodulacin, en la que la seal pasar del dominio del tiempo al de la frecuencia, una etapa de extraccin de las portadoras pilotos introducidas durante la transmisin y una fase de decodificacin de la seal. Vamos a empezar a ver cada una de las etapas que componen la recepcin profundizando en cada una de ellas.
117
118
As, a la salida de este bloque volvemos a tener una seal de 8192 muestras. Ahora s, podemos proceder a su demodulacin.
6.4.1.2.- FFT
Con el bloque FFT vamos a aplicar la Transformada Discreta de Fourier a la seal que tiene a la entrada. Con este bloque lo que estamos haciendo es pasar la seal 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, tambin en el bloque IFFT) es que, a pesar de que la seal a su entrada se estructura en tramas, a la salida la seal pasa a estructurarse en muestras.
119
estos valores en las posiciones centrales de las diferentes tramas, de forma que tuvisemos una seal en banda base. Lo que queremos realizar con este bloque es, precisamente, eliminar esta informacin extra que se aadi. 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 aadieron estn 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 Demodulacin OFDM tendremos un vector de 6817 portadoras. Lo que buscaremos, a continuacin, ser eliminar las portadoras pilotos de cada smbolo OFDM.
120
Pasamos a explicar los distintos bloques que componen esta nueva fase del receptor.
Pasamos a describir cada uno de los elementos que componen esta fase.
121
Used zero-based indexing: Con este campo indicamos si permitimos o no el instante cero dentro de la seal de control habilitando esta opcin. Nosotros la hemos marcado. Sample Time: Por defecto, la dejamos a -1.
El bloque se ha configurado de la siguiente manera: Vector of outputs value: En este campo vamos a generar la seal 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 seal. Nos interesa que la entrada se mantenga constante cada 924 s, es decir, cada Ts.
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 funcin de la entrada. Hemos seleccionado la opcin Variable. Index mode: Indicamos si queremos que la primera muestra se contabilice como ndice 0 o ndice 1. Marcamos la opcin One-based.
Es muy importante que le pasemos la misma informacin 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 obtendran tras la recepcin seran diferentes a los transmitidos.
As, al retrasar la seal una cantidad de muestras igual a 25702, o lo que es lo mismo, aadiendo 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 aadiendo un retraso a la seal, pero en contrapartida, nos estamos asegurando que la seal recibida va a coincidir con la transmitida.
6.4.2.5.- Buffer
Este buffer se va a encargar de almacenar los datos de los smbolos 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 smbolos para volver a trabajar con tramas FEC (FECFRAME). Los parmetros utilizados son: Output Buffer size: Ya hemos dicho que este valor ser 32400. Buffer Overlap: Queremos que la informacin 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 demodulacin de la seal recibida y nos hemos quedado slo con los datos, es decir, hemos eliminado las distintas portadoras pilotos. A partir de este momento dejamos de hablar de smbolos OFDM ya que vamos a trabajar a nivel de trama FEC. En la siguiente etapa del receptor, se procede a la decodificacin de la trama FEC.
125
Aunque la gran mayora de los bloques ya se han visto, vamos a comentar la funcin de los mismos y los parmetros ms importantes con los que los hemos configurado.
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 solucin por la que podramos haber optado era la de haber usado el mismo bloque que en la etapa de Codificacin, pero invirtiendo los parmetros; es decir, en umber of rows haber puesto 5 y en umber of columns 6840. El resultado no hubiese variado.
6.4.3.3.- Demodulador
El objetivo de toda demodulacin es recuperar la seal transmitida originariamente. Para conseguir sto, hemos utilizado el bloque General QAM Demodulator BaseBand, ya que nuestra seal modulada era una 4-QAM. Los parmetros con los que se ha configurado dicho bloque han sido:
Desarrollo de un simulador DVB-T2 en Simulink 127
Signal Constellation: Le damos a este campo las posiciones para una constelacin QPSK, ya normalizada, de acuerdo al mapeado indicado en el estndar. 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 opcin.
Output data type: Al igual que en el bloque anterior, seleccionamos la opcin double.
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 slo pueden tomar dos valores: 0 1. As nuestro vector ser [0 1].
128
Table data: En ella escribimos la conversin 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 mtodo para realizar el mapeado. Nosotros hemos utilizado Interpolation-Extrapolation. Sample time: -1, por defecto.
Necesitamos este bloque para realizar la decodificacin de la seal de manera correcta. Sin l, nuestro decodificador no funcionara correctamente y a la salida no obtendramos los datos esperados. De hecho, los datos que obtendramos presentan la misma secuencia que antes de realizar la codificacin LDPC de los mismos pero con los valores invertidos, es decir, donde ahora obtenemos un uno antes de la codificacin haba un cero y viceversa.
129
Con esto ya tenemos finalizada la fase de Decodificacin y Demodulacin de datos. Recordamos que a partir de este momento dejamos de trabajar con FECFRAMEs para trabajar a nivel de BBFRAMEs.
130
6.4.4.1.- Descrambler
Utilizamos este bloque para invertir el proceso de aleatorizacin llevado a cabo en la etapa de Generacin de datos sobre la BBFRAME. Los parmetros que debemos utilizar para este bloque tienen que ser los mismos que los que empleamos para la aleatorizacin. Son los siguientes: Calculation base: Como estamos trabajando con seales binarias, este campo valdr 2. Scramble polynomial: En este parmetro introducimos el polinomio de des-aleatorizacin que viene indicado en el estndar. As tendremos el vector 1100000000000001. Initial states: Es la condicin 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 aleatorizacin de la BBFRAME, hemos de recordar que durante la transmisin de los datos, procedimos a la insercin tanto de una cabecera en banda base, que describa el formato de los datos que se transmitan, como de informacin extra (que se aadieron en forma de ceros) para que la seal tuviera las dimensiones indicadas por el estndar. Esta informacin deber ser eliminada de nuestra seal. se es el objetivo de este nuevo bloque: eliminar todo aquello que no sea informacin til. Convenimos en su momento que la informacin extra se iba a aadir al final de la seal, 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 seal con la que nos interesa quedarnos. Como la configuracin de este bloque ya se ha repetido en numerosas ocasiones a lo largo de este Proyecto, slo nos vamos a fijar en el campo Index. Necesitamos eliminar las primeras 20 muestras de la seal, ya que stas pertenecan a la cabecera de la misma; por otra parte, necesitamos que a la salida haya 31584 (si hacemos memoria, es el resultado que se obtena cuando pasbamos a bits los 3948 datos que
131
transmitamos). Con todos estas consideraciones, extraemos la seal que se encuentra en el rango [81 31664].
Output data type: Como tenemos enteros, nosotros hemos seleccionado la opcin uint8 (enteros sin signos), pero no es un parmetro muy relevante.
Con este bloque finalizamos la etapa de recepcin. Si todo ha ido de forma correcta, la seal que tenemos que recibir en este punto, aunque retrasada en el tiempo, tiene que ser igual a la seal que transmitimos. Estos retrasos, como ya vimos en su momento, vienen ocasionados por los buffers, que envan los datos que stos tuvieran almacenados en el momento en que se inicia la transmisin. Esto no imposibilita la recepcin ptima de los datos; no obstante s es muy importante conocer el retraso introducido por el sistema para poder indicar a nuestro equipo cundo deben empezar a leer los datos. A continuacin, mostraremos los resultados que hemos obtenido durante la etapa de Simulacin.
132
6.4.5.- Resultados
Durante el desarrollo de esta memoria hemos estado viendo tanto el desarrollo terico como la implementacin, mediante Simulink, de un sistema de comunicaciones basado en el nuevo estndar para la televisin digital, DVB-T2. En este apartado lo que queremos es presentar los resultados que hemos ido obteniendo durante el desarrollo prctico del sistema. Para obtener las imgenes que ms 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 seal transmitida, usamos el bloque de Simulink Spectrum Scope. Otro bloque bastante interesante para nosotros es To simout. Este bloque tiene la caracterstica de almacenar en una variable los datos de la seal que tiene a su entrada, con la que despus podremos trabajar. Para verificar que nuestra simulacin ha sido correcta, presentaremos los resultados de tres formas distintas.
133
Las constelaciones que nosotros hemos obtenido, en rgimen permanente de la seal, han sido:
Como puede verse claramente, ambas constelaciones son idnticas a la constelacin de una seal QPSK ideal.
Otro elemento que nos indica si la simulacin se ha realizado correctamente o no es el espectro de frecuencia de la seal transmitida. El estndar define el siguiente espectro de frecuencia para seales de intervalo de guarda igual a 1/8.
134
135
Comparando ambas figuras, vemos que ambos espectros son casi idnticos.
6.4.5.2.- Variables
Otra forma que tenemos para poder comprobar que los datos recibidos son idnticos a los transmitidos es a travs de las variables generadas por los bloques To simout. Para que la comparacin entre ambas seales sea lo ms real posible, lo que hemos hecho ha sido retrasar la seal de entrada al simout del transmisor el mismo nmero de muestras que sabemos que lo est la seal recibida. Una forma de comparar ambas seales es viendo el conjunto de datos que contienen, a travs del Workspace de Matlab. En l podemos encontrar toda la informacin 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 ms rpida lo que vamos a hacer es trabajar con las variables que se generan. As, si restamos ambas variables, si todo ha ido correcto, deberamos obtener un vector de ceros. Para comprobar que efectivamente obtenemos un vector de ceros calculamos el mximo y el mnimo 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.
136
6.4.5.3.- BER
La ltima forma de demostrar que nuestra simulacin se ha realizado de manera correcta es a travs de la tasa de bits errneos, 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 seal transmitida retrasada. La seal de salida estar constituida por tres elementos: la tasa de error seguida del nmero de datos errneos detectados y el nmero total de datos comparados. El campo ms importante que tendremos que configurar en este bloque es Receive delay, es decir, el retraso de la seal. Nosotros, como le hemos aadido a la seal 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 simultneamente los diferentes valores, esto es, tasa de error, nmero de datos errneos y nmero total de datos comparados.
A continuacin mostraremos los valores que hemos obtenido para diferentes intervalos de la simulacin:
137
Observando las distintas figuras, vemos que en todas ellas el nmero de datos errneos que se detecta, y por tanto tambin 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 estndar.
138
tambin tendra tenerse en cuenta la posible utilizacin de un ecualizador, para procesar las distintas seales. Otra mejora bastante interesante podra consistir en aadir a lo que se ha hecho en este Proyecto la transmisin de los smbolos de sealizacin P1 y P2, tal y como vienen definidos en el estndar. La implementacin del smbolo P1 resulta muy sencilla, no as la del smbolo P2, ya que ste tiene un comportamiento bastante diferente a los smbolos de datos. Otra posible mejora podra ser la de llevar a la prctica lo que hemos expuesto en este Proyecto. Esto es, la implementacin fsica de un transmisor y de un receptor que, con las caractersticas que aqu hemos comentado, funcionase para una seal DVBT2. Hasta aqu hemos comentado una serie de posibles trabajos relacionados con algunos temas tratados en este Proyecto. Pero stas son slo algunas proposiciones que realizamos. Basta con analizar la bibliografa 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 da de hoy, de un primer plano en el panorama de la investigacin de los sistemas de telecomunicaciones actuales y del futuro.
140
8.- BIBLIOGRAFA
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.
Artculos Edfor, Ove; Sandell, Magnus; Van de Beek, Jan-Jaap y Landstrm, Daniel: An Introduction to Orthogonal Frequency-Division Multiplexing. Prez Gutirrez, Alejandro: Transmisin de seales de televisin digital en el estndar 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.
Desarrollo de un simulador DVB-T2 en Simulink 141
Tutoriales de Simulink.
142
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;
Ts=896e-006;
BCH_datos 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0
= 0 0 0 0 0
[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 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 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 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 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 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 1];
BCH_datos = logical(fliplr(BCH_datos));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
143
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Insercin de portadoras pilotos en los smbolos de datos. Se van a % %definir las posiciones de estas portadoras para los cuatro tipos de % %smbolos 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 1344 1440 1536 1632 1728 1824 1920 2688 2784 2880 2976 3072 3168 3264 4032 4128 4224 4320 4416 4512 4608 5376 5472 5568 5664 5760 5856 5952 6720 6816]+1; 576 672 768 864 960 2016 2112 2208 2304 3360 3456 3552 3648 4704 4800 4896 4992 6048 6144 6240 6336 1056 2400 3744 5088 6432 1152 2496 3840 5184 6528 1248 2592 3936 5280 6624
%Posiciones de los pilotos en los distintos smbolos 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 nmero de %portadoras activas para el patrn de pilotos PP7 es de 6698 y el %nmero 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 ordenacin segn lo indicado en el estndar.
144
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;
DVBT2_QAM= [ 1 1 -1 -1
+ + -
1i 1i 1i 1i];
dvbt2_qam=DVBT2_QAM/sqrt(2);
145
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
146
Funcin dvbt2ldpc
Como ya hemos dicho en alguna otra ocasin, esta funcin ya viene implementada en Matlab.
function H = dvbt2ldpc(R)
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)); %-------------------------------------------------------------------------
147
function ck = nodeindices(ct, M, NB) % ct: Posiciones para los bits de paridad para una longitud del cdigo % de 64800. % M: Nmero de bits de paridad % NB: Tamao 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 % codificacin LDPC. Estas posiciones vienen recogidas en el % Anexo A del estndar DVB-T2. % R = code rate. switch R case 1/2 ct1 = [54 9318 14392 27561 26909 10219 2534 8597
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 7263 4635 2530 28130 3033 23830 3651 24731 23583 26036 17299 5750 792 9169 5811 26154 18653 11551 15447 13685 16264 12610 11347 28768 2792 3174 29371 12997 16789 16018 21449 6165 21202 15850 3186 31016 21449 17618 6213 12166 8334 18212 22836 14213 11327 5896 718 11727 9308 2091 24941 29966 23634 9013 15587 5444 22207 3983 16904 28534 21415 27524 25912 25687 4501 22193 14665 14798 16158 5491 4520 17094 23397 4264 22370 16941 21526 10490 6182 32370 9597 30841 25954 2762 22120 22865 29870 15147 13668 14955 19235 6689 18408 18346 9918 25746 5443 20645 29982 12529 13858 4746 30370 10023 24828 1262 28032 29888 13063 24033 21951 7863 6594 29642 31451 14831 9509 9335 31552 1358 6454 16633 20354 24598 624 5265 19529 295 18011 3080 13364 8032 15323 11981 1510 7960 21462 9129 11370 25741 9276 29656 4543 30699 20646 21921 28050 15975 25634 5520 31119 13715 21949 19605 18688 4608 31755 30165 13103 10706 29224 21514 23117 12245 26035 31656 25631 30699 9674 24966 31285 29908 17042 24588 31857 21856 27777 29919 27000 14897 11409 7122 29773 23310 263 4877 28622 20545 22092 15605 5651 21864 3967 14419 22757 15896 30145 1759 10139 29223 26086 10556 5098 18815 16575 2936 24457 26738 6030 505 30326 22298 27562 20131 26390 6247 24791 928 29246 21246 12400 15311 32309 18608 20314 6025 26689 16302 2296 3244 19613 6237 11943 22851 15642 23857 15112 20947
148
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
149
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];
150
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
13915 4079 24410 13196 13505 6117 9869 8220 1570 6044 25780 17387 20671 24913 24558 20591 12402 3702 8314 1357 20071 14616 17014 3688 19837 946 15195 12136 7758 22808 3564 2925 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];
151
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 2 3 4 5 11359 2698 357 13824 12772 7862 7977 6321 13612 12197 1560 11804 6975 13292 3646 7626 11407 14599 9689 1628 1610 5699 15876 9446 12515 7244 6752 15310 852 2001 11417 14449 15137 13860 1708 6399 13444 3812 8772 7306 5795 14327 7866 2113 10809 9283 1230 15241 4870 1400 6303 5411 14181 13925 7358
152
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];
153
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];
154
155
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];
156
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
157
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];
158