Author Topic: Time standards: How accurate is GPS modules?  (Read 6248 times)

0 Members and 1 Guest are viewing this topic.

Offline technixTopic starter

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Time standards: How accurate is GPS modules?
« on: November 16, 2016, 08:39:01 pm »
I have a GPS module based on u-blox 6010 chipset. How accurate would its PPS signal be? I am running a Stratum 1 NTP server disciplined by the PPS output of that module and backed by a DS3231 TCXO RTC chip on one of my Raspberry Pi.

(You can test it with ntp.maxchan.info, but I cannot guarantee accuracy yet.)
« Last Edit: November 16, 2016, 08:44:40 pm by technix »
 

Online edavid

  • Super Contributor
  • ***
  • Posts: 3383
  • Country: us
 
The following users thanked this post: Tom45

Offline kc8apf

  • Regular Contributor
  • *
  • Posts: 103
  • Country: us
Re: Time standards: How accurate is GPS modules?
« Reply #2 on: November 17, 2016, 03:28:26 am »
My memory is fuzzy. Depending on interrupt latency, you should be able to get within 50ns to 10us of the PPS period. You'd need to check the PPS offset reported by the receiver to see how closely the PPS is aligned with the actual GPS second edge. When I was playing with this a few months ago, I found chrony to have fairly detailed stats of PPS quality including jitter, etc. Tracking down delays in the PPS path can be really tricky so getting absolute accuracy against GPS is hard.

Sent from my Nexus 5X using Tapatalk

 

Offline technixTopic starter

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Time standards: How accurate is GPS modules?
« Reply #3 on: November 18, 2016, 08:41:01 pm »
My memory is fuzzy. Depending on interrupt latency, you should be able to get within 50ns to 10us of the PPS period. You'd need to check the PPS offset reported by the receiver to see how closely the PPS is aligned with the actual GPS second edge. When I was playing with this a few months ago, I found chrony to have fairly detailed stats of PPS quality including jitter, etc. Tracking down delays in the PPS path can be really tricky so getting absolute accuracy against GPS is hard.

Sent from my Nexus 5X using Tapatalk
Well since my module is a general purpose one instead of a receiver designed to provide a reference clock, and I have to run it inside gpsd on the Pi, there is no way to check the PPS accuracy.
 

Offline kc8apf

  • Regular Contributor
  • *
  • Posts: 103
  • Country: us
Re: Time standards: How accurate is GPS modules?
« Reply #4 on: November 18, 2016, 08:58:23 pm »
chrony is an alternative to ntpd that can be integrated with gpsd.

Sent from my K88 using Tapatalk

 

Offline technixTopic starter

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Time standards: How accurate is GPS modules?
« Reply #5 on: November 18, 2016, 09:12:16 pm »
chrony is an alternative to ntpd that can be integrated with gpsd.

Sent from my K88 using Tapatalk
Can it accept PPS signal from elsewhere than gpsd? On Raspberry Pi the traditional PPS-on-Serial connection doesn't work as there is no flow control pins, instead pps-gpio is used to use the GPIO infrastructure and related interrupts to drive PPS.
 

Offline kc8apf

  • Regular Contributor
  • *
  • Posts: 103
  • Country: us
Re: Time standards: How accurate is GPS modules?
« Reply #6 on: November 18, 2016, 09:21:25 pm »
chrony is an alternative to ntpd that can be integrated with gpsd.

Sent from my K88 using Tapatalk
Can it accept PPS signal from elsewhere than gpsd? On Raspberry Pi the traditional PPS-on-Serial connection doesn't work as there is no flow control pins, instead pps-gpio is used to use the GPIO infrastructure and related interrupts to drive PPS.
Yes. You add a pps reference and link it to the GPS source. I ended up not using gpsd at all in my system. I wrote a spare daemon that speaks Ublox UBX and feeds the time samples directly to chrony via a socket reference source. PPS was handled via an FPGA that delivered an interrupt which had a driver that feed into kpps in the kernel.

Sent from my K88 using Tapatalk

 

Offline nfmax

  • Super Contributor
  • ***
  • Posts: 1560
  • Country: gb
Re: Time standards: How accurate is GPS modules?
« Reply #7 on: November 18, 2016, 09:23:14 pm »
Everything you could ever want to know about using a Raspberry Pi as a GPS-locked ntp server:

http://satsignal.eu/raspberry-pi/index.html
 
The following users thanked this post: cdev

Offline technixTopic starter

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Time standards: How accurate is GPS modules?
« Reply #8 on: November 18, 2016, 09:57:04 pm »
Everything you could ever want to know about using a Raspberry Pi as a GPS-locked ntp server:

http://satsignal.eu/raspberry-pi/index.html
I followed some of the notes there to build the server actually...

(And I do want to build the NTP-enabled wall clock too, just not using Raspberry Pi - I want to implement it using Arduino with ESP8266-based Wi-Fi.)
 

Offline bitseeker

  • Super Contributor
  • ***
  • Posts: 9057
  • Country: us
  • Lots of engineer-tweakable parts inside!
Re: Time standards: How accurate is GPS modules?
« Reply #9 on: November 19, 2016, 01:53:30 am »
(And I do want to build the NTP-enabled wall clock too, just not using Raspberry Pi - I want to implement it using Arduino with ESP8266-based Wi-Fi.)

I look forward to seeing that, technix. I recently picked up one of the inexpensive Ublox-based modules and have several ESP8266 lying around.
TEA is the way. | TEA Time channel
 

Offline technixTopic starter

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Time standards: How accurate is GPS modules?
« Reply #10 on: November 19, 2016, 11:37:51 am »
1PPS output is accurate for both normal GPS module and special timing GPS modules.
However, GPS modules designed for timing purpose has a more stable crystal clock source in it, so short term (in ns range) noise on 1PPS is lower, which is crucial if you plan to lock another oscillator with this 1PPS output.
If it just goes into an SBC and is only used to keep time, then any 1PPS output will work equally as well.
What if I am trying to syncing a 32768Hz oscillator to the GPS module?

On a design of mine I have a GPS module, a DS3231 and an ATmega328P all connected to the Pi. The ATmega is clocking its Timer 1 on the 32768Hz from the DS3231 while interrupting on the PPS, allowing some algorithm on the ATmega to calibrate the DS3231 against the GPS.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf