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