Bagaimana cara mengoptimalkan panjang jendela di STFT?

12

Saya punya banyak sinyal EEG dan saya ingin menganalisisnya menggunakan metode linear seperti STFT (Short Time Fourier Transform). Di STFT, Bagaimana saya bisa mengoptimalkan panjang jendela analisis, untuk mencerminkan spektrum frekuensi setiap jendela analisis dengan cara yang benar?

Maen
sumber
Jika Anda akan mengoptimalkan sesuatu, Anda perlu ukuran objektif. Pertanyaan Anda tidak benar-benar mengatakan bagaimana Anda mengukur panjang jendela "optimal". Apa yang Anda maksud dengan merefleksikan spektrum frekuensi dengan "cara yang tepat?"
Jason R
@ Mama: Anda ingin menganalisis sinyal EEG untuk melakukan apa dengan mereka?
Sriram
Diperlukan pemilihan dan validasi jawaban terbaik
Laurent Duval

Jawaban:

5

Ini adalah "prinsip ketidakpastian" klasik dari Fourier Transform. Anda dapat memiliki resolusi tinggi dalam waktu atau frekuensi tinggi tetapi tidak keduanya sekaligus. Panjang jendela memungkinkan Anda untuk menukar keduanya.

Jika Anda ingin mendeteksi "peristiwa" dalam sinyal EEG Anda dengan resolusi katakanlah 10 ms, maka ini harus menjadi panjang jendela Anda. Ini akan memberi Anda resolusi frekuensi sekitar 100 Hz.

Hilmar
sumber
3

Panjang jendela optimal akan tergantung pada aplikasi Anda. Jika aplikasi Anda sedemikian rupa sehingga Anda memerlukan informasi domain waktu agar lebih akurat, kurangi ukuran jendela Anda. Jika aplikasi menuntut informasi domain frekuensi lebih spesifik, maka tambah ukuran windows. Seperti yang disebutkan Hilmar, yang Uncertainty Principlebenar - benar membuat Anda tidak punya pilihan lain. Anda tidak bisa mendapatkan resolusi sempurna di kedua domain sekaligus. Anda bisa mendapatkan resolusi sempurna hanya dalam satu domain dengan biaya resolusi nol di domain lain (waktu dan frekuensi) atau di antara resolusi, tetapi di kedua domain.

Saya tidak tahu apakah ini menjawab pertanyaan Anda karena Anda bertanya secara khusus tentang STFT. Anda dapat mencoba menggunakan wavelet transformsuntuk mendapatkan informasi dalam sinyal. Wavelet transformsakan memberi Anda resolusi pada rentang yang jauh lebih besar dengan menganalisis sinyal pada resolusi banyak jendela.

Sriram
sumber
0

Saya tidak tahu EEG tetapi masalah dasar (mungkin saya harus mengatakan mendasar) ketika menggunakan STFT adalah memilih panjang jendela yang tepat. Jika EEG Anda periodik dan Anda ingin menyelesaikan dasar dan harmonik Anda harus menggunakan jendela 'panjang'. Jika Anda ingin mendeteksi timbulnya atau adanya suatu peristiwa atau Anda lebih tertarik pada amplop spektrum Anda dapat menggunakan jendela 'pendek'.

niaren
sumber
0

Saya telah menghabiskan banyak waktu mengoptimalkan jendela dalam analisis frekuensi waktu atau bank filter . Orang dapat mengoptimalkannya untuk deteksi, denoising, pemisahan sinyal ... Sangat tergantung pada aplikasi. Karena analisis frekuensi waktu umumnya berlebihan, analisis optimal atau sintesis windows adalah tugas yang berbeda. Dan panjang hanya satu parameter dalam desain jendela.

Masalahnya bahkan lebih kompleks karena formulasi optimalitas yang didiskritisasi jauh lebih rumit daripada kasus domain waktu kontinu (lihat misalnya Transformasi Gabor terkonsentrasi secara optimal untuk komponen frekuensi waktu lokal ).

Jadi aturan praktis praktis saya saat ini adalah: mulai dengan bentuk dan panjang jendela yang tampaknya ok. Kemudian ulangi analisis dengan dua jendela dengan panjang dua kali setengah, dan gabungkan hasilnya.

Laurent Duval
sumber
-1

Biasanya ukuran jendela yang lebar memberikan resolusi frekuensi yang lebih baik tetapi resolusi waktu yang buruk dan sebaliknya. Lihatlah contoh ini di mana saya menghasilkan spektrogram gelombang sinus dengan 5kHz dan laju sampel 22050Hz, dari kode C ++ saya.

masukkan deskripsi gambar di sini

Spektogram di atas memiliki ukuran jendela 2048 sampel dan tumpang tindih 1024 sampel.

Lihatlah spektogram ini:

masukkan deskripsi gambar di sini

Yang ini memiliki ukuran jendela 512 sampel dan tumpang tindih 256 sampel.

Bisakah Anda melihat perbedaannya? Yang pertama memiliki resolusi frekuensi yang lebih baik daripada yang kedua. Tetapi yang kedua memiliki resolusi waktu yang lebih baik bila dibandingkan dengan yang pertama. Jadi, memilih ukuran jendela tergantung pada aplikasi Anda. Jika Anda berurusan dengan sampel ucapan untuk melacak nada, memilih ukuran jendela yang lebih besar harus sesuai.

Wisnu
sumber
Gelombang sinus sederhana tidak baik untuk menjelaskan resolusi frekuensi. Bahkan menyapu sinus lebih baik untuk itu.
jojek
Jadi, input seperti apa yang baik, menurut Anda?
vishnu
Saya sudah menyebutkan itu di atas.
jojek
Maksudmu menyapu sinus? Apakah ada sinyal lain yang bisa saya gunakan? Saya memiliki presentasi tentang spektrogram dan ingin menampilkan beberapa hal bagus di slide saya tentang windows. Akan menghargai tips :)
vishnu