File: fft.man

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (72 lines) | stat: -rw-r--r-- 1,875 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.TH FFT G "April 1993" "Scilab Group" "Scilab Function"
.so ../sci.an
.SH NAME
fft - fast Fourier transform.
.SH CALLING SEQUENCE
.nf
[x]=fft(a,-1)
[x]=fft(a,1)
x=fft(a,-1,dim,incr)
x=fft(a,1,dim,incr)
.fi
.SH PARAMETERS
.TP 10
x
: real or complex vector. Real or complex matrix (2-dim fft)
.TP
a
: real or complex vector.
.TP
dim
: integer
.TP
incr
: integer
.SH DESCRIPTION
Short syntax (one or two dimensional fft):
.LP
.Vb x=fft(a,-1)
gives a direct transform (the \fV-1\fR refers to
the sign of the exponent..., NOT to "inverse"), that is
.IG
x(k)=sum over m from 1 to n  of a(m)*exp(-2i*pi*(m-1)*(k-1)/n)
.FI
.LA $$ x(k)=\sum_{m=1}^n { a(m) exp(-2i \pi (m-1)(k-1)/n)} $$
for k varying from 1 to n (n=size of vector \fVa\fR).
.LP
.Vb a=fft(x,1)
performs the inverse transform normalized by \fV1/n\fR.
.LP
(\fVfft(fft(.,-1),1)\fR is identity).
.LP
When the first argument given to \fVfft\fR is a matrix
a two-dimensional FFT is performed.
.LP
Long syntax (multidimensional FFT):
.Vb x=fft(a,-1,dim,incr)
allows to perform an multidimensional fft.
.LP
If a is a real or complex vector implicitly indexed by
\fVx1,x2,..,xp\fR i.e. \fVa(x1,x2,..,xp)\fR where \fVx\fR1 lies in 
\fV1..dim1,\fR \fVx2\fR in \fV1.. dim2,...\fR one gets 
a p-dimensional FFT p by calling p times \fVfft\fR as follows
.nf
 a1=fft(a ,-1,dim1,incr1)
 a2=fft(a1,-1,dim2,incr2) ...
.fi
where \fVdimi\fR is the dimension of the current variable w.r.t which
one is integrating and incri is the increment which separates
two successive \fVxi\fR elements in \fVa\fR.
.LP
In particular,if \fVa\fR is an nxm matrix,
\fVx=fft(a,-1)\fR is equivalent to the two instructions:
.LP
\fVa1=fft(a,-1,m,1)\fR and \fVx=fft(a1,-1,n,m)\fR.
.SH EXAMPLE 
.nf
a=[1;2;3];n=size(a,'*');
norm(1/n*exp(2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,1))
norm(exp(-2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,-1))  
.fi 
.SH SEE ALSO
corr