Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Minimum Entropy Deconvolution (MED 1D and 2D) 1.0

Date Added: June 22, 2013  |  Visits: 293

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. 21d-deOCt35.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.med2d(x,filterSize,termIter,termDelta,plotMode)Algorithm Reference: R.A. Wiggins, Minimum Entropy Deconvolution, Geoexploration, vol. 16, Elsevier Scientific Publishing, Amsterdam, 1978. pp. 21d-deOCt35.Inputs: x: 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 data. filterSize: 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 different values. termIter: (OPTIONAL) 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. termDelta: (OPTIONAL) 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 iterations. plotMode: If this value is > 0, plots will be generated of the iterative performance and of the resulting signal.Outputs: y_final: The input signal(s) x, filtered by the resulting MED filter. This is obtained simply as: y_final = filter(f_final,1,x); f_final: The final 1d MED filter in finite impulse response format. kurtIter: 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))Example: % 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);Note: 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.

 Requirements: No special requirements Platforms: Matlab Keyword: Change,  Condition,  Default,  Difference,  Exact,  Execute,  Generated,  Kurtosis,  Plotmode,  Plots,  Termdelta,  Terminate,  Threshold,  Values Users rating: 0/10