¿Cómo puedo mantener mi sinusoide en fase con su entrada después del filtrado?

2

Una sección de un circuito con el que estoy trabajando hace que una sinusoide de una onda cuadrada pase a través de un filtro de octavo orden ( MAX293 ). Hasta ahora, todo estaba bien, pero hace poco me dijeron que la entrada (onda cuadrada) y la salida (sinusoide) tienen que estar en fase. Debido al LPF, agrega un cambio de fase y debido a que la frecuencia de entrada es variable (0-5 kHz), el cambio de fase también es variable.

¿Cómo puedo mantenerlos en fase para toda la región de frecuencia en la que operan? ¿Qué debería estar mirando?

    
pregunta efox29

2 respuestas

2

Tiene dos opciones aparte del PLL (que pueden o no cumplir con sus requisitos: inevitablemente habrá retrasos entre la entrada y la salida si la frecuencia cambia, mientras que el PLL se ajusta a la nueva frecuencia. Dados los comentarios, un PLL capaz de rastrear hasta 0.1Hz será una gran bestia para hacerlo bien)

1) Retrasa la señal de entrada de la misma manera que el filtro retrasa la salida.

Esto es más fácil si el filtro es un filtro de fase lineal como un Bessel, o puede usar filtros digitales como un filtro FIR y un retardo digital correspondiente.

No es imposible de lo contrario: puede diseñar un "ecualizador de retardo de grupo" de "todas las redes de paso", con las mismas características de retardo (respuesta de fase) que el filtro. Sin embargo, después de esto, la onda cuadrada generalmente ya no será un cuadrado. ola. Si eso importa o no, no puedo decirlo, no conozco la aplicación.

Dado un filtro de fase lineal, el ecualizador de retardo de grupo debe ser relativamente simple y preservar la onda cuadrada.

2) Generar una forma de onda desde la otra sin filtrar.

Es posible generar una forma de onda triangular a partir de un cuadrado por integración (esto genera un cambio de fase de 90 grados, por lo que es posible que necesite generar dos ondas cuadradas en cuadratura). Desde el triángulo, puede usar una red no lineal (resistencias y diodos, como un "clipper suave") para aproximarse a una onda sinusoidal. Mejor es posible que sea posible un 2% de contenido armónico: vea el "ICL8038" para un ejemplo antiguo de esta técnica . Esto solo funciona bien si la amplitud de onda cuadrada es constante.

Pero es mucho más simple generar un cuadrado a partir de un seno, si su aplicación lo permite ...

    
respondido por el Brian Drummond
0

Si está utilizando un filtro simétrico, la fase no debería cambiar. Sin embargo, para filtros no simétricos (por ejemplo, Butterworth) necesita ejecutar el filtro dos veces para recuperar la fase. Una vez en los datos originales (esto cambiaría la fase), luego en los datos filtrados pero en orden inverso (esto cambia la fase de nuevo al original), es decir:

  1. filter_data (1: N) = Filtro (datos (1: N))
  2. samePhase_filtered_data = Filter (filter_data (N: 1))
  3. samePhase_filtered_data_rightOrder = samePhase_filtered_data (N: 1)
respondido por el Zahra

Lea otras preguntas en las etiquetas