Digital predistortion for speaker correction - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source
Home Forums Rules Articles diyAudio Store Gallery Wiki Blogs Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Thread Tools Search this Thread
Old 19th October 2005, 12:36 AM   #1
diyAudio Member
Join Date: Sep 2005
Default Digital predistortion for speaker correction

Just an idea, does anyone know if there is a commercial product out that does this?

Take an audio power amplifier and driver

At the front end of the audio amplifier, place an ADC, DSP chip, and then a DAC (and then the input to the amp).

Place a measuring wire at the output amp/driver connection, this goes to the input of the ADC.

Using the DSP, apply an FM chirp over the frequency range of ~10Hz to 35kHz (enough to cover the audio range), and measure the response at the driver while bypassing the audio amplifier(ideally, the response will be flat, but we know this doesn't happen in real life).

Using the DSP processor and based on the driver frequency response, make a filter that acts as the inverse to the non-flat response of the driver. This will predistort the audio signal before it enters the amp.

==> Begin playing normal music into front end, where the input is now the ADC. The music should be predistorted so that the frequency response is very flat, and any non-linearities of the driver are mitigated.

Any thoughts?
  Reply With Quote
Old 19th October 2005, 01:47 AM   #2
jcx is online now jcx  United States
diyAudio Member
Join Date: Feb 2003
Location: ..
not trivial but some people are working on it:

at: )
  Reply With Quote
Old 19th October 2005, 05:25 AM   #3
diyAudio Member
blu_line's Avatar
Join Date: Jan 2002
Location: The Netherlands
probably better to do it static (once, at startup of your system) than do it dynamically !

1st of all, your AD and DA have an conversion delay of 1ms and you can add some us or ms for DSP processing.


  Reply With Quote
Old 19th October 2005, 07:20 AM   #4
diyAudio Member
Join Date: May 2002
Location: Switzerland
Not like your proposal but better i.e. it goes two steps further in that it corrects room interactions as well and it does not only correct in the frequency domain :

This one also uses digital correction of the drivers, FIR crossover and it can be tuned to your room as well:


  Reply With Quote
Old 19th October 2005, 03:23 PM   #5
Join Date: Feb 2002
Location: As far from the NOSsers as possible
I could be wrong, but B&O does something along this line. A powered speaker system, filled with their ICEpower modules.

  Reply With Quote
Old 19th October 2005, 03:24 PM   #6
jcx is online now jcx  United States
diyAudio Member
Join Date: Feb 2003
Location: ..
frequency reponse and room equalization are mathematically trivial compared to nonlinear distortion correction - not that even linear correction is truely simple

there is a PC software active crossover/loudspeaker fr/room correction thread in louspeakers

A how to for a PC XO.

in fact search for room correction should give you plenty of reading

comercially the BeoLab 5 active loudspeaker integrates "room correction" (for bass) and voice coil heating nonllinear compensation internally in dsp
  Reply With Quote
Old 19th October 2005, 03:33 PM   #7
diyAudio Member
Join Date: Sep 2002
Location: Sweden
For static correction, there isanother way. Rip a CD into your PC, predistort the content in software and burn the predistorted copy of it onto a CDR/CDRW. Not very practical to do with your entire CD collection perhaps, but it is a chep way to experiment with static corrections, since no extra hardware is required. You may have to write the software yourself though.
  Reply With Quote
Old 19th October 2005, 04:40 PM   #8
Werner is offline Werner  Europe
diyAudio Member
Join Date: Jan 2002
Location: Belgium
Static pre-compensation in the digital domain was done in the late 80s, early 90s by Essex University, with at least one commercial spin-off (Celestion?), and also by B&W (no commercial application).

Then in the late 90s Perpetual (name? anyway, Mark Schifter's company) promised something similar, but AFAIK never delivered.
  Reply With Quote
Old 19th October 2005, 10:13 PM   #9
diyAudio Member
Join Date: Jul 2004
Location: Mountain View, CA
I like the Rhythmik Audio Directservo approach, which uses a sensing coil on the driver to correct driver response, including nonlinear mechanical and thermal compression.

I just wish they offered it with a driver larger than 12".
  Reply With Quote
Old 19th October 2005, 10:48 PM   #10
diyAudio Member
Join Date: Feb 2002
As previous posts have illustrated, some aspects of this have been done. Linear distortion (ie frequency response) is 'pretty easy', except for the part about figuring out which part it is that you're supposed to correct :-)

The really interesting problem (IMHO) is non-linear correction which is far from trivial, and I'm only vaguely aware of people attacking this.

I believe that non-linear correction is 'relatively straightforward' for electronics/amplifiers operating in their linear region as they can be modeled pretty well by a power-series expansion. This makes it feasible to produce a complementary function that pre-distorts the signal to create an undistorted output. I'm sure someone has done this, but I don't have any pointers

Speakers are significantly harder for several reasons, starting with the fact that many of the main distortion components are due to position, but the input signal is governing acceleration. ie the distortion is related to the 2nd integral of the signal. Since even numerical inaccuracies from rounding will eventually make the computation of position from the signal inaccurate, I suspect the only real way to tackle this is either :
- via position sensors (ie sense position directly)
- via servo/accelerometer (ie sense a variable directly related to the input).

Of course, *any* latency in the measurement will limit the bandwidth over which correction can be applied, and there is always latency.

So, it's a really interesting problem, but it's certainly WAY easier to simply get better speakers in the first place :-)
  Reply With Quote


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
DIY DSP for Digital Room Correction OzOnE_2k3 Digital Source 114 17th June 2008 08:25 PM
I need help with digital Room-correction Radian Multi-Way 1 7th February 2007 07:10 PM
Digital speaker phase correction? Bill F. Digital Source 9 19th November 2002 12:30 AM

New To Site? Need Help?

All times are GMT. The time now is 07:52 PM.

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Copyright 1999-2017 diyAudio

Content Relevant URLs by vBSEO 3.3.2