1 Introduction

LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Updated 2005-01-26
This document gives a few examples how LspCAD 6 is used in a real situation. This
document is meant to expand with more examples as time goes by. All the examples are
available as project files in the examples folder.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
An optimization example, a two way
In this example we have a simple two-way
crossover (Two way tutorial 1.lsp).
We see that L1 and C1 only affect the
response of the Bass unit. Open up the
advanced settings for L1.
Check the Optimize box and also the box
next to “Bass”.
We have now instructed the
optimizer that L1 should be
optimized when we start to
optimize the response of the Bass
unit. Do the same with C1. In a
similar way we see that C2 and L2
only affect the response of the
Treble unit. (Two way tutorial
Open the Optimizer, we choose to
optimize the response of the Bass
unit, we therefore click on the box next to “Bass”, if we look at the schema we will see that
the component text for L1 and C1 has become boldface.
Click on the Range tab and set the Include range to the
interval 100 to 6000Hz
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Next we select an appropriate
target for the optimization, click on
the Target tab and then on the LP
tab, check the Enable box and set
Fc to 2000Hz and order to 2, also
set the alignment to Linkwitz.
With this we are ready to start our
Click on the Start button and watch
the miracle happen. Optionally one
can turn up the step size to get a
faster convergence. When the stop
the optimization L1 and C1 are
roughly 0.160mH and 39uF and the
mean error is close to 0.01dB.
For some reason it is possible that
one did not like the result, the
remedy is simply to click on the
Undo button to get back to the state before the Start button was clicked.
In the similar manner we can
optimize the response of the treble
unit for a 2nd order HP Linkwitz
alignment at 2000Hz, but instead
we test what the lock XO option can
do for us.
We check “Treble” in the optimize
tab, also wee set the target to flat,
and the range to 100 to 20000Hz
and the optimizer screen looks like
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
We open the XO points tab and put a
lock at 2000Hz with a gap of 6dB with
a slight tolerance. And start the
optimizer, but before we do so we can
disable the optimization of L1 and C1.
(Two way tutorial 3.lsp)
After a while we have a crossover
with a flat system response and a
crossover frequency locked at
2000Hz. (Two way tutorial 4.lsp)
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
A closed box… and a bass reflex
At first glance the modeling of various loudspeaker boxes might look overly complex, the
intention is however that it should be possible to model other, more complex boxes than
the standard closed, bass reflex and passive radiator boxes. This section describes how
modeling of a closed box is performed in LspCAD, this example is then extended with a
bass reflex port.
Closed box
First of all we need a signal source and a Loudspeaker unit, pick this from the component
tray, we also need to ground one of the speaker terminals (Closed tutorial 1.lsp).
In a closed box we have free air in
front of the speaker cone. This is
modeled as a Radiation element.
Pick a radiation element. This acts
a load of the front part of the cone.
Behind the code we have a box
and also a load from the air inside
the box. This is modeled with a Box
load and a Box component. After
the components are picked and
arranged a little on screen (don’t
use too little space) we have a
schema that looks something like
(Closed tutorial 2.lsp).
So far we have been in edit mode, now it is time to enter simulate mode. Said and done,
we click on the Simulate tab.
In this mode we need to do a few extra things before we are in business.
The Radiation component needs to know a little about the
loudspeaker unit (such as Sd). For this to happen we click on the
Radiation component and a small configuration dialog appears.
Click on the dropdown list box below “Ref to…” and select
“Loudspeaker unit 1” (nothing else to select by the way). Once
you have done this you will see a typical 2 order high pass
response of a closed box in the graph window.
We are getting close but we are not
quite there yet, recall that the Box load
component models the load behind the cone, for this to happen
the Box load component must also know a little about the
loudspeaker unit. Click of the Box load component and set the reference to “Loudspeaker
unit 1” as before.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Now we are in now in practice done (Closed tutorial 3.lsp). We are free to modify the
Box parameters with a click on the Box component. The T/S parameters can be changed
via a click on the Loudspeaker unit.
Bass reflex box
But lets not be lazy, why don’t we just make a bass reflex box?. Enter the Edit mode again
and pick a Port component and an additional Radiation component from the component
tray. We need a
component as the
port is a component
that radiates into
free air. The
schema then looks
like (Bass reflex
tutorial 1.lsp).
Now we go back to
Simulate mode and
we realize that the
SPL graph has
changed (we have a
notch in the
response) In order
to get the full picture we need to let the extra Radiation
component learn a little of the Port, click on the Radiation
component and set the reference to the Port component
With this we have the ability to simulate a bass reflex box
(Bassreflex tutorial 2.lsp).
It would be cool however if Fb in the schema displayed the correct
value. For this to happen the Port must know how large the Box is,
click on the Port component and set the reference to the Box. Now
we get Fb to update whenever we change the port length or the box
volume (Bassreflex tutorial 3.lsp).
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Grouping the box parts together
If we group all the components (except the loudspeaker
unit, the ground symbol and the signal source) we get an
additional benefit.
Enter the Edit mode, select all the components except
those mentioned above, right click and select Group. Move
the markers that “carry” the text “Component group” and
“Description” a little.
Go back to simulate mode.
Nice thing now is that if we left click inside the group box
(but not on a component. A dialog pops up that displays the
most important parameters.
(Bassreflex tutorial 4.lsp).
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Using the templates
The closed box and the bass reflex box exist as templates, if the templates are used we
get an additional nice feature, namely the wizards that help us to get decent values for box
volumes and port lengths.
First of all create a completely new project. In the main window, click on the project list
and locate the Templates. Select page 3 in the templates.
Copy the Bass reflex box (and the associated loudspeaker unit and paste it into the new
Now we must add a voltage source and a ground connection. When this is done. We enter
the simulation mode.
The references to the loudspeaker unit must be set for the Box load and the Radiation
component closest to the loudspeaker unit (this must be done by hand, hopefully not
needed in the future).
Now that this is finally done we are able
to simulate our beloved bass reflex box.
If we right click inside the group we get
a dialog that contains a magic wizard
button, click on
the Wizard
button and a
small window
pops up that
allows us to
select among a few bass reflex
Select an alignment and click on Apply.
(Bassreflex tutorial 5.lsp)
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The Ugly duckling revisited
This chapter gives an example how LspCAD is used to create an appropriate crossover
for the Ugly duckling loudspeakers, first presented at
http://www.ijdata.com/ugly_duckling.pdf. This chapter should be viewed as a continuation
and will also show how the Behringer DCX2496 is configured.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The subwoofer unit
The bass unit is a Peerless XLS 12 assisted by two Passive radiators
Driver unit
466.00 cm2
139.20 l
466.00 cm2
1000.0 g
6.80 Hz
139.20 l
25.0 mm
4.60e-04 m/N
18.9 Hz
9.94e-07 m5/N
162.39 g
166.40 g
5.12 Ns/m
18.1 Hz
17.60 N/A
3.50 ohm
1.60 mH
500.0 W
25.00 mm
8.00 mm
33.00 mm
The original cone mass of the PR is 425g, therefore 575g weights was manufactured that
was attached to the backside of the PR.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
In order to model the passive radiator box it
is actually a good idea to pick the Passive
Radiator box template that is available in
the Template section. The template section
is actually a preloaded project that contains
ready to use templates for a number of
good to have building blocks. The template
section is accessed from the topmost
dropdown listbox in the main window.
Select both the TS driver unit and the group
that represents the passive radiator box.
Right click with the mouse and select Copy.
Now go back to your original project and
paste the items you have just copied.
In order to get going you need to add a
voltage source and a ground connector.
With this you are done with the schema
editing, it is now high time to leave the Edit
mode and enter the Simulate mode. Click
on the simulate tab. If you though that
“Gosh-it-looks-ugly” you will hopefully find
the looks better now. There are a few
numbers here and there, if you don’t like
them you can actually hide them as don’t
have much use of them. Look for the
settings menu pick in the main menu and
deselect the Show node numbers checkbox in the dialog that comes up, while we are
here we can also set the display range to
10-2000Hz. You can then close this dialog.
There are a few thick gray lines running
across the schema. These lines only show
that all components are referenced correctly
to one another the latter is a key feature in
LspCAD 6 and makes it possible to add
semi intelligent wizards in an otherwise
stupid node analysis algorithm. These gray lines can be hidden, click eg on the ABR
component and deselect the Show references checkbox.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The whole thing looks done, except for the fact that we need to enter the TS parameters,
click on the TS driver symbol (the large box with the text Bl
inside). In the dialog that pops up you can enter/modify a
lot of parameters. First of all click on the Parameters tab.
Here you should add all the parameters you have
If we go back to the T/S parameter list we see that Sd =
466cm2. Said and done we enter 466 in the Sd field, to do
this we first double click on the Sd row, then we enter 466
and click outside the enter box. Before we go on and enter
Vas we check the small checkbox that is immediately to
the left of Sd, with this done Sd will stay fixed when we
enter the rest of the parameters. When we have enterer
Le we see that all necessary parameters of the
parameters have been entered. The important parameters
for the computations in LspCAD 6 are: Re, Le, (Reb, Leb),
Rms, Mmd, Cms, (LambdaS), Sd and Bl. The parameters
in parenthesis are not critical. Once we are done the list
looks like the one to the left.
Important to know is that the TS parameter list must be
saved separately, this is quite natural as one might need
the same TS parameters for
another project.
Now we should concentrate on
the frequency response. If we
look on the graph we realize that
a cutoff of 60Hz is less
impressive given that we deal
with an expensive long stroke
Click on the passive radiator component. Here we should first set
Sd to 466cm2. As we use a passive radiator that has the same
cone area as the subwoofer. Here we actually should enter the
values that we find in the table some pages ago but lets have
some fun with the group properties first!.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Click inside the dotted box with the right mouse button. In the
dialog box that pops up we find a Wizard button. Click on the
wizard button and then on apply and Viola we have an
optimally flat alignment for the subwoofer with a box
resonance frequency of 37Hz. Close the wizard box.
Now click on Clone. Then change the volume to 40l. Now go
to the dropdown list box and click on the arrow. Here you will
find that there are two group entries, you can actually switch
between the old entry (with 18l box volume) and the new
entry with just a mouse click. Take the chance to look at the
graphs when you select between the entries. Feel free to
change the name Clone – Passive radiator box to something
Now it is high time to get back on track again. We open up the
passive radiator dialog box and enter the values we found in the
table. Note that there are actually two passive radiators. Enter the
values in the same order as they listed
in the table.
We also need to set the boxvolume to
the correct value.
We need to set the relative locations of the
subwoofers and the passive radiators in order
to get a reliable simulation. As we have the
treble unit as reference point we need to set
dX = 150mm, dY = -730 and dZ = 180mm.
Click on the radiation component (looks like
the letter R) that is closest to the TS driver and
enter the information.
For the passive radiators we enter
dX = -150, dY = -730 and dZ = 180 and
dX = 150, dY = -430 and dZ = 180 (click on the radiation component that is closest to the
passive radiator component.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The graph begins to look like
the simulation we see in the
ugly duckling. One exception is
however the lack of the bump at
100Hz. To model this we open
up the TS driver dialog again
and click on the Configuration
tab. Here we find a box with the
name Inductance simulation.
This is Off by default but can be
set to two active modes.
Load impedance only:
In this mode we get almost the
same response as in the older
LspCAD 5.25 simulation.
SPL and load impedance. This models the impact on the power response, actually it
makes more sense to model the power response as the subwoofer is actually side
mounted so we simply select this mode.
The colors look quite dull so we take chance to modify these (click on the tiny rectangular
boxes in the graph). Also we click on the generator in the schema and set the voltage
multiplier value to 2.83.
With this we are done with
the subwoofer part for the
ugly duckling. If you want to
see an overview of the
project, click on the small
arrow down symbol on the
lower left corner of the main
The project so far is saved
ugly duckling 1.lsp
in the examples folder.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The midrange and the treble unit
We continue using the same project and
add the midrange and treble units. It is
however a good idea to put these
components on another schema page,
therefore click on the small dropdown
listbox that is located in the upper left
corner of the schema.
First of all we put the driver units on the
schema. This is quite straightforward.
As we only
wish to see
the midrange and treble units for the moment we open up
the settings dialog and deselect the Peerless SUB, and the
ABR PR from both the listboxes in the SPL field in the
SPL/Xfer tab. We can also set the display range to 50Hz20000Hz
Next step is to import the SPL and
impedance data for the midrange
and the treble units. The midrange
actually consists of two units
connected in parallel. The locations
of the midrange units are
dX = 0, dY = 120 and dZ = 0 and
dX = 0, dY = -120 and dZ = 0.
For the treble unit we set dX=dY=dZ
= 0.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Before we do anything else we recall that we verified that
the dZ offset was set correctly in the old ugly duckling. We
can actually do the same thing in LspCAD 6. For this
purpose we open up the settings dialog again and select
the SPL/Xfer tab. In the bottom of this tab we have the
option to import a reference curve. We import this
reference curve and also in the Show box we check the
reference curve. As this reference measurement was done
at 80cm distance we also need to set the distance to 80cm
in the General tab.
In order to protect the treble unit in this reference
measurement a 33uF was put in series with the treble unit.
Therefore we also need to break up the schema and do
the same thing.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
With this done we can have first
look at the SPL graph. We can
see that we need to adjust the
offset of the reference up by 2dB
to match the simulated
response. Still there seems to be
a misalignment between the
treble and the midrange units.
In the older ugly duckling project
we adjusted dZ for the treble unit
in order to get a good match and
we also see here that dZ = 3mm
we get the best match.
With these adjustments we can
start doing the crossovers it is
however advisable to set the
simulation distance to 3m and
deselect the show reference
The project so far is stored as
ugly duckling 2.lsp
in the examples folder.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The real ugly duckling of today use the
Behringer DCX2496 digital crossover.
Also a 15uF capacitor is in series with the
treble unit to protect from possible power
on transients. Modeling crossovers for
the ugly duckling can be done in many
ways. One alternative is to use the G(s)
G(z) component but as the DCX2496 is
actually used in this case we pick the
DCX2496 components here. With the
necessary components inserted into the
schema we get the looks to the right.
It is a good idea to waste space as it may
be needed later. The observant eye may
see the small buffer amplifiers, there are
needed as the DCX components cannot
directly drive the driver units, neither in
reality nor in LspCAD 6.
For the midrange we need to determine what kind of filter blocks we need. After some
thinking we need roughly:
2nd order HP filter 100Hz
3rd order LP filter 3000Hz
A shelving filter for the baffle step compensation
A notch filter for the 8200Hz resonance peak.
First we deselect Treble from the Combine and Show list box so we can concentrate only
on the midrange.
The first, unoptimized
attempt is shown to the left.
The project so far is stored
ugly duckling 3.lsp
in the examples folder.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
With this it is time to optimize the response of the midrange, as target we select 4th order
Linkwitz-Riley response with 120Hz and 3500Hz.
In the settings for the midrange filter we
need to set the optimizer to optimize the
parameters of the filter, (cutoff frequencies
for the LP/HP filters, gain, Q and center
frequencies for the EQ’s). Also we need to
enable the optimization. It is more
convenient here to not include the 8100Hz
EQ in the optimization.
In the crossover optimizer we first
select that we wish to optimize the
midrange response, also we set the
range to 70-6000Hz.
When one click on the Start button
one may experience that the
optimizer is slow. The reason to this
may be that we have too many
analysis points. A way to increase
the speed is to set the working range
to a more limited range and decrease
the number if analysis points,
another means is to select the Fast
Iteration in the Other tab.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
After the optimization we have a midrange response that follow the target pretty well.
The project so far is stored
ugly duckling 4.lsp
in the examples folder.
The treble filter is
optimized in the same
fashion as the midrange
filter, the resulting treble
response optimized for a
Linkwitz Riley 4th order
alignment is shown to the
ugly duckling 5.lsp
in the examples folder.
The combined midrange
and treble response can be
found in ugly duckling 6.lsp. Looking closer at this response (not shown here) one can
see that the response is not entirely ruler flat also there is a peak at 6500Hz, not large but
it would be neat to get rid of this. Also it looks better it we add 90dB scaling to the
imported SPL data. If we add a dip at 6500Hz and run an additional optimization we get
the summed midrange and treble response below (see ugly duckling 7.lsp).
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The subwoofer unit (again) and tying
things together
After this is done it is high
time to add the subwoofer ,
the signal to the sub needs to
be LP filtered, for this purpose
we use a Behringer crossover
component as well. This is
configured as a 2nd order
butterworth filter with cutoff at
The resulting on axis
frequency response is
shown to the right. In this
case no additional
optimization is done (see
ugly duckling 8.lsp for
more graphs).
Also worth a look is the
transfer function. This will
become handy when we
wish to create a passive
crossover later on.
The response in the low
frequency region drops
approximately 4dB per
octave. This is good when the loudspeaker is in a normal listening room, one can always
EQ it with a shelving EQ and get the response simulated in ugly duckling 9.lsp, this does
however sound “too much” in the very low frequency region and can sometimes become
really unpleasant
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Doing the passive crossover
Doing passive networks is a tedious task. One reason is that the load impedance is
complex, this can however be fixed with shunt circuits such as zobel and series resonance
circuits. The other problem is that unlike e.g the Behringer XO where one can set the
slope of a LP filter and the shape of an EQ , everything in a passive XO is tied together.
For instance if one change a component that is supposed to affect the slope of the
highpass part of a bandpass filter, chances are pretty high that the lowpass part is affected
as well. In short, what is easy done with active XO’s can drive you crazy if implemented as
a passive crossover.
But lets stop whining. This section described how a passive crossover is constructed for
the midrange and treble section. The subwoofer is omitted, is anyway bad practice to
construct a passive crossover for a subwoofer as the components can in the end be more
expensive than buying a power amp and run the subwoofer actively.
First we open the project ugly duckling 9.lsp. To make
things easier with the construction of the passive
crossover we export the transfer function of the
midrange and treble unit filter, this is done from the
graph window. Click on Export. In the dialog we select
the Midrange transfer function and click on Export. We save the file as
ugly duckling midrange TF.txt in the examples folder. Do the same with the treble unit
transfer function.
This makes it possible to optimize the transfer function of the passive crossover to the
same target, slightly more simple than having to optimize frequency response all over
again, also it is used in this tutorial to show the possibility
One observation worth notice here is that the gain for the treble filter is 1.8dB, this means
that we would need to attenuate the signal to the midrange in a passive filter. Personally I
don’t like this so we need to fix this.
After this we remove the subwoofer and all the other components except the midrange
and treble unit driver from the schema.
Our first task is to make the impedance curves of the driver units more flat, this is of great
help in our strive to achieve a good passive filter.
In ugly duckling passive 1.lsp a series resonance circuit is used to reduce the
resonance peak at 70Hz while a zobel is used to cancel out
the impact of voice coil inductance. Also in this case the
midrange is change to a configuration with the two midrange
units is series. This reduces the sensitivity of the midrange
but makes it easier to match the sensitivity of the treble unit.
For the treble unit we settle with a zobel network just to fix
the voice coil inductance.
Note that the series resonance component is a grouped
component with wizard properties. This means that one can
right click inside the dotted frame and click on Wizard in the
dialog that pops up. In this wizard one can set the center
frequency (fo),the Q value and the minimum impedance of
the series resonance circuit, when Apply is clicked the
appropriate components are computed.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
After some tweaking with components (actually it is possible to use the optimizer for this).
We get the initial passive crossover show to the
right. The resulting impedance is shown below.
The impedance is not totally flat but it is not critical to get it 100% flat as we may anyway
use these components when we optimize the transfer functions of the filters. The
resonance peak at 600Hz may cause some problems for us when we start to tweak the
transfer function of the treble unit but lets hope for the best…
The project so far is stored as
ugly duckling passive 1.lsp
in the examples folder.
Now it is time to add the actual crossover components. For
this purpose we can add a HP/LP filter with a right button click
on the mouse (in Edit mode of course).
As a starting point we select a 2nd order HP filter with cutoff at
120Hz and a 3rd order with cutoff at 3500Hz. The nominal load
is set to 12ohm. When we click on create a crossover is
dropped on the schema, we move it to an appropriate place.
Perhaps not necessary but good anyway is to make sure that the very aggressive peak at
8500Hz is attenuated as much as possible. Therefore we put a
series resonance filter as a shunt across the driver terminals (get
the wizardized group from the templates this time also). When
we enter Simulate mode we right click on the series resonance
and configure it so that we get a sharp notch at 8500Hz.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The crossover begins to look like something useful.
The frequency response is
less charming though. We
could run hog wild trying to
optimize the response but
it would probably fail as we
do not have anything that
can compensate for the
baffle step. The existing
components may do this
job to some extent but
most likely it will not work
The project so far is stored
ugly duckling passive
in the examples folder.
In order to get something that can handle the baffle step we add a parallel inductor and a
resistor in series with the input to the crossover.
Now we tag all the components belonging to the midrange crossover (except the
components that belong to the series resonance and zobel circuits) for optimization.
Earlier we mentioned that we should optimize the transfer function of the
midrange crossover. The figure to the right we can see what it looks like for
the component L4.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Next we need to measure the transfer functions of the
midrange crossover if we look at the schema we see that the
input to the filter is connected to node 1 and the midrange is
connected to node 2 . We open the Settings dialog and
click on the SPL/XFER tab we can set the node difference to
be computed as the voltage ratio between node 2 and node
We open up the Optimizer and select Transfer function in
the Optimize tab.
As target we select the file that we exported from our digital
filter project. The Range is set to 70-6000Hz.
When the optimizer is open the
components that are selected
become boldface, it is good practice
to have an extra look at the schema
to verify that the right components
are optimized before Start is clicked.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Once the optimization is done we have the midrange crossover and the response below.
This looks pretty good or ??
The project so far is stored as
ugly duckling passive 3.lsp
in the examples folder.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The treble unit is treated in a similar way as the midrange. Here a 2nd order HP filter is
combined with an attenuator. One special problem with the treble unit is that a dip at
4700Hz needs to be equalized. This is a no-brainer with an active crossover but with a
passive crossover some extra brain cells are needed. In this particular case a parallel
resonance circuit was incorporated in the attenuator circuit that serves to reduce the
attenuation at the resonance.
After some optimization a flat response was achieved one problem though was that the
impedance was a mere 2.8ohm at 20kHz!.
This must be taken care of. Therefore we run an additional optimization run
with impedance constraint. For this purpose we tag all the components that
belong to the treble network for optimization (see example to the right).
There is no need to touch the midrange components as we see that they
don’t cause any impedance problems.
When we run our optimization of the
combined midrange and treble response we
set the range to 250-16000Hz as we don’t
want the roll off to disturb the optimization.
One special feature we use is that
we lock the crossover point to
3600Hz, thus we ensure that this
XO point wont move when we hit
In the Zmin tab we set the initial
Min Z value to 3ohm. Then we
click on Start.
As the optimization is running we
click in the MinZ field and increase
the value with the “Arrow up” key
on the keyboard. Increase this
value with care, if you increase to
fast the optimization may FUBAR
and you need to stop and undo
the optimization, the restart again
from a low Min Z. After a while
you have reached 4.2ohm, which
is considered good enough.
The project so far is stored as
ugly duckling passive 4.lsp
in the examples folder.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
The final crossover schema looks like below.
The components are non-standard however. It is possible that we can special order the
inductors for the resonance circuits but they are for sure not with zero internal resistance
(unless you are extremely rich). Also the capacitors have some loss and ESR. So we add
some internal resistance for the inductors and a little loss and ESR for the caps plus force
most components to E24 standard values.
With some work plus rearrangement of components we get a schema like above, the
losses and internal resistances are guesswork. The frequency response does not look that
good anymore (ugly duckling passive 5.lsp. This can be fixed with another optimization
After the optimization the response is more flat (ugly duckling passive 6.lsp) but the
components are non-standard again.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Again we can tweak the values to standard values but it is simply to boring for so I leave it
as homework for you.
An interesting thing is tolerance to changes in component values. As an
experiment all components are given a tolerance of +/-5%. The tolerance
analysis feature is used to get an idea how sensitive the crossover is to
component variations. The result of this experiment is shown below, there
are no big surprises here. Good.!
What about power handling?, it is good if the overall frequency response is kept relatively
flat when the input signal increased. For this experiment we assume 5K/W temperature
coefficient for the midrange and 20K/W for the treble (this is also a wild guess). When we
increase the input voltage from 1V to 30V we will get a slight compression of the output
power, this is inevitable, what is more important though is that the frequency response
remains relatively unaffected. The figure below displays the frequency response for
different parts of the project, the 30V input graph is offset by –29.5dB to fit into the graph.
This project was intended to
show some of the features
available in LspCAD 6 and
also give some ideas how the
optimizer can be used.
LspCAD 6 tutorial
© Ingemar Johansson, IJData, Luleå, Sweden
Modeling a column type loudspeaker
The subwoofers in the ugly ducklings are of the long, narrow type. This means that one
will experience standing wave resonances at quite low frequencies. These standing wave
resonances are not modeled with the lumped parameter model presented in chapter 4.1.
In order to enable modeling of the standing waves we can replace the box component with
two wave guide components. The reason why we chose two wave guide components is
that subwoofer is not mounted entirely in one end of the column box rather it is located
15cm above the bottom of the box which in this case is 90cm high. We should thus use
two wave-guide components with the length 15 cm and 75cm. In order to get a volume of
51 l we need to set the throat and the mouth area to 560cm2.
V = (0.15+0.9)*(0.056) = 0.0504m3 = 50.4 l.
After some editing we
end up with the schema
to the right. R1 and R2
are to simulate the
closed ends of the two
Below is shown the difference
between the lumped
parameter model and the
wave-guide model.
This example is stored as
column ABR speaker.lsp
in the examples folder.
Download PDF