s_hilbert.m

来自「实现地震勘探中」· M 代码 · 共 64 行

M
64
字号
function seismic=s_hilbert(seismic,varargin)% Function computes Hilbert transform or instantaneous amplitude of seismic data%% Written by: E. R.: October 10, 2000% Last updated: November 22, 2006: use "isnull"%%             seismic=s_hilbert(seismic,varargin)% INPUT% seismic     seismic structure% varargin    one or more cell arrays; the first element of each cell array is a keyword,%             the other elements are parameters. Presently, keywords are:%   'output'  Type of output; possible values are: %             'hilbert'  (Hilbert transform of the seismic input data)%             'complex' (seismic+i*hilbert(seismic) )%             'amplitude' (instantaneous amplitude)%             Default: {'output','amplitude'}% OUTPUT% seismic     seismic structure after the transformation specified via 'output'%% EXAMPLE%              seismic=s_data;%              hseismic=s_hilbert(seismic,{'output','complex'});%              s_compare(real(hseismic),imag(hseismic))%              mytitle('Original data (black) and their Hilbert transform (red)')%       Set default valuesparam.output='amplitude';%       Replace default values by actual input argumentsparam=assign_input(param,varargin);if isnull(seismic)   disp(' Null values in seismic removed or replaced by zeros via "s_rm_trace_nulls".')   seismic=s_rm_trace_nulls(seismic);endswitch param.outputcase 'amplitude'   seismic.traces=abs(myhilbert(seismic.traces));   seismic.name=['Instantaneous amplitude of "',seismic.name,'"'];   htext='Instantaneous amplitude';case 'complex'   seismic.traces=myhilbert(seismic.traces);   seismic.name=['Complex trace of "',seismic.name,'"'];   htext='Complex trace';case 'hilbert'   seismic.traces=imag(myhilbert(seismic.traces));   seismic.name=['Hilbert transform of "',seismic.name,'"'];   htext='Hilbert transform';otherwise   error(['Unknown output request "',param.output,'"'])   end%    Append history fieldif isfield(seismic,'history')   seismic=s_history(seismic,'append',htext);end

⌨️ 快捷键说明

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