PyRate icon indicating copy to clipboard operation
PyRate copied to clipboard

Enhancement: Calculation of auto-covariance function

Open mcgarth opened this issue 10 years ago • 0 comments

This is handled by pyrate.vcm.cvd. Currently the calculation of autocovariance follows the method used in the Matlab code. This method truncates the covariance data used to fit the exponential model by the dimension of the minimum image axis. Is this sensible? Should we not include data at any distance from the zero-lag pixel? The consequence may well be that the exponential model may not be a good fit when the full data is included

Other models could also be introduced, like the zero-th order Bessel function, and a method to determine the best fitting 'type' of model for a particular data set by calculating weighted RMS on the model-observation residuals.

Below is a Matlab example of the method currently used to decimate autocovariance data. Values are plotted against distance (radius) in km from zero lag pixel. In Figure 1 the values have been truncated at ~1.8 km - the width of the image x-axis. In Figure 2, the values have been binned. In Figure 3, the mean of each bin has been calculated. This is the data that is input into the function fitting algorithm (fmin).

cvd_matlab_example

mcgarth avatar Jun 23 '15 01:06 mcgarth