【发布时间】:2020-12-16 00:04:28
【问题描述】:
问题
我想使用傅里叶变换编写一个非常简单的一维卷积。我的代码没有给出预期的结果。
代码
import numpy as np
import scipy
def fftconvolve(x, y):
''' Perso method to do FFT convolution'''
fftx = np.fft.fft(x)
ffty = np.fft.fft(y)
fftc = fftx * ffty
c = np.fft.ifft(fftc)
return c.real
square = [0,0,0,1,1,1,0,0,0,0] # Example array
output = fftconvolve(square, square)
output2 = scipy.signal.fftconvolve(square, square, mode='same')
结果
图中显示了使用 scipy(橙色)和我的函数(蓝色)进行的卷积。
问题
为什么两个输出不同?
【问题讨论】:
标签: python fft convolution