Obtención de la frecuencia de una señal desde su fase

1

¿Cómo puedo obtener la frecuencia en tiempo real de una señal desde su ángulo de fase del codificador? El codificador nos da una onda triangular de (0-2 * pi). Si uso la derivación, obtengo una discontinuidad que provoca picos.

Gracias.

    
pregunta Ahmed Abrous

4 respuestas

1

Debe contar cuánto avanza la fase en un período de tiempo determinado. En cuanto a las discontinuidades, solo agregue 2 * pi cada vez que obtenga un salto hacia abajo.

    
respondido por el Austin
0

Estoy de acuerdo. La frecuencia está en el dominio del tiempo. Debe considerar la frecuencia de muestreo o el período en términos reales. Hay dos momentos durante cada ciclo durante los cuales la derivada (pendiente) será cero. Son el pico negativo y el pico positivo. Puede capturar el intervalo entre los dos. Eso es la mitad del período que es 1 / (el doble de la frecuencia).

Podría estar perdiendo el tiempo. Simplemente no sé qué tienes para jugar con el PLL.

    
respondido por el Jeff Stokes
0

Parece que su señal es más o menos periódica, pero el período puede variar lentamente con el tiempo. Definir una "frecuencia instantánea" es sensato en este caso. Puede medir el período promedio \ $ T \ $ durante un largo tiempo de muestreo \ $ \ tau \ $. Entonces la "frecuencia" es igual a \ $ 1 / T \ $ durante ese tiempo de muestreo. Estoy usando comillas alrededor de la palabra "frecuencia" porque, en realidad, el dominio de frecuencia solo se define de manera directa en un período de tiempo infinito.

Entonces, lo que realmente necesitas hacer es medir el período. Normalmente, no intenta medir el período tomando el derivado, por las razones que ya descubrió.

En hardware, el enfoque estándar es usar un comparador + contador para contar el número de cruces cero en un intervalo de tiempo dado. La señal debe estar acoplada en CA al comparador con una frecuencia de esquina de paso alto que es mucho más baja que la frecuencia de la señal. El comparador también debe tener una histéresis de entrada adecuada para evitar el rebote inducido por el ruido. Si alimenta el comparador desde \ $ \ pm 5 \ $ V, puede generar un pulso TTL por período, que puede ser contado por el contador digital.

Durante un tiempo de muestreo \ $ \ tau \ $ acumulará \ $ N \ $ conteos en el contador. La "frecuencia" es entonces igual a \ $ N / \ tau \ $. Tenga en cuenta que necesitará algún tipo de reloj externo para indicar la duración de su tiempo de muestreo \ $ \ tau \ $! Después de cada \ $ \ tau \ $, por supuesto, necesita restablecer el contador.

En el software, todo es un poco más simple, simplemente imita la descripción del hardware anterior. Sin embargo, aún debe saber la velocidad de reloj de su ADC para encontrar \ $ \ tau \ $.

    
respondido por el Dave Kielpinski
0

Aquí hay un detector de picos:

yestoesloquehace:

Como puede ver, emite impulsos de alta velocidad que se producen con precisión separados por radianes.

El tiempo entre pulsos, entonces, corresponde a la mitad del período (dos veces la frecuencia) del diente de sierra, por lo que todo lo que hay que hacer para determinar la frecuencia del diente de sierra es determinar ese tiempo, multiplíquelo por dos para obtener el Todo el período, y tomar su recíproco. O bien, mida el tiempo entre cada otro pulso (que es lo mismo que dividir por dos) y tome su recíproco. El último método sería más preciso que el anterior porque ignoraría la histéresis entre pulsos sucesivos.

    
respondido por el EM Fields

Lea otras preguntas en las etiquetas