]> git.unchartedbackwaters.co.uk Git - francis/lta.git/commitdiff
Add script to compare NumPy's FFT and explicit DFT matrix.
authorFrancis Russell <francis@unchartedbackwaters.co.uk>
Mon, 15 Apr 2013 17:57:01 +0000 (18:57 +0100)
committerFrancis Russell <francis@unchartedbackwaters.co.uk>
Mon, 15 Apr 2013 17:57:01 +0000 (18:57 +0100)
misc/fourier.py [new file with mode: 0755]

diff --git a/misc/fourier.py b/misc/fourier.py
new file mode 100755 (executable)
index 0000000..c13a9c0
--- /dev/null
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+
+from numpy import complex128, empty, e, pi
+from numpy.random import random
+from numpy.fft import fft
+from numpy.linalg import norm
+
+
+def constructDFT(size):
+    dft = empty([size, size], complex128)
+
+    for row in range(0, size):
+        for col in range(0, size):
+            dft[row, col] = e ** (- 2j * pi * row * col / size)
+
+    return dft
+
+
+size = 10
+signal = random(size) * 2 - 1
+dft = constructDFT(size)
+
+numpy_dft = fft(signal)
+explicit_dft = dft.dot(signal)
+
+print "Delta between DFTs: " + str(norm(numpy_dft - explicit_dft))