Fungsi jendela non-persegi panjang yang umum semua tampak simetris. Apakah ada kasus ketika seseorang ingin menggunakan fungsi jendela non-simetris sebelum FFT? (Katakan jika data di satu sisi bukaan FFT dianggap sedikit lebih penting daripada data di sisi lain, atau kurang berisik, dll.)
Jika demikian, apa jenis fungsi jendela asimetris yang telah dipelajari, dan bagaimana mereka mempengaruhi respon frekuensi dibandingkan dengan (lebih lossy?) Offset jendela simetris?
fft
fourier-transform
window-functions
hotpaw2
sumber
sumber
Jawaban:
Saya akan menggunakan jendela singkatan untuk "fungsi jendela".
Dengan audio, pemrosesan apa pun yang menciptakan sesuatu yang mirip dengan pra-dering atau pra-gema akan terdengar buruk seperti mp3 bit-rate rendah. Ini terjadi ketika energi lokal dari transien atau impuls tersebar ke belakang dalam waktu, misalnya dengan modifikasi data spektral dalam transformasi tersusun seperti lapped modified discrete cosine transform (MDCT). Dalam pemrosesan tersebut, audio di-windowed oleh windows analisis yang tumpang tindih , diubah, diproses dalam domain frekuensi (seperti data-dikompresi ke bitrate lebih kecil), windowed lagi dengan jendela sintesis dan dijumlahkan kembali bersama-sama. Produk dari jendela analisis dan sintesis harus sedemikian rupa sehingga jumlah jendela yang tumpang tindih menjadi satu.
Secara tradisional fungsi jendela yang digunakan telah simetris, dan lebarnya merupakan kompromi antara selektivitas frekuensi (jendela panjang) dan penghindaran artefak time-domain (jendela pendek). Semakin lebar jendela, semakin lama pemrosesan dapat menyebarkan sinyal. Solusi yang lebih baru adalah dengan menggunakan jendela asimetris. Dua jendela yang digunakan dapat menjadi gambar cermin satu sama lain. Jendela analisis turun dari puncak ke nol dengan cepat sehingga impuls tidak "terdeteksi" jauh sebelumnya, dan jendela syntheis naik dari nol ke puncak cepat, sehingga efek dari setiap pemrosesan tidak menyebar jauh ke belakang dalam waktu. Keuntungan lain dari ini adalah latensi rendah. Jendela asimetris dapat memiliki selektivitas frekuensi yang baik, dan dapat menggantikan jendela simetris berukuran variabel dalam kompresi audio, seperti semacam obat untuk semua. LihatM. Schnell, M. Schmidt, M. Jander, T. Albert, R. Geiger, V. Ruoppila, P. Ekstrand, M. Lutzky, B. Grill, “MPEG-4 Enhanced Low Delay AAC - standar baru untuk tinggi komunikasi yang berkualitas ” , Konvensi AES ke-125, San Francisco, CA, AS, pracetak 7503, Oktober 2008 dan makalah konferensi lainnya di mana mereka juga memperlihatkan besarnya transformasi Fourier dari jendela mereka: Schnell, M., et al. 2007. Enhanced MPEG-4 Low Delay AAC - Komunikasi Kualitas Tinggi Bitrate Rendah. Dalam Konvensi AES ke-122 .
Gambar 1. Ilustrasi penggunaan windows asimetris dalam analisis-pemrosesan-sintesis menjilat. Produk (hitam putus-putus) dari jendela analisis (biru) dan jendela sintesis (oranye kekuningan) berjumlah satu dengan jendela dari bingkai sebelumnya (abu-abu putus-putus). Kendala lebih lanjut diperlukan untuk menjamin rekonstruksi sempurna ketika menggunakan MDCT.
Transformasi Fourier Diskrit (DFT, FFT) dapat digunakan sebagai pengganti MDCT, tetapi dalam konteks seperti itu akan memberikan data spektral yang berlebihan. Dibandingkan dengan DFT, MDCT hanya memberikan setengah dari data spektral sambil tetap memungkinkan rekonstruksi sempurna jika jendela yang sesuai dipilih.
Berikut ini adalah desain jendela asimetris saya sendiri (Gbr. 2) yang cocok untuk analisis-pemrosesan-sintesis tersusun menggunakan DFT tetapi bukan MDCT yang tidak memberikan rekonstruksi sempurna. Jendela mencoba untuk meminimalkan produk dari rata-rata waktu dan bandwidth frekuensi (mirip dengan jendela Gaussian terbatas ) sambil mempertahankan beberapa sifat-sifat domain waktu yang berpotensi berguna: nonnegatif, unimodal dengan puncak pada "waktu nol" di mana analisis dan sintesis jendela adalah gambar cermin satu sama lain, fungsi dan kontinuitas turunan pertama, rata-rata nol ketika kuadrat dari fungsi jendela ditafsirkan sebagai fungsi kepadatan probabilitas yang tidak dinormalisasi. Jendela dioptimalkan menggunakan evolusi diferensial .
Gambar 2. Kiri: Jendela analisis asimetris yang cocok untuk tumpang tindih analisis-pemrosesan-sintesis bersama-sama dengan jendela sintesis rekanan yang dibalik waktu. Kanan: Jendela kosinus, dengan latensi yang sama dengan jendela asimetris
Gambar 3. Magnitudo transformasi Fourier dari jendela kosinus (biru) dan jendela asimetris (oranye) dari Gambar 2. Jendela asimetris menunjukkan selektivitas frekuensi yang lebih baik.
Berikut adalah kode sumber oktaf untuk plot dan untuk jendela asimetris. Kode plot berasal dari Wikimedia Commons . Pada Linux Saya sarankan menginstal
gnuplot
,epstool
,pstoedit
,transfig
pertama danlibrsvg2-bin
untuk melihat menggunakandisplay
.Anda mungkin hanya ingin menggunakan setiap sampel jendela karena dimulai dan berakhir pada nol. Kode C ++ berikut melakukan itu untuk Anda sehingga Anda tidak mendapatkan sampel nol kecuali dalam seperempat jendela yang nol di mana-mana. Untuk jendela analisis, ini adalah kuartal pertama dan untuk jendela sintesis, ini adalah kuartal terakhir. Bagian kedua dari jendela analisis harus disejajarkan dengan bagian pertama dari jendela sintesis untuk perhitungan produk mereka. Kode ini juga menguji rata-rata jendela (sebagai fungsi kepadatan probabilitas), dan menampilkan kerataan rekonstruksi yang tumpang tindih.
Dan kode sumber untuk fungsi biaya pengoptimalan yang akan digunakan dengan Kiss FFT dan pustaka optimasi :
sumber
Itu tergantung pada konteks windowing. Windowing, seperti yang secara tradisional dikembangkan, dimaksudkan untuk metode Blackman-Tukey dari estimasi kepadatan spektral daya. Ini adalah bentuk umum metode korelogram, di mana teorema Wiener-Khinchin waktu diskrit dieksploitasi. Ingat ini menghubungkan urutan autokorelasi dengan kepadatan spektral daya melalui transformasi Fourier waktu diskrit.
Oleh karena itu, windows dirancang dengan beberapa kriteria dalam pikiran. Pertama, mereka harus memiliki keuntungan persatuan pada awalnya. Ini untuk menjaga daya dalam urutan autokorelasi sinyal, karena rxx [0] dapat dianggap sebagai kekuatan sampel. Selanjutnya, jendela harus meruncing dari asal. Ini karena sejumlah alasan. Pertama, untuk menjadi urutan autokorelasi yang valid, semua kelambatan lain harus kurang dari atau sama dengan aslinya. Kedua, ini memungkinkan untuk pembobotan lebih tinggi dari lag yang lebih rendah, yang telah dihitung dengan sangat percaya diri menggunakan sebagian besar sampel, dan bobot kecil atau nol dari lag yang lebih tinggi, yang memiliki varians yang meningkat karena berkurangnya jumlah sampel data yang tersedia untuk sampel tersebut. perhitungan. Ini pada akhirnya menghasilkan lobus utama yang lebih luas dan kemudian menurunkan resolusi dalam estimasi PSD,
Akhirnya, itu juga sangat diinginkan jika windows memiliki spektrum non-negatif. Ini karena dengan metode Blackman-Tukey, Anda dapat memikirkan bias estimasi akhir sebagai kepadatan spektral daya sebenarnya yang dilingkupi dengan spektrum jendela. Jika spektrum jendela ini memiliki daerah negatif, dimungkinkan untuk memiliki daerah negatif dalam perkiraan kepadatan spektral daya Anda. Ini jelas tidak diinginkan, karena memiliki sedikit makna fisik dalam konteks ini. Selain itu, Anda akan mencatat tidak ada operasi kuadrat besarnya dalam metode Blackman-Tukey. Ini karena, dengan urutan autokorelasi nyata dan bahkan dikalikan dengan jendela nyata dan genap, transformasi Fourier diskrit juga akan nyata dan genap. Dalam praktiknya, Anda akan menemukan komponen negatif yang sangat kecil yang biasanya dikuantisasi.
Untuk alasan ini, windows juga memiliki panjang yang aneh karena semua urutan autokorelasi yang valid juga. Sekarang, apa yang masih bisa dilakukan (dan dilakukan) adalah windowing dalam konteks metode periodogram. Yaitu, window data, dan kemudian ambil kuadrat dari data windowed. Ini tidak setara dengan metode Blackman-Tukey. Anda dapat menemukan, melalui beberapa derivasi statistik, bahwa mereka berperilaku sama rata-rata , tetapi tidak secara umum. Misalnya, cukup umum menggunakan windowing untuk setiap segmen dalam metode Welch atau Bartlett untuk mengurangi varian estimasi. Jadi pada intinya, dengan metode ini, motivasi sebagian sama, tetapi berbeda. Daya dinormalisasi dalam metode ini dengan membagi energi jendela misalnya, bukannya pembobotan jendela yang hati-hati.
Jadi, mudah-mudahan ini mengontekstualisasikan jendela dan asal-usulnya, dan mengapa mereka simetris. Jika Anda penasaran mengapa seseorang dapat memilih jendela asimetris, pertimbangkan implikasi properti dualitas dari transformasi Fourier, dan apa yang melingkupi arti estimasi kepadatan spektral daya Anda untuk aplikasi Anda. Bersulang.
sumber
Titik asli windowing adalah untuk memastikan bahwa sinyal (diasumsikan periodik oleh DFT) tidak memiliki transien tajam di awal dibandingkan dengan akhir. Biayanya adalah bahwa frekuensi menuju pusat jendela (simetris) akan lebih tertimbang dan terwakili dalam DFT berikutnya.
Dengan semua itu di latar belakang, saya bisa membayangkan bahwa seseorang ingin menggunakan jendela asimetris untuk menonjolkan fitur temporal lokal dalam sinyal yang dianalisis melalui DFT. Namun ini mungkin terjadi dengan biaya lebar lobus yang lebih luas selama DFT, jika titik akhir sinyal Anda tidak kira-kira sama dengan amplitudo setelah windowing.
sumber