On Mon, Feb 10, 2014 at 2:37 PM, "Björn" bg@lysator.liu.se wrote:
The sawtooth correction is the difference between where the receiver would
wish to place the edge and where its known limited resolution electronics
lets it put the edge.
I've plotted the sawtooth function reported by my older Moterolla
receivers. It does not look like it would be hard to apply to a
GPSDO.
What you have to do is model how an known error in the GPS' PPS signal
would effect the value you send to the DAC and take that out. If we
are using a PID algorithm to control the DAC, I think the sawtooth
error could be used to adjust the I and D terms. Yes you could push
the sawtooh signal forward to drive some kind of analog hardware but
that is not easy and limey expensive. Using the sawtooth to adjust
the I and D terms is nearly free.
The trouble is molding this and finding away to test. You'd need a
clock that is much better than a GPSDO to test this and most of us
don't have that.
I makes some sense, a sawtoth that has been positive for some number
of second really should be used to adjust the integrated error (i
term) and the rate that the sawtooth moves is a directive of the error
or d term. The phase error that you measure every second between
the PPS and your OCXO is the P term. But mostly this is just a one or
maybe two bit value. so we tend to integrate them over time, sawtooth
should tell you the error in that integration.
--
Chris Albertson
Redondo Beach, California
Bjorn,
All I was pointing out is that at a higher output frequency, like
10 kpps, the frequency of the quantization saw tooth error will
almost always be much higher as well. There's no need for the digital
correction since averaging over a relatively short period, like in
the loop filter of an appropriate analog PLL, will almost always be
sufficient to smooth the sawtooth.
The sawtooth correction is the difference between where the receiver would
wish to place the edge and where its known limited resolution electronics
lets it put the edge.
Yes, exactly. The range of the error in edge placement will be a constant
related to (probably equal to) the period of the internal clock it is using
to generate the edges. For an LEA-6T this is 21 ns so, assuming it rounds
off, any edge it places will be in error by +/- 10.5 ns.
The receiver wish is based on the timesolution from the last measurement.
In the Jupiter this is done at 1Hz maximum. The sawtooth correction will
apply the same for all 10k (pos or neg) edges in the 10kHz signal during
that one second.
Yes, this is true. Note, however, that the time solution produces not
only a phase error of the receiver's internal clock with respect to GPS
but also the frequency error of the receiver's clock with respect to GPS.
More than this, since the time solution takes time to compute it will be
telling the receiver what the phase error was at some point in the past
rather than what it is now, let alone what it will at the point in the
future when you want to assert a 1 pps signal. It can place that future
edge because it knows the actual frequency of its clock with some precision
from the time solution, and that plus knowing a phase offset at some past
time is sufficient to allow it to extrapolate to a future edge placement.
With an LEA-6T the precision of the edge placement will be +/- (10.5 +
epsilon) ns, with the "epsilon" occurring because it is extrapolating a
past measurement to place a future edge.
Note, however, that the rate at which it can compute time solutions doesn't
change any of this very much. The fact that an LEA-6 can compute 5 solutions
per second rather than just one will at best just make "epsilon" a bit
smaller, and this matters not at all since "epsilon" should be pretty small
already. If the receiver instead only computed a time solution once every
3 seconds it also wouldn't make a difference, it could still place a 1 pps
edge every second by extrapolating from whatever the last solution was
that it managed to complete. More than this, if you told the receiver to
place 10,000 edges per second instead of just 1, the placement error of
each one of those edges, individually, would still be +/- (10.5 + epsilon) ns.
The rate at which the receiver computes new solutions has about "epsilon"
to do with the precision of edge placement. The sawtooth doesn't come from
the epsilon, it comes from the +/- 10.5 ns.
There are effects that are not easily filtered away in the analog domain.
See the archives and
http://www.leapsecond.com/pages/m12/sawtooth.htm
This is good. Notice the amplitude and the frequency of those sawtooths.
The amplitude is the period of the internal clock placing the edges, i.e.
21 ns for an LEA-6T and what looks like >30 ns for the receiver above.
Then there's the frequency. It varies widely but the highest frequency
seen, in the 4th graph down, looks to be about 0.5 Hz. It isn't an
accident that there is no higher frequency, and I'll just assert
that this maximum frequency has nothing to do with the time solution
update rate of the receiver. It would be not change if you looked at
the 1 pps output of a 5-update-per-second LEA-6. Instead the highest
sawtooth frequency is 0.5 Hz because he's looking at a 1 pps output,
getting one sample per second, and if you sample a signal at one sample
per second then the frequencies you see in the samples are always going
to be in the range 0-0.5 Hz. Essentially this is integrating a "beat"
frequency between the receiver's oscillator and GPS time, which could be
very high in frequency, but by sampling at 1 pps the difference, whatever
it is, gets folded into the 0-0.5 Hz Nyquist bandwidth. The low frequency
of the sawtooth observed at 1 pps makes it a problem for analog filters.
All I'm pointing out, then, is that if you increase the pulse rate output
by the receiver from 1 pps to 10 kpps you will still get a sawtooth, like
1 pps, and the amplitude of the sawtooth will be unchanged from 1 pps, but
the frequency of the sawtooth won't be limited to 0-0.5 Hz and will instead be
folded into the 10 kpps Nyquist bandwidth of 0 - 5 kHz. Unless you are
very unlucky this will give you the same sawtooth error at a much higher
frequency, making it much more amenable to analog domain filtering.
Dennis Ferguson
Dennis Ferguson wrote:
Bjorn,
All I was pointing out is that at a higher output frequency, like
10 kpps, the frequency of the quantization saw tooth error will
almost always be much higher as well. There's no need for the digital
correction since averaging over a relatively short period, like in
the loop filter of an appropriate analog PLL, will almost always be
sufficient to smooth the sawtooth.
The sawtooth correction is the difference between where the receiver would
wish to place the edge and where its known limited resolution electronics
lets it put the edge.
Yes, exactly. The range of the error in edge placement will be a constant
related to (probably equal to) the period of the internal clock it is using
to generate the edges. For an LEA-6T this is 21 ns so, assuming it rounds
off, any edge it places will be in error by +/- 10.5 ns.
The receiver wish is based on the timesolution from the last measurement.
In the Jupiter this is done at 1Hz maximum. The sawtooth correction will
apply the same for all 10k (pos or neg) edges in the 10kHz signal during
that one second.
Yes, this is true. Note, however, that the time solution produces not
only a phase error of the receiver's internal clock with respect to GPS
but also the frequency error of the receiver's clock with respect to GPS.
More than this, since the time solution takes time to compute it will be
telling the receiver what the phase error was at some point in the past
rather than what it is now, let alone what it will at the point in the
future when you want to assert a 1 pps signal. It can place that future
edge because it knows the actual frequency of its clock with some precision
from the time solution, and that plus knowing a phase offset at some past
time is sufficient to allow it to extrapolate to a future edge placement.
With an LEA-6T the precision of the edge placement will be +/- (10.5 +
epsilon) ns, with the "epsilon" occurring because it is extrapolating a
past measurement to place a future edge.
Note, however, that the rate at which it can compute time solutions doesn't
change any of this very much. The fact that an LEA-6 can compute 5 solutions
per second rather than just one will at best just make "epsilon" a bit
smaller, and this matters not at all since "epsilon" should be pretty small
already. If the receiver instead only computed a time solution once every
3 seconds it also wouldn't make a difference, it could still place a 1 pps
edge every second by extrapolating from whatever the last solution was
that it managed to complete. More than this, if you told the receiver to
place 10,000 edges per second instead of just 1, the placement error of
each one of those edges, individually, would still be +/- (10.5 + epsilon) ns.
The rate at which the receiver computes new solutions has about "epsilon"
to do with the precision of edge placement. The sawtooth doesn't come from
the epsilon, it comes from the +/- 10.5 ns.
There are effects that are not easily filtered away in the analog domain.
See the archives and
http://www.leapsecond.com/pages/m12/sawtooth.htm
This is good. Notice the amplitude and the frequency of those sawtooths.
The amplitude is the period of the internal clock placing the edges, i.e.
21 ns for an LEA-6T and what looks like>30 ns for the receiver above.
Then there's the frequency. It varies widely but the highest frequency
seen, in the 4th graph down, looks to be about 0.5 Hz. It isn't an
accident that there is no higher frequency, and I'll just assert
that this maximum frequency has nothing to do with the time solution
update rate of the receiver.
Nonsense, it has everything to do with the time solution update rate as
long as the output signal frequency is greater than or equal to the
update rate.
Such folding only occurs when the output signal frequency is less than
the update rate.
It would be not change if you looked at
the 1 pps output of a 5-update-per-second LEA-6. Instead the highest
sawtooth frequency is 0.5 Hz because he's looking at a 1 pps output,
getting one sample per second, and if you sample a signal at one sample
per second then the frequencies you see in the samples are always going
to be in the range 0-0.5 Hz. Essentially this is integrating a "beat"
frequency between the receiver's oscillator and GPS time, which could be
very high in frequency, but by sampling at 1 pps the difference, whatever
it is, gets folded into the 0-0.5 Hz Nyquist bandwidth. The low frequency
of the sawtooth observed at 1 pps makes it a problem for analog filters.
All I'm pointing out, then, is that if you increase the pulse rate output
by the receiver from 1 pps to 10 kpps you will still get a sawtooth, like
1 pps, and the amplitude of the sawtooth will be unchanged from 1 pps, but
the frequency of the sawtooth won't be limited to 0-0.5 Hz and will instead be
folded into the 10 kpps Nyquist bandwidth of 0 - 5 kHz. Unless you are
very unlucky this will give you the same sawtooth error at a much higher
frequency, making it much more amenable to analog domain filtering.
Thats only true if the GPS timing error is recalculated for each edge of
the 10kpps signal.
This certainly doesn't happen in the Jupiter GPS receivers.
Dennis Ferguson
time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.
Bruce
Bruce Griffiths wrote:
Dennis Ferguson wrote:
Bjorn,
All I was pointing out is that at a higher output frequency, like
10 kpps, the frequency of the quantization saw tooth error will
almost always be much higher as well. There's no need for the digital
correction since averaging over a relatively short period, like in
the loop filter of an appropriate analog PLL, will almost always be
sufficient to smooth the sawtooth.
The sawtooth correction is the difference between where the receiver
would
wish to place the edge and where its known limited resolution
electronics
lets it put the edge.
Yes, exactly. The range of the error in edge placement will be a
constant
related to (probably equal to) the period of the internal clock it is
using
to generate the edges. For an LEA-6T this is 21 ns so, assuming it
rounds
off, any edge it places will be in error by +/- 10.5 ns.
The receiver wish is based on the timesolution from the last
measurement.
In the Jupiter this is done at 1Hz maximum. The sawtooth correction
will
apply the same for all 10k (pos or neg) edges in the 10kHz signal
during
that one second.
Yes, this is true. Note, however, that the time solution produces not
only a phase error of the receiver's internal clock with respect to GPS
but also the frequency error of the receiver's clock with respect to
GPS.
More than this, since the time solution takes time to compute it will be
telling the receiver what the phase error was at some point in the past
rather than what it is now, let alone what it will at the point in the
future when you want to assert a 1 pps signal. It can place that future
edge because it knows the actual frequency of its clock with some
precision
from the time solution, and that plus knowing a phase offset at some
past
time is sufficient to allow it to extrapolate to a future edge
placement.
With an LEA-6T the precision of the edge placement will be +/- (10.5 +
epsilon) ns, with the "epsilon" occurring because it is extrapolating a
past measurement to place a future edge.
Note, however, that the rate at which it can compute time solutions
doesn't
change any of this very much. The fact that an LEA-6 can compute 5
solutions
per second rather than just one will at best just make "epsilon" a bit
smaller, and this matters not at all since "epsilon" should be pretty
small
already. If the receiver instead only computed a time solution once
every
3 seconds it also wouldn't make a difference, it could still place a
1 pps
edge every second by extrapolating from whatever the last solution was
that it managed to complete. More than this, if you told the
receiver to
place 10,000 edges per second instead of just 1, the placement error of
each one of those edges, individually, would still be +/- (10.5 +
epsilon) ns.
The rate at which the receiver computes new solutions has about
"epsilon"
to do with the precision of edge placement. The sawtooth doesn't
come from
the epsilon, it comes from the +/- 10.5 ns.
There are effects that are not easily filtered away in the analog
domain.
See the archives and
http://www.leapsecond.com/pages/m12/sawtooth.htm
This is good. Notice the amplitude and the frequency of those
sawtooths.
The amplitude is the period of the internal clock placing the edges,
i.e.
21 ns for an LEA-6T and what looks like>30 ns for the receiver above.
Then there's the frequency. It varies widely but the highest frequency
seen, in the 4th graph down, looks to be about 0.5 Hz. It isn't an
accident that there is no higher frequency, and I'll just assert
that this maximum frequency has nothing to do with the time solution
update rate of the receiver.
Nonsense, it has everything to do with the time solution update rate
as long as the output signal frequency is greater than or equal to the
update rate.
Such folding only occurs when the output signal frequency is less than
the update rate.
It would be not change if you looked at
the 1 pps output of a 5-update-per-second LEA-6. Instead the highest
sawtooth frequency is 0.5 Hz because he's looking at a 1 pps output,
getting one sample per second, and if you sample a signal at one sample
per second then the frequencies you see in the samples are always going
to be in the range 0-0.5 Hz. Essentially this is integrating a "beat"
frequency between the receiver's oscillator and GPS time, which could be
very high in frequency, but by sampling at 1 pps the difference,
whatever
it is, gets folded into the 0-0.5 Hz Nyquist bandwidth. The low
frequency
of the sawtooth observed at 1 pps makes it a problem for analog filters.
All I'm pointing out, then, is that if you increase the pulse rate
output
by the receiver from 1 pps to 10 kpps you will still get a sawtooth,
like
1 pps, and the amplitude of the sawtooth will be unchanged from 1
pps, but
the frequency of the sawtooth won't be limited to 0-0.5 Hz and will
instead be
folded into the 10 kpps Nyquist bandwidth of 0 - 5 kHz. Unless you are
very unlucky this will give you the same sawtooth error at a much higher
frequency, making it much more amenable to analog domain filtering.
Thats only true if the GPS timing error is recalculated for each edge
of the 10kpps signal.
This certainly doesn't happen in the Jupiter GPS receivers.
Dennis Ferguson
time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to
https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.
Bruce
time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to
https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.
Another way of viewing the output is that it consists of 2 cascaded
samplers.
The first sampler samples the GPS error at the update rate (1Hz , 5Hz,
10Hz depending on the receiver).
The second sampler samples the output of the first sampler at a rate
that is either a harmonic or subharmonic of the first sample rate.
When the second sample rate is a subharmonic of the update rate of the
first sampler, the effective sample rate is that of the second saampler.
When the second sampler samples at a harmonic of the update rate the
effective sample rate is that of the first sampler.
Brucee