• 大小: 14KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-07-07
  • 语言: Matlab
  • 标签: 时频分析  s变换  

资源简介

s变换应用十分广泛,可以直接利用的s变换函数,能准确理解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

评论

共有 条评论