annotate yetilab/transform/test/test_fft.yeti @ 147:e16e42c55a20

Add autocorrelation
author Chris Cannam
date Sat, 27 Apr 2013 23:56:15 +0100
parents d0abc9afe608
children 26111c11d8e4
rev   line source
Chris@41 1
Chris@93 2 module yetilab.transform.test.test_fft;
Chris@41 3
Chris@93 4 { realForward, realInverse } = load yetilab.transform.fft;
Chris@93 5 { list, fromList } = load yetilab.block.block;
Chris@93 6 { complex } = load yetilab.block.complex;
Chris@46 7
Chris@93 8 { compare } = load yetilab.test.test;
Chris@41 9
Chris@48 10 testFFT orig reals imags =
Chris@48 11 (out = realForward (length orig) (fromList orig);
Chris@48 12 back = realInverse (length orig) out;
Chris@48 13 compare out (array (map2 complex reals imags)) and compare orig (list back));
Chris@48 14
Chris@53 15 [
Chris@41 16
Chris@41 17 "dc": \(
Chris@48 18 testFFT [1,1,1,1] [4,0,0] [0,0,0];
Chris@41 19 ),
Chris@41 20
Chris@41 21 "sine": \(
Chris@48 22 testFFT [0,1,0,-1] [0,0,0] [0,-2,0];
Chris@41 23 ),
Chris@41 24
Chris@41 25 "cosine": \(
Chris@48 26 testFFT [1,0,-1,0] [0,2,0] [0,0,0];
Chris@41 27 ),
Chris@41 28
Chris@41 29 "sineCosine": \(
Chris@48 30 testFFT [0.5,1,-0.5,-1] [0,1,0] [0,-2,0];
Chris@41 31 ),
Chris@41 32
Chris@41 33 "nyquist": \(
Chris@48 34 testFFT [1,-1,1,-1] [0,0,4] [0,0,0];
Chris@41 35 ),
Chris@41 36
Chris@41 37 "dirac": \(
Chris@48 38 testFFT [1,0,0,0] [1,1,1] [0,0,0] and
Chris@48 39 testFFT [0,1,0,0] [1,0,-1] [0,-1,0] and
Chris@48 40 testFFT [0,0,1,0] [1,-1,1] [0,0,0] and
Chris@48 41 testFFT [0,0,0,1] [1,0,-1] [0,1,0];
Chris@41 42 ),
Chris@41 43
Chris@53 44 ] is hash<string, () -> boolean>;
Chris@41 45
Chris@41 46