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.