tomwalters@0
|
1 .TH FFT 1 "15 September 1993"
|
tomwalters@0
|
2
|
tomwalters@0
|
3 .SH NAME
|
tomwalters@0
|
4 fft \- Fast Fourier transform of contiguous frames.
|
tomwalters@0
|
5
|
tomwalters@0
|
6
|
tomwalters@0
|
7 .SH SYNTAX
|
tomwalters@0
|
8 fft [arguments] [file]
|
tomwalters@0
|
9
|
tomwalters@0
|
10
|
tomwalters@0
|
11 .SH DESCRIPTION
|
tomwalters@0
|
12 Several forms of fft processing are provided, according to the "spectrum"
|
tomwalters@0
|
13 option. Unless verbose output is requested, all input and output is in
|
tomwalters@0
|
14 binary shorts.
|
tomwalters@0
|
15
|
tomwalters@0
|
16 Each input frame is padded with zeroes to the next power of 2 larger than
|
tomwalters@0
|
17 the input framewidth.
|
tomwalters@0
|
18 If necessary, extra padding can be enforced using the (silent) padding option
|
tomwalters@0
|
19 to add extra zeroes, padding to a larger power of 2.
|
tomwalters@0
|
20 The amount of extra padding is "exponential", expanding the basic size to:
|
tomwalters@0
|
21
|
tomwalters@0
|
22 ( framewidth + padding ) * 2**n
|
tomwalters@0
|
23
|
tomwalters@0
|
24 where the padding option is n.
|
tomwalters@0
|
25
|
tomwalters@0
|
26 (n=0 by default, so that no extra padding is added. When n=1 then padding is
|
tomwalters@0
|
27 added to double the size, and when n=2 the size is quadrupled, etc.).
|
tomwalters@0
|
28 The input and output frame sizes in sample points may be printed using the
|
tomwalters@0
|
29 "size" option.
|
tomwalters@0
|
30
|
tomwalters@0
|
31
|
tomwalters@0
|
32 .SH OPTIONS
|
tomwalters@0
|
33
|
tomwalters@0
|
34 The spectrum option selects a form of processing from the list:
|
tomwalters@0
|
35
|
tomwalters@0
|
36 1. magnitude: magnitude spectrum
|
tomwalters@0
|
37
|
tomwalters@0
|
38 2. log: log10 of magnitude spectrum
|
tomwalters@0
|
39
|
tomwalters@0
|
40 3. phase: phase spectrum.
|
tomwalters@0
|
41
|
tomwalters@0
|
42 4. complex: full complex spectrum, in <real,imag> pairs.
|
tomwalters@0
|
43
|
tomwalters@0
|
44 5. inverse: inverse fft, reading framewidth numbers which are interpreted as
|
tomwalters@0
|
45 <real,imag> pairs, (ie framewidth/2 complex numbers),
|
tomwalters@0
|
46 and outputs the inverse transform scaled by 1/framewidth.
|
tomwalters@0
|
47
|
tomwalters@0
|
48 6. verbose: prints the spectrum in ASCII on the stdout.
|
tomwalters@0
|
49
|
tomwalters@0
|
50 .SH EXAMPLES
|
tomwalters@0
|
51 .nf
|
tomwalters@0
|
52 1. To print the input and output frame sizes in sample points,
|
tomwalters@0
|
53 eg for a subsequent plotting program, use the size option:
|
tomwalters@0
|
54
|
tomwalters@0
|
55 fft ... size=on
|
tomwalters@0
|
56
|
tomwalters@0
|
57
|
tomwalters@0
|
58 2. An fft of a waveform sampled at 10kHz, computed within a
|
tomwalters@0
|
59 frame of 12.8ms, plotting the 2nd frame in a sequence of
|
tomwalters@0
|
60 frames with half-frame overlap.
|
tomwalters@0
|
61
|
tomwalters@0
|
62 fft samp=10kHz width=12.8ms frstep=6.4ms frame=2 file | x11plot
|
tomwalters@0
|
63
|
tomwalters@0
|
64
|
tomwalters@0
|
65 3. An animated plot of successive fft spectra of a waveform
|
tomwalters@0
|
66 sampled at 10kHz, each computed within a frame of 12.8ms,
|
tomwalters@0
|
67 and shifted by 2 sample points.
|
tomwalters@0
|
68
|
tomwalters@0
|
69 fft samp=10kHz width=12.8ms frstep=2p file | x11play -n64
|
tomwalters@0
|
70
|
tomwalters@0
|
71
|
tomwalters@0
|
72 4. Using the complex output from fft, and inverse transform
|
tomwalters@0
|
73 without windowing to recover original input.
|
tomwalters@0
|
74
|
tomwalters@0
|
75 fft samp=10kHz frame=2 spec=complex window=off file > foo
|
tomwalters@0
|
76 fft samp=10kHz frame=1 spec=inverse window=off foo | x11plot
|
tomwalters@0
|
77
|
tomwalters@0
|
78 .fi
|
tomwalters@0
|
79
|
tomwalters@0
|
80 .SH COPYRIGHT
|
tomwalters@0
|
81 .LP
|
tomwalters@0
|
82 Copyright (c) Applied Psychology Unit, Medical Research Council, 1995
|
tomwalters@0
|
83 .LP
|
tomwalters@0
|
84 Permission to use, copy, modify, and distribute this software without fee
|
tomwalters@0
|
85 is hereby granted for research purposes, provided that this copyright
|
tomwalters@0
|
86 notice appears in all copies and in all supporting documentation, and that
|
tomwalters@0
|
87 the software is not redistributed for any fee (except for a nominal
|
tomwalters@0
|
88 shipping charge). Anyone wanting to incorporate all or part of this
|
tomwalters@0
|
89 software in a commercial product must obtain a license from the Medical
|
tomwalters@0
|
90 Research Council.
|
tomwalters@0
|
91 .LP
|
tomwalters@0
|
92 The MRC makes no representations about the suitability of this
|
tomwalters@0
|
93 software for any purpose. It is provided "as is" without express or
|
tomwalters@0
|
94 implied warranty.
|
tomwalters@0
|
95 .LP
|
tomwalters@0
|
96 THE MRC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
tomwalters@0
|
97 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
tomwalters@0
|
98 THE A.P.U. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES
|
tomwalters@0
|
99 OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
tomwalters@0
|
100 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
tomwalters@0
|
101 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
tomwalters@0
|
102 SOFTWARE.
|
tomwalters@0
|
103
|