• 大小: 13KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Matlab
  • 标签: s变换  

资源简介

s变换的MATLAB程序,s变换广泛用于地震监测和参数估计,具有重要的研究价值

资源截图

代码片段和文件信息

 
function [sttf] = st(timeseriesminfreqmaxfreqsamplingratefreqsamplingrate)
% Returns the Stockwell Transform of the timeseries.
% Code by Robert Glenn Stockwell.
% DO NOT DISTRIBUTE
% BETA TEST ONLY
% Reference is “Localization of the Complex Spectrum: The S Transform“
% from IEEE Transactions on Signal Processing vol. 44. number 4 April 1996 pages 998-1001.
%
%-------Inputs Needed------------------------------------------------
%  
%   *****All frequencies in (cycles/(time unit))!******
% “timeseries“ - vector of data to be transformed
%-------Optional Inputs ------------------------------------------------
%
%“minfreq“ is the minimum frequency in the ST result(Default=0)
%“maxfreq“ is the maximum frequency in the ST result (Default=Nyquist)
%“samplingrate“ is the time interval between samples (Default=1)
%“freqsamplingrate“ is the frequency-sampling interval you desire in the ST result (Default=1)
%Passing a negative number will give the default ex.  [stf] = st(data-1-122)
%-------Outputs Returned------------------------------------------------
%
% st     -a complex matrix containing the Stockwell transform. 
%  The rows of STOutput are the frequencies and the 
%         columns are the time values ie each column is 
%         the “local spectrum“ for that point in time
%  t      - a vector containing the sampled times
%  f      - a vector containing the sampled frequencies
%--------Additional details-----------------------
%   %  There are several parameters immediately below that
%  the user may change. They are:
%[verbose]    if true prints out informational messages throughout the function.
%[removeedge] if true removes a least squares fit parabola
%                and puts a 5% hanning taper on the edges of the time series.
%                This is usually a good idea.
%[analytic_signal]  if the timeseries is real-valued
%                      this takes the analytic signal and STs it.
%                      This is almost always a good idea.
%[factor]     the width factor of the localizing gaussian
%                ie a sinusoid of period 10 seconds has a 
%                gaussian window of width factor*10 seconds.
%                I usually use factor=1 but sometimes factor = 3
%                to get better frequency resolution.
%   Copyright (c) by Bob Stockwell
%   $Revision: 1.2 $  $Date: 1997/07/08  $


% This is the S transform wrapper that holds default values for the function.
TRUE = 1;
FALSE = 0;
%%% DEFAULT PARAMETERS  [change these for your particular application]
verbose = TRUE;          
removeedge= FALSE;
analytic_signal =  FALSE;
factor = 1;
%%% END of DEFAULT PARAMETERS


%%%START OF INPUT VARIABLE CHECK
% First:  make sure it is a valid time_series 
%         If not return the help message

% if verbose disp(‘ ‘)end  % i like a line left blank

if nargin == 0 
   if verbose disp(‘No parameters inputted.‘)end
   st_help
   t=0;s

评论

共有 条评论