tomwalters@0: .TH FTGRAM 1 "1 September 1993" tomwalters@0: tomwalters@0: .SH NAME tomwalters@0: ftgram \- Autocorrelogram auditory image. tomwalters@0: tomwalters@0: .SH SYNTAX tomwalters@0: ftgram [arguments] [file] tomwalters@0: tomwalters@0: .SH DESCRIPTION tomwalters@0: Short-time Fourier transform applied to each row of input frames. tomwalters@0: Output frames consist of row-wise magnitude spectra, computed using fft. tomwalters@0: tomwalters@0: The program expects to read an AIM header, and interprets input as one large tomwalters@0: frame in column-wise format (eg output from genbmm, gennap, etc.), to be tomwalters@0: divided into input frames, each to be processed by row-wise fft. tomwalters@0: A new header is constructed, and each fft-gram frame is output in tomwalters@0: row-wise format (eg as if output from gensai). tomwalters@0: tomwalters@0: The input is divided into frames according to the given options. tomwalters@0: The options "start" and "length" specify the input file. tomwalters@0: The special option value length=max specifies all the input file from tomwalters@0: the given start to its end. tomwalters@0: The options "width" and "frstep" specify the input frames. tomwalters@0: The width option is the framewidth of each input frame) and the frstep tomwalters@0: option is the frameshift between input frames in the input file. tomwalters@0: The special option value width=max specifies the input framewidth as equal tomwalters@0: to the given input file length, (and if this is also "max", then the tomwalters@0: input framewidth is the remainder of the input file). tomwalters@0: tomwalters@0: Most options in the input header are copied to the output header. tomwalters@0: This enables options which are needed for the eventual display tomwalters@0: to pass straight through. Some options are set so that they can override tomwalters@0: the input header. For example, the display option is set on to enable tomwalters@0: display even when input has display=off. The animate option can be set on tomwalters@0: even when the input has animate=off. tomwalters@0: Some parts of the header are changed for the output format: tomwalters@0: (frames, frameshift, framewidth, frameheight, framebytes). tomwalters@0: tomwalters@0: Each row of each input frame is padded with zeroes to the next power of 2 tomwalters@0: larger than the original input framewidth. tomwalters@0: If necessary, extra padding can be enforced using the (silent) padding option tomwalters@0: to add extra zeroes, padding to a larger power of 2. tomwalters@0: The amount of extra padding is "exponential", expanding the basic size to: tomwalters@0: tomwalters@0: ( framewidth + padding ) * 2**n tomwalters@0: tomwalters@0: where the padding option is n. tomwalters@0: tomwalters@0: (n=0 by default, so that no extra padding is added. When n=1 then padding is tomwalters@0: added to double the size, and when n=2 the size is quadrupled, etc.). tomwalters@0: The output framewidth (and hence the frequency resolution) depends upon the tomwalters@0: input framewidth and the padding. tomwalters@0: tomwalters@0: tomwalters@0: .SH EXAMPLES tomwalters@0: 1. ftgram of a NAP, animated, with framewidth 16ms tomwalters@0: tomwalters@0: gennap len=128ms output=stdout display=off file | ftgram width=16ms \ tomwalters@0: animate=on > file.sai tomwalters@0: tomwalters@0: gensai useprev=on headr=5 top=1000 file -(for landscape plot) tomwalters@0: tomwalters@0: genspl useprev=on headr=5 top=1000 pensize=2 file -(for spiral plot) tomwalters@0: tomwalters@0: 2. ftgram of an SAI: tomwalters@0: (gensai removes file.sai, so you must use some other name, eg foo.sai). tomwalters@0: tomwalters@0: gensai len=64 pwidth=64 nwidth=0 output=stdout display=off file | \ tomwalters@0: saitonap frame=3 | ftgram width=32ms frame=1 > foo.sai tomwalters@0: tomwalters@0: gensai useprev=on top=1000 headr=5 mag=2 foo tomwalters@0: tomwalters@0: tomwalters@0: .SH COPYRIGHT tomwalters@0: .LP tomwalters@0: Copyright (c) Applied Psychology Unit, Medical Research Council, 1995 tomwalters@0: .LP tomwalters@0: Permission to use, copy, modify, and distribute this software without fee tomwalters@0: is hereby granted for research purposes, provided that this copyright tomwalters@0: notice appears in all copies and in all supporting documentation, and that tomwalters@0: the software is not redistributed for any fee (except for a nominal tomwalters@0: shipping charge). Anyone wanting to incorporate all or part of this tomwalters@0: software in a commercial product must obtain a license from the Medical tomwalters@0: Research Council. tomwalters@0: .LP tomwalters@0: The MRC makes no representations about the suitability of this tomwalters@0: software for any purpose. It is provided "as is" without express or tomwalters@0: implied warranty. tomwalters@0: .LP tomwalters@0: THE MRC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING tomwalters@0: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL tomwalters@0: THE A.P.U. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES tomwalters@0: OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, tomwalters@0: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, tomwalters@0: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS tomwalters@0: SOFTWARE. tomwalters@0: