Just another update
This commit is contained in:
parent
a25938f123
commit
00a190b0a6
6591 changed files with 94363 additions and 23227 deletions
|
|
@ -3,9 +3,11 @@ from cmath import exp, pi
|
|||
def fft(x):
|
||||
N = len(x)
|
||||
if N <= 1: return x
|
||||
even = fft(x[0::2])
|
||||
odd = fft(x[1::2])
|
||||
return [even[k] + exp(-2j*pi*k/N)*odd[k] for k in xrange(N/2)] + \
|
||||
[even[k] - exp(-2j*pi*k/N)*odd[k] for k in xrange(N/2)]
|
||||
even = fft2(x[0::2])
|
||||
odd = fft2(x[1::2])
|
||||
T= [exp(-2j*pi*k/N)*odd[k] for k in xrange(N/2)]
|
||||
return [even[k] + T[k] for k in xrange(N/2)] + \
|
||||
[even[k] - T[k] for k in xrange(N/2)]
|
||||
|
||||
print fft([1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0])
|
||||
print( ' '.join("%5.3f" % abs(f)
|
||||
for f in fft([1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0])) )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
>>> from numpy.fft import fft
|
||||
>>> from numpy import array
|
||||
>>> a = array((0.0, 0.924, 0.707, -0.383, -1.0, -0.383, 0.707, 0.924, 0.0, -0.924, -0.707, 0.383, 1.0, 0.383, -0.707, -0.924))
|
||||
>>> a = array([1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0])
|
||||
>>> print( ' '.join("%5.3f" % abs(f) for f in fft(a)) )
|
||||
0.000 0.001 0.000 8.001 0.000 0.001 0.000 0.001 0.000 0.001 0.000 0.001 0.000 8.001 0.000 0.001
|
||||
4.000 2.613 0.000 1.082 0.000 1.082 0.000 2.613
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue