A turbulent flow has a cascade structure of eddies. Along the flow, the characteristics of those structures do not change much within a certain distance, the so-called Correlation Length. In other words, turbulence at a certain distance apart are correlated.
Based on this assumption, we can place two pairs of ultrasonic sensors along the flow direction to pick up the turbulence signature. Obviously, the upstream sensor will detect a flow signature L/V seconds earlier than the downstream one, where L is the space between the two sensors and V is the flow velocity. By comparing the signals from the two sensors, we are able to determine the time delay, thus, to calculate the velocity.
Due to the random nature of turbulence, the signal from the sensor is usually a random signal. In order to get stable results, a cross-correlation-based technique must be used to estimate the time delay. Click the figure on the left to see an enlarged illustration about this technique.