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.