# DSP

From PiWiki

## DSP Resources

- Signal Processing for Communications Paolo Prandoni & Martin Vetterli -- free book online with exercises

- The Scientist and Engineer's Guide to Digital Signal Processing (Steven W. Smith) -- Good for teaching the basics to DSP beginners. However, it deliberately tries to avoid complex number math which is a mistake; by taking a shortcut you just end up shortcutting your own understanding.

- Charan Langton Same criticism. Why avoid complex numbers? Why attempt to build the complex case from the reals? But insightful tutorials nonetheless.

- Julius Orion Smith http://dsprelated.com/dspbooks All MusicDSP roads lead to JOS sooner or later. But be warned, this is seriously heavy going. I would recommend learning from Oppenheim then coming back here. plucked string algo

- http://www.dsprelated.com/dspbooks <-- free books, including JOS books (see previous entry)

- Prof. Alan V. Oppenheim -- Signals and Systems (π's #1 choice!) Oppenheim is where it is. Where JOS may leave a logic gap for the reader to job, Oppenheim will probably state the result twice. These lectures are golden! Make sure you do the exercises as you go, otherwise you will come adrift!

- Olli Niemitalo Digital sound processing tutorial for the braindead! (2003) ASCII art pictures & formulae. Oldskool.

- Maxim Integrated -- A filter primer Come back to the pictures on this page if you're struggling to get your head round Z/Laplace transform.

- Katja's homepage on sinusoids, complex numbers and modulation Cute mannequins, beautifully presented site!

## Fourier Transform

- Fourier SYNTHESIS visualisation with d3.js

- http://www.dsprelated.com/showarticle/56.php <-- free DSP books

## Community

- http://www.dsprelated.com/ -- connects to comp.dsp mailing list

- IRC -- ##dsp on FreeNode, #musicdsp on EFNet

## Tools

- Matlab -- still used in industry & academia a lot, costs insane money

- [GNU Octave https://www.gnu.org/software/octave/] -- FOSS alternative to Matlab, I had some trouble getting this spinning on OSX a couple of years back

- IPython -- this is where it is at.
**This is the future of scientific computing!**Coding in Python using numpy scipy matplotlib etc.You install anaconda (the package manager) which takes care of installing everything else. You set the notebook server spinning from the commandline e.g. `cd ~/Dev/MyJupyterNotebooks/; jupyter notebook`, which launches the notebook client in your web browser.

## Unordered

- Digital Audio FX conference <-- 10+ years worth of papers