Digital Signal Processing


Digital Signal Processing is used in practically everything these days. Wherever you find processors in equipment that interfaces with the "real world," you'll find DSP hardware and software there too. In these devices, you'll find the simplest functions of content storage and retrieval to the most complicated functions of predictive and adaptive analysis and control.

I like to develop loudspeaker designs that are simple "turnkey" solutions and that will work well "right out of the box." That's why I've always engineered a good passive crossover for each of my speakers. I want a person to be able to use the speakers with traditional amplifiers and receivers, and for them to work well without additional equipment. But I also encourage the use of active (analog or digital) crossovers, provided the filters are well formed.

Some would argue that the best computer for "real world" processing is an analog computer. An amplifier is an analog multiplier after all, and analog filters such as crossovers and tone controls are integrators and differentiators. So there is some merit to this argument. But there are digital algorithms that would not be possible to implement with an analog solution. That makes them attractive for certain things.

So beyond the realm of active analog filters, the next evolution is digital. While most of these are software implementations of analog filters, there are many other algorithms that can be put to use, some with unique advantages. Digital audio involves storage and retrieval, but it also involves processing. Digital delay, filters, (encoders and) decoders and effects are all made possible by DSP.

Here are three links that contain good resources for DSP programmimg. For those of you that are proficient in C/C++, you will find implementations for many useful functions contained therein.




Follow Ups: