Function: frsynabs
FRSYNABS  Reconstruction from magnitude of coefficients
  Usage:  f=frsynabs(F,s);
          f=frsynabs(F,s,Ls);
          [f,relres,iter,c]=frsynabs(...);

  Input parameters:
        F       : Frame
        s       : Array of coefficients.
        Ls      : length of signal.
  Output parameters:
        f       : Signal.
        relres  : Vector of residuals.
        iter    : Number of iterations done.
        c       : Coefficients with the reconstructed phase

  FRSYNABS(F,s) attempts to find a signal which has s as the absolute
  value of its frame coefficients :

    s = abs(frana(F,f));

  using an iterative method.

  FRSYNABS(F,s,Ls) does as above but cuts or extends f to length Ls.

  If the phase of the coefficients s is known, it is much better to use
  frsyn.

  [f,relres,iter]=FRSYNABS(...) additionally returns the residuals in a
  vector relres and the number of iteration steps iter. The residuals
  are computed as:

     relres = norm(abs(cn)-s,'fro')/norm(s,'fro')

  where c_n is the Gabor coefficients of the signal in iteration n.

  [f,relres,iter,c]=FRSYNABS(...,'griflim'|'fgriflim') additionally returns
  coefficients c with the reconstructed phase prior to the final reconstruction.
  This is usefull for determining the consistency (energy lost in the nullspace
  of F) of the reconstructed spectrogram. c will only be equal to frana(F,f)
  if the spectrogram is already consistent (i.e. already in the range space of F*).
  This is possible only for 'griflim' and 'fgriflim' methods.

  Generally, if the absolute value of the frame coefficients has not been
  modified, the iterative algorithm will converge slowly to the correct
  result. If the coefficients have been modified, the algorithm is not
  guaranteed to converge at all.

  FRSYNABS takes the following parameters at the end of the line of input
  arguments.

  Initial phase guess:

    'input'      Choose the starting phase as the phase of the input
                 s. This is the default

    'zero'       Choose a starting phase of zero.

    'rand'       Choose a random starting phase.

  The Griffin-Lim algorithm related parameters:

    'griflim'    Use the Griffin-Lim iterative method. This is the
                 default.

    'fgriflim'   Use the Fast Griffin-Lim iterative method.


    'Fd',Fd      A canonical dual frame object or an anonymous function
                 acting as the synthesis operator of the canonical dual frame.
                 If not provided, the function attempts to create one using
                 Fd=framedual(F).

    'alpha',a    Parameter of the Fast Griffin-Lim algorithm. It is
                 ignored if not used together with 'fgriflim' flag.

  The BFGS method related paramaters:

    'bfgs'       Use the limited-memory Broyden Fletcher Goldfarb
                 Shanno (BFGS) method.

    'p',p        Parameter for the compressed version of the obj. function
                 in the l-BFGS method. It is ignored if not used together
                 with 'bfgs' flag.

  Other:

    'tol',t      Stop if relative residual error is less than the
                 specified tolerance.

    'maxit',n    Do at most n iterations.

    'print'      Display the progress.

    'quiet'      Don't print anything, this is the default.

    'printstep',p  If 'print' is specified, then print every p'th
                   iteration. Default value is p=10;

  The BFGS method makes use of the minFunc software. To use the BFGS method,
  please install the minFunc software from:
  http://www.cs.ubc.ca/~schmidtm/Software/minFunc.html.



  References:
    D. Griffin and J. Lim. Signal estimation from modified short-time
    Fourier transform. IEEE Trans. Acoust. Speech Signal Process.,
    32(2):236--243, 1984.
    
    N. Perraudin, P. Balazs, and P. L. Soendergaard. A fast Griffin-Lim
    algorithm. In Applications of Signal Processing to Audio and Acoustics
    (WASPAA), 2013 IEEE Workshop on, pages 1--4, Oct 2013.
    
    R. Decorsiere, P. Soendergaard, E. MacDonald, and T. Dau. Inversion of
    auditory spectrograms, traditional spectrograms, and other envelope
    representations. Audio, Speech, and Language Processing, IEEE/ACM
    Transactions on, 23(1):46--56, Jan 2015.
    

Url: http://ltfat.github.io/doc/frames/frsynabs.html

See also: frana, frsyn, demo_frsynabs, demo_phaseret.

Package: ltfat