正确规范化 DFT

计算科学 傅立叶分析 傅里叶变换 信号处理 fft
2021-12-25 11:47:59

我一直在玩 scipy 的信号包中的卷积:

N = 2**16
t = np.linspace(-4, 4, N)
h = rect(t, -1, 1)

scipy_conv = signal.fftconvolve(h, h, mode = 'same')
scipy_conv = scipy_conv/max(scipy_conv)

ax1.plot(t, h, label = r'$h(t)$')
ax1.plot(t, scipy_conv, label = r'$(h*g)(t)$ (SciPy)', linestyle = '--')
ax1.set_xlabel(r'$t$')
ax1.grid()
ax1.legend()

正如预期的那样产生情节 在此处输入图像描述

但是,如果我省略通过卷积的最大值进行的人工归一化,则卷积信号具有很大的值: 在此处输入图像描述

我的问题是,我应该如何正确地对卷积进行归一化,以使其幅度与矩形与其自身卷积的分析结果相匹配?

我知道这在某种程度上是我们使用 DFT 而不是连续 FFT 这一事实的假象,答案可能很简单,我只是很困惑。非常感谢任何帮助或指向我错过的答案的指针。提前致谢。

0个回答
没有发现任何回复~