Hidden Solutions, LLC Logo

Technical Consulting and Research Support

James S. Hall, Ph.D., P.E.

MATLAB Code

The MATLAB code available for download from this page is provided by Hidden Solutions, LLC "as is" and "with all faults".  Hidden Solutions, LLC, makes no representations or warranties of any kind concerning the safety, suitability, lack of viruses, inaccuracies, typographical errors, or other harmful components of the software.  Any express or implied warranties are disclaimed.  In no event shall the author(s) or Hidden Solutions, LLC be liable for any direct, indirect, incidental, special, exemplary, or consequential damages however caused and arising in any way out of the use of this software.

The code is available under the Modified BSD License, which allows unlimited redistribution and modification as long as the copyright notice and associated disclaimer are included with any resulting product.

To install, simply copy the file into your working directory or somewhere in your MATLAB path.  For instructions on how to invoke or use the command, type help [command] where [command] is the function you have downloaded.

General Support Functions

These general support functions have been found useful across multiple projects and are included here for others to use.  These functions include new MATLAB commands as well as modifications to or extensions of existing MATLAB commands.

These functions are NOT necessary for the Minimum Variance Imaging or Model-Based Parameter Estimation algorithms.

  • decimateByFactor - Performs downsampling and anti-alias filtering in stages, reducing computation time and improving decimation performance.
  • disableLegendEntries - Removes unwanted legend entries by setting the appropriate attributes for one or more plots.
  • fftk - Extension of the MATLAB fft command that also returns the normalized frequency values corresponding to the frequency-domain data.
  • getAxesData - Extracts x-, y-, and z- data from an axes.  This is particularly useful when a .fig file is available, but not the original data.
  • inset2DAbsolute - Creates an inset and, if desired, loads the appropriatedata into the new inset.
  • interp1Complex - Interpolation function for complex data that operates on the magnitude and phase of the data, rather than the in-phase and quadrature data.

This list will be updated as new functions are written, so make sure to check back later.

Minimum Variance Imaging

A MATLAB implementation of the minimum variance imaging algorithm, vectorized for optimal performance, is available here.  The software was written as a stand-alone function and is provided along with some simulation data, a script demonstrating how to call the function, and documentation.

Model-Based Parameter Estimation

A MATLAB implementation of the model-based parameter estimation (MBPE) algorithm is available here.  It is provided along with documentation, simulation data, and a corresponding script to demonstrate how to call the algorithm.  

Questions or Comments?

I welcome constructive criticism and/or suggestions for improvement on any of these code snippets. 

Please contact me if I may be of any assistance in developing application-specific modifications or derivative works for your project.