Minimum Entropy Deconvolution (MED 1D and 2D) (Scripts) Publisher's description
from Geoff McDonald
This is the iterative 2D Minimum Entropy Deconvolution implemented according to an iterative method in the original paper
This is the iterative 2D Minimum Entropy Deconvolution implemented according to an iterative method in the original paper:
R.A. Wiggins, Minimum Entropy Deconvolution, Geoexploration, vol. 16, Elsevier Scientific Publishing, Amsterdam, 1978. pp. 21вЂ“35.
This also works applying the 1D MED when supplied just a single row/column 'x' input. This technique has wide-ranging applications ranging from fault detection to geophysics. It generates a single 1d finite impulse response filter to minimize the entropy of each column filtered by the filter, and is typically applied to extract impulse-like features from signals.
R.A. Wiggins, Minimum Entropy Deconvolution, Geoexploration, vol.
16, Elsevier Scientific Publishing, Amsterdam, 1978. pp. 21вЂ“35.
Signal to perform Minimum Entropy Deconvolution on. If a single
column/row of data is specified, a 1d filter is designed to
minimize the entropy of the resulting signale. If a 2d data
matrix is specified, a single 1d filter will be designed to
minimize the averaged entropy of each column of the filtered
This is the length of the finite inpulse filter filter to
design. Using a value of around 30 is appropriate depending on
the data. Investigate the performance difference using
This is the termination number of iterations. If the
the number of iterations exceeds this number, the MED process
will complete. Specify  to use default value of 30.
This is the termination condition. If the change in kurtosis
between iterations is below this threshold, the iterative
process will terminate. Specify  to use the default value
of 0.01. You can specify a value of 0 to only terminate on
the termIter condition, ie. execute an exact number of
If this value is > 0, plots will be generated of the iterative
performance and of the resulting signal.
The input signal(s) x, filtered by the resulting MED filter.
This is obtained simply as: y_final = filter(f_final,1,x);
The final 1d MED filter in finite impulse response format.
Kurtosis according to MED iteration. kurtIter(end) is the
final kurtosis, ie. the summed kurtosis of each y_final
column of y_final. sum(kurtosis(each column of y_final))
% This will mostly extract the impulse-like
% disturbances caused by 0.2*(mod(n,21)==0)
% and plot the result.
n = 0:999;
x = [sin(n/30) + 0.2*(mod(n,21)==0);
sin(n/13) + 0.2*(mod(n,21)==0)];
[y_final f_final kurt] = med2d(x',30,,0.01,1);
The solution is not guaranteed to be the optimal solution to the
entropy minimizataion problem, the solution is just a local
minimum of the entropy and therefore a good pick.
System Requirements:MATLAB 7.6 (R2008a)
Program Release Status: New Release
Program Install Support: Install and Uninstall