Matlab : Developing and Deploying Sonar and Echosounder Data Analysis Software
While satellite photographs and radar provide high-resolution images of virtually every square meter of the earth's surface, views of the ocean floor are spottier and less detailed. Yet accurate seabed maps are vital to scientific research and to many industrial applications. Beyond its interest for oceanography, the geosciences, and biology, precise knowledge of the contours and composition of the seabed helps power companies place wind farms and drilling platforms, communications companies plan where to lay fiber-optic cable, and environmental specialists evaluate the effects of climate change on oceans and seas.
The relatively obscure view of the seafloor is not due to a lack of data; ships equipped with multibeam echosounders (MBESs) and sidescan sonar systems survey wide areas of the sea, gathering terabytes of raw oceanographic data. Before scientists and engineers can apply this information in their work, however, they must convert it into meaningful data.
Although I am not an expert programmer, MATLAB® enabled me to apply my expertise in signal processing and sonar to develop and deploy SonarScope®, a high-performance software product for processing, analyzing, and visualizing raw MBES data. SonarScope is highly customizable and provides an original approach to MBES data processing, making it an invaluable tool for researchers and engineers who need to test and calibrate MBES systems.
MATLAB proved to be an ideal environment for developing SonarScope because it enabled me to develop algorithms, visualize results, and then refine the algorithms in an iterative cycle. Design iterations take much longer with a language like C++, which requires additional compiling and linking steps, as well as a significant amount of additional programming to visualize results.
From Basic Algorithms to Standalone Software
When I began developing MBES and sonar data analysis algorithms, I had no intention of creating a complete software package; I simply needed reliable analysis tools for my research. I developed the original algorithms in C. Finding C inefficient because of its slow compile, link, and execute cycle and its inability to check data in the debugger, I turned to MATLAB.