Bisakah DCT digunakan untuk spektrum magnitudo audio daripada DFT?

13

Dari apa yang saya mengerti, DCT memiliki setengah ukuran nampan sebagai DFT dengan ukuran yang sama N. DFT juga mencakup informasi fase, tetapi seringkali ini tidak diperlukan ketika hanya spektrum magnitudo yang diinginkan.

  • Bisakah DCT digunakan untuk menyediakan spektrum magnitudo dengan kepadatan dua kali (setengah jarak nampan) DFT atau akankah informasi fase keluar hilang?
  • Bagaimana dengan tumpang tindih 50%?
Yakub
sumber
4
Saya percaya DCT termasuk informasi fase juga, hanya saja tidak menggunakan bilangan kompleks. "FFT nyata" juga menggunakan setengah memori dan setengah waktu perhitungan untuk informasi yang sama, dengan membuang frekuensi negatif yang identik. "Bagian nyata dari FFT panjang-panjang adalah sama dengan DCT kecuali untuk pergeseran fase setengah sampel dalam fungsi dasar sinusoidal"
endolith
Memang, paling tidak tanda koefisien dapat dianggap sebagai fase orang miskin
Laurent Duval

Jawaban:

3

Ya, DCT dapat digunakan untuk menyediakan spektrum magnitudo dengan kepadatan dua kali lipat. Saya tidak begitu mengerti tumpang tindih, tetapi saya berasumsi bahwa karena DCT mencakup lebih sedikit, Anda berpikir akan ada tumpang tindih. Untuk memberikan jawaban yang memenuhi syarat untuk pertanyaan ini, izinkan saya membuat tinjauan cepat untuk penggunaan DCT dalam pemrosesan gambar.

Pertama, kita perlu membuat beberapa asumsi. Untuk menggunakan DCT, Anda harus memiliki sinyal nyata. Ini menurut definisi. Ketika Anda mengatakan, DCT memiliki setengah ukuran nampan dibandingkan dengan DFT dalam ukuran N, Anda mengasumsikan bahwa sinyal tersebut adalah sinyal frekuensi rendah. Kalau tidak, tidak banyak.

Untuk penggunaan DCT dalam kompresi, karena DFT gambar akan simetris, itu menghasilkan informasi yang berlebihan (satu sisi cermin akan cukup untuk mereproduksi sinyal). Oleh karena itu, kernel DCT digunakan untuk menghasilkan informasi yang lebih padat dibandingkan dengan DFT. Ini juga berlaku untuk sinyal audio frekuensi rendah, ini dapat digunakan dengan cara yang sama. Meskipun membuatnya lebih padat, koefisien menjadi lebih besar, karena kernel DCT mencakup kedua sisi (bagian nyata dan imajiner) dari sinyal.

Jurusan saya adalah pemrosesan gambar, jadi saya mencoba memetakan konsep dan penjelasan DCT dan DFT dalam pemrosesan gambar. Namun, satu perbedaan antara gambar dan audio adalah ukuran. Dalam pemrosesan gambar, Anda tahu ukurannya (baris dan kolom untuk FFT dan tujuan pemrosesan lainnya). Saya kira Anda perlu membagi vektor data audio entah bagaimana untuk proses lebih lanjut. Tanpa mengetahui data, ini bisa merepotkan (saya tidak yakin).

Berikut ini gambar yang diambil dari web, tetapi saya tidak menuliskannya di mana saya mengambilnya, bisa berupa wikipedia .;

Pengolahan citra

Seperti yang Anda lihat, gambar hasil transformasi direpresentasikan dalam DCT oleh spektrum magnitudo tanpa masalah. Dengan cara yang lebih kompak dan lebih padat, dan lihat besarnya koefisien. Ini lebih besar dari dua kali DFT. DFT simetris, Anda bisa membaginya menjadi dua. Satu bagian berlebihan. Dan satu hal lagi, DCT dapat menyimpan informasi bukan hanya setengah dari DFT tetapi hampir seperempat dari DFT. Itu umumnya kasus DCT mengatasi ke DFT dalam gambar.

Hephaestus
sumber
Tidak bisakah FFT dibagi menjadi empat, karena itu mubazir dalam dimensi X dan Y?
endolith
Mengapa FFT berisi lebih banyak informasi dan DCT berisi lebih banyak nol?
endolith
Pertanyaan pertama, saya tidak begitu mengerti, apa yang Anda maksud dengan dimensi X dan Y? Untuk pertanyaan kedua, apakah karena perbedaan dalam kernel mereka. Itu tidak terlihat seperti DCT mengandung lebih banyak nol, itu sebenarnya mengandung lebih banyak nol daripada Transformasi Fourier normal (DFT). Ini disebabkan lagi perbedaan mereka di kernel mereka.
Hephaestus
Maksud saya gambar adalah sinyal nyata, sehingga FFT berisi informasi yang berlebihan. Setengah negatif dari FFT hanyalah cermin dari setengah positif, di kedua dimensi.
endolith
0
  • Bagaimana dengan tumpang tindih 50%?

Dari pertanyaan ini, saya mengerti bahwa Anda berpikir tentang melakukan pelokalan, pemrosesan blok, dengan cara menggeser Fourier atau spektogram.

  • Bisakah DCT digunakan untuk menyediakan spektrum magnitudo dengan kepadatan dua kali (setengah jarak nampan) DFT atau akankah informasi fase keluar hilang?

Jika Anda berbicara tentang spektrum magnitudo, tentu saja bagian dari fase (baik itu argumen koefisien Fourier yang kompleks, atau tanda koefisien DCT) akan hilang juga .

Jadi tentu saja Anda dapat memasukkan banyak kernel sebagai pengganti transformasi Fourier berjendela di dalam formulasi Fourier jangka pendek untuk analisis saja. Berbagai jenis DCT, versi mereka yang tumpang tindih (LOT, MDCT), dengan sifat ortogonal dan jendela yang bagus, bahkan dapat dibalik (sintesis).

Dalam audio, (non-kompleks) DCT atau versi yang tumpang tindih sering digunakan untuk analisis, deteksi onset dan pitch, (misalnya, pemisahan sumber), misalnya STFT, MDCT dan inverses Matlab toolbox oleh A. Liutkus. Kotak alat analisis frekuensi besar (LTFAT) juga memiliki:

  • Transformasi TF cepat dengan skala frekuensi waktu linier: Gabor (STFT), Wilson dan windowed MDCT
  • Regresi yang jarang dalam domain Gabor dan WMDCT

Saya tidak tahu audio dengan baik. Namun, 50% atau 75% tumpang tindih sangat umum, dan sangat sedikit orang menggunakan pengaturan lain. Namun, sangat umum untuk menggunakan setidaknya dua ukuran jendela , yang panjang dari bagian yang diam, yang pendek untuk sementara, untuk membantu mengatasi batasan frekuensi waktu "satu jendela".

Laurent Duval
sumber