Function: dstiv
DSTIV  Discrete Sine Transform type IV
  Usage:  c=dstiv(f);
          c=dstiv(f,L);
          c=dstiv(f,[],dim);
          c=dstiv(f,L,dim);

  DSTIV(f) computes the discrete sine transform of type IV of the input
  signal f. If f is a matrix, then the transformation is applied to
  each column. For N-D arrays, the transformation is applied to the first
  non-singleton dimension.

  DSTIV(f,L) zero-pads or truncates f to length L before doing the
  transformation.

  DSTIV(f,[],dim) applies the transformation along dimension dim. 
  DSTIV(f,L,dim) does the same, but pads or truncates to length L.
  
  The transform is real (output is real if input is real) and
  it is orthonormal. It is its own inverse.

  Let f be a signal of length L and let c=DSTIV(f). Then

                         L-1
    c(n+1) = sqrt(2/L) * sum f(m+1)*sin(pi*(n+.5)*(m+.5)/L) 
                         m=0 

  Examples:
  ---------

  The following figures show the first 4 basis functions of the DSTIV of
  length 20:

    % The dstiv is its own adjoint.
    F=dstiv(eye(20));

    for ii=1:4
      subplot(4,1,ii);
      stem(F(:,ii));
    end;


  References:
    K. Rao and P. Yip. Discrete Cosine Transform, Algorithms, Advantages,
    Applications. Academic Press, 1990.
    
    M. V. Wickerhauser. Adapted wavelet analysis from theory to software.
    Wellesley-Cambridge Press, Wellesley, MA, 1994.
    

Url: http://ltfat.github.io/doc/fourier/dstiv.html

See also: dstii, dstiii, dctii.

Package: ltfat