Hal Murray wrote: Another way of determining the the arrival time of a pulse with high resolution is to use centroid timing techniques. The input pulse is converted to a short pulse using a delay line timed monostable then the resultant pulse is low pass filtered by a discrete component RLC Gaussian low pass filter.
This sounds like fun. Thanks. A sampling ADC continuously samples the low pass filter output at a fixed clock speed. The centroid of the pulse can then be calculated from the resultant sequence of ADC samples. Monostable output pulse width ~ 2x ADC sample clock period. Low pass filter risetime ~ 2 ADC sample clock periods. With a 10MHz sample clock a resolution of 100picosec or better can be achieved with a 12 bit ADC. The idea seems simple, but I don't see how to write the code. Is there a good URL on that? Table lookup and average? (make the table from spice or such) A delay line timed monostable is required for low output pulse jitter and good output pulse width temperature stabilty. 2x 100 ns delay line seems like a pain. What's the (ballpark) tempco of coax? What's the ballbark tempco of a normal (whatever that means) delay chip? (Assume I use a chip designed for this rather than kludging gate delays.) Can I correct for the change in pulse width if I have more samples? How much accuracy do I give up by making the pulse wider so I can get more info on the width/height of the pulse in order to correct? Typical delay tempco for coax is~ 50-100ppm/K. A discrete component hybrid delay line like those from Newport and their successors typically has a tempco of 300 ppm/K. The Maxim/Dallas delay chips are likely to have a tempco somewhat greater than this. If you built your own discrete component delay line it fairly easy to achieve a tempco of less than 50ppm/K provided you use NP0/C0G capacitors and either air core or iron powder core inductors. However such a delay line will be somewhat bulky although it will occupy less space than 200ns (~ 40m) of ordinary coax. At one time special delay line coax was available, Tektronix used it in some of their scopes. The delay of such coax was about 40 times that of an equal length of normal coax. It is also possible to just implement the delay line as a folded microstrip line but it will occupy about 56 square inches of FR4 circuit board per 100ns of delay when the delay line track is 20 mils wide on a 50 mil pitch. The delay will also vary about 20% over a temperature range of 0-70C. The rise time at the output of such a delay line will be relatively slow (several nanoseconds). Only the variation in the propagation delay from the input to the centroid of the output pulse is important. If one is timestamping a GPS PPS pulse then there is plenty of time to generate another pulse that is synchronous with the reference clock and inject it into the input of the delay line timed monostable. If the known time stamp of the leading edge of this pulse is subtracted from the corresponding time stamp of the resultant output pulse centroid, this is equal to the propagation delay from input to output pulse centroid to within a fast gate delay or so. Thus you can continuously measure this delay so that changes can be accurately tracked. An offset in the time stamp is unimportant when using PPS pulse timing to monitor the reference frequency stability and drift, as long as the offset remains constant. Off course it is also necessary to correct for the PPS pulse sawtooth error which is transmitted by the GPS timing receiver, This is best done in software. Whilst several papers have been published over the years on this technique no details on how to calculate a centroid are given. This is because the method of calculating the centroid of a pulse from a sequence of samples is regarded as obvious. Link below is to a recent Latvian implementation of this technique to achieve resolution of a few picosec. [1]http://cddis.nasa.gov/lw13/docs/papers/time_artyukh_1m.pdf#search=% 22A010%20Family%20of%20Time%20Interval%20Counters%20Adapted%20to%20SLR %20applications%22 If S[j] is the value of the jth sample after the synchroniser output time stamp Ts then the centroid time stamp value T[c ]is given by Tc = Ts +T*(1*S[1] + 2*S[2 ]+ ....+ n*S[n])/(S[1 ]+ S[2] + ... +S[n]) Where T is the sampling clock period. Off course in practice these samples all occur before the synchroniser time stamp so all the j's will be negative. If you imagine drawing the pulse shape on a piece of paper and cutting it out, what you are trying to do is to find the centre of gravity of this piece of paper. The above formula approximates the pulse shape a sequence of rectangular pulses of height Sj and width 1 sampling clock period centred on the instant at which the pulse was sampled. It is also possible to approximate the pulse by a sequence of trapaezoids where straight lines join the succesive samples. The result using this algorithm is a little more accurate, however in practice as long as the pulse is well sampled and has a Gaussian like shape the difference between the 2 calculations is small. You can use a shorter monostable output pulse width but the amplitude of the low pass filtered pulse will be reduced. A longer monostable pulse width will produce a flat topped pulse which should be avoided. The amplitude should be slightly less than the ADC full scale range to maximise the accuracy of determining the centroid position. Both the input and output of the low pass filter should be correctly terminated. The low pass filter input and output terminations need not be equal. Bruce References 1. http://cddis.nasa.gov/lw13/docs/papers/time_artyukh_1m.pdf#search=%22A010%20Family%20of%20Time%20Interval%20Counters%20Adapted%20to%20SLR%20applications%22 _______________________________________________ time-nuts mailing list time-nuts@febo.com https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts