Multiple Constant Multiplication Optimization Using Common Subexpression Elimination and Redundant Numbers
Author
Date
2014Permanent Link
http://hdl.handle.net/10092/9054Thesis Discipline
Electrical EngineeringDegree Grantor
University of CanterburyDegree Level
DoctoralDegree Name
Doctor of PhilosophyThe multiple constant multiplication (MCM) operation is a fundamental operation in digital signal processing (DSP) and digital image processing (DIP). Examples of the MCM are in finite impulse response (FIR) and infinite impulse response (IIR) filters, matrix multiplication, and transforms. The aim of this work is minimizing the complexity of the MCM operation using common subexpression elimination (CSE) technique and redundant number representations. The CSE technique searches and eliminates common digit patterns (subexpressions) among MCM coefficients. More common subexpressions can be found by representing the MCM coefficients using redundant number representations.
A CSE algorithm is proposed that works on a type of redundant numbers called the zerodominant set (ZDS). The ZDS is an extension over the representations of minimum number of nonzero digits called minimum Hamming weight (MHW). Using the ZDS improves CSE algorithms' performance as compared with using the MHW representations. The disadvantage of using the ZDS is it increases the possibility of overlapping patterns (digit collisions). In this case, one or more digits are shared between a number of patterns. Eliminating a pattern results in losing other patterns because of eliminating the common digits. A pattern preservation algorithm (PPA) is developed to resolve the overlapping patterns in the representations. A tree and graph encoders are proposed to generate a larger space of number representations. The algorithms generate redundant representations of a value for a given digit set, radix, and wordlength. The tree encoder is modified to search for common subexpressions simultaneously with generating of the representation tree. A complexity measure is proposed to compare between the subexpressions at each node. The algorithm terminates generating the rest of the representation tree when it finds subexpressions with maximum sharing. This reduces the search space while minimizes the hardware complexity.
A combinatoric model of the MCM problem is proposed in this work. The model is obtained by enumerating all the possible solutions of the MCM that resemble a graph called the demand graph. Arc routing on this graph gives the solutions of the MCM problem. A similar arc routing is found in the capacitated arc routing such as the winter salting problem. Ant colony optimization (ACO) metaheuristics is proposed to traverse the demand graph. The ACO is simulated on a PC using Python programming language. This is to verify the model correctness and the work of the ACO. A parallel simulation of the ACO is carried out on a multicore super computer using C++ boost graph library.
Subjects
Common subexpression elimination (CSE)Collections
Related items
Showing items related by title, author, creator and subject.

Multiple memory systems: Contributions of human and animal serial reaction time tasks
Christie, Michael A (University of Canterbury. Psychology, 2001)Human memory systems have been divided into two broad domains, one responsible for 'declarative memory' and the other for 'nondeclarative memory'. The evidence for multiple memory systems is reviewed with respect to the ... 
An efficient biomimetic swimming robot capable of multiple gaits of locomotion : design, modelling and fabrication.
Masoomi, Sayyed Farideddin (University of Canterbury. Mechanical Engineering, 2014)Replacing humans with underwater robots for accomplishing marine tasks such as oceanic supervision and undersea operations have been an endeavour from long time ago. Hence, a number of underwater robots have been developed. ... 
The design and evaluation of a multiplelanguage active network architecture enabled via middleware
Cook, Carl (University of Canterbury. Computer Science, 2001)In conventional data communication networks, the basic network components are passive; routing decisions are made solely on the basis of packet header information. In contrast, active networks allow added computation within ...