MÉTODO Y APARATO INTERPOLADOR ÓPTIMO PARA AJUSTE DE TEMPORIZACIÓN DIGITAL
CAMPO DE LA INVENCION Esta invención se refiere, en general, a sincronizadores digitales de temporización, y más particularmente, a una implementación eficiente de un interpolador para ser utilizado en sincronizadores digitales de temporización.
ANTECEDENTES En adelante, una unidad inalámbrica de transmisión/recepción (WTRU) incluye, pero sin limitarse, un equipo usuario, una estación móvil, una unidad de abonado fija o móvil, un localizador, o cualquier otro tipo de dispositivo capaz de operar en un entorno inalámbrico. Cuando se la mencione en adelante, una estación base incluye, pero sin limitarse, una estación base, un Nodo B, un controlador de sitio, un punto de acceso u otro dispositivo de interfase en un entorno inalámbrico. En un sistema de telecomunicación inalámbrica en dúplex por división de tiempo (TDD) o en dúplex por división de frecuencia (FDD) , resulta imperativa una sincronización de temporización entre señales transmitidas y recibidas de una estación base y una WTRU para una apropiada comunicación bilateral. Asimismo, un efecto Doppler puede contribuir a la diferencia de frecuencia si el receptor móvil está en movimiento. Para contrarrestar la diferencia de temporizacion entre el oscilador local de la estación base y el oscilador local de la WTRU, un simple ajuste al oscilador local del receptor de la WTRU puede corregir el error aplicando, en consecuencia, un avance o retardo a la velocidad de muestreo, si no existe un procesamiento de trayectoria múltiple en el receptor. No obstante, debido a efectos de señal de trayectoria múltiple, receptores convencionales de sistemas de comunicación inalámbrica emplean medios para detectar las señales de trayectoria múltiple y medios para reconstruir la señal transmitida, como ser los receptores tipo RA E. La temporizacion para cada trayectoria es estimada en dos etapas. En primer lugar,- se. utiliza un estimador de canal para encontrar las ubicaciones aproximadas de cada trayectoria a tiempo para un canal de comunicación de trayectoria múltiple. En segundo lugar, para cada trayectoria, un seguidor de código dedicado utilizado en correlación con cada finger RAKE encuentra la ubicación precisa de la trayectoria a tiempo y realiza su seguimiento continuamente de allí en adelante. Dado que cada trayectoria tiene una única ubicación de tiempo, el control de la temporizacion de código a través del oscilador local solo, no corrige el error de temporizacion en un entorno del canal de trayectoria múltiple.
Para contemplar el problema de la trayectoria múltiple, los seguidores de código pueden utilizar interpoladores para realizar una sincronización digital de ternporizacion en vez 'de un control del oscilador local. Para la implementación eficiente de un interpolador, puede utilizarse un interpolador de respuesta finita al impulso (FIR) . Existen diferentes procedimientos conocidos para interpoladores FIR. El procedimiento más simple es el uso de una función sinc truncada como interpolador FIR. Otra opción es el uso de un interpolador polinominal . Asimismo, puede utilizarse un interpolador de mínimo error cuadrático media (M SE) . Entre todos estos algoritmos, un interpolador MMSE provee el error mínimo comparado con el interpolador ideal de longitud infinita. Cabe destacar que sin una unidad de control de interpolador eficiente que asegure que el. interpolador esté centralizado con respecto al lóbulo principal de la función sinc (es decir, centralizado con respecto a la función de interpolación) , el interpolador podría resultar en un número de coeficientes FIR mayor que lo que puede ser necesario para una precisión dada. La desventaja de coeficientes excesivos es que el número de cálculos de interpolación se torna engorrosa, y en algún punto, un factor limitante para la implementación. Esto se agrava especialmente al aumentar el número de seguidores empleados para enfrentarse más efectivamente con los efectos de la trayectoria múltiple. Así, existe un equilibrio entre la extensión del número de seguidores de finger RAKE y la cantidad de ganancia de diversidad de tiempo obtenida de un canal de trayectoria múltiple.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Se provee un sincronizador digital de temporización de un receptor para sincronizar la temporización a un transmisor en un sistema de comunicación inalámbrica, donde la señal recibida tiene un error de temporización respecto de un código de referencia. Un estimador de canal estima una fase de código inicial de la señal recibida. Un generador de código genera un código de referencia de temporización que puede ajustarse por incrementos enteros. Un circuito de realimentación de interpolación es configurado para -interpolación y corrección del error de temporización, por lo cual se logra la interpolación a través de un desplazamiento de código entero, más un estimado de retardo fraccionario cuantificado seleccionado entre una tabla de consulta de valores cuantificados de estimado de retardo fraccionario asociados con coeficientes de interpolador predeterminados, a partir de los cuales se produce una versión de tiempo corregida de la señal recibida. Dentro del circuito de realimentación de interpolación, se configura un interpolador normalizado a una velocidad de muestreo para desplazar la señal recibida a tiempo por un avance o retardo fraccionario. Un estimador de error de temporización determina un estimado de error de temporización en base a la diferencia de temporización entre una señal de salida del circuito · de realimentación de interpolación y el código de referencia de temporización del generador de código. Un controlador de interpolador, responsable del estimado de error de temporización, produce y envía una señal de desplazamiento de código entero al generador de código en una dirección opuesta al estimado de error de temporización, y produce un estimado de retardo fraccionario, por lo cual se controla la interpolación manteniendo un estimado de retardo fraccionario dentro de un rango predeterminado. Un cuantificador, con la tabla de consulta con coeficientes de interpolador predeterminados almacenados asociados con valores de estimado de retardo fraccionario cuantificado, selecciona un estimado de retardo fraccionario cuantificado que es el más cercano en valor al estimado de retardo fraccionario. El interpolador procesa los coeficientes asociados con el estimado de retardo fraccionario cuantificado.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Puede tenerse una comprensión más detallada de la invención a partir de la siguiente descripción de una forma de realización preferida, dado a modo de ejemplo y para interpretarla junto con los dibujos que acompañan, donde: la FIGURA 1 muestra un diagrama de bloque de un seguidor de código con interpolación optimizada; la FIGURA 2 muestra un diagrama de bloque de un filtro de bucle; y las FIGURAS 3A y 3B muestran diagramas de temporización del desplazamiento de código del seguidor de código .
DESCRIPCIÓN DETALLADA DE LA O LAS FORMAS DE REALIZACIÓN PREFERIDAS Aunque las formas de realización son descritas junto con un sistema de acceso múltiple por división de código de banda ancha (W-CDMA) del programa de colaboración de tercera generación (3GPP) que utiliza el modo dúplex por división de tiempo,, las formas de .realización son aplicables a cualquier sistema de comunicación híbrido de acceso múltiple por división de código (CDMA) /acceso múltiple por división de tiempo (TDMA) . En forma adicional, las formas de realización son aplicables a sistemas CDMA, en general, como es el modo dúplex por división de frecuencia (FDD) propuesto de W-CDMA del 3GPP. La FIGURA 1 muestra un diagrama de bloque de la forma de realización preferida de un seguidor de código 10, que comprende un estimador de canal 11, una unidad de postprocesamiento 12, un generador de código 13, un interpolador 14, un muestreador de reducción 15, un estimador de error de temporización 16, un filtro de bucle 17, un control de interpolador 18, un cuantificador 19, y una medición de potencia 20. Una señal recibida 21 pasa a ser una señal de entrada para el estimador de canal 11 y el interpolador 14. El seguidor de código 10 realiza una sincronización digital de temporización de un receptor a un transmisor inalámbrico correspondiente. En un sistema tipo 3GPP, por ejemplo, el seguidor de código 10 está dentro de un receptor de WTRU móvil para sincronización digital de temporización con un transmisor de estación base..,: El estimador de canal 11 estima groseramente la fase de código inicial de la señal de entrada 21, es decir, las ubicaciones de código a tiempo. Un método para estimar el estimado de canal incluye, pero sin limitarse, el uso de correlacionadores de ventana deslizante. El periodo de muestra del estimador de canal 11 debe ser menor o igual que 2 C, donde Tc es la duración de un período de chip. Por ejemplo, si se utiliza un sincronizador de puerta temprana-tardía ("early-late gate") para el estimador de error de temporización 16, entonces el estimado de error de temporización inicial debe estar confinado a un rango -Tc a Tc. De otra manera, el error de temporización puede estar fuera de rango y el algoritmo puede fallar al operar. No obstante, esta invención no está limitada a un sincronizador de puerta temprana-tardía, y puede utilizarse cualquier otro estimador de error de temporización 16. En este último caso, puede utilizarse un periodo de muestra diferente para el estimador de canal. Al utilizar un estimador de canal 11 con un período de muestra menor que 2TC, el error inicial en la ubicación de la trayectoria está limitado al rango -Tc a Tc. La unidad de post-procesamiento 12 estima la señal y la potencia de ruido en comparación con un umbral de ruido . Una vez completado el post-procesamiento, se identifican todas las trayectorias que tienen el nivel de potencia sobre el umbral de ruido. La ubicación de . estas trayectorias intensas a tiempo es denominada fase de código inicial 22. La más intensa de estas trayectorias puede ser utilizada sola, o puede utilizarse un conjunto de trayectorias sobre un umbral determinado como en una estructura de receptor tipo RAKE. Un receptor tipo RAKE es muy útil en un entorno de canal de trayectoria múltiple dado que hace un uso eficiente de la diversidad de tiempo del canal . En el caso que tiene la trayectoria más intensa seleccionada, solamente existe un seguidor de código 10, incluyendo un interpolador 14 y un control de interpolador 18. Para un receptor tipo RAKE, debe haber un seguidor de código 10 dedicado a cada trayectoria utilizada. En ese caso, sin embargo, el estimador de canal 11 y la unidad de postprocesamiento 12 serán comunes a todos los seguidores de código utilizados. Al aplicar la fase de código inicial 22 para una sola trayectoria desde la unidad de post-procesamiento 12 hasta el generador de código 13, comienza la sincronización de temporización. Para cada seguidor de código 10 de un receptor tipo RAKE, un generador de código 13 produce un código de referencia para la temporización básica, que funciona como un reloj . La fase de código inicial 22 ajusta el desplazamiento de temporización inicial del generador de código 13 en múltiplos de chips simplemente avanzando o retardando en tiempo el código de referencia que se está generando. Una vez completada la corrección inicial, el generador de código 13 es solamente controlado por el comando de desplazamiento de código 28 proveniente del control de interpolador 18. La fase de código inicial 22 solamente es aplicada bajo dos circunstancias: la primera vez, se activa el receptor, y en cualquier momento, la potencia de señal cae por debajo de un umbral de ruido. El desplazamiento de código 28 es un comando de desplazamiento de un chip generado por el controlador de interpolador 18 en una dirección de avance o de retardo. Una vez completada la corrección inicial, el estimado de error de temporización del peor de los casos es confinado a un rango de período de - Tc a Tc. El bucle de realimentación de interpolador 35 para el seguidor de código 10, que comprende el interpolador 14, el muestreador de reducción 15, el estimador de error de temporización 16, el filtro de bucle 17, el controlador de interpolador 18 y el cuantificador 19, será explicado ahora en mayor detalle. El bucle de realimentación de interpolador 35 impulsa la señal de estimado de error de temporización 24 a un valor cercano a cero, e impulsa el estimado de retardo 25 hacia la duración de retardo real. El interpolador 14 desplaza la señal recibida a tiempo matemáticamente con una cantidad igual al estimado de retardo fraccionario cuantificado 29, recibido desde el cuantificador 19. La señal de salida desde un interpolador ideal es representada por la Ecuación 1: («) = x(n+<í}" £x(n-m)Sfrtc(m+á),
Ecuación 1 donde n es un índice de tiempo entero, x(n) es la señal recibida sobre-muéstreada 21, ¿¿ representa el estimado de retardo fraccionario cuantificado 29, y la función Sinc está definida como : sin [nx) Sínc(x) = ¦ . nx Ecuación 2
Para la iteración inicial a través del bucle de realimentación de interpolación 35, el estimado de retardo fraccionario cuantificado 29 es reseteado a cero, lo que da como resultado la señal recibida que pasa a través del interpolador 14 sin modificar. Con respecto a la operación del interpolador 14 y a la formulación del estimado de retardo fraccionario cuantificado 29 (es decir, el valor c ) , a continuación se establece una descripción más detallada con referencia a la segunda y demás iteraciones de bucle de realimentación de interpolación 35. El muestreador de reducción 15 reduce la velocidad de sobre-muéstreo de la señal recibida 21 en un factor de sobre-muestreo L una vez procesado por el interpolador 14. El seguidor de código 10 con el interpolador 14 puede ser aplicado a un receptor que opera a una velocidad de muestreo de cualquier valor entero de L mayor o igual que uno. El rango óptimo para la velocidad de muestreo a la que el seguidor de código '10 puede realizar un ajuste de temporización es 1 < L = 8. El caso L = 1 corresponde a sin sobre-muéstreo . Si por otro lado, la velocidad de muestreo se correlaciona con un valor entero L = 8, el error- de temporización se reduce a un valor en el orden de 1/16 Ta, por lo cual la contribución de la unidad del interpolador 14 es reducida significativamente, y un simple desplazamiento de muestra a través del muestreador de reducción 15 comienza a ser suficiente por sí mismo. No obstante, dado que altas velocidades de sobre-muestreo tales como L = 8 dan como resultado un consumo de potencia extra de los recursos de receptor, resulta ventajoso operar a velocidades de muestreo menores y realizar el seguimiento de código con un seguidor de código 10 de acuerdo con la FIGURA 1. El muestreador de reducción 15 convierte la velocidad de muestreo a la frecuencia de chip, de manera tal que en la salida del muestreador de reducción 15, el período de la velocidad de muestreo Ts equivale al periodo de la frecuencia de chip Tc. Por lo tanto, la salida del muestreador de reducción 15 puede ser representada por z (n) de la siguiente manera : z (n) = y(L - n + k) Ecuación 3
donde k es un número entero que representa el punto base 26 del muestreador de reducción 15. Por ejemplo, para una señal sobre -muestreada con un factor de velocidad de muestreo L = 4, el período de la velocidad de muestreo anterior al muestreador de reducción 15 es Ts = Tc¡L = T0¡ , si bien después del muestreo de reducción, es Ts = Tc. Inicialmente , el punto base 26 es reseteado a cero. La derivación del valor k será explicada más adelante con referencia a las Ecuaciones 6a y 6b. La salida del muestreador de reducción 15 es la señal de salida corregida de tiempo 23 para ser procesada en forma adicional por el receptor de la WTRU. La unidad de medición de potencia 20 procesa la salida 23 y envía las mediciones de potencia de la señal al estimador de canal 11 como una entrada para localizar las ubicaciones aproximadas de cada trayectoria a tiempo para el canal de trayectoria múltiple. Para refinar la temporización, la salida 23 del muestreador de reducción 15 también continúa a través del bucle de realimentación de interpolación 35 del seguidor de código 10, al estimador de error de temporización 16, donde el error de temporización de la señal de entrada es medida y enviada como estimado de error de temporización 24.· El estimador de error de temporización 16 puede operar de acuerdo con una variedad de algoritmos de estimación de error de temporización conocidos . La forma de realización preferida emplea un sincronizador de puerta temprana-tardía. Después, un filtro de bucle 17 recibe estimado de error de temporización 24 para producir un estimado de retardo 25. La selección del tipo de filtro de bucle 17 depende de las condiciones de canal. No obstante, la invención no está limitada al filtro de bucle en particular que se está utilizando. Preferentemente, el filtro de bucle 17 es un filtro de primero o de segundo orden. Como ejemplo", un filtro integrador proporcional (PI) conocido es utilizado como filtro de bucle 17. En forma alternativa, se utiliza un filtro auto-regresivo (AR) de primer orden como filtro de bucle 17. La FIGURA 2 muestra una configuración preferible para filtro de bucle 17, que comprende un filtro PI de segundo orden 50, un acumulador 56, y un multiplicador invertido 57. El filtro PI 50 comprende un integrador 51, que incluye un multiplicador 52 y un acumulador 53, un multiplicador 54 y un sumador 55. Los multiplicadores 52 y 54 aplican constantes a y b, respectivamente a la entrada del estimado de error de temporización 24, que se divide en la entrada del filtro PI 50. La entrada del estimado de error de temporización 24 está integrada por el integrador 51, al tiempo que es multiplicada por la constante b' en paralelo con el integrador 51. Las salidas en paralelo son sumadas por el sumador 55 para producir la salida del filtro PI . Después, la salida del filtro PI es acumulada por el acumulador 56 y procesada por el multiplicador 57 con una constante -c. La inversión de signo de la constante c en el multiplicador 57 resulta en la corrección de la temporización en dirección opuesta para compensar el estimado de error de temporización 24 en la señal, útil para un sistema de realimentación negativa como la mostrada por la FIGURA 1. Según el orden del filtro de bucle 17, el seguidor de código 10 puede incluir un bucle de realimentación de un primero, un segundo orden o incluso de un orden superior. La salida del multiplicador 57 es un estimado de retardo 25. El estimado de retardo de salida 25 del filtro de bucle 17 está representado por Td de la siguiente manera:
Td - -#(TJ , Ecuación 4
donde Te es el estimado de error de temporización 24 del estimador de error de temporización 16, y es un operador lineal. El estimado de retardo 25 es pasado al control de interpolador 18 para un procesamiento adicional.
El controlador de interpolador 18 tiene dos funciones principales: regular el rango de estimado de retardo 25 y minimizar los coeficientes de interpolador. En primer lugar, con respecto a mantener el estimado de retardo 25 dentro del rango operativo para la velocidad del seguidor de código 10, el rango operativo depende de la selección particular del estimador de error de temporización 16. Por ejemplo, para un estimador de error de temporización 16 tipo sincronizador de puerta temprana-tardía, el período de muestreo de rango operativo se limita de Tc a Te. Existen dos formas de limitar la desviación de temporización de señal al rango operativo del estimador de error de temporización 16. Primero, esto puede lograrse desplazando el punto base 26 del muestreador de reducción 15 a tiempo proporcional al estimado de retardo 25. No obstante, esto corresponde a cambiar el comienzo del cuadro para todo el receptor. Esto solamente puede realizarse si solo existe una trayectoria de transmisión directa al receptor Sin embargo, en un entorno de trayectoria múltiple, es preferible desplazar el generador de código 13, del seguidor de código 10 dedicado a la trayectoria en cuestión, en dirección opuesta del estimado de retardo.25. Independiente de la implementación del estimador de error de temporización 16, se mide el estimado de error de temporización 24 de la señal recibida 21 con respecto al código de referencia en el receptor, que es producido por el generador de código 13. El control de interpolador 18 monitorea el estimado de retardo 25 y siempre que esté fuera de un rango determinado, desplaza el generador de código 13 en la dirección opuesta. Dado que el ' generador de código 13 está operando a una frecuencia de chip con un período Tc, la cantidad mínima del desplazamiento es igual a la duración del chip, es decir, Tc. Por lo tanto, es preferible realizar un desplazamiento de código 28 siempre que el estimado de retardo 25 pase a ser d > Tc/2 o Td < - T 2. En Las implementaciones actuales del sistema de comunicación, el retardo relativo de la trayectoria entre la estación base y el receptor WTRU móvil puede cambiar con el correr del tiempo. Principalmente, esto puede ocurrir por las siguientes razones. Primero, el movimiento de un receptor WTRU móvil puede dar - como resultado un cambio en el estimado de retardo 25 a tiempo. Para un receptor WTRU móvil que se mueve a una velocidad constante, existe un cambio de primer orden en el error de temporización. Una segunda razón consiste en las diferencias de frecuencia del oscilador local entre una estación base y un receptor WTRU móvil. Esto también da como resultado un cambio de primer orden en el estimado de retardo 25. Estos dos efectos son acumulativos. No obstante, los cambios de error de temporización no se limitan a cambios de primer orden. Para el seguidor de código 10 que tiene cambios de N orden, el controlador de interpolador 18 es capaz de seguir cambios de N-l orden, de ser necesario, y realizar desplazamientos de código siempre que sea necesario . Las decisiones de desplazamiento de código tomadas por el seguidor de ' código 10, son sólidas, a pesar de las condiciones de canal de evanescencia y de la relación señal a ruido (SNR) . Para eliminar las operaciones de desplazamiento de código de oscilación debido a ruido e interferencia, se emplea una simple lógica de histéresis. Las FIGURAS 3A y 3B muestran diagramas de temporización del estimado de retardo 25 que cambian respecto de la deriva del oscilador y un movimiento de la WTRU móvil de velocidad constante. Los desplazamientos de tiempo dan como resultado una estructura en forma de onda similar a los dientes de un serrucho debido a desplazamientos de tiempo periódicos para un retardo de tiempo linealmente cambiante. De acuerdo con lo' mostrado por la FIGURA 3A, el estimado de retardo 25 aumenta linealmente. Las transiciones pico se producen en un desplazamiento de código 28, donde en el pico Fc/2 + ?, se implementa un desplazamiento de código 28 en una dirección negativa para compensar el estimado de retardo creciente 25. A la inversa, en la FIGURA 3B, un estimado de retardo linealmente decreciente 25 es compensado por un desplazamiento de código positivo 28. Aunque las FIGURAS 3A y 3B representan un cambio lineal de retardo de tiempo 25, cabe destacar que el seguidor de código 10 no está restringido a cambios lineales en el estimado de retardo 25, pero si opera para cualquier tipo de cambio en las actualizaciones del estimado de retardo 25. El desplazamiento de código 28 se lleva a cabo en ambas direcciones, ya sea con retardo o avance, de acuerdo con lo explicado con anterioridad. Según lo mostrado por las FIGURAS 3A y 3B, se utiliza un pequeño valor arbitrario de ? (por ejemplo, 0.05 Tc) para evitar un comportamiento oscilatorio alrededor de los puntos de desplazamiento de código 25. Después de que se produce el despl zamiento de código 28, el nuevo valor estimado de retardo 25, que es utilizado por el controlador de interpolador 18, es descubierto de la siguiente manera: Td = Td - Tc sgn [ Td] , Ecuación 5-A donde sg [ . ] indica. la dirección de desplazamiento de código 28 (es decir, positivo, negativo o ninguno) , y se define como :
Ecuación 5-B Respecto de la segunda función del controlador de interpolador 18 para minimizar coeficientes, se optimiza la interpolación actual con dimensión finita para lograr un mínimo de error. Recordar que el interpolador ideal en la Ecuación 1 tiene un número infinito de coeficientes y como tal no puede realizarse en una implementación. Los coeficientes óptimos de interpolador para un interpolador de dimensión finita se obtienen a través de un algoritmo de optimización, como es MMSE, para minimizar el error de aproximación. Esto es descrito en los párrafos siguientes en mayor detalle. No obstante, el error de aproximación debido a un interpolador de dimensión finita puede ser aún más reducido al minimizar el estimado de retardo fraccionario 27 lo más posible. Por lo tanto, el controlador de interpolador 18 está configurado para lograrlo. El estimado de retardo 25 posterior al procesamiento del desplazamiento de código, puede ser expresado como:
Ecuación 6-A
donde k se define de la siguiente manera:
Ecuación 6-B
La operación [x] representa el mayor número entero en x. El valor de Je corresponde al número de duraciones de muestra sobre muestreadas que existen en Td ¦ lo tanto, un retardo o avance de k Ts corresponde a un desplazamiento simple de la señal de entrada sobre-muéstreada en una cantidad igual a k muestras. Este desplazamiento se logra fácilmente desplazando el punto base 26 del muestreador de reducción en un número entero k de acuerdo con lo mostrado en la Ecuación 3. Después del desplazamiento del punto base 26, el desplazamiento de tiempo restante es igual a :
T^Ti-k-T.-a-T,. Ecuación 7
Dado que el interpolador 14 es normalizado a la velocidad de muestreo de Ts, el valor que va al interpolador 14 es el estimado de retardo fraccionario 27 una vez cuantificado (es decir, & ) . Asimismo, es importante advertir que después de descomponer el estimado de retardo 25 (es decir, el valor Td de la Ecuación 6a y el valor k de la Ecuación 6b) , el estimado de retardo fraccionario 27 está limitado al rango de -1 < a < 1. Esta limitación del rango mantiene el mínimo de estimado de retardo fraccionario 27 y logra el error de interpolación reducido deseado . Para ilustrar la operación del controlador de interpolador 18, se presenta el siguiente ejemplo. Se supone que el estimado de error de temporización filtrado 25 es Td = 0.64 Tc Y la velocidad de sobre-muestreo es L = 4. Por lo tanto, la velocidad de muestreo es Ts = Tc/L = rc/4. De acuerdo con las Ecuaciones 5a y 5b, se requiere un desplazamiento de código 28, y por ello, el estimado de retardo desplazado de código 25 es Ta = 0.64 Tc-Tc = -0.36 Tc. De la Ecuación 6b, el punto base 26 es J = -1, y de la Ecuación 6a, el estimado de retardo fraccionario 27 es a = -0.44. El cuantificador 19 es la última etapa restante del bucle de realimentación de interpolación 35. El estimado de retardo fraccionario 27 es cuantificado (es decir, discretizado) por el cuantificador 19 antes de ser utilizado por el interpolador. El cuantificador 19 es útil para limitar el cálculo de los coeficientes de interpolador de manera que evita el cálculo cada vez que se actualiza el estimado de retardo 25. El cuantificador 19 comprende una tabla de consulta para almacenar coeficientes de interpolador previamente calculados que se correlacionan con un conjunto de valores de estimado de retardo fraccionario cuantificado disponibles. Esta tabla de consulta reduce la complej idad de cálculo de la interpolación y también aumenta la velocidad de procesamiento . El cuantificador 19 determina un número de niveles para cuantificar el estimado de retardo fraccionario en base a la precisión de temporización requerida y a la velocidad de sobre-muestreo L. La precisión de temporización requerida para un ajuste de temporización es Tc/Q, donde Q es un número entero positivo. Se deduce que el tamaño del paso de cuantificación necesario es 2TC/Q. Para la velocidad de sobre-muestreo de L, esto corresponde a niveles de cuantificación Q/L para el rango -1 < o¡ < 1. Por ejemplo, para Q = 32 y L = 4, la precisión de temporización requerida para un ajuste de tempor zación es Tc/16, y el cuantificador 19 tiene Q/L = 8 niveles. Entonces, si el estimado de retardo fraccionario 27 es = -0.44 de acuerdo con el ejemplo anterior, el retardo cuantificado sería determinado a partir de la selección del valor equivalente más cercano de la tabla de consulta en el cuantificador 19. Dado que este es un cuantificador de nivel 8, los valores disponibles son del siguiente conjunto de estimados de retardo fraccionario cuantificados : [-1, -0.75, -0.5, -0.25, 0.25, 0.5, 0.75, 1] (el valor 0 no es utilizado dado que no da como resultado ninguna interpolación). Dado que -0.44 es más cercano a -0.5, el estimado de retardo fraccionario cuantificado seleccionado 29 es entonces & = -0.5, que es pasado al interpolador 14. Después de la iteración inicial del bucle de realimentación de interpolación 35, la operación de interpolación y estimación de retardo es repetida continuamente para realizar el seguimiento de los cambios en el error de temporización. Volviendo al interpolador 14, ahora se describirá la interpolación finita de la Ecuación 1, incluyendo el interpolador 14 que procesa un estimado de retardo fraccionario cuantificado 29 donde t 0, a diferencia de cuando el interpolador 14 procesa inicialmente la señal recibida 21. De acuerdo con lo observado en la Ecuación 1, la interpolación ideal es una suma de longitud infinita. Para una implementación eficiente de interpolador, debe realizarse una suma finita de la Ecuación 1. La Ecuación 8a siguiente muestra esta representación finita de salida ¿' de esta manera:
+ ?x{n ~m)ha (n) mr-U¡ Ecuación 8-A
donde ha{n) representa coeficientes de interpolador, derivados de la siguiente manera:
ha-(n) = Sinc (m + á) Ecuación 8-B
La respuesta de frecuencia de un interpolador ideal, que es un filtro de longitud infinita, es la siguiente:
[ 0, de ota forma Ecuación 9
Un error de señal de salida E { ? ) es definido como la diferencia entre la salida de interpolador ideal y la representación finita del interpolador de la siguiente manera:
E (á) = x (n '+ a) - x(n + a) Ecuación 10
Los coeficientes ha{n) de un interpolador FIR óptimo son determinados al minimizar la Ecuación 11, siguiente, para todos los valores (X posibles para el estimado de retardo fraccionario cuantificado 29. El método de optimización utilizado es un procedimiento de mínimo error cuadrático media (MMSE) . Dado que el ancho de banda F = ?/2p de interés es menor que l/(2Ts), al aplicar la relación de Parseval a la Ecuación 10, se obtiene:
Ecuación 11 Ecuación 11 es representativa de una versión MMSE de un filtro FIR, que es el tipo preferible de interpolador para interpolador 14. La Ecuación 11 tiene varias soluciones diferentes. Como ejemplo, puede utilizarse el método Fletcher-Powell para resolver la Ecuación 11. Cabe destacar que las formas de realización de la invención no están limitadas a ninguna solución en particular de la Ecuación 11. El error mínimo E( ? ) se logra si [Mi = M) y [M2 = M-l) son seleccionados para un número total de 2M coeficientes. Con los coeficientes encontrados a partir de la Ecuación 12, puede representarse un interpolador FIR óptimo de MMSE 14 a través de la siguiente ecuación:
Ecuación 12 De acuerdo con los conocimientos de los expertos en el arte, los coeficientes de interpolador son simétricos alrededor de CC = 0.5, que puede expresarse como:
hn-o0 (m) = ha-(-m - 1) Ecuación 13
Dado que no es posible resolver la Ecuación 11 en tiempo real, la Ecuación 11 es resuelta previamente para todos los valores (X posibles, y los coeficientes predeterminados son almacenados en la tabla de consulta del cuantificador 19. Esto da como resultado una tabla de consulta de entradas de números reales de tamaño M {{Q/L) -2), donde Q/L es el número de niveles de cuantificador . No obstante, dado que ¿C = 0 no da como resultado ninguna interpolación, queda excluida de la tabla de consulta del cuantificador 19. Al utilizar la propiedad simétrica de la Ecuación 13, el tamaño de la tabla de consulta puede ser reducido a la mitad a M {{Q/L) -2) ¡1 números reales. En forma alternativa, de acuerdo con la estructura de interpolador implementada, como es un interpolador polinominal, puede omitirse una tabla de consulta y ser reemplazada por cálculo en tiempo real. En la implementación, existen 2 números de coeficientes h &{n) para M > 1, según el error de interpolación que puede proveerse. Por ejemplo, un diseño de seguidor de código para un receptor de TRU móvil compatible con FDD tipo 3GPP, que incluye un sincronizador de puerta temprana-ta día, con un sobre-muestreo de dos veces (L=2) , y un filtro de bucle de segundo orden que incluye un filtro PI en cascada con un acumulador de acuerdo con lo mostrado por la FIGURA 2, da como resultado M=2 o un total de cuatro coeficientes por cada nivel de cuantificador . Para una precisión requerida de Tc/16, (es decir, G>=16) , el número de niveles de cuantificador utilizado es ocho . Al optimizar la interpolación de acuerdo con la presente invención, se logran resultados favorables al reducir eficientemente el error de temporizacion a pesar de utilizar un número limitado de coeficientes. Aunque la invención ha sido descrita con referencia a canales evanescentes de trayectoria múltiple y receptores tipo RAKE, la misma no debe ser interpretada como limitada a estas aplicaciones. Formas de realización alternativas de seguidor de código 10 incluyen, pero sin limitarse, tener un interpolador comprendido entre los siguientes tipos: interpolador FIR polinominal, interpolador lineal, e interpolación de Lagrange.