Media de contador de frecuencia recíproca

2

He diseñado un circuito contador de frecuencia de alta precisión. Lo estoy usando para medir una frecuencia de alrededor de 35kHz que es estable a 0.1mHz. Puedo medir la frecuencia con un sistema de investigación Stanford SR620 y los únicos dígitos que cambian son 0.000XXX. Mi contador de frecuencia varía en aproximadamente 1Hz con la misma señal. El SR620 utiliza algún tipo de cálculo de la media para proporcionar un resultado más preciso. Estoy buscando aprender a hacer lo mismo.

Cómo funciona el circuito

Hay dos contadores. Un contador de cuenta regresiva y un contador de cuenta regresiva. El contador de cuenta regresiva se carga con la frecuencia base (o la frecuencia de entrada perfecta esperada) multiplicada por el tiempo de muestreo en segundos. El contador de cuenta regresiva disminuye en cada período de la entrada de 35 kHz. El contador de conteo ascendente cuenta una señal de 2 GHz, mientras que la cuenta regresiva cuenta hasta cero. El contador de conteo ascendente se detiene cuando el contador de cuenta regresiva llega a cero.

Luego frecuencia = (frecuencia base * tiempo de muestra en segundos) / (contador de conteo ascendente / 2GHz) o (conteo de inicio de contador de cuenta regresiva) / (contador de conteo ascendente / 2GHz)

Mi circuito utiliza un chip PLL bloqueado en un OCXO de 10ppb a 100MHz para generar una señal de 2GHz. Usando una salida de 1pps de estándares de rubidio, mi contador tiene una precisión de 2,000,000,000 + -15 para una lectura de 1 segundo. Necesito poder leer una señal de 35 kHz y tener una precisión de 100 Hz para una lectura de 1 segundo. La señal de 35 kHz puede variar hasta 31 kHz y hasta 39 kHz, pero mis lecturas no se realizan mientras la frecuencia está cambiando.

¿Qué tipo de cálculo haría que estas lecturas sean más precisas? ¿Alguien sabe de un recurso que lo explique?

Mi solución

Mi problema terminó siendo una lógica de circuito para un problema de software. Mi desviación estándar pasó de 1Hz a 100uHz después de la corrección. No necesitaba modificar mi firmware matemático.

    
pregunta ozziwald

5 respuestas

1

Un contador simple recíproco debe dar una resolución de F-Clock / T-Measurement. es decir, 0,0035Hz / segundo con reloj de 10MHz. Una foto / avr debe lograr esto con un simple recuento recíproco con sus registros de captura de temporizador.

Eso es lo que debes lograr.

Sus mediciones deben ser coherentes para que la precisión aumente de manera lineal, es decir, el contador de captura debe estar ejecutándose continuamente para contar desde N hasta M múltiples bordes de la señal de entrada. Si promedia mediciones incoherentes, la precisión solo aumenta en sqrt ()

hace mucho tiempo usaron un interpolador analógico (rampa lineal y muestreadores) para ir entre la resolución de reloj e, g para agregar una resolución de 3 dígitos Ej. 100M reloj = 11 dígitos / segundo

Para frecuencias estables o casi conocidas, puede mezclar y luego medir el período de la frecuencia de batido. esto aumenta la resolución dramáticamente, de hecho hasta el límite de la varianza del ruido de fase / allen de la fuente del reloj, incluso simplemente usando una UP normal como el contador

    
respondido por el Henry Crun
1

No sé cómo lo hace el SR620, pero así es como sugiero hacerlo.

Supongamos que desea al menos 10 lecturas por segundo. Divida la frecuencia 35000 +/- por aproximadamente 3500. Tal vez elija 4096 o 2048, diga el último. Eso le da una ventaja cada 58.514285714 ms, dividiendo por 2 ^ n donde n = 11.

Use eso con un reloj razonable, digamos Fosc = 25MHz. Tendrá 1462857 relojes por ciclo, que le brindarán una resolución de 6 dígitos sólida a una frecuencia de muestreo de 17Hz. Si necesitas más resolución, aumenta n o Fosc. Si aumenta y reduce la frecuencia de muestreo, por supuesto. Si aumenta Fosc, la lógica tiene que trabajar más rápido y la nitidez de los bordes de su 35kHz se vuelve más importante.

Para obtener la frecuencia medida F a partir del número de relojes k,

F = \ $ \ frac {F_ {OSC} \ cdot 2 ^ n} {k} \ $

Veo que ha agregado la frecuencia del reloj a su pregunta: a 2 GHz, los bordes de la señal de entrada deben ser muy nítidos, el comparador muy rápido, el voltaje de referencia y la amplitud de la señal muy estables, etc. para obtener el máximo beneficio De la alta frecuencia de reloj.

    
respondido por el Spehro Pefhany
1

Dada una base de tiempo estable, un intervalo de lectura deseado igual a N ciclos de esa base de tiempo, y una señal de entrada estable cuya frecuencia es igual a al menos el doble de la frecuencia de lectura, uno puede medir la frecuencia de manera relativamente fácil con una fracción de incertidumbre de 3 / N.

Cada vez que se produce un impulso de entrada, muestre la hora y la cantidad de impulsos que se han producido hasta la fecha. En cada intervalo de lectura, capture el tiempo muestreado y cuente los valores. Divide la diferencia en los recuentos por la diferencia en el tiempo, y esa será la frecuencia. Para cualquier señal cuya frecuencia sea mayor que algún entero K veces la frecuencia de lectura, el intervalo que se mide será al menos (K-1) / (K + 1) del intervalo de lectura. En el peor de los casos en que la frecuencia de entrada está justo por debajo de 3 veces la frecuencia de lectura, el intervalo será un poco más de 1/3 del período de lectura.

    
respondido por el supercat
0

Aquí hay un documento de Arxiv que debería ser útil. Ofrece una descripción general de la medición de frecuencia de precisión y luego propone una nueva Método de medición basado en estadísticas mejoradas.

Del papel:

  

La resolución más alta se obtiene midiendo fracciones de   Periodo de reloj con un interpolador adecuado. Sencillo y preciso.   Los interpoladores funcionan solo a frecuencia fija. El más ampliamente   Las técnicas utilizadas se describen a continuación. Sorprendentemente, todos   Son bastante antiguas y cuentan con resolución de rango de picosegundos.

    
respondido por el crj11
0

HP usó interpolación de almacenamiento de carga analógica en una bestia de contador de pulsos de tiempo recíproco en la década de 1960. Los transistores eran 2N5179.

    
respondido por el analogsystemsrf

Lea otras preguntas en las etiquetas