Discrete Fourier Transform (DFT) tradisional dan sepupunya, FFT, menghasilkan tempat sampah yang berjarak sama. Dengan kata lain, Anda mendapatkan sesuatu seperti 10 hertz pertama di tempat sampah pertama, 10,1 hingga 20 di tempat kedua, dll. Namun, saya perlu sesuatu yang sedikit berbeda. Saya ingin rentang frekuensi yang dicakup oleh setiap nampan meningkat secara geometris. Misalkan saya memilih pengganda 1,5. Kemudian kita memiliki 0 hingga 10 di nampan pertama, saya ingin 11 hingga 25 di nampan kedua, 26 hingga 48 di nampan ketiga, dll. Apakah mungkin untuk memodifikasi algoritma DFT untuk berperilaku seperti ini?
16
Jawaban:
Mengutip disertasi saya:
sumber
Ada asumsi matematika yang signifikan dalam DFT (FFT). Yang paling penting dalam hal ini adalah Anda melakukan transformasi sinusoid waktu tak terbatas terpotong. Yang kedua adalah bahwa waktu terpotong dan sinyal frequncy terpotong diasumsikan terbungkus modulo (melingkar). Tempat sampah yang ditempatkan dalam FFT normal membentuk satu set ortonormal hanya karena asumsi-asumsi ini (dan bahkan penjajaran akal aritmetika.) waktu <-> pasangan frekuensi karenanya dapat dibalik dengan sempurna.
Transformasi konstan-Q tidak memotong dengan baik, oleh karena itu setiap implementasi praktis tidak menghasilkan pasangan orto-normal yang sempurna. Kernel adalah sinusoid yang membusuk secara eksponensial yang sangat panjang dan oleh karena itu tidak dapat memiliki keunggulan melingkar seperti yang ditunjukkan di atas. Jika Anda tidak memotong, mereka membentuk set ortonormal.
Transformasi wavelet biasanya memiliki power-of-2 spaced, yang tidak terlalu berguna untuk estimasi frekuensi berbutir halus.
Saran untuk meratakan ruang DFT sinusoid standar akan kehilangan informasi di wilayah yang banyak spasi sementara itu akan menggandakan informasi di wilayah yang jauh. Kecuali, fungsi apodisasi yang berbeda digunakan untuk setiap frekuensi ... sangat mahal.
Salah satu solusi praktis adalah dengan melakukan prosedur berulang setengah-spektrum-> decimate-by-2 untuk mendapatkan subbagian berbasis oktaf untuk memenuhi beberapa kesalahan estimasi minimax per oktaf. Bagian-spektrum-> decimate-by-rasio dapat diatur ke rasio apa pun untuk mencapai setiap kebutuhan granularitas. Meski demikian, komputasi masih cukup intensif.
sumber