simulador de un sistema de transmisiÓn, recepciÓn y ecualizaciÓn de dvb-t en simulink

Upload: jose-ramon-cerquides-bueno

Post on 03-Apr-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    1/117

    ProyectoFin de

    Carrera

    Ttulo: Simulador de un sistema de Transmisin, Recepcin yecualizacin de DVB-T en Simulink.

    Autor: Isaac Castro Mateos.Director: Dr. Jos Ramn Crquides Bueno.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    2/117

    1

    1.- Introduccin _______________________________________________________ 5

    2.- Introduccin al sistema DVB-T y a la modulacin OFDM __________________ 7

    2.1.- Sistema DVB-T________________________________________________________ 7

    2.2.- Modulacin OFDM ____________________________________________________ 9

    2.3- Generador de seales DVB-T ___________________________________________ 112.3.1.-Generacin de datos sin portadoras ____________________________________________12

    2.3.1.1.- Codificacin de bloque y entrelazado convolucional___________________________122.3.1.2.- Codificacin interna____________________________________________________15

    2.3.1.2.1.- Entrelazador de bits ________________________________________________182.3.1.2.2.- Entrelazador de smbolos ____________________________________________19

    2.3.2.- Modulacin OFDM en Televisin digital Terrestre _______________________________212.3.2.1.- Portadoras Pilotos _____________________________________________________222.3.2.2.- Portadoras TPS________________________________________________________23

    3.- Bloques de Simulink________________________________________________ 24

    3.1.- Generador de datos tiles ______________________________________________ 26

    3.1.1.- Generador de datos para una seal DVB-T____________________________________263.1.1.1.- Generador de datos_____________________________________________________273.1.1.2.- Codificador Reed Salomon ______________________________________________283.1.1.3.- Entrelazador Convolucional______________________________________________28

    3.1.1.3.1.- Entrelazador Convolucional __________________________________________283.1.1.3.2.- Convertidor de Bytes a bits___________________________________________29

    3.1.1.4.- Aade cdigo convolucional de k/n = .____________________________________303.1.1.5.- Entrelazador interno____________________________________________________31

    3.1.1.5.1.- Unbuffer _________________________________________________________ 313.1.1.5.2.- Buffer ___________________________________________________________313.1.1.5.3.- Entrelazador de bits ________________________________________________313.1.1.5.4.- Buffer ___________________________________________________________323.1.1.5.5.- Entrelazador de smbolos ____________________________________________33

    3.1.1.5.5.1.- Entrelazador para smbolos pares __________________________________333.1.1.5.5.2.- Seal de control________________________________________________343.1.1.5.5.2.1.- Generador de pulso _________________________________________343.1.1.5.5.2.2.- Sumatorio_________________________________________________353.1.1.5.5.2.3.- DSP constant ______________________________________________35

    3.1.1.5.5.3 Entrelazador para smbolos impares. _________________________________363.1.1.5.5.4 Switch ________________________________________________________36

    3.1.1.6.- Convertidor de bits a smbolos de 64-QAM _________________________________373.1.2.- Modulador 64-QAM _______________________________________________________ 38

    3.2.- Generador de pilotos: _________________________________________________ 393.2.1.- Bloque PN Sequence Generator ______________________________________________403.2.2.- Constante de un medio a sumar para modular las portadoras pilotos __________________40

    3.2.3.- Sum ____________________________________________________________________413.2.4.- Constante a multiplicar para modular las portadoras pilotos_________________________41

    3.3.- Seleccionador de ndices para pilotos_____________________________________423.3.1.- Vector para ordenar los smbolos _____________________________________________42

    3.3.2.- Seleccionador de vectores_________________________________________________423.3.3.- Seal de control___________________________________________________________43

    3.4.- Concatena datos, pilotos y portadoras TPS________________________________ 44

    3.5.- Coloca en orden los datos, las portadoras TPS y las portadoras pilotos. ________ 45

    3.6.- TPS ________________________________________________________________ 463.6.1.- Bernoulli Binary Generator __________________________________________________ 463.6.2.- Constante de un medio _____________________________________________________473.6.3.- Sum ____________________________________________________________________473.6.4.- Constante a multiplicar para modular las portadoras TPS___________________________47

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    3/117

    2

    3.7.- Modulacin OFDM ___________________________________________________ 483.7.1.- Aadimos hasta 8192 ______________________________________________________483.7.2.- Cambia el orden de los datos_________________________________________________493.7.3.- IFFT____________________________________________________________________493.7.4.- Aadimos hasta 10240 _____________________________________________________503.7.5.- Cambia el orden de los datos_________________________________________________50

    3.8.- Seal a Transportar___________________________________________________ 513.9- Pruebas realizadas para comprobar el funcionamiento ______________________ 52

    3.9.1.- Comprobacin del tamao de los vectores ______________________________________523.9.2.- Comprobacin de que si aadimos las portadoras pilotos y luego las extraemos obtenemosestas mismas ___________________________________________________________________533.9.3.- Comprobacin de que si aadimos las portadoras TPS y luego las extraemos obtenemos estasmismas _______________________________________________________________________553.9.4.- Comprobacin de que los valores de las portadoras TPS y pilotos estn en el lugar correcto563.9.5.- Comprobacin de las constelaciones___________________________________________57

    4.- Canal y receptor para seales DVB-T__________________________________ 60

    5.- Funcionamiento bsico del receptor ___________________________________ 616- Bloques de Simulink ________________________________________________ 63

    6.1.- Informacin _________________________________________________________ 65

    6.2.- Canal _______________________________________________________________ 666.2.1.- Atenuacin del canal i ______________________________________________________ 666.2.2.- Camino i ________________________________________________________________676.2.3.- Suma los tres caminos ______________________________________________________ 676.2.4.- Adiccin de ruido blanco Gaussiano ___________________________________________67

    6.3.- Demodulador de OFDM _______________________________________________ 686.3.1.- Almacena 10240 muestras___________________________________________________686.3.2.- Quita el prefijo cclico______________________________________________________696.3.3.- FFT ____________________________________________________________________696.3.4.- Convierte a trama _________________________________________________________696.3.5.- Quita muestras hasta 6817___________________________________________________70

    6.4.- Estimador de canal usando pilotos_______________________________________ 716.4.1.- Selecciona portadoras pilotos ________________________________________________736.4.2.- Seleccionador de ndices para pilotos __________________________________________736.4.3.- Generador de pilotos _______________________________________________________ 736.4.4.- Retraso de cuatro tramas ____________________________________________________ 736.4.5.- Estima el canal en las portadoras pilotos________________________________________746.4.6.- Acumulamos cuatro smbolos ________________________________________________746.4.7.- Ordena las portadoras pilotos ________________________________________________756.4.8.- Divide por la mitad ________________________________________________________75

    6.4.9.- Sum ____________________________________________________________________756.4.10.- Retraso de una trama ______________________________________________________ 766.4.11.- Interpolador Complejo_____________________________________________________77

    6.4.11.1.- Dividimos la seal en parte real e imaginaria _______________________________776.4.11.2.- Interpolacin Real ____________________________________________________786.4.11.3.- Interpolacin imaginaria _______________________________________________786.4.11.4.- Unimos para crear una seal compleja_____________________________________78

    6.5.- Retraso de tres tramas_________________________________________________ 79

    6.6.- Retraso de cinco tramas _______________________________________________ 80

    6.7.- Retraso de ocho tramas ________________________________________________ 81

    6.8.- Dividimos por la estima del canal________________________________________ 826.9.- Eliminador de ruido___________________________________________________ 83

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    4/117

    3

    6.9.1.- Seleccionador de datos _____________________________________________________836.9.1.1.- ndices de datos de los smbolos __________________________________________846.9.1.2.- Seleccionador de smbolo _______________________________________________846.9.1.3.- Seal de control _______________________________________________________ 84

    6.9.2.- Elimina las portadoras______________________________________________________856.9.3.- Eliminador de ruido________________________________________________________85

    6.9.3.1.- Demodulador _________________________________________________________ 866.9.3.1.1.- Unbuffer _________________________________________________________ 866.9.3.1.2.- Valores de la constelacin ___________________________________________866.9.3.1.3.- Restador _________________________________________________________866.9.3.1.4.- Modulo __________________________________________________________ 876.9.3.1.5.- Escoge mnimo ____________________________________________________ 876.9.3.1.6.- Restador _________________________________________________________876.9.3.1.7.- Constante ________________________________________________________876.9.3.1.8.- Almacena 6048 muestras ____________________________________________886.9.3.1.9.- Convertidor de smbolos a bits ________________________________________88

    6.9.3.2.- Desentrelazador interno _________________________________________________896.9.3.2.1.- Desentrelazador de smbolo __________________________________________90

    6.9.3.2.1.1.- Desentrelazador para smbolos pares _______________________________90

    6.9.3.2.1.2.- Seal de control________________________________________________916.9.3.2.1.2.1.- Generador de pulso _________________________________________916.9.3.2.1.2.2.- Sumatorio_________________________________________________926.9.3.2.1.2.3.- DSP constant ______________________________________________92

    6.9.3.2.1.3 Entrelazador para smbolos impares. _________________________________936.9.3.2.1.4.-Escoge entre smbolos ___________________________________________93

    6.9.3.2.2.- Buffer ___________________________________________________________946.9.3.2.3.- Desentrelazador de bits______________________________________________946.9.3.2.4.- Retraso __________________________________________________________956.9.3.2.5.- Buffer ___________________________________________________________95

    6.9.3.3.- Decodificador de Viterbi ________________________________________________966.9.3.4.- Desentrelazador convolucional ___________________________________________96

    6.9.3.4.1.- Convertidor de bits a bytes ___________________________________________96

    6.9.3.4.2.- Retraso __________________________________________________________976.9.3.4.3.- Desentrelazador convolucional________________________________________976.9.3.5.- Decodificador de bloque Reed-Salomon ____________________________________97

    6.10.- Constelacin no Ecualizada y Ecualizada ________________________________98

    6.11.- Calculador del error entre la seal que se transmiti y la recibida ___________ 99

    6.12.- Muestra la Ber, el nmero total de bits errneos y el nmero total de bits ____ 100

    6.13.- Pruebas realizadas para comprobar el funcionamiento____________________ 1013.3.1.- Comprobacin de que el ecualizador funciona __________________________________1016.13.2.- Comprobacin de que el eliminador de ruido funciona___________________________1036.13.3.- Comprobacin de que el sistema completo funciona ____________________________104

    6.13.3.1.- Comprobacin de que dat y datos son iguales __________________________ 1046.13.3.2.- Clculo del error de los datos en las tramas finales e iniciales. _________________105

    7.- Conclusiones y lneas de trabajo futuras ______________________________ 107

    7.1.- Conclusiones________________________________________________________ 107

    7.2.- Futuras lneas de trabajo______________________________________________ 108

    8.- Bibliografa______________________________________________________ 109

    Anexo A ___________________________________________________________ 110

    Generador_dvbt_fun _____________________________________________________ 110

    Tablas _________________________________________________________________ 112

    Interpolador ____________________________________________________________ 116

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    5/117

    4

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    6/117

    5

    1.- Introduccin

    La llegada de la televisin digital supone un cambio tan radical como elque supuso el paso del blanco y negro al color. No solo se trata de conseguirimgenes mejores, sino que tambin ha abierto las puertas a la introduccin deservicios hasta ahora inimaginables, como la recepcin mvil de televisin, lainteractividad, la televisin a la carta o los servicios multimedia tan de moda hoyen da con la explosin de Internet.

    El principal problema de la televisin analgica es que no saca partido alhecho de que en la mayora de los casos, las seales de vdeo varan muy pocoal pasar de un elemento de imagen (pxel) a los contiguos, o por lo menos existeuna dependencia entre ellos. Al igual que entre las imgenes sucesivas. Enpocas palabras, se derrocha espectro electromagntico.

    Adems al crecer el nmero de estaciones transmisoras, la interferencia pasaa convertirse en un grave problema.

    Los canales radioelctricos de la televisin digital ocupan la misma anchura debanda (8MHz) que los canales utilizados por la televisin analgica pero,debido a la utilizacin de tcnicas de compresin de las seales de imagen ysonido (MPEG), tienen capacidad para un nmero variable de programas detelevisin en funcin de la velocidad de transmisin, pudiendo oscilar entre unnico programa de televisin de alta definicin (gran calidad de imagen ysonido)a cinco programas con calidad tcnica similar a la actual (norma de emisin Gcon sistema de color PAL), o incluso ms programas con calidad similar alvdeo.

    Existen varios grupos y foros que se encargan de la puesta enfuncionamiento de la Televisin Digital.

    - Proyecto Europeo DVB (Digital Video Broadcasting), que establece lasnormas para difusin digital que se aplican a todas las formas de difusin(satlite, cable terrestre y otras).

    - Foro DIGITAG (DIGital Terrestrial Action Group), que se encarga deunificar criterios de requisitos de servicio , de funcionalidades del receptor , deaspectos regulatorios con todas las matizaciones propias de cada pas y de

    fomentar la rpida introduccin de televisin digital .

    - Proyecto VALIDATE (Verification And Launch of Integrated DigitalAdvanced Television in Europe), que es el grupo de trabajo que valida todaslas experiencias de televisin digital, en cuanto a la compatibilidad de losdistintos receptores.

    - Proyecto MOTIVATE, que analiza la posibilidad de recepcin mvil de latelevisin digital

    - Proyecto VIDITER (Video Digital TERrestre), constituye el primer proyectoespaol en televisin digital terrenal, y cuyo objetivo es desarrollar una red de

    televisin digital terrenal y evaluar el comportamiento de este nuevo sistema,con experiencias reales de emisin.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    7/117

    6

    - dTTb (digital Terrestrial Television broadcasting).

    El siguiente proyecto implementa un transmisor y receptor para DVB-T(Digital Video Broadcasting-Terrestrial, en castellano Difusin de VideoDigital-Terrestre), que es el estndar europeo para DVB, usando el lenguaje deprogramacin MATLAB y ms concretamente su herramienta de simulacin entiempo real, SIMULINK.

    Para comprobar la efectividad a la hora de recuperar los datos seimplementar tambin un canal que tendr ruido AWGN (Additive WhiteGaussian Noise o Ruido Gaussiano Blanco aditivo en espaol), y ademsdispersin por multicamino.

    El receptor deber ser capaz de mantener la BER (Bit Error Rate) enunas cotas aceptables, para ello, se implementarn una serie de bloques, loscuales realizaran los algoritmos detallados en el estndar ETSI EN 300 744V.1.4.1, que describen la correccin del error. Y por otro lado, habr quedesarrollar, tambin, un ecualizador que elimine la dispersin de multicamino.

    A la luz de esto, se dividir el proyecto en dos partes, Generador deseales DVB-T y Receptor DVB-T que incluir el canal. Asimismo, la memoriase compondr de los siguientes apartados:

    - Tras la Introduccin, se detallar el Generador de datos de forma terica,haciendo hincapi en el estndar mencionado antes.

    - En el tema tercero se detallar el modelo de SIMULINK del anterior.

    - El cuarto captulo ser una explicacin terica del por que del ecualizador yeliminador de ruido.

    - El quinto tema desarrollar tericamente el receptor DVB-T.

    El sexto tema consistir en el desarrollo en SIMULINK del receptor DVB-T.

    - En el sptimo tema se explicarn las conclusiones y las futuras lneas deinvestigacin de este sistema.

    - Por ltimo, se incluir una bibliografa y un Anexo con las funciones enMATLAB.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    8/117

    7

    2.- Introduccin al sistema DVB-T y a lamodulacin OFDM

    En este tema se presentar al sistema DVB-T y a la modulacin usadaen el mismo. Tras lo cul se vern los algoritmos que la ETSI (European

    Telecommunications Standards Institute) ha desarrollado para este sistema.

    2.1.- Sistema DVB-T

    El sistema DVB-T (Digital Video Broadcasting Terrestrial, encastellano Difusin de Video Digital - Terrestre) es el estndar para latransmisin de televisin digital terrestre creado por la organizacin europea

    DVB. Este sistema transmite audio, video y otros datos a travs de un flujoMPEG.

    Dicho Flujo de transportes (TS), obtenido mediante el procesodenominado Codificacin de Fuentees una adaptacin del estndar MPEG-2segn ISO/IEC 13818-1, que se estructura multiplexando varios programas yaadiendo la Informacin del Servicio (SI) correspondiente, segn ETS 300468.

    En este documento se describe la secuencia de operaciones denominadaCodificacin de Cana, mediante la cual se aade suficiente redundancia yproteccin a la seal para hacerla ms robusta con vista a poder corregir los

    errores Forward Error Correction (FEC) en el receptor.

    Tambin se describe el Esquema de Modulacin usado en latransmisin, que es del tipo modulacin multiportadora OFDM, como se hadicho anteriormente.

    El resultado, combinando el potente mtodo de codificacin paracorreccin de errores y la modulacin multiportadora, es una transmisin detipo COFDM (Coded Orthogonal Frequency Division Multiplex).

    Un aspecto a destacar de la tcnica OFDM es que permite la operacin,

    tanto en reas pequeas como en grandes, de Redes de Frecuencia nica(Single Frequency Networks-SFN). Esto significa que mediante este sistemaes posible la recepcin cuando se radian idnticos programas desde diferentestransmisores que operan en la misma frecuencia. En estas condiciones seobtiene la mxima eficiencia del espectro, lo cual adquiere especial relevanciacuando se usa en las bandas de UHF asignadas para TV.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    9/117

    8

    Fig. 1 Diagrama de bloques de un transmisor y receptor DVB-T

    El sistema DVB-T permite transmisiones jerrquicas. En este caso hay

    2 flujos de transporte, uno de ellos denominado de alta prioridad (HP) quetiene baja velocidad y por tanto menor calidad de imagen, modula lasportadoras con un esquema de modulacin muy robusto frente al ruido(QPSK) mientras que el segundo flujo de transporte, denominado de bajaprioridad (LP)complementa al anterior en cuando a velocidad uy calidad deimagen y combina su informacin con el anterior de forma que las portadorasson moduladas finalmente con un esquema ms exigente en cuanto a relacinseal/ruido. En el caso de que este ltimo utilice 54 bits por cada 2 bits del dealta 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 buenarelacin S/N, la imagen recuperada, de alta calidad, corresponder a lacombinacin de los dos flujos (alta y baja prioridad) mientras que en caso

    contrario la calidad de imagen recibida ser peor, correspondiendo slo al flujode alta prioridad.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    10/117

    9

    2.2.- Modulacin OFDM

    La idea bsica de la modulacin OFDM es dividir el espectro disponibleen muchos subcanales. Haciendo los anchos de banda de estos muyestrechos, se consigue as que al decaer la seal lo haga de una forma lo msparecida a una lnea recta pero suave en ese subcanal, lo cul ayuda a que laigualacin sea ms sencilla. Adems, para obtener una alta eficienciaespectral se solapan los canales adyacentes y se hacen ortogonales. Esto seconsigue haciendo que los canales tengan un cero en la frecuencia en la quelos canales adyacentesa ellos tienen un maximo (figura 2.2). Esto conlleva aotra ventaja, y es que podemos eliminar la interferencia intersimblica o ISI.

    Para conseguirque desaparezca el ISI, se aplicar el criterio de Nyquistque dice que para eliminar la ISI, es necesario que se cumpla:

    Donde P(w) es el espectro de cada smbolo, T es su periodo y W = 2/T.

    Que quiere decir, en este caso, que la suma de las amplitudes de losdistintos subcanales debe ser constante en todo momento frecuencial.

    Fig. 2.2: Seal con mltiples portadoras

    Por otro lado, se aade un prefijo cclico al principio de cada smbolo,en el que se repite la informacin del final de este smbolo. Gracias a estopodemos realizar bien la ortogonalidad entre seales, debido a que, al incluirel final de la informacin, el resultado es parecido a una convolucin cclica, y,por tanto, nos dar seales ortogonales, siempre que la duracin del prefijosea mayor que la respuesta impulsiva del canal. Adems, este prefijo eliminala interferencia entre canales o ICI, ya que se simula un canal rectangularperfecto, en tiempo, puesto que la informacin que no pertenece al rectngulo

    cae en el prefijo que no importa que se degrade (figura 2.3).

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    11/117

    10

    El problema que deriva del uso del prefijo cclico es que la relacin seala ruido (SNR) empeora en funcin del tamao de este.

    Notar que la diferencia entre ISI e ICI es que la ISI se produce entre lossubcanales de un mismo smbolo y la ICI es entre los distintos smbolos a lolargo del tiempo.

    Fig. 2.3 Ejemplo de seal OFDM en tiempo

    El gran problema de la modulacin OFDM era la cantidad deosciladores necesarios para obtener los distintos canales. Para arreglar esto sedecidi usar la transformada inversa de Fourier, ya que sta utilizaexponenciales con los que se puede obtener valores concretos de frecuencia.

    Un esquema tpico de la modulacin OFDM es el dado en la Figura 2.4en el que se ve la adiccin del cdigo cclico como CP y la extraccin como otroCP pero tachado.

    Fig. 2.4 Esquema de modulacin y demodulacin discreta de OFDM

    Un estudio ms completo sobre OFDM tanto su versin discreta, que esla ms usada, como de su continua, que es donde se parti este tipo demodulacin, puede verse en las referencias [1] y [2] de la bibliografa.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    12/117

    11

    2.3- Generador de seales DVB-T

    Para realizar la generacin de seales DVB-T se llevan a cabo variasetapas; la primera es la generacin de los datos, luego se aade un cdigo debloque, se realizan entrelazados, se aade un cdigo convolucional y tras esose aaden las portadoras TPS (Tranmission Parameter Signalling, es decir,Sealizacin de los parmetros de transmisin) y las portadoras pilotos. Porltimo, se modula la seal resultante en OFDM (Orthogonal FrequencyDivision Multiplexing, es decir, Multiplexacin por Divisin de FrecuenciaOrtogonal) y se enva por el canal.

    Se relatarn las partes ms importantes de cada uno de los siguientescampos.

    Fig. 2.5 Esquema del generador de seales

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    13/117

    12

    2.3.1.-Generacin de datos sin portadoras

    En este apartado se vern los distintos algoritmos que se llevan a caboen las seales DVB-T para la generacin de datos antes de que se le aadan

    las portadoras TPS y pilotos. Se parte de los datos codificados en MPEG-2 y sele irn aadiendo las sucesivas cabeceras a las tramas.,

    Para ayudar al lector se har una referencia al orden aplicado:

    - Estas capas comienzan con un cdigo de bloque, es decir, se aaden16 bytes que ayudan a la correccin de errores (vease [4] y Digital SignalProcessing de Proakis y Monolakis).

    - Lo siguiente pero en el mismo subapartado 2.3.1.1, se detallar elentrelazado que no es ms que cambiar el orden de los datos, para que a la

    hora de producirse un error este quede separado, y por tanto, el codigo debloque acte, con bytes separados.

    - El siguiente subapartado se ver la codificacin interna, que se compone enla adiccin de un cdigo convolucional, que aplica una proteccin robusta alsistema, para su mejor comprensin vease [4] y [10] Digital TransmissionEngineering por John B. Anderson.

    2.3.1.1.- Codificacin de bloque y entrelazado

    convolucionalEl primer paso, es la adiccin de un cdigo de bloque mediante cdigo

    Reed Salomon, que usa un cdigo de la forma k/n = 188/204 y tiene unadistancia de correccin de t=8, es decir, es capaz de corregir hasta 8 bytes ydetectar 16 bytes.

    El Cdigo Generador usado es:g(x) = (x+0)(x+1)(x+2)...(x+15), donde = 02HEX.

    Y el polinomio generador es:

    p(x) = x8 + x4 + x3 + x2 + 1.

    La versin de Reed Salomon es una versin reducida de la original RSk/n = 239/255. La forma acortada se realiza aadiendo primeramente 51bytes nulos delante de los 188 bytes de informacin, con lo que secomplementan los 239 bytes. Tras eso se pasan por el codificador RS(255,239)que aade los 16 bytes del cdigo de bloque y tras esto se eliminan los 51octetos nulos.

    Tras esta adiccin del cdigo de bloque, se produce un entrelazado delos datos. Todos los entrelazados que se llevan a cabo en esta generacin, sedeben a lo siguiente: los errores no se producen de forma aislada, sino quecuando hay un error suelen aparecer varios datos seguidos en mal estado.Esto podra provocar que el cdigo, ya sea de bloque o convolucional, no sea

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    14/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    15/117

    14

    Fig. 2.9 Paquetes con los bytes de paridad de Reed-Salomon

    Fig.2.10 Estructura de datos tras entrelazado de profundidad I = 12bytes

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    16/117

    15

    2.3.1.2.- Codificacin interna

    Esta parte se divide tambin en dos: una codificacin convolucional yluego un entrelazado de smbolo y otro de bit.

    El sistema se basa en un sistema de k=1/2 con 64 estados que, a suvez, se basa en dos generadores de polinomios G1 = 171oct para X y G2 =133oct para Y.

    Tabla 1 Tasa de Cdigo y esquema de perforado

    Fig. 2.11 Esquema del cdigo convolucional de tasa

    Lo siguiente es el entrelazado interno, que se compone de un primerproceso de entrelazado relativo al bit, que va seguido de un entrelazado desmbolo. Ambos, el relativo al bit y el entrelazado de smbolos, estn basadosen bloques. En la figura 2.12 se muestra el esquema de principio para el casono jerrquico y esquema de modulacin con constelacin.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    17/117

    16

    Fig. 2.12 Entrelazado interno y mapeado para modo no jerrquico

    con constelacin 64-QAMEn el caso de modos no jerrquicos (figura 2.12), el nico flujo de

    transporte de entrada, compuesto por bits xi, se demultiplexa en v sub-flujos, siendo v el nmero de bits por smbolo, resultando en cada va los bitsbij.

    Fig. 2.13 Entrelazado interno y mapeado para modo jerrquico conconstelacin 64-QAM

    En cambio, en el caso de modos jerrquicos (figura 2.13) el flujo detransporte de entrada de alta prioridad, compuesto por los bits xi, sedemultiplexan en 2 sub-flujos, al mismo tiempo que el de baja prioridad, bitsxi, lo hace en v-2 subflujos. Los subflujos de las distintas vas llevan los bitsbij.

    El esquema de demultiplexado de los bits xi (xi y xi en el casojerrquico) en los resultantes dij, para el caso 64-QAM, es el siguiente:

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    18/117

    17

    Transmisin no jerrquica Tansmisin Jerrquica

    Despus del demultiplexado, cada sub-flujo se procesa por separado enun entrelazador de bits. Hay por tanto v entrelazadores de bits (hasta 6, yaque el mximo es 64 smbolos) que se numeran desde I0 a I5. Losentrelazadores I0 a I1 se usan para QPSK, I0 a I3 para 16-QAM, I0 a I5 para64-QAM.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    19/117

    18

    2.3.1.2.1.- Entrelazador de bits

    El entrelazado de bits se realiza por bloques y slo acta sobre losdatos tiles. El tamao de estos bloques es de 126 bits segn el estndar para

    todos los entrelazadores, aunque la secuencia de entrelazado es diferente deunos a otros. El tamao implica que el proceso se repite un nmero exacto deveces por cada smbolo OFDM, tanto usando 2k como 8k.

    Estndar 2k estndar 8kN de portadoras activas para datos 1512 6048Bits totales por smbolo OFDM vx1512 vx6048N de entrelazadotes de bits: v vRepeticin de entrelazado(n de veces por smbolo OFDM): 1512/126=12 6048/126=48

    Por tanto, los bloques de bits de entrada a cada entrelazador estncompuestos por:

    B(e) = (be0 be1 be125) donde e va de 0 a v-1.

    Los bloques de bits de salida de cada entrelazador se componen por:

    A(e) = (ae0 ae1 ae125)

    La relacin entre los bits de ambos bloques, de entrada y salida, es:

    Ae,w = be,He(w) donde w va desde 0 a 125.

    Y siendo He(w) una funcin de permutacin, que es diferente de unosentrelazadores a otros:

    Entrelazador I0: H0(w) = w.Entrelazador I1: H1(w) = (w + 63) mod 126.Entrelazador I2: H2(w) = (w + 105) mod 126.Entrelazador I3: H3(w) = (w + 42) mod 126.Entrelazador I4: H4(w) = (w + 21) mod126.Entrelazador I5: H5(w) = (w + 84) mod126.

    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 salida decada entrelazador, correspondiendo el bit ms significativo a la salida de I0, esdecir:

    yw = (a0,w a1,w av-1,w).

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    20/117

    19

    2.3.1.2.2.- Entrelazador de smbolos

    Se realiza sobre las palabras anteriores yw conteniendo cada una deellas v bits, de forma que a la salida del entrelazador queden agrupadas en

    bloques cuyo tamao est calculado para que los datos se puedan distribuirdirectamente entre las 1512 (modo 2k) 6048 (modo 8k) portadoras activasque tiene cada smbolo OFDM.

    As, agrupamos las palabras yw para formar unos vectore Y:

    - Estndar 2k: 12 conjuntos de 126 palabras -> Y = (y0 y1 y1511).

    - Estndar 8k: 48 conjuntos de 126 palabras Y = (y0 y1 y6047).

    As, tenemos que los vectores son Nmax = 1511 para 2k y Nmax = 6047para 8k.

    Los vectores Y son los vectores a la entrada del entrelazador; a susalida son Y.

    Y = (y0 y1 yNmax).

    Donde yH(q) = yq con q=0 a Nmax-1 Para smbolos pares.yq= yH(q) con q = 0 a Nomax -1 Para smbolos impares.

    El algoritmo de las permutaciones de H(q) es definido de la siguientemanera:

    i = 0,1: Ri[Nr-2, Nr-3, , 1, 0] = 0,0, , 0, 0.

    i = 2: Ri[Nr-2, Nr-3, , 1, 0] = 0,0, , 0, 1.

    2

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    21/117

    20

    Fig. 2.15 Algoritmo de H(q) para 8k

    Ri son vectores derivados de los Ri mediante las permutaciones de bitsque recogen las siguientes tablas:

    Tabla 2 Permutaciones de Ri en 2k

    Tabla 3 Permutaciones de Ri en 8k

    Por ltimo, se realiza el mapeado de los 6048 smbolos en 8k o 1512 enmodo 2k, por tanto, se necesitarn v*N bits, siendo N el nmero de smbolossegn 2k u 8k.

    Los bits se repartirn en dos seales I y Q de la siguiente manera:

    Tabla 4 Distribucin de los bits en las seales I y Q

    En el caso de modos jerrquicos, los bits de alta prioridad son los y0,qy1,q, siendo los restantes los de baja prioridad. Con la distribucin de bitsanterior, entre las seales I y Q, en caso de que la constelacin se descodifiquecomo QPSK (un solo punto de la constelacin identificado en cada cuadrante)solo se recuperarn los bits de alta prioridad y0,qy1,q,. La recuperacin detodos los bits exigir la correcta identificacin de la constelacin completa.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    22/117

    21

    2.3.2.- Modulacin OFDM en Televisin digitalTerrestre

    Existen dos modos en la modulacin OFDM: modo 2k y 8k. Cada uno

    de ellos puede estar a tres frecuencias distintas: 6Mhz, 7Mhz y 8Mhz. Por otrolado, la seal se divide en tramas cada una de 68 smbolos.En el presente trabajo se utilizar el modo 8k a 8Mhz por ser el ms

    usado. En la versin a 8k se tienen 8192 canales por smbolo, de los culesslo se usan 6817 para que el sistema se pueda ecualizar correctamente. Deestos canales, 6048 son para datos, 701 para portadoras pilotos y 68 paraportadoras TPS. Los 8Mhz indican la separacin entre los canales que, paraeste tipo, es de 7.61Mhz.

    Para este tipo de modo tenemos los siguientes parmetros segn el estndar:

    Parmetros en modo 8kNmero de canales K 6 817Valor del canal Kmin 0Valor del canal Kmax 6 816Intervalo de guarda (I/TU) 1/4 1/8 1/16 1/32Duracin (TU) 896 usDuracin del intervalo (I (us)) 224 112 56 28Duracin del smbolo (Ts(us) = TU + I) 1120 1008 952 924Espaciado entre canales 1/TU 1 116 HzEspacio entre los canales Kmin y

    Kmax (K-1)/TU

    7,61 MHz

    Adems, existen varias formas de modular los datos que se envan enlos smbolos: QPSK, 16-QAM y 64-QAM, pudiendo ser estas dos ltimasuniformes y no uniformes. Para distinguirlas se le dan un valor a cada tipo yse envan en las portadoras TPS, que se explicarn posteriormente.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    23/117

    22

    2.3.2.1.- Portadoras Pilotos

    Dentro de una seal modulada en OFDM hay ciertos canales cuyo valorno son datos sino valores conocidos. Estas portadoras son denominadas

    pilotos, y se usan entre otras cosas para la estimacin del canal por el queviaja la seal.

    Los valores de esta seal se obtienen mediante un circuito pseudo-aleatorio, como el mostrado en la figura 2.16.

    Fig. 2.16 Circuito para la generacin de las portadoras pilotos

    La secuencia obtenida por este circuito se modula mediante el siguientealgoritmo Re{cm,l,k} = 4/3x2(1/2 - Wk) e Im{cm,l,k} = 0, donde:

    - m: indica el ndice de la trama. Est comprendido entre 0 e infinito.- k: es el ndice en frecuencia del canal.- l: es el ndice temporal del smbolo. Est comprendido entre 0 y 67.El ndice k tiene un intervalo distinto segn el smbolo que sea, y si la

    portadora piloto es contina o dispersa. As, la posicin de las dispersas esdistinta durante cuatro smbolos consecutivos y luego se va repitiendo.

    k = Kmin + 3xb + 12xp, donde b = 0,1,2 3. p es un valor entero que hace quek sea mayor que cero pero menor de 6817.

    En el modo 8k existen 177 portadoras pilotos continuas, siendo las posicionesque ocupan, segn el estndar, las siguientes:

    Posiciones de las portadoras pilotos continuas:0 48 54 87 141 156 192 201 255 279 282 333 432 450 483 525 531 618 636 714 759 765 780804 873 888 918 939 942 969 984 1050 1101 1107 1110 1137 1140 1146 1206 1269 13231377 1491 1683 1704 1752 1758 1791 1845 1860 1896 1905 1959 1983 1986 2037 21362154 2187 2229 2235 2322 2340 2418 2463 2469 2484 2508 2577 2592 2622 2643 26462673 2688 2754 2805 2811 2814 2841 2844 2850 2910 2973 3027 3081 3195 3387 34083456 3462 3495 3549 3564 3600 3609 3663 3687 3690 3741 3840 3858 3891 3933 39394026 4044 4122 4167 4173 4188 4212 4281 4296 4326 4347 4350 4377 4392 4458 45094515 4518 4545 4548 4554 4614 4677 4731 4785 4899 5091 5112 5160 5166 5199 52535268 5304 5313 5367 5391 5394 5445 5544 5562 5595 5637 5643 5730 5748 5826 58715877 5892 5916 5985 6000 6030 6051 6054 6081 6096 6162 6213 6219 6222 6249 62526258 6318 6381 6435 6489 6603 6795 6816

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    24/117

    23

    2.3.2.2.- Portadoras TPS

    Este tipo de portadoras se usan para aspectos de sealizacin (TPSviene del ingls Tranmission Parameter Signalling, es decir, Parmetros de

    transmisin de sealizacin) y proporcionan, entre otras, informaciones sobre:

    - Jerarqua.- Modo de transmisin.- Cdigos internos.- Valor de en la modulacin de datos.- Nmero de tramas en una supertrama.Requiere una modulacin del tipo:

    Re{cm,l,k} = 2(1/2 - Wk) e Im{cm,l,k} = 0, donde m,k,l representan los mismos

    parmetros que en la modulacin de las portadoras pilotos.

    Debido a que el trabajo se basa en la estimacin de canales, lasportadoras TPS no sern usadas y a la hora de crearlas se harn de maneraaleatoria, aunque respetando sus posiciones, mostradas en el siguientecuadro:

    Posiciones de las portadoras TPS en modo 8k34 50 209 346 413 569 595 688 790 901 1073 1219 1262 1286 1469 1594 1687 1738 17541913 2050 2117 2273 2299 2392 2494 2605 2777 2923 2966 2990 3173 3298 3391 34423458 3617 3754 3821 3977 4003 4096 4198 4309 4481 4627 4670 4694 4877 5002 50955146 5162 5321 5458 5525 5681 5707 5800 5902 6013 6185 6331 6374 6398 6581 67066799

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    25/117

    24

    3.- Bloques de Simulink

    A continuacin se estudiarn los distintos bloques de SIMULINK. Paraello, en primer lugar se va a explicar y dibujar el modelo completo (figura 3.1)

    y posteriormente se desarrollarn cada una de las partes.

    El Generador de datos consta como se coment de diversas partes, peroque en general se pueden simplificar en dos.

    La primera parte, es la adiccin de informacin para la correccin deerrores en el receptor, esto se hace en el bloque Generador de datos tiles, elcul se subdivide en varios y a su vez, varias veces. Y dnde se realizan lasoperaciones mencionadas antes, entrelazado, adiccin de cdigo de bloquesetc.

    La segunda parte es la adiccin de informacin, para la correccin de ladispersin por multicamino. Esto es, aadir las portadoras pilotos, para lo

    cul, se usan cuatro bloques, uno que las genera Generador de portadoraspilotos, y otros tres que los ordenan Seleccionador de ndice para pilotos,Concatena datos, pilotos y portadoras TPS y Coloca en orden los datos, lasportadoras TPS y las portadoras pilotos. Y tambin la modulacin OFDM, quees muy robusta frente a esta clase de dispersin.

    Por ltimo, aadir, que la adiccin de portadoras TPS para el objetivode este proyecto, no es necesario, se aadir para completar la seal que esdescrita en el estndar mencionado antes.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    26/117

    Fig. 3.1 Esquema del Generador de Seales OFDM

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    27/117

    26

    3.1.- Generador de datos tiles

    Para realizar este apartado, se generar una seal aleatoria, usando elbloque Random Integer Generador, tras eso se aplicarn los algoritmos quevienen en el estndar de DVB-T y luego se modulara a 64-QAM usando elbloque General QAM Modulator.

    Fig. 3.2 Bloques del generador de datos tiles

    3.1.1.- Generador de datos para una seal DVB-T

    Este bloque se encarga de la generacin de la seal de datos de unsistema DVB-T. Para ello, primero se genera la seal de datos mediante elbloque Random integer y, posteriormente, se van aplicando distintosmecanismos para la correccin de errores.

    Fig. 3.3 Generador de datos para una seal en un sistema DVB-T.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    28/117

    27

    3.1.1.1.- Generador de datos

    Este bloque (Random integer generator) se encarga de generar losdatos que queremos enviar y que hay que modular en OFDM.

    Los parmetros utilizados por este bloque son:

    - M-ary number: Nmero de muestras que genera en cada muestreoque, como vamos a generar, en principio bytes, que luego habr quedescomponer a bits, se necesitaran 256 (2^8).

    - Initial seed: Las seales generadas por el generador aleatorio deenteros necesitan un valor con el cul, mediante distintasecuaciones, generar los datos. Al no existir una manera de hacernmeros aleatorios de verdad, este valor inicial es la initial seed, y,

    por tanto, no hay un valor predeterminado.- Sample per frames: Para obtener el periodo de muestreo se tiene en

    primer lugar que escoger la duracin del intervalo de guardia. Setomar el mayor, lo que proporciona una mejor proteccin contra ISIe ICI. Como el intervalo de guardia mayor segn el estndar de laETSI 300 744 V1.4.1 es de un cuarto de la duracin del smbolo sinproteccin y, segn este estndar, la duracin de un smbolo sinproteccin en una modulacin OFDM 8k y a 8MHz es de 896microsegundos, entonces la duracin total del smbolo es de 896*(1+ 1/4) = 1120 microsegundos. Ahora habr que dividirlo por elnmero de datos que se enven, es decir, 188 segn el estndar,

    pero como adems, necesitamos almacenar 48 grupos de 126palabras de 6 bits en un buffer, y cada vez que emite el sistema sellenan 2176 bits. Esto nos lleva a 1120e-6/188*(126*6*48/2176).

    - Frame-based outputs: Para la generacin de una seal OFDMdebemos medirla en tramas, por eso se marca la casilla.

    - Samples frame: El nmero de muestras que se envan en cadatrama debe ser el que el estndar diga. En este caso es de 188, comose indic antes.

    -

    Output data type: No hace falta precisin, por eso se usar uint8.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    29/117

    28

    3.1.1.2.- Codificador Reed Salomon

    Este bloque Integer input RS se encarga de aadir un cdigo debloque segn el algoritmo Reed Salomon (vase apartado 2.3.1.1).

    Los parmetros usados son:

    - Codeword length: El valor, que viene dado por el estndar, es de 204.

    - Message length: El valor de este apartado tambin lo da el estndar;es 188.

    3.1.1.3.- Entrelazador Convolucional

    Este bloque realiza el entrelazado de los bytes, para mejorar surecuperacin contra errores.

    Fig. 3.4 Entrelazador Convolucional

    3.1.1.3.1.- Entrelazador Convolucional

    Este bloque (convolutional interleaver) se encarga de la funcinmencionada.

    Los parmetros que utiliza son los siguientes:

    - Rows of shift register: Este valor nos lo da el estndar, 17, y nosindica el nmero de registros, los cuales van a ser desplazados unnmero de veces el parmetro que viene a continuacin.

    - Register length step: Este valor tambin nos lo da el estndar, 12.- Initial condition: Como no se indica nada, se usar el valor por

    referencia, 0.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    30/117

    29

    3.1.1.3.2.- Convertidor de Bytes a bits

    Este bloque se encarga de pasar los bytes, dados por nmeros de 0 a255, a bits.

    Los parmetros usados son:

    - Number of bits per integer: Como queremos pasar de bytes a bits, elnmero es 8.

    - Output data type: El tipo de salida debe ser boolean, puesto queestamos pasando a bits.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    31/117

    30

    3.1.1.4.- Aade cdigo convolucional de k/n = .

    En este bloque se aade un cdigo convolucional. Segn el estndar,hay que usar un cdigo especifico, pero con varias posibilidades en cuanto a

    los bits que se aaden; se ha escogido un cdigo k/n =3/4.

    Los parmetros que se han usado son:

    - Trellis structure: Aqu hay que colocar poly2trellis(7, [171 133]), quees la funcin que se aplica para poder ejecutar ms tarde el Viterbi. El 7nos indica la profundidad del cdigo. El 171 y el 133, son los vectoresde conexiones, es decir, si tomamos de ejemplo el 171, el nmero sepasa de octal a bits, consiguiendo 001111001. Como la profundidad es7, se quitan los dos primeros bits, as se consigue 1111001. Los 1indican los registros (que guardan bits del vector de entrada de un paso

    anterior) que se van conectar y los 0 los que no influyen.

    - Operation mode: Continuous, ya que no hay que truncar nada.

    - Puncture code: Hay que activar esta casilla para poder aadir elpuncture vector, que se usa para indicar que k/n = .

    - Puncture vector: En el estndar nos indican que para tener uncdigo , debemos poner [1 1 0 1 1 0]'.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    32/117

    31

    3.1.1.5.- Entrelazador interno

    Al igual que el otro entrelazador, la idea es separar los bits para que a lahora de corregirlos, sea ms fcil, ya que los errores se producen a rfagas y si

    luego se ordenan, estos errores se dispersan y el cdigo de bloque oconvolucional puede corregirlos.

    Fig. 3.5 Entrelazador interno

    3.1.1.5.1.- Unbuffer

    Este bloque se coloca para pasar las muestras de una en una ya que elbuffer no almacena un nmero de veces entero el tamao del vector de datosque le llegan.

    3.1.1.5.2.- Buffer

    Este bloque se usa para almacenar los 756 bits necesarios para hacer el

    entrelazado de bits, ya que este se realiza en bloques de 756 (6*126 palabras).

    - Output buffer size: Como se ha dicho, es 756.

    - Buffer overloap: Queremos que las muestras salgan por bloques talcual, no que se repitan; por tanto, el valor es 0.

    - Initial conditions: Se pondr 0, ya que se est dando este valor atodas las condiciones iniciales.

    3.1.1.5.3.- Entrelazador de bits

    Este bloque, General block interleaver, se encarga de entrelazar los756 bits segn un algoritmo dado por el estndar (apartado 2.3.1.2). Elprograma que saca las posiciones puede verse en el Anexo A.

    El parmetro a poner es:

    - Elements: Se colocan aqu las posiciones para el entrelazado.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    33/117

    32

    3.1.1.5.4.- Buffer

    Este bloque se usa para almacenar las 6048 palabras.Estas tienen 6bits cada una para poder ser moduladas a 64-QAM (2^6 = 64).

    - Output buffer size: Se necesitan 6048*6. Como el buffer anterior es756 bits, se puede poner como 48*756 que es lo mismo.

    - Buffer overloap: Queremos que las muestras salgan por bloques talcual, no que se repitan, por tanto, el valor es 0.

    - Initial conditions: Se pondr 0, ya que se est dando este valor atodas las condiciones iniciales.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    34/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    35/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    36/117

    35

    3.1.1.5.5.2.2.- Sumatorio

    Este bloque Sum, se usa para restarle uno al pulso y as obtener laseal adecuada.

    Los parmetros que se utilizan en este bloque son:

    - List of sign: Aqu deben ir los signos que queremos usar, en estecaso -+, puesto que queremos restarle uno.

    El resto de parmetros no requieren nombrarse.

    3.1.1.5.5.2.3.- DSP constant

    Este bloque se usa para implementar una constante de valor 1.

    Los parmetros que se utilizan:

    - Constant value: Aqu se coloca el valor de la constante, es decir, 1.

    - Sample mode: Se pondr discreto, ya que el modelo no es continuo.

    - Output: Ponemos sampled based.

    - Sample time: El tiempo de muestreo se puede poner inf, que suelta

    una muestra constantemente, -1 que la suelta cada paso mnimo, o eltiempo esperado.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    37/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    38/117

    37

    3.1.1.6.- Convertidor de bits a smbolos de 64-QAM

    Este bloque se encarga de pasar los bits, a nmero de 0 a 63.Los parmetros usados son:

    - Number of bits per integer: Como queremos pasar de bits a palabrasde 64 valores distintos, el nmero es 6.

    - Output data type: Puede haber varios tipos de salida. Se retomaruint8 por ser el primero que cumple los requisitos.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    39/117

    38

    3.1.2.- Modulador 64-QAM

    Este bloque (General QAM Modulator), se encarga de realizar lamodulacin 64-QAM, que hemos escogido entre las posibles, para modular los

    datos.Los parmetros utilizados en este bloque son:

    - Signal Constellation: Aqu irn las posiciones de una constelacin64-QAM, con codificacin de gray.

    - Output data type: Como los datos pueden ser flotantes y de granlongitud, se usar double.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    40/117

    39

    3.2.- Generador de pilotos:

    Para este bloque, en primer lugar hay que generar una secuenciapseudo aleatoria. Para ello, se usa el bloque PN sequence Generador, y luegose realiza la frmula que viene en el estndar 8/3 * (0.5 - Wk), donde Wk es lasecuencia pseudo aleatoria en el carril de frecuencia k.

    Fig. 3.8 Bloques del Generador de pilotos

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    41/117

    40

    3.2.1.- Bloque PN Sequence Generator

    En este bloque hay que especificar diversos parmetros:

    - Generator Polynomial: Es el polinomio con el cual se van a generarlos unos y ceros. En el estndar viene dado por X11 + X2 + 1, quetraducido a los comandos matlab son las posiciones de los 1s [11 20].

    - Initial States: Es el valor con el que comienzan los distintosmdulos del bloque PN Sequence Generador. El estndar aclaraque estos deben estar a '1'.

    - Output mask source: En donde hay que especificar si quieres queel bloque genere la seal (Dialog parameter) o si modular una

    seal entrante (input port). En el caso que se est tratando, seusar la primera forma por indicarlo as el estndar.

    - Output mask vector: Es el retraso que ocasiona el bloque. Por noestar indicado en el estndar lo supondremos igual a 0.

    - Sample time: El tiempo de muestreo ser puesto a -1 porque no nosinteresa.

    - Frame-based outputs: Se debe pulsar este botn en el caso de quela salida est basada en tramas como lo est en este caso.

    - Samples per Trama: Aqu se debe poner el nmero de muestras queva a tener el vector que salga. Dado que vamos a unir tanto losdatos, como las pilotos y las TPS entonces el nmero de muestrasser la suma de los dos tipos de pilotos, que usando el programacalculapilot (vase Anexo A), es 701.

    - Output data type: Aqu se especifica el tipo de datos que va a tenerel vector, como se ha dicho anteriormente son unos y ceros, portanto, se escoger el tipo boolean.

    3.2.2.- Constante de un medio a sumar paramodular las portadoras pilotosEste bloque (Constant) se usa para realizar la resta que se produce en

    la frmula del estndar puesta al comienzo del apartado 3.2.

    Los parmetros utilizados por este bloque son:

    - Constant value: Aqu debemos poner 1/2, puesto que es el valornecesario para llevar acabo la modulacin de las portadoras pilotos.

    El resto de parmetros se dejan tal cual.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    42/117

    41

    3.2.3.- SumEste bloque (Sum) se usa para realizar la resta que se produce en la

    frmula del estndar puesta al comienzo del apartado 3.2 y tambin en elapartado 2.3.2.1.

    Los parmetros que se utilizan en este bloque son:

    - List of sign: Aqu deben ir los signos que queremos usar, en estecaso -+, puesto que hay que a implementar es 8/3 * (0.5 - Wk).

    Como en el caso anterior, el resto de parmetros no requieren nombrarse.

    3.2.4.- Constante a multiplicar para modularlas portadoras pilotosEste es un bloque (Gain) y se utiliza para la realizacin de la frmula del

    estndar puesta al comienzo del apartado 3.2 y tambin en el apartado2.3.2.1.

    Los parmetros utilizados por este bloque son:

    - Gain: Segn lo propuesto en los apartados indicados el valor debeser de 2.

    El resto de parmetros no tienen relevancia.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    43/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    44/117

    43

    3.3.3.- Seal de control

    Crea una funcin peridica que es constante durante un determinadointervalo y luego se incrementa o decrementa. Esta seal peridica ser la quese encargar de indicar al multiport switch cuando escoger un bloque

    constant u otro.Los parmetros utilizados por este bloque son:

    - Vector of output values: Este campo indica los valores que irtomando la funcin en cada intervalo de tiempo; se quiere que vayaincrementndose de forma que se indiquen consecutivamente losdistintos bloques constant, por tanto, el valor en este campo ser[0 1 2 3].

    - Sample time: En este campo ir el tiempo que se mantieneconstante la seal. Utilizaremos 1120 microsegundos que, como se

    dijo anteriormente, es la duracin de un smbolo.

    El resto de campos no se modifican.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    45/117

    44

    3.4.- Concatena datos, pilotos y portadorasTPS

    Este bloque, matrix concatenation, se encarga de poner los datosprimeros, seguidos de las portadoras pilotos y despus las portadoras TPS,todo en un vector.

    Los parmetros importantes son:

    - Number of inputs: El nmero de entradas que tiene el bloque, queser 3.

    - Mode: Da igual cul de las dos se escoja.

    - Concatenate dimension: Es decir, el nmero de dimensiones quequeremos que queden, en este caso, ya que queremos un vector ser 1.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    46/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    47/117

    46

    3.6.- TPS

    Este subsistema se utiliza para generar las seales TPS, mediante ungenerador de ceros y unos (bloque Bernouilli Binary Generator).Posteriormente las modula como se indica en el estndar de la ETSI: 2*(1/2 -Wk, donde Wk es la seal creada por el generador de Bernoulli para cadacanal k en la frecuencia.

    Fig. 3.10 Bloques de la adiccin de portadoras TPS

    3.6.1.- Bernoulli Binary Generator

    Genera una seal de unos y ceros con una probabilidad de que segenere un cero que hay que especificar. Los parmetros usados son:

    - Probability of zero: Dado que no nos interesa ninguna en particularse usar el valor 0.5.

    - Inicial seed: Se dejar la que viene de referencia.- Sample time: Queremos que en cada smbolo de OFDM de 6817

    muestras que dura 1120 microsegundos vayan 68 muestras, portanto el tiempo de muestro ser 1120/6817*10^-6.

    - Frame-based output: Se seleccionar ya que, como se explicanteriormente, hay que especificar el nmero de tramas.

    - Samples per frame: Segn el estndar se deben enviar 68 TPS porsmbolo, luego el nmero ser 68.

    - Output data type: Es indiferente el utilizado.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    48/117

    47

    3.6.2.- Constante de un medioEste bloque (Constant) se usa para realizar la resta que se produce en

    la frmula del estndar puesta al comienzo del apartado 3.6 y tambin en elapartado 2.3.2.2.

    Los parmetros utilizados son:

    - Constant value: Aqu debemos poner 1/2, puesto que es el valornecesario para llevar acabo la modulacin de las portadoras TPS.

    El resto de parmetros se dejan tal cual.

    3.6.3.- Sum

    Este bloque (Sum) se usa para realizar la resta que se produce en lafrmula del estndar, puesta al comienzo del apartado 3.6 y tambin en elapartado 2.3.2.2.

    Los parmetros que se utilizan en este bloque son:

    - List of sign: Aqu deben ir los signos que queremos usar, en estecaso -+, puesto que lo que hay que a implementar es 2* (0.5 -Wk).

    Como en el caso anterior, el resto de parmetros no requieren nombrarse.

    3.6.4.- Constante a multiplicar para modularlas portadoras TPS

    Este es un bloque (Gain) y se utiliza para la realizacin de la frmuladel estndar puesta al comienzo del apartado 3.6 y tambin en el apartado2.3.2.2.

    Los parmetros utilizados por este bloque son:

    - Gain: Segn lo propuesto en los apartados indicados el valor debeser de 2.

    El resto de parmetros no tienen relevancia.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    49/117

    48

    3.7.- Modulacin OFDM

    En este bloque se realizar la modulacin OFDM. Para ello,ampliaremos el tamao del vector con los datos, portadoras pilotos yportadoras TPS a 8192 (tamao real de seales vese introduccin delapartado 2.3.2), rellenando con ceros en el centro del vector. Posteriormentese har una antitransformada de Fourier Discreta (IDFT), usando el bloqueIFFT por las razones explicadas en la introduccin del primer apartado. Porltimo se aadir el prefijo cclico.

    Fig. 3.11 Bloques del Modulador de OFDM

    3.7.1.- Aadimos hasta 8192

    Este bloque (PAD) se encarga de la adiccin de ceros hasta 8192, que

    es la siguiente potencia de dos.Los parmetros utilizados por este bloque son:

    - Pad Over: Hay que escoger entre filas y columnas; en este caso,sern columnas.

    - Pad value Source: Indica si el valor se le pasa por el puerto o seintroduce en los parmetros. Como lo conocemos, pondremosSpecify via dialog.

    - Pad Value: Valor a aadir. Pondremos 0.- Column size: Ser el tamao que queremos que tenga la seal a la

    salida de este bloque. Como se ha dicho, es 8192.

    El resto de parmetros no se modifican.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    50/117

    49

    3.7.2.- Cambia el orden de los datos

    Es un bloque Selector usado para ordenar las muestras antes derealizar la antitransformada de fourier discreta (IDFT).

    Los parmetros utilizados por este bloque son:

    - Number of input dimensions: El nmero de dimensiones a laentrada es uno, puesto que es un vector.

    - Index mode: Aqu se puede poner cualquiera de los dos, peroteniendo en cuenta que si seleccionamos zero-based se empieza acontar los vectores desde cero y, con one-based, desde uno.

    - Index option: Se escoger Index vector(dialog), puesto que seconoce el orden de los datos.

    - Index: Aqu se debe indicar el reordenamiento de los datos; como sequiere que los ceros estn en el centro del vector y que los datosantes del zero-padding se dividan por la mitad y se cambien deorden, el vector ser: [3409:6817 6818:8192 1:3408].

    - Input port size: Es el tamao del vector de entrada que comosabemos es 8192.

    3.7.3.- IFFT

    Este bloque realiza la transformada inversa de Fourier discreta. Slo seva a modificar los parmetros en Fixed-point y dentro de este fixed-pointdata type.

    - Product output: Se cambia a same as input.- Accumulator: Se cambia a same as product output.- Output: Se cambia a same as input.

    El resto de parmetros se dejan como estaban.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    51/117

    50

    3.7.4.- Aadimos hasta 10240

    Este bloque (PAD) se encarga de la adiccin de ceros hasta 10240.Este nmero se obtiene porque hay que aadir un prefijo cclico, y ste tiene

    un cuarto de la longitud de los datos, por tanto, 8192*5/4 = 10240.

    Los parmetros utilizados son:

    - Pad Over: Hay que escoger entre filas y columnas en este caso,sern columnas.

    - Pad value Source: Indica si el valor se le pasa por el puerto o seintroduce en los parmetros. Como lo conocemos pondremosSpecify via dialog.

    -

    Pad Value: Valor a aadir pondremos 0.- Column size: Ser el tamao que queremos que tenga la seal a la

    salida de este bloque, como se ha dicho es 10240.

    El resto de parmetros no se modifican.

    3.7.5.- Cambia el orden de los datos

    Es un bloque Selector usado para ordenar las muestras antes deenviarlas, ya que el prefijo cclico no son ceros, sino una copia del ltimo

    cuarto de longitud de los datos y, adems, va al principio de estos y nodespus.Los parmetros utilizados por este bloque son:

    - Number of input dimensions: El nmero de dimensiones a laentrada es uno, puesto que es un vector.

    - Index mode: Aqu podemos poner cualquiera de los dos, peroteniendo en cuenta que si seleccionamos zero-based empezamos acontar los vectores desde cero y, con one-based, desde uno.

    - Index option: Se escoger Index vector(dialog), puesto que seconoce el orden de los datos.

    - Index: Aqu se debe indicar el reordenamiento de los datos. Como sequiere que los ceros desaparezcan y que el final de los datos se copieal comienzo de estos, el vector ser: [6145:8192 1:8192].

    - Input port size: Es el tamao del vector de entrada que comosabemos es 10240.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    52/117

    51

    3.8.- Seal a Transportar

    Aqu se almacena la seal, que se llamar informacin, el bloque es Toworkspace, y contiene los siguientes parmetros:

    - Variable name: Aqu se pone el nombre de la variable. Como se hadicho antes se llamar informacin.

    - Limit data points to last: Como no se conoce el lmite de los datos,se pondr infinito (inf).

    - Sample time: Se pretende que conforme los datos llegan a estebloque se vayan almacenando en la variable informacin, esto seconsigue con valor -1.

    - Save format: Interesa una matriz que es ms cmoda a la hora detrabajar, por tanto el tipo ser Array.El resto de los parmetros no tienen relevancia.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    53/117

    52

    3.9- Pruebas realizadas para comprobar elfuncionamiento

    En este apartado se explicarn las distintas pruebas que se hanrealizado para verificar que el sistema genera una seal DVB-T correcta.

    3.9.1.- Comprobacin del tamao de losvectores

    Lo principal, es comprobar que el tamao de los vectores posicin, quese obtienen con la funcin calculapilot, tienen longitud 701, que es la que elestndar dice. Adems habr que comprobar que cumplen con la separacin

    de 12 y que tienen intercalados las pilotos continuas. Para ello, se pondrn lasposiciones de las diez primeras pilotos continuas y como el programa ejecutalas mismas rdenes, si en las primeras posiciones estn bien, en el restotambin. Por otro lado, habr que comprobar que la diferencia entre losdistintos smbolos sea de 3.

    Pilotos continuas 1 49 55 88 142 157 193202 256 280.

    Posicion1 1 13 25 37 49 55 61 7385 88 97 109 121 133 142145 157 169 181 193.

    Posicion2 1 4 16 28 40 49 5255 64 76 88 100 112 124136 142 148 157 160 172.

    Posicion3 1 7 19 31 43 49 55 6779 88 91 103 115 127 139142 151 157 163 175.

    Posicion4 1 10 22 34 46 49 55 5870 82 88 94 106 118 130142 154 157 166 178.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    54/117

    53

    3.9.2.- Comprobacin de que si aadimos lasportadoras pilotos y luego las extraemosobtenemos estas mismas

    Para este apartado necesitaremos construir un modelo (figura 3.12), enel cul al Generador de seales DVB-T se le aade un bloque selector, queextrae las portadoras pilotos, colocndose tras la modulacin OFDM de laseal. Por ello, se usar antes un demodulador de OFDM (este bloque seexplicar ms adelante), as podemos verificar que la modulacin ydemodulacin no afectan.

    Se calcula el mximo de la diferencia de las distintas salidas. Esto seconsigue, usando la orden max de matlab, para encontrar el mximo. Y ladiferencia se obtiene restando los vectores de las portadoras pilotos extradastras la modulacin y las portadoras pilotos originales.

    max(pilotos_tras_modulacion-pilotos) = -1.9984e-015 +3.3307e-016i.

    El error cometido tras modular y luego demodular es muy pequeo ypor tanto, no se le debe dar importancia. El mdulo de este valor es:2.0260e-015.

    Adems con esta prueba comprobamos que las portadoras TPS no sehayan mezclado con las portadoras pilotos.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    55/117

    Fig. 3.12 Bloques para comprobar que las portadoras pilotos estn bien

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    56/117

    55

    3.9.3.- Comprobacin de que si aadimos lasportadoras TPS y luego las extraemosobtenemos estas mismas

    El modelo usado ser el mismo que en la prueba anterior (figura 3.13)pero ahora no necesitaremos el bloque de ndice para pilotos y el selectortendr las posiciones de las TPS.

    Fig. 3.13 Bloques para comprobar las posiciones de las portadoras TPS

    Por otro lado, habr que aadir un bloque en adiccion de TPS para poder verlas TPS reales.

    Volvemos a realizar la misma operacin de antes, para ver que losresultados son coherentes.

    max(TPS_tras_modulacion - TPS) = -4.4409e-016 -1.5821e-015i.

    Como se ve, de nuevo se produce un error al modular y luegodemodular, pero que es despreciable, en este casi el modulo es: 1.6432e-015.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    57/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    58/117

    57

    3.9.5.- Comprobacin de las constelaciones

    En esta prueba se comprueba que las constelaciones sean 64-QAM, enlos distintos puntos clave del sistema. Para ello, se usar el mismo sistema

    que en la primera prueba, cambiando los bloques que almacenan la seal porotros que dibujan la constelacin.

    Fig. 2.28 Bloques para comprobar las constelaciones

    Tras ejecutar el programa se ve como las constelaciones son muyparecidas, salvo algunos smbolos que salen nuevos, debido a la adiccin denuevas portadoras, pero esto no altera los datos.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    59/117

    58

    Fig. 2.29 Constelacin de los datos

    Fig. 2.30 Constelacin antes de ordenar datos y portadoras

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    60/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    61/117

    60

    4.- Canal y receptor para seales DVB-T

    Un modelo tpico de canal, es aquel que contiene ruido y distorsin demulticamino, es decir, que produce la suma de la misma seal enviada variasveces, escalada y retrasada.

    Esto es as, porque en el ambiente hay interferencias que producen elruido como antenas de radio, el mismo sol etc. Y por otro lado, tambin hayedificios, montaas y otros objetos de gran tamao que reflejan la sealprovocando la distorsin de multicaminos.

    Para poder, obtener de nuevo los datos y as ver las imgenes con unabuena calidad en los televisores, se llevan a cabo dos mtodos de correccin:

    - Uno que elimina los errores, el cul consiste en el uso de los cdigo de

    bloques y convolucional que el generador incluye (vease [4] y Digital SignalProcessing de Proakis y Monolakis), adems de los entrelazados.

    , - El otro debe eliminar el efecto nocivo del multicamino, y esto seconsigue usando un ecualizador. En general, los ecualizadores son elementosque permiten modificar la curva de respuesta en frecuencia de un sistema.Cuando se trata de audio se usan filtros para realzar esta modificacin. En elcaso de seales de DVB-T se usar un estimador de canal, cuyo proceso serdetallado en el tema siguiente.

    Aun as [9] da una explicacin detallada, con simulaciones del proceso,que estn fuera del alcance del proyecto.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    62/117

    61

    5.- Funcionamiento bsico del receptor

    El Receptor como se explic antes se compone de dos sistemas, laeliminacin de los multicaminos y la eliminacin del ruido.

    Para ello, se llevar a cabo la ecualizacin de la seal. En este proyecto,se har lo siguiente, se estimar el canal y se dividir por l, la seal recibidaen frecuencia.

    El primer paso, en el receptor, es la demodulacin de la seal y porconsiguiente su paso a frecuencia, ya que se realiza la DFT.

    Lo siguiente es estimar el canal. Para ello, se extraern las portadoraspilotos del canal. Como se conoce el algoritmo que las gener, podemos volvera calcularlas, as dividiendo las extradas por estas nuevas generadas, se

    obtienen 701 muestras del canal (nmero de portadoras pilotos que hay porsmbolo, vase apartado 2.3.2.1). Ahora bien, como se dijo en el apartado2.3.2.1, existen portadoras pilotos continuas, que estn siempre en la mismaposicin sin importar el smbolo. Y portadoras pilotos dispersas, que repitenposicin cada 4 smbolos.

    As, podemos acumular 4 smbolos consecutivos y obtener una estimade canal cada 3 muestras, nmero que sale, tomando los datos del estndar(177 portadoras continuas, 524 portadoras dispersas, as 524*4+177 = 2273,teniendo en cuenta que la primera y ltima muestra estn incluidas, habrque interpolar (6817-1)/(2273-1) = 3). La interpolacin se llevara a cabousando un bloque Embedded, el cul implementar un interpoladorcuadrtico, desarrollado en el Anexo A. Para estudiar otros tipos deinterpoladores lase [9].

    Adems, para obtener una estima de canal mejor, se ir haciendo unamedia con los dems valores del canal (para ms informacin del algoritmousado vase apartado 6.4).

    El otro aspecto clave es la eliminacin del ruido. Este se compone de lospasos a la inversa que se detallaron en un apartado anterior (Vese apartado2.3.1).

    En primer lugar se llevara a cabo el demapeo. Como en el estndar no

    viene un mtodo concreto, se usar un demapeador basado en la distanciamnima; se explicar ms adelante (Ver apartado 6.9.3.1).

    Tras eso se realizar el desentrelazado interno, que es exactamente elinverso del anterior explicado en el apartado 2.3.1.2.

    El tercer paso, ser aplicar el algoritmo de Viterbi para eliminar laredundancia que se le aplic en nuestro caso k/n = , se usar basado encdigo duro ya que entran bits al sistema.

    El cuarto paso, el desentralazado externo, es segn el estndar elsiguiente:

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    63/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    64/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    65/117

    Fig. 6.1 Bloques del receptor DVB-T y el canal

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    66/117

    65

    6.1.- Informacin

    Este bloque se llama signal from workspace y nos permite usar laseal de informacin generada por el generador de seales OFDM de laseccin anterior. Utiliza los siguientes parmetros:

    - Signal: Sedebe escribir aqu el nombre de la seal que queremosutilizar que, en este programa, sera informacin.

    - Sample time: Aqu se debe poner cada cuanto tiempo debe tomarseuna muestra, o lo que es lo mismo, cada cuanto tiempo llega unamuestra al sistema. Como la duracin de un smbolo es de 1120 us,como se vio en el apartado 2.1,y adems hay 10240 muestras trasla modulacin, como se vio en el mismo apartado, entonces el valorser 1120/10240*10^-6.

    - Samples per frame: Se debe indicar el nmero de muestras porcada trama, es decir, cuantas muestras enva a la vez. Comointeresa hacerlo realista se pondr el valor a 1 y en el demoduladorse incluir un buffer.

    - From output after final data value by: Es decir, si en la simulacinse utiliza todo el contenido de la seal informacin, que es lo quedebe enviar para no dar error, nos interesa que lo ponga todo a 0(setting to zero), ya que lo que nos llegara sera ruido en larealidad, y esto no se contempla.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    67/117

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    68/117

    67

    6.2.2.- Camino iCon este bloque (delay) se indica el retraso de la seal, es decir, nos

    dice el nmero de muestras de la seal original que tienen que llegar antes deque llegue la primera por este camino.

    Los parmetros que se utilizan son:

    - Delay Units: Aqu debemos indicar si el retraso se hace por tramaso por muestras. Como la seal va llegando por muestrasm el retardoser por muestras (Samples).

    - Delay(Samples): Aqu hay que indicar el nmero de muestras que seretrasan. Como no tenemos un valor predeterminado,se tomaranunos aleatorios.

    - Initial conditions: No queremos que haya condiciones iniciales, portanto vale 0.

    Dejar el resto de parmetros como aparecen.

    6.2.3.- Suma los tres caminosEste bloque (sum) suma los caminos para crear una nica seal.

    - List of sign: Habr tantos + como caminos haya.El resto de parmetros se dejan los que estn por defecto.

    6.2.4.- Adiccin de ruido blanco Gaussiano

    En este bloque (AWGN channel) se aade el ruido del canal.

    Los parmetros usados son:

    - Initial seed: Se dejara el valor que este.

    - Mode: Se pondr el valor de Signal to Noise Ratio, es decir, se usarla SNR para saber el valor de la potencia de ruido.

    - SNR: Un valor adecuado es entorno a los 20db; se usar 18.5.- Input signal power (watts): La potencia de entrada es 1/10240.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    69/117

    68

    6.3.- Demodulador de OFDM

    Este subsistema se encarga de demodular la seal por smbolos, portanto, en primer lugar tendr un buffer para almacenar 10240 muestras queforman una trama y ,tras eso, hacer la demodulacin.

    Fig. 6.3 Bloques del demodulador

    6.3.1.- Almacena 10240 muestras

    Este bloque (buffer) almacena 10240 muestras porque este es elnmero de muestras que tiene una trama y que necesitamos para poderdemodular.

    Este bloque tiene los siguientes parmetros:

    - Output buffer size (per channel): Aqu debe ir el nmero demuestras que el buffer debe almacenar antes de soltar las muestrasseguidas, es decir, 10240.

    - Buffer overlap: Este parmetro sirve slo cuando la salida no envalas muestras una detrs de otra, sino que crea una matriz y envalas columnas una a una, y nos indica el nmero de elementos de esacolumna que se repiten en la siguiente; as, en nuestro caso, el valores 0.

    - Inicial conditions: Como queremos que las muestras que entrensean las primeras, este valor ser 0.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    70/117

    69

    6.3.2.- Quita el prefijo cclicoEs un bloque Selectorque es usado para eliminar el prefijo

    cclico, ya que no nos hace falta.

    Los parmetros utilizados por este bloque son:

    - Number of input dimensions: El nmero de dimensiones a laentrada es uno, puesto que es un vector.

    - Index mode: Aqu se puede poner cualquiera de los dos, peroteniendo en cuenta que si se selecciona zero-based se empieza acontar los vectores desde cero y, con one-based, desde uno.

    - Index option: Se escoger Index vector(dialog), puesto que seconoce el orden de los datos.

    - Index: Aqu se indica el orden de los datos; como se quiere quedesaparezca el prefijo cclico, el vector ser: [2049:10240].

    - Input port size: Es el tamao del vector de entrada que como sesabe es 10240.

    6.3.3.- FFTEste bloque realiza la transformada de Fourier discreta. Slo se van a

    modificar los parmetros en Fixed-point y, dentro de este fixed-point, datatype.

    Los parmetros que se utilizan son:

    - Product output: Cambiamos a same as input.- Accumulator: Cambiamos a same as product output.- Output: Cambiamos a same as input.

    El resto de parmetros se dejan con los valores que les da Matlab.

    6.3.4.- Convierte a tramaEste bloque (Frame convertion) tiene como funcin la de transformarlas muestras en una trama, que es lo que nos interesa, para luego poderretrasar.

    El parmetro utilizado por este bloque son:

    - Output signal: Aqu se debe poner frame based, puesto que quieretransformar en una trama.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    71/117

    70

    6.3.5.- Quita muestras hasta 6817Es un bloque Selector. Se usa para ordenar las muestras, y eliminar

    los ceros que se aadieron en la modulacin OFDM.Este bloque utiliza los parmetros siguientes:

    - Number of input dimensions: El nmero de dimensiones a laentrada es uno, ya que es un vector.

    - Index mode: Podemos utilizar tanto zero-based como one-based,teniendo en cuenta que seleccionando el primero, empezamos acontar desde 0 los vectores y, con one-based, desde 1.

    - Index option: Se escoger Index vector(dialog), porque se conoce elorden de los datos.

    -

    Index: Aqu se debe indicar el reordenamiento de los datos. Comolos ceros estn en el centro del vector, y los datos en la modulacinOFDM se cambiaron el orden a la mitad, el vector ser: [4784:81910:3408].

    - Input port size: Es el tamao del vector de entrada que comosabemos es 8192.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    72/117

    71

    6.4.- Estimador de canal usando pilotos

    En este subsistema se estimar el canal mediante los siguientes pasos:De la seal demodulada se toma nicamente las portadoras pilotos, ahora segenera la misma seal que se envi en estas portadoras y se divide ambaspara obtener una estima del canal en esas muestras. Debido a que lasportadoras pilotos dispersas tienen posiciones distintas en cuatro smbolosconsecutivos, acumulamos estos 4, con idea de tener el mximo nmero demuestras distintas para estimar el canal, y slo tomamos las portadoraspilotos continuas de uno de los smbolos. Tras esto, se tiene una muestra dela estima del canal cada 3 muestras. Para hacer una mejor aproximacin,vamos calculando la media de las estimas de forma iterativa, es decir, sillamamos Hi a la estima i-sima del canal en las posiciones de las portadoraspilotos y Hi a la estima i-sima tras realizar la media, la relacin entre ambases:

    H1 = H1.H2 = (H1 + H2)/2.H3 = (H3 + H2)/2 = (H1 + H2 + 2*H3)/4....Hi = (Hi + Hi-1)/2 = (H1 + Sum(2^(j-2)*Hj)) /2^(i-1) con j = 2i.

    Por facilidad a la hora de hacer el sistema se cambiar este resultado,obtenindose H1 = H1/2.

    Por ltimo, nos queda determinar el valor del canal en las posicionesque no son pilotos, para ello, realizamos una interpolacin lineal.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    73/117

    Fig. 6.4 Bloques del estimador de canal

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    74/117

    73

    6.4.1.- Selecciona portadoras pilotosEs un bloque Selectorque se usa para seleccionar las posiciones de las

    portadoras pilotos. Estas posiciones dependen del smbolo que llegue.Los parmetros utilizados por este bloque son:

    - Number of input dimensions: El nmero de dimensiones a laentrada es uno, ya que es un vector.

    - Index mode: Podemos utilizar tanto zero-based como one-based,teniendo en cuenta que seleccionando el primero, empezamos acontar los vectores desde 0 y, con one-based, desde 1.

    - Index option: Se escoger Index vector(port), porque hay cuatrosmbolos distintos en cuanto a posiciones de las portadoras pilotos.

    -

    Input port size: Es el tamao del vector de entrada que secorresponde con el de portadoras OFDM total 6817.

    - Sample time: Como el ndice y la seal llegan de una maneracontinua, si se muestrea se pierde informacin, por lo que el valorser -1.

    6.4.2.- Seleccionador de ndices para pilotosEste subsistema es idntico al explicado en el apartado 3.3.

    6.4.3.- Generador de pilotosEste subsistema fue explicado en el apartado 3.2.

    6.4.4.- Retraso de cuatro tramasEste bloque (Delay), nos sirve para retrasar cuatro tramas ya que,

    como se ha dicho en el apartado anterior, para realizar la estimacin del canalnecesitamos usar cuatro smbolos seguidos, y como los primero cuatro no

    contienen informacin pero ocupan espacio hay que retrasar la informacinque envia el Generador de pilotos apartado 3.2.Los parmetros que se utilizan son:

    - Delay Units: Hay que escoger entre retrasar por tramas o pormuestras. Como se ha dicho ser una trama entera, por tantoseleccionamos Frames.

    - Delay(Samples): Aqu hay que indicar el nmero de tramas que seretrasan y, como se ha dicho, este valor debe ser 4.

    - Initial conditions: No se requieren condiciones iniciales; valor 0.Dejar el resto de parmetros como aparecen.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    75/117

    74

    6.4.5.- Estima el canal en las portadoras pilotosEste bloque (product) realiza la divisin entre las portadoras pilotos

    que han pasado por el canal y las que acaban de ser generadas, obtenindoseas una estima del canal en las posiciones de las portadoras pilotos.

    Los parmetros utilizados por este bloque son:

    - Number of inputs: Aqu se debe marcar las operaciones que sequiere hacer a las seales que en este caso ser */.

    El resto de parmetros se dejan al valor de referencia.

    6.4.6.- Acumulamos cuatro smbolosEste bloque (buffer) almacena cuatro smbolos, porque cada cuatro

    smbolos las posiciones de las portadoras pilotos se repiten, por tanto, sepuede obtener posiciones distintas del canal si se mezclan estos cuatrosmbolos y as conseguir un canal estimado ms cercano al real.

    Los parmetros que se utilizan son:

    - Output buffer size (per channel): Aqu debe ir el nmero demuestras que el buffer debe almacenar antes de soltar las muestrasseguidas. Como se quieren cuatro smbolos, y cada smbolo tiene701 muestras (que es el nmero de portadoras pilotos, vase laintroduccin del apartado 2.1), entonces cuatro smbolos sern2804 muestras.

    - Buffer overlap: Este parmetro sirve slo cuando la salida no envalas muestras una detrs de otra, sino que crea una matriz y envalas columnas una a una. As este parmetro indica el nmero deelementos de esa columna que se repiten en la siguiente. En nuestrocaso el valor es 0.

    - Initial conditions: Como se explica en el apartado 3.1.4 a la horade realizar el algoritmo explicado se usar H1 = H1/2 en vez de H1= H1 por facilidad, as para que el sistema no resulte muymodificado se usar el valor 2, para que en media con 0 de 1.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    76/117

    75

    6.4.7.- Ordena las portadoras pilotosEs un bloque Selector usado para ordenar las muestras, ya que los

    cuatro smbolos se han colocado una tras otro, y se quiere que seentremezclen segn la posicin que ocupan. Se usa tambin para tomar las

    posiciones de las portadoras pilotos continuas una sola vez.En este bloque se utilizan los parmetros siguientes:

    - Number of input dimensions: El nmero de dimensiones a laentrada es uno, puesto que es un vector.

    - Index mode: Podemos utilizar tanto zero-based como one-based,teniendo en cuenta que seleccionando el primero, empezamos acontar desde 0 los vectores y ,con one-based, desde 1.

    - Index option: Se escoger Index vector(dialog), puesto que seconoce el orden de los datos.

    - Index: Aqu se debe indicar el reordenamiento de los datos. El vectorse puede obtener usando la funcin ordenapos (vase Anexo A).

    - Input port size: Es el tamao del vector de entrada que, como se hanombrado en el apartado anterior, es 2804.

    6.4.8.- Divide por la mitadEstos dos bloques (Gain) se utilizan, para dividir por la mitad la seal

    y as poder ejecutar el algoritmo presentado en la introduccin del apartado6.4.Los parmetros utilizados por este bloque son:

    - Gain: El valor es 0.5 como se ha indicado en la introduccin.El resto de parmetros no tienen relevancia.

    6.4.9.- SumEste bloque (Sum) se utiliza para realizar el algoritmo presentado en la

    introduccin del apartado 6.4.

    Los parmetros utilizados en este bloque son:

    - List of sign: Aqu deben ir los signos que se quieren usar, en estecaso ++, puesto que lo que queremos es hallar la media.

    Como en el caso anterior, el resto de parmetros no requieren nombrarse.

  • 7/28/2019 SIMULADOR DE UN SISTEMA DE TRANSMISIN, RECEPCIN Y ECUALIZACIN DE DVB-T EN SIMULINK

    77/117

    76

    6.4.10.- Retraso de una tramaEste bloque (Delay), nos sirven para realizar el algoritmo presentado

    en la introduccin del apartado 3.1.4.Los parmetros que se utilizan son:

    - Delay Units: Hay que escoger entre retrasar por