neil davis july 18, 2009 diy digital crossovers. approaches analog works well, but hard to achieve...
TRANSCRIPT
Neil DavisJuly 18, 2009
DIY Digital Crossovers
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!
Some Amps with Biquads
Designator
Plate amp?
# Biquads per chan
Coeff size spdif Delay
analog in biquads DAC
power amps
Watts per
chanpower supply
channels
sub out
sub amp
BCPA-1 yes 7 24 none none TAS3004 TAS3004TAS300
4LM3886 40 on-board 2
analog
BCPA-2 yes 7 24 none none TAS3004 TAS3004TAS300
4AD1994 20
trans or wall-wart
2 no
BCPA-3 yes 7 28CS4252
6AD1953 CS42526 AD1953 AD1953 AD1994 20
trans or wall-wart
2.1analo
gTDA892
0
BA-4 maybe 5 24 optionalTPA505
0CS4525 CS4525 CS4525 CS4525 20 wall-wart 2.1 PWM
H-Bridge + PS
BA-5 yes 7 26CS4252
6TPA505
0CS42526 TAS5706 --- TAS5706 20
trans or wall-wart
2.1 PWMH-
Bridge + PS
PPA-2 yes 4 24CS4252
6none CS42526 STA328 ---
STA328 x 2
30 ? 4 no STA328
SA-1 no 7 26CS4252
6TPA505
0CS42526 TAS5518 --- TAS5518 50 switchers 8
SA-2 maybe 10 24CS4252
6TPA505
0CS42526 STA308 --- STA5XX 40 switchers 4 or 8
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:
HFPQ=.7
F=3000
HFPQ=.7
F=3000
LFPQ=.7
F=3000
LFPQ=.7
F=3000
HFPQ=.7
F=300
HFPQ=.7
F=300
LFPQ=.7
F=300
LFPQ=.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
Load Driver Data
USB
Crossover Designer
Calculate Coefficients
Amplifier
Micro-processor Amps
Audio Interface (Analog, USB,
SPDIF)
Amps
Early version—2005 or so
LM3886
LM3886
Power Supply
SP
KR
PowerConnectorsModules
TAS3004
EEPROM
Analog In
Low Voltage Power Supply
Sub Out
PC
Intfc
I2C
L
R
3.3V
±12V
SP
KR
Analog LPF & HPF (Sub)
Budget Computer Plate Amp Version 1
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*)
18V Power Supply
SP
KR
Power
ConnectorsModules
Low Voltage
Analog In S
PK
R
AD1994
Tweeter
Mid or Woofer
EEPROM
Microcontroller MC9S08 (QG8)
USB Intfc
USB I2C (out)
TAS3004
I2C
Budget Computer Plate Amp Version 2
STA328 (DDXi2161)
“Analog-free”: all-digital signal path 2-channel for active speakers; USB version for computer
speakers
SPDIF 2-Channel
USB 2.1 (40/15/15W)
SPKR
Power
ConnectorsModules
Low Voltage
SPDIF In SPK
R
DDXi2161
Microcontroller MC9S08 (QG8)
USB Intfc
USB I2C (out)
SPDIF
Filter
Filter
SPKR
Power
ConnectorsModules
Low Voltage
USB
In
SPKR
DDXi2161
Microcontroller MC9S08 (QG8)
USB Intfc
USB I2C (out)
PCM2707
Filter
Filter
Filter Sub
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
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
AudioDevelopersProduct
# Biquads per channel
Digital Delay Audio Processor Power amps
Watts per channel Channels
Design Software
BCPA-1 7 no TAS3004 LM3886 40 2
BCD
BCPA-2 7 no TAS3004 AD1994 20 2
BCPA-3 7 yes AD1953 AD1994 20 2.1
BA-4 5 yes CS4525 CS4525 20 2.1
BA-5 7 yes TAS5706 TAS5706 20 2.1
PPA-2 4 no STA328 STA328 x 2 30 4
SA-1 7 yes TAS5518 TAS5518 50 8 BCD-multichannelSA-2 10 yes STA308 STA5XX 40 4 to 8
EQ-1 12 yes TAS3013 --- --- 3 BCD-EQ
Tweeter
Mid
Woofer
System Response
Response File
Offset and Phase Biquad
Updates
Biquad charts
Driver Response
charts
Plotdata() = Biquad_Data
Plotdata2() = SumTarget
Biquadresponse()
Systemresponse()
SystemAmp() = Sys_amp_DataSystemPhase() = Sys_phase_Data
Driver_complex()
Driver_with_offset()
Bold indicates Complex
System_complex()
If biquad windows not opened
FRD_data()
Driver_data()
If biquad windows opened
Volume Updates
Graphs
Inputs
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
DDX-8001 Example
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
Crippled Marthas
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