Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Simulación e implementación de la modulación BPSK en una FPGA Xilinx Spartan 3 xcs200-4ftp256




Enviado por Carlos E. Carrión



    1. Abstracto
    2. Descripción
    3. Implementación del
      modulador y demodulador en la tarjeta FPGA spartan3 de
      Xilinx
    4. Conclusiones
    5. Referencias

    Abstracto

    El presente trabajo
    presenta la simulación
    de la modulación BPSK usando el programa Simulink
    de Matlab, así como su implementación en la tarjeta
    FPGA (Arreglo de compuertas programables por el usuario) Spartan
    3 de la compañía Xilinx.

    Se muestra los pasos
    realizados en la simulación tanto de la modulación
    como de la demodulación y las herramientas
    necesarias para poder
    implementar la simulación en la tarjeta. Se indican
    además pautas para la realización de modulaciones
    FSK y OOK.

    Introducción

    Modulación BPSK

    En esta modulación se tiene como resultados
    posibles dos fases de salida para la portadora con una sola
    frecuencia. Una fase de salida representa un 1 lógico y la
    otra un 0 lógico. Conforme la señal digital de
    entrada cambia de estado, la
    fase de la portadora de salida se desplaza entre dos
    ángulos que están 180° fuera de
    fase.

    Transmisor de BPSK

    La figura siguiente muestra un diagrama de
    bloques simplificado de un modulador de BPSK. La señal
    codificada ingresa a un multiplexor el mismo que conmuta la fase
    de la señal portadora, dependiendo de la condición
    lógica
    de la entrada digital, la portadora se transfiere a la salida, ya
    sea en fase o 180° fuera de fase, con el oscilador de la
    portadora de referencia.

    El espectro de salida de un modulador de BPSK es,
    sólo una señal de doble banda lateral con portadora
    suprimida, donde las frecuencias laterales superiores e
    inferiores están separadas de la frecuencia de la
    portadora por un valor igual a
    la mitad de la razón de bit. En consecuencia, el
    mínimo ancho de banda requerido, para permitir el peor
    caso de la señal de salida del BPSK es igual a la
    razón de bit de entrada. La siguiente figura muestra la
    fase de salida contra la relación de tiempo para
    una forma de onda BPSK.

    Figura 1: Modulación
    BPSK

    Receptor de BPSK

    El esquema siguiente muestra el diagrama de bloques de
    un receptor de BPSK.

    La señal de entrada puede ser +cos(wt) ó
    –cos(wt). El circuito de recuperación detecta y
    regenera una señal de portadora, tanto en frecuencia como
    en fase, con la portadora del transmisor original. El modulador
    balanceado es un detector de producto; la
    salida es el producto de las dos entradas (la señal de
    BPSK y la portadora recuperada). Debido a que se tiene como
    posibles salidas las señales
    cos(wt) y –(coswt), entonces al pasar por el detector de
    producto se tendrá los siguientes resultados:

    cos2(wt) = ½ + ½
    cos(2wt)

    cos2(wt) = – ½ –
    ½ cos(2wt)

    como se necesita solo la parte continua entonces se
    utiliza un filtro pasa-bajas (LPF) el mismo que separa los
    datos binarios
    recuperados de la señal demodulada compleja
    [1].

    Descripción

    Modulador BPSK

    Como la simulación se realiza utilizando Simulink
    y los componentes de System Generator, es necesario conocer las
    siguientes herramientas necesarias para la simulación e
    implementación.

    Herramientas de Simulink

    • Pulse Generator: simula un tren de
      pulsos.
    • Scope: osciloscopio
      utilizado para visualizar los resultados.
    • Sine Wave: Genera funciones
      senoidales.

    Herramientas de System Generator

    • Mcode: Hace una llamada a un archivo .m de
      Matlab y lo ejecuta dentro de la simulación
      [2].
    • Gateway In: Hace una aproximación al comportamiento de una señal en hardware.
    • Gateway Out: Regresa una aproximación del
      comportamiento de una señal en hardware al modo
      simulación.
    • Mult: Realiza la multiplicación una o
      más entradas.
    • FIR: Simula un Filtro FIR, haciendo una llamada a la
      herramienta FDATool de Matlab.
    • System Generador: Provee control del
      sistema y
      parámetros de simulación, y es usada para invocar
      al código generado.
    • Resource Estimator: Presenta los recursos de la
      tarjeta utilizados en la simulación del
      circuito.
    • FDATool: Interfaz que permite configurar las
      características del filtro

    System Generator

    Es una herramienta de software que permite crear y
    verificar diseños de hardware para FPGAS de Xilinx,
    funciona en conjunto con Simulink y Matlab.

    Además permite la inclusión de
    herramientas DSP para diseñar con FPGAs, generación
    automática de código HDL a partir de un modelo en
    Simulink y permite al usuario crear sus propias bibliotecas.

    Simulación:

    La primera fase es la realización del modulador
    basándose en el siguiente esquema:

    Figura 2: Modulador
    BPSK

    La señal codificada es ingresada en el bloque
    (Mcode), el mismo que funciona como multiplexor entre las dos
    señales portadoras (cos(t) y -cos(t))
    dependiendo de los valores
    binarios de la señal a transmitirse.

    Este bloque Mcode hace una llamada un archivo .m el cual
    contiene la programación del multiplexor de la
    siguiente forma:

    function salida =
    BPSKmultiplex

    (ent_codif,porta,porta_despl);

    if ent_codif==1;

    sal = porta;

    else

    sal = porta_despl;

    end

    Este código, permite obtener una señal
    portadora (porta) de salida cuando la entrada es un nivel de
    voltaje alto, un coseno en este caso, y una señal
    coseno desfasado (porta_despl) de salida cuando la entrada es un
    nivel de voltaje bajo. Este estado alto o bajo lo da la
    señal que contiene la información.

    La señal a la salida del multiplexor es la
    modulada y está lista para ser lanzada al
    canal.

    En la parte superior de la siguiente gráfica se
    muestra la señal que contiene la información y en
    la inferior, la señal modulada.

    Figura 3: Señal de
    información-Señal modulada

    Demodulador BPSK

    La demodulación se la realiza en base al esquema
    que se describe a continuación.

    Figura 4: Demodulador
    BPSK

    Para demodular la señal proveniente del canal, se
    utiliza un bloque (Mult), el mismo que multiplica la señal
    por la portadora recuperada.

    El filtro FIR pasa-bajas separa la señal continua
    de amplitud + ½ recuperada de la señal
    demodulada compleja y permite seleccionar la señal de
    frecuencia cero (+1/2 o -1/2).

    Este filtro se obtiene haciendo una llamada a la
    herramienta de Matlab FDATool, interfaz que permite
    diseñar un filtro pasabajas.

    Debido a que a la salida del filtro existen
    señales con ½ de la amplitud y con rizado en el
    borde de cada pulso, se colocará un bloque "comparador"
    que además de proporcionar niveles de voltaje de unos y
    ceros, evitará el rizado de tales pulsos. El código
    del archivo .m del comparador se presenta a
    continuación:

    function sal = BPSKcompa
    (ent)

    If ent > 0

    sal = 1;

    else

    sal = 0;

    end

    Este código, permite obtener a su salida un nivel
    de voltaje 1, cuando la entrada (ent) es mayor a cierto voltaje
    de referencia en este caso 0V y un nivel de voltaje 1 cuando la
    entrada (ent) es menor a dicho voltaje de referencia.

    Además se debe mencionar que para la
    simulación del canal de transmisión se
    colocará un bloque generador de ruido
    Gaussiano blanco.

    A continuación, se presenta el proceso de
    demodulación simulado.

    Figura 5: Proceso de
    Modulación-Demodulación. Resultados arrojados por
    el software

    • La primera figura representa la señal
      codificada contenedora de la información.
    • La segunda figura representa señal modulada
      que se envía al canal.
    • La tercera figura muestra la señal modulada
      con ruido.
    • La cuarta figura representa la señal
      recuperada a la salida del filtro pasabajas.
    • Finalmente la quinta figura representa la
      señal a la salida del comparador, y es la señal
      contenedora de información recuperada. Se puede observar
      que ésta señal tiene cierto retrazo debido al
      procesamiento del computador

    Implementación del modulador y demodulador
    en la tarjeta FPGA spartan3 de Xilinx.

    Para poder implementar los moduladores en la tarjeta
    Sarpatn3 es necesario conocer conceptos básicos sobre cual
    es su funcionamiento y su estructura
    interna:

    (FPGA) Matriz de
    compuertas lógicas programables por el
    usuario

    Un FPGA consiste en arreglos de varios bloques
    programables (bloques lógicos) los cuales están
    interconectados entre si y con celdas de entrada/salida mediante
    canales de conexión verticales y horizontales
    [3].

    Una FPGA presenta las siguientes
    características:

    • Consumo medio de Potencia,
      aunque hay familias especializadas en bajo consumo
    • Velocidad intermedia
    • Fiabilidad alta
    • Tiempo de desarrollo
      muy bajo.
    • Metodología sencilla
    • Equipamiento sencillo
    • Aumentan la confidencialidad de las placas
      [4]

    Figura 6: Arquitectura
    Básica de un FPGA

    Spartan-3

    Las FPGAs Xilinx Spartan™ son ideales para las
    aplicaciones de bajo costo y alto
    volumen y son
    designadas como reemplazos para arreglos de compuertas de
    lógica fija y para productos
    estándar de aplicación específica (ASSP),
    productos como sets de chips para interfase de bus [5].

    Figura 7: Foto de la
    Sapartan-3

    La foto muestra la tarjeta que se utilizará en la
    implementación de las simulaciones. Los dispositivos
    Spartan se caracterizan por tener una arquitectura flexible y
    regular que se compone de un arreglo de bloques lógicos
    configurables (Configurable Logic Blocks o CLBs), rodeados por
    bloques de entrada/salida programables (programmable Input/Output
    Blocks o IOBs).

    Herramientas del programa para la
    Implementación

    Para la implementación de los moduladores OOK,
    FSK y BPSK, ya simulados, se utilizará una herramienta
    ofrecida por Xilinx, denominada JTAG Co-Sim, bloque que
    permitirá la co-simulación del diseño
    elaborado en la tarjeta Spartan-3.

    Figura 8: Bloque JTAG
    Cosimulation

    En este bloque se puede observar que ya se encuentran
    listas las salidas y entradas para su uso, de tal forma que nos
    facilite el
    trabajo.

    Este bloque lo conseguiremos con doble click en
    el bloque system generator y escogiendo las opciones de
    simulación más convenientes.

    Una vez agregado al diseño, debemos verificar que
    la tarjeta se encuentre correctamente conectada al computador.
    Luego ejecute.

    Implementación en la Tarjeta
    Spartan-3

    El diseño completo es presentado en la
    gráfica siguiente [6].

    Figura 9: Diagrama de bloques del
    proceso Modulación-Demodulación

    El resultado de la simulación es comparada con
    los resultados arrojados por la tarjeta lo que nos permite
    corroborar el acercamiento a la realidad de la simulación.
    La siguiente grafica presenta los resultados obtenidos de la
    implementación en la tarjeta:

    Figura 10: Proceso de
    Modulación-Demodulación. Resultados arrojados por
    la tarjeta.

    Se puede observar que prácticamente los
    resultados obtenidos en la tarjeta son los mismos que se obtuvo
    en la modulación lo que nos da como referencia que la
    simulación tiene un gran acercamiento a la
    realidad.

    Así como se ha realizado la simulación e
    implementación en la tarjeta esta modulación,
    también es posible realizar cualquier otra
    simulación. Como incentivo al lector a que conozca mas
    sobre estas herramientas se da pautas para la realización
    de las modulaciones FSK y OOK las mismas que guardan un parecido
    común lo cual facilita su
    implementación.

    Primeramente hay que tener presente que en la
    modulación FSK lo que varía no es la fase de la
    señal, sino la frecuencia lo que ase podría
    realizar utilizando un bloque que no contenga una portadora
    desfasada sino a una portadora de frecuenta diferente. Del mismo
    modo en la modulación OOK se puede implementar teniendo en
    cuenta que para el cambio de
    valor binario de la señal codificada se utiliza una
    señal portadora para el valor de 1 y una señal de
    cero cuando la portadora vale 0. Esta parte se la facilita
    utilizando programación en Matlab y haciendo una llamada a
    través de un bloque Mcode.

    Conclusiones

    • Las herramientas de Simulink ofrecen una gran
      facilidad en lo que es simulaciones de sistemas de
      comunicación en general.
    • Gracias a las herramientas mencionadas en el presente
      paper se ha simplificado el proceso que comprende el pasar de
      simulación a implementación de diseños,
      sin la necesidad de ser un Ingeniero en hardware.
    • Se puede observar que el uso de la herramienta Mcode
      de System Generator, no ofrece ventajas tales como minimizar el
      uso de recursos de la tarjeta y la simplicidad de
      diseño.
    • Dado que los resultados obtenidos en hardware son
      dependientes del diseño en software, es mucho más
      sencillo realizar cambios en estos resultados por medio del
      software, incluso después de terminado el diseño
      y su implementación, ítem que es considerado uno
      de los más importantes en el desarrollo de este tipo de
      diseños.

    Referencias

    [1] SISTEMAS DE COMUNICACIÓN DIGITALES Y
    ANLALÓGICOS, Leon W. Couch, Quinta Edición.

    [2]
    http://www.xilinx.com/products/software/sysgen/app_docs/user_guide_Chapter_7_Section_3.htm

    [3] INTRODUCCIÓN A LOS DISPOSITIVOS FPGA.
    ANÁLISIS Y EJEMPLOS DE DISEÑO, Bozich Eduardo
    Carlos

    [4] DISPOSITIVOS LÓGICOS PROGRAMABLES, CAPII,
    Torres Valle Francisco

    [5]
    http://www.xilinx.com/products/silicon_solutions/fpgas/spartan_series/spartan3_fpgas/index.htm

    [6] Workshop Xilinx University Program, ISTEC,
    Pontificia Universidad
    Javeriana de Cali Colombia (PUJ),
    University of New México,
    RedDSP – PUJ-UTPL, Ing. Ferney Amaya, Ing. Alonzo
    Vera.

     

    Johanna S. Ruque*,

    David I. Ruiz*,

    Carlos E.
    Carrión&

    Escuela de Electrónica y Telecomunicaciones,

    Grupo de Electricidad y
    Sistemas Electrónicos

    Universidad Técnica Particular de Loja

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter