Radix-4 FFT versus Radix-2


10

Apakah implementasi radix-4 lebih cepat dari FFT radix-2 yang dikodekan dengan baik? Dan jika demikian, mengapa lebih cepat?

Jawaban:


5

Tergantung. Secara teoritis Anda dapat menyimpan beberapa kelipatan dengan radix-4 karena radix-4 memiliki 1/4 jumlah kupu-kupu dan 3 mpy + 8 menambahkan per kupu (jika terstruktur dengan benar) dan radix 2 memiliki 1 mpy + 2 menambahkan per kupu .

Jadi dalam hal penggandaan, ini sedikit lebih baik, namun ada kompleksitas yang lebih tinggi dalam hal struktur kode, penanganan pengecualian, manajemen koefisien, manajemen register, pengalamatan digit-reverse, dll.

Jadi itu hanya keuntungan jika jumlah mpy adalah faktor pembatas yang untuk sebagian besar perangkat keras saat ini tidak demikian.


2

di sini ! Anda dapat menemukan penjelasan tentang perbedaan utama antara kedua algoritma untuk FFT. Pada akhir dokumen ada beberapa tabel yang memungkinkan untuk dicatat bahwa, jika ukuran data meningkat, kinerja radix-4 fft lebih baik daripada radix-2.


2

π2sin⁡(⋅)cos⁡(⋅)

jumlah bersih dari perkalian dan penambahan yang saya pikir sama, tetapi radix-4 butterfly dapat dilakukan di bank register prosesor (saya pikir ada sekitar 16 register floating-point yang berbeda dan Anda perlu 8 untuk bagian-bagian nyata dan imaj dari 4 nilai, 2 register untuk twiddle sin dan cosine, dan mungkin beberapa atau dua register lain untuk awal). ini lebih cepat daripada melakukannya di memori.


-2

Dalam radix 2, jumlah sampel dalam hal kekuatan 2 daya tetapi dalam radix 4 jumlah sampel milik adalah kekuatan 4.


1
Saya akan menyarankan menjelaskan mengapa itu berpengaruh pada kecepatan algoritma, yang tidak jelas dari nilai eksponen.
— MBaz
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.