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.
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].
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
Herramientas de System Generator
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
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:

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.
[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
bit synchronizerlucianaobr | 2006-09-30 05:54:36
¿Cómo simularon en Matlab el bit synchronizer?
Trabajos relacionados
Ver mas trabajos de Programacion |
|
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 en formato DOC desde el menú superior.