Intuisi untuk sidelob di FFT

8

Saya bertanya-tanya apakah ada cara intuitif untuk memahami mengapa sidelob muncul ketika melakukan FFT pada sinyal dengan panjang tetap?

CatsLoveJazz
sumber

Jawaban:

13

Saya memiliki dua penjelasan dengan maksud memberikan wawasan intuitif tambahan di luar penjelasan matematis ringkas; pertama, penjelasan dari Fourier Series Expansion bersama dengan gagasan pengulangan urutan domain waktu terpotong yang menunjukkan diskontinuitas tersirat yang dihasilkan, membutuhkan lebih banyak komponen frekuensi untuk merekonstruksi daripada yang benar-benar ada jika bentuk gelombang tidak terpotong. Dan kedua, penjelasan dari melihat DFT sebagai bank filter yang tidak terlalu bagus.

Penjelasan Pertama: Ekspansi Seri Fourier dan Periodik Waktu

Transformasi Fourier dari urutan terbatas waktu identik dengan Transformasi Fourier dari urutan yang periodik untuk semua waktu.

Transformasi Fourier dari Sekuens Terbatas Waktu

Ini berlaku untuk Transformasi Fourier serta Transformasi Fourier Diskrit dan dikenal sebagai Properti Periodisitas DFT:

Properti Periodisitas: Mengingat vektor DFT titik-N X [k], dengan sampel DFT terbalik x [n], dengan k dan n berkisar antara 0 hingga N-1; jika n terletak di luar kisaran 0,1,2 ..., N-1, maka

x[n]=x[modulo(n,N)]

Demikian juga, diberi urutan waktu titik-N x [n], dengan DFT X [k], jika k terletak di luar kisaran 0, 1,2, ..., N-1, maka

X[k]=X[modulo(k,N)]

Untuk membantu mendapatkan pemahaman yang intuitif, kunci utama adalah apa pun yang disampel dalam satu domain, menjadi periodik di domain lain. Demikian pula, apa pun yang periodik dalam satu domain, menjadi sampel (bernilai diskrit) di domain lain. Di sini secara khusus, "sampel" berarti bahwa sinyal hanya akan ada sebagai nilai bukan nol di lokasi diskrit di domain (aliran impuls).

Pengambilan Sampel di Satu Domain -> Periodisitas di Domain Lain : Pertimbangkan spektrum gelombang kosinus analog 3 Hz sebelum dan sesudah pengambilan sampel dengan konverter A / D. Spektrum digital dapat dilihat sebagai periodik; pandangan silinder dari spektrum digital juga merupakan pandangan yang valid untuk menjelaskan periodisitas, tetapi saya menemukan ekstensi ini ke domain frekuensi analog (dengan memiliki frekuensi meluas hingga +/- tak terhingga) membantu beberapa orang mendapatkan pandangan intuitif dari pemrosesan sinyal yang terlibat .

Sampling ADC

Periodisitas dalam satu Domain -> Pengambilan sampel di Domain lainnya : Pertimbangkan Ekspansi Seri Fourier sebagai contoh sederhana yang menunjukkan properti ini. Fourier Series Expansion dilakukan selama interval domain waktu terbatas dari 0 hingga T. Ketika didekomposisi menjadi komponen frekuensi yang terpisah, satu-satunya frekuensi yang digunakan adalah DC, frekuensi dasar 1 / T, dan kelipatan integer 1 / T (harmonik). Akibatnya, karena frekuensi hanya dapat ada pada kelipatan 1 / T (dan DC), domain frekuensi telah dijadikan sampel.

masukkan deskripsi gambar di sini

Lebih lanjut, jika kita merekonstruksi bentuk gelombang domain waktu, dengan menjumlahkan bersama masing-masing komponen frekuensi, kita juga dapat melihat periodisitas tersirat dalam domain waktu jika kita membiarkan komponen frekuensi melampaui batas 0 hingga T. Ini karena periodisitas ini bahwa komponen frekuensi tidak dapat ada pada frekuensi lain selain kelipatan 1 / T (karena kondisi yang berlawanan: jika memang ada, maka mereka tidak akan mulai dan berakhir secara konsisten dalam interval waktu 0 hingga T, dan oleh karena itu periodisitas tidak bisa ada).

masukkan deskripsi gambar di sini

Memahami hal di atas semoga akan membantu memberikan penjelasan intuitif tentang kebocoran spektral. Jadi sekarang saya akan mengulangi poin utama:

Transformasi Fourier dari urutan terbatas waktu identik dengan Transformasi Fourier dari urutan yang periodik untuk semua waktu.

masukkan deskripsi gambar di sini

Kebocoran Spektral dengan " Ekspansi Seri Fourier ":

Pertimbangkan dua bentuk gelombang sinusoidal dalam interval waktu dari 0 hingga T, yang pertama dengan jumlah siklus bilangan bulat selama interval waktu, dan kasus kedua dengan jumlah siklus non-integer.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Jelas dalam Kasus 1 kita dapat melihat dengan pandangan pengulangan bahwa bahkan mengulangi sinusoid murni kita tetap merupakan sinusoid murni, tetapi dalam Kasus 2 sinusoid kita sekarang mengalami transisi yang tiba-tiba, dan menggunakan pandangan Fourier Series Expansion of rekonstruksi, akan memerlukan beberapa komponen frekuensi untuk merekonstruksi bentuk gelombang tersebut dalam domain waktu.

masukkan deskripsi gambar di sini

Penjelasan Kedua: Saring Tampilan Bank DFT

Penjelasan intuitif lain untuk kebocoran spektral (dan membantu secara signifikan dengan memahami DFT secara umum) adalah apa yang saya sebut pandangan bank filter DFT. Untuk melihat ini, pertimbangkan DFT 4 pt sederhana seperti yang ditunjukkan pada gambar di bawah ini dan amati untuk setiap nampan, kami secara efektif memutar sinyal, dan kemudian melewati nilai yang diputar melalui filter FIR gain 4 tap unity gain. Untuk nampan pertama, yang berkorespondensi dengan DC, tidak ada rotasi, jadi kami hanya menjumlahkan empat sampel, dan untuk nampan lainnya, kami memutar secara bertahap pada frekuensi yang lebih tinggi saat kami bergerak melalui nampan DFT:

masukkan deskripsi gambar di sini

(Catatan samping- Jika kami melakukan streaming DFT, di mana kami menghitung DFT 4 titik baru pada urutan 4 titik saat kami memindai melalui bentuk gelombang, itu akan persis seperti bank filter, tetapi terlepas dari apakah kami melakukan itu atau tidak, ini tampilan memberikan wawasan hebat ke dalam kebocoran spektral di samping konvolusi fungsi sinc yang biasa dalam domain frekuensi yang diungkapkan oleh penjelasan matematis)

masukkan deskripsi gambar di sini

Sekarang perhatikan respons frekuensi untuk setiap filter FIR yang setara, dengan menggunakan koefisien yang diberikan dalam DFT (Misalnya gunakan freqz ([coeff]) dalam Matlab atau Python) seperti yang ditunjukkan pada gambar di bawah ini:

bank filter

Inilah poin utamanya: Karena setiap Filter dalam konstruksi DFT pada dasarnya adalah filter FIR gain persatuan , bentuk filter ini dalam frekuensinya mendekati fungsi sinc karena panjang DFT menjadi lebih panjang (dan merupakan fungsi sinc yang sama untuk kecil N). Jadi kita akan memanggil filter sinc ini dan perhatikan bahwa filter sinc memiliki sidelob yang relatif tinggi dan memiliki amplop yang menggulung sangat lambat dengan frekuensi (pada 1 / f untuk sinc murni). Dengan rotator fase dalam DFT, kami hanya memindahkan lobus utama dari filter tulus ini ke setiap nampan yang diinginkan, tetapi lobus samping yang ada untuk setiap nampan memungkinkan frekuensi di lokasi lain untuk menyebabkan energi muncul di nampan ini . Jumlah kebocoran sepenuhnya diprediksi oleh filter ini.

Dengan menggunakan tampilan ini, pertimbangkan input sinyal kencang tunggal dengan frekuensi yang berada di antara dua nampan frekuensi seperti yang ditunjukkan pada gambar di bawah ini (input yang ada persis pada nampan mana pun akan memiliki jumlah siklus bilangan bulat dalam interval domain waktu dan karenanya TIDAK ADA kebocoran spektral seperti yang kami tunjukkan sebelumnya). Filter atas menunjukkan amplitudo di lokasi frekuensi ini yang akan "bocor" ke nampan pertama. Filter kedua menunjukkan amplitudo (sedikit lebih tinggi), nampan ketiga (yang frekuensi kita paling dekat) akan memiliki respons tertinggi dan nampan keempat akan lebih rendah.

masukkan deskripsi gambar di sini

RINGKASAN

Saya telah menyajikan dua penjelasan dengan maksud memberikan intuisi tambahanwawasan di luar penjelasan matematis singkat tentang perkalian dengan jendela persegi panjang dalam domain waktu adalah konvolusi dalam domain frekuensi (dan kebocoran yang kita lihat karena itu adalah hasil dari fungsi sinc yang berputar dalam frekuensi dengan bentuk gelombang minat yang kita potong dalam waktu) ; pertama, penjelasan dari Fourier Series Expansion bersama dengan gagasan pengulangan urutan domain waktu terpotong yang menunjukkan diskontinuitas tersirat yang dihasilkan, membutuhkan lebih banyak komponen frekuensi untuk merekonstruksi daripada yang benar-benar ada jika bentuk gelombang tidak terpotong. Dan kedua, penjelasan dari melihat DFT sebagai bank filter, dan filter yang buruk pada saat itu (khususnya filter gain yang mendekati respons frekuensi fungsi sinc saat N meningkat).

Dan Boschen
sumber
Anda menyebutkan istilah "kami secara efektif memutar sinyal," .. tetapi apa yang telah saya pelajari & pahami adalah bahwa dalam perubahan Orthogonal sampel sinyal N dengan matriks faktor dua arah .. alih-alih sinyal yang kami gunakan untuk memutar vektor basis. Jika kita telah membagi ruang frekuensi 2 * Pi menjadi 10 titik (yaitu melakukan 10 titik dft) maka kita akan memutar melalui vektor basis yang berbeda (mewakili frekuensi yang berbeda) & menemukan koordinat titik (yaitu sampel tertentu) berkenaan dengan vektor basis fourier yang berbeda . eng.hmc.edu/e102/lectures/orthogonalTransform/… ..
user6363
lanjutkan dari atas .... dan jika kita memiliki wrt kordinat yang berbeda untuk basis frekuensi yang berbeda maka kita dapat memperkirakan berapa banyak komponen frekuensi dalam setiap sampel ... apa yang saya dapatkan benar?
user6363
atau Anda ingin katakan adalah N * N matriks faktor twiddle adalah bank filter ... yang mampu mengekstraksi konten frekuensi yang berbeda dalam setiap sampel sinyal?
user6363
1
Lihat posting ini di mana saya menjelaskan kesamaan antara homodyning sinyal (memutar sinyal) dan homdyning koefisien (memutar koefisien, yang malah memindahkan filter ke sinyal: dsp.stackexchange.com/questions/41228/…
Dan Boschen
4

Ketika Anda mencabut N sampel sinusoid dari aliran sampel yang lebih panjang (karena yang dapat Anda lakukan adalah lulus Nsampel ke FFT), Anda menerapkan jendela. Jendela segi empat.

Windowing adalah perkalian dalam domain waktu. Perkalian dalam domain waktu sesuai dengan konvolusi dalam domain frekuensi. Lobus samping yang Anda lihat adalah hasil menggabungkan Fourier Transform dari fungsi jendela dengan garis spektral tunggal yang akan menjadi Transform Fourier dari sinusoid.

robert bristow-johnson
sumber
1

Vektor dasar dari DFT semuanya persis integer periodik dalam lebar aperture DFT. Jika sinyal Anda bukan bilangan bulat periodik dalam panjang tetap Anda, itu tidak dapat direpresentasikan secara tepat dan sepenuhnya oleh frekuensi tunggal vektor basis DFT. Jika sinyal Anda menyerupai sinusoid, maka sering kali sebagian besar diwakili oleh nampan frekuensi hasil DFT tunggal (ditambah itu gambar cermin konjugat kompleks untuk input nyata), tetapi karena mungkin tidak sama persis dalam frekuensi, yang tersisa, tidak energi -matching harus diwakili di suatu tempat untuk hasil DFT untuk sepenuhnya mewakili sinyal. Energi yang tersisa masuk ke lobus samping.

Jika Anda mengurangi sinusoid periodik yang paling cocok tetapi benar-benar bilangan bulat dari sinyal Anda, perbedaannya (mungkin terlihat seperti segitiga bengkok tipis atau dasi kupu-kupu, coba saja) adalah apa yang direpresentasikan atau didekomposisi oleh lobus samping.

Bentuk lobus samping adalah Sinc (atau lebih tepatnya, Sinc berkala atau kernel Dirichlet), karena itu adalah transformasi dari jendela persegi panjang yang Anda dapatkan pada sinyal panjang yang terbatas.

hotpaw2
sumber
1

Saya perlahan-lahan belajar sendiri DSP dan telah memikirkan pertanyaan-pertanyaan serupa. Saya harap penjelasan yang sangat sederhana yang akan bermanfaat bagi Anda adalah:

Setiap nampan FFT mewakili tepat satu frekuensi tertentu. Jadi untuk merepresentasikan frekuensi yang tidak sesuai dengan frekuensi tepat dari sebuah bin berarti harus antara dua nampan yaitu akan dioleskan di dua nampan.

Ketika Anda memikirkan fakta, FFT hanya dapat diterapkan pada bagian dari sinyal maka biasanya ada diskontinitas di setiap ujung bagian dari sinyal tempat Anda menerapkan FFT. Ini lebih sulit untuk dijelaskan secara sederhana, tetapi saya kira Anda bisa menganggapnya sebagai pemaksaan matematika untuk memperkenalkan satu ton gelombang sinus tambahan untuk memodelkan diskontinuitas dan Anda mencemari lebih banyak tempat sampah (ini menjawab pertanyaan, sedikit tentang jendela selanjutnya adalah samping ), jadi untuk mengurangi ini, sebuah jendela digunakan untuk memuluskan diskontinuitas pada setiap ujung tetapi pada bentangan mengubah sinyal.

Ketika saya mengatakan frekuensi yang saya maksud adalah gelombang sinus dari frekuensi yang diberikan, maka analisis Fourier mengasumsikan Anda memikirkan sinyal Anda sebagai jumlah dari gelombang sinus.

keith
sumber