Risposte:
Dipende. Teoricamente puoi salvare alcuni moltiplicazioni con un radix-4 in quanto radix-4 ha un 1/4 del numero di farfalle e 3 mpy + 8 aggiunte per farfalla (se adeguatamente strutturato) e il radix 2 ha 1 mpy + 2 aggiunte per farfalla .
Quindi in termini di moltiplicazioni è un po 'meglio, tuttavia c'è una maggiore complessità in termini di struttura del codice, gestione delle eccezioni, gestione dei coefficienti, gestione dei registri, indirizzamento inverso delle cifre, ecc.
Quindi è solo un vantaggio se il numero di mpy è il fattore limitante che al giorno d'oggi per la maggior parte dell'hardware non è il caso.
un modo semplice di guardare una FFT radix-4 è pensare a una farfalla radix-4 come contenente 4 farfalle radix-2; 2 farfalle in un passaggio e 2 farfalle nel passaggio successivo. e i fattori di twiddle sono gli stessi tranne che il complesso fattore di twiddle per le farfalle è disattivato da una differenza di fase di . ma tutto ciò significa scambiare con e scambiare alcuni segni più e meno. quindi il tuo Alix FFT radix-4 deve solo leggere una volta nei 4 valori complessi, caricare una volta nel riquadro complesso, fare un mucchio di aritmetica e memorizzare i 4 risultati una volta. fai un passaggio radix-4 e svolgi lo stesso compito di due passaggi radix-2.
il numero netto di moltiplicazioni e aggiunte credo siano le stesse, ma la farfalla radix-4 può essere fatta tutte nel banco dei registri del processore (penso che ci siano circa 16 diversi registri a virgola mobile e ne occorrano 8 per le parti reali e imag dei 4 valori, 2 registri per il sin e il twiddle del coseno e forse qualche altro registro o due per lo scratch). questo è più veloce di farlo in memoria.