DFT dengan nampan spasi geometris?

16

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?

Brannon
sumber
Anda selalu dapat menghitung DFT di tempat menarik. Juga, Discrete Wavelet Transform dan Filter Banks datang ke pikiran saya. Layak untuk melihat mereka.
2
Anda mencari Konstan Q Transform (CQT) .
Paul R
2
Kata-kata yang buruk. Apa yang Anda inginkan bukanlah hal baru, atau perbaikan dalam banyak kasus.
hotpaw2
2
DFT dan FFT bukan sepupu. Mereka memberikan hasil yang identik.
Telepon

Jawaban:

17

Mengutip disertasi saya:

Kumpulan transformasi diberi nama konstanta Q dan mirip dengan transformasi Fourier.

Perhitungan transformasi Fourier diskrit bisa sangat efisien ketika menggunakan penggunaan transformasi Fourier cepat. Namun kami memperhatikan bahwa energi suatu sinyal dibagi menjadi ember frekuensi berukuran seragam di seluruh spektrum. Meskipun dalam banyak kasus ini berguna, kami melihat situasi di mana distribusi seragam ini kurang optimal. Contoh penting dari kasus seperti itu diamati dengan analisis frekuensi musik. Dalam musik Barat, frekuensi yang membentuk skala musik spasi geometris. Karena itu kami melihat bahwa peta antara tempat sampah frekuensi dari transformasi Fourier diskrit dan frekuensi skala musik tidak mencukupi dalam arti bahwa tempat sampah tidak cocok. Transformasi Q yang konstan mengatasi masalah ini.

Tujuan dari konstanta Q adalah untuk menghasilkan satu set nampan frekuensi yang ditempatkan secara logaritma di mana lebar nampan frekuensi adalah produk dari sebelumnya. Sebagai hasilnya, kami dapat menghasilkan jumlah sampah yang sama per not musik di seluruh spektrum yang dapat didengar, sehingga menjaga tingkat akurasi yang konstan untuk setiap not musik. Tempat frekuensi menjadi lebih luas menuju frekuensi yang lebih tinggi dan semakin sempit ke frekuensi yang lebih rendah. Penyebaran ini dalam akurasi deteksi frekuensi sangat meniru cara di mana sistem audit manusia merespon frekuensi.

Selain itu, pencocokan dekat catatan dalam skala barat membuat konstanta-Q sangat berguna dalam deteksi catatan; mengidentifikasi nilai not musik daripada nilai frekuensi eksplisit. Lebih lanjut, konstanta Q menyederhanakan proses analisis timbre. Frekuensi not yang dimainkan oleh instrumen sering terdiri dari parsial yang terkait secara harmonis. Timbre instrumen dapat ditandai oleh rasio harmonik. Dengan transformasi Q yang konstan, harmonik diberi jarak yang sama di seluruh tempat sampah terlepas dari frekuensi dasar. Ini sangat menyederhanakan proses mengidentifikasi instrumen yang memainkan catatan di mana saja dalam skala hanya dengan menggeser karakterisasi melintasi nampan.

Algoritma yang efisien untuk mentransformasikan transformasi Fourier diskrit (yang dapat dihitung dengan FFT) menjadi transformasi Q Konstan dijelaskan dalam Brown dan Puckette (1992).

Matt Esch
sumber
1

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.

Catraeus
sumber