SciELO - Scientific Electronic Library Online

 
vol.28 número2Measurements and analysis of vibrations at Virilla Bridge, national route N° 1Free and open source simulation tools for the design of power processing units for photovoltaic systems índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


Revista Tecnología en Marcha

versão On-line ISSN 0379-3982versão impressa ISSN 0379-3982

Tecnología en Marcha vol.28 no.2 Cartago Abr./Jun. 2015

 

Articles

Diseño e implementación de un sistema de recuperación de la temporización asíncrono totalmente digital

Design and implementation of an all-digital timing recovery system for asynchronous communication

Jose Jaime Valenciano-Rojas 1  

Renato Rimolo-Donadio 2  

1Estudiante de Ingeniería Electrónica. Instituto Tecnológico de Costa Rica. Teléfono: (506) 8899-3318. Correo electrónico: jjvr10@gmail.com

2Profesor de la Escuela de Ingeniería Electrónica. Instituto Tecnológico de Costa Rica. Teléfono: (506) 2550-9280. Correo electrónico: rrimolo@tec.ac.cr

Resumen

Este trabajo describe el diseno e implementacion de una unidad de recuperacion de la temporizacion completamente digital, para un sistema de comunicacion que utiliza recepcion paralela de datos, con modulacion 4-PAM, filtrado Raised Cosine y una frecuencia nominal de muestreo de 1,1 GHz. Se explica el diseno de los diferentes bloques dentro del sistema, asi como los resultados pertinentes a las simulaciones y la implementacion fisica en FPGA.

Palabras clave Modulacion 4-PAM; procesamiento digital de senales; recuperacion de la temporizacion; sistema de comunicacion

Abstract

This work addresses the design and implementation of a timing recovery unit for a communication system with parallel reception, 4-PAM modulation, raised cosine filtering and a nominal sampling frequency of 1,1 GHz. The design of the building blocks within the system, as well as simulation results and the physical implementation in FPGA are discussed.

Keywords  4-PAM modulation; communication systems; digital signal processing; timing recovery

Introduccion

En cualquier sistema de comunicacion es necesaria la sincronizacion entre el transmisor y el receptor, con el fin de que los datos transmitidos se puedan interpretar correctamente. En sistemas asincronos, uno de los problemas que lo impide y que debe ser solucionado corresponde a la diferencia o error en la frecuencia del reloj de recepcion respecto a la frecuencia utilizada en la transmision. Esto se debe a que, aunque se requiere que sean completamente iguales, se presenta una incertidumbre en la frecuencia de los osciladores utilizados y los retardos dentro del sistema, inherentes al proceso de su fabricacion. Es por ello que se requiere una unidad capaz de corregir este problema, la cual se conoce como sistema de recuperacion de la temporizacion (timing recovery).

Este articulo presenta parte del trabajo desarrollado como proyecto de graduacion para optar por el grado de Licenciatura en Ingenieria Electronica (Valenciano, 2014), que consistio en el desarrollo de una unidad de recuperacion de temporizacion totalmente digital para incorporarla a un sistema de comunicacion mas complejo que se esta desarrollando en el marco de un proyecto de la Comunidad Europea denominado "FABULOUS". Dicho proyecto busca mejorar las tecnicas de transmision a traves de fibra optica, con el fin de incorporarlas en las redes de internet de alta velocidad en la Union Europea. El trabajo se llevo a cabo en el Istituto Superiore Mario Boella, en Italia. Este articulo presenta informacion relacionada con el proceso de diseno, seleccion de la arquitectura de las etapas, verificacion a nivel de simulacion y, finalmente, las pruebas de implementacion, realizadas en FPGA (Field Programmable Gate Array). En la Figura 1 se muestra el diagrama de bloques de un sistema general de comunicacion, el cual ilustra la necesidad de contar con una unidad de recuperacion de la temporizacion en el lado del receptor.

Figura 1: Diagrama de bloques de un sistema general de comunicación con unidad de recuperación de la temporización 

Existen diversas implementaciones de este sistema de recuperacion de la temporizacion, las cuales se conocen como completamente analogica, completamente digital o soluciones hibridas (Gardner, 1993).

Las unidades completamente analogicas presentan el cambio en el reloj mediante un VCO (Voltage Controlled Oscilator) luego de un procesamiento analogico que implica errores de fase, entre otros. Un ejemplo especifico de este tipo de implementacion es el PLL (Phase Locked Loop). En el caso de los sistemas hibridos, se busca del mismo modo un cambio en el reloj, sin embargo, el procesamiento de los errores se presenta digitalmente luego del muestreo de las senales.

Por otra parte, las implementaciones completamente digitales tienen la ventaja de minimizar los recursos. Al integrar toda la etapa en un sistema de procesamiento digital, no es necesario desarrollar ninguna etapa analógica, que usualmente conlleva mayor esfuerzo en el proceso de diseno y verificacion. Ademas, tampoco se requieren interfaces digital-analogico como en el caso de soluciones hibridas, En ese trabajo se escogio una solucion completamente digital por las razones antes mencionadas, para poder lograr una implementacion directa en FPGA. En el sistema propuesto, la informacion se recibe de una forma paralela, con modulacion 4-PAM (Pulse Amplitude-Modulation), un filtrado Raised Cosine con a=0,1 y una frecuencia de muestreo nominal de 1,1 GHz.

En este tipo de sistema se obtienen las muestras con un reloj en modo libre (free running), es decir, el reloj toma los datos con una frecuencia fija, sin ser alterado a traves del tiempo. Estas muestras son transmitidas a la unidad de procesamiento, en este caso, la FPGA de forma paralela, con cuatro muestras consecutivas. Posteriormente, el sistema se encarga de realizar cambios en dichas muestras, ajustando correctamente la temporizacion.

En la Figura 2 se presenta una serie de graficos correspondientes a las muestras recibidas, con las especificaciones mencionadas en cuanto a modulacion y filtrado. En la figura, estas muestras se encuentran primeramente en serie y luego separadas en cuatro series de datos consecutivos de forma paralela, modo en que los recibe la unidad de procesamiento.

Figura 2: Muestras recibidas y transmitidas a la unidad de procesamiento, correspondiente a los datos recibidos en forma serial (gráfico superior) y las cuatro series de datos separadas. Las señales poseen cuatro niveles binarios porque se utiliza modulación 4-PAM. 

Diseno de la estructura

Para el diseno de la estructura de recuperacion de la temporizacion se recurrio a informacion presentada en distintas publicaciones y se adapto a las especificaciones deseadas. Por ejemplo, en Qang (2010) se presenta un estudio detallado de este tipo de etapas, a partir del cual se obtuvieron datos generales sobre la forma en que funcionan estas unidades digitales y sus subbloques.

Con base en este estudio se escogio la arquitectura descrita en la Figura 3, que presenta el diagrama general de todo el sistema. En este diagrama se encuentra primero el interpolador, que se encarga de insertar el retraso en el sistema capaz de corregir el error en la temporizacion. Posteriormente, dentro del lazo de realimentacion se encuentra el selector de muestras, que permite determinar con cuales de las salidas del interpolador debe llevarse a cabo la deteccion del error. Luego se presenta el detector de errores de tiempo (TED) que, como su nombre lo indica, determina si el sistema presenta o no una correcta temporizacion. A partir de ahi se presenta el filtro de lazo, que se encarga de minimizar el ruido de la etapa anterior, ademas de permitir una estabilizacion en la ganancia de lazo, integrando los distintos errores en el tiempo. A partir de esta senal estabilizada es que la unidad de control permite realizar un ajuste a la misma para crear el nivel de retraso adecuado para la entrada del interpolador.Se puede observar como el sistema continua con la estructura paralela al final del mismo, en la cual los datos seran alineados correctamente por el selector de salidas para obtener la informacion con la temporizacion correcta, y asi poder extraer adecuadamente los diferentes simbolos en el ecualizador. A continuacion, se explicara con mas detalle la funcion y el diseno de cada uno de sus bloques.

Figura 3: Diagrama general del sistema de recuperación de la temporización que se diseñó. 

Se puede observar cómo el sistema continúa con la estructura paralela al final del mismo, en la cual los datos serán alineados correctamente por el selector de salidas para obtener la información con la temporización correcta, y así poder extraer adecuadamente los diferentes símbolos en el ecualizador. A continuación, se explicará con más detalle la función y el diseño de cada uno de sus bloques.

Interpolador

El interpolador corresponde al bloque que permite incorporar un retraso cuantificado en la senal, de acuerdo con una senal de control que posibilita ajustarlo.

En el diseno de esta estructura se utilizo la teoria correspondiente a la interpolacion cubica de Lagrange, que presenta poco error aun sin compensacion por la respuesta en frecuencia, o sea, en presencia de una mayor cantidad de ruido (Erup, Gardner y Harris, 1993). Para este tipo de interpolacion se utilizan cuatro muestras consecutivas y, aplicando una senal de u entre 0 y 1, se realiza un retraso en el tiempo, donde con u igual a 0 se da el retraso maximo (un tiempo de muestra) y con u igual a 1 no hay retraso. Dentro de este rango, la senal puede tomar cualquier valor real, que estara limitado en la implementacion por la resolucion que se le de dentro del sistema, la cual fue de 18 bits.

Las ecuaciones que describen este tipo de interpolacion se describen a continuacion (Meyr, Moeneclaey y Fechtel, 1998):

De las ecuaciones anteriores se observa que la salida interpolada y0 responde a la senal de retraso temporal u y las senales de entrada obtenidas en los tiempos discretos tn, las cuales corresponden a las muestras enviadas por el convertidor analogico digital (ADC), que corresponde a un dispositivo capaz de recibir impulsos analogicos a traves del tiempo y cuantificarlos en un valor digital.

La implementacion de este sistema se realizo utilizando como referencia una estructura conocida como Farrow (Meyr, Moeneclaey y Fechtel, 1998), la cual permite disenar el sistema utilizando solo operaciones de multiplicacion, suma y resta, usando la senal de u y cuatro muestras consecutivas.

A traves de las ecuaciones se da la interpolacion de una sola muestra, o sea, el x0(tn) con su respectiva salida y0(tn). Dado esto, como la estructura general de recepcion de datos es paralela, se debe realizar un bloque interpolador para cada una de las muestras, alineando adecuadamente los datos consecutivos segun corresponda.

Selector de muestras y detector de errores de tiempo (TED)

Esta estructura permite determinar los errores en la temporizacion de las muestras, con el fin de que puedan corregirse a traves del lazo de realimentacion.

Para realizar esta deteccion de errores, un algoritmo muy utilizado, debido a los pocos recursos que requiere (una multiplicacion y una resta), corresponde al algoritmo de Gardner (1986).

En la ecuacion 3 la senal del error e(n) responde solamente a las senales de y para las muestras n y n-1, que corresponden a las senales de salida del interpolador.

Como el algoritmo de Gardner utiliza dos muestras y cada simbolo tiene cuatro de ellas, se deben elegir solamente dos para realizar la deteccion del error, lo cual se lleva a cabo dentro del bloque selector de muestras. Este se encarga de cambiar los datos de entrada del TED cada vez que se da una transicion de u entre 0 y 1 o viceversa. Esto introduce una muestra mas o una muestra menos, como se explicara posteriormente.

Filtro de lazo

Este bloque cumple con dos funciones. Una, eliminar el ruido proveniente del detector de errores, y dos, estabilizar la ganancia de lazo, de modo que se produzca un cambio adecuado en la senal de u.

En la primera parte de esta estructura se encuentra el filtro smoothing, que permite eliminar el ruido del TED y preservar en la senal solamente el patron necesario. En la ecuacion 4 se encuentra la operacion de este filtro. En el diseno utilizado se utilizo un X de 0,99, que permite una buena respuesta en frecuencia, minimizando el ruido (Prandoni y Vetterli, 2013). Este parametro X permite determinar que tan angosto es el ancho de banda del filtro, en el que mientras mayor sea su valor, la respuesta en frecuencia de corte es menor. La senal ef(n) corresponde al valor del error de filtrado.

Para la segunda parte, la cual permite integrar los errores hasta que se produzca una ganancia de lazo casi constante, se utilizo una estructura PI digital. En ella, usando como referencia un diseno muy similar, con las mismas frecuencias de operacion para un sistema hibrido (Ramirez et al., 2013), se obtuvieron las constantes kp=5 y un ki=0,001.

Unidad de control

Esta unidad tiene como funcion adecuar la senal de salida del filtro de lazo, de modo que presente la entrada adecuada para el interpolador, cumpliendo con las especificaciones de la senal de u (rangos y valores). Para el diseno de esta estructura se recurrio a documentacion que plantea las ecuaciones necesarias para su correcto funcionamiento (Cardenas y Arevalo, 2010), las cuales se muestran a continuacion:

En las ecuaciones 5 y 6, w(k) corresponde a la salida del filtro de lazo y la senal de u(k) es la que permite el control en el interpolador. Para el dimensionamiento de k0 se recurrio a simulaciones en las que se ajusto su valor hasta que el funcionamiento fuera adecuado ante cualquier error en la frecuencia de recepcion dentro de un rango establecido.

Creador de banderas y selector de salidas

Como ya se explico, en este tipo de implementacion totalmente digital, cada vez que la senal u, como consecuencia de la estructura de modulo 1 en la unidad de control, pasa de un valor de 0 a un valor de 1 o viceversa, se crea una muestra mas o una muestra menos, dependiendo de la transicion.

Para corregir estos errores, primeramente, como el sistema posee una estructura paralela, se decidio utilizar una serie de multiplexores en el bloque llamado selector de salidas, que permite escoger y alinear correctamente los datos de salida, los cuales cambiaran en cada transicion de 0 a 1 o de 1 a 0 de la senal de u, segun corresponda.

Cada cuatro de estas transiciones, se presentaran cuatro datos sobrantes o cuatro faltantes, ya que se fue acumulando el error. Es por ello que en dicho momento se presentara una bandera que indique si los datos son sobrantes o faltantes (una para cada caso), y se deben manejar en la siguiente etapa del sistema. Estas banderas se presentan en el creador de banderas.

Verificacion e Implementacion

La simulacion del sistema se llevo a cabo a partir de descripciones de Codigo en el System Generator de Xilinx, y mediante la herramienta Simulink de Matlab. En conjunto, ambas herramientas permiten realizar verificaciones de funcionamiento de procesamiento digital de senales para sistemas con bloques predeterminados de FPGA, utilizando un entorno grafico (Matlab-Xilinx, 2014).

De dichas simulaciones, se presenta en la Figura 4 el comportamiento de la senal de u, incluyendo el transitorio inicial que el sistema requiere para estabilizarse, denominado tiempo de enganche, para distintos porcentajes de diferencia entre la frecuencia del reloj de transmision y recepcion. La senal indica cuando el sistema esta actuando para compensar la diferencia entre el reloj de referencia y la senal de entrada. Mas detalles de los resultados de simulacion se pueden encontrar en Valenciano (2014).

Figura 4: Transitorio de la señal de μ cuando el reloj del transmisor es: (a) igual, (b) 0,005% más lento y (c) 0,005% más rápido que el del receptor. 

Posteriormente a las simulaciones, se utilizo la herramienta System Generator de Xilinx para generar un codigo VHDL que pudiera ser utilizado dentro de una FPGA. Con ello, se realizaron diferentes pruebas utilizando dos tarjetas FPGA, una transmisora y una receptora, donde la segunda poseia el codigo generado.

Para las pruebas, se obtuvo la senal de u para distintas frecuencias en el reloj de transmision, utilizando un reloj de recepcion fijo. Estos relojes correspondieron a VCO con frecuencia nominal de 1,1 GHz, que fueron ajustados para realizar las distintas mediciones. Las diferentes frecuencias utilizadas se obtuvieron mediante un analizador de espectros. La Figura 5 muestra el sistema fisico utilizado para llevar a cabo las distintas pruebas.

Figura 5: Sistema utilizado para las pruebas físicas de la implementación. 

La Figura 6 muestra las graficas de la senal de u, que se obtuvo mediante un osciloscopio virtual ligado a la herramienta Vivado de Xilinx. La FPGA receptora utilizada corresponde a una Virtex 7.

Figura 6: Resultados de implementación física para frecuencia de reloj transmisor de: (a) 1,099850 GHz (igual al receptor), (b) 1,099703 GHz y (c) 1,100005 GHz 

Analisis de resultados

Se implemento una unidad de recuperacion de la temporizacion completamente digital utilizando unicamente operaciones de suma, resta y multiplicacion, que pueden ser implementadas de forma relativamente sencilla en cualquier sistema de procesamiento digital, con la velocidad adecuada de acuerdo con las especificaciones del sistema.

Ahora bien, analizando los resultados de las simulaciones, se observa primeramente que cuando el reloj de transmision y el de recepcion son iguales, la senal de u se mantiene en un nivel casi constante luego del transitorio de enganche. Esto quiere decir que las muestras de entrada poseen una correcta temporizacion, y debe permanecer constante en el tiempo, tal y como se muestra en los resultados obtenidos por Erup, Gardner y Harris (1993).

Cuando existe un error en la frecuencia del reloj del receptor, se observa como esta presenta, luego del transitorio, una senal periodica en forma diente de sierra, que permite el ajuste correcto de la temporizacion. Se puede determinar que cuando el reloj del receptor es mas rapido que el del transmisor, la senal de u presenta una pendiente positiva, mientras que en caso contrario, la pendiente es negativa. Tambien se puede apreciar que ante iguales porcentajes de diferencia en frecuencias, el periodo de u es aproximadamente igual, es decir, el periodo de la senal depende de la diferencia de frecuencias que se esta corrigiendo.

En cuanto a los resultados obtenidos para la implementacion fisica, se observa que se mantuvo el mismo comportamiento en las senales de u, en cuanto a pendiente y senales periodicas, dependiendo de la relacion de las frecuencias de reloj utilizadas.

Cuando el sistema utilizo iguales relojes de transmision y recepcion, la senal de u se mantuvo completamente constante. Por otra parte, cuando la frecuencia de transmision fue mayor que la de recepcion, se presento el comportamiento periodico con pendiente negativa, y en caso contrario, pendiente negativa, tal y como se esperaba de las simulaciones.

Un resultado relacionado con el diseno, que es de suma importancia para los sistemas completamente digitales, corresponde a la presencia de datos faltantes y sobrantes, los cuales deben ser manejados posteriormente por otras etapas del sistema de comunicacion. Estos datos aparecen debido al error acumulado de cuantificacion y son intrinsecos a la implementacion completamente digital. En este trabajo se propuso una solucion mediante la utilizacion de banderas, que permiten indicar el tiempo exacto en el que se deben agregar o eliminar datos.

Conclusiones

Con este trabajo se logro el diseno e implementacion de una unidad completamente digital para corregir el error presentado por la diferencia en frecuencias de los relojes de transmision y recepcion en un sistema de comunicacion, el cual se basa en un retraso variable en el tiempo de las muestras obtenidas con un reloj trabajando en modo libre.

Con base en la senal de u se corrige el problema de temporizacion, y de acuerdo con la diferencia de las frecuencias, esta va a ser una senal constante o una senal diente de sierra, la cual posee pendiente positiva cuando el receptor esta procesando los datos mas rapidamente que el transmisor y de pendiente negativa en el caso contrario.

Mediante la introduccion de dos banderas se logro detectar el error introducido debido a datos sobrantes o faltantes, lo cual es un problema intrinseco de un sistema de recuperacion de la temporizacion completamente digital, que se debe tomar en cuenta para las siguientes etapas del receptor, por ejemplo, el ecualizador.

Reconocimientos

Las simulaciones e implementaciones fisicas incluidas en este trabajo se efectuaron en el departamento Photonics del Istituto Superiore Mario Boella en Turin, Italia, utilizando el equipo y herramientas de esta institucion. Se le agradece a Paolo Savio, Silvio Abrate, Antonello Nespola y el centro en general por la oportunidad de realizar este trabajo y por la supervision y el apoyo brindados.

REFERENCIAS

Cardenas, D. & Arevalo, G. (2010). All digital timing recovery and FPGA implementation. Jornadas de Ingenieria Electrica y Electronica (FIEE) Disponible en linea [Mayo 2015]: http://bibdigital.epn.edu.ec/handle/15000/3705Links ]

Erup, L., Gardner, F. & Harris, R. (junio, 1993). Interpolation in digital modems. Part II: Implementation and perfor mance. IEEE Transactions and communications 41(6), 998-1008. [ Links ]

Gardner, F. (mayo, 1986). A BPSK/QPSK timing-error detector for sampled receivers. IEEE Transactions on commu nications 34(5), 423-429. [ Links ]

Gardner, F. (marzo, 1993). Interpolation in digital modems. Part I: fundamentals. IEEE Transactions on comunications 41(3), 501-507. [ Links ]

Matlab-Xilinx. (2014). Xilinx System Generator and HDL Coder Obtenido de http://www.mathworks.ch/fpga-design/ simulink-with-xilinx-system-generator-for-dsp.htmlLinks ]

Meyr, H., Moeneclaey, M. & Fechtel, S. (1998). Digital communication receivers Canada: Wiley-Intersciensce. [ Links ]

Prandoni, P. & Vetterli, M. (2013). Digital signal processing. Linear filters Suiza: Ecole Polytechnique Federale de Lausanne. [ Links ]

Quang, D. X. (2010). Digital resampling and timing recovery in QAM systems Tesis de maestria, University of Saskatchewan. Canada. [ Links ]

Ramirez, J., Nespola, A., Straullu, S., Savio, P., Abrate, S. & Gaudino, R. (septiembre, 2013). Hybrid clock recovery for a gigabit POF transceiver implemented on FPGA. Journal of lightwave technology 31(18), 2988-2993. [ Links ]

Valenciano, J. (2014). Implementacion de un sistema de recuperacion de la temporizacion aslncrono ("timing reco very") para su Incorporation en el proyecto europeo FABULOUS Cartago: Instituto Tecnologico de Costa Rica. [ Links ]

Recibido: 02 de Septiembre de 2014; Aprobado: 14 de Diciembre de 2014

Creative Commons License This is an open-access article distributed under the terms of the Creative Commons Attribution License