A DSP primer : with applications to digital audio and computer music

Preface. 1. Tuning Forks, Phasors. Where to Begin. Simplest Vibrations. Adding Sinusoids. Briefly Back to Newton's Second Law. Complex Numbers. Multiplying Complex Numbers. Euler's Formula. The Tine as Phasor. Beats. Notes. Problems. 2. Strings And Pipes, The Wave Equation. A Distributed Vibrating System. The Wave Equation. Motion of a Vibrating String. Reflection from a Fixed End. Vibration of a String Fixed at Two Points. The Vibrating Column of Air. Standing Waves in a Half-Open Tube. Fourier Series. Notes. Problems. 3. Sampling and Quantizing. Sampling a Phasor. Aliasing More Complicated Signals. Quantizing. Dynamic Range. Remedies: Companding and Prefiltering. The Shape of Things to Come. Notes. Problems. 4. Feedforward Filters. Delaying a Phasor. A Simple Filter. Digital Filters. A Big Filter. Delay as an Operator. The z-plane. Phase Response. Inverse Comb Filters. Notes. Problems. 5. Feedback Filters. Poles. Stability. Resonance and bandwidth. Resons. Designing a reson filter. Other incarnations of reson. Dropping in zeros: an improved reson. A powerful feedback filter. Notes. Problems. 6. Comb and String Filters. Comb Filters. Analogy to Standing Waves. Plucked-String Filters. Resonances of the Plucked-String Filter. The First-Order Allpass Filter. Allpass Phase Response. Tuning Plucked-String Filters. Notes. Problems. 7. Periodic Sounds. Coordinate Systems. Fourier Series. Fourier Series of a Square Wave. Spectral Decay. Pulses. Continuous-Time Buzz. Digital Buzz. Synthesis by Spectrum Shaping. Generating Variable Frequency Buzz. Notes. Problems. 8. The Discrete Fourier Transform and FFT. Circular Domains. Discrete Fourier Transform(DFT) Representation. The Discrete Frequency Domain. Measuring Algorithm Speed. Divide and Conquer. Decimation-In-Time FFT. Programming Considerations. The Inverse DFT. A Serious Problem. Notes. Problems. 9. Z-Transform and Convolution. Domains. The z-transform. Orthogonality. z-transform of the Impulse and Step. A Few More z-transforms. z-transforms and Transfer Functions. Convolution. Inverse z-transform. Stability Revisited. Notes. Problems. 10. Using the FFT. Switching Signals On. Switching Signals On and Off. Resolution. The DFT of a Finite Stretch of Phasor. The Hamming Window. Windowing in General. Spectrograms. Notes. Problems. 11. Aliasing and Imaging. Taking Stock. Time/Frequency Correspondences. Frequency Aliasing Revisited. Digital to Analog Conversion. Imaging. Nyquist's Theorem. The Uncertainty Principle. Oversampling. Notes. Problems. 12. Designing Feedforward Filters. Taxonomy. The Form of Feedforward Filters. Specifications. A Design Algorithm: METEOR. Half-band Example. Tradeoffs. Example: Notch Filter With a Smoothness Constraint. Example: Window Design. A Programming Consideration. Notes. Problems. 13. Designing Feedback Filters. Why the General Problem is Difficult. The Butterworth Frequency Response. The Butterworth Poles and Zeros. More General Specifications. A Lowpass/Highpass Flip. Connection with Analog Filters. Implementation. A Trap. Feedback vs. Feedforward. Notes. Problems. 14. Audio and Musical Applications. The CD Player. Reverb. AM and Tunable Filters. FM Synthesis. The Phase Vocoder. An Audio Microscope/Macroscope. Notes. Problems.