There are discussions in another thread regarding the merits of maximizing the amplifier “damping factor” by reducing the amplifier output impedance (which is usually assumed to be purely resistive) to essentially zero or even negative. The theory is that this will maximize the electrical damping of loudspeaker drivers. How does this work? Will modeling provide some answers to this question? This thread is about modeling dynamic loudspeaker drivers. I think it would be helpful by starting this thread with the physics behind a dynamic loudspeaker driver, and how a mathematical model is built on the physics. The first few posts (4 parts) of this thread are basically mathematical modeling 101 of dynamic loudspeaker driver using the fundamental Thiele/Small (T/S) parameters.
Most loudspeaker driver models in the literature I’ve come across are presented using equivalent circuits, where mechanical (and acoustical) items are “translated” into their electrical analogs. For example, mass turns into inductor, spring turns into capacitor, dashpot damper turns into resistor, velocity becomes current, force becomes voltage potential, etc. Professor Richard Small, expected his readers to be familiar with the use of “dynamical analogies”, used equivalent electrical circuits immediately at the beginning in his loudspeaker system analysis papers, see for example.

For those who are not familiar with using these analogs, and I am one, Small’s papers can be difficult to follow. Dynamical analogies, AFAICT, seem to be a dying art. I doubt they are being taught much in schools, and I don’t remember having classes on them when I studied mechanical engineering 40 years ago. Harry Olson wrote a book if you are dying to know this stuff. Knock yourself out.
My guess is that because the easy access to and abundance of computational power makes using direct numerical simulations to analyze “multi-physics” (e.g. electro-mechanical systems) systems infinitely more feasible than in Olson’s or Small’s days.
Me, not at all well versed in the subject of dynamic analogies, will derive my model from first principles using the more direct “modern” mathematical methods — from differential equations to state-space models and to transfer functions. If you have taken modern control systems classes, you should be familiar with these techniques. I will start with a model similar to the ones Small used, but with the driver sitting in free air instead of mounted to a closed or vented box.
I know this is ASR and people have the habit of jumping right in and told me that the model is missing this or that. Therefore, my caveat — consider this model to be the first step into the modeling a dynamic speaker driver. In direct (i.e. time domain) numerical simulations, the T/S parameters do not have to be fixed constants but can be functions of current i(t), position x(t), temperature (not considered in this model), time (to include hysteresis), etc. For examples of more “sophisticated” nonlinear models, check out this MATLAB/Simulink tutorial and/or paper by Bezzola and Brunet.
Part 1. From Physics to State-Space Model
Let’s get going. Below is the simple model of a dynamic loudspeaker driver in free air.
The mechanical portion includes the T/S parameters moving mass, Mms, diaphragm suspension stiffness, Kms (= 1/Cms, stiffness, or spring constant, is the reciprocal of compliance), and mechanical resistance, Rms. The motor force is the product of the force factor and voice-coil current, Bl × i(t).
The electrical circuit includes the voice-coil inductance, Le, the combined DC resistance of the voice-coil and source resistance, Rdc, the voltage source, Vin(t), and the back EMF induced by the diaphragm, Bl × x’(t).
The first equation is for force balance. The motor force is balanced by the mechanical compliance (spring force), Kms × x(t) [displacement], mechanical damping, Rms × x’(t) [velocity], and acceleration of the diaphragm, Mms × x’’(t) [acceleration].
The second equation is for voltage balance. The input voltage Vin(t) is balanced by the voltage drop across the total DC resistance, Rdc × i(t) [voice coil current], voltage drop across the voice coil inductance, Le × i’(t) [time derivative of the voice coil current], and the back EMF from the motor, which is equal to the product of the force factor, Bl, and diaphragm velocity, Bl × x’(t).
Stick these 2 equations into Mathematica, specify displacement, x(t), velocity, x’(t) and voice coil current, i(t), as the state variables, Vin(t) as input, and x(t) as output, and Mathematica will conveniently generate the state-space model for us, symbolically! Once we have the state-space model, we can have Mathematica give us the input-voltage-to-diaphragm-displacement transfer function too.
End of Part 1.
Most loudspeaker driver models in the literature I’ve come across are presented using equivalent circuits, where mechanical (and acoustical) items are “translated” into their electrical analogs. For example, mass turns into inductor, spring turns into capacitor, dashpot damper turns into resistor, velocity becomes current, force becomes voltage potential, etc. Professor Richard Small, expected his readers to be familiar with the use of “dynamical analogies”, used equivalent electrical circuits immediately at the beginning in his loudspeaker system analysis papers, see for example.
For those who are not familiar with using these analogs, and I am one, Small’s papers can be difficult to follow. Dynamical analogies, AFAICT, seem to be a dying art. I doubt they are being taught much in schools, and I don’t remember having classes on them when I studied mechanical engineering 40 years ago. Harry Olson wrote a book if you are dying to know this stuff. Knock yourself out.
My guess is that because the easy access to and abundance of computational power makes using direct numerical simulations to analyze “multi-physics” (e.g. electro-mechanical systems) systems infinitely more feasible than in Olson’s or Small’s days.
Me, not at all well versed in the subject of dynamic analogies, will derive my model from first principles using the more direct “modern” mathematical methods — from differential equations to state-space models and to transfer functions. If you have taken modern control systems classes, you should be familiar with these techniques. I will start with a model similar to the ones Small used, but with the driver sitting in free air instead of mounted to a closed or vented box.
I know this is ASR and people have the habit of jumping right in and told me that the model is missing this or that. Therefore, my caveat — consider this model to be the first step into the modeling a dynamic speaker driver. In direct (i.e. time domain) numerical simulations, the T/S parameters do not have to be fixed constants but can be functions of current i(t), position x(t), temperature (not considered in this model), time (to include hysteresis), etc. For examples of more “sophisticated” nonlinear models, check out this MATLAB/Simulink tutorial and/or paper by Bezzola and Brunet.
Part 1. From Physics to State-Space Model
Let’s get going. Below is the simple model of a dynamic loudspeaker driver in free air.
The mechanical portion includes the T/S parameters moving mass, Mms, diaphragm suspension stiffness, Kms (= 1/Cms, stiffness, or spring constant, is the reciprocal of compliance), and mechanical resistance, Rms. The motor force is the product of the force factor and voice-coil current, Bl × i(t).
The electrical circuit includes the voice-coil inductance, Le, the combined DC resistance of the voice-coil and source resistance, Rdc, the voltage source, Vin(t), and the back EMF induced by the diaphragm, Bl × x’(t).
The first equation is for force balance. The motor force is balanced by the mechanical compliance (spring force), Kms × x(t) [displacement], mechanical damping, Rms × x’(t) [velocity], and acceleration of the diaphragm, Mms × x’’(t) [acceleration].
The second equation is for voltage balance. The input voltage Vin(t) is balanced by the voltage drop across the total DC resistance, Rdc × i(t) [voice coil current], voltage drop across the voice coil inductance, Le × i’(t) [time derivative of the voice coil current], and the back EMF from the motor, which is equal to the product of the force factor, Bl, and diaphragm velocity, Bl × x’(t).
Stick these 2 equations into Mathematica, specify displacement, x(t), velocity, x’(t) and voice coil current, i(t), as the state variables, Vin(t) as input, and x(t) as output, and Mathematica will conveniently generate the state-space model for us, symbolically! Once we have the state-space model, we can have Mathematica give us the input-voltage-to-diaphragm-displacement transfer function too.
End of Part 1.
Last edited: