Я пытаюсь взять БПФ и построить его. Проблема в том, что мой код работает для небольших частот (например, 50), но не работает для больших частот, которые мне нужны. Что происходит с моим кодом ?! Я ожидаю увидеть всплеск на частоте синусоидальной волны I, но шип на разных частотах зависит от используемого множителя.Странный выход FFT python
bins = 600
ss = 2048
freq = 44100
centerfreq = freq*bins/ss
# Number of samplepoints
N = ss
# sample spacing
T = 1/800.
x = np.linspace(0.0, N*T, N)
y = sin(2*np.pi*centerfreq*x)
yf = fft(y)
xf = np.linspace(0.0, 1.0/(2.0*T), N/2)
plt.plot(xf, 2.0/N * np.abs(yf[0:N/2]), 'r')
Что вы подразумеваете под "это не работает"? Каковы были исходные данные, что вы ожидали увидеть, что на самом деле произошло? –
Входы указаны в коде, который я разместил (бины, ss, freq); выход представляет собой всплеск на графике как частоту, не связанную с «centerfreq» в коде выше. Кажется, когда я изменяю значение «Т», он перемещает шип. –