¿Cambio de fase controlado por voltaje?

0

Quiero construir un circuito de corrección de errores de fase en tiempo real para corregir el error de grado de fase de un bucle de realimentación para evitar la oscilación. Para esto necesito un cambio de fase controlado electrónicamente para frecuencias entre 10 hz y 20 kHz. Quiero que simplemente desplace la fase de toda la señal de entrada completamente intacta. ¿Se puede hacer esto?

    
pregunta coinmaster

2 respuestas

2

Si solo desea un retardo ajustable (el cambio de fase varía en función de la frecuencia), utilice un búfer en anillo de muestras digitales. Con 20 kHz siendo el límite de frecuencia superior, necesita muestrear al menos a 40 kHz. Sin embargo, 100 kHz sería mejor y dejaría más espacio para que funcionen los filtros analógicos externos.

La frecuencia de interés más baja es 10 Hz, que tiene un período de 100 ms. Como pregunta por el "cambio de fase", podemos inferir que 100 ms es, por lo tanto, el límite superior de retardo. A una frecuencia de muestreo de 100 kHz y hasta 100 ms de retraso, necesita un búfer que pueda contener muestras de 10 k. Esa cantidad de RAM es fácil de encontrar en muchos microcontroladores con mucho espacio de sobra. Puede usar 16 kWords de 16 bits cada uno, por ejemplo.

El resto es firmware bastante simple. Las muestras se escriben en el búfer circular a una velocidad fija de 100 kHz. También selecciona una muestra del búfer a la misma velocidad, pero el desplazamiento desde la posición de entrada a la posición de salida varía sobre la marcha según el tiempo de retardo que intenta alcanzar.

La frecuencia de muestreo de 100 kHz significa 10 µS por muestra. Eso le da 700 ciclos de instrucción por muestra para un dsPIC que se ejecuta en 70 MIP, por ejemplo. Eso es mucho más de lo necesario para esto. Si desea que la demora sea controlada por un voltaje, entonces ejecutará el voltaje en una entrada A / D. También se puede muestrear a 100 kHz y aún así no acercarse a los 700 ciclos / presupuesto de muestra.

    
respondido por el Olin Lathrop
0

El enfoque habitual que se usa en cosas como los transmisores de bucle cartesiano es tomar la señal de realimentación como un par analítico I / Q (o hacer una transformada de hilbert para obtener esa forma) y luego multiplicar por un punto en el círculo unitario Correspondiente a la rotación deseada, fácil.

Difícil de hacer en un ancho de banda amplio con partes analógicas porque un cambio de 90 de banda suficientemente ancha es complicado (filtro de celosía grande con muchos, muchos componentes de precisión, radioaficionados lo hacen a más de 300 - 3kHz para el SSB del "método de eliminación de fases", pero añadiendo dos décadas hace para una gran red), un DSP pequeño o FPGA que ejecuta una transformada de hilbert y un complejo multiplicador de planos es mucho más fácil y repetible.

Saludos, Dan.

    
respondido por el Dan Mills

Lea otras preguntas en las etiquetas