Rapid Prototyping of Quaternion Multiplier: From Matrix Notation to FPGA-Based Circuits

In recent years, hypercomplex numbers called quaternions attract attention of many researchers of the fields of digital signal processing (DSP), control, computer graphics, telecommunications, and others. By using hypercomplex arithmetic, known algorithms can be improved or extended to 4 dimensions so as to find new applications (Alexiadis & Sergiadis, 2009; Chan et al., 2008; Denis et al., 2007; Ell & Sangwine, 2007; Karney, 2007; Marion et al., 2010; Parfieniuk & Petrovsky, 2010a; Seberry et al., 2008; Took M Tsui et al., 2008; Zhou et al., 2007). Current research is mainly focused on theoretical development of quaternion-based algorithms, but one can expect that, in the course of time, engineers and scientists will implement them in hardware, and thus will need building blocks, design insights, methodologies, and tools. In known algorithms that use hypercomplex arithmetic, the key operation is quaternion multiplication, whose efficiency and accuracy obviously determines the same properties of the whole computational scheme of a filter or transform. Even though the operation has been thoroughly investigated from a mathematical point of view (Howell & Lafon, 1975), rather little is known about the practical aspects of implementing it in hardware as a dedicated digital circuit. To the best of our knowledge, only two research groups reported development of fixed-point quaternion multipliers. In (Delosme & Hsiao, 1990; Hsiao & Delosme, 1996; Hsiao et al., 2000; Parfieniuk & Petrovsky, 2010b; Petrovsky et al., 2001; Verenik et al., 2007), they considered various approaches to computing constant-coefficient multiplication using only binary shifts and additions: CORDIC, lifting, and Distributed Arithmetic (DA), but there is no review of the developed computational schemes, which would allow them to be compared and would inspire further research. The present chapter has two aims. The first one is to briefly review known facts and achievements related to quaternion multipliers and, by presenting a novel CORDIC-Inside-Lifting architecture, to show that there is much to do in this field. The second aim is to present our methodology and design results related to rapid prototyping of different multiplier schemes using a Xilinx Virtex FPGA device. The chapter contents should be useful to persons interested in implementing hypercomplex computations, as it should allow readers Rapid Prototyping of Quaternion Multiplier: From Matrix Notation to FPGA-Based Circuits 11

[1]  Andrzej Napieralski,et al.  Mixed design of integrated circuits and systems , 1998 .

[2]  Charles F. F. Karney Quaternions in molecular modeling. , 2005, Journal of molecular graphics & modelling.

[3]  Danilo P. Mandic,et al.  Quaternion-Valued Stochastic Gradient-Based Adaptive IIR Filtering , 2010, IEEE Transactions on Signal Processing.

[4]  Richard G. Baraniuk,et al.  Coherent Multiscale Image Processing Using Dual-Tree Quaternion Wavelets , 2008, IEEE Transactions on Image Processing.

[5]  M. Parfieniuk,et al.  An FPGA Implementation of the Distributed Arithmetic Based Quaternionic Multipliers for Paraunitary Filter Banks , 2007, 2007 14th International Conference on Mixed Design of Integrated Circuits and Systems.

[6]  Tianbing Xia,et al.  The Theory of Quaternion Orthogonal Designs , 2008, IEEE Transactions on Signal Processing.

[7]  I. Daubechies,et al.  Factoring wavelet transforms into lifting steps , 1998 .

[8]  Christine Fernandez-Maloigne,et al.  Spatial and spectral quaternionic approaches for colour images , 2007, Comput. Vis. Image Underst..

[9]  Alexander A. Petrovsky,et al.  Inherently lossless structures for eight- and six-channel linear-phase paraunitary filter banks based on quaternion multipliers , 2010, Signal Process..

[10]  Shen-Fu Hsiao,et al.  Parallel singular value decomposition of complex matrices using multidimensional CORDIC algorithms , 1996, IEEE Trans. Signal Process..

[11]  Shen-Fu Hsiao,et al.  Redundant Constant-Factor Implementation of Multi-Dimensional CORDIC and Its Application to Complex SVD , 2000, J. VLSI Signal Process..

[12]  J. Delosme,et al.  CORDIC algorithms in four dimensions , 1990 .

[13]  Stephen J. Sangwine,et al.  Hypercomplex Fourier Transforms of Color Images , 2001, IEEE Transactions on Image Processing.

[14]  I. Daubechies,et al.  Wavelet Transforms That Map Integers to Integers , 1998 .

[15]  Alexander A. Petrovsky,et al.  Quaternion Multiplier Inspired by the Lifting Implementation of Plane Rotations , 2010, IEEE Transactions on Circuits and Systems I: Regular Papers.

[16]  S.A. White,et al.  Applications of distributed arithmetic to digital signal processing: a tutorial review , 1989, IEEE ASSP Magazine.

[17]  Didier Vray,et al.  Quaternionic Spatiotemporal Filtering for Dense Motion Field Estimation in Ultrasound Imaging , 2010, EURASIP J. Adv. Signal Process..

[18]  K. Sridharan,et al.  50 Years of CORDIC: Algorithms, Architectures, and Applications , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[19]  Xiao-Ping Zhang,et al.  Color Image Watermarking Using Multidimensional Fourier Transforms , 2008, IEEE Transactions on Information Forensics and Security.

[20]  T. Howell,et al.  The Complexity of the Quaternion Product , 1975 .

[21]  Dimitrios S. Alexiadis,et al.  Estimation of Motions in Color Image Sequences Using Hypercomplex Fourier Transforms , 2009, IEEE Transactions on Image Processing.

[22]  Alok N. Choudhary,et al.  A system for synthesizing optimized FPGA hardware from Matlab(R) , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[23]  Jun Zhou,et al.  Quaternion wavelet phase based stereo matching for uncalibrated images , 2007, Pattern Recognit. Lett..