320 likes | 495 Views
DIY Digital Crossovers. Neil Davis July 18, 2009. Approaches. Analog Works well, but hard to achieve flexibility Stopped doing this ~2004 DSP separates DCX-2496 (or equivalent) + amps Difficult to integrate with loudspeaker measurement tools Big, expensive & not DIY
E N D
DIY Digital Crossovers Neil Davis July 18, 2009
Approaches • Analog • Works well, but hard to achieve flexibility • Stopped doing this ~2004 • DSP separates • DCX-2496 (or equivalent) + amps • Difficult to integrate with loudspeaker measurement tools • Big, expensive & not DIY • Integrated: amps with embedded DSP • Uses amps developed for home theater systems (multi-channel) or for LCD TV’s • Can be designed as a plate amps for making active speakers • DIY: lots of flexibility and more fun
Focus Area: Integrated DSP • Audiodevelopers product range:
Amps with DSP--Example Lots of Class D amps have digital biquads!
What’s a Biquad? • …a second-order recursive linear filter, containing two poles and two zeros: Implementation:
OK, So What’s a Biquad? • One biquad can be configured as: • 2-pole low-pass filter (or one pole) • 2-pole high-pass filter • 2-pole shelving filter, low or high • Peaking filter for EQ—variable F, Q and Gain • Notch filter • Bandpass filter • All-pass filter • Phase inverter
Cascading Biquads • Cascading filters allows making higher order filters or crossovers • It takes 8 biquads to make a 4-pole 3-way L-R crossover: HFP Q=.7 F=3000 HFP Q=.7 F=3000 LFP Q=.7 F=3000 LFP Q=.7 F=3000 HFP Q=.7 F=300 HFP Q=.7 F=300 LFP Q=.7 F=300 LFP Q=.7 F=300
Unusual value • Apogee DDX-8001: $5 • 8 processing channels , with drivers for class D output stages (30-100W ea) • Each channel has 10 biquads • Commonly used in many HT amps • Similar chip: TI TAS5518, (Panasonic SA-XR series) • TAS3103: $8 • 3 processing channels, each with 12 high-resolution biquads, plus digital delay • TAS5706: $6 • 2.1 amplifier, 20W/channel; 7 biquads/channel + 2 high-res biquads for sub channel
How Do You Use These Things? • Need to calculate the biquad coefficients (b0, b1, etc) • Requires math--trig and complex variables • Need to program the biquads • Most are controlled by I2C bus, so need a microprocessor • Need to model the response to build loudspeakers • Combine driver response with filter transfer functions to view system response • Manage on-chip resources: volume, channel mapping, etc
Software/HW Overview • Unavoidable feature: microprocessor to control the amplifier • Microprocessor stores amp data, so PC only needed for designing the speaker PC Amplifier Load Driver Data Calculate Coefficients Audio Interface (Analog, USB, SPDIF) USB Micro-processor Amps Crossover Designer
Connectors Modules Early version—2005 or so SPKR Sub Out LM3886 Analog In L TAS3004 R Analog LPF & HPF (Sub) SPKR LM3886 ±12V EEPROM PC Intfc Low Voltage Power Supply Power Supply I2C 3.3V Power Budget Computer Plate Amp Version 1
Connectors Modules BCPA-2 • Digital amps run cooler and use smaller transformers • Easier to install into a speaker cabinet, and lower cost • Small: can still use small low-cost prototyping PCB’s • Frustrating: both TAS3004 and AD1994 are now obsolete (*sigh*) SPKR Analog In TAS3004 Tweeter AD1994 Mid or Woofer SPKR I2C EEPROM Microcontroller MC9S08 (QG8) 18V Power Supply Low Voltage USB Intfc I2C (out) USB Power Budget Computer Plate Amp Version 2
Connectors Connectors Modules Modules STA328 (DDXi2161) • “Analog-free”: all-digital signal path • 2-channel for active speakers; USB version for computer speakers SPKR SPKR Filter SPDIF In DDXi2161 Filter SPDIF USB In DDXi2161 SPKR Filter PCM2707 SPKR Filter Microcontroller MC9S08 (QG8) Filter Sub Low Voltage Microcontroller MC9S08 (QG8) Low Voltage USB Intfc I2C (out) USB USB Intfc Power I2C (out) USB Power SPDIF 2-Channel USB 2.1 (40/15/15W)
Multichannel Amps (DDX8001) • Working on a 4+2 board—should be done soon • 50/50/15/15/15/15 with DSP: good for 3-way’s • Has digital delay (each channel) for making steerable line arrays • Picture shows a different version (eval board + control board) • Works in stand-alone mode or with PC-based software
Two Versions, maybe 3 • Biquad Crossover Designer (BCD) • Smaller amps: 2-channel or 2.1 • BCD Multichannel • 3-ways to 5-way systems with flexible channel routing
Driver Response charts Biquad charts System Response SystemAmp() = Sys_amp_Data SystemPhase() = Sys_phase_Data Plotdata2() = SumTarget Plotdata() = Biquad_Data Driver_summed, System_Response If biquad windows not opened Volume Updates System_complex() Update_response Response File Filter_calc, Filter_prod If biquad windows opened Systemresponse() Biquadresponse() Resample Offset and Phase Driver_with_offset() Biquad Updates Driver_complex() Driver_data() Tweeter Load_drivers Mid Graphs FRD_data() Inputs Processing Woofer Bold indicates Complex
BCD (2-2.1 Amps) • Now in 3rd major revision, (…but none complete) • Designed to support multiple amp chips • Code for TAS3004 and STA328—others are “placeholders” • “Hardwired” for a maximum of 3 channels • Current version uses XML structure for saving state
Driver Input • Reads FRD or CLIO text files for driver response • Allows adjustment of acoustic center offset • Still working on Min phase algorithm… • System Response graph updated when biquads are programmed
Biquads (one per channel) • Easy to tweak response and hear effect in real time • Data gets calculated and sent to the amp for any change • Has equations for many “textbook” filter types
Other Features • Includes screens to control registers in the chips • Allows saving settings in EEPROM • Controls what the amp loads at power-on • Allows rapidly switching loads without re-calculating
BCD Multichannel • Uses logical channels rather than physical channels
Prototypes (currently free) • Send email via PE Techtalk for ExpressPCB files • Be ready for the “SMD challenge” (actually fairly easy with decent soldering tools) • Need to program microprocessor—I will do that for cost of postage • Download latest posted SW version: • http://www.audiodevelopers.com/Software/BCD.zip • http://www.audiodevelopers.com/Software/BCD-Multichannel.zip • Need Microsoft .NET framework version 3.5, SP1 • Need to download the mschart controls: • http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c • Need FTDI D2XX drivers: • http://www.ftdichip.com/FTDrivers.htm
Rushed into Service… • Uses Spherex Xbox360 amp, not fully modded • Still need to isolate digital audio lines…CPU on the board is partially in control • Amp is 6-channel DDX-8001 circuit, but is configured “funny”: bridged sub & single-ended surrounds • Software to control the amp isn’t complete • “Hardwired” (assembly code) as 5-way with 4-pole LR crossovers at 100, 500, 3000 and 7000Hz • All drivers arbitrarily set at same volume level • No programmable delay control yet (circuitry done) • No omni/dipole switching control yet (relays inside) • Probably 2-3 weeks away from being done
Unusual Features • “Ring arrays” with no comb filtering due to crossover frequencies • Super-tweeter uses 8cm headphone elements • Also designed to accommodate a circular Heil • Approx 600 Lumens of light output • Total of 28 1W LED’s in each cabinet, but still needs proper resistors for higher output • 3-channel color organ feature not enabled yet (but it works…) • Fully programmable channel mapping, crossover frequencies, delays, slopes and volume levels • Could be an all-day event in itself
Proposed Follow-Up • “Biquad class” at our cabin in Western MD • Plenty of PC’s to design speakers (at least 4) • I can bring lots of speakers and amps to play with, or bring your own speakers • MarthaFest • Compare topologies (2-way to 5-way) • Compare crossover frequencies and slopes • Compare omni to dipole • Listen to effect of time delay compensation • Drink beer, experiment, drink beer, etc