Seguimiento FPGA CDMA

Considere un transmisor CDMA usando DSSS que está en movimiento con respecto al receptor (satélite). Supongamos que el código PN está sincronizado dentro de un chip, es decir, se ha completado la adquisición. ¿Cómo se implementa actualmente el seguimiento de código en los FPGA?

Lo que me gustaría hacer es usar un PLL para sincronizar con el reloj del chip del satélite. La teoría es maximizar la correlación cruzada dirigiendo el PLL. Sin embargo, parece que no puedo modificar el detector de fase dentro del PLL en los FPGA en las partes de Altera.

Lo que puedo pensar es:

  1. Usar PLL externo
  2. Use un PLL totalmente digital con un NCO (tiene un error de cambio de fase finito)
  3. Encuentre un FPGA que tenga PLL internos con la capacidad de usar un PD personalizado
  4. Implemente un PLL interno fuera de la lógica FPGA y tenga un VCO y un filtro externos
  5. Tener un lazo de control que modifica los contadores PLL

Entonces, ¿qué se usa generalmente para un sistema de este tipo hoy en día? ¿Alguna nota de la aplicación sobre el tema?

Solo para estar seguro, ¿quiere desensancharse en el dominio analógico, antes de muestrear? En el dominio digital sería complicado, porque su reloj de generación de código (dirigido) es asíncrono a la frecuencia de muestreo. No puedo decir lo que se usa generalmente , uso un suboficial y se difunde en el dominio digital. Si elige cuidadosamente la frecuencia de muestreo para evitar golpes, puede eliminar el error residual.
@Andreas No, quiero desmerecerme en el dominio digital. Quiero generar un reloj que tenga la misma velocidad que el reloj de chip en el receptor + el desplazamiento Doppler. Entonces puedo tener un registro de desplazamiento alimentando el código PN. No había pensado en la frecuencia de muestreo. Puedo ver cómo eso puede ser un problema.

Respuestas (1)

Se deben considerar diferentes relojes y tarifas:

  1. La tasa de chip (recibida) de la señal (alterada por doppler)
  2. La tasa de muestreo
  3. Los relojes en los que se ejecuta su FPGA.

diseños sincrónicos de señal

Su propuesta de usar el PLL interno requeriría ejecutar parte de la lógica FPGA (el generador de código) con una relación de fase fija con la tasa de chip recibida (que es variable para un receptor/transmisor en movimiento). Dado que desea modular este código en la señal recibida, el proceso de muestreo también debería tener una fase fija en los chips. Combinar señales de diferentes dominios de reloj en un mezclador es imposible (a menos que emplee conversión de frecuencia de muestreo, ni siquiera piense en esto).

Entonces, básicamente, todo se fija en la tasa de chip. Me atrevo a decir que esta no es una configuración común , ya que la mayoría de los sistemas tienen restricciones de tiempo adicionales, por ejemplo, para las interfaces de memoria, y los receptores GNSS necesitan rastrear más de una señal.

osciladores controlados numéricamente

Para ser independiente de la tasa de chip variable observada, debe emplear un oscilador controlado numéricamente. Este oscilador puede funcionar con la frecuencia de muestreo o con el reloj FPGA. Ejecutarlo en la frecuencia de muestreo facilita las cosas ya que solo hay un error de reloj local.

Es posible que desee asegurarse de que la fracción entre la frecuencia de muestreo y la frecuencia de chip no sea un armónico de orden bajo. De hecho, los tonos espurios no se pueden evitar por completo, pero la consideración del ruido de cuantificación y sus armónicos y el efecto en su señal pueden salvarle el día. Fractional-N es imprescindible, el tramado puede ayudar.

Me atrevo a decir que esta es una configuración muy común .

opcional: reloj FPGA >> frecuencia de muestreo

Puede tener la tentación de ejecutar la lógica FPGA en el reloj ADC. Esto facilita módulos simples ya que hay datos válidos en cada ciclo de reloj. Sin embargo, esto generalmente solo funciona para una parte de su diseño. Si tiene un filtro diezmador, su tasa de símbolos será más baja después de ese filtro y la señalización asíncrona (Avalon ST) es obligatoria.

El uso de un diseño asíncrono (con reloj lógico > frecuencia de muestreo) desde el comienzo de su ruta de señal le brinda un valor adicional:

  1. Puede multiplexar en el tiempo parte de su ruta de señal.
  2. Puede detener o reconfigurar el ADC sin poner el FPGA en espera.
  3. Se evita la dependencia implícita del reloj para su HDL, lo que facilita su comprensión.