JL
Jim Lux
Tue, Feb 25, 2025 7:40 PM
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
MD
Magnus Danielson
Tue, Feb 25, 2025 9:56 PM
Hi Jim,
On 2025-02-25 20:40, Jim Lux via time-nuts wrote:
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
One technique to create such an in-band signal is to generate an OFDM
signal with a few piloton signals in it. This is used in DAB, DVB-T,
ATSC 3.0, WiFi and 5G to produce very good resolution signals. I know
that NIST have been using this to validate timing over ATSC 3.0 signals
to 1 ns level, as been publically reported.
This is a standard signal these days, so some generators can produce it,
unfortunately some only after expensive options being payed. If you "in
band" is WiFi, there is a couple of projects such as Japanese WiWi that
you can look at, as they use ESP32 WiFi chips to achieve exactly this.
If your "in band" is not there, you can use the capability to transmitt
a stack of samples yourself. The OFDM signal is generated by assigning
amplitudes to the carriers, IFFT that to a stack of samples, then mirror
out the ends to extend the symbol with a guard band. The length of the
symbol become so long that multipath is mitigated as you run tousands of
carriers in parallel, but modulation rate on each of these is low. The
processing in the other end consists of FFT-process the stack of
samples, which is exactly what some SDR hardware do in hardware as they
do this for TV, and you align up to the piloton phase to decode the rest
of the signal.
I can recommend you to look at some of the ETSI DVB-T standards, as I
have handed those over to others aiming to do exactly the same thing.
The generator could either be an instrument or any of a range of Tx
capable SDRs, such as HackRF One.
A draw-back of this approach is that you may need to measure and
compensate the difference in delay from the Tx to the multiple
receivers, something that could have been automated if a Rx/Tx of all
devices was done. This may or may not be problematic for you.
Cheers,
Magnus
Hi Jim,
On 2025-02-25 20:40, Jim Lux via time-nuts wrote:
> I have an interesting problem which someone has probably solved.
> I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
> What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
>
> Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
>
> Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
>
> There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
>
> Or is this something that a modified PICDIV might do? (with not too much work to modify)
>
> The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
One technique to create such an in-band signal is to generate an OFDM
signal with a few piloton signals in it. This is used in DAB, DVB-T,
ATSC 3.0, WiFi and 5G to produce very good resolution signals. I know
that NIST have been using this to validate timing over ATSC 3.0 signals
to 1 ns level, as been publically reported.
This is a standard signal these days, so some generators can produce it,
unfortunately some only after expensive options being payed. If you "in
band" is WiFi, there is a couple of projects such as Japanese WiWi that
you can look at, as they use ESP32 WiFi chips to achieve exactly this.
If your "in band" is not there, you can use the capability to transmitt
a stack of samples yourself. The OFDM signal is generated by assigning
amplitudes to the carriers, IFFT that to a stack of samples, then mirror
out the ends to extend the symbol with a guard band. The length of the
symbol become so long that multipath is mitigated as you run tousands of
carriers in parallel, but modulation rate on each of these is low. The
processing in the other end consists of FFT-process the stack of
samples, which is exactly what some SDR hardware do in hardware as they
do this for TV, and you align up to the piloton phase to decode the rest
of the signal.
I can recommend you to look at some of the ETSI DVB-T standards, as I
have handed those over to others aiming to do exactly the same thing.
The generator could either be an instrument or any of a range of Tx
capable SDRs, such as HackRF One.
A draw-back of this approach is that you may need to measure and
compensate the difference in delay from the Tx to the multiple
receivers, something that could have been automated if a Rx/Tx of all
devices was done. This may or may not be problematic for you.
Cheers,
Magnus
TA
Thomas Abbott
Tue, Feb 25, 2025 9:57 PM
I found that the output of a pulse distribution amplifier has plenty of RF
energy, even over 1 GHz. So no need to switch a tone, you could just use
the PPS edges themselves.
I used this pulse as an RF input, after a high-pass filter, for a high
level sanity check of a sampling system. It tested the time difference
between the RF and PPS inputs (and found a delay, kilometres long,
thousands of samples, hiding in the gateware).
I would say we definitely got the error below 10 ns, but not down to 1 ns
(sampling at about 2Gsa/s). It helped to look at the post-filter trace on a
fast 'scope and try to match the shape with the sampled pulse.
This was a full size 16-output amplifier, 5 V into 50 ohms. The PPS output
of a GPS receiver isn't nearly as sharp, I found almost no energy above a
few hundred MHz, but you could create this easily with one high-speed
comparator. PICDIV is probably the same, you'd have to measure it.
A separate idea we had - our stream included the GPS band(s), and the
signals were 10 dB above the noise floor. Feeding them to a software GPS
receiver would be another way to get in-band timestamping. I never got
around to trying this.
Thomas
On Tue, 25 Feb 2025 at 13:32, Jim Lux via time-nuts <
time-nuts@lists.febo.com> wrote:
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay
unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can
be used in post processing to precisely synchronize the data streams.
Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS
receiver (with whatever uncertainty it has), or a GPSDO, and generating a
synchronized tone burst that's in band. So the question is, what off the
shelf box, or combination of inexpensive boxes, could generate such a
signal.
Once that signal is in the sampled data stream, it's easy to do a matched
filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're
continuous, and I don't know if the "zero crossing" of the 10 MHz is
synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much
work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab
gear might work (I was thinking about a Keysight function generator 33622
might generate a tone burst triggered with sufficient stability, but I have
to go check - when last I checked, the 33622 takes an external frequency
reference, but it drives a FLL, not a PLL)
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
I found that the output of a pulse distribution amplifier has plenty of RF
energy, even over 1 GHz. So no need to switch a tone, you could just use
the PPS edges themselves.
I used this pulse as an RF input, after a high-pass filter, for a high
level sanity check of a sampling system. It tested the time difference
between the RF and PPS inputs (and found a delay, kilometres long,
thousands of samples, hiding in the gateware).
I would say we definitely got the error below 10 ns, but not down to 1 ns
(sampling at about 2Gsa/s). It helped to look at the post-filter trace on a
fast 'scope and try to match the shape with the sampled pulse.
This was a full size 16-output amplifier, 5 V into 50 ohms. The PPS output
of a GPS receiver isn't nearly as sharp, I found almost no energy above a
few hundred MHz, but you could create this easily with one high-speed
comparator. PICDIV is probably the same, you'd have to measure it.
A separate idea we had - our stream included the GPS band(s), and the
signals were 10 dB above the noise floor. Feeding them to a software GPS
receiver would be another way to get in-band timestamping. I never got
around to trying this.
Thomas
On Tue, 25 Feb 2025 at 13:32, Jim Lux via time-nuts <
time-nuts@lists.febo.com> wrote:
>
>
>
>
> I have an interesting problem which someone has probably solved.
> I've got a bunch of distributed SDR receivers (something like a SDRPlay
> unit) which can record a swath of RF.
> What I'd like to do is have a way to transmit an "in-band" signal that can
> be used in post processing to precisely synchronize the data streams.
> Ideally to, say, 1 ns.
>
> Conceptually, this could be something like taking a 1pps from a GPS
> receiver (with whatever uncertainty it has), or a GPSDO, and generating a
> synchronized tone burst that's in band. So the question is, what off the
> shelf box, or combination of inexpensive boxes, could generate such a
> signal.
>
> Once that signal is in the sampled data stream, it's easy to do a matched
> filter/correlator and find out where it is.
>
> There's plenty of GPSDOs with, say, 10 MHz outputs, but they're
> continuous, and I don't know if the "zero crossing" of the 10 MHz is
> synchronized with the 1pps (or, at least, consistently timed).
>
> Or is this something that a modified PICDIV might do? (with not too much
> work to modify)
>
> The key here is "don't develop new widget" - an off the shelf piece of lab
> gear might work (I was thinking about a Keysight function generator 33622
> might generate a tone burst triggered with sufficient stability, but I have
> to go check - when last I checked, the 33622 takes an external frequency
> reference, but it drives a FLL, not a PLL)
>
>
>
>
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
JL
Jim Lux
Tue, Feb 25, 2025 10:58 PM
Hmm, I tried this, although with the 1pps out of a GPS module, and it didn't provide a suitably distinctive waveform in the sampled data stream that I could use. This was with RTL-SDRs, so they introduce all their idiosyncracies. To be fair, though, I didn't run it through an amplifier to get a faster edge. Tone bursts from a function generator worked pretty well (because the pulse is longer, so you have more integration time in your detector/filter), so that's why I was heading that way.
It also doesn't perturb the signal while the burst is off - unlike, say, generating a PN sequence modulated carrier, which I'd then have to filter out.
The general problem is that inexpensive SDRs don't have good synchronization inputs - you can usually sync the clocks (with ambiguities in the PLL synthesis chains) so they're all sampling at the same rate (although not in this case, the SDRs are separated by a long (many km) distance).
This is an outgrowth of an interferometry project at low frequencies (20 MHz) - students put up a set of antennas and an SDR and record the samples (e.g. from Jupiter). I'm looking at an easy way to let them bring all their measurements to a common time base. At 20 MHz, a 1 ns uncertainty is 1/50th of a wavelength. My idea is to have them radiate these bursts (which will have ~100 ns uncertainty, depending on the GPS module) grab up some minutes of data, and we can back out the local clock offset, and probably average the pps uncertainty down, as well.
https://sunrise.umich.edu/ground-radio-lab/
I have done this with a Keysight 33622 (which has very good trigger to waveform uncertainty - I'm not sure precisely how they do it inside, but they claim "picoseconds", which is way, way shorter than the clock rate feeding the DAC), triggered off a GPSDO or RbDO. But those are "multithousands of dollars" solutions.
I was thinking perhaps some cheap DDS Eval board - the 1pps resets the phase accumulator (although a couple of AD DDSes I looked at don't have this function). If it's clocking the DDS at 1 GSPS (multiplied up from an external clock) then we're in the right ballpark.
On Tue, 25 Feb 2025 13:57:45 -0800, Thomas Abbott thomas@reversebiased.com wrote:
I found that the output of a pulse distribution amplifier has plenty of RF energy, even over 1 GHz. So no need to switch a tone, you could just use the PPS edges themselves.
I used this pulse as an RF input, after a high-pass filter, for a high level sanity check of a sampling system. It tested the time difference between the RF and PPS inputs (and found a delay, kilometres long, thousands of samples, hiding in the gateware).
I would say we definitely got the error below 10 ns, but not down to 1 ns (sampling at about 2Gsa/s). It helped to look at the post-filter trace on a fast 'scope and try to match the shape with the sampled pulse.
This was a full size 16-output amplifier, 5 V into 50 ohms. The PPS output of a GPS receiver isn't nearly as sharp, I found almost no energy above a few hundred MHz, but you could create this easily with one high-speed comparator. PICDIV is probably the same, you'd have to measure it.
A separate idea we had - our stream included the GPS band(s), and the signals were 10 dB above the noise floor. Feeding them to a software GPS receiver would be another way to get in-band timestamping. I never got around to trying this.
Thomas
On Tue, 25 Feb 2025 at 13:32, Jim Lux via time-nuts time-nuts@lists.febo.com wrote:
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
Hmm, I tried this, although with the 1pps out of a GPS module, and it didn't provide a suitably distinctive waveform in the sampled data stream that I could use. This was with RTL-SDRs, so they introduce all their idiosyncracies. To be fair, though, I didn't run it through an amplifier to get a faster edge. Tone bursts from a function generator worked pretty well (because the pulse is longer, so you have more integration time in your detector/filter), so that's why I was heading that way.
It also doesn't perturb the signal while the burst is off - unlike, say, generating a PN sequence modulated carrier, which I'd then have to filter out.
The general problem is that inexpensive SDRs don't have good synchronization inputs - you can usually sync the clocks (with ambiguities in the PLL synthesis chains) so they're all sampling at the same rate (although not in this case, the SDRs are separated by a *long* (many km) distance).
This is an outgrowth of an interferometry project at low frequencies (20 MHz) - students put up a set of antennas and an SDR and record the samples (e.g. from Jupiter). I'm looking at an easy way to let them bring all their measurements to a common time base. At 20 MHz, a 1 ns uncertainty is 1/50th of a wavelength. My idea is to have them radiate these bursts (which will have ~100 ns uncertainty, depending on the GPS module) grab up some minutes of data, and we can back out the local clock offset, and probably average the pps uncertainty down, as well.
https://sunrise.umich.edu/ground-radio-lab/
I have done this with a Keysight 33622 (which has very good trigger to waveform uncertainty - I'm not sure precisely how they do it inside, but they claim "picoseconds", which is way, way shorter than the clock rate feeding the DAC), triggered off a GPSDO or RbDO. But those are "multithousands of dollars" solutions.
I was thinking perhaps some cheap DDS Eval board - the 1pps resets the phase accumulator (although a couple of AD DDSes I looked at don't have this function). If it's clocking the DDS at 1 GSPS (multiplied up from an external clock) then we're in the right ballpark.
On Tue, 25 Feb 2025 13:57:45 -0800, Thomas Abbott <thomas@reversebiased.com> wrote:
I found that the output of a pulse distribution amplifier has plenty of RF energy, even over 1 GHz. So no need to switch a tone, you could just use the PPS edges themselves.
I used this pulse as an RF input, after a high-pass filter, for a high level sanity check of a sampling system. It tested the time difference between the RF and PPS inputs (and found a delay, kilometres long, thousands of samples, hiding in the gateware).
I would say we definitely got the error below 10 ns, but not down to 1 ns (sampling at about 2Gsa/s). It helped to look at the post-filter trace on a fast 'scope and try to match the shape with the sampled pulse.
This was a full size 16-output amplifier, 5 V into 50 ohms. The PPS output of a GPS receiver isn't nearly as sharp, I found almost no energy above a few hundred MHz, but you could create this easily with one high-speed comparator. PICDIV is probably the same, you'd have to measure it.
A separate idea we had - our stream included the GPS band(s), and the signals were 10 dB above the noise floor. Feeding them to a software GPS receiver would be another way to get in-band timestamping. I never got around to trying this.
Thomas
On Tue, 25 Feb 2025 at 13:32, Jim Lux via time-nuts <time-nuts@lists.febo.com> wrote:
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
JL
Jim Lux
Tue, Feb 25, 2025 11:04 PM
yes, I'll take a look at the HackRF 1 (which does have a trigger input).
The distance from Tx to Rx is negligible here so it's just calibrating out the hardware. The idea is a "local sync" source that is tied to GPS somehow.
http://spcomnav.uab.es/docs/conferences/Bartolucci_NAVITEC_2016.pdf is the paper cited in the HackRF one docs..
On Tue, 25 Feb 2025 22:56:32 +0100, Magnus Danielson via time-nuts time-nuts@lists.febo.com wrote:
Hi Jim,
On 2025-02-25 20:40, Jim Lux via time-nuts wrote:
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
One technique to create such an in-band signal is to generate an OFDM
signal with a few piloton signals in it. This is used in DAB, DVB-T,
ATSC 3.0, WiFi and 5G to produce very good resolution signals. I know
that NIST have been using this to validate timing over ATSC 3.0 signals
to 1 ns level, as been publically reported.
This is a standard signal these days, so some generators can produce it,
unfortunately some only after expensive options being payed. If you "in
band" is WiFi, there is a couple of projects such as Japanese WiWi that
you can look at, as they use ESP32 WiFi chips to achieve exactly this.
If your "in band" is not there, you can use the capability to transmitt
a stack of samples yourself. The OFDM signal is generated by assigning
amplitudes to the carriers, IFFT that to a stack of samples, then mirror
out the ends to extend the symbol with a guard band. The length of the
symbol become so long that multipath is mitigated as you run tousands of
carriers in parallel, but modulation rate on each of these is low. The
processing in the other end consists of FFT-process the stack of
samples, which is exactly what some SDR hardware do in hardware as they
do this for TV, and you align up to the piloton phase to decode the rest
of the signal.
I can recommend you to look at some of the ETSI DVB-T standards, as I
have handed those over to others aiming to do exactly the same thing.
The generator could either be an instrument or any of a range of Tx
capable SDRs, such as HackRF One.
A draw-back of this approach is that you may need to measure and
compensate the difference in delay from the Tx to the multiple
receivers, something that could have been automated if a Rx/Tx of all
devices was done. This may or may not be problematic for you.
Cheers,
Magnus
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
yes, I'll take a look at the HackRF 1 (which does have a trigger input).
The distance from Tx to Rx is negligible here so it's just calibrating out the hardware. The idea is a "local sync" source that is tied to GPS somehow.
http://spcomnav.uab.es/docs/conferences/Bartolucci_NAVITEC_2016.pdf is the paper cited in the HackRF one docs..
On Tue, 25 Feb 2025 22:56:32 +0100, Magnus Danielson via time-nuts <time-nuts@lists.febo.com> wrote:
Hi Jim,
On 2025-02-25 20:40, Jim Lux via time-nuts wrote:
> I have an interesting problem which someone has probably solved.
> I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
> What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
>
> Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
>
> Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
>
> There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
>
> Or is this something that a modified PICDIV might do? (with not too much work to modify)
>
> The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
One technique to create such an in-band signal is to generate an OFDM
signal with a few piloton signals in it. This is used in DAB, DVB-T,
ATSC 3.0, WiFi and 5G to produce very good resolution signals. I know
that NIST have been using this to validate timing over ATSC 3.0 signals
to 1 ns level, as been publically reported.
This is a standard signal these days, so some generators can produce it,
unfortunately some only after expensive options being payed. If you "in
band" is WiFi, there is a couple of projects such as Japanese WiWi that
you can look at, as they use ESP32 WiFi chips to achieve exactly this.
If your "in band" is not there, you can use the capability to transmitt
a stack of samples yourself. The OFDM signal is generated by assigning
amplitudes to the carriers, IFFT that to a stack of samples, then mirror
out the ends to extend the symbol with a guard band. The length of the
symbol become so long that multipath is mitigated as you run tousands of
carriers in parallel, but modulation rate on each of these is low. The
processing in the other end consists of FFT-process the stack of
samples, which is exactly what some SDR hardware do in hardware as they
do this for TV, and you align up to the piloton phase to decode the rest
of the signal.
I can recommend you to look at some of the ETSI DVB-T standards, as I
have handed those over to others aiming to do exactly the same thing.
The generator could either be an instrument or any of a range of Tx
capable SDRs, such as HackRF One.
A draw-back of this approach is that you may need to measure and
compensate the difference in delay from the Tx to the multiple
receivers, something that could have been automated if a Rx/Tx of all
devices was done. This may or may not be problematic for you.
Cheers,
Magnus
_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
AK
Attila Kinali
Thu, Feb 27, 2025 12:14 AM
Conceptually, this could be something like taking a 1pps from a GPS receiver
(with whatever uncertainty it has), or a GPSDO, and generating a synchronized
tone burst that's in band. So the question is, what off the shelf box, or
combination of inexpensive boxes, could generate such a signal.
What speaks against the simple solution of using the PPS and feed it to
a high-speed pulse generator (e.g. SRD or avalanche transistor) and couple
that directly into the antenna path? This should deliver a nice burst
in the signal that should look like a sinc pulse after the input filters
and thus should be easy to identify.
Attila Kinali
--
Science is made up of so many things that appear obvious
after they are explained. -- Pardot Kynes
Hi Jim
On Tue, 25 Feb 2025 14:40:45 -0500
Jim Lux via time-nuts <time-nuts@lists.febo.com> wrote:
> Conceptually, this could be something like taking a 1pps from a GPS receiver
> (with whatever uncertainty it has), or a GPSDO, and generating a synchronized
> tone burst that's in band. So the question is, what off the shelf box, or
> combination of inexpensive boxes, could generate such a signal.
What speaks against the simple solution of using the PPS and feed it to
a high-speed pulse generator (e.g. SRD or avalanche transistor) and couple
that directly into the antenna path? This should deliver a nice burst
in the signal that should look like a sinc pulse after the input filters
and thus should be easy to identify.
Attila Kinali
--
Science is made up of so many things that appear obvious
after they are explained. -- Pardot Kynes
JL
Jim Lux
Thu, Feb 27, 2025 12:55 AM
I've tried that (although not with something to sharpen the edge) and it didn't work so hot.
The pulse isn't consistently shaped enough to get a nice time hack - typically, the SDR has a pretty wide open front end, then a mixer/LO, then a wide band IF, followed by a sampler running at 24-28 MHz, and then a digital down converter to select the exact frequency and some digital filters to bring the bandwidth down.
So the shape of the pulse looks different depending on how you've tuned and configured the bandwidth.
Take a look at the RTL-SDR - there's a lot of stuff on the web with the block diagram. (e.g. https://www.pa3fwm.nl/technotes/tn20.html )
Using a longer tone pulse allows you to integrate over a longer time to detect the pulse and it's more consistent (since it doesn't depend on the antenna, front end, etc. pecularities)
On Thu, 27 Feb 2025 01:14:12 +0100, Attila Kinali via time-nuts time-nuts@lists.febo.com wrote:
t
Hi Jim
On Tue, 25 Feb 2025 14:40:45 -0500
Jim Lux via time-nuts wrote:
Conceptually, this could be something like taking a 1pps from a GPS receiver
(with whatever uncertainty it has), or a GPSDO, and generating a synchronized
tone burst that's in band. So the question is, what off the shelf box, or
combination of inexpensive boxes, could generate such a signal.
What speaks against the simple solution of using the PPS and feed it to
a high-speed pulse generator (e.g. SRD or avalanche transistor) and couple
that directly into the antenna path? This should deliver a nice burst
in the signal that should look like a sinc pulse after the input filters
and thus should be easy to identify.
Attila Kinali
Science is made up of so many things that appear obvious
after they are explained. -- Pardot Kynes
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
I've tried that (although not with something to sharpen the edge) and it didn't work so hot.
The pulse isn't consistently shaped enough to get a nice time hack - typically, the SDR has a pretty wide open front end, then a mixer/LO, then a wide band IF, followed by a sampler running at 24-28 MHz, and then a digital down converter to select the exact frequency and some digital filters to bring the bandwidth down.
So the shape of the pulse looks different depending on how you've tuned and configured the bandwidth.
Take a look at the RTL-SDR - there's a lot of stuff on the web with the block diagram. (e.g. https://www.pa3fwm.nl/technotes/tn20.html )
Using a longer tone pulse allows you to integrate over a longer time to detect the pulse and it's more consistent (since it doesn't depend on the antenna, front end, etc. pecularities)
On Thu, 27 Feb 2025 01:14:12 +0100, Attila Kinali via time-nuts <time-nuts@lists.febo.com> wrote:
t
Hi Jim
On Tue, 25 Feb 2025 14:40:45 -0500
Jim Lux via time-nuts wrote:
> Conceptually, this could be something like taking a 1pps from a GPS receiver
> (with whatever uncertainty it has), or a GPSDO, and generating a synchronized
> tone burst that's in band. So the question is, what off the shelf box, or
> combination of inexpensive boxes, could generate such a signal.
What speaks against the simple solution of using the PPS and feed it to
a high-speed pulse generator (e.g. SRD or avalanche transistor) and couple
that directly into the antenna path? This should deliver a nice burst
in the signal that should look like a sinc pulse after the input filters
and thus should be easy to identify.
Attila Kinali
--
Science is made up of so many things that appear obvious
after they are explained. -- Pardot Kynes
_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
AK
Attila Kinali
Thu, Feb 27, 2025 9:47 AM
I've tried that (although not with something to sharpen the edge) and it didn't work so hot.
Hmm.. what is your target frequency?
Most of the PPS pulses I have seen have a rise time in the order of 1-2ns.
If you are tying to sync up in the 1-2GHz range, then you'll be already
in the range where the transmitt power decases with 10-20dB/dec. Which also
means that the signal power you get is dependent on the slope, which has
a larger dependency on the supply voltage than just the amplitude of the
pulse.
This is the reason why I suggested to pass the PPS through a pulse former
like an SRD or avalanche transistor.
The pulse isn't consistently shaped enough to get a nice time
hack - typically, the SDR has a pretty wide open front end, then a mixer/LO,
then a wide band IF, followed by a sampler running at 24-28 MHz, and then a
digital down converter to select the exact frequency and some digital filters
to bring the bandwidth down.
So the shape of the pulse looks different depending on how you've tuned and
configured the bandwidth.
Right, I didn't think about the filters having a wide spread.
You can always use a filter in the right frequency range (LC tank, SAW filter,..)
to shape the pulse into something nicer at a known frequency with better
controlled properties, if you pass the fast pulse through the filter first.
Similar to Petr Panek's time measurement system [1]
Using a longer tone pulse allows you to integrate over a longer time to detect
the pulse and it's more consistent (since it doesn't depend on the antenna,
front end, etc. pecularities)
Alternatively, generate the pulses using the 10MHz output of a GPSDO,
again with an SRD/avalanche transistor. This way you get a 10MHz spaced
comb that is phase coherent. If you are able to capture multiple of these
comb tooths, you can recover the phase of the 10MHz signal and thus get
synchronization up to a 100ns ambiguity. Which should then help you to
synchronize using the target signal itself... probably.
Alternatively, divide the 10MHz down and get a finer tooth spacing.
Attila Kinali
[1] "Time-Interval Measurement Based on SAW Filter Excitation"
by Petr Panek, 2007
(There are several follow up papers from him)
--
Science is made up of so many things that appear obvious
after they are explained. -- Pardot Kynes
Hoi Jim
On Wed, 26 Feb 2025 19:55:42 -0500
Jim Lux via time-nuts <time-nuts@lists.febo.com> wrote:
> I've tried that (although not with something to sharpen the edge) and it didn't work so hot.
Hmm.. what is your target frequency?
Most of the PPS pulses I have seen have a rise time in the order of 1-2ns.
If you are tying to sync up in the 1-2GHz range, then you'll be already
in the range where the transmitt power decases with 10-20dB/dec. Which also
means that the signal power you get is dependent on the slope, which has
a larger dependency on the supply voltage than just the amplitude of the
pulse.
This is the reason why I suggested to pass the PPS through a pulse former
like an SRD or avalanche transistor.
> The pulse isn't consistently shaped enough to get a nice time
> hack - typically, the SDR has a pretty wide open front end, then a mixer/LO,
> then a wide band IF, followed by a sampler running at 24-28 MHz, and then a
> digital down converter to select the exact frequency and some digital filters
> to bring the bandwidth down.
>
> So the shape of the pulse looks different depending on how you've tuned and
> configured the bandwidth.
Right, I didn't think about the filters having a wide spread.
You can always use a filter in the right frequency range (LC tank, SAW filter,..)
to shape the pulse into something nicer at a known frequency with better
controlled properties, if you pass the fast pulse through the filter first.
Similar to Petr Panek's time measurement system [1]
> Using a longer tone pulse allows you to integrate over a longer time to detect
> the pulse and it's more consistent (since it doesn't depend on the antenna,
> front end, etc. pecularities)
Alternatively, generate the pulses using the 10MHz output of a GPSDO,
again with an SRD/avalanche transistor. This way you get a 10MHz spaced
comb that is phase coherent. If you are able to capture multiple of these
comb tooths, you can recover the phase of the 10MHz signal and thus get
synchronization up to a 100ns ambiguity. Which should then help you to
synchronize using the target signal itself... probably.
Alternatively, divide the 10MHz down and get a finer tooth spacing.
Attila Kinali
[1] "Time-Interval Measurement Based on SAW Filter Excitation"
by Petr Panek, 2007
(There are several follow up papers from him)
--
Science is made up of so many things that appear obvious
after they are explained. -- Pardot Kynes
GV
Geoff Van der Wagen
Tue, Mar 25, 2025 11:14 PM
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
Hi Jim,
Take a look at how it's been done on RTL-SDRs:
https://github.com/tejeez/rtl_coherent
Cheers
Geoff
On 26/2/25 06:40, Jim Lux via time-nuts wrote:
>
>
>
> I have an interesting problem which someone has probably solved.
> I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
> What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
>
> Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
>
> Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
>
> There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
>
> Or is this something that a modified PICDIV might do? (with not too much work to modify)
>
> The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
>
>
>
>
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
JL
Jim Lux
Wed, Mar 26, 2025 3:50 PM
Yes, that scheme looks like it would work. Of course it needs switches on the input to switch to a sufficiently loud noise source (the RTL-SDR isn't particularly low noise - at 20 MHz it's about 22 dB NF).
My idea of a tone burst works similarly. Instead of correlating among the channels for noise, you correlate with a known pulse.
The more i look at cheap SDRs (or even expensive ones) the whole idea of consistent coherent sampling isn't done very well - you can feed an external reference in, but there's inevitably a PLL synthesizing a LO that has uncertain initial state. Almost nobody sells SDRs that have a common sampling clock AND LO distribution. (well, they do, they're real expensive and plug into VME type chassis).
The fancy X series USRPs (which are quite popular) don't have LO distribution between boxes (although they do have ADC clock sync among boxes)
On Wed, 26 Mar 2025 10:14:22 +1100, Geoff Van der Wagen via time-nuts time-nuts@lists.febo.com wrote:
Hi Jim,
Take a look at how it's been done on RTL-SDRs:
https://github.com/tejeez/rtl_coherent
Cheers
Geoff
On 26/2/25 06:40, Jim Lux via time-nuts wrote:
I have an interesting problem which someone has probably solved.
I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
Or is this something that a modified PICDIV might do? (with not too much work to modify)
The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
Yes, that scheme looks like it would work. Of course it needs switches on the input to switch to a sufficiently loud noise source (the RTL-SDR isn't particularly low noise - at 20 MHz it's about 22 dB NF).
My idea of a tone burst works similarly. Instead of correlating among the channels for noise, you correlate with a known pulse.
The more i look at cheap SDRs (or even expensive ones) the whole idea of consistent coherent sampling isn't done very well - you can feed an external reference in, but there's inevitably a PLL synthesizing a LO that has uncertain initial state. Almost nobody sells SDRs that have a common sampling clock AND LO distribution. (well, they do, they're real expensive and plug into VME type chassis).
The fancy X series USRPs (which are quite popular) don't have LO distribution between boxes (although they do have ADC clock sync among boxes)
On Wed, 26 Mar 2025 10:14:22 +1100, Geoff Van der Wagen via time-nuts <time-nuts@lists.febo.com> wrote:
Hi Jim,
Take a look at how it's been done on RTL-SDRs:
https://github.com/tejeez/rtl_coherent
Cheers
Geoff
On 26/2/25 06:40, Jim Lux via time-nuts wrote:
>
>
>
> I have an interesting problem which someone has probably solved.
> I've got a bunch of distributed SDR receivers (something like a SDRPlay unit) which can record a swath of RF.
> What I'd like to do is have a way to transmit an "in-band" signal that can be used in post processing to precisely synchronize the data streams. Ideally to, say, 1 ns.
>
> Conceptually, this could be something like taking a 1pps from a GPS receiver (with whatever uncertainty it has), or a GPSDO, and generating a synchronized tone burst that's in band. So the question is, what off the shelf box, or combination of inexpensive boxes, could generate such a signal.
>
> Once that signal is in the sampled data stream, it's easy to do a matched filter/correlator and find out where it is.
>
> There's plenty of GPSDOs with, say, 10 MHz outputs, but they're continuous, and I don't know if the "zero crossing" of the 10 MHz is synchronized with the 1pps (or, at least, consistently timed).
>
> Or is this something that a modified PICDIV might do? (with not too much work to modify)
>
> The key here is "don't develop new widget" - an off the shelf piece of lab gear might work (I was thinking about a Keysight function generator 33622 might generate a tone burst triggered with sufficient stability, but I have to go check - when last I checked, the 33622 takes an external frequency reference, but it drives a FLL, not a PLL)
>
>
>
>
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com