Require help with synchronisation (using USRPs)


I am implementing time synchronisation in OFDM tx-rx. In my matlab
simulations I manually chose a start point in the receive signal which
was not the first sample. And then I assumed that I don’t know what that
start point was and let my algorithm find it.

In GNURadio, I know that the scheduler takes care of the buffering of
samples. So in my code, I can use the forecast function to decide how
many minimum samples I need before I start looking for the synch

I was just curious, in the practical case (with USRPs), is it the
hardware that decides the start point? Once I have my buffer full of
samples, I can code it to start from the first sample so I’m unable to
visualize where the timing offset comes from in the real scenario.

Does the USRP source (at the receiver) add some sort of tag to the
sample which it deems to be the first sample?