[time-nuts] Homebrew frequency counter, need help
Tom Van Baak
tvb at LeapSecond.com
Thu Nov 27 11:20:59 EST 2014
Your project sounds wonderful. The TDC-GP22 has been mentioned only a few times over the years and I keep waiting for someone to post actual results from this chip, or better yet -- schematics, photos, and source code.
You counter looks more like a 10 digits/second, not 11. Attached are ADEV/TDEV plots of your 71 10s data points.
Do not necessarily assume that 10 s measurements are more precise than 1 s measurements. It depends on the REF and DUT. When you are at the flicker floor of an oscillator additional averaging makes no difference. And if there is drift, additional averaging actually makes the precision worse.
One suggestion is not to output discrete gated frequency measurements, but instead output continuous phase difference measurements. That way the host software (for example PC running John's TimeLab program) can manage the data stream, simultaneously delivering phase, frequency, and ADEV plots.
/tvb
----- Original Message -----
From: "lllaaa" <lllaaa at gmail.com>
To: <time-nuts at febo.com>
Sent: Thursday, November 27, 2014 6:08 AM
Subject: [time-nuts] Homebrew frequency counter, need help
> Hi guys,
> I've just get my homebrew counter working. And the resolution seems 10x
> better than my RACAL DANA 1992.
> This counter is heavily inspired by the idea from Kasper Pedersen.
> http://n1.taur.dk/permanent/frequencymeasurement.pdf
> STM32F051RB & EMP240T100C5 do the control and counting job. TDC-GP22 as
> the interpolator. Linear regression is done by CPU.
> There are no fancy analog front for both signal path and refclk path.
> I'm using two SN75ALS176 and the schmitt input of CPLD to do the job.
> I've noticed that the 10s gate does not get more meaningful
> digits(looks worse than 1s gate). So here are the questions:
> 1) I'm wondering if I could say this is an 11 digits/s counter?
> 2) How can I improve that? Is it limited by the 485 transceiver? I can
> switch to a faster MCU, that gets more measures per second, but I think
> that only gets no more than 2 stable bits.
>
>
>
> Rb clock as ref, trimble GPSDO (the old bigger one) as the signal to
> measure:
> gate=1s #=9039 freq=10.000000005 MHz
> gate=1s #=9040 freq=10.000000004 MHz
> gate=1s #=9041 freq=10.000000003 MHz
> gate=1s #=9041 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9041 freq=10.000000004 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9041 freq=10.000000004 MHz
> gate=1s #=9040 freq=10.000000005 MHz
> gate=1s #=9040 freq=10.000000002 MHz
> gate=1s #=9041 freq=10.000000004 MHz
> gate=1s #=9040 freq=10.000000004 MHz
> gate=1s #=9039 freq=10.000000004 MHz
> gate=1s #=9040 freq=10.000000004 MHz
> gate=1s #=9039 freq=10.000000004 MHz
> gate=1s #=9040 freq=10.000000004 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9038 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9038 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9038 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000004 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9038 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9040 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9038 freq=10.000000003 MHz
> gate=1s #=9038 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9038 freq=10.000000003 MHz
> gate=1s #=9039 freq=10.000000003 MHz
> gate=1s #=9038 freq=10.000000003 MHz
>
>
> gate=10s #=90132 freq=10.00000000341 MHz
> gate=10s #=90337 freq=10.00000000334 MHz
> gate=10s #=90333 freq=10.00000000317 MHz
> gate=10s #=90324 freq=10.00000000409 MHz
> gate=10s #=90315 freq=10.00000000353 MHz
> gate=10s #=90320 freq=10.00000000478 MHz
> gate=10s #=90321 freq=10.00000000480 MHz
> gate=10s #=90315 freq=10.00000000530 MHz
> gate=10s #=90304 freq=10.00000000362 MHz
> gate=10s #=90372 freq=10.00000000347 MHz
> gate=10s #=90386 freq=10.00000000404 MHz
> gate=10s #=90383 freq=10.00000000409 MHz
> gate=10s #=90368 freq=10.00000000474 MHz
> gate=10s #=90366 freq=10.00000000435 MHz
> gate=10s #=90370 freq=10.00000000426 MHz
> gate=10s #=90365 freq=10.00000000381 MHz
> gate=10s #=90364 freq=10.00000000541 MHz
> gate=10s #=90364 freq=10.00000000504 MHz
> gate=10s #=90363 freq=10.00000000469 MHz
> gate=10s #=90369 freq=10.00000000088 MHz
> gate=10s #=90351 freq=10.00000000216 MHz
> gate=10s #=90355 freq=10.00000000250 MHz
> gate=10s #=90357 freq=10.00000000309 MHz
> gate=10s #=90346 freq=10.00000000366 MHz
> gate=10s #=90344 freq=10.00000000397 MHz
> gate=10s #=90343 freq=10.00000000350 MHz
> gate=10s #=90339 freq=10.00000000378 MHz
> gate=10s #=90336 freq=10.00000000374 MHz
> gate=10s #=90330 freq=10.00000000457 MHz
> gate=10s #=90322 freq=10.00000000439 MHz
> gate=10s #=90314 freq=10.00000000387 MHz
> gate=10s #=90318 freq=10.00000000319 MHz
> gate=10s #=90328 freq=10.00000000343 MHz
> gate=10s #=90313 freq=10.00000000443 MHz
> gate=10s #=90314 freq=10.00000000157 MHz
> gate=10s #=90287 freq=10.00000000321 MHz
> gate=10s #=90377 freq=10.00000000425 MHz
> gate=10s #=90366 freq=10.00000000403 MHz
> gate=10s #=90372 freq=10.00000000366 MHz
> gate=10s #=90371 freq=10.00000000391 MHz
> gate=10s #=90379 freq=10.00000000359 MHz
> gate=10s #=90376 freq=10.00000000378 MHz
> gate=10s #=90364 freq=10.00000000318 MHz
> gate=10s #=90374 freq=10.00000000288 MHz
> gate=10s #=90368 freq=10.00000000411 MHz
> gate=10s #=90364 freq=10.00000000366 MHz
> gate=10s #=90362 freq=10.00000000377 MHz
> gate=10s #=90354 freq=10.00000000335 MHz
> gate=10s #=90359 freq=10.00000000278 MHz
> gate=10s #=90354 freq=10.00000000317 MHz
> gate=10s #=90353 freq=10.00000000323 MHz
> gate=10s #=90348 freq=10.00000000348 MHz
> gate=10s #=90348 freq=10.00000000369 MHz
> gate=10s #=90338 freq=10.00000000306 MHz
> gate=10s #=90335 freq=10.00000000329 MHz
> gate=10s #=90336 freq=10.00000000299 MHz
> gate=10s #=90329 freq=10.00000000340 MHz
> gate=10s #=90326 freq=10.00000000399 MHz
> gate=10s #=90333 freq=10.00000000307 MHz
> gate=10s #=90312 freq=10.00000000321 MHz
> gate=10s #=90320 freq=10.00000000316 MHz
> gate=10s #=90323 freq=10.00000000361 MHz
> gate=10s #=90311 freq=10.00000000539 MHz
> gate=10s #=90306 freq=10.00000000184 MHz
> gate=10s #=90326 freq=10.00000000335 MHz
> gate=10s #=90389 freq=10.00000000373 MHz
> gate=10s #=90365 freq=10.00000000362 MHz
> gate=10s #=90376 freq=10.00000000360 MHz
> gate=10s #=90377 freq=10.00000000389 MHz
> gate=10s #=90385 freq=10.00000000364 MHz
> gate=10s #=90371 freq=10.00000000366 MHz
>
>
> WAVE Factory NF1946A(0.01uHz resolution, but no refclk in!!!!!!)
> CH2 10MHz as refclk and CH1 9.87654321012345 MHz as signal:
> with reciprocal method, I get almost 7 stable digits
> with the help of interpolator, I get 7 stable + 2 = almost 9 stable digits
> with the help of linear regression, 9 stable + 2 = almost 11 stable digits.
> gate=1s #=9039 linear=9.8765432100 MHz Interpolated=9.876543210
> Reciprocal=9.8765433
> gate=1s #=9040 linear=9.8765432103 MHz Interpolated=9.876543217
> Reciprocal=9.8765427
> gate=1s #=9040 linear=9.8765432101 MHz Interpolated=9.876543213
> Reciprocal=9.8765434
> gate=1s #=9038 linear=9.8765432102 MHz Interpolated=9.876543211
> Reciprocal=9.8765431
> gate=1s #=9040 linear=9.8765432102 MHz Interpolated=9.876543209
> Reciprocal=9.8765430
> gate=1s #=9039 linear=9.8765432101 MHz Interpolated=9.876543210
> Reciprocal=9.8765425
> gate=1s #=9039 linear=9.8765432100 MHz Interpolated=9.876543207
> Reciprocal=9.8765430
> gate=1s #=9040 linear=9.8765432102 MHz Interpolated=9.876543213
> Reciprocal=9.8765429
> gate=1s #=9039 linear=9.8765432101 MHz Interpolated=9.876543212
> Reciprocal=9.8765426
> gate=1s #=9040 linear=9.8765432102 MHz Interpolated=9.876543203
> Reciprocal=9.8765436
> gate=1s #=9039 linear=9.8765432102 MHz Interpolated=9.876543201
> Reciprocal=9.8765437
> _______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lllaaa-1.gif
Type: image/gif
Size: 56836 bytes
Desc: not available
URL: <http://www.febo.com/pipermail/time-nuts/attachments/20141127/52691c61/attachment-0002.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lllaaa-2.gif
Type: image/gif
Size: 54180 bytes
Desc: not available
URL: <http://www.febo.com/pipermail/time-nuts/attachments/20141127/52691c61/attachment-0003.gif>
More information about the time-nuts
mailing list