[time-nuts] Validating GPSDO control loop with simulation and measurement. Is this amount of difference between measurement and simulation to be expected?

Erik Kaashoek erik at kaashoek.com
Fri Feb 25 15:18:54 UTC 2022


Inspired by the gpsdo simulator written by Tom Van Baak  I am trying to 
use simulation to validate the PID loop parameters for a cheap and 
simple GPS referenced timer/counter I'm building.
The following one hour measurements where done using a Rbd reference as 
input to the timer counter(see Timelab.gif plot attached)
1: Open loop (P=0, I=0) VC-TCXO versus the Rbd reference (green trace)
2: PPS of the internal GPS versus the Rbd reference. (PPS trace)
3: Rbd reference versus the closed loop (P=0.02, I=0) VC-TCXO (dark blue 
trace)
4: Rbd reference versus the closed loop (P=0.01, I=0,00005) VC-TCXO (red 
trace)
All .tim files also attached.
The performance of the TCXO was remarkably good for a sub 1$ device,  
great care went into  a stable, low noise, Vtune. The noisy supply did 
not have a big influence
The open loop TCXO frequencies where divided by 1e7 (SW PICdiv)and 
together with the raw PPS frequencies loaded into an Excel speadsheet 
(see attached)
An identical PID controller  (P=0.01, I=0.0005) was implemented in Excel 
that took as input the frequency difference between the PPS and the TCXO 
and calculated a correction for the TCXO frequency. The corrected TCXO 
frequencies was exported from excel (PID output) and imported in Timelab 
(PID, light blue trace)
As can be seen in the Timelab plot the controller implemented in Excel 
did a better job then the controller in the timer/counter but the two 
actual closed loop measurements used difference GPS and TCXO data (I do 
not own sufficient good frequency counters to measure all frequencies at 
the same time).
The timer/counter was open on a table with minimum thermal isolation and 
during the measurements some draft through door opening/closing could occur
My question: is the difference between the measured loop performance and 
the simulated  loop performance to be expected or am I making a big 
mistake somewhere?
Feel free to ask more info or more measurement data

Erik.















-------------- next part --------------
A non-text attachment was scrubbed...
Name: Timelab.gif
Type: image/gif
Size: 43236 bytes
Desc: not available
URL: <http://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20220225/e30bfed1/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PID.xlsx
Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Size: 855814 bytes
Desc: not available
URL: <http://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20220225/e30bfed1/attachment.xlsx>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: TCXO.tim
URL: <http://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20220225/e30bfed1/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: PPS.tim
URL: <http://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20220225/e30bfed1/attachment-0001.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: TCXOGPSlockedP0.02.tim
URL: <http://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20220225/e30bfed1/attachment-0002.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: TCXOGPSlockedP0.01I0.00005.tim
URL: <http://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20220225/e30bfed1/attachment-0003.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: PIDoutput.tim
URL: <http://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20220225/e30bfed1/attachment-0004.ksh>


More information about the Time-nuts_lists.febo.com mailing list