WAVETRANS is the jWavelet module of jLab.

 WAVETRANS  Continuous wavelet transform.
    W=WAVETRANS(X,PSI) computes the wavelet transform W of a data series X
    using wavelets PSI. X has time oriented in rows, and PSI is either a
    matrix of wavelets, or a cell array defining wavelet properties.
    If PSI is a matrix containing the wavelets, SIZE(PSI,1) should be the 
    same as SIZE(X,1), with time-domain wavelets at different scales or 
    frequencies in the columns of PSI.  See MORSEWAVE or MORLWAVE.
    If PSI is a cell array, it defines the properties of generalized Morse
    wavelets, which are then computed internally, as described below. 
    Multiple input series
    X and PSI may both contain multiple components.  Then PSIF(:,:,k) is
    the kth wavelet, and X(:,n) is the nth data component.  If there are K
    wavelets at J frequencies and M data points in N components of X, then
    W is of size M x J x N x K.  Note that W is always squeezed to remove
    singleton dimensions.
    X can also be a 3D array of size M x N x K, if the wavelet contains
    only one component.  Then W is again of size M x J x N x K.  
    [W1,W2,...,WN]=WAVETRANS(X1,X2,...,XN,PSI) also works, where the XN are
    all column vectors of the same length.
    Generalized Morse wavelets
    WAVETRANS can automatically compute the wavelet transform using the
    generalized Morse wavelets, without needing to precompute the wavelets.
    WAVETRANS(X,{GAMMA,BETA,FS}), with PSI being a cell array, uses the
    Generalized Morse Wavelets specified by the parameters GAMMA and BETA.
    FS is an array of *radian* frequencies, as in cos(ft) not cos(2 pi ft),
    assuming a unit sample rate.  Thus the Nyquist frequency is at pi.
    Use MORSESPACE to easily choose the frequency bins.
    WAVETRANS(X,{K,GAMMA,BETA,FS) uses the first K orthogonal multi-
    wavelets to create K different transforms.  The default is K=1,
    employing only the first wavelet.  See MORSEWAVE for details.
    WAVETRANS(X,{...,'energy'}) specifies a unit energy normalization for
    the wavelets.  The default is the 'bandpass' or unit amplitude
    normalization.  See MORSEWAVE for details.
    For general purpose use, set GAMMA=3 and choose BETA to be no smaller
    than one.  Increase BETA to make your wavelet have more 'wiggles'.
    Boundary conditions
    W=WAVETRANS(...,STR), where STR is a string, optionally specifies the
    boundary condition to be imposed at the edges of the time series.
    Valid options for STR are
          STR = 'periodic' for periodic boundary conditions
          STR = 'zeros' for zero-padding beyond the endpoints
          STR = 'mirror' for reflecting the time series at both ends
          STR = 'reverse' for reflection together with a sign reversal
    The default value of STR is 'periodic', which means endpoints of the
    time series are implicitly joined to make a periodic signal. All
    boundary conditions take into account potential blocks of missing data,
    marked by NaNs, at beginning and end of each column.
    Missing data
    The data X may contain blocks of NANs at the beginning and/or end of
    each column, marking the absence of data.  In this case only the
    data series is taken to correspond to the block of finite data values,
    and the boundary conditions are applied accordingly. The corresponding
    portions of the transform matrix W are then also set to NANs. No NANs
    may occur in the interior of the data series.
    Note that the data X is detrended before transforming.  This feature
    is suppressed by WAVETRANS(..., 'nodetrend').
    Complex-valued data
    The wavelet transform is normalized differently for complex-valued data
    than for real-valued data.  If WX and WY are the wavelet transforms of
    two real-valued signals, X and Y, then
         WP=WAVETRANS(X+iY,PSI)   = (1/SQRT(2))*(WX + i WY)
         WN=WAVETRANS(X-iY,PSI)   = (1/SQRT(2))*(WX - i WY)
    defines the positive and negative rotary transforms WP and WN.
    The factors of SQRT(2) are included such that the transform power is
    unchanged, that is, ABS(WX).^2+ABS(WY).^2 = ABS(WP).^2+ABS(WN).^2.
    There are therefore two equivalent ways to compute the positive and
    negative rotary transforms.  The first is
    which takes the wavelet transform of the X+iY and its conjugate.
    The second is to take the wavelet transform of the real-valued data
        [WX,WY]=WAVETRANS(X,Y,PSI)      followed by 
    which converts WX and WY to WP and WN using a matrix multiplication
    with the unitary matrix TMAT=[1 i; 1 -i]/SQRT(2).
    WAVETRANS(...,'parallel') parallelizes the wavelet transform using a 
    PARFOR loop, when the data X contains multiple columns.  This requires 
    that Matlab's Parallel Computing Toolbox be installed. 
    'wavetrans --t' runs some tests.
    'wavetrans --f' generates a sample figure.
    Usage:  w=wavetrans(x,psi);
    This is part of JLAB --- type 'help jlab' for more information
    (C) 2004--2016 J.M. Lilly --- type 'help jlab_license' for details

contents | allhelp | index