- All your frame are belong to us -

f=isgramreal(s,g,a,M); f=isgramreal(s,g,a,M,Ls); [f,relres,iter]=isgramreal(...);

c |
Array of coefficients. |

g |
Window function. |

a |
Length of time shift. |

M |
Number of channels. |

Ls |
length of signal. |

f |
Signal. |

relres |
Vector of residuals. |

iter |
Number of iterations done. |

`isgramreal(s,g,a,M)` attempts to invert a spectrogram computed by

s = abs(dgtreal(f,g,a,M)).^2;

by an iterative method.

`isgramreal(s,g,a,M,Ls)` does as above but cuts or extends *f* to length *Ls*.

If the phase of the spectrogram is known, it is much better to use dgtreal

`f,relres,iter]=isgramreal(...)` additionally returns the residuals in a
vector *relres* and the number of iteration steps done.

Generally, if the spectrogram has not been modified, the iterative algorithm will converge slowly to the correct result. If the spectrogram has been modified, the algorithm is not guaranteed to converge at all.

`isgramreal` takes the following parameters at the end of the line of
input arguments:

'lt',lt |
Specify the lattice type. See the help on matrix2latticetype. Only the rectangular or quinqux lattices can be specified. |

'zero' |
Choose a starting phase of zero. This is the default |

'rand' |
Choose a random starting phase. |

'int' |
Construct a starting phase by integration. Only works for Gaussian windows. |

'griflim' |
Use the Griffin-Lim iterative method, this is the default. |

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

'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.

R. Decorsière and P. L. Søndergaard.
Modulation filtering using an optimization approach to spectrogram
reconstruction.
In *Proceedings of the Forum Acousticum*, 2011.

D. Griffin and J. Lim.
Signal estimation from modified short-time Fourier transform.
*IEEE Trans. Acoust. Speech Signal Process.*,
32(2):236--243, 1984.

D. Liu and J. Nocedal.
On the limited memory BFGS method for large scale optimization.
*Mathematical programming*, 45(1):503--528, 1989.