sensorless DSP cone excursion limiter

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
This could be used to eliminate the thermal compression effects

I am not belaboring this issue or any other! You have the capacity in the system you designed to prematurely limit its output for no reason.

Is thermal compression not be happening in every loudspeaker driven by a voltage source (your usual low output impedance solid state amp)? If it is such a problem, why do we not hear about it more?

Yes it does occur in every (moving-coil) loudspeaker but it is not generally an issue. Firstly it occurs over a long-time period and so as all the research will tell you is inaudible for a single drive unit. BUT in an active system it causes changes in the frequency response balance that are audible. To my knowledge this has never been quantified. But thermal compression is not the issue of this thread!

This is only true with pure current drive... you will get a high Q peak that is modulated by cone movement. It doesn't seem to be very feasible to EQ this out.

Effectively pure current drive is not practically difficult. There is an issue with suspension non-linearity and possibly also motor non-linearity. I use under-hung drivers with a well-designed linear suspension with no issues. As you are aware Klippel shows how to compensate for suspension non-linearity, as does Birt. Or you can adopt Birt's motional feedback to great effect. But again this is not the issue of the thread.

I'm not aware of a non-feedback current drive amplifier for a loudspeaker... The "balanced bridge" is providing feedback

There is no feedback that encompasses the loudspeaker in current drive - hence its advantages.

The balanced bridge is a different system that does encompass the loudspeaker but can be stabilised to great effect for low frequencies at least. It does not become a positive feedback system unless poorly engineered to start with.

I was able to read the Birt paper in JAES in which he describes the auto-balancing bridge concept. Some of the principles he uses are not all that different than the ones used in that Stereophile article I linked to, above.

I believe the invention is attributable to Birt and his work should have been credited in the Stereophile article.

But I hope you can see now what I have been talking about. In a sub-woofer particularly where bass boost is used there is ample scope for coil resistance modulation and therefore for your limiter to limit excursion prematurely and where it needn't ever have occurred in the first place.

And before I go, please also refer back to my other comment previously regarding the monitoring of voice temperatures, namely that is enables separate protection for excursion and rms power overloads. Particularly for compressed material you may find the latter beneficial too.
 
despite our disagreements

I would prefer to think of it as a discussion geared towards reaching the optimum result :)

I am glad that you brought up the Birt bridge circuit. It brought the idea of using an integrator and bridge in my own projects where I want to monitor Re

I have found it invaluable and I am amazed it hasn't been used more widely. Apart from the gap that is still apparent between amplifier and speaker manufacturers, active speakers are not exactly uncommon now.

One reason would be the semi-inductive nature of the majority of drive units. Many drive unit manufacturers apply conductive pole pieces to avert the third harmonic distortion from eddys flowing in magnetically non-linear materials such as steel and therefore actually aim to produce a more semi-inductive impedance.

A better approach for system design rather than for a drive unit designed in isolation is to adopt non-conducting pole pieces. ATC employ a special polymer to do this; I simply built pole pieces from resin-bonded laminates and sliced them. Both approaches produce a near perfect inductive response. Motors without steel are also possible but linearity and sensitivity tend to be overly compromised IMHO.

Whilst this reduces high frequency output in voltage drive (or headroom in current drive) this is offset since the elimination of eddys increases the power dissipating capability of the motor. And if you have never heard a system free of third harmonic eddy induced distortion then I very much recommend it - as once heard you will forever recognise it in less well engineered systems.
 
Last edited:
@Soundbloke: do you rebuild the motors of your woofers? If so, what unit do you use as a basis?

Something else, but somewhat related: you more than once mention underhung voice-coils.

I am well aware of the reputation and theoretical advantages these have.Over the years the German magazine Hobby Hifi has measured distortion in 12-15" long stroke subwoofers. Surprisingly enough, the underhung coils do not necessarely perform better than well designed overhung coils, it seemed.

Is your experience underhung measures significantly better than underhung?

Eelco
 
the underhung coils do not necessarely perform better than well designed overhung coils

This is often true where underhung coils are used at their maximum displacements that often include coils partially exiting the gap. IMO long-coils only approach the 'basic' distortion of short coils when the short coils are operated in the gap.

In practical use, large displacements are only evident for short-term peaks where the audibility of distortion is not so well defined as with steady-state measures. This appears to be much less audibly discernible that rms distortion bases. Although it would be good if anyone knew if this has ever been quantified anywhere - please do not take my lone word for it!

The heating effects of the two geometries are also different and I have found short coil/long gap motors to act as better heat-sinks due to the increased motor size that essentially acts like a low thermal resistance to a larger air surface.

Many of the inductive artefacts of long-coil motors are also minimised by the use of conducting pole pieces and such like. Whilst largely removing eddys from the non-linear magnetic materials, it renders a semi-inductive impedance that is not helpful in my normal applications as explained above.

As to building motors/drivers, I have used mainly other manufacturer's softwares. Scratch building is possible (see for example Kurt Mueller's catalogue) but adhesives and high power voice coils remain a sticking point (or not!!!). I am also lucky enough to have acquired a magnetiser.
 
I've been doing some more thinking about the effects of Re (changing from voice coil heating) on driver sensitivity, Qe, and the driver response around resonance. I've been dreaming up ways to monitor this and compensate for it. I have to thank soundbloke for kicking off this train of thought in my mind (whether you meant to or not :) ).

So the point was raised that, in general, in a multiway system if one driver experiences voice coil heating this can change it's properties as a transducer. This includes reduced sensitivity, but also the near-resonance behavior will also shift. This is separate from other shifts in the resonance behavior that can occur when the VC is cold but excursion is on the order of Xmax.

DIYaudio user 'soundbloke' brought to my attention Birt's bridge circuit. Birt connects the loudspeaker in one leg of a bridge that is balanced when the VC is cold, and uses the 'across the bridge' connection as the input to a differential input integrator. A current source is used to maintain a DC voltage to the bridge. At this point, keep in mind that an integrator has a frequency response that falls as a first order low pass filter. Thinking again of the bridge arrangement, when the driver vc is cold and without AC input (no audio signal) the voltage across the bridge is the same, so the integrator output will theoretically be zero. For the condition that the driver VC is hot and Re has increased, in the absence of audio input the integrator output will rise with time as the offset in voltage across the bridge is integrated with time, and the rate it will rise is proportional to the DC gain of the integrator.

One alternate way to measure Re is just with a series sense resistor having a value much less than Re, e.g. 0.1-0.2 Ohms. This creates some difficulties, because the voltage drop across the sense resistor is quite low because typically one wants to use low currents like 10-20 mA to sense Re, so the voltage dropped by the sense resistor is 1mV or less. This can be difficult to measure directly in the presence of a much large and varying AC signal that is also being sent to the driver. Birt's arrangement of bridge and integrator is better in this regard. It provides both DC gain and low-pass filtering, but in addition because of the integration a small signal will build up over time to a much larger one. For example, if the DC voltage in the sense resistor is 1mV, the integrator DC gain is 100, and we wait 10 seconds the integrator output is 1 Volt! One volt is VERY easy to measure accurately, whereas 1mV is not (because of a lack of resolution in ADCs at that voltage).

Why is this useful? Well we don't really need a new measurement of Re all that frequently because the thermal time constant of e.g. a woofer is on the order of 10 seconds or more. So a measurement taken every 1-10 seconds would be frequent enough to accommodate the expected rate of change in Re. The integrator is both magnifying the DC value AND suppressing higher frequencies due to its low-pass character. This approach is also useful in a practical sense because real-world errors in the integrator circuit (like error due to input offset currents) will be low over a time period of a few seconds.

All one needs to do is have a mechanism that 'resets' the integrator to zero just after each reading (every N seconds). The integrator is window averaging the value during that time. Such an arrangement might be cumbersome in an analog circuit, but by interfacing with a single board computer with GPIO pins software can wait the desired length of time, read in the integrator output voltage, and then reset the integrator back to zero before start the process over again. In this way a reading can be taken every N seconds of Re in an automated fashion.

So, how can this be used? What does this have to do with the topic of this thread? Well, as I mentioned when Re increases the driver's voltage sensitivity will decrease and other changes to its near-resonance frequency response will take place. But these can all be quantified if the value of Re is known, and adjustments can be made in software (in the DSP code that is implementing the crossover filter functions). This might include gain increase or reduction of (in this example) the woofer, or other driver, to better match all the levels in the (multiway) system, and to use electronic means to compensate for the change in the woofer's response around resonance, e.g. to use a biquadratic filter to restore the desired near-resonance behavior. It would also allow the DSP excursion limiter to have a better estimate of the actual excursion, which will be lower when the driver voltage sensitivity is reduced by VC heating, for the same input level compared to a cold VC. As soundbloke pointed out, the limiter would otherwise be limiting the driver to lower and lower excursion as the VC heats up more and more and bass would be reduced more than it needs to from the standpoint of implementing a mechanical limit on cone travel.

I envision an additional process running on the computer that is doing the periodic interfacing via GPIO pins with the integrator as described above and another process doing the DSP processing. These need to talk to each other. Luckily under Linux/Posix it is relatively straightforward to share memory between two or more processes. One process (the one reading the GPIO and calculating Re) would update the memory location with the new measured Re value and the other (the DSP process) would read this memory location each time and calculate new parameters for gain and other adjustment that would be made in the crossover filters. Because the GPIO pin read rate is low (every few seconds) the overhead for the process that is monitoring Re would be very low.

This approach might give rise to an interesting new type of compensation for loudspeakers that I do not believe has been done before.
 
I think I can appreciate the design project and you very well could take this somewhere I can't imagine. However, if improved linearity and life are the goal, you basically need to turn it down or get more drivers. Because of that, I think this will have limited commercial application except as possibly a more intelligent "idiot light" for the sound guy or consumer. Something will have to adjust the volume, and if you don't want active circuitry doing that because distortion then it will again fall back to the thing at the end of the volume knob. If you simply need more volume, you'll need more drivers. A system that lets an operator run further into the red, with high continuous and modulated temperature, is only going to delay failure by a short time.

I used to know a guy that ran a stack of Carver PM1.5s and claimed his system didn't sound good until all the red lights were on, so maybe some automation here is more salable than I believe.
 
Last edited:
Wow Andrew, I'm somewhat shocked that you got these impressions about what I posted!
I think I can appreciate the design project and you very well could take this somewhere I can't imagine. However, if improved linearity and life are the goal, you basically need to turn it down or get more drivers.
This is not about improved life. Surely you can see how my approach would result in a more consistent performance from the loudspeaker? If you want to call that "linearity' then yes, it would result in a more linear system.

This is not some kind of magic approach to let you do more with the system that it is capable of... rather it's a way to make use of what it can do and keep the system sounding the same under all conditions.

Because of that, I think this will have limited commercial application except as possibly a more intelligent "idiot light" for the sound guy or consumer. Something will have to adjust the volume, and if you don't want active circuitry doing that because distortion then it will again fall back to the thing at the end of the volume knob.
I really don't care 1 iota about commercial applications! Why did you think that was important? This is a DIY effort for my amusement. I share my work via my website.

Again, you seem to have envisioned something that is far from what I meant to convey. This is not meant to keep driving the system "harder" (e.g. add more heat to a hot system) to keep up the same loudness level. This is NOT for PA applications. It's for high quality home audio.

I could not at all follow where you get "analog circuitry <--> distortion". That was not my assertion - I don't think I mentioned distortion at all in fact. My point was doing all of this: monitoring the integrator output, calculating Re, adjusting filter functions, etc. is too complicated for a pure analog circuitry. This is a perfect application for a computer. Since I am already doing DSP filtering in software on a computer in the loudspeaker I only proposed how I would wrap this into the existing DSP processing to take advantage of the new info on Re.

If you simply need more volume, you'll need more drivers.
Again you seem to think this is about "more volume". That is totally not correct. I cannot make this point more clear.

A system that lets an operator run further into the red, with high continuous and modulated temperature, is only going to delay failure by a short time.

Again, you are not correctly understanding the intent behind this concept. It is not for "louder" playback. As I mentioned in earlier post(s) you could just as well reduce gain to other drivers to compensate for reduced voltage sensitivity when a driver has increased Re from VC heating. Because the corrective action is done in software, pretty much any approach you can dream up can be implemented.
 
Okay. But when I think of thermally related distortion or tuning drift in a woofer, I figure it must be Hot, as in like 10 dB overdriven, at Least now and then. If you're talking about skirting the +/- 3dB region, isn't that simply flirting with the edge of failure?

At volume levels where woofers don't make much distortion, they don't get hot. I think that's where I'm coming from.
 
Also thought I'd mention... accidents happen. If you could figure out a way to detect when the coil was leaving the gap, and stop that from happening without changing normal running one bit, sensorless, you really would have something. Unfortunately you'd probably still have to include the flashing red light, or many would be none the wiser.
 
Last edited:
Okay. But when I think of thermally related distortion or tuning drift in a woofer, I figure it must be Hot, as in like 10 dB overdriven, at Least now and then. If you're talking about skirting the +/- 3dB region, isn't that simply flirting with the edge of failure?

At volume levels where woofers don't make much distortion, they don't get hot. I think that's where I'm coming from.

Sure there are the limits of:
little or no drive current --> relatively "cold" (e.g. room temp) voice coil
lots of power and compressed program material for a long time --> hot VC

But there is a large area in between, within which (I believe) some careful controlling of the input signal based on some feedback about the system can be useful and can keep the system from getting too overheated. This is the operating region that I am interested in working in, and to make the system perform better there.
 
Also thought I'd mention... accidents happen. If you could figure out a way to detect when the coil was leaving the gap, and stop that from happening without changing normal running one bit, sensorless, you really would have something. Unfortunately you'd probably still have to include the flashing red light, or many would be none the wiser.

Right. I believe I have indeed figured out a way to predict the instantaneous cone excursion without directly sensing it based on the input level, various gains in the amplification stage, and the Thiele-Small parameters (for large signal behavior). That is the basis for the excursion limiting - predicting the excursion and then dynamically bringing in a highpass filter to reduce low frequency power that is driving the excess excursion.
 
Definitely a fun idea, and I think it could have some real utility.

After a little contemplation, I'm thinking you could do this with a near zero latency filter. I was originally hung up on the code needing a running integrator/accumulator and some math to decide how much voltage*duration would push the driver over the excursion limit, but then I realized knowing the real T/S and system Q makes all of that redundant.

Here's some screenshots from winisd model of a small sealed sub I have. Blue is the excursion curve given constant voltage. Green is after a linkwitz transform picked to match the shape of the native system excursion curve, which (after arbitrary scaling) yields a roughly flat line (with an added peq for the very low end). The orange curve is with the inverse of the green equalization, and that's actually want we want as our reference.

An externally hosted image should be here but it was not working when we last tested it.



Here's the freq/amplitude for the green and orange filters compared:
An externally hosted image should be here but it was not working when we last tested it.


Given any input voltage at any frequency, the output of the orange filter will tell you if you're over/under excursion limit.

The thinking is you don't need a read-ahead or look-back buffer. Your dsp simply passes the input samples along untouched, but it is also computing and storing the same stream transformed with the appropriate biquads/IIRs previously derived for the specific system. To identify the hard limit, you play a signal at an arbitrary frequency and increase volume until you reach your desired excursion limit while monitoring the computed value of the transformed signal in the dsp. If you picked your LT/PEQ/biquads correctly, when you change to any other frequency and then adjust volume up/down to match that excursion limit, the transformed signal should show the same amplitude values.

As for limiting, the dsp module/plugin monitors both the input stream and transformed stream. As the amplitude of the transformed one starts to approach the set limit, the input could be just scaled down linearly per-sample, or filtering/smoothing of the clamping could be applied. As the transformed signal starts to recede below limit, you can scale the input back up to full value.

If you did this on a per-sample basis with no smoothing, the effect would be to square off wave-forms and would yield funky harmonics, but I'd be interested to hear how bad they'd actually sound. Ideally it would be engaging only rarely, you'd have the nice upsides of basically no latency and no attack/release artifacts like with a typical limiter. I think you could also do the scaling on the transformed signal (green line above) and gently blend that back in with the raw input to effectively reduce only the offending frequencies, and that still avoids latency from a buffer.

I'd really like to write a vst plugin to play with this idea, but all of the dsp in my theater is done in the digital domain prior to the AVR that sets the final output volume to the amps, so no such luck.
 
@andy497: If I am correctly understand what you did, it's very similar to Small's method but you are using the box modeler to generate the excursion filter function.

You are correct in that a lookahead, buffering, and latency are not needed but, as you realized, the only corrective action is a hard limiting of the input signal. Because the driver has mass and thus momentum the cone motion probably will not be able to follow that signal and there will be some overshoot. Otherwise the "flat topped peak" type of limiting will be the result. In a woofer, this will generate harmonics that will probably be objectionable, but maybe not. If you do try that, I would be interested to hear your thoughts about the sound quality.

I use the lookahead approach, which allows a slower reduction in the signal, to perform the limiting. With that approach, no harmonics are generated. It's a blameless way to limit the signal, really. But you must incur some latency to do so.

I might be able to write the excursion limiter LADSPA code so that the user can implement it with no latency and hard limiting (like you suggest) or add some latency to reduce/eliminate harmonics and distortion.
 
...You are correct in that a lookahead, buffering, and latency are not needed but, as you realized, the only corrective action is a hard limiting of the input signal. Because the driver has mass and thus momentum the cone motion probably will not be able to follow that signal and there will be some overshoot. Otherwise the "flat topped peak" type of limiting will be the result. In a woofer, this will generate harmonics that will probably be objectionable, but maybe not
...
I use the lookahead approach, which allows a slower reduction in the signal, to perform the limiting. With that approach, no harmonics are generated. It's a blameless way to limit the signal, really. But you must incur some latency to do so.
...

A bit of a buffer definitely gives you better and smarter control, and smoothing the on/off transitions certainly seems preferable if you have the option. Since most of the content played on my HT is tv/web streaming and I don't have much leeway with live audio/video sync, I'm still tantalized by the idea that one might be able to do this well with low/no latency. For example it would be neat to be able to completely remove the high pass filter on my vented subs and gain back what's lost at the knee. I guess a first step would be to simulate the application of the filter on some audio files and see how much it mangles the waveforms.


p.s. your plugins look very cool!
 
Definitely a fun idea, and I think it could have some real utility.

After a little contemplation, I'm thinking you could do this with a near zero latency filter. I was originally hung up on the code needing a running integrator/accumulator and some math to decide how much voltage*duration would push the driver over the excursion limit, but then I realized knowing the real T/S and system Q makes all of that redundant.

Here's some screenshots from winisd model of a small sealed sub I have. Blue is the excursion curve given constant voltage. Green is after a linkwitz transform picked to match the shape of the native system excursion curve, which (after arbitrary scaling) yields a roughly flat line (with an added peq for the very low end). The orange curve is with the inverse of the green equalization, and that's actually want we want as our reference.

An externally hosted image should be here but it was not working when we last tested it.



Here's the freq/amplitude for the green and orange filters compared:
An externally hosted image should be here but it was not working when we last tested it.


Given any input voltage at any frequency, the output of the orange filter will tell you if you're over/under excursion limit.

The thinking is you don't need a read-ahead or look-back buffer. Your dsp simply passes the input samples along untouched, but it is also computing and storing the same stream transformed with the appropriate biquads/IIRs previously derived for the specific system. To identify the hard limit, you play a signal at an arbitrary frequency and increase volume until you reach your desired excursion limit while monitoring the computed value of the transformed signal in the dsp. If you picked your LT/PEQ/biquads correctly, when you change to any other frequency and then adjust volume up/down to match that excursion limit, the transformed signal should show the same amplitude values.

As for limiting, the dsp module/plugin monitors both the input stream and transformed stream. As the amplitude of the transformed one starts to approach the set limit, the input could be just scaled down linearly per-sample, or filtering/smoothing of the clamping could be applied. As the transformed signal starts to recede below limit, you can scale the input back up to full value.

If you did this on a per-sample basis with no smoothing, the effect would be to square off wave-forms and would yield funky harmonics, but I'd be interested to hear how bad they'd actually sound. Ideally it would be engaging only rarely, you'd have the nice upsides of basically no latency and no attack/release artifacts like with a typical limiter. I think you could also do the scaling on the transformed signal (green line above) and gently blend that back in with the raw input to effectively reduce only the offending frequencies, and that still avoids latency from a buffer.

I'd really like to write a vst plugin to play with this idea, but all of the dsp in my theater is done in the digital domain prior to the AVR that sets the final output volume to the amps, so no such luck.

I was re-reading your post. Your approach is essentially correct, however, I am wondering how you were planning to measure excursion or determine the excursion limit? I highlighted the passage in red, above.

If you could accurately measure the instantaneous excursion in real time you could do more sophisticated processing or possibly even distortion reduction. Then this whole Thiele-Small model-based approach that I am using would be unnecessary. As far as I know there is no easy way top do this without resorting to some sophisticated and expensive equipment. For example, Klippel sells a laser based excursion measurement system.

You really only need to measure excursion at some frequency and input power ONCE to calibrate the system. For a somewhat crude estimate of excursion, Linkwitz describes HERE how a paper "wedge micrometer" can be used to measure excursion. The calibration is possible because we are assuming that the system is linear (e.g. follows the TS parameter model). The excursion is then described by a low pass second order filter with Q and corner frequency the same as the highpass character of the driver-in-box, times a single factor that accounts for driver sensitivity, the alignment of the driver, DAC output voltage, amplifier gain, etc. You need only one measurement and you can effectively back-calculate this factor. Because it relies on the eye, the wedge micrometer is pretty crude as far as measurement techniques go, so the estimate of the factor will be very crude as well. Since the TS parameter model is also crude this may be good enough. The other way would be to drive the cone and measure distortion. When it reaches some level (e.g. 10%) at low frequency you choose this (instead of the cone excursion) to determine the factor used in the algorithm. 10% distortion is sometimes how Xmax is determined when the BL curve is not known.

As user soundbloke pointed out, as the voice coil heats up and Re increases, sensitivity falls and the behavior around resonance changes. A more sophisticated system would monitor Re in real time. If the current Re is known, the change in sensitivity, Fc, and Q can be calculated and accounted for in the crossover. This is a more complicated approach, but one that would be more accurate in the long term as Re increases and decreases. Without accounting for changes in Re the estimate of excursion will start to be in error as Re increases and (as soundbloke pointed out) the algorithm will be limiting the actual excursion to some level that is lower than what was assigned when Re was cold. Depending on the average input power level, program material, and other factors this may or may not be a problem. I wrote and implemented a plugin that monitors the signal level and can take corrective action to limit excursion based on that alone. That will likely become the "dumb" limiting algorithm, and the "smarter" one will incorporate some kind of real-time voice coil resistance measurement. The latter could permit continuous adjustment of the signal levels for all the drivers in the system so that they track well as the voice coil of each driver heats and cools. I want to stress that this does NOT mean that the system must INCREASE power to a driver when its sensitivity falls due to Re increases - instead the level to the other drivers could be REDUCED to match driver sensitivities. This would help to prevent runaway increases in power that can end up burning up the VC. Also, the system could include a protection that shuts it down when the VC temp reaches some threshold. Since the system is run by a computer, you can implement whatever type of corrective action that you want or feel is appropriate for your particular system.
 
Last edited:
I thought a little more about what I wrote above and now I am pretty excited! Let me explain why:
First, the cone excursion can be predicted using Small's equations. These predict how the excursion varies with frequency and input power. To know the input power you need to know the input signal to the amp and the voltage gain of the amp. But to know the input signal to the amp you need to know how the internal "digital signal level" is translated into the output voltage from the DAC - let's call this the "DAC gain". The problem is that for some DACs this is different as a function of the load, so it's not necessarily universal. You could, however, measure it.

But if we are going to measure something to "calibrate" the system, why not do this in a more sensible way. Keep in mind that one of the main reasons that I wanted to limit excursion was that in my systems (which are open baffle) the woofer can very easily be driven into over excursion at modest input powers. Over-excursion could significantly increase distortion and result in worse performance overall if the VC was driven far away from the rest position where motor control is poor. If we want to limit distortion, why not just measure THAT directly? This is, frankly, quite easy with today's computer based measurement tools.

If you read the paper by Klippel I linked to in the last post (found HERE) it describes a way to use a multi-tone stimulus to probe inter-modulation distortion at resonance (see page 2, "Practical Usage"). In the past I have generated multi-tone stimuli and measured systems stimulated by it using the freeware program "Visual Analyser" which has oscilloscope and THD measurement capabilities. There are probably other programs that could be used to do this kind of measurement, too.

So, the idea would be to power the driver from the computer system using the DAC and power amplifier that will be used in normal operation. Internally (in the algorithm) the gain factors used in the TS model excursion calculation would be set to 1.0. The multitone stimulus would be processed through the algorithm and the TS-model's excursion level would be output and monitored. At the same time, acoustic measurements would be used to monitor the distortion level. The user would choose some distortion level that they would like to be the "maximum" for the system - let' say for now that this is 10% distortion. When that is recorded by the acoustical measurement system the value that is generated by the TS-model based excursion predictor would be noted. The actual value would be WRONG because the factors of DAC gain or power amp voltage gain were set to 1.0, however, because the system is linear this doesn't matter. We only need to know the corresponding value of what the excursion estimate is spitting out, and scaling this up or down by a factor would not change anything. As long as henceforth the system is limited to this "WRONG" value of excursion the actual system will be limited to a real world excursion level that will result in the distortion not exceeding the 10% limit value that was chosen earlier. This would make distortion level based limiting possible.

Alternately, one COULD measure the DAC gain and the power amp voltage gain and, given a set of TS parameters that describe how the driver is behaving at large excursions predict the real world driver excursion level. Given the driver's Xmax rating, the user could then limit the driver so that the estimated excursion remains below Xmax (or any other value that the user would like to choose).

This provides two alternate ways to calibrate the system - an electrical way and an acoustical way. In fact there could be some mix of both approaches used.

None of this accounts for voice coil heating and how it changes things. But it shows that the system can be set up in various ways that are practical for the DIYer and that do not require very expensive and sophisticated measurement instruments.
 
Last edited:
With that approach, no harmonics are generated

No. The physics is consistent regardless of any delay that is added.

Otherwise the "flat topped peak" type of limiting will be the result

There is no difference here to any sort of limiter. But as I have commented before, the excursion is relatively slow rising and a look-ahead limiter by no means guarantees a blameless limiter. In a band-limited sub-woofer, I maintain that a fast onset, one-sided limiter will give the best (in)audible results.

A two-sided response additionally introduces excess phase components that may also contribute audible distortion. The treatment of phase responses at low frequencies remains one of the last improvements in audio performance waiting to be 'discovered' and adding more without good reason seems at odds with a desire to build a blameless device.

None of this accounts for voice coil heating and how it changes things. But it shows that the system can be set up in various ways that are practical for the DIYer

Precisely why Birt's simple solution is so good - whether as previously discussed - the feedback is used for offline calibration or online correction.

Also, the system could include a protection that shuts it down when the VC temp reaches some threshold.

Indeed it can - or you could implement a genuine rms voice coil power limiter as Birt's solution affords.

And as a final contribution, the more I think about this, the more I am convinced that a low frequency selector would be better than an excursion limiter - which would most likely become a compressor in practical use. A simple detection of excessive excursion requirements (which could be well in advance - and even in advance of programme data starting) could simply set the low frequency roll-off rather than modulate it. This is without question a blameless solution...
 
I think we can get too hung up about whether compression, sliding filters etc create audible effects.

If a speaker hits its cone excursion limits, bad things happen, including bad sound. Even the simplest electronic excursion limiter can prevent the bad sound.

A really important example is eg the common 12" bass + fancy horn that is very useful for PA & Sound Reinforcement .. these days often in a small plastic cabinet.

EQ can give these small boxes a truly 'flat' response to 50Hz or better.

But without electronic excursion limiting, you often hear vocals go 'sh sh sh' or worse with every thump of the bass line. What is happening is the 12" has problems playing midrange when hard against its stops.

When you switch in the excursion limiting, you don't lose any bass ... cos the unit was hard against its stops w/o the limiting so couldn't possibly produce more bass. What you hear is the vocals come back undistorted with extra clarity bla bla ... ie the sound is much better.

You don't need super accurate modelling of the excursion, thermal stuff bla bla to gain substantial benefits.

I've designed such systems since the late 70's with some success. My most successful commercial systems were all analogue and crude by your standards but they ALL gave better sound.

The R&D code name for such fancy bass systems was Powered Integrated Super Sub technology but for some reason, Marketing never liked this.

We did a lot of experimental stuff including ACE type systems with Birt temperature sensing and DSP. But in the end, when we listened to the fancier stuff, we always decided the benefits were not worth the (at the time) substantial cost.

For bandlimited stuff like subwoofers, even cruder analogue stuff works well. You can arrange 'instant' limiting with no audible cons.

I've been a beach bum for nearly 2 decades, but regaining contact with civilisation, I'm surprised that some of these cheapo techniques are not more commonplace.

And though cheap DSP power is well beyond what I dreamt of at the end of the last Millenium, not many people know how to use it properly to get better sound.
 
Last edited:
Can this be adapted to implement equal loudness curves?

I find Audyssey's Dynamic EQ to be quite exceptional in maintaining tonal balance at various volumes. The idea is rather simple. Because of the initial calibration, it knows the exact SPL level at the listening position. It doesn't follow the FM curves. All it does is apply a low shelf filter for the bass and upper treble, nothing in the middle. This is good because matching the FM curves in the midrange IMO messes up the sound quality, but adjusting the 2 extreme ends are very beneficial. The amount is directly dependent on the playback volume.

I essentially want a bass boost and flat high frequencies at low volumes , but as the volume goes up, I want less bass boost as well as less high frequency.

Since there is already a lookahead for the cone excursion, the same lookahead can be used to see the signal level, and apply the appropriate bass boosts and treble cuts for that level. We can have a very good estimate of the listening position SPL level with a simple parameter where it asks the user what SPL are they measuring at the listening position when a -10dB signal is played, and adjust accordingly.
 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.