Content deleted Content added
Citation bot (talk | contribs) Alter: title, template type. Add: s2cid, chapter. Removed parameters. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox2 | #UCB_webform_linked 2213/2384 |
m clean up spacing around commas and other punctuation, replaced: ,and → , and , ,N → , N (2), ,k → , k (29), ,r → , r (5), ,u → , u |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1:
{{Short description|Multidimensional fast Fourier transform algorithm}}
The '''vector-radix FFT algorithm''', is a multidimensional [[fast Fourier transform]] (FFT) algorithm, which is a generalization of the ordinary [[Cooley–Tukey FFT algorithm]] that divides the transform dimensions by arbitrary radices. It breaks a multidimensional (MD) [[discrete Fourier transform]] (DFT) down into successively smaller MD DFTs until, ultimately, only trivial MD DFTs need to be evaluated.<ref name="Dudgeon83">{{cite book|last1=Dudgeon|first1=Dan|last2=Russell|first2=Mersereau|title=Multidimensional Digital Signal Processing|date=September 1983|publisher=Prentice Hall|isbn=0136049591|pages=76}}</ref>
The most common multidimensional [[Fast Fourier transform|FFT]] algorithm is the row-column algorithm, which means transforming the array first in one index and then in the other, see more in [[Fast Fourier transform|FFT]]. Then a radix-2 direct 2-D FFT has been developed,<ref name="Rivard77">{{cite journal|last1=Rivard|first1=G.|title=Direct fast Fourier transform of bivariate functions|journal=IEEE Transactions on Acoustics, Speech, and Signal Processing|volume=25|issue=3|pages=250–252|doi=10.1109/TASSP.1977.1162951|year=1977}}</ref> and it can eliminate 25% of the multiplies as compared to the conventional row-column approach. And this algorithm has been extended to rectangular arrays and arbitrary radices,<ref name="Harris77">{{cite book|last1=Harris|first1=D.|last2=McClellan|first2=J.|last3=Chan|first3=D.|last4=Schuessler|first4=H.|title=ICASSP '77. IEEE International Conference on Acoustics, Speech, and Signal Processing |chapter=Vector radix fast Fourier transform
Vector-radix FFT algorithm can reduce the number of complex multiplications significantly, compared to row-vector algorithm. For example, for a <math>N^M</math> element matrix (M dimensions, and size N on each dimension), the number of complex multiples of vector-radix FFT algorithm for radix-2 is <math>\frac{2^M -1}{2^M} N^M \log_2 N</math>, meanwhile, for row-column algorithm, it is <math>\frac{M N^M} 2 \log_2 N</math>. And generally, even larger savings in multiplies are obtained when this algorithm is operated on larger radices and on higher dimensional arrays.<ref name=Harris77/>
Overall, the vector-radix algorithm significantly reduces the structural complexity of the traditional DFT having a better indexing scheme, at the expense of a slight increase in arithmetic operations. So this algorithm is widely used for many applications in engineering, science, and mathematics, for example, implementations in image processing,<ref name="Buijs74">{{cite journal|last1=Buijs|first1=H.|last2=Pomerleau|first2=A.|last3=Fournier|first3=M.|last4=Tam|first4=W.|title=Implementation of a fast Fourier transform (FFT) for image processing applications|journal=IEEE Transactions on Acoustics, Speech, and Signal Processing|date=Dec 1974|volume=22|issue=6|pages=420–424|doi=10.1109/TASSP.1974.1162620}}</ref> and high speed FFT processor designing.<ref name="Badar15">{{cite book|last1=Badar|first1=S.|last2=Dandekar|first2=D.|title=2015 International Conference on Industrial Instrumentation and Control (ICIC) |chapter=High speed FFT processor design using radix
== 2-D DIT case ==
Line 14 ⟶ 15:
We suppose the 2-D DFT is defined
:<math>X(k_1,k_2) = \sum_{n_1=0}^{N_1-1} \sum_{n_2=0}^{N_2-1} x[n_1, n_2] \cdot W_{N_1}^{k_1 n_1} W_{N_2}^{k_2 n_2}, </math>
where <math>k_1 = 0,\dots,N_1-1</math>, and <math>k_2 = 0,\dots,N_2-1</math>, and <math>x[n_1, n_2]</math> is an <math>N_1 \times N_2</math> matrix, and <math>W_N = \exp(-j 2\pi /N)</math>.
For simplicity, let us assume that <math>N_1=N_2=N</math>, and the radix-<math>(r\times r)</math> is such that <math>N/r</math> is an integer.
Line 22 ⟶ 23:
* <math>k_i=u_i+v_i N/r</math>, where <math>u_i=0,\ldots,(N/r)-1; v_i = 0,\ldots,r-1;</math>
where <math>i = 1</math> or <math>2</math>, then the two dimensional DFT can be written as:<ref name="Chan92">{{cite journal|last1=Chan|first1=S. C.|last2=Ho|first2=K. L.|title=Split vector-radix fast Fourier transform|journal=IEEE Transactions on Signal Processing|volume=40|issue=8|pages=2029–2039|doi=10.1109/78.150004|bibcode=1992ITSP...40.2029C|year=1992}}</ref>
:<math> X(u_1+v_1 N/r,u_2+v_2 N/r)=\sum_{q_1=0}^{r-1} \sum_{q_2=0}^{r-1} \left[ \sum_{p_1=0}^{N/r-1} \sum_{p_2=0}^{N/r-1} x[rp_1+q_1,
[[File:2x2 radix butterfly diagram.svg|thumb|400px|One stage "butterfly" for DIT vector-radix 2x2 FFT]]
Line 52 ⟶ 53:
* <math>k_i=r u_i+v_i</math>, where <math>u_i=0,\ldots,(N/r)-1; v_i = 0,\ldots,r-1;</math>
where <math>i = 1</math> or <math>2</math>, and the DFT equation can be written as:<ref name=Chan92/>
:<math> X(r u_1+v_1,r u_2+v_2)=\sum_{p_1=0}^{N/r-1} \sum_{p_2=0}^{N/r-1} \left[ \sum_{q_1=0}^{r-1} \sum_{q_2=0}^{r-1} x[p_1+q_1 N/r,
== Other approaches ==
The [[split-radix FFT algorithm]] has been proved to be a useful method for 1-D DFT. And this method has been applied to the vector-radix FFT to obtain a split vector-radix FFT.<ref name=Chan92/><ref name="Pei87">{{cite book|last1=Pei|first1=Soo-Chang|last2=Wu|first2=Ja-Lin|title=ICASSP '87. IEEE International Conference on Acoustics, Speech, and Signal Processing |chapter=Split vector radix 2D fast Fourier transform
In conventional 2-D vector-radix algorithm, we decompose the indices <math>k_1,k_2</math> into 4 groups:
|