LimeSDR XTRX Hardware Timestamping with 1 PPS

Hi,

I’m looking to buy two XTRX’s for use in an interferometry project and I was wondering if the XTRX hardware timestamps received samples using an external 1PPS signal from a GPSDO. The receivers would be placed at separate locations (not networked together), each with its own GPSDO. I see the board has a 1PPS input, but I’m unclear if the current gateware/ driver stack supports using this for automatic timestamp synchronization.

From the documentation, it appears SoapySDR’s setHardwareTime() can be used for software-based synchronization, but I’m wondering if there’s hardware-level PPS latching support for better timing accuracy (<1 μs). I need these samples to be synchronized for cross-correlation.

Thanks!

Hi, current XTRX gateware does support sampling start synchronization to PPS signal.

1 Like

Do any of the other LimeSDRs have this feature?

I suspect not, but @VytautasB could likely confirm.

I’ve added a feature request issue here:

Feel free to comment / add details. There is no guarantee regarding if/when this will be done, but it would be good to at least capture the requirement for now so we can consider it.

Triggering sample start against 1PPS is a good start, but due to clock drift it would be nice if there were an API that transferred metadata along with the data - metadata like HW RSSI, digital RSSI, gain settings, and timestamps. That way, even if there is drift in the clock due to clock rate mismatch, you would have a solid “the first sample happened at T0” for every transferred packet, and that makes further processing much easier.

The timestamps are tracked as PPS counter + clock counter, the clock counter is reset upon PPS signal, so if there would be a clock drift timestamping would resync each second. Software tracks timestamps and samples count of each packet and reports if there were any gaps or overlay of samples in time, which would be indication of clock drift. The API outputs a timestamp for each contiguous chunk of samples.