I'm trying to both enhance what the author did, as well as learn. The authors inclusion of the code is to match the text theory with code. Reading the code is a must for the student to understand whats going on. However, the code isn't complete as is. There's no real input data. This means the code is non-functional. As the author intended. I'm hoping to bridge the gap so that others can start with working templates to learn easier using these tools. In particular, the modules should be easier to re-organize by project-- inputting raw data - or generating it - and getting output should be a time saver.
THE BOOK:
The Scientist and Engineer's Guide to Digital Signal Processing
Steven W. Smith
California Technical Publishing Copyright 1997
available on Amazon in hard copy, or for FREE in PDF from this website:
see: http://www.dspguide.com/
The code by Smith is written for ease of understanding in BASIC and also some is written in Fortran. I want to do 2 primary things: show the code to newer students in a newer much used language like C# mostly for motivation, and because C# is similar to VB, and to turn this code into usable projects for learning. There are other large already complete packages available for use in DSP should one prefer those, such as "R", or "Octave". The code is taking 3 forms: 1. C# versions of the book text. This means the code is non-working since the input data is not provided. So some variables aren't set. This allows students a line-for-line comparison to the text. 2. C# versions of working examples. These take the very basic C# code of the book text and add only whats necessary to make it functional. 3. C# version of extended examples: these may have extra print, debug, or user input statements to make the code more flexible. They may also include examples not of the book code text, but code to generate signals shown in figures, or discussed in text. Or perhaps a complement to existing book text. For example, the book may have a hi-pass filter, and I supply a C# example of a low pass filter. 4. I plan to morph the code examples into working projects. Detail level is still to be determined...but some are started. This includes simple programs connected by tee's and pipes. I'm using C# in mono on linux. The mono compiler is available for Windows. I'm using C# in order to be more "modern" and in a general sense should enable java users to port easily. I'm accepting java donations, should any arrive. Either should look a lot like plain C since no networks or gui are used. I am seriously considering doing this in C... but I personally don't want to do the work. An idea is that if someone ( perhaps you) wants to duplicate the code for learning in stock C, I would *really* like to include it ! All code is copyright Walter L. Smith, except where noted. It's all under copyright license GPLv3.Book code in C# and working examples are HERE
Comprehensive examples: pipes
Code pieces are connected using pipes
Comprehensive examples: Options and Files
Code pieces are connected
using command line parameters to exe's, and temporary files.
Text File detailing additions and changes
for inquiries, please e m a i l:: waltechweb a t yahoo . com put DSP into subject