Good day everyone, I ran a few additional tests to figure this issue out. The first test involved using one GPS antenna for both units. I found that while phase coherence was better in general, there was still a fair bit of disagreement between them. I then tried to use the 1PPS from one GPSDO as reference to the other one, and looked at the 10 MHz from each unit on a scope. There was a fixed phase offset between both 10 MHz signals +- 5-8 ns of error. Which means that even if I gave an error-free PPS as reference the oscillators would *still* not be in enough agreement for my application. Which in turn means implementing a PTP system would be pointless as well.
On a somewhat related note, does anyone know why the F9T modules only give 2.5 ns of timing accuracy? RTK GPS has 1 cm RMS of positioning error which should theoretically be 33 ps in timing. Where does the 2.5 ns error come from? On Wed, Mar 9, 2022 at 3:26 PM Mattia Rizzi <mattia.ri...@gmail.com> wrote: > Hi > The timestamping in a real implementation should be done in the FPGA or on > a SoC integrated in the FPGA. Since you have a SDR you could implement a > timestamping core. > This timestamping core takes the samples from the ADC and calculates the > time of arrival relative to the sampling clock. > If you have already a datalink between the drone and the base station, you > can use the symbol of the data layer, in that way you can have a lot of > freedom in the implementation of the sync algorithm. > > >Since there is some > non-deterministic computational overhead, you need to take several such > measurements and calculate what the mean time of flight would be and > correct the offsets accordingly. Is that correct? Please let me know if I > am wrong because I really need to fix this issue. > > No, in an actual implementation it's deterministic. > You're receiving a frame, the timestampjng core gives you a timestamp for > each symbol. If you use 802.15.4-CSS, which has 4 MHz chirps as symbol, you > can get down to 0.5ns RMS noise *for each symbol* (SNR of around 15 dB), > indeed if you make an average with more symbols you can get better results, > but there's a limit on how many timestamps you can average (mainly depends > on the stability of you sampling clock). > > You can run a simple protocol like a stripped down version of PTP, and if > you're able to embed it into layer 1 (you've an SDR, you can do it) then > it's for free, and you can get a high synchronization rate for free. You > can also get two-way ranging for free. > > Il Mer 9 Mar 2022, 19:23 Krishna Makhija <km...@virginia.edu> ha scritto: > > > Hello Mattia, > > > > Thanks for the paper. Please correct me if I understood wrong, but it > seems > > like you are calculating the time of flight between timestamped signals > to > > synchronize two spatially separated clocks. Since there is some > > non-deterministic computational overhead, you need to take several such > > measurements and calculate what the mean time of flight would be and > > correct the offsets accordingly. Is that correct? Please let me know if I > > am wrong because I really need to fix this issue. > > > > How would it work if one of the units was moving relative to the other? I > > am going to have one of these on a drone and flying around. I admit I > never > > looked too deep into NTP/PTP but I always figured there would be a > constant > > variability owing to the steady motion. With GPSDOs as others have > pointed > > out, there are further errors induced due acceleration (vibrations on a > > piezoelectric cause sinusoidal frequency errors), and temperature changes > > (the drone rover unit will see more airflow as compared to the base > unit), > > but as of now I am trying to make sure I can get it to work with that > > notwithstanding at least. > > > > P.S. The Mini-JLT < > > https://www.jackson-labs.com/index.php/products/mini_jlt> > > is designed for drones. It has a special mode where it updates its > position > > in real-time. There is also a gyro with a Kalman filter running on a > > real-time operating system which is supposed to reduce the effect of > > vibrations. It does not eliminate that effect entirely but it does > mitigate > > it by a factor of 10. > > > > On Mon, Mar 7, 2022 at 2:11 PM Mattia Rizzi <mattia.ri...@gmail.com> > > wrote: > > > > > Hi, > > > You can definitely get sub-ns precision using a 4-8 MHz bandwidth > > wireless > > > protocol. You are not limited by the sampling period. In my previous > > work I > > > used 802.15.4-CSS (chirp based modulation), implemented by me in a SDR. > > The > > > sampling rate was 32 ns but with crosscorrelation and sample > > interpolation > > > you can get down to half ns precision (1 sigma) > > > > > > See: > > > > > > > > > https://www.researchgate.net/publication/261329724_Timestamping_and_ranging_performance_for_IEEE_802154_CSS_systems > > > > > > > > > > > > > > > > > > Il giorno lun 7 mar 2022 alle 19:39 Krishna Makhija < > km...@virginia.edu> > > > ha > > > scritto: > > > > > > > Thanks Mattia. What did you use for your Layer 1? I need to place one > > of > > > > the SDRs on a drone and one on the ground so a fiber or LAN cable is > > > out. I > > > > could use WLAN but can you get sub-nanosecond performance over wi-fi? > > My > > > > initial guess would be no but I am not certain. > > > > > > > > Michael: I've had the same question but I can't see how it could > > > > possibly "know" its own frequency error/uncertainty. What would it > > > > reference to? I'll try asking the manufacturer anyway. > > > > > > > > Regards, > > > > Krishna > > > > > > > > On Mon, Mar 7, 2022 at 11:46 AM Mattia Rizzi <mattia.ri...@gmail.com > > > > > > wrote: > > > > > > > > > Hello Krishna, > > > > > what is your end application? How far away are those boards? > > > > > If each SDR can communicate to each other, you can run PTP over an > > > ad-hoc > > > > > Layer 1. > > > > > I was able to get timestamps out of a 2.4 GHz chirp-based protocol > > with > > > > > less than 0.5ns RMS noise and two-way ranging error down to 10-20 > > > > > centimeters, using two SDR. > > > > > > > > > > > > > > > cheers > > > > > > > > > > Il giorno dom 6 mar 2022 alle ore 23:48 Krishna Makhija < > > > > > km...@virginia.edu> > > > > > ha scritto: > > > > > > > > > > > Hello Tom, > > > > > > > > > > > > Yes, the GPSDOs are working well. However, when I use each as a > > > > reference > > > > > > to a separate radio, I find there is a slow phase change over > time > > > > > between > > > > > > said radios. I imagine this is expected since there will always > be > > > some > > > > > > error between two discrete oscillators. However, I am hoping to > use > > > the > > > > > PPS > > > > > > and FEE metadata to compute what the phase *should* have been in > > > > > > post-processing. So far, it is not working out for me. I am > > wondering > > > > if > > > > > > that is even possible or if my math is just wrong. > > > > > > > > > > > > Bob, > > > > > > > > > > > > The SDRs have an LO running at 150 MHz (~6.66 ns) so a PPS wander > > of > > > +- > > > > > 10 > > > > > > ns is >360 deg. With a common-mode reference I see a small phase > > > change > > > > > (+- > > > > > > 3-4 deg) but that is not an option for my application. > > > > > > > > > > > > Where does the PPS offset come from? Isn't it from the > positioning > > > > error? > > > > > > Typical GPS receivers have 1-3 m of positioning error which > should > > > give > > > > > > you +- 10 ns. Why is this a "dream" performance? It should be > > > expected > > > > > from > > > > > > any modern GPS receiver. > > > > > > > > > > > > Thanks for your inputs so far. > > > > > > > > > > > > Krishna > > > > > > > > > > > > On Sun, Mar 6, 2022 at 4:30 PM Bob kb8tq <kb...@n1k.org> wrote: > > > > > > > > > > > > > Hi > > > > > > > > > > > > > > They *are* phase coherant to within 360 * 100/ 10 = 36 degrees. > > You > > > > > > > can get them to *maybe* ten degrees with this and that done > here > > or > > > > > > there. > > > > > > > > > > > > > > If you want them within a degree, no you can’t do that directly > > > with > > > > > GPS. > > > > > > > If your definition of phase coherent is zero degrees, a pair of > > > > SDR’s > > > > > > off > > > > > > > the > > > > > > > same buffered clock will have issues with that definition in > the > > > real > > > > > > > world > > > > > > > of temperature wandering around ….. > > > > > > > > > > > > > > Bob > > > > > > > > > > > > > > > On Mar 6, 2022, at 2:04 PM, Krishna Makhija < > > km...@virginia.edu> > > > > > > wrote: > > > > > > > > > > > > > > > > Hi Bob, > > > > > > > > > > > > > > > > I am currently getting +- 10 ns nominal. The antennas are > > > currently > > > > > > > almost > > > > > > > > next to each other (roughly 1-2 inches apart). Yes, they > should > > > be > > > > > > > outside > > > > > > > > of each of their farfield zones. Here is the PPS offset I am > > > seeing > > > > > > > during > > > > > > > > measurement: > > > > > > > > [image: image.png] > > > > > > > > And this is the frequency error I am seeing: > > > > > > > > [image: image.png] > > > > > > > > Overall, the GPSDOs seem to work pretty well. But the > question > > > > still > > > > > > > > remains if one can hope to get them to be phase coherent, > > either > > > in > > > > > > > > real-time or in post-processing. > > > > > > > > > > > > > > > > Jeremy: I bought these items by writing to them. I chose to > > > place a > > > > > > > > purchase order (since I did it through my organization), but > > you > > > > > might > > > > > > be > > > > > > > > able to order by talking to them directly and paying using a > > > credit > > > > > > card. > > > > > > > > > > > > > > > > On Sun, Mar 6, 2022 at 1:51 PM Bob kb8tq <kb...@n1k.org> > > wrote: > > > > > > > > > > > > > > > >> Hi > > > > > > > >> > > > > > > > >> How close are you trying to get? > > > > > > > >> > > > > > > > >> How far apart are the GPSDO’s? > > > > > > > >> > > > > > > > >> A “run of the mill” number would be out around 100 ns. A > > “pretty > > > > > good” > > > > > > > >> number is in the 20 ns range. A “crazy good” number would > be 2 > > > ns. > > > > > To > > > > > > > >> do better than this, you likely would need to go to a more > > > exotic > > > > > > > >> configuration > > > > > > > >> on the GPSDO. > > > > > > > >> > > > > > > > >> Bob > > > > > > > >> > > > > > > > >>> On Mar 6, 2022, at 12:55 PM, Krishna Makhija < > > > km...@virginia.edu > > > > > > > > > > > > wrote: > > > > > > > >>> > > > > > > > >>> Hello, > > > > > > > >>> > > > > > > > >>> I am new to the whole precision time-keeping game (and to > > this > > > > > > mailing > > > > > > > >>> list) so I apologize in advance if my question is too naive > > or > > > > has > > > > > > been > > > > > > > >>> answered already in your mailing list. > > > > > > > >>> > > > > > > > >>> Is it possible to have two separate GPSDOs, each with their > > own > > > > > > > antennas, > > > > > > > >>> be phase coherent to each other? I have a Jackson-Labs Fury > > > > > > > >>> <https://www.jackson-labs.com/index.php/products/fury> > and a > > > > > > Mini-JLT > > > > > > > >>> <https://www.jackson-labs.com/index.php/products/fury>. I > am > > > > using > > > > > > > each > > > > > > > >> to > > > > > > > >>> provide a 10 MHz reference to two separate software-defined > > > > radios > > > > > > > >> (SDRs). > > > > > > > >>> In my tests I find that the phase offset between said SDRs > > has > > > a > > > > > slow > > > > > > > >>> time-varying behavior. I know the frequency errors of the > > > GPSDOs > > > > > are > > > > > > of > > > > > > > >> the > > > > > > > >>> order of parts per trillion which will show up as slow > > > > time-varying > > > > > > > phase > > > > > > > >>> offsets but I was hoping to use the PPS offsets and > > > instantaneous > > > > > > > >> frequency > > > > > > > >>> errors that I get from these modules (using SCPI commands) > to > > > be > > > > > able > > > > > > > to > > > > > > > >>> "back out" or predict what that time-varying phase offset > > would > > > > be. > > > > > > Is > > > > > > > >> such > > > > > > > >>> a thing possible? Currently, the time-varying phase change > > does > > > > not > > > > > > > seem > > > > > > > >> to > > > > > > > >>> follow any discernible pattern and my attempts at backing > out > > > the > > > > > > phase > > > > > > > >>> change do not match my measurements. > > > > > > > >>> > > > > > > > >>> Here is the math I am using for calculating what I *think > > *the > > > > > phase > > > > > > > >>> *should* be: > > > > > > > >>> [image: image.png] > > > > > > > >>> [image: image.png] > > > > > > > >>> > > > > > > > >>> [image: image.png] > > > > > > > >>> Does any of this seem sensible? Any input is appreciated. > > > > > > > >>> > > > > > > > >>> TL;DR: Trying to get phase coherence between two separate > > > GPSDOs > > > > > may > > > > > > > not > > > > > > > >> be > > > > > > > >>> possible but can you use PPS offsets and frequency errors > > > > metadata > > > > > to > > > > > > > >>> correct for it in post? > > > > > > > >>> > > > > > > > >>> Regards, > > > > > > > >>> Krishna > > > > > > > >>> > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > <image.png><image.png><image.png>_______________________________________________ > > > > > > > >>> time-nuts mailing list -- time-nuts@lists.febo.com -- To > > > > > unsubscribe > > > > > > > >> send an email to time-nuts-le...@lists.febo.com > > > > > > > >>> To unsubscribe, go to and follow the instructions there. > > > > > > > >> _______________________________________________ > > > > > > > >> time-nuts mailing list -- time-nuts@lists.febo.com -- To > > > > > unsubscribe > > > > > > > send > > > > > > > >> an email to time-nuts-le...@lists.febo.com > > > > > > > >> To unsubscribe, go to and follow the instructions there. > > > > > > > > > > > > <image.png><image.png>_______________________________________________ > > > > > > > > time-nuts mailing list -- time-nuts@lists.febo.com -- To > > > > unsubscribe > > > > > > > send an email to time-nuts-le...@lists.febo.com > > > > > > > > To unsubscribe, go to and follow the instructions there. > > > > > > > _______________________________________________ > > > > > > > time-nuts mailing list -- time-nuts@lists.febo.com -- To > > > unsubscribe > > > > > > send > > > > > > > an email to time-nuts-le...@lists.febo.com > > > > > > > To unsubscribe, go to and follow the instructions there. > > > > > > _______________________________________________ > > > > > > time-nuts mailing list -- time-nuts@lists.febo.com -- To > > unsubscribe > > > > > send > > > > > > an email to time-nuts-le...@lists.febo.com > > > > > > To unsubscribe, go to and follow the instructions there. > > > > > _______________________________________________ > > > > > time-nuts mailing list -- time-nuts@lists.febo.com -- To > unsubscribe > > > > send > > > > > an email to time-nuts-le...@lists.febo.com > > > > > To unsubscribe, go to and follow the instructions there. > > > > _______________________________________________ > > > > time-nuts mailing list -- time-nuts@lists.febo.com -- To unsubscribe > > > send > > > > an email to time-nuts-le...@lists.febo.com > > > > To unsubscribe, go to and follow the instructions there. > > > _______________________________________________ > > > time-nuts mailing list -- time-nuts@lists.febo.com -- To unsubscribe > > send > > > an email to time-nuts-le...@lists.febo.com > > > To unsubscribe, go to and follow the instructions there. > > _______________________________________________ > > time-nuts mailing list -- time-nuts@lists.febo.com -- To unsubscribe > send > > an email to time-nuts-le...@lists.febo.com > > To unsubscribe, go to and follow the instructions there. > _______________________________________________ > time-nuts mailing list -- time-nuts@lists.febo.com -- To unsubscribe send > an email to time-nuts-le...@lists.febo.com > To unsubscribe, go to and follow the instructions there. _______________________________________________ time-nuts mailing list -- time-nuts@lists.febo.com -- To unsubscribe send an email to time-nuts-le...@lists.febo.com To unsubscribe, go to and follow the instructions there.