  Clock synchronization is a necessary component in modern distributed systems,
especially Wirless Sensor Networks (WSNs). Despite the great effort and the
numerous improvements, the existing synchronization schemes do not yet address
the cancellation of propagation delays. Up to a few years ago, this was not
perceived as a problem, because the time-stamping precision was a more limiting
factor for the accuracy achievable with a synchronization scheme. However, the
recent introduction of efficient flooding schemes based on constructive
interference has greatly improved the achievable accuracy, to the point where
propagation delays can effectively become the main source of error. In this
paper, we propose a method to estimate and compensate for the network
propagation delays. Our proposal does not require to maintain a spanning tree
of the network, and exploits constructive interference even to transmit packets
whose content are slightly different. To show the validity of the approach, we
implemented the propagation delay estimator on top of the FLOPSYNC-2
synchronization scheme. Experimental results prove the feasibility of measuring
propagation delays using off-the-shelf microcontrollers and radio transceivers,
and show how the proposed solution allows to achieve sub-microsecond clock
synchronization even for networks where propagation delays are significant.
