Diseño e implementación en FPGA del método recursivo de Gram-Schmidt
Abstract
Este proyecto presenta un nuevo método que es la implementación de un algoritmo de ortogonalización que utiliza el teorema de GRAM-SCHMIDT para la compensación del desbalanceo que se produce en las transmisiones en este caso QAM debido a las diferentes interferencias provocadas por los componentes del sistema tales como convertidores (A/D) o (D/A), interferencia del canal (ruido), etc. La realización corresponderá con la implementación y simulación del algoritmo en SIMULINK. Se va a diseñar en el dispositivo FPGA-Virtex-4 da Xilinx, utilizando, para eso un programa llamado Xilinx System Generator. Finalmente, presentaremos los diferentes resultados obtenidos y la comparación con otras implementaciones.
Full text
UNIVERSIDAD POLITECNICA DE VALENCIA ESCUELA POLITECNICA SUPERIOR DE GANDIA I.T. Telecomunicación (Sist. de Telecomunicación) “Diseño e Implementación en FPGA del Método Recursivo Gram-Schmidt” TRABAJO FINAL DE CARRERA Autor/es: Franklin Salazar Logroño Director/es: Dña. Mª Asunción Pérez Pacual GANDIA, 2011
FRANKLIN SALAZAR [ESPG] Página3 MEMORIA DEL PROYECTO
FRANKLIN SALAZAR [ESPG] Página4 CAPÍTULO_1 1.1 RESUMEN…………………………………………………………………………….7 1.2 OBJETIVOS…………………………………………………… ..................................7 1.3 INTRODUCCION……………………………………………………………………..7 1.3.1 DESBALANCEO DE LA RAMA I/Q…………………………………………..8 1.3.2 METODOS ADAPTATIVOS PARA LA CORRECCION DE DESBALANCEO……………………………………………………………….9 CAPÍTULO_2 2.1 METODO DE GRAM SCHMIDT APLICADO A MODULACION QAM. …………………………………………………………………………… 18 2.1.1 MODULACION QAM 2.1.1.1 INTRODUCCION QAM…………………………………………………..18 2.1.1.2 TRANSMISOR_QAM BASICO …….......................................................18 2.1.1.3 RECEPTOR QAM DESCRIPCION GENERAL.........................................22 2.1.2 METODO GRAM SCHMIDT ………………………………………………...23 CAPITULO_3 3.1 IMPLEMENTACION DEL ALGORITMO GRAM-SCHMIDT EN FPGA. ……………………………………………………………………………27 3.1.1 IMPLEMENTACION CON SIMULINK. ……………………………………..27 3.1.1.1 DISEÑO IMPLENTADO EN SIMULINK……………………………… 27 3.1.1.2 TABLAS COMPARATIVAS DE IRR, VER,SEÑALES.............................33 CAPITULO_4 4.1 IMPLEMENTACION EN SYSTEM GENERATOR....................41 4.1.2 SIMULACION EN HARWARE……………………………………..45 CONCLUSIONES ……………………………………………………………….54 BIBLIOGRAFÍA………………………………………………………………….55
FRANKLIN SALAZAR [ESPG] Página5 INDICE DE FIGURAS Fig. 1.1.- Sistema de Comunicaciones Digital…………………………8 Fig. 1.2 Receptor en Cuadratura……………………………………….9 Fig.1.3.- Método Adaptativo…………………………………………..11 Fig.1.4.- Diagrama de flujo del algoritmo LMS……………………….13 Fig.1.5.- Proceso de cálculo de error ………………………………….13 Fig.1.6.- Diagrama y formulas de actualización de coeficientes utilizando LMS ……………………………………………………………….14 Fig.1.7.- Error cuadrático medio……………………………………..15 Fig.1.8.- Diseño de algoritmo adaptativo LMS-DD………………….16 Fig.1. 9.- Principio de ortogonalidad de Gram schmidt ………………18 Fig.2.1 Diseño de un modulador QAM ……………………………...17 Fig.2.2 Constelaciones para modulaciones QAM…………………..18 Fig.2.3 Sistema QAM esquemático…………………………………..19 Fig.2.4 Sistema demodulador QAM………………………………….20 Fig.2.5.- Detección de la portadora en modulación QAM……………21 Fig.3.1 Implementación en simulink del modulador y demodulador 16QAM. …………………………………………………………….24 Fig. 3.2 Señal transmitida 16-QAM…………………………………25 Fig.3.3 Recepción de la señal sin desbalanceo………………………26 Fig.3.4 Señal recibida ………………………………………………27 Fig.3.5 Señal sincronizada…………………………………………...28 Fig.3.6 Bloque del algoritmo adaptativo de G.S……………………..29
FRANKLIN SALAZAR [ESPG] Página6 Fig.3.7 Señal obtenida después del bloque de G.S……………………30 Fig.3.8 Comparación de señales con y sin desbalanceo………………31 Fig.3.9 Comparación de la señal sin desbalanceo y la señal con desbalanceo y la utilización de G.S………………………………………………….32 Fig.3.10 Márgenes del mínimo error…………………………………..33 Fig.3.11 Comparación general………………………………………….34 Fig.3.12 Representación del error IRR………………………………..35 Fig.3.13 Calculo de BER en recepción sin desbalanceo……………….36 Fig.3.14 Cálculo de ber con desbalanceo ……………..……………….37 Fig.3.15 Grafica del error con valor de p=0.01………………………...39 Fig.3.16 Grafica con aumento de ruido EbNo=10……………………..40 Fig.4.1 Plataforma de evaluación virtex 4………………………………41 Fig.4.2 Diagrama de flujo de XILINX………………………………….42 Fig.4.3 Diagrama de bloques de XILINX………………………………43 Fig.4.4 Diagrama de conexión entre bloques S.G y Simulink………….44 Fig 4.5 Representación de la señal en simulink ( Representación en punto flotante ) y en SG(Representación en punto fijo)…………. .………….45 Figura 4.6 Representación de G S con System Generator……………..47 Fig 4.7 Representación del multiplicador G S con System Generator…48 Fig 4.8 Representación de sumadores/restador con System Generator…48 Fig 4.9 Representación de divide con System Generator……………….49 Fig 4.10 Representación de registros con System Generator…………...50
FRANKLIN SALAZAR [ESPG] Página7 Fig 4.11 Representación de retardos con System Generator…………...50 Fig 4.12 Representación de ganancias con System Generator………….51 Fig 4.13 Configuración de G S con System Generator………………...52 Fig 4.14 Comparación de las señales de salida.………………………..52 Fig 4.15 Synthesis Report………………………………………………53 Fig 4.16 Timing Report………………………………………………...54 INDICE DE TABLAS Tabla 1 .- Conjunto de bloques Xilinx……………………………..42 Tabla 1.2.- bloques de referencia Xilinx…………………………...43
FRANKLIN SALAZAR [ESPG] Página8 CAPITULO_1 1.1 RESUMEN Este proyecto presenta un nuevo método que es la implementación de un algoritmo de ortogonalización que utiliza el teorema de GRAM-SCHMIDT para la compensación del desbalanceo que se produce en las transmisiones en este caso QAM debido a las diferentes interferencias provocadas por los componentes del sistema tales como convertidores (A/D) o (D/A), interferencia del canal (ruido)etc. La realización corresponderá con la implementación y simulación del algoritmo en SIMULINK. Se va a diseñar en el dispositivo FPGA-Virtex-4 da Xilinx, utilizando, para eso un programa llamado Xilinx System Generator. Finalmente, presentaremos los diferentes resultados obtenidos y la comparación con otras implementaciones. 1.-2 OBJETIVOS. Gracias al conocimiento adquirido tratar de solucionar el problema de desbalanceo que se produce por interferencias y debido a los desfases provocados por los componentes electrónicos que constituyen nuestro sistema. Como también poder afianzar los conceptos adquiridos durante parte de la carrera y ponerlos en práctica a la hora de interpretar y solucionar este proyecto. Dar a conocer las ventajas que ofrecen las herramientas simulink y system generator a la hora de poder simular y comprobar el perfecto funcionamiento como también hacernos una referencia real de lo que se produce en las transmisiones y recepciones de señales. 1.-3 INTRODUCION El propósito de un sistema de comunicaciones es entregar un mensaje de información entre usuarios que estén separados, en un formato que se pueda ser entendido por los dos. Por esta razón un transmisor modifica el mensaje para poder transmitir de una forma apropiada atreves del canal. Esta modificación realizada es conocida como modulación, el receptor recoge la señal original y la representa mediante un método llamado demodulación que es el procedimiento inverso al de modulación en el transmisor.
FRANKLIN SALAZAR [ESPG] Página9 Debido a que el canal introduce interferencias o ruido, o a los dispositivos electrónicos utilizados la señal recibida es la señal original pero con degradaciones. En la grafica podemos conocer las fases de un sistema de comunicaciones digital. SistemadeComunicacionesDigital Fig. 1.1.- Sistema de Comunicaciones Digital. • Codificador - Decodificador de fuente; • Codificador - Decodificador de canal; • Modulador - Demodulador. Un codificador fuente elimina información redundante del mensaje y se responsabiliza de la utilización eficiente del canal ,la secuencia de símbolos resultantes llamada código de fuente es procesada por el codificador de canal el cual igualmente produce una secuencia de símbolos llamada código de canal el cual es mayor que el anterior debido a la redundancia introducida en su construcción .Finalmente el modulador representa cada símbolo o código de canal por su símbolo analógico correspondiente la secuencia de símbolos producida por el modulador es llamada forma de onda , que es la apropiada para transmitir por el canal. En el receptor a la salida del canal (señal recibida) es procesada de forma inversa que en el transmisor, reconstruyendo así una versión reconocible de la señal original.
FRANKLIN SALAZAR [ESPG] Página16 Errorcuadráticomediodelalgoritmo LMScontraelECLMS Fig.1.7.- Error cuadrático medio En los resultados mostrados en la Fig. 1.7, se puede observar que el error cuadrático medio (MSE – Mean Square Error) para el algoritmo ECLMS, converge mucho más rápido con respecto al algoritmo LMS convencional, además de que no se empeora el error cuadrático mínimo en ECLMS. El aumento de la velocidad de convergencia con ECLMS se debe a que de manera indirecta se está afectando al factor μ, debido a que inicialmente el error es grande y por lo tanto el error codificado corresponde a un valor grande, pero como avanza el proceso de adaptación, el error va disminuyendo hasta tener un comportamiento similar a la variante de signo del algoritmo LMS, debido a que el error codificado tendrá valores de uno o cero. 1.3.2.3.- ALGORITMO LMS-DD(Least Square-Decision Directed) Utilice los métodos tradicionales de operación de un ecualizador adaptativo pero en modo decisión directa (DD) como se muestra en la fig1. 8. Durante la secuencia de adaptación tenemos, una secuencia conocida y transmitida en una versión sincronizada de la (d(n)) y generada por el receptor. Una señal de error e(n)=d(n)-y(n) y formada también por un ecualizador adaptativo.
FRANKLIN SALAZAR [ESPG] Página17 Los coeficientes de ecualización son así mismo ajustados de acuerdo con el algoritmo LMS utilizando un criterio de minimización de error cuadrático medio. Cuando un proceso ha terminado el ecualizador ha conmutado por un segundo modo de operación o modo de decisión directa (DD). AlgoritmoLMS‐DD Fig.1.8.- Diseño de algoritmo adaptativo LMS-DD Este algoritmo se creó pensando en utilizar la salida del propio ecualizador para rastrear las variables del canal, con ello se mejoraba los valores de los coeficientes si fuese necesario. El algoritmo LMS-DD es muy similar al algoritmo LMS mas solo se diferencia en la obtención de la señal deseada que pasa a ser una decisión realizada sobre una salida del propio ecualizador, así la función de decisión queda: e(n)= dec(y(n))-y(n). De esta forma el error pasa a ser una función no lineal de coeficientes del filtro, es decir deja de ser cuadrática. Esa no linealidad impuesta por la función acarrea una formación de mínimos locales indeseados. Tomando los pasos de μ de valor fijo se muestra que el algoritmo LMS-DD converge para una solución óptima de este caso descrito por Wiener. Caso contrario como hemos mencionado antes este algoritmo presentara convergencia para otros valores mínimos no deseados.
FRANKLIN SALAZAR [ESPG] Página18 1.3.2.4.-ALGORITMO DE ORTOGONALIDAD DE GRAM SCHMIDT. Ortogonalidad: En matemáticas, el termino ortogonalidad es una generalización de la noción geométrica de perpendicularidad. En el espacio euclideo convencional el término ortogonal y el término perpendicular son sinónimos. Sin embargo, en espacios de dimensión finita y en geométricas no euclideas el concepto de ortogonalidad generaliza al de perpendicularidad. Existe un procedimiento que permite generar un conjunto de señales ortogonales conocido bajo el nombre de ortogonalizacion de Gram – Schmidt. Consiste en definir una señal y generar a partir de ellas señales ortogonales. Suponga que x1 y x2 son dos vectores independientes. Se desea generar un conjunto de vectores ortogonales y1 y y2 a partir de x1 y x2. De la figura se desprende que ./|1| ./|1|
FRANKLIN SALAZAR [ESPG] Página19 Ortogonalidad deGRAM‐SCHMIDT Fig.1. 9.- Principio de ortogonalidad de Gram schmidt
FRANKLIN SALAZAR [ESPG] Página20 CAPÍTULO_2 2.1 METODO DE GRAM SCHMIDT APLICADO A MODULACION QAM. 2.1.1 MODULACION QAM. 2.1.1.1 INTRODUCCIÓN_ QAM. La Modulación de Amplitud en Cuadratura o QAM es una modulación digital en la que el mensaje está contenido tanto en la amplitud como en la fase de la señal transmitida. Se basa en la transmisión de dos mensajes independientes por un único camino. Esto se consigue modulando una misma portadora, desfasada 90º entre uno y otro mensaje. Esto supone la formación de dos canales ortogonales en el mismo ancho de banda, con lo cual se mejora en eficiencia de ancho de banda que se consigue con esta modulación. La importancia de este sistema de modulación se debe a la gran cantidad de aplicaciones asociadas a ella: • Es empleada por módems para velocidades superiores a los 2400 bps (por ejemplo V.22 bis y V.32). • Es la modulación empleada en multitud de sistemas de transmisión de televisión, microondas, satélite... • Es la base de la modulación TCM (Trellis Coded Modulation), que consigue velocidades de transmisión muy elevadas combinando la modulación con la codificación de canal. • Es la base de los módems ADSL (Asymmetric Digital Suscriber Line) que trabajan en el bucle de abonado, a frecuencias situadas entre 24KHz y 1104KHz, pudiendo obtener velocidades de hasta9Mbps, modulando en QAM diferentes portadoras. 2.1.1.2 TRANSMISOR QAM BÁSICO. El esquema de un transmisor en QAM básico se muestra a continuación.
FRANKLIN SALAZAR [ESPG] Página21 ModuladorQAM Fig.2.1 Diseño de un modulador QAM Los datos de serie de entrada, generados a velocidad Rb bps se agrupan mediante un conversor serie/paralelo, formando palabras de J bits que pasarán al módulo de mapeo de estas palabras. Este módulo se encarga de seleccionar un símbolo de entre los M=2J posibles símbolos, ubicados sobre un espacio bidimensional. A la salida, los símbolos se producen por tanto a una velocidad de Fs=Rd/J símbolos por segundo o baudios. Los símbolos a transmitir son números complejos que representaremos como k k k c = a + jb . Así, el alfabeto lo forman el conjunto de números complejos que podremos transmitir. Este alfabeto se puede representar en el plano complejo, formando la constelación de la modulación. En la siguiente gráfica se presentan diferentes constelaciones posibles.
FRANKLIN SALAZAR [ESPG] Página22 ConstelacionesQAM Fig.2.2 Constelaciones para modulaciones QAM A continuación, los símbolos se introducen en los moduladores de impulsos, uno para cada componente, obteniendo las señales: a*(t) =Σak δ (t − kT ) b*(t) =Σbk δ(t − kT ) Estas dos señales atraviesan los filtros de transmisión: a(t) =Σak gT (t − kT ) b(t) =Σbk gT (t − kT ) g T(t) es el filtro de transmisión y será de tipo paso bajo. Sobre este filtro aplica todo lo dicho para los filtros de transmisión en el capítulo correspondiente a la transmisión en banda base. En una implementación discreta, los filtros actúan de filtros interpoladores, produciendo L muestras por cada símbolo de entrada, de forma que la frecuencia de trabajo de los filtros será de L·fs. La señal QAM se obtiene modulando en DBL estas señales: s(t) =a(t)coswct-b(t)senwct Así, a(t) es la componente en fase de la señal QAM y b(t) la componente en cuadratura. El equivalente paso bajo de la señal QAM, tomando como frecuencia de referencia fc será:
FRANKLIN SALAZAR [ESPG] Página23 tatjbt∑akgTtkTj∑bkgTtkT K ∑ ∑ La señal analítica:∑ En donde la señal QAM es De forma esquemática: SistemaQAMesquemático Fig.2.3 Sistema QAM esquemático. Como podemos observar, en el esquema de modulación propuesto se obtiene primero la señal paso bajo que se modula más tarde en DBL. 2.1.1.3 RECEPTOR QAM: DESCRIPCIÓN GENERAL. Un receptor QAM sigue el esquema que se presenta en la siguiente figura. Como puede observarse, el esquema del receptor es considerablemente más complejo que el del transmisor.
FRANKLIN SALAZAR [ESPG] Página24 DemoduladorQAM Fig.2.4 Sistema demodulador QAM. ro( t) , señal de entrada al receptor es la señal QAM transmitida, distorsionada por el canal y con ruido añadido. La función principal del filtro de recepción: es eliminar ruido fuera de banda, y también, en combinación con el filtro de transmisión, conformar el pulso recibido para que se produzca IES sobre un canal ideal. Debido a que las señales pueden llegar muy atenuadas, la salida del filtro de recepción se escala por el Control Automático de Ganancia (CAG) para incrementar su amplitud y así utilizar todo el rango dinámico de los convertidores. El muestreo en los convertidores se realiza normalmente a una frecuencia superior a la frecuencia de símbolo: Fo=1/To =no*(1/T)=no*fs que además será de al menos el doble de la máxima frecuencia contenida en la señal QAM. Las muestras obtenidas serán utilizadas por el módulo de CAG para calcular el factor adecuado. También se utilizan en el DCD (Data Carrier Detect) para determinar si una señal es señal o es sólo ruido. Los instantes de muestreo adecuados se determinarán en el recuperador de sincronismo de símbolo a partir de las muestras obtenidas. El último módulo forma la señal analítica r+ (nTo) . Este subsistema que forma esta señal analítica, se conoce como Phase Splitter . Un canal real no tiene respuesta plana y retardo constante de envolvente (como tendría un canal ideal) y esto causa interferencia entre símbolos en la señal recibida. El ecualizador adaptativo paso banda compensa la
FRANKLIN SALAZAR [ESPG] Página25 respuesta del canal para minimizar la IES. Este filtro debe ser adaptativo ya que a priori no se conoce la respuesta frecuencial del canal. DETECCIÓN DE PORTADORA DE DATOS (DATA CARRIER DETECT). La función del bloque de detección de portadora es detectar cuándo tenemos señal presente y cuándo no, por lo general para indicárselo a un módulo de recepción de datos. Se trata de un módulo muy simple, pero de gran importancia, ya que permitirá validar o rechazar los datos recibidos por módulos situados en niveles superiores. La mayoría de los métodos deciden la existencia de señal basándose en la energía de la señal recibida. Deteccióndeportadora Fig.2.5.- Detección de la portadora en modulación QAM RECUPERACIÓN DE PORTADORA. Para simplificar el proceso, y también porque los dos problemas pueden tratarse de forma independiente, supondremos en este apartado que la frecuencia de símbolo exacta es conocida. El problema que presentamos en este apartado, es la recuperación de la frecuencia y fase de la portadora. Consideramos la señal analítica: . en donde g(t)=gT(t)*c(t)*gR(t) es la respuesta global del canal, y los símbolos complejos Cm=am + jbm. Supongamos que de modulamos esta señal con Entonces el valor del símbolo recibido es:
FRANKLIN SALAZAR [ESPG] Página32 Señalrecibidasincronizada Desbalanceode faseyganancia Fig.3.5 Señal sincronizada. IMPLEMENTACION DEL BLOQUE GRAM-SCHMIDT. Normalmente es como recibimos nuestra señal en recepción debido al desbalanceo vemos como tenemos un desfase y por lo cual una descompensación de amplitud que se muestra también evidente si a eso le sumamos el problema de IES es evidente que vamos a tener una probabilidad de error mayor. Al apreciar en la grafica 20 en la recepción de la señal vamos a tener al momento de muestrear el error de distinguir un símbolo de otro. La introducción del bloque de GS lo que nos permite que la señal recibida se va acoplando poco a poco gracias al sistema adaptativo a la señal que realmente queremos obtener. Inicialmente el valor de error es mayor y poco a poco va memorando ya que la señal recibida va convergiendo hacia el valor mínimo de error, en el cual la señal que obtenemos es muy similar a la transmitida. Y el bloque configurado está compuesto por 3 partes fundamentales: Señal de entrada. Bloque adaptativo. Señal de salida compensada con GS.
FRANKLIN SALAZAR [ESPG] Página33 AlgoritmoadaptativoG.S Fig.3.6 Bloque del algoritmo adaptativo de G.S. SEÑAL RECIBIDA DESPUES DEL BLOQUE GRAM-SCHMIDT. Como era de esperar el bloque de gran - schmidt lo que pretendía era compensar la ganancia y fase que tenia la señal debido como ya comentamos anteriormente a los diferentes elementos electrónicos o interferencia delo canal. Como podemos observar en la fig.3.7 obtenemos los 16 símbolos transmitidos pero es verdad que es evidente que tenemos un error que es difícil de evitar pero que no es tan importante como el que teníamos antes de nuestra implementación de G.S. Lo que se pretendía al inicio de esta implementación se ha conseguido solucionar y este algoritmo de adaptación para la compensación del desbalanceo es ahora también una buena forma de evitar estos efectos tan adversos que teníamos en los sistemas de comunicación hoy en día es evidente y la grafica lo demuestra que podremos obtener la señal que transmitimos de forma segura y podremos ser capaces de diferenciar los símbolos que hemos transmitido.
FRANKLIN SALAZAR [ESPG] Página34 SeñalrecibidaconelbloqueG.S Compensaciónde faseyamplitud Fig.3.7 Señal obtenida después del bloque de G.S 3.1.1.2 TABLAS COMPARATIVAS DE IRR, BER, SEÑALES. * COMPARACION ENTRE SEÑALES SIN DESBALANEO Y CON DESBALANCEO. Una vez comprobada la funcionalidad de nuestra implementación lo que vamos hacer es una comparación de las diferentes señales que vamos obteniendo para poder diferenciar el efecto de compensar el desbalanceo. La siguiente grafica nos muestra la señal sin desbalanceo es decir la señal que recibimos por la rama superior es decir sin error de fase ni de amplitud (azul) y la señal que si le hemos introducido el desbalanceo (rojo). Tomando un margen de tiempo prudente para poder observar los valores de amplitud que van tomando las señales y poder distinguir el error que se va cometiendo por el hecho de utilizar el desbalanceo.
FRANKLIN SALAZAR [ESPG] Página35 Comparaciónentrelaseñalrecibida sindesbalanceoycondesbalanceo Fig.3.8 Comparación de señales con y sin desbalanceo. *COMPARACION DE LAS SEÑALES SIN DESBALANCEO Y LA SEÑAL CON DESBALANCEO PERO UTLIZANDO G.S. La obtención de la señal en las 2 ramas es el resultado de nuestra implementación en ella podemos ver claramente como la señal en rojo que antes aparecía en intermedio de la otra de color azul ahora se enmascara debido a que las dos señales toman valores casi idénticos de amplitud por lo cual nosotros podemos decir que el error que se comete es mínimo. Nuestra simulación la hemos caracterizado para unas 4000 iteraciones y es fácil de observar que a medida que la señal se acerca a las 2000 iteraciones y se aleja de las 2500 es donde obtenemos el menor error posible en todos los casos casi prácticamente igual con diferentes valores de ruido en el canal.
FRANKLIN SALAZAR [ESPG] Página36 Comparaciónentrelaseñalrecibida sindesbalanceoyseñalconGS Fig.3.9 Comparación de la señal sin desbalanceo y la señal con desbalanceo y la utilización de G.S Nuestra simulación la hemos caracterizado para unas 4000 iteraciones y es fácil de observar en la fig.3.10 que a medida que la señal se acerca a las 2000 iteraciones y se aleja de las 2500 es donde obtenemos el menor error posible en todos los casos casi prácticamente igual con diferentes valores de ruido en el canal. Mínimoerror
FRANKLIN SALAZAR [ESPG] Página37 Fig.3.10 Márgenes del mínimo error. COMPARACION DE LA SEÑAL SIN DESBALANCEO, LA SEÑAL QUE UTILIZA G.S Y LA SEÑAL TRANSMITIDA. Para poder afirmar el efecto que tiene el bloque implementado comparamos la señal que originalmente trasmitimos con las 2 señales que recibimos en cada una de las diferentes ramas. La señal que nos marca con magenta es la que el transmisor nos envía y tiene representada las muestras con los valores de amplitud correspondientes a los símbolos que se envíen. por otro lado la señal sin desbalanceo que está representada con azul y la señal que utiliza el bloque de G.S que la matizamos en rojo. Comparacióndeseñales Fig.3.11 Comparación general. Para poder apreciar tomamos los valores en el cual el algoritmo implementado es el más eficiente y lo comparamos con las señales antes mencionadas nos damos cuenta que el valor o margen de error entre señales es el mínimo y que realmente estamos logrando recibir la señal en el receptor con la mejor calidad y representación posible. Como se observa mejoramos la rama que ni siquiera tiene desbalanceo es decir nuestro modelo se acerca mucho más a la señal original. *CALCULOS DEL ERROR CUADRATICO MEDIO IRR El propósito de esta prueba es calcular el error (IRR) del nivel del sistema propuesto desarrollado y establecer posibles soluciones para compensar de mejor manera el desbalanceo producido. Para la prueba se utilizo las comparaciones de las señales recibidas. inter = mean([real(Senal_sd - Senal_GS)].^2);
FRANKLIN SALAZAR [ESPG] Página38 El valor inter es la relación entre la señal sin desbalanceo (Senal_sd) y la señal que utiliza el bloque G.S (Senal_GS). Finalmente el valor del error que se obtiene en esta implementación y con estos valores de simulación es: IRR=10*log10 (inter./(mean((real(Senal_GS)).^2))) IRR =-10.4431 Como comentamos antes este valor está sujeto al número de interacciones que hagamos, como también al valor de que es el valor que especifica la rápida o lenta que es la convergencia de la señal adaptada y del ruido del canal (EbNo). *REPRESENTACION DE LA SEÑAL ERROR (IRR) Mostramos las fluctuaciones y los valores de error que toma la en esta podemos observar la variación que toma y entorno a que muestra se realiza. VariacióndelError Fig.3.12 Representación del error IRR. Al ser un algoritmo adaptativo se observa como conforme aumenta el número de iteraciones el valor del error va reduciendo acercándose en algunos instantes a ser casi nulo, pero nunca se llega a anular por completo el factor negativo es que pasado un numero de iteraciones el valor del error empieza otra vez a tener valores mucho mayores que en nuestra implementación ya no resultan de utilidad.
FRANKLIN SALAZAR [ESPG] Página39 *OBTENCION DE LA SEÑAL BER Para el cálculo del valor que nos da la tasa de error por bit BER nos valemos de la implementación de display que nos indiquen todas las tasas que vemos a continuación. Este valor lo tomamos en el caso de la señal recibida sin desbalanceo CalculodeBERenlaramasin desbalanceo Fig.3.13 Calculo de BER en recepción sin desbalanceo. Para la tasa en la con desbalanceo procedemos de igual manera y Obtenemos los resultados que presentamos en la grafica. CálculodeBERenlaramaCON desbalanceo
FRANKLIN SALAZAR [ESPG] Página40 Fig.3.14 Cálculo de ber con desbalanceo. VALORES QUE AFECTA A LA IMPLEMENTACION. Como ya mencionamos nosotros simulamos con valores que mejoran nuestro sistema de comunicaciones pero para comprobar que si cambiamos los valores de: EbNo o de los valores cambian e incluso las graficas como vemos a continuación: Nosotros hemos desarrollado nuestro modelo con valores de: =0.001 ideal Ahora cambiamos por el de =0.01 Errormínimoconρ=0.01 Fig.3.15 Grafica del error con valor de p=0.01. El valor afecta en lo rápido que se adapta ahora para llegar a encontrar el mínimo, es verdad que los saltos son más grandes y que ahora las iteraciones necesarias son menos como vemos en la figura. Nuestro sistema de esta manera se comporta como igualmente como un sistema adaptativo y tiene la misma característica que antes es decir mejora el error y también compensa el desbalanceo, pero con la peculiaridad que lo hace más rápido y por el contrario como ya dijimos antes que luego de algunas iteraciones el sistema vuelve a empeorar y el valor del error vuelve a ser grande esto no puede a la postre muy útil para sistemas que necesiten un tiempo de procesado mayor debido a que todo empeora como es el caso de la probabilidad de error , la interferencia en la señal de salida en el valor de IRR(erro cuadrático medio),etc. Como vemos en la grafica: IRR = -16.5023
FRANKLIN SALAZAR [ESPG] Página41 Para nuestro caso empeora el sistema que deseamos diseñar. El otro valor que tenemos que tener en cuenta es EbNo que es el ruido del canal nosotros asumíamos en nuestro caso un ruido de EbNo=1000, ahora probamos con EbNo=10 y observamos como varia considerablemente ya que al añadir más ruido la interferencia que tenemos y que afecta a mi señal en recepción es mucho mayor que antes y por lo cual empeora todos los valores que considerábamos aceptables como es el caso de la probabilidad de error a la hora de diferenciar un símbolo con otro, el valor de error (IRR) ,etc. CalculoparaEbNo=10 Variacióndelerror SeñalrecepciónconG.S Fig.3.16 Grafica con aumento de ruido EbNo=10. Como conclusión los valores son los que directamente pueden variar la implementación de nuestro sistema de comunicaciones por lo cual debemos estudiar lo que necesitamos implementar y luego elegir los datos y valores adecuados para obtener el mejor resultado posible.
FRANKLIN SALAZAR [ESPG] Página48 Multiplicador Fig 4.7 Representación del multiplicador G S con System Generator. - output type = Signed (2’s comp) - Number of bits = 16 - Binary point = 14 - Latency = 0 - Quantization = truncate - Overflow = satúrate - Used embedded multipliers - Optimize for = area Los multiplicadores que utilizamos en nuestro diseño están implementados como se observa en la grafica utilizando la lógica definida que nos da el fabricante, además trabajamos con lógica con signo, utilizamos 16 bits 14 de ellos fraccionarios ya que es lo necesario para que la representación sea la correcta. Usamos truncado, saturación y con latencia 0 ya que no existe retardo. AddSub’s: Todos los AddSub’s se han configurado de la siguiente manera:
FRANKLIN SALAZAR [ESPG] Página49 Sumador‐ Restador Fig 4.8 Representación de sumadores/restador con System Generator. Los sumadores restadores según nuestra necesidad están configurados de forma que su salida tenga 16 bits 14 de ellos fraccionarios de igual forma que se trabaje con signo, igualmente utilizamos truncado, saturación y sin retardo es decir latencia 0. - Output type = Signed (2’s comp) - Number of bits = 16 - Binary point = 14 - Latency = 0 - Quantization = truncate - Overflow = satúrate Divide: Todos los Divide’s se han configurado de la siguiente manera:
FRANKLIN SALAZAR [ESPG] Página50 Divisores Fig 4.9 Representación de divide con System Generator. Al igual que los multiplicadores los divisores están configurados con las mismas características que los multiplicadores. - output type = Signed (2’s comp) - Number of bits = 16 - Binary point = 14 - Latency = 0 - Quantization = truncate - Overflow = satúrate - Used embedded multipliers - Optimize for = area Registros: Todos los Registro’s se han configurado de la siguiente manera:
FRANKLIN SALAZAR [ESPG] Página51 Registros Fig 4.10 Representación de registros con System Generator. Lo que vamos a tener con esta etapa es poder ir registrando las entradas. El valor inicial que le otorgamos es 1. Retardos: Todos los Retardo’s se han configurado de la siguiente manera: Retardos Fig 4.11 Representación de retardos con System Generator. - Latency = 1
FRANKLIN SALAZAR [ESPG] Página52 Ganancias: Todos los ganancia’s se han configurado de la siguiente manera: Ganancias Fig 4.12 Representación de ganancias con System Generator. - value = ro que tiene el valor 0.001 - output type = Signed (2’s comp) - Number of bits = 16 - Binary point = 15 - Latency = 0 - Quantization = truncate - Overflow = Wrap Bloque System Generator : A continuación se muestra el detalle de como se ha configurado este bloque Teniendo en cuenta los valores que tenemos determinados al inicio como son la frecuencia de muestreo la virtex que vamos a necesitar ,etc.
FRANKLIN SALAZAR [ESPG] Página53 Fig 4.13 Configuración de G S con System Generator. Una vez que hemos terminado de implementar nuestro diseño con System Generator podemos comprobar que estamos obteniendo lo que se esperaba es decir la compensación de la señal después de pasar por el modulo de G.S, por lo tanto recogemos muestras de la señal con desbalaceo y observamos que es la misma que la señal sin desbalanceo .
FRANKLIN SALAZAR [ESPG] Página54 Fig 4.14 Comparación de las señales de salida. Resultados Implementacion: A la vista de estos resultados, se concluye que el circuito funciona perfectamente en simulación, por lo que se procede a la generación del archivo bitstream con el que se programará la FPGA de usuario. Para ello,primero hay que generar el código VHDL a partir del diseño en System Generator, pulsando en el botón generate en la ventana mostrada en lafig.4.4. Una vez generado el código VHDL se sintetiza y se implementa mediante el software project navigator, para finalmente crear el archivo bitstream. En este punto podemos ver : - Synthesis report, - Los recursos de la FPGA que van a ser utilizados, - Timming report, el mínimo período de trabajo: ÁreaUtilizada Figura 4.15 Synthesis Report. El informe obtenido corresponde con el área que va a ser utilizada en nuestra implementación.
FRANKLIN SALAZAR [ESPG] Página55 Timing Report Fig 4.16 Timing Report. En el timming report obtenemos la frecuencia máxima de trabajo, f = 1 / (0.28 ns) = 3.57GHz. El hecho de que no coincida con la frecuencia de reloj del sistema, se debe a los retardos de propagación de las señales en la FPGA. CONCLUSIONES: En este proyecto hemos descrito las características más importantes de System Generator, herramienta no instalada en el conjunto de Matlab, y que permite realizar una co-simulacion en el nivel de harware. Nuestro proyecto ha consistido en el desarrollo de un compensador de error debido al desfase , para lo cual hemos desarrollado un bloque al que le llamamos Gram Schimdt el cual es un sistema adaptativo el cual lo hemos implementado en System Generator y posteriormente en la FPGA para la simulación. El objetivo de este proyecto era proporcionar al lector unos fundamentos básicos sobre las modulaciones y demodulaciones en QAM. También hemos comentado los problemas ocasionados por los errores de fase y la forma en que afectan a las señales, hemos descrita de forma sencilla la implementación y su diseño en SG en el cual hemos comentado bloque a bloque todo el diseño que se ha realizado y a la vez damos a conocer los resultados obtenidos tanto de forma teórica como grafica para demostrar el resultado positivo de nuestro diseño.
FRANKLIN SALAZAR [ESPG] Página56 REFERENCIAS BIBLIOGRAFICAS. Apuntes y prácticas de Electrónica de Comunicaciones Digitales. Apuntes y prácticas de Diseño Micro electrónico Digital. [1]HAYKIN,S. Adaptative Filter Theory.4.ed. Upper Saddle River N.J :Prentice-Hall,2002.1 Edward A. Lee, David G. Messerschmitt Digital Communication Segunda edicion . KAP, 1994. (Ch. 16.- Carrier Recovery) Steven A. Tretter Communicaction System design Using DSP Algorithms. With Laboratory Experiments for the TMS320C30 Teoria y aplicaciones de comunicacion. Series Editor: R.W. Lucky, Bellcore. Plenum Press. NY. (1995) Simon Haykin Comicaciones digitales Wiley, 1988 (John G. Proakis Digital Communications McGraw-Hill, 3º Ed. 1995 Ho, Sam, “Adaptive Modulation (QPSK, QAM),” Intel Application Note. Tratamiento de señal de tiempo discreto Alan V. Oppenheim, Ronald W. Schafer Ed. Prentice-Hall Tratamiento Digital de la Señal. Teoría y aplicaciones Antonio Albiol, Valery Naranjo, Josep Prades; Ed. UPV Problemas de tratamiento digital de la señal Antonio Albiol ... [et al.], Ed. UPV Theory andDesign ofAdaptive Filters J. Treichler, C.R. Johnson, M. Larimore; Ed. Prentice Hall Digital Signal Processing with examples in MATLAB S. Stearns; Ed. CRC Press
FRANKLIN SALAZAR [ESPG] Página57 Adaptive Signal Processing B. Widrow, S. Stearns; Ed. Prentice Hall