Beruflich Dokumente
Kultur Dokumente
1500
DFT ∝ N2 4 16 4
1000 32 1024 80
FFT ∝ N log2N
500
128 16384 448
1024 1048576 5120
0
0 10 20 30 40
Number of samples, N
DSPs & PLDs influenced algorithms design. ‘60s & ‘70s: multiplication
counts was “quality factor”. Now: number of additions & memory access
(s/w) and communication costs (h/w) also important.
NB: Usually you don’t want to write an FFT algorithm, just to “borrow” it !!!
Go “shopping” onto the web!
FFT philosophy
General philosophy (to be applied recursively): divide & conquer.
sub-problems + cost(mapping)
Σcost(sub-problems) mapping < cost(original problem)
problem
Example: Decimation-in-time
time frequency
algorithm
Step 1: Time-domain decomposition. N-points
signal → N, 1-point signals (interlace
(*) decomposition). Shuffled input data (bit-
reversal). log2N stages.
N : GCD(*)(N1,N2) = 1
N : GCD(N1,N2) <> 1
N1, N2 co-prime. Ex: 240 = 16·3·5
Ex: N = 2n
Cost: SUB-PROBLEMS.
SUB-PROBLEMS Cost: MAPPING.
MAPPING
s[k+N/2] WNN/2
Dual approach: data to be reordered
• Decimation-in-time ⇒ time data shuffling. in time or in frequency!
• DFT pruning: only few bins needed or different from zero ⇒ only they get
calculated (ex: Goertzel algorithm).
• Real-data case: Mirroring effect in DFT coeffs. ⇒ only half of them calculated.
∞
x[n] h[n] y[n] = x[n] ∗ h[n] = ∑ x[n − m] ⋅ h[m] y[n] predicted from { x[n], h[t] }
m=0
2 Coherence function
G yx (f)
C xy (f) = - values in [0,1]
G xx (f) ⋅ G yy (f) - assess degree of linear relationship
between x[t] & y[t].
It is a check on
H(f) validity!
Aum Namah Sivaya