I was wondering whether anyone here had any recommendations for methods of improving speaker audio performance with the use of a DSP (digital signal processor). I have heard of different methods of improving the system. I have heard that you can make measurements of the loudspeaker excursion limits and use these parameters to control a dsp compressor to get a lot of performance and volume out of the speakers without the risk of overdriving them at low frequencies. I imagine that this would allow you to boost the low end a bit where the speaker starts to drop off -- without risk of overdriving the speaker. Has anyone experimented with some methods like this? I already have a setup where I drive my speakers from a dsp and it knows what volume and all of that I'm at, so it seems like with these measurements there could be a significant improvement. Thanks!
dsp for audio - speaker excursion ?
Started by ●January 28, 2005
Reply by ●January 28, 20052005-01-28
dspman <mike_mr2@yahoo.com> wrote:>I was wondering whether anyone here had any recommendations for methods >of improving speaker audio performance with the use of a DSP (digital >signal processor). I have heard of different methods of improving the >system.My personal suspicion is that, except at low frequencies, there is not much that you can do to improve overall linearity because modelling the system isn't accurate enough, and the unit-to-unit variations are going to require feedback rather than a simple correction filter that can be used on all speakers of the single model. BUT, if you go to http://www.aes.org and go to conference papers and preprints, and do a search for "speaker correction" and "dsp speaker" you will find dozens and dozens of papers on the subject.>I have heard that you can make measurements of the loudspeaker >excursion limits and use these parameters to control a dsp compressor >to get a lot of performance and volume out of the speakers without the >risk of overdriving them at low frequencies. I imagine that this would >allow you to boost the low end a bit where the speaker starts to drop >off -- without risk of overdriving the speaker.This is speaker protection, this is not a performance improvement. It might be a good idea (and it is employed by a lot of speaker manufacturers who are using DSP-based crossovers and protection going into an individual D/A and amp for each driver), but it's not going to improve anything other than ruggedness.>Has anyone experimented with some methods like this? I already have a >setup where I drive my speakers from a dsp and it knows what volume and >all of that I'm at, so it seems like with these measurements there >could be a significant improvement.Your first bet might be to move the crossover into the digital domain, which allows you to tweak phase response and frequency response of the crossover filters individually on the fly. This can be a powerful tool both for good and for evil (and there is a Meyer paper from the early eighties in the AES database on it, somewhere). --scott -- "C'est un Nagra. C'est suisse, et tres, tres precis."
Reply by ●January 28, 20052005-01-28
Cool - Thanks for your reply. As far as the crossover - I have already moved that over to the digital side. I have done a bit of comparison of my smaller bookshelf speakers versus much better sounding (in the bass) larger speakers - and that is primarily what I wanted to fix with my bookshelf speakers. I basically noticed that the difference was down pretty low, around 60hz - and if I do about a 10dB boost at 60hz, then when playing music at a moderate listening level, the 2 speakers sound much closer to equivalent. Before I was missing a lot of the bass with the smaller speakers. However, as with anything there are limitations - This worked great at moderate levels, but as soon as I would really turn the system up in volume a bunch more, it seemed like the loudspeaker excursion got too great (since I now had a +10dB boost at low frequencies). It would hit its limits and of course sound bad. So what I was thinking was -- I could, as the volume increases, slowly get rid of that +10dB boost. That way I could have the best that my system can do (I would have the extra real low end while my speaker was able to produce it, and back off so that I wouldn't overdrive my system). My next step naturally would be to have the system automatically do that -- but not according to volume, according to the actual signal. If I had a compressor (or at least the envelope follower part of the compressor that determines the peak values of those low frequencies) and set thresholds according to my speakers limits, it sure seems like I could get the system to work in a way that I get the maximum performance out of the system all the time -- basically improving the low frequencies on these small speakers as much as possible until it would overdrive, at which point it would just back it off a bit. Does that make sense?
Reply by ●January 28, 20052005-01-28
dspman wrote:> My next step naturally would be to have the system automatically do > that -- but not according to volume, according to the actual signal. > If I had a compressor (or at least the envelope follower part of the > compressor that determines the peak values of those low frequencies) > and set thresholds according to my speakers limits, it sure seems like > I could get the system to work in a way that I get the maximum > performance out of the system all the time -- basically improving the > low frequencies on these small speakers as much as possible until it > would overdrive, at which point it would just back it off a bit. > Does that make sense?Perfect sense and an excellent idea. Go for it. Was your crossover based on measurement? It can be done with perfect reconstruction (seamless magnitude and phase) at the measurement point using some methods I've worked out. There's lots more you can do that is measurement based as I'm sure you know. Glad to talk offline with you if you are interested. My email address is naked. Bob -- "Things should be described as simply as possible, but no simpler." A. Einstein
Reply by ●January 28, 20052005-01-28
I think you want to add another coil or optical sensor to provide feedback as to the cones acutal position, then use DSP to put that info into a feedback loop and correct for non-linearity in the spider and magnetic circuit of the speaker etc. But of course you cannot compensate for the inherent Doppler distortion...Oh no. Mark>
Reply by ●January 28, 20052005-01-28
"dspman" <mike_mr2@yahoo.com> wrote in message news:1106946057.675466.101620@z14g2000cwz.googlegroups.com...> Cool - Thanks for your reply. > > As far as the crossover - I have already moved that over to the digital > side. I have done a bit of comparison of my smaller bookshelf speakers > versus much better sounding (in the bass) larger speakers - and that is > primarily what I wanted to fix with my bookshelf speakers. > > I basically noticed that the difference was down pretty low, around > 60hz - and if I do about a 10dB boost at 60hz, then when playing music > at a moderate listening level, the 2 speakers sound much closer to > equivalent. Before I was missing a lot of the bass with the smaller > speakers. > > However, as with anything there are limitations - This worked great at > moderate levels, but as soon as I would really turn the system up in > volume a bunch more, it seemed like the loudspeaker excursion got too > great (since I now had a +10dB boost at low frequencies). It would hit > its limits and of course sound bad. > > So what I was thinking was -- I could, as the volume increases, slowly > get rid of that +10dB boost. That way I could have the best that my > system can do (I would have the extra real low end while my speaker was > able to produce it, and back off so that I wouldn't overdrive my > system).That is quite similar to what a "loudness" control does, expect that it also affects the treble similarly.> My next step naturally would be to have the system automatically do > that -- but not according to volume, according to the actual signal. > If I had a compressor (or at least the envelope follower part of the > compressor that determines the peak values of those low frequencies) > and set thresholds according to my speakers limits, it sure seems like > I could get the system to work in a way that I get the maximum > performance out of the system all the time -- basically improving the > low frequencies on these small speakers as much as possible until it > would overdrive, at which point it would just back it off a bit. > Does that make sense?The loudness control (or in your case bass control) could be based on a volume setting, in which case it is quite simple, or signal level like your proposal, which is more complex but certainly possible. I actually implemented that once myself, moving shelving filters up and down based on signal level. It seemed to work as expected, although I didn't do any critical testing with speakers. You could also use a split-band compressor to accomplish this also. Or since you already have a cross-over, a normal compressor working just on the LF signal should do the job nicely. Something with a fairly steep slope (near a limiter) might get you what you want--at low levels, the bass is boosted 10dB. As it rises, the bass level hits its limit at about 10dB before maximum output level. Then, as the signal continues to rise, the bass gain is cut such that it stays at max level from there to full scale.
Reply by ●January 28, 20052005-01-28
OK So you think that idea may work . . . I guess it's worth a shot. As far as the crossover - I began checking out the crossover stuff when I realized that I was starting to drive my speaker to the limits. I figured that if I put a highpass filter on there to cutoff any frequencies that were too difficult for the speaker to reproduce, it would then sound better overall. However, if I cutoff as high as 80 hz -- I lose my low end bass like I described. I found that I wouldn't really want the crossover higher than 20hz (since I don't have a subwoofer in this configuration) -- then it didn't seem that the 20hz filter made much difference (since there isnt much content way down there) so now I pretty much skip the crossover. On my other setup though I do have a powered subwoofer and have often wondered exactly what kind of curve I should put on there to match it. I just used like a 2nd order cutoff at around 80 before, which was OK but I think the subwoofer is tuned to have a steeper cutoff and then the sub box also has some effect. I think the filter I used was a Linkwitz-Riley which I think was basically 2 butterworth filters cascaded (so the cutoff is -6dB and adds back flat ? ) My subwoofer has a phase knob on the back of it so I was just tuning the system a bit by ear using that. I would be interested to hear what kind of measurements you made - and how you tuned yours. Have you done any other signal processing to flatten the (magnitude or phase) response of your speaker or anything like that? Mike
Reply by ●January 28, 20052005-01-28
Yeah the loudness control is similar. The loudness though is matched to the curves of equal loudness on my ear rather than on the speaker limitations. Having the whole thing tuned to the speaker seems like it would give me better performance - The bass shouldn't drop away as I increase the volume (other than to the loudness curves) when there isn't enough bass content to overdrive the speaker.
Reply by ●January 28, 20052005-01-28
In comp.dsp and rec.audio.pro, on 28 Jan 2005 18:27:19 -0800, "dspman" <mike_mr2@yahoo.com> wrote:>Yeah the loudness control is similar. The loudness though is matched >to the curves of equal loudness on my ear rather than on the speaker >limitations. > >Having the whole thing tuned to the speaker seems like it would give me >better performance - The bass shouldn't drop away as I increase the >volume (other than to the loudness curves) when there isn't enough bass >content to overdrive the speaker.Excursion isn't the only possible overdrive limitation. At higher frequencies (but still low enough to be handled by the woofer), the limitation is power input, which can overheat the voice coil. This is also true for midrange drivers and tweeters, which have much lower power handling capabilities than woofers. App notes 103 and 104 at this link: http://thatcorp.com/appnotes.html discuss this sort of thing, and implement solutions with analog circuitry, but it's of course also doable in DSP (and as always, if this is for a commercial product, checking to see if you infringe on any patents is your responsibility - I'd be surprised if there weren't a lot of patents in this area). ----- http://mindspring.com/~benbradley
Reply by ●January 29, 20052005-01-29
dspman <mike_mr2@yahoo.com> wrote:> >Have you done any other signal processing to flatten >the (magnitude or phase) response of your speaker or >anything like that?This generally doesn't work very well unless you are trying to remove a response aberration that is the same in all directions. Most of the frequency response problems on speakers either are different in different directions around the speaker (for example, beamy drivers), or are due to driver interactions causes different response in different directions. The first set of problems you can't solve because you can only alter the input to the driver with DSP... correcting the on-axis response may make the response at 90' worse. The second set of problems you can help a lot by replacing the crossover with a system that allows you to more carefully adjust how the drivers interact, and that is where DSP is a big deal. --scott -- "C'est un Nagra. C'est suisse, et tres, tres precis."