Multiple Constant Multiplication Optimization Using Common Subexpression Elimination and Redundant Numbers
Thesis DisciplineElectrical Engineering
Degree GrantorUniversity of Canterbury
Degree NameDoctor of Philosophy
The 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 zero-dominant set (ZDS). The ZDS is an extension over the representations of minimum number of non-zero 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) meta-heuristics 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 multi-core super computer using C++ boost graph library.
SubjectsCommon subexpression elimination (CSE)
Showing items related by title, author, creator and subject.
An investigation of the effects of multiple spark ignition on performance of a high speed petrol spark ignition engine Walters, D. L. (University of Canterbury. Engineering, 1954)At the present time ignition by high tension electric spark is almost universal on high speed reciprocating internal combustion engines other than the compression ignition type. The growing demands for greater efficiency, ...
Mathews, Moffat Mannunkal (University of Canterbury. Computer Science and Software Engineering, 2012)The need to give educators the ability to enter a particular teaching strategy of their choice into an Intelligent Tutoring System (ITS) and have the ITS respond appropriately to each student has been stated by many ...
Smith, P.J. (University of Canterbury. Electrical and Computer Engineering., 2007)This letter provides a comprehensive overview and extension of recent results on outage probabilities and bit-error rates (BER) for optimal combiners in the presence of multiple interferers and additive noise. Desired ...