Ambiguity problems are a fundamental aspect of all phase difference measurements. The pulse-coherent method measure velocity by transmitting a pair of short sound pulses with a known time lag or separation. The phase difference between the two reflected pulses is a direct measure of the velocity, but if the phase difference goes outside the range of ±π, the measurement uniqueness is lost, something known as Velocity Ambiguity. For example, a sine wave with phase -π looks the same as a sine wave with phase +π. Phase wrapping will typically happen, if the maximum velocity is higher than the configured velocity range. An example dataset can be seen in Figure (1). The ambiguity velocity comes into play in all Doppler systems, but it is only an issue in “pure coherent systems” because of the large pulse separation. Further details on this topic can be found here: Phase wrapping & velocity ambiguity
How to identify phase wrapping
For high velocities, phase wrapping can be identified easily due to abrupt switches from positive to negative velocities. A simple sign filter (i.e., positive velocity expected, wrapped points have a negative sign) will work efficiently to identify wrapped points.
For smaller velocities, it can be harder to identify wrapped points by sign alone. Playing with various forms of local median filters to identify wrapped points has varying degrees of success, dependent largely on the quality of the dataset. Histograms are useful for this type of work. Often the ambiguity velocity causes the tail of a histogram to be cut off and shifted to the wrong side of the histogram (see Figure (2)), meaning that it is easy to pick out wrapped velocities visually. This is a good way to check the success of any identification scheme developed.
How to unwrap the data
It is, in principle, possible to unwrap data when you can make assumptions about du/dt, but only if the SNR and correlation are good. There are two ways to go about dealing with your data.
- Develop an outlier filter to remove the wrapped data. If there are only a few points (some small percentage of the total data), it’s relatively simple to define a cutoff threshold outside of which you discard the velocity data. If needed, you can interpolate these removed points back in as long as the gaps created by removing them are not too large. The advantage of this is that it is relatively simple and quick, and the impact on statistics is going to be fairly minimal because so few points are involved.
- If the number of wrapped points is fairly high, option 1 above is problematic because the variance of the signal is artificially constrained by the phase wrapping (i.e. the largest events are being eliminated from sampling). In this case the data either needs to be corrected or retaken. For a field deployment this generally means correction. Below are the recommended steps for going about doing this.
Step 1 in phase wrap correction is to get the data back into beam coordinates. For detailed guidelines on coordinate system transformation, please see this article:
- Signature: How do I transform a coordinate system manually?
- Gen1 Vector: How do I transform a coordinate system manually?
- Gen2 Vector: How do I transform a coordinate system manually?
- Gen1 Aquadopp: How do I transform a coordinate system manually?
- Gen2 Aquadopp: How do I transform a coordinate system manually?
Step 2 is to find the Ambiguity Velocity. This velocity (denoted \( V_{amb} \) is the maximum along-beam velocity that can be measured by the instrument in its deployment configuration. There are two ways of finding this velocity:
- A simple estimate of \( V_{amb} \) is the average of the absolute values of the maximum and minimum measured velocities.
-
A more accurate method is to find the velocity range using (1). This formula is the standard Pulse-Coherent maximum velocity calculation described in detail in this article: Pulse-coherent measuring methodology. The time lag of the dataset can be found in the instruments configuration documented within the raw data file.
| \( V_{max} = \frac{c}{4 f \Delta t} \) | (1) | |||
| \(V\) | - | measured velocity along the beam axis \( [\frac{m}{s}]\) | ||
| \(c\) | - | speed of sound in water \( [\frac{m}{s}]\) | ||
| \(f\) | - | acoustic transmit frequency \( [\frac{1}{s}]\) | ||
| \(\Delta_{t}\) | - | time difference between two consecutive pulses \( [s]\) | ||
- The ambiguity velocity is double the velocity range, \( V_{amb}= V_{max} \cdot 2 \)
- To calculate \(\Delta_{t}\) for Gen1 instruments, please see the relevant chapter this FAQ: High resolution (HR) mode
Step 3 is to remove the \( V_{amb} \). The procedure is as follows:
loop over all the data points if large jump in velocity, then if the jump is negative, then newvel = oldvel + V_amb else newvel = oldvel - V_amb end endend loop
Step 4 is to transform the velocities back to XYZ or ENU.
Updated