⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spiking.m

📁 SeismicLab, 免费MATLAB地震数据处理软件包
💻 M
字号:
function [f,o] = spiking(d,NF,mu);  %SPIKING: Spiking deconvolution using Levinson's recursion%%  [f,o] = spiking(d,NF,mu)%%  IN     d:  data (a column trace)%         NF: lenght of the spiking operator%         mu: prewhitening in percentage  %%  OUT    f:  the filter%         o:  the ouput or convolution of the data with %             the filter (adjusted to the length of the%             input data) %%  Note: We assume a minimum phase wavelet, we also assume%        that the reflectivity is a white process. The latter%        allows us to estimate the autocorrelation of%        the wavelet from the autocorrelation of the trace.%%  Example:%          w = kolmog(ricker(4/1000,25));   % Min phase wavelet %          x = conv(w,randn(400,1));     % Trace%          [f,o] = spiking(x,30,.1);%          subplot(211); plot(x); title('data');%          subplot(212); plot(o); title('deconvolution');%%  Author(s): M.D.Sacchi (sacchi@phys.ualberta.ca)%  Copyright 1998-2003 SeismicLab%  Revision: 1.2  Date: Dec/2002 %  %  Signal Analysis and Imaging Group (SAIG)%  Department of Physics, UofA%NF = NF - 1;[ns,ntraces] = size(d);dmax = max(max(d));R = xcorr(d(:,1),d(:,1),NF);          % Compute data autocorrelationif ntraces>1;Ra = R;for k=2:ntraces;R = xcorr(d(:,k),d(:,k),NF);          % Compute data autocorrelationRa = Ra + R;end;R = Ra/ntraces;end;Rs = R(:,1).*hamming(NF*2+1);r = Rs(NF+1:2*NF+1,1);r(1,1) = r(1,1)*(1 + mu/100.);    % Add pre-whitening for stability[f] = levinson(r,NF);       % Fast inversion of Toeplitz system                             % via Levinson's recursive algorithm f = f';                    % I like column vectorsif nargout == 2 o = conv2(d,f);           o = o(1:ns,:); omax = max(max(o)); o = o * dmax/omax;endreturn

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -