DSP 01, part 1: from analog to digital




analog signal processor, circa 2012

analog signal processor, circa 2012

four years ago, my favorite programming language was solder. i drew a BJT on my badge at job fairs. i'd just designed my first op-amp. it would soon be on Digikey.

like most analog nerds, i called myself an audiophile. unlike most audiophiles, i called myself a scientist.

my speaker designs used Class-D amplifiers. active crossovers, biquad bass boost, baffle step compensation, all done in analog, with op amps. a total absence of vacuum tubes.

but the numbers didn't add up. i wanted audio to be cheap. analog is expensive. i wanted to tweak. analog is hard-coded. i wanted modularity. analog is inflexible.

i worked around analog's limitations. too expensive? i used more passive filters. not modular? i built an entire system of modular analog blocks.

stupid but cute.

stupid but cute.

then in 2014, i finally wised up and built a digital signal processor (DSP).

and now i will describe it.


signal processing in speakers.

most speakers contain multiple drivers.

they have tweeters for the highs, woofers for the mids, subwoofers for the bass. tweeters are small to act as point sources for short wavelengths. subwoofers are large to move lots of air. all of these must move together to produce clear, balanced sound.

all multi-driver speakers contain a crossover circuit, which distributes the highs, mids and lows to each driver appropriately. the crossover is a set of matched high-pass, band-pass and low-pass filters.

most speakers use a passive crossover. it looks like this:

passive crossover.jpg

there is only one amplifier per speaker, and the crossover receives a high-power, amplified signal. the crossover is made from huge, high-power inductors and capacitors.

here is my preferred method, the active crossover:

active crossover.jpg

now the crossover receives a low-power audio signal, and there is a separate amplifier for each driver. the active crossover is usually built from low-noise, low-distortion op amps. these can be used (instead of huge passive components) because they only have to receive and transmit a small amount of power.

passive crossovers are still in use because amplifiers used to be expensive, and hi-fi nuts like to choose their own amplifier. these are terrible reasons. on the other hand, here are some benefits of active crossovers:

  • the drivers are driven by the near-zero output impedance of the amplifier, instead of the output impedance of the passive crossover, which fluctuates wildly with frequency. this vastly decreases crosstalk and IMD between drivers.
  • since we are filtering with (relatively cheap) op-amps instead of huge capacitors and inductors, we can build filters with steeper slopes. this reduces the amount of work a driver has to do which is outside its operating frequency range.
  • multiple small amplifiers instead of one large amplifier. this is usually cheaper and more efficient.
  • each amplifier has a less complex signal to deal with. again, this improves IMD.
  • active crossovers have very stable filters. passive crossovers must handle high-power signals, will heat up in use, and their filter characteristics will drift with temperature.
  • active crossovers can have electronic gain! that means you can easily compensate for one driver being less sensitive than the other. or add a bass-boost, or all-pass filter, or any weird thing you can't do with passive filters.

pay attention to that last point. active crossovers can include a wealth of signal processing, to compensate for the unique deficiencies of each individual driver! this is where i stop referring to them as crossovers and start calling them signal processors.

in summary: i used to build analog signal processors, using buckets of expensive op amps. in the next update, i will describe the electronics of the digital signal processor.

analog signal processor, circa 2013

analog signal processor, circa 2013

Tshen2 2014