1.4. Increasing Your Odds for Success—Enhance Your Intuition
To build up our intuition we must learn by doing. Fortunately, there are many software packages and hardware development kits that can provide us with adequate practice. Since our aim is to design the algorithms in software, our discussion will be limited to this implementation. We have found the MathWorks software package MATLAB to be particularly well-suited to the types of signal processing problems encountered in practice. Therefore, throughout the book MATLAB will be our primary vehicle for developing and testing statistical signal processing algorithms. We have even used MATLAB to generate the textbook figures (the program used is always listed at the top of the graph and may be obtained from the author upon request) and to solve some of the exercises. The code for the exercise solutions as well as programs that implement the algorithms to be described and to perform various useful functions are provided on the enclosed CD.
Implementation of an algorithm in MATLAB is a testament to the understanding of the basic operation of the algorithm. Furthermore, testing the algorithm on controlled data sets generated within MATLAB, i.e., ones for which the signal and noise characteristics are known, is essential in verifying the efficacy of the algorithm. In observing the output of the MATLAB-coded algorithms, and comparing the output with the expected one, a strong sense of intuition can be attained. Finally, we can at times employ the same code used to assess the theoretical algorithm performance using a computer simulation to process actual field data, although usually not in a real-time operational sense. In all these cases, practice is essential in developing one’s intuition. There will be ample opportunity to partake of this valuable tool for understanding in completing the exercises scattered throughout the book.