У меня есть следующий код, чтобы получить «правильные ответы» от numpy fft.
import numpy as np
import matplotlib.pyplot as plt
n = np.pi/2
Fs = 140
t = np.arange(0,n,1/Fs)
f1, f2, f3 = (20,45,60)
a1 = np.sin(2*np.pi*f1*t)
a2 = np.sin(2*np.pi*f2*t)
a3 = np.sin(2*np.pi*f3*t)
y = a1+a2+a3
plt.subplot(2,1,1)
plt.xlim(0,n)
plt.ylim(y.min()-0.2,y.max()+0.5)
plt.plot(t,y)
plt.subplot(2, 1, 2)
N = len(t)
X = np.fft.fft(y)
freq = (Fs/2)*np.linspace(0,1,N//2)
plt.plot(freq, np.abs(X[:len(freq)])*2/N)
plt.show()
производит
![enter image description here](https://i.stack.imgur.com/wgdqZ.png)
Почему амплитуды БПФ не одинаковы для каждой частоты?
Помощь приветствуется.