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.
sumber
Jawaban:
FFT memiliki panjang yang terbatas, dan karenanya merupakan jendela persegi panjang default pada aliran data. Jendela dalam domain waktu menghasilkan lilitan dalam domain frekuensi dengan transformasi jendela. Perhatikan bahwa transformasi jendela persegi panjang adalah fungsi Sinc (sin (x) / x), yang memiliki lebar tak hingga. Ini bukan hanya lebar 2 sampah. Jadi riak fungsi Sinc akan muncul sebagai "kebocoran" jauh dari puncak spektral yang tidak sempurna secara periodik dalam panjang FFT.
Gambar di bawah ini menunjukkan sebagian respons frekuensi dari fungsi sinc. Ketika nada dipusatkan pada salah satu nampan, semua titik lainnya berbaris dengan nol dalam respons frekuensi. Jika tidak dipusatkan pada nampan maka itu seperti mengubah seluruh respons frekuensi, yang menyebabkan nampan lain jatuh pada bagian non-nol dari frekuensi respoonse.
Cara lain untuk melihatnya adalah bahwa FFT hanyalah sebuah bank filter, di mana setiap lantai stop-band filter memiliki banyak riak, dan tentu saja tidak terbatas dalam pelemahan lebih dari 1 bin dari frekuensi pusat. Beberapa jendela (von Hann, dll.) Selain persegi panjang memiliki band stop yang lebih rendah, yang merupakan salah satu alasan penggunaannya yang populer.
sumber
hotpaw2
Jawabannya bagus tapi saya ingin sedikit menguraikanuser5133
komentar:dan pada saat yang sama menjawab pertanyaan itu juga. Perhatikan bahwa saya mencatat ahli dalam bidang ini --- jangan ragu untuk berkomentar, memperbaiki atau mengkonfirmasi.
Tetapi transformasi Fourier dari suatu produk adalah konvolusi dari transformasi Fourier:
sumber