首页 > 解决方案 > 为什么 numpy ifft 不返回我的原始光谱?

问题描述

当我运行 np.fft.fft(a) 然后 np.fft.ifft(np.fft.fft(a)) 我没有得到相同的输入信号。谁能解释这是为什么?

import numpy as np
import matplotlib.pyplot as plt

a = [64 56 49 42 35 30 27 26 26 27 30 34 39 44 50 55 60 65 70 74 77 81 83 85
86 85 83 81 77 72 66 59 51 43 36 30 27 24 24 26 28 32 36 42 47 52 57 63
 66 71 74 77 79 80 80 81 79 76 72 67 60 54 46 39 32 28 24 23 23 25 27 31
 35 40 45 50 55 60 64 68 71 74 75 77 77 76 75 73 68 63 57 50 44 37 31 27
 23 22 22 23 25 29 33 38 42 46 51 55 60 63 67 70 72 73 74 74 74 72 70 67
 62 56 50 44 38 32 27 24 21 21 21 23 26 29 33 37 41 45 49 54 58 61 64 67
 69 70 71 71 71 71 69 65 62 57 52 46 40 34 29 26 22 21 20 20 22 24 27 31
 35 39 43 46 50 53 57 60 63 65 66 67 68 68 67 66 63 60 57 51 47 41 35 30
 26 22 20 19 19 19 21 23]

fft_of_a = np.fft.fft(a)
reconstruct_of_a = np.fft.ifft(fft_of_a)

plt.plot(a)
plt.plot(reconstruct_of_a)
plt.show()

提供以下情节

示例图

标签: pythonsignal-processing

解决方案


推荐阅读