Blind Deconvolution Algorithm Based on Optimal Wiener Filter

Resource Overview

This program implements a blind deconvolution algorithm utilizing optimal Wiener filtering. Wiener filtering transforms seismic wavelets into any desired waveform shape. Similar to inverse filtering, a Wiener filter can be designed to convert seismic wavelets into spike pulses. However, Wiener filtering differs from inverse filtering by achieving optimality in the least-squares sense. The algorithm implements the well-known Wiener-Levinson approach for filter design. The program provides five target output options: zero-delay spike pulse, arbitrary-delay spike pulse, time-advanced input sequence, zero-phase wavelet, and custom desired waveform.

Detailed Documentation

This program implements a blind deconvolution algorithm based on optimal Wiener filtering. Wiener filtering transforms seismic wavelets into arbitrary desired waveform shapes. For instance, similar to inverse filtering, Wiener filters can be designed to convert seismic wavelets into spike pulses. However, Wiener filtering differs from inverse filtering by optimizing performance in the least-squares sense. The algorithm employs the well-known Wiener-Levinson method for optimal filter design. The program provides five selectable target outputs: zero-delay spike pulse, arbitrary-delay spike pulse, time-advanced input sequence, zero-phase wavelet, and custom desired waveform. Additionally, users can perform further customization and adjustments according to their specific requirements to obtain tailored output results. Key implementation details include: - The Wiener-Levinson algorithm computes filter coefficients by solving the normal equations using autocorrelation and cross-correlation data - Matrix operations handle the convolution process between input signals and designed filters - Multiple output modes are implemented through different desired output vector configurations - The algorithm minimizes mean-square error between actual and desired outputs through optimal filter design