ABSTRACT

Design of fast, computationally efficient algorithms has been a major focus of research activity in digital signal processing. Such algorithms are based on the mathematical structure inherent in the computational task. In many instances, these algorithms also lead to suitable architectures for hardware implementation. The emphasis in most cases is on designing the algorithms and their respective implementations in a way so as to perform the required computations in the least amount of time. A more concrete measure of the performance of the algorithms is their computational complexity. Computational complexity of an algorithm is measured in terms of the number of arithmetic operations it requires to compute the quantities of interest. This measure will be adopted throughout this book. In this regard, parallel processing has also received much attention in the research community. Interestingly, the mathematical concepts that lead to fast algorithms also lead to parallel realizations.