Saya sudah mencoba googling dan wikipedia-ing itu, tapi saya belum mendapatkan jawaban di luar 'itu karena frekuensi sinyal input berada di antara dua nampan'.
Saya mengerti bahwa inilah alasannya, tetapi apa yang tidak dapat saya pahami adalah mengapa kebocoran ini tampaknya meluas ke beberapa nampan yang berdekatan daripada hanya satu nampan yang berdekatan.
Untuk mengilustrasikan apa yang saya bicarakan, inilah beberapa data yang disimulasikan (kode di akhir posting):
Di atas adalah spektrum FFT (diplot pada skala log) dari gelombang sinus frekuensi 10. Laju sampling adalah satu, dan jumlah sampel adalah 100. Grafik telah bergeser FFT. Jelas hanya ada puncak di bin 10, dan sisanya ada di urutan kesalahan numerik, atau ada sekitar.
Ini adalah spektrum frekuensi pada frekuensi 10,1 yang dihasilkan. Jelas ada 'kebocoran' ke lebih banyak tempat sampah daripada sekadar tempat sampah yang berdekatan.
Ini adalah plot untuk frekuensi 10.5.
Pertanyaan: Mengapa ada kebocoran ini, dan mengapa itu menyebar ke semua tempat sampah lainnya, daripada ke tempat sampah yang berdekatan?
Kode, untuk siapa saja yang tertarik (kode Python)
import numpy as np
import matplotlib.pyplot as plt
xFreq = 10.5
xSize = 100.0
xPeriod = xSize/xFreq
x = np.linspace(1,xSize,xSize)
data = np.sin(2*np.pi*x/xPeriod)
fft = np.fft.fft(data)
fft = np.fft.fftshift(fft)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(abs(fft), "o")
ax.set_yscale('log')
plt.show()
Saya mengubah xFreq
nilainya dari 10.0
menjadi 10.5
, dll.