A quick check with gnuplot
Gnuplot is a quite
sophisticated plotting program, but remains simple to use for
quick visual checks of moderately large data sets. I like to
use its 3D line plotting command splot for a
quick look at what I have. Since my depths are positive
numbers in the third column, I issue the following to view my
filtered.xyzt data:
gnuplot> splot "filtered.xyzt" using 1:2:(-$3) with lines
Analysis
One of the major corrections to sonar data to achieve bathymetric data is usually tide corrections. It is for this correction that we have been carrying the timestamp with each sonar value. In the Caribbean, however, there are few tide stations, the tides are extremely complex because of the mixed influence of the Caribbean Sea and the Atlantic Ocean, and generally the tides are less than a meter. In our data set, they tide range was generally less the resolution of the sonar that we were using. We will leave tide corrections for a different survey.
Notice how rough the lines are in the gnuplot image? This is not representing the bottom, but instead the survey boat motion. If we look at our survey notes, we can see that some of the survey area had rougher water than others. A professional survey system would be able to record the boat motion and cancel it either as the data was collected or in post processing. Our only option for eliminating this noise is to filter the wave noise out with a low pass filter.
The Perl scriptSmooth is
designed for this purpose. (GMT has filter1d for this kind of filtering.) The result of applying
an appropriate lowpass/smoothing filter is shown in the image to
the left.
Comparing the stats from the cleaned but unsmoothed data to the smoothed data we see:
| Samples |
34348 Unsmoothed 34299 Smoothed |
|||
|---|---|---|---|---|
| X | Y | Z | ||
| Min | -61.24694 -61.24694 |
12.99999 12.9999 |
0.6000 0.8504 |
|
| Max | -61.23604 -61.23604 |
13.0127 13.0127 |
28.6000 28.010 |
|
| Avg | -61.24270 -61.24694 |
13.0127 13.0078 |
28.6000 7.2292 |
|
As you can see, there are some rather minor differences on depth. You will also notice that there are few less records in the table. This reduction in records is due to the smoothing algorithm gobbling up the beginning of the table before it has enough to spit out the first averaged value.
If we were going to make other corrections and adjustments, such as tide and speed of sound profiles, we would do them to the data at this point. The next step will be grid the data.
Continued
Perl Scripts