Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
IN SEARCH OF THE OPTIMAL WALSH-HADAMARD TRANSFORM Jeremy Johnson Mathematics and Computer Science Drexel University Philadelphia, PA 19104 [email protected] Markus P¨uschel Electrical and Computer Engineering Carnegie Mellon University Pittsburgh, PA 15213 [email protected] ABSTRACT This paper describes an approach to implementing and optimizing fast signal transforms. Algorithms for com- puting signal transforms are expressed by symbolic ex- pressions, which can be automatically generated and translated into programs. Optimizing an implemen- tation involves searching for the fastest program ob- tained from one of the possible expressions. In this pa- per we apply this methodology to the implementation of the Walsh-Hadamard transform. An environment, accessible from MATLAB, is provided for generating and timing WHT algorithms. These tools are used to search for the fastest WHT algorithm. The fastest algorithm found is substantially faster than standard approaches to implementing the WHT. The work re- ported in this paper is part of the SPIRAL project (see http://www.ece.cmu.edu/ spiral), an ongoing project whose goal is to automate the implementation and op- timization of signal processing algorithms. 1. INTRODUCTION In this paper we present an approach to implementing and optimizing fast signal transforms in general and the Walsh-Hadamard transform (WHT) in particular. We have chosen the WHT because it simple yet impor- tant (for applications of the WHT to signal processing and coding theory see [2] an [7] respectively). Fast al- gorithms for computing the WHT are similar to the fast Fourier transform (FFT) and its variants [6]. The only di±erence is that there are no twiddle factors and bit-reversal is not necessary. By removing the extra complexity of the twiddle factors and bit-reversal we can concentrate on divide and conquer strategies and iterative versus recursive algorithms. Our approach to implementing the WHT is to cre- ate a flexible software architecture that can be con- ²gured to implement many di±erent algorithms. Inter- nally algorithmic choices are represented in a tree struc- ture similar to the plan data structure of the FFTW package [5]. Externally algorithmic choices are described by a simple grammar which can be parsed to create dif- ferent algorithms that can be executed and timed. This is similar to the approach advocated in the design of TPL, a language for designing and implementing FFT algorithms, and its predecessors [6, 3, 1]. Our package is written in C; however, the external interface allows the user to explore algorithmic choices without writing C code. A MATLAB interface which allows the user to interact and experiment with our package is provided. After reviewing the WHT in Section 2 and describ- ing our package in Section 3, we summarize empirical data illustrating performance and optimization of the WHT. In our approach, optimizing the WHT becomes a search problem over the space of special class of trees called partition trees. While the space of trees is too
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/04/2012 for the course COMPUTER 101 taught by Professor Ahmed during the Spring '11 term at alamo.edu.

Page1 / 4


This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online