Parece que ya tengo buenos resultados para altas frecuencias (precisión de 0.01 ppm)
Esta serie mide la frecuencia de oscilación del cristal de cuarzo del microcontrolador comparado con el oscilador OCXO como base de tiempos.
Como puede verse, la exactitud es bastante buena porque el cristal ya está afinado con una capacidad a medida.
(La frecuencia es el último número que indica 10,0000 MHz)
Time= 000000011988468 Pulses= 000000009990389 f= 10,0000017 M
Time= 000000023992451 Pulses= 000000019993710 f= 10,0000018 M
Time= 000000035988467 Pulses= 000000029990392 f= 10,0000018 M
Time= 000000047988465 Pulses= 000000039990392 f= 10,0000018 M
Time= 000000059988473 Pulses= 000000049990401 f= 10,0000019 M
Time= 000000071988470 Pulses= 000000059990400 f= 10,0000018 M
Time= 000000083988465 Pulses= 000000069990398 f= 10,0000019 M
Time= 000000095988465 Pulses= 000000079990400 f= 10,0000019 M
Time= 000000107988471 Pulses= 000000089990407 f= 10,0000019 M
Time= 000000119988468 Pulses= 000000099990406 f= 10,0000019 M
Time= 000000131988468 Pulses= 000000109990408 f= 10,0000019 M
Time= 000000143988470 Pulses= 000000119990412 f= 10,0000020 M
Time= 000000155988470 Pulses= 000000129990414 f= 10,0000019 M
Time= 000000167988467 Pulses= 000000139990413 f= 10,0000019 M
Time= 000000179988467 Pulses= 000000149990415 f= 10,0000019 M
Time= 000000191988467 Pulses= 000000159990417 f= 10,0000019 M
Time= 000000203988467 Pulses= 000000169990419 f= 10,0000019 M
Time= 000000215988468 Pulses= 000000179990422 f= 10,0000019 M
Time= 000000227988465 Pulses= 000000189990421 f= 10,0000019 M
Time= 000000239988466 Pulses= 000000199990424 f= 10,0000020 M
Time= 000000251988479 Pulses= 000000209990437 f= 10,0000020 M
Time= 000000263988465 Pulses= 000000219990427 f= 10,0000019 M
Time= 000000275988470 Pulses= 000000229990433 f= 10,0000019 M
Time= 000000287988465 Pulses= 000000239990431 f= 10,0000020 M
Time= 000000299988465 Pulses= 000000249990433 f= 10,0000020 M
Time= 000000311988470 Pulses= 000000259990439 f= 10,0000019 M
Time= 000000323988465 Pulses= 000000269990437 f= 10,0000020 M
Time= 000000335988465 Pulses= 000000279990439 f= 10,0000019 M
Time= 000000347988469 Pulses= 000000289990444 f= 10,0000020 M
Time= 000000359988470 Pulses= 000000299990447 f= 10,0000020 M
Time= 000000371992447 Pulses= 000000309993763 f= 10,0000019 M
Time= 000000383992447 Pulses= 000000319993765 f= 10,0000020 M
Time= 000000395992447 Pulses= 000000329993767 f= 10,0000020 M
Time= 000000407992447 Pulses= 000000339993769 f= 10,0000020 M
Time= 000000419988470 Pulses= 000000349990457 f= 10,0000020 M
Time= 000000431992447 Pulses= 000000359993773 f= 10,0000020 M
Time= 000000443988470 Pulses= 000000369990461 f= 10,0000020 M
Time= 000000455988470 Pulses= 000000379990463 f= 10,0000020 M
Time= 000000467988469 Pulses= 000000389990464 f= 10,0000020 M
Time= 000000479988475 Pulses= 000000399990471 f= 10,0000020 M
Time= 000000491988469 Pulses= 000000409990468 f= 10,0000020 M
Time= 000000503992448 Pulses= 000000419993786 f= 10,0000020 M
Time= 000000515988469 Pulses= 000000429990472 f= 10,0000020 M
Time= 000000527988465 Pulses= 000000439990471 f= 10,0000020 M
Time= 000000539988465 Pulses= 000000449990473 f= 10,0000020 M
Time= 000000551988470 Pulses= 000000459990479 f= 10,0000020 M
Time= 000000563988465 Pulses= 000000469990477 f= 10,0000020 M
Time= 000000575988470 Pulses= 000000479990483 f= 10,0000020 M
Time= 000000587988465 Pulses= 000000489990481 f= 10,0000020 M
Time= 000000599988465 Pulses= 000000499990483 f= 10,0000020 M
Time= 000000611988470 Pulses= 000000509990489 f= 10,0000020 M
Time= 000000623988473 Pulses= 000000519990494 f= 10,0000021 M
Time= 000000635988465 Pulses= 000000529990489 f= 10,0000020 M
Time= 000000647988473 Pulses= 000000539990498 f= 10,0000020 M
Time= 000000659988473 Pulses= 000000549990500 f= 10,0000020 M
Time= 000000671988465 Pulses= 000000559990495 f= 10,0000020 M
Time= 000000683990795 Pulses= 000000569992439 f= 10,0000020 M
Time= 000000695988468 Pulses= 000000579990502 f= 10,0000021 M
La frecuencia del reloj con PLL es Fosc = 48 Mhz
La frecuencia del oscilador externo OCXO es de 10Mhz
La salida muestra una medida de frecuencia cada segundo.
La precisión de medida es de 0.01 ppm.
La precisión de 0.01 ppm se consigue promediando las diez últimas tomas de datos. Cada segundo se hace media entre las diez últimas medidas realizadas.
El filtro es de tipo FIR (finite Impulse Response) que significa que se toma la media de las diez últimas mediciones guardadas en un Buffer. Pasados 10 segundos se pierde toda memoria de la frecuencia anterior.
Saludos.