Hi,
I am using an Ettus B210 in two-channel receive and require accurate
time stamps. The B210 is connected to an external 10 MHz clock and PPS
source.
Setting the time on the B210 works fine, and reading back the time
reports the expected time.
When streaming a single channel, everything works as expected, and if I
read back the time after ending the stream, the time reported by the
USRP is correct. The time in the hdr metadata files is correct as well.
/2022-04-29 13:39:02.117 | INFO | __main__:start:317 - Before stream
start: system time 1651203542.1179564 usrp time 1651203542.0 (2022-04-29
13:39:02.00)
2022-04-29 13:39:02.118 | WARNING | __main__:start:329 - Starting
recording immediately
2022-04-29 13:39:02.118 | INFO | __main__:start:331 - Calling start()
2022-04-29 13:39:02.119 | INFO | __main__:start:335 - Time after
issuing start stream command: 1651203542.1197705 usrp time 1651203542.0
(2022-04-29 13:39:02.00)
/
When streaming two channels, the setup works fine, but after the
top_block.start() command is issued, the time read back is somehow the
current time stamp multiplied by 2. The time in the hdr metadata files
has the first time stamp being the time stamp around calling
top_block.start() multiplied by 2. It however increments properly (from
the corrupted origin) when counting the samples.
/2022-04-29 13:39:20.120 | INFO | __main__:start:317 - Before stream
start: system time 1651203560.1199565 usrp time 1651203560.0 (2022-04-29
13:39:20.00)
2022-04-29 13:39:20.120 | WARNING | __main__:start:329 - Starting
recording immediately
2022-04-29 13:39:20.120 | INFO | __main__:start:331 - Calling start()
2022-04-29 13:39:22.012 | INFO | __main__:start:335 - Time after
issuing start stream command: 1651203562.012672 usrp time 3302407122.0
(2074-08-25 17:18:42.00)
/Where /3302407122//= //1651203560///*2 + 2//
I have tested this with both UHD 4.1 and UHD 4.2. GNU radio version:
3.8.0.0 (Python 3.8.10)
Is anyone on this mailing list familiar with the issue and have a
solution/workaround for this?
I have attached log output and a not so small MWE
Thanks,
--
Edwin Peters (PhD,MEng)
Research Fellow - UNSW Canberra Space
Single channel recording
2022-04-29 13:38:58.358 | INFO | __main__:__init__:165 - USRPS: [{'usrp': , 'n_channels': 1, 'antenna': 'RX2', 'serial': '3136D4B', 'config': {'serial': '3136D4B', 'subdev': 'A:A', 'args': 'recv_frame_size=1032, num_recv_frames=5120', 'antenna': 'RX2'}}]
2022-04-29 13:38:58.359 | DEBUG| __main__:__init__:166 - settings: {'Fc_hz': 43700.0, 'Fs_hz': 50.0, 'gain_dB': 45, 'NID': 666, 'file_name': '', 'file_path': '/media/rf_data/recordings', 'antenna': 'RX2', 'pps_present': True, 'test_dev_null': False, 'usrps': [{'serial': '3136D4B', 'subdev': 'A:A', 'args': 'recv_frame_size=1032, num_recv_frames=5120', 'antenna': 'RX2'}]}
2022-04-29 13:38:58.359 | DEBUG| __main__:__init__:174 - USRP {'usrp': , 'n_channels': 1, 'antenna': 'RX2', 'serial': '3136D4B', 'config': {'serial': '3136D4B', 'subdev': 'A:A', 'args': 'recv_frame_size=1032, num_recv_frames=5120', 'antenna': 'RX2'}}: Setting clock source to external and time source to external
2022-04-29 13:38:58.775 | INFO | __main__:__init__:180 - Clock ref locked True
2022-04-29 13:38:58.775 | DEBUG| __main__:__init__:183 - 0 antenna RX2 gain 45
2022-04-29 13:38:58.777 | DEBUG| __main__:__init__:206 - 1
2022-04-29 13:38:59.779 | WARNING | __main__:__init__:222 - syncing time -- If this hangs, please verify that an external pps is configured
2022-04-29 13:38:59.780 | DEBUG| __main__:sync_clock:244 - USRP0 time 1.316781625 1970-01-01 10:00:01.316782
2022-04-29 13:39:00.083 | INFO | __main__:sync_clock:258 - USRP 3136D4B -- Successfully synced USRP GPS time in 1 attempts
2022-04-29 13:39:00.084 | INFO | __main__:__init__:224 - verifying time
2022-04-29 13:39:01.010 | INFO | __main__:check_clock:275 - USRP0 time 1651203541.0 2022-04-29 13:39:01.00
2022-04-29 13:39:01.010 | WARNING | __main__:check_clock:280 - All USRP clocks in sync (to the second)
2022-04-29 13:39:02.011 | DEBUG| __main__:__init__:229 - tune the USRPs
2022-04-29 13:39:02.117 | DEBUG| __main__:__init__:231 - done
2022-04-29 13:39:02.117 | INFO | __main__::353 - start recording
2022-04-29 13:39:02.117 | INFO | __main__:start:317 - Before stream start: system time 1651203542.1179564 usrp time 1651203542.0 (2022-04-29 13:39:02.00)
2022-04-29 13:39:02.118 | WARNING | __main__:start:329 - Starting recording immediately
2022-04-29 13:39:02.118 | INFO | __main__:start:331 - Calling start()
2022-04-29 13:39:02.119 | INFO | __main__:start:335 - Time after issuing start stream command: 1651203542.1197705 usrp time 1651203542.0 (2022-04-29 13:39:02.00)
2022-04-29 13:39:04.894 | WARNING | __main__::363 - verifying clock after recording
2022-04-29 13:39:05.011 | INFO | __main__:check_clock:275 - US