Преобразование Фурье гауссиана не гауссово, но это неправильно! - Python

Я пытаюсь использовать функцию Numpy fft, однако, когда я даю функции простую гауссову функцию, fft этой гауссовской функции не является гауссианской функцией, она близка, но уменьшена вдвое, так что каждая половина находится на любом конце оси x.

Я вычисляю функцию Гаусса: y = exp (-x ^ 2)

Вот мой код:

from cmath import *
from numpy import multiply
from numpy.fft import fft
from pylab import plot, show

""" Basically the standard range() function but with float support """
def frange (min_value, max_value, step):
    value = float(min_value)
    array = []
    while value < float(max_value):
        array.append(value)
        value += float(step)
    return array


N = 256.0 # number of steps
y = []
x = frange(-5, 5, 10/N)

# fill array y with values of the Gaussian function   
cache = -multiply(x, x)
for i in cache: y.append(exp(i))

Y = fft(y)

# plot the fft of the gausian function
plot(x, abs(Y))
show()

Результат не совсем правильный, потому что БПФ функции Гаусса должно быть самой функцией Гаусса ...

8
задан chutsu 22 March 2011 в 21:52
поделиться