0% found this document useful (0 votes)
77 views447 pages

CALSOD1 4and3 1UsersManual

CALSOD (Computer-Aided Loudspeaker System Optimization and Design) is a program for use in the computer-aided design and optimization of loudspeaker systems. It brings a collection of powerful design and simulation capabilities within reach of all engineers and technicians engaged in the design of loudspeaker systems.

Uploaded by

WW
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views447 pages

CALSOD1 4and3 1UsersManual

CALSOD (Computer-Aided Loudspeaker System Optimization and Design) is a program for use in the computer-aided design and optimization of loudspeaker systems. It brings a collection of powerful design and simulation capabilities within reach of all engineers and technicians engaged in the design of loudspeaker systems.

Uploaded by

WW
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 447

TM

█▀▀▀▀▀ █▀▀▀▀▀█ █ █▀▀▀▀▀ █▀▀▀▀▀█ █▀▀▀▀▀█


█ █ █ █ █ █ █ █ ▐█
█ █ █ █ █ █ █ █ ▐█
█ █▀▀▀▀▀█ █ ▀▀▀▀▀█ █ █ █ ▐█
█ █ █ █ █ █ █ █ ▐█
█▄▄▄▄▄ █ █ █▄▄▄▄▄ ▄▄▄▄▄█ █▄▄▄▄▄█ █▄▄▄▄▄█

COMPUTER-AIDED LOUDSPEAKER
SYSTEM OPTIMIZATION AND DESIGN

CALSOD 1.40 AND CALSOD 3.10

USER’S MANUAL

© Copyright 1988–2011 by Audiosoft, All Rights Reserved


AUDIOSOFT, 13 BEATTY STREET, IVANHOE VIC 3079, MELBOURNE, AUSTRALIA
Revision 1.00t 14 February 2011
AUDIOSOFT LICENSE AGREEMENT

The CALSOD program may be used by any number of people and may be freely moved from one computer
location to another, so long as there is no possibility of it being used at one location while it is being
operated at another. In other words, this software cannot be used by different people in different locations at
the same time. Any such use will constitute a violation of copyright.

The original licensed user is authorised to make archival copies of the software for the sole purpose of
backing up the software and protecting it from loss.

The CALSOD computer program and the documentation contained herein constitute proprietary information
of Audiosoft. The program is a trade secret and is divulged to the user in the strictest confidence. The user
agrees not to distribute, disclose, or make available to any person (other than employees of the user utilizing
the program at the installation used for their employment), any part of the program licensed hereunder. The
user will take all reasonable precautions to prevent unauthorized copying, distribution or use of the
CALSOD program.

The information in this manual is subject to change without notice and does not represent a commitment on
the part of Audiosoft.

The material making up the software is protected by copyright. Audiosoft retains all rights not expressly
granted and your right to use Audiosoft software automatically terminates upon your failure to comply with
any provision of the license agreement.

LIMITED WARRANTY

The CALSOD program and User’s Manual are sold “as is”, without any warranty as to their performance,
merchantability, or fitness for any particular purpose. The entire risk as to the results and performance of
this program is assumed by the user. In no event shall the publisher be liable for any loss of profit or any
other commercial damage, including but not limited to special, indirect, incidental, consequential or other
damages.

In a product of this size and complexity, and despite considerable efforts, it is not possible to guarantee that
the software is free of bugs. It is therefore the responsibility of the user to ensure that any analysis carried
out gives the correct results.

However, to the original purchaser only, Audiosoft warrants the magnetic disk on which the program is
recorded to be free from defects in materials or faulty workmanship under normal use for a period of ninety
days from the date of purchase. If during this ninety-day period the disk should become defective, it may be
returned to Audiosoft, at the user’s expense, for a replacement without charge, provided you have previously
sent in your registration card to Audiosoft or send proof of purchase of the program.

Your sole exclusive remedy in the event of a defect is expressly limited to replacement of the disk as
provided above. If failure of a disk has resulted from accident or abuse then Audiosoft shall have no
responsibility to replace the disk under the terms of this limited warranty.

PRODUCT UPGRADES

From time to time, Audiosoft may introduce new versions of this product that incorporate additional
features, capabilities or improvements. Under our product upgrade plan, registered users will be notified by
mail when we introduce a new release. Only registered licensees will have the option to obtain licenses for
new releases at a special price. In any case, you need to register the software in order for us to know where
to send any news of updated versions.

TECHNICAL SUPPORT BY FAX, LETTER, AND E-MAIL

Technical support for CALSOD can be obtained by contacting us at the following location by letter, fax or
e-mail.

Audiosoft
13 Beatty Street
Ivanhoe VIC 3079
Melbourne
Australia

Fax: +61 3 9497 2918

E-mail: [email protected]

For best results when trying to send a fax, you should use your fax’s automatic dialling procedure. Please
note that +61 is the international country code for Australia.

Please supply your disk’s serial number with all enquiries. Provide as complete a description of your
problem or question as possible. This will ensure that we can respond with as comprehensive an answer as
possible. Listings of data files that might be causing problems can also be very useful in identifying what the
problem might be, and they also allow us to give a response that is better tailored to your particular enquiry.

AUDIOSOFT WEB SITE

Audiosoft now have a web site that provides a variety of information on CALSOD and other items that may
be of interest to loudspeaker designers. The URL is:

www.users.on.net/~audiosoft

The site also contains the latest version of the CALSOD user’s manual.
CONTENTS
INSTALLING CALSOD AND GETTING STARTED ................................................................. 1
About the formatting of this user’s manual ..................................................................................... 1
Year 2000 compliance statement ..................................................................................................... 1
Equipment requirements .................................................................................................................. 1
CALSOD installation procedure for Windows XP and earlier Windows versions ......................... 2
CALSOD installation procedure for Windows Vista and Windows 7 ............................................ 2
CALSOD installation procedure for DOSBox users ....................................................................... 3
CALSOD installation procedure for MS-DOS users ....................................................................... 4
Running the inductor design program .............................................................................................. 5
Location of CALSOD example data files ........................................................................................ 5
Setting up CALSOD file associations for use with Windows ......................................................... 6
Command line switches for use with CALSOD .............................................................................. 7
Installation tips for users of MS-DOS 5.0 or higher ........................................................................ 7
Using CALSOD from a floppy disk................................................................................................. 8

SUMMARY OF CALSOD FEATURES ..................................................................................... 9


System modelling capabilities of CALSOD 1.40 ............................................................................ 9
Additional system modelling capabilities of CALSOD 3.10 ......................................................... 11

THE CALSOD MENUS .......................................................................................................... 14


The main menu and submenus ....................................................................................................... 14
A Invoke editor ................................................................................................................ 14
B Plot system responses .................................................................................................. 15
C List response tables...................................................................................................... 17
D Directory of files.......................................................................................................... 18
E Change frequency range and optimizer parameters..................................................... 18
F Change plotting and printer parameters ...................................................................... 19
G List driver/circuit configuration .................................................................................. 26
H Begin optimization procedure ..................................................................................... 30
I Read in new data file ................................................................................................... 32
J Change target SPL coordinates.................................................................................... 33
K Change target SPL sensitivity...................................................................................... 33
L Change active directory ............................................................................................... 33
M Recalculate system transfer functions ......................................................................... 34
N Exit program ................................................................................................................ 34
X Run MS-DOS shell ...................................................................................................... 34

THE CALSOD TEXT EDITOR ................................................................................................ 35


Some text-editing terms ................................................................................................................. 35
Built-in features of the CALSOD text editor ................................................................................. 35
Starting the editor ........................................................................................................................... 36
Using the file selection window ..................................................................................................... 36
Using the pulldown menu system .................................................................................................. 37
Editing a file ................................................................................................................................... 37
Using “speed keys” ........................................................................................................................ 38
Exiting the editor............................................................................................................................ 38
Configuring a user-defined editor .................................................................................................. 38
CALSOD editor quick reference guide .......................................................................................... 39

i
DESCRIPTION OF MODULES AND SUBMODULES ........................................................... 41
Using modules to create a data file ................................................................................................ 41
Notation used to denote features specific to CALSOD 3.10 ......................................................... 42
Summary of module names ............................................................................................................ 42
Description of mnemonics used in submodule names ................................................................... 42
Modules and their allowable submodules ...................................................................................... 43
APD ................................................................................................................................................ 46
BDS ................................................................................................................................................ 48
BES ................................................................................................................................................ 50
BSL ................................................................................................................................................ 52
BUT ................................................................................................................................................ 53
CAP ................................................................................................................................................ 54
CIRCUIT ........................................................................................................................................ 55
CVB ............................................................................................................................................... 56
DRIVER ......................................................................................................................................... 58
EPD ................................................................................................................................................ 60
EXPERIMENTAL IMPEDANCE................................................................................................ 61
EXPERIMENTAL SPL ................................................................................................................. 64
FIL .................................................................................................................................................. 66
FILE ............................................................................................................................................... 67
HLR ................................................................................................................................................ 74
IAC ................................................................................................................................................. 75
IBP.................................................................................................................................................. 77
ICB ................................................................................................................................................. 80
ICQ ................................................................................................................................................. 82
ICR ................................................................................................................................................. 84
IDP ................................................................................................................................................. 85
IGC ................................................................................................................................................. 87
IMP................................................................................................................................................. 89
IND................................................................................................................................................. 92
IOA................................................................................................................................................. 93
IPQ ................................................................................................................................................. 94
IPR.................................................................................................................................................. 96
IVB ................................................................................................................................................. 98
IVQ............................................................................................................................................... 100
LKR.............................................................................................................................................. 102
MPE ............................................................................................................................................. 103
MRX............................................................................................................................................. 105
OCC ............................................................................................................................................. 106
PEC .............................................................................................................................................. 107
RAB ............................................................................................................................................. 110
RES .............................................................................................................................................. 112
RGE .............................................................................................................................................. 113
SBP............................................................................................................................................... 114
SCB .............................................................................................................................................. 118
SCC .............................................................................................................................................. 119
SCQ .............................................................................................................................................. 120
SDP .............................................................................................................................................. 121
SEN .............................................................................................................................................. 123
SOF .............................................................................................................................................. 126
SPK .............................................................................................................................................. 127
SPQ .............................................................................................................................................. 130
SPR............................................................................................................................................... 132

ii
SVB .............................................................................................................................................. 134
SVQ.............................................................................................................................................. 137
TARGET IMPEDANCE .............................................................................................................. 139
TARGET SPL .............................................................................................................................. 140
TFN .............................................................................................................................................. 141
TITLE........................................................................................................................................... 143
VIN............................................................................................................................................... 144
WEIGHTING ............................................................................................................................... 146
XYZ ............................................................................................................................................. 148

A SIMPLE CALSOD DATA FILE ......................................................................................... 149


Setting the graphics mode used for plots ..................................................................................... 149
Selecting the printer used for plots .............................................................................................. 150
Setting up analysis parameters ..................................................................................................... 150
Setting up plotting parameters ..................................................................................................... 150
Combined sound pressure and impedance plots .......................................................................... 152
Saving the default set-up .............................................................................................................. 152
Analysing the demonstration data file ......................................................................................... 152
Plotting out the sound pressure response ..................................................................................... 153
Plotting to the printer ................................................................................................................... 153
Plotting to a file ............................................................................................................................ 153
Plotting out the impedance response............................................................................................ 153
Editing the data file ...................................................................................................................... 154

RECOMMENDED PROCEDURE FOR ANALYSIS AND DESIGN ....................................... 155


File naming conventions .............................................................................................................. 155
Curve-fitting of driver transfer functions ..................................................................................... 155
Suggested design process for analysis and optimization ............................................................. 156

DESIGN EQUATIONS FOR PASSIVE AND ACTIVE FILTERS ........................................... 160


Equations for first-order two-way filter networks ....................................................................... 160
Equations for second-order two-way filter networks ................................................................... 160
Equations for third-order two-way filter networks ...................................................................... 161
Equations for fourth-order two-way filter networks .................................................................... 161
Equations for active second-order two-way filter networks ........................................................ 162
Equations for active third-order two-way filter networks ............................................................ 163
Equations for active fourth-order two-way filter networks ......................................................... 164
More design equations for active filters ...................................................................................... 165

MODELLING DRIVER VOICE-COIL INDUCTANCE ........................................................... 168


An empirical model of high-frequency impedance behaviour ..................................................... 168
Using magnitude-only impedance measurements ........................................................................ 169
Optimizing Kmp and Xmp during curve-fitting .......................................................................... 170

IMPEDANCE EQUALIZATION ............................................................................................ 171


Equalization of impedance peak due to resonance ...................................................................... 171
Equalization of voice-coil inductance .......................................................................................... 172
Checking the impedance equalization.......................................................................................... 172

iii
MODELLING THE WOOFER IMPEDANCE TRANSFER FUNCTION ................................. 173
Data file for woofer impedance transfer function ........................................................................ 173
Description of WOOFER1.C14 data file ..................................................................................... 174
Creating the woofer impedance transfer function ........................................................................ 175
Getting the impedance data .......................................................................................................... 176
Impedance modelling using Kr Xr Ki Xi ..................................................................................... 177
Setting up analysis and plotting parameters................................................................................. 178
Comparing the WOOFER1E.C14 curve-fit to impedance data ................................................... 179
Modifying the WOOFER1E.C14 model – adjusting Qt .............................................................. 180
Modifying the WOOFER1E.C14 model – adjusting Fo .............................................................. 181
Modifying the WOOFER1E.C14 model – adjusting Qeq and Deq ............................................. 181
Impedance modelling using Kmp and Xmp ................................................................................. 182
Modifying the WOOFER2E.C14 model – adjusting Qt .............................................................. 183
Modifying the WOOFER2E.C14 model – adjusting Fo .............................................................. 184
Modifying the WOOFER2E.C14 model – adjusting Kmp and Xmp .......................................... 184
Modifying the WOOFER2E.C14 model – adjusting Qeq and Deq ............................................. 185
Optimizing the woofer impedance curve-fit ................................................................................ 186
Optimizing parameters over a reduced frequency range.............................................................. 190

MODELLING THE WOOFER SOUND PRESSURE TRANSFER FUNCTION ..................... 192


Data file for woofer sound pressure transfer function ................................................................. 192
Description of WOOFERS.C14 data file ..................................................................................... 192
Woofer sound pressure response data .......................................................................................... 194
Creating the woofer sound pressure transfer function ................................................................. 194
Setting up analysis and plotting parameters................................................................................. 196
Curve-fitting the sound pressure data .......................................................................................... 196
Modifying the model – adjusting high frequency rolloff............................................................. 197
Modifying the model – adding MPE submodules........................................................................ 198
Optimizing the woofer sound pressure curve-fit.......................................................................... 199
Modelling driver high-frequency breakup behaviour .................................................................. 201
Modelling driver high-frequency off-axis radiation .................................................................... 203
Modelling the woofer low-frequency alignment ......................................................................... 206

MODELLING THE TWEETER TRANSFER FUNCTIONS .................................................... 208


Optimizing the tweeter impedance curve-fit ................................................................................ 209
Optimizing the tweeter sound pressure curve-fit ......................................................................... 210
Data file for tweeter impedance curve-fit .................................................................................... 212
Data file for tweeter sound pressure curve-fit ............................................................................. 213

INITIAL DESIGN OF FILTERS PRIOR TO OPTIMIZATION ................................................ 214


Initial woofer filter components................................................................................................... 214
Data file for optimization of woofer filter ................................................................................... 215
Description of WOOFERF.C14 data file ..................................................................................... 216
Initial tweeter filter components .................................................................................................. 216
Data file for optimization of tweeter filter ................................................................................... 217
Description of TWEETERF.C14 data file ................................................................................... 218

OPTIMIZING THE WOOFER LOWPASS AND TWEETER HIGHPASS FILTERS ............... 219
Woofer filter – reading in the WOOFERF.C14 data file ............................................................. 219
Woofer filter – setting up for analysis and plotting ..................................................................... 219
Woofer filter – sound pressure response plots ............................................................................. 220

iv
Woofer filter – displaying circuit definition ................................................................................ 220
Woofer filter – starting the optimization process ........................................................................ 220
Woofer filter – displaying the optimized sound pressure ............................................................ 221
Woofer filter – initial and optimized component values ............................................................. 222
Tweeter filter – reading in the TWEETERF.C14 data file .......................................................... 222
Tweeter filter – setting up analysis parameters ........................................................................... 222
Tweeter filter – carrying out the optimization ............................................................................. 223
Tweeter filter – displaying the optimized sound pressure ........................................................... 223
Tweeter filter – initial and optimized component values ............................................................ 224

OPTIMIZING A CROSSOVER NETWORK FOR A TWO-WAY SYSTEM ............................ 225


Circuit topology and data file for two-way system ...................................................................... 225
Description of TWOWAY.C14 data file ..................................................................................... 226
Reading in the TWOWAY.C14 data file ..................................................................................... 227
Setting up analysis parameters ..................................................................................................... 227
Sound pressure response plots ..................................................................................................... 228
Starting the optimization process ................................................................................................. 229
Plotting the optimized sound pressure response .......................................................................... 230
Comparison of initial and optimized component values .............................................................. 230
Comments on optimizing the summed response .......................................................................... 231

MODIFYING AND OPTIMIZING TWO-WAY CROSSOVER NETWORKS ........................... 233


Deleting component values .......................................................................................................... 233
Fixing component values ............................................................................................................. 234
Adding parasitic resistances ......................................................................................................... 236
Dealing with noncoincident drivers ............................................................................................. 238
How CALSOD computes the phase response .............................................................................. 241
Optimizing the system with noncoincident drivers...................................................................... 242
Specifying driver locations on a sloping baffle ........................................................................... 245

MODELLING OFF-AXIS BEHAVIOUR OF CROSSOVERS WITH CALSOD 1.40............... 247


Off-axis behaviour of third-order Butterworth crossovers .......................................................... 247
Off-axis behaviour of fourth-order Linkwitz-Riley crossovers ................................................... 251

OPTIMIZATION USING MULTIPLE OBSERVATION POINTS ............................................ 254


Defining multiple active observation points ................................................................................ 254
Creating the data file .................................................................................................................... 258
Setting up analysis parameters ..................................................................................................... 259
Checking preliminary plots .......................................................................................................... 259
Carrying out the optimization ...................................................................................................... 260
Results of the optimization .......................................................................................................... 261

ANALYSIS OF THREE-WAY OR HIGHER MULTIWAY SYSTEMS .................................... 264


Sample design procedure for a three-way system ........................................................................ 264
Performance considerations for a typical three-way system........................................................ 266
Making up a 7-driver four-way system ........................................................................................ 268

OPTIMIZING IMPEDANCE EQUALIZATION NETWORKS ................................................. 271


Preparing for the optimization ..................................................................................................... 271
Example – optimizing the woofer impedance equalizer .............................................................. 271

v
Circuit definition and data file ..................................................................................................... 272
Setting up analysis parameters ..................................................................................................... 272
Carrying out the optimization ...................................................................................................... 273

OPTIMIZING CONJUGATE IMPEDANCE EQUALIZATION NETWORKS .......................... 275


Some initial considerations .......................................................................................................... 275
Calculation of initial impedance equalizer values ....................................................................... 277
Defining the target impedance function ....................................................................................... 278
Creating the data file .................................................................................................................... 278
Setting up analysis parameters ..................................................................................................... 279
Carrying out the optimization ...................................................................................................... 280
Displaying the equalized input impedance .................................................................................. 281

OPTIMIZING ACTIVE CROSSOVER NETWORKS ............................................................. 282


Initial design of active filter for woofer ....................................................................................... 282
Initial design of active filter for tweeter ...................................................................................... 283
Optimizing the woofer active lowpass filter ................................................................................ 285
Optimizing the tweeter active highpass filter .............................................................................. 287
Initial design of active filter for two-way system ........................................................................ 288
Optimizing the two-way active filter ........................................................................................... 290

DESIGNING THE LOW-FREQUENCY ALIGNMENT .......................................................... 293


Vented-box loudspeaker systems ................................................................................................. 293
Closed-box loudspeaker systems ................................................................................................. 295
Passive-radiator loudspeaker systems .......................................................................................... 297
Filter-assisted vented-box systems............................................................................................... 299
Bandpass loudspeaker systems .................................................................................................... 301
Double-ported bandpass loudspeaker systems ............................................................................. 303
Comparing different low-frequency alignments .......................................................................... 305
Vented-box loudspeakers with separate loss parameters ............................................................. 306
Comparing lossy low-frequency alignments ................................................................................ 311
Designing the vent for a vented-box system ................................................................................ 313
Example of vent design calculations ............................................................................................ 314

USING DATA IMPORTED FROM FILES ............................................................................. 316


Imported data files for a two-way system .................................................................................... 316
Guide-lines for using imported measurements ............................................................................ 319
Dealing with propagation delays in imported data files .............................................................. 321
Using imported data files in curve-fitting .................................................................................... 323
Using MLSSA measurement files ................................................................................................ 325
Using SYSid measurement files .................................................................................................. 327
Using System One measurement files.......................................................................................... 331
Using LMS measurement files ..................................................................................................... 332
Using IMP and Audiosuite measurement files ............................................................................ 333
Using CLIO and CLIOwin measurement files ............................................................................. 336
Using AMS-PC measurement files .............................................................................................. 336
Using AIRR measurement files ................................................................................................... 337
Using PC AudioLab measurement files ....................................................................................... 337

ESTIMATING DRIVER PARAMETERS FROM IMPEDANCE MEASUREMENTS ............... 338


Electrical equivalent circuit of driver .......................................................................................... 338

vi
Maximizing the accuracy of parameter estimates ........................................................................ 339
Volume-change method – choosing a test enclosure ................................................................... 339
Volume-change method – a generic data file............................................................................... 340
Special features for Thiele-Small parameter estimation .............................................................. 341
Volume-change method – frequency range selection .................................................................. 342
Volume-change method – optimizing the equivalent circuit ....................................................... 343
Volume-change method – plotting fitted response functions ...................................................... 343
Volume-change method – displaying Thiele-Small parameters .................................................. 345
Added-mass method – a generic data file .................................................................................... 346
Added-mass method – frequency range selection ........................................................................ 347
Added-mass method – optimizing the equivalent circuit ............................................................. 348
Added-mass method – plotting fitted response functions ............................................................ 348
Added-mass method – displaying Thiele-Small parameters ........................................................ 349
Thiele-Small parameter estimation including Rg effects ............................................................. 350
Using experimental data without the FILE submodule ............................................................... 351
Including cable inductance effects ............................................................................................... 352

ESTIMATING DRIVER PARAMETERS FROM VENTED-BOX IMPEDANCE DATA ........... 354


Equivalent circuit of driver in vented box ................................................................................... 355
Calculating initial estimates for circuit components.................................................................... 356
Generic data file for Thiele-Small parameter estimation ............................................................. 357
Special features of vented-box parameter estimation .................................................................. 358
Setting up an appropriate frequency range .................................................................................. 358
Optimizing the vented-box electrical equivalent circuit .............................................................. 359
Displaying the estimated Thiele-Small parameters ..................................................................... 359
Plotting the fitted response functions........................................................................................... 361
Using actual measured impedance data ....................................................................................... 362
Including a frequency dependent inductor in the model .............................................................. 365
Including cable inductance effects ............................................................................................... 368

MODELLING LINEAR ARRAYS OF LOUDSPEAKERS WITH CALSOD 1.40 .................... 370


8-driver linear array with series/parallel connection ................................................................... 370
8-driver linear array with series connection................................................................................. 373
8-driver linear array with parallel connection .............................................................................. 374

MODELLING LINEAR ARRAYS OF LOUDSPEAKERS WITH CALSOD 3.10 .................... 377


8-driver linear array with series/parallel connection ................................................................... 377
8-driver linear array with series connection................................................................................. 380
8-driver linear array with parallel connection .............................................................................. 382

ADVANCED MODELLING TECHNIQUES ........................................................................... 384


Modelling the baffle diffraction step ........................................................................................... 384
Modelling low-frequency room gain effects ................................................................................ 387
Modelling floor reflections .......................................................................................................... 390
Modelling a compound woofer configuration ............................................................................. 392
Modelling a push/pull woofer configuration ............................................................................... 394
Modelling a standard dual woofer configuration ......................................................................... 398
Modelling autotransformers ......................................................................................................... 403

LIST OF SYMBOLS AND USEFUL FORMULAS ................................................................ 406


Definitions of various symbols used throughout the CALSOD User’s Manual .......................... 406

vii
GLOSSARY ......................................................................................................................... 409
Descriptions of technical terms used in loudspeaker design ....................................................... 409

BIBLIOGRAPHY .................................................................................................................. 414


List of references for further reading ........................................................................................... 414

INDEX .................................................................................................................................. 428

viii
INSTALLING CALSOD AND
GETTING STARTED

About the formatting of this user’s manual

By default, this user’s manual PDF document is configured to use Letter-size paper. Adobe Reader will of
course allow you to print the user's manual on other paper sizes, as it simply scales the Letter-size format to
suit.

Year 2000 compliance statement

The potential for Year 2000 (Y2K) related problems to occur with CALSOD has been investigated and
checked. CALSOD does not use any date processing routines where it needs to calculate differences
between dates, nor is any date related processing required in the course of numerical calculations. If
CALSOD displays a date, either on screen or when written to a file, it simply gets that date from the
underlying operating system. CALSOD has been tested on a computer system where the clock has been
moved forward to the year 2000. No erroneous behaviour was encountered under these test conditions. On
the basis of the evidence available to date, no Year 2000 problems with CALSOD are expected to occur
while running CALSOD under Year-2000 compliant versions of the MS-DOS, Windows 95 or Windows 98
operating systems.

Equipment requirements

In order to run CALSOD you will require the following:

 An IBM PC computer or “true” compatible. The software runs on PC/AT/286/386/486 and Pentium
personal computers as long as they have a graphics monitor.

 MS-DOS version 3.0 or higher. CALSOD can also be run in an MS-DOS command window under
Windows 3.x, Windows 95, Windows 98, or Windows XP (32-bit edition).

 One CD-ROM drive and a hard disk. A hard disk is recommended for efficient operation of the
program. CALSOD can also run from a single high-density floppy disk if required.

 Minimum of 512 KB of RAM accessible to MS-DOS applications.

 Graphics monitor capable of working with one of the following graphics cards: Colour Graphics
Adapter (CGA), Enhanced Graphics Adapter (EGA), Video Graphics Array (VGA), or Hercules
Graphics Card.

 CALSOD automatically uses a maths co-processor (80x87) if one is fitted to your computer, and this
significantly speeds up all computations.

 In order to get printed screen plots, a supported dot matrix, ink jet or laser printer with a parallel
interface is required (USB printers are not supported). Common printers that are supported include
Epson, IBM, Hewlett-Packard, NEC, and Toshiba. To get listings of data files the printer must be able
to accept standard ASCII text files. CALSOD can also be configured to print graphics screens to the
default Windows printer, via a bitmap image editing program that users may have installed on their
Windows computer systems.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 1


CALSOD installation procedure for Windows XP and earlier Windows versions

This section applies to users of Windows 95, Windows 98, and Windows XP (32-bit edition). CALSOD
may also run under Windows 2000 and Windows ME, but it has not been tested under those environments.

In order to install CALSOD on your hard disk you should carry out the following setting up procedure:

1. With your computer running, insert your working copy of the CALSOD Installation CD into your
CD-ROM drive.

2. Click on the Windows Start button.

3. Select Run… from the menu.

4. Type in “X:\SETUP”, where X: represents the drive letter associated with your CD-ROM drive, and
click the OK button. In a computer system with one hard disk installed (and only one disk partition),
the CD-ROM drive will usually have D: as its drive letter designation.

5. Follow the CALSOD installation instructions that appear on screen.

6. When the installation process is complete, if you wish you can create a short-cut to the
C:\CALSOD\CALSOD.EXE program file in the usual way. In My Computer or Windows
Explorer, click the folder in which you want to create the shortcut. On the File menu, point to New,
and then click Shortcut. Follow the instructions on the screen. See the Windows on-line help under
“Creating a shortcut” for more additional related information.

CALSOD installation procedure for Windows Vista and Windows 7

This section applies to users of Windows Vista and Windows 7, including 32-bit and 64-bit editions.
CALSOD cannot run under these operating systems. Being a simple command file, the SETUP.BAT file
will start up if you try to perform an installation. However, the following error message may be displayed
once the file extraction process attempts to run:

Starting the decompression process...


This version of X:\140PRG.EXE is not compatible with the version of
Windows you're running. Check your computer's system information to
see whether you need a x86 (32-bit) or x64 (64-bit) version of the
program, and then contact the software publisher.

or

The reason that those error messages occur is that CALSOD is a 16-bit MS-DOS application and, starting
with the release of Windows Vista, support for these types of applications is no longer present. The
command window that now appears is no longer an MS-DOS command window.

2 – CALSOD 3.10 and CALSOD 1.40 User's Manual


It is possible to run CALSOD under Windows Vista and Windows 7 using any one of the following three
methods:

a) Using DOSBox, which is an MS-DOS emulator.

b) Using a virtual machine that is running MS-DOS, Windows 95, Windows 98 or Windows XP.

c) Using Windows XP Mode if you are running Windows 7 Professional edition or Windows 7
Ultimate edition. This works on both the 32-bit and 64-bit versions of those editions of Windows 7.

More information on DOSBox can be found at www.dosbox.com, including details of where the latest
version of DOSBox can be downloaded from. A DOSBox guide of sorts can be found at
www.dosbox.com/wiki/Main_Page. See the next section for detailed instructions on how to go about
installing and running CALSOD using DOSBox.

To run CALSOD in a virtual machine, you will require cross-platform virtualization software such as
VMware Player or VMware Workstation (see www.vmware.com), or Oracle VirtualBox (see
www.virtualbox.org). Virtualization software allows you to run multiple virtual machines on a single
physical machine (the host), with each virtual machine (the guest) sharing the resources of that one physical
computer across multiple environments. Different virtual machines can run different operating systems and
multiple applications on the same physical computer. By using virtualization software such as this, it is
possible for you to run a guest operating system that supports CALSOD under a host operating system that
doesn’t support CALSOD directly (e.g. Windows 7, Windows Vista, Linux).

More information on Windows XP Mode, together with download information, can be found at
www.microsoft.com/windows/virtual-pc/download.aspx. Please note that CALSOD still will not work
properly in Windows XP Mode when using Microsoft’s Virtual PC, as CALSOD cannot go into full-screen
graphics mode when Virtual PC is being used. However, VMware Player and VMware Workstation have
been tested and can be used to import Windows XP Mode on a host machine running Windows 7
Professional or Ultimate. The Windows XP Mode virtual machine so created can be used to run CALSOD
in full-screen graphics mode.

Once you have used virtualization software to install and run a guest operating system such as Windows 95,
Windows 98 or Windows XP, you can follow the CALSOD installation instructions described earlier.

CALSOD installation procedure for DOSBox users

This section applies to users of DOSBox on a PC that has Windows installed as the host operating system.
In order to install CALSOD on your hard disk you should proceed as follows:

1. Install DOSBox on your PC.

2. Copy all the CALSOD installation files from the CALSOD Installation CD to a folder on your main
PC. For example, you can place the files in a folder called C:\CALSOD\CDFILES.

3. Start DOSBox.

4. Within the DOSBox window, at the command prompt (Z:\), type “mount y c:\calsod”.

5. Type “y:” to switch to the “C:\CALSOD” folder that has been mounted as the Y: drive within
DOSBox.

6. Type “cd cdfiles” to switch to the “y:\cdfiles” folder in DOSBox.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 3


7. Type “setup y:\” to install CALSOD into the root folder of the Y: drive. This will actually write the
CALSOD files to the C:\CALSOD folder under the host operating system. This process might take a
few minutes, so please be patient.

8. When the installation process is completed, type “cd ..” to go to the root folder on the Y: drive in
DOSBox. Type “dir” to get a directory (folder) listing. You should see that the folders called
DATAFILE and MANUAL have been created. These two folders contain the CALSOD data files
and user’s manual, respectively. The CALSOD.EXE file should also be present.

9. To run CALSOD, simply type “CALSOD” and it should start up. When CALSOD is run for the
very first time, it will prompt you for registration information. After this has been provided, it will
close down. You can then restart CALSOD and begin using it.

In order to use CALSOD after it has already been installed and initialized, proceed as follows, assuming that
the CALSOD files have been placed in the C:\CALSOD folder on your host Windows machine:

1. Start DOSBox.

2. Within the DOSBox window, at the command prompt (Z:\), type “mount y c:\calsod”.

3. Type “y:” to switch to the “C:\CALSOD” folder that has been mounted as the Y: drive within
DOSBox.

4. Type “calsod” to start CALSOD. If you have purchased CALSOD 3.10, you can also type “pcalsod”
to run the version of CALSOD that uses extended memory.

DOSBox has a configuration file, which is called dosbox-0.74.conf for DOSBox Version 0.74. This file has
an [autoexec] section at the end that can be used to automate mount and other commands that the user
wishes to execute each time DOSBox is run. For example, the following [autoexec] section can be used to
mount the appropriate file system and start CALSOD with the DATAFILE folder active:

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.

mount y c:\calsod
y:
cd datafile
..\calsod

By configuring DOSBox in this manner, it is possible to simply double-click the DOSBox icon on the
desktop and CALSOD will start up in a DOSBox window, with access to the sample datafiles enabled.

CALSOD installation procedure for MS-DOS users

This section applies to users of MS-DOS 3.0 and higher. In order to install CALSOD on your hard disk you
should carry out the following setting up procedure:

1. With your computer running, and the MS-DOS prompt showing, place the CALSOD Installation CD
in your CD-ROM, and type the following command at the MS-DOS prompt:

X:\SETUP

where X: represents the drive letter associated with your CD-ROM drive. Then press the Enter key.
In a computer system with one hard disk installed (and only one disk partition), the CD-ROM drive
will have D: as its drive letter designation.

4 – CALSOD 3.10 and CALSOD 1.40 User's Manual


2. Follow the installation instructions that appear on-screen.

3. In order to be able to run CALSOD from any directory on your hard disk you must add the
subdirectory C:\CALSOD to the PATH command in your AUTOEXEC.BAT batch file that is
executed when you start your computer. If you are unfamiliar with the PATH command then please
refer to your MS-DOS Reference Manual.

If you have not specified a PATH command in your AUTOEXEC.BAT batch file then add the
following line to this file:

PATH C:\CALSOD

By following the above steps, you can now run CALSOD from any directory or disk. Remember to reboot
your computer to ensure that any changes that you have made to AUTOEXEC.BAT can take effect. In order
to start CALSOD simply type

CALSOD

at the MS-DOS prompt, and then press the Enter key. Once you have started CALSOD in this manner, in
order to access any data files you may need to change the default directory by selecting the appropriate
option from the main menu. Before attempting to use CALSOD, however, it is recommended that you study
the rest of this manual to get an overview of CALSOD’s wide range of capabilities and its many features.

It is also possible to have CALSOD load a data file by specifying the name of the file on the command line.
For example, if you wanted to get CALSOD to load the file called DEMOFILE.C14, you would simply type
in the following command at the MS-DOS prompt:

CALSOD DEMOFILE.C14

CALSOD would then read in the data contained in this file and, if no data definition errors were discovered,
it would then proceed to compute all the system transfer functions. Once these calculations were completed,
CALSOD would display the screen that allows you to select the response functions that you wish to plot out.

Running the inductor design program

In order to run the utility program for designing air-cored inductors, which is installed in the C:\CALSOD
subdirectory on your hard disk, simply type the following command at the MS-DOS prompt:

C:\CALSOD\INDUCTOR

and press the Enter key. Once the inductor design program is running you will be prompted for input. You
can omit the C:\CALSOD\ subdirectory portion of the above command if you have either set the PATH
statement to include the C:\CALSOD subdirectory, or you are in that particular subdirectory.

If you are running Windows 95 or Windows 98 or higher, you can create a shortcut to the INDUCTOR
program in the same way that you create a shortcut for CALSOD. In My Computer or Windows Explorer,
click the folder in which you want to create the shortcut. On the File menu, point to New, and then click
Shortcut. Follow the instructions on the screen.

Location of CALSOD example data files

Note that the data files required for working through the examples describing the use of CALSOD are to be
found on the subdirectory C:\CALSOD\DATAFILE, so please keep this in mind when trying to use them.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 5


Setting up CALSOD file associations for use with Windows

The Windows Explorer program that comes with Windows 95, Windows 98, and Windows XP can be
configured to start CALSOD automatically when you double-click on a CALSOD data file. As you will
learn later on, CALSOD 1.40 data files use .C14 as their filename extension, while the .C31 extension is
used for CALSOD 3.10 data files.

To create a file type for CALSOD 1.40 files and associate it with the CALSOD program:

1. In My Computer or Windows Explorer, on the View menu, click Folder Options.

2. Click the File Types tab, and then click New Type.

3. In Description of type, type “CALSOD 1.40 File” for the new file type.

4. In Associated extension, type “C14” for the new file type.

5. Click New.

6. In Action, enter the Open action.

7. In Application used to perform action, enter “C:\CALSOD\CALSOD.EXE” as the command. This


assumes that the CALSOD.EXE file is located in the C:\CALSOD subdirectory. If it is not, then
supply the appropriate pathname. If you wish, you can also supply command line switches here.
Then click OK.

To create a file type for CALSOD 3.10 files and associate it with the CALSOD program:

1. In My Computer or Windows Explorer, on the View menu, click Folder Options.

2. Click the File Types tab, and then click New Type.

3. In Description of type, type “CALSOD 3.10 File” for the new file type.

4. In Associated extension, type “C31” for the new file type.

5. Click New.

6. In Action, enter the Open action.

7. In Application used to perform action, enter “C:\CALSOD\CALSOD.EXE” as the command. This


assumes that the CALSOD.EXE file is located in the C:\CALSOD subdirectory. If it is not, then
supply the appropriate pathname. If you wish, you can also supply command line switches here.
Then click OK. If you wish to use the protected mode version of CALSOD 3.10, instead of
CALSOD.EXE you will need to use PCALSOD.EXE as the name of the application.

If you are using CALSOD 3.10, you should make sure that you have also set up the file type that
corresponds to CALSOD 1.40 files. This will enable you to double-click on CALSOD 1.40 files, which are
fully supported by CALSOD 3.10, as well as the CALSOD 3.10 data files. These CALSOD 1.40 files are
referred to in the user’s manual whenever CALSOD 3.10 has features that are in common with those in
CALSOD 1.40.

6 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Command line switches for use with CALSOD

CALSOD has a number of command line switches (also called parameters or options) which can be used to
activate or deactivate certain features at program startup. These switches all use the / character to indicate
the start of the switch, and they can be included in any order. The following list describes the switches that
can be used:

/EDIT Load the file whose name is given on the command line and start the CALSOD editor.

/EMS Place the overlay file in EMS memory to speed up access (unlikely to be needed).

/GP Use a special selection of colours to better suit laptop computers with LCD screens.

/ILBL:s Specify a string s of up to 11 characters to be used as a text label for the legend associated
with impedance curves.

/ISYM:s Specify a string s of up to 5 characters that is to be used as the symbol for impedance in
magnitude response plots of impedance. Note that if more than one or two characters are
used, then the string may be truncated in some of the plots. This feature is really designed to
allow you to replace the Ω symbol in case it does not display correctly on your computer
(unlikely to be needed any more).

/LPT2 Use the LPT2 printer port (rather than the default which is LPT1).

/LPT3 Use the LPT3 printer port (rather than the default which is LPT1).

/LT Use a special selection of colours to better suit laptop computers with LCD screens.

/NBS Do not display the banner screen when starting CALSOD.

/NTL Deactivate the showing of text lines in the file selection window.

/SLBL:s Specify a string s of up to 11 characters to be used as a text label for the legend associated
with sound pressure curves.

Installation tips for users of MS-DOS 5.0 or higher

If you are a user of Microsoft MS-DOS 5.0 or higher, you can take advantage of the Doskey program that is
supplied with these versions of MS-DOS. Doskey is a terminate-and-stay-resident program that recalls MS-
DOS commands, edits command lines, and creates macros. We will show you how to use one of its features
to make it easy to run CALSOD from any subdirectory. For additional details of the Doskey program, you
can look up this command in your MS-DOS manual or the MS-DOS on-line help files, whichever you have
available.

Assuming that CALSOD is located in the C:\CALSOD subdirectory on your hard disk drive, and that the
Doskey program is located on your path, then you can add the following three lines to your
AUTOEXEC.BAT file:

DOSKEY
DOSKEY CALSOD = C:\CALSOD\CALSOD.EXE $*
DOSKEY INDUCTOR = C:\CALSOD\INDUCTOR.EXE

Make sure that these lines are placed after the PATH statement in your AUTOEXEC.BAT file, otherwise
the Doskey program may not be correctly invoked. The first line simply activates the Doskey program and
leaves it resident in memory. The second line sets up a macro called CALSOD so that whenever you type

CALSOD 3.10 and CALSOD 1.40 User's Manual – 7


CALSOD at the command line (followed by the Enter key), the CALSOD program will be started. The third
line sets up a similar macro for invoking the program for designing air-cored inductors.

When the above three lines have been added to your AUTOEXEC.BAT file, next time you reboot your
system you can then just type

CALSOD

at the MS-DOS prompt, and CALSOD will start automatically, irrespective of which subdirectory you are
working in.

Using CALSOD from a floppy disk

As the CALSOD program is quite compact, it is possible to run it from a 1.44 MB floppy disk. To
accomplish this all you need to do is copy all the files contained in the C:\CALSOD subdirectory (excluding
the C:\CALSOD\DATAFILE and C:\CALSOD\MANUAL subdirectories) onto a blank floppy disk. The
program will then be ready to run.

8 – CALSOD 3.10 and CALSOD 1.40 User's Manual


SUMMARY OF
CALSOD FEATURES

CALSOD (Computer-Aided Loudspeaker System Optimization and Design) is a program for use in the
computer-aided design and optimization of loudspeaker systems. It brings a collection of powerful design
and simulation capabilities within reach of all engineers and technicians engaged in the design of
loudspeaker systems. The software is menu driven, thus making it easy to learn and use. The program runs
on IBM-compatible personal computers using the MS-DOS, Windows 3.x, Windows 95 or Windows 98
operating systems. It has also been run on Windows XP systems by some customers, but please note that
there has not been any extensive testing of CALSOD under Windows XP.

CALSOD enables the user to simulate the magnitude and phase of the sound pressure and impedance
response of an individual loudspeaker driver as accurately as possible. Even if only magnitude response data
are available for the sound pressure and impedance response, which is typical of most manufacturer’s data
sheets, the minimum-phase curve-fitting approach used by CALSOD provides an accurate model of the
phase behaviour of the driver’s sound pressure and impedance response characteristics.

By using CALSOD’s optimization capability, the speaker designer can create crossover networks in a
fraction of the time it would normally take to go through the design and testing cycle. Also, a much more in-
depth analysis can be carried out at the design stage, resulting in both an improved design and significant
savings in testing time.

Furthermore, because of its broad range of standard analysis capabilities, CALSOD can be a productive
learning tool at all levels of instruction in loudspeaker system design. It also provides a good introduction
about the use and effectiveness of computerized optimization methods.

By using computer-aided analysis, the designer can also evaluate many more proposals to see which one
best achieves the specified performance objectives. Once the models of the drivers have been established, it
is easy to try out alternative physical layouts of the drivers in the loudspeaker system, which may be
particularly important when three or more drivers are used.

Another advantage results from the fact that, as a result of variations in the manufacturing processes
involved in production, the sound pressure response of a particular model of loudspeaker driver is likely to
vary slightly from batch to batch. When such variations occur, the existing transfer function model can be
easily modified to match the characteristics of the current batch of drivers, and then the crossover networks
of any loudspeaker systems using that driver can be re-optimized using the original design as the initial trial
solution. The revised component values can then be incorporated into the assembly process, and it is
possible that producing revised filter components may prove more cost effective than ensuring strict
uniformity of loudspeaker driver performance from one production batch to another.

System modelling capabilities of CALSOD 1.40

CALSOD 1.40’s advanced analysis facilities allow the speaker designer to routinely inspect colour graphics
plots of both the magnitude and phase of all the following performance characteristics of a multiway
loudspeaker system:

 impedance of each individual loudspeaker driver.

 input impedance of the crossover network and loudspeaker combination.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 9


 voltage transfer function of each filter when it is loaded by its driver.

 filtered and unfiltered sound pressure response of each loudspeaker driver that is included in the
system.

 desired target acoustic response function and target impedance function.

 summed sound pressure response of a multiway loudspeaker system evaluated at one observation
point at a time.

 magnitude and phase response plots can be presented on a linear frequency scale to allow the linear-
phase behaviour of the loudspeaker system to be easily assessed.

All of these functions are only a simple menu selection away. By using CALSOD’s integrated graphics
display facilities, you can routinely display plots of all the above characteristics, thus making it easy to
evaluate and validate the performance of any proposed design. Since plots of the magnitude and phase
response can also be presented using a linear frequency scale, this permits the prediction of the phase delays
present in the summed response of multiway loudspeaker systems, thus allowing the linear-phase behaviour
of the design to be easily assessed.

Some of CALSOD 1.40’s many design, analysis and optimization features include:

 simulation of sound pressure and impedance response for vented, sealed, passive-radiator, filter-
assisted and bandpass low-frequency alignments.

 positions of drivers on the baffle can be specified for accurate simulation of effects on summed
response caused by inter-driver time delays to the observation point.

 fast and robust optimization of completely general user-defined passive crossover networks with up to
60 components.

 standard filter target functions for Linkwitz-Riley, Butterworth, Bessel, constant voltage and user-
defined designs.

 up to four different driver models can be used in a system comprised of up to eight drivers in total.

 by using a manual trial-and-error curve-fitting approach when creating driver impedance response
models, the technique that is used allows the designer to determine Thiele-Small parameters (Qes,
Qms, Qts and fs) from experimental data, and simple calculations allow Vas to be estimated.

 driver impedance models use frequency dependent voice-coil inductance and resistance, and these
parameters can be easily determined by applying a simple to use manual curve-fitting procedure.

 ability to model the capacitive impedance of the piezo-electric transducers.

 simulation of the step in the sound pressure response caused by the diffraction of sound around the
baffle.

 simulation of the effects of floor reflections on the sound pressure response by setting up a system of
loudspeaker sources and images.

 up to 60 crossover components can be used, not including the SPK submodules that are also used in
the CIRCUIT module, in any general user-defined network. This permits networks with large numbers
of components to be analysed, as found in multiway loudspeaker systems.

10 – CALSOD 3.10 and CALSOD 1.40 User's Manual


 the maximum number of variable components that can be optimized is also 60.

 up to 101 frequency points can be used when calculating the system transfer functions and carrying
out the optimization. This allows adequate resolution when creating plots. Both logarithmic and linear
frequency scales are available.

 printer support for HP LaserJet and HP DeskJet printers, as well as popular 9-pin and 24-pin dot
matrix printers from IBM, Epson, NEC and Toshiba. CALSOD can also be configured to print
graphics screens to the default Windows printer, via a bitmap image editing program that users may
have on their Microsoft Windows computer systems.

 screen plots can be saved as PCX files for importing into desktop publishing and word processing
software, or for using a bitmap image editing program to print screen plots to a printer that is not
directly supported by CALSOD.

The inclusion of the geometric layout and relative positioning of the drivers on the baffle of the loudspeaker
cabinet provides a means to accurately simulate loudspeaker systems that use both coincident and
noncoincident drivers.

These novel features result from the ability of CALSOD to develop accurate minimum-phase models of the
complex impedance and sound pressure response of moving-coil loudspeaker drivers. These models are a
general representation of a particular driver, and once defined they are used as building blocks to create a
complete model of a multiway loudspeaker system.

The techniques used to create these models are based on the application of interactive computer-aided
curve-fitting techniques. These methods are easy to learn and use, yet provide a powerful and flexible model
of a loudspeaker driver which can then be interfaced with the design and analysis capabilities of CALSOD.
In order to apply these methods the user need only have available the magnitude response of the driver
sound pressure and impedance functions. Once the curve-fitting process has been completed for the driver,
the simulation will model both the magnitude and the phase of the sound pressure and impedance transfer
functions.

Using the computer-aided loudspeaker design capabilities of CALSOD has a number of other significant
advantages. By developing transfer function models of the behaviour of individual loudspeaker drivers, the
speaker designer can check the results of the optimization without having to measure experimentally the
response of the loudspeaker system. It is no longer necessary to have access to costly instrumentation and a
suitable measurement environment throughout the design process, although it is still desirable that the final
design should be verified experimentally.

Additional system modelling capabilities of CALSOD 3.10

The data file format used in CALSOD 1.40 is compatible with CALSOD 3.10. Hence, if you are a CALSOD
1.40 owner and you decide to upgrade to CALSOD 3.10, your previous work will be immediately usable.
CALSOD 3.10 contains many additional modelling capabilities over those provided in CALSOD 1.40.
Some of these extra features include:

 a protected mode version of CALSOD 3.10 is supplied, called PCALSOD.EXE. This enables up to
741 points to be used when when calculating and plotting the system frequency response functions.
The standard DOS-mode version of CALSOD only provides for up to 101 points to be used, because
of the 640 kB memory limit imposed by MS-DOS. Note that PCALSOD.EXE has been tested under
Windows 98 SE and Windows XP, so it is likely to be compatible with other versions of Windows as
well (such as Windows 95 and later versions, except for Windows NT).

CALSOD 3.10 and CALSOD 1.40 User's Manual – 11


 a FILE submodule with the ability to read sound pressure and impedance measurement files from
various audio measurement equipment. Support is provided for importing files from Audio Precision’s
System One, Ariel’s SYSid, LinearX’s LMS, Liberty Instruments’ IMP and Audiosuite (text files only),
Audiomatica’s CLIO and CLIOwin, DRA Laboratories’ MLSSA, Kemsonic’s AMS-PC,
Microacoustics’ PC AudioLab, SIA Software Company’s SmaartLive, and Bunn’s AIRR. A file import
format specific to CALSOD is also defined so that you can convert data from other measurement
systems or sources of data into this format and use the files in your analyses.

 the FILE submodule can handle sound pressure response files for up to 5 observation points,
permitting crossover optimization using measured on-axis and off-axis response data. When
measurement files for SPL or impedance are read in, they can be scaled in amplitude and corrected for
propagation delays.

 the support for importing files allows you to take advantage of driver sound pressure and impedance
measurements that may be available from your speaker component supplier. This means your
simulations will be even more accurate than ever before, as you will be able to make use of actual
measured response data.

 double ported band-pass enclosures can be simulated. The model used includes port, leakage and
absorption losses.

 enhanced modelling of closed-box, vented-box and passive-radiator enclosures, with provision for
separate modelling of enclosure absorption and leakage losses, as well as port or passive radiator
losses.

 support for optimization of active crossover networks. An IOA submodule has been added to allow the
use of ideal operational amplifiers to model active filters.

 an impedance curve-fit optimizer which automatically varies Qeq and Deq parameters in MPE
submodules to best match impedance data. This greatly simplifies the task of curve-fitting, as well as
improving the accuracy of the models that you create.

 an SPL curve-fit optimizer which can automatically vary Qeq and Deq parameters in MPE
submodules to best match sound pressure data. This speeds the task of curve-fitting, as well as
improving the accuracy of the models that you create.

 an EPD submodule for modelling the off-axis radiation characteristics of individual drivers. They are
simulated as rigid pistons mounted on a baffle.

 an impedance curve-fit optimizer that automatically estimates the Thiele-Small driver parameters (Fs,
Qts, Qms, Qes, Vas, Bl, Mms, Cms, sensitivity, voice-coil inductance, etc.) from two sets of
impedance measurements taken under added-mass or volume-change test conditions.

 an impedance curve-fit optimizer that uses a single impedance measurement of a driver in a vented-
box to determine the driver’s Thiele-Small driver parameters and tuning (Fb, Fs, , Qts, Qms, Qes,
Vas, Bl, Mms, Cms, sensitivity, voice-coil inductance, etc.). This data can be used to check the tuning
of vented-box systems. The driver sound pressure response is automatically simulated from the
measured parameters.

 frequency dependent voice-coil inductance and resistance can be automatically determined by the
impedance curve-fit optimizer.

 an extended SPK submodule that permits the aiming of the principal radiation axis of each driver
when positioned on the baffle.

12 – CALSOD 3.10 and CALSOD 1.40 User's Manual


 an RAB submodule that allows you to specify up to 5 off-axis observation points using a simple to use
polar coordinate system.

 an RGE submodule to simulate the effects of room gain on the low-frequency response of a
loudspeaker system.

 the SEN submodule has been extended to permit you to include the following sets of information for
the driver: [Re, Fs, Qes, Vas], [Re, Bl, Sd, Mms], or [Re, No]. These parameters are then used to
compute the sensitivity of the driver directly within CALSOD.

 an extended BDS submodule to allow the effects of baffle diffraction to be removed from a driver
model, using a new DEBOOST option. The user can also specify the step effectiveness factor.

 the crossover network optimizer can take into account the sound pressure response at multiple
observation points, often leading to better off-axis performance of the speaker system.

 multiway systems with up to 8 drive units can be simulated, and these can consist of up to 8 different
models of loudspeaker driver as defined in the DRIVER modules, permitting much more complex
multi-driver systems to be analysed. For example, a 7-driver 4-way system comprised of 2 woofers, 2
low-midrange drivers, 2 high-midrange drivers, and 1 tweeter, can be simulated using the standard
CALSOD configuration.

 up to 5 RAB submodules can be used to specify multiple observation points where the summed sound
pressure response will be calculated. If desired, the response at each of these locations can be included
in the optimization process. A facility also exists to overlay sound pressure response plots at up to 5
observation points, making it easy to simultaneously compare the response at a number of different
on-axis and off-axis locations.

The real power of CALSOD 3.10 lies in your ability to create a complete model of a multiway loudspeaker
system and to evaluate and modify its response characteristics to meet a given set of design goals. The
curve-fit optimizer enables you to quickly develop sound pressure and impedance models of individual
drivers. Once these models are defined, drivers can be selected from the library and incorporated into the
current design project. In this way new designs can be quickly created to meet the requirements of an
expanded product range. Also, old designs can be easily modified to include new drivers that will improve
the performance of the loudspeaker system.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 13


THE CALSOD MENUS

CALSOD is a menu driven program that presents you with a table of options during each phase of the
analysis. In order to carry out some operation, such as reading in a new data file or starting the optimization
procedure, you are required to make a selection by pressing the key whose character denotes the desired
process. Some operations result in a submenu being displayed, from which you are once again required to
make a selection.

We will now proceed to give a description of the main menu and the various submenus that you will
encounter while using CALSOD. Each of the options available in a given menu will be explained in detail.

The main menu and submenus

When you start CALSOD the following main menu will appear on the screen. By choosing from the
available options it is possible to carry out the design, analysis, and optimization of a loudspeaker system.

╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:49:03 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║96 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ ║
║ A Invoke editor ║
║ B Plot system responses ║
║ C List response tables ║
║ D Directory of files ║
║ E Change frequency range and optimizer parameters ║
║ F Change plotting and printer parameters ║
║ G List driver/circuit configuration ║
║ H Begin optimization procedure ║
║ I Read in new data file ║
║ J Change target SPL coordinates ║
║ K Change target SPL sensitivity ║
║ L Change active directory ║
║ M Recalculate system transfer functions ║
║ N Exit program ║
║ ║
║ Select option: ║
║ ║
╚═════════════════════════════════════════════════════════════════════╝

The main menu shown above is the central menu which controls access to all CALSOD operations. When
you first start CALSOD this is the menu that appears on the screen. The following is a short description of
all the options in the main menu.

A Invoke editor

Selecting this option allows you to enter the text editor which is a part of CALSOD. When in the editor, you
can create and modify data files that are to be read in and used by CALSOD later on. These data files
contain the information defining the loudspeaker system that you are analyzing. The operation of the editor
is described in greater detail in a subsequent section of this manual.

When the text editor is invoked, the most recent file that was read into CALSOD during the current work
session will be used as a prompt for the filename to be edited in the text editor. To select this file for editing
simply press the Enter key, otherwise type in the new filename or modify the name currently being
displayed. Pressing the Esc key will get you into the editor without specifying the filename to be edited. If

14 – CALSOD 3.10 and CALSOD 1.40 User's Manual


you edit the same file next time you enter the editor, the cursor will automatically be placed in the line and
column that was being edited previously.

It is possible to get a list of files to appear on screen in a window to make the file selection process easier.
You should read the section describing Option I for more details of how to use this feature.

B Plot system responses

Selecting this option allows you to plot out the transfer function responses of the various components of the
loudspeaker system or loudspeaker driver that you are analyzing. CALSOD will not permit you to select this
option until a data file has been read in and the system transfer functions have been calculated.

Once this option has been selected, a submenu will appear and you will be asked to choose the responses
that you would like to have plotted on the screen. A typical submenu for a two-way loudspeaker system will
look something like this:

╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:56:42 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║98 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ Circuit Driver Driver Filter Dri*Filt Driver ║
║ Speaker Description Response Response Response Impedance ║
║ ~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ║
║ 1: SPK 1 Woofer A B C D ║
║ 2: SPK 2 Tweeter E F G H ║
║ ║
║ I Total system SPL response in dB ║
║ J Total system power response in dB ║
║ K Input impedance in ohms ║
║ L Target SPL function in dB ║
║ M Target input impedance in ohms ║
║ N Weighting SPL function in dB ║
║ O Total system SPL - Target SPL ║
║ P Experimental SPL data points ║
║ Q Experimental impedance points ║
║ ║
║ Select functions (end with <CR> or <ESC> to abort): ║
║ ║
╚═════════════════════════════════════════════════════════════════════╝

The six column headings are defined as follows:

Circuit Speaker numbered description associated with each SPK submodule used in the CIRCUIT
module in the data file. Note that “1:” refers to the first SPK submodule, and so on.
Driver Description title associated with the driver referred to in the SPK submodule.
Driver Response unfiltered sound pressure response of the loudspeaker driver.
Filter Response filtered voltage response across the terminals of the loudspeaker driver when it is
connected in the circuit.
Dri*Filt Response multiplication of the unfiltered driver sound pressure response with the voltage
across the terminals of the driver when it is connected in the circuit. This is the
filtered response of the individual loudspeaker driver.
Driver Impedance impedance response of the individual loudspeaker driver.
The Total system SPL response corresponds to the summed sound pressure response of all the individual
drivers. Both the magnitude response and phase response are displayed. Note that the phase response is
normally shown adjusted to remove the average time delay for sound to travel from each of the drivers to the
active design point.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 15


The Total system power response is the summed contribution of all the filtered sound pressure responses of
the individual drivers, calculated at the active design point. It is calculated by assuming that each driver
behaves as an ideal omnidirectional point source, unless the EPD module is used to model each driver’s
directivity. However, even then this option only takes into account each driver’s off-axis response at the
design point.

This option should be chosen when you wish to evaluate the power response of different crossover network
topologies. For example, complementary third-order lowpass and highpass Butterworth crossovers have a
flat power response, whereas fourth-order Linkwitz-Riley crossovers will have a 3 dB dip in the power
response at the crossover frequency.

The Input impedance is simply the impedance of the circuit, including all connected loudspeaker drivers, as
measured at the input terminals. Both the magnitude and phase are displayed.

The Target SPL function represents the transfer function defined in the TARGET SPL module. It is the
desired sound pressure response that an individual driver or a combination of drivers is specified to attain.
Both the magnitude and phase are displayed, but only the magnitude response is utilized during the
optimization. When optimizing a single driver, it may be useful to compare both the magnitude and phase of
the optimized response with that of the target function.

The Target input impedance represents the transfer function defined in the TARGET IMPEDANCE module.
It is the desired input impedance that an individual driver or loudspeaker system is specified to attain in
combination with the crossover network. Both the magnitude and phase are displayed, but only the
magnitude response is utilized during the optimization.

The Weighting SPL function corresponds to the magnitude of the transfer function, defined in the
WEIGHTING module, that is used to factor the value of the error between the target and actual response at
each frequency point.

The Total system SPL – Target SPL corresponds to the difference between the total system and target sound
pressure response functions. By using this display option, it is possible to quickly and easily estimate the
order of the filter required to obtain a good match between the current filtered response and the target
response. If this option is selected when plotting, the plot is normalized such that the specified sensitivity of
the target response is the 0 dB reference level. However, when obtaining a listing of results the true un-
normalized values are printed.

The Experimental SPL data points option corresponds to the sound pressure data points that were input
using the EXPERIMENTAL SPL module. If this module was not included in the data file then this option
will not appear.

The Experimental impedance points option corresponds to the impedance data points that were input using
the EXPERIMENTAL IMPEDANCE module. If this module was not included in the data file then this
option will not appear.

If additional loudspeaker drivers had been connected in the circuit network then each of the drivers would
have been presented on a separate extra line. The letters denoting each of the available choices
automatically adjust to cater for each combination.

16 – CALSOD 3.10 and CALSOD 1.40 User's Manual


If your data file includes multiple RAB submodules for calculating sound pressure response
functions at more than one observation point, then the selection process works slightly
differently than might otherwise be expected.

If you pick only one sound pressure response function, such as the total system SPL response
(selection I in the above table), then the data that will be displayed correspond to the values
that have been calculated for each and every one of the RAB submodules. If more than one
pressure function is selected, then only the first RAB submodule will be displayed.

If you have used the EXPERIMENTAL SPL module, then it is possible to have the points
superimposed on any of the pressure functions when multiple RAB submodules have been
defined. Simply select the desired pressure response function together with the experimental
sound pressure data points option, and both sets of results will be plotted.

C List response tables

Selecting this option allows you to display on the screen a tabular listing of the various system transfer
functions related to the loudspeaker system or loudspeaker driver that you are analyzing. Note that
CALSOD will not permit you to select this option until a data file has been read in and the system transfer
functions have been calculated.

Once this option has been selected, a submenu will appear and you will be asked to choose the responses
that you would like to have listed on the screen. The format of the submenu is the same as that described for
Option B.

After you have chosen the response functions that you wish to see, you will be asked whether you want the
information to be directed to the screen, the printer, or to a disk file (see below).

╔══════════════════════════════════════════════════════════╦═══════════╗
║ C A L S O D ║11:23:31 am║
║ Computer-Aided Loudspeaker System Optimization and Design║ 1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║282 Kb free║
╠══════════════════════════════════════════════════════════╩═══════════╣
║ ║
║ Send output to: ║
║ ║
║ S Screen ║
║ P Printer and screen (USB printers are not supported) ║
║ F File and screen ║
║ ║
║ Select option: S ║
║ ║
╚══════════════════════════════════════════════════════════════════════╝

If you decide that you want the response fucntions to be printed out, CALSOD checks to see whether a
printer is connected before beginning to print. Note that printing of text to USB printers is not supported, as
the text is sent only to the LPT port. When a display window is filled, you are prompted to scroll the display
forward to the next screen.

The next table shows a typical format for screen output and printed output obtained using this option:

CALSOD 3.10 and CALSOD 1.40 User's Manual – 17


╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:58:31 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║98 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ Total Woofer Tweeter Input ║
║ FREQUENCY SPL in dB Dri*Filt dB Dri*Filt dB Impedance ║
║ """"""""" """"""""""" """"""""""" """"""""""" """"""""""" ║
║ 1000.0 91.6 -57 91.4 -54 64.5 -120 10.4 5 ║
║ 1349.3 92.1 -84 91.7 -79 71.3 -141 12.4 -3 ║
║ 1820.6 93.2 -123 91.9 -117 77.7 -157 13.1 -25 ║
║ 2456.5 94.0 -174 90.3 -169 84.8 177 8.3 -44 ║
║ 3314.5 95.2 140 87.3 132 90.9 145 5.0 -35 ║
║ 4472.1 93.6 88 82.1 54 91.6 99 4.0 -10 ║
║ 6034.2 90.3 80 72.0 -27 90.7 87 4.4 9 ║
║ 8141.8 91.9 87 59.8 -96 92.1 86 5.2 19 ║
║ 10985.6 92.7 77 47.0 -163 92.8 77 6.1 25 ║
║ 14822.7 94.7 76 33.7 123 94.7 76 7.1 31 ║
║ 20000.0 89.3 35 19.6 35 89.3 35 8.0 28 ║
║ ║
║ »»» Press any key to exit ««« ║
╚═════════════════════════════════════════════════════════════════════╝

In each ordered pair of numbers in the above table, the first value represents the magnitude of the quantity,
and the second value corresponds to the phase angle in degrees.

If you are saving the results to a disk file, you will be prompted for a filename, and CALSOD checks to see
whether or not a file of the same name already exists. Note that the response data will be listed on the screen
while they are being printed or written to a disk file.

D Directory of files

Selecting this option allows you to display the files resident in any directory on your disk drives. You will
be prompted for a directory mask, and if you wish to see the files in a given directory you must type in a \ at
the end of the string of characters, otherwise this function will look only for the file matching the directory
mask. For example, the directory mask C:\PROG\ is equivalent to the MS-DOS command DIR
C:\PROG\*.*.

E Change frequency range and optimizer parameters

Selecting this option allows you to modify the default settings of the frequency range and iteration
parameters for the analysis process. Once this option has been selected, the following submenu appears:

╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:49:34 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║96 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ ║
║ FREQUENCY RANGE AND OPTIMIZER PARAMETERS MENU ║
║ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ║
║ 1 Display current settings ║
║ 2 Change frequency limits ║
║ 3 Change number of subintervals ║
║ 4 Change max number of iterations ║
║ 5 Change allowable SPL error ║
║ 6 Change allowable impedance error ║
║ 7 Change to logarithmic scale ║
║ 8 Change to linear scale ║
║ ║
║ ESC Return to main menu ║
║ ║
║ Input option number: ║
║ ║
╚═════════════════════════════════════════════════════════════════════╝

18 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Each of the options in the above submenu are described below:

Option 1 displays all the current settings of the frequency range and optimization parameters.

Option 2 allows you to change the lower and upper frequency limits of the analysis interval. If the
number of subintervals is zero then this option allows you to change the default value of the
single frequency point at which all the system transfer functions will be calculated.

Option 3 allows you to change the default value for the number of subintervals into which the given
frequency range for the analysis will be subdivided. If you wish to analyze one particular
frequency point then you should set the number of subintervals to zero and modify the default
single frequency point using the next option.

Option 4 allows you to change the maximum permissible number of iterations for the optimization
process.

Option 5 allows you to change the allowable SPL error value that is used as a criterion for determining
whether or not the SPL optimizer has converged.

Option 6 allows you to change the allowable impedance error value that is used as a criterion for
determining whether or not the impedance optimizer has converged.

Option 7 sets the frequency range for the calculation of system transfer functions to be logarithmic.

Option 8 sets the frequency range for the calculation of system transfer functions to be linear.

ESC pressing the Esc key returns you to the main menu.

Note that when you exit CALSOD, you will be prompted to save any changes to the default settings in the
configuration file. These settings will become the new defaults when you use CALSOD again.

F Change plotting and printer parameters

Selecting this option allows you to modify the default settings of various parameters that are related to
plotting results on the screen and obtaining copies using your printer. When you exit CALSOD, you will be
prompted to save any changes to the default settings in the configuration file, and this file will be used when
you run the program again.

You can customize the parameters that are used to control the horizontal and vertical scales of the plotting
axes. You can independently change the magnitude and phase settings for the sound pressure response plots
(using the dB scale) and impedance plots (using the ohms scale).

It is also possible to modify the spacing of the major and minor tick marks along the vertical axis (and the
horizontal axis if you are using a linear frequency scale). You can also toggle the horizontal and vertical grid
lines on and off in order to change the format of the plot.

You can also select a graphics mode for plotting, as well as specifying the printer that you will be using for
obtaining screen dumps. Note that the default Windows printer can be selected for plotting graphics screens,
in either colour or monochrome mode. This requires that a Windows bitmap editing program be called from
CALSOD in order to facilitate printing to the default Windows printer. CALSOD comes preconfigured to
use Microsoft PBRUSH.EXE, which is usually to be found in the \WINDOWS directory in Windows 98 SE.
This mode indirectly supports graphics printing to USB printers.

When this option is selected the following submenu will appear:

CALSOD 3.10 and CALSOD 1.40 User's Manual – 19


╔═════════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:49:44 pm║
║ Computer-Aided Loudspeaker System Optimization and Design ║1 MAR 2007║
║ (C) Copyright by Audiosoft, 1988-2007, All Rights Reserved ║96 Kb free║
╠═════════════════════════════════════════════════════════════╩══════════╣
║ 1 Display current settings ║
║ 2 Change freq scale and tick marks ║
║ 3 Change SPL scale and tick marks ║
║ 4 Change SPL phase and tick marks ║
║ 5 Change ohms scale and tick marks (LH and RH axes) ║
║ 6 Change ohms phase and tick marks (LH and RH axes) ║
║ 7 Toggle frequency axis grid lines (currently on) ║
║ 8 Toggle minor vertical axis grid lines (currently off) ║
║ 9 Toggle major vertical axis grid lines (currently on) ║
║ 0 Toggle display of plotting labels (currently on) ║
║ A Toggle display of points on plots (currently off) ║
║ B Toggle dB/linear impedance plots (currently linear) ║
║ D Set printer options for plots and listings ║
║ E Set text mode and line plot colours for screen ║
║ F Set user defined editor, Windows bitmap printer and other options ║
║ ESC Return to main menu ║
║ ║
║ Select option: ║
╚════════════════════════════════════════════════════════════════════════╝

Each of the options in the above submenu are described below.

Option 1 displays all the current settings of the plotting parameters that control the scaling and the
appearance of the plots.

Option 2 sets the lower and upper limits of the frequency range for the plotting of system transfer
functions. Note that this range is independent of the settings for the analysis frequency range.
If a linear frequency scale is in use, you can also change the tick marks appearing along the
horizontal frequency axis.

Option 3 sets the lower and upper magnitude limits of the decibel scale used when plotting sound
pressure transfer functions. You can also adjust the spacing of the tick marks (graduations)
that are used to mark the vertical decibel axis.

Option 4 sets the lower and upper magnitude limits of the phase angle scale used when plotting sound
pressure transfer functions (limited to ±180°). You can also adjust the spacing of the tick
marks (graduations) that are used to mark the vertical phase angle axis.

Option 5 sets the lower and upper magnitude limits of the impedance scale used when plotting
impedance transfer functions. You can also adjust the spacing of the tick marks (graduations)
that are used to mark the vertical impedance axis.

Option 6 sets the lower and upper magnitude limits of the phase angle scale used when plotting
impedance transfer functions (limited to ±180°). You can also adjust the spacing of the tick
marks (graduations) that are used to mark the vertical phase angle axis.

Option 7 switches the vertical grid lines on and off. They are drawn from the tick marks on the
horizontal frequency axis.

Option 8 switches the minor horizontal grid lines on or off. They are drawn from the minor tick marks
on the vertical magnitude and phase axes.

Option 9 switches the major horizontal grid lines on or off. They are drawn from the major tick marks
on the vertical magnitude and phase axes.

20 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Option 0 switches the display of plotting labels on or off (this is useful if you wish to label the plots
yourself).

Option A switches the display of points on the line graph either on or off. When set to on, the user can
see exactly what points CALSOD is using to perform the optimization, as very narrow peaks
or dips in the response may or may not fall on a calculating point, and thus may or may not be
fully taken into account by the optimizer.

Option B switches the vertical magnitude axis of impedance plots to be linear or in dB. If a logarithmic
scale is selected then 0 dBΩ corresponds to 1 ohm. The dB scale is useful if you wish to
display a very wide range of impedance values on a plot, while still retaining good resolution
at low impedance values.

Option C allows you to choose the graphics mode and resolution that will be used for plotting response
curves on the screen. The graphics cards currently supported include CGA, EGA, VGA,
Hercules (monochrome), and Super VGA modes (that make use of an 800x600 screen
resolution). Note that it is sometimes useful to use a lower resolution for plots than the
maximum supported by the graphics card that you are using, because screen dumps to the
printer will take less time. Please check and ensure that your graphics card will cope with the
video mode that you have chosen, and not produce a screen full of unintelligible characters.
After selecting this option, the video graphics modes that are supported will be displayed as
shown below.

╔═════════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:49:44 pm║
║ Computer-Aided Loudspeaker System Optimization and Design ║1 MAR 2007║
║ (C) Copyright by Audiosoft, 1988-2007, All Rights Reserved ║96 Kb free║
╠═════════════════════════════════════════════════════════════╩══════════╣
║ 1 AUTO SET 11 VGA 640x200 16 color ║
║ 2 CGA 640x200 2 color 12 VGA 640x350 16 color ║
║ 3 MCGA 640x200 2 color 13 VGA 640x480 16 color ║
║ 4 MCGA 640x480 2 color 14 SVGA 800x600 16 color ║
║ 5 EGA 640x200 16 color 15 SVGA 800x480 16 color ║
║ 6 EGA 640x350 16 color ║
║ 7 EGA 64K 640x200 16 color ║
║ 8 EGA 64K 640x350 4 color ║
║ 9 EGA MONO 640x350 2 color ║
║ 10 HERCULES 720x348 2 color ║
║ ║
║ Select graphics mode : 1 ║
╚════════════════════════════════════════════════════════════════════════╝

You will note that there is an option for a 800x480 screen resolution mode. This is provided
to allow a frequency response plots to take on a larger width-to-height ratio, which may
sometimes be desirable.

Option D allows you to choose the printer type for obtaining plots of graphics screens, as well as setting
when and where a form feed will be sent to the printer during screen dumps. Some of the
printers directly supported by CALSOD are dot matrix models from Epson, as well as the
Hewlett-Packard LaserJet Series II and compatibles. There are also two options that enable
you to select the default Windows printer, in either colour or monochrome printing mode.
This last feature should enable you to print to printers for which specific drivers are not
available in CALSOD. After selecting Option D followed by Option P (select printer type for
plots), the printer selection menu looks like the following. In this particular example, printer
selection codes 20 and 21 correspond to the Windows default printer in colour and
monochrome modes respectively.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 21


╔═════════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:49:44 pm║
║ Computer-Aided Loudspeaker System Optimization and Design ║1 MAR 2007║
║ (C) Copyright by Audiosoft, 1988-2007, All Rights Reserved ║96 Kb free║
╠═════════════════════════════════════════════════════════════╩══════════╣
║ 1 Canon LBP-8II/8IIT 16 Okidata 390/391 ║
║ 2 Epson 9-pin 17 Toshiba 1350 ║
║ 3 Epson FX-80, LX-80 18 Toshiba 1351 8-pin ║
║ 4 Epson LQ series 24-pin 19 Toshiba 1351 24-pin ║
║ 5 Facit 4512 20 Windows default color ║
║ 6 HP DeskJet 21 Windows default mono ║
║ 7 HP LaserJet Series II ║
║ 8 HP PaintJet 16 Colors ║
║ 9 HP PaintJet Monochrome ║
║ 10 HP QuietJet Plus ║
║ 11 HP ThinkJet ║
║ 12 IBM PC Graphics Printer ║
║ 13 IBM Proprinter 9-pin ║
║ 14 NEC Pinwriter P2/P3 ║
║ 15 NEC Pinwriter P5/6/7 180 ║
║ ║
║ Select printer : 1 ║
╚════════════════════════════════════════════════════════════════════════╝

Option E allows you to change the default colours of line and text colours. When this option is
selected, the following set of choices will be displayed in the submenu that appears:

╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:23:31 am║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║92 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ T Select text colours for screen ║
║ D Reset to default text colours for screen ║
║ L Select line colours for plots ║
║ C Set default dark line colours for plots ║
║ R Reset to default line colours for plots ║
║ W Set all line colours to white ║
║ ║
║ Esc Return to previous menu ║
║ ║
║ Select option: ║
╚═════════════════════════════════════════════════════════════════════╝

For the text display, the following screen elements can be configured if you are using a
display card capable of displaying text in different colours or shades.

• Normal text for main screen and submenus


• Normal text for input file directory listing and editor pulldown menus
• Highlighted text for input file directory listing and editor pulldown menus
• Frame for input file directory listing and editor pulldown menus
• Normal text for editor popup windows
• Highlighted text for editor popup windows
• Frame for editor popup windows
• Dividing line for 2nd editor window
• Normal text for editor
• Highlighted text for editor

When you select the appropriate suboption you will see a table of 3-digit numbers (see
below). Each number is displayed with a different combination of foreground/background
colour, and the 3-digit number represents the particular colour combination that is being used

22 – CALSOD 3.10 and CALSOD 1.40 User's Manual


for that block. If you cannot read the number in any 3-character block, then do not select this
colour as you will not be able to read text that is displayed with this colour attribute.

╔══════════════════════════════════════════════════════════╦═══════════╗
║ C A L S O D ║11:23:32 am║
║ Computer-Aided Loudspeaker System Optimization and Design║ 1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║282 Kb free║
╠══════════════════════════════════════════════════════════╩═══════════╣
║ 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 ║
║ 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 ║
║ 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 ║
║ 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 ║
║ 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 ║
║ 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 ║
║ 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 ║
║ 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 ║
║ ║
║ Main screen text : 14 ║
║ Program/editor menu text : 30 ║
║ Program/editor menu highlighted text : 94 ║
║ Program/editor menu frame : 31 ║
║ Program/editor window text : 30 ║
║ Program/editor window highlighted text : 94 ║
║ Program/editor window frame : 31 ║
║ Editor 2nd window dividing line : 15 ║
║ Editor text : 14 ║
║ Editor highlighted text : 112 ║
╚══════════════════════════════════════════════════════════════════════╝

You must input your selections one by one. You can change the colour by editing the initially
displayed value. Pressing the Enter key will accept your new colour, or the original colour if
no changes have been made. Pressing the Esc key will accept the original default value. You
will be prompted in turn for the new value for the colour of each screen element.

You can also change the colours of the lines used in plots. If you are printing in color via the
Windows default printer, then it is suggested that you choose to use dark colors, as light
colors will be very difficult to see on plain white paper. Some preselected dark colours can be
activated by choosing Option C. The submenu that appears when you select Option L from
the menu shown above is illustrated below. The standard 16 colours supported by most VGA-
compatible colour cards are displayed on-screen to make the colour selection process easier
for the user. Up to eight different line plot colours can be set.

╔══════════════════════════════════════════════════════════╦═══════════╗
║ C A L S O D ║11:23:31 am║
║ Computer-Aided Loudspeaker System Optimization and Design║ 1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║282 Kb free║
╠══════════════════════════════════════════════════════════╩═══════════╣
║ ║
║ Available line colours for plots: ║
║ ║
║ Blue : 1 ── Green : 2 ── Cyan : 3 ── ║
║ Red : 4 ── Magenta : 5 ── Brown : 6 ── ║
║ Light Gray : 7 ── Dark Gray : 8 ── Light Blue : 9 ── ║
║ Light Green : 10 ── Light Cyan : 11 ── Light Red : 12 ── ║
║ Light Magenta: 13 ── Yellow : 14 ── White : 15 ── ║
║ ║
║ (Selected colour: ── ) Plot line colour 1: 10 ║
║ (Selected colour: ── ) Plot line colour 2: 14 ║
║ (Selected colour: ── ) Plot line colour 3: 11 ║
║ (Selected colour: ── ) Plot line colour 4: 12 ║
║ (Selected colour: ── ) Plot line colour 5: 13 ║
║ (Selected colour: ── ) Plot line colour 6: 3 ║
║ (Selected colour: ── ) Plot line colour 7: 9 ║
║ (Original colour: ── ) Plot line colour 8: 1 ║
║ ║
╚══════════════════════════════════════════════════════════════════════╝

CALSOD 3.10 and CALSOD 1.40 User's Manual – 23


When you exit CALSOD, any changes that you have made to the screen colours will be saved
in the configuration file called CALSOD.CFG. The original colours that CALSOD comes
configured with are given in the screen snapshot shown above.

Option F allows you to set the user defined editor, set the Windows program that you wish to use for
printing bitmaps during screendumps to the default Windows printre, as well as some other
minor display options. These include toggling the display of the target XYZ coordinates
above plots being displayed on screen, as well as defining how whether experimental data are
plotted using lines, points, or both. When the display of the target coordinates is activated,
this also activates the display of the input voltage applied to the circuit. The submenu which
appears when you select Option F is illustrated below:

╔════════════════════════════════════════════════════════════╦═════════════╗
║ C A L S O D ║ 11:23:31 am ║
║ Computer-Aided Loudspeaker System Optimization and Design ║ 1 MAR 2007 ║
║ (C) Copyright by Audiosoft, 1988-2007, All Rights Reserved ║ 282 Kb free ║
╠════════════════════════════════════════════════════════════╩═════════════╣
║ ║
║ 1 Set user defined editor ║
║ 2 Set user defined bitmap image printing program ║
║ 3 Toggle display of Vin and target (R,α,β) on plots (currently disabled)║
║ 4 Toggle display of Vin and target (X,Y,Z) on plots (currently disabled)║
║ 5 Toggle display of residual error on plots (currently disabled)║
║ 6 Toggle beep when optimization completed (currently disabled)║
║ 7 Experimental data plotted using lines only (currently disabled)║
║ 8 Experimental data plotted using points only (currently enabled) ║
║ 9 Experimental data plotted using lines and points (currently disabled)║
║ESC Return to main menu ║
║ ║
║ Select option: ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝

Each of the options in the above submenu are described below:

Option 1 allows the user to input the full pathname to an external editor program that will be used in
place of the built-in CALSOD editor.

Option 2 allows the user to set the full pathname to an external Windows program that will be used for
printing out bitmap images. CALSOD comes preconfigured to use Microsoft PBRUSH.EXE,
which is found in the \WINDOWS directory in Windows 98 SE. This bitmap program will
enable CALSOD to support the user’s default Windows printer. This is accomplished by
CALSOD by first saving the graphics screen to a temporary bitmap image file. CALSOD then
invokes your chosen Windows bitmap editor (e.g. Microsoft Paint, IrfanView, etc) with a
command line that causes the bitmap editor to print the image on the default Windows printer
that you have set up in Windows itself.

This approach should allow most Windows printers to be indirectly supported, including
those that use the USB port rather than the LPT printer port. You should note that long file
names or names with embedded spaces are not supported. To work within this restriction, you
may wish to put a copy of the bitmap printing program executable file into the CALSOD
installation directory, as this will shorten the path name considerably.

When this option is selected, you will be prompted to input the name of the program and
trailing/leading switches from a screen that looks like those in the following example
screenshot. This is the default configuration for CALSOD, and it uses PBRUSH.EXE with
the following command line:

c:\windows\pbrush.exe $CALTMP$.PCX /p

24 – CALSOD 3.10 and CALSOD 1.40 User's Manual


If you have installed the freeware IrfanView program for Windows (available from
http://www.irfanview.com), the IrfanView program executable file is usually to be found in
the directory called c:\program files\irfanview\i_view32.exe. Because CALSOD is restricted
by DOS file name limitations, and therefore does not support embedded spaces or long file
names, you can place a copy of i_view32.exe into the standard C:\CALSOD installation
directory. You will then be able to set up CALSOD to invoke IrfanView with the following
command line:

c:\calsod\i_view32.exe $CALTMP$.PCX /print

Note that IrfanView specifically requires that lowercase characters be used for the trailing
switch /print.

Alternatively, you can install IrfanView to a directory that does not use long file names or
embedded spaces.

Also, note that programs such as PBRUSH.EXE may cause CALSOD to switch from a full-
screen DOS window back to Windows. This behaviour cannot be controlled by CALSOD,
even though it can be somewhat annoying at times. However, programs such as IrfanView
may not cause switching this behaviour to occur, which might be preferable for some users.

╔════════════════════════════════════════════════════════════╦═════════════╗
║ C A L S O D ║ 11:23:31 am ║
║ Computer-Aided Loudspeaker System Optimization and Design ║ 1 MAR 2007 ║
║ (C) Copyright by Audiosoft, 1988-2007, All Rights Reserved ║ 282 Kb free ║
╠════════════════════════════════════════════════════════════╩═════════════╣
║ ║
║The current user defined bitmap printing program setup is as follows: ║
║ ║
║ Bitmap program = c:\windows\pbrush.exe ║
║ Leading switch = ║
║ Trailing switch = /p ║
║ ║
║This will produce the following command (leading/trailing switches go ║
║before/after the filename): ║
║ ║
║ c:\windows\pbrush.exe $CALTMP$.PCX /p ║
║ ║
║Input full pathname of Windows program you wish to use for printing screen║
║dumps directly to the Windows default printer. Long filenames unsupported.║
║ ║
║Bitmap program = c:\windows\pbrush.exe ║
║Leading switch = ║
║Trailing switch = /p ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝

Option 3 toggles the display on the plots of the input voltage applied to the circuit (Vin) and the target
observation point using a polar (R,α,β) coordinate system. This makes it easier to differentiate
between different simulations where the observation point has changed. Note that the value of
the voltage Vin will also reflect any changes that may have been made as a result of
optimization.

Option 4 toggles the display on the plots of the input voltage applied to the circuit (Vin) and the target
observation point using a cartesian (X,Y,Z) coordinate system.

Option 5 toggles the display of the residual error on plots.

Option 6 toggles the generation of a beep sound when the optimisation is completed (which is handy if
the optimisation runs take a large number of iterations on a slow computer).

CALSOD 3.10 and CALSOD 1.40 User's Manual – 25


Option 7 allows the user to elect to plot experimental data using lines only.

Option 8 allows the user to elect to plot experimental data using points only. If you have a very large
number of experimental data points that will be plotted, then it might be preferable to plot
them using lines, as the points may be so close together that they are indistinguishable from
one another.

Option 9 allows the user to elect to plot experimental data using both lines and points.

ESC pressing the Esc key returns you to the main menu.

G List driver/circuit configuration

If a data file has been loaded, selecting this option allows you to display the data defining the crossover
network and the geometric coordinates of the loudspeaker drivers, as well as some data relevant to the
DRIVER module that you may be curve-fitting at that point in time. Provision also exists for updating the
data file being analyzed to include all the latest optimized component values, as well as displaying the
results of any driver Thiele-Small parameter estimation that may have been performed.

When this option is selected, the following submenu appears:

╔═══════════════════════════════════════════════════════════════╦═══════════╗
║ C A L S O D ║11:14:55 pm║
║ Computer-Aided Loudspeaker System Optimization and Design ║ 1 MAR 2007║
║ (C) Copyright by Audiosoft, 1988-2007, All Rights Reserved ║284 Kb free║
╠═══════════════════════════════════════════════════════════════╩═══════════╣
║ ║
║ 1 Display driver/circuit configuration on screen ║
║ 2 Print driver/circuit configuration (USB printers not supported) ║
║ 3 Save driver/circuit configuration to a file ║
║ 4 Create CIRCUIT module file ║
║ 5 Create DRIVER module file ║
║ 6 Display DRIVER module on screen ║
║ 7 Update data file with new component values ║
║ 8 Display Thiele-Small parameters for driver ║
║ 9 Print Thiele-Small parameters for driver (USB printers not supported)║
║ 0 Save Thiele-Small parameters for driver to a file ║
║ ║
║ Esc Return to main menu ║
║ ║
║ Select option: 1 ║
║ ║
╚═══════════════════════════════════════════════════════════════════════════╝

Each of the options in the above submenu are described below:

Option 1 displays the current circuit definition and driver geometry configuration on the screen. This
includes various off-axis angles and relative distances computed by CALSOD from the data
specified by the user.

Option 2 sends a listing of the current circuit definition and driver geometry configuration to the
printer. Note that printing of text to USB printers is not supported, as the text is sent only to
the LPT port.

Option 3 saves a listing of the current circuit definition and driver geometry configuration to a file.

Option 4 creates a complete CIRCUIT module containing the current values of all circuit components
and writes it to a file. This option is useful for saving the results so that they can be read in by
the editor when modifying your files.

26 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Option 5 creates a file containing a complete DRIVER module (corresponding to the first DRIVER
module in the data file) containing any IMP and MPE submodules that were defined under
the IMPEDANCE heading, and any MPE submodules that were defined under the SOUND
PRESSURE heading. This option is useful for saving the optimized values of any IMP or
MPE submodules that were computed by the curve-fit optimizer.

Option 6 displays on screen a complete DRIVER module (corresponding to the first DRIVER module
in the data file) containing any IMP and MPE submodules that were defined under the
IMPEDANCE heading, and any MPE submodules that were defined under the SOUND
PRESSURE heading.

Option 7 updates the component values contained in the data file being analyzed with the current
values stored by CALSOD. This feature provides a quick method for setting the component
values in your data file to the optimized values that have been obtained from an optimization.
You can save the results to a new file if you wish to do so.

Note that only the variable components will be updated, and each value is written in an
exponential format with three decimal places (eg. 4.700E–06). By using this format for your
component values you can ensure that any tabular layout that you may have developed will be
maintained during the updating process. Also, please note that only the fields representing the
component values are modified, so any comments that you may have included are left
untouched.

Option 8 displays the estimated Thiele-Small parameters for the driver whose impedance has been
curve-fit as part of the parameter estimation process. The parameters may have been
computed using a single vented-box impedance measurement, or by using the conventional
added-mass or volume-change techniques.

Option 9 prints the estimated Thiele-Small parameters obtained from impedance measurements and the
curve-fitting process. Note that printing of text to USB printers is not supported, as the text is
sent only to the LPT port.

Option 0 saves to a file the estimated Thiele-Small parameters obtained from impedance measurements
and the curve-fitting process.

A typical display after selecting Options 1 to 3 from the previous submenu is shown below. If applicable, a
short summary of the optimization conditions is placed at the bottom of the listing to make it is easier to
keep track of different designs. A comment line giving the date, the time, and the name of the file is also
included.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 27


╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:28:59 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║98 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ =================================================================== ║
║ ELECTRIC CIRCUIT DEFINITION AND DRIVER GEOMETRY CONFIGURATION ║
║ =================================================================== ║
║ ║
║ NO TYPE VALUE TOPOLOGY STATUS ║
║ ~~~~ ~~~~ ~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~ ║
║ 1 VIN 5.6435 V 6.0000 dB 0 1 FIXED ║
║ 2 IND 0.4300 mH + 0.0000 Ohms 1 2 VARIABLE ║
║ 3 RES 8.4000 Ω 2 3 VARIABLE ║
║ 4 CAP 31.9700 uF 0 3 VARIABLE ║
║ 5 CAP 6.1900 uF 1 4 VARIABLE ║
║ 6 IND 0.2900 mH + 0.0000 Ohms 0 4 VARIABLE ║
║ 7 RES 0.3400 Ω 4 5 VARIABLE ║
║ 1 SPK + 1 Woofer 0 2 ║
║ 2 SPK + 2 Tweeter 0 5 ║
║ ║
║ NO TYPE CODE DESCRIPTION X metres Y metres Z metres Alpha° Beta° ║
║ ~~ ~~~~ ~~~~ ~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~ ║
║ 1 SPK 1 Woofer 0.0000 -0.1000 -0.0250 0.0 0.0 ║
║ 2 SPK 2 Tweeter 0.0000 0.1000 0.0000 0.0 0.0 ║
║ ║
║ TARGET XYZ 0.0000 0.0000 2.0000 ║
║ ║
║ OBSERVATION PT R metres Alpha° Beta° Weighting Status ║
║ ~~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~~~~ ~~~~~~~~ ║
║ TARGET XYZ 2.0000 0.0 0.0 1.000 ACTIVE ║
║ ║
║ OBSERVATION PT SPK CODE DESCRIPTION Theta° Rdistance ║
║ ~~~~~~~~~~~~~~ ~~~ ~~~~ ~~~~~~~~~~~ ~~~~~~ ~~~~~~~~~ ║
║ TARGET XYZ 1 1 Woofer 2.8 2.0275 ║
║ 2 2 Tweeter 2.9 2.0025 ║
║ ║
║ OBSERVATION PT R metres Alpha° Beta° X coord Y coord Z coord ║
║ ~~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~║
║ TARGET XYZ 2.0000 0.0 0.0 0.0000 0.0000 2.0000║
║ ║
║ Optimization type : SPL optimization ║
║ Minimum frequency : 1000.00 Hz ║
║ Maximum frequency : 20000.00 Hz ║
║ Subintervals : 20 ║
║ Target error : 0.10 dB ║
║ Minimum error : 1.05 dB ║
║ Iterations : 16 ║
║ ║
║ 14 MAR 2001 2:06 pm File: TWOWAY5.C14 ║
║ ║
║ »»» Press any key to exit ««« ║
╚═════════════════════════════════════════════════════════════════════╝
The number of each component is given under the “NO” heading. The component type (IND for an inductor,
IAC for an air-cored inductor, CAP for a capacitor, RES for a resistor, VIN for the applied input voltage,
IOA for an ideal operational amplifier, and SPK for a loudspeaker driver) is given under the “TYPE”
heading. The individual values of the components are given under the “VALUE” heading. Note that a VIN
submodule is always displayed, even though one may not have been specified in the data file.

If the component is an inductor (IND or IAC), then the first number corresponds to the value of the
inductance. The second number is the series resistance of the inductor, which is used to model the losses
present in a practical coil.

If the component is a loudspeaker driver (SPK), then the code number of the driver in the data file is
displayed (also given under the “CODE” heading), together with its polarity (denoted by a + or – sign in the
“VALUE” column). The descriptive title for the given driver that was input in the data file is also displayed.

28 – CALSOD 3.10 and CALSOD 1.40 User's Manual


The connection of each of the components is given under the “TOPOLOGY” heading, and includes a
statement of whether the component is to remain fixed or variable during the optimization process. Where
applicable, whether or not the componet is fixed or variable is included under the “STATUS” heading.

Next, the (X,Y,Z) coordinates of all loudspeaker driver elements are displayed, together with the orientation
of their principal radiation axis (see the SPK submodule for further details). The coordinates of the point in
space where the target response is to be monitored are labelled as TARGET XYZ.

In the next block of output, corresponding to the first one with one of the column headings being
“OBSERVATION PT”, there is displayed the TARGET XYZ coordinates using spherical coordinates
(R,α,β). If RAB submodules have been used instead of the XYZ module, then they are individually
displayed at this point (the observation point label is altered from “TARGET XYZ” to “TARGET RAB
#n”), together with a statement that specifies whether each particular RAB submodule is active or not (see
the description of the RAB submodule for further details). The RAB submodule includes information on the
definitions associated with the angles α and β.

In the next block of output, corresponding to the second one with one of the column headings being
“OBSERVATION PT”, the off-axis angles between observation points and each speaker defined in an SPK
submodule are listed. The off-axis angle is denoted by the label “Theta°”, while the distance from each
driver to the observation point is given under the column heading “Rdistance”. If RAB submodules have
been used instead of the XYZ module, then the off-axis angles between each observation point and the set of
speakers specified using SPK submodules are individually displayed at this point. Information on which
SPK submodule is being referred to, together with the relevant driver code number is given to allow you to
determine which components in your design are being referred to. In the example presented here, the off-
axis angles Theta are all quite small, being only a few degrees in magnitude.

In the next block of output, corresponding to the third one with one of the column headings being
“OBSERVATION PT”, the spherical (R,α,β) and Cartesian (X,Y,Z) coordinates of each of the RAB
submodules are listed. This enables you to see the coordinates of the exact location in space where each of
the observation points have been positioned.

A typical display after selecting Option 4 from the submenu is shown below.

╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:28:17 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║94 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ ! 1 MAR 2007 1:28 pm File: TEMP.DAT ║
║ ! ║
║ ! Optimization type : SPL optimization ║
║ ! Minimum frequency : 500.00 Hz ║
║ ! Maximum frequency : 6000.00 Hz ║
║ ! Subintervals : 10 ║
║ ! Target error : 0.10 dB ║
║ ! Minimum error : 0.56 dB ║
║ ! Iterations : 12 ║
║ ! ║
║ CIRCUIT ║
║ IND 4.300E-04 1 2 0.000E+00 VARIABLE ║
║ RES 8.400E+00 2 3 VARIABLE ║
║ CAP 3.197E-05 0 3 FIXED ║
║ CAP 6.190E-06 1 4 VARIABLE ║
║ IND 2.900E-04 0 4 0.000E+00 VARIABLE ║
║ RES 3.400E-01 4 5 VARIABLE ║
║ VIN 2.828E+00 LINEAR ║
║ SPK 1 0 2 0.0000 0.0000 0.0000 0.0 0.0 POSITIVE ║
║ SPK 2 0 5 0.0000 0.0000 0.0000 0.0 0.0 POSITIVE ║
║ ║
║ »»» Press any key to exit ««« ║
╚═════════════════════════════════════════════════════════════════════╝

CALSOD 3.10 and CALSOD 1.40 User's Manual – 29


A typical display after selecting Options 5 or 6 from the submenu is shown below:

╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║1:28:17 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║94 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ ! 1 MAR 2007 1:28 pm File: TEMP.DAT ║
║ ! ║
║ ! Optimization type : SPL curve-fit optimization ║
║ ! Minimum frequency : 500.00 Hz ║
║ ! Maximum frequency : 6000.00 Hz ║
║ ! Subintervals : 12 ║
║ ! Target error : 0.10 dB ║
║ ! Minimum error : 2.08 dB ║
║ ! Iterations : 2 ║
║ ! ║
║ ! This DRIVER module contains the current Qeq and Deq values for all║
║ ! the MPE submodules for the sound pressure & impedance curve fits. ║
║ ! ║
║ ! If required, copy the appropriate blocks back into your data file.║
║ ! ║
║ DRIVER 1 ║
║ Woofer ║
║ SOUND PRESSURE ║
║ MPE 580.00 3.9930 -1.1450 DB ║
║ MPE 2000.00 1.9100 2.6250 DB ║
║ IMPEDANCE ║
║ IMP 33.83 6.10 143.20 7.22E-03 7.01E-01 1.32E-02 6.90E-01 0.261 ║
║ ! Qe = 0.273, Qm = 6.127, and Qt = 0.261 for above IMP submodule ║
║ MPE 420.00 4.2300 1.2030 LINEAR ║
║ ║
║ »»» Press any key to exit ««« ║
╚═════════════════════════════════════════════════════════════════════╝

The DRIVER module shown above contains both the SOUND PRESSURE and IMPEDANCE definitions
for this particular driver. The SOUND PRESSURE section contains only MPE submodules, as these are the
only submodules that can be optimized when curve-fitting the sound pressure response of the driver. The
IMPEDANCE section can contain both MPE and IMP submodules, as both of these can be optimized when
curve-fitting the impedance response of the driver.

Note that below the IMP submodule there is a comment line that presents the values of Qe and Qm
calculated from the parameters Qt, Re and Zmax. This feature makes it a simple matter to compute the
values of Qe and Qm for use in other submodules.

If the above data is written to a file (by selecting Option 6), then it is easy to edit the original data file (prior
to curve-fit optimization) to incorporate the latest optimized values of the parameters.

H Begin optimization procedure

If you are using CALSOD 1.40, then the sound pressure response optimiser will begin its calculations after
you have selected this option.

If you are using CALSOD 3.10, then the following submenu will appear:

30 – CALSOD 3.10 and CALSOD 1.40 User's Manual


╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║2:36:31 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║92 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ ║
║ Choose desired optimization to be carried out: ║
║ ║
║ 1 Circuit optimization for target sound pressure ║
║ 2 Circuit optimization for target impedance ║
║ 3 Curve-fit optimization of driver sound pressure ║
║ 4 Curve-fit optimization of driver impedance ║
║ 5 Estimation of Thiele-Small parameters ║
║ ║
║ Esc Return to main menu ║
║ ║
║ Select option: ║
║ ║
╚═════════════════════════════════════════════════════════════════════╝

Each of the options in the above submenu are described as follows:

Option 1 this will optimize the circuit components in order to achieve the desired sound pressure
response specified in the TARGET SPL module.

Option 2 this will optimize the circuit components in order to achieve the desired impedance response
specified in the TARGET IMPEDANCE module.

Option 3 this will optimize the Qeq and Deq parameters for any MPE submodules that are defined in
the driver SOUND PRESSURE module. The least squares error is calculated with respect to
the data points contained in the EXPERIMENTAL SPL module.

Option 4 this will optimize the Qeq and Deq parameters for any MPE submodules, as well as Fo, Kmp,
Xmp and Qt for an IMP submodule, which are defined in the driver IMPEDANCE module.
The error is calculated with respect to the data points contained in the EXPERIMENTAL
IMPEDANCE module.

Option 5 this will optimize the equivalent circuit model of the driver to estimate the driver’s Thiele-
Small parameters from measured impedance data. Depending on the method used, the
impedance data must be contained in either one or two EXPERIMENTAL IMPEDANCE
modules.

A typical display panel that appears when the CALSOD 1.40 or CALSOD 3.10 sound pressure response
optimizer is working is shown below. It presents the current iteration number, the minimum SPL error that
has been achieved by the optimizer, the current SPL error, and the allowable or target SPL error (used for
automatically halting the iteration process).

╔═════════════════════════════════════════════════════╗
║ CALSOD SOUND PRESSURE RESPONSE OPTIMIZER ║
╟─────────────────────────────────────────────────────╢
║ Iteration number 8 ║
║ Current SPL error 2.6537 dB ║
║ Minimum SPL error 1.2345 dB ║
║ Target SPL error 0.1000 dB ║
╟─────────────────────────────────────────────────────╢
║ Press ESC to stop optimizer at latest minimum error ║
╚═════════════════════════════════════════════════════╝

A typical display panel that appears when the CALSOD 3.10 impedance response optimizer is working is
shown below. It presents the current iteration number, the minimum impedance error % that has been

CALSOD 3.10 and CALSOD 1.40 User's Manual – 31


achieved by the optimizer, the current impedance error %, and the allowable impedance error % (used for
automatically halting the iteration process).

╔═════════════════════════════════════════════════════╗
║ CALSOD IMPEDANCE RESPONSE OPTIMIZER ║
╟─────────────────────────────────────────────────────╢
║ Iteration number 3 ║
║ Current impedance error 8.6623 % ║
║ Minimum impedance error 5.4567 % ║
║ Target impedance error 1.0000 % ║
╟─────────────────────────────────────────────────────╢
║ Press ESC to stop optimizer at latest minimum error ║
╚═════════════════════════════════════════════════════╝

I Read in new data file

Selecting this option allows you to read in a new data file from the current active directory. The data file
will be checked for errors, and if any errors are discovered a message will appear on the screen indicating
the type of error and the line number where it was detected. If any errors are detected, analysis cannot
proceed until they are corrected using the text editor. Once the data file has been completely read in, then
further checks on the consistency of the data are carried out.

When reading in a file for the first time, you can press the Enter key when the prompt displays the name of
the current logged directory. Pressing Enter makes CALSOD display a list of files in a small window. You
can move through this list by using the up-arrow and down-arrow cursor keys. To select a given file just
press Enter when the file you want is highlighted by the moving cursor bar. To close the window without
making any selections just press the Esc key. After pressing Enter to select a file, the window will disappear
and the filename prompt will display the full name of the file you have selected from the list. You can edit
this name if you wish, or you can press Enter again to start reading in the file, or press the Esc key to abort
the current command and return to the main menu.

A typical display showing the file selection window is presented below. Note that the up and down arrows,
↑ ↓, at the bottom of the file display window appear if there are more files than the window can display at
one time. You can use the cursor keys, the Page Up and Page Down keys, as well as the Home and End keys
to move within the file selection window when selecting a file from the list that is being displayed.

╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║2:42:31 pm║
║ Computer-Aided Loudspeaker System Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║92 Kb free║
╠══════════════════════════════════════════════════════════╩══════════╣
║ ║
║ Read file: C:\CALSOD\DATAFILE\ ║
║ ║
║ ┌──────────────┐ ┌───────── First 13 lines in highlighted file ───┐║
║ │»ALKR4T.C14 «│ │! ----------------------------------------- │║
║ │ ALKR4W.C14 │ │! 4TH-ORDER LINKWITZ-RILEY ACTIVE HP FILTER │║
║ │ ALKR4WT.C14 │ │! ----------------------------------------- │║
║ │ BANDPASS.C14 │ │! │║
║ │ BDS.C14 │ │! Optimizer frequency range : 1.5 kHz to 20 kHz │║
║ │ BDSWT.C14 │ │! Optimizer subintervals : 15 │║
║ │ BREAKUP.C14 │ │! │║
║ │ BUT3TEST.C14 │ │! Highpass filter crossover point 2.9 kHz │║
║ │ CLOSED.C14 │ │! │║
║ │ DEMOFILE.C14 │ │CIRCUIT │║
║ │ DUMMY.C14 │ │VIN 3.00 DB │║
║ │ EXM6SPL.C31 │ │RES 39.00E+3 2 4 VARIABLE │║
║ │ EXM7SPL.C31 │ │RES 78.00E+3 0 3 VARIABLE │║
║ └────↓───↑─────┘ └──── 26 FEB 2000 5:50:38pm 1235 bytes ───┘║
║ ║
╚═════════════════════════════════════════════════════════════════════╝

32 – CALSOD 3.10 and CALSOD 1.40 User's Manual


The file selection window also supports scrolling to a file based on the user pressing the keyboard character
that corresponds to the first letter in the name of the file. This can greatly speed up movement through the
list of files when there are many files in a given directory. If it is valid to do so, the highlighted file whose
starting letter has been chosen will be displayed in the centre of the display list.

Note that when this feature is used the highlight cursor will stop at the first filename in the list that has the
matching first letter. If more than one file exists with the same starting letter, you can press the same
keyboard character that was pressed the first time in order to travel down the list of files. If the cursor is on
the last filename starting with the chosen keyboard character, the highlight cursor will jump back to the first
filename in the list corresponding to the character being pressed on the keyboard. Alternatively, you can use
the normal cursor control keys to move through the remainder of the list once you have used the first-
character filename selection feature. Once you have tried this feature you should find it relatively easy to
remember and intuitive to use.

After you have read in a file once, the default prompt will include the full directory and filename
information. To read this file again, simply press the Enter key. To get a list of files in the current logged
directory, you will need to delete the current filename from the prompt, or to replace the filename with a
suitable MS-DOS-compatible wildcard specification (eg. *.*, *.DAT).

To edit the filename or directory name you can use the cursor keys to move along the line and position the
cursor at a particular character. Pressing the Backspace key will delete the character to the left of the cursor,
while pressing the Delete key will delete the character underneath the cursor.

It is possible to read in files from other directories by editing the directory name portion of the prompt. For
convenience, it is recommended that you change the active directory using the appropriate command that is
provided on the main menu.

When you are selecting a data file to be read in by CALSOD from the program’s main menu, there is also a
separate window displayed where the first few lines of text contained in the highlighted file will be shown.
The date and time stamps for the file are also displayed, as is the size of the file. Note that this display will
only occur when you activate the feature that will display a list of files in a window allowing you to use the
cursor keys to move through the list.

To make best use of this particular facility, you should include a few lines of text description at the
beginning of each of your CALSOD data files. These lines will be displayed as you move through the list of
files in a given directory, thus making it easier for you to recognize a particular file that you might be
searching for. Only the first 57 characters in each line will be displayed, but this is usually sufficient for the
intended purpose.

J Change target SPL coordinates

Selecting this option allows you to modify the values of the (X,Y,Z) coordinates at which the response of
the loudspeaker system or driver will be calculated. This allows you to check the sound pressure response at
positions other than those specified in the data file without having to edit the data file.

K Change target SPL sensitivity

Selecting this option allows you to vary the value of the target sensitivity without having to edit the data file.
This option is useful when you wish to try out different magnitudes of the target function to see which one
results in the best response after optimization.

L Change active directory

Selecting this option allows you to change the logged active directory so that you can read in data files from
the new drive or directory.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 33


Note that CALSOD does not save the last active directory in the configuration file, so you will need to
change the active directory each time you use CALSOD. Alternatively, you should go to the directory where
your data files are stored before running CALSOD. This assumes that the directory where CALSOD is
located has been included in the MS-DOS PATH environment variable, which is activated from your
AUTOEXEC.BAT batch file every time you start your computer.

M Recalculate system transfer functions

Selecting this option allows you to recalculate all the system transfer functions. This is useful if you have
already read in a data file, but you wish to modify the frequency range analysis parameters before
proceeding. You can delay calculation of the system transfer functions until after you have made the desired
changes, thus saving some computation time.

N Exit program

Selecting this option allows you to exit CALSOD. You will be prompted as to whether you wish to save the
current settings of the plotting parameters, screen colours, etc., as the new default settings to be used when
you next use CALSOD.

X Run MS-DOS shell

While you are at CALSOD’s main menu, it is possible to temporarily exit to MS-DOS to run a command or
(small) program. In order to exit to the MS-DOS shell, simply press the X key.

To return to CALSOD, type EXIT at the MS-DOS prompt and press Enter.

34 – CALSOD 3.10 and CALSOD 1.40 User's Manual


THE CALSOD TEXT EDITOR

A simple text editor is provided as part of the CALSOD program package. It is used to create and change the
data files which define the problem that is being set up to be solved. The editor incorporates the facility of
splitting the screen into two windows, the first providing a view in the main file that is currently being
edited, and the second permitting the transfer of selected text from other files that have been read into the
second window. Thus a new data file can be defined with relatively little effort by utilizing parts of data
files that were created previously.

Some text-editing terms

Before you start working with the text editor that is supplied with CALSOD, you will need to understand
some simple text-editing terminology. A number of important terms and concepts are described below.

The term text refers to a sequence of characters and/or lines that are being edited. The text may be the
source code for a program, a document, a data file to be used by another program, or any sequence of one or
more characters.

A line is a sequence of characters displayed on a single row of the screen. If there are more characters in a
line than there are columns on the screen, the editor provides a facility to shift the displayed characters to
the left and right so that the entire line can be viewed, one portion at a time.

A window is a rectangular region of the computer’s screen, and it is used to display information and keep it
separate from other information that may be present on the screen at the same time. In a text editor, a
window usually displays a portion of the text file being edited. The CALSOD editor allows two windows to
be open simultaneously, thus providing access to two sections of one file, or displaying text contained in
two different files.

The cursor is a small block (or line) on the screen that marks the place where changes are being made to the
text. In a screen editor the cursor is within a text window, and each window can have a different cursor
position, although the cursor itself will only be displayed in one window at a time (the active window).

A block is a contiguous sequence of characters within a larger body of text. By marking a block (ie.
indicating its beginning and end), you can manipulate the text in the block as a unit. In the CALSOD editor,
the currently marked block of text is displayed in a different Colour from the rest of the text. Also, the
CALSOD editor requires that a block consist of whole lines of text, rather than parts of lines.

The term file may refer to a disk file, or it may denote the text of a disk file that is currently being edited.
The CALSOD editor allows files to be read and written to and from windows.

A command is a keystroke or sequence of keystrokes given to the editor that invokes an editor operation. A
command may modify text in some way, or it may manipulate a block, file, or window.

Built-in features of the CALSOD text editor

The CALSOD text editor is supplied in order to permit you to create and modify data files in a way that is
integrated with the analysis capabilities of CALSOD. Some of the features of the text editor are:

 The command interface is similar to that of Wordstar, a popular word processor, because the
keystrokes used for editing commands are very convenient for a touch typist. The various commands
are presented in the section “CALSOD Editor Quick Reference Guide”. Most commands are preceded

CALSOD 3.10 and CALSOD 1.40 User's Manual – 35


by holding down the Ctrl key (denoted by the ^ symbol), and are combinations of one or two letters,
such as ^G and ^K X.

 There is an Undo facility, invoked by pressing the Esc key while you are in the edit mode, that allows
you to restore the text to its state before a deletion. This is useful for fixing inadvertent errors. By
pressing the Esc key a number of times it is possible to recreate a small number of lines that have been
deleted.

 A background printing procedure enables you to continue editing a file while printing out another, but
only whilst you are in the editor.

 It is possible to display the files that are contained in any directory.

 The facility to rename, copy and delete disk files is provided.

 A complete pulldown menu system, invoked by pressing the F10 function key, simplifies the operation
of the editor.

 You can mark a block of text and then copy, move or delete it. It is also possible to write the selected
block to a disk file.

 The facility to find a pattern of characters, and replace it with another pattern if desired, is available.

 It is possible to open a second window in order to copy text from it to the main file that you are
editing. This is useful for creating new data files using elements that have been defined in other data
files.

Starting the editor

One of the first things you should do is run the CALSOD editor in order to get a feel for its user interface
and text-handling capabilities. For your convenience, a dummy data file called DUMMY.C14 has been
supplied, and you can use it to try out the editor. The editor can be started from CALSOD by selecting the
invoke editor option from the main menu. Note that it may be necessary for you to set the default logged
directory where the file is located by using the option in the main menu that changes the active directory.

When invoked, the editor will display a pop-up window that asks for the name of a file to edit. As a prompt,
the name of the last data file read in by CALSOD will be displayed. If no file has been read in then the
prompt will simply consist of the current directory path. If the displayed filename is the one you wish to
edit, you can select it by pressing the Enter key. Alternatively, you can enter a new filename, modify the
existing prompt to suit your needs, or simply press the Esc key. If you do the latter, then the editor will
allow you to type in text even though you have not provided a filename.

Note that you can enter the full path name of the file you wish to edit, and this saves you from having to set
the default logged directory before entering the editor.

Using the file selection window

When you invoke the editor and the filename input window appears, if you supply only a directory name
and then press the Enter key, a list of files will be displayed in another window. The first few lines of text
contained in each file will also be displayed in the adjacent window to the right of the file list.

The editor file selection window also supports the use of MS-DOS wildcard characters “*” and “?” in both
CALSOD itself and the editor. For example, you can get a list of all files ending with the .DAT filename
extension by typing “*.DAT” at the filename prompt when in file selection mode. If many files in a group

36 – CALSOD 3.10 and CALSOD 1.40 User's Manual


have similar names, then they can be easily picked out using the “?” wildcard character. For example, typing
“WOOFER??.DAT” will match files with names such as WOOFER01.DAT, WOOFER02.DAT,
WOOFERA1.DAT, etc.

Using the pulldown menu system

An example of the CALSOD editor’s pulldown menu system in use is shown in the screen snapshot below.
In order to select the pulldown menu system you must press the F10 function key (there is a prompt on the
editor’s screen to help you remember this when there are no active pulldown menus). You can move along
the menu bar by using the arrow keys. To open a pulldown menu, press the Enter key or type the letter
corresponding to the capitalized letter in the menu name. The menu will open and you will be able to select
an item either by letter again, or by moving to your selection using the arrow keys and pressing Enter.
╔════════════════════════════════════════════════════════════════════════════════╗
║C:\CALSOD\DATAFILE\WOOFERF.C14 ┌────┬────────── 1:46:23 pm ─┐║
║┌─────────────────────────────────────────────────┤ IN │ Line: 1 Col: 1 │║
║│ Block Search Go to Text format Window File │ │ ESC to exit menu │║
║└────────────────────────┬────────────────────────┼────┴───────────────────────┘║
║! -----------------------│ Open │ ║
║! DATA FILE FOR WOOFER WI│ Close │ ║
║! -----------------------│ Save │ ║
║! │ Write to │ ║
║! Optimizer frequency ran│ Directory │ ║
║! Optimizer subintervals │ Logged dir │ ║
║! │ Print (USB unsupported)│ ║
║CIRCUIT │ copY │ ║
║IND 4.600E-04 1 2 0.0│ Rename │ ║
║CAP 6.100E-06 0 2 │ Erase │ ║
║RES 6.100E+00 2 3 │ auto recalc & ploT F5 │ ║
║CAP 1.780E-05 0 3 │ Auto quit & recalc F6 │ ║
║SPK 1 0 2 0.0 0│ quit No ask F8 │ ║
║! │ Quit F9 │ ║
║TARGET SPL └────────────────────────┘ ║
║XYZ 0.0 0.0 0.0 ║
║SEN 92.0 DB ║
║BUT 3000.0 3 LOWPASS ║
║! ║
║DRIVER 1 ║
║Woofer ║
╚════════════════════════════════════════════════════════════════════════════════╝

Once a pulldown menu is open, you can make it disappear by pressing the Esc key. If no pulldown menu is
exposed, pressing the Esc key will cause you to exit the pulldown menu system and return to the text
window.

To reactivate the pulldown menu while you are editing a file, simply press the F10 function key. You will
then once again be allowed to move along the menu bar and make any selections you wish. It is worthwhile
exploring the various pulldown menu selections in order to see the different options that are available.

Editing a file

If you have not already opened the dummy file DUMMY.C14, then please do so. It is recommended that you
try out the editing commands using this disk file in order to become familiar with the capabilities of the
editor. Do not worry if you make some mistakes at this stage because this file does not affect the operation
of CALSOD in any way. Just be careful not to modify any of the other original files that have been supplied,
as they will be used during the examples that describe the use of CALSOD.

While you are trying out the editor you should study the list of editing commands that is given in the section
“CALSOD editor quick reference guide”. The sections that describe the creation of the data files used for
setting up models of loudspeaker systems assume that you are familiar with the operation of the editor.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 37


Using “speed keys”

A number of function key assignments have been added to the editor in order to make it easier and much
faster to move between the editor and the main program. These are defined as follows:

F2 Begin block.
F3 End block.
F4 Block hide/show.
F5 Exit the editor with automatic file save, perform system transfer function calculations, and then
plot out the last set of plots that have been previously plotted.
F6 Exit the editor with automatic file save, perform system transfer function calculations, and bring
up the plot selection menu.
F8 Exit the editor with automatic file save.
F9 Exit the editor with prompt for file save.
^K^Z Same as F6.

The first three function key codes have been added to the Block pulldown menu, while the File menu has
also been extended to accommodate the last four function key codes.

The F5 and F6 (also ^K^Z) function key options are very handy when you are manually fine tuning some
element of a data file that requires you to move back and forth between the editor and the response plots.

Exiting the editor

There are two ways in which you can exit the editor and return to CALSOD; both are equivalent to each
other. Firstly, you can press the Ctrl-K X key sequence. Secondly, you can activate the pulldown menu
system and select the File option from the menu bar, followed by choosing the “Quit” option from the list of
alternatives that is displayed. If the file has been modified you will be prompted to confirm that you wish all
changes to be saved (i.e. the previous version will be overwritten).

Configuring a user-defined editor

It is possible to configure CALSOD to use a user-defined editor instead of the built-in CALSOD editor by
providing the full pathname to run the editor of your choice. As this involves shelling out to MS-DOS, it
may not be possible to run an editor if it requires more free memory than is available. It is left to the user to
try out their editor to see whether or not it can be used.

To configure CALSOD to use an external user-defined editor, select Option F from the main menu. When
the submenu appears, you should select the option that is labelled “Set user defined editor”, which appears
near the bottom of the list. You will be prompted to supply the full pathname of the editor that you wish to
use. CALSOD will check to see whether the editor program file exists.

An example of a full pathname is as follows:

C:\EDITDIR\EDITOR.EXE

Note that the drive and subdirectory must be given.

To disable the user-defined editor facility, you can enter a blank string for the requested pathname of the
editor.

38 – CALSOD 3.10 and CALSOD 1.40 User's Manual


CALSOD editor quick reference guide

The symbol ^ is used to denote the Ctrl key. When it precedes a key name it means that you must hold down
Ctrl while you press the other key. Note that commands composed of two alphabetical letters, such as ^K X,
can be entered as ^K^X.

^A Go left one word ^Q S Jump to far left on line


^S Go left one character ^Q D Jump to far right on line
^D Go right one character ^Q J Jump to marker
^F Go right one word ^Q I Toggle auto indent mode
^E Go up one line ^Q R Go to top of file
^X Go down one line ^Q C Go to end of file
^R Go up one page ^Q B Go to beginning of block
^C Go down one page ^Q K Go to end of block
^W Scroll up one line ^Q 1 Jump to marker 1
^Z Scroll down one line ... ...
RETURN New line ^Q 9 Jump to marker 9
^N Insert blank line ^Q Y Delete line right
^G, DEL Delete character ^Q F Find text pattern
^H, BS Delete left character ^Q A Find and replace text
^I Tab
^T Delete word ^K S Save file and resume
^Y Delete line ^K D Save and open file
^V Toggle insert mode ^K X Exit back to CALSOD
^L Find next occurrence ^K Q Abandon and open file
^J Beginning/end of line ^K 1 Set marker 1
^P Insert character by ASCII ... ...
^K 9 Set marker 9
^O O Open new window ^K B Begin block
^O L Set left margin ^K K End block
^O R Set right margin ^K H Hide block
^O K Change case ^K C Copy block
^O S Set UNDO limit ^K V Move block
^O W Toggle word wrap mode ^K Y Delete block
^O G Go to other window ^K W Write block
^O I Go to column ^K R Read block
^O N Go to line ^K M Set marker
^O P Go to previous window ^K T Define tab width
^O Y Destroy window

ESC Undo last change


F10 Activate pulldown menus

Cursor controls

Up Go up one line
Down Go down one line
Left Go left one character ^Left Go left one word
Right Go right one character ^Right Go right one word
PgUp Go up one page ^PgUp Go to top of file
PgDn Go down one page ^PgDn Go to bottom of file
Home Go to beginning of line ^Home Go to top window
End Go to end of line ^End Go to bottom window
F2 Begin block F8 Exit editor with file save
F3 End block F9 Exit editor (prompt file save)
F4 Block hide/show ^K^Z Same as F6
F5 Exit editor, auto recalculate & plot
F6 Exit editor & auto recalculate

CALSOD 3.10 and CALSOD 1.40 User's Manual – 39


When using the ^Q F and ^Q A commands you will be prompted for some options that are used to control
the pattern search. Any combination of the letters G (global search), B (search backwards), U (ignore case),
W (whole word), and N (do not ask), is permitted. For example, a valid response to the prompt “Options:”
would be BWU.

40 – CALSOD 3.10 and CALSOD 1.40 User's Manual


DESCRIPTION OF MODULES
AND SUBMODULES

In this section we will present comprehensive descriptions of the capabilities of each of the modules and
submodules that can be used to set up a data file that models a loudspeaker system. Each module and
submodule will include a short example of how it is used in a typical data file. By studying all these
descriptions you will be able to quickly become familiar with all of CALSOD’s features. In subsequent
sections, a detailed example will be presented that shows the design process used to model a two-way
loudspeaker system. To see the general structure of a simple CALSOD data file, you should go to the
section in the user’s manual titled “A Simple CALSOD Data File”.

Using modules to create a data file

Data is input into CALSOD in a modular form, with each module beginning with a name. Within each
module there are a number of different submodules which are used to define the characteristics of that
particular module. For example, CALSOD uses the CIRCUIT module to define the filter network that will
be used as the crossover. The CIRCUIT module can contain the submodules RES, IND, IAC, CAP, and
SPK, which are used to define resistors, inductors, capacitors, and individual loudspeakers that are
connected within the filter network. The other modules are DRIVER, EXPERIMENTAL IMPEDANCE,
EXPERIMENTAL SPL, TARGET IMPEDANCE, TARGET SPL, TITLE, and WEIGHTING.

The following pages contain individual descriptions of all the modules and submodules that are used to
create a data file for the analysis of a loudspeaker system. They are presented in alphabetical order, and
contain a short summary of the use of the given module or submodule, explanations of the parameters which
are required as input data, followed by a short example illustrating the use of the module.

Note that some of the submodules may be used in more than one type of module. Also, the end of a given
data module is signified by the next module name. The same applies for submodules.

The formats of the data are defined in the definitions of the modules and submodules. The formats must be
strictly adhered to otherwise the invalid data will result in errors. Wherever possible CALSOD will flag
errors as the data lines are being read in. If any errors are discovered then the analysis will not be permitted
to proceed until they are corrected. This is done by returning to the text file editor and editing the data file.

The individual elements of the tabulated data within each line must be separated by one or more spaces.
Numbers may be input in fixed point form (eg. 40.0), exponential form (eg. 4.0E+01), or in integer form (eg.
40). Any valid integer or floating point number may be followed by one of the following scale factors:

T = 1012 G = 109 Meg = 106 k = 103 m = 10-3

u = 10-6 n = 10-9 p = 10-12 f = 10-15

Letters immediately following a number that are not scale factors are ignored. Hence, 10, 10V, 10Volts and
10Hz all represent the same number and m, mH, mSec, and mOhms all represent the same scale factor
(1.0E-03). Note that 1000, 1000.0, 1000Hz, 1E3, 1.0E+03, 1kHz, and 1K all represent the same number.

All elements must be defined, and embedded spaces within a number are not permitted. In some special
cases data for a module may be placed on more than one line. In general, however, the data must be
contained on only a single line.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 41


Any line of text in the data file beginning with an exclamation mark (!) will be treated as a comment and is
ignored. Also, any line containing data may end with a comment, where the start of the comment is defined
by the use of the exclamation mark (!). Comments may be included freely in the data file, and they should be
used to annotate the data in order to make it easier to understand, especially after it has not been looked at
for a while.

Notation used to denote features specific to CALSOD 3.10

The descriptions of the modules and submodules presented in this section will cover features that are
available in both CALSOD 1.40 and CALSOD 3.10. Some of the CALSOD 3.10 features use a modified
form of submodule (e.g. extra parameters). Module or submodule features that are supported only by
CALSOD 3.10 are denoted by the use of a grey background for the text: Grey background.

Summary of module names

The following list presents an alphabetical summary of the different module descriptors. The full description
of all the modules and submodules can be found elsewhere in this manual, and should be studied in order to
gain an understanding of the data requirements.

CIRCUIT
DRIVER
EXPERIMENTAL SPL
EXPERIMENTAL IMPEDANCE
TARGET IMPEDANCE
TARGET SPL
TITLE
WEIGHTING

In the module definitions that are included in this manual, module names are framed using the double border
characters. For example, the CIRCUIT module appears as:

╔═══════╗
║CIRCUIT║
╚═══════╝

Description of mnemonics used in submodule names

Once you are familiar with the various modules and submodules, it will generally only be necessary to refer
to the summary that was just presented above. The following list gives the correspondence between the
mnemonic used to describe a submodule and its origin.

APD = Average Propagation Delay or Air Path Delay


BDS = Baffle Diffraction Step
BES = Bessel
BUT = Butterworth
CAP = Capacitor
CVB = Curve-fit Vented-Box
EPD = Effective Piston Diameter
FIL = Filter
HLR = Highpass Loudspeaker Response
IAC = Inductor Air-Cored
IBP = Impedance BandPass
ICB = Impedance Closed-Box
ICQ = Impedance Closed-box with Q losses
ICR = Impedance Constant Resistance
IDP = Impedance Double-Ported bandpass
IGC = Impedance General Components
IMP = Impedance
IND = Inductor
IOA = Ideal Operational Amplifier
IPQ = Impedance Passive-radiator with Q losses

42 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IPR = Impedance Passive-Radiator
IVB = Impedance Vented-Box
IVQ = Impedance Vented-box with Q losses
LKR = Linkwitz-Riley
MPE = Minimum-Phase Equalisation
PEC = Parameter Estimation Curve-fit
OCC = Open Circuit
RAB = Radius Alpha Beta
RES = Resistor
RGE = Room Gain Equalisation
SBP = Sound pressure BandPass
SCB = Sound pressure Closed-Box
SCQ = Sound pressure Closed-box with Q losses
SCC = Short Circuit
SDP = Sound pressure Double-Ported bandpass
SOF = Second-Order Filter
SPK = Speaker
SPQ = Sound pressure Passive-radiator with Q losses
SPR = Sound pressure Passive-Radiator
SVB = Sound pressure Vented-Box
SVQ = Sound pressure Vented-box with Q losses
TFN = Transfer function
VIN = Voltage Input
XYZ = X,Y,Z coordinates

Modules and their allowable submodules

The following list is intended to provide a summary of the combinations of submodules that can be used in
the different modules. The tutorial examples described elsewhere in this manual will illustrate how the
various modules and submodules are actually used in data files to set up models of complete multiway
loudspeaker systems.

If any submodules are included in more than one module, then they can be used in all the modules that they
have been listed in.

CIRCUIT ................. Used for defining the crossover


CAP network, the connection of all
CVB loudspeaker drivers, and the
IAC applied input voltage.
IND
IOA
OCC
MRX
PEC
RES
SCC
SPK
VIN

DRIVER .................. Used for defining driver models.


IMPEDANCE ............... Definition of driver impedance
FILE response function in DRIVER
IBP module.
ICB
ICQ
ICR
IDP
IGC
IMP
IPQ
IPR
IVB
IVQ
MPE
TFN
SOUND PRESSURE .......... Definition of driver sound

CALSOD 3.10 and CALSOD 1.40 User's Manual – 43


SEN pressure response function
EPD in DRIVER module.
BDS
BES
BSL
BUT
FIL
FILE
HLR
LKR
MPE
RGE
SBP
SCB
SCQ
SDP
SOF
SPQ
SPR
SVB
SVQ
TFN

EXPERIMENTAL IMPEDANCE .. Used to include measured


FILE impedance response data.

EXPERIMENTAL SPL ........ Used to include measured sound


FILE pressure response data.

TARGET IMPEDANCE ........ Used to specify a desired


FILE target impedance function
IBP for the optimizer.
ICB
ICQ
ICR
IDP
IGC
IMP
IPQ
IPR
IVB
IVQ
MPE
TFN

TARGET SPL .............. Used to specify a desired


APD target sound pressure function
BDS for the optimizer.
BES
BSL
BUT
FIL
FILE
HLR
LKR
RAB
RGE
SBP
SCB
SCQ
SDP
SEN
SOF
SPQ
SPR
SVB
SVQ

44 – CALSOD 3.10 and CALSOD 1.40 User's Manual


TFN
XYZ

WEIGHTING ............... Used to weight the target


BES error function.
BSL
BUT
FIL
HLR
LKR
MPE
SCB
SOF
SPR
SVB
TFN

CALSOD 3.10 and CALSOD 1.40 User's Manual – 45


APD

APD Value Type

This submodule is used to modify the calculation of the propagation delays from each loudspeaker driver to
each observation point. This option allows you to compensate for any air path delays that are measured by
your acoustical analysis equipment (such as FFT analysers), thus making it easier to compare CALSOD’s
simulations with the measured results. Note that CALSOD always takes into account the inter-driver time
delays, and that the APD submodule is used only to modify the display of the phase response by subtracting
the value of the specified average propagation delay.

APD Name of submodule.

Value This is the value of the average propagation delay. Note that the APD value is subtracted from
the overall propagation delays from each loudspeaker driver to the observation point (or points)
that are defined in the TARGET SPL module.

A zero value in the APD submodule means that CALSOD will not remove any of the air path
delays from each loudspeaker driver to the observation point. This option over-rides CALSOD’s
default procedure whereby the average distance from each driver to each observation point is
calculated and then subtracted from the phase response in order to minimize “wrap-around”
effects.

Type If Type = METRES then the value of the average propagation delay is specified in metres.

If Type = SECONDS then the value of the average propagation delay is specified in seconds.

For a known propagation distance d, you can compute the propagation delay time t from the formula t = d/c,
where c is the speed of sound (assumed to be 343 m/s).

Note that the APD submodule can only be used within the TARGET SPL module. Also, if all the speakers,
as defined using the SPK submodules, and the observation point are located at (X,Y,Z) = (0,0,0), then the
APD submodule has no effect.

EXAMPLE

Let us consider some possible uses of the APD submodule when applied to a single driver being monitored
at an on-axis observation point that is situated 1.0 m from the acoustic centre of the driver. If the APD
submodule is omitted then CALSOD will automatically subtract the phase shift associated with the air path
delay when computing the phase response. The data file for this case would look like:

TARGET SPL Y-axis


SEN 90.0 DB │
XYZ 0.0 0.0 1.0 │
! │
CIRCUIT │ Woofer
SPK 1 0.0 0.0 0.0 POSITIVE ∙────────────x─── Z-axis
! │ │
DRIVER 1 │ │
Woofer
SOUND PRESSURE ├────────────┤
SCB 50.0 0.35 3.00 1.0 m
BUT 4000.0 2 LOWPASS

In order to get CALSOD to show the phase shift due to the air path delay, you need only add an APD
submodule to the TARGET SPL module:

46 – CALSOD 3.10 and CALSOD 1.40 User's Manual


TARGET SPL
APD 0.0 METRES
SEN 90.0 DB
XYZ 0.0 0.0 1.0

You can get CALSOD to subtract the air path delay from the phase response by simply changing the APD
submodule to either of the following two examples:

TARGET SPL TARGET SPL


APD 1.0 METRES APD 2.92E-3 SECONDS
SEN 90.0 DB SEN 90.0 DB
XYZ 0.0 0.0 1.0 XYZ 0.0 0.0 1.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 47


BDS

BDS WorF Type Mode


BDS SEFdB WorF Type Mode

This submodule is used to add or remove the effects of baffle diffraction on the sound pressure response of a
driver mounted in a loudspeaker enclosure. A driver mounted on a baffle will experience a 6 dB step in its
response above the frequency where the wavelength of sound is approximately equal to the effective cabinet
width. Typically, the response begins to rise above the frequency where the effective width of the baffle is
about 1/4 of the wavelength of the sound.

BDS Name of submodule.

SEFdB Parameter used to define the value of the step effectiveness factor in dB of the baffle diffraction
step. SEFdB must be greater than or equal to zero. To produce a baffle diffraction step of 6 dB,
you can set SEFdB equal to 6.0 dB.

WorF Parameter used to define the effective width of the baffle or the frequency at which the effective
baffle width is equal to the wavelength of the sound. If WorF has a negative value, then the
reciprocal of the baffle diffraction response function is computed.

Type If Type = METRES then WorF is the effective width of the baffle in metres.

If Type = HZ then WorF is the frequency in hertz at which the wavelength of sound is equal to
the effective width of the baffle.

Mode If Mode = BOOST then the baffle diffraction effect is modelled as providing a 6 dB boost at
frequencies whose wavelength is less than the effective baffle width.

If Mode = DEBOOST then the baffle diffraction effect is removed by providing a -6 dB loss at
frequencies whose wavelength is less than the effective baffle width.

If Mode = LOSS then the baffle diffraction effect is modelled as providing a -6 dB loss at
frequencies whose wavelength is more than about 7× the effective baffle width.

This submodule can be used to remove the effects of baffle diffraction from a driver’s sound pressure
response characteristic if the baffle size is known. This is useful if the data that is available was taken with
the driver mounted on a specified baffle, such as an IEC standard baffle. The DEBOOST option can be used
in one BDS submodule to remove the effects of this particular baffle, and then the BOOST option can be
used in another BDS submodule that corresponds to the actual baffle size in your design.

The approximation used by CALSOD to compute the effects of baffle diffraction is based on the theoretical
solution obtained for a driver mounted flush with the surface of a rigid sphere. The 6 dB step that occurs at
high frequencies is modelled accurately for this configuration. For a sphere, the response is uniform and free
of peaks and dips, and this is due to the fact that there are no sharp edges or discontinuities to set up
diffracted waves of a definite phase pattern relation with respect to the primary sound emitted by the
loudspeaker. The diffracted waves are uniformly distributed as to phase and magnitude, and the transition
from radiation by the driver into 4π solid angles to radiation into 2π solid angles takes place uniformly with
respect to frequency. The ultimate pressure is 6 dB higher than the sound pressure where the diameter of the
sphere is a small fraction of a wavelength.

However, the sharp discontinuity at the boundary of plane baffles, as commonly found in most loudspeaker
enclosures, produces a strongly diffracted wave. The phase difference between the primary and diffracted

48 – CALSOD 3.10 and CALSOD 1.40 User's Manual


waves results in peaks and dips in the sound pressure response characteristic of the driver-enclosure
combination, corresponding to in and out of phase relationships between the primary and diffracted sound.

EXAMPLE

Let us consider the baffle diffraction effect associated with a loudspeaker baffle whose effective width is
0.300 metres. This can be modelled by the following line of data:

BDS 0.300 METRES BOOST

The frequency whose wavelength is equal to the effective width W (in metres) of the cabinet can be
calculated from the following formula:

c 343
f = ─── = ───── = 1143 Hz
W 0.300

where the speed of sound in air is c = 343 m/s. Therefore, the following line of data can be used:

BDS 1143 HZ BOOST

For the above baffle, if the step is assumed to be less than the theoretical maximum value of 6 dB then we
can use the SEFdB parameter to define the step effectiveness factor. For example, if it is desired to model a
baffle diffraction step of only 4 dB, then this can be achieved by the following line of data:

BDS 4.0 0.300 METRES BOOST

CALSOD 3.10 and CALSOD 1.40 User's Manual – 49


BES

BES Fo Order Type

This submodule is used to simulate the response characteristic of a Bessel filter. Both highpass and lowpass
filter responses can be defined.

BES Name of submodule.

Fo Frequency of normalization for the Bessel filter response characteristic (Hz). This is also known
as the cutoff frequency or the –3 dB frequency.

Order The order of the Bessel filter response characteristic. The highest order that is allowed is 10.

Type If Type = HIGHPASS then the response represents a highpass filter.

If Type = LOWPASS then the response represents a lowpass filter.

It is possible to specify lowpass Bessel filter transfer functions of up to 10th order using the BES
submodule. Although the highpass response is also available and will have the same shape of magnitude
response, it should be remembered that the highpass transfer function does not possess as uniform a group
delay as the lowpass transfer function. Also, the summation of the lowpass and highpass functions for a
given filter order in the BES submodule will not produce a response with a flat magnitude response. There
will usually be some ripple in the response in the crossover region.

The following table of coefficients is provided to assist in determining the initial component values when
trying to optimize lowpass Bessel filter response functions.

┌──┐ ┌──┐ ┌──┐


Input ──┤L1├──┬───┤L2├──┬──...───┤Lj├──┬──────┐
└──┘ │ └──┘ │ └──┘ │ │
┌┴─┐ ┌┴─┐ ┌┴─┐ ┌┴┐
│C1│ │C2│ │Cj│ │R│
└┬─┘ └┬─┘ └┬─┘ └┬┘
│ │ │ │
Ground────────┴─────────┴──...─────────┴──────┘

R Li' Ci'
Li = ───── Ci = ────
Fc R Fc

┌──────┬─────────────────────────────────────────────────────┐
│Bessel│ │
│Filter│ L1' C1' L2' C2' L3' │
│Order │ │
├──────┼─────────────────────────────────────────────────────┤
│ 1 │ 0.1592 ─ ─ ─ ─ │
│ 2 │ 0.2167 0.07223 ─ ─ ─ │
│ 3 │ 0.2328 0.1341 0.04657 ─ ─ │
│ 4 │ 0.2389 0.1557 0.09752 0.03364 ─ │
│ 5 │ 0.2407 0.1628 0.1199 0.07525 0.02575 ... │
│ 6 │ 0.2408 0.1644 0.1293 0.09663 0.06024 ... │
│ 7 │ 0.2401 0.1638 0.1328 0.1075 0.08007 ... │
│ 8 │ 0.2395 0.1626 0.1336 0.1127 0.09140 ... │
│ 9 │ 0.2388 0.1612 0.1331 0.1149 0.09776 ... │
│ 10 │ 0.2383 0.1599 0.1320 0.1155 0.1011 ... │
└──────┴─────────────────────────────────────────────────────┘

50 – CALSOD 3.10 and CALSOD 1.40 User's Manual


┌──────┬─────────────────────────────────────────────────────┐
│Bessel│ │
│Filter│ C3' L4' C4' L5' C5' │
│Order │ │
├──────┼─────────────────────────────────────────────────────┤
│ 1 │ ─ ─ ─ ─ ─ │
│ 2 │ ─ ─ ─ ─ ─ │
│ 3 │ ─ ─ ─ ─ ─ │
│ 4 │ ─ ─ ─ ─ ─ │
│ 5 │ ─ ─ ─ ─ ─ │
│ 6 │ ... 0.02049 ─ ─ ─ ─ │
│ 7 │ ... 0.04955 0.01678 ─ ─ ─ │
│ 8 │ ... 0.06768 0.04164 0.01406 ─ ─ │
│ 9 │ ... 0.07899 0.05816 0.03562 0.01200 ─ │
│ 10 │ ... 0.08595 0.06910 0.05064 0.03091 0.01039 │
└──────┴─────────────────────────────────────────────────────┘

A number of example files are also included to illustrate the use of the lowpass and highpass transfer
functions in the BES submodule. One file is called BESLH07.C14, where the numerical code represents the
order of the filter. This file contains two DRIVER modules, one of which has a lowpass Bessel filter, and
the other has its highpass magnitude response “image”. It is possible to read in and analyze this file to see
how well the summed response approximates to a flat response. Note that perfect results will only obtained
for the first-order Bessel filter, which is in fact the same as a first-order Butterworth filter and yields a
transfer function that is transient perfect.

Another example data file called BESL07.C14 is also included. It contains the components of a lowpass
filter network that produces a Bessel filter transfer function of a given order. The cutoff frequency of the
Bessel filter is 1000 Hz, and the component values are based on an 8ohm load resistance.

A final sample data file is included to illustrate the use of high-order Bessel lowpass filters in a two-way
system. The woofer and tweeter drivers are represented by typical bandpass sound pressure response
functions. The filter network on the woofer has been optimized to produce a seventh-order Bessel response.
Note that only five components are needed on the woofer filter because of the woofer’s natural second-order
rolloff at high frequencies. The woofer filter components remain fixed during the optimization to preserve
the constant group delay characteristics of the lowpass Bessel response function. The tweeter filter includes
two components, both of which are variable during the optimization procedure. The filter components in the
data file are set to their final optimized values.

EXAMPLE

Let us consider the response associated with a second-order Bessel lowpass filter with a –3 dB point at
1000 Hz. This filter characteristic can be modelled by the following line of data:

BES 1000.0 2 LOWPASS

CALSOD 3.10 and CALSOD 1.40 User's Manual – 51


BSL

BSL Fo Order Type

This submodule is used to simulate the response characteristic of 2nd-order or 4th-order Bessel filters as
described in “The Loudspeaker Design Cookbook” (see bibliography). Both highpass and lowpass filter
responses can be defined. Sample design equations for passive Bessel filter networks are presented
elsewhere in this manual. Summation of the lowpass and highpass filter responses produces a peak of about
1.25 dB at the crossover frequency. The lowpass section of a Bessel filter possesses a maximally-flat group
delay characteristic below the cutoff frequency. It does not exhibit the peak in the group delay at the cutoff
frequency that is characteristic of other filter topologies.

BSL Name of submodule.

Fo Frequency of normalization for the Bessel filter response characteristic (Hz).

Order The order of the Bessel filter response characteristic. Only filters of order 2 and 4 are allowed.

Type If Type = HIGHPASS then the response represents a highpass filter.

If Type = LOWPASS then the response represents a lowpass filter.

EXAMPLE

Let us consider the response associated with a second-order Bessel lowpass filter with a crossover frequency
at 1000 Hz. This filter characteristic can be modelled by the following line of data:

BSL 1000.0 2 LOWPASS

52 – CALSOD 3.10 and CALSOD 1.40 User's Manual


BUT

BUT Fo Order Type

This submodule is used to introduce the response characteristic of a Butterworth filter. Highpass, lowpass
and allpass filter responses can be defined. The allpass functions may prove useful in equalizing the phase
response of a driver model so that it matches more closely experimental data obtained for a driver that is
only approximately minimum-phase.

BUT Name of submodule.

Fo Frequency of normalization for the Butterworth filter response characteristic (Hz). This is also
known as the cutoff frequency or the –3 dB frequency. If an allpass response is specified, then
Fo corresponds to the crossover frequency of the complementary lowpass and highpass
responses.

Order The order of the Butterworth filter response characteristic. The highest order that is allowed is 6,
and the asymptotic slope beyond the cutoff frequency is given as Order×6 dB/octave.

Type If Type = HIGHPASS then the response represents a highpass filter.

If Type = LOWPASS then the response represents a lowpass filter.

If Type = ALLPASS then the response represents an allpass filter.

EXAMPLE

Let us consider the response associated with a second-order Butterworth lowpass filter with a –3 dB point at
1000 Hz. The filter response slope in the stopband is 12 dB/octave, and the filter characteristic can be
modelled by the following line of data:

BUT 1000.0 2 LOWPASS

CALSOD 3.10 and CALSOD 1.40 User's Manual – 53


CAP

CAP Value Nlow Nhigh Type

This submodule is used to introduce a capacitor into the crossover network circuit topology.

CAP Name of submodule.

Value The value of the capacitor (farads).

Nlow Node number of the node with the lowest node number to which the capacitor is connected in the
circuit topology.

Nhigh Node number of the node with the highest node number to which the capacitor is connected in
the circuit topology.

Type If Type = VARIABLE then the capacitor value can vary during the optimization procedure.

If Type = FIXED then the capacitor value remains fixed and does not vary during the
optimization procedure.

EXAMPLE

Let us consider the inclusion of a 6.3 microfarad capacitor into a crossover network topology. It will be
assumed that the capacitor is to be connected between nodes 12 and 5 in the filter circuit. Also, this
capacitor is to be permitted to vary during the optimization procedure. This capacitor can be modelled by the
following line of data:

CAP 6.30E-06 5 12 VARIABLE

If the capacitor was to keep a constant value during the optimization procedure, then it would have been
modelled by the following line of data:

CAP 6.30E-06 5 12 FIXED

54 – CALSOD 3.10 and CALSOD 1.40 User's Manual


CIRCUIT
╔═══════╗
║CIRCUIT║
╚═══════╝

This module is used to signal the start of data defining the crossover network and the connection of any
loudspeaker drivers, and it allows the user to enter a node by node description of the passive or active
components in a crossover network. Any arbitrary crossover network topology can be defined, and this may
include elements for equalization of the driver’s sound pressure response or conjugate load matching.

CIRCUIT Name of module.

The circuit topology and node numbering convention for a possible filter network is shown below.

┌───┐
Input Node 1────┤IND├──────2────────3────────┐
+ └───┘ │ ┌─┴─┐ │
│ │RES│ │+
┌─┴─┐ └─┬─┘ ┌─┴─┐
│CAP│ 4 │SPK│
└─┬─┘ ┌─┴─┐ └─┬─┘
│ │CAP│ │-
- │ └─┬─┘ │
Ground Node 0───────────────┴────────┴────────┘

The various components (denoted by the mnemonics IND, CAP, RES and SPK) represent the inductors,
capacitors, resistors and speakers that are connected in the network. The values of the components, together
with the node numbers defining their connections within the circuit, are input using the IND, CAP, RES and
SPK submodules that are described elsewhere in this manual.

Node 0 is always the ground or reference node, and node 1 is always the input node. These two nodes
represent the negative and positive terminals of a voltage source that is connected to the circuit.

The + and – symbols placed at the terminals of the SPK component represent the polarity of the connection
of the loudspeaker driver that is defined in the SPK submodule. The polarity that is shown in the circuit
diagram is positive.

Note that nodes must be numbered consecutively with no gaps. For example, a valid set of node numbers
is [0, 1, 2, 3, 4], while [0, 1, 2, 3, 5] is invalid and will be flagged as an error when the data file is read in by
CALSOD. Therefore, care must be exercised when removing components from the CIRCUIT module, as a
renumbering of the nodes may be required in order to get the data file to compile without error.

EXAMPLE

A typical CIRCUIT module for the filter network shown above will look like the following:

CIRCUIT
IND 1.00E-3 1 2 0.0 VARIABLE
CAP 6.30E-6 0 2 VARIABLE
RES 9.00 3 4 VARIABLE
CAP 4.70E-6 0 4 VARIABLE
SPK 1 0 3 0.0 0.0 0.0 POSITIVE

CALSOD 3.10 and CALSOD 1.40 User's Manual – 55


CVB

CVB Vb Sd
CVB Vb Diam Eratio

This submodule is used to specify the box volume and the effective diaphragm area of the loudspeaker
driver for use in determining the driver’s Thiele-Small parameters from a single impedance measurement of
the driver mounted in a vented-box enclosure. The CVB submodule is included in the CIRCUIT submodule
that defines the electrical equivalent circuit of a driver in a vented box.

In order to use this feature, it is necessary for the user to create a CIRCUIT submodule that defines the
electrical equivalent circuit of a driver in a vented enclosure. The circuit must have a very specific format,
which is described in the design example elsewhere in this manual. If the special format of the equivalent
circuit is not used, then CALSOD will not be able to carry out the optimization of the equivalent circuit to
produce estimates of the driver’s Thiele-Small parameters.

CVB Name of submodule.

Vb Net internal volume of vented-box enclosure (m³).

Sd Effective diaphragm area of the loudspeaker driver (m²).

Diam Diameter of loudspeaker driver (m).

Eratio Ratio of effective driver piston diameter to the nominal driver diameter. The formula that
CALSOD uses to compute the effective diaphragm area Sd is

Sd = π×(Diam×Eratio)²/4

For most drivers, a value of Eratio = 0.80 can be used.

SPECIAL REQUIREMENTS

If you use the vented-box impedance method for Thiele-Small parameter estimation, you should ensure that
the cabinet is unlined as any acoustic absorption material can influence the stiffness of the air in the
enclosure. Any such materials will also create additional absorption losses which can effect the impedance
curve, and will usually cause the value of Qms for the driver to be underestimated (i.e. the estimated Qms
value indicates that there are more mechanical losses in the driver than are actually present). It is also
preferable to use an enclosure that is relatively free of leakage losses, although this parameter is accounted
for in the electrical equivalent circuit.

EXAMPLE

Let us assume that we have measured an impedance curve for a driver mounted in a vented-box enclosure of
volume Vb = 0.030 m³. The physical diameter of the driver diaphragm is Diam = 0.300 m. If we assume that
the diaphragm effectiveness ratio for this driver is Eratio = 0.80, then the effective diameter of the driver is
calculated to be 0.300×0.80 = 0.240. Therefore, the effective diaphragm area Sd = π×0.240²/4 = 0.0452 m².

When performing the Thiele-Small parameter estimation for the above driver and enclosure using the
vented-box method, the required CVB submodule can be set up in each of the following different ways:

CVB 0.030 0.0452

CVB 0.030 0.300 0.80


CVB 0.030 0.240 1.00

56 – CALSOD 3.10 and CALSOD 1.40 User's Manual


A more complete example of how to carry out Thiele-Small parameter estimation using measured vented-
box impedance data is described elsewhere in this manual.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 57


DRIVER
╔═══════════════╗
║DRIVER DriverNo║
╟───────────────╢
║Title ║
╟───────────────╢
║SOUND PRESSURE ║
╟───────────────╢
║IMPEDANCE ║
╚═══════════════╝

This module is used to define the data for the sound pressure and impedance response approximations to the
behaviour of a loudspeaker driver. The model of the driver can be incorporated as an element in the
crossover network and, if desired, the same driver may be used more than once.

DRIVER Name of module.

DriverNo The identification number that is to be assigned to this loudspeaker driver. This
number will be referred to when a SPK submodule is placed in the CIRCUIT
module. A maximum of ten different drivers may be defined in a single data file,
hence DriverNo may take on values in the range 1 ≤ DriverNo ≥ 10.

Title A short character string that will be used as a heading for output data related to
driver DriverNo. A maximum of 11 characters are permitted, including any
imbedded spaces, and all leading spaces are ignored. The Title must be included
immediately after the DRIVER module header (no comment lines are permitted).
CALSOD will use it as a quick prompt to you when choosing the various output
options, so it is recommended that you input a meaningful descriptive Title.

SOUND PRESSURE This is a heading statement in the DRIVER module, to be typed exactly as shown.
It signifies that the sound pressure response of driver DriverNo is defined by the
sequence of submodules (and their associated data) that follows this heading.

IMPEDANCE This is a heading statement in the DRIVER module, to be typed exactly as shown.
It signifies that the impedance response of driver DriverNo is defined by the
sequence of submodules (and their associated data) that follows this heading.

In order for CALSOD to have data to work with, you must ensure that modules for either SOUND
PRESSURE or IMPEDANCE, or usually both, are present in the total file structure immediately after the
title line, and before another module (eg. another DRIVER module).

Note that the order of the SOUND PRESSURE and IMPEDANCE headings in the DRIVER module is not
important, and either of the two may come first. However, it is necessary to ensure that submodules for the
definition of the sound pressure response or impedance response are placed after the appropriate heading.

EXAMPLE

A typical DRIVER module is shown below:

58 – CALSOD 3.10 and CALSOD 1.40 User's Manual


DRIVER 1
Woofer
!
SOUND PRESSURE
SEN 92.0 DB
SVB 33.8 0.261 4.0 1.5 7.0
MPE 580.0 3.993 -1.145 DB
MPE 2000.0 1.910 2.625 DB
BUT 4350.0 4 LOWPASS
!
IMPEDANCE
IVB 33.8 6.10 0.00722 0.701 0.01317 0.690 6.127 0.273
MPE 420.0 4.23 1.203 LINEAR

CALSOD 3.10 and CALSOD 1.40 User's Manual – 59


EPD

EPD Diam

This submodule is used to define a value for the effective piston diameter of a driver. By using this
submodule it is possible to include the directivity effects of the loudspeaker in the simulations. The
directional characteristics of the source are modelled by assuming that the transducer acts as a circular
piston. The off-axis radiation characteristics of the individual drivers are particularly important if an
observation point is significantly off-axis relative to the principal axes of any of the drivers in a multiway
system.

If the EPD submodule is omitted, then it is assumed that the effective piston diameter of the driver is 0,
which means that the driver is modelled as an omnidirectional point source.

EPD Name of submodule.

Diam Value of the effective piston diameter of the loudspeaker (metres).

NOTE: The effective piston diameter of a given transducer is difficult to specify accurately. At high
frequencies the complex vibration characteristics of the diaphragm itself greatly affect the directivity of the
loudspeaker driver. Based on empirical observations, it can be said that the effective piston diameter is less
than the geometric diameter of the driver. A reasonable engineering estimate of the effective piston diameter
is that it can be from 80% to 90% of the geometric diameter, and it may often be even less than this.

The piston source model of a loudspeaker driver is useful for cone-type, dome-type and planar-type
loudspeakers operating in frequency regions where each part of the cone is vibrating with the same velocity
and phase. The piston model is not as accurate for horn-loaded sources which have a behaviour that is
fundamentally different from that of piston sources.

In order to obtain the best possible simulation, it is desirable to compare the predicted behaviour using a
given effective piston diameter with experimental results obtained for various off-axis conditions. This data
is often supplied by manufacturers in their data sheets which show sound pressure response curves obtained
on-axis and for one or more off-axis conditions.

EXAMPLE

Assume that we have a low-frequency driver whose geometric diameter is 300 mm. If the effective piston
diameter is estimated to be 80% of the geometric diameter (240 mm), the required EPD submodule is:

EPD 0.240

60 – CALSOD 3.10 and CALSOD 1.40 User's Manual


EXPERIMENTAL IMPEDANCE
╔══════════════════════╗
║EXPERIMENTAL IMPEDANCE║
╟──────────────────────╢
║Data Format ║
╟──────────────────────╢
║Data1 Data2 Data3 ║
╚══════════════════════╝

This module is used to read in experimental impedance data so that the data points can be plotted. This
permits the easy comparison of the raw data with the impedance response transfer function approximation
that is being developed. The data in this module is also used by the impedance curve-fit optimizer. A
maximum of 101 data points can be included in this module.

EXPERIMENTAL IMPEDANCE This module heading initializes the process for reading in the raw data
for the impedance.

Data Format This defines the format of the two or three columns of data which are
used to input the experimentally determined impedance. The
permissible formats for the data points are as follows:

FREQ REAL IMAG


FREQ MAG PHASE
FREQ DB PHASE
FREQ RECIP PHASE
FREQ ADREAL ADIMAG

or, if you do not have phase data available, you can use a simpler two
column format:

FREQ MAG
FREQ DB
FREQ RECIP

where

FREQ is the frequency (Hz).

REAL is the real part of the complex impedance (ohms).

IMAG is the imaginary part of the complex impedance (ohms).

MAG is the magnitude of the impedance (ohms).

PHASE is the phase of the given quantity (degrees).

DB is the magnitude of the impedance (dB). A value of 0 dB


is assumed to equal 1 ohm.

RECIP is the reciprocal of the magnitude of the impedance


(mhos).

ADREAL is the real part of the admittance value that corresponds to


the value of the impedance given by the data point
(mhos).

CALSOD 3.10 and CALSOD 1.40 User's Manual – 61


ADIMAG is the imaginary part of the admittance value that
corresponds to the value of the impedance given by the
data point (mhos).

Note that the number of spaces between the various labels (FREQ,
REAL, etc.) can vary so that the headings can be aligned with the
numerical data if desired.

Data1 Data2 Data3 This represents the list of actual data points for the experimental
impedance. The format of the data must adhere strictly to the format
defined by the Data Format heading.

Data1 always represents the frequency of the data point, whilst Data2
and Data3 depend on the definition in the Data Format heading. Data3
must be omitted when a two column format is specified.

The input of the experimental data is terminated by the end of the file
or the occurrence of a new module header.

EXAMPLE

Let us consider an impedance data point whose characteristics are as follows:

Frequency = 1000.0 Hz
Impedance = 8.0 ohms
Phase angle = 60.0 degrees

This data can be input to CALSOD in any of the five following ways:

EXPERIMENTAL IMPEDANCE
FREQ REAL IMAG
1000.0 4.0 6.928

EXPERIMENTAL IMPEDANCE
FREQ RECIP PHASE
1000.0 0.125 -60.0

EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
1000.0 8.0 60.0

EXPERIMENTAL IMPEDANCE
FREQ ADREAL ADIMAG
1000.0 0.0625 -0.1083

EXPERIMENTAL IMPEDANCE
FREQ DB PHASE
1000.0 18.062 60.0

If the magnitude only of the impedance response data was known, then one of the following formats could
have been used:

EXPERIMENTAL IMPEDANCE
FREQ RECIP
1000.0 0.125

EXPERIMENTAL IMPEDANCE
FREQ MAG
1000.0 8.0

62 – CALSOD 3.10 and CALSOD 1.40 User's Manual


EXPERIMENTAL IMPEDANCE
FREQ DB
1000.0 18.062

CALSOD 3.10 and CALSOD 1.40 User's Manual – 63


EXPERIMENTAL SPL
╔═════════════════╗
║EXPERIMENTAL SPL ║
╟─────────────────╢
║Data Format ║
╟─────────────────╢
║Data1 Data2 Data3║
╚═════════════════╝

This module is used to read in experimental sound pressure level data so that the data points can be plotted.
This permits the easy comparison of the raw data with the sound pressure response transfer function
approximation that is being developed. The data in this module is also used by the sound pressure curve-fit
optimizer. A maximum of 101 data points can be included in this module.

EXPERIMENTAL SPL This is the module heading. It initializes the process for reading in the raw data
for the sound pressure level.

Data Format This defines the format of the two or three columns of data which are used to
input the experimentally determined sound pressure. The first of the two
permissible formats for specifying the data points is shown in the following
heading:

FREQ DB PHASE

or, if you do not have phase data available, you can use a simpler two column
format:

FREQ DB

where

FREQ is the frequency (Hz).

DB is the magnitude of the sound pressure level (dB).

PHASE is the phase of the sound pressure level (degrees).

Note that the number of spaces between the labels FREQ, DB, and PHASE can
vary so that the headings can be aligned with the numerical data if desired.

Data1 Data2 Data3 This represents the list of actual data points for the experimental sound
pressure level. Data1 always represents the frequency of the data point, Data2
the sound pressure level in dB, and Data3 the phase of the sound pressure.
Data3 must be omitted when a two column format is specified.

The input of the experimental data is terminated by the end of the file or the
occurrence of a new module header.

EXAMPLE

Let us consider a sound pressure level data point whose characteristics are as follows:

Frequency = 1000.0 Hz
SPL = 92.0 dB
Phase angle = 60.0 degrees

64 – CALSOD 3.10 and CALSOD 1.40 User's Manual


This data can be input into CALSOD in the following manner:

EXPERIMENTAL SPL
FREQ DB PHASE
1000.0 92.0 60.0

If no phase data had been available, then the following format could have been used, which is useful as it
saves you having to type in a lot of dummy phase values:

EXPERIMENTAL SPL
FREQ DB
1000.0 92.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 65


FIL

FIL Fo FilNo Type

This submodule is used to introduce the response characteristics of complementary highpass and lowpass
filter responses that have been defined for many common filter functions. If the desired filter function
cannot be called up using this submodule then you must define your own filter response using the TFN
module.

FIL Name of submodule.

Fo Frequency of normalization for the filter response characteristic (Hz).

FilNo The code number of the filter characteristic that is to be used. Valid code numbers are shown in
the table below:

┌─────┬─────────────────────────────────────────────────────────────┐
│FilNo│ DESCRIPTION OF FILTER CHARACTERISTIC │
├─────┼─────────────────────────────────────────────────────────────┤
│ 1 │1st-order Butterworth │
│ 2 │2nd-order Butterworth │
│ 3 │3rd-order Butterworth │
│ 4 │4th-order Butterworth │
│ 5 │5th-order Butterworth │
│ 6 │2nd-order Linkwitz-Riley │
│ 7 │4th-order Linkwitz-Riley │
│ 8 │2nd-order symmetrical constant-voltage │
│ 9 │3rd-order symmetrical constant-voltage │
│ 10 │2nd-order asymmetrical constant-voltage (peak in HP response)│
│ 11 │3rd-order asymmetrical constant-voltage (peak in HP response)│
│ 12 │2nd-order asymmetrical constant-voltage (peak in LP response)│
│ 13 │3rd-order asymmetrical constant-voltage (peak in LP response)│
└─────┴─────────────────────────────────────────────────────────────┘

Type If Type = HIGHPASS then the response represents a highpass filter.

If Type = LOWPASS then the response represents a lowpass filter.

EXAMPLE

Let us consider the response associated with a fourth-order Linkwitz-Riley lowpass filter with a -6 dB point
at 1000 Hz. This response can be modelled by the following line of data:

FIL 1000.0 7 LOWPASS

The complementary highpass response associated with the above Linkwitz-Riley filter can be modelled by
the following line of data:

FIL 1000.0 7 HIGHPASS

66 – CALSOD 3.10 and CALSOD 1.40 User's Manual


FILE

FILE Format Name Dfit Dextra Dtype Factor Ftype

This submodule is used to read in sound pressure or impedance response data contained in a file. With this
submodule, it is possible to make direct use of data obtained from different audio measurement systems. The
data in the file can be arbitrarily scaled and adjusted for any time delays that may be present in the
measurements.

If desired, measured sound pressure response data for up to five different observation points can be included
in each DRIVER module that is used to define the characteristics of an individual loudspeaker. This means
that CALSOD’s capability for incorporating off-axis responses in the optimization is fully catered for.

The various file formats that are supported include those used by Audio Precision’s System One, Ariel’s
SYSid, DRA Laboratories’ MLSSA, Liberty Instruments’ IMP and AudioSuite, Audiomatica’s CLIO and
CLIOwin, Kemsonic’s AMS-PC, Bunn’s AIRR, Microacoustics’ PC AudioLab, SIA Software Company’s
SmaartLive, and LinearX’s LMS. There is also a special CALSOD format that can be used if your
equipment is not supported. However, it will be necessary to write your own conversion software to create
files compatible with the CALSOD format.

FILE Name of submodule.

Format If Format = CALSOD then the file format is a special one created for use with CALSOD. This
format is defined in a separate section below.

If Format = AIRR then the file format corresponds to Bunn’s AIRR. Two types of AIRR files are
supported. One contains only frequency and magnitude response data, while the second also
includes phase response data in a third column.

If Format = AMSPC then the file format corresponds to Kemsonic’s AMS-PC frequency
response data format. Both sound pressure and impedance response files can be used.

If Format = ASFRD then the file format corresponds to Liberty Instruments’ Audiosuite
frequency response data format, which is usually saved using the .FRD filename extension. The
data contained in this file type consist of frequency, dB and phase values corresponding to the
measured sound pressure response of a driver. By explicitly using the ASFRD format descriptor,
CALSOD will automatically process the dB values.

If Format = ASZFR then the file format corresponds to Liberty Instruments’ Audiosuite
impedance and frequency response format, which is usually saved using the default .ZFR
filename extension. Each line of data contained in this file type consists of frequency, impedance
magnitude, impedance phase, sound pressure in dB and sound pressure phase values. By
explicitly using the ASZFR format descriptor, CALSOD will automatically process each column
of data in the required manner based on its normal assumed data type. Because the Audiosuite
.ZFR files contain both impedance and sound pressure response data, CALSOD uses the
appropriate data based on whether the FILE submodule was included in the IMPEDANCE or
SOUND PRESSURE section of a DRIVER module. If the data for a driver is contained in one
.ZFR file, then this file will need to be separately imported into the IMPEDANCE and SOUND
PRESSURE sections of the DRIVER module.

If Format = ASZMA then the file format corresponds to Liberty Instruments’ Audiosuite
impedance response format, which is usually saved using the .ZMA filename extension. The data
contained in this file type consist of frequency, magnitude and phase values corresponding to the
measured impedance response of a driver. By explicitly using the ASZMA format descriptor,
CALSOD will automatically process the magnitude values as not being in a dB format.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 67


If Format = CLIO then the file format corresponds to Audiomatica’s CLIO. Note that CLIO-
created files can also be read by using Format = SYSTEMONE, as some versions prior to
CALSOD 3.10k had been extended to support the slightly different header labels that CLIO
creates when it exports data in its variant of the System One format.

If Format = CLIOWIN then the file format corresponds to Audiomatica’s CLIOwin.

If Format = IMPFRD then the file format corresponds to Liberty Instruments’ IMP frequency
response data format, which is usually saved using the .FRD filename extension. The data
contained in this file type consist of frequency, dB and phase values corresponding to the
measured sound pressure response of a driver. By explicitly using the IMPFRD format
descriptor, CALSOD will automatically process the dB values.

If Format = IMPZMA then the file format corresponds to Liberty Instruments’ IMP impedance
response format, which is usually saved using the .ZMA filename extension. The data contained
in this file type consist of frequency, magnitude and phase values corresponding to the measured
impedance response of a driver. By explicitly using the IMPZMA format descriptor, CALSOD
will automatically process the magnitude values as not being in a dB format.

If Format = IMPZFR then the file format corresponds to Liberty Instruments’ IMP impedance
and frequency response format, which is usually saved using the default .ZFR filename
extension. Each line of data contained in this file type consists of frequency, impedance
magnitude, impedance phase, sound pressure in dB and sound pressure phase values. By
explicitly using the IMPZFR format descriptor, CALSOD will automatically process each
column of data in the required manner based on its normal assumed data type. Because the IMP
.ZFR files contain both impedance and sound pressure response data, CALSOD uses the
appropriate data based on whether the FILE submodule was included in the IMPEDANCE or
SOUND PRESSURE section of a DRIVER module. If the data for a driver is contained in one
.ZFR file, then this file will need to be separately imported into the IMPEDANCE and SOUND
PRESSURE sections of the DRIVER module.

If Format = MLSSA then the file format corresponds to DRA Laboratories’ MLSSA. In general,
you will export FFT data because this contains both magnitude and phase information. MLSSA’s
Transfer/Export/Bode and Transfer/Export/Nyquist commands, as well as the now obsolete
Transfer/Export/FFT command, are all supported. When carrying out curve-fitting with
CALSOD, it may sometimes be useful to employ data that have been smoothed by MLSSA and
saved by using the Transfer/Export/View command. Note, however, that a view file does not
contain any phase information.

If Format = PCAUDIOLAB then the file format corresponds to Microacoustics’ PC AudioLab.


Please note that the PC AudioLab export file format does not distinguish between magnitude
response data corresponding to sound pressure data in dB or impedance data in ohms. If a PC
AudioLab file is imported in CALSOD within the section of a module that corresponds to sound
pressure data, then the PC AudioLab file is assumed to contain data magnitudes that are in dB. If
a PC AudioLab file is imported in CALSOD within the section of a module that corresponds to
impedance data, then the PC AudioLab file is assumed to contain data magnitudes that are in
ohms. Please be careful to ensure that these condition are met when using any files that were
exported from PC AudioLab.

If Format = SMAARTDB then the file format corresponds to SIA Software Company’s
SmaartLive with the frequency assumed to be in Hz, the magnitude in dB and the phase in
degrees. Values in dB are converted to a linear value such that 0 dB equals unity. It is assumed
that the first column contains the frequency values, the second column the magnitude values and
the third column the phase values. The header lines that are contained in a SmaartLive file are
skipped.

68 – CALSOD 3.10 and CALSOD 1.40 User's Manual


If Format = SMAARTLIN then the file format corresponds to SIA Software Company’s
SmaartLive with the frequency assumed to be in Hz, the magnitude in linear units (not in dB) and
the phase in degrees. It is assumed that the first column contains the frequency values, the second
column the magnitude values and the third column the phase values. The header lines that are
contained in a SmaartLive file are skipped.

If Format = SYSID then the file format corresponds to Ariel’s SYSid. Note that both ASCII and
binary file formats are supported, and CALSOD automatically determines the appropriate file
format from the SYSid integer code stored at the beginning of the file. Impedance measurements
taken using the Stereo mode are properly supported, because CALSOD performs internal
computations to convert the two channels of data to a single impedance curve. Two-channel ratio
measurements are also supported, and CALSOD computes the appropriate ratio as the file is
being read in.

If Format = SYSTEMONE then the file format corresponds to Audio Precision’s System One.
Note that files with frequency values that are increasing or decreasing are supported. All the
standard units of measurement are also supported, such as Hz, V, dBV, dBu, dBr, dBm, deg and
rad. Values in dB are converted to a linear value such that 0 dB equals unity. It is assumed that
the first column contains frequency values, while the magnitude and phase values can be in
either the second or third columns. By checking the header information contained in the first line
of each exported System One file, CALSOD determines whether it can correctly read in the file.
Note that System One files containing only frequency and amplitude values are supported.

Files created by LinearX’s LMS system can be used by CALSOD if they were exported from
LMS using the System One option. This can be achieved by selecting
[U]tils Menu/[E]xport Data/[F2] APS1 from the main menu in LMS. To read these LMS-created
files, CALSOD’s FILE submodule must be used with Format = SYSTEMONE. CALSOD has
been extended to support the slightly different header labels (Ohm, Vrms and dB) that LMS
creates when it exports data in its variant of the System One format.

Name This is the name of the data file. If the full pathname is not provided (eg.
C:\SUBDIR\FILENAME.DAT), then CALSOD assumes that the file can be found in the current
logged directory.

Dfit This is the value of the propagation delay or distance that will be subtracted from the phase
response of the data contained in the file during the interpolation process. If a negative value is
supplied, it will be added to the phase response. If impedance data are being read in, then set Dfit
= 0.0, since the slow variation in phase response can usually be handled by CALSOD’s
interpolator without any problems.

A non-zero value of Dfit is usually required if your sound pressure response data have not been
internally corrected for any large time delays present in the measurements. If Dfit is not given,
then you may find that the accuracy of the interpolated phase response becomes poor. This
problem arises because of the inability of the interpolation algorithm to deal with a phase
response that has “wrapped around” a large number of times. It is the user’s responsibility to
include an appropriate value for Dfit, either as a time delay or as a distance, so that this excess
phase response can be automatically removed from the data during the interpolation process.
This will ensure that the interpolation is accurate in both magnitude and phase.

Note that the value of Dfit is used internally by the CALSOD to ensure that the interpolated
phase response is accurate. If the propagation delays have been accurately specified, then the
true phase response is left unaffected.

Dextra This is the value of the propagation delay or distance that will be subtracted from the phase
response of the data contained in the file. If a negative value is supplied, it will be added to the

CALSOD 3.10 and CALSOD 1.40 User's Manual – 69


phase response. If impedance data are being read in, then set Dextra = 0.0, which will leave the
phase response unmodified.

Dtype If Dtype = METRES then the value of Delay is input in metres.

If Dtype = SECONDS then the value of Delay is input in seconds.

Note that the two delay variables, Dfit and Dextra, are assumed to be of the type specified by
Dtype. It is not possible to have one delay variable in metres and the other in seconds.

Factor A constant scaling factor that can be used to multiply the data values contained in the file. If no
scaling is required, then Factor should be set to 1.0 LINEAR or 0.0 DB. This will leave the
magnitude of the data unchanged.

Ftype If Ftype = DB then Factor is input using a decibel scale.

If Ftype = LINEAR then Factor is input using a linear scale.

NOTES

When CALSOD comes across a file format that it does not recognize, an error message will be displayed to
alert the user of the problem.

A complete tutorial example showing how to use the FILE submodule is included elsewhere in this manual.
It describes the considerations involved in using more than one FILE submodule to incorporate measured
response data from multiple observation points. It is strongly suggested that you become completely familiar
with all the information presented there before trying to use multiple FILE submodules in your own work.
Although the use of the FILE submodule is not difficult, studying the tutorial example will ensure that you
are fully aware of how the FILE submodule can be used within CALSOD’s standard analysis facilities.

The data in the file being imported is accessed by reading in a block of points at a time, and quadratic
interpolation is used to provide values at the frequency points required by CALSOD during the calculation
of the system response functions. Since quadratic interpolation is used, a file must contain at least three
individual sets of data values corresponding to three different frequency values, otherwise an error will
occur when the file is being processed.

The length of the imported data file can be very large, and the procedures have been tested using files
containing up to 32769 points. Although long files are supported, you should note that they will result in
more disk activity, which can slow down the processing of your data file to some extent. On the other hand,
if only a few hundred points are used, then most of them will be stored in memory and the interpolation
process will be quite fast. When reading imported files from most hard disks, the speed decrease caused by
the interpolator is not very great.

After you have set the upper and lower frequency limits to be used for computing response functions, if
during processing the requested frequency point is above the frequency range covered in the data file, the
interpolation routine will return the complex value corresponding to the datum at the highest available
frequency. If the requested frequency point is below the frequency range covered in the data file, the
interpolation routine will return the complex value corresponding to the datum at the lowest available
frequency.

You should keep this point in mind, as the plots may sometimes be affected by this behaviour. It is generally
not a problem when interpolating sound pressures if the measured responses at the frequency extremes are
well below the level in the pass-band.

70 – CALSOD 3.10 and CALSOD 1.40 User's Manual


EXAMPLE

We wish to read in the sound pressure and impedance response data contained in MLSSA data files in order
to model the response characteristics of a woofer. It is assumed that no special scale factor is needed for
either the sound pressure or impedance. The names of the data files are SPL.DAT and IMP.DAT, and the
complete driver module will look something like the following:

DRIVER 1
Woofer
SOUND PRESSURE
FILE MLSSA SPL.DAT 0 0 SECONDS 0 DB
IMPEDANCE
FILE MLSSA IMP.DAT 0 0 SECONDS 1 LINEAR

Since the full pathnames of the data files have been omitted, CALSOD assumes that the files are located in
the current logged directory.

Up to five different files can be imported into the SOUND PRESSURE section of a DRIVER module, as
shown below:

DRIVER 1
Woofer
SOUND PRESSURE
FILE MLSSA SPL1.DAT 0 0 SECONDS 0 DB
FILE MLSSA SPL2.DAT 0 0 SECONDS 0 DB
FILE MLSSA SPL3.DAT 0 0 SECONDS 0 DB
FILE MLSSA SPL4.DAT 0 0 SECONDS 0 DB
FILE MLSSA SPL5.DAT 0 0 SECONDS 0 DB
IMPEDANCE
FILE MLSSA IMP.DAT 0 0 SECONDS 1 LINEAR

Only one FILE submodule has been used in the IMPEDANCE section of the DRIVER module because the
impedance data do not vary with the location of each of the observation points.

A complete example describing the use of imported data can be found elsewhere in this manual. Please read
that section before trying to use this feature in your own simulations.

SPECIFICATIONS FOR THE CALSOD FILE FORMAT

To help you create your own data files that can be quickly and easily read in by CALSOD, a special file
format has been defined. The elements of this file format are defined in the following paragraphs. The basic
structure of the CALSOD file format is given below:

Line 1 > CALSOD


Line 2 > Comment
Line 3 > FormatID
Line 4 > DelayFit
Line 5 > DelayExtra
Line 6 > MagFactor
Line 7 > N
Line 8+1 > Value1(1) Value2(1) Value3(1)
Line 8+2 > Value1(2) Value2(2) Value3(2)
:
Line 8+N > Value1(N) Value2(N) Value3(N)

It is assumed that all data values are in ASCII format, that the frequency values are increasing from one
point to the next, and that the individual values are delimited by spaces. No blank lines are permitted, other
than the comment line, so be careful when creating a CALSOD-format data file.

Line 1 is simply the string “CALSOD” which is used to denote that data in this file are written in the special
CALSOD file format.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 71


Line 2 is a string that can contain a line of information that is stored for comment purposes.

Line 3 is an ASCII integer value, FormatID, that defines the format that the three data values (Value1,
Value2, and Value3) will be in. These three values are used to define the frequency and the complex number
representing the value of the response at that frequency.

Line 4 is an ASCII floating point number, DelayFit, that defines the value of the time delay in seconds that
will be subtracted from the phase response of the data contained in the file. Note that the value of DelayFit
is used internally by the CALSOD to ensure that the interpolated phase response is accurate. If the
propagation delay has been accurately specified by the value of DelayFit, then the true phase response is left
unaffected.

Line 5 is an ASCII floating point number, DelayExtra, that defines the value of the time delay in seconds
that will be subtracted from the phase response of the data contained in the file. If DelayExtra is negative,
then it will be added to the overall phase response of the data.

Line 6 is an ASCII floating point number, MagFactor, that defines the value by which the magnitude of all
points in the data file will be multiplied by when the data are used. In most cases, this value can be set to
unity (1.0). Note that MagFactor is always specified as a linear value. If the data values in the file are in dB,
and you wish to add or subtract a constant value in dB from the data, you should use the formula MagFactor
= 10^(x/20) to determine the appropriate linear value of MagFactor. For example, use the value MagFactor
= 0.50 if you wish to subtract 6.02 dB from the data (x = –6.02 in the formula).

Line 7 is an ASCII integer value, N, that defines the number of lines of actual data values that are present in
this file. If the number of lines is not known, then set N = 0, and CALSOD will automatically count the
number of lines when the file is first processed. If you are making use of this feature, you should ensure that
there are no blank lines at the end of your data files, otherwise errors may be encountered when CALSOD is
processing the file.

If FormatID = 1 then Value1 = frequency in Hz, Value2 = magnitude (linear), and Value3 = phase angle in
degrees.

If FormatID = 2 then Value1 = frequency in Hz, Value2 = magnitude in dB (where 1.0 = 0 dB), and Value3
= phase angle in degrees.

If FormatID = 3 then Value1 = frequency in Hz, Value2 = real part, and Value3 = imaginary part.

As an example, consider the following set of 6 data points which could correspond to the response of a
lowpass filter:

Freq SPL Phase


(Hz) (dB) (deg)
─────── ─────── ──────
20.0 0.000 -1.1
100.2 -0.042 -5.7
502.3 -0.975 -26.7
1002.3 -3.019 -45.0
5023.7 -14.188 -78.8
20000.0 -26.029 -87.2

The corresponding CALSOD-format data file that can be used for the data values listed above is:

72 – CALSOD 3.10 and CALSOD 1.40 User's Manual


CALSOD
Sample CALSOD-format data file
2
0.0
0.0
1.0
6
20.0 0.000 -1.1
100.2 -0.042 -5.7
502.3 -0.975 -26.7
1002.3 -3.019 -45.0
5023.7 -14.188 -78.8
20000.0 -26.029 -87.2

CALSOD 3.10 and CALSOD 1.40 User's Manual – 73


HLR

HLR Fs Qvc Qms Qes α

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a closed-box enclosure or in free air. The response corresponds to a second-order (12 dB/octave rolloff)
highpass filter function. The effects of the voice-coil inductance can be included in this function by using
the Qvc parameter.

HLR Name of submodule.

Fs Resonance frequency of driver (Hz).

Qvc Nondimensional parameter for including the effects of the voice-coil inductance into the model
of the sound pressure response function. It is defined as Qvc = 2π×Fs×Le/Re, where Re is the
voice-coil resistance, and Le is the voice-coil inductance. If the inductance behaviour is to be
omitted then set Qvc = 0.

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

α Nondimensional system compliance ratio, = Vas/Vb. If a driver in free air is to be modelled then
set α = 0.

EXAMPLE

Let us consider the response associated with a loudspeaker driver in a closed-box enclosure whose volume is
Vb = 15.0 litres. The Thiele-Small parameters of the driver are as follows:

Fs = 50.00 Hz
Qms = 3.00
Qes = 0.40
Vas = 45.00 litres

The required value of α can be calculated as follows:

α = Vas/Vb = 3.00

If the voice-coil inductance is neglected (set Qvc = 0.0) then the sound pressure response characteristic can
be modelled by the following line of data:

HLR 50.0 0.0 3.00 0.40 3.0

74 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IAC

IAC Value Nlow Nhi DSWG Type

This submodule is used to introduce an air-cored inductor into the crossover network circuit topology. It is
assumed that copper wire is used for the coil. The user can input either the wire diameter in metres, or
simply specify the SWG of the wire that is being used.

When an IAC submodule is used to specify the inductor, CALSOD automatically computes the parasitic dc
resistance of the inductor coil based on the user-supplied dimension information in the parameter DSWG.
Depending on the magnitude of the value of DSWG, the appropriate formula is selected from the two that
are given in the section describing the IND submodule.

IAC Name of submodule.

Value The value of the air-cored inductor (henries).

Nlow Node number of the node with the lowest node number to which the inductor is connected in the
circuit topology.

Nhi Node number of the node with the highest node number to which the inductor is connected in the
circuit topology.

DSWG If DSWG > 1.0 then DSWG corresponds to the SWG of the copper wire used in the air-cored
inductor.

If DSWG < 1.0 then DSWG corresponds to the diameter in metres of the copper wire used in the
air-cored inductor.

Type If Type = VARIABLE then the inductor value can vary during the optimization process.

If Type = FIXED then the inductor value remains fixed and does not vary during the
optimization process.

EXAMPLE

If we had a 1.25 mH inductor made from 14 SWG copper wire, and it was connected between nodes 1 and 2,
then the corresponding IAC submodule would be:

IAC 1.25E-03 1 2 14 VARIABLE

If the wire that was used had been of a 1.29 mm diameter, then the corresponding IAC submodule would be:

IAC 1.25E-03 1 2 0.00129 VARIABLE

From these two examples it should be fairly clear that it is an easy matter for you to identify whether the
inductor wire diameter is specified in SWG or in metres. The only problem you might have is that you
accidentally specify a value of DCR that is quite wrong when using the IND submodule. Keep an eye out for
such an error in your own designs.

As the inductance value of an IAC inductor varies during the optimization, so does the DCR for that
component. This means that the optimizer will be taking into account a much more realistic value of
inductor DCR at each stage of the optimization.

It is possible to view the internally computed value of DCR for any IAC inductor by selecting Option G
from the main menu and then choosing to display the CIRCUIT components. Each IAC submodule will

CALSOD 3.10 and CALSOD 1.40 User's Manual – 75


include the value of DCR in ohms for the current inductance value (in the same display position as for an
IND submodule).

If you choose to update the components in the CIRCUIT module, then only the inductance value will be
altered for any IAC submodules that might have been used, as the SWG or wire diameter that you specified
is assumed to be constant.

76 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IBP

IBP Fs Re Le Qms Qes α1 α2 h QL Qp Qb δ


IBP Fs Re Kmp Xmp Qms Qes α1 α2 h QL Qp Qb δ
IBP Fs Re Kr Xr Ki Xi Qms Qes α1 α2 h QL Qp Qb δ
IBP Fc Re Le Qmc Qec 0 αT h QL Qp Qb δ
IBP Fc Re Kmp Xmp Qmc Qec 0 αT h QL Qp Qb δ
IBP Fc Re Kr Xr Ki Xi Qmc Qec 0 αT h QL Qp Qb δ

This submodule is used to create an impedance response function corresponding to a bandpass loudspeaker.
The resulting impedance curve has the twin peaks which are a characteristic of such a system. For further
information on the design of bandpass systems, see the section describing the SBP submodule, particularly
the comments section.

IBP Name of submodule.

Fs Resonance frequency of driver (Hz).

Fc Resonance frequency of driver when loaded by the volume of box 1 (Hz),


= Fs×√(1 + α1).

Re DC resistance of the voice-coil of the driver (ohms).

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

Qmc Driver Q at Fc of the drive unit mounted in box 1 considering driver mechanical (non-
electrical) losses and enclosure losses associated with box 1.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 77


Qec Driver Q at Fc of the drive unit mounted in box 1 considering driver electromagnetic
losses only.

α1 Nondimensional compliance ratio of box 1, = Vas/Vb1.

α2 Nondimensional compliance ratio of box 2, = Vas/Vb2.

αT Nondimensional total compliance ratio for box 1 and box 2, = α2/(1 + α1).

h Nondimensional system tuning ratio, = Fb/Fs. Fb is the resonance frequency of the port
or passive radiator in box 2. For a symmetrical bandpass response, we have that h
= √(1 + α1).

Hc Nondimensional system tuning ratio, = Fb/Fc. Fb is the resonance frequency of the


passive radiator or port in box 2. For a symmetrical bandpass response Hc = 1, which
means the resonance frequency of the port or passive radiator is the same as the
resonance frequency of the driver when loaded by the volume of box 1.

QL Enclosure Q at Fb resulting from leakage losses in box 2. To approximate the absence of


leakage losses put QL ≥ 1000.

Qp Port or passive-radiator Q at Fb resulting from flow losses in the port or suspension


losses in the passive radiator. To approximate the lossless case put Qp ≥ 1000.

Qb Enclosure Q at Fb resulting from absorption losses in box 2. To approximate the absence


of absorption losses put Qb ≥ 1000.

δ Nondimensional passive radiator compliance ratio, = Vap/Vb2. If a port is being used,


then set δ ≥ 1000 to remove the effects of this parameter from the response equations.
This simulates an infinite passive-radiator compliance.

EXAMPLE

Let us consider the impedance response of a ported bandpass loudspeaker whose system parameters are as
follows:

Fc = 80.0 Hz Qtc = 1.00 αT = 0.50

Re = 6.3 ohms Qmc = 4.00 Qec = 1.33

Since Qtc×√(αT) = 0.7071, this set of parameters will create a maximally flat bandpass sound pressure
response, but only if Hc = Fb/Fc = 1. Because we are designing a ported bandpass system we must set δ
= 1000 because there is no passive-radiator compliance to be included.

If the voice-coil inductance is assumed to be 0.50E–3 H, then the impedance of the ported bandpass system
can be modelled by any of the three following lines of data:

IBP 80.0 6.30 0.50E-3 4.0 1.33 3.0 0 1.0 1000 1000 1000 1000

IBP 80.0 6.30 0.50E-3 1.0 4.0 1.33 3.0 0 1.0 1000 1000 1000 1000
IBP 80.0 6.30 0 1 0.50E-3 1.0 4.0 1.33 3.0 0 1.0 1000 1000 1000 1000

Note that we must use the format for the data line that has the parameter after Qec and before αT always set
to zero, and the lossless enclosure has been simulated by setting QL = Qp = Qb = 1000.

Let us assume that we wish to use an actual driver whose free air Thiele-Small parameters are:

78 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Fs = 40 Hz Vas = 120 litres
Qts = 0.50 Qms = 2.00 Qes = 0.67

The theoretical alignment described above can then be implemented by making some additional
computations to determine the various enclosure parameters:

α1 = (Qtc² - Qts²)/Qts² = 3.0 Vb1 = Vas/α1 = 40 litres


α2 = αT×(1 + α1) = 2.0 Vb2 = Vas/α2 = 60 litres
h = Hc×√(1 + α1) = 2.0 Fb = h×Fs = 80 Hz

and the impedance response can be modelled by the following lines of data:

IBP 40.0 6.30 0.50E-3 2.0 0.67 3.0 2.0 2.0 1000 1000 1000 1000

IBP 40.0 6.30 0.50E-3 1.0 2.0 0.67 3.0 2.0 2.0 1000 1000 1000 1000
IBP 40.0 6.30 0 1 0.50E-3 1.0 2.0 0.67 3.0 2.0 2.0 1000 1000 1000 1000

Note that the impedance response function created by the above lines of data is identical to the one
generated by the data lines described previously.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 79


ICB

ICB Fs Re Le Qms Qes α


ICB Fs Re Kmp Xmp Qms Qes α
ICB Fs Re Kr Xr Ki Xi Qms Qes α

This submodule is used to create an impedance curve corresponding to a loudspeaker driver in a closed-box
enclosure. The resulting impedance curve has a single peak which is a characteristic of a driver in a closed-
box. If desired, the effects of the voice-coil inductance can be simulated.

ICB Name of submodule.

Fs Resonance frequency of driver (Hz).

Re DC resistance of the voice-coil of the driver (ohms).

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

α Nondimensional system compliance ratio, = Vas/Vb.

EXAMPLE

Let us consider the impedance response associated with a loudspeaker driver in a closed-box enclosure
whose volume is Vb = 15.0 litres. The Thiele-Small parameters of the driver are as follows:

Fs = 50.00 Hz Vas = 45.00 litres


Qms = 3.00 Re = 6.30 ohms
Qes = 0.40

The remaining parameter can be calculated as follows:

α = Vas/Vb = 3.00

80 – CALSOD 3.10 and CALSOD 1.40 User's Manual


If the voice-coil inductance is 0.50E–3 H, then the impedance response characteristic can be modelled by
any of the three following lines of data:

ICB 50.0 6.30 0.50E-3 3.00 0.40 3.0


ICB 50.0 6.30 0.50E-3 1.00 3.00 0.40 3.0
ICB 50.0 6.30 0.0 1.0 0.50E-3 1.0 3.00 0.40 3.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 81


ICQ

ICQ Fs Re Le Qms Qes α Qls Qas


ICQ Fs Re Kmp Xmp Qms Qes α Qls Qas
ICQ Fs Re Kr Xr Ki Xi Qms Qes α Qls Qas

This submodule is used to create an impedance curve corresponding to a loudspeaker driver in a closed-box
enclosure. It includes parameters for modelling enclosure leakage and absorption losses. The resulting
impedance curve has a single peak which is a characteristic of a driver in a closed box. If desired, the effects
of the voice-coil inductance can be simulated.

ICQ Name of submodule.

Fs Resonance frequency of driver (Hz).

Re DC resistance of the voice-coil of the driver (ohms).

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

α Nondimensional system compliance ratio, = Vas/Vb.

Qls Enclosure Q at Fs resulting from leakage losses.

Qas Enclosure Q at Fs resulting from absorption losses.

EXAMPLE

Let us consider the impedance response associated with a loudspeaker driver in a closed-box enclosure
whose volume is Vb = 15.0 litres. The Thiele-Small parameters of the driver are as follows:

82 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Fs = 50.00 Hz Vas = 45.00 litres
Qms = 3.00 Re = 6.30 ohms
Qes = 0.40 α = Vas/Vb = 3.00

We assume that the voice-coil inductance is Le = 0.50E–3 H, and that Qls = 14 and Qas = 28. The
impedance response characteristic can then be modelled by any of the three following lines of data:

ICQ 50.0 6.30 0.50E-3 3.00 0.40 3.00 14 28


ICQ 50.0 6.30 0.50E-3 1.00 3.00 0.40 3.0 14 28

ICQ 50.0 6.30 0.0 1.0 0.50E-3 1.00 3.00 0.40 3.0 14 28

CALSOD 3.10 and CALSOD 1.40 User's Manual – 83


ICR

ICR Value

This submodule is used to create an impedance curve corresponding to a constant resistance. Note that if
additional submodules are used in the IMPEDANCE module, then the Value of the resistance acts purely as
a multiplying factor. Therefore, if you want the loudspeaker impedance to be modelled as a constant
resistance, the ICR submodule must be the only submodule that is included in the IMPEDANCE module.

ICR Name of submodule.

Value The value of the constant resistance (ohms).

EXAMPLE

To model a loudspeaker driver impedance curve as a constant 8 ohm resistance simply use the following
IMPEDANCE module:

IMPEDANCE
ICR 8.0

This technique is useful to use when you want to get a plot of the filter response when the crossover network
is terminated by a constant resistance. This simplifies the taking of measurements on the electrical
performance of the crossover filter for the purpose of checking and comparing the practical performance
against the predictions of the simulation.

84 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IDP

IDP Fs Vas Re Qms Qes V1 F1 QL1 QA1 QP1 V2 F2 QL2 QA2 QP2 Le
IDP Fs Vas Re Qms Qes V1 F1 QL1 QA1 QP1 V2 F2 QL2 QA2 QP2 Kmp Xmp
IDP Fs Vas Re Qms Qes V1 F1 QL1 QA1 QP1 V2 F2 QL2 QA2 QP2 Kr Xr Ki Xi

This submodule is used to create an impedance response function corresponding to a loudspeaker driver in a
double-ported bandpass enclosure. A diagram depicting this type of enclosure is presented in the section
describing the SDP submodule.

Note that the order of all the parameters has been conveniently made identical to those parameters that are
also used in the SDP submodule. The extra parameters required for modelling voice-coil inductance are
simply appended at the end of the data line.

IDP Name of submodule.

Fs Resonance frequency of driver (Hz).

Vas Volume of air having same acoustic compliance as driver suspension (m³).

Re Driver voice-coil dc resistance (ohms).

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

V1 V2 Volume of box 1 and box 2 (m³).

F1 F2 Resonance frequency of port in box 1 and box 2 (Hz).

QL1 QL2 Enclosure Q values at Fs resulting from leakage losses in box 1 and box 2. To
approximate the absence of leakage losses put QL1 ≥ 1000 and QL2 ≥ 1000.

QA1 QA2 Enclosure Q values at Fs resulting from absorption losses in box 1 and box 2. To
approximate the absence of absorption losses put QA1 ≥ 1000 and QA2 ≥ 1000.

QP1 QP2 Port Q values at Fs resulting from flow losses in port 1 and port 2. To approximate the
lossless case put QP1 ≥ 1000 and QP2 ≥ 1000.

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

CALSOD 3.10 and CALSOD 1.40 User's Manual – 85


Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

EXAMPLE

Let us consider the impedance response of a double-ported bandpass loudspeaker whose system parameters
are as follows:

Fs = 48.00 Hz
Vas = 90.00 litres
Re = 6.70 ohms
Le = 1.20 mH
Qms = 2.00
Qes = 0.22

The parameters associated with each enclosure of the double-ported bandpass enclosure are shown below.
Note that we have included some enclosure absorption losses, but have elected to neglect port and leakage
losses.

BOX 1 BOX 2

V1 = 71.0 litres V2 = 14.0 litres


F1 = 42.7 Hz F2 = 106.0 Hz
QL1 = 1000 QL2 = 1000
QA1 = 10 QA2 = 10
QP1 = 1000 QP2 = 1000

The required line of data to model the above double-ported bandpass enclosure is:

IDP 48.0 90.0E-3 6.70 2.00 0.22 71.0E-3 42.7 1000 10 1000 ...

14.0E-3 106.0 1000 10 1000 1.20E-3

Alternatively, the simple voice-coil inductance can be specified using the Kr Xr Ki Xi parameters, and the
resulting line of data is:

IDP 48.0 90.0E-3 6.70 2.00 0.22 71.0E-3 42.7 1000 10 1000 ...

14.0E-3 106.0 1000 10 1000 0.0 1.0 1.20E-3 1.0

86 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IGC

IGC R L C Kmp Xmp


IGC R L C Kr Xr Ki Xi

This submodule is used to create an impedance curve corresponding to a set of R-L-C component values that
are all in series with each other. If desired, a minimum-phase frequency-dependent rise in impedance can be
simulated using the Kmp and Xmp parameters. This submodule can also be used to model the capacitive
impedance of a piezo-electric loudspeaker driver.

The following equations are used to compute the impedance defined by the IGC submodule for the two
different cases:

Z = R + j2πF×L + 1/(j2πF×C) +
Xmp
Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

Xr Xi
Z = R + j2πF×L + 1/(j2πF×C) + Kr×(2πF) + j Ki×(2πF)

If you simply want the loudspeaker impedance to be modelled as a constant resistance then it is possible to
use the ICR submodule instead.

IGC Name of submodule.

R The value of the constant resistance (ohms).

L The value of the constant inductance (henries).

C The value of the constant capacitance (farads). If you specify the value of C to be C = 0,
then the capacitor is not included in the impedance calculations (avoiding a divide-by-
zero error).

Kmp Xmp Parameters used to model a frequency-dependent impedance rise. This particular model
has minimum-phase characteristics. For further details see the section describing the
modelling of the voice-coil inductance of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model a frequency-dependent impedance rise. For further details see
the section describing the modelling of the voice-coil inductance of loudspeaker drivers.

EXAMPLE

To model a piezo loudspeaker driver impedance curve as a constant 1.0 μF capacitance, simply use the
following IMPEDANCE module:

IMPEDANCE
IGC 0 0 1.0E-06 0 0

To model a loudspeaker driver impedance curve as a constant 6 ohm resistance, simply use the following
IMPEDANCE module:

IMPEDANCE
IGC 6.0 0 0 0 0

This technique is useful to use when you want to get a plot of the predicted filter response when the
crossover network is terminated by a constant resistance. This simplifies the taking of measurements on the

CALSOD 3.10 and CALSOD 1.40 User's Manual – 87


electrical performance of the crossover filter for the purpose of checking and comparing the practical
performance against the predictions of the simulation.

88 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IMP

IMP Fo Re Zmax Le Qt
IMP Fo Re Zmax Kmp Xmp Qt VarFo VarKX VarQt
IMP Fo Re Zmax Kr Xr Ki Xi Qt VarFo VarQt

This submodule is used to create an impedance curve with a peak at frequency Fo. The effects of the voice-
coil inductance may be included by using one of three different models. The IMP submodule can be used to
model individual loudspeaker drivers that are in free air or are mounted in a closed box.

IMP Name of submodule.

Fo Resonance frequency (Hz) of the loudspeaker driver in free air or in a closed box. This is
the frequency at which the peak in the impedance curve occurs. For a driver in a closed
box Fo = Fs×√(1+α), and in free air Fo = Fs.

Re DC resistance of the voice-coil of the driver (ohms).

Zmax Maximum value of the magnitude of the impedance (ohms) at the resonance frequency
Fo. If an impedance curve is not available then Zmax can be estimated using the
equation Zmax = Re×(1+Qm/Qe).

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Qt Total Q of the loudspeaker driver (in free air or in a closed box) taking account of all
electrical and mechanical losses. For a given resonance frequency Fo, increasing Qt
corresponds to narrowing the impedance peak. For a driver in a closed box Qt
= Qts×√(1+α), and in free-air Qt = Qts.

VarFo If VarFo = V then Fo will be varied by the curve-fitting optimizer.

If VarFo = F then Fo will not be varied by the curve-fitting optimizer.

VarKX If VarKX = V then Kmp and Xmp will be varied by the curve-fitting optimizer.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 89


If VarKX = F then Kmp and Xmp will not be varied by the curve-fitting optimizer.

VarQt If VarQt = V then Qt will be varied by the curve-fitting optimizer.

If VarQt = F then Qt will not be varied by the curve-fitting optimizer.

Note that VarFo, VarKX, and VarQt are optional parameters and need not be explicitly specified when
specifying an MPE submodule. If they are all omitted, then they will be automatically set to F (fixed). The
user must ensure that either all the VarFo, VarKX, and VarQt options are explicitly specified, or that they
are all omitted, otherwise an error will be flagged when the data file is being read by CALSOD.

Once the value of Qts for the driver has been established, the following simple formulas can be used to
calculate the values of Qe (system Q at Fo considering electrical resistance only) and Qm (system Q at Fo
considering mechanical losses only). If Qt, Zmax and Re for the driver are known then Qe may be calculated
as follows:

Res = Zmax - Re Rem = 1/(1/Res + 1/Re)

Qe = Qt×Re/Rem Qm = Qt×Res/Rem

If the impedance curve corresponds to that of the driver in free-air, then Qes = Qe, Qms = Qm, Qts = Qt, and
Fs = Fo.

By measuring the driver’s impedance in free-air and then in a closed box of known volume Vb, it is possible
to compute the value of Vas, the remaining Thiele-Small parameter for the driver. This can be obtained
quite simply from the change in the driver’s resonance frequency when it is mounted in a closed box. The
formula for Vas is:

Vb×(Fo² - Fs²)
Vas = ──────────────
Fs²

If we measure the impedance of the driver in two closed boxes of known volume Vb1 and Vb2, with
corresponding resonance frequencies Fo1 and Fo2, then the formula for calculating Vas is:

Vb1×Fo1² Φ×Vb1 - Vb2


Φ = ───────── Vas = ───────────
Vb2×Fo2² 1 - Φ

EXAMPLE

Let us consider the impedance response associated with a loudspeaker driver in a closed-box enclosure
whose volume is Vb = 15.0 litres. It is assumed that the impedance curve is not available so that Zmax will
need to be estimated from the Thiele-Small parameters of the driver which are as follows:

Fs = 50.00 Hz Qms = 3.00 Re = 6.30 ohms


Vas = 45.00 litres Qes = 0.40

The required parameters can be calculated as follows:

Qts = 1/(1/Qms+1/Qes) = 0.35


α = Vas/Vb = 3.00
Fo = Fs ×√(1+α) = 100.00 Hz
Qt = Qts×√(1+α) = 0.70
Zmax = Re×(1+Qms/Qes) = 53.55 ohms

If the voice-coil inductance is 1.0E–3 H then the impedance response characteristic can be modelled by any
one of the three following lines of data:

90 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IMP 100.0 6.30 53.55 1.0E-3 0.70
IMP 100.0 6.30 53.55 1.0E-3 1.00 0.70
IMP 100.0 6.30 53.55 0.0 1.00 1.0E-3 1.00 0.70

If the minimum-phase model for the inductance rise was chosen, and we had a set of experimental data
points, we can allow the curve-fitting optimizer to vary only the values of Kmp and Xmp by using the
following line of data:

IMP 100.0 6.30 53.55 1.0E-3 1.00 0.70 F V F

Alternatively, the following line of data will not permit Fo, Kmp and Xmp, and Qt to be varied by the curve-
fitting optimizer:

IMP 100.0 6.30 53.55 1.0E-3 1.00 0.70

CALSOD 3.10 and CALSOD 1.40 User's Manual – 91


IND

IND Value Nlow Nhigh DCR Type

This submodule is used to introduce an inductor into the crossover network circuit topology. If desired, a
constant series resistance can also be introduced to model the losses inherent in any practical inductor by
using the DCR parameter.

IND Name of submodule.

Value The value of the inductor (henries). The inductance value can be positive or negative. If it is
negative then the inductor will automatically be fixed during the optimization process, even
though Type may specify that this component is variable.

Nlow Node number of the node with the lowest node number to which the inductor is connected in the
circuit topology.

Nhigh Node number of the node with the highest node number to which the inductor is connected in the
circuit topology.

DCR DC series resistance of the inductor (ohms). This value will remain constant irrespective of
whether or not the inductor is permitted to vary during the optimization process.

Type If Type = VARIABLE then the inductor value can vary during the optimization process.

If Type = FIXED then the inductor value remains fixed and does not vary during the
optimization process.

When defining the initial inductor values it is generally unnecessary to specify the value of DCR; a value
DCR = 0.0 can often be used with little loss in accuracy. However, once the values have been optimized, it
is useful to introduce a value of DCR which corresponds closely to the value that would be found in a
practical inductor. Since this will perturb the optimum solution, it may be worthwhile to reoptimize the
component values to obtain an improved solution.

The following formula can be used to provide an estimate of the value of DCR for air-cored inductors made
from copper wire:

1 (1.47 + 0.573×log10L)
DCR = ─── 10 (ohms)

(0.461 + 0.101×SWG + 0.573×log10L)
= 0.1493×10 (ohms)

where d = diameter of the wire in millimetres, SWG = Standard Wire Gauge of the wire, L = inductance of
coil in henries, and log10 is the logarithm to base 10.

EXAMPLE

Let us consider the inclusion of a 1.25 mH inductor into the crossover network topology, and it is assumed
that the DCR of the inductor is zero. The inductor is to be connected between nodes 12 and 5 in the filter
circuit, and it is to be permitted to vary during the optimization procedure. This inductor can be modelled by
the following line of data:

IND 1.25E-03 5 12 0.0 VARIABLE

92 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IOA

IOA Nneg Npos Nout

This submodule is used to introduce an ideal operational amplifier (opamp) into the crossover network
circuit topology.

IOA Name of submodule.

Nneg Node number of the node that is connected to the negative (inverting) input terminal of the
operational amplifier.

Npos Node number of the node that is connected to the positive (non-inverting) input terminal of the
operational amplifier.

Nout Node number of the node that is connected to the output terminal of the operational amplifier.

The following diagram illustrates the node numbering convention for the ideal operational amplifier.

┌─────────┐
Nneg ──┤- │
│ │
│ OPAMP ├── Nout
│ │
Npos ──┤+ │
└─────────┘

EXAMPLE

Let us consider the inclusion of an ideal operational amplifier into the crossover network topology. The
opamp’s negative input terminal is connected to node 6, the positive input terminal to node 9, and the output
terminal is connected to node 12.

This opamp can be modelled by the following line of data:

IOA 6 9 12

CALSOD 3.10 and CALSOD 1.40 User's Manual – 93


IPQ

IPQ Fs Re Le Qms Qes α h µ Qls Qps Qas


IPQ Fs Re Kmp Xmp Qms Qes α h µ Qls Qps Qas
IPQ Fs Re Kr Xr Ki Xi Qms Qes α h µ Qls Qps Qas

This submodule is used to create an impedance curve corresponding to a passive-radiator system. It includes
parameters for modelling enclosure leakage and absorption losses, as well as passive radiator losses. The
resulting impedance curve has the twin peaks which are a characteristic of such a system.

IPQ Name of submodule.

Fs Resonance frequency of driver (Hz).

Re DC resistance of the voice-coil of the driver (ohms).

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

α Nondimensional system compliance ratio, = Vas/Vb.

h Nondimensional system tuning ratio, = Fb/Fs.

µ Nondimensional passive radiator compliance ratio, = Vb/Vap = Cab/Cap = 1/δ, where


Vb is the net internal volume of the enclosure, Vap is the equivalent volume of the
passive radiator suspension compliance, Cab is the enclosure acoustic compliance, and
Cap is the acoustic compliance of the passive radiator.

Qls Enclosure Q at Fs resulting from leakage losses.

94 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Qps Passive radiator Q at Fs resulting from passive-radiator losses. If the value for the
mechanical Q of the passive radiator Qmp is known, then the value for Qps may be
estimated from

Qps = (Fs/Fp)×Qmp

where Fp is the resonant frequency of the passive radiator.

Qas Enclosure Q at Fs resulting from absorption losses.

EXAMPLE

Let us consider the impedance response of a passive-radiator system whose enclosure volume is Vb
= 50.0 litres with a system tuning ratio h = 1.55. The Thiele-Small parameters of the driver and passive
radiator are:

Fs = 35.00 Hz Vas = 150.0 litres


Qms = 3.00 Vap = 150.0 litres
Qes = 0.32 Re = 6.30 ohms

The system losses are modelled by setting Qls = 14, Qas = 28, and the passive radiator suspension losses are
assumed to be represented by Qps = 6. The remaining required parameters can be calculated as follows:

α = Vas/Vb = 3.00
μ = Vb/Vap = 0.33

If the voice-coil inductance is assumed to be Le = 0.50E–3 H, then the impedance of the passive-radiator
system can be modelled by any of the three following lines of data:

IPQ 50.0 6.30 0.50E-3 3.0 0.32 3.0 1.5 0.33 14 6 28

IPQ 50.0 6.30 0.50E-3 1.0 3.0 0.32 3.0 1.5 0.33 14 6 28
IPQ 50.0 6.30 0 1 0.50E-3 1.0 3.0 0.32 3.0 1.5 0.33 14 6 28

CALSOD 3.10 and CALSOD 1.40 User's Manual – 95


IPR

IPR Fs Re Le Qms Qes α h QL Qp δ


IPR Fs Re Kmp Xmp Qms Qes α h QL Qp δ
IPR Fs Re Kr Xr Ki Xi Qms Qes α h QL Qp δ

This submodule is used to create an impedance curve corresponding to a passive-radiator system. The
resulting impedance curve has the twin peaks which are a characteristic of such a system.

IPR Name of submodule.

Fs Resonance frequency of driver (Hz).

Re DC resistance of the voice-coil of the driver (ohms).

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

α Nondimensional system compliance ratio, = Vas/Vb.

h Nondimensional system tuning ratio, = Fb/Fs.

QL Enclosure Q at Fb resulting from leakage losses. A typical value for this parameter is QL
= 7. QL is used to approximate all the leakage and absorption losses that are present in
an actual passive-radiator system. To approximate the absence of leakage losses put
QL ≥ 1000.

Qp Passive-radiator Q at Fb resulting from suspension losses. To approximate the lossless


case put Qp ≥ 1000.

δ Nondimensional passive radiator compliance ratio, = Vap/Vb.

96 – CALSOD 3.10 and CALSOD 1.40 User's Manual


EXAMPLE

Let us consider the impedance response of a passive-radiator system whose enclosure volume is Vb
= 50.0 litres with h = 1.55. The Thiele-Small parameters of the driver and passive radiator are:

Fs = 35.00 Hz Vas = 150.0 litres


Qms = 3.00 Vap = 150.0 litres
Qes = 0.32 Re = 6.30 ohms

The system losses are modelled by setting QL = 7, and the passive radiator suspension losses are neglected
by setting Qp = 1000. The remaining required parameters can be calculated as follows:

α = Vas/Vb = 3.00
δ = Vap/Vb = 3.00

If the voice-coil inductance is assumed to be 0.50E–3 H, then the impedance of the passive-radiator system
can be modelled by any of the three following lines of data:

IPR 50.0 6.30 0.50E-3 3.0 0.32 3.0 1.5 7.0 1000.0 3.0

IPR 50.0 6.30 0.50E-3 1.0 3.0 0.32 3.0 1.5 7.0 1000.0 3.0
IPR 50.0 6.30 0 1 0.50E-3 1.0 3.0 0.32 3.0 1.5 7.0 1000 3.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 97


IVB

IVB Fs Re Le Qms Qes α h QL


IVB Fs Re Kmp Xmp Qms Qes α h QL
IVB Fs Re Kr Xr Ki Xi Qms Qes α h QL

This submodule is used to create an impedance curve for a loudspeaker driver in a vented-box enclosure.
The resulting impedance curve has the twin peaks which are a characteristic of a driver in a vented-box.

IVB Name of submodule.

Fs Resonance frequency of driver (Hz).

Re DC resistance of the voice-coil of the driver (ohms).

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

α Nondimensional system compliance ratio, = Vas/Vb.

h Nondimensional system tuning ratio, = Fb/Fs.

QL Enclosure Q at Fb resulting from leakage losses. A typical value for this parameter is QL
= 7. QL is used to approximate all the leakage, absorption and port losses that are
present in a practical vented-box system.

EXAMPLE

Consider the impedance response of a loudspeaker driver in a vented-box enclosure whose volume is Vb
= 15 litres and the port is tuned to Fb = 55 Hz. The driver’s Thiele-Small parameters are:

98 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Fs = 50.00 Hz Qms = 3.00 Re = 6.30 ohms
Vas = 45.00 litres Qes = 0.40
α = Vas/Vb = 3.00 h = Fb/Fs = 1.10

Assuming that QL = 7.0 (a typical value), and that the voice-coil inductance is 0.50E–3 H, the impedance of
the driver in the vented-box can be modelled by any of the three following lines of data:

IVB 50.0 6.30 0.50E-3 0.40 3.00 3.00 1.00 7.0


IVB 50.0 6.30 0.50E-3 1.00 0.40 3.00 3.00 1.00 7.0

IVB 50.0 6.30 0.0 0.0 0.50E-3 1.0 0.40 3.00 3.00 1.00 7.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 99


IVQ

IVQ Fs Re Le Qms Qes α h Qls Qps Qas


IVQ Fs Re Kmp Xmp Qms Qes α h Qls Qps Qas
IVQ Fs Re Kr Xr Ki Xi Qms Qes α h Qls Qps Qas

This submodule is used to create an impedance curve for a loudspeaker driver in a vented-box enclosure. It
includes parameters for modelling enclosure leakage and absorption losses, as well as port losses.

The resulting impedance curve has the twin peaks which are a characteristic of a driver in a vented-box.

IVQ Name of submodule.

Fs Resonance frequency of driver (Hz).

Re DC resistance of the voice-coil of the driver (ohms).

Le Inductance of the voice-coil of the driver (henries).

Kmp Xmp Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. This particular model has minimum-phase characteristics and the
mathematical expression used for calculating the contribution to the impedance is

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Kr Xr Ki Xi Parameters used to model the high-frequency impedance rise normally attributed to the
voice-coil inductance. The mathematical expression used for calculating the contribution
to the impedance is

Xr Xi
Z = Kr×(2πF) + j Ki×(2πF)

For further details see the section describing the modelling of the voice-coil inductance
of loudspeaker drivers.

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

α Nondimensional system compliance ratio, = Vas/Vb.

h Nondimensional system tuning ratio, = Fb/Fs.

Qls Enclosure Q at Fs resulting from leakage losses.

Qps Port Q at Fs resulting from port losses.

Qas Enclosure Q at Fs resulting from absorption losses.

A number of design tables for vented-box low-frequency alignments are included in the section describing
the SVB submodule.

100 – CALSOD 3.10 and CALSOD 1.40 User's Manual


For a vented enclosure that is reasonably airtight, has a minimal amount of internal damping material, and a
well-designed port, typical Q values are Qas = 28, Qls = 14, and Qps = 28. This yields an overall enclosure
loss factor Qb of

1
Qb = ───────────────────── = 7.0
1/Qas + 1/Qls + 1/Qps

EXAMPLE

Consider the impedance response of a loudspeaker driver in a vented-box enclosure whose volume is Vb
= 15 litres and the port is tuned to Fb = 55 Hz. The driver’s Thiele-Small and system tuning parameters are:

Fs = 50.00 Hz h = Fb/Fs = 1.10


Vas = 45.00 litres α = Vas/Vb = 3.00
Re = 6.30 ohms
Qms = 3.00
Qes = 0.40

It is assumed the enclosure and port losses will be modelled by setting Qas = 28, Qls = 14, and Qps = 28,
and that the voice-coil inductance is Le = 0.50E–3 H. The impedance of the driver in the vented-box can be
modelled by any of the three following lines of data:

IVQ 50.0 6.30 0.50E-3 0.40 3.00 3.00 1.00 14 28 28

IVQ 50.0 6.30 0.50E-3 1.00 0.40 3.00 3.00 1.00 14 28 28


IVQ 50.0 6.30 0.0 0.0 0.50E-3 1.0 0.40 3.00 3.00 1.00 14 28 28

CALSOD 3.10 and CALSOD 1.40 User's Manual – 101


LKR

LKR Fo Order Type

This submodule is used to introduce the response characteristic of a Linkwitz-Riley filter. Highpass,
lowpass and allpass filter responses can be defined. The allpass functions may prove useful in equalizing the
phase response of a driver model so that it matches more closely experimental data obtained for a driver that
is only approximately minimum-phase.

LKR Name of submodule.

Fo Frequency of normalization for the Linkwitz-Riley filter response characteristic (Hz). This is
also known as the cutoff frequency or the –6 dB frequency for this filter type. If an allpass
response is specified, then Fo corresponds to the crossover frequency of the complementary
lowpass and highpass responses.

Order The order of the Linkwitz-Riley filter response characteristic. The allowable orders are 2, 4, 6,
and 8, and the asymptotic slope beyond the cutoff frequency is given as Order×6 dB/octave.

Type If Type = HIGHPASS then the response represents a highpass filter.

If Type = LOWPASS then the response represents a lowpass filter.

If Type = ALLPASS then the response represents an allpass filter.

EXAMPLE

Let us consider the response associated with a second-order Linkwitz-Riley lowpass filter with a –6 dB
point at 1000 Hz. The filter response slope in the stopband is 12 dB/octave, and the filter characteristic can
be modelled by the following line of data:

LKR 1000.0 2 LOWPASS

102 – CALSOD 3.10 and CALSOD 1.40 User's Manual


MPE

MPE Fo Qeq Deq Type


MPE Fo Qeq Deq Type VarQD

This submodule is used to introduce minimum-phase equalization to the sound pressure and impedance
transfer function approximations created to model a particular loudspeaker driver. By using the MPE
submodule you can accurately represent the peaks and dips that may be present in the driver’s performance
characteristics.

MPE Name of submodule.

Fo Frequency at which the equalization is applied (Hz).

Qeq Equalization Q. The larger the value of Qeq the sharper the peak or dip that is introduced. The
value of Qeq is defined as Qeq = Fo/(Fhi - Flo), where Fhi and Flo are the frequencies above
and below Fo at which the height of the equalization peak or dip is 0.7071 of its value at Fo.

Deq Minimum-phase deviation that is to be introduced at frequency Fo. The value of Deq may be
input in dB or as a linear ratio, depending on the Type parameter that is specified.

Type If Type = DB then Deq is input using a decibel scale.

If Type = LINEAR then Deq is input using a linear scale.

If Type = DB and Deq < 0 then a notch is introduced


Deq > 0 then a peak is introduced
Deq = 0 then no deviation occurs

If Type = LINEAR and Deq < 1 then a notch is introduced


Deq > 1 then a peak is introduced
Deq = 1 then no deviation occurs

In general, the DB option is used when equalizing sound pressure transfer functions, and the
LINEAR option is used when equalizing impedance transfer functions.

VarQD If VarQD = FIXED then Qeq and Deq will not be varied by the curve-fitting optimizer.

If VarQD = VARIABLE then Qeq and Deq will be varied by the curve-fitting optimizer.

Note that VarQD is an optional parameter and need not be explicitly specified. If it is omitted,
then VarQD will automatically be set to FIXED, which means that the Qeq and Deq parameters
for this submodule cannot be varied by the curve-fitting optimizer.

EXAMPLE

Let us introduce a minimum-phase 3.0 dB peak at a frequency of 1000 Hz. The peak is to have a Qeq = 20.0,
which corresponds to a relatively sharp peak. The line of data is:

MPE 1000.0 20.0 3.0 DB

As another example, let us introduce a minimum-phase dip at a frequency of 300 Hz. The dip has a Qeq
= 1.0, which corresponds to a dip that is relatively wide. At the frequency where the dip is introduced, the

CALSOD 3.10 and CALSOD 1.40 User's Manual – 103


magnitude of the response is to be reduced to 0.50 of its original value (this corresponds to a dip of 6.0 dB).
This dip may be modelled by the following line of data:

MPE 300.0 1.0 0.50 LINEAR

By default, the Qeq and Deq parameters of the above MPE submodule will not be allowed to vary during
any optimization of the MPE submodules used in a curve-fit of a driver’s response characteristics. If we
wish the Qeq and Deq parameters of this submodule to be variable, then all we need to do is add the
VARIABLE option to the end of the line of data:

MPE 300.0 1.0 0.50 LINEAR VARIABLE

104 – CALSOD 3.10 and CALSOD 1.40 User's Manual


MRX

MRX Kmp Xmp Nlow Nhigh Type

This submodule is used to introduce a minimum-phase frequency-dependent impedance component into the
crossover network circuit topology.

MRX Name of submodule.

Kmp Xmp Parameters used to specify the impedance characteristic of this component. The equation
governing its impedance behaviour is defined below:

Xmp
Z = Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)

This particular impedance model has minimum-phase characteristics. If Xmp = 1.0, then
the value of Kmp is equivalent to that of an inductor.

Nlow Node number of the node with the lowest node number to which the inductor is
connected in the circuit topology.

Nhigh Node number of the node with the highest node number to which the inductor is
connected in the circuit topology.

Type If Type = VARIABLE then the Kmp and Xmp parameter values can vary during the
optimization process.

If Type = FIXED then the Kmp and Xmp parameter values remain fixed and do not vary
during the optimization process.

SPECIAL FEATURES

This component type is included primarily to allow the user to model the frequency-dependent nature of a
loudspeaker driver’s voice coil inductance. In particular, if the electrical equivalent circuit of a driver in a
vented-box or closed-box enclosure is created by the user, the MRX submodule can be used in place of the
conventional IND submodule. When the impedance optimizer is used to provide an estimate of the
component values that best fit the measured impedance data, the MRX component can also be allowed to
vary to improve the accuracy of the curve-fit at high frequencies.

Please note that this component must be set to FIXED if a circuit optimization is carried out to achieve a
target sound pressure response.

EXAMPLE

Let us consider the inclusion of a 1.25 mH inductor into the crossover network topology. The inductor is to
be connected between nodes 12 and 5 in the filter circuit, and it is to be permitted to vary during the
optimization procedure. This inductor can be modelled by the following line of data:

MRX 1.25E-03 1.000 5 12 VARIABLE

It is also possible to supply different combinations of the Kmp and Xmp parameters in order to include a
component where both the resistive and reactive parts are frequency dependent. For example, if we wish to
introduce a component whose phase response is a constant 45° of phase shift, we can use the following line
of data:

MRX 5.00E-03 0.500 5 12 VARIABLE

CALSOD 3.10 and CALSOD 1.40 User's Manual – 105


OCC

OCC Nlow Nhigh

This submodule is used to introduce an open circuit into the crossover network circuit topology. The use of
an open circuit is convenient if we wish to remove a component from the network without affecting the node
numbering. All you need to do is add an OCC submodule across the terminals of the component that you
wish to bypass.

An enhancement has also been added to improve the ease of use of the OCC submodule. In order to learn
how to use this enhanced mode of operation, please read the description provided after the initial example.

OCC Name of submodule.

Nlow Node number of the node with the lowest node number to which the open circuit is connected in
the network topology.

Nhigh Node number of the node with the highest node number to which the open circuit is connected in
the network topology.

EXAMPLE

Let us consider incorporating an open circuit into the crossover network circuit topology. It will be assumed
that the open circuit is to be connected between nodes 12 and 5 in the filter circuit. This open circuit can be
modelled by the following line of data:

OCC 5 12

ENHANCEMENT TO OCC SUBMODULE

It is also possible to replace (overtype in the editor) the submodule names RES, CAP, IND, and SPK with
OCC and those components will behave as if they were open circuited. Note that only the node numbers of
what were RES/CAP/IND/SPK submodules are used – all the other parameters are ignored.

The way this feature works is that the OCC submodule parser checks the number of tokens present on the
line. If there are three tokens, then the module is identified as a standard OCC submodule. If there are more
tokens that match in number with those from RES/CAP/IND/SPK submodules, then only the node numbers
are read in. You can usually quite easily recognise whether an OCC-ed component is a RES/CAP/IND by
just looking at its magnitude value, so you can quickly restore them to their original configuration if
required.

For example, say we wish to remove an existing RES submodule from our circuit definition. The RES
submodule would typically look something like this:

RES 8.0 1 2 VARIABLE

To remove this component without affecting the node numbering, and without having to type in another line
of data, we can use the OCC submodule to replace the above line with the following:

OCC 8.0 1 2 VARIABLE

Although the above OCC submodule does not match with the pure definition, the OCC parser will interpret
this line of data just like a standard OCC submodule. Only the node numbers will be used, and all other
tokens of data will be ignored.

106 – CALSOD 3.10 and CALSOD 1.40 User's Manual


PEC

PEC M1 M2 Vb1 Vb2 Sd


PEC M1 M2 Vb1 Vb2 Diam Eratio

This submodule is used to specify the conditions associated with a set of two impedance response
measurements that have been taken in order to estimate the Thiele-Small parameters of a driver. The driver
impedance measurements are taken under two different sets of conditions where either the mass loading or
enclosure loading conditions have been varied.

In order to use this feature, it is necessary for the user to create a CIRCUIT module that defines the
electrical equivalent circuit of a driver. The circuit must have a very specific format, which is described in
the design example elsewhere in this manual, and it is appropriate for modelling either a driver in free air or
in a closed-box enclosure. If the special format of the equivalent circuit is not used, then CALSOD will not
be able to carry out the optimization of the equivalent circuit to produce estimates of the driver’s Thiele-
Small parameters.

PEC Name of submodule.

M1 Added mass corresponding to the first measurement condition (kg). A value of M1 = 0.0 should
be used if no added mass was used for this measurement condition.

M2 Added mass corresponding to the second measurement condition (kg). A value of M2 = 0.0
should be used if no added mass was used for this measurement condition.

Vb1 Box volume corresponding to the first measurement condition (m³). A value of Vb1 = 0.0 is used
to indicate that no enclosure loading has been used for this measurement condition.
Alternatively, a very large enclosure volume can be used to simulate the same condition (say
Vb1 = 10000.0E-3 m³).

Vb2 Box volume corresponding to the second measurement condition (m³). A value of Vb2 = 0.0 is
used to indicate that no enclosure loading has been used for this measurement condition.
Alternatively, a very large enclosure volume can be used to simulate the same condition (say
Vb2 = 10000.0E-3 m³).

Sd Effective diaphragm area of the loudspeaker driver (m²).

Diam Diameter of loudspeaker driver (m).

Eratio Ratio of effective driver piston diameter to the nominal driver diameter. The formula that
CALSOD uses to compute the effective diaphragm area Sd is

Sd = π×(Diam×Eratio)²/4

For most drivers, a value of Eratio ≈ 0.80 can be used.

SPECIAL REQUIREMENTS

If the driver impedance curves have been measured under different mass loading conditions, then the values
of Vb1 and Vb2 must be set to zero to indicate that enclosure loading was not used. On the other hand, if the
driver impedance curves were measured under different enclosure loading conditions, then the values of M1
and M2 must be set to zero to indicate that mass loading was not used. It is not possible to simultaneously
use both mass loading and enclosure loading.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 107


In order to maximize the accuracy of the estimated Thiele-Small parameters, it is suggested that the shift in
driver resonance frequency be at least 30%, although a shift of 50% to 100% is to be preferred. If you use
the enclosure loading method, you must ensure that the cabinet is completely sealed and does not contain
any stuffing material that can influence the stiffness of the air in the enclosure or introduce any additional
losses that will effect the impedance.

EXAMPLE

Let us consider a loudspeaker driver whose nominal diaphragm diameter is Diam = 0.300 m. If we assume
that the diaphragm effectiveness ratio for this driver is Eratio = 0.80, then the effective diameter of the
driver is calculated to be 0.300×0.80 = 0.240. Therefore, the effective diaphragm area of the driver is Sd
= π×0.240²/4 = 0.0452 m².

To illustrate the use of the PEC submodule when utilizing changes in mass loading for this driver, we will
assume that one set of impedance measurements was taken with the driver measured in free air with no
added mass, which corresponds to M1 = 0.0 kg. A second impedance measurement was also taken with an
added mass of M2 = 30.0E–3 kg (= 30 grams) being attached to the cone. The two different forms of PEC
submodule that can be used to specify the measurement conditions for CALSOD’s Thiele-Small parameter
optimizer are shown below:

PEC 0.0E-3 30.0E-3 0 0 0.0452

PEC 0.0E-3 30.0E-3 0 0 0.3000 0.80

Now consider the case where the driver impedance is measured under two different sets of enclosure loading
conditions. One measurement simply corresponds to the driver being measured in free-air, which means that
we must specify Vb1 = 0.0 m³. The second measurement corresponds to an impedance measurement taken
while the driver is mounted in a closed box of volume Vb2 = 20.0E–3 m³ (= 20.0 litres). The two different
forms of PEC submodule that can be used to specify the measurement conditions for CALSOD’s Thiele-
Small parameter optimizer are shown below:

PEC 0 0 0.0E-3 20.0E-3 0.0452

PEC 0 0 0.0E-3 20.0E-3 0.3000 0.80

In the each of the above examples, the pairs of PEC submodules for either mass-loading or enclosure-
loading conditions simply correspond to the two different methods of specifying the effective driver
diaphragm area.

In some situations it may be convenient to measure the driver under conditions that include initial values of
either M1 or Vb1. This means that both M1 and M2 or both Vb1 and Vb2 have non-zero values. This is still
a valid measurement situation that can be handled by the PEC submodule.

For example, if the above driver was measured under two sets of mass loading conditions corresponding to
added masses of M1 = 15.0E–3 kg and M2 = 40.0E–3 kg, then the possible variations of the PEC submodule
would be:

PEC 15.0E-3 40.0E-3 0 0 0.0452


PEC 15.0E-3 40.0E-3 0 0 0.3000 0.80

Alternatively, if the same driver was measured under two sets of enclosure loading conditions corresponding
to enclosure volumes of Vb1 = 18.0E–3 m³ and Vb2 = 35.0E–3 m³, then the possible variations of the PEC
submodule would be:

PEC 0 0 18.0E-3 35.0E-3 0.0452


PEC 0 0 18.0E-3 35.0E-3 0.3000 0.80

108 – CALSOD 3.10 and CALSOD 1.40 User's Manual


It is also worth noting that the order of the values M1 and M2 or Vb1 and Vb2 is not particularly important.
By this we mean that it is possible for you to input data where M2 < M1 or Vb2 < Vb1. CALSOD will scan
the data in the two sets of impedance measurements that you must supply and will automatically choose the
mass loading or enclosure loading conditions corresponding to each measurement. For the mass loading
case, this is based on simple physical reasoning that the impedance peak with the lowest resonance
frequency must correspond to the largest added mass. In the case of measurements based on changes in
enclosure loading, keeping in mind that a zero value for Vb1 or Vb2 actually represents an infinite enclosure
volume, the impedance peak with the higher resonance frequency corresponds to the smaller (non-zero)
value of enclosure volume.

A more complete example of how to carry out Thiele-Small parameter estimation using two sets of
impedance measurements made under different mass-loading or enclosure-loading conditions is described
elsewhere in this manual.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 109


RAB

RAB R α β WtVal Type

This submodule is used to input the coordinates of an observation point for which response functions are to
be computed. The set of observation points that are normally of interest are those that are a fixed radius
from the origin, where the principal radiation axis of the radiator (or system of radiators) lies parallel to the
Z-axis of the global Cartesian coordinate system. A spherical coordinate system (R,α,β) is used in order to
make it easy to specify the on-axis and various off-axis observation points.

RAB Name of submodule.

R The distance of the observation point from the origin of the (R,α,β) axis system (metres). Note
that the origin of the (X,Y,Z) axis system is coincident with that of the (R,α,β) axis system.

α Angle of observation with respect to the XZ-plane (degrees). Positive when measured going from
the Z- to the Y-axis. The angle α must lie in the range –90° ≤ α ≤ 90°.

β Angle of observation with respect to the YZ-plane (degrees). Positive when measured going from
the Z- to the X-axis. The angle β must lie in the range –90° ≤ β ≤ 90°.

WtVal The value of the weight that will be applied to the error residuals for this observation point if it is
used by the optimizer. WtVal is usually set to 1.0 for all RAB submodules. If a value greater than
1.0 is used for any RAB submodule, then this causes the optimizer to place a higher emphasis on
the contribution of this observation point to the error function. WtVal must lie in the range
0 ≤ WtVal ≤ 1000.

Type If Type = ACTIVE then this observation point will be used to compute the summed sound
pressure response for use by the SPL optimizer.

If Type = INACTIVE then the sound pressure response corresponding to this observation point
will be computed only in order to display additional response curves.

RESTRICTIONS: A maximum of 5 RAB submodules may be specified in the TARGET SPL module.
Also, the RAB submodules cannot co-exist with an XYZ submodule.

When specifying the (R,α,β) coordinates of the observation point, the user should keep in mind the
additional influence of the off-axis radiation patterns of the chosen drivers. For improved accuracy, it is
suggested that the EPD submodule be used to specify an effective piston diameter for each driver. In this
way the off-axis radiation characteristics of the individual drivers will be included in the simulation. This is
particularly important if an observation point is significantly off-axis relative to the principal axes of any of
the drivers in a multiway system.

EXAMPLE

Let us assume that we have a woofer and tweeter located at the following coordinates in space:

110 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Y-axis


+ TWEETER (X,Y,Z) = (0.0,+0.1,0.0)


────────────┼──────────── X-axis
/│
/ │
/ + WOOFER (X,Y,Z) = (0.0,-0.1,0.0)
/ │
/
+ TARGET OBSERVATION POINT
/
/
Z-axis

It is assumed that the principal radiation axis of both drivers is facing in the positive Z-direction. It is
desired to set up the observation point for the summed acoustic output of these two drivers at a point on the
Z-axis that is 2.0 metres from the origin of the coordinate system. If this observation point is to be used by
the optimizer then the line of data to accomplish this is given as follows, assuming that we wish WtVal to be
equal to 1.0:

RAB 2.0 0.0 0.0 1.0 ACTIVE

If the observation point was located at (X,Y,Z) = (1.0, 1.0, 1.0) then the corresponding RAB submodule
would be:

RAB 1.732 35.3 45.0 1.0 ACTIVE

In order to understand how to determine the angles α and β for the above case, please refer to the diagram
shown below. This shows the observation point E located at the coordinates (X,Y,Z) = (1,1,1).

Y-axis

1.0──∙B
│\
│ \
│ \
│ \
│ \ (X,Y,Z) = (1, 1, 1)
│ +E
│ /│ (R,α,β) = (√3, 35.3°, 45°)
│ / │
│ / │
│ / │ 1.0
│/ │ │
O∙─────│─────∙───── X-axis
/ \ │ /A
/ \ │ /
/ \ │ /
/ \ │ /
/ \│/ α = angle EOD
1.0──∙───────────∙D β = angle DOC
/C
/
Z-axis

The angle α is the angle of observation with respect to the XZ-plane. In the above diagram it is the angle
EOD. The angle β is the angle of observation with respect to the YZ-plane. In the above diagram it is the
angle DOC. Since the points COAD define a square, the angle β = 45°. The length of the line OD = √2
= 1.414 metres, and the length of the line OE = √3 = 1.732 metres. Therefore, the angle α = acos(√2/√3)
= 35.264°.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 111


RES

RES Value Nlow Nhigh Type

This submodule is used to introduce a resistor into the crossover network circuit topology.

RES Name of submodule.

Value The value of the resistor (ohms).

Nlow Node number of the node with the lowest node number to which the resistor is connected in the
circuit topology.

Nhigh Node number of the node with the highest node number to which the resistor is connected in the
circuit topology.

Type If Type = VARIABLE then the component value can vary during the optimization procedure.

If Type = FIXED then the component value remains fixed and does not vary during the
optimization procedure.

EXAMPLE

Let us consider the inclusion of a 4.7 ohm resistor into the crossover network circuit topology. It will be
assumed that the resistor is to be connected between nodes 12 and 5 in the filter circuit. Also, this resistor is
to be permitted to vary during the optimization procedure. This resistor can be modelled by the following
line of data:

RES 4.70 5 12 VARIABLE

If the resistor was to keep a constant value during the optimization procedure, then it would have been
modelled by the following line of data:

RES 4.70 5 12 FIXED

112 – CALSOD 3.10 and CALSOD 1.40 User's Manual


RGE

RGE N

This submodule is used to create a room gain equalization function. This can be used to model the low-
frequency boost in sound pressure response that occurs when a loudspeaker is placed close to room
boundaries.

RGE Name of submodule.

N Value used to select the room gain function to be used.

If N = 1, then the room gain function is based on data provided by Colloms in “High
Performance Loudspeakers”, Fifth Edition. A boost of 8 dB is obtained at frequencies below
about 20 Hz, reducing to 4 dB at 50 Hz, and being less than 1 dB at frequencies above 200 Hz. In
the frequency range between 200 Hz and 20 Hz, the low-frequency boost occurs at a rate of
about 5 dB/octave.

If N = 2, then the room gain function provides less bass boost in the frequency range between
25 Hz and 200 Hz than that which is obtained for N = 1. A boost of 8 dB is produced at
frequencies below about 20 Hz, reducing to 5 dB at 30 Hz, 2.5 dB at 40 Hz and 1 dB at 70 Hz.

For a loudspeaker placed in a corner location where three surfaces meet, the theoretical maximum room gain
is equal to 9 dB. The room gain functions included in the RGE submodule only provide a maximum room
gain of about 8 dB at very low frequencies. This behaviour generally better represents the results that are
obtained in most listening rooms which do not have perfectly rigid walls and floors.

EXAMPLE

Let us assume that we have a loudspeaker driver mounted in a closed-box enclosure. The driver’s resonance
frequency is Fs = 35 Hz and Qts = 0.35. The driver is mounted in an enclosure such that the effective value
of the ratio Vas/Vb is assumed to be α = 3.0. This produces a system cutoff frequency of approximately
70 Hz, and the Q of this alignment is Qtc = 0.70, resulting in an almost maximally flat response. The
required DRIVER module will look like:

DRIVER 1
CB (No RGE)
SOUND PRESSURE
SEN 90.0 DB
SCB 35.0 0.35 3.0

To model the effect of low-frequency room gain on the sound pressure response of this system, we use the
following modified DRIVER module:

DRIVER 1
CB + RGE
SOUND PRESSURE
SEN 90.0 DB
SCB 35.0 0.35 3.0
RGE 1

The low-frequency boost introduced by the room gain function results in an extension of the low-frequency
performance of this closed-box system. The –3 dB point is now at about 49 Hz compared to the original
70 Hz. However, there is a small peak of about 1 dB in the low-frequency response at about 100 Hz. This
peak can be reduced by modifying the low-frequency alignment to be more highly damped, and this is
achieved by lowering the system Q factor.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 113


SBP

SBP Fs Qts α1 α2 h QL Qp Qb δ
SBP Fc Qtc 0 αT Hc QL Qp Qb δ

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a bandpass enclosure with a sealed rear chamber. The bandpass systems that can be modelled are shown
below, and include ported and passive-radiator enclosures:

╔═════════════════════╗ ╔═════════════════════╗
║ BOX 1 ║ ║ BOX 1 ║
║ ║ ║ ║
║ ▄▄▄▄▄▄▄▄▄▄▄▄▄ ║ ║ ▄▄▄▄▄▄▄▄▄▄▄▄▄ ║
║ █████████████ ║ ║ █████████████ ║
║ / \ ║ ║ / \ ║
║ / \ ║ ║ / \ ║
║ ▄▄/ \▄▄ ║ ║ ▄▄/ \▄▄ ║
╠═══ ═══╣ ╠═══ ═══╣
║ ║ ║ ║
║ > ║ ║
║ ▌ ║ ─────────╜
║ Passive ▌ ║ Port
║ Radiator ▌ ║ ─────────╖
║ ▌ ║ ║
║ > ║ ║
║ BOX 2 ║ ║ BOX 2 ║
╚═════════════════════╝ ╚═════════════════════╝

Note the reverse layout of the driver in relation to the port or passive radiator compared to the usual
situation in a vented or passive-radiator enclosure, even though the driver is still connected with positive
polarity for this configuration.

Further details about bandpass loudspeaker systems can be found in technical papers written by Fincham
(1979) and Geddes (1989) which are listed in the bibliography. In particular, if a bandpass system is fed
through a first-order bandpass electrical filter, then an increase in bandwidth can result from a suitable
choice of parameters (see comments later in this section).

SBP Name of submodule.

Fs Resonance frequency of driver (Hz).

Fc Resonance frequency of driver when loaded by the volume of box 1 (Hz), = Fs×√(1+α1).

Qts Total driver Q at Fs resulting from all driver resistances, = 1/(1/Qes + 1/Qms).

Qtc Total driver Q at Fc of the drive unit mounted in box 1 resulting from all driver resistances and
all enclosure losses in box 1, = 1/(1/Qec + 1/Qmc) ≈ Qts×√(1 + α1)

α1 Nondimensional compliance ratio of box 1, = Vas/Vb1.

α2 Nondimensional compliance ratio of box 2, = Vas/Vb2.

αT Nondimensional total compliance ratio for box 1 and box 2, = α2/(1 + α1).

h Nondimensional system tuning ratio, = Fb/Fs. Fb is the resonance frequency of the port or
passive radiator in box 2. For a symmetrical bandpass response, h = √(1 + α1).

114 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Hc Nondimensional system tuning ratio, = Fb/Fc. Fb is the resonance frequency of the passive
radiator or port in box 2. For a symmetrical bandpass response Hc = 1, which means the
resonance frequency of the port or passive radiator is the same as the resonance frequency of the
driver when loaded by the volume of box 1.

QL Enclosure Q at Fb resulting from leakage losses in box 2. To approximate the absence of leakage
losses put QL ≥ 1000.

Qp Port or passive-radiator Q at Fb resulting from flow losses in the port or suspension losses in the
passive radiator. To approximate the lossless case put Qp ≥ 1000.

Qb Enclosure Q at Fb resulting from absorption losses in box 2. To approximate the absence of


absorption losses put Qb ≥ 1000.

δ Nondimensional passive radiator compliance ratio, = Vap/Vb2. If a port is being used, then set
δ ≥ 1000 to remove the effects of this parameter from the response equations. This simulates an
infinite passive-radiator compliance.

A common practical condition in a bandpass system using a passive-radiator is δ = α, which


implies that Vap = Vas. It results from the passive radiator often being made from the same
frame and suspension as the driver, with the magnet and voice-coil omitted.

The passive radiator tuning ratio is given by y = Fp/Fs, where Fp is the resonance frequency of
the passive radiator mounted on a baffle simulating the final enclosure loading. In order to obtain
the desired system resonance Fb, the required resonance frequency of the passive radiator is
given by Fp = h×Fs/√(1+δ).

COMMENTS ON SECOND-ORDER BANDPASS SYSTEMS

Inspection of the above input data formats shows that there are two ways to set up a model of a driver in a
bandpass enclosure. They are both entirely equivalent, although in some situations the second data format
(using Fc, Qtc, αT, and Hc) may be preferred. This format corresponds closely to the parameter studies
presented by Fincham (1979). For a maximally flat Butterworth bandpass alignment in a lossless system,
Fincham has shown that the parameters Qtc and αT are related by the equation:

Qtc²×αT = 0.5

This expression can also be re-written, albeit in a slightly less useful form, as:

Qts²×α2 = 0.5

The trade-off between bandwidth and relative sensitivity (relative to a closed box system with the same
driver) for different values of αT and Qtc is summarized in the table below:

┌─────┬──────┬─────────┬───────────┐
│ αT │ Qtc │Bandwidth│ Relative │
│ │ │ Fh/Fl │Sensitivity│
├─────┼──────┼─────────┼───────────┤
│ 0.5 │ 1.00 │ 2.00 │ +6.0 dB │
│ 1.0 │ 0.71 │ 2.62 │ 0.0 dB │
│ 2.0 │ 0.50 │ 3.73 │ -6.0 dB │
│ 3.0 │ 0.41 │ 4.79 │ -9.5 dB │
│ 4.0 │ 0.35 │ 5.85 │ -12.0 dB │
└─────┴──────┴─────────┴───────────┘

The relative sensitivity can be conveniently expressed as:

Srel = -20×log10(αT)

CALSOD 3.10 and CALSOD 1.40 User's Manual – 115


In order to convert the theoretical values to a practical bandpass loudspeaker system, the following formulas
must be used:

α1 = (Qtc² - Qts²)/Qts² Vb1 = Vas/α1


α2 = αT×(1 + α1) Vb2 = Vas/α2

h = Hc×√(1 + α1) Fb = h×Fs

From the equation for α1, it is clear that for a physically realizable system, Qtc > Qts by a reasonable
margin, otherwise the volume of box 1 will be very large.

COMMENTS ON THIRD-ORDER BANDPASS SYSTEMS

Fincham (1979) has also described a bandpass system fed through a first-order electrical filter. This
typically results in third-order slopes for the high- and low-frequency rolloffs, giving rise to the name third-
order bandpass system.

If L and C are the external inductor and capacitor used to provide the first-order bandpass electrical filter,
then for a lossless system their values are chosen so that:

L×C = 1/(2π×Fc)²

In order to simulate the required third-order bandpass response, the L and C values can be included in the
CIRCUIT module.

For a Butterworth bandpass response, we require that:

Qtc×αT×α2 = 4/3

The required values of Qtc and αT for a third-order Butterworth response are given in the table below.
Comparing these values with those given previously, it is evident that the third-order bandpass system is
always more efficient than the second-order, and increasingly so for higher values.

┌─────┬──────┬─────────┬───────────┐
│ αT │ Qtc │Bandwidth│ Relative │
│ │ │ Fh/Fl │Sensitivity│
├─────┼──────┼─────────┼───────────┤
│ 0.5 │ 1.33 │ 2.62 │ +4.8 dB │
│ 1.0 │ 0.94 │ 3.73 │ +4.3 dB │
│ 2.0 │ 0.67 │ 5.83 │ +4.0 dB │
│ 3.0 │ 0.54 │ 7.87 │ +3.8 dB │
└─────┴──────┴─────────┴───────────┘

EXAMPLE

Let us consider the sound pressure response of a ported bandpass loudspeaker whose system parameters are
as follows:

Fc = 80 Hz Qtc = 1.00 αT = 0.50

Since Qtc×√(αT) = 0.7071, this set of parameters will create a maximally flat bandpass response, but only if
Hc = Fb/Fc = 1. Because we are designing a ported bandpass system we must set δ = 1000 because there is
no passive-radiator compliance to be included.

The sound pressure response of the bandpass system can then be modelled by the following line of data:

SBP 80.0 1.00 0 0.50 1.00 1000 1000 1000 1000

116 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Note that we must use the second format for the data line (that has the parameter after Qtc and before αT
always set to zero), and the lossless enclosure has been simulated by setting QL = Qp = Qb = 1000.

Let us assume that we wish to use an actual driver whose free air Thiele-Small parameters are:

Fs = 40 Hz Qts = 0.50 Vas = 120 litres

The theoretical alignment described above can then be implemented by making some additional
computations to determine the various enclosure parameters:

α1 = (Qtc² - Qts²)/Qts² = 3.0 Vb1 = Vas/α1 = 40 litres


α2 = αT×(1 + α1) = 2.0 Vb2 = Vas/α2 = 60 litres
h = Hc×√(1 + α1) = 2.0 Fb = h×Fs = 80 Hz

and the sound pressure response can be modelled by the following line of data:

SBP 40.0 0.50 3.0 2.0 2.0 1000 1000 1000 1000

Note that the sound pressure response function created by the above line of data is identical to the one
generated by the data line described previously.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 117


SCB

SCB Fs Qts α

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a closed-box enclosure. This is a second-order (12 dB/octave rolloff) highpass filter function. The effects
of the voice-coil inductance are not included in this function, but can be readily simulated by combining
SCB with other submodules (such as FIL) which can introduce the required rolloff in the high frequency
range.

SCB Name of submodule.

Fs Resonance frequency of driver (Hz).

Qts Total driver Q at Fs resulting from all driver resistances. Qts may be calculated using the
following formula:

Qts = 1/(1/Qes + 1/Qms)

α Nondimensional system compliance ratio, = Vas/Vb.

Many closed boxes contain filling material which helps to damp standing waves within the enclosure at
frequencies in the upper piston range and higher. If the filling material is chosen for low density but high
specific heat, the air compression inside the enclosure tends to be partly or completely altered from
adiabatic to isothermal. This increases the effective compliance of the enclosure, which is equivalent to
increasing the size of the unfilled enclosure. The maximum theoretical increase in compliance is 40%, but
using practical materials the actual increase is probably never more than about 25%. An ancillary effect is
an increase in the total moving mass of the system. Depending on the initial diaphragm mass and the
conditions of filling, the mass increase may vary from negligible proportions to as much as 20% (Small,
1972).

EXAMPLE

Let us consider the sound pressure response associated with a loudspeaker driver in a closed-box enclosure
whose volume is Vb = 15.0 litres. The Thiele-Small parameters of the driver are as follows:

Fs = 50.00 Hz
Qms = 3.00
Qes = 0.40
Vas = 45.00 litres

The required parameters can be calculated as follows:

Qts = 1/(1/Qms+1/Qes) = 0.35


α = Vas/Vb = 3.00

The sound pressure response of the driver in the closed-box enclosure can be modelled by the following line
of data:

SCB 50.0 0.35 3.0

118 – CALSOD 3.10 and CALSOD 1.40 User's Manual


SCC

SCC Nlow Nhigh

This submodule is used to introduce a short circuit into the crossover network circuit topology. The use of a
short circuit is convenient if we wish to remove a component from the network without affecting the node
numbering. All you need to do is add an SCC submodule across the terminals of the component that you
wish to bypass.

An enhancement has also been added to improve the ease of use of the SCC submodule. In order to learn
how to use this enhanced mode of operation, please read the description provided after the initial example.

SCC Name of submodule.

Nlow Node number of the node with the lowest node number to which the short circuit is connected in
the network topology.

Nhigh Node number of the node with the highest node number to which the short circuit is connected in
the network topology.

EXAMPLE

Let us consider incorporating a short circuit into the crossover network circuit topology. It will be assumed
that the short circuit is to be connected between nodes 12 and 5 in the filter circuit. This short circuit can be
modelled by the following line of data:

SCC 5 12

ENHANCEMENT TO SCC SUBMODULE

It is also possible to replace (overtype in the editor) the submodule names RES, CAP, IND, and SPK with
SCC and those components will behave as if they were short circuited. Note that only the node numbers of
what were RES/CAP/IND/SPK submodules are used – all the other parameters are ignored.

The way this feature works is that the SCC submodule parser checks the number of tokens present on the
line. If there are three tokens, then the module is identified as a standard SCC submodule. If there are more
tokens that match in number with those from RES/CAP/IND/SPK submodules, then only the node numbers
are read in. You can usually quite easily recognise whether an SCC-ed component is a RES/CAP/IND by
just looking at its magnitude value, so you can quickly restore them to their original configuration if
required.

For example, say we wish to remove an existing RES submodule from our circuit definition. The RES
submodule would typically look something like this:

RES 8.0 1 2 VARIABLE

To remove this component without affecting the node numbering, and without having to type in another line
of data, we can use the SCC submodule to replace the above line with the following:

SCC 8.0 1 2 VARIABLE

Although the above SCC submodule does not match with the pure definition, the SCC parser will interpret
this line of data just like a standard SCC submodule. Only the node numbers will be used, and all other
tokens of data will be ignored.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 119


SCQ

SCQ Fs Qts α Qls Qas

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a closed-box enclosure. It includes parameters for modelling enclosure leakage and absorption losses.

This is a second-order (12 dB/octave rolloff) highpass filter function. The effects of the voice-coil
inductance are not included in this function, but can be readily simulated by combining SCQ with other
submodules (such as FIL) which can introduce the required rolloff in the high-frequency response.

SCQ Name of submodule.

Fs Resonance frequency of driver (Hz).

Qts Total driver Q at Fs resulting from all driver resistances. Qts may be calculated using the
following formula:

Qts = 1/(1/Qes + 1/Qms)

α Nondimensional system compliance ratio, = Vas/Vb.

Qls Enclosure Q at Fs resulting from leakage losses.

Qas Enclosure Q at Fs resulting from absorption losses.

Many closed boxes contain filling material which helps to damp standing waves within the enclosure at
frequencies in the upper piston range and higher. If the filling material is chosen for low density but high
specific heat, the air compression inside the enclosure tends to be partly or completely altered from
adiabatic to isothermal. This increases the effective compliance of the enclosure, which is equivalent to
increasing the size of the unfilled enclosure. The maximum theoretical increase in compliance is 40%, but
using practical materials the actual increase is probably never more than about 25%. An ancillary effect is
an increase in the total moving mass of the system. Depending on the initial diaphragm mass and the
conditions of filling, the mass increase may vary from negligible proportions to as much as 20% (Small,
1972).

EXAMPLE

Let us consider the sound pressure response associated with a loudspeaker driver in a closed-box enclosure
whose volume is Vb = 15.0 litres. The Thiele-Small parameters of the driver are as follows:

Fs = 50.00 Hz
Qms = 3.00
Qes = 0.40
Vas = 45.00 litres

The required parameters can be calculated as follows:

Qts = 1/(1/Qms+1/Qes) = 0.35


α = Vas/Vb = 3.00

Assuming that the leakage and absorption losses are Qls = 14 and Qas = 28, the sound pressure response of
the driver in the closed-box enclosure can be modelled by the following line of data:

SCQ 50.0 0.35 3.0 14.0 28.0

120 – CALSOD 3.10 and CALSOD 1.40 User's Manual


SDP

SDP Fs Vas Re Qms Qes V1 F1 QL1 QA1 QP1 V2 F2 QL2 QA2 QP2

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a double-ported bandpass enclosure. The bandpass system that can be modelled is shown below:

╔══════════════════════════╦══════════════════╗
║ BOX 1 █║ BOX 2 ║
║ / ║
║ ██ / ║
║ ██/ ║
║ │ │ ██ ║
║ │ │ ██\ │ │ ║
║ │Port│ ██ \ │Port│ ║
║ │ 1 │ \ │ 2 │ ║
║ │ │ █║ │ │ ║
╚═══╛ ╘═════════════════╩══════╛ ╘══════╝

The double-ported bandpass enclosure provides a non-symmetrical sixth-order response function. The
highpass slope is fourth order, while the lowpass slope is second order. Further details about double-ported
bandpass loudspeaker systems can be found in a technical paper written by Geddes (1989), which is listed in
the bibliography.

SDP Name of submodule.

Fs Resonance frequency of driver (Hz).

Vas Volume of air having same acoustic compliance as driver suspension (m³).

Re Driver voice-coil dc resistance (ohms).

Qms Driver Q at Fs considering driver mechanical (non-electrical) losses only.

Qes Driver Q at Fs considering driver electromagnetic losses only.

V1 V2 Volume of box 1 and box 2 (m³).

F1 F2 Resonance frequency of port in box 1 and box 2 (Hz).

QL1 QL2 Enclosure Q values at Fs resulting from leakage losses in box 1 and box 2. To
approximate the absence of leakage losses put QL1 ≥ 1000 and QL2 ≥ 1000.

QA1 QA2 Enclosure Q values at Fs resulting from absorption losses in box 1 and box 2. To
approximate the absence of absorption losses put QA1 ≥ 1000 and QA2 ≥ 1000.

QP1 QP2 Port Q values at Fs resulting from flow losses in port 1 and port 2. To approximate the
lossless case put QP1 ≥ 1000 and QP2 ≥ 1000.

EXAMPLE

Let us consider the sound pressure response of a double-ported bandpass loudspeaker whose system
parameters are as follows:

Fs = 48.00 Hz
Vas = 90.00 litres
Re = 6.70 ohms
Qms = 2.00
Qes = 0.22

CALSOD 3.10 and CALSOD 1.40 User's Manual – 121


The parameters associated with each enclosure of the double-ported bandpass system are shown below.
Note that we have included some enclosure absorption losses, but have elected to neglect port and leakage
losses.

BOX 1 BOX 2
~~~~~ ~~~~~
V1 = 71.0 litres V2 = 14.0 litres
F1 = 42.7 Hz F2 = 106.0 Hz
QL1 = 1000 QL2 = 1000
QA1 = 10 QA2 = 10
QP1 = 1000 QP2 = 1000

The required line of data to model the above double-ported bandpass enclosure is:

SDP 48.0 90.0E-3 6.70 2.00 0.22 71.0E-3 42.7 1000 10 1000 ...
14.0E-3 106.0 1000 10 1000

122 – CALSOD 3.10 and CALSOD 1.40 User's Manual


SEN

SEN Sens Type


SEN Re Fs Qes Vas TSP
SEN Re Bl Sd Mms FDP
SEN Re Nopc %

This submodule is used to define a sensitivity value which can be selected to match the sensitivity of the
loudspeaker driver. It can also be used to adjust the overall level of the target function for the optimization
procedure. The sensitivity provides a reference level to which functions such as minimum-phase
equalization (MPE) or sound pressure response functions (such as SVB or SCB) can be applied. Therefore,
when the sensitivity is increased or decreased, the shape of the transfer function does not change.

In general, the sensitivity value is input using a decibel scale because the sound pressure level of the driver
amplitude response and the target function are usually expressed in decibels.

It is also possible to input a set of Thiele-Small parameters or fundamental driver parameters and CALSOD
will automatically compute the sensitivity based on the standard equations presented below. If the driver
reference efficiency No is known, then this value can also be used to set the sensitivity.

SEN Name of submodule.

Sens Value of the sensitivity of the loudspeaker driver or the level of the target function. The
sensitivity of the loudspeaker is taken to be the sound pressure level in dB produced by the driver
at a distance of one metre for a 2.828 Vrms input. This value can usually be obtained from the
manufacturer’s specifications, estimated from the sound pressure response curve for the driver,
or calculated from the driver’s physical parameters. It may be necessary to convert the published
sensitivity to the form required by this submodule (see the example below).

Type If Type = DB then Sens is input using a decibel scale.

If Type = LINEAR then Sens is input using a linear scale.

Re Resistance of driver voice-coil (ohms).

Fs Resonance frequency of driver in free-air or when loaded by the same air load mass as in the
enclosure that will be used for the low-frequency alignment (Hz).

Qes Q of driver at Fs considering driver electromagnetic losses only.

Vas Volume of air having same acoustic compliance as driver suspension (m³).

TSP This is a text string that must be included when the driver sensitivity value is being defined using
the driver’s Thiele-Small parameters.

Bl Driver force factor, which is the product of the magnetic flux density in the driver air gap
multiplied by the length of conductor in that flux in the magnetic air gap (N/A or T.m).

Sd Area of driver diaphragm (m²).

Mms Moving mass of driver diaphragm assembly including voice coil and air load (kg).

CALSOD 3.10 and CALSOD 1.40 User's Manual – 123


FDP This is a text string that must be included when the driver sensitivity value is being defined using
the fundamental driver parameters.

Nopc Reference efficiency of driver for a 2π-steradian radiation environment (in percent).

% This is a text character (preceded by at least one space) that must be included when the driver
sensitivity is being specified using the reference efficiency in percentage terms.

SPECIAL FEATURES

If multiple SEN submodules are specified in a given module, then their effect is multiplicative. For example,
the following two SEN submodules

SEN 93.0 DB
SEN 3.0 DB

will have the same effect as if the following single SEN submodule had been specified:

SEN 96.0 DB

CALCULATION FORMULAS

For a driver radiating into a 2π-steradian environment (a typical room loading), the driver’s piston range
electroacoustic reference efficiency No can be found using either of the two following formulas:

Dair×Bl²×Sd² 4π²×Fs³×Vas
No = ──────────── = ───────────
2π×c×Re×Mms² c³×Qes

where Dair = density of air (1.20 kg/m³), and c = speed of sound in air (344 m/s), and the other terms have
been defined previously.

The reference sound pressure level generated by this driver for a 1 watt input at a distance of 1 metre from
the driver when radiating into a 2π-steradian environment is:

┌ ┐
│ No │
SPLref = 10×log10 │──────────│ (in dB)
│2π×1.0E-12│
└ ┘

To convert SPLref to a reference sensitivity for a 2.828 Vrms input as required by CALSOD, we use the
following formula:

┌ ┐
│ 2.828² │
Sens = SPLref + 10×log10 │ ────── │
│ Re │
└ ┘

Note that a voltage of 2.828 Vrms will produce 1 W of power when applied to an 8 ohm load.

If the sensitivity value is input using either the reference efficiency, the Thiele-Small parameters, or the
fundamental driver parameters, CALSOD automatically applies the required correction to account for the
driver voice-coil resistance Re.

EXAMPLE

Let us consider a driver with the following set of Thiele-Small and fundamental driver parameters:

124 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Re = 6.000 ohms Bl = 11.30 T.m
Fs = 21.800 Hz Sd = 0.033 m²
Qes = 0.300 Mms = 0.050 kg
Vas = 0.155 m³

Using the formulas presented above, this driver’s reference efficiency is calculated to be No = 0.0052
(0.52 %). This produces a standard CALSOD sensitivity value of 89.3 dB. The corresponding SEN
submodule for each mode of data entry is illustrated below:

SEN 89.30 DB
SEN 6.00 21.8 0.300 0.155 TSP
SEN 6.00 11.3 0.033 0.050 FDP
SEN 0.52 %

As another example, let us consider a loudspeaker driver whose sensitivity is quoted as being 92.5 dB at
0.5 metres for 4.0 Vrms input. To determine the required standard CALSOD sensitivity we use the
following formula:

Sens = 92.5 + 20×log10(2.828/4.0) + 20×log10(0.5/1.0)

= 83.5 dB at 1 metre for 2.828 Vrms input

Hence the required line of input data is as follows:

SEN 83.5 DB

CALSOD 3.10 and CALSOD 1.40 User's Manual – 125


SOF

SOF Fo Q Type

This submodule is used to create a sound pressure response function corresponding to a second-order filter
response characteristic (12 dB/octave rolloff). Both highpass and lowpass filter characteristics can be
modelled. Different filter response shapes can be obtained by varying the Q of the filter. This submodule is
useful in approximating sound pressure response functions that have a peak in their high- or low-frequency
response.

When the SOF submodule is used in conjunction with the closed-box (SCB) and vented-box (SVB)
submodules, it is possible to model filter-assisted low-frequency alignments such as the closed-box B4 and
vented-box B6.

SOF Name of submodule.

Fo Frequency of normalization for the second-order filter response characteristic (Hz).

Q This is the Q of the filter. By varying this parameter different filter characteristics can be
obtained.

If Q < 0.7071 then an over-damped response is obtained.

If Q = 0.7071 then a maximally flat second-order Butterworth response is obtained.

If Q > 0.7071 then an under-damped response occurs and there is a peak in the response function.

Type If Type = HIGHPASS then the response represents a highpass filter.

If Type = LOWPASS then the response represents a lowpass filter.

EXAMPLE

Let us consider the sound pressure response corresponding to a second-order highpass filter with a
maximally flat Butterworth response characteristic (Q = 0.7071). The –3 dB cutoff frequency is to be 50 Hz.
This response characteristic can be modelled by the following line of data:

SOF 50.0 0.7071 HIGHPASS

If we require a critically damped second-order highpass filter characteristic (no overshoot or oscillation in
the transient response) then the value of Q = 0.50, and the following line of data applies:

SOF 50.0 0.50 HIGHPASS

126 – CALSOD 3.10 and CALSOD 1.40 User's Manual


SPK

SPK DriverNo Nlow Nhigh X Y Z Polarity


SPK DriverNo Nlow Nhigh X Y Z Delay Polarity
SPK DriverNo Nlow Nhigh X Y Z α β Polarity

This submodule is used to introduce a loudspeaker driver into the circuit topology. By defining different
values of X,Y,Z it is possible to model the position of the acoustic centre of this loudspeaker driver on the
enclosure baffle. When the loudspeaker driver is connected into the crossover network, CALSOD
automatically uses the impedance response computed from each speaker’s DRIVER definition when solving
for the nodal voltages.

If the loudspeaker is mounted such that its principal radiation axis is not normal to the XY-plane, then we
can model the tilting of the principal axis by specifying the amount of skew with respect to the XZ-plane
along with the amount of skew relative to the YZ-plane. These two skew angles are denoted by α and β.

Note that in order for these mounting skew angles to have any effect, it is necessary to use the EPD
submodule to specify an effective piston diameter for the driver. This will then include the off-axis radiation
characteristics of the driver in the simulation.

Also, note that the first form of the SPK submodule assumes that the mounting skew angles of the
loudspeaker are zero.

If the coordinates are varied from one model to another, then the effects on the summed acoustic sound
pressure of placing the driver in different geometric locations and orientations can be determined.

SPK Name of submodule.

DriverNo The number of the driver whose characteristics are defined in the DRIVER module in the data
file.

Nlow Node number of the node with the lowest node number to which the driver is connected in the
circuit topology.

Nhigh Node number of the node with the highest node number to which the driver is connected in the
circuit topology.

XYZ Coordinates (metres) in the XYZ-axis system used to define the position of the acoustic centre of
the loudspeaker driver on the baffle of the enclosure.

Delay The delay in seconds that is to be added to the output of the speaker. This only affects the phase
response, leaving the magnitude response unmodified.

α Mounting skew of loudspeaker with respect to the XZ-plane (degrees). Positive when measured
going from the Z-axis to the Y-axis. The skew angle α must lie in the range –90° ≤ α ≤ 90°.

β Mounting skew of loudspeaker with respect to the YZ-plane (degrees). Positive when measured
going from the Z-axis to the X-axis. The skew angle β must lie in the range –90° ≤ β ≤ 90°.

Polarity If Polarity = POSITIVE then the loudspeaker driver is connected with positive polarity.

If Polarity = NEGATIVE then the loudspeaker driver is connected with negative polarity.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 127


RESTRICTIONS: A maximum of eight SPK submodules can be used within the CIRCUIT module. As up
to four individual loudspeaker drivers can be defined within one data file using the DRIVER module, this
permits a four-way loudspeaker system comprised of up to eight loudspeaker drivers to be simulated. For
example, a 7-way system comprised of two woofers, two low-midranges, two upper-midranges, and one
tweeter, can be simulated.

MODELLING PATHLENGTH DIFFERENCES

In general, the distance from each loudspeaker driver to the position in space where the summed acoustic
sound pressure response is to be calculated is different. The time delay between the outputs of the different
drivers is calculated on the basis of these pathlength differences, and the summed acoustic output is
determined by taking into account the actual geometric layout of the drivers. The XYZ-coordinates defined
in the SPK submodule are used in conjunction with the TARGET module XYZ-coordinates to include the
effects of these pathlength differences. If the pathlength effects are to be omitted from the model, then the
XYZ-coordinates that are input in both the SPK submodule and the TARGET module should be set to zero.

EXPLANATION OF NODE NUMBERING CONVENTION

To illustrate the node numbering convention that must be used when connecting SPK submodules into a
circuit, we will study three simple cases. The first case consists of an inductor in series with a single
speaker. The second and third cases consist of an inductor in series with two identical speakers which are
themselves connected in series. The schematic diagrams for these three cases are shown below:

CASE 1 CASE 2 CASE 3

┌───┐ ┌───┐ ┌───┐


1──┤IND├──2 1──┤IND├───2 1──┤IND├───3
+ └───┘ │ + └───┘ ┌─┴─┐+ + └───┘ ┌─┴─┐+
│ │SPK│ │SPK│
┌─┴─┐+ └─┬─┘- └─┬─┘-
│SPK│ 3 2
└─┬─┘- ┌─┴─┐+ ┌─┴─┐+
│ │SPK│ │SPK│
- │ - └─┬─┘- - └─┬─┘-
0─────────┘ 0──────────┘ 0──────────┘

The corresponding CIRCUIT modules for these three cases are listed below:

CASE 1
CIRCUIT
IND 1.0E-3 1 2 0.0 FIXED
SPK 1 0 2 0 0 0 POSITIVE

CASE 2
CIRCUIT
IND 1.0E-3 1 2 0.0 FIXED
SPK 1 2 3 0 0 0 NEGATIVE
SPK 1 0 3 0 0 0 POSITIVE

CASE 3
CIRCUIT
IND 1.0E-3 1 2 0.0 FIXED
SPK 1 2 3 0 0 0 POSITIVE
SPK 1 0 2 0 0 0 POSITIVE

128 – CALSOD 3.10 and CALSOD 1.40 User's Manual


The circuit diagram for Case 1 indicates that we wish to connect the speaker into the network with positive
polarity. The listing of the CIRCUIT submodule for this case will achieve this without any problems.

The circuit diagram for Case 2 indicates that we wish to connect the two speakers into the crossover
network with positive polarity, such that their combined output is summed constructively. Please note that it
is necessary to “reverse” the polarity of the speaker that is connected between nodes 2 and 3 to obtain the
correct result, and this is done by using the NEGATIVE polarity option for the first SPK submodule. This
technique is necessary because CALSOD requires that the node numbers in the SPK/RES/CAP/IND/IAC
submodules go from a small node number to a high node number, with the higher numbered node assumed
to be at a higher voltage potential than the lower numbered node. Normally this causes no problems in
setting up the data, as the speakers are all usually connected to node 0 as the node of lowest voltage
potential (see Case 1). However, for Case 2, one of the speakers has a higher node number that is actually at
a lower potential relative to the smaller node number (node 3 is at a lower potential than node 2). Hence
there is a need to use the NEGATIVE connection on the speaker connected between nodes 2 and 3 to keep
all the speakers connected with the same effective polarity.

If the NEGATIVE polarity option was not used in the first SPK submodule for Case 2, but the POSITIVE
option was used instead, then the sound pressure output of that speaker would be out of phase with the
output from the speaker in the second SPK submodule. Hence we would get a cancellation of the two sound
pressure responses, which is not what we require.

The circuit diagram for Case 3 shows a simple solution to this problem. Here we have re-numbered the
nodes in the circuit so that the smaller numbered nodes connected to the speakers will always be at a lower
voltage potential than the larger numbered nodes. This means that we can connect the two SPK submodules
with POSITIVE polarity in order to get the responses from the two speakers to sum together constructively
rather than destructively.

EXAMPLE

Consider a loudspeaker that has been defined as driver number 1 in a DRIVER data module. The speaker is
to be connected with positive polarity between nodes 0 and 5 in the filter circuit, and the position of the
acoustic centre of the speaker when mounted on the enclosure baffle is taken to be (X,Y,Z)=(0,0,0). The
loudspeaker can be included in the filter circuit by the following line of data:

SPK 1 0 5 0.0 0.0 0.0 POSITIVE

If we wished the output of the driver referenced in the SPK submodule to be delayed by 3€ milliseconds, we
would use the following line of data:

SPK 1 0 5 0.0 0.0 0.0 0.003 POSITIVE

The version of the SPK submodule which includes the time delay parameter is intended for use in cases
where some time delay compensation or correction is to be included in the crossover electronics. This is
most likely to be used with active crossovers. Although a similar effect could be achieved by a physical
offset in the (X,Y,Z) coordinates of the speaker, this technique would also produce some a change in the
magnitude response, which may be an undesirable side effect of such an approach.

A sample data file called SPKTIME.C14 is also provided as a further example. It simulates a system
comprised of two wide band drivers, each with a nominal response whose lower and upper –3 dB limits are
50 Hz and 10000 Hz. A time delay of 0.0005 seconds (0.5 msec) is added to one of these drivers. This
produces a series of nulls in the summed response, with the first null occurring at 1000 Hz. This corresponds
to the lowest frequency where the response from one driver is 180° out of phase with that from the other
driver.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 129


SPQ

SPQ Fs Qts α h μ Qls Qps Qas

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a passive-radiator enclosure. It includes parameters for modelling enclosure leakage and absorption
losses, as well as passive radiator mechanical losses.

The effects of the voice-coil inductance are not included in this function, but can be readily simulated by
combining SPQ with other submodules (such as FIL) which can introduce the required rolloff in the high-
frequency response.

SPQ Name of submodule.

Fs Resonance frequency of driver (Hz).

Qts Total driver Q at Fs resulting from all driver resistances. Qts may be calculated using the
formula:

Qts = 1/(1/Qes + 1/Qms)

α Nondimensional system compliance ratio, = Vas/Vb.

h Nondimensional system tuning ratio, = Fb/Fs. Fb is the resonance frequency of the passive
radiator when mounted in the system enclosure, and is analogous to the resonance frequency of
the port in a vented-box system.

μ Nondimensional passive radiator compliance ratio, = Vb/Vap = Cab/Cap = 1/δ, where Vb is the
net internal volume of the enclosure, Vap is the equivalent volume of the passive radiator
suspension compliance, Cab is the enclosure acoustic compliance, and Cap is the acoustic
compliance of the passive radiator.

A common practical condition in a passive-radiator system is δ = α, which implies that Vap


= Vas. It results from the passive radiator often being made from the same frame and suspension
as the driver, with the magnet and voice-coil omitted.

Qls Enclosure Q at Fs resulting from leakage losses.

Qps Passive radiator Q at Fs resulting from passive-radiator losses. If the value for the mechanical Q
of the passive radiator Qmp is known, then the value for Qps may be estimated from

Qps = (Fs/Fp)×Qmp

where Fp is the resonant frequency of the passive radiator.

Qas Enclosure Q at Fs resulting from absorption losses.

The passive radiator tuning ratio is given by y = Fp/Fs, where Fp is the resonance frequency of the passive
radiator mounted on a baffle simulating the final enclosure loading. In order to obtain the desired system
resonance Fb, the required resonance frequency of the passive radiator is given by Fp = h×Fs/√(1+δ).

EXAMPLE

Let us consider the sound pressure response of a passive-radiator system whose enclosure volume is Vb
= 50.0 litres with h = 1.55. The various Thiele-Small parameters of the driver and passive radiator are:

130 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Fs = 35 Hz Qms = 3.00 Vas = 150.0 litres
Qes = 0.32 Vap = 150.0 litres

The system losses are modelled by setting Qls = 14, Qas = 28, and Qps = 6. The remaining required
parameters can be calculated as follows:

Qts = 1/(1/Qms+1/Qes) = 0.30


α = Vas/Vb = 3.00
μ = Vb/Vap = 0.33

The required resonance frequency of the passive radiator Fp and the system tuning frequency are calculated
using:

Fb = h×Fs = 54.3 Hz
Fp = h×Fs/√(δ+1) = 27.1 Hz

The sound pressure response characteristic of the passive-radiator system can be modelled by the following
line of data:

SPQ 50.0 0.30 3.00 1.50 0.33 14.0 6.0 28.0

This particular alignment should yield a response that is very close to being maximally flat.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 131


SPR
SPR Fs Qts α h QL Qp δ

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a passive-radiator enclosure. The effects of the voice-coil inductance are not included in this function, but
can be readily simulated by combining SPR with other submodules (such as FIL) which can introduce the
required rolloff in the high-frequency range.

SPR Name of submodule.

Fs Resonance frequency of driver (Hz).

Qts Total driver Q at Fs resulting from all driver resistances. Qts may be calculated using the
formula:

Qts = 1/(1/Qes + 1/Qms)

α Nondimensional system compliance ratio, = Vas/Vb.

h Nondimensional system tuning ratio, = Fb/Fs. Fb is the resonance frequency of the passive
radiator when mounted in the system enclosure, and is analogous to the resonance frequency of
the port in a vented-box system.

QL Enclosure Q at Fb resulting from leakage losses. A typical value for this parameter is QL = 7. QL
is used to approximate all the leakage and absorption losses that are present in an actual passive-
radiator system. To approximate the absence of leakage losses put QL ≥ 1000.

Qp Passive-radiator Q at Fb resulting from suspension losses. To approximate the lossless case put
Qp ≥ 1000.

δ Nondimensional passive radiator compliance ratio, = Vap/Vb.

A common practical condition in a passive-radiator system is δ = α, which implies that Vap


= Vas. It results from the passive radiator often being made from the same frame and suspension
as the driver, with the magnet and voice-coil omitted.

The passive radiator tuning ratio is given by y = Fp/Fs, where Fp is the resonance frequency of the passive
radiator mounted on a baffle simulating the final enclosure loading. In order to obtain the desired system
resonance Fb, the required resonance frequency of the passive radiator is given by Fp = h×Fs/√(1+δ).

EXAMPLE

Let us consider the sound pressure response of a passive-radiator system whose enclosure volume is Vb
= 50.0 litres with h = 1.55. The various Thiele-Small parameters of the driver and passive radiator are:

Fs = 35 Hz Qms = 3.00 Vas = 150.0 litres Qes = 0.32 Vap = 150.0 litres

The system losses are modelled by setting QL = 7, and the passive radiator suspension losses are neglected
by setting Qp = 1000. The remaining required parameters can be calculated as follows:

Qts = 1/(1/Qms+1/Qes) = 0.30


α = Vas/Vb = 3.00
δ = Vap/Vb = 3.00

The required resonance frequency of the passive radiator Fp and the system tuning frequency are calculated
using:

132 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Fb = h×Fs = 54.3 Hz Fp = h×Fs/√(δ+1) = 27.1 Hz

The sound pressure response characteristic of the passive-radiator system can be modelled by the following
line of data:

SPR 50.0 0.30 3.00 1.50 7.0 1000 3.00

This particular alignment should yield a response that is very close to being maximally flat.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 133


SVB

SVB Fs Qts α h QL

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a vented-box enclosure. This is a fourth-order (24 dB/octave rolloff) highpass filter function. The effects
of the voice-coil inductance are not included in this function, but can be readily simulated by combining the
SVB submodule with other submodules (such as FIL) which can introduce the required rolloff in the high-
frequency range.

SVB Name of submodule.

Fs Resonance frequency of driver (Hz).

Qts Total driver Q at Fs resulting from all driver resistances. Qts may be calculated using the
formula:

Qts = 1/(1/Qes + 1/Qms)

α Nondimensional system compliance ratio, = Vas/Vb.

h Nondimensional system tuning ratio, = Fb/Fs.

QL Enclosure Q at Fb resulting from leakage losses. A typical value for this parameter is QL = 7. QL
is used to approximate all the leakage, absorption and port losses that are present in an actual
vented-box system. To model a lossless system, set QL ≥ 1000.

EXAMPLE

Consider the sound pressure response associated with a loudspeaker driver in a vented-box enclosure whose
volume is Vb = 15 litres and the port is tuned to Fb = 55 Hz. The Thiele-Small parameters of the driver are
as follows:

Fs = 50 Hz Qms = 3.00 Vas = 45 litres Qes = 0.40

The required parameters can be calculated as follows:

Qts = 1/(1/Qms+1/Qes) = 0.35


α = Vas/Vb = 3.00
h = Fb/Fs = 1.10

It is assumed the enclosure losses will be modelled by setting QL = 7, which is a typical value. Therefore,
the sound pressure response characteristic for the driver in the vented-box can be modelled by the following
line of data:

SVB 50.0 0.35 3.00 1.00 7.0

DESIGN TABLES FOR VENTED-BOX ALIGNMENTS

When designing a vented-box system, it should be kept in mind that there are many combinations of h and α
that can be used to obtain different low-frequency response characteristics for a given driver Qts. Various
compromises exist as to low-frequency extension, response flatness, box size, and transient response.

There are a number of commonly used alignments, and these can be subdivided into those that are flat or
non-flat. Flat alignments will have a better transient performance than the non-flat alignments, and can be
obtained by using drivers with low values of Qts. Note, however, that the “better” transient performance of

134 – CALSOD 3.10 and CALSOD 1.40 User's Manual


some alignments results from the reduced output that is obtained in the transition band above the cutoff
frequency. We will now proceed to describe some of the more popular alignments that have been mentioned
in the literature.

There are three main flat alignments. The Super Fourth-Order Boom Box alignment (SBB4) is characterized
by a large box, low tuning frequency and good transient response, albeit with less bass response through the
transition band just above cutoff. The Fourth-Order Sub-Chebychev alignment (SC4) has a degraded
transient response compared to the SBB4. The Quasi Third-Order Butterworth alignment (QB3) is popular
because it results in a smaller box and lower cutoff frequency for a given driver Qts. Its transient response is
not as good as that of the SBB4 or SC4 alignments.

Corresponding to the above, there are three non-flat alignments. The Fourth-Order Chebychev alignment
(C4) has an equi-ripple response characteristic, and can be useful for low values of ripple less than 1 dB.
The Fourth-Order Boom Box alignment (BB4) has a peak in the response near cutoff, which can prove
undesirable if too large. The Super Third-Order Quasi-Butterworth alignment (SQB3) is a high value of Qts
extension of the QB3 alignment.

The following three sets of tables describe the values of h and α that are required to tune a vented-box
enclosure to a particular alignment for a driver of given Qts. Also shown are the ratio of cutoff frequency to
driver resonance f3/fs, and the peak or ripple in the response characteristic. The values of h and α were
calculated for an assumed leakage loss factor of QL = 7. It should be kept in mind that there are many other
possible sets of values of h and α that yield satisfactory low-frequency response characteristics, particularly
when the effects of room loading are included. The tabulated values should provide a good starting point for
an alignment to be used in the SVB submodule.

QB3 VENTED-BOX ALIGNMENTS


┌──────┬──────┬──────┬───────┬───────┬─────────┐
│ QL=7 │ Qts │ h │ α │ f3/fs │ Peak-dB │
├──────┼──────┼──────┼───────┼───────┼─────────┤
│ │ 0.10 │ 3.84 │ 34.39 │ 5.22 │ 0.00 │
│ │ 0.12 │ 3.21 │ 23.55 │ 4.33 │ 0.00 │
│ │ 0.14 │ 2.75 │ 17.02 │ 3.70 │ 0.00 │
│ │ 0.16 │ 2.41 │ 12.77 │ 3.21 │ 0.00 │
│ │ 0.18 │ 2.15 │ 9.86 │ 2.83 │ 0.00 │
│ │ 0.20 │ 1.94 │ 7.78 │ 2.53 │ 0.00 │
│ │ 0.22 │ 1.77 │ 6.24 │ 2.28 │ 0.00 │
│ QB3 │ 0.24 │ 1.63 │ 5.07 │ 2.06 │ 0.00 │
│ │ 0.26 │ 1.51 │ 4.15 │ 1.88 │ 0.00 │
│ │ 0.28 │ 1.40 │ 3.43 │ 1.72 │ 0.00 │
│ │ 0.30 │ 1.31 │ 2.84 │ 1.57 │ 0.00 │
│ │ 0.32 │ 1.24 │ 2.37 │ 1.44 │ 0.00 │
│ │ 0.34 │ 1.17 │ 1.97 │ 1.33 │ 0.00 │
│ │ 0.36 │ 1.11 │ 1.64 │ 1.22 │ 0.00 │
│ │ 0.38 │ 1.06 │ 1.36 │ 1.12 │ 0.00 │
│ │ 0.40 │ 1.01 │ 1.11 │ 1.02 │ 0.00 │
├──────┼──────┼──────┼───────┼───────┼─────────┤
│ │ 0.42 │ 0.97 │ 0.91 │ 0.94 │ 0.01 │
│ │ 0.44 │ 0.93 │ 0.73 │ 0.86 │ 0.14 │
│ │ 0.46 │ 0.90 │ 0.57 │ 0.80 │ 0.56 │
│ SQB3 │ 0.48 │ 0.87 │ 0.43 │ 0.75 │ 1.32 │
│ │ 0.50 │ 0.83 │ 0.31 │ 0.71 │ 2.46 │
│ │ 0.52 │ 0.81 │ 0.20 │ 0.68 │ 4.01 │
│ │ 0.54 │ 0.79 │ 0.10 │ 0.66 │ 6.08 │
│ │ 0.56 │ 0.77 │ 0.01 │ 0.64 │ 8.87 │
└──────┴──────┴──────┴───────┴───────┴─────────┘

CALSOD 3.10 and CALSOD 1.40 User's Manual – 135


C4 VENTED-BOX ALIGNMENTS
┌──────┬──────┬──────┬───────┬───────┬─────────┐
│ QL=7 │ Qts │ h │ α │ f3/fs │Ripple-dB│
├──────┼──────┼──────┼───────┼───────┼─────────┤
│ │ 0.26 │ 1.05 │ 3.68 │ 2.23 │ 0.00 │
│ │ 0.28 │ 1.08 │ 3.24 │ 1.94 │ 0.00 │
│ │ 0.30 │ 1.10 │ 2.80 │ 1.71 │ 0.00 │
│ │ 0.32 │ 1.11 │ 2.40 │ 1.53 │ 0.00 │
│ SC4 │ 0.34 │ 1.10 │ 2.01 │ 1.37 │ 0.00 │
│ │ 0.36 │ 1.08 │ 1.67 │ 1.23 │ 0.00 │
│ │ 0.38 │ 1.05 │ 1.37 │ 1.12 │ 0.00 │
│ │ 0.40 │ 1.01 │ 1.11 │ 1.02 │ 0.00 │
│ │ 0.42 │ 0.97 │ 0.91 │ 0.94 │ 0.00 │
│ │ 0.44 │ 0.92 │ 0.75 │ 0.87 │ 0.00 │
├──────┼──────┼──────┼───────┼───────┼─────────┤
│ │ 0.46 │ 0.88 │ 0.63 │ 0.81 │ 0.01 │
│ │ 0.48 │ 0.84 │ 0.54 │ 0.76 │ 0.03 │
│ │ 0.50 │ 0.80 │ 0.46 │ 0.72 │ 0.07 │
│ │ 0.52 │ 0.77 │ 0.41 │ 0.68 │ 0.12 │
│ │ 0.54 │ 0.74 │ 0.36 │ 0.65 │ 0.19 │
│ │ 0.56 │ 0.72 │ 0.33 │ 0.63 │ 0.27 │
│ C4 │ 0.58 │ 0.70 │ 0.30 │ 0.61 │ 0.36 │
│ │ 0.60 │ 0.68 │ 0.27 │ 0.59 │ 0.46 │
│ │ 0.62 │ 0.66 │ 0.25 │ 0.57 │ 0.57 │
│ │ 0.64 │ 0.65 │ 0.24 │ 0.56 │ 0.68 │
│ │ 0.66 │ 0.64 │ 0.22 │ 0.55 │ 0.80 │
│ │ 0.68 │ 0.62 │ 0.21 │ 0.54 │ 0.92 │
│ │ 0.70 │ 0.61 │ 0.19 │ 0.53 │ 1.05 │
│ │ 0.72 │ 0.60 │ 0.18 │ 0.52 │ 1.17 │
└──────┴──────┴──────┴───────┴───────┴─────────┘

BB4 VENTED-BOX ALIGNMENTS


┌──────┬──────┬──────┬───────┬───────┬─────────┐
│ QL=7 │ Qts │ h │ α │ f3/fs │ Peak-dB │
├──────┼──────┼──────┼───────┼───────┼─────────┤
│ │ 0.20 │ 1.00 │ 5.90 │ 3.37 │ 0.00 │
│ │ 0.22 │ 1.00 │ 4.85 │ 2.95 │ 0.00 │
│ │ 0.24 │ 1.00 │ 4.05 │ 2.60 │ 0.00 │
│ │ 0.26 │ 1.00 │ 3.43 │ 2.29 │ 0.00 │
│ SBB4 │ 0.28 │ 1.00 │ 2.94 │ 2.02 │ 0.00 │
│ │ 0.30 │ 1.00 │ 2.54 │ 1.79 │ 0.00 │
│ │ 0.32 │ 1.00 │ 2.22 │ 1.60 │ 0.00 │
│ │ 0.34 │ 1.00 │ 1.96 │ 1.44 │ 0.00 │
│ │ 0.36 │ 1.00 │ 1.74 │ 1.31 │ 0.00 │
├──────┼──────┼──────┼───────┼───────┼─────────┤
│ │ 0.38 │ 1.00 │ 1.54 │ 1.21 │ 0.01 │
│ │ 0.40 │ 1.00 │ 1.39 │ 1.13 │ 0.14 │
│ │ 0.42 │ 1.00 │ 1.25 │ 1.07 │ 0.37 │
│ │ 0.44 │ 1.00 │ 1.13 │ 1.02 │ 0.66 │
│ │ 0.46 │ 1.00 │ 1.03 │ 0.98 │ 1.00 │
│ │ 0.48 │ 1.00 │ 0.94 │ 0.94 │ 1.36 │
│ │ 0.50 │ 1.00 │ 0.86 │ 0.91 │ 1.74 │
│ BB4 │ 0.52 │ 1.00 │ 0.79 │ 0.89 │ 2.13 │
│ │ 0.54 │ 1.00 │ 0.73 │ 0.87 │ 2.53 │
│ │ 0.56 │ 1.00 │ 0.67 │ 0.85 │ 2.93 │
│ │ 0.58 │ 1.00 │ 0.63 │ 0.84 │ 3.33 │
│ │ 0.60 │ 1.00 │ 0.58 │ 0.83 │ 3.73 │
│ │ 0.62 │ 1.00 │ 0.54 │ 0.82 │ 4.12 │
│ │ 0.64 │ 1.00 │ 0.50 │ 0.81 │ 4.51 │
│ │ 0.66 │ 1.00 │ 0.47 │ 0.80 │ 4.90 │
│ │ 0.68 │ 1.00 │ 0.44 │ 0.79 │ 5.27 │
│ │ 0.70 │ 1.00 │ 0.41 │ 0.78 │ 5.65 │
└──────┴──────┴──────┴───────┴───────┴─────────┘

136 – CALSOD 3.10 and CALSOD 1.40 User's Manual


SVQ

SVQ Fs Qts α h Qls Qps Qas

This submodule is used to create a sound pressure response function corresponding to a loudspeaker driver
in a vented-box enclosure. It includes parameters for modelling enclosure leakage and absorption losses, as
well as port losses.

This is a fourth-order (24 dB/octave rolloff) highpass filter function. The effects of the voice-coil inductance
are not included in this function, but can be readily simulated by combining the SVQ submodule with other
submodules (such as FIL) which can introduce the required rolloff in the high-frequency response.

SVQ Name of submodule.

Fs Resonance frequency of driver (Hz).

Qts Total driver Q at Fs resulting from all driver resistances. Qts may be calculated using the
formula:

Qts = 1/(1/Qes + 1/Qms)

α Nondimensional system compliance ratio, = Vas/Vb.

h Nondimensional system tuning ratio, = Fb/Fs.

Qls Enclosure Q at Fs resulting from leakage losses.

Qps Port Q at Fs resulting from port losses.

Qas Enclosure Q at Fs resulting from absorption losses.

A number of design tables for vented-box low-frequency alignments are included in the section describing
the SVB submodule.

For a vented enclosure that is reasonably airtight, has a minimal amount of internal damping material, and a
well-designed port, typical Q values are Qas = 28, Qls = 14, and Qps = 28. This yields an overall enclosure
loss factor Qb of

1
Qb = ───────────────────── = 7.0
1/Qas + 1/Qls + 1/Qps

EXAMPLE

Consider the sound pressure response associated with a loudspeaker driver in a vented-box enclosure whose
volume is Vb = 15 litres and the port is tuned to Fb = 55 Hz. The Thiele-Small parameters of the driver are
as follows:

Fs = 50 Hz Vas = 45 litres Qms = 3.00 Qes = 0.40

The required parameters can be calculated as follows:

Qts = 1/(1/Qms+1/Qes) = 0.35 α = Vas/Vb = 3.00 h = Fb/Fs = 1.10

It is assumed the enclosure and port losses will be modelled by setting Qas = 28, Qls = 14, and Qps = 28.
Therefore, the sound pressure response characteristic for the driver in the vented box can be modelled by the
following line of data:

CALSOD 3.10 and CALSOD 1.40 User's Manual – 137


SVQ 50.0 0.35 3.00 1.00 14.0 28.0 28.0

138 – CALSOD 3.10 and CALSOD 1.40 User's Manual


TARGET IMPEDANCE
╔════════════════╗
║TARGET IMPEDANCE║
╚════════════════╝

This module is used to define the target impedance response that will be used by the impedance optimizer.
Although all the submodules that can be used in the TARGET IMPEDANCE module define impedance
functions that have both magnitude and phase, only the magnitude of the target impedance response is
utilized during the optimization procedure.

TARGET IMPEDANCE Name of module.

In general, the target input impedance for a multiway loudspeaker system will have the characteristic of a
pure resistance. Hence it is very easy to specify the target impedance using just one ICR submodule.
However, if desired, it is possible to specify a non-constant target impedance by using a more complex
combination of submodules to obtain the desired characteristic.

EXAMPLE

Let us consider a case where the target input impedance corresponds to a 5.0 ohm constant resistance. The
sample TARGET IMPEDANCE module would be:

TARGET IMPEDANCE
ICR 5.0

As another example, consider a target input impedance corresponding to a low-frequency driver in a closed-
box. If we assume that the driver characteristics correspond to those described in the example used in the
ICB submodule, then we have:

TARGET IMPEDANCE
ICB 50.0 6.30 0.0 3.00 0.40 3.0

Additional examples of the use of this module can be found in the sample problems that are described in a
subsequent section of this manual.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 139


TARGET SPL
╔══════════╗
║TARGET SPL║
╚══════════╝

This module is used to define the target sound pressure response that will be used during the optimization
procedure. Although all the submodules that can be used in the TARGET module define sound pressure
functions that have both magnitude and phase, only the magnitude of the target response is utilized during
the optimization procedure.

TARGET SPL Name of module.

In general, the target response for the summed acoustic output of a multiway loudspeaker system will have a
flat response characteristic. However, it is possible to develop a non-flat target response, such as a high-
frequency response that is slowly decreasing with respect to the midrange and low-frequencies, or even a
midrange response that has reduced output relative to the low- and high-frequencies.

Often the low- and high-frequency acoustic responses are to possess a particular filter response
characteristic, such as a third-order Butterworth response. In such cases separate target functions must be
created to represent the desired low- and high-frequency response functions, and the crossover network
components must be optimized separately for each case. Once the designs are finalized then they can be
combined together and the resultant summed acoustic response can be checked to see whether it is
acceptable.

EXAMPLE

Let us consider a case where the target response corresponds to a third-order Butterworth lowpass filter with
a passband sensitivity of 90 dB and a cutoff frequency of 3000 Hz. The sample TARGET SPL module
would be:

TARGET SPL
SEN 90.0 DB
BUT 3000.0 3 LOWPASS

As another example, consider a target function for a two-way loudspeaker system that has a flat response
with a sensitivity of 90 dB. The TARGET module would simply be:

TARGET SPL
SEN 90.0 DB

Additional examples of the use of this module can be found in the sample problems that are described in a
subsequent section of this manual.

140 – CALSOD 3.10 and CALSOD 1.40 User's Manual


TFN

TFN Fo Nnum Nden


N1 N2 ... NNnum
D1 D2 ... DNden

This submodule is used to introduce an arbitrary user-defined transfer function into the model. Therefore it
is possible for you to incorporate a characteristic that is not supplied as standard with CALSOD. The form
of the transfer function is as follows:

0 1 Nnum-1
N ×Sn + N ×Sn + ... + N ×Sn
1 2 Nnum
G(Sn) = ─────────────────────────────────────────
0 1 Nden-1
D ×Sn + D ×Sn + ... + D ×Sn
1 2 Nden

where Sn = jF/Fo is the normalized frequency variable and F is the frequency.

TFN Name of submodule.

Fo Frequency that is used to normalize the frequency variable in the transfer function (Hz). If the
frequency variable is not normalized then Fo = 1.0. Note that CALSOD supplies a frequency
value F in Hz and always performs the calculation F/Fo when evaluating the transfer function G.
To convert the CALSOD-supplied value of F to radians/sec, simply specify a value Fo = 0.1592
= 1/(2π). See the example given below for further details.

Nnum Number of terms in the numerator polynomial of the transfer function, including terms whose
coefficient is zero, where Nnum+Nden ≤ 100.

Nden Number of terms in the denominator polynomial of the transfer function, including terms whose
coefficient is zero, where Nnum+Nden ≤ 100.

Ni Dj Coefficients of the numerator and denominator of the transfer function that are to be supplied in
the lines following the TFN submodule header information. The coefficients of the numerator
must come first, followed by the denominator coefficients. The coefficients Ni and Dj are input
in order of increasing powers of Sn. Because the coefficients are read in sequentially, they can be
input on one or more lines as desired by the user.

EXAMPLE

Let us consider the following transfer function which corresponds to a second-order Butterworth highpass
filter with a cutoff frequency of 50 Hz where Sn = jF/Fo and Fo = 50 Hz:

2
Sn
G(Sn) = ────────────────────
2
1 + 1.414×Sn + Sn

The data in the TFN submodule may be input in the following manner, where the second and third lines
correspond to the numerator and the denominator:

TFN 50.0 3 3
0.0 0.0 1.0
1.0 1.414 1.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 141


In some cases the transfer function will be presented in non-normalized form, with a frequency variable w
corresponding to the circular frequency in radians/sec. For the previous example, the 2nd-order Butterworth
highpass filter transfer function with a 50 Hz = 314.16 rad/sec cutoff frequency can be written as:

2
1.0132E-5×w
G(w) = ─────────────────────────────────
2
1.0 + 4.5016E-3×w + 1.0132E-5×w

0 1 2
0.0×w + 0.0×w + 1.0132E-5×w
= ────────────────────────────────────
0 1 2
1.0×w + 4.5016E-3×w + 1.0132E-5×w

Using Fo = 0.1592 = 1/(2π), the TFN submodule corresponding to the above transfer function is:

TFN 0.1592 3 3
0.0 0.0 1.0132E-5
1.0 4.5016E-3 1.0132E-5

142 – CALSOD 3.10 and CALSOD 1.40 User's Manual


TITLE
╔═════╤════════╤══════╗
║TITLE│NumLines│Status║
╟─────┴────────┴──────╢
║Text 1 ║
║Text 2 ║
║Text 3 ║
║Text 4 ║
╚═════════════════════╝

This module is used to define a number of lines of text that will be displayed at the bottom of a plot when
any graphs are displayed on the screen.

TITLE Name of module.

NumLines Number of lines of text that are to follow the module heading. The maximum number of
lines that is permitted is 4.

Status If Status = ENABLE then the plot title will be displayed at the bottom of the plot.

If Status = DISABLE then the plot title will not be displayed at the bottom of the plot.
This option is useful if you wish to temporarily disable the plot title for some reason.

If Status = BOTTOM then the plot title will be displayed at the bottom of the plot. The
BOTTOM option acts as a synonym for ENABLE.

Text i Text 1 to Text 4 represent each of the lines of text that will be used as the title for screen
dumps. The maximum length of each line of text is 80 characters, and if longer lines are
encountered they will simply be truncated to 80 characters.

When this module is included in the data file, the displayed title will also include a line of information
corresponding to the time and date when the plot was printed, as well as the name of the data file associated
with the plot.

Note that if the number of lines NumLines = 0, then CALSOD assumes that no text is to be input, and
compilation of the data file continues immediately from the next line. However, your plots will still include
the time/date/file information printed at the bottom of the plot. This allows you to include the time/date/file
details without adding additional comment lines.

EXAMPLE

Consider a case where we wish to include 4 lines in the TITLE module and have them displayed at the
bottom of the plot when any graphs are displayed on the screen. A suitable set-up is described below:

TITLE 4 ENABLE
+----------------------------------------------------------------+
: This is the 2nd line of sample text :
: This is the 3rd line of sample text :
+----------------------------------------------------------------+

If you wanted to only include a time, date and filename heading at the bottom of any displayed plots, then
you would simply use the following single line in your data file:

TITLE 0 ENABLE

Note that for this particular case, no lines of text follow the TITLE module heading.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 143


VIN

VIN Vinput dBLin


VIN Vinput dBLin Type

This submodule is used to define a value of the input voltage that is to be applied to the input terminals of
the filter circuit defined in the CIRCUIT module.

If the VIN submodule is omitted, then it is assumed that the input voltage is set to the standard value of
2.83 volts, which corresponds to an input power of 1 watt into a load of 8 ohms.

VIN Name of submodule.

Vinput Value of the input voltage to be applied to the input terminals of the filter circuit.

dBLin If dBLin = DB then Vinput is specified using a decibel scale. The 0 dB reference voltage is taken
to be 2.83 volts.

If dBLin = LINEAR then Vinput is specified using a linear scale.

Type If Type = VARIABLE then the input voltage can vary during the optimization procedure.

If Type = FIXED then the input voltage remains fixed and does not vary during the optimization
procedure.

If Type is omitted, then the input voltage remains fixed during the optimization procedure.

COMMENTS

To maintain compatibility with previous CALSOD data files, the keyword FIXED is optional for any VIN
submodule. Thus, even though the keyword FIXED has been omitted, the VIN submodule is assumed to be
fixed and unable to take part in the optimization process.

The facilities for updating component values allow the new value of VIN to be written to the selected file.
Also, when the circuit component values are being displayed from within CALSOD, the voltage VIN is
displayed both as a linear voltage as well as a voltage in dB re 2.828 volts.

Many users would have thought of re-optimizing a crossover network using slightly different values of
target sensitivity to see if a greater reduction in residual error could be achieved. By allowing the VIN
submodule to participate directly in the optimization process, a better solution should result, as the summed
output is generally able to be adjusted in overall level to get the best solution.

However, the act of allowing VIN to vary during the optimization can sometimes cause the optimizer to
experience greater difficulties in converging to a good solution. It may sometimes be best to not allow the
VIN submodule to vary until you have achieved a reasonable optimized solution that you are happy with.
Then the changes in the circuit components may proceed more stably when VIN is allowed to vary.

It is also possible to activate the display of the input voltage on the plots. To do so, first select Option F
from the main menu, and then select Suboption F to show a list of choices of the possible display formats, as
well as the ability to specify a user defined editor. Then just select the option that allows you to switch on
the display of the target coordinates in either (X,Y,Z) or (R,α,β) format, which also activates the display of
the input voltage.

144 – CALSOD 3.10 and CALSOD 1.40 User's Manual


EXAMPLE

Let us consider the case where we wish to determine the output of the loudspeaker system for an input of
8.0 volts. This can be accomplished by introducing the following VIN submodule into the CIRCUIT module
for the system under consideration:

VIN 8.0 LINEAR

Alternatively, the following VIN submodule could be used:

VIN 9.03 DB

where 20×log10(8.0/2.828) = 9.03 and log10 is the logarithm to base 10.

Two examples of variable VIN submodules are as follows:

VIN 6.0 DB VARIABLE


VIN 2.0 LINEAR VARIABLE

To explicitly specify that the VIN submodule is fixed, you can simply use the FIXED keyword in its usual
sense. Two examples of such usage are shown below:

VIN 6.0 DB FIXED


VIN 2.0 LINEAR FIXED

CALSOD 3.10 and CALSOD 1.40 User's Manual – 145


WEIGHTING
╔═════════╗
║WEIGHTING║
╚═════════╝

This module is used to define the weighting function that is used to factor the target sound pressure response
at each frequency point during the optimization procedure. Although all the submodules that can be used in
the WEIGHTING module define transfer functions that have both magnitude and phase, only the magnitude
of the weighting function is utilized during the optimization procedure.

If this module is omitted then the default unity weighting factor is applied at each frequency point.

WEIGHTING Name of module.

The weighting function is used to adjust the relative importance of the contribution of each frequency point
to the overall error function during the optimization procedure. Normally the weighting applied at each
frequency point is unity, and this generally leads to acceptable results. However, the weighting function can
be used to adjust the relative importance of particular frequency points, and in this way you can trade off
response irregularities in one frequency band for those in another. For example, if it is desired to eliminate a
particular ripple in the passband response, the corresponding weighting factors may be increased, possibly
attaining the desired result on carrying out the optimization.

When optimized together in a multiway loudspeaker system, the filtered responses of individual drivers may
have a greater than desired degree of overlap. This can result from the optimization algorithm attempting to
use a peak in the response of one driver to compensate for a dip in the response of the complementary
driver. By reducing the weighting associated with the frequency points where this undesirable interaction
occurs, it is possible to obtain a more acceptable solution.

Also, when attempting to optimize filter networks for individual drivers, it is often the case that the
frequencies well beyond the cutoff frequency of the filter can be assigned a weighting less than that applied
to frequencies in the passband.

EXAMPLE

Consider a problem where the target response corresponds to a third-order Butterworth lowpass filter with a
passband sensitivity of 90 dB and a cutoff frequency of 3000 Hz. It is possible to weight the frequencies in
the stopband such that they are less effective in determining the values of the optimized components. A
suitable weighting function would be a first-order Butterworth lowpass filter function with a cutoff
frequency of 6000 Hz. The sample TARGET SPL and WEIGHTING modules would be:

TARGET SPL
SEN 90.0 DB
BUT 3000.0 3 LOWPASS
!
WEIGHTING
BUT 6000.0 1 LOWPASS

As another example, consider a target function for a two-way loudspeaker system that has a flat response
with a sensitivity of 90 dB. We wish to ensure that the response is as flat as possible in the region around
4000 Hz. Therefore, we will increase the weighting applied in a frequency band centred around 4000 Hz by
applying a MPE submodule as follows:

TARGET SPL
SEN 90.0 DB
!
WEIGHTING
MPE 4000.0 8.0 10.0 LINEAR

146 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Since Qeq = 8, this will weight the frequency points in a narrow band (approximately 500 Hz wide) centred
on 4000 Hz to be up to 10 times more important than the remaining points.

The frequency range over which the MPE weighting is effective can be checked by plotting the weighting
function superimposed on the target response. This can be achieved by selecting the appropriate option
when plotting the system response functions. The same applies to the weighting function defined in the first
example.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 147


XYZ

XYZ X Y Z

This submodule is used to input the coordinates of the point in space at which the target response is to be
calculated. If this submodule is not included in the TARGET SPL module then it is assumed that (X,Y,Z)
= (0,0,0).

XYZ Name of submodule.

X Y Z The (X,Y,Z) coordinates (metres) of the position in space at which the target response is defined.
The coordinates are defined using the global XYZ-axis system.

Note that the XYZ submodule cannot co-exist with any RAB submodules in the same module.

CAUTION: The primary aim of this submodule is to permit the user to simulate the effects that
noncoincident drivers will have on the sound pressure response. Therefore, when specifying the (X,Y,Z)
coordinates of the design point, due regard must be given to possible additional effects resulting from the
off-axis radiation patterns of the various drivers. If the design point is significantly off-axis then the high-
frequency responses of the drivers will not be the same as the on-axis response curves that were modelled. If
the design point is only a few degrees off-axis, then it may be possible to use the on-axis response as a first
approximation.

COMMENTS

It is also possible to activate the display of the target (X,Y,Z) coordinates on the plots. To do so, first select
Option F from the main menu, and then select Suboption F to show a list of choices of the possible display
formats, as well as the ability to specify a user defined editor. Then just select the option that allows you to
switch on the display of the target coordinates.

EXAMPLE

Let us assume that we have a woofer and tweeter located at the following coordinates in space:

Y-axis



+ TWEETER (X,Y,Z) = (0.0,+0.1,0.0)


────────────┼──────────── X-axis
/│
/ │
/ + WOOFER (X,Y,Z) = (0.0,-0.1,0.0)
/ │
/
/
+ TARGET OBSERVATION POINT
/
/
Z-axis

Both drivers are assumed to be facing in the positive Z-direction. It is desired to set up the target response
for the summed acoustic output of these two drivers at an observation point on the Z-axis that is 1.0 metre
from the origin of the coordinate system. The line of data to accomplish this is given as follows:

XYZ 0.0 0.0 1.0

148 – CALSOD 3.10 and CALSOD 1.40 User's Manual


A SIMPLE CALSOD DATA FILE

Before describing the curve-fitting techniques that will allow you to model the impedance and sound
pressure responses of drivers, we will present a simple CALSOD data file that you can read in and analyze.
The name of this file is DEMOFILE.C14, and it has been set up to simulate an “ideal” wide-range
loudspeaker whose response is flat from 80 Hz to 10 kHz. A closed-box alignment is used to model the low-
frequency sound pressure response, as well as the impedance characteristics of the driver. Figure 1 and
Figure 2 show plots of the simulated sound pressure and impedance response of this “ideal” driver.

Figure 1: Magnitude and phase of the sound pressure response of a simulated “ideal” loudspeaker
driver.

Figure 2: Magnitude and phase of the impedance response of a simulated “ideal” loudspeaker
driver.

Setting the graphics mode used for plots

Prior to carrying out any analyses of loudspeaker systems, you should configure CALSOD to be able to
produce graphics plots on your particular display. From CALSOD’s main menu, you should select the
option that allows you to change the default plotting parameters, which is Option F from the main menu.

When the plotting parameters submenu appears, select the option that allows you to set the screen graphics
mode. You will then be presented with a variety of options that enable you to choose a graphics mode that is
compatible with your system. CALSOD comes configured in an auto-detection mode, which means the

CALSOD 3.10 and CALSOD 1.40 User's Manual – 149


program tries to determine the highest resolution supported by your graphics card. To help you with your
choice, each mode supported by CALSOD is summarized in terms of the resolution and the number of
colors that it can utilize. CALSOD supports CGA, EGA, VGA and Hercules graphics modes. Type in the
number corresponding to the graphics mode that you wish to use, and press the return key to accept this
choice.

Selecting the printer used for plots

You should also configure CALSOD to be able to produce printer plots on your particular printer. From
CALSOD’s main menu, select the option that allows you to change the default plotting parameters. When
the submenu appears, select the option that allows you to set up the printer to be used for obtaining printed
copies of screen plots. You will then be presented with a new submenu.

Firstly, select the option that permits you to choose the printer that you wish to use. You will then be
presented with a list of printers supported by CALSOD. Some of the printers supported by CALSOD
include those manufactured by Epson, IBM, NEC, Toshiba and Hewlett-Packard, and include dot matrix and
laser printers. Type in the number corresponding to the printer that you wish to use, and press the Enter key
to accept this choice. If your printer is not among those listed, then check your printer manual to see whether
it is compatible with any of the printers supported by CALSOD. Alternatively, if you are running Microsoft
Windows, you can configure CALSOD to print to the default Windows printer. This should enable
CALSOD to indirectly use USB printers, for which no native support is provided.

Secondly, you should select the option that informs CALSOD when to send a form feed instruction to the
printer during the plotting process. The default setting is that no form feed is ever sent. Other options
include sending a form feed instruction at the beginning or at the end of every printer plot. This will ensure
that each plot is started on a new page. This option only

Setting up analysis parameters

Before we read in the demonstration data file DEMOFILE.C14, it is desirable to change the default
frequency range and number of subintervals to suitable values that will yield plots with an adequate
resolution. In order to change the default values, from the main menu select the option which allows you to
redefine the frequency limits and the number of subintervals; this is the frequency range and iteration
parameters menu, which corresponds to Option E on the main menu.

A new menu appears, and now select the option which will display the current set-up for the various
parameters which are involved in the analysis process. Once you have read all the information, press any
key to return to the frequency range and iteration parameters menu.

Now select the option which enables you to change the lower and upper frequency limits for the analysis.
The lower and upper frequency limits should be chosen to be 20 Hz and 20 kHz. These are the original
default settings, so if you have not modified these options you should not need to make any adjustments.

After making these changes, the frequency range and iteration parameters menu automatically reappears.
Now select the option which enables you to change the number of subintervals into which the previously
specified frequency interval will be subdivided. Input 50 as the selected number of subintervals, as this will
give a plot with a reasonably smooth appearance. After setting the number of subintervals the frequency
range and iteration parameters menu automatically reappears. Press the Esc key to return to the main menu.

Setting up plotting parameters

Before we read in the demonstration data file we should also learn how to change the default plotting
parameters used for setting up the scales on the frequency and amplitude axes. In order to change the various
plotting parameters you should select Option F from the main menu. When the new menu appears, select the

150 – CALSOD 3.10 and CALSOD 1.40 User's Manual


option which will display the current set-up for the various parameters which are involved in the plotting
process. Once you have read all the information, press any key to return to the plotting parameters menu.

In order to display the sound pressure plots on suitable amplitude scales, it will be necessary to alter a
number of plotting parameters. You must select the option that allows you to change the minimum and
maximum magnitude limits on the plotted sound pressure response curve. The lower limit for the sound
pressure plots should be set to 75. Note that if you do not wish to change the default values this is
accomplished by simply pressing the Enter key in answer to every prompt. For this particular example, the
maximum value of the sound pressure can be set to 100, so enter this number when you are prompted for the
maximum sound pressure value.

You can now alter the current default values of the number of minor and major tick marks which are drawn
along the vertical sound pressure response axis. The number of minor tick marks can be set to 5, and the
number of major tick marks can be set to 5. This divides the vertical axis into 5 major subdivisions (in steps
of 5 dB), each of which in turn is divided into 5 minor subdivisions (in steps of 1 dB).

The following diagram illustrates the occurrence of major and minor tick marks on the typical graph format
produced by CALSOD. Also shown are the corresponding major and minor grid lines which are used to
subdivide the plotting area.

─┬─────────────────────────────────────────┬─
┤·········································├
Minor tick marks »» ┤·········································├
┤·········································├
and grid lines ┤·········································├
─┤-----------------------------------------├─
┤·········································├
┤·········································├
┤·········································├
┤·········································├
Major tick marks » ─┤-----------------------------------------├─
┤·········································├
and grid lines ┤·········································├
┤·········································├
┤·········································├
─┼──────┬─────┬──────┬────┬───┬───┬───┬─┬─┬┼─

It is also possible to change the amplitude limits for the display of the phase response plots, as well as the
characteristics of the tick marks. The plotting parameters menu has an option dedicated to carrying out such
changes, and it is used in the same manner as when changes were being made to the magnitude response
limits.

In order to display impedance plots on suitable amplitude scales, it will be necessary to alter a number of
additional plotting parameters. To do this, select the option that allows you to change the minimum and
maximum magnitude limits on the plotted impedance curve. The lower limit of the impedance should be set
to 0. For this particular impedance curve the maximum value of the impedance can be set to 50, so enter this
number when you are prompted for the maximum impedance value.

You can now alter the current default values of the number of minor and major tick marks which are drawn
along the vertical impedance axis. The number of minor tick marks can be set to 5, and the number of major
tick marks can be set to 5. This divides the vertical axis into 5 major subdivisions (in steps of 10 ohms),
each of which in turn is divided into 5 minor subdivisions (in steps of 2 ohms).

It now only remains to select a suitable frequency range for plotting out the data on the screen. For this
example we will define the frequency limits for plotting to be the same as the frequency limits used for the
calculation of the impedance transfer functions. However, this need not always be the case, as it is possible
to select the frequency range for plotting to be independent of the frequency range used in the calculation of
the system transfer functions.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 151


In order to change the plotting frequency range select the appropriate option from the plotting parameters
menu. Then set the minimum plotting frequency equal to 20 Hz, and the maximum plotting frequency equal
to 20 kHz. After this the plotting parameters menu will reappear.

To make the plots as clear as possible, it is sometimes desirable to switch off the minor horizontal grid lines
which consist of lines of horizontal dots that correspond to each of the minor tick marks along the vertical
axis of the plot (see the diagram shown above). To facilitate this you must select the option from the plotting
parameters menu which allows you to toggle the minor horizontal grid lines on and off. Check to see that
they are turned off. When you have finished making your selection, if any, you should press the Esc key to
return to the main menu.

Combined sound pressure and impedance plots

CALSOD has the ability to produce plots where chosen sound pressure and impedance response plots are
simultaneously displayed on the screen. When a combined sound pressure and impedance plot is selected,
CALSOD puts the sound pressure scales on the left-hand side of the plot, while the impedance scales are
placed on the right-hand side of the plot.

The selection screens that enable you to change the plotting limits accept additional impedance magnitude
and phase limits that specifically apply to the scales on the right hand side plot axes. However, it is not
possible to independently change the tick mark settings for the right hand axes. CALSOD automatically uses
the tick mark and grid settings defined for the left-hand sound pressure axes when combination sound
pressure and impedance plots are selected. This is done to ensure that a reasonable looking picture is
produced at all times.

Saving the default set-up

From the above discussion it is evident that quite a number of parameters need to be defined in order to
calculate the system transfer functions and display the results. Once the default values have been altered
they will remain the same throughout the analysis unless they are changed once again.

When you exit CALSOD, you will be prompted as to whether or not to save the current set-up in a
configuration file. When configuring CALSOD to work with your printer and desired graphics mode for the
first time, make sure that when you exit CALSOD that you answer “Yes” to the prompt for saving the
current default settings. These same values will then be read in when CALSOD is restarted. During an
analysis it is common practice to have to change some of the plotting or analysis parameters in order to
achieve the best possible display of data in the frequency range of interest. Therefore, you should not
hesitate to change any values if the need arises.

Analysing the demonstration data file

The demonstration data file DEMOFILE.C14 is listed below, and it represents about the smallest CALSOD
data file that it is possible to define and still get useful results.

! -------------------------------------------
! DEMONSTRATION DATA FILE FOR USE WITH CALSOD
! -------------------------------------------
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 1.0 ! If XYZ omitted then 0,0,0 is assumed
SEN 90.0 DB ! Must specify a SEN submodule
!
DRIVER 1
Demo
!

152 – CALSOD 3.10 and CALSOD 1.40 User's Manual


SOUND PRESSURE ! Must have this if SPL desired
SEN 90.0 DB ! If omitted then output is at 0 dB SPL
SCB 40.0 0.35 3.0 ! Closed-box low-frequency roll-off at 80 Hz
BUT 10000.0 2 LOWPASS ! High-frequency roll-off at 10 kHz
!
IMPEDANCE ! Must have this if impedance desired
!
! The following line of data sets up the impedance for a speaker
! in a closed box that corresponds to the low-frequency alignment
! specified by the SCB data submodule.
!
ICB 40.0 6.0 0.20E-3 2.8 0.40 3.00

In order to read in the above data file you should select Option I from the main menu. Type in the name
DEMOFILE.C14 and press the Enter key. Once the file has been completely read in you should answer “Y”
(Yes) to the prompt that asks whether you wish to calculate the system transfer functions.

Plotting out the sound pressure response

In order to plot the system SPL response you should select Option B from the main menu. You will then be
presented with various choices corresponding to the different functions that it is possible to plot. You should
select function A in order to plot the driver SPL response. Viewing the frequency response function you
should see a wide-range driver with a response characteristic that has –3 dB points at 40 Hz and 10 kHz.
Since there is no filter network defined, the response functions corresponding to choices A, C, and E are
identical. Your plot should look like the graph shown in Figure 1, where the upper part of the graph shows
the magnitude of the sound pressure in dB and the lower part gives the corresponding phase response.

Plotting to the printer

While the plot is being displayed on the screen, it is possible to print it out on a printer that is connected to
the printer port of your computer. Simply press the “P” key to initiate the plotting process, and you will be
prompted to continue if the printer is on line. At this point press the “Y” key if you wish to continue, and the
printer will begin plotting the image. Otherwise, press the “N” key if you do not wish to continue with the
printing process.

While the printer is actually printing, you can interrupt the printing process at any time by simply pressing
the Esc key. Once the printer has finished its plot, you will be allowed to make additional plots of the same
graphics display. Once a plot has finished, simply press the Esc key to return to the previous menu where
you can select another set of plots.

Plotting to a file

While the plot is being displayed on the screen, it is possible to print it to a file. Simply press the “F” key to
initiate the procedure for plotting to a disk file, and you will then be prompted with a list of supported file
formats, currently GEM IMG files (monochrome only) and PC-Paintbrush PCX files (in colour or
monochrome). To continue, simply choose the required file format, and you will then be prompted for the
name of the file. After you have entered the name of the file, press the Enter key and the screen image will
be written to the file in the selected format. Once the plot has been saved, simply press the Esc key to return
to the previous menu where you can select another set of plots.

Plotting out the impedance response

Assuming that you are still in the plotting submenu (initially selected using Option B from the main menu),
in order to plot the driver’s impedance response you should select function D from the list of available
choices. Viewing the impedance response function, you should see the low-frequency resonance peak at
about 80 Hz, as well as a rising impedance characteristic at high-frequencies due to the voice-coil
inductance that was included in the driver impedance model. Since there is no filter network defined, and

CALSOD 3.10 and CALSOD 1.40 User's Manual – 153


there are no additional drivers connected in the circuit, the driver impedance function (selected using
function D) is the same as the input impedance of the entire system (selected using function G). Your
impedance plot should look like the graph shown in Figure 2, where the upper part of the graph shows the
magnitude of the impedance and the lower part gives the corresponding phase response.

Note that you can select a combination of sound pressure and impedance response functions and plot them
out on the screen.

Editing the data file

You can now exit the plotting process and return to the main menu simply by pressing the Esc key twice.
We will now get you to use the editor to modify the above data file. Simply select Option A from the main
menu, and when the editor screen is displayed with the filename DEMOFILE.C14 in one of the windows
you should simply press the Enter key.

Alternatively, there is a much quicker way of returning to the editor while displaying plots on the screen.
When you press the “E” key (an on-screen prompt is provided), CALSOD will jump straight back into the
editor, using the file is currently being processed. This is much quicker than having to press the ESC key
twice, then the “A” key from the main menu to activate the editor, and then the Enter key to select the
displayed file name for editing.

You can now begin editing the data file. We will now get you to introduce an MPE submodule to
incorporate a dip into the sound pressure response function. Use the cursor keys to move down to the
beginning of the line with the BUT submodule. Now press Ctrl-N in order to insert a blank new line just
before the BUT submodule. Now simply type in the following line of data:

MPE 1000.0 10.0 -6.0 DB

This will introduce a narrow notch into the sound pressure response at 1 kHz. To understand the meaning of
the various numbers you can refer to the MPE submodule description provided elsewhere in this manual.
The position of this notch can be varied by changing the Fo frequency, its sharpness can be altered by
specifying a different Qeq value, and the depth of the notch is varied by changing the Deq value. If a peak is
required then the Deq value must be positive. See the MPE submodule description for further details.

In order to save this data file and re-enter the CALSOD program, you can press the F10 key, then select the
“File” pulldown menu by using the cursor keys to move to the selection bar to the appropriate position (or
just type the letter “F”), and then hit the Enter key. Once the pulldown menu has opened you can select the
Quit option, either by using the cursor keys to move to the relevant spot or simply typing the letter “Q”.
When you are prompted to save the changes select “Y”.

When CALSOD’s main menu re-appears, select Option I to read in the data file, and then type “Y” to
recalculate the system transfer functions. After this is finished, in order to plot out the new sound pressure
response you can select Option B from the main menu. Then select function A to plot out the driver sound
pressure response. Inspection of this plot will show that a large dip in the response has been introduced into
the SPL response at 1 kHz.

If you like, you can return to the editor and modify the data file by changing the values of Qeq and Deq in
the MPE submodule. You may be interested to add extra minimum-phase equalization at other frequencies
in order to investigate the effects on the SPL response characteristics. If you wish, you can also add some
MPE submodules to the DRIVER IMPEDANCE module to see their influence on the impedance response.
By recalculating the system transfer functions and plotting the results you will quickly gain an appreciation
of the effects of the MPE submodule, whose use will be further discussed in the following curve-fitting
examples.

154 – CALSOD 3.10 and CALSOD 1.40 User's Manual


RECOMMENDED PROCEDURE
FOR ANALYSIS AND DESIGN

The analysis procedure that is recommended to the user of CALSOD consists of two distinct parts. The first
part involves creating the transfer function approximations to the sound pressure and impedance responses
of the individual drivers that are to be used in the loudspeaker system. In the second part of the analysis, the
filter topology is chosen and the crossover network optimization is carried out if desired.

In order to effectively illustrate the design process, the analysis of a typical two-way loudspeaker system
will be described in detail in subsequent sections of this manual. You are urged to carefully study this
example because it will cover many important facets of the design process. The loudspeaker system consists
of a 200 mm woofer and a 34 mm dome tweeter. The sound pressure responses for these drivers were
obtained directly from the manufacturer’s data sheets, and only the magnitude of the sound pressure
response was available. The magnitude and phase of the impedance response were obtained by measuring
the free-air impedance characteristics of the two drivers using a Hewlett-Packard impedance analyzer.

File naming conventions

The tutorial examples that are provided in this manual include a large number of data files. The naming of
these files follows a simple convention that makes it easy to see which version of CALSOD is needed to
work with the file.

Files that have the extension .C14 are CALSOD 1.40 files. They can also be read in by CALSOD 3.10.

Files that have the extension .C31 are CALSOD 3.10 files. They cannot be processed by CALSOD 1.40
because they make use of feature that are available only in CALSOD 3.10.

Files that have the extension .MDF, which stands for Measured Data File, are used as imported data files.
They are written in the CALSOD-specific format that is only supported in CALSOD 3.10.

A number of other filename extensions are also used: .BOD, .DAT, .FRD, .IMP, .PEG and .ZMA. These
files contain measured data that were obtained using different types of audio measurement equipment. These
files are imported by CALSOD 3.10 during the tutorial examples.

Curve-fitting of driver transfer functions

Listed below are a number of useful techniques and principles that you can apply during the curve-fitting
and optimization phases of designing loudspeaker systems and their crossover networks. You should study
these before proceeding with your own designs, but please recognize that they are only meant to act as
guidelines for your own analyses. As you gain experience you will no doubt develop your own variations
and extensions of these techniques.

1. Analytical transfer function approximations to the sound pressure and impedance responses of the
chosen drivers are created, either by trial-and-error or, if you have CALSOD 3.10, by using the curve-
fitting optimizer. The raw data which are the target of the curve-fit are generally obtained from data
sheets provided by manufacturers or from experimental measurements of the driver responses. If the
impedance response is not available then it will need to be measured or estimated in some way. The
Thiele-Small parameters can often be used for this purpose.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 155


2. As a result of the minimum-phase behaviour of most moving-coil loudspeaker drivers, only the
magnitude of the sound pressure and impedance responses are required. The minimum-phase property
ensures that the phase response is correctly represented if the magnitude response is accurately
modelled. If phase data are available then they should be utilized in order to provide an additional
check on the accuracy of the approximation that is being developed.

3. CALSOD 3.10 includes a curve-fit optimizer that can be used to set up IMP and MPE submodules
when creating impedance and sound pressure curve-fits of loudspeaker drivers. This greatly reduces the
trial-and-error iterations required by the manual curve-fitting procedure.

4. At this stage of the analysis you may wish to introduce your own low-frequency alignments into the
models. These are based on the Thiele-Small parameters as well as additional data such as the voice-
coil resistance and inductance. By using the Thiele-Small parameters you will be able to accurately
model the sound pressure and impedance responses of loudspeaker drivers in vented-box, closed-box,
bandpass, and passive-radiator enclosures.

5. When performing curve-fitting of sound pressure responses, you should incorporate enough points to
be able to gauge the accuracy of the transfer function approximations. This means that a higher density
of points should be chosen in areas where peaks and dips are present in the response. If the response of
the loudspeaker driver is very ragged, then a large number of data points will be needed and the trial-
and-error approximation procedure will generally require many iterations before a satisfactory curve-fit
is obtained.

6. Because the impedance response of a loudspeaker driver is relatively smooth, it generally requires
fewer data points than the sound pressure response to create an accurate curve-fit. The impedance peak
is the region which often requires the highest density of data points. However, if the frequency range
where it occurs is not close to the crossover frequency, then fewer points are needed as a very accurate
curve-fit may not be required.

7. In general, where the function is smoothly varying, the sound pressure or impedance data points should
be distributed such that they are approximately evenly spaced on a logarithmic frequency scale.

8. When approximating the sound pressure response of a driver it is important to obtain the value of its
sensitivity. This is generally supplied on the specification sheet, but if it is omitted then it can be
estimated directly from the sound pressure response curve of the driver.

9. The sound pressure response and impedance response approximations that are created are important
building blocks in the simulation of multiway loudspeaker systems. It is therefore important that they
be as accurate as possible, and during their creation you should invest a reasonable amount of time in
order to ensure their adequacy. If accurate approximations are provided right from the start the need for
editing numerous data files to bring them up-to-date with the latest improved approximation will never
arise.

10. In order to get a better view of the curve-fit superimposed on the data points, it will often be necessary
to adjust the magnitude, phase and frequency limits to obtain a high-resolution plot.

11. The accuracy of the measured data, together with the accuracy of the curve-fits, will determine how
closely the simulated loudspeaker system acoustic response will correspond to its actual response.

Suggested design process for analysis and optimization

The following points concerning the analysis and optimization of loudspeaker systems and their crossover
networks should be carefully studied, especially if you do not have a great deal of experience with CAD
systems. The techniques and approaches described below are meant only as guide, and the designer should
feel free to expand on these and to develop alternative approaches that deal with particular problems.

156 – CALSOD 3.10 and CALSOD 1.40 User's Manual


1. Once satisfactory sound pressure and impedance response transfer function approximations have been
developed, a filter network topology is chosen for the combination of drivers. The order of the filters is
generally in the range from first-order to fourth-order, and the choice will be based on the designer’s
requirements concerning power handling, polar response, power response and phase response. The
initial component values of the chosen filter network are often based on handbook values obtained from
filter tables.

CALSOD permits the designer to easily analyze a proposed multiway loudspeaker system, together
with its crossover network, to determine its summed acoustic sound pressure response characteristics.
Once a trial design has been developed it is possible to numerically optimize the component values of
the crossover network to achieve a desired response characteristic.

2. To help you develop a trial crossover network this manual contains the design equations for
Butterworth, Linkwitz-Riley, and Bessel filter networks. Alternatively, other initial filter topologies can
be obtained from handbooks dealing with network analysis and synthesis. Magazine or journal articles
(especially those found in the Journal of the Audio Engineering Society) are an excellent source of
information.

3. In order to operate, the optimization algorithm requires an initial crossover design that produces an
initial sound pressure response. As a starting point, the filter component values can be calculated on the
assumption that the termination of the filter is a pure resistance. The response obtained using this
assumption should be sufficient to provide starting values for the optimization procedure. In any case,
the starting response can be checked using CALSOD, and if it is deemed to be unsatisfactory it can be
manually modified to provide an improved initial solution for the optimization procedure.

4. If the manually designed trial crossover network has yielded an unsuitable response, as will often be the
case, an optimization can be performed. This can be carried out in two distinct ways:

a. Optimization of the individual lowpass and highpass (or bandpass) filters to achieve the desired
target responses. The target responses chosen at this stage are generally known to yield the
required response when the outputs of the individual drivers are combined.

b. Optimization of the summed acoustic response to yield the desired target response.

Both approaches a. and b. will be described in the tutorial examples in this manual.

5. As the problem to be solved is nonlinear in nature, the choice of initial values used to begin the
optimization procedure can be critical. For a nonlinear optimization, convergence to a solution depends
on the initial values, and it should be kept in mind that for different initial component values or
loudspeaker polarities it is possible to obtain different solutions. The optimization algorithm that is
used cannot guarantee to determine the set of component values that correspond to the global minimum
of the error function. However, the local minimum is generally adequate. If desired, you can start the
optimizer using different sets of initial conditions to help ascertain whether or not the optimization has
yielded a global minimum. If convergence to a less optimum or the same solution is obtained, then the
best solution is likely to be the global minimum.

6. In general, the target response for the summed acoustic output of a multiway loudspeaker system will
have a flat response characteristic. However, it is possible to develop a non-flat target response, such as
a high-frequency response that is slowly decreasing with respect to the midrange and low-frequencies,
or even a midrange response that has reduced output relative to the low- and high-frequencies.

7. Often the low- and high-frequency acoustic responses are to possess a particular filter response
characteristic, such as a third-order Butterworth response. In such cases separate target functions must
be created to represent the desired low- and high-frequency response functions, and the crossover
network components must be optimized separately for each case. Once the designs are finalized they

CALSOD 3.10 and CALSOD 1.40 User's Manual – 157


may be combined together in one data file and the resultant summed acoustic response can be checked
to see whether it is acceptable.

8. When optimizing the summed acoustic output, it is desirable that the first and last frequencies are
chosen such that the crossover network can have some effect on the response at these extremes.

9. When optimizing a filter network for a single driver to obtain a desired target response, the first and
last frequencies should be chosen such that the target response is not more than about 20 dB below the
passband reference level at one extreme, and such that the filter network can have some effect on the
response at the other extreme. For a midrange driver, this means that the response should be about
20 dB down relative to the passband at both frequency extremes. If the response in the stopband is
significantly greater than this, then it is possible that the optimization algorithm will place undue
emphasis on getting an accurate curve-fit in an area that may not have a great influence on the summed
acoustic response. On the other hand, by trying to get good agreement with the target magnitude
response well into the stopband, it is possible that the driver/filter phase response near the cutoff
frequency will better match the desired characteristics. It should now be apparent that there is an
element of compromise when setting the limits of the optimization frequency range, and the trade-offs
must be considered for each problem.

10. The optimization procedure requires that there be more frequency points than variable components. If
this condition is not satisfied then the optimization cannot be undertaken.

11. At first use only a small number of frequency points. This leads to faster operation of the optimization
algorithm and a shorter design cycle for each attempt. This is particularly important if you do not have
a maths coprocessor present in your computer. For most designs, 10 or so frequency points will often
be sufficient, but if you have a fast computer you can use more points if you wish. If you initially use a
small number of points during an analysis, it may be worthwhile investigating the effect that different
numbers of points have on the final solution. In some cases the optimized solution may be quite
sensitive to the number of frequency points that are used, especially if the number of points is not much
greater than the number of variable components, or the frequency range used is quite large, or if there
are many peaks and dips in the raw response of some or all of the drivers. However, the more points
you use the longer the time taken for each cycle of the optimization procedure.

12. When you are carrying out an optimization it is often instructive to try an optimization that has only a
few variable components in order to determine whether the desired target response can be achieved.
Add and/or eliminate components until the general shape of the target response is achieved, but please
remember that the nodes have to be numbered in a continuous sequence. If possible, use as initial
values for retained components those values that were determined from previous optimizations. It may
be helpful to fix certain retained components while allowing the new components to vary. If desired,
more and more components may be freed towards the end of the analysis.

13. Sometimes adjusting the sensitivity of the target response may allow a much better fit to the desired
response to be achieved. A modification such as this is only possible if we require a particular response
shape, but are not as interested in the absolute level of the result.

14. If the response of the drivers is not very smooth, then you may wish to use more than twenty points to
obtain increased resolution when plotting out the response functions. Occasionally, even more points
may be required to give a satisfactorily smooth plot. To keep the optimization as fast as possible, the
higher number of points would be selected only after the optimization has converged to a solution.

15. If you restart the optimization procedure very close to an optimized solution, be it a global or local
minimum, you may find that the iteration procedure behaves in an unexpected manner. The first
iteration will jump to a value that has a very large residual error, and then no further improvement
results during subsequent cycles of the optimizer. If this occurs, you must manually stop the
optimization procedure, and in order to proceed you will need to perturb the variable components from

158 – CALSOD 3.10 and CALSOD 1.40 User's Manual


their best optimized values. Increasing or decreasing the values by about 10% or 20% is generally
enough; the increase in the initial value of the residual error that results is usually sufficient to enable
the optimization to proceed. You can now restart the optimization procedure and you may obtain
convergence to an improved solution.

16. You may wish to simulate parasitic elements, such as the resistance inherent in all inductors. These
may be added to the crossover network and the component values reoptimized. However, please keep in
mind the comments made in 14. above. If you do wish to include a resistor in series with each inductor,
you can use the DCR value in the IND submodule.

Alternatively, you can explicitly include a resistor in the actual network definition and allow it to vary
during the optimization. If the resultant value will not detrimentally affect the performance of the
drivers, it can be incorporated directly into the inductor by choosing an appropriate diameter of wire.
Note that this may allow a smaller diameter of wire to be used for the inductor in the optimized
crossover network, therefore lowering the manufacturing cost.

17. In the final stages of the design, fix the values of more and more components to standard ones and
reoptimize the remainder. Inductor values are usually fixed last because inductors can be easily wound
to any specified value. However, please keep in mind the comments made in 16. above.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 159


DESIGN EQUATIONS FOR
PASSIVE AND ACTIVE FILTERS

Before selecting the order of the filter to be used in the crossover network, you should take into account the
acoustical behaviour of the loudspeaker driver in the vicinity of the proposed cutoff frequency. For example,
if you desire a 24 dB/octave rolloff in the stopband, and the loudspeaker driver already develops a natural
12 dB/octave acoustical rolloff near the cutoff frequency, then you should use a second-order filter that can
develop a maximum of 12 dB/octave attenuation in the stopband. When this filter is combined with the
natural response of the driver, the result will approximate the desired 24 dB/octave acoustic response.
Although this technique is only approximate, it is sufficient to get initial component values for the trial filter
network prior to optimization of the circuit components.

Once you have selected the type and order of the crossover network that you wish to use (such as
Butterworth, Linkwitz-Riley, etc.), you will need to estimate the values of the components to be used in the
initial trial crossover network.

It is generally sufficient to determine these values by assuming that the impedance of each loudspeaker
driver can be represented by a constant resistance. The value of this resistance is taken to be the magnitude
of the impedance of the driver at the desired crossover frequency. Once this value has been chosen, you can
use the standard formulas that assume that the filter network is terminated in a constant resistance. A
number of design formulas for Butterworth, Bessel, and Linkwitz-Riley crossover networks, ranging from
first-order to fourth-order, are presented below.

In all the formulas given below, circuit elements beginning with L, R, and C represent inductors, resistors
and capacitors. The cutoff frequency of the filter is denoted by Fc. The symbols Rlo and Rhi denote the
loads connected to the lowpass and highpass filters. For some of the active filters, Z is an impedance scaling
factor.

Equations for first-order two-way filter networks


┌──┐ ┌──┐
+ ───┤L1├─────┐+ + ───┤C1├─────┐+
└──┘ ┌─┴─┐ └──┘ ┌─┴─┐
│Rlo│ │Rhi│
└─┬─┘ └─┬─┘
- ────────────┘- - ────────────┘-

Butterworth filter
Rlo 0.1590
L1 = ──────── C1 = ──────
6.283 Fc Rhi Fc

Equations for second-order two-way filter networks


┌──┐ ┌──┐
+ ─┤L1├───┬───────┐ + ─┤C2├───┬───────┐
└──┘ │ │+ └──┘ │ │-
┌─┴┐ ┌─┴─┐ ┌─┴┐ ┌─┴─┐
│C1│ │Rlo│ │L2│ │Rhi│
└─┬┘ └─┬─┘ └─┬┘ └─┬─┘
│ │- │ │+
- ────────┴───────┘ - ────────┴───────┘

160 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Bessel filter

Note: the summed response is smoothest when the anti-phase connection is used for the high-frequency
driver, and there is a 1.25 dB peak at the crossover frequency (from “The Loudspeaker Design Cookbook”).
0.2678 Rlo 0.0946 0.0946 0.2678 Rhi
L1 = ────────── C1 = ────── C2 = ────── L2 = ──────────
Fc Rlo Fc Rhi Fc Fc

Butterworth filter

Note: the summed response has a 3 dB peak at the crossover frequency when the anti-phase connection is
used for the high-frequency driver.
0.2251 Rlo 0.1125 0.1125 0.2251 Rhi
L1 = ────────── C1 = ────── C2 = ────── L2 = ──────────
Fc Rlo Fc Rhi Fc Fc

Linkwitz-Riley filter

Note: the summed response is flat when the anti-phase connection is used for the high-frequency driver.
0.3183 Rlo 0.0796 0.0796 0.3183 Rhi
L1 = ────────── C1 = ────── C2 = ────── L2 = ──────────
Fc Rlo Fc Rhi Fc Fc

Equations for third-order two-way filter networks


┌──┐ ┌──┐ ┌──┐ ┌──┐
+ ─┤L1├──┬──┤L2├─────┐ + ─┤C2├──┬──┤C3├─────┐
└──┘ │ └──┘ │+ └──┘ │ └──┘ │+ or -
┌─┴┐ ┌─┴─┐ ┌─┴┐ ┌─┴─┐
│C1│ │Rlo│ │L3│ │Rhi│
└─┬┘ └─┬─┘ └─┬┘ └─┬─┘
│ │- │ │- or +
- ───────┴───────────┘ - ───────┴───────────┘

Butterworth filter
0.2387 Rlo 0.2122 0.1061 0.1194 Rhi
L1 = ────────── C1 = ────── C2 = ────── L3 = ──────────
Fc Rlo Fc Rhi Fc Fc

0.0796 Rlo 0.3183


L2 = ────────── C3 = ──────
Fc Rhi Fc

Equations for fourth-order two-way filter networks


┌──┐ ┌──┐ ┌──┐ ┌──┐
+ ─┤L1├──┬──┤L2├───┬─────┐ + ─┤C3├───┬──┤C4├───┬─────┐
└──┘ │ └──┘ │ │+ └──┘ │ └──┘ │ │+
┌─┴┐ ┌─┴┐ ┌─┴─┐ ┌─┴┐ ┌─┴┐ ┌─┴─┐
│C1│ │C2│ │Rlo│ │L3│ │L4│ │Rhi│
└─┬┘ └─┬┘ └─┬─┘ └─┬┘ └─┬┘ └─┬─┘
│ │ │- │ │ │-
- ───────┴─────────┴─────┘ - ────────┴─────────┴─────┘

CALSOD 3.10 and CALSOD 1.40 User's Manual – 161


Bessel filter

Note: there is a 1.25 dB peak at the crossover frequency (from “The Loudspeaker Design Cookbook”).
0.2757 Rlo 0.2510 0.0919 0.1009 Rhi
L1 = ────────── C1 = ────── C3 = ────── L3 = ──────────
Fc Rlo Fc Rhi Fc Fc

0.1592 Rlo 0.0583 0.1592 0.4248 Rhi


L2 = ────────── C2 = ────── C4 = ────── L4 = ──────────
Fc Rlo Fc Rhi Fc Fc

Butterworth filter
0.2437 Rlo 0.2509 0.1040 0.1009 Rhi
L1 = ────────── C1 = ────── C3 = ────── L3 = ──────────
Fc Rlo Fc Rhi Fc Fc

0.1723 Rlo 0.0609 0.1470 0.4159 Rhi


L2 = ────────── C2 = ────── C4 = ────── L4 = ──────────
Fc Rlo Fc Rhi Fc Fc

Linkwitz-Riley filter
0.3001 Rlo 0.2532 0.0844 0.1000 Rhi
L1 = ────────── C1 = ────── C3 = ────── L3 = ──────────
Fc Rlo Fc Rhi Fc Fc

0.1501 Rlo 0.0563 0.1688 0.4502 Rhi


L2 = ────────── C2 = ────── C4 = ────── L4 = ──────────
Fc Rlo Fc Rhi Fc Fc

Equations for active second-order two-way filter networks

Butterworth filter
LOWPASS
┌─────┬─────────────┐
┌┴─┐ │ │
│C1│ │ ┌────────┐ │ √2
└┬─┘ └──┤- │ │ C1 = ───────
┌─┐ │ ┌─┐ │ OPAMP ├─┴───┐ 2π×Fc×R
Input ──┤R├─┴─┤R├─┬──┤+ │ │
└─┘ └─┘ │ └────────┘ │+
┌┴─┐ ┌─┴─┐ 1
│C2│ │Rlo│ C2 = ──────────
└┬─┘ └─┬─┘ 2π×Fc×R×√2
│ │-
Ground────────────┴─────────────────┘

HIGHPASS
┌─────┬─────────────┐
┌┴─┐ │ │ 1
│R1│ │ ┌────────┐ │ C = ───────
└┬─┘ └──┤- │ │ 2π×Fc×Z
┌─┐ │ ┌─┐ │ OPAMP ├─┴───┐
Input ──┤C├─┴─┤C├─┬──┤+ │ │ R1 = Z/√2
└─┘ └─┘ │ └────────┘ │-
┌┴─┐ ┌─┴─┐ R2 = Z×√2
│R2│ │Rhi│
└┬─┘ └─┬─┘ Z = impedance
│ │+ scaling
Ground────────────┴─────────────────┘ factor

162 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Linkwitz-Riley filter
LOWPASS
┌─────┬─────────────┐
│ │ │
┌┴┐ │ ┌────────┐ │
│C│ └──┤- │ │
┌─┐└┬┘┌─┐ │ OPAMP ├─┴───┐
Input ──┤R├─┴─┤R├─┬──┤+ │ │
└─┘ └─┘ │ └────────┘ │+
┌┴┐ ┌─┴─┐ 1
│C│ │Rlo│ Fc = ──────
└┬┘ └─┬─┘ 2π×R×C
│ │-
Ground────────────┴─────────────────┘

HIGHPASS
┌─────┬─────────────┐
│ │ │
┌┴┐ │ ┌────────┐ │
│R│ └──┤- │ │
┌─┐└┬┘┌─┐ │ OPAMP ├─┴───┐
Input ──┤C├─┴─┤C├─┬──┤+ │ │
└─┘ └─┘ │ └────────┘ │-
┌┴┐ ┌─┴─┐ 1
│R│ │Rhi│ Fc = ──────
└┬┘ └─┬─┘ 2π×R×C
│ │+
Ground────────────┴─────────────────┘

Equations for active third-order two-way filter networks

Butterworth filter
LOWPASS
┌──┐
┌──┤C2├──────┐ 1.3926
│ └──┘ │ C1 = ───────
│ │ 2π×Fc×R
│ ┌────────┤
│ │ │
│ │┌──────┐│
│ └┤- ││ 3.5468
┌─┐ ┌─┐│┌─┐ │ OPAMP├┴───┐ C2 = ───────
Input ──┤R├─┬──┤R├┴┤R├┬┤+ │ │ 2π×Fc×R
└─┘ │ └─┘ └─┘│└──────┘ │+
┌┴─┐ ┌┴─┐ ┌─┴─┐
│C1│ │C3│ │Rlo│
└┬─┘ └┬─┘ └─┬─┘ 0.2024
│ │ │- C3 = ───────
Ground──────┴─────────┴────────────┘ 2π×Fc×R

CALSOD 3.10 and CALSOD 1.40 User's Manual – 163


HIGHPASS
┌──┐
┌──┤R2├──────┐ 1
│ └──┘ │ C = ───────
│ │ 2π×Fc×Z
│ ┌────────┤
│ │ │
│ │┌──────┐│ R1 = 0.7181×Z
│ └┤- ││
┌─┐ ┌─┐│┌─┐ │ OPAMP├┴───┐ R2 = 0.2819×Z
Input ──┤C├─┬──┤C├┴┤C├┬┤+ │ │
└─┘ │ └─┘ └─┘│└──────┘ │+ R3 = 0.4939×Z
┌┴─┐ ┌┴─┐ ┌─┴─┐
│R1│ │R3│ │Rhi│
└┬─┘ └┬─┘ └─┬─┘ Z = impedance
│ │ │- scaling
Ground──────┴─────────┴────────────┘ factor

┌──────────────┐
┌─┴─┐ │
┌────────┐ ┌┴┐ ┌┴┐ ┌────────┤
│ │ │R│ │R│ │ │
│┌──────┐│ └┬┘ └┬┘ │┌──────┐│
└┤- ││ └─┬─┘ └┤- ││
┌─┐ │ OPAMP├┴┐┌─┐│┌─┐ │ OPAMP├┴───┐
Input ──┤C├┬┤+ │ └┤C├┴┤C├─┬─┤+ │ │
└─┘│└──────┘ └─┘ └─┘ │ └──────┘ │+
┌┴┐ ┌┴─┐ ┌─┴─┐ 1
│R│ │2R│ │Rhi│ Fc = ──────
└┬┘ └┬─┘ └─┬─┘ 2π×R×C
│ │ │-
Ground─────┴──────────────────┴─────────────┘

Equations for active fourth-order two-way filter networks

Linkwitz-Riley filter
LOWPASS
┌───┬────────┐ ┌───┬────────┐
┌─┴┐ │ │ ┌─┴┐ │ │
│2C│ │┌──────┐│ │2C│ │┌──────┐│
└─┬┘ └┤- ││ └─┬┘ └┤- ││
┌─┐│┌─┐ │ OPAMP├┴┐┌─┐│┌─┐ │ OPAMP├┴──┐
Input ─┤R├┴┤R├┬┤+ │ └┤R├┴┤R├┬┤+ │ │
└─┘ └─┘│└──────┘ └─┘ └─┘│└──────┘ │+
┌┴┐ ┌┴┐ ┌─┴─┐ 1
│C│ │C│ │Rlo│ Fc = ─────────
└┬┘ └┬┘ └─┬─┘ 2π×R×C×√2
│ │ │-
Ground────────┴─────────────────┴───────────┘

HIGHPASS
┌───┬────────┐ ┌───┬────────┐
┌┴┐ │ │ ┌┴┐ │ │
│R│ │┌──────┐│ │R│ │┌──────┐│
└┬┘ └┤- ││ └┬┘ └┤- ││
┌─┐│┌─┐ │ OPAMP├┴┐┌─┐│┌─┐ │ OPAMP├┴──┐
Input ─┤C├┴┤C├┬┤+ │ └┤C├┴┤C├┬┤+ │ │
└─┘ └─┘│└──────┘ └─┘ └─┘│└──────┘ │+
┌┴─┐ ┌┴─┐ ┌─┴─┐ 1
│2R│ │2R│ │Rhi│ Fc = ─────────
└┬─┘ └┬─┘ └─┬─┘ 2π×R×C×√2
│ │ │-
Ground────────┴─────────────────┴───────────┘

164 – CALSOD 3.10 and CALSOD 1.40 User's Manual


More design equations for active filters

The equation for the cutoff frequency Fc is obtained by specifying the values of two parameters, Ro and Co.
These are then used in the design equations for determining the values of the resistors and capacitors in the
filter network.

The following design tables can be used with the various filter topologies that are presented later.

┌────────────────┬───────┬─────────────┬─────────────┐
│ FILTER TYPE │ ORDER │ M1, M2 │ Q1, Q2 │
├────────────────┼───────┼─────────────┼─────────────┤
│ Butterworth │ 1 │ Not used │ Not used │
│ ├───────┼─────────────┼─────────────┤
│ │ 2 │ M1 = 0.7071 │ Q1 = 1.4142 │
│ ├───────┼─────────────┼─────────────┤
│ │ 3 │ M1 = 0.5000 │ Q1 = 2.0000 │
│ │ │ M2 = 1.0000 │ │
│ ├───────┼─────────────┼─────────────┤
│ │ 4 │ M1 = 0.9238 │ Q1 = 1.0823 │
│ │ │ M2 = 0.3826 │ Q2 = 2.6131 │
├────────────────┼───────┼─────────────┼─────────────┤
│ Linkwitz─Riley │ 2 │ M1 = 1.0000 │ Q1 = 1.0000 │ 1
│ ├───────┼─────────────┼─────────────┤ Fc = ────────
│ │ 4 │ M1 = 0.7071 │ Q1 = 1.4142 │ 2π*Ro*Co
│ │ │ M2 = 0.7071 │ Q2 = 1.4142 │
├────────────────┼───────┼─────────────┼─────────────┤
│ Bessel │ 1 │ Not used │ Not used │
│ ├───────┼─────────────┼─────────────┤
│ (only valid │ 2 │ M1 = 0.6808 │ Q1 = 0.9077 │
│ for lowpass ├───────┼─────────────┼─────────────┤
│ filters) │ 3 │ M1 = 0.4998 │ Q1 = 0.9547 │
│ │ │ M2 = 0.7560 │ │
│ ├───────┼─────────────┼─────────────┤
│ │ 4 │ M1 = 0.3871 │ Q1 = 1.0048 │
│ │ │ M2 = 0.6698 │ Q2 = 0.7298 │
└────────────────┴───────┴─────────────┴─────────────┘
Note: The above coefficients were obtained from the
book “Filtre Actif” by Paul Bildstein.

First-order filter topology


LOWPASS

┌──┐
Input ──┤Ro├─┬──
└──┘ │
┌┴─┐
│Co│
└┬─┘

Ground───────┴──

HIGHPASS

┌──┐
Input ──┤Co├─┬──
└──┘ │
┌┴─┐
│Ro│
└┬─┘

Ground───────┴──

CALSOD 3.10 and CALSOD 1.40 User's Manual – 165


Second-order filter topology
LOWPASS
┌──────┬─────────────┐
┌┴─┐ │ │
│C2│ │ ┌────────┐ │
└┬─┘ └──┤─ │ │
┌──┐ │ ┌──┐ │ OPAMP ├─┴──
Input ──┤Ro├─┴─┤Ro├─┬──┤+ │
└──┘ └──┘ │ └────────┘
┌┴─┐ C1 = Q1*Co
│C1│
└┬─┘ C2 = M1*Co

Ground──────────────┴────────────────

HIGHPASS
┌──────┬─────────────┐
┌┴─┐ │ │
│R2│ │ ┌────────┐ │
└┬─┘ └──┤─ │ │
┌──┐ │ ┌──┐ │ OPAMP ├─┴──
Input ──┤Co├─┴─┤Co├─┬──┤+ │
└──┘ └──┘ │ └────────┘
┌┴─┐ R1 = Ro/M1
│R1│
└┬─┘ R2 = Ro/Q1

Ground──────────────┴────────────────

Third-order filter topology


LOWPASS
┌──────┬─────────────┐
┌┴─┐ │ │
│C2│ │ ┌────────┐ │
└┬─┘ └──┤─ │ │ ┌──┐
┌──┐ │ ┌──┐ │ OPAMP ├─┴─┤Ro├──┬───
Input ──┤Ro├─┴─┤Ro├─┬──┤+ │ └──┘ │ C1 = M1*Co
└──┘ └──┘ │ └────────┘ │
┌┴─┐ ┌┴─┐ C2 = Q1*Co
│C1│ │C3│
└┬─┘ └┬─┘ C3 = M2*Co
│ │
Ground──────────────┴─────────────────────┴───

HIGHPASS
┌──────┬─────────────┐
┌┴─┐ │ │
│R2│ │ ┌────────┐ │
└┬─┘ └──┤─ │ │ ┌──┐
┌──┐ │ ┌──┐ │ OPAMP ├─┴─┤Co├──┬───
Input ──┤Co├─┴─┤Co├─┬──┤+ │ └──┘ │ R1 = Ro/M1
└──┘ └──┘ │ └────────┘ │
┌┴─┐ ┌┴─┐ R2 = Ro/Q1
│R1│ │R3│
└┬─┘ └┬─┘ R3 = Ro/M2
│ │
Ground──────────────┴─────────────────────┴───

166 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Fourth-order filter topology
LOWPASS
┌──────┬──────────┐ ┌──────┬──────────┐
│ │ │ │ │ │
┌┴─┐ │ │ ┌┴─┐ │ │
│C2│ │ ┌──────┐ │ │C4│ │ ┌──────┐ │
└┬─┘ └─┤─ │ │ └┬─┘ └─┤─ │ │
┌──┐ │ ┌──┐ │ OPAMP├─┴┐ ┌──┐ │ ┌──┐ │ OPAMP├─┴──
Input ─┤Ro├─┴─┤Ro├─┬─┤+ │ └─┤Ro├─┴─┤Ro├─┬─┤+ │
└──┘ └──┘ │ └──────┘ └──┘ └──┘ │ └──────┘
┌┴─┐ ┌┴─┐
│C1│ │C3│
└┬─┘ └┬─┘
│ │
Ground─────────────┴─────────────────────────┴─────────────
C1 = M1*Co C2 = Q1*Co C3 = M2*Co C4 = Q2*Co

HIGHPASS
┌──────┬──────────┐ ┌──────┬──────────┐
│ │ │ │ │ │
┌┴─┐ │ │ ┌┴─┐ │ │
│R2│ │ ┌──────┐ │ │R4│ │ ┌──────┐ │
└┬─┘ └─┤─ │ │ └┬─┘ └─┤─ │ │
┌──┐ │ ┌──┐ │ OPAMP├─┴┐ ┌──┐ │ ┌──┐ │ OPAMP├─┴──
Input ─┤Co├─┴─┤Co├─┬─┤+ │ └─┤Co├─┴─┤Co├─┬─┤+ │
└──┘ └──┘ │ └──────┘ └──┘ └──┘ │ └──────┘
┌┴─┐ ┌┴─┐
│R1│ │R3│
└┬─┘ └┬─┘
│ │
Ground─────────────┴─────────────────────────┴─────────────
R1 = Ro/M1 R2 = Ro/Q1 R3 = Ro/M2 R4 = Ro/Q2

CALSOD 3.10 and CALSOD 1.40 User's Manual – 167


MODELLING DRIVER
VOICE-COIL INDUCTANCE

When simulating the impedance characteristics of loudspeaker drivers, the high-frequency behaviour of the
driver impedance is modelled simply by incorporating an inductor in series with the voice-coil resistance.
The theoretical formula used by this model can be represented as follows, where Re is the voice-coil dc
resistance and Le is the voice-coil inductance:

Z(2πF) = Re + Motional impedance + j2πF×Le

In general, however, the high frequency behaviour of the impedance of most moving coil loudspeakers
deviates significantly from the predictions of the above model. These deviations have been attributed to the
eddy currents in the iron pole structure. The general effect of the eddy currents is to increase the motor
resistance of a loudspeaker with increasing frequency, and to cause non-ideal behaviour of the inductor
formed by the voice-coil and pole piece. Recent research in this area has indicated that there is a dominant
√(j2πF) impedance behaviour, which is the square root of a purely inductive behaviour. At high frequencies
this leads to a √(j2πF) magnitude response and a constant 45° phase shift, an approximation which is
reasonably accurate for many loudspeaker drivers.

An empirical model of high-frequency impedance behaviour

It is possible to very accurately model the “inductive rise” in loudspeaker impedance functions
independently of electromagnetic theory using an empirical approach (“An Empirical Model for
Loudspeaker Motor Impedance” J.R. Wright, Celestion International Ltd., J. Audio Eng. Soc., Vol. 38, No.
10, pp. 749–754, October 1990). The general expression for the motor impedance can be written as

Z(2πF) = Re + Motional impedance + Kr×(2πF)Xr + j Ki×(2πF)Xi

At high frequencies the effect of motional impedance can be neglected, so we are left with the simpler
expression given below

Z(2πF) = Re + Kr×(2πF)Xr + j Ki×(2πF)Xi

Now, in order to estimate the values of the four unknown parameters Kr Xr Ki Xi, we need to measure the
complex electrical impedance at two high frequencies F1 and F2,
Z1(2π×F1) = Re + Kr×(2π×F1)Xr + j Ki×(2π×F1)Xi
= M1×(cos(P1) + j sin(P1))
Z2(2π×F2) = Re + Kr×(2π×F2)Xr + j Ki×(2π×F2)Xi
= M2×(cos(P2) + j sin(P2))

as well as knowing the value of the voice-coil dc resistance Re, which is easily obtained. M1 and P1 are the
magnitude and phase of the impedance Z1 at frequency F1, and M2 and P2 are the magnitude and phase of
the impedance Z2 at frequency F2.

The unknown parameters Kr Xr Ki Xi can then be determined from the following four equations

168 – CALSOD 3.10 and CALSOD 1.40 User's Manual


log(R2/R1) log(I2/I1)
Xr = ────────── Xi = ──────────
log(F2/F1) log(F2/F1)

R1 I1
Kr = ───────── Ki = ─────────
Xr Xi
(2π×F1) (2π×F1)

where

R1 = M1×cos(P1) - Re I1 = M1×sin(P1)
R2 = M2×cos(P2) - Re I2 = M2×sin(P2)

When carrying out the above procedure, it is recommended that any mid-frequency impedance irregularities
be avoided, as they may affect the values of the parameters being estimated.

The following table presents a comparison of the high-frequency parameters Kr Xr Ki Xi for various
moving coil drivers, as originally presented by Wright. It can be seen that the Xr and Xi values are fairly
similar across a wide range of voice-coils. However, the addition of a copper cap on the pole piece causes a
dramatic change in motor resistance parameters Kr and Xr.

┌────┬───────┬─────┬───────┬─────┬────┬────┬──────┬──────┐
│ │ │ │ │ │Coil│Coil│No. of│No. of│
│ Re │ Kr │ Xr │ Ki │ Xi │Diam│ Ht │Layers│Turns │
│ohms│ │ │ │ │ mm │ mm │ │ │
┌─────┼────┼───────┼─────┼───────┼─────┼────┼────┼──────┼──────┤
│ #1 │ 6.6│0.05730│0.796│0.06240│0.617│ 25 │11.1│ 4 │ 170 │
│ #2 │ 6.2│0.00249│0.751│0.00935│0.677│ 25 │ 8.5│ 2 │ 89 │
│ #3 │ 6.2│0.00215│0.765│0.00936│0.679│ 25 │ 8.5│ 2 │ 89 │
│ #4 │ 4.9│0.00154│0.791│0.00740│0.708│ 32 │14.0│ 2 │ 107 │
│ #5 │ 3.1│0.00203│0.714│0.00564│0.664│ 32 │12.5│ 2 │ 66 │
│ #6 │ 5.4│0.00505│0.716│0.01830│0.631│ 44 │11.0│ 2 │ 86 │
│ #7 │ 6.2│0.00448│0.721│0.02810│0.584│ 64 │10.0│ 1 │ 72 │
│ #8 │ 6.2│0.00506│0.798│0.04150│0.647│102 │17.0│ 2 │ 84 │
│ #9 │ 5.4│0.34700│0.266│0.00346│0.682│ 38 │ 9.5│ 1 │ 77 │
│ #10 │11.2│0.55600│0.294│0.00403│0.746│ 64 │15.0│ 1 │ 109 │
└─────┴────┴───────┴─────┴───────┴─────┴────┴────┴──────┴──────┘

NOTES
~~~~~
A. Coil #3 is same as #2, but uses a different magnet system
B. Coil #7 is flat wound
C. Coil #9 and coil #10 are flat wound, with copper pole caps

Using this model of the loudspeaker motor impedance permits a very accurate representation of the
electrical impedance of a moving coil loudspeaker over the entire audio band. Only four additional
parameters are required, and these are relatively simple to determine. Once they have been calculated, it is a
simple matter for you to use the appropriate forms of the IMP, ICB, IPR, IBP, and IVB submodules to take
advantage of this model.

Using magnitude-only impedance measurements

Although the approach described above can very accurately model the high-frequency impedance behaviour
of a loudspeaker driver, it relies on the user having access to both magnitude and phase data. Often this may
not be the case, and the user must then make do with only the magnitude response characteristics. In these
circumstances it is still possible to quickly set up an accurate model of the high-frequency impedance.

If we assume that the high-frequency impedance response characteristic of the loudspeaker driver is
minimum-phase, then a simpler model can be formulated. This model takes the following form

CALSOD 3.10 and CALSOD 1.40 User's Manual – 169


Z(2πF) = Re + Motional impedance +
Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)Xmp

At high frequencies the motional impedance can be neglected, so we are left with the simpler expression
given below

Z(2πF) = Re + Kmp×{cos(Xmp×π/2) + j sin(Xmp×π/2)}×(2πF)Xmp

This expression is similar to the one that was used in the previous section, and it is possible to show that

Kr = Kmp×cos(Xmp×π/2) Xr = Xmp
Ki = Kmp×sin(Xmp×π/2) Xi = Xmp

In order to estimate the value of Xmp from a set of experimental impedance data points, you should plot out
the impedance curve using logarithmic scales for both the magnitude and frequency axes. This will
generally result in the impedance points lying on an approximately straight line at high frequencies.
CALSOD will allow you to create such a plot if you select the appropriate option from the plotting
parameters menu. By simply drawing a straight line through these high-frequency points, it is then possible
to estimate the slope Xdbo in dB/octave or Xdbd in dB/decade. The value of Xmp can then be estimated
using one of the following formulas

Xmp  Xdbo/6.0206
 Xdbd/20

The last equation is the easiest one to remember and use. In general, the value of Xmp obtained by this
method will be somewhat greater than the true value, but it is still a good first approximation. The value of
Xmp will usually lie somewhere in the range 0.50 ≤ Xmp ≤ 1.00.

Once an estimate for Xmp has been calculated, we can compute the value of Kmp by taking a representative
frequency F1 and the corresponding impedance magnitude │Z1│, and substituting into the following
formula:

[│Z1│² - (Re×sin(Xmp×π/2))²]½ - Re×cos(Xmp×π/2)


Kmp = ───────────────────────────────────────────────
(2π×F1)Xmp

This method will give reasonably good first estimates for the values of Kmp and Xmp. However, it will still
generally be necessary to vary the values of Kmp and Xmp by trial and error curve-fitting in order to
approximate the experimental impedance data as accurately as possible. After a little practice, you should be
able to obtain quite good estimates of the Kmp and Xmp parameters with only a few manual iterations. Note
that because the loudspeaker driver impedance is assumed to be minimum-phase then the phase response
will automatically be modelled as well.

Optimizing Kmp and Xmp during curve-fitting

CALSOD 3.10 also allows the designer to optimize the values of Kmp and Xmp during the curve-fitting
process. To take advantage of this, you must use the IMP submodule that directly incorporates these two
parameters. Details of this method are presented in the section describing the modelling of the woofer
impedance transfer function. Initial estimates of Kmp and Xmp should be calculated using the method
described above.

170 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IMPEDANCE EQUALIZATION

In order for the theoretical crossover network designs to function correctly it is necessary for the
loudspeaker driver to present a resistive impedance load. However, the impedance curves exhibited by
moving-coil drivers are generally anything but constant. The low-frequency resonance of the driver
introduces a peak into the impedance response, and the voice-coil inductance causes a rising impedance
curve at high-frequencies above the driver resonance.

If the driver impedance in the vicinity of the cutoff frequency of the chosen filter is not constant, then the
response of the filter will deviate from the desired theoretical response. In cases where computer-aided
design techniques are not available, it is beneficial to equalize the driver impedance to achieve a result
approaching a constant resistance. The practical goal is to equalize to the flattest impedance practicable over
the widest possible frequency band containing the crossover frequencies. This makes the design of the
crossover network somewhat easier, but only if the passband response of the loudspeaker is reasonably flat.
If it is not sufficiently flat, then the design process is not greatly simplified because it is still necessary to
have the response of the filter equalize the non-flat response of the loudspeaker.

When you are using CALSOD you should keep in mind that there may be no benefit in attempting to
equalize the impedance of the loudspeaker driver. This is because the optimization process will
automatically try to vary the component values of the crossover network in such a way as to compensate for
the impedance variations that occur in the frequency range of interest. However, you may often achieve an
improved solution if you introduce an impedance equalization network, especially if the extra components
are allowed to vary during the optimization.

It is desirable to become familiar with some common techniques of impedance equalization in order that the
appropriate circuit topology can be chosen for input into CALSOD. The component values obtained using
the formulas described below can be used as input data when defining the crossover network circuit, and
they can also be allowed to vary during the optimization.

Equalization of impedance peak due to resonance

────┬───────┐ 1
┌─┴─┐ │ Ceq = ──────────── (farads)
│Ceq│ │ 2π×Fs×Re×Qes
└─┬─┘ │
┌─┴─┐ ▐██/ Qes×Re
│Leq│ ▐██ Leq = ────── (henries)
└─┬─┘ ▐██\ 2π×Fs
┌─┴─┐ │
│Req│ │ Qes×Re
└─┬─┘ │ Req = Re + ────── (ohms)
────┴───────┘ Qms

The circuit shown above can be used to equalize the impedance peak due to the resonance of the
loudspeaker driver. Re is the dc resistance of the voice-coil of the loudspeaker driver, Fs is the resonance
frequency, Qes is the driver Q at Fs considering electromagnetic losses only, and Qms is the driver Q at Fs
considering mechanical losses only. This network should reduce the impedance peak at resonance so that its
magnitude equals that of Re, and the peak is no longer present.

Theoretically, the above equalization can be achieved exactly for any loudspeaker fitting the Thiele-Small
models. However, the results are practically restricted by the accuracy of the model, as well as by nonideal
component behaviour and component size limitations in the equalizing LCR network.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 171


Equalization of voice-coil inductance

────┬────────┐
┌─┴─┐ │ Le
│Ceq│ │ Ceq = ─── (farads)
└─┬─┘ ▐██/ Re²
│ ▐██
┌─┴─┐ ▐██\
│Req│ │ Req = Re (ohms)
└─┬─┘ │
────┴────────┘

The above circuit, which is commonly known as a Zobel network, can be used to equalize the impedance
rise due to the voice-coil inductance of the loudspeaker driver. Note that Re and Le are the dc resistance and
inductance of the voice-coil of the loudspeaker driver. This network should reduce the impedance rise above
the resonance frequency such that the magnitude of the impedance equals that of the voice-coil resistance
Re.

If you use any one of the IMP, IVB, ICB, IBP, or IPR submodules to model the impedance curve of the
loudspeaker driver, you will have defined the value Re. If use the impedance model that explicitly includes
the voice-coil inductance in the Le parameter, all we would need to do is to use this value in the preceding
formulas. However, because your impedance model will often use the Kr Xr Ki Xi or Kmp Xmp parameters,
since these result in a much more accurate model, you need to be able to estimate an equivalent value of
voice-coil inductance Le.

If │Z│ is the magnitude of the voice-coil impedance at a frequency F, taken at a point on the driver’s
impedance curve that is well above the level of the voice-coil dc resistance Re, then we can use the
following formula to estimate an equivalent value of Le:

( │Z│² - Re² )½
Le = ───────────────
2πF

Checking the impedance equalization

In order to check the effectiveness of each of the equalization circuits, it is possible to set up a CIRCUIT
module that only includes the components comprising the impedance equalization network and the SPK
submodule that introduces the loudspeaker impedance into the circuit. By plotting out both the driver
impedance and the input impedance you will be able to see clearly the effects of the equalization network.

172 – CALSOD 3.10 and CALSOD 1.40 User's Manual


MODELLING THE
WOOFER IMPEDANCE
TRANSFER FUNCTION

Data file for woofer impedance transfer function

The data file used to create the impedance transfer function approximation is WOOFER1.C14, and a listing
of this file is given below. In a subsequent section we will describe the way in which the impedance
approximation was developed.

01> ! ------------------------------------------------
02> ! WOOFER IMPEDANCE APPROXIMATION USING Kr,Xr,Ki,Xi
03> ! ------------------------------------------------
04> !
05> DRIVER 1
06> Woofer
07> !
08> IMPEDANCE
09> IMP 33.8 6.10 143.20 0.00720 0.701 0.01317 0.690 0.261
10> MPE 420.0 4.23 1.203 LINEAR
11> !
12> CIRCUIT
13> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
14> !
15> TARGET SPL
16> XYZ 0.0 0.0 0.0
17> SEN 92.0 DB
18> !
19> EXPERIMENTAL IMPEDANCE
20> FREQ MAG PHASE
21> 5 7.7 27.2
22> 10 10.3 44.4
23> 15 14.5 55.3
24> 20 21.7 61.8
25> 22 26.2 63.1
26> 24 32.5 63.4
27> 26 41.9 62.2
28> 28 56.9 58.3
29> 30 82.9 48.4
30> 32 123.8 25.8
31> 33 140.1 7.4
32> 33.5 143.2 -5.8
33> 34 139.9 -11.7
34> 36 110.0 -40.3
35> 38 81.0 -54.5
36> 40 62.9 -61.4
37> 42 51.2 -65.0
38> 45 39.9 -67.5
39> 50 29.3 -67.8
: : :
80> 39810 82.1 52.8
81> 50110 93.9 52.9
82> 63090 107.4 53.0
83> 79430 122.7 53.2
84> 100000 140.3 53.4

CALSOD 3.10 and CALSOD 1.40 User's Manual – 173


Description of WOOFER1.C14 data file

Line 01–04 These lines contain comments that describe the data contained in the file. Note the use of the
exclamation mark (!) to signify the beginning of a comment line.

Line 05 The DRIVER module header signifies the start of the transfer function data for the woofer. The
number “1” after the word “DRIVER” is an identification number that will be referred to in the
CIRCUIT module (in line 12).

Line 06 This is the title or description of the woofer that will be used to label various features of the
output that are relevant to this woofer. The title must be included immediately after the
DRIVER module header (no comment lines are permitted). The title will be used by the
program as a quick prompt to you when choosing the various output options in CALSOD.
Hence it is recommended that you input a meaningful title at this point in the data file.

Line 07 This is a simple comment line used to space out the data to make it easier for the eye to scan.

Line 08 The IMPEDANCE statement in the DRIVER module signifies that the data which follows
corresponds to the impedance response of the woofer.

Line 09 The IMP submodule sets up the impedance response containing the resonance peak of the
woofer. Note that it includes the effects of voice-coil inductance.

Line 10 The MPE submodule introduces minimum-phase equalization of the impedance function
defined in line 09.

Line 11 Comment line used for text spacing purposes.

Line 12 The CIRCUIT module header signifies the start of the data that defines the circuit into which
the woofer is connected. The data that follows defines how the woofer is connected.

Line 13 The SPK submodule specifies that the woofer is to be connected between nodes 0 and 1 with
positive polarity, where node 0 is the ground node and node 1 is the input voltage node. A
schematic diagram of the circuit is:

Input Node 1────────┐+


┌──┴───┐
│WOOFER│
└──┬───┘
Ground Node 0────────┘-

At this stage it is convenient to define the position of the woofer as (X,Y,Z) = (0,0,0). No other
circuit elements are specified as we are only interested in defining a curve-fit of the woofer
impedance response.

Line 14 Comment line used for text spacing purposes.

Line 15 The TARGET SPL module header signifies the start of the data that defines the target sound
pressure response. As we are only interested in defining approximations to the woofer
impedance, filter response functions are not included.

Line 16 This XYZ submodule specifies the (X,Y,Z) coordinates of the observation point where the
sound pressure response of the woofer will be monitored. As we are only interested in curve-
fitting the impedance response, it is convenient to set (X,Y,Z) = (0,0,0).

174 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Line 17 This SEN submodule defines a reference sensitivity for the target function. The value of this
parameter is not important when curve-fitting the impedance data.

Line 18 Comment line used for text spacing purposes.

Line 19 The EXPERIMENTAL IMPEDANCE module header signifies the start of the data that
corresponds to the experimental impedance response of the woofer.

Line 20 This set of column labels defines the format of the contents of the data columns for the
impedance response of the woofer.

Line 21–84 These are the experimental data for the woofer impedance that were obtained by measuring the
impedance of the woofer using a Hewlett-Packard impedance analyzer. Because phase data
were available they were included.

Creating the woofer impedance transfer function

Figure 3 shows the magnitude and phase response of the curve-fit created to model the sound pressure
response of the woofer, while Figure 4 shows the magnitude and phase of the curve-fit that was developed to
model the impedance response of the woofer. The small dots that are on or near the curves in these two
figures correspond to the experimental data that were gathered for this driver. A plot of the impedance
response in the vicinity of the driver resonance is also shown on an expanded frequency scale in Figure 5. In
this section we will be concentrating on modelling the impedance response of the woofer.

Figure 3: Magnitude and phase of the curve-fit created to model the sound pressure response of the
woofer.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 175


Figure 4: Magnitude and phase of the curve-fit created to model the impedance response of the
woofer.

Figure 5: Magnitude and phase in the vicinity of the free-air resonance peak of the curve-fit
created to model the impedance response of the woofer.

When creating the set of transfer function approximations, it is generally recommended that the impedance
response of the driver be approximated first. Once the impedance response has been modelled, some
parameters may later be used in creating the sound pressure response transfer functions. For example, the
data gathered when the impedance is approximated will usually include the Thiele-Small parameters, which
can be used in specifying the low-frequency alignment of for the driver when mounted in its enclosure.

Note that it is unnecessary to include the SOUND PRESSURE heading and any associated submodules in
the DRIVER module at this stage of the analysis. During the creation of the curve-fits for the impedance
CALSOD will work even if this data is omitted. Also, the computation time used during the recalculation of
the system transfer functions will be significantly less if the sound pressure functions are not included.

Getting the impedance data

Before we can create the impedance transfer function approximation it is necessary to collect the
experimental data that will be used as a target for the curve-fitting procedure. The experimental data for the
woofer were obtained by measuring the impedance over the frequency range from 5 Hz to 100 kHz using a
Hewlett-Packard electronic impedance analyzer. The data consisted of both magnitude and phase plotted as
a function of frequency.

CALSOD accepts impedance data points in the form of frequency, magnitude and phase (as well other
formats). A selection of values was scaled directly from the impedance plots and these were then placed in

176 – CALSOD 3.10 and CALSOD 1.40 User's Manual


the WOOFER1.C14 data file (see lines 21 to 84 in the previous listing). A higher density of points was used
around the resonance frequency of the woofer because the impedance curve varies quite rapidly in this
region.

The value of the voice-coil dc resistance was measured using a multimeter, and was found to be 6.10 ohms.
From the plots of the impedance taken in the resonance region, the maximum value of the impedance was
found to be 143.20 ohms and the resonance frequency was 33.7 Hz.

Impedance modelling using Kr Xr Ki Xi

In this particular case, the phase data for the impedance response are available, so we can make use of this
information to determine the values of Kr Xr Ki Xi that will be used in the IMP submodule. In order to use
the formulas presented in the section on how to model the voice-coil inductance of loudspeaker drivers, we
need to have available two frequency points at which we know the magnitude and phase of the driver
impedance. For this example, we will choose the frequency points to be 2239 Hz and 19950 Hz (see listing
of data file WOOFER1.C14), and it should be noted that the lower frequency is well away from the small
peak in the impedance response that is located at about 400 Hz. Using the notation developed in the section
describing the modelling of the voice-coil inductance of loudspeaker drivers, we perform the following
calculations:

Re = 6.10 ohms

F1 = 2239 Hz M1 = 15.3 ohms P1 = 38.7°


F2 = 19950 Hz M2 = 54.5 ohms P2 = 52.5°
R1 = M1×cos(P1) - Re = 5.8406
R2 = M2×cos(P2) - Re = 27.0775

I1 = M1×sin(P1) = 9.5662
I2 = M2×sin(P2) = 43.2378

log(R2/R1) log(I2/I1)
Xr = ────────── = 0.701 Xi = ────────── = 0.690
log(F2/F1) log(F2/F1)

R1 I1
Kr = ───────── = 7.20E-3 Ki = ───────── = 1.317E-3
Xr Xi
(2π×F1) (2π×F1)

In order to create the IMP submodule in line 09 of WOOFER1.C14, it was necessary to estimate the value of
Qt for the woofer so we can create plots for comparison with the experimental data. The initial value of Qt
was set to 0.40, which is a typical value for a woofer.

Inspection of Figure 4 shows that there is a slight peak in the impedance response function at 420 Hz, which
influences the otherwise smooth increase in impedance as frequency increases. In order to model this peak
we need to introduce an MPE submodule at this frequency, whose Qeq and Deq values are chosen so that a
similar peak will be introduced into the impedance response. By inspection of the raw impedance data, we
estimate that Qeq = 2.0 and Deq = 1.30 (LINEAR). This should be good enough as a first estimate prior to
starting the curve-fitting optimizer.

The data file at this point should look like the following listing:

CALSOD 3.10 and CALSOD 1.40 User's Manual – 177


DRIVER 1
Woofer
!
IMPEDANCE
IMP 33.7 6.10 143.20 0.00720 0.701 0.01317 0.690 0.400
MPE 420.0 2.00 1.300 LINEAR
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5 7.7 27.2
: : :
100000 140.3 53.4

An incomplete copy of the above data file, with the IMP submodule missing, is supplied so that you can edit
it and try out different trial solutions for the curve-fitting procedure. The name of the data file is
WOOFER1E.C14.

In order to edit the WOOFER1E.C14 data file, you have to start CALSOD and when the main menu appears
you must select the option which allows you to enter the built-in text editor. You may need to have
previously selected the option which allows you to redefine the directory path where the file
WOOFER1E.C14 resides.

You will be prompted for the name of the data file you wish to edit, and when you have typed in your
response, WOOFER1E.C14, the editor will read in the data file and display it on the screen. At this point
you can move around in the file and edit it (the editing commands are described elsewhere in this manual),
so insert the line containing the IMP submodule just as it is shown in the above listing. Once you have
finished typing in and editing your data, you can exit the editor by using the pull-down menus or the
Ctrl-KX key sequence. Answer “Y” to the question which asks whether you wish to save the changes, and
after a short delay the main menu of CALSOD will appear.

Setting up analysis and plotting parameters

Before we read in WOOFER1E.C14, it is desirable to change the default frequency range and number of
subintervals to suitable values that will yield plots with an adequate resolution.

Once you have selected the frequency range and iteration parameters option from the main menu, you
should change the lower and upper frequency limits for the analysis to be 10 Hz and 100 kHz. These
frequencies are judged to be far enough below and above the resonance frequency of the woofer to enable a
clear plot of the impedance peak and its slopes to be obtained, as well as showing the high-frequency
impedance characteristics. Now select the option which enables you to change the number of subintervals
into which the previously specified frequency interval will be subdivided. Input 50 as the selected number of
subintervals, as this will give a plot with a reasonably smooth appearance. After making these changes, press
the Esc key to return to the main menu.

In order to display the impedance plots on suitable frequency and amplitude scales, it is also necessary to
alter a number of the plotting parameters. From the main menu select the option which allows you to define
new plotting parameters. Once the plotting parameters menu appears, you should change the minimum and
maximum impedance magnitude limits on the plotted impedance curve to be 0 and 150 ohms. The number
of minor tick marks can be set to 5, and the number of major tick marks can be set to 5. This divides the
vertical axis into 5 major subdivisions (in steps of 30 ohms), each of which in turn is divided into 5 minor
subdivisions (in steps of 6 ohms).

178 – CALSOD 3.10 and CALSOD 1.40 User's Manual


It now only remains to select a suitable frequency range for plotting out the data on the screen. For this
example the frequency limits for plotting will be the same as the frequency limits used for the calculation of
the impedance transfer functions. After selecting the appropriate option, set the minimum plotting frequency
equal to 10 Hz, and the maximum plotting frequency equal to 100 kHz. To make the plots as clear as
possible, it is desirable to switch off the minor horizontal grid lines which consist of lines of horizontal dots
that correspond to each of the minor tick marks along the vertical axis of the plot. Now press the Esc key to
return to the main menu.

When there is a need to cover a wide range of magnitude values when plotting impedance
response functions, it may be worthwhile using a logarithmic scale for the vertical
impedance magnitude axis. If you select the plotting parameters option from the main menu,
you can then select the option that activates this feature. When the plots appear on the
screen, note that 0 dBΩ corresponds to an impedance magnitude of 1 ohm. The logarithmic
magnitude scale has the advantage of being able to clearly portray the impedance variations
in the 5 to 10 ohm range, while still being able to show the high-amplitude variations that
occur around the low-frequency resonance and at high-frequencies.

Comparing the WOOFER1E.C14 curve-fit to impedance data

Now that we have changed all the parameters that will affect the calculation and display of data, we can
begin the curve-fit of the woofer impedance. Select the option that allows you to read in a data file, and type
in the name of the data file (WOOFER1E.C14). You may need to have previously selected the option which
allows you to redefine the directory path where the file WOOFER1E.C14 resides. Once WOOFER1E.C14
has been read in, answer “Y” to the question which asks whether or not to calculate the system transfer
functions. After a short delay the main menu will reappear.

It is now possible to look at the difference between the transfer function curve-fit of the impedance and the
experimental data points. Proceed by selecting the option from the main menu which allows you to view
plots of a chosen set of responses. When the submenu appears, select the code letters for the impedance
responses that you wish to have plotted on the screen. You should select the code letters that allow you to
view the driver impedance and the experimental impedance data. Because you have selected two different
sets of data, their plots will be superimposed upon each other on the one graph.

The plot should look like the graph shown in Figure 6. Note that the scale for the vertical axis is logarithmic,
and you may need to change one of the plotting parameters options in order to create a similar plot. Notice
that the IMP submodule has modelled the height of the impedance peak quite accurately, but the width of
the peak is a bit too narrow compared to the experimental data points. Also, the small impedance peak at
420 Hz is not modelled as accurately as desired. In contrast, it is quite clear that the use of the Kr Xr Ki Xi
parameters has resulted in a very accurate simulation of the magnitude and phase characteristics of the
impedance above 1 kHz.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 179


Figure 6: Woofer impedance response curve-fit using Kr Xr Ki Xi parameters before optimization.

When you have finished looking at the plots, press the Esc key and you will be returned to the menu that
enables you to choose plots. Press the Esc key again to return to the main menu. Alternatively, you can
simply press the “E” key while you are viewing the plots, and you will be returned back to the editor.

To improve the quality of the curve fit, it is necessary to adjust the values of Fo, Qt, Qeq and Deq that are
used in this model, and this procedure will now be described.

Modifying the WOOFER1E.C14 model – adjusting Qt

In order to make a change to the WOOFER1E.C14 data file it is necessary to return to the text editor. You
can use a trial-and-error approach to determine the value of Qt which gives the best curve-fit, and this is
accomplished by repetitively plotting the impedance curve and making changes to the value of Qt using the
editor.

NOTE: The CALSOD editor has a special procedure available to help speed up the process of going
between the editor and viewing the plots and then going back to the editor. While in the editor, if you press
the F5 function key you will automatically exit the editor (saving the file), and then the system response
functions will be computed, and then the set of response functions that were last plotted will be displayed.
Of course, this all depends on your data file being free of errors. If any errors are encountered, then the
procedure will be prematurely terminated and the relevant error messages displayed for you to take action.
The F6 function key performs a similar function, except that the plot selection menu is displayed ready for
you to choose which response functions you would like to view. To return straight back to the editor while
viewing the plots, simply press the “E” key as per the on-screen prompt.

To improve the degree of agreement between the curve-fit and the experimental data, it is necessary to
decrease the value of Qt, as this parameter controls the width of the resonance peak when the other
parameters are held constant. As a first estimate, you might try the value Qt = 0.30, and after plotting the
impedance transfer function and comparing it to the experimental data you will see that an improved curve-
fit has resulted. The peak is still a little too narrow, so you will probably need to undertake a few more
edit/plot iterations to improve the estimate for Qt even more.

In the end the IMP submodule should contain data similar to the following:

IMP 33.8 6.10 143.20 0.00720 0.701 0.01317 0.690 0.261

where the optimum value of Qt  0.261.

180 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Modifying the WOOFER1E.C14 model – adjusting Fo

In some cases it may be necessary to modify the value of the resonance frequency Fo in order to obtain a
good curve-fit. However, it is generally quite easy to obtain a very good first estimate, so only a relatively
small number of trial-and-error iterations, will be required before an acceptable result is obtained for the
value of Fo. Quite often the accuracy of your first estimate will suffice. After an iteration or two, the IMP
submodule should now look like:

IMP 33.83 6.10 143.20 0.00720 0.701 0.01317 0.690 0.261

where the optimum value of Fo  33.83 Hz.

Modifying the WOOFER1E.C14 model – adjusting Qeq and Deq

By now we have set up a reasonably accurate model of the impedance peak that occurs at driver resonance,
as well as the characteristics of the high-frequency impedance rise. All that remains is to improve the curve-
fit in the vicinity of the small impedance peak around 420 Hz. You should note that the parameter Qeq
controls the width of the peak that has been introduced by the MPE submodule, while the parameter Deq
controls the height of the peak.

Looking at Figure 6, it is evident that the peak introduced by the MPE submodule is both too wide and too
high. To reduce the width you must increase the value of Qeq, and to decrease the height of the peak you
must decrease the value of Deq. Your next estimate for these two parameters might be Qeq = 4.0 and Deq
= 1.25, and you should edit the data file WOOFER1E.C14 accordingly.

There is a simple technique that can be used to quickly obtain a reasonably accurate estimate for Deq at the
420 Hz frequency. You must temporarily comment out the MPE submodule and then recalculate the
impedance transfer function. After plotting out the results, you should note that at 420 Hz the ratio of the
experimental data to the curve-fit is 9.6/8.0 = 1.20, and this can be used as the value of Deq in the MPE
submodule. The benefit of this approach is that the value of Deq can be obtained in one iteration, therefore
leaving only the value of Qeq to be obtained by trial-and-error methods. Note that you will probably need to
adjust the plotting scales so that you can create a plot of sufficient resolution in order to be able determine
the ratio that was calculated just now.

After reading in the new version of this file, plot out the curve-fit and compare it to the experimental data.
The degree of agreement has improved, but it can still be improved even further. After a few more edit/plot
cycles, the resulting MPE submodule should look like:

MPE 420.0 4.23 1.20 LINEAR

where the optimum values of Qeq and Deq are Qeq  4.23 and Deq  1.20.

The resulting curve-fit comprised of the IMP and MPE submodules should very accurately match the
experimental data points. If you plot out and compare the results, the graph should look like the plot in
Figure 7. Here, it is seen that we have achieved an accurate curve-fit for both the magnitude and phase
response. Hence, when this driver impedance model is introduced into a crossover network we can be
confident that the voltage response of the filter/driver combination will be accurately simulated.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 181


Figure 7: Woofer impedance response curve-fit using Kr Xr Ki Xi parameters after optimization.

Your final version of WOOFER1E.C14 should be similar to the data file WOOFER1.C14, whose complete
listing was presented previously.

Impedance modelling using Kmp and Xmp

In many cases, phase data corresponding to the impedance measurements may not be available. In these
circumstances it is still possible to set up an accurate model of the impedance by using the alternative form
of the IMP submodule that uses the Kmp and Xmp parameters.

In order to estimate the value of Xmp it is necessary to plot the impedance curve using a logarithmic plot for
both the frequency and magnitude scales. You can activate this type of plot by selecting the appropriate
option from the plotting parameters menu. When the experimental data points are plotted out it is then a
simple matter to determine the high-frequency asymptotic slope of the curve.

From the experimental impedance data points plotted in Figure 8, the slope of the impedance curve in the
high-frequency region is Xdbd = 12.5 dB/decade.

Figure 8: Initial curve-fit of woofer impedance using Kmp and Xmp parameters.

Using the formulas presented in the section describing the techniques used to model the high-frequency
inductance rise, we obtain an estimate of the Xmp parameter:

Xmp = Xdbd/20 = 12.5/20 = 0.625

182 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Next, we choose a frequency point that lies about midway along the linear portion of the impedance curve
plotted in Figure 8. A suitable frequency is F1 = 10 kHz, where the magnitude of the impedance is │Z1│
= 35.8 ohms and Re = 6.1 ohms. Using the formula provided earlier, we obtain:

½
[│Z1│² - (Re×sin(Xmp×π/2))²] - Re×cos(Xmp×π/2)
Kmp = ───────────────────────────────────────────────
Xmp
(2π×F1)

= 0.03213

To complete our initial specification of the IMP submodule, we must estimate the value of Qt for the woofer
so we can create plots for comparison with the experimental data. Once again, we set the initial value of Qt
to 0.40, which is a typical value for a woofer. The resonance frequency of the woofer is easily estimated
from the raw data to be Fo = 33.7 Hz. Also, in order to model the slight peak in the impedance at 420 Hz we
will introduce an MPE submodule at this frequency. After inspecting the raw impedance data, we estimate
that Qeq = 2.0 and Deq = 1.30 (LINEAR) for the MPE submodule.

The data file at this point should look like the following:

DRIVER 1
Woofer
!
IMPEDANCE
IMP 33.7 6.10 143.20 0.03213 0.625 0.400
MPE 420.0 2.00 1.300 LINEAR
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5 7.7 27.2
: : :
100000 140.3 53.4

A copy of the above data file is supplied and is called WOOFER2E.C14. Before reading in this data file,
you should make sure that the lower and upper frequency limits for the analysis are set to 10 Hz and
100 kHz. You can do this by selecting the appropriate option from the frequency range and iteration
parameters menu. If necessary, you should change the frequency limits to the desired values. The number of
subintervals should be set to about 50 in order to obtain reasonably smooth plots.

You should now read in the data file WOOFER2E.C14 by selecting the appropriate option from the main
menu. Once WOOFER2E.C14 has been read in, answer “Y” to the question which asks whether or not to
calculate the system transfer functions. After a short delay the main menu will reappear.

The resulting impedance curve, together with the data points, is plotted in Figure 8. Note that the curve-fit is
quite good. However, it is clear that the Qt value is too high, since the peak at 33.7 Hz is too narrow. Also,
the 420 Hz peak introduced by the MPE submodule is both too wide and slightly too high. In the high-
frequency region, it is also evident that the slope of the impedance curve is a little greater than that
suggested by the data points.

Modifying the WOOFER2E.C14 model – adjusting Qt

In order to make a change to the WOOFER2E.C14 data file it is necessary to go back into the text editor. At
this point you can use the method of trial-and-error to determine the value of Qt which gives the best curve-

CALSOD 3.10 and CALSOD 1.40 User's Manual – 183


fit, and this is accomplished by repetitively plotting the impedance curve and making changes to the value of
Qt using the editor.

To improve the degree of agreement between the curve-fit and the experimental data, it is necessary to
decrease the value of Qt, as this parameter controls the width of the resonance peak when the other
parameters are held constant. As a first estimate, you might try the value Qt = 0.30, and after plotting the
impedance transfer function and comparing it to the experimental data you will see that an improved curve-
fit has resulted. The peak is still a little too narrow, so you will probably need a few more edit/plot iterations
to improve the estimate for Qt even more. In the end the IMP submodule should contain data similar to the
following:

IMP 33.7 6.10 143.20 0.03213 0.625 0.261

where the optimum value of Qt  0.261.

Modifying the WOOFER2E.C14 model – adjusting Fo

In some cases it may be necessary to modify the value of the resonance frequency Fo in order to obtain a
good curve-fit. However, it is generally quite easy to obtain a very good first estimate, so only a relatively
small number of trial-and-error iterations, using the method described above, will be required before an
acceptable result is obtained for the value of Fo. After an iteration or two, the IMP submodule should now
look like:

IMP 33.83 6.10 143.20 0.03213 0.625 0.261

where the optimum value of Fo  33.83 Hz.

Modifying the WOOFER2E.C14 model – adjusting Kmp and Xmp

Inspection of Figure 8 shows that the slope of the curve-fit impedance function at high frequencies is
slightly less than that of the experimental impedance data points. The slope of the curve-fit can be varied by
adjusting the parameter Xmp in the IMP submodule, whereby increasing Xmp will increase the slope.

You must therefore increase the value of Xmp in order to achieve an improved curve-fit, and by
successively editing the data file to incorporate your new estimate and then plotting the results, you can
quickly determine that a good estimate for Xmp is 0.667 after a small number of iterations. If you look at the
plot in Figure 9, you can see that this value of Xmp does in fact produce a curve-fit whose high-frequency
slope is an accurate match for the experimental data.

Figure 9: Curve-fit of woofer impedance with optimum value of Xmp prior to obtaining final value
of Kmp.

184 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Having determined that Xmp = 0.667, you can now turn your attention to the parameter Kmp. Using the
value of the magnitude of the impedance at 10 kHz (│Z1│ = 35.8 ohms at F1 = 10000 Hz), you may
compute the required value of Kmp using the following formula:

[│Z1│² - (Re×sin(Xmp×π/2))²]½ - Re×cos(Xmp×π/2)


Kmp = ──────────────────────────────────────────────
(2π×F1)Xmp

= 0.02040

If you plot out the resulting curve-fit when Kmp = 0.02040 and Xmp = 0.667, you will find that the high-
frequency impedance response agrees very closely with the experimental data. The response at high
frequencies should look like the function that is plotted in Figure 10.

Figure 10: Final optimized curve-fit of the woofer impedance.

Modifying the WOOFER2E.C14 model – adjusting Qeq and Deq

By now we have set up a reasonably accurate model of the impedance peak at driver resonance, as well as
the high-frequency impedance rise. All that remains is to improve the curve-fit in the vicinity of the small
impedance peak around 420 Hz. During this phase you should note that the parameter Qeq controls the
width of the peak that has been introduced by the MPE submodule, while the parameter Deq controls the
height of the peak.

Looking at Figure 8, it is evident that the peak introduced by the MPE submodule is both too wide and too
high. To reduce the width you must increase the value of Qeq, and to decrease the height of the peak you
must decrease the value of Deq. Your next estimate for these two parameters might be Qeq = 4.0 and Deq
= 1.25, and you should edit the data file WOOFER2E.C14 accordingly.

Alternatively, there is a simple technique that can be used to quickly obtain a reasonably accurate estimate
for Deq at the 420 Hz frequency. You must temporarily comment out the MPE submodule and then
recalculate the impedance transfer function. After you have plotted the results, you should note that at
420 Hz the ratio of the experimental data to the curve-fit is 9.6/8.1 = 1.185, and this can be used as the value
of Deq in the MPE submodule. The benefit of this approach is that the value of Deq can be obtained in one
iteration, therefore leaving only the value of Qeq to be obtained by trial-and-error methods. Note that you
will probably need to adjust the plotting scales so that you can create a plot of sufficient resolution in order
to be able determine the ratio that was calculated just now.

After reading in the new edited version of this file, plot out the curve-fit and compare it to the experimental
data. The degree of agreement has improved, but it can still be improved even further. After a few more
edit/plot cycles, the resulting MPE submodule should look like:

CALSOD 3.10 and CALSOD 1.40 User's Manual – 185


MPE 420.0 5.03 1.185 LINEAR

where the optimum values of Qeq and Deq are Qeq  5.03 and Deq  1.185.

The resulting curve-fit comprised of the IMP and MPE submodules should very accurately match the
experimental data points. If you plot out and compare the results, the graph should look like the plot in
Figure 10. Here, it is seen that we have achieved an accurate curve-fit for both the magnitude and phase
response. Hence, when this driver impedance model is introduced into a crossover network we can be
confident that the voltage response of the filter/driver combination will be accurately simulated.

Your final version of WOOFER2E.C14 should be similar to the listing shown below. The file corresponding
to this listing is WOOFER2.C14. The resulting curve-fit is shown in Figure 10. It is clear that we have
obtained very good agreement with the experimental data, including the phase response characteristics.

DRIVER 1
Woofer
!
IMPEDANCE
IMP 33.83 6.10 143.20 0.02040 0.667 0.261
MPE 420.0 5.03 1.185 LINEAR
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5 7.7 27.2
: : :
100000 140.3 53.4

Optimizing the woofer impedance curve-fit

In the previous examples, we have manually varied the various parameters in the IMP and MPE submodules
in order to obtain an accurate curve-fit of the experimental impedance data. CALSOD also has the capability
to automatically vary some of these parameters in order to obtain the best possible curve-fit. The curve-fit
optimizer enables you to create accurate models much more quickly and accurately than is possible using the
manual trial-and-error methods.

The optimizer requires that you set up initial estimates of all the parameters. These can be calculated using
the techniques that were described in the previous two examples dealing with impedance curve fitting using
manual methods.

If you use the IMP submodule that includes Kr Xr Ki Xi, then you will only be able to optimize the values
of Fo and Qt. If you use the IMP submodule that uses the Kmp Xmp parameters, then the curve-fit optimizer
will be able to optimize these two parameters, as well as Fo and Qt. You will also be able to optimize the
Qeq and Deq values in any of your MPE submodules.

The two parameters Fo and Qt are important Thiele-Small parameters, and the impedance curve-fit
optimizer makes it easy to determine estimates of their values. From the data provided, it is then a simple
matter to calculate the values of Qe and Qm for the driver in free air or a closed box (see the equations
presented with the description of the IMP submodule). By going from free air to a closed box, or from one
closed box to another of different volume, it is also possible to determine the value of Vas for the driver.

You will now proceed to use the curve-fit optimizer on the impedance model defined in the data file
WOOFER1O.C31, which is listed below:

186 – CALSOD 3.10 and CALSOD 1.40 User's Manual


DRIVER 1
Woofer
!
IMPEDANCE
IMP 33.7 6.10 143.20 0.00720 0.701 0.01317 0.690 0.400 V V
MPE 420.0 2.00 1.300 LINEAR VARIABLE
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5 7.7 27.2
: : :
100000 140.3 53.4

In this example, you will use the curve-fitting optimizer to vary Fo and Qt in the IMP submodule, and Qeq
and Deq in the MPE submodule. Note that we have set the VarFo and VarQt options for the IMP submodule
to V, and the VarQD option for the MPE submodule to VARIABLE, therefore allowing all four parameters
to vary during the curve-fit optimization. For further details of the VarFo, VarQt, and VarQD options, please
refer to the descriptions provided when defining the IMP and MPE submodules.

The curve-fitting optimizer uses the transfer function specified in the IMPEDANCE part of the DRIVER
module to evaluate the impedance response at all the frequency points corresponding to the data contained
in the EXPERIMENTAL IMPEDANCE module. The optimizer then varies the variable parameters in order
to minimize the error between the impedance transfer function and the experimental data.

When curve-fitting the woofer impedance, it is apparent that for the IMP submodule the only variable
parameters are Fo and Qt, and their effect is limited to the low-frequency region around 40 Hz. The high-
frequency impedance rise is fixed by the pre-calculated values of Kr Xr Ki Xi. The remaining two variable
parameters are Qeq and Deq in the MPE submodule, and their effect is centred on the frequency 420 Hz.
Hence, it should be clear that it is sufficient to set the frequency range for the curve-fitting optimizer to be
between 10 Hz and 2000 Hz.

Note that the frequency range used for the curve-fit optimization is controlled by setting the minimum and
maximum frequencies in the frequency range and iteration parameters menu. After selecting this submenu
from the main menu, you should set the minimum frequency value equal to 10 Hz, and the maximum
frequency value equal to 2000 Hz. When the optimizer begins its work, it will automatically use any
experimental impedance data points that fall within this user-defined frequency band. By ignoring those data
points that fall outside this region, the optimization process will proceed more quickly, and is less likely to
be affected by any response deviations in an area where the variation of the parameters will have little or no
effect. The optimizer will automatically count the number of points that fall in the user-defined region,
setting itself up as required, and the number of subintervals is not used at all during this phase of the
calculations.

When specifying your own models, you should keep in mind that, in order to be able to adequately account
for any areas where there are some small localized peaks or dips, you should usually input some extra data
points corresponding to that region. This will help ensure that the curve-fitting optimizer has enough data to
work with, and that convergence to a good solution can be achieved. In this example, it is easily seen that
there is a slightly higher density of data points in the vicinity of the small peak in the impedance located at
420 Hz.

Having set the frequency range to be between 10 Hz and 2000 Hz, you should read in the data file
WOOFER1O.C31, and then proceed to calculate the system response functions when prompted. As a quick

CALSOD 3.10 and CALSOD 1.40 User's Manual – 187


check, you should plot out the calculated impedance transfer function and compare it with the experimental
data points. The plot should look like the one shown in Figure 6.

Now that the data points have been read and the frequency range has been specified, you can now begin the
optimization of the impedance curve-fit. From the main menu, select the option that begins the optimization
process. You will be prompted by a number of further options, and you should select the one that will
optimize the impedance curve-fit.

After about 6 iterations it will become evident that the minimum error is not decreasing any further. You
should then press the Esc key to stop the curve-fit optimizer. In order to display the resulting optimized
versions of the IMP and MPE submodules, you should select the option for listing component values and
DRIVER modules. A new submenu will appear, and you should select the option that allows you to display
the current DRIVER module on the screen. Note that only the IMP and MPE submodules are displayed, as
these are the only ones whose parameters can vary during the curve-fit optimization. Also, the calculated
values of Qe and Qm for the driver are listed below the IMP submodule. If you wish, you can write these
data to a file, thus making it convenient for including the optimized values when you edit your original data
file.

The table below shows the initial and optimized values of the parameters in the IMP and MPE submodules.
All of the parameters have been varied quite considerably, with the exception of Fo in the IMP submodule,
which has changed only slightly.

┌───────────┬───────────┬───────────┐
│ Variable │ Initial │ Optimized │
│ Parameter │ Value │ Value │
┌───────────┼───────────┼───────────┼───────────┤
│ IMP │ Fo │ 33.70 │ 33.83 │
│ Submodule │ Qt │ 0.40 │ 0.26 │
├───────────┼───────────┼───────────┼───────────┤
│ MPE │ Qeq │ 2.00 │ 4.16 │
│ Submodule │ Deq │ 1.30 │ 1.20 │
└───────────┴───────────┴───────────┴───────────┘

The optimized curve-fit for the woofer impedance response function should be very similar to the plot in
Figure 7. It is clear that a very accurate approximation has been developed, including the phase response,
even though only an IMP and one MPE submodule were used. When the curve-fit optimizer is used, it
becomes a simple matter to create an accurate model of the impedance response of any driver.

As the next example, an impedance curve-fit containing an IMP submodule that uses the Kmp and Xmp
parameters will be optimized to give an impedance model that is equivalent to the one just described above.
As before, the initial values were obtained using the techniques discussed in the section covering the manual
optimization of the curve-fits. The data file that will be optimized is called WOOFER2O.C31, and is listed
below:

188 – CALSOD 3.10 and CALSOD 1.40 User's Manual


DRIVER 1
Woofer
!
IMPEDANCE
IMP 33.7 6.10 143.20 0.03213 0.625 0.400 V V V
MPE 420.0 2.00 1.300 LINEAR VARIABLE
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5 7.7 27.2
: : :
100000 140.3 53.4

This particular optimization will vary the parameters Fo, Kmp, Xmp, and Qt in the IMP submodule, as well
as the parameters Qeq and Deq in the MPE submodule. Because these parameters affect the curve-fit in
various frequency bands over the range 10 Hz to 100 kHz, you should set the minimum and maximum
frequencies to these values after selecting the frequency range and iteration parameters option from the main
menu. The curve-fit optimizer will automatically use all the experimental impedance data points that fall in
this range.

Having set the frequency range to be between 10 Hz and 100 kHz, you should read in the data file
WOOFER2O.C31, and then proceed to calculate the system response functions when prompted. As a quick
check, you may plot out the calculated impedance transfer function and compare it with the experimental
data points. The plot should look much like the one in Figure 8.

You can now begin the optimization of the impedance curve-fit. From the main menu, select the option that
begins the optimization process. You will be prompted by a number of further options, and you should select
the one that will optimize the impedance curve fit.

After about 10 iterations it will become evident that the minimum error is not decreasing any further. You
should then press the Esc key to stop the curve-fit optimizer. In order to display the resulting optimized
versions of the IMP and MPE submodules, you should select the option for listing component values and
DRIVER modules. A new submenu will appear, and you should select the option that allows you to display
the current DRIVER module on the screen. Note that only the IMP and MPE submodules are displayed, as
these are the only ones whose parameters can vary during the curve-fit optimization. Also, the calculated
values of Qe and Qm for the driver are listed below the IMP submodule. If you wish, you can write these
data to a file, thus making it convenient for including the optimized values when you edit your original data
file.

The table below shows the initial and optimized values of the parameters in the IMP and MPE submodules.
All of the parameters have been varied quite considerably, with the exception of Fo in the IMP submodule,
which has changed only slightly.

┌───────────┬───────────┬───────────┐
│ Variable │ Initial │ Optimized │
│ Parameter │ Value │ Value │
┌───────────┼───────────┼───────────┼───────────┤
│ │ Fo │ 33.70 │ 33.83 │
│ IMP │ Kmp │ 0.0321 │ 0.0198 │
│ Submodule │ Xmp │ 0.6250 │ 0.6667 │
│ │ Qt │ 0.400 │ 0.261 │
├───────────┼───────────┼───────────┼───────────┤
│ MPE │ Qeq │ 2.000 │ 5.028 │
│ Submodule │ Deq │ 1.300 │ 1.191 │
└───────────┴───────────┴───────────┴───────────┘

CALSOD 3.10 and CALSOD 1.40 User's Manual – 189


The optimized curve-fit for the woofer impedance response function should look very much like the plot in
Figure 10. It is clear that a very accurate approximation has been developed, including the phase response,
even though only an IMP and one MPE submodule were used.

Optimizing parameters over a reduced frequency range

In the previous example, all the variable parameters in the impedance model could be optimized
simultaneously, and in order to get a good resolution over the frequency range 10 Hz to 100 kHz, it was
necessary to include a large number of experimental data points for the curve-fit optimizer to use. As a
result, the large size of the non-linear least squares problem meant that the iteration process was relatively
time consuming. Looking at the impedance function plotted in Figure 8, it is apparent that impedance model
can be split up into three main regions:

Region A consisting of the low-frequency resonance in the impedance in the frequency range 10 Hz to
200 Hz;

Region B consisting of the small peak (at 420 Hz) in the frequency range 200 Hz to 1 kHz;

Region C consisting of the high-frequency impedance rise in the frequency range 1 kHz to 100 kHz.

The impedance response in each of these three regions is controlled by sets of parameters that are relatively
independent. Region A is influenced by Fo and Qt in the IMP submodule, Region B by Qeq and Deq in the
MPE submodule, and Region C by Kmp Xmp in the IMP submodule. It is therefore possible to optimize the
curve-fit in each of these regions independently of the data that lies outside the direct region of influence.
Since there are now fewer variable parameters, and much fewer data points, the curve-fit optimizer will
generally converge to a solution much more quickly. Also, it is recommended that any MPE submodules that
may need to be introduced into the model be optimized last.

To optimize Region A, use the following data file where the MPE submodule is entirely commented out and
the Kmp Xmp parameters are fixed. The frequency range should be set to cover the band from 10 Hz to
200 Hz. The data file will look like:

DRIVER 1
Woofer
!
IMPEDANCE
IMP 33.7 6.10 143.20 0.03213 0.625 0.400 V F V
! MPE 420.0 2.00 1.300 LINEAR VARIABLE
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5 7.7 27.2
: : :
100000 140.3 53.4

After recording the optimized values of Fo and Qt, and editing the data file accordingly, we can proceed to
optimize Region C. In this case we set Fo and Qt to be fixed during the optimization leaving Kmp and Xmp
to be varied. The frequency range should be set to cover the band from 1 kHz to 100 kHz, and the data file
will look like:

190 – CALSOD 3.10 and CALSOD 1.40 User's Manual


DRIVER 1
Woofer
!
IMPEDANCE
IMP 33.83 6.10 143.20 0.03213 0.625 0.261 F V F
! MPE 420.0 2.00 1.300 LINEAR VARIABLE
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5 7.7 27.2
: : :
100000 140.3 53.4

After recording the optimized values of Kmp and Xmp, and editing the data file accordingly, we can
proceed to optimize Region B which involves the MPE submodule. In this case we set Fo, Kmp, Xmp, and
Qt in the IMP submodule to be fixed during the optimization. The frequency range should be set to cover the
band from 200 Hz to 1 kHz, and the data file will look like:

DRIVER 1
Woofer
!
IMPEDANCE
IMP 33.83 6.10 143.20 0.0198 0.667 0.261 F F F
MPE 420.0 2.00 1.300 LINEAR VARIABLE
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5 7.7 27.2
: : :
100000 140.3 53.4

This approach requires a little more effort from the user, but it may still result in the optimized solution
being obtained more quickly than if the optimizer was asked to vary all the parameters over the full
frequency range. However, the speed difference may not be as noticeable on computers that are fitted with a
maths coprocessor. On the other hand, the extra work in setting up and independently optimizing each
frequency region may result in an improved overall curve-fit, as the effectiveness of the optimizer will often
be improved because the parameters being optimized strongly affect the quality of the model within the
frequency range being considered. For most impedance curve-fitting requirements, however, it is sufficient
to perform the optimization of all the parameters simultaneously over the full frequency range covered by
the available data.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 191


MODELLING THE WOOFER
SOUND PRESSURE
TRANSFER FUNCTION

Data file for woofer sound pressure transfer function

The data file used to create the sound pressure transfer function approximation is WOOFERS.C14, and a
listing of this file is given below. In a subsequent section we will describe the way in which the sound
pressure approximation was developed.

01> ! ----------------------------------
02> ! DATA FILE FOR WOOFER SPL CURVE-FIT
03> ! ----------------------------------
04> !
05> DRIVER 1
06> Woofer
07> !
08> SOUND PRESSURE
09> SEN 92.0 DB
10> HLR 33.8 0.0 6.13 0.273 0.0
11> MPE 580.0 3.993 -1.145 DB
12> MPE 2000.0 1.910 2.625 DB
13> BUT 4350.0 4 LOWPASS
14> !
15> CIRCUIT
16> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
17> !
18> TARGET SPL
19> XYZ 0.0 0.0 0.0
20> SEN 92.0 DB
21> !
22> EXPERIMENTAL SPL
23> FREQ DB
24> 20 72.0
25> 30 75.0
26> 40 78.0
: : :
53> 8000 71.5
54> 9000 67.0
55> 10000 64.0

Description of WOOFERS.C14 data file

Line 01–04 These lines contain some comments that describe the data contained in the file. Note the use of
the exclamation mark (!) to signify the beginning of a comment line.

Line 05 The DRIVER module header signifies the start of the data that defines the transfer functions for
the woofer. The number “1” after the word “DRIVER” is an identification number that will be
referred to in the CIRCUIT module (see line 16).

Line 06 This is the title or description of the woofer that will be used to label various features of the
output that are relevant to this driver. Up to eleven characters may be used.

Line 07 This is a simple comment line used to space out the data to make it easier for the eye to scan.

192 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Line 08 The SOUND PRESSURE statement in the DRIVER module signifies that the data which
follows corresponds to the sound pressure response of the woofer.

Line 09 This SEN submodule defines the sensitivity of the woofer.

Line 10 The HLR submodule defines the low-frequency response characteristic of the woofer. Note that
the effects of voice-coil inductance have been omitted by setting it to zero.

Line 11–12 These two lines are used to introduce minimum-phase equalization into the sound pressure
transfer function (using the MPE submodule). Note the use of the “DB” option to signify that
the equalization is defined using the decibel scale.

Line 13 The BUT submodule introduces the high-frequency rolloff that is present in the woofer sound
pressure response. The rolloff corresponds to a fourth-order Butterworth lowpass response
function.

Line 14 Comment line used for text spacing purposes.

Line 15 The CIRCUIT module header signifies the start of the data that defines the circuit into which
the woofer is connected. The data that follows defines how the woofer is connected.

Line 16 The SPK submodule specifies that the woofer is to be connected between nodes 0 and 1 with
positive polarity, where node 0 is the ground node and node 1 is the input voltage node. A
schematic diagram of the circuit is:

Input Node 1────────┐+


┌──┴───┐
│WOOFER│
└──┬───┘
Ground Node 0────────┘-

At this stage it is convenient to define the position of the woofer as (X,Y,Z) = (0,0,0), and no
other circuit elements are specified as we are only interested in defining a curve-fit of the
woofer sound pressure response. Therefore, a filter network need not be defined.

Line 17 Comment line used for text spacing purposes.

Line 18 The TARGET SPL module header signifies the start of the data that defines the target sound
pressure response. As we are only interested in defining approximations to the woofer sound
pressure response, filter response functions are not included.

Line 19 This XYZ submodule specifies the (X,Y,Z) coordinates where the woofer sound pressure
response will be monitored. As we are only interested in creating a curve-fit to the sound
pressure response, it is convenient to set (X,Y,Z) = (0,0,0). This causes the program to neglect
the effects of path length differences when calculating the sound pressure response of the
woofer.

Line 20 This SEN submodule defines a reference sensitivity for the target function. The value of this
parameter is not important at this stage, but it is provided so that a solid line can be drawn at
the desired sound pressure level when displaying plots of the woofer sound pressure response.

Line 21 Comment line used for text spacing purposes.

Line 22 The EXPERIMENTAL SPL module header signifies the start of the data that corresponds to
the experimental sound pressure response of the woofer.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 193


Line 23 These column labels define the format of the contents of the data columns for the sound
pressure response of the woofer.

Line 24–55 This is the experimental sound pressure level data for the woofer that was scaled from the
manufacturer’s data sheet. Since no phase data are available, we use the data format where only
the frequency and SPL in dB are input.

Woofer sound pressure response data

Figure 3 shows the magnitude and phase of the curve-fit that was developed to model the sound pressure
response of the woofer. The small dots that are on or near the sound pressure response curve correspond to
the experimental data that were gathered for this driver.

The curve-fit of the sound pressure response simulates the response of the woofer when it is mounted on a
large baffle, and the Thiele-Small parameters are the same as those determined during the curve-fit of the
impedance response. It is evident that this assumption is not very good, since close inspection of Figure 3
reveals that in the low-frequency region below 100 Hz the curve-fit to the sound pressure response of the
woofer is not as accurate as might have been hoped.

The differences between the theoretical low-frequency sound pressure response predictions and the
manufacturer’s data are likely to have been caused by one or more of the following factors:

1. The woofer was probably mounted in an enclosure, and since the enclosure characteristics were
not provided by the manufacturer, they could not be incorporated into the simulations.

2. Due to the difficulty of providing a true anechoic environment for accurate sound pressure
measurements of low-frequencies, the manufacturer’s published low-frequency response may
include some degree of error.

This example was included in order to make you aware of some of the problems that may be encountered
when carrying out curve-fits to loudspeaker drivers using incomplete data, as well as data that may be
inaccurate in certain frequency ranges.

Creating the woofer sound pressure transfer function

The techniques that were applied in creating the impedance transfer function will be applied with only
minor modification to creating a model of the sound pressure response of the woofer. Also, a number of
parameters which were determined when creating the curve-fit to the impedance peak will be used in
specifying the low-frequency response of the woofer.

When creating the sound pressure transfer function, note that it is unnecessary to include the IMPEDANCE
heading and any associated submodules in the DRIVER module at this stage of the analysis; CALSOD will
work even if this data is omitted. It is also worth noting that the computation time involved in the
recalculation of the system transfer functions will be significantly less if the impedance functions are not
included. An easy way of removing their effect is to simply comment them out by placing a ! at the
beginning of each line of data that is in the IMPEDANCE module.

Before creating the sound pressure transfer function approximation it is necessary to collect the
experimental data that will be used as a target for the curve-fitting procedure. The available sound pressure
response data, which consisted only of the magnitude response in dB, was scaled directly from the
frequency response plot given in the manufacturer’s data sheet. Because no phase data were available, the
column headings specified in the EXPERIMENTAL SPL module were FREQ DB, although a number of
other formats are permitted and may be used as required.

194 – CALSOD 3.10 and CALSOD 1.40 User's Manual


We begin the curve-fitting process for the sound pressure response by first specifying the sensitivity of the
woofer. This is accomplished by using a SEN submodule, and the sensitivity of 92 dB corresponds to that
given by the manufacturer.

Next we proceed to define the low-frequency response of the woofer by defining a HLR submodule. This
submodule is used since it allows us to define a second-order low-frequency alignment, which corresponds
to a driver on an infinite baffle or in a closed box.

In order to create the HLR submodule in line 10 of WOOFERS.C14, it was necessary to obtain a number of
the parameters from the IMP submodule that was used in creating the impedance transfer function. Then, by
using some formulas given in the section describing all the symbols, the required data was obtained as
follows:

Fs = 33.83 Hz Re = 6.10 ohms


Qts = 0.26 Zmax = 143.20 ohms
Res = Zmax - Re = 137.10 ohms
Rem = 1/(1/Res + 1/Re) = 5.84 ohms
Qes = Qts×Re/Rem = 0.273
Qms = Qts×Res/Rem = 6.13

The effect of the voice-coil inductance on the sound pressure response was neglected by setting Le = 0 in
the HLR submodule. The effect of the inductance will be implicitly compensated for when we carry out the
curve-fit of the high-frequency response using other submodules. We also set the nondimensional system
compliance ratio α = 0, which simulates the condition where the woofer is in free-air (ie. not mounted in an
enclosure).

By defining both the SEN and HLR submodules as described above, the data file should look like:

DRIVER 1
Woofer
!
SOUND PRESSURE
SEN 92.0 DB
HLR 33.8 0.0 6.13 0.273 0.0
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL SPL
FREQ DB
20 72.0
: :
9000 67.0

An incomplete version of the above data file is supplied so that you can edit it and try out different trial
solutions during the curve-fitting procedure. The name of the data file is WOOFERE.C14, but note that it
does not contain the lines with the SEN and HLR submodules.

In order to edit the above data file, you have to start CALSOD and when the main menu appears you must
select the option which allows you to enter the built-in text editor. You may need to have previously
selected the option which allows you to redefine the directory path where the file WOOFERE.C14 resides.

You will be prompted for the name of the data file you wish to edit, and when you have typed in your
response, WOOFERE.C14, the editor will read in the data file and display it on the screen. At this point you
can move around in the file and edit it (the editing commands are described elsewhere in this manual), so

CALSOD 3.10 and CALSOD 1.40 User's Manual – 195


insert the lines containing the SEN and HLR submodules just as they are shown in the above listing. Once
you have finished typing in and editing your data, you can exit the editor by using the pulldown menus or
the Ctrl-KX key sequence. Answer “Y” to the question which asks whether you wish to save the changes,
and after a short delay the main menu of CALSOD will appear.

Setting up analysis and plotting parameters

Before we read in WOOFERE.C14 it is desirable to change the default frequency range and the number of
subintervals used to suitable values that will yield plots with an adequate resolution. In order to change the
default values select the option which allows you to redefine the frequency limits and the number of
subintervals; this is the frequency range and iteration parameters menu.

A new menu appears, and now select the option which will display the current set-up for the various
parameters which are involved in the analysis process. Once you have read all the information, press any
key to return to the frequency range and iteration parameters menu. You may now select the option that
enables you to change the lower and upper frequency limits for the analysis. The lower and upper frequency
limits should be chosen to be 20 Hz and 10 kHz. These frequencies represent the lower and upper frequency
extremes of useful sound pressure output from the woofer. You should also change the number of
subintervals to 30, as this will give a plot with a reasonably smooth appearance. After the frequency range
and iteration parameters menu reappears, press the Esc key to return to the main menu.

To display the sound pressure response plots on suitable frequency and amplitude scales it is necessary to
alter a number of the plotting parameters. From the main menu select the option which allows you to define
new plotting parameters. Once the plotting parameters menu appears you must select the option that allows
you to change the minimum and maximum magnitude limits on the dB scales of the sound pressure plots.
Set the lower amplitude limit to 75 dB, and the upper limit to 100 dB. If the limits are already set to these
values then simply pressing the Enter key at each prompt will leave the values unchanged.

You may now alter the current default values of the number of minor and major tick marks which are drawn
along the vertical sound pressure level axis. The number of minor tick marks can be set to 5, and the number
of major tick marks can be set to 5. This divides the vertical axis into 5 major subdivisions (in steps of
5 dB), each of which in turn is divided into 5 minor subdivisions (in steps of 1 dB). Note that if you do not
want to change the default values you need only press the Enter key in answer to each prompt. Once the
number of major tick marks has been entered the plotting parameters menu will reappear.

It now only remains to select a suitable frequency range for plotting out the data on the screen. For this
example we will define the frequency limits for plotting to be the same as the frequency limits used for the
calculation of the sound pressure response transfer functions. However, this need not always be the case, as
it is possible to select the frequency range for plotting to be independent of the frequency range used in the
calculation of the system transfer functions. In order to change the plotting frequency range select the
appropriate option from the plotting parameters menu. Then set the minimum plotting frequency equal to
20 Hz, and the maximum plotting frequency equal to 10 kHz. After this the plotting parameters menu will
reappear.

Curve-fitting the sound pressure data

Now that we have changed all the parameters that will affect the calculation and display of data, we can
begin the trial-and-error curve-fit of the woofer impedance. Select the option that allows you to read in a
data file, and type in the name of the data file (WOOFERE.C14). You may need to have previously selected
the option that allows you to redefine the directory path where the file WOOFERE.C14 resides. Once
WOOFERE.C14 has been read in, answer “Y” to the question which asks whether or not to calculate the
system transfer functions. After a short delay the main menu will reappear.

196 – CALSOD 3.10 and CALSOD 1.40 User's Manual


NOTE: The CALSOD editor has a special procedure available to help speed up the process of going
between the editor and viewing the plots and then going back to the editor. While in the editor, if you press
the F5 function key you will automatically exit the editor (saving the file), and then the system response
functions will be computed, and then the set of response functions that were last plotted will be displayed.
Of course, this all depends on your data file being free of errors. If any errors are encountered, then the
procedure will be prematurely terminated and the relevant error messages displayed for you to take action.
The F6 function key performs a similar function, except that the plot selection menu is displayed ready for
you to choose which response functions you would like to view. To return straight back to the editor while
viewing the plots, simply press the “E” key as per the on-screen prompt.

It is possible to look at the difference between the transfer function curve-fit of the sound pressure response
and the experimental data points. Proceed by selecting the option from the main menu that allows you to
view plots of a chosen set of responses. When the submenu appears, select the code letters for the sound
pressure response that you wish to have plotted on the screen. You should select the code letters that allow
you to view the driver sound pressure response and the experimental sound pressure response data. Since
you have selected two distinct sets of data their plots will be superimposed upon each other on the one
graph.

Note that if you select the combination driver/filter response or the total sound pressure response, these will
all be identical to the driver sound pressure response. This is because no filter network has been specified
and there is only one driver in the model.

If you compare the low-frequency response of the sound pressure response transfer function with the
experimental data points, you will see that the degree of agreement is not particularly good, even though we
used the Thiele-Small parameters that were derived directly from the impedance response at resonance.
However, the general second-order rolloff in the woofer’s low-frequency response is modelled quite well.

Note that the manufacturer did not provide any data about the characteristics of any enclosures that may
have been used with the woofer when its sound pressure response was being measured. Therefore, it is not
really possible to try to model the experimental low-frequency response more accurately using other
submodules. However, by using the well known Thiele-Small parameters you can still accurately predict the
low-frequency behaviour of the driver even though the present simulation may not appear to be very good.
Design of the low-frequency alignment will be described later.

When you have finished looking at the plots, press the Esc key twice to return to the main menu.

Modifying the model – adjusting high frequency rolloff

The next step in creating the sound pressure response transfer function of the woofer is to introduce a filter
response function to model the high-frequency rolloff characteristics. From the plot of the experimental data
points we can estimate the order of the high-frequency rolloff, and as a first guess we assume it to have a
third-order slope. A suitable response characteristic is taken to be that of a Butterworth lowpass filter, with
the –3 dB cutoff frequency set at 4500 Hz. We can use the following BUT submodule to introduce this
response characteristic:

BUT 4500.0 3 LOWPASS

In order to incorporate this submodule into the data file it is necessary to go back into the text editor. Once
you have added this submodule you can return to CALSOD to compare the latest curve-fit with the
experimental data. You will find the high-frequency rolloff is not steep enough and the cutoff frequency is a
little too high to give good agreement. At this point you can use the method of trial-and-error to determine
the value of cutoff frequency and the order of the filter alignment that gives the best curve-fit. In the end the
BUT submodule should contain data similar to the following:

BUT 4350.0 4 LOWPASS

CALSOD 3.10 and CALSOD 1.40 User's Manual – 197


Modifying the model – adding MPE submodules

The resulting curve-fit now has two remaining deficiencies. Firstly, the midrange response has a dip at about
580 Hz. Secondly, the high-frequency response has a large peak at about 2 kHz. By applying suitable
amounts of minimum-phase equalization it is possible to greatly improve the transfer function
approximation in these two regions. Since the two frequencies are well separated we can introduce an MPE
submodule at each frequency without any significant interaction effects.

Considering the equalization at 580 Hz, we see that the transfer function is about 1.1 dB higher than the
experimental data at this point. Hence we need to introduce a 1.1 dB dip, and this can be achieved by setting
the value of Deq to –1.1 and specifying the DB option in the MPE submodule. For the equalization at 2 kHz
we see that the transfer function is 3 dB lower than the experimental data at this point, and we therefore
need to specify Deq = 3.0 with the DB option active. The values of Qeq, which specify the Q of any peak or
dip, must be determined by trial-and-error techniques. As a first estimate, the following MPE submodules
are included in the transfer function model of the woofer sound pressure response:

MPE 580.0 4.0 -1.10 DB


MPE 2000.0 1.0 3.00 DB

You should enter the editor and incorporate the above two MPE submodules in the WOOFERE.C14 data
file. Then exit from the editor, read in the WOOFERE.C14 data file, and once the system transfer functions
have been calculated select the plotting option from the main menu. When you select the driver sound
pressure transfer function and experimental sound pressure data points to be displayed, you will see that the
dip at 580 Hz is too narrow (Qeq is too large), and at 2 kHz the peak is too wide (Qeq is too small). You can
now repetitively go backwards and forwards between the editor and the plots, each time varying one or both
of the Qeq values so as to obtain a better quality curve-fit. After a few tries at this trial-and-error procedure
you should be able to obtain an adequate curve-fit in these regions.

When you have finished creating the curve-fit of the sound pressure response of the woofer, the data file
WOOFERE.C14 should look something like the following listing:

DRIVER 1
Woofer
!
SOUND PRESSURE
SEN 92.0 DB
HLR 33.7 0.0 6.34 0.28 0.0
MPE 580.0 2.65 -1.10 DB
MPE 2000.0 1.82 3.00 DB
BUT 4350.0 4 LOWPASS
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL SPL
FREQ DB PHASE
20 72.0 360.0
: : :
9000 67.0 360.0

At this point we have now completed setting up the transfer function approximations to the sound pressure
response of the woofer. Since most moving-coil loudspeaker drivers are minimum-phase transducers, the
resulting curve-fit will simulate both the magnitude and phase response of the woofer sound pressure
response quite accurately, even though only the magnitude of the sound pressure response was available to
us as experimental data.

198 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Optimizing the woofer sound pressure curve-fit

It is also possible to optimize the transfer function model of the woofer sound pressure response using the
curve-fit optimizer. The approach is much the same as that described in detail in the examples covering the
curve-fitting of the impedance response. The only difference is that it is only possible to optimize the MPE
submodules, but this makes the whole procedure somewhat simpler to use.

The sound pressure curve-fit optimizer requires that you specify initial values of the Qeq and Deq
parameters for each of the MPE submodules. These values should be chosen such that the overall
approximation provides a good initial model of the response function. If necessary, some of the MPE
submodules can have their Qeq and Deq parameters fixed during the curve-fit optimization process. This is
accomplished simply by setting the VarQD option equal to FIXED in the data file (for further details
concerning the use of the VarQD option, you should consult the definition of the MPE submodule that is
presented elsewhere in this manual).

As described in the preceding sections that covered the creation of a sound pressure curve-fit for the woofer,
you must first determine the highpass and lowpass filter characteristics that will be used to model the low-
frequency and high-frequency roll-off characteristics of the driver. These are obtained by the simple trial-
and-error methods described earlier. Once they have been specified, all that remains is to set up a system of
MPE submodules whose centre frequency is placed in a position where each one will be able to accurately
represent any deviations in the magnitude response in its immediate vicinity. Generally, only a small number
of MPE submodules will be required. In this particular example, we will take an early version of a data file
used to model the sound pressure response of the woofer. The data file is called WOOFERO.C31, and is
listed below:

DRIVER 1
Woofer
!
SOUND PRESSURE
SEN 92.0 DB
HLR 33.7 0.0 6.13 0.273 0.0
MPE 580.0 4.00 -1.10 DB VARIABLE
MPE 2000.0 1.00 3.00 DB VARIABLE
BUT 4350.0 4 LOWPASS
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 92.0 DB
!
EXPERIMENTAL SPL
FREQ DB PHASE
20 72.0 360.0
: : :
10000 64.0 360.0

Note that the two MPE submodules have both had their VarQD parameter set to VARIABLE. You must also
specify the minimum and maximum frequencies over which the curve-fit optimizer will carry out the least
squares solution. In this particular example, the MPE submodules have been introduced with centre
frequencies at 580 Hz (a dip) and 2000 Hz (a peak). From the plot in Figure 11, it can be seen that the dip
has a fairly narrow region of influence, while the peak is somewhat broader. Hence, you should set the
minimum frequency to be 250 Hz, which ignores the response errors below this frequency where the curve-
fit optimizer will not be able to have any affect. The maximum frequency should be set to about 7000 Hz,
which ensures that the entire width of the high frequency response peak at 2000 Hz will be taken into
account by the curve-fit optimizer.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 199


Figure 11: Woofer sound pressure response before optimization of the curve-fit.

In order to adjust these values, you should select the frequency range and iteration parameters option from
the main menu. Then select the option that allows you to vary the frequency range limits and make the
appropriate changes. The minimum frequency should be set to 250 Hz, and the maximum frequency should
be set to 7000 Hz.

You can now read in the data file WOOFERO.C31, and calculate the system response functions when
prompted. After the data file has been processed, you should select the optimization option from the main
menu. A submenu will appear, and you should then select the option that allows you to optimize the sound
pressure curve-fit. After about 5 iterations have been carried out, you will find that the minimum error is not
improving any further, so you should manually terminate the curve-fit optimizer by pressing the Esc key.

The table below summarizes the results of the sound pressure curve-fit optimization. It can be seen that the
values of Qeq have all been significantly varied, whilst the values of Deq have changed only slightly,
indicating that the initial estimates were quite good. The plot in Figure 12 compares the resultant curve-fit to
the experimental sound pressure response data, and it is evident that a very good curve-fit has been achieved
at frequencies above 200 Hz.

┌────────────┬───────────┬───────────┬───────────┐
│ MPE │ Variable │ Initial │ Optimized │
│ Submodule │ Parameter │ Value │ Value │
├────────────┼───────────┼───────────┼───────────┤
│ Fo= 580 Hz │ Qeq │ 2.000 │ 3.993 │
│ │ Deq │ -1.100 │ -1.145 │
├────────────┼───────────┼───────────┼───────────┤
│ Fo=2000 Hz │ Qeq │ 1.000 │ 1.910 │
│ │ Deq │ 3.000 │ 2.625 │
└────────────┴───────────┴───────────┴───────────┘

200 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 12: Woofer sound pressure response after optimization of the curve-fit.

Modelling driver high-frequency breakup behaviour

In previous examples we have been able to create an accurate model of the sound pressure response of a
woofer. At high-frequencies the response of this woofer was characterized by a smooth 24 dB/octave rolloff,
and this made setting up the model a relatively easy task. However, in many cases the high-frequency
response of a driver may include severe breakup modes, where the driver is working outside its piston range,
as illustrated in Figure 13. Here we see that at frequencies above 6 kHz the driver sound pressure response is
no longer smoothly rolling off. Above 6 kHz it has a large number of peaks and dips, and it therefore
becomes more difficult to decide exactly how to model these features.

Figure 13: Sound pressure curve-fit for woofer with simulated high-frequency break-up behaviour.

One suggested approach is to choose a second-order Butterworth function to approximate the overall
characteristics at high frequencies. This should be configured so as to closely model the response in the
pass-band of the driver, with the cutoff frequency of the second-order function coinciding with the –3 dB
frequency of the driver’s sound pressure response. Once this overall response rolloff has been chosen, you
must proceed to add MPE submodules that are located so as to simulate the various peaks and dips in the
driver sound pressure response.

For the driver illustrated in Figure 13, a second-order Butterworth function with a cutoff frequency of
4350 Hz was chosen to represent the underlying high-frequency rolloff characteristics. This second-order
rolloff function approximately passes through the centre of the experimental data; below about 10 kHz the
data points generally lie below the line defined by the second-order rolloff, while above 10 kHz the data
points lie above the line. The plot in Figure 13 compares the final model with the experimental magnitude
response data. It is seen that the magnitude response of the breakup at high frequencies has been represented

CALSOD 3.10 and CALSOD 1.40 User's Manual – 201


quite well. The driver model that was used to achieve this is labelled as DRIVER 1 in the data file
BREAKUP.C14 listed below. It is also evident that the predicted phase response in the frequency range
5 kHz to 20 kHz varies a great deal as a result of the affects of all the sharp peaks and dips that were
introduced using MPE submodules.

The curve-fitting associated with a driver that has a pronounced high-frequency breakup is a time-
consuming process. As a result, you may be tempted to model the initial high-frequency rolloff up to about
6 kHz using a combination of two cascaded fifth-order Butterworth lowpass functions, effectively giving a
tenth-order rolloff. The resulting curve-fit would look similar to the plot in Figure 14.

Figure 14: Curve-fit of sound pressure response ignoring cone break-up behaviour above 6 kHz.

The data corresponding to this model is listed in the DRIVER 2 module in the BREAKUP.C14 data file.
The reasoning behind this approach would probably be that the response below 6 kHz can be neglected
because the crossover network will significantly attenuate the response in that region.

001> ! -----------------------------------------------
002> ! CURVE-FIT FOR WOOFER SPL HIGH-FREQUENCY BREAKUP
003> ! -----------------------------------------------
004> !
005> DRIVER 1
006> WOOFER 1
007> SOUND PRESSURE
008> SEN 92.0 DB
009> HLR 33.8 0.0 6.13 0.273 0.0
010> MPE 580.0 3.9930 -1.1450 DB
011> MPE 2000.0 1.9100 2.6250 DB
012> MPE 3000.0 3.8585 1.4167 DB
013> MPE 4100.0 10.4138 3.8243 DB
014> MPE 5800.0 19.7759 -22.4267 DB
015> MPE 7500.0 37.6656 -3.1890 DB
016> MPE 9000.0 31.3247 -14.2486 DB
017> MPE 11030.0 22.0541 -7.9615 DB
018> MPE 12317.0 19.4865 9.6699 DB
019> MPE 16013.0 19.4442 11.0441 DB
020> MPE 18096.0 28.5167 11.2072 DB
021> BUT 4350.0 2 LOWPASS
022> !
023> DRIVER 2
024> WOOFER 2
025> SOUND PRESSURE
026> SEN 92.0 DB
027> HLR 33.8 0.0 6.13 0.273 0.0
028> MPE 580.0 3.993 -1.145 DB
029> MPE 2000.0 1.910 2.625 DB
030> BUT 4500.0 5 LOWPASS
031> BUT 4500.0 5 LOWPASS
032> !

202 – CALSOD 3.10 and CALSOD 1.40 User's Manual


033> CIRCUIT
034> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
035> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
036> !
037> TARGET SPL
038> XYZ 0.0 0.0 0.0
039> SEN 92.0 DB
040> !
041> EXPERIMENTAL SPL
042> FREQ DB
043> 20 72.0
044> 30 75.0
: : :
132> 20500 62.5
133> 20835 60.0

However, this second approach is not recommended. To understand why, take a look at the plot in Figure
15, which directly compares the magnitude and phase response of the two modelling methods. You will
notice that although there is good agreement in the magnitude response in the frequency range 200 Hz to
6 kHz, there are significant differences in the phase responses predicted by these two modelling methods. It
is readily apparent that the effect of cascading two fifth-order Butterworth lowpass functions has been to
introduce a significant amount of phase shift into the model, even at frequencies below 4 kHz. Therefore,
when this driver’s response is summed with that of another, the extra phase shift will affect the results of the
simulation, probably making them quite inaccurate. The error in the second approach arises as a result of
incorrectly modelling the magnitude response characteristics of the driver above 6 kHz, which then leads to
significant phase errors in the simulation.

Figure 15: Comparison of the magnitude and phase responses of the curve-fits for the two different
models of the same loudspeaker driver.

Although it has been suggested that a second-order Butterworth lowpass function be used in conjunction
with a number of MPE submodules in order to effectively model the high-frequency breakup behaviour of a
driver, there may still be some doubt as to the accuracy of the resulting simulation. Whenever possible, it is
strongly recommended that the phase response predictions of the simulation be carefully compared with any
available experimental data. This will help confirm the validity of the model.

Modelling driver high-frequency off-axis radiation

In this example we will show how to go about modelling the off-axis response of the woofer that has been
modelled previously. At high frequencies, when the radius of the piston is large compared to the wavelength
of the sound, the off-axis response of the loudspeaker driver begins to roll-off, particularly at larger off-axis
angles. The off-axis radiation pattern will generally be characterized by a main lobe, as well as a number of
side lobes, the number of side lobes increasing as the frequency of the sound is increased. As the frequency
is increased, the angular width of the major lobe is decreased.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 203


For a piston-type loudspeaker, it is possible to simulate the off-axis characteristics by using the EPD
submodule, which allows you to model the driver as a circular plane piston mounted in an infinite baffle.
The radiation patterns produced by a piston-type loudspeaker differ to some extent from the predictions of
the idealized model. These differences arise for a number of reasons, which include the fact that the
loudspeaker is usually mounted on a finite baffle, although at high frequencies even a baffle of small linear
dimensions corresponds quite closely to an ideal baffle, and that the material of an actual speaker diaphragm
is not perfectly rigid, resulting in complex vibration modes that are not accounted for by the piston
approximation. However, empirical evidence indicates that the piston approximation is still quite accurate
for moderate off-axis angles.

In order to set up a reasonably accurate model of a driver’s off-axis radiation pattern, it is necessary to have
sound pressure response data that has been measured at a number of off-axis angles. Usually two or three
off-axis angles are sufficient. This information may be provided by the manufacturer in the specification
sheet for the given driver.

A typical data file used when trying to model a driver’s off-axis radiation pattern is shown below, and it is
called OFFAXIS.C31. If you inspect the plot in Figure 16, you will see that the dots on this plot correspond
to the data points contained in the EXPERIMENTAL SPL module, which are labelled with headings that
indicate the angle at which the measurements were taken.

Figure 16: Simulated woofer on-axis and off-axis sound pressure response compared with typical
experimental data for woofer effective piston diameter 0.150 m.

001> ! --------------------------------
002> ! DATA FILE FOR OFF-AXIS CURVE-FIT
003> ! --------------------------------
004> !
005> CIRCUIT
006> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
007> !
008> TARGET SPL
009> RAB 1.0 0.0 0.0 1.0 ACTIVE
010> RAB 1.0 30.0 0.0 1.0 ACTIVE
011> RAB 1.0 60.0 0.0 1.0 ACTIVE
012> SEN 92.0 DB
013> !
014> DRIVER 1
015> Woofer
016> SOUND PRESSURE
017> EPD 0.15
018> SEN 92.0 DB
019> SVB 33.8 0.261 4.0 1.5 7.0
020> MPE 580.0 3.993 -1.145 DB
021> MPE 2000.0 1.910 2.625 DB
022> BUT 4350.0 4 LOWPASS
023> !

204 – CALSOD 3.10 and CALSOD 1.40 User's Manual


024> EXPERIMENTAL SPL
025> FREQ DB
026> !
027> ! On-axis response
028> !
029> 300 92.0
030> 411 91.8
: : :
059> 11831 57.3
060> 13141 53.6
061> !
062> ! 30 degrees off-axis
063> !
064> 300 91.9
065> 411 91.8
: : :
094> 11831 39.5
095> 13141 33.1
096> !
097> ! 60 degrees off-axis
098> !
099> 300 91.9
100> 411 91.7
: : :
129> 11831 29.7
130> 13141 12.7

In the above data file, the SOUND PRESSURE section of the DRIVER module corresponds to the on-axis
model of the woofer that was described in previous examples. For convenience, we have chosen to omit the
IMPEDANCE section, as it is not relevent to this particular analysis. The TARGET SPL module includes
three RAB submodules that define the locations where the response functions are to be calculated. The first
RAB submodule corresponds to the on-axis response, and the remaining two RAB submodules correspond
to positions 30° and 60° off axis.

The EPD submodule specifies that the effective piston diameter of the woofer is 0.15 metres. Looking at the
plot in Figure 16, we see that the computed off-axis response of the woofer is not a very good match with
the experimental data, since the model predicts a response that is more rolled off at high frequencies. In
order to improve the model, it is necessary to reduce the effective piston diameter specified in the EPD
submodule, and then to re-compute the driver’s off-axis response and compare it to the experimental data.
After a few trial and error iterations, it should be possible to obtain a reasonably good model. The plot in
Figure 17 shows the results achieved when the effective piston diameter has been reduced to 0.10 metres.

Figure 17: Simulated woofer on-axis and off-axis sound pressure response compared with typical
experimental data for woofer effective piston diameter 0.100 m.

In general, a reasonably good model of the off-axis radiation pattern can be achieved for most drivers as
long as you do not try to go too far off axis. If possible, your experimental data should cover the range from

CALSOD 3.10 and CALSOD 1.40 User's Manual – 205


0° to a maximum of about 60°. The model will probably be most accurate in the range from 0° to 30°, which
is generally sufficient for most loudspeaker simulations. However, when choosing a value for the effective
piston diameter, you should note that it may be necessary to trade off accuracy at one off-axis position in
order to get a good result at another off-axis position that you judge to be of greater importance for your
own simulations.

Modelling the woofer low-frequency alignment

In setting up the transfer function models of the sound pressure and impedance response of the woofer, no
attempt was made to simulate the low-frequency alignment that would be used for this driver. However, it is
a relatively simple matter to replace the HLR and IMP submodules with their appropriate vented-box,
closed-box or passive-radiator counterparts on the basis of the chosen low-frequency alignment.

In this example we will define a low-frequency characteristic corresponding to the woofer being mounted in
a vented-box enclosure. Using the value of Vas obtained from the manufacturer’s data sheet, and by
examining the HLR and IMP submodules used for the woofer, the Thiele-Small parameters are found to be
as follows:

Fs = 33.8 Hz Qts = 0.261


Vas = 110.0 litres Qes = 0.273
Re = 6.1 ohms Qms = 6.130

For this set of parameters we will choose that h = 1.5, QL = 7 and α = 4. Therefore the SVB and IVB
submodules may now be defined, and they are:

SVB 33.8 0.261 4.0 1.5 7.0


IVB 33.8 6.10 0.00722 0.701 0.01317 0.690 6.127 0.273 4.0 1.5 7.0

This set of Thiele-Small parameters leads to a maximally flat quasi-Butterworth QB3 alignment. The sound
pressure and impedance responses for this vented-box system are shown in Figure 18 and Figure 19. From
the plots it is evident that the –3 dB point is approximately 62 Hz.

Figure 18: Magnitude and phase of the simulated sound pressure response of the woofer in a
vented-box system.

206 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 19: Magnitude and phase of the simulated impedance response of the woofer in a vented-
box system.

The data file used to create these plots is WOOFERVB.C14, a listing of which is given below:

01> ! -------------------------------------------
02> ! DATA FILE FOR WOOFER IN A VENTED-BOX SYSTEM
03> ! -------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> !
08> DRIVER 1
09> Woofer VB
10> SOUND PRESSURE
11> SEN 92.0 DB
12> SVB 33.8 0.261 4.0 1.5 7.0
13> MPE 580.0 3.993 -1.145 DB
14> MPE 2000.0 1.910 2.625 DB
15> BUT 4350.0 4 LOWPASS
16> IMPEDANCE
17> IVB 33.8 6.10 0.00722 0.701 0.01317 0.690 6.127 0.273 4.0 1.5 7.0
18> MPE 420.0 4.23 1.203 LINEAR
19> !
20> TARGET SPL
21> XYZ 0.0 0.0 0.0
22> SEN 92.0 DB

This particular model of the woofer will be used when we are simulating the complete two-way system
comprised of the woofer and the tweeter. Additional information on the design of vented-box, closed-box,
and passive-radiator systems can be found in the section describing the design of low-frequency alignments.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 207


MODELLING THE TWEETER
TRANSFER FUNCTIONS

Figure 20 and Figure 21 show the magnitude and phase of the curve-fits that were developed to model the
sound pressure and impedance responses of the tweeter. The small dots that are on or near the two curves
correspond to the experimental data points that were gathered for this driver. A plot of the impedance
response in the vicinity of the driver resonance is also shown on an expanded frequency scale.

Figure 20: Magnitude and phase of curve-fits developed to model the sound pressure response of
the tweeter.

Figure 21: Magnitude and phase of curve-fits developed to model the impedance response of the
tweeter.

It is evident that the curve-fit of the tweeter sound pressure response is quite accurate. Note, however, that
the Thiele-Small parameters used in the HLR submodule are not the same as those used for the impedance
response curve-fit. In order to get better agreement with the experimental sound pressure response data we
decreased the value of Qes; the value of Qms was left the same as that obtained during the curve-fit of the
impedance.

As the format of the tweeter data contained in the files TWEETERI.C14 and TWEETERS.C14 is very
similar to the woofer data files WOOFER.IMP and WOOFERS.C14, the creation of the two tweeter data

208 – CALSOD 3.10 and CALSOD 1.40 User's Manual


files will not be described. For details of the methods used, you should refer to the descriptions of the
various sections that were given for the woofer data file. Listings of the data files TWEETERI.C14 and
TWEETERS.C14 are provided on subsequent pages.

Optimizing the tweeter impedance curve-fit

It is possible to use CALSOD’s curve-fit optimizer to carry out curve-fitting of the tweeter’s impedance
response function. The optimizer requires that you set up initial estimates of all the parameters, and these
can be calculated using the techniques that have been described previously.

You will now proceed to use the curve-fit optimizer on the tweeter impedance model defined in the data file
TWEETOI.C31, which is listed below:

DRIVER 1
Tweeter
!
IMPEDANCE
IMP 535.0 6.10 34.80 3.147E-3 0.5749 8.898E-4 0.7063 0.70 V V
MPE 2000.0 2.00 1.20 LINEAR VARIABLE
MPE 4000.0 2.00 1.10 LINEAR VARIABLE
MPE 16000.0 2.00 1.10 LINEAR VARIABLE
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 90.0 DB
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
100 7.41 14.4
: : :
100000 16.99 40.7

In this example, the curve-fitting optimizer varies Fo and Qt in the IMP submodule, and Qeq and Deq in
each of the MPE submodules. For further details of the VarFo, VarQt, and VarQD options, please refer to
the definitions provided when defining the IMP and MPE submodules.

When curve-fitting the tweeter impedance, it is apparent that for the IMP submodule the only variable
parameters are Fo and Qt, and their effect is limited to the low-frequency region around 500 Hz. The high-
frequency impedance rise is fixed by the pre-calculated values of Kr Xr Ki Xi. The remaining six variable
parameters are Qeq and Deq in the three MPE submodules, and their effects are centred on frequencies at
2 kHz, 4 kHz, and 16 kHz. Hence, it should be clear that it is sufficient to set the frequency range for the
curve-fitting optimizer to be between 100 Hz and 30 kHz. After setting the frequency range, you should read
in the data file TWEETOI.C31, and then proceed to calculate the system response functions when prompted.

Now that the data points have been read and the frequency range has been specified, you can begin the
optimization of the impedance curve-fit. From the main menu, select the option that begins the optimization
process. You will be prompted by a number of further options, and you should select the one that will
optimize the impedance curve-fit.

After about 5 iterations it will become evident that the minimum error is not decreasing any further. You
should then press the Esc key to stop the curve-fit optimizer. The table below shows the initial and
optimized values of the parameters in the IMP and MPE submodules for the tweeter impedance model. Most
of the parameters have been varied quite considerably, with the exception of Fo in the IMP submodule,
which has changed only slightly.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 209


┌───────────┬───────────┬───────────┐
│ Variable │ Initial │ Optimized │
│ Parameter │ Value │ Value │
┌────────────┼───────────┼───────────┼───────────┤
│ IMP │ Fo │ 535.00 │ 532.50 │
│ submodule │ Qt │ 0.70 │ 0.54 │
├────────────┼───────────┼───────────┼───────────┤
│ 2 kHz MPE │ Qeq │ 2.00 │ 4.67 │
│ submodule │ Deq │ 1.20 │ 1.25 │
├────────────┼───────────┼───────────┼───────────┤
│ 4 kHz MPE │ Qeq │ 2.00 │ 1.61 │
│ submodule │ Deq │ 1.10 │ 1.08 │
├────────────┼───────────┼───────────┼───────────┤
│ 16 kHz MPE │ Qeq │ 2.00 │ 9.26 │
│ submodule │ Deq │ 1.10 │ 1.15 │
└────────────┴───────────┴───────────┴───────────┘

Figure 22 shows the initial curve-fit for the tweeter impedance response function, and Figure 23 shows the
optimized result. It is clear that a very accurate approximation has been developed, including the phase
response.

Figure 22: Tweeter impedance response before optimization of the curve-fit.

Figure 23: Tweeter impedance response after optimization of the curve-fit.

Optimizing the tweeter sound pressure curve-fit

It is possible to use CALSOD’s curve-fit optimizer to carry out curve-fitting of the tweeter’s sound pressure
response function. The optimizer requires that you set up initial estimates of all the parameters, and these
can be calculated using the techniques that have been described previously. You will now proceed to use the

210 – CALSOD 3.10 and CALSOD 1.40 User's Manual


curve-fit optimizer on the tweeter sound pressure model defined in the data file TWEETOS.C31, which is
listed below:

DRIVER 1
Tweeter
!
SOUND PRESSURE
SEN 90.0 DB
HLR 532.5 0.0 3.14 0.43 0.0
MPE 1200.0 1.00 1.00 DB VARIABLE
MPE 3500.0 10.00 2.00 DB VARIABLE
MPE 6000.0 5.00 -2.00 DB VARIABLE
MPE 9000.0 5.00 1.00 DB VARIABLE
MPE 12000.0 1.00 2.00 DB VARIABLE
MPE 16000.0 10.00 3.00 DB VARIABLE
BUT 19000.0 4 LOWPASS
!
CIRCUIT
SPK 1 0 1 0.0 0.0 0.0 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 0.0
SEN 90.0 DB
!
EXPERIMENTAL SPL
FREQ DB
150 65.0
: :
30000 75.0

In this example, the curve-fitting optimizer varies the values of Qeq and Deq in each of the MPE
submodules. When curve-fitting the tweeter sound pressure response, it is sufficient to set the frequency
range for the curve-fitting optimizer to be between 700 Hz and 30 kHz. After setting the frequency range,
you should read in the data file TWEETOS.C31, and then proceed to calculate the system response
functions when prompted.

Now that the data points have been read and the frequency range has been specified, you can begin the
optimization of the sound pressure curve-fit. From the main menu, select the option that begins the
optimization process. You will be prompted by a number of further options, and you should select the one
that will optimize the sound pressure curve-fit.

After about 8 iterations it will become evident that the minimum error is not decreasing any further. You
should then press the Esc key to stop the curve-fit optimizer. The table below shows the initial and
optimized values of the parameters in the MPE submodules. Most of the parameters have been varied quite
considerably by the curve-fit optimizer.

┌───────────┬───────────┬───────────┬───────────┐
│ MPE │ Variable │ Initial │ Optimized │
│ Submodule │ Parameter │ Value │ Value │
├───────────┼───────────┼───────────┼───────────┤
│ 1200 Hz │ Qeq │ 1.00 │ 2.22 │
│ │ Deq │ 1.00 │ 1.01 │
│ 3500 Hz │ Qeq │ 10.00 │ 6.34 │
│ │ Deq │ 2.00 │ 2.15 │
│ 6000 Hz │ Qeq │ 5.00 │ 2.13 │
│ │ Deq │ -2.00 │ -2.16 │
│ 9000 Hz │ Qeq │ 5.00 │ 4.77 │
│ │ Deq │ 1.00 │ 1.83 │
│ 12000 Hz │ Qeq │ 1.00 │ 0.55 │
│ │ Deq │ 2.00 │ 0.88 │
│ 16000 Hz │ Qeq │ 10.00 │ 4.67 │
│ │ Deq │ 3.00 │ 4.30 │
└───────────┴───────────┴───────────┴───────────┘

CALSOD 3.10 and CALSOD 1.40 User's Manual – 211


Figure 24 shows the initial curve-fit for the tweeter sound pressure response function, and Figure 25 shows
the optimized result. It is clear that a very accurate approximation has been developed.

Figure 24: Tweeter sound pressure response before optimization of the curve-fit.

Figure 25: Tweeter sound pressure response after optimization of the curve-fit.

Data file for tweeter impedance curve-fit

The data file used to create the impedance transfer function approximation is TWEETERI.C14, and a listing
of this file is given below.

01> ! ---------------------------------------------
02> ! TWEETER IMPEDANCE CURVE-FIT USING Kr,Xr,Ki,Xi
03> ! ---------------------------------------------
04> !
05> DRIVER 1
06> Tweeter
07> !
08> IMPEDANCE
09> IMP 532.5 6.10 34.80 3.147E-3 0.5749 8.898E-4 0.7063 0.537
10> MPE 2000.0 4.6782 1.2545 LINEAR
11> MPE 4000.0 1.6142 1.0788 LINEAR
12> MPE 16000.0 9.2615 1.1476 LINEAR
13> !
14> CIRCUIT
15> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
16> !
17> TARGET SPL
18> XYZ 0.0 0.0 0.0
19> SEN 90.0 DB

212 – CALSOD 3.10 and CALSOD 1.40 User's Manual


20> !
21> EXPERIMENTAL IMPEDANCE
22> FREQ MAG PHASE
23> 100 7.41 14.4
24> 126 7.64 17.9
25> 158 8.00 22.2
: : : :
33> 480 28.98 25.6
34> 500 32.04 17.8
35> 520 34.21 8.4
36> 540 34.83 -2.0
37> 560 33.77 -11.8
38> 580 31.49 -20.2
39> 600 28.78 -26.8
: : : :
49> 1260 8.73 -22.1
50> 1580 8.51 -12.3
51> 1990 9.34 -11.0
: : : :
74> 63100 13.94 35.4
75> 79400 15.35 38.1
76> 100000 16.99 40.7

Data file for tweeter sound pressure curve-fit

The data file used to create the sound pressure response transfer function approximation is
TWEETERS.C14, and a listing of this file is given below.

01> ! -----------------------------------
02> ! DATA FILE FOR TWEETER SPL CURVE-FIT
03> ! -----------------------------------
04> !
05> DRIVER 1
06> Tweeter
07> !
08> SOUND PRESSURE
09> SEN 90.0 DB
10> HLR 532.5 0.0 3.14 0.43 0.0
11> MPE 1200.00 2.219 1.013 DB
12> MPE 3500.00 6.336 2.149 DB
13> MPE 6000.00 2.131 -2.160 DB
14> MPE 9000.00 4.774 1.834 DB
15> MPE 12000.00 0.548 0.879 DB
16> MPE 16000.00 4.666 4.304 DB
17> BUT 19000.0 4 LOWPASS
18> !
19> CIRCUIT
20> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
21> !
22> TARGET SPL
23> XYZ 0.0 0.0 0.0
24> SEN 90.0 DB
25> !
26> EXPERIMENTAL SPL
27> FREQ DB
28> 150 65.0
29> 200 68.0
30> 300 74.0
: : :
63> 20000 88.0
64> 26000 80.0
65> 30000 75.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 213


INITIAL DESIGN OF FILTERS
PRIOR TO OPTIMIZATION

Prior to the individual optimization of the woofer and tweeter filter network components, in this example the
woofer’s lowpass filter and the tweeter’s highpass filter are selected to be complementary third-order
Butterworth filter functions. That is, the desired acoustic sound pressure responses of each of the drivers in
the crossover region are to have the magnitude and phase response of third-order Butterworth filters.

It is worth mentioning that although a third-order Butterworth filter has been chosen for use in this example,
this does not mean that this particular design is being endorsed ahead of other filter topologies. While third-
order Butterworth filters have a frequency independent power response, as well as being more economical
component wise when compared to fourth-order designs, the main lobe of acoustic radiation shows a “dip”
or change in direction towards the lower frequency driver at frequencies in the region of crossover. Also,
there is a peak in the summed off-axis response. The fourth-order Linkwitz-Riley filter topology offers a
significant advantage in this aspect of performance, since a symmetrical off-axis radiation pattern is
obtained without any peak in the off-axis response characteristic. It is left up to each individual designer to
choose a crossover network topology that meets the design objectives in the best possible manner.

The nominal crossover frequency is set to be 3 kHz, which is typical of many two-way systems made up of a
200 mm woofer and 34 mm tweeter. Since the response of each of the drivers is already rolling off in the
vicinity of this frequency, the filter network topology chosen for each driver is of a lower order than would
otherwise need to be specified if the drivers had a perfectly linear response over the full frequency spectrum.

For this reason the trial filter network on the woofer consists of an inductor and a capacitor, together with an
impedance compensation network that consists of a resistor and capacitor connected in parallel with the
woofer. The filter network for the tweeter is made up of a capacitor and inductor, together with a resistor in
series with the tweeter which acts to attenuate the output.

The level of the passband response of the low- and highpass filters is set at 92 dB. This value matches the
sensitivity of the woofer, and should be achievable by the tweeter after its response has been equalized by
the optimization process.

As the high- and lowpass filters are to be optimized separately, it is necessary to choose filter topologies that
permit parallel connection. Also, the initial values of the components of the filter networks for the woofer
and tweeter are obtained using the simple filter formulas described in a previous section. The estimates will
be shown later to be rather inaccurate, but as they only serve the purpose of creating a trial filter design for
the optimization procedure, a more complex analysis is often not justified. However, you should keep in
mind that convergence problems can sometimes be experienced during the optimization if the initial
estimates are unsatisfactory. If this occurs you will need to manually modify the component values until the
optimization works successfully.

Once the initial filter designs are specified we can proceed with the optimization of the component values.

Initial woofer filter components

The circuit topology and node numbering convention adopted for the woofer lowpass filter network is
shown below. Also given are the initial trial values of the components, and the method used to obtain these
values will now be described.

214 – CALSOD 3.10 and CALSOD 1.40 User's Manual


┌──┐
1─┤L1├───2──────┬───────┐
└──┘ │ ┌─┴─┐ │
│ │R1 │ │+ Inductor L1 = 0.46E-03 H
┌─┴─┐ └─┬─┘ ┌──┴───┐
│C1 │ 3 │WOOFER│ Capacitor C1 = 6.10E-06 F
└─┬─┘ ┌─┴─┐ └──┬───┘ C2 = 17.80E-06 F
│ │C2 │ │-
│ └─┬─┘ │ Resistor R1 = 6.10 ohms
0────────┴──────┴───────┘

In the above circuit, an impedance equalization network (C2 and R1) is to be used with the woofer, on
account of its significant inductance. From the data for the impedance curve fit we have that Re = 6.1 ohms
and Le = 6.63E–4 H. Using the formulas for the design of Zobel networks given in a previous section on
impedance equalization, we find that the values of C2 and R1 can be calculated as follows:

Le
C2 = Ceq = ─── = 17.80E-06 F R1 = Req = Re = 6.10 ohms
Re²

We determine the initial values of the remaining filter network components by using the filter formulas for a
second-order Butterworth lowpass filter, we have that Rlo = 6.1 ohms and f = 3000 Hz. Note that Rlo
corresponds to the value of the equalized impedance in the vicinity of 3 kHz. Hence we obtain:

0.2251 Rlo 0.1125


L1 = ────────── = 0.46E-03 H C1 = ────── = 6.10E-06 F
f Rlo f

Data file for optimization of woofer filter

The following is a listing of the data file WOOFERF.C14 which is used as a trial design for the optimization
of the component values of the woofer filter network.

01> ! ----------------------------------------
02> ! DATA FILE FOR WOOFER WITH A FILTER ADDED
03> ! ----------------------------------------
04> !
05> ! Optimizer frequency range : 250 Hz to 6 kHz
06> ! Optimizer subintervals : 20
07> !
08> CIRCUIT
09> IND 0.46E-3 1 2 0.0 VARIABLE
10> CAP 6.10E-6 0 2 VARIABLE
11> RES 6.10 2 3 VARIABLE
12> CAP 17.80E-6 0 3 VARIABLE
13> SPK 1 0 2 0.0 0.0 0.0 POSITIVE
14> !
15> TARGET SPL
16> XYZ 0.0 0.0 0.0
17> SEN 92.0 DB
18> BUT 3000.0 3 LOWPASS
19> !
20> DRIVER 1
21> Woofer
22> SOUND PRESSURE
23> SEN 92.0 DB
24> SVB 33.8 0.261 4.0 1.5 7.0
25> MPE 580.0 3.993 -1.145 DB
26> MPE 2000.0 1.910 2.625 DB
27> BUT 4350.0 4 LOWPASS
28> IMPEDANCE
29> IVB 33.8 6.10 0.00722 0.701 0.01317 0.690 6.127 0.273
30> MPE 420.0 4.23 1.203 LINEAR

CALSOD 3.10 and CALSOD 1.40 User's Manual – 215


Description of WOOFERF.C14 data file

The WOOFERF.C14 data file was created by combining the impedance and sound pressure response models
from the WOOFER.IMP and WOOFERS.C14 files. The experimental data points were removed, and the
CIRCUIT and TARGET SPL modules were modified to include the filter network and third-order
Butterworth lowpass filter target response.

Line 01–07 These lines contain some comments that describe the data contained in the file.

Line 08 The CIRCUIT module header signifies the start of the data that defines the filter network.

Line 09–12 The IND, CAP and RES submodules specify the values of inductor L1, capacitors C1 and C2,
and resistor R1. All four components are allowed to vary during the optimization process. Note
that the series resistance of the inductor is assumed to be zero.

Line 13 The SPK submodule specifies the connection of the woofer shown in the circuit diagram
above. The woofer is connected with positive polarity, and the geometric location of the woofer
is specified as (X,Y,Z) = (0,0,0).

Line 14 Comment line used for text spacing purposes.

Line 15 The TARGET SPL module header signifies the start of the data that defines the target sound
pressure response.

Line 16 This XYZ submodule specifies the (X,Y,Z) coordinates where the sound pressure response of
the woofer will be monitored. By setting (X,Y,Z) = (0,0,0) the program will neglect the effects
of path length differences when calculating the sound pressure response of the woofer/filter
combination.

Line 17 This SEN submodule defines a reference sensitivity for the target function. The sensitivity is
set to what is thought to be an achievable value for the woofer/tweeter combination.

Line 18 This BUT submodule defines the target response as being a third-order Butterworth lowpass
response function. The crossover frequency is assumed to be 3 kHz.

Line 19 Comment line used for text spacing purposes.

Line 20–30 Transfer function approximations of the woofer sound pressure and impedance response. They
are copies of those developed in the WOOFERS.C14 and WOOFER.IMP data files, but
modified to include the vented-box low-frequency alignment.

Initial tweeter filter components

The circuit topology and node numbering convention for the tweeter filter network is shown below.

┌──┐ ┌──┐
1─┤C1├───2───┤R1├─────3
└──┘ │ └──┘ │+ Inductor L1 = 0.83E-03 H
┌─┴─┐ ┌───┴───┐
│L1 │ │TWEETER│ Capacitor C1 = 3.40E-06 F
└─┬─┘ └───┬───┘
│ │- Resistor R1 = 3.00 ohms
0────────┴────────────┘

In the vicinity of the specified 3 kHz cutoff frequency, the impedance of the tweeter is quite flat and has a
value of about 8 ohms. The voice-coil inductance has little effect, so we will not include an impedance
equalization network in the circuit.

216 – CALSOD 3.10 and CALSOD 1.40 User's Manual


The peak in the sound pressure response at 15 kHz is about 3 dB higher than the specified passband level of
the target highpass filter function, so we will add a resistor in series with the tweeter to provide some degree
of attenuation. The value of this resistor is R1 = 3 ohms, which should give about 2.5 dB of attenuation.

It should be recognized that adding the series resistor will alter the Q values of the Thiele-Small parameters
used to define the low-frequency performance of the tweeter. But since the resonance of the tweeter occurs
well below the specified 3 kHz cutoff frequency of the highpass filter, it is anticipated that this should have
a negligible effect on the overall response. However, the fact that the accuracy of the simulation may be
compromised should be kept in mind during the analysis. In any case, it is possible to modify the models to
reflect these changes, and reoptimize the system.

Using the filter formulas for a second-order Butterworth highpass filter presented in a previous section, we
have that Rhi = 3+8 = 11 ohms, the sum of R1 and the magnitude of the tweeter impedance in the vicinity of
3 kHz, and f = 3000 Hz. Hence the remaining component values C1 and L1 are given by:

0.1125 0.2251 Rhi


C1 = ────── = 3.40E-06 F L1 = ────────── = 0.83E-03 H
Rhi f f

Data file for optimization of tweeter filter

The following is a listing of the data file TWEETERF.C14 which is used as a trial design for the
optimization of the component values of the tweeter’s filter network.

01> ! -----------------------------------------
02> ! DATA FILE FOR TWEETER WITH A FILTER ADDED
03> ! -----------------------------------------
04> !
05> ! Optimizer frequency range: 1.5 kHz to 20 kHz
06> ! Optimizer subintervals : 10
07> !
08> CIRCUIT
09> CAP 3.40E-6 1 2 VARIABLE
10> IND 0.83E-3 0 2 0.0 VARIABLE
11> RES 3.00 2 3 VARIABLE
12> SPK 1 0 3 0.0 0.0 0.0 POSITIVE
13> !
14> TARGET SPL
15> XYZ 0.0 0.0 0.0
16> SEN 92.0 DB
17> BUT 3000.0 3 HIGHPASS
18> !
19> DRIVER 1
20> Tweeter
21> SOUND PRESSURE
22> SEN 90.0 DB
23> HLR 532.5 0.0 3.14 0.43 0.0
24> MPE 1200.00 2.219 1.013 DB
25> MPE 3500.00 6.336 2.149 DB
26> MPE 6000.00 2.131 -2.160 DB
27> MPE 9000.00 4.774 1.834 DB
28> MPE 12000.00 0.548 0.879 DB
29> MPE 16000.00 4.666 4.304 DB
30> BUT 19000.0 4 LOWPASS
31> IMPEDANCE
32> IMP 532.5 6.10 34.80 3.147E-3 0.5749 8.898E-4 0.7063 0.537
33> MPE 2000.0 4.6782 1.2545 LINEAR
34> MPE 4000.0 1.6142 1.0788 LINEAR
35> MPE 16000.0 9.2615 1.1476 LINEAR

CALSOD 3.10 and CALSOD 1.40 User's Manual – 217


Description of TWEETERF.C14 data file

The following is a description of the major features of the data file TWEETERF.C14, whose listing was
shown above. This data file was created by combining the impedance and sound pressure response data
found in the TWEETERI.C14 and TWEETERS.C14 data files. The experimental data points were removed,
and the CIRCUIT and TARGET SPL modules were modified to include the filter network and third-order
Butterworth highpass filter target response.

Line 01–07 These lines contain some comments that describe the data contained in the file.

Line 08 The CIRCUIT module header signifies the start of the data that defines the filter network.

Line 09–11 The CAP, IND and RES submodules specify the values of capacitor C1, inductor L1 and
resistor R1 shown in the circuit diagram above. All three components are allowed to vary
during the optimization process. Note that it has been assumed that the series resistance of the
inductor is zero.

Line 12 The SPK submodule specifies the connection of the tweeter shown in the circuit diagram
above. The tweeter is connected with positive polarity, and the location of the tweeter is
specified as (X,Y,Z) = (0,0,0).

Line 13 Comment line used for text spacing purposes.

Line 14 The TARGET SPL module header signifies the start of the data that defines the target sound
pressure response.

Line 15 This XYZ submodule specifies the (X,Y,Z) coordinates where the sound pressure response of
the tweeter will be monitored. By setting (X,Y,Z) = (0,0,0) the program will neglect the effects
of path length differences when calculating the sound pressure response of the tweeter/filter
combination.

Line 16 This SEN submodule defines a reference sensitivity for the target function. The sensitivity is
set to what is thought to be an achievable value for the woofer/tweeter combination.

Line 17 This BUT submodule defines the target response as being a third-order Butterworth highpass
response function. The crossover frequency is assumed to be 3 kHz.

Line 18 Comment line used for text spacing purposes.

Line 19–35 These lines define the transfer function approximations of the tweeter sound pressure and
impedance response. They are simply a copy of the definitions developed in the
TWEETERS.C14 and TWEETERI.C14 data files.

218 – CALSOD 3.10 and CALSOD 1.40 User's Manual


OPTIMIZING THE WOOFER
LOWPASS AND TWEETER
HIGHPASS FILTERS

The next stage of the analysis process consists of individually optimizing the woofer and tweeter filter
networks. The data files WOOFERF.C14 and TWEETERF.C14 that were described above contain trial
filter networks whose component values will be used to begin the optimization procedure. We begin by
optimizing the lowpass filter connected to the woofer.

Woofer filter – reading in the WOOFERF.C14 data file

In order to carry out the analysis of the woofer filter network, start CALSOD as described elsewhere in this
manual. When the main menu appears, select the option which allows you to read in a data file, and type in
the name of the data file which is WOOFERF.C14. You may need to have previously selected the option
which allows you to redefine the directory path where the file WOOFERF.C14 resides.

Once WOOFERF.C14 has been read in, answer “N” to the question which asks whether or not to calculate
the system transfer functions. Before we proceed we wish to change some parameters that will affect the
optimizer, so there is no point in calculating the system response functions now, only to have to recalculate
them a little later.

Woofer filter – setting up for analysis and plotting

When the main menu reappears, select the option which allows you to redefine the frequency range and the
number of subintervals used in the optimization. A new menu appears, and now select the option which will
display the current set-up for the various parameters which are involved in the optimization process. Once
you have read all the information, press any key to return to the frequency range and iteration parameters
menu.

Now select the option which enables you to change the lower and upper frequency limits for the
optimization. The lower frequency limit is chosen to be 250 Hz since the desired filter response function for
the woofer is relatively flat at this point. A higher limit could have been chosen, but we wish the optimizer
to take into account a wide frequency range so that the dip at 580 Hz will not become larger. The upper
frequency limit is chosen to be 6 kHz since by this point the target response in the stopband is about 20 dB
below the level in the passband. In the chosen frequency range, any deviations from the target response will
have a noticeable effect on the combined response of the woofer/tweeter combination. Therefore, you
should choose to carry out the optimization over this frequency range.

After making these changes, select the option which enables you to change the number of subintervals into
which the previously specified frequency interval will be subdivided. Input 20 as the selected number of
subintervals, remembering that we need more frequency points than there are variable components in the
optimization. Since we have a relatively wide frequency range (250 Hz to 6 kHz), 20 points should give a
reasonable frequency resolution for the optimizer to work with.

In order to return to the main menu, press the Esc key. Answer “Y” to the question which asks whether or
not to recalculate the system transfer functions.

To display the sound pressure response plots on suitable frequency and amplitude scales it is necessary to
alter a number of the plotting parameters. From the main menu select the option which allows you to define

CALSOD 3.10 and CALSOD 1.40 User's Manual – 219


new plotting parameters. Set the lower amplitude limit for sound pressure plots to 75 dB, and the upper limit
to 100 dB. If they are already set to these values then simply pressing the Enter key at each prompt will
leave the values unchanged. If you wish to you can also alter the current default values for the number of
minor and major tick marks which are drawn along the vertical sound pressure level axis.

It now only remains to select a suitable frequency range for plotting out the data on the screen. For this
example you can set the lower and upper frequency limits for plotting to be 20 Hz and 20 kHz.

Woofer filter – sound pressure response plots

We can now take a look at the difference between the target acoustic sound pressure response and the
response achieved by our trial filter design. Select the option from the main menu which allows you to view
plots of a chosen set of responses. A submenu appears, from which you can select the code letters for the
responses that you wish to have plotted on the screen. You should select the code letters that allow you to
view the filtered response of the driver and the target response.

When you have finished looking at the plots, press the Esc key and you will be returned to the menu that
enables you to choose plots once again. If desired, you may explore the other plots that are available by
selecting the new combination of plots that you want to display. Note that it is not possible to superimpose
impedance plots on sound pressure response plots. In order to return to the main menu you must press the
Esc key.

Woofer filter – displaying circuit definition

We are now ready to begin the optimization process. However, before we go on, it is worthwhile taking a
look at the display of component values. In order to do this, select the option in the main menu which allows
you to inspect the component values on the screen. Note that there are other options that allow you to send
this listing to the printer or to a disk file. Once you have viewed the data, press any key to return to the main
menu.

Woofer filter – starting the optimization process

In order to begin the optimization process, select the appropriate option from the main menu. A submenu
appears, and you should select the option that allows you to optimize the circuit components in order to
match the target sound pressure function. A new display will appear that contains data relevant to the
optimization being carried out. Pay particular attention to the display column which shows the minimum
residual error that has been achieved. You will notice that the current error and the minimum error fluctuate
somewhat during the optimization process. If it is evident that the error is not improving very much from
one iteration to the next, and the number of iterations is significant (say ten or more), it may be necessary to
manually terminate the optimization procedure. During the optimization of the woofer/filter combination
there will be little improvement in the minimum error after about 15 iterations, so you can manually
terminate the procedure once this number of iterations has been exceeded. This can be accomplished by
pressing the Esc key.

Stopping the optimization process using manual means is a common occurrence when analyzing real
driver/filter combinations. It is particularly necessary when the target value for the minimum residual error
has been set at an unattainably low value. However, it is worthwhile keeping in mind that on some occasions
the optimization process may converge slowly to a local minimum. Hence you should pay attention to the
behaviour of the residual error values in order to avoid stopping the optimization prematurely. On the other
hand, the optimization will sometimes get into a loop where it cycles through the same two or three values
of the residual error without any improvement in the minimum error.

Under these circumstances it is necessary for you to manually stop the optimization procedure, otherwise it
will continue to loop indefinitely. Once you have manually stopped the optimization of the woofer/filter

220 – CALSOD 3.10 and CALSOD 1.40 User's Manual


combination, the program will automatically recalculate all the necessary system transfer functions and the
main menu will reappear.

Woofer filter – displaying the optimized sound pressure

In order to compare the optimized sound pressure response to the target response, select the option which
allows you to plot the results. A new submenu appears, from which you should select the target response
and resultant sound pressure response. Note that for a system composed of a single driver and filter
combination the driver/filter response and the total sound pressure response are one and the same.

Figure 26 shows a comparison of the target and resultant sound pressure responses before the optimization,
and Figure 27 shows the same comparison after the optimization. The plots on the screen should be very
similar. You can see that the optimization has succeeded quite well in achieving the desired target response.
There is still a small degree of error, which is due to the steep rolloff of the woofer’s high-frequency
response.

Figure 26: Target and resultant sound pressure responses for the woofer/filter combination before
optimization.

Figure 27: Target and resultant sound pressure responses for the woofer/filter combination after
optimization.

If we inspect the phase response of the woofer/filter combination and compare it to the phase response of
the target transfer function, it is evident that at 3 kHz the phase of –167° is somewhat different from the
phase of –135° that would be present if the response was exactly that of a third-order Butterworth lowpass
filter. This difference represents an additional phase shift of –32°, which approximately corresponds to the
extra 6 dB/octave (or thereabouts) of rolloff that is present in the woofer/filter combination well beyond the

CALSOD 3.10 and CALSOD 1.40 User's Manual – 221


nominal cutoff frequency of 3 kHz. As a result, the errors in phase extend over a wide frequency range near
and beyond the cutoff frequency. The effects of this will become apparent when the combination of woofer
and tweeter is analyzed later on.

Woofer filter – initial and optimized component values

The table below compares the values of the circuit elements both before and after the optimization. It is
clear that the optimization has significantly varied most of the initial component values in order to achieve
the desired target response.

It is interesting to note that the capacitor C1 has taken on a very small value, effectively creating an open
circuit in the audio frequency range. The optimization indicates that this component should be removed
from the circuit topology since it does not contribute significantly to the response of the crossover network.

┌─────────┬───────────┬───────────┐
│ Woofer │ Initial │ Optimized │
│ Filter │ Value │ Value │
├─────────┼───────────┼───────────┤
│ L1 H │ 0.46E-03 │ 0.43E-03 │
│ C1 F │ 6.10E-06 │ 6.10E-16 │
│ R1 ohm │ 6.10 │ 8.40 │
│ C2 F │ 17.80E-06 │ 31.97E-06 │
└─────────┴───────────┴───────────┘

The user must keep in mind that the optimized component values presented in the above and
similar tables are meant only to be indicative of the values that will be obtained while
working through the various tutorial examples. From time to time, changes are made to the
optimization algorithm in order to improve its convergence properties, and these
modifications may often result in optimized component values that differ somewhat from
those that are tabulated in this user’s manual. This is not to be taken as being cause for any
alarm, as the optimizer is still working correctly. In general, perturbation of the component
values from their nominal optimized values will often only result in very minor changes to
the filtered response functions.

Tweeter filter – reading in the TWEETERF.C14 data file

In order to carry out the analysis of the tweeter filter network, we will apply much the same sequence of
commands as for the woofer. If you have not gone through the description of the optimization of the woofer
filter network then please do so. The descriptions of the operation of CALSOD provided in that section are
more complete than the ones that will be given here, and it is assumed that you are familiar with the
previous material.

If you are not still working under CALSOD then simply start CALSOD as described elsewhere in this
manual. If you are still running CALSOD then you may continue the analysis of the new data file without
having to exit CALSOD.

When you see the main menu, select the option which allows you to read in a data file, and type in the name
of the new data file which is TWEETERF.C14. You may find it necessary to have previously selected the
option which allows you to redefine the directory path where the file TWEETERF.C14 resides. Once
TWEETERF.C14 has been read in, answer “N” to the question which asks whether or not to calculate the
system transfer functions.

Tweeter filter – setting up analysis parameters

When the main menu reappears, select the option which allows you to redefine the frequency range and the
number of subintervals used in the optimization.

222 – CALSOD 3.10 and CALSOD 1.40 User's Manual


When the frequency range and iteration parameters menu appears select the option which enables you to
change the lower and upper frequency limits for the optimization. The lower frequency limit is chosen to be
1.5 kHz since by this point the target response for the tweeter is about 20 dB below the level in the
passband. The upper frequency limit is chosen to be 20 kHz. This range is chosen since it is anticipated that
the filter network will have a significant effect on the filtered response of the tweeter in this region.

Note that the upper frequency limit is well outside the frequency band where the overlap of the woofer and
tweeter response functions would have any effect on the summed acoustic response. A lower frequency
could have been chosen as the upper limit, say 10 kHz, but instead it was set to 20 kHz in order to permit the
optimization process to have some effect on the high-frequency peak that is present in the tweeter sound
pressure response.

After the frequency range and iteration parameters menu reappears, select the option which enables you to
change the number of subintervals into which the previously specified frequency interval will be subdivided.
Input 10 as the selected number of subintervals.

In order to return to the main menu, press the Esc key. Answer “Y” to the question which asks whether or
not to recalculate the system transfer functions. There will be a short delay while they are calculated, and
then the main menu reappears.

If you like, you can inspect the component values or plot the graphs of the target and unoptimized filtered
responses. The sequences of commands to achieve this were described in the section dealing with the
optimization of the woofer filter.

Tweeter filter – carrying out the optimization

To begin the optimization process, select the appropriate option from the main menu. A new display appears
and it contains data relevant to the optimization being carried out. Pay particular attention to the display
column which shows the minimum residual error that has been achieved. You will notice that the current
error and the minimum error fluctuate during the optimization process. Once about 6 iterations have been
carried out it will be evident that the minimum error is not improving. In fact, the iteration process has
locked on to a local minimum and it will keep on looping indefinitely. It is therefore necessary to manually
terminate the optimization procedure by pressing the Esc key. CALSOD automatically recalculates all the
system transfer functions and the main menu eventually reappears.

Tweeter filter – displaying the optimized sound pressure

In order to compare the optimized sound pressure response to the target response, select the option which
allows you to plot the results. A new submenu appears, from which you should select the target response
and resultant sound pressure response.

Figure 28 shows a comparison of the target and resultant sound pressure responses for the tweeter/filter
combination before optimization, and Figure 29 shows the results after optimization. The plots that you see
on the screen should be similar to these. It is clear that the optimization has succeeded very well in
achieving the desired magnitude for the target response, although the lowest residual error is greater than
what was achieved for the woofer/filter combination.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 223


Figure 28: Target and resultant sound pressure responses for the tweeter/filter combination before
optimization.

Figure 29: Target and resultant sound pressure responses for the tweeter/filter after optimization.

If we inspect the phase response of the tweeter/filter combination and compare it to the phase response of
the target transfer function, it is evident that at 3 kHz the phase of +118° is only moderately different from
the phase of +135° that would be present if the response was exactly that of a third-order Butterworth
highpass filter. In general, in the crossover region there is a good match between the actual and target phase
responses, although above about 4 kHz it gets progressively worse, due to the effects of the driver’s natural
high-frequency rolloff.

Tweeter filter – initial and optimized component values

The table below compares the values of the circuit elements both before and after the optimization. It can be
seen that the optimization has significantly varied all the component values in order to achieve the desired
target response.

┌─────────┬───────────┬───────────┐
│ Tweeter │ Initial │ Optimized │
│ Filter │ Value │ Value │
├─────────┼───────────┼───────────┤
│ C1 F │ 3.40E-06 │ 6.19E-06 │
│ L1 H │ 0.83E-03 │ 0.29E-03 │
│ R1 ohm │ 3.00 │ 0.34 │
└─────────┴───────────┴───────────┘

224 – CALSOD 3.10 and CALSOD 1.40 User's Manual


OPTIMIZING A CROSSOVER
NETWORK FOR A
TWO-WAY SYSTEM

The next stage of the analysis involves optimizing the summed acoustic output of the woofer and tweeter
when they are combined to form a two-way loudspeaker system. The previously optimized filter networks
are combined in one data file and become the trial crossover network design for the two-way system.

In order to carry out the analysis of the crossover network for the two-way system, we will carry out much
the same sequence of commands as for the previous analyses of the woofer and tweeter. If you have not
studied the description of the individual optimization of the woofer and tweeter filter networks then please
do so. The descriptions of the operation of CALSOD provided in those sections are more complete than the
one that will be given here, and it is assumed that you are familiar with the previous material.

Circuit topology and data file for two-way system

The circuit topology and node numbering convention for the crossover network for the two-way system
made up of the woofer and tweeter is as shown below.

┌──┐
1─┬──┤L1├──────2───────┐
│ └──┘ ┌─┴─┐ │
│ │R1 │ │+ Inductor L1 = 0.43E-03 H
│ └─┬─┘ ┌──┴───┐
│ 3 │WOOFER│ Capacitor C1 = 31.97E-06 F
│ ┌─┴─┐ └──┬───┘
│ │C1 │ │- Resistor R1 = 8.40 ohms
│ └─┬─┘ │
│ 0────────┴───────┘

│ ┌──┐ ┌──┐
└──┤C2├──4──┤R2├─────5
└──┘ │ └──┘ │+ Inductor L2 = 0.29E-03 H
┌─┴─┐ ┌───┴───┐
│L2 │ │TWEETER│ Capacitor C2 = 6.19E-06 F
└─┬─┘ └───┬───┘
│ │- Resistor R2 = 0.34 ohms
0──────────┴───────────┘

The following is a listing of the data file TWOWAY.C14 which is used as a trial design for the optimization
of the crossover network for the two-way loudspeaker system. The data file was created by combining the
transfer function models for the woofer and tweeter (see the data files WOOFERF.C14 and
TWEETERF.C14) and defining new CIRCUIT and TARGET SPL modules.

01> ! ------------------------------
02> ! DATA FILE FOR A TWO-WAY SYSTEM
03> ! ------------------------------
04> !
05> ! Frequency range: 1 kHz to 20 kHz
06> ! Subintervals : 20
07> !
08> CIRCUIT
09> !
10> ! Filter network for the woofer
11> !
12> IND 0.43E-3 1 2 0.0 VARIABLE

CALSOD 3.10 and CALSOD 1.40 User's Manual – 225


13> RES 8.40 2 3 VARIABLE
14> CAP 31.97E-6 0 3 VARIABLE
15> SPK 1 0 2 0 0 0 POSITIVE
16> !
17> ! Filter network for the tweeter
18> !
19> CAP 6.19E-6 1 4 VARIABLE
20> IND 0.29E-3 0 4 0.0 VARIABLE
21> RES 0.34 4 5 VARIABLE
22> SPK 2 0 5 0 0 0 POSITIVE
23> !
24> TARGET SPL
25> XYZ 0.0 0.0 0.0
26> SEN 92.0 DB
27> !
28> DRIVER 1
29> Woofer
30> SOUND PRESSURE
31> SEN 92.0 DB
32> SVB 33.8 0.261 4.0 1.5 7.0
33> MPE 580.0 3.993 -1.145 DB
34> MPE 2000.0 1.910 2.625 DB
35> BUT 4350.0 4 LOWPASS
36> IMPEDANCE
37> IVB 33.8 6.10 0.00722 0.701 0.01317 0.690 6.127 0.273 4.0 1.5 7.0
38> MPE 420.0 4.23 1.203 LINEAR
39> !
40> DRIVER 2
41> Tweeter
42> SOUND PRESSURE
43> SEN 90.0 DB
44> HLR 532.5 0.0 3.14 0.43 0.0
45> MPE 1200.0 2.219 1.013 DB
46> MPE 3500.0 6.336 2.149 DB
47> MPE 6000.0 2.131 -2.160 DB
48> MPE 9000.0 4.774 1.834 DB
49> MPE 12000.0 0.548 0.879 DB
50> MPE 16000.0 4.666 4.304 DB
51> BUT 19000.0 4 LOWPASS
52> IMPEDANCE
53> IMP 532.5 6.10 34.80 3.147E-3 0.5749 8.898E-4 0.7063 0.537
54> MPE 2000.0 4.6782 1.255 LINEAR
55> MPE 4000.0 1.6142 1.079 LINEAR
56> MPE 16000.0 9.2615 1.148 LINEAR

Description of TWOWAY.C14 data file

The following is a description of the major features of the data file TWOWAY.C14 which is shown above.

Line 01–07 These lines contain some comments that describe the data contained in the file.

Line 08 The CIRCUIT module header signifies the start of the data that defines the crossover network.

Line 12–14 The IND, RES and CAP submodules specify the values of inductor L1, resistor R1 and
capacitor C1 shown in the circuit diagram above. These three components make up the filter
network acting on the woofer, and all the components are allowed to vary during the
optimization process.

Line 15 This SPK submodule specifies the connection of the woofer shown in the circuit diagram
above. The woofer is connected with positive polarity, and the geometric location of the woofer
is specified as (X,Y,Z) = (0,0,0).

226 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Line 19–21 The CAP, IND and RES submodules specify the values of capacitor C2, inductor L2 and
resistor R2 shown in the circuit diagram above. These three components make up the filter
network acting on the tweeter, and all the components are allowed to vary during the
optimization process.

Line 22 This SPK submodule specifies the connection of the tweeter shown in the circuit diagram
above. The tweeter is connected with positive polarity, and the geometric location of the
tweeter is specified as (X,Y,Z) = (0,0,0).

Line 24 The TARGET SPL module header signifies the start of the data that defines the target sound
pressure response.

Line 25 This XYZ submodule specifies the (X,Y,Z) coordinates where the summed acoustic sound
pressure response of the tweeter and woofer will be monitored. By setting (X,Y,Z) = (0,0,0) the
program will neglect the effects of path length differences when calculating the summed
acoustic sound pressure response.

Line 26 This SEN submodule defines a reference sensitivity for the target function, which is set to what
is thought to be an achievable value for the woofer/tweeter combination. Since no other
response functions are specified, the target response is simply a flat response characteristic.

Line 28–38 These lines define the woofer sound pressure and impedance response functions. They are a
copy of the definitions developed in the WOOFER.IMP and WOOFERS.C14 data files. Note
that the vented-box low-frequency alignment is used. The driver code number for the woofer is
1, and this is referred to in the CIRCUIT module (see line 15).

Line 40–56 These lines define the tweeter sound pressure and impedance response functions. They are a
copy of the definitions developed in the TWEETERI.C14 and TWEETERS.C14 data files. The
driver code number for the tweeter is 2, and this is referred to in the CIRCUIT module (see line
22).

Reading in the TWOWAY.C14 data file

From CALSOD’s main menu, select the option which allows you to read in a data file, and type in the name
of the data file (TWOWAY.C14). Once TWOWAY.C14 has been read in, answer “N” to the question which
asks whether or not to calculate the system transfer functions. When the main menu reappears, select the
option which allows you to redefine the frequency limits and the number of subintervals used in the
optimization.

Setting up analysis parameters

Now select the option which enables you to change the lower and upper frequency limits for the
optimization. The lower frequency limit is set to 1 kHz, and the upper frequency limit is set to 20 kHz. This
range is chosen since it is anticipated that the crossover network will have a significant effect on the
summed acoustic response in this region. Although the lower frequency limit is the same as that used during
the optimization of the woofer and tweeter filter networks, this need not always be the case.

As mentioned previously during the description of the optimization of the tweeter filter network, the upper
frequency limit is well outside the frequency band where the overlap of the filtered woofer and tweeter
sound pressure response functions would have any effect on the summed acoustic response. A lower
frequency could have been chosen as the upper limit, say 10 kHz, but instead it has been set to 20 kHz in
order to permit the optimization process to have some effect on the high-frequency peak that is present in
the tweeter response.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 227


After making these changes to the frequency range, select the option which allows you to change the number
of subintervals into which the previously specified frequency interval will be subdivided. Input 20 as the
selected number of subintervals. We will use 20 rather than 10 subintervals since we now have more
variable components than in the optimizations of the individual filter networks for the woofer and tweeter.
Also, using a greater number of subintervals will result in plots that have a higher resolution over the
frequency range of interest.

In order to return to the main menu, press the Esc key. Answer “Y” to the question which asks whether or
not to recalculate the system transfer functions.

Sound pressure response plots

It is instructive to take a look at the difference between the target acoustic sound pressure response and the
response achieved by our trial crossover design. Note that you may need to change the current default
plotting scales before any plots are displayed. In order to see the plots, select the option from the main menu
which allows you to view plots of a chosen set of responses. When the submenu appears, you can select the
code letters for the responses that you wish to have plotted on the screen. Select the code letters that allow
you to view the total acoustic sound pressure response of the two-way system, the filtered sound pressure
responses of the woofer and tweeter, and the target response.

Figure 30 shows a comparison of the target and resultant sound pressure responses for the two-way
loudspeaker system before the optimization has taken place, together with the filtered responses of the
woofer and tweeter. The plot that you see on the screen should be similar to the one shown in Figure 30.
From Figure 30 it is clear that, in the region where the filtered responses of the woofer and tweeter overlap,
the summed acoustic response is somewhat higher than the target response. However, the summed response
is no more than +3 dB in error relative to the 92 dB target response, which is still a reasonable result. Figure
31 shows the summed response of the two-way system over the full frequency range, and Figure 32 shows
the overall input impedance.

Figure 30: Target and summed sound pressure responses for the two-way loudspeaker system
before the optimization, together with the filtered responses of the woofer and tweeter.

228 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 31: Sound pressure response simulated across the full frequency range for the two-way
loudspeaker system before the optimization.

Figure 32: Impedance response simulated across the full frequency range for the two-way
loudspeaker system before the optimization.

As mentioned earlier during the optimization of the woofer filter network, the filtered response of the
woofer has a higher rate of rolloff than the specified 18 dB/octave for a third-order Butterworth filter
response. This introduces additional phase shift, which causes the filtered responses of the woofer and
tweeter to sum incorrectly, even though both are 3 dB below the target level of 92 dB at the specified
crossover frequency of 3 kHz.

When you have finished looking at the plots, press the Esc key twice in order to return to the main menu.

Starting the optimization process

In order to begin the optimization process, select the appropriate option from the main menu. A new display
appears and it contains data relevant to the optimization being carried out. Pay particular attention to the
display column which shows the minimum residual error that has been achieved. You will notice that the
current error and the minimum error fluctuate during the optimization process. After about 14 iterations
have been carried out, it will be evident that the minimum error is not improving significantly with each
iteration. It is therefore necessary to manually terminate the optimization procedure.

After you have manually stopped the optimization of the crossover network for the two-way system,
CALSOD automatically recalculates all the system transfer functions and the main menu eventually
reappears.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 229


Plotting the optimized sound pressure response

In order to compare the optimized sound pressure response to the target response, and to see the filtered
responses of the woofer and tweeter, select the option in the main menu which allows you to plot the results.
A new submenu appears, from which you should select to plot the target response, the resultant total sound
pressure response, and the filtered responses of the woofer and tweeter.

Figure 33 shows a comparison of the target and resultant sound pressure response for the two-way
loudspeaker system after the optimization, and Figure 34 shows the filtered sound pressure responses of the
woofer and tweeter. The plots that you see on the screen should be similar to these. The crossover frequency
has been shifted to about 3.5 kHz, and the filtered responses of the woofer and tweeter are both 3 dB below
the target sound pressure level of 92 dB. The phase difference between the filtered sound pressure response
of the drivers is about 85°. In the frequency range from 1 kHz to 10 kHz the summed acoustic response
satisfies ±1 dB limits, which is an excellent result.

Figure 33: Target and summed sound pressure responses for the two-way loudspeaker system after
the optimization.

Figure 34: Filter voltage responses of the woofer and tweeter filters for the two-way loudspeaker
system after the optimization.

Comparison of initial and optimized component values

The table below compares the values of the circuit elements both before and after the optimization. It can be
seen that the optimization has significantly varied all the component values in order to achieve as close
agreement with the desired target response as was possible.

230 – CALSOD 3.10 and CALSOD 1.40 User's Manual


┌───────────┬───────────┬───────────┐
│ Circuit │ Initial │ Optimized │
│ Component │ Value │ Value │
┌─────────┼───────────┼───────────┼───────────┤
│ Woofer │ L1 H │ 0.43E-03 │ 0.45E-03 │
│ Filter │ R1 ohm │ 8.40 │ 93.74 │
│ Network │ C1 F │ 31.97E-06 │ 2.72E-06 │
├─────────┼───────────┼───────────┼───────────┤
│ Tweeter │ C2 F │ 6.19E-06 │ 5.06E-06 │
│ Filter │ L2 H │ 0.29E-03 │ 0.25E-03 │
│ Network │ R2 ohm │ 0.34 │ 1.25 │
└─────────┴───────────┴───────────┴───────────┘

Comments on optimizing the summed response

The results of the above optimization process are an excellent example of the effectiveness of the technique
used to optimize the summed response of multiway loudspeaker systems. However, it should be borne in
mind that on some occasions this approach may produce a design that is not of such high quality. Although
an initial trial solution must be supplied, the method used does not require that a crossover frequency be
explicitly defined before the optimization takes place. As a result, the optimized design may prove more
optimal than if prior constraints had been placed on the choice of crossover frequency.

However, because no constraints are placed on the optimization process, other than those defined by the
crossover circuit topology that has been adopted, there is a risk that magnitude flatness will be achieved at
the expense of:

1. undesirable driver phase relationships,

2. inadequate filter rolloff rates,

3. unsuitable crossover frequencies, or

4. a minimum input impedance that is too low.

If the above features are present in a design, then this can lead to possible driver operation outside design
limits, cause unacceptable polar behaviour, or make the loudspeaker system a difficult load for power
amplifiers to drive.

Therefore, each design must be checked to determine the suitability of the optimized solution, and in some
cases it may be necessary to fix the component values of either the lowpass or the highpass filters in each
pair of complementary responses. Application of this technique may prevent undesirable interactions in the
filtered sound pressures of the corresponding drivers when the summed response of the combinations is
optimized.

Inspection of the summed response shown in Figure 30 clearly indicates that even if the filtered magnitude
responses of the low- and high-frequency drivers closely correspond to the desired target responses, the
summed response may still be in error. This results from a combination of magnitude and phase errors in the
vicinity of the crossover frequency. Depending on the type of filter alignment that has been chosen, the
summed response may be particularly sensitive to phase errors in the filtered responses, and this can result
in significant deviations in the summed magnitude response.

For example, a phase error of 30° at the crossover point will result in an error of 2.7 dB in the summed
response for a pair of third-order Butterworth filters, but only 0.3 dB for a pair of fourth-order Linkwitz-
Riley filters. Depending on the rolloff rates of the filters, phase errors can cause deviations to occur over a
relatively broad range of frequencies where the low- and highpass response functions overlap.

The formulation of the optimization problem that CALSOD uses has the advantage that the deviations in the
summed magnitude response caused by phase or magnitude response errors will be reduced during the

CALSOD 3.10 and CALSOD 1.40 User's Manual – 231


optimization. This generally results in a more optimal solution than can be attained using methods that can
only optimize individual drivers. Optimization of the summed response is also beneficial when a particular
rolloff rate and crossover frequency are required. In such cases one part of a low- and highpass filter pair is
optimized separately, and then, with the components of the second part allowed to vary, the summed
response is optimized while the components of the first part are held fixed.

232 – CALSOD 3.10 and CALSOD 1.40 User's Manual


MODIFYING AND OPTIMIZING
TWO-WAY CROSSOVER
NETWORKS

Deleting component values

In the previous example, it is interesting to note that the circuit optimizer produced a very large value for
resistor R1. This suggests that the branch containing resistor R1 and capacitor C1 may possibly be removed
from the circuit with little effect on the resulting response. In particular, after the nodes have been
renumbered in a continuous sequence, we can optimize the crossover circuit with these two components
missing to see whether a flat summed response can be achieved with these two components removed.

The data file TWOWAY2.C14 is the same as TWOWAY.C14, except that components R1 and C1 have
been deleted. When you are in CALSOD, set the number of subintervals to 20, and the low- and high-
frequency limits to 1 kHz and 20 kHz. Then proceed to read in the data file TWOWAY2.C14 and to
calculate the system transfer functions. Once they are calculated, select the optimization option from the
main menu. After the optimizer has carried out about 7 iterations, you should manually stop the optimization
because no major improvement will occur beyond this point.

The table below shows the initial and optimized component values. Note that the inductor in the woofer
filter network L1 has remained unchanged by the optimizer.

┌───────────┬───────────┬───────────┐
│ Circuit │ Initial │ Optimized │
│ Component │ Value │ Value │
┌─────────┼───────────┼───────────┼───────────┤
│ Woofer │ │ │ │
│ Filter │ L1 H │ 0.43E-03 │ 0.43E-03 │
│ Network │ │ │ │
├─────────┼───────────┼───────────┼───────────┤
│ Tweeter │ C2 F │ 6.19E-06 │ 5.20E-06 │
│ Filter │ L2 H │ 0.29E-03 │ 0.24E-03 │
│ Network │ R2 ohm │ 0.34 │ 1.29 │
└─────────┴───────────┴───────────┴───────────┘

The plot in Figure 35 shows the total sound pressure response after optimization, as well as the filtered
sound pressure responses of the woofer and tweeter. Figure 36 shows the optimized results. Once again, a
very good solution has been obtained. Comparing it with the results shown in Figure 33 shows that there is
negligible difference between the two different solutions.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 233


Figure 35: Summed and filtered sound pressure responses after the two-way system was optimized
with the capacitor and resistor removed from the woofer filter network.

Figure 36: Filter voltage responses after the two-way system was optimized with the capacitor and
resistor removed from the woofer filter network.

This example serves to illustrate the point that the optimizer will sometimes choose component values that
result in that component having relatively little influence on the behaviour of the filter network. Deleting
such components and then reoptimizing can be a useful tactic, since the complexity of the circuit is reduced
with little or no effect on the overall performance of the filter network.

Fixing component values

We will now proceed to modify the original data file TWOWAY.C14 by fixing the capacitor and resistor at
their original values. The new trial crossover network will then be optimized and the results compared with
the original optimized component values. The new data file is called TWOWAY3.C14.

When you are in CALSOD, set the number of subintervals to 20, and the low- and high-frequency limits to
1 kHz and 20 kHz. Then proceed to read in the data file TWOWAY3.C14, and once you have calculated the
system transfer functions you should select the optimization option from the main menu. After the optimizer
has performed about 8 iterations, you should manually stop the optimization process because no major
improvement will occur beyond this point.

234 – CALSOD 3.10 and CALSOD 1.40 User's Manual


┌───────────┬───────────┬────────────┬─────────────┐
│ Circuit │ │ TWOWAY.C14 │ TWOWAY3.C14 │
│ Component │ Initial │ Optimized │ Optimized │
│ │ Value │ Value │ Value │
┌─────────┼───────────┼───────────┼────────────┼─────────────┤
│ Woofer │ L1 H │ 0.43E-03 │ 0.45E-03 │ 0.43E-03 │
│ Filter │ R1 ohm │ 8.40 │ 93.74 │ 8.40 │
│ Network │ C1 F │ 31.97E-06 │ 2.72E-06 │ 31.97E-06 │
├─────────┼───────────┼───────────┼────────────┼─────────────┤
│ Tweeter │ C2 F │ 6.19E-06 │ 5.06E-06 │ 4.59E-06 │
│ Filter │ L2 H │ 0.29E-03 │ 0.25E-03 │ 0.24E-03 │
│ Network │ R2 ohm │ 0.34 │ 1.25 │ 1.54 │
└─────────┴───────────┴───────────┴────────────┴─────────────┘

The above table compares the values of the circuit elements obtained for the two different optimizations. It
can be seen that the present optimization has resulted in a set of optimized component values for the woofer
filter that are different to those obtained from the optimization of the original TWOWAY.C14 data file.
However, there has been little change in the component values for the tweeter filter network.

Figure 37 shows the target and resultant sound pressure responses for the two-way loudspeaker system after
the optimization, together with the filtered sound pressure responses of the woofer and tweeter. It is seen
that the summed response is as good as the one shown in Figure 33, which was the result of an optimization
where all components were allowed to vary. Figure 38 shows the optimized woofer and tweeter filter
voltage responses.

Figure 37: Summed and filtered sound pressure responses after the two-way system was optimized
with the capacitor and resistor from the woofer filter network being fixed during the optimization.

Figure 38: Filter voltage responses after the two-way system was optimized with the capacitor and
resistor from the woofer filter network being fixed during the optimization.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 235


Close examination of Figure 37 reveals that both drivers are 5 dB below the target sound pressure level of
92 dB at the 3.5 kHz crossover frequency. Also, the two drivers are not quite in phase at the crossover point,
there still being a small phase difference of about 50°.

This example serves to illustrate the point that a good optimized response can be obtained even though not
all the components are allowed to vary during the optimization process. Fixing of components can be a
useful tactic if one or two components take on very large component values, and we wish to fix them at a
more tolerable size.

Adding parasitic resistances

In the previous designs it has been assumed that all the components act as ideal circuit elements, but in
practice this will not be the case. In general, losses in inductors will introduce a series resistance into the
circuit, and this will disturb the performance of the crossover network, especially if the inductors have large
values and correspondingly high losses.

When optimizing the circuit components it is possible to introduce resistors in series with each inductor,
allowing these resistors to vary during the optimization. However, in many cases the optimization will
reduce these resistors to negligible values which are unrepresentative of their true values in a practical
circuit. To counter this undesirable behaviour, it is possible to assign fixed values to the resistors, but this is
relatively inefficient as the order of the network is increased, leading to longer calculation times to solve the
network equations.

A better approach is to optimize the circuit using inductors without any parasitic resistance. Once the
optimized values have been determined we can use the formula given in the IND submodule to calculate a
value for the DCR parameter for each inductor. A new data file can be created that contains all the values of
the previously optimized components, together with the estimated DCR value for each inductor. One
significant advantage of this approach is that it is unnecessary to define a new circuit network in order to
incorporate the additional resistors.

With the DCR values defined in this manner, the circuit network can then be reoptimized, and in most cases
the values of the components should change only slightly, although this will depend on the sensitivity of the
circuit topology that was adopted. Note that it may be necessary to use the original starting values and not
the optimized ones, because sometimes the optimization procedure will not be able to operate correctly as
the initial solution is too close to the local minimum.

As an example, DCR values will be calculated for the inductor values obtained for the previous optimization
of the TWOWAY.C14 data file. It is assumed that the diameter of the copper wire used to wind the
inductors is d = 1.0 mm. Hence, for inductors L1 and L2 we obtain:

L1 = 0.45E-03 H
1 (1.47 + 0.573×log100.45E-03)
DCR = ──── 10 = 0.36 ohms
1.0²

and

L2 = 0.25E-03 H
1 (1.47 + 0.573×log100.25E-03)
DCR = ──── 10 = 0.25 ohms
1.0²

It is possible to edit the data file TWOWAY2.C14 and insert the appropriate DCR value for each inductor.
The new data file is called TWOWAY4.C14. This new trial crossover network will be optimized and the
results compared with those obtained for the case where the DCR of each inductor was assumed to be zero.

236 – CALSOD 3.10 and CALSOD 1.40 User's Manual


When you are in CALSOD, set the number of subintervals to 20, and the low- and high-frequency limits to
1 kHz and 20 kHz. Then proceed to read in the data file TWOWAY4.C14, and once the system transfer
functions have been calculated you can proceed with the optimization. After about 10 or more iterations
have been carried out, you should manually stop the optimization because no significant improvement will
occur beyond this point.

The table below compares the values of the circuit elements obtained for the optimizations of
TWOWAY.C14 and TWOWAY4.C14. It is interesting to note that the new value of R2 plus the DCR value
for inductor L2 add up to provide an effective series resistance that is approximately equal to the value of
R2 obtained when optimizing TWOWAY.C14.

┌───────────┬─────────────┬─────────────┐
│ Circuit │ TWOWAY.C14 │ TWOWAY4.C14 │
│ Component │ Optimized │ Optimized │
│ │ Value │ Value │
┌─────────┼───────────┼─────────────┼─────────────┤
│ Woofer │ L1 H │ 0.45E-03 │ 0.37E-03 │
│ Filter │ R1 ohm │ 93.74 │ 36.96E-03 │
│ Network │ C1 F │ 2.72E-06 │ 6.60E-06 │
├─────────┼───────────┼─────────────┼─────────────┤
│ Tweeter │ C2 F │ 5.06E-06 │ 5.66E-06 │
│ Filter │ L2 H │ 0.25E-03 │ 0.26E-03 │
│ Network │ R2 ohm │ 1.25 │ 1.02 │
└─────────┴───────────┴─────────────┴─────────────┘

Figure 39 shows the target and resultant sound pressure responses for the two-way loudspeaker system after
the optimization, together with the filtered sound pressure responses of the woofer and tweeter. It is seen
that the responses are as good as those that are shown in Figure 33, which were the result of the previous
optimization where the inductors were assumed to act as ideal components. In fact, it is quite difficult to
spot any difference at all. Figure 40 shows the optimized woofer and tweeter filter voltage responses.

Figure 39: Target and optimized summed response for two-way loudspeaker system with DCR
values of inductors.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 237


Figure 40: Filter voltage responses for optimized for two-way loudspeaker system with DCR
values of inductors included.

In this instance, the added resistance in series with the woofer is quite small, being only about 6% of the
voice-coil dc resistance. This results in a small change in the Qes value for the woofer, and the low-
frequency alignment defined by the SVB and IVB submodules is relatively unaffected, making it
unnecessary to modify the data for these submodules. However, keep in mind that other low-frequency
alignments may be much more sensitive to changes in the Thiele-Small parameters. Particularly if the DCR
values are large, it may be necessary to make some correction to the Thiele-Small parameters to help ensure
the accuracy of the simulation. The new value of Qes may be calculated using the following formula:

(Re + DCR)
(Qes)new = ────────── Qes
Re

This is then combined with the old value of Qms, which remains unchanged, to yield the new Qts value.

It should be noted that the change in Qes will only affect the sound pressure response of the vented-box,
close-box, or passive-radiator low-frequency alignment that you may have specified in the SOUND
PRESSURE section of a DRIVER module. To get the highest accuracy from your simulations, you will need
to edit the SVB, SCB, SBP, or SPR submodule to reflect the new value of Qes and/or Qts. The
corresponding impedance submodules remain unaffected by the change in Qes, as the effects of the DCR are
already included in the network circuit defined in the CIRCUIT module. Because the appropriate changes to
the network voltages and currents are automatically computed by the network equation solver, the overall
effect of the DCR on the system input impedance and driver output will be correctly calculated. It is
therefore unnecessary to modify the sensitivity of the driver, as only the shape of the low-frequency
alignments sound pressure response is modified.

Dealing with noncoincident drivers

In the previous examples it has been assumed that the drivers making up the two-way loudspeaker system
are located such that their acoustic centres are coincident. In reality, the drivers in most high performance
loudspeaker systems are spaced in such a way that the distances from their acoustic centres to the listening
point are different. Depending on the filter characteristics and the degree of noncoincidence, the summed
sound pressure response at the design point can be significantly affected by the time delays caused by the
geometric offsets. Because of the different times taken for sound waves to travel from each loudspeaker to
the listening or design point, sometimes these geometric offsets are referred to as time offsets.

When considering the possible effects of geometric offsets, it is useful to consider the amount of offset
present in terms of fractions of the wavelength that corresponds to the crossover frequency. For example, at
3 kHz a 25 mm offset corresponds to 0.22 of a wavelength, and leads to a phase shift of 78°, which is quite

238 – CALSOD 3.10 and CALSOD 1.40 User's Manual


significant. However, at 300 Hz this distance corresponds to only 0.02 of a wavelength, and leads to an
almost negligible phase shift of 8°. Hence, although the distance is the same in both cases, the parameter of
significance is the offset distance in comparison to the wavelength of sound in the vicinity of the crossover
frequency.

CALSOD permits you to define the geometric locations of the acoustic centres of the drivers on the baffle of
the loudspeaker enclosure. Consequently, by specifying the location of the design point it is possible to
predict the performance of the system with the effects of the geometric offsets included. If desired, an
optimization of the summed response can also be carried out.

As an example, we will proceed to introduce a small geometric offset into the two-way loudspeaker system
defined in the data file TWOWAY.C14. The layout of the two drivers is shown in the diagram below, and is
typical of many woofer/tweeter combinations that are mounted on a flat vertical baffle with their face-plates
coplanar.

Y-axis


+ Tweeter (X,Y,Z) = (0.0,+0.100,0.0)



────────────┼──────────── X-axis
/│
/ │
/ │ + Woofer (X,Y,Z) = (0.0,-0.100,-0.025)
/ │/
/ │
/
+ Design point (X,Y,Z) = (0.0,0.0,2.000)
/
/
Z-axis

Both drivers are assumed to be facing in the positive Z-direction. The design point at which the summed
acoustic output of these two drivers is evaluated corresponds to a point on the Z-axis that is 2 metres from
the origin of the coordinate system.

In order to simulate this system, it is only necessary to make some small modifications to the CIRCUIT and
TARGET SPL submodules defined in the original TWOWAY.C14 data file. The revised versions of these
two submodules are shown below, and the complete data file is called TWOWAY5.C14.

Inspecting the data, you can see that the SPK submodules now define the three-dimensional geometric
positions of the woofer and tweeter. The XYZ submodule defines the location of the design point where the
summed response will be calculated. Also note that the VIN submodule has been used to specify an applied
input voltage that is 6 dB higher than the default input of 2.83 volts. This compensates for the reduction in
sound pressure caused by the 2 metre distance to the design point, allowing the target sensitivity to remain
unchanged, and making adjustment of the plotting scales unnecessary.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 239


CIRCUIT
!
VIN 6.0 DB
!
! Filter network for the woofer
!
IND 0.43E-3 1 2 0.0 VARIABLE
RES 8.40 2 3 VARIABLE
CAP 31.97E-6 0 3 VARIABLE
SPK 1 0 2 0.0 -0.100 -0.025 POSITIVE
!
! Filter network for the tweeter
!
CAP 6.19E-6 1 4 VARIABLE
IND 0.29E-3 0 4 0.0 VARIABLE
RES 0.34 4 5 VARIABLE
SPK 2 0 5 0.0 0.100 0.000 POSITIVE
!
TARGET SPL
XYZ 0.0 0.0 2.0
SEN 92.0 DB

The plot in Figure 41 shows the summed response of the two-way system when the woofer and tweeter are
connected with positive polarity. The summed response is still reasonably smooth, there being only a
relatively small 4 dB peak at about 3.5 kHz. Inspection of the phase response of the woofer and tweeter
indicates that they are now in-phase at the crossover frequency, rather than being 90° out of phase as
required for correct performance of the third-order Butterworth filters.

Figure 41: Summed and filtered responses of the two-way system with a 25 mm horizontal offset
between the acoustic centres of the woofer and tweeter with the woofer and tweeter connected with
same polarity.

We will now investigate the effects of inverting the polarity of the tweeter when it is connected to the
crossover network. You should now read in the file TWOWAY5I.C14, which is the same as
TWOWAY5.SYS except for the use of the NEGATIVE polarity option on the tweeter, and calculate all the
system response functions. When this is done, you can select the plotting option from the main menu. When
the submenu appears, you should select the total summed response, as well as the filtered sound pressure
responses of the woofer and tweeter.

The plot in Figure 42 shows the summed sound pressure response of the two-way system with a 25 mm
horizontal offset between the acoustic centres of the woofer and tweeter, and with the tweeter connected out
of phase. Comparing the response with that shown in Figure 30, which corresponds to the original two-way
system prior to optimization of the summed response, it is apparent that this small amount of offset has had
a considerable adverse affect on the summed response. There is now a significant dip of about 25 dB centred
on the crossover frequency of 3 kHz, and the region of unfavourable interaction is quite large. Inspection of
the phase of the filtered sound pressure response of the woofer and tweeter indicates that they are now

240 – CALSOD 3.10 and CALSOD 1.40 User's Manual


approximately 180° out of phase at the crossover frequency, which leads to the cancellation effect that is so
readily apparent.

Figure 42: Summed and filtered responses of the two-way system with a 25 mm horizontal offset
between the acoustic centres of the woofer and tweeter with the tweeter polarity reversed with
respect to that of the woofer.

How CALSOD computes the phase response

Note that the phase plot does not depict the absolute phase response of the summed response or the filtered
responses of the drivers. In order to ensure that the display is as clear as possible, the time delay
corresponding to the average distance from the two drivers to the design point has been subtracted from the
total time delay. This procedure stops the phase from “wrapping round” unnecessarily, whilst still retaining
all required information concerning the relative phase response of the individual drivers and that of the total
system. For example, at 1 kHz the additional phase shift corresponding to a 1.0 m geometric offset is
approximately 1000°, and this will make phase plots very difficult to interpret unless some additional
processing is carried out.

Y-axis

┬─ + Tweeter
│ │
0.100 m│ │
│ │
┼─ ├────────────────────── + ──────── Z-axis
│ │
0.100 m│ │ Design point
│ │
┴─ + │
Woofer │

├───────┼───────────────────────┤
0.025 m 2.000 m

In the above diagram, which corresponds to the two-way system described in the previous section, the
distance from the acoustic centre of the woofer to the design point is 2.0275 m, and the corresponding
distance for the tweeter is 2.0025 m. Therefore, the average distance from the two drivers to the design point
is Ravg = 2.0150 m, which would lead to a very large time-delay phase shift. Because the actual quantity of
interest is the relative time delay between the output of the woofer and tweeter at the design point, CALSOD
subtracts the average distance to the design point from each of the actual driver distances when calculating
the overall phase response. Using this method, the woofer is set back from the average distance by
0.0125 m, which corresponds to a positive increment of time delay. The tweeter is set forward from the
average distance by 0.0125 m, which corresponds to a negative time delay relative to the average distance
Ravg. It is the phase shifts corresponding to these smaller distance increments that are added to or

CALSOD 3.10 and CALSOD 1.40 User's Manual – 241


subtracted from the inherent phase shift of each driver/filter combination. Of course, CALSOD computes
the magnitude response of each driver at the design point based on the actual distance from the design point.

If desired, it is possible to get CALSOD to display the total phase response with all inter-driver time delays
included. All you need to do is include an APD submodule with a distance or time delay value of zero in the
TARGET SPL module. It is also possible to specify an arbitrary time delay in order to make it easier to
match CALSOD’s simulated results with experimental data. For additional details see the definition of the
APD submodule.

Optimizing the system with noncoincident drivers

In this particular example we will optimize the case where the woofer and tweeter are both connected with
positive polarity, as the smaller phase difference that occurs in this situation allows the optimizer to obtain a
good solution much more easily. If you try to optimize the system with the tweeter connected with reversed
polarity, you will find that the summed response may be reasonable. However, the filtered responses of the
woofer or the tweeter may have a great deal of peaking, and this will preclude the use of these optimized
designs.

When optimizing multiway systems you should pay close attention to the phase differences between drivers
around the crossover frequency. If these differences are large, then you may need to consider reversing the
polarity of one or more drivers in order for the optimizer to achieve a satisfactory solution. This is because
the optimizer can only introduce a limited amount of phase shift by varying the components, whereas any
geometric offsets can cause a much greater degree of phase shift, particularly at high frequencies where the
wavelength of sound is relatively short.

You can now proceed to optimize the summed response of this system comprised of noncoincident drivers.
When you are in CALSOD, set the number of subintervals to 20, and the low- and high-frequency limits to
1 kHz and 20 kHz. After you have read in the data file TWOWAY5.C14 and calculated the system transfer
functions, you can proceed with the optimization. After about 10 iterations have been carried out you should
manually stop the optimization because no major improvement will occur beyond this point.

The table below compares the values of the circuit elements obtained after optimizations of the data files
TWOWAY.C14 and TWOWAY5.C14.

┌───────────┬─────────────┬─────────────┐
│ Circuit │ TWOWAY.C14 │ TWOWAY5.C14 │
│ Component │ Optimized │ Optimized │
│ │ Value │ Value │
┌─────────┼───────────┼─────────────┼─────────────┤
│ Woofer │ L1 H │ 0.45E-03 │ 0.42E-03 │
│ Filter │ R1 ohm │ 93.74 │ 7.12 │
│ Network │ C1 F │ 2.72E-06 │ 42.41E-06 │
├─────────┼───────────┼─────────────┼─────────────┤
│ Tweeter │ C2 F │ 5.06E-06 │ 5.97E-06 │
│ Filter │ L2 H │ 0.25E-03 │ 0.18E-03 │
│ Network │ R2 ohm │ 1.25 │ 1.52 │
└─────────┴───────────┴─────────────┴─────────────┘

Figure 43 shows the target and resultant sound pressure responses for the two-way loudspeaker system with
noncoincident drivers after the optimization, together with the filtered sound pressure responses of the
woofer and tweeter. It is seen that the summed response is as good as that shown in Figure 33.

242 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 43: Target and summed responses for the two-way system with noncoincident drivers after
the optimization, together with the filtered sound pressure responses of the woofer and tweeter.

The plot in Figure 44 reveals that the system input impedance drops to about 2.5 ohms in the vicinity of
5 kHz, which is very low. The bottom plot shows the voltage response of the filter networks across the
terminals of the woofer and tweeter, and the 0 dB reference level (indicating no change relative to the
applied input voltage) corresponds to the target response level of 92 dB.

Figure 44: System input impedance response for the optimized two-way system with noncoincident
drivers after the optimization.

From the plot in Figure 45 we can see that the tweeter filter has a large degree of peaking in its response,
thus equalizing the raw tweeter response to achieve a desirable response characteristic. However, the flat
overall sound pressure response has been achieved at the expense of the input impedance, which might be
considered as being too low, and which has dropped to this low value as a direct result of the response
equalization provided by the tweeter filter network. Also, the tweeter might be judged to be receiving too
much input power for reliable long-term operation.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 243


Figure 45: Filter voltage responses of the filters across the woofer and tweeter terminals for the
optimized two-way system with noncoincident drivers after the optimization.

Although the optimized design may be regarded as being of marginal usefulness, this example still serves as
a good illustration of the design and analysis capabilities of CALSOD. It would be a relatively simple matter
to try alternative crossover topologies to determine whether the desired response could be achieved with
fewer unfavourable aspects affecting the viability of the overall design.

Another approach would be to fix the components in the tweeter filter, allowing only the woofer
components to vary during the optimization (see the file TWOWAY6.C14). This technique allows us to
restrict the behaviour of the overall system input impedance to achieve a more acceptable solution. The
sound presssure responses resulting from just such an optimization are presented in Figure 46. The resulting
input impedance is plotted in Figure 47, while the woofer and tweeter filter voltage responses are shown in
Figure 48. From Figure 47 it is apparent that an improved input impedance has resulted, with a minimum of
about 5 ohms, but the summed sound pressure response is not as smooth as obtained previously (see Figure
43). However, in the frequency range from 1 kHz to 10 kHz the summed response satisfies 92±1.5 dB limits,
which is still a very good result.

Figure 46: Target and summed response obtained after optimizing the two-way system with
noncoincident drivers allowing only the woofer filter components to vary.

244 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 47: System input impedance response for the optimized two-way system with noncoincident
drivers allowing only the woofer filter components to vary.

Figure 48: Filter voltage responses of the filters across the woofer and tweeter terminals for the
optimized two-way system with noncoincident drivers allowing only the woofer filter components
to vary.

The resulting component values are shown in the table below.

┌───────────┬───────────┬─────────────┬─────────────┐
│ Circuit │ │ TWOWAY.C14 │ TWOWAY6.C14 │
│ Component │ Initial │ Optimized │ Optimized │
│ │ Value │ Value │ Value │
┌─────────┼───────────┼───────────┼─────────────┼─────────────┤
│ Woofer │ L1 H │ 0.43E-03 │ 0.45E-03 │ 1.10E-03 │
│ Filter │ R1 ohm │ 8.40 │ 93.74 │ 5.09 │
│ Network │ C1 F │ 31.97E-06 │ 2.72E-06 │ 11.79E-06 │
├─────────┼───────────┼───────────┼─────────────┼─────────────┤
│ Tweeter │ C2 F │ 6.19E-06 │ 5.06E-06 │ 6.19E-06 │
│ Filter │ L2 H │ 0.29E-03 │ 0.25E-03 │ 0.29E-03 │
│ Network │ R2 ohm │ 0.34 │ 1.25 │ 0.34 │
└─────────┴───────────┴───────────┴─────────────┴─────────────┘

Specifying driver locations on a sloping baffle

In order to tilt the principal radiation axis of a loudspeaker system or to align the positions of the acoustic
centres of the drivers, it is common practice to use a sloping baffle that is tilted backwards from the vertical
by a few degrees. We will now describe how to specify the XYZ-coordinates of a woofer and tweeter
combination that are mounted on a baffle that slopes back with an angle of 15°. The distance between the

CALSOD 3.10 and CALSOD 1.40 User's Manual – 245


drivers is 90 mm, and for clarity it is assumed that their acoustic centres both lie in the plane of the baffle.
The diagram presented below illustrates the driver layout.

Y-axis
▄▄▄▄▄▄ │ T = Tweeter
█ \ │ W = Woofer
█ \ T │
█ + │
█ / \ │
█ / \ │
█ \ \│
█ \ \───────────────────── + ──── Z-axis
█ \ \ │
█ 90 mm \ \ │
█ \ \ W └─ (X,Y,Z) = (0.0,0.0,1.0)
█ \ +
█ \ / \
█ / \
█ \
█ 75° \
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

We also assume that the tweeter and woofer are mounted vertically in line such that X = 0.0 for both drivers,
and that they are both connected with positive polarity. The resulting SPK submodules of data are presented
below, together with the calculations required to compute the (X,Y,Z) coordinates of the two drivers.

┌─────────────────────────────────────────┐
│ X = = 0.0000 metres │
│ Y = 0.045 cos 15° = 0.0318 metres │
TWEETER │ Z = -0.045 sin 15° = -0.0116 metres │
├─────────────────────────────────────────┤
│ SPK 1 0.0000 0.0318 -0.0116 POSITIVE │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│ X = = 0.0000 metres │
│ Y = -0.045 cos 15° = -0.0318 metres │
WOOFER │ Z = 0.045 sin 15° = 0.0116 metres │
├─────────────────────────────────────────┤
│ SPK 2 0.0000 -0.0318 0.0116 POSITIVE │
└─────────────────────────────────────────┘

As is usual, the TARGET SPL coordinates can be anywhere you specify, and in this example it is assumed
that the listening position lies on the Z-axis at (X,Y,Z) = (0.0,0.0,1.0).

By default, CALSOD allows you to model individual drivers as point sources of sound, radiating equally in
all directions. If a non-zero effective piston diameter is specified using the EPD submodule, then CALSOD
will automatically allow for the off-axis radiation characteristics when calculating the response of each
driver at the specified design point. When the EPD module is used it is suggested that, if any of the driver
axes are tilted with respect to the global axis system, you specify the orientation of the principal axis of each
driver when it is mounted on the baffle, since this will enhance the accuracy of the simulation.

For the above example, the 15° upward tilt of the principal axis of the tweeter and woofer are accounted for
as follows:

SPK 1 0.0000 0.0318 -0.0116 15.0 0.0 POSITIVE ! Tweeter

SPK 2 0.0000 -0.0318 0.0116 15.0 0.0 POSITIVE ! Woofer

246 – CALSOD 3.10 and CALSOD 1.40 User's Manual


MODELLING OFF-AXIS
BEHAVIOUR OF CROSSOVERS
WITH CALSOD 1.40

In general, it is suggested that some care be exercised when specifying the design point that will be used by
the optimizer. You should keep in mind that the optimizer cannot prevent the designer from setting up a
system that cannot achieve the desired response characteristics due to the layout of the drivers and the
topology of the crossover network that has been chosen. As a result, the optimizer may produce a set of
component values that meet the least squares criterion but, in the designer’s opinion, do not have a suitable
trade-off between the on-axis and off-axis response characteristics or have undesirable characteristics in the
filtered responses of the individual drivers.

To illustrate the above thoughts, let us consider the common configuration of a two-way system where the
low-frequency driver is mounted 170 mm below the high-frequency driver. It is assumed that the drivers are
coplanar and that the design axis is placed midway between the two drivers. We will investigate two
different situations where the on-axis and off-axis radiation characteristics of the lowpass and highpass
responses correspond to third-order Butterworth and fourth-order Linkwitz-Riley acoustic responses. For
both cases the acoustic crossover frequency will be simulated to be 3 kHz. The off-axis conditions will
correspond to the cases where α = ±10°, i.e. 10° above the design axis and 10° below. The diagram below
illustrates the geometric layout using the standard XYZ coordinate system, where the X and Y axes are in
the plane of the baffle, and the Z-axis is perpendicular to the baffle in the outward direction.

Y-axis

│ + α = +10° off-axis
┬─ + Tweeter ∙
│ │ ∙
85 mm │ │ ∙
│ │ ∙
┼─ ∙───────────Z-axis────────── + ─── α = 0° on-axis
│ │ ∙ │
85 mm │ │ ∙ └─ z = 1.0 m
│ │ ∙
┴─ + Woofer ∙
│ + α = -10° off-axis

The following two examples will illustrate how easy it is to use CALSOD to study the off-axis response
characteristics of multiway loudspeaker systems. This facility allows you to quickly examine the off-axis
response characteristics of different crossover topologies in order to determine a more suitable design axis
than the simple on-axis condition.

Off-axis behaviour of third-order Butterworth crossovers

The data file BUT3XYZ1.C14 that is used for investigating the off-axis radiation characteristics of the third-
order acoustic Butterworth response functions is given below. Note that the polarity of the tweeter is
reversed, as this arrangement gives a smoother phase characteristic for the on-axis condition.

01> ! --------------------------------------------
02> ! TEST FOR OFF-AXIS RADIATION CHARACTERISTICS
03> ! OF A 3rd ORDER ACOUSTIC BUTTERWORTH RESPONSE
04> ! --------------------------------------------
05> !

CALSOD 3.10 and CALSOD 1.40 User's Manual – 247


06> TARGET SPL
07> SEN 90.0 DB
08> XYZ 0.0 +0.1736 0.9848 ! +10 degrees off-axis
09> ! XYZ 0.0 0.0000 1.0000 ! on-axis
10> ! XYZ 0.0 -0.1736 0.9848 ! -10 degrees off-axis
11> !
12> CIRCUIT
13> SPK 1 0 1 0.0 -0.085 0.0 POSITIVE
14> SPK 2 0 1 0.0 0.085 0.0 NEGATIVE
15> !
16> DRIVER 1
17> Low pass
18> SOUND PRESSURE
19> SEN 90.0 DB
20> BUT 3000.0 3 LOWPASS
21> IMPEDANCE
22> ICR 8.0
23> !
24> DRIVER 2
25> High pass
26> SOUND PRESSURE
27> SEN 90.0 DB
28> BUT 3000.0 3 HIGHPASS
29> IMPEDANCE
30> ICR 8.0

In this example we have created a simulation using two “ideal” drivers whose responses correspond to the
desired complementary lowpass and highpass third-order Butterworth filter characteristics. For the on-axis
case they will sum correctly to provide a flat magnitude response.

You should also note that lines 09 to 10 contain the coordinates for on-axis and off-axis locations that are
1.0 metre from the origin of the coordinate system. Using CALSOD 1.40 we can only study one location at a
time, so in this particular version of the data file we have commented out lines 09 and 10 using ! at the
beginning of each of those lines. It is up to you to edit the data file to comment out the non-required XYZ
submodules when you wish to study the response at any of the other two locations. However, data files
BUT3XYZ2.C14 and BUT3XYZ3.C14 are supplied for your convenience, and these already have the
second and third XYZ submodules activated, respectively, while the other XYZ submodules are disabled.

The values of the Y- and Z-coordinates were calculated using the following formulas based on simple
trigonometry:

Y = 1.0×sin(±10) = ±0.1736 metres


Z = 1.0×cos(±10) = 0.9848 metres

where the radial distance from the origin is 1.0 metre.

A suitable frequency range for system response calculations and plots is 500 Hz to 20 kHz, which makes the
crossover frequency lie approximately in the centre of each plot. You should use at least 50 subintervals in
order to obtain reasonably smooth plots of magnitude and phase responses and, for maximum resolution,
using 100 subintervals is strongly recommended. Before viewing any plots, it is also desirable to switch off
the display of vertical and horizontal grid lines, as this will help to improve the clarity of these particular
plots.

You should now proceed to read in the data file BUT3XYZ1.C14 and compute all the system response
functions. Once the system calculations have been completed, you should select the option from the main
menu that allows you to plot out response functions on the screen. When the plot selection menu appears,
you should choose to plot the total sound pressure response and the lowpass and highpass driver response
functions. The plot that is being displayed should look like the one shown in Figure 49. This plot shows the
response of the third-order Butterworth system at a location α = +10° off-axis. You can see that at the 3 kHz
crossover frequency there is a very deep notch in the summed response of the two drivers. Inspection of this

248 – CALSOD 3.10 and CALSOD 1.40 User's Manual


plot also shows that the phase difference between the lowpass and highpass drivers is approximately 180°,
which causes the large notch in the magnitude response.

Figure 49: Variation in summed response for third-order Butterworth system calculated for the α
= +10° off-axis position.

It is also possible for you to view the off-axis angles between each of the drivers to the specified XYZ
observation point. You can do this by selecting Option G from the main menu, and then choosing Option 1.
The geometric details that are related to the driver will look like the following:

NO TYPE CODE DESCRIPTION X metres Y metres Z metres Alpha° Beta°


~~ ~~~~ ~~~~ ~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~
1 SPK 1 Low pass 0.0000 -0.0850 0.0000 0.0 0.0
2 SPK 2 High pass 0.0000 0.0850 0.0000 0.0 0.0

TARGET XYZ 0.0000 0.1736 0.9848

OBSERVATION PT R metres Alpha° Beta° Weighting Status


~~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~~~~ ~~~~~~~~
TARGET XYZ 1.0000 10.0 0.0 1.000 ACTIVE
OBSERVATION PT SPK CODE DESCRIPTION Theta° Rdistance
~~~~~~~~~~~~~~ ~~~ ~~~~ ~~~~~~~~~~~ ~~~~~~ ~~~~~~~~~
TARGET XYZ 1 1 Low pass 14.7 1.0182
2 2 High pass 5.1 0.9888
OBSERVATION PT R metres Alpha° Beta° X coord Y coord Z coord
~~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~
TARGET XYZ 1.0000 10.0 0.0 0.0000 0.1736 0.9848

Three sets of data are displayed that are related to the specified observation point. The first of these gives
the distance R from the origin in the global axis system of the TARGET XYZ coordinates, together with the
associated angles Alpha and Beta. Here you can see that the angle Alpha = 10° for this (X,Y,Z) location of
the observation point. The values (R,α,β) make up a spherical coordinate system.

The second set of data pertaining to the observation point includes the angle Theta, which is the included
angle between the principal radiation axis of the each of the lowpass and highpass drivers and the line from
each driver’s location to the observation point. The distance from each driver to the observation point is
given under the column heading “Rdistance”. For the lowpass driver the angle Theta = 14.7°, while for the
highpass driver we have that Theta = 5.1°. This indicates that observation point is further off-axis for the
lowpass driver than it is for the highpass driver, which is clearly the case from the geometric layout diagram
presented earlier.

The third set of data pertaining to the observation point includes the coordinates as defined in the spherical
(R,α,β) coordinate system, as well as the (X,Y,Z) coordinates defined in the global Cartesian axis system.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 249


You can now read in the data file BUT3XYZ2.C14 and compute all the system response functions. The
XYZ submodule corresponding to the on-axis case is active in this data file. As before, plot out the total
sound pressure response and the sound pressure responses of the simulated lowpass and highpass drivers.
The plot that is being displayed should look like the one shown in Figure 50. This plot shows the response
of the third-order Butterworth system for the α = 0° on-axis condition. It is seen that the summed response is
completely uniform through the crossover region, which is to be expected for this crossover topology.

Figure 50: Variation in summed response for third-order Butterworth system calculated for the α
= 0° on-axis position.

You can now read in the data file BUT3XYZ3.C14 and compute all the system response functions. As
before, plot out the total sound pressure response and the sound pressure responses of the simulated lowpass
and highpass drivers. The plot that is being displayed should look like the one shown in Figure 51. This plot
shows the response of the third-order Butterworth system for the α = –10° off-axis condition. It is seen that
there is a small boost in the summed response through the crossover region, and the maximum boost is about
3 dB at the crossover frequency of 3 kHz.

Figure 51: Variation in summed response for third-order Butterworth system calculated for the α
= –10° off-axis position.

Inspection of the phase response of the lowpass and highpass drivers will show that they are both in-phase at
the crossover frequency, and this is why their responses sum to produce a peak. At the crossover frequency
their response amplitudes are both 0.7071, and since the responses of the drivers are both in-phase, the
summed response is 0.7071 + 0.7071 = 1.4142 = +3 dB relative to the individual passband responses of the
two drivers.

250 – CALSOD 3.10 and CALSOD 1.40 User's Manual


By comparing the plots of summed responses shown in the previous three plots, it can be deduced that the
main lobe of the Butterworth system is tilted downwards (when the tweeter is connected with reverse
polarity), a well known characteristic, instead of coinciding with the axis of zero inter-unit time delay (the
Z-axis). The main lobe has a maximum amplitude +3 dB higher than the on-axis response, while at 10°
above the design axis there is a significant dip in the response, which is caused by the outputs from the
woofer and tweeter being almost out of phase. From this it is apparent that a small change in vertical
displacement (off-axis location) at the observation point can produce large changes in the response of the
system in the vicinity of the crossover frequency, and hence in the spectrum of the reproduced sound. Some
speaker designers make use of this characteristic by placing the highpass driver below the lowpass driver on
the enclosure baffle, therefore reversing the off-axis behaviour characteristic, as this will produce a smaller
perceived change in response when a seated listener moves off-axis by standing up.

Off-axis behaviour of fourth-order Linkwitz-Riley crossovers

The data file LKR4XYZ1.C14 that is used for investigating the off-axis radiation characteristics of the
fourth-order acoustic Linkwitz-Riley response functions is given below.

01> ! ----------------------------------------------
02> ! TEST FOR OFF-AXIS RADIATION CHARACTERISTICS OF
03> ! A 4th ORDER ACOUSTIC LINKWITZ-RILEY RESPONSE
04> ! ----------------------------------------------
05> !
06> TARGET SPL
07> SEN 90.0 DB
08> XYZ 0.0 +0.1736 0.9848 ! +10 degrees off-axis
09> ! XYZ 0.0 0.0000 1.0000 ! on-axis
10> ! XYZ 0.0 -0.1736 0.9848 ! -10 degrees off-axis
11> !
12> CIRCUIT
13> SPK 1 0 1 0.0 -0.085 0.0 POSITIVE
14> SPK 2 0 1 0.0 0.085 0.0 POSITIVE
15> !
16> DRIVER 1
17> Low pass
18> SOUND PRESSURE
19> SEN 90.0 DB
20> LKR 3000.0 4 LOWPASS
21> IMPEDANCE
22> ICR 8.0
23> !
24> DRIVER 2
25> High pass
26> SOUND PRESSURE
27> SEN 90.0 DB
28> LKR 3000.0 4 HIGHPASS
29> IMPEDANCE
30> ICR 8.0

In this example we have created a simulation using two "ideal" drivers whose responses correspond to the
desired complementary lowpass and highpass fourth-order Linkwitz-Riley filter characteristics. For the on-
axis case they will sum correctly to provide a uniform magnitude response. Lines 08 to 10 contain the
coordinates for on-axis and off-axis locations that are 1.0 metre from the origin of the coordinate system.

We can only study one location at a time, so in this particular version of the data file we have commented
out lines 09 and 10 using ! at the beginning of each of those lines. It is up to you to edit the data file to
comment out the non-required XYZ submodules when you wish to study the response at any of the other
two locations. However, data files LKR4XYZ2.C14 and LKR4XYZ3.C14 are supplied for your
convenience, and these already have the second and third XYZ submodules activated.

As before, a suitable frequency range for system response calculations and plots is 500 Hz to 20 kHz. You
should use at least 50 subintervals to obtain reasonably smooth plots of magnitude and phase responses and,

CALSOD 3.10 and CALSOD 1.40 User's Manual – 251


for maximum resolution, using 100 subintervals is strongly recommended. Before viewing any plots, it may
also prove desirable to switch off the display of vertical and horizontal grid lines, as this will help to
improve the clarity of these particular plots.

You should now proceed to read in the data file LKR4XYZ1.C14 and compute all the system response
functions. Once the system calculations have been completed, you should select the option from the main
menu that allows you to plot out response functions on the screen. When the plot selection menu appears,
you should choose to plot the total sound pressure, as well as the raw responses of the lowpass and highpass
drivers, as this will give you a good idea of the crossover region for this filter design. The plot that is being
displayed should look like the one shown in Figure 52. This plot shows the response of the fourth-order
Linkwitz-Riley system at a location α = +10° off-axis. You can see that at the 3 kHz crossover frequency
there is a small 4 dB dip in the summed response of the two drivers. Inspection of this particular curve also
shows that there is a small phase difference between the lowpass and highpass drivers, which is not correct
for a true Linkwitz-Riley filter topology, and this has led to the dip in summed response.

Figure 52: Variation in summed response for fourth-order Linkwitz-Riley system calculated for the
α = +10° off-axis position.

You can now read in the data file LKR4XYZ2.C14 and compute all the system response functions. As
before, plot out the total sound pressure response. The plot that is being displayed should look like the one
that is shown in Figure 53. This plot shows the response of the fourth-order Linkwitz-Riley system for the α
= 0° on-axis condition. It is seen that the summed response is completely uniform through the crossover
region, and the drivers are in-phase over the entire frequency range, which is to be expected for this
crossover topology.

Figure 53: Variation in summed response for fourth-order Linkwitz-Riley system calculated for the
α = 0° on-axis position.

252 – CALSOD 3.10 and CALSOD 1.40 User's Manual


You can now read in the data file LKR4XYZ3.C14 and compute all the system response functions. As
before, plot out the total sound pressure response, as well as the raw responses of the lowpass and highpass
drivers. The plot that is being displayed should look like the one that is shown in Figure 54. This plot shows
the response of the fourth-order Linkwitz-Riley system for the α = –10° off-axis condition. It is seen that
there is a dip in the summed response through the crossover region, and the size of this dip is about 4 dB at
the crossover frequency of 3 kHz. Inspection of the phase response of the lowpass and highpass drivers will
show that they are not quite in-phase at the crossover frequency, and this is why their responses sum to
produce a broad dip.

Figure 54: Variation in summed response for fourth-order Linkwitz-Riley system calculated for the
α = –10° off-axis position.

By comparing the plots of the summed responses shown in the previous three plots, it is seen that the main
lobe of the fourth-order Linkwitz-Riley system is located on-axis. It is also evident that the response
variation at α = ±10° off-axis is much less severe than for the third-order Butterworth system, as well as
being symmetrical about the design axis. This behaviour is typical of systems employing Linkwitz-Riley
crossovers, and is one of the reasons for their popularity with some designers.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 253


OPTIMIZATION USING
MULTIPLE OBSERVATION
POINTS

In this example we will consider optimization of a two-way system with noncoincident drivers using
multiple observation points. We will use the data file TWOWAY4.C31 as a starting point for our analysis,
modifying it as required to carry out the analysis. This section uses features that are only available in
CALSOD 3.10.

Defining multiple active observation points

In order to carry out the optimization for multiple active observation points, as distinct from inactive points
where the response is calculated but is not actually used by the optimizer, it is necessary to include the
required number of RAB submodules in the TARGET SPL module.

In general, it is suggested that some care be exercised when specifying the different design points. You
should keep in mind that the optimizer cannot prevent the designer from setting up a system that cannot
achieve the desired response characteristics due to the layout of the drivers and the topology of the crossover
network that has been chosen. As a result, the optimizer may produce a set of component values that meet
the least squares criterion but, in the designer’s opinion, do not have a suitable trade-off between the on-axis
and off-axis response characteristics or have undesirable characteristics in the filtered responses of the
individual drivers.

To illustrate the above thoughts, let us consider the common configuration of a two-way system where the
low-frequency driver is mounted 170 mm below the high-frequency driver. It is assumed that the drivers are
coplanar and that the design axis is placed midway between the two drivers. We will investigate two
different situations where the on-axis and off-axis radiation characteristics of the lowpass and highpass
responses correspond to third-order Butterworth and fourth-order Linkwitz-Riley acoustic responses. For
both cases the acoustic crossover frequency will be simulated to be 3 kHz. The off-axis conditions will
correspond to the cases where α = ±10°, i.e. 10° above the design axis and 10° below. The diagram below
illustrates the geometric layout that is under consideration.

Y-axis

│ + α = +10° off-axis
┬─ + Tweeter ∙
│ │ ∙
85 mm │ │ ∙
│ │ ∙
┼─ ∙───────────Z-axis────────── + ─── α = 0° on-axis
│ │ ∙ │
85 mm │ │ ∙ └─ z = 1.0 m
│ │ ∙
┴─ + Woofer ∙
│ + α = -10° off-axis

The data file BUT3TEST.C31 that is used for investigating the off-axis radiation characteristics of the third-
order acoustic Butterworth response functions is given below. Note the use of the RAB submodules to
specify the on-axis and off-axis locations where the summed response is to be calculated. Also, the polarity
of the tweeter is reversed, as this arrangement gives a smoother phase characteristic for the on-axis
condition.

254 – CALSOD 3.10 and CALSOD 1.40 User's Manual


01> ! --------------------------------------------
02> ! TEST FOR OFF-AXIS RADIATION CHARACTERISTICS
03> ! OF A 3rd ORDER ACOUSTIC BUTTERWORTH RESPONSE
04> ! --------------------------------------------
05> !
06> CIRCUIT
07> SPK 1 0 1 0.0 -0.085 0.0 POSITIVE
08> SPK 2 0 1 0.0 0.085 0.0 NEGATIVE
09> !
10> TARGET SPL
11> SEN 90.0 DB
12> RAB 1.0 10.0 0.0 1.0 ACTIVE
13> RAB 1.0 0.0 0.0 1.0 ACTIVE
14> RAB 1.0 -10.0 0.0 1.0 ACTIVE
15> !
16> DRIVER 1
17> Low pass
18> SOUND PRESSURE
19> SEN 90.0 DB
20> BUT 3000.0 3 LOWPASS
21> IMPEDANCE
22> ICR 8.0
23> !
24> DRIVER 2
25> High pass
26> SOUND PRESSURE
27> SEN 90.0 DB
28> BUT 3000.0 3 HIGHPASS
29> IMPEDANCE
30> ICR 8.0

The data file LKR4TEST.C31 that is used for investigating the off-axis radiation characteristics of the
fourth-order acoustic Linkwitz-Riley response functions is given below on the right. We again make use of
the RAB submodules to specify the on-axis and off-axis locations where the summed response is to be
calculated.

01> ! ----------------------------------------------
02> ! TEST FOR OFF-AXIS RADIATION CHARACTERISTICS OF
03> ! A 4th ORDER ACOUSTIC LINKWITZ-RILEY RESPONSE
04> ! ----------------------------------------------
05> !
06> CIRCUIT
07> SPK 1 0 1 0.0 -0.085 0.0 POSITIVE
08> SPK 2 0 1 0.0 0.085 0.0 POSITIVE
09> !
10> TARGET SPL
11> SEN 90.0 DB
12> RAB 1.0 10.0 0.0 1.0 ACTIVE
13> RAB 1.0 0.0 0.0 1.0 ACTIVE
14> RAB 1.0 -10.0 0.0 1.0 ACTIVE
15> !
16> DRIVER 1
17> Low pass
18> SOUND PRESSURE
19> SEN 90.0 DB
20> LKR 3000.0 4 LOWPASS
21> IMPEDANCE
22> ICR 8.0
23> !
24> DRIVER 2
25> High pass
26> SOUND PRESSURE
27> SEN 90.0 DB
28> LKR 3000.0 4 HIGHPASS
29> IMPEDANCE
30> ICR 8.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 255


After reading in the file BUT3TEST.C31, it is possible for you to view the off-axis angles between each of
the drivers to each of the specified RAB observation points. You can do this by selecting Option G from the
main menu, and then choosing Option 1. The geometric details that are related to the driver will look like
the following:

OBSERVATION PT R metres Alpha° Beta° Weighting Status


~~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~~~~ ~~~~~~~~
TARGET RAB #1 1.0000 10.0 0.0 1.000 ACTIVE
TARGET RAB #2 1.0000 0.0 0.0 1.000 ACTIVE
TARGET RAB #3 1.0000 -10.0 0.0 1.000 ACTIVE

OBSERVATION PT SPK CODE DESCRIPTION Theta° Rdistance


~~~~~~~~~~~~~~ ~~~ ~~~~ ~~~~~~~~~~~ ~~~~~~ ~~~~~~~~~
TARGET RAB #1 1 1 Low pass 14.7 1.0182
2 2 High pass 5.1 0.9888
TARGET RAB #2 1 1 Low pass 4.9 1.0036
2 2 High pass 4.9 1.0036
TARGET RAB #3 1 1 Low pass 5.1 0.9888
2 2 High pass 14.7 1.0182

OBSERVATION PT R metres Alpha° Beta° X coord Y coord Z coord


~~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~ ~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~
TARGET RAB #1 1.0000 10.0 0.0 0.0000 0.1736 0.9848
TARGET RAB #2 1.0000 0.0 0.0 0.0000 0.0000 1.0000
TARGET RAB #3 1.0000 -10.0 0.0 0.0000 -0.1736 0.9848

Three sets of data are displayed that are related to each of the three specified observation points. The first of
these gives the distance from the origin in the global Cartesian (X,Y,Z) coordinate system of each of the
RAB submodules, together with the associated angles Alpha and Beta. Here you can see that the off-axis
angles in the vertical direction are Alpha = 10°, 0°, and –10° for the three observation points specified using
the RAB submodules. The values (R,α,β) make up a spherical coordinate system.

The second set of data includes the angle Theta, which is the included angle between the principal radiation
axis of the each of the lowpass and highpass drivers and the line from each driver’s location to each
individual observation point. The second set of data also includes a column whose heading is “Rdistance”.
The value of Rdistance corresponds to the distance from each speaker to each of the specified observation
points. For the first observation point, Theta = 14.7° for lowpass driver and Theta = 5.1° for the highpass
driver. This indicates that this observation point is further off-axis for the lowpass driver than it is for the
highpass driver, which is clearly the case from the geometric layout diagram presented earlier. For the
second RAB observation point, Theta = 4.9° for both the lowpass and highpass drivers. The Theta angle is
the same for both speakers because it represents the included angle between the principle radiation axis of
the driver and the line from the driver’s location to the observation point. For this particular observation
point, it can also be seen that the lowpass and highpass drivers are both equidistant from the observation
point, as noted by the identical values under the Rdistance column of 1.0036 metres. For the third
observation point , the Theta angles are the reverse of what they were for the first observation point.

The third set of data pertaining to each of the three observation point includes the coordinates as defined in
the spherical (R,α,β) coordinate system, as well as the (X,Y,Z) coordinates defined in the global Cartesian
axis system.

We will now show the variation in the summed response of the two different systems with changes in
vertical angle. Figure 55 was obtained using the third-order Butterworth functions, while Figure 56
corresponds to the fourth-order Linkwitz-Riley functions. In each of these two plots, observation point #1
corresponds to α = 10° (10° above the design axis), observation point #2 corresponds to the on-axis
condition α = 0°, and observation point #3 corresponds to α = –10° (10° below the design axis).

256 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 55: Variation in summed response for third-order Butterworth system calculated for the on-
axis (Obsvn Pt #2: α = 0°) and two off-axis (Obsvn Pt #1: α = +10° and Obsvn Pt #3: α = –10°)
positions.

Figure 56: Variation in summed response for fourth-order Linkwitz-Riley system calculated for the
on-axis (Obsvn Pt #2: α = 0°) and two off-axis (Obsvn Pt #1: α = +10° and Obsvn Pt #3: α = –10°)
positions.

The plot in Figure 55 indicates that the main lobe of the Butterworth system is tilted downwards (when the
tweeter is connected with reverse polarity), which is a well known characteristic, instead of coinciding with
the axis of zero inter-unit time delay (the Z-axis). The main lobe has a maximum amplitude +3 dB higher
than the on-axis response, while at 10° above the design axis there is a significant dip in the response, which
is caused by the outputs from the woofer and tweeter being almost out of phase. From this it is apparent that
a small change in vertical displacement at the observation point can produce large changes in the response
of the system in the vicinity of the crossover frequency, and hence in the spectrum of the reproduced sound.

Looking at the plot of Figure 56, it is seen that the main lobe of the fourth-order Linkwitz-Riley system is
located on-axis. The response variation at α = ±10° off-axis is much less severe than for the third-order
Butterworth system, as well as being symmetrical about the design axis. This behaviour is typical of systems
employing Linkwitz-Riley crossovers, and is one of the reasons for their popularity with some designers.

The above two examples illustrate how easy it is to study the off-axis response characteristics of multiway
loudspeaker systems using CALSOD. All you need to do is to include a number of RAB submodules
specifying the observation points of interest. This facility allows you to quickly examine the off-axis
response characteristics in order to determine a more suitable design axis than the simple on-axis condition.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 257


Creating the data file

The data file that we will use is a modified version of the file TWOWAY5.C14 that was studied in an earlier
example. This was the one that contained the noncoincident layout of the woofer and the tweeter. The
TARGET SPL module has been modified to include five RAB submodules, of which only three are active.
The first of these specifies an observation point that lies on the Z-axis, (R,α,β) = (2.0, 0.0, 0.0), where as the
remainder correspond to off-axis locations at α = ±5° and α = ±10°. The active RAB submodules will be
those corresponding to α = 0° and α = ±5°, and the weighting value assigned to the on-axis RAB submodule
will be set to 3.0 instead of 1.0 in order to give it extra emphasis during the optimization process. The RAB
submodules corresponding to α = ±10° will be inactive, since they are included only to facilitate the display
of additional off-axis plots of the summed response.

We have chosen the active RAB submodules to include only the α = ±5° off-axis conditions because it is felt
that these will provide conditions that will allow the optimizer to achieve a reasonably flat response. If the
larger α = ±10° cases had been chosen instead, then it would have been likely that the optimized response
would be less smooth. The greater off-axis angles make it more difficult for the optimizer to obtain a good
solution, leading to ripples in the summed response in the vicinity of the crossover frequency or a boost in
the on-axis response.

It is difficult to predict what the optimizer will actually do when trying to reduce the least squares error. If
the results are not as good as desired, it can be worthwhile trying to weight the on-axis response so that it
makes a greater contribution to the least squares error during the optimization process. For example, the
weighting factor for the on-axis response can be assigned a value of 5.0, while a value of 1.0 can be used for
the off-axis responses.

Note that the data file also includes EPD submodules in the SOUND PRESSURE modules of the woofer
and tweeter definitions. These are used to specify an effective piston diameter for each of these drivers in an
attempt to better simulate the off-axis radiation characteristics of the woofer and tweeter.

The following is a listing of the data file RAB2WAY.C31 which is used as a trial design for the
optimization of the component values using multiple active observation points.

01> ! ------------------------------------------
02> ! TWO-WAY SYSTEM WITH 3 ACTIVE DESIGN POINTS
03> ! ------------------------------------------
04> !
05> ! Optimizer frequency range: 200 Hz - 20 kHz
06> ! Optimizer subintervals : 20
07> !
08> CIRCUIT
09> !
10> VIN 6.02 DB
11> !
12> ! Filter network for the woofer
13> !
14> IND 0.43E-3 1 2 0.0 VARIABLE
15> RES 8.40 2 3 VARIABLE
16> CAP 31.97E-6 0 3 VARIABLE
17> SPK 1 0 2 0.0 -0.100 -0.025 POSITIVE
18> !
19> ! Filter network for the tweeter
20> !
21> CAP 6.19E-6 1 4 VARIABLE
22> IND 0.29E-3 0 4 0.0 VARIABLE
23> RES 0.34 4 5 VARIABLE
24> SPK 2 0 5 0.0 +0.100 0.000 POSITIVE
25> !
26> TARGET SPL
27> SEN 92.0 DB
28> RAB 2.0 0.0 0.0 3.0 ACTIVE
29> RAB 2.0 +5.0 0.0 1.0 ACTIVE

258 – CALSOD 3.10 and CALSOD 1.40 User's Manual


30> RAB 2.0 -5.0 0.0 1.0 ACTIVE
31> RAB 2.0 +10.0 0.0 1.0 INACTIVE
32> RAB 2.0 -10.0 0.0 1.0 INACTIVE
33> !
34> DRIVER 1
35> Woofer
36> SOUND PRESSURE
37> EPD 0.180
38> SEN 92.0 DB
39> SVB 33.8 0.261 4.0 1.5 7.0
40> MPE 580.0 3.993 -1.145 DB
41> MPE 2000.0 1.910 2.625 DB
42> BUT 4350.0 4 LOWPASS
43> IMPEDANCE
44> IVB 33.8 6.1 0.0072 0.70 0.013 0.69 6.1 0.27 4.0 1.5 7.0
45> MPE 420.0 4.23 1.203 LINEAR
46> !
47> DRIVER 2
48> Tweeter
49> SOUND PRESSURE
50> EPD 0.025
51> SEN 90.0 DB
52> HLR 532.5 0.0 3.14 0.43 0.0
53> MPE 1200.0 2.219 1.013 DB
54> MPE 3500.0 6.336 2.149 DB
55> MPE 6000.0 2.131 -2.160 DB
56> MPE 9000.0 4.774 1.834 DB
57> MPE 12000.0 0.548 0.879 DB
58> MPE 16000.0 4.666 4.304 DB
59> BUT 19000.0 4 LOWPASS
60> IMPEDANCE
61> IMP 532.5 6.1 34.8 3.15E-3 0.575 8.9E-4 0.706 0.537
62> MPE 2000.0 4.6782 1.2545 LINEAR
63> MPE 4000.0 1.6142 1.0788 LINEAR
64> MPE 16000.0 9.2615 1.1476 LINEAR

Setting up analysis parameters

In order to carry out the optimization of the total sound pressure using multiple design points, you will apply
much the same sequence of commands as for the optimization of the woofer and tweeter filter networks.
When you see CALSOD’s main menu, select the option which allows you to read in a data file, and type in
the name of the new data file, which is RAB2WAY.C31. Once RAB2WAY.C31 has been read in, answer
“N” to the question which asks whether or not to calculate the system transfer functions.

When the main menu reappears, select the option which allows you to redefine the frequency range and the
number of subintervals used in the optimization. Change the lower and upper frequency limits to be 200 Hz
and 20 kHz, as the filters are not expected to have any influence outside this region. Also, change the
number of subintervals to 20. This value is somewhat arbitrary, but since we have a large frequency span
(2 decades) it is useful to have a reasonably fine spacing between points. We do not wish to have too fine a
spacing, though, as this will significantly increase the computation times.

After setting the number of subintervals the frequency range and iteration parameters menu automatically
reappears. In order to return to the main menu, press the Esc key. Answer “Y” to the question which asks
whether or not to recalculate the system transfer functions. There will be a short delay while they are
calculated, and then the main menu reappears.

Checking preliminary plots

If you like, you can plot the graphs of the summed response for the on-axis and four off-axis cases, as
defined using the five RAB submodules. Simply select the option from the main menu which initiates the
plotting procedure, and then select only the total SPL response from the submenu. This will result in all the
plots for the five different RAB submodules being displayed.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 259


The resulting plot should look like that shown in Figure 57. It is apparent that there is quite a bit of variation
in the summed response at the different off-axis positions, and the worst one corresponds to the fourth
observation point at α = +10°. Also shown in Figure 58 is the filtered response of the woofer at the various
off-axis positions.

Figure 57: Summed SPL calculated at five different observation points prior to optimization.

Figure 58: Radiation characteristics of the woofer at α = 0° on the design axis, as well as ±5° and
±10° off-axis.

Carrying out the optimization

Before beginning the optimization process you should ensure that the number of subintervals is set to 20 and
that the lower and upper limits of the calculation frequency range are set to 200 Hz and 20 kHz,
respectively. In order to begin the optimization process, select the appropriate option from the main menu.

Due to the complexity of the interactions that occur when you are using multiple design
points, and the larger number of response calculations that are required, the optimization
process proceeds more slowly than when only one observation point is specified. In
particular, convergence to a minimum value of the error is generally slower than for cases
where only one active design axis has been specified.

After about 17 iterations have been carried out it will be evident that the minimum error is not improving
significantly with each new iteration. It is therefore necessary to manually terminate the optimization
procedure by pressing the Esc key.

260 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Results of the optimization

The table below compares the values of the crossover network circuit elements both before and after the
optimization. It can be seen that the optimization has varied all of the component values in order to achieve
the desired target response, some of them significantly.

┌───────────┬────────────┬───────────────────────────┐
│ │ │ Optimized Components │
│ Circuit │ Initial ├─────────────┬─────────────┤
│ Component │ Value │ α = 0°,±5° │ α = 0°,±10° │
│ │ │ Active │ Active │
┌─────────┼───────────┼────────────┼─────────────┼─────────────┤
│ Woofer │ L1 H │ 0.43E-03 │ 0.75E-03 │ 0.99E-03 │
│ Filter │ R1 ohm │ 8.40 │ 5.56 │ 4.72 │
│ Network │ C1 F │ 31.97E-06 │ 21.57E-06 │ 18.66E-06 │
├─────────┼───────────┼────────────┼─────────────┼─────────────┤
│ Tweeter │ C2 F │ 6.19E-06 │ 6.27E-06 │ 7.94E-06 │
│ Filter │ L2 H │ 0.29E-03 │ 0.28E-03 │ 0.34E-03 │
│ Network │ R2 ohm │ 0.34 │ 0.30 │ 0.00 │
└─────────┴───────────┴────────────┴─────────────┴─────────────┘

The plot in Figure 59 shows the on-axis and off-axis responses of the two-way system after the optimization.
Compared with Figure 57, it is evident that the summed response for α = 0° and α = ±5°, which correspond
to the active observation points, is somewhat smoother than it was initially. Some of this improvement has
been obtained at the expense of the α = +10° response, but this could have been expected as the α = ±10°
points were not active.

Figure 59: Summed SPL calculated at five different observation points after optimization with
active RAB submodules corresponding to α = 0° and ±5°.

The plot in Figure 60 indicates that the on-axis response is quite smooth, with no excessive peaking in either
of the filtered responses.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 261


Figure 60: Summed SPL obtained on the first design axis (α = 0°) and the corresponding filtered
responses of the woofer and tweeter after optimization with active RAB submodules
corresponding to α = 0° and ±5°.

The plot in Figure 61 shows that the input impedance of this network is also quite acceptable, the minimum
value being about 4.0 ohms and the phase variation being a modest 45° or so.

Figure 61: Input impedance of system after optimization with active RAB submodules
corresponding to α = 0° and ±5°.

It is also possible to carry out an optimization with the α = ±10° RAB submodules being made active and the
α = ±5° ones set to be inactive (see the RAB2WAY2.C31 data file). The optimized component values for
this case, obtained after 19 iterations, were presented in the previous table. The plots corresponding to these
results are shown in Figure 62, where it is seen that the α = +10° response has been considerably improved,
and overall the on-axis and off-axis response variation is quite small, even at the ±10° off-axis angles. The
plot in Figure 63 shows clearly that the on-axis summed response is not quite as good as that obtained for
the previous case, although it is still satisfactory. Comparing this plot with the centre graph in Figure 60,
you can see that the crossover point now occurs at a slightly lower frequency. The impedance plot in Figure
64 shows the overall input impedance of this system.

262 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 62: Summed SPL calculated at five different observation points after optimization with
active RAB submodules corresponding to α = 0° and ±10°.

Figure 63: Summed SPL obtained on the first design axis (α = 0°) and the corresponding filtered
responses of the woofer and tweeter after optimization with active RAB submodules
corresponding to α = 0° and ±10°.

Figure 64: Input impedance of system after optimization with active RAB submodules
corresponding to α = 0° and ±10°.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 263


ANALYSIS OF THREE-WAY OR
HIGHER MULTIWAY SYSTEMS

CALSOD has the capability to analyze multiway loudspeaker systems that use a maximum of four different
drivers as defined using the DRIVER module. These DRIVERs can be referenced in any combination using
a maximum of seven SPK submodules in the CIRCUIT module.

We will now present a short description of the design considerations that need to be addressed when trying
to analyze a three-way loudspeaker system. This example is quite important since the design procedure for a
three-way system can then be easily generalized and applied to the design of n-way systems made up of m
drivers, where n ≤ 8 and m ≤ 8.

Sample design procedure for a three-way system

We have previously analyzed a two-way system, and in this section we will now proceed to describe the
general steps that you should follow if you wish to include a midrange driver in a 3-way system. The
fundamental requirement is that the midrange unit will need to have a bandpass filter connected to it, much
the same as the woofer and tweeter require lowpass and highpass filter networks.

1. Create your curve-fit models of the impedance and sound pressure response of the woofer, midrange
and tweeter drive units.

2. Specify the crossover frequencies for the woofer-to-midrange and midrange-to-tweeter crossover
points.

3. Choose a suitable crossover topology for your system, such as a first-order Butterworth, fourth-order
Linkwitz-Riley, etc. However, unlike a two-way system, you should note that there are no
complementary filter functions for a three-way system consisting of a lowpass/bandpass/highpass filter
combination. This means that even if your lowpass, bandpass, and highpass target functions have been
exactly met, the resulting summed response will not be completely flat, mainly because of the phase
response of the bandpass network. As an example of this particular effect, CALSOD 1.40 users should
read in the data file called SUM3WAY.C14 and try plotting the summed response and individual driver
response functions in the 20 Hz to 20 kHz frequency range (CALSOD 3.10 users can read in the data
file called SUM3BUT1.C31). The resulting plot should look something like the plot in Figure 65. (For
further information on this topic, you may like to read the paper by R.M. Bullock III, “Passive three-
way all-pass crossover networks,” Journal of the Audio Engineering Society, Vol. 32, pp. 626–639,
September 1984.)

4. The lowpass filter for the woofer and the highpass filter for the tweeter are obtained in the same way as
for the two-way system. The bandpass response for the midrange is created by cascading highpass and
lowpass filter sections. In general, you would choose a parallel connection for the filter components,
since this makes it easy to cascade the two networks together. However, just as before, you are free to
choose whatever network topology you wish.

5. After calculating some initial component values, you should optimize the woofer and tweeter filter
networks on their own, using the target functions appropriate to the type of filter characteristic that you
want.

264 – CALSOD 3.10 and CALSOD 1.40 User's Manual


6. Now, after calculating the initial component values, optimize the bandpass filter using the target
bandpass response function that is made up from the desired highpass and lowpass filter response
functions that have been cascaded together.

7. Take the optimized values for the woofer, midrange and tweeter filters, and create another data file that
contains all three drivers and their filter networks. You should try to estimate the positions of the
acoustic centres of each driver to ensure that the simulations will be as accurate as possible.

8. You should now check the summed response of this system. If it is not as flat as you might like it to be,
then you can try running the optimizer on the complete system, allowing all the components to vary.
This may take a while to optimize, and because of the complexity of the system there is no guarantee
that the filtered responses of the drivers will be suitable, i.e. the overlap between drivers may be greater
than is desirable, or the input impedance drops too low at some point, or one of the drivers may exhibit
a peaked response.

9. You can try different solutions by fixing various components of the crossover network or even
changing the polarity of some of the drivers when they are connected in the circuit. For example, if the
initial trial filter roll-offs for the woofer and tweeter (as optimized in step 5) look reasonable, then you
can fix the values of their filter networks, leaving only the bandpass filter network components to be
optimized. It may be necessary to try different combinations of this approach before you get a good
result.

The procedure described above can be summarized by the flow chart shown below:

CALSOD 3.10 and CALSOD 1.40 User's Manual – 265


╒═════════════════════════════════════════════╕
│ FLOW CHART FOR ANALYSIS OF THREE WAY SYSTEM │
╘═════════════════════════════════════════════╛

┌──────────────┐ ┌───────────────┐ ┌───────────────┐


│ Create model │ │ Create model │ │ Create model │
│ of woofer │ │ of midrange │ │ of tweeter │
└──────┬───────┘ └───────┬───────┘ └───────┬───────┘
┌──────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐
│ Add lowpass │ │ Add bandpass │ │ Add highpass │
│ filter and │ │ filter and │ │ filter and │
│specify target│ │ specify target│ │ specify target│
│ function │ │ function │ │ function │
└──────┬───────┘ └───────┬───────┘ └───────┬───────┘
┌──────┴───────┐ ┌───────┴───────┐ ┌───────┴───────┐
│ Optimize │ │ Optimize │ │ Optimize │
│ components │ │ components │ │ components │
└──────┬───────┘ └───────┬───────┘ └───────┬───────┘
│ │ │
└──────────────────────┼──────────────────────┘

┌────────────┴────────────┐
│ Combine into three-way │
│ system using previously │
│ optimized filter values │
└────────────┬────────────┘
┌────────────┴────────────┐
│ Specify positions of │
│ driver acoustic centres │
└────────────┬────────────┘
┌────────────┴────────────┐
│ Check summed response │
└────────────┬────────────┘
┌────────────┴────────────┐
│Optimize three-way system│
│ crossover network if │
│ required │
└────────────┬────────────┘
┌───────────────┴───────────────┐
│ If undesirable interactions │
│ occur, modify circuit and/or │
│ driver polarity and try │
│ re-optimizing components │
└───────────────────────────────┘

Performance considerations for a typical three-way system

Filter topologies such as Butterworth, Linkwitz-Riley, etc, can be applied to two-way loudspeaker systems
to obtain a flat on-axis magnitude response. However, there is no simple equivalent topology that can be
used to achieve the same result for a three-way system, and it is often considerably more difficult to achieve
a desirable response for such systems due to the complexity of the interactions that occur. The availability of
circuit optimization techniques has significantly helped the designer, but it is still worthwhile exploring
some of the different interaction effects that can occur.

We have created a sample data file that will be used to illustrate some of the concepts that must be
considered when creating and simulating a three-way system. The data file SUM3BUT1.C31 sets up three
drivers whose individual responses will sum together. These drivers simulate a possible system where the
low-frequency, midrange, and high-frequency drivers have acoustic third-order Butterworth response
functions. The midrange driver’s bandpass response is obtained by cascading a highpass and lowpass filter
together. The crossover frequencies are set at 800 Hz and 4000 Hz, which is typical of many three-way
loudspeaker systems.

If you read in the data file SUM3BUT1.C31 you can plot out the individual responses of the drivers,
together with the total summed response. Because we have not actually defined any filter circuits, the

266 – CALSOD 3.10 and CALSOD 1.40 User's Manual


filtered responses of the drivers will be the same as their raw sound pressure response functions. The screen
plot should look similar to that shown in the plot in Figure 65. It is apparent that the summed response is not
completely flat, as there is a very broad depression of about 2 dB throughout the frequency range where the
midrange driver’s output is significant. From this example, it is quite evident that the cascading of a
highpass and lowpass third-order Butterworth filter to produce a bandpass response does not perfectly match
the acoustic response functions of the low-frequency and high-frequency drivers. Although the magnitude
response is quite a good match, it is the additional phase shift in the transition bands of the filters that causes
the irregularity in the summed magnitude response.

Figure 65: Summed response of simulated three-way system made up of a combination of third-
order Butterworth filters. Also shown are the individual responses of the simulated lowpass,
bandpass, and highpass drivers.

In order to obtain a flatter on-axis response, it is possible to increase the sensitivity of the midrange driver
by about 2 dB. The data file SUM3BUT2.C31 includes this particular modification, and you should read this
file in and plot out the drivers’ response functions as well as the total summed response. The plot should
look like the one in Figure 66. It is apparent that the summed response is now considerably flatter, lying
within limits of ±1.2 dB. However, this plot also shows that the midrange driver’s output is considerably
boosted in relation to the contributions from the other two drivers.

Figure 66: Summed response of simulated three-way system made up of a combination of third-
order Butterworth filters after adjustment of the midrange driver output level. Also shown are the
individual responses of the simulated lowpass, bandpass, and highpass drivers.

To get an idea of how this increased output from the midrange will effect the sound quality of the system,
we need to consider not only the on-axis sound pressure response but also the power response of the system.
The plot in Figure 67 shows the on-axis response and also the power response of the system. As anticipated,

CALSOD 3.10 and CALSOD 1.40 User's Manual – 267


the power response is raised by about approximately 2 dB in the midrange region. In a typical listening room
where the sound field that the listener hears contains a combination of both direct and reverberant energy,
this indicates that this loudspeaker system will have an audibly significant additional boost throughout the
midrange frequencies. In a fairly live room with only low to moderate absorption characteristics, this is
likely to effect the perceived tonal balance of the system.

Figure 67: Summed response and power response of simulated three-way system made up of a
combination of third-order Butterworth filters.

Making up a 7-driver four-way system

The approach that needs to be taken when you are trying to set up a 7-driver four-way system is much the
same as that for the 3-way system. You must of course set up each of the four driver models, and then you
have to choose a crossover network topology. You will then have to optimize the filter components for the
highpass and lowpass filters on the tweeter and woofer, as well as the bandpass filters on the low-midrange
and high-midrange drivers. A possible crossover network topology might be as shown below.

┌────┐
1───┬───┤ L1 ├──────────────2─────────┐
│ └────┘ ┌──┴──┐ ┌──┴──┐
│ │ W #1│ │ W #2│ WOOFER
│ └──┬──┘ └──┬──┘
│ 0───────┴─────────┘
│ ┌────┐ ┌────┐
├───┤ L2 ├─3─┤ C1 ├─────4─────────┐
│ └────┘ └────┘ ┌──┴──┐ ┌──┴──┐
│ │LM #1│ │LM #2│ LOW-MIDRANGES
│ └──┬──┘ └──┬──┘
│ 0───────┴─────────┘
│ ┌────┐ ┌────┐
├───┤ L3 ├─5─┤ C2 ├─────6─────────┐
│ └────┘ └────┘ ┌──┴──┐ ┌──┴──┐
│ │HM #1│ │HM #2│ HIGH-MIDRANGES
│ └──┬──┘ └──┬──┘
│ 0───────┴─────────┘
│ ┌────┐
└───┤ C3 ├──────────────7
└────┘ ┌──┴──┐
│ T #1│ TWEETER
└──┬──┘
0───────────────────────────┘

For clarity in this example, first-order filter networks have been used on all the drivers. Node 0 corresponds
to the reference node, and node 1 is the input node. Note that some of the drivers may require Zobel
networks, but to make the diagram easier to understand only the theoretical filter components have been

268 – CALSOD 3.10 and CALSOD 1.40 User's Manual


included. In this particular system the two woofers are connected in parallel across the output terminals of
their filter networks, as are the low-midrange and high-midrange drivers.

The diagram below illustrates a possible layout of the drivers when placed on the baffle of a cabinet.

┌────────────┐ ┌──────────────┐
│ ▄▄▄▄▄▄▄▄ │ │ ┌┤
│ ██████████ │ │ ││
│ ██████████ │ │ ││
│ ██████████ │ │ ││ <─── WOOFER 1
│ ██████████ │ │ ││
│ ██████████ │ │ ││
│ ▀▀▀▀▀▀▀▀ │ │ └┤
├────────────┤ │ ┌─┘
│ ▄▄▄▄ │ │ ┌┤
│ ██████ │ │ ││
│ ██████ │ │ ││ <─── LOW-MID 1
│ ██████ │ │ ││
│ ▀▀▀▀ │ │ └┤
├────────────┤ │ ┌─┘
│ ▄▄ │ │ ┌┤
│ ████ │ │ ││ <─── HIGH-MID 1
│ ▀▀ │ │ └┤
├────────────┤ │ ┌┘
│ ▄▄ │ │ ┌┤
│ ██ │ │ ││ <─── TWEETER
│ ▀▀ │ │ └┤
├────────────┤ │ └┐
│ ▄▄ │ │ ┌┤
│ ████ │ │ ││ <─── HIGH-MID 2
│ ▀▀ │ │ └┤
├────────────┤ │ └─┐
│ ▄▄▄▄ │ │ ┌┤
│ ██████ │ │ ││
│ ██████ │ │ ││ <─── LOW-MID 2
│ ██████ │ │ ││
│ ▀▀▀▀ │ │ └┤
├────────────┤ │ └─┐
│ ▄▄▄▄▄▄▄▄ │ │ ┌┤
│ ██████████ │ │ ││
│ ██████████ │ │ ││
│ ██████████ │ │ ││ <─── WOOFER 2
│ ██████████ │ │ ││
│ ██████████ │ │ ││
│ ▀▀▀▀▀▀▀▀ │ │ └┤
└────────────┘ └──────────────┘

The CALSOD data file that could be used to simulate the above system is defined below. All that is missing
are the specific implementations of the SOUND PRESSURE and IMPEDANCE submodules for each of the
four different drivers. These are obtained by curve-fitting in the normal manner. The values denoted by the
symbols X_, Y_ and Z_ are the positions of the acoustic centres of the seven drivers as they are laid out on
the baffle.

For a large system such as the one shown above, it is recommended that the design point where the summed
response is being calculated should be about 3–4 metres away from the centre of the system of drivers. You
should also try and use the EPD submodule to specify an effective piston diameter for each driver in order to
try and simulate the off-axis radiation characteristics of each of the drivers. If you are 3–4 metres away, then
the angles from each of the drivers to the listening point will be small, and hence any directivity effects will
not have a great influence on the results.

This example should give you an idea of the approach required to set up the maximum CALSOD model. Of
course, you are free to use a different driver layout or higher-order filter networks if you so desire. It is quite
a complex task to create such a model, since you must optimize a large number of filters prior to setting up
the complete 7-driver model. Also, if you are trying to optimize the total summed response then there is a
great potential for interaction between the different drivers, so you may need to fix some of the components
on various filter arms in order to get an acceptable optimized summed response.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 269


CIRCUIT
!
! Woofer filter
!
IND L1_value 1 2 0.0 VARIABLE
SPK 1 0 2 X_W1 Y_W1 Z_W1 POSITIVE
SPK 1 0 2 X_W2 Y_W2 Z_W2 POSITIVE
!
! Low-midrange filter
!
IND L2_value 1 3 0.0 VARIABLE
CAP C1_value 3 4 VARIABLE
SPK 2 0 4 X_LM1 Y_LM1 Z_LM1 POSITIVE
SPK 2 0 4 X_LM2 Y_LM2 Z_LM2 POSITIVE
!
! High-midrange filter
!
IND L3_value 1 5 0.0 VARIABLE
CAP C2_value 5 6 VARIABLE
SPK 3 0 4 X_HM1 Y_HM1 Z_HM1 POSITIVE
SPK 3 0 4 X_HM2 Y_HM2 Z_HM2 POSITIVE
!
! Tweeter filter
!
CAP C3_value 1 7 0.0 VARIABLE
SPK 4 0 7 X_T1 Y_T1 Z_T1 POSITIVE
!
DRIVER 1
Woofer
!
SOUND PRESSURE
!
! Include the sound pressure definition for woofer
!
IMPEDANCE
!
! Include the impedance definition for woofer
!
DRIVER 2
Low mid
!
SOUND PRESSURE
!
! Include the sound pressure
! definition for low-midrange
!
IMPEDANCE
!
! Include the impedance
! definition for low-midrange
!
DRIVER 3
High mid
!
SOUND PRESSURE
!
! Include the sound pressure
! definition for high-midrange
!
IMPEDANCE
!
! Include the impedance
! definition for high-midrange
!
DRIVER 4
Tweeter
!
SOUND PRESSURE
!
! Include the sound pressure
! definition for tweeter
!
IMPEDANCE
!
! Include the impedance
! definition for tweeter

270 – CALSOD 3.10 and CALSOD 1.40 User's Manual


OPTIMIZING IMPEDANCE
EQUALIZATION NETWORKS

In a previous section we presented some simple design formulas for calculating the values of the
components making up typical impedance equalization networks. This section describes how to use
CALSOD to optimize the components of a voice-coil inductance equalization network for a single driver.
Because the driver impedance response includes effects that are not amenable to a simple parameterization,
computer optimization of the impedance equalization circuit may often yield better results than the simple
design calculations described earlier.

Preparing for the optimization

In order to use CALSOD to optimize the components of the impedance equalization network you must first
choose its circuit topology. For most drivers the simple Zobel network will perform quite well. Then all you
need do is calculate the initial estimates of the component values of the impedance equalizer. You can then
define a CIRCUIT module containing only the equalizer components and the SPK submodule connecting
the driver into the circuit. Note that at least one of the equalizer components must be able to vary during the
optimization process. Of course you must also ensure that the transfer function model of the impedance of
the driver is defined in the IMPEDANCE section of the DRIVER module.

You can now begin the optimization process, and once the optimization has converged you can display the
optimized component values of the impedance equalization network. In order to compare the equalized and
unequalized driver impedance all you need to do is display the driver impedance and the calculated input
impedance of the driver/equalizer combination. Note that the input impedance of the complete circuit
represents the equalized impedance of the loudspeaker. Therefore, when you select the input impedance and
the driver impedance plots in CALSOD you will be able to compare the equalized impedance of the
loudspeaker with its unequalized impedance.

Example – optimizing the woofer impedance equalizer

As an example of the above procedure we will describe the optimization of the impedance equalizer used to
cancel the voice-coil inductance effects of the woofer that has been used in previous examples. For the
woofer, we choose a point F = 10000 Hz where the magnitude of the impedance is │Z│ = 35.8 ohms, and Re
= 6.1 ohms. Note that different frequencies will yield different values of Le, but this is unimportant as the
optimizer will determine a better solution. Hence, using the formula developed in the section of impedance
equalization, we obtain:

½ ½
(│Z│² - Re²) (35.8² - 6.1²)
Le = ───────────── = ─────────────── = 5.61E-04 H
2π×F 2π×10000

The next step is to determine the initial values of the components used in the impedance equalization
network. Using the formulas presented in the section on impedance equalization we obtain:

Le 5.61E-4
Ceq = ──── = ─────── = 15.08E-06 F
Re 6.1²
Req = Re = 6.1 ohms

CALSOD 3.10 and CALSOD 1.40 User's Manual – 271


Circuit definition and data file

For this simple case, it turns out that the values of Ceq and Req are a very good initial choice, and are very
close to the optimized values. In order to make the optimization a little more interesting we will reduce the
value of Ceq by an order of magnitude to 1.508E–06 F. This will introduce significant errors between the
calculated input impedance and the target impedance.

Having determined all the relevant component values, the resulting circuit and data file used to optimize the
values of Ceq and Req are given below. Note that the woofer sound pressure section in the DRIVER module
has been omitted in order to speed the calculations when the data file is read in by CALSOD. Also, only the
components corresponding to Ceq and Req are permitted to vary during the optimization.

1──────┬───────┐
┌─┴─┐ │
│Ceq│ │+ Ceq = 1.51E-06 F
└─┬─┘ ┌──┴───┐
2 │WOOFER│
┌─┴─┐ └──┬───┘
│Req│ │- Req = 6.1 ohms
└─┬─┘ │
0──────┴───────┘

The following is a listing of the data file WIMPEQ.C31 which is used as a trial design for the optimization
of the component values of the impedance equalization network. Note that the target impedance is a constant
6.1 ohm resistance.

01> ! -------------------------------------------------
02> ! OPTIMIZATION OF IMPEDANCE EQUALIZATION FOR WOOFER
03> ! -------------------------------------------------
04> !
05> ! Optimizer frequency range : 1 kHz to 20 kHz
06> ! Optimizer subintervals : 10
07> !
08> CIRCUIT
09> RES 6.1 0 2 VARIABLE
10> CAP 1.51E-6 1 2 VARIABLE
11> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
12> !
13> TARGET IMPEDANCE
14> ICR 6.1
15> !
16> TARGET SPL
17> XYZ 0.0 0.0 0.0
18> SEN 92.0 DB
19> !
20> DRIVER 1
21> Woofer
22> IMPEDANCE
23> IMP 33.83 6.10 143.20 0.00722 0.701 0.01317 0.690 0.261
24> MPE 420.0 4.23 1.203 LINEAR

Setting up analysis parameters

From CALSOD’s main menu, select the option which allows you to read in a data file, and type in the name
of the new data file which is WIMPEQ.C31. Once WIMPEQ.C31 has been read in, answer “N” to the
question which asks whether or not to calculate the system transfer functions. When the main menu
reappears, select the option which allows you to redefine the frequency range and the number of
subintervals used in the optimization.

When the frequency range and iteration parameters menu appears select the option which enables you to
change the lower and upper frequency limits for the optimization. The lower frequency limit is chosen to be

272 – CALSOD 3.10 and CALSOD 1.40 User's Manual


1 kHz since by this point the impedance response of the woofer is relatively flat. The upper frequency limit
is chosen to be 20 kHz since we want the impedance equalizer to be effective at least up to this point. Now
change the number of subintervals to 10. In order to return to the main menu, press the Esc key. Answer “Y”
to the question which asks whether or not to recalculate the system transfer functions. There will be a short
delay while they are calculated, and then the main menu reappears.

If you like, you can plot the graphs of the target impedance response, the driver impedance, and the input
impedance. Before you do so, you should alter the plotting parameters so that the minimum impedance is
0 ohms and the maximum impedance is 25 ohms. This will give a useful set of limits for plotting out the
equalized and unequalized impedance response of the woofer. The lower limit of the plotting frequency
range can be set to 200 Hz, while the upper limit can be set to 20 kHz.

After returning to the main menu you can choose the plotting option. Once the submenu appears, you should
choose to display the woofer driver impedance (which corresponds to the unequalized impedance), and also
the input impedance of the complete circuit (which corresponds to the equalized impedance of the woofer).
You can also select the target input impedance for display. The plot in Figure 68 shows the target input
impedance, the actual input impedance, and the woofer voice-coil impedance function prior to the
impedance equalization network being optimized.

Figure 68: Target impedance, input impedance (woofer plus impedance equalizer), and woofer
voice-coil impedance before optimizing the Zobel impedance equalization network.

Carrying out the optimization

In order to begin the optimization process, select the appropriate option from the main menu. After you
select the circuit impedance optimizer, a new display appears and it contains data pertaining to the
optimization being carried out. Pay particular attention to the display row which shows the minimum
residual error that has been achieved. You will notice that the current error and the minimum error fluctuate
during the optimization process. After about 8 iterations have been carried out it will be evident that the
minimum error is not improving significantly. You can manually terminate the optimization procedure by
pressing the Esc key.

Once the impedance optimizer has finished you can display the equalized impedance by plotting out the
resulting input impedance. From the main menu you should first select the option which allows you to plot
the results. When the submenu appears, you should choose to display the woofer driver impedance (which
corresponds to the unequalized impedance), and also the input impedance of the complete circuit (which
corresponds to the equalized impedance of the woofer). The plot in Figure 69 shows a comparison of the
unequalized woofer impedance and the equalized version obtained after the components of the Zobel
network have been optimized. It is evident that the impedance equalization network has had a significant
effect, and the impedance in the range from 1 kHz to 20 kHz is now very flat. It is a close approximation to a

CALSOD 3.10 and CALSOD 1.40 User's Manual – 273


constant resistance of about 6.1 ohms, as indicated by the phase angle being approximately equal to 0° over
the frequency range of interest.

Figure 69: Target impedance, input impedance (woofer plus impedance equalizer), and woofer
voice-coil impedance after optimizing the Zobel impedance equalization network.

The table below compares the values of the impedance equalization circuit elements both before and after
the optimization.

┌───────────┬───────────┬───────────┐
│ Woofer │ Initial │ Optimized │
│ Impedance │ Component │ Component │
│ Equalizer │ Value │ Value │
├───────────┼───────────┼───────────┤
│ Ceq F │ 1.51E-06 │ 21.20E-06 │
│ Req ohm │ 6.10 │ 6.90 │
└───────────┴───────────┴───────────┘

274 – CALSOD 3.10 and CALSOD 1.40 User's Manual


OPTIMIZING CONJUGATE
IMPEDANCE EQUALIZATION
NETWORKS

Most loudspeaker systems present a complex impedance load to the power amplifier used to drive them.
Although the nominal impedance might be 8 ohms or some similar value, this figure usually varies quite
radically with frequency. Actual measurements show that the loudspeaker load can cause a phase shift
between voltage and current of 60° or even more. Designing power amplifier output stages to handle a 60°
reactive load without the triggering of protection circuits places an added burden on the amplifier
manufacturer, and many amplifiers have difficulty in driving such highly reactive loads.

It is possible to introduce additional network elements which are added to the basic crossover circuits to
mirror the impedance characteristics of the drivers and crossovers, so that the load or input impedance seen
by the amplifier becomes effectively as pure a resistance as possible. This technique of equalizing the input
impedance of the loudspeaker system is often known as conjugate load matching, and it generally makes the
loudspeaker an easier load for the power amplifier, assuming that the minimum impedance is satisfactory.
Although the additional circuits make the crossover network more costly to build, the owner of the speaker
system benefits because he may not need to change to a more capable amplifier.

In a previous section we presented a design example for optimizing the components in a Zobel network in
order to counteract the impedance rise caused by the voice-coil inductance. This section describes how to
use CALSOD to optimize the components of a conjugate impedance network which is used to equalize the
input impedance of a multiway loudspeaker system. Note that in this example no attempt will be made to
provide conjugate load matching for the impedance peaks introduced by the vented-box low-frequency
alignment.

Prior to equalizing the input impedance, it is necessary to determine the component values of the crossover
networks that are attached to each of the drivers. These can be obtained by optimizing the crossover network
using the methods described earlier in this manual. Once these components have been determined, it is
possible to connect impedance equalization networks, such as the Zobel networks and notch filters described
in the section titled Impedance Equalization, in parallel across the input terminals of the complete system.
The impedance equalization will then affect only the input impedance as seen by the power amplifier, and
the response characteristics of the crossover network will remain unaltered. It is worthwhile noting that a
parallel connection can only serve to decrease the input impedance in a selected frequency band; no increase
can be achieved.

Some initial considerations

In this example we will consider the two-way system with coincident drivers and crossover network
components that have already been optimized. The input impedance of this system is shown in Figure 70
and Figure 71 for two different frequency ranges. Examination of the plot in Figure 71 indicates that there is
a significant peak in the impedance characteristic at about 1500 Hz, which is caused by the combined effects
of the lowpass and highpass filter networks loaded by their respective drivers. Also, there is a slow rise
above 7000 Hz caused by the voice-coil inductance of the tweeter.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 275


Figure 70: Plot of the input impedance of the two-way system.

Figure 71: Plot of the input impedance of the two-way system over a different frequency range.

The complete circuit for the crossover network combined with a suitable conjugate load matching network
appears below and will now be described in detail. Note that the use of a parallel connection for the
conjugate network has the added benefit that the nodes of the original circuit do not have to be renumbered
when the conjugate load matching network is introduced into the circuit.

276 – CALSOD 3.10 and CALSOD 1.40 User's Manual


╔══════════════════════════════╦════════════════════════════╗
║ CONJUGATE IMPEDANCE ║ ORIGINAL OPTIMIZED ║
║ EQUALIZATION NETWORK ║ CROSSOVER NETWORK ║
╠══════════════════════════════╬════════════════════════════╣
║ ║ ┌──┐ ║
║ 1───────────┬─────┬─────────║───┬──┤L1├───2───────┐ ║
║ │ │ ║ │ └──┘ ┌─┴─┐ │ ║
║ ┌─┴─┐ │ ║ │ │R1 │ │+ ║
║ │L3 │ │ ║ │ └─┬─┘ ┌──┴───┐ ║
║ └─┬─┘ ┌─┴─┐ ║ │ 3 │WOOFER│ ║
║ 6 │C4 │ ║ │ ┌─┴─┐ └──┬───┘ ║
║ ┌─┴─┐ └─┬─┘ ║ │ │C1 │ │- ║
║ │C3 │ 8 ║ │ └─┬─┘ │ ║
║ └─┬─┘ ┌─┴─┐ ║ │ 0─────┴───────┘ ║
║ 7 │R4 │ ║ │ ┌──┐ ┌──┐ ║
║ ┌─┴─┐ └─┬─┘ ║ └──┤C2├──4──┤R2├──5 ║
║ │R3 │ │ ║ └──┘ │ └──┘ │+ ║
║ └─┬─┘ │ ║ ┌─┴─┐ ┌───┴───┐ ║
║ 0───────────┴─────┘ ║ │L2 │ │TWEETER│ ║
║ ║ └─┬─┘ └───┬───┘ ║
║ ║ │ │- ║
║ ║ 0─────────┴────────┘ ║
╚══════════════════════════════╩════════════════════════════╝
┌────────────────────┐
│L1 = 0.38E-03 H │ Original woofer crossover
│C1 = 6.25E-06 F │ network (fixed)
│R1 = 38.20 ohms │
└────────────────────┘
┌────────────────────┐
│L2 = 0.26E-03 H │ Original tweeter crossover
│C2 = 5.76E-06 F │ network (fixed)
│R2 = 1.02 ohms │
└────────────────────┘
┌────────────────────┐
│C3 = 27.21E-06 F │ Notch filter for input
│L3 = 0.41E-03 H │ impedance (variable)
│R3 = 6.79 ohms │
└────────────────────┘
┌────────────────────┐
│R4 = 5.00 ohms │ Zobel network for input
│C4 = 4.00E-06 F │ impedance (variable)
└────────────────────┘

Calculation of initial impedance equalizer values

Having chosen a network topology, the next step is to determine the initial values of the components used in
the conjugate impedance equalization network. To begin with, we will estimate the component values of the
impedance notch required to flatten the input impedance curve in the vicinity of 1500 Hz. The notch filter
corresponds to the network used to remove an impedance peak due to resonance of a loudspeaker driver.

If we specify that the desired input impedance of the complete system is to be 5 ohms, then the initial
component values can be calculated as follows:

Zmax = 14.0 ohms (magnitude of impedance peak at 1500 Hz)


Re = 5.0 ohms (desired input impedance)
Qts = 0.5 (estimate of Q of resonance)
Res = Zmax - Re = 14.0 - 5.0 = 9.00 ohms
Rem = 1/(1/Res + 1/Re) = 1/(1/9 + 1/5) = 3.21 ohms
Qms = Qts×Res/Rem = 0.5×9.0/3.21 = 1.40
Qes = 1/(1/Qts - 1/Qms) = 1/(1/0.5 - 1/1.4) = 0.78

CALSOD 3.10 and CALSOD 1.40 User's Manual – 277


───┬─── Qes Re 0.78×5
┌─┴─┐ L3 = ────── = ─────── = 0.41E-03 H
│L3 │ 2π Fs 2π×1500
└─┬─┘
┌─┴─┐ 1 1
│C3 │ C3 = ──────────── = ────────────── = 27.21E-06 F
└─┬─┘ 2π Fs Re Qes 2π×1500×5×0.78
┌─┴─┐
│R3 │ Qes Re 0.5×5
└─┬─┘ R3 = Re + ────── = 5.0 + ───── = 6.79 ohms
───┴─── Qms 1.40

We will now estimate the component values required for the Zobel network used to equalize the high-
frequency rise in the input impedance that is caused by the voice-coil inductance of the tweeter. The voice-
coil inductance of the tweeter is estimated to be about 0.10E–03 henries (this value is not critical since the
optimization will vary the components), and the desired input resistance (5 ohms) is used in place of the
voice-coil resistance. Using the formulas presented in the section on impedance equalization using a Zobel
network we obtain:

───┬───
┌─┴─┐ Le 0.10E-3
│C4 │ C4 = ─── = ─────── = 4.00E-06 F
└─┬─┘ Re² 5.0²
┌─┴─┐
│R4 │ R4 = 5.0 ohms
└─┬─┘
───┴───

Defining the target impedance function

In order to carry out the optimization of the input impedance you must specify a suitable target impedance
function. A suitable TARGET IMPEDANCE module that specifies a constant 5 ohm frequency-independent
target resistance is listed below:

TARGET IMPEDANCE
ICR 5.0

Creating the data file

Having determined all the relevant component values for the conjugate impedance network, the resulting
data file used to optimize the values of the impedance equalization network was created by editing and
suitably modifying the data file called TWOWAY4.C14 (note that the optimized component values are
used). The following is a listing of the data file SYSIMPEQ.C31 which is used as the initial design for the
impedance optimizer.

01> ! -------------------------------------------------------
02> ! TWO-WAY SYSTEM CONJUGATE IMPEDANCE NETWORK OPTIMIZATION
03> ! -------------------------------------------------------
04> !
05> ! Optimizer frequency range: 500 Hz to 50 kHz
06> ! Optimizer subintervals : 15
07> !
08> ! Contains optimized driver filter components and the
09> ! conjugate networks for impedance equalization.
10> !
11> ! Driver acoustic centres are assumed coincident.
12> !
13> CIRCUIT
14> !
15> ! Conjugate network for peak at 1500 Hz
16> !
17> IND 0.41E-3 1 6 0.00 VARIABLE
18> CAP 27.21E-6 6 7 VARIABLE

278 – CALSOD 3.10 and CALSOD 1.40 User's Manual


19> RES 6.79 0 7 VARIABLE
20> !
21> ! Conjugate network for tweeter inductance rise
22> !
23> CAP 4.00E-6 1 8 VARIABLE
24> RES 5.00 0 8 VARIABLE
25> !
26> ! Previously optimized filter network for woofer
27> !
28> IND 0.38E-3 1 2 0.36 FIXED
29> RES 38.20 2 3 FIXED
30> CAP 6.25E-6 0 3 FIXED
31> SPK 1 0 2 0.0 0.0 0.0 POSITIVE
32> !
33> ! Previously optimized filter network for tweeter
34> !
35> CAP 5.76E-6 1 4 FIXED
36> IND 0.26E-3 0 4 0.25 FIXED
37> RES 1.02 4 5 FIXED
38> SPK 2 0 5 0.0 0.0 0.0 POSITIVE
39> !
40> TARGET IMPEDANCE
41> ICR 5.0
42> !
43> TARGET SPL
44> XYZ 0.0 0.0 0.0
45> SEN 90.0 DB
46> !
47> DRIVER 1
48> Woofer
49> SOUND PRESSURE
50> SEN 92.0 DB
51> SVB 33.8 0.261 4.0 1.5 7.0
52> MPE 580.0 3.993 -1.145 DB
53> MPE 2000.0 1.910 2.625 DB
54> BUT 4350.0 4 LOWPASS
55> IMPEDANCE
56> IVB 33.8 6.10 0.00722 0.701 0.01317 0.690 6.127 0.273 4.0 1.5 7.0
57> MPE 420.0 4.23 1.203 LINEAR
58> !
59> DRIVER 2
60> Tweeter
61> SOUND PRESSURE
62> SEN 90.0 DB
63> HLR 532.5 0.0 3.14 0.43 0.0
64> MPE 1200.0 2.219 1.013 DB
65> MPE 3500.0 6.336 2.149 DB
66> MPE 6000.0 2.131 -2.160 DB
67> MPE 9000.0 4.774 1.834 DB
68> MPE 12000.0 0.548 0.879 DB
69> MPE 16000.0 4.666 4.304 DB
70> BUT 19000.0 4 LOWPASS
71> IMPEDANCE
72> IMP 532.5 6.10 34.80 3.147E-3 0.5749 8.898E-4 0.7063 0.537
73> MPE 2000.0 4.6782 1.2545 LINEAR
74> MPE 4000.0 1.6142 1.0788 LINEAR
75> MPE 16000.0 9.2615 1.1476 LINEAR

Setting up analysis parameters

When you see CALSOD’s main menu, read in the new data file SYSIMPEQ.C31. Once SYSIMPEQ.C31
has been read in, answer “N” to the question which asks whether or not to calculate the system transfer
functions.

When the main menu reappears, select the option which allows you to redefine the frequency range and the
number of subintervals used in the optimization. Change the lower frequency limit to be 500 Hz, since it is
not really worthwhile trying to flatten the input impedance below this frequency. The upper frequency limit

CALSOD 3.10 and CALSOD 1.40 User's Manual – 279


is chosen to be 50 kHz since we want the impedance equalizer to be effective up to this point. Now change
the number of subintervals to be 15. The value selected is somewhat arbitrary, but since we have a large
frequency span (2 decades) it is useful to have a reasonably fine spacing between points. make sure you
recalculate all the system transfer functions when you return to the main menu.

Plots of the input impedance of the two-way system over two different frequency ranges are shown in Figure
70 and Figure 71. If you like, you can plot the graphs of the target impedance response and the unoptimized
input impedance. The resulting plot should look like the plot in Figure 72. It can be seen that even our crude
application of the design formulas has yielded an input impedance that is fairly flat and relatively closely
approximates a constant resistance.

Figure 72: Input impedance of the two-way system before optimization of the conjugate load
matching network. The desired input impedance is a pure 5 ohm resistance.

Carrying out the optimization

Before beginning the optimization process you will need to read in the file SYSIMPEQ.C31, remembering
to check that the number of subintervals is set to 15 and that the lower and upper limits of the calculation
frequency range are set to 500 Hz and 50 kHz, respectively. In order to begin the optimization process,
select the appropriate option from the main menu. A new display appears, prompting you to choose either
the sound pressure optimizer or the impedance optimizer. Of course, you must choose the impedance
optimizer.

Once the impedance optimizer is activated a new panel will be displayed, and it contains data relevant to the
optimization being carried out. Pay particular attention to the display row which shows the minimum
residual error that has been achieved. You will notice that the current error and the minimum error fluctuate
during the optimization process. After about 10 iterations have been carried out it will be evident that the
minimum error is not improving significantly with each new iteration. It is therefore necessary to manually
terminate the optimization procedure by pressing the Esc key.

The table below compares the values of the impedance equalization circuit elements both before and after
the optimization. It can be seen that the optimization has varied all the component values in order to achieve
the desired target response.

280 – CALSOD 3.10 and CALSOD 1.40 User's Manual


┌──────────────────┬───────────┬───────────┐
│ CONJUGATE │ Initial │ Optimized │
│ IMPEDANCE │ Component │ Component │
│ NETWORK │ Value │ Value │
├──────────────────┼───────────┼───────────┤
│ Notch C3 F │ 27.21E-06 │ 31.23E-06 │
│ Filter L3 H │ 0.41E-03 │ 0.47E-03 │
│ R3 ohm │ 6.79 │ 7.31 │
├──────────────────┼───────────┼───────────┤
│ Zobel R4 ohm │ 5.00 │ 6.15 │
│ Network C4 F │ 4.00E-06 │ 1.16E-06 │
└──────────────────┴───────────┴───────────┘

Displaying the equalized input impedance

After the optimization has been successfully completed, select the option from the main menu which permits
you to plot out the resulting transfer functions. When the submenu appears, you should choose to display the
input impedance, which now corresponds to the equalized impedance. If you wish you can also choose to
display the target impedance function in order to compare the optimized input impedance with the design
target.

Figure 72 plots the equalized input impedance response before the impedance optimization, and Figure 73
shows the results after optimization. Comparing the plots in Figure 71 and Figure 73, it is easy to see the
effects of the conjugate load matching network on the magnitude and phase of the original input impedance.
It is evident that the impedance equalization network has had a significant effect, and the input impedance in
the range from 500 Hz to 50 kHz is now very flat. It is a close approximation to a constant resistance of
about 5 ohms over much of this frequency range. In particular, over most of the frequency range, the phase
variation of the impedance is in the range –20° to +20°, so this two-way system should prove to be a
relatively easy load for any power amplifier to drive. Note that the sound pressure response of the two-way
system is unaffected because the conjugate network is connected in parallel with the crossover network.

Figure 73: Input impedance of the two-way system after optimization of the conjugate load
matching network. The desired input impedance is a pure 5 ohm resistance.

In passing, it might be said that this example two-way system probably did not really require any
equalization of its input impedance. Although the original input impedance varied significantly in
magnitude, the phase angles were generally fairly modest. Even so, the optimization was successful in
improving the input impedance by making it more nearly resistive in nature.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 281


OPTIMIZING ACTIVE
CROSSOVER NETWORKS

In this section we will describe how CALSOD can be used to design and optimize active filters for use in
crossover networks. The design examples will consist of active lowpass and highpass filters for a woofer
and a tweeter. These will then be combined to create a two-way active crossover for a two-way system
which uses the woofer and tweeter. The active filters make use of the IOA submodule which allows you to
model ideal operational amplifiers.

In the examples that follow, the woofer’s lowpass filter and the tweeter’s highpass filter are selected to be
complementary fourth-order Linkwitz-Riley filter functions. That is, the desired acoustic sound pressure
responses of each of the drivers in the crossover region are to have the magnitude and phase response of
fourth-order Linkwitz-Riley filters. The nominal crossover frequency is chosen to be 2900 Hz, which is
typical of many two-way systems made up of a 200 mm woofer and 34 mm tweeter.

Initial design of active filter for woofer

Because the sound pressure response of the woofer is rolling off quite rapidly above about 4 kHz, the active
filter chosen for this driver will be of second order, as this will still allow us to achieve a combined
driver/filter transfer function with the required performance. The active filter network topology for the
woofer lowpass filter is given below.

┌──────┬─────────────┐
┌┴─┐ │ │
│C1│ │ ┌────────┐ │
└┬─┘ └──┤- │ │ ┌──┐
┌──┐ │ ┌──┐ │ OPAMP ├─4──┤R3├─5─────┐
Input 1──┤R1├─2─┤R2├─3──┤+ │ └──┘ │ │
└──┘ └──┘ │ └────────┘ │ │+
┌┴─┐ ┌─┴┐ ┌─┴─┐
│C2│ │R4│ │Rlo│
└┬─┘ └─┬┘ └─┬─┘
│ │ │-
Ground 0──────────────┴─────────────────────┴─────┘

Using the design formulas for a second-order active Linkwitz-Riley lowpass filter that were presented
elsewhere, the component values of the above active network can be calculated for a desired crossover
frequency of 2900 Hz. By arbitrarily setting R = 39.0E+03 ohms we obtain:

R = 39.00E+03 ohms
C = 1.41E-09 F

1
Fc = ────── = 2900 Hz
2π×R×C

R1 = R = 39.00E+03 ohms C1 = C = 1.41E-09 F


R2 = R = 39.00E+03 ohms C2 = C = 1.41E-09 F
R3 = 500 ohms
R4 = 1000 ohms

Note that the above network also includes a voltage divider composed of R3 = 500 ohms and R4
= 1000 ohms, and this will be used to provide an overall level of attenuation to the woofer. With the present
values, the amount of attenuation is 0.67 (or about -3.5 dB). In order for this voltage divider to work

282 – CALSOD 3.10 and CALSOD 1.40 User's Manual


correctly, it is necessary to ensure that the value of the lowpass filter load Rlo is set to a high value, say
100 kohms.

The resulting data file is called ALKR4W.C31, and is presented below. Note that the original IMPEDANCE
module for the woofer has been replaced by an ICR submodule that simulates a 100 kohm resistor. This
approach is valid since in an active system the woofer will generally be driven by a power amplifier, and
this will present a high impedance load to the output of the active crossover. Therefore the voltage divider
composed of R1 and R2 will behave in an ideal manner. Also, the input voltage is specified to be +3.0 dB
re 2.83 volts, and with a target sensitivity of 90 dB and driver sensitivity of 92 dB this means that in the
passband the output will initially be about 91.5 dB. To enable the attenuation to be easily varied by the
optimizer, it is necessary for the value of R4 to be fixed during the optimization while all the other
components are allowed to vary.

01> ! -----------------------------------------
02> ! 2ND-ORDER LINKWITZ-RILEY ACTIVE LP FILTER
03> ! -----------------------------------------
04> !
05> ! Optimizer frequency range : 100 Hz to 5 kHz
06> ! Optimizer subintervals : 15
07> !
08> ! Lowpass filter crossover point 2.9 kHz
09> !
10> CIRCUIT
11> VIN 3.00 DB
12> RES 39.00E+3 1 2 VARIABLE
13> RES 39.00E+3 2 3 VARIABLE
14> CAP 1.41E-9 2 4 VARIABLE
15> CAP 1.41E-9 0 3 VARIABLE
16> IOA 4 3 4
17> !
18> ! Voltage divider for adjusting
19> ! output level from woofer filter
20> !
21> RES 500.0 4 5 VARIABLE
22> RES 1000.0 0 5 FIXED
23> !
24> SPK 1 0 5 0 0 0 POSITIVE
25> !
26> ! Target 4th-order Linkwitz-Riley
27> ! lowpass response
28> !
29> TARGET SPL
30> XYZ 0.0 0.0 0.0
31> SEN 90.0 DB
32> LKR 2.9E+3 4 LOWPASS
33> !
34> DRIVER 1
35> Woofer
36> SOUND PRESSURE
37> SEN 92.0 DB
38> SVB 33.8 0.261 4.0 1.5 7.0
39> MPE 580.0 3.993 -1.145 DB
40> MPE 2000.0 1.910 2.625 DB
41> BUT 4350.0 4 LOWPASS
42> IMPEDANCE
43> ICR 100.0E+3

Initial design of active filter for tweeter

Because the sound pressure response of the tweeter is extended well below the desired crossover frequency,
the tweeter will utilize a full fourth-order crossover topology. Hence the full attenuation characteristics of
the active filter will need to be used in order to obtain the desired acoustic transfer function. The active filter
network topology for the tweeter highpass filter is given below.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 283


┌────┬────────┐ ┌────┬─────────┐
┌┴─┐ │ │ ┌┴─┐ │ │
│R1│ │┌──────┐│ │R3│ │┌──────┐ │
└┬─┘ └┤- ││ └┬─┘ └┤- │ │ ┌──┐
┌──┐│┌──┐ │ OPAMP├┤ ┌──┐│┌──┐ │ OPAMP├─7─┤R5├─8────┐
Input 1─┤C1├2┤C2├3┤+ │└4─┤C3├5┤C4├6┤+ │ └──┘ │ │
└──┘ └──┘│└──────┘ └──┘ └──┘│└──────┘ │ │+
┌┴─┐ ┌┴─┐ ┌─┴┐ ┌─┴─┐
│R2│ │R4│ │R6│ │Rhi│
└┬─┘ └┬─┘ └─┬┘ └─┬─┘
│ │ │ │-
Ground 0──────────┴────────────────────┴────────────────┴────┘

Using the design formulas for a fourth-order active Linkwitz-Riley highpass filter that were presented
elsewhere, the component values of the above active network can be calculated for a desired crossover
frequency of 2900 Hz. By arbitrarily setting R = 39 kohms we obtain:

R = 39.0E+03 ohms
C = 1.0E-09 F

1
Fc = ──────── = 2900 Hz
2π√2×R×C
R1 = R = 39.0E+03 ohms C1 = C = 1.0E-09 F
R2 = 2R = 78.0E+03 ohms C2 = C = 1.0E-09 F
R3 = R = 39.0E+03 ohms C3 = C = 1.0E-09 F
R4 = 2R = 78.0E+03 ohms C4 = C = 1.0E-09 F
R5 = 250 ohms
R6 = 1000 ohms

The network also includes a voltage divider composed of R5 = 250 ohms and R6 = 1000 ohms, and this will
be used to provide an overall level of attenuation to the tweeter. With the present values, the amount of
attenuation is 0.80 (or about –1.9 dB). In order for this voltage divider to work correctly, it is necessary to
ensure that the value of the highpass filter load Rhi is set to a large value, say 100 kohms.

The resulting data file is called ALKR4T.C31, and is presented below. As was the case with the woofer, the
original IMPEDANCE module for the tweeter has been replaced by an ICR submodule that simulates a
100 kohm resistor, thus allowing the resistors R5 and R6 to act as a true voltage divider. To enable the
attenuation to be easily varied by the optimizer, it is necessary for the value of R6 to be fixed during the
optimization while all the other components are allowed to vary.

01> ! -----------------------------------------
02> ! 4TH-ORDER LINKWITZ-RILEY ACTIVE HP FILTER
03> ! -----------------------------------------
04> !
05> ! Optimizer frequency range : 1.5 kHz to 20 kHz
06> ! Optimizer subintervals : 15
07> !
08> ! Highpass filter crossover point 2.9 kHz
09> !
10> CIRCUIT
11> VIN 3.00 DB
12> RES 39.00E+3 2 4 VARIABLE
13> RES 78.00E+3 0 3 VARIABLE
14> RES 39.00E+3 5 7 VARIABLE
15> RES 78.00E+3 0 6 VARIABLE
16> CAP 1.00E-9 1 2 VARIABLE
17> CAP 1.00E-9 2 3 VARIABLE
18> CAP 1.00E-9 4 5 VARIABLE
19> CAP 1.00E-9 5 6 VARIABLE
20> IOA 4 3 4
21> IOA 7 6 7
22> !
23> ! Voltage divider for adjusting

284 – CALSOD 3.10 and CALSOD 1.40 User's Manual


24> ! output level from tweeter filter
25> !
26> RES 250.0 7 8 VARIABLE
27> RES 1000.0 0 8 FIXED
28> !
29> SPK 1 0 8 0 0 0 POSITIVE
30> !
31> ! Target 4th-order Linkwitz-Riley
32> ! highpass response
33> !
34> TARGET SPL
35> XYZ 0.0 0.0 0.0
36> SEN 90.0 DB
37> LKR 2.9E+3 4 HIGHPASS
38> !
39> DRIVER 1
40> Tweeter
41> SOUND PRESSURE
42> SEN 90.0 DB
43> HLR 532.5 0.0 3.14 0.43 0.0
44> MPE 1200.0 2.219 1.013 DB
45> MPE 3500.0 6.336 2.149 DB
46> MPE 6000.0 2.131 -2.160 DB
47> MPE 9000.0 4.774 1.834 DB
48> MPE 12000.0 0.548 0.879 DB
49> MPE 16000.0 4.666 4.304 DB
40> BUT 19000.0 4 LOWPASS
41> IMPEDANCE
42> ICR 100E+03

Optimizing the woofer active lowpass filter

From CALSOD’s main menu, select the option which allows you to read in a data file, and type in the name
of the data file which is ALKR4W.C31. Once the data file has been read in, answer “N” to the question
which asks whether or not to calculate the system transfer functions. Before we proceed we must adjust
some parameters that will affect the optimizer.

When the main menu reappears, select the option which allows you to redefine the frequency range and the
number of subintervals used in the optimization. Change the lower and upper frequency limits for the
optimization to be 100 Hz and 5 kHz (by this point the target response in the stopband is about 20 dB below
the level in the passband). Set the number of subintervals to be 15, since this will give a reasonable
frequency resolution for the optimizer to work with. Now exit this submenu, making sure that you answer
“Y” to the question which prompts you to recalculate the system transfer functions.

The plot in Figure 74 compares the target acoustic sound pressure response to the response achieved by your
trial filter design for the woofer. Select the option from the main menu which allows you to view plots of a
chosen set of responses. When the submenu appears you should select the code letters that allow you to
view the filtered response of the driver and the target response. The plotting frequency range should be set
to be 100 Hz to 20 kHz, and the minimum and maximum values of the dB axis should be set to 75 dB and
100 dB, since these values will give a reasonable plot.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 285


Figure 74: Target and resultant sound pressure response for the woofer with an active Linkwitz-
Riley filter obtained before optimization.

To begin the optimization process, select the appropriate option from the main menu. When the submenu
appears, you should select the option that allows you to optimize the circuit components in order to match
the target sound pressure function. After about 24 iterations have taken place you can press the Esc key to
stop the optimizer, since no further reduction in the error function will take place.

The plot in Figure 75 compares the target and resultant sound pressure responses after the optimization. You
can see that the optimization has succeeded very well in achieving the desired target response. The
magnitude response is in excellent agreement with the target response, but the phase response is a poorer
match at frequencies above 2 kHz. The phase error at the design crossover frequency is about 45°.

Figure 75: Target and resultant sound pressure response for the woofer with an active Linkwitz-
Riley filter obtained after optimization.

The table presented below compares the values of the circuit elements both before and after the
optimization. It is clear that the optimization has significantly varied all of the initial component values
(except for R4, which was fixed) in order to achieve the desired target response.

286 – CALSOD 3.10 and CALSOD 1.40 User's Manual


┌──────────┬───────────┬───────────┐
│ Woofer │ Initial │ Optimized │
│ Filter │ Value │ Value │
├──────────┼───────────┼───────────┤
│ R1 ohm │ 39.00E+03 │ 60.42E+03 │
│ R2 ohm │ 39.00E+03 │ 62.55E+03 │
│ R3 ohm │ 5.00E+02 │ 6.78E+02 │
│ R4 ohm │ 1.00E+03 │ 1.00E+03 │
│ C1 F │ 1.41E-09 │ 1.22E-09 │
│ C2 F │ 1.41E-09 │ 1.08E-09 │
└──────────┴───────────┴───────────┘

Optimizing the tweeter active highpass filter

In order to carry out the analysis of the tweeter active filter network, start CALSOD as described elsewhere
in this manual. When the main menu appears, select the option which allows you to read in a data file, and
type in the name of the data file which is ALKR4T.C31. Once the data file has been read in, answer “N” to
the question which asks whether or not to calculate the system transfer functions. Before we proceed we
must adjust some parameters that will affect the optimizer.

When the main menu reappears, select the option which allows you to redefine the frequency range and the
number of subintervals used in the optimization. Change the lower and upper frequency limits for the
optimization to be 1.5 kHz and 20 kHz (since by this point the target response in the stopband is about
20 dB below the level in the passband). Now set the number of subintervals to 15, since this will give a
reasonable frequency resolution for the optimizer to work with. Now exit this submenu, making sure that
you answer “Y” to the question which prompts you to recalculate the system transfer functions.

The plot in Figure 76 compares the target acoustic sound pressure response to the resultant response
achieved by your trial filter design for the tweeter. As you can see, there is quite a large amount of error
between the two curves. To see these plots on the screen, select the option from the main menu which
allows you to view plots of a chosen set of responses. When the submenu appears you should select the code
letters that allow you to view the filtered response of the driver and the target response. The plotting
frequency range should be set to be 200 Hz to 20 kHz, and the minimum and maximum values of the dB
axis should be set to 75 dB and 100 dB, since these values will give a reasonable plot.

Figure 76: Target and resultant sound pressure response for tweeter with an active Linkwitz-Riley
filter obtained before optimization.

To begin the optimization process, select the appropriate option from the main menu. When the submenu
appears, you should select the option that allows you to optimize the circuit components in order to match
the target sound pressure function. After about 25 iterations have taken place you can press the Esc key to
stop the optimizer, since no further reduction in the error function will take place.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 287


The plot in Figure 77 shows a comparison of the target and resultant sound pressure responses after the
optimization. You can see that the optimization has succeeded very well in achieving the desired target
response. The magnitude response is in excellent agreement with the target response, and at the design
crossover frequency the phase error is negligible.

Figure 77: Target and resultant sound pressure response for tweeter with an active Linkwitz-Riley
filter obtained after optimization.

The table presented below compares the values of the circuit elements both before and after the
optimization. It is clear that the optimization has significantly varied all of the initial component values
(except for R6, which was fixed) in order to achieve the desired target response.

┌──────────┬───────────┬───────────┐
│ Tweeter │ Initial │ Optimized │
│ Filter │ Value │ Value │
├──────────┼───────────┼───────────┤
│ R1 ohm │ 39.00E+03 │ 20.86E+03 │
│ R2 ohm │ 78.00E+03 │139.50E+03 │
│ R3 ohm │ 39.00E+03 │ 14.99E+03 │
│ R4 ohm │ 78.00E+03 │ 71.48E+03 │
│ R5 ohm │ 2.50E+02 │ 8.71E+02 │
│ R6 ohm │ 1.00E+03 │ 1.00E+03 │
│ C1 F │ 1.00E-09 │ 1.55E-09 │
│ C2 F │ 1.00E-09 │ 1.61E-09 │
│ C3 F │ 1.00E-09 │ 1.06E-09 │
│ C4 F │ 1.00E-09 │ 1.05E-09 │
└──────────┴───────────┴───────────┘

Initial design of active filter for two-way system

The active filter network two-way system comprised of the woofer and tweeter is obtained by simply
combining the optimized versions of the lowpass and highpass driver/filter branches. The resulting summed
sound pressure response will then approximate that of a fourth-order Linkwitz-Riley allpass transfer
function. The combined circuit is shown in the diagram below.

288 – CALSOD 3.10 and CALSOD 1.40 User's Manual


┌──────┬───────────┐
┌┴─┐ │ │
│C1│ │ ┌──────┐ │
└┬─┘ └──┤- │ │ ┌──┐
┌──┐ │ ┌──┐ │ OPAMP├─4──┤R3├─5─────┐
Input 1─┬───────┤R1├─2─┤R2├─3──┤+ │ └──┘ │ │
│ └──┘ └──┘ │ └──────┘ │ │+
│ ┌┴─┐ ┌─┴┐ ┌─┴─┐
│ │C2│ │R4│ │Rlo│
│ └┬─┘ └─┬┘ └─┬─┘
│ Ground 0───────┴───────────────────┴─────┘-

│ ┌────┬────────┐ ┌────┬──────────┐
│ ┌┴─┐ │ │ ┌┴─┐ │ │
│ │R5│ │┌──────┐│ │R7│ │ ┌──────┐ │
│ └┬─┘ └┤- ││ └┬─┘ └─┤- │ │ ┌──┐
│┌──┐│┌──┐ │ OPAMP├┤ ┌──┐│┌──┐ │ OPAMP├─11┤R9├─12────┐
└┤C3├6┤C4├7┤+ │└8─┤C5├9┤C6├10┤+ │ └──┘ │ │
└──┘ └──┘│└──────┘ └──┘ └──┘│ └──────┘ │ │+
┌┴─┐ ┌┴─┐ ┌─┴─┐ ┌─┴─┐
│R6│ │R8│ │R10│ │Rhi│
└┬─┘ └┬─┘ └─┬─┘ └─┬─┘
Ground 0──────────┴────────────────────┴─────────────────┴─────┘-

The resulting data file obtained by combining ALKR4W.C31 and ALKR4T.C31 is called ALKR4WT.C31,
and it is presented below.

01> ! -----------------------------------------
02> ! 4TH-ORDER LINKWITZ-RILEY ACTIVE CROSSOVER
03> ! -----------------------------------------
04> !
05> ! Optimizer frequency range: 200 Hz to 20 kHz
06> ! Optimizer subintervals : 20
07> !
08> ! Design crossover point at 2.9 kHz
09> !
10> CIRCUIT
11> !
12> VIN 3.00 DB
13> !
14> ! Woofer filter
15> !
16> RES 60.42E+3 1 2 VARIABLE
17> RES 62.55E+3 2 3 VARIABLE
18> CAP 1.22E-9 2 4 VARIABLE
19> CAP 1.08E-9 0 3 VARIABLE
20> IOA 4 3 4
21> !
22> ! Voltage divider for adjusting
23> ! output level from woofer filter
24> !
25> RES 678.0 4 5 VARIABLE
26> RES 1000.0 0 5 FIXED
27> !
28> SPK 1 0 5 0 0 0 POSITIVE
29> !
30> ! Tweeter filter
31> !
32> RES 20.86E+3 6 8 VARIABLE
33> RES 139.50E+3 0 7 VARIABLE
34> RES 14.99E+3 9 11 VARIABLE
35> RES 71.48E+3 0 10 VARIABLE
36> CAP 1.55E-9 1 6 VARIABLE
37> CAP 1.61E-9 6 7 VARIABLE
38> CAP 1.06E-9 8 9 VARIABLE
39> CAP 1.05E-9 9 10 VARIABLE
40> IOA 8 7 8
41> IOA 11 10 11
42> !

CALSOD 3.10 and CALSOD 1.40 User's Manual – 289


43> ! Voltage divider for adjusting
44> ! output level from tweeter filter
45> !
46> RES 871.00 11 12 VARIABLE
47> RES 1000.00 0 12 FIXED
48> !
49> SPK 2 0 12 0 0 0 POSITIVE
50> !
51> TARGET SPL
52> XYZ 0.0 0.0 0.0
53> SEN 90.0 DB
54> !
55> DRIVER 1
56> Woofer
57> SOUND PRESSURE
58> SEN 92.0 DB
59> SVB 33.8 0.261 4.0 1.5 7.0
60> MPE 580.0 3.993 -1.145 DB
61> MPE 2000.0 1.910 2.625 DB
62> BUT 4350.0 4 LOWPASS
63> IMPEDANCE
64> ICR 100.0E+3
65> !
66> DRIVER 2
67> Tweeter
68> SOUND PRESSURE
69> SEN 90.0 DB
70> HLR 532.5 0.0 3.14 0.43 0.0
71> MPE 1200.0 2.219 1.013 DB
72> MPE 3500.0 6.336 2.149 DB
73> MPE 6000.0 2.131 -2.160 DB
74> MPE 9000.0 4.774 1.834 DB
77> MPE 12000.0 0.548 0.879 DB
76> MPE 16000.0 4.666 4.304 DB
77> BUT 19000.0 4 LOWPASS
78> IMPEDANCE
79> ICR 100E+03

Optimizing the two-way active filter

The plot in Figure 78 shows the acoustic sound pressure response achieved by your trial filter design,
together with the filtered responses of the woofer and tweeter. It is apparent that independent optimization
of the woofer and tweeter active filters has resulted in a summed response that is reasonably flat. For
complementary Linkwitz-Riley filter functions, the outputs of the lowpass and highpass sections should be
in phase at the design crossover frequency, as well as everywhere else in the frequency range. For our initial
design it is apparent that this ideal behaviour is not met. At the crossover frequency of 2900 Hz there is a
phase error between the two outputs of about 45°. However, the summed response is still relatively smooth,
which is testimony to the insensitivity of Linkwitz-Riley filter functions to any phase errors that may be
present in a system.

290 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 78: Summed and filtered sound pressure responses for the woofer and tweeter in a two-way
system with active Linkwitz-Riley filters obtained prior to optimization.

In order to carry out the optimization of the two-way active filter network, you should set the lower and
upper frequency limits to 200 Hz and 20 kHz, and set the number of subintervals to 20. Once you have done
this you can start the optimizer. After about 8 iterations have taken place you can press the Esc key to stop
the optimizer, since no further reduction in the error function will take place.

The plot in Figure 79 shows the resultant sound pressure responses after the optimization, together with the
filtered responses of the woofer and tweeter. Because our initial design matched the specified frequency
independent 90 dB target response quite well, the optimizer made a relatively small reduction in the error
function compared with the reductions that were achieved in previous optimizations. You can see that the
crossover frequency has been lowered to about 2500 kHz, and that the shape of the tweeter’s low-frequency
rolloff has been significantly modified. Figure 80 shows the filter voltage response functions for the woofer
and tweeter after the optimization.

Figure 79: Summed and filtered sound pressure responses for the woofer and tweeter in a two-way
system with active Linkwitz-Riley filters obtained after optimization.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 291


Figure 80: Filter voltage response functions for the woofer and tweeter in a two-way system with
active Linkwitz-Riley filters obtained after optimization.

The table presented below compares the values of the circuit elements both before and after the
optimization. Some components have changed quite significantly, while others have changed only slightly.

┌───────────┬────────────┬────────────┐
│ Filter │ Initial │ Optimized │
│ Component │ Value │ Value │
┌─────────┼───────────┼────────────┼────────────┤
│ │ R1 ohm │ 60.42E+03 │ 65.54E+03 │
│ Active │ R2 ohm │ 62.55E+03 │ 65.70E+03 │
│ Filter │ R3 ohm │ 6.78E+02 │ 7.06E+02 │
│ For │ R4 ohm │ 1.00E+03 │ 1.00E+03 │
│ Woofer │ C1 F │ 1.22E-09 │ 1.83E-09 │
│ │ C2 F │ 1.08E-09 │ 9.97E-10 │
├─────────┼───────────┼────────────┼────────────┤
│ │ R5 ohm │ 20.86E+03 │ 8.10E+03 │
│ │ R6 ohm │ 139.50E+03 │ 204.00E+03 │
│ │ R7 ohm │ 14.99E+03 │ 15.14E+03 │
│ Active │ R8 ohm │ 71.48E+03 │ 73.39E+03 │
│ Filter │ R9 ohm │ 8.71E+02 │ 8.61E+02 │
│ For │ R10 ohm │ 1.00E+03 │ 1.00E+03 │
│ Tweeter │ C3 F │ 1.55E-09 │ 1.90E-09 │
│ │ C4 F │ 1.61E-09 │ 1.98E-09 │
│ │ C5 F │ 1.06E-09 │ 1.03E-09 │
│ │ C6 F │ 1.05E-09 │ 1.05E-09 │
└─────────┴───────────┴────────────┴────────────┘

292 – CALSOD 3.10 and CALSOD 1.40 User's Manual


DESIGNING THE
LOW-FREQUENCY ALIGNMENT

It is relatively easy to use CALSOD to design the low-frequency alignment of vented-box, closed-box,
bandpass and passive-radiator loudspeaker systems. Using the SVB, SCB, SBP, SPR, SDP, SVQ, SCQ, and
SPQ submodules you can quickly simulate the sound pressure response of a wide variety of systems. It is
possible to set up a data file so that you can vary a parameter and plot out the various resulting performance
characteristics. The impedance response can also be modelled by using the appropriate IVB, ICB, IBP, IPR,
IDP, IVQ, ICQ, and IPQ submodules when defining the DRIVER data.

In order to demonstrate this capability, we will describe the setting up of vented-box, closed-box, passive-
radiator, and bandpass systems for a given driver. A single parameter in each system will be varied in order
to determine the most desirable alignment. We will also compare the optimum vented-box, closed-box, and
passive-radiator alignments with each other to get an idea of their relative merits.

If desired, you can edit these data files to investigate other parameter variations, thus using them as
templates for the analysis of your own designs.

The Thiele-Small parameters of the driver are as follows:

Fs = 40.00 Hz
Qms = 3.40
Qes = 0.39
Qts = 0.35
Vas = 120.00 litres

For calculating the impedance we will assume that the voice-coil resistance is 6 ohms, and we will neglect
the voice-coil inductance. Hence we have:

Re = 6.0 ohms
Le = 0.0 henries

For all the design cases, a suitable frequency range for calculating the driver sound pressure responses is
20 Hz to 200 Hz, and about 25 subintervals can be used to generate reasonably smooth plots. If required,
these values can be adjusted from the frequency range and iteration parameters menu. The plotting
parameters menu can be used to change the frequency limits for plotting to be from 20 Hz to 200 Hz, and the
minimum and maximum values of the dB scale for sound pressure plots can be set to 75 dB and 100 dB. The
phase display limits should be set to –180° and +180°. These settings should allow you to see the plots with
adequate clarity.

When you are selecting plots to check the sound pressure or impedance response functions you must realize
that only the selections under the columns labelled as Driver Response and Driver Impedance are valid
ones. The other selections provide information that is irrelevant to this particular type of analysis.

Vented-box loudspeaker systems

In designing the vented-box loudspeaker system we will assume that the system compliance ratio and
enclosure losses are specified as:

α = Vas/Vb = 3.0
QL = = 7.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 293


We will now set up a data file where the system tuning ratio h = Fb/Fs is varied. In order to be able to
compare the sound pressure responses for a number of different values of h, it is necessary to include a
number of separate DRIVER modules, each one being identical to the others except for the value of h that is
used. These drivers are then referred to by the SPK submodules that are connected directly across the input
terminals (nodes 0 and 1) in the CIRCUIT module. The data file is called VENTED.C14 and is listed below.

Note the use of the comment line after each DRIVER statement to denote the value of h that applies to that
driver. This will be used to label the graphs when they are plotted, so you will be able to remember the value
of h that was used to generate each of the four plots.

Once you have read in the VENTED.C14 data file and the system transfer functions have been calculated,
you can display the plots of the driver sound pressure and impedance responses. These should look similar
to those shown in Figure 81 and Figure 82. It is evident that the maximally flat response corresponds to h
= 1.20.

Figure 81: Sound pressure responses for a vented-box system obtained for various values of the
system tuning ratio h, for a given set of Thiele-Small parameters.

Figure 82: Impedance responses for a vented-box system obtained for various values of the system
tuning ratio h, for a given set of Thiele-Small parameters.

01> ! ------------------------------------------------
02> ! FILE FOR DESIGN OF VENTED-BOX LOUDSPEAKER SYSTEM
03> ! ------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE

294 – CALSOD 3.10 and CALSOD 1.40 User's Manual


09> SPK 4 0 1 0.0 0.0 0.0 POSITIVE
10> !
11> DRIVER 1
12> H = 0.80
13> SOUND PRESSURE
14> SEN 95.0 DB
15> SVB 40.0 0.35 2.00 0.80 7.00
16> IMPEDANCE
17> IVB 40.0 6.00 0.00 3.40 0.39 2.00 0.80 7.00
18> !
19> DRIVER 2
20> H = 1.20
21> SOUND PRESSURE
22> SEN 95.0 DB
23> SVB 40.0 0.35 2.00 1.20 7.00
24> IMPEDANCE
25> IVB 40.0 6.00 0.00 3.40 0.39 2.00 1.20 7.00
26> !
27> DRIVER 3
28> H = 1.40
29> SOUND PRESSURE
30> SEN 95.0 DB
31> SVB 40.0 0.35 2.00 1.40 7.00
32> IMPEDANCE
33> IVB 40.0 6.00 0.00 3.40 0.39 2.00 1.40 7.00
34> !
35> DRIVER 4
36> H = 1.60
37> SOUND PRESSURE
38> SEN 95.0 DB
39> SVB 40.0 0.35 2.00 1.60 7.00
40> IMPEDANCE
41> IVB 40.0 6.00 0.00 3.40 0.39 2.00 1.60 7.00
42> !
43> TARGET SPL
44> SEN 90.0 DB

Closed-box loudspeaker systems

In designing the closed-box loudspeaker system we will assume the that the system compliance ratio α
= Vas/Vb will be varied from one design to the next. As before, in order to be able to compare the sound
pressure responses for a number of different values ofα, it is necessary to include a number of separate
DRIVER modules, each one being identical to the others except for the value of α that is used. These drivers
are then referred to by the SPK submodules that are connected directly across the input terminals (nodes 0
and 1) in the CIRCUIT module. The data file is called CLOSED.C14 and is listed below:

01> ! ------------------------------------------------
02> ! FILE FOR DESIGN OF CLOSED-BOX LOUDSPEAKER SYSTEM
03> ! ------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE
09> SPK 4 0 1 0.0 0.0 0.0 POSITIVE
10> !
11> DRIVER 1
12> Alpha = 1.0
13> SOUND PRESSURE
14> SEN 95.0 DB
15> SCB 40.0 0.35 1.0
16> IMPEDANCE
17> ICB 40.0 6.00 0.00 3.40 0.39 1.0
18> !
19> DRIVER 2
20> Alpha = 3.0
21> SOUND PRESSURE
22> SEN 95.0 DB

CALSOD 3.10 and CALSOD 1.40 User's Manual – 295


23> SCB 40.0 0.35 3.0
24> IMPEDANCE
25> ICB 40.0 6.00 0.00 3.40 0.39 3.0
26> !
27> DRIVER 3
28> Alpha = 6.0
29> SOUND PRESSURE
30> SEN 95.0 DB
31> SCB 40.0 0.35 6.0
32> IMPEDANCE
33> ICB 40.0 6.00 0.00 3.40 0.39 6.0
34> !
35> DRIVER 4
36> Alpha = 12
37> SOUND PRESSURE
38> SEN 95.0 DB
39> SCB 40.0 0.35 12.0
40> IMPEDANCE
41> ICB 40.0 6.00 0.00 3.40 0.39 12.0
42> !
43> TARGET SPL
44> SEN 90.0 DB

Note the use of the comment line after each DRIVER statement to denote the value of α that applies to that
driver. This will be used to label the graphs when they are plotted, so you will be able to remember what
value of α was used to generate each of the four plots.

Once you have read in the CLOSED.C14 data file and the system transfer functions have been calculated,
you can display the plots of the driver sound pressure and impedance responses. These should look similar
to those shown in Figure 83 and Figure 84. It is evident that the maximally flat response corresponds to α
= 3.

Figure 83: Sound pressure responses for a closed-box system obtained for various values of the
system compliance ratio α, for a given set of Thiele-Small parameters.

296 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 84: Impedance responses for a closed-box system obtained for various values of the system
compliance ratio α, for a given set of Thiele-Small parameters.

Passive-radiator loudspeaker systems

In designing the passive-radiator loudspeaker system we will assume that the system compliance ratio α, the
passive-radiator compliance ratio δ, the enclosure losses QL, and the passive-radiator suspension losses
Qmp, are specified as:

α = Vas/Vb = 3.0
δ = Vap/Vb = 3.0
QL = 7.0
Qmp = 1000.0

This choice of parameters corresponds to the standard Small alignments where δ = α, and the losses in the
passive-radiator suspension are neglected.

We will now set up a data file where the system tuning ratio h = Fb/Fs is varied. In order to be able to
compare designs obtained for different values of h, we include a number of separate DRIVER modules, each
one being identical to the others except for the value of h that is used. These drivers are then referred to by
the SPK submodules that are connected directly across the input terminals (nodes 0 and 1) in the CIRCUIT
module. The data file is called PASRAD.C14 and is listed below:

01> ! --------------------------------------------
02> ! DATA FILE FOR PASSIVE-RADIATOR SYSTEM DESIGN
03> ! --------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE
09> SPK 4 0 1 0.0 0.0 0.0 POSITIVE
10> !
11> DRIVER 1
12> H = 1.0
13> SOUND PRESSURE
14> SEN 95.0 DB
15> SPR 40.0 0.35 3.0 1.0 7.0 1000.0 3.0
16> IMPEDANCE
17> IPR 40.0 8.00 0.0 3.4 0.39 3.0 1.0 7.0 1000.0 3.0
18> !
19> DRIVER 2
20> H = 1.3
21> SOUND PRESSURE
22> SEN 95.0 DB
23> SPR 40.0 0.35 3.0 1.3 7.0 1000.0 3.0
24> IMPEDANCE

CALSOD 3.10 and CALSOD 1.40 User's Manual – 297


25> IPR 40.0 8.00 0.0 3.4 0.39 3.0 1.3 7.0 1000.0 3.0
26> !
27> DRIVER 3
28> H = 1.6
29> SOUND PRESSURE
30> SEN 95.0 DB
31> SPR 40.0 0.35 3.0 1.6 7.0 1000.0 3.0
32> IMPEDANCE
33> IPR 40.0 8.00 0.0 3.4 0.39 3.0 1.6 7.0 1000.0 3.0
34> !
35> DRIVER 4
36> H = 2.0
37> SOUND PRESSURE
38> SEN 95.0 DB
39> SPR 40.0 0.35 3.0 2.0 7.0 1000.0 3.0
40> IMPEDANCE
41> IPR 40.0 8.00 0.0 3.4 0.39 3.0 2.0 7.0 1000.0 3.0
42> !
43> TARGET SPL
44> SEN 90.0 DB

Note the use of the comment line after each DRIVER statement to denote the value of h that applies to that
driver. This will be used to label the graphs when they are plotted.

Once you have read in the PASRAD.C14 data file and the system transfer functions have been calculated,
you can display the plots of the driver sound pressure and impedance responses. These should look like
those shown in Figure 85 and Figure 86. It is evident that the flattest response corresponds to h = 1.30.

Figure 85: Sound pressure responses for a passive-radiator system obtained for various values of
the system tuning ratio h, for a given set of Thiele-Small parameters.

298 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 86: Impedance responses for a passive-radiator system obtained for various values of the
system tuning ratio h, for a given set of Thiele-Small parameters.

Filter-assisted vented-box systems

When designing filter-assisted vented-box loudspeaker systems (or filter-assisted closed-box systems), it is
necessary to use the highpass definition of the SOF submodule in tandem with the SVB submodule. By a
suitable choice of parameters in these submodules it is possible to achieve a sixth-order low-frequency
alignment for the driver in question. Although the approach used here is somewhat indirect, it is still
possible to obtain data concerning the filter-assisted response, as well as the separate responses of the
vented-box and filter transfer functions.

For this example we will assume that the following system parameters apply for the vented box:

α = Vas/Vb = 3.0
h = 0.80
QL = 7.00

For the highpass filter defined by the SOF submodule we will define the frequency of normalization of the
response and the Q of the resonance to be:

Fo = 40.0 Hz
Q = 2.0

We will now set up a data file to simulate the filter-assisted vented-box system. In order to be able to
compare the filter-assisted response with that defined by the SOF and SVB submodules, we will define a
total of three DRIVER modules. The first module defines the combined response, the second is a copy of the
SVB response alone, and the third module is a copy of the SOF response alone. The comment line after each
DRIVER statement is used to denote the mode of operation that is being simulated by each DRIVER
module.

These drivers are then referred to by the SPK submodules that are connected directly across the input
terminals (nodes 0 and 1) in the CIRCUIT module. The data file is called VENTEDFA.C14 and is listed
below:

01> ! ------------------------------------------------------
02> ! DATA FILE FOR FILTER-ASSISTED VENTED-BOX SYSTEM DESIGN
03> ! ------------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE
09> !

CALSOD 3.10 and CALSOD 1.40 User's Manual – 299


10> DRIVER 1
11> SVB + SOF
12> SOUND PRESSURE
13> SEN 95.0 DB
14> SVB 40.0 0.35 2.00 0.80 7.00
15> SOF 40.0 2.00 HIGHPASS
16> IMPEDANCE
17> IVB 40.0 6.00 0.00 3.40 0.39 2.00 0.80 7.00
18> !
19> DRIVER 2
20> SVB alone
21> SOUND PRESSURE
22> SEN 95.0 DB
23> SVB 40.0 0.35 2.00 0.80 7.00
24> IMPEDANCE
25> IVB 40.0 6.00 0.00 3.40 0.39 2.00 0.80 7.00
26> !
27> DRIVER 3
28> SOF alone
29> SOUND PRESSURE
30> SEN 95.0 DB
31> SOF 40.0 2.00 HIGHPASS
32> IMPEDANCE
33> ICR 8.0
34> !
35> TARGET SPL
36> SEN 95.0 DB

Once you have read in the VENTEDFA.C14 data file and the system transfer functions have been
calculated, you can display the plots of the driver sound pressure and impedance responses. By selecting the
second and third DRIVER’s you can also display the responses produced by the SVB and SOF submodules
on their own. These should look like those shown in Figure 87 and Figure 88. There is a slight peaking in
the combined response, and this can be reduced by decreasing the value of Q used in the SOF submodule.

Figure 87: Sound pressure responses for a filter-assisted vented-box loudspeaker system obtained
using the SVB and SOF submodules in combination.

300 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 88: Impedance responses for a filter-assisted vented-box loudspeaker system obtained using
the SVB and SOF submodules in combination.

By editing the data file, it is possible to vary the different parameters in order to achieve an improved
frequency response characteristic. A trial-and-error design process can be used to determine a satisfactory
response characteristic for a given driver.

Bandpass loudspeaker systems

In designing a bandpass loudspeaker system, it is instructive to compare the bandwidth/efficiency trade off
that results when using different combinations of αT and Qtc (see the SBP submodule for further design
information). In this example, we will study the responses produced by four different bandpass systems
whose αT and Qtc values are given in the table below.

┌─────┬──────┬─────────┬───────────┐
│ αT │ Qtc │Bandwidth│ Relative │
│ │ │ Fh/Fl │Sensitivity│
├─────┼──────┼─────────┼───────────┤
│ 0.5 │ 1.00 │ 2.00 │ +6.0 dB │
│ 1.0 │ 0.71 │ 2.62 │ 0.0 dB │
│ 2.0 │ 0.50 │ 3.73 │ -6.0 dB │
│ 3.0 │ 0.41 │ 4.79 │ -9.5 dB │
└─────┴──────┴─────────┴───────────┘

The data file is called BANDPASS.C14 and is listed below:

01> ! ------------------------------------
02> ! DATA FILE FOR BANDPASS SYSTEM DESIGN
03> ! ------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE
09> SPK 4 0 1 0.0 0.0 0.0 POSITIVE
10> !
11> DRIVER 1
12> BP αT = 0.5
13> SOUND PRESSURE
14> SEN 90.0 DB
15> SBP 80.0 1.00 0.0 0.50 1.0 1000 1000 1000 1000
16> IMPEDANCE
17> IBP 80.0 8.00 0.0 4.00 1.33 0.0 0.50 1.0 1000 1000 1000 1000
18> !
19> DRIVER 2
20> BP αT = 1.0
21> SOUND PRESSURE
22> SEN 90.0 DB

CALSOD 3.10 and CALSOD 1.40 User's Manual – 301


23> SBP 80.0 0.71 0.0 1.00 1.0 1000 1000 1000 1000
24> IMPEDANCE
25> IBP 80.0 8.00 0.0 2.83 0.94 0.0 1.0 1.0 1000 1000 1000 1000
26> !
27> DRIVER 3
28> BP αT = 2.0
29> SOUND PRESSURE
30> SEN 90.0 DB
31> SBP 80.0 0.50 0.0 2.00 1.0 1000 1000 1000 1000
32> IMPEDANCE
33> IBP 80.0 8.00 0.0 2.00 0.67 0.0 2.0 1.0 1000 1000 1000 1000
34> !
35> DRIVER 4
36> BP αT = 3.0
37> SOUND PRESSURE
38> SEN 90.0 DB
39> SBP 80.0 0.41 0.0 3.00 1.0 1000 1000 1000 1000
40> IMPEDANCE
41> IBP 80.0 8.00 0.0 1.64 0.55 0.0 3.0 1.0 1000 1000 1000 1000
42> !
43> TARGET SPL
44> SEN 90.0 DB

For the purpose of this example, we have assumed that there are no enclosure losses and that the system
contains a port rather than a passive-radiator. Also note the use of the comment line after each DRIVER
statement to denote the value of αT that applies to the system. This will be used to label the graphs when
they are plotted, so you will be able to remember what value of αT is appropriate to each of the four plots.

Before reading in the data file, you should set the frequency range for plotting and computations to cover a
10 Hz to 1 kHz frequency interval. Once you have read in the BANDPASS.C14 data file and the system
transfer functions have been calculated, you can display the plots of the driver sound pressure and
impedance responses. These should look similar to those shown in Figure 89 and Figure 90. These plots
clearly show that the sensitivity of the bandpass system decreases with increasing values of αT, while the
bandwidth is increased. Looking at the impedance plots, it can also be seen that the distance between the
impedance peaks is increasing as the bandwidth of the bandpass response increases.

Figure 89: Sound pressure responses for a bandpass system obtained for various values of the total
system compliance ratio αT, with Qtc chosen for a maximally flat Butterworth bandpass response.

302 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 90: Impedance responses for a bandpass system obtained for various values of the total
system compliance ratio αT, with Qtc chosen for a maximally flat Butterworth bandpass response.

Double-ported bandpass loudspeaker systems

CALSOD has SDP and IDP submodules that enable you to design double-ported bandpass enclosures.
Unfortunately, no simple design tables exist to help with the selection of alignments (enclosure sizes and
tuning frequencies). A trial-and-error approach is therefore required. In general, however, it appears that
many useful designs have a rear enclosure that is larger than the front enclosure, and the front enclosure is
tuned to a higher frequency than the rear.

In this example, we will study the sound pressure and impedance responses produced by three double-ported
bandpass systems where the tuning frequency of the front enclosure is varied over a small range from 65 Hz
to 75 Hz. The data file is called DPBPBOX.C31 and is listed below:

01> ! ------------------------------------------------
02> ! FILE FOR DOUBLE-PORTED BANDPASS ENCLOSURE DESIGN
03> ! ------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE
09> !
10> DRIVER 1
11> DP F2=65
12> SOUND PRESSURE
13> SEN 6.0 40.0 0.39 120E-3 TSP
14> SDP 40.0 120E-3 6.0 3.40 0.39 132E-3 38 1000 1000 1000 ...
60E-3 65 1000 1000 1000
15> IMPEDANCE
16> IDP 40.0 120E-3 6.0 3.40 0.39 132E-3 38 1000 1000 1000 ...
60E-3 65 1000 1000 1000 0.0 1.0 0.0 1.0
17> !
18> DRIVER 2
19> DP F2=70
20> SOUND PRESSURE
21> SEN 6.0 40.0 0.39 120E-3 TSP
22> SDP 40.0 120E-3 6.0 3.40 0.39 132E-3 38 1000 1000 1000 ...
60E-3 70 1000 1000 1000
23> IMPEDANCE
24> IDP 40.0 120E-3 6.0 3.40 0.39 132E-3 38 1000 1000 1000 ...
60E-3 70 1000 1000 1000 0.0 1.0 0.0 1.0
25> !
26> DRIVER 3
27> DP F2=75
28> SOUND PRESSURE
29> SEN 6.0 40.0 0.39 120E-3 TSP
30> SDP 40.0 120E-3 6.0 3.40 0.39 132E-3 38 1000 1000 1000 ...
60E-3 75 1000 1000 1000

CALSOD 3.10 and CALSOD 1.40 User's Manual – 303


31> IMPEDANCE
32> IDP 40.0 120E-3 6.0 3.40 0.39 132E-3 38 1000 1000 1000 ...
60E-3 75 1000 1000 1000 0.0 1.0 0.0 1.0
33> !
34> TARGET SPL
35> SEN 90.0 DB

For the purpose of this example, we have assumed that there are no enclosure losses. Also note the use of
the comment line after each DRIVER statement to denote the value of the front enclosure tuning frequency
that applies to each system. This will be used to label the graphs when they are plotted, so you will be able
to remember what value of tuning frequency is appropriate to each of the three plots.

Before reading in the data file, you should set the frequency range for plotting and computations to cover a
10 Hz to 200 Hz frequency interval. The sound pressure level range for the plots should be set to cover the
range from 80 dB to 105 dB, which will adequately display the response curves. The impedance range
should also be changed, and a range from 0 ohms to 60 ohms will prove adequate for our purposes.

Once you have read in the DPBPBOX.C31 data file and the system transfer functions have been calculated,
you can display the plots of the driver sound pressure and impedance responses. Simply select the option
from the main menu that allows you to plot out response functions, and then select the responses that you
would like to plot on the screen.

From the family of sound pressure response plots shown in Figure 91, it is apparent that the flattest response
is obtained for the bandpass system whose front enclosure has been tuned to 70 Hz. It can also be seen that
as the tuning of the front enclosure is varied, the response around the low-frequency cutoff point of the
bandpass response is also affected, but to a much lesser degree.

Figure 91: Sound pressure responses for a double-ported bandpass system obtained for various
values of box tuning frequency in the smaller enclosure.

The plot in Figure 92 shows the family of impedance response curves for the bandpass system for different
values of box tuning frequency for the smaller enclosure in the double-ported enclosure.

304 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 92: Impedance responses for a double-ported bandpass system obtained for various values
of box tuning frequency in the smaller enclosure.

Comparing different low-frequency alignments

In this section we will demonstrate how it is possible to compare the low-frequency alignments obtained for
the vented-box, closed-box and passive-radiator systems that were analyzed previously. To carry out this
comparison it is simply necessary to create a new data file that contains the appropriate data for each of the
chosen system types. This data file is called VBCBPR.C14 and is listed below:

01> ! ---------------------------------------------------
02> ! VENTED-BOX, CLOSED-BOX AND PASSIVE-RADIATOR SYSTEMS
03> ! ---------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE
09> !
10> DRIVER 1
11> VB H = 1.2
12> SOUND PRESSURE
13> SEN 95.0 DB
14> SVB 40.0 0.35 2.00 1.20 7.00
15> IMPEDANCE
16> IVB 40.0 6.00 0.00 3.40 0.39 2.00 1.20 7.00
17> !
18> DRIVER 2
19> CB A = 3.0
20> SOUND PRESSURE
21> SEN 95.0 DB
22> SCB 40.0 0.35 3.0
23> IMPEDANCE
24> ICB 40.0 6.00 0.00 3.40 0.39 3.0
25> !
26> DRIVER 3
27> PR H = 1.3
28> SOUND PRESSURE
29> SEN 95.0 DB
30> SPR 40.0 0.35 3.0 1.3 7.0 1000.0 3.0
31> IMPEDANCE
32> IPR 40.0 8.00 0.0 3.4 0.39 3.0 1.3 7.0 1000.0 3.0
33> !
34> TARGET SPL
35> SEN 90.0 DB

Note the use of the comment line after each DRIVER statement to denote the type of low-frequency
alignment. This is used to label the graphs when they are plotted.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 305


Once you have read in the VBCBPR.C14 data file and the system transfer functions have been calculated,
you can display the plots of the driver sound pressure and impedance responses. These should look similar
to those shown in Figure 93 and Figure 94. It is evident that the vented-box system has the most extended
low-frequency response, followed by the passive-radiator system. The closed-box system has the least
extended response, but it does possess the most gradual phase variation of all three systems.

Figure 93: Comparison of sound pressure responses obtained for vented-box, closed-box, and
passive-radiator systems designed with a given driver.

Figure 94: Comparison of impedance responses obtained for vented-box, closed-box, and passive-
radiator systems designed with a given driver.

Vented-box loudspeakers with separate loss parameters

In a typical vented-box enclosure there are three types of losses that can affect the low-frequency response.
These are enclosure leakage losses, enclosure absorption losses, and port losses. CALSOD includes SVQ
and IVQ submodules that can be used to simulate the sound pressure and impedance response of a driver
mounted in a vented-box in the presence of an arbitrary combination of these losses. The different losses can
be specified by appropriate use of the Qls, Qas and Qps parameters in the SVQ and IVQ submodules.

We will now set up and analyze a number of different data files where we investigate the effects of different
values of these loss parameters on the sound pressure and impedance response of vented-box enclosures.

First, we will start by studying the effects of enclosure leakage loss on the sound pressure and impedance
response of a vented-box system. The values of Qls = 5, 10, 20, and 1000 will be used, where Qls = 1000
corresponds to what is effectively a lossless condition. For this study the values of Qps and Qas will also be

306 – CALSOD 3.10 and CALSOD 1.40 User's Manual


set to 1000 to remove any loss effects introduced by these two parameters. The data file that we have set up
for this purpose is called VBVARQLS.C31 and it is listed below:

01> ! -----------------------------------------
02> ! VENTED-BOX MODELS WITH VARYING Qls LOSSES
03> ! -----------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE
09> SPK 4 0 1 0.0 0.0 0.0 POSITIVE
10> !
11> DRIVER 1
12> VB LOSSLESS
13> SOUND PRESSURE
14> SEN 90.0 DB
15> SVQ 40.0 0.35 1.60 1.25 1000 1000 1000
16> IMPEDANCE
17> IVQ 40.0 6.0 1.0E-3 3.00 0.396 1.60 1.25 1000 1000 1000
18> !
19> DRIVER 2
20> VB Qls=20
21> SOUND PRESSURE
22> SEN 90.0 DB
23> SVQ 40.0 0.35 1.60 1.25 20 1000 1000
24> IMPEDANCE
25> IVQ 40.0 6.0 1.0E-3 3.00 0.396 1.60 1.25 20 1000 1000
26> !
27> DRIVER 3
28> VB Qls=10
29> SOUND PRESSURE
30> SEN 90.0 DB
31> SVQ 40.0 0.35 1.60 1.25 10 1000 1000
32> IMPEDANCE
33> IVQ 40.0 6.0 1.0E-3 3.00 0.396 1.60 1.25 10 1000 1000
34> !
35> DRIVER 4
36> VB Qls=5
37> SOUND PRESSURE
38> SEN 90.0 DB
39> SVQ 40.0 0.35 1.60 1.25 5 1000 1000
40> IMPEDANCE
41> IVQ 40.0 6.0 1.0E-3 3.00 0.396 1.60 1.25 5 1000 1000
42> !
43> TARGET SPL
44> SEN 87.0 DB

The DRIVER 1 module corresponds to the lossless case, while the other three DRIVER modules have
progressively increasing amounts of enclosure leakage loss Qls. The comment line after each DRIVER
statement specifies the value of leakage loss that is used for that particular driver. The TARGET SPL
submodule specifies a sensitivity value of 87 dB, and this can be indirectly used to mark the –3 dB response
levels relative to the nominal 90 dB response of each driver at frequencies well above the cutoff frequency.

Before you read in the VBVARQLS.C31 data file, it is worthwhile setting up the frequency range over
which the response functions will be calculated and plotted. A suitable frequency range for computation of
response functions and plotting is 10 Hz to 200 Hz, and at least 100 subintervals should be used to enhance
the resolution of the plots. You should also set the sound pressure scale for plots to cover amplitudes
between 75 dB and 100 dB, while the impedance scale can be set to cover the range from 0 ohms to
60 ohms.

Once you have read in the data file VBVARQLS.C31 and the system transfer functions have been
calculated, you can display plots of each driver’s sound pressure and impedance response. These should
look similar to those shown in Figure 95 and Figure 96. It is apparent that the leakage loss has a significant

CALSOD 3.10 and CALSOD 1.40 User's Manual – 307


effect on both the sound pressure and impedance response. As the damping in the system is increased, the
sound pressure response becomes more and more attenuated near the cutoff frequency, and the –3 dB cutoff
frequency of each particular alignment increases considerably. It is also interesting to note that the
difference in sound pressure response between the lossless and Qls = 20 cases is much less than the
difference between the results for Qls = 10 and Qls = 5.

Figure 95: Sound pressure responses for a vented-box system obtained using various values of
enclosure leakage loss Qls.

Figure 96: Impedance responses for a vented-box system obtained using various values of
enclosure leakage loss Qls.

From the plot in Figure 96, it is also quite clear that the introduction of varying amounts of leakage loss also
affects the impedance curve. As the damping in the system is increased, the heights of the two impedance
peaks are progressively reduced. It is also apparent that the peak that is located near 80 Hz is affected
slightly more than the peak near 25 Hz.

Next, we will study the effects of different amounts of port losses on the sound pressure and impedance
responses. The required models are contained in the data file called VBVARQPS.C31. We will not show a
listing of this file as it is very similar to the one that was used to study the effects of leakage loss.

Once you have read in the data file VBVARQPS.C31 and the system transfer functions have been
calculated, you can display plots of each driver’s sound pressure and impedance response. These should
look similar to those shown in Figure 97 and Figure 98. It is apparent that the introduction of port loss has a
significant effect on both the sound pressure and impedance response. As the damping in the system is
increased, the sound pressure response becomes more and more attenuated near the cutoff frequency, and
the –3 dB cutoff frequency increases considerably. Looking at Figure 98, we see that the heights of the two

308 – CALSOD 3.10 and CALSOD 1.40 User's Manual


impedance peaks are progressively reduced as the damping increases. It is also quite noticeable how the
peak that is located near 25 Hz is both reduced in amplitude and broadened to a much greater degree than
the peak near 80 Hz.

Figure 97: Sound pressure responses for a vented-box system obtained using various values of port
loss Qps.

Figure 98: Impedance responses for a vented-box system obtained using various values of port loss
Qps.

Next, we will study the effects of different amounts of enclosure absorption losses on the sound pressure
and impedance responses. The required models are contained in the data file called VBVARQAS.C31.

Once you have read in the data file VBVARQAS.C31 and the system transfer functions have been
calculated, you can display plots of each driver’s sound pressure and impedance response. These should
look similar to those shown in Figure 99 and Figure 100. It is apparent that the introduction of enclosure
absorption loss also has a significant effect on both the sound pressure and impedance response. As the
damping in the system is increased, the sound pressure response becomes more and more attenuated near the
cutoff frequency, and the –3 dB cutoff frequency increases considerably. Looking at Figure 100, we see that
the height of the second impedance peak at about 80 Hz is significantly reduced and broadened as the
amount of absorption loss is increased. In comparison, increasing enclosure absorption has a considerably
smaller effect on the other impedance peak at about 25 Hz.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 309


Figure 99: Sound pressure responses for a vented-box system obtained using various values of
enclosure absorption loss Qas.

Figure 100: Impedance responses for a vented-box system obtained using various values of
enclosure absorption loss Qas.

As a final example in this series, we will compare the sound pressure and impedance response functions
obtained for simulations where the dominant loss parameter is either Qas, Qls or Qps. We will study cases
where the enclosure is lossless, where only Qas = 5 is the active loss parameter, where only Qls = 5 is the
active loss parameter, and where only Qps = 5 is the active loss parameter. The data file to be used for this
study is called VBQLQPQA.C31.

Once you have read in the data file VBQLQPQA.C31 and the system transfer functions have been
calculated, you can display plots of each driver’s sound pressure and impedance response. These should
look similar to those shown in Figure 101 and Figure 102. Of the three types of losses, it is apparent that the
enclosure absorption loss causes the most attenuation of the sound pressure response. These various types of
losses have their greatest effect in the region around the knee of the response curve (near the cutoff
frequency). It is also interesting to see that the ultimate low-frequency roll-off rate is the expected
24 dB/octave, and this seems to be attained about an octave below the cutoff frequency, irrespective of
whether or not there is any loss present in the system. Another interesting observation that can be made is
that the amount of phase shift that occurs in the low frequency sound pressure response of a vented
enclosure is somewhat reduced if a high enclosure absorption loss is present. This indicates that a somewhat
better transient response may be achieved by such a system, albeit at the expense of maximum low-
frequency extension.

310 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 101: Comparison of sound pressure responses for a vented-box system obtained when only
one loss parameter at a time is used. Curves are for the lossless case, Qas = 5, Qls = 5, and Qps
= 5.

Figure 102: Impedance responses for a vented-box system obtained when only one loss parameter
at a time is used. Curves are for the lossless case, Qas = 5, Qls = 5, and Qps = 5.

Comparing lossy low-frequency alignments

In this section we will demonstrate how it is possible to compare the low-frequency alignments obtained for
vented-box, closed-box and passive-radiator systems that include appropriate terms for modelling leakage,
absorption, and port/passive-radiator losses. To carry out this comparison it is simply necessary to create a
new data file that contains the appropriate data for each of the chosen system types. This data file is called
VBCBPRQ.C31 and is listed below:

01> ! -----------------------------------------------
02> ! LOW FREQUENCY DRIVER MODELS USING FULL Q LOSSES
03> ! -----------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> SPK 3 0 1 0.0 0.0 0.0 POSITIVE
09> !
10> DRIVER 1
11> CB + LOSSES
12> SOUND PRESSURE
13> SEN 90.0 DB
14> SCQ 40.0 0.35 4.00 7.0 20.0
15> IMPEDANCE
16> ICQ 40.0 6.0 1.0E-3 3.00 0.396 4.00 7.0 20.0

CALSOD 3.10 and CALSOD 1.40 User's Manual – 311


17> !
18> DRIVER 2
19> PR + LOSSES
20> SOUND PRESSURE
21> SEN 90.0 DB
22> SPQ 40.0 0.35 2.00 1.55 1.50 7.0 10.0 20.0
23> IMPEDANCE
24> IPQ 40.0 6.0 1.0E-3 3.00 0.396 2.00 1.55 1.50 7.0 10.0 20.0
25> !
26> DRIVER 3
27> VB + LOSSES
28> SOUND PRESSURE
29> SEN 90.0 DB
30> SVQ 40.0 0.35 1.60 1.25 7.0 30.0 20.0
31> IMPEDANCE
32> IVQ 40.0 6.0 1.0E-3 3.00 0.396 1.60 1.25 7.0 30.0 20.0
33> !
34> TARGET SPL
35> SEN 87.0 DB

Once you have read in the VBCBPRQ.C31 data file and the system transfer functions have been calculated,
you can display the plots of the driver sound pressure and impedance responses. These should look similar
to those shown in Figure 103 and Figure 104. It is evident that for this driver and the chosen enclosure
tunings that the vented-box system has the most extended low-frequency response, followed by the passive-
radiator system. The closed-box system has the least extended response, but it does possess the most gradual
phase variation of all three systems. This should lead to better transient response, albeit at the expense of
low-frequency extension. It should also be noted that at very low frequencies the closed box system actually
provides more low frequency output than the vented-box system.

Figure 103: Comparison of sound pressure responses obtained for vented-box, closed-box, and
passive-radiator systems that include appropriate terms for modelling leakage, absorption, and port
losses.

312 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 104: Comparison of impedance responses obtained for vented-box, closed-box, and
passive-radiator systems that include appropriate terms for modelling leakage, absorption, and port
losses.

Designing the vent for a vented-box system

Once you have decided on the low-frequency alignment of the vented-box loudspeaker system, you can use
the values of h, α, and Fs, which were defined in the SVB submodule, to determine the box tuning frequency
Fb and the box volume Vb as follows:

Vas
Vb = ─── Fb = h×Fs
α

At the box tuning frequency Fb, nearly all the acoustic power is radiated by the vent. In general,
manufacturers apply the Thiele-Small techniques to the design of vented systems for small signals, but
relatively few are designed with sufficiently large vent areas to minimize power compression for large
signals.

The minimum vent size is a function of the peak volume displacement of the driver Vd and the box tuning
frequency. The minimum required effective vent diameter Dv can be determined as:

┌ ┐¼
│ Vd²│
Dv ≥ 20.3│────│ (m)
│ Fb │
└ ┘

An alternative formula given by Small is:

Dv ≥ √(Fb×Vd) (m)

Note that for all practical vent frequencies, the first formula will always give a minimum vent diameter that
is greater than that obtained using the second formula. Hence it is more conservative.

The formula for calculating Vd is simply:

Vd = Sd×Xmax

where Sd is the effective surface area of the driver diaphragm (m²), and Xmax is the peak linear
displacement capability of the driver diaphragm (m). If the value of Sd is not provided by the manufacturer
it can be determined as:

Sd = 0.60×Dd²

CALSOD 3.10 and CALSOD 1.40 User's Manual – 313


where Dd is the nominal diameter of the driver. This formula is based on the assumption that the effective
diameter of the driver is only 87% of the nominal diameter of the diaphragm.

If the value of Xmax is not specified, it can be estimated from the structure of the loudspeaker motor
structure. If Hg is the height of the magnetic gap, and Hvc is the height of the voice-coil, then Xmax for the
three main types of motor topology can be estimated using the following formulas.

For an overhung voice-coil:


────┐█┌──── Hvc - Hg
│█│ Xmax = ────────
────┘█└──── 2

For equal coil and gap height:

────┐▄┌────
│█│ Xmax = 0.15×Hg
────┘▀└────

For an underhung voice-coil:

────┐ ┌──── Hg - Hvc


│█│ Xmax = ──────── + 0.15×Hg
────┘ └──── 2

Note that the factor of 0.15 in the last two formulas accounts for the fringe field extension on each side of
the gap present in those topologies.

Having specified the minimum required vent diameter, the required vent length Lv for a tubular vent flush-
mounted on a speaker baffle can be calculated using the formula:

2337×Dv²
Lv = ──────── - 0.7311×Dv (metres)
Fb²×Vb

Note that for large diameter woofers, where the value of Dv may be quite large, it may be more practical to
have multiple vents. The effective vent diameter resulting from a combination of two vent tubes with
diameters D1 and D2 is given by:

Dv = √(D1² + D2²)

If the vent length is such that the distance from the inside rear enclosure wall to the end of the vent tube is
less than 75 mm, then the vent design may need to be modified to include a 90° elbow. Also, long thin vents
can contribute resonant tube sounds, leading to a noticeable “ring”, hence they should be avoided where
possible.

Example of vent design calculations

For the woofer used in the two-way system, we have the following set of parameters:

Fs = 33.7 Hz Xmax = 3.50E-3 m


Vas = 110.0 litres Sd = 2.21E-2 m²
h = 1.5
α = 4.0

Hence, we obtain the following results:

314 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Vb = Vas/α = 0.0275 m³

Fb = h×Fs = 50.6 Hz

Vd = Sd×Xmax = 7.74E-5 m³
¼
Dv ≥ 20.3 (Vd²/Fb) = 0.067 m

Dv ≥ √(Fb×Vd) = 0.063 m
Lv = 2337×Dv²/(Fb²×Vb) - 0.7311×Dv = 0.100 m (Dv = 0.067 m)
= 0.086 m (Dv = 0.063 m)

Therefore, this particular woofer requires a 67 mm diameter duct for the 50.6 Hz alignment if maximum
volume displacement is to be utilized without power compression.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 315


USING DATA
IMPORTED FROM FILES

This section describes how to use CALSOD to import files containing measured sound pressure and
impedance response data. The use of this feature can significantly reduce your modelling efforts, as the
curve-fitting steps described earlier are no longer necessary. Because the actual driver response functions
are being utilized, this can lead to improvements in the accuracy of your simulations and optimizations. The
popular file formats currently supported by CALSOD include those used by DRA Laboratories’ MLSSA,
Ariel’s SYSid, Audio Precision’s System One, Liberty Instruments’ IMP and AudioSuite, Audiomatica’s
CLIO and CLIOwin, Kemsonic’s AMS-PC, Bunn’s AIRR, Microacoustics’ PC AudioLab, SIA Software
Company’s SmaartLive, and LinearX’s LMS. Examples are provided that illustrate CALSOD’s use of files
exported from each of these measurement systems.

If the measurement equipment that you are currently using is not directly supported, you will need to
develop your own procedures for writing measured response data to a file in the CALSOD format. This
format is fully documented in the section defining the FILE submodule.

Imported data files for a two-way system

In order to demonstrate the use of imported data measurement files, we will study an example consisting of
the same two-way system that was analyzed earlier. The version chosen is the one with the noncoincident
drivers, as this will be typical of most measured systems that you will model. The driver layout for this
design was as follows:

Y-axis


+ Tweeter (X,Y,Z) = (0.0,+0.100,0.0)



────────────┼──────────── X-axis
/│
/ │
/ │ + Woofer (X,Y,Z) = (0.0,-0.100,-0.025)
/ │/
/ │
/
+ On-axis design point (X,Y,Z) = (0.0,0.0,1.000)
/
/
Z-axis

To demonstrate the full capabilities of this particular feature, we will import data files corresponding to a
total of one on-axis and four off-axis positions for the woofer and tweeter. This is the maximum supported
by CALSOD, and the locations of the five observation points, O1 to O5, are illustrated below:

316 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Y-axis


┬─ + Tweeter + O4 (α = +20°)
│ │
0.100 m│ │ + O2 (α = +10°)
│ │
┼─ ├─────────────────────── + ──────── Z-axis
│ │ O1
0.100 m│ │ + O3 (α = -10°)
│ │
┴─ + │ + O5 (α = -20°)
Woofer │
├───────┼────────────────────────┤
0.025 m 1.000 m

This particular system is very similar to the earlier design example consisting of a two-way system that was
studied at multiple observation points. The main difference is that in this case we will consider maximum
off-axis angles of ±20°, rather than only ±10°.

For this example, a total of 12 different data files were created in order to model the complete system
response at the five chosen observation points. These would normally be obtained by direct measurement of
the loudspeaker system. The impedance responses of the woofer and tweeter are contained in the two files
IMPLO.MDF and IMPHI.MDF, and it should be noted that the woofer impedance response corresponds to a
vented-box low-frequency alignment. The sound pressure response functions for the woofer are contained in
files SPLLO1.MDF to SPLLO5.MDF, where the numbers 1 to 5 coincide with measurements taken at each
of the five observation points illustrated in the above diagram. The files SPLHI1.MDF to SPLHI5.MDF are
the corresponding tweeter sound pressure response files.

The data file that sets up the complete model of the two-way system is called SYS2WAYF.C31, and is listed
below:

01> ! ------------------------------------------
02> ! TWO-WAY SYSTEM WITH NONCOINCIDENT DRIVERS
03> ! EXAMPLE SHOWING USE OF IMPORTED DATA FILES
04> ! ------------------------------------------
05> !
06> ! Optimizer frequency range : 1 kHz to 20 kHz
07> ! Optimizer subintervals : 20
08> !
09> CIRCUIT
10> !
11> VIN 0.0 DB
12> !
13> ! Filter network for the woofer
14> !
15> IND 0.43E-3 1 2 0.0 VARIABLE
16> RES 8.40 2 3 VARIABLE
17> CAP 31.97E-6 0 3 VARIABLE
18> SPK 1 0 2 0.0 0.0 0.0 POSITIVE
19> !
20> ! Filter network for the tweeter
21> !
22> CAP 6.19E-6 1 4 VARIABLE
23> IND 0.29E-3 0 4 0.0 VARIABLE
24> RES 0.34 4 5 VARIABLE
25> SPK 2 0 5 0.0 0.0 0.0 POSITIVE
26> !
27> TARGET SPL
28> RAB 0.0 0.0 0.0 1.0 ACTIVE
29> RAB 0.0 +10.0 0.0 1.0 ACTIVE
30> RAB 0.0 -10.0 0.0 1.0 ACTIVE
31> RAB 0.0 +20.0 0.0 1.0 INACTIVE
32> RAB 0.0 -20.0 0.0 1.0 INACTIVE
33> SEN 92.0 DB

CALSOD 3.10 and CALSOD 1.40 User's Manual – 317


34> !
35> DRIVER 1
36> Woofer
37> SOUND PRESSURE
38> FILE CALSOD SPLLO1.MDF 0.0 0.0 METRES 0.0 DB
39> FILE CALSOD SPLLO2.MDF 0.0 0.0 METRES 0.0 DB
40> FILE CALSOD SPLLO3.MDF 0.0 0.0 METRES 0.0 DB
41> FILE CALSOD SPLLO4.MDF 0.0 0.0 METRES 0.0 DB
42> FILE CALSOD SPLLO5.MDF 0.0 0.0 METRES 0.0 DB
43> IMPEDANCE
44> FILE CALSOD IMPLO.MDF 0.0 SECONDS 1.0 LINEAR
45> !
46> DRIVER 2
47> Tweeter
48> SOUND PRESSURE
49> FILE CALSOD SPLHI1.MDF 0.0 0.0 METRES 0.0 DB
50> FILE CALSOD SPLHI2.MDF 0.0 0.0 METRES 0.0 DB
51> FILE CALSOD SPLHI3.MDF 0.0 0.0 METRES 0.0 DB
52> FILE CALSOD SPLHI4.MDF 0.0 0.0 METRES 0.0 DB
53> FILE CALSOD SPLHI5.MDF 0.0 0.0 METRES 0.0 DB
54> IMPEDANCE
55> FILE CALSOD IMPHI.MDF 0.0 0.0 SECONDS 1.0 LINEAR

In this particular example, the sound pressure response data in each of the data files has already had an
average value for the propagation delay removed from the phase response. This means that we can set the
values of Dfit and Dextra equal to zero in each sound pressure FILE submodule, as we do not need to
provide any additional corrections to the phase response. A subsequent example will use sound pressure
data that does need correction for the propagation delays to each of the observation points.

We will now look at some plots obtained by using SYS2WAYF.C31, illustrating CALSOD’s capabilities to
use response functions contained in imported data files. Figure 105 shows the total summed response at the
five different observation points. Figure 106 shows the filtered responses of the woofer and tweeter at the
first observation point, together with the total summed response. Figure 107 shows the impedance responses
of the woofer and tweeter.

Figure 105: Example of response plots obtained using imported data files: summed sound pressure
responses at 5 observation points for a two-way system.

318 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 106: Example of response plots obtained using imported data files: summed and filtered
sound pressure responses of woofer and tweeter at design observation point.

Figure 107: Example of response plots obtained using imported data files: impedance responses of
woofer and tweeter.

Guide-lines for using imported measurements

In order to correctly perform simulations when utilizing imported data, there are a number of considerations
that must be understood when creating your own data files that make use of this capability. Please make sure
that you are familiar with the following points before using the FILE submodule in your own data files.

For any DRIVER module, there can be no more than five different FILE submodules in the SOUND
PRESSURE section of the module, and only one FILE submodule should be used in the IMPEDANCE
section.

The ordering of the FILE submodules is very important, as CALSOD assumes that there is a one-to-one
correspondence between the FILE submodules in each DRIVER module. For the data file shown above, the
files SPLLO1.MDF and SPLHI1.MDF are both assumed to correspond to the same observation point, as are
the pairs of files SPLLO2.MDF and SPLHI2.MDF, SPLLO3.MDF and SPLHI3.MDF, etc.

The individual RAB submodules used in the TARGET SPL submodule also have a one-to-one
correspondence with the FILE submodules. The first RAB submodule corresponds to the first FILE
submodules used in each of the DRIVER modules, the second RAB submodule corresponds to the second
FILE submodules, and so on. For example, the third RAB submodule refers to the FILE submodules
containing SPLLO3.MDF and SPLHI3.MDF in the DRIVER modules for the woofer and tweeter.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 319


When importing raw sound pressure response data using FILE submodules, it is usually required that these
data are not modified by CALSOD’s standard calculation procedures, which add the effects of propagation
delay and driver dispersion. This is because the raw data measured at each of the observation points already
include all of these effects. It is a simple matter to prevent CALSOD from introducing any additional and
unnecessary corrections of its own. Just set the (X,Y,Z) coordinates in each SPK submodule to zero, and
also set the value of the radius R option to zero in all the RAB submodules. Note that the angles α and β in
each RAB submodule need not be set to zero, as they will have no effect when R = 0.

The data file shown above illustrates the use of this particular feature. CALSOD simply checks to see that
the distance between each driver and the various observation points is computed as being equal to zero. If it
is, which is a physically unrealizable situation, then this is the flag that indicates to CALSOD that it must
not include the effects of propagation distance or driver dispersion that would normally be incorporated.
Also note that, in the above data file, the values for the angles α and β act as a reminder of the off-axis
positions corresponding to the different observation points.

When using FILE submodules to include sound pressure response data for a given driver, you will have to
remember the polarity with which the driver was connected for the purpose of obtaining the original
measured response functions. If you do not require that this polarity be changed, then simply use the
POSITIVE polarity option in the SPK submodule that references the desired driver. If you wish to reverse
the polarity from the values that were stored in the imported data file, then simply use the NEGATIVE
polarity option.

When CALSOD is used to compute sound pressure response functions at multiple observation points, if you
choose only one response function to be plotted (say the total SPL), CALSOD will automatically display the
responses for all the observation points defined in the TARGET SPL module. If more than one response is
selected (say the filtered woofer and tweeter sound pressure responses plus the total SPL), then CALSOD
plots response data that correspond to the first observation point. If you are using multiple FILE submodules
with each DRIVER module, then the response data calculated using the first FILE submodule from each
DRIVER module will be displayed. It may be convenient to make this FILE submodule correspond to on-
axis sound pressure measurements, making it a little easier to remember what response conditions are
actually being plotted.

To take into account the sound pressure response for any particular observation point during the
optimization process, simply set the required RAB submodules to ACTIVE in the TARGET SPL module.
This is where the ordering of the FILE submodules is important. For example, in the above data file we have
set the first three RAB submodules to ACTIVE, and the remaining two are set to INACTIVE. This means
that only response data for the first three FILE submodules for the woofer and the tweeter will be taken into
account by the sound pressure optimizer.

If your sound pressure response data have not been internally corrected for any large time delays present in
the measurements, then you may find that the accuracy of the interpolated phase response becomes poor.
This problem is caused by the interpolation algorithm’s inability to deal with a phase response that has
“wrapped around” a large number of times. It is therefore necessary for you to include an appropriate value
of time delay (or the measurement distance) so that this excess phase response can be automatically
removed from the data. This will ensure that the interpolation is accurate in both magnitude and phase. You
can use the Dfit option in the FILE submodule for this purpose.

If you specify more observation points than there are FILE submodules in the SOUND PRESSURE section
of any DRIVER modules, then CALSOD will handle this unusual situation in a special way. The default
behaviour is to utilize the data from the first FILE submodule in those DRIVER modules that lack the
anticipated number of FILE submodules. More precisely, if there is only one FILE submodule in the
SOUND PRESSURE definition for a particular driver, then it is assumed that it is valid to use this data in
CALSOD’s normal computational procedures. If the number of FILE submodules is greater than one, but
less than the number of observation points, then an error condition is flagged when the file is being read in.

320 – CALSOD 3.10 and CALSOD 1.40 User's Manual


If your measurement files contain many data points, you may find that CALSOD is taking a large amount of
time in accessing these files. If you have some extended memory in your computer and you are using MS-
DOS, you might like to consider using a disk cache like Microsoft’s SMARTDRV to improve performance.
Depending on the number of imported data files that you are using, as well as their total combined size, a
disk cache of at least 1 MB should yield a good performance increase. You can experiment with the size of
the disk cache to determine the point when no additional performance improvement is obtained. Keep in
mind that the idea of the disk cache is to store all the most recently used files in memory, so the size of the
disk cache should be greater than the total combined size of all the imported files that you are using for the
design you are analyzing. Because modern operating systems generally have built-in disk caching features,
you are likely to get good file access speeds without having to specially configure your computer.
Alternatively, you can store the measurement files on a ram disk, like Microsoft’s RAMDRIVE. Both these
programs come with MS-DOS, and their use is explained in the MS-DOS user’s guide.

The above list of considerations has been defined mainly as a result of integrating the file reading
capabilities with CALSOD’s existing response calculation procedures. These guide-lines have been
included to help ensure that you fully understand both the capabilities and the special requirements of the
file reading facility.

Dealing with propagation delays in imported data files

In this example we will illustrate the use of the Dextra option in the FILE submodule in order to adjust the
phase response of measured sound pressure data contained in files being imported into CALSOD. This is
used in conjunction with the Dfit option, which is required in order to ensure that the phase response is
correctly interpolated by CALSOD.

The system under consideration is the same as the one described earlier in this chapter. We will use a new
set of sound pressure data files, SPLLO1D.MDF to SPLLO5D.MDF for the woofer and SPLHI1D.MDF to
SPLHI1D.MDF for the tweeter, which include the effects of the propagation distance from the acoustic
centre of each driver to each of the observation points. The user-supplied value of Dfit = 1.0 metres is used
by CALSOD to ensure that the phase response of each sound pressure measurement is accurately
interpolated. This value is equal to the approximate distance of the drivers to each observation point, and it
is sufficiently precise to ensure the accuracy of the interpolated phase response without changing the actual
phase response in any way. The user-supplied value of Dextra = 1.0 metres is used to reduce the “wrapping
around” of the phase response, and this is achieved by actually subtracting the phase contribution
corresponding to this distance at each frequency point calculated by CALSOD.

01> ! ------------------------------------------
02> ! TWO-WAY SYSTEM WITH NONCOINCIDENT DRIVERS
03> ! EXAMPLE SHOWING USE OF IMPORTED DATA FILES
04> ! ------------------------------------------
05> !
06> ! The driver phase response includes effects
07> ! of propagation delay from driver acoustic
08> ! centre to the given observation point.
09> !
10> ! Optimizer frequency range : 1 kHz to 20 kHz
11> ! Optimizer subintervals : 20
12> !
13> CIRCUIT
14> !
15> VIN 0.0 DB
16> !
17> ! Filter network for the woofer
18> !
19> IND 0.43E-3 1 2 0.0 VARIABLE
20> RES 8.40 2 3 VARIABLE
21> CAP 31.97E-6 0 3 VARIABLE
22> SPK 1 0 2 0.0 0.0 0.0 POSITIVE
23> !
24> ! Filter network for the tweeter

CALSOD 3.10 and CALSOD 1.40 User's Manual – 321


25> !
26> CAP 6.19E-6 1 4 VARIABLE
27> IND 0.29E-3 0 4 0.0 VARIABLE
28> RES 0.34 4 5 VARIABLE
29> SPK 2 0 5 0.0 0.0 0.0 POSITIVE
30> !
31> TARGET SPL
32> RAB 0.0 0.0 0.0 1.0 ACTIVE
33> RAB 0.0 +10.0 0.0 1.0 ACTIVE
34> RAB 0.0 -10.0 0.0 1.0 ACTIVE
35> RAB 0.0 +20.0 0.0 1.0 INACTIVE
36> RAB 0.0 -20.0 0.0 1.0 INACTIVE
37> SEN 92.0 DB
38> !
39> DRIVER 1
40> Woofer
41> SOUND PRESSURE
42> FILE CALSOD SPLLO1D.MDF 1.0 1.0 METRES 0.0 DB
43> FILE CALSOD SPLLO2D.MDF 1.0 1.0 METRES 0.0 DB
44> FILE CALSOD SPLLO3D.MDF 1.0 1.0 METRES 0.0 DB
45> FILE CALSOD SPLLO4D.MDF 1.0 1.0 METRES 0.0 DB
46> FILE CALSOD SPLLO5D.MDF 1.0 1.0 METRES 0.0 DB
47> IMPEDANCE
48> FILE CALSOD IMPLO.MDF 0.0 SECONDS 1.0 LINEAR
49> !
50> DRIVER 2
51> Tweeter
52> SOUND PRESSURE
53> FILE CALSOD SPLHI1D.MDF 1.0 1.0 METRES 0.0 DB
54> FILE CALSOD SPLHI2D.MDF 1.0 1.0 METRES 0.0 DB
55> FILE CALSOD SPLHI3D.MDF 1.0 1.0 METRES 0.0 DB
56> FILE CALSOD SPLHI4D.MDF 1.0 1.0 METRES 0.0 DB
57> FILE CALSOD SPLHI5D.MDF 1.0 1.0 METRES 0.0 DB
58> IMPEDANCE
59> FILE CALSOD IMPHI.MDF 0.0 0.0 SECONDS 1.0 LINEAR

The data file that sets up the complete model of the two-way system is called SYS2WAYD.C31, and is
listed above. Note that the (X,Y,Z) coordinates of each SPK submodule, together with the radius R in each
RAB submodule, are set to zero to ensure that CALSOD does not modify the sound pressure responses to
include the effects of propagation distance and driver dispersion characteristics.

We will now look at some plots obtained by using the SYS2WAYD.C31 data file. Figure 108 depicts the
total summed response at the five different observation points. Figure 109 shows the filtered responses of
the woofer and tweeter at the first observation point, together with the total summed response. Figure 110
shows the impedance responses of the woofer and tweeter.

Figure 108: Summed responses at 5 observation points for a two-way system obtained using
imported data files that have been adjusted for the effects of propagation delay on phase response.

322 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 109: Summed and filtered responses of woofer and tweeter at design point using responses
contained in imported data files that have been adjusted for the effects of propagation delay on
phase response.

Figure 110: Impedance responses of woofer and tweeter contained in imported data files.

When comparing Figure 108 with Figure 105, note that the sound pressure magnitude responses are
identical for all the plots. However, at frequencies above about 1 kHz, there are noticeable differences
between the phase responses of the sound pressure response functions. These are caused by the use of
slightly different distances to remove the effects of propagation delay in the two sets of data. If the delay
distance specified by the Dextra option for each sound pressure FILE submodule in SYS2WAYD.C31 was
changed from 1.0 metres to 1.01678 metres, the resulting plots would be identical to those presented in
Figure 105 in both the magnitude and the phase response. In addition, if the delay distance used in
SYS2WAYD.C31 was changed to 0.0 metres, then the phase response of all the sound pressure functions
would “wrap around” many times, making it very difficult to interpret. It is therefore important to include a
suitable correction for the propagation delay when using measured sound pressure response data.

Using imported data files in curve-fitting

Elsewhere in this manual we have described the use of the EXPERIMENTAL SPL and EXPERIMENTAL
IMPEDANCE submodules for inputting measured response data that are to be used when carrying out
curve-fitting for creating models of driver response functions. CALSOD also allows you to use the FILE
submodule to import data into the EXPERIMENTAL SPL/IMPEDANCE. If your measurement equipment
can provide files in one of the formats supported by CALSOD, then you can save a lot of time in entering
data by making use of this facility. Even if it does not, it may still be useful for you to use the FILE
submodule to store the experimental data at your disposal, as the data will be interpolated when you are
carrying out curve-fitting procedures.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 323


A number of sample data files are provided that illustrate the use of the FILE submodule when carrying out
curve-fitting. These correspond to the files that were used in curve-fitting the sound pressure and impedance
responses of the woofer and tweeter. The new files for the sound pressure and impedance response curve-
fits for the woofer are called EXPWSPL.C31 and EXPWIMP.C31, and the corresponding imported data
files in CALSOD format are EXPWSPL.MDF and EXPWIMP.MDF. The complete set of files for the
tweeter are EXPTSPL.C31, EXPTIMP.C31, EXPTSPL.MDF and EXPTIMP.MDF. Note that the driver
models contained in the .DAT files are the final ones, so there is good agreement with the experimental data
contained in the .MDF files.

FILE EXPTSPL.C31
01> ! -----------------------------------
02> ! DATA FILE FOR TWEETER SPL CURVE-FIT
03> ! -----------------------------------
04> !
05> DRIVER 1
06> Tweeter
07> !
08> SOUND PRESSURE
09> SEN 90.0 DB
10> HLR 532.5 0.0 3.14 0.43 0.0
11> MPE 1200.0 2.219 1.013 DB
12> MPE 3500.0 6.336 2.149 DB
13> MPE 6000.0 2.131 -2.160 DB
14> MPE 9000.0 4.774 1.834 DB
15> MPE 12000.0 0.548 0.879 DB
16> MPE 16000.0 4.666 4.304 DB
17> BUT 19000.0 4 LOWPASS
18> !
19> CIRCUIT
20> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
21> !
22> TARGET SPL
23> XYZ 0.0 0.0 0.0
24> SEN 90.0 DB
25> !
26> EXPERIMENTAL SPL
27> FILE CALSOD EXPTSPL.C31 0.0 0.0 METRES 0.0 DB

FILE EXPTSPL.MDF
01> CALSOD
02> Experimental SPL data for tweeter curve-fit
03> 2
04> 0.0
05> 0.0
06> 1.0
07> 38
08> 150 65.0 0.0
09> 200 68.0 0.0
10> 300 74.0 0.0
11> 400 78.0 0.0
12> 500 81.0 0.0
: : :
42> 18000 92.0 0.0
43> 20000 88.0 0.0
44> 26000 80.0 0.0
45> 30000 75.0 0.0

The two file listings shown above are an example of the use of imported data files when carrying out curve-
fits. These two files were used in the curve-fitting of the tweeter sound pressure response function, and they
are called EXPTSPL.C31 and EXPTSPL.MDF.

Note that there was no phase information available for the sound pressure response of the tweeter. This is
why the third column of data in the EXPTSPL.MDF file has been set to zero for all frequency points. This

324 – CALSOD 3.10 and CALSOD 1.40 User's Manual


lack of phase data also means that this .MDF file is unsuitable for direct use by CALSOD, and the curve-
fitting procedure must be carried out in order to create a model of the tweeter’s sound pressure response that
simulates the phase response characteristics of the driver. Without this phase response information it would
not be possible to combine the output of this driver with that of any other drivers and expect the summed
response to be correct. A similar set of files exists for the woofer, and the files are called EXPWSPL.C31,
EXPWSPL.MDF, EXPWIMP.C31 and EXPWIMP.MDF.

Using MLSSA measurement files

When reading in measurement files from MLSSA, CALSOD supports files that have been exported as ASCII
text. Files exported by MLSSA Version 7.0 software, as well as some earlier versions, are supported. If you
try to read in an exported MLSSA file that is not supported, then CALSOD will display an error message
warning you of the problem.

In general, you should export measurement data that contains both magnitude and phase information. To
help make best use of this data, CALSOD can read in files that have been exported using MLSSA’s
Transfer/Export/Bode and Transfer/Export/Nyquist commands, as well as the now obsolete
Transfer/Export/FFT command. Note that MLSSA files containing sound pressure or impedance
measurements are supported.

View files containing response measurements saved in dB, linear magnitude or squared magnitude, are also
supported by CALSOD. Note, however, that a view file does not contain any phase information. When
carrying out curve-fitting with CALSOD, it may sometimes be useful to employ data that has been smoothed
by MLSSA and then saved to a file using the Transfer/Export/View command. Exported files containing
smoothed response functions are also supported by CALSOD.

When using CALSOD to import data from multiple MLSSA files that contain sound pressure measurements
of loudspeaker drivers, you should take care that the phase response in each exported file has been computed
relative to the same starting point in the MLSSA impulse response. If you do not follow this procedure, then
CALSOD’s predictions of the summed sound pressure response will not be accurate. Careful attention to
detail will ensure that you produce reliable results.

When using MLSSA to take impedance measurements, you must take care to ensure that no delay is being
accidentally subtracted from the phase of the impedance measurement. This might occur if an SPL
measurement was taken just before carrying out the impedance measurement, as the delay parameter stays at
its previously used value. If MLSSA’s delay parameter has in fact affected an impedance measurement, then
you may notice that the phase curve does not have the expected phase characteristics. For example, when
measuring a single driver you will find that there is a lot more phase shift at high frequencies than you
would have expected, as most moving-coil drivers have a phase curve that asymptotes to around +45° to
+60° at high frequencies (above about 10 kHz). If the impedance measurement has been processed
incorrectly, then you may see an abnormally large amount of phase shift of over +150° at high frequencies.
You can also check the exported MLSSA impedance file for possible delay errors by looking at the header. If
it contains text similar to (dly=0.021ms), then this means that the phase response is likely to be unreliable. If
you use this anomalous driver impedance data when designing the crossover network, you will get incorrect
results. This situation is easily avoided by simply taking a bit of care with your impedance measurement
technique.

When CALSOD accesses MLSSA measurement files, there is a large computational load due to the fact that
MLSSA files generally contain a large number of data points. Also, CALSOD usually has to convert the dB
and phase values to complex number form using trigonometric and logarithmic functions. If you do not have
a coprocessor installed in your computer, then this can be a very time consuming process.

Because of the size of MLSSA measurement files, CALSOD cannot read all the data into memory at one
time. Initially, a buffer is set up, and new portions of each MLSSA file are read in when data that are not

CALSOD 3.10 and CALSOD 1.40 User's Manual – 325


currently in the buffer are required. This process is very disk intensive and can become a bottle-neck in your
design work, particularly when using hard disks that have a high average access time and low data transfer
rate. Although it will work, reading MLSSA files from floppy disk is definitely not recommended.

To illustrate CALSOD’s ability to read in MLSSA files, a sample data file called EXM7SPL.C31 is provided
to show you how to create a CALSOD data file that uses MLSSA measurement files. A listing of this file is
shown below:

01> ! -------------------------------------------------------
02> ! TEST FILE FOR USING MLSSA V7.0 FILES FOR SOUND PRESSURE
03> ! -------------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0 0 0 POSITIVE
07> SPK 2 0 1 0 0 0 POSITIVE
08> SPK 3 0 1 0 0 0 POSITIVE
09> !
10> TARGET SPL
11> SEN 90.0 DB
12> XYZ 0 0 0
13> !
14> DRIVER 1
15> DATA BODE
16> SOUND PRESSURE
17> FILE MLSSA M7SPLBOD.DAT 0.0 0.0 SECONDS 0.0 DB
18> !
19> DRIVER 2
20> DATA NYQ
21> SOUND PRESSURE
22> FILE MLSSA M7SPLNYQ.DAT 0.0 0.0 SECONDS -5.0 DB
23> !
24> DRIVER 3
25> DATA MAG DB
26> SOUND PRESSURE
27> FILE MLSSA M7SPLMDB.DAT 0.0 0.0 SECONDS -10.0 DB

Note that the above CALSOD data file actually reads in three sample measurement files that were exported
using MLSSA Version 7.0 software. These three files are called M7SPLBOD.DAT (containing Bode
response data), M7SPLNYQ.DAT (containing Nyquist response data), and M7SPLMDB.DAT (containing
the magnitude response in dB). The three exported files contain measurements typical of those that would be
obtained when measuring the sound pressure response of a loudspeaker system.

The upper plot in Figure 111 shows the results obtained by CALSOD after reading in the SPL data
contained in the three files exported by MLSSA. To permit the data to be easily compared, we have displaced
each of the three measurements by 5 dB by using the Factor option of the FILE submodule. Note that only
the Bode and Nyquist data contain any phase information, and the phase plots for these files are identical,
even though their magnitude responses have been displaced by 5 dB.

326 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 111: Example of sound pressure response data being imported from MLSSA using
CALSOD’s FILE submodule: magnitude and phase of three sets of MLSSA data as interpolated by
CALSOD.

The plot in Figure 112 shows the Bode plot produced by MLSSA. It is evident that there is excellent
agreement between CALSOD’s and MLSSA’s plots in both the magnitude and phase responses, which
indicates that CALSOD correctly handles exported MLSSA files.

Figure 112: Bode plot of response obtained using MLSSA.

For those who are using older MLSSA software with version numbers less than 7.0, another sample
CALSOD data file is provided and it is called EXM6SPL.C31. This reads in three sample MLSSA files that
contain exported data obtained after processing the same time history file as used for the previous example.
The sample exported files are M6SPLFFT.DAT (containing FFT response data), M6SPLMDB (containing
the magnitude response in dB), and M6SPLLIN.DAT (containing the linear magnitude response). The
CALSOD plot obtained using these exported data files is identical to the plot in Figure 111. Although
MLSSA software prior to version 7.0 did not include a facility for displaying Bode plots, it is possible to
inspect the phase response by selecting the View/Phase command. The phase response so displayed would
look identical to the phase curve presented in the plot of Figure 112.

Using SYSid measurement files

When reading in measurement files from SYSid, CALSOD supports all ASCII and binary file formats. These
include single channel measurements, as well as two-channel ratio and stereo measurements.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 327


A typical single-channel measurement file produced by SYSid is SYSIDLPF.DAT, which contains the
response of a 3-pole elliptic lowpass filter. A sample data file called EXSYSID1.C31 is provided to
illustrate how to create a CALSOD data file that uses a SYSid measurement file. A listing of
EXSYSID1.C31 is shown below:

01> ! -------------------------------------------------------
02> ! TEST FILE FOR USING SYSID DATA FILES FOR SOUND PRESSURE
03> ! -------------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0 0 0 POSITIVE
07> !
08> TARGET SPL
09> SEN 90.0 DB
10> XYZ 0 0 0
11> !
12> DRIVER 1
13> CHEB LPF
14> SOUND PRESSURE
15> FILE SYSID SYSIDLPF.DAT 0.0 0.0 SECONDS 0.0 DB

The plot in Figure 113 shows the magnitude and phase response of the lowpass filter function after the
SYSid data file has been read in by CALSOD. Figure 114 shows the SYSid display for the same set of data. It
is evident that CALSOD handles this SYSid measurement file correctly.

Figure 113: Example of response data being imported from SYSid using CALSOD’s FILE
submodule: magnitude and phase of a 3-pole elliptic filter as interpolated by CALSOD.

328 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 114: Magnitude response of a 3-pole elliptic filter obtained using SYSid.

CALSOD can also import impedance measurements taken by SYSid using the test set-up that is described in
the SYSid User’s Guide. The standard test set-up is illustrated in the diagram below. Vs is the output of a
voltage source driving the loudspeaker through a known reference resistor R. The input terminal of the
resistor should be connected to the Channel A input of SYSid, and the output terminal should be connected
to the Channel B input.

Va Vb
│ │
│ │
│ ┌───┐ │
┬ ──┴──┤ R ├──┴────┐
│ └───┘ │
│ │
│ ▐██/
Vs │ ▐██ Loudspeaker
│ ▐██\
│ │
│ │
┴ ─────────────────┘

When taking the impedance measurement using SYSid, you must set the A/D mode to Stereo, and then take a
frequency response measurement of the voltages Va and Vb. Once the measurement has been completed,
you can select SYSid’s Process option followed by the Impedance option, and you will be prompted for the
value R of the reference resistor. After entering the value of R, SYSid performs some calculations and
displays the resulting magnitude and phase of the loudspeaker impedance response. If you save the
impedance data that has been measured using the Stereo A/D mode, then you will be able to use this data
within CALSOD. When impedance measurements taken using the Stereo mode are read in, CALSOD
automatically performs internal computations to convert the two channels of data to produce a single
impedance curve.

When you wish to import a SYSid file containing raw unprocessed impedance data into CALSOD, you must
remember the value R of the reference resistor. This value will be used to specify a scale factor for
CALSOD to apply when the data file exported by SYSid is read in by CALSOD. The file EXSYSID2.C31
provides an example of how to read in a SYSid impedance measurement file (SYSIDIMP.DAT). The
CALSOD data file EXSYSID2.C31 is listed below:

CALSOD 3.10 and CALSOD 1.40 User's Manual – 329


01> ! --------------------------------------------------
02> ! TEST FILE FOR USING SYSID DATA FILES FOR IMPEDANCE
03> ! --------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0 0 0 POSITIVE
07> !
08> TARGET SPL
09> SEN 90.0 DB
10> XYZ 0 0 0
11> !
12> DRIVER 1
13> SPEAKER IMP
14> IMPEDANCE
15> FILE SYSID SYSIDIMP.DAT 0.0 0.0 SECONDS 60.0 LINEAR

For the purposes of this example, a reference resistance of R = 60 ohms was used for the measurements.
This value is supplied to CALSOD by using the Factor option in the FILE submodule. Note that CALSOD
assumes that any SYSid data files that were obtained using the Stereo A/D mode are going to contain
impedance data. In this way, CALSOD further assumes that the value supplied using the Factor option is
actually the value of the reference resistor used when the impedance measurement was taken. Therefore,
60.0 LINEAR in the line containing the FILE submodule actually specifies the value of the reference
resistance.

The plot in Figure 115 shows the results obtained by CALSOD after reading in and converting the
impedance data contained in the SYSid data file called SYSIDIMP.DAT. The plot in Figure 116 shows the
SYSid display for the same set of data obtained by using SYSid’s Process/Impedance function with a
reference resistance of 60 ohms. It is evident that there is excellent agreement between the two sets of plots
in both the magnitude and phase responses, which indicates that CALSOD handles SYSid impedance
measurement files correctly. Note that in CALSOD’s plot the value 0 dBΩ corresponds to a magnitude of
1 ohm, and 20 dBΩ corresponds to a magnitude of 10 ohms.

Figure 115: Example of impedance response data being imported from SYSid using CALSOD’s
FILE submodule: magnitude and phase of impedance response for sample loudspeaker as
interpolated by CALSOD.

330 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 116: Magnitude and phase of impedance response obtained using SYSid.

Using System One measurement files

CALSOD supports System One measurement files that are exported as ASCII text. The files can contain
measurements of magnitude and phase in the following formats: Hz, V, dBV, dBu, dBr, dBm, deg and rad.
Values in dB are converted to a linear value such that 0 dB equals unity. Note that files with increasing or
decreasing frequency values are correctly handled. It is assumed that the first column of a System One
measurement file contains frequency values, while the magnitude and phase values can be in either the
second or third columns. Note that System One files containing only frequency and amplitude values are
supported. If an unsupported measurement is included in a System One file, CALSOD will display an error
message to inform you of the problem. Also, CALSOD will not process any files that claim to be in the
System One format if they contain any blank lines of data.

A typical measurement file produced by System One is S1LPF.DAT, and this file contains the magnitude
and phase response of a first-order Butterworth lowpass filter with a cutoff frequency of 1 kHz. A sample
data file called EXSYSONE.C31 is provided to illustrate how to create a CALSOD data file that uses a
System One measurement file. A listing of EXSYSONE.C31 is provided below:

01> ! ------------------------------------------------------------
02> ! TEST FILE FOR USING SYSTEM ONE DATA FILES FOR SOUND PRESSURE
03> ! ------------------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0 0 0 POSITIVE
07> !
08> TARGET SPL
09> SEN 90.0 DB
10> XYZ 0 0 0
11> !
12> DRIVER 1
13> BUT LPF
14> SOUND PRESSURE
15> FILE SYSTEMONE S1LPF.DAT 0.0 0.0 SECONDS 0.0 DB

The plot in Figure 117 shows the magnitude and phase response of the lowpass filter function after the
System One data file has been read in by CALSOD. The plot in Figure 118 shows the System One display
for the same set of data. It is evident that CALSOD handles this System One measurement file correctly.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 331


Figure 117: Example of response data being imported from System One using CALSOD’s FILE
submodule: magnitude and phase of lowpass filter response as interpolated by CALSOD.

Figure 118: Magnitude and phase of filter response obtained using System One.

Using LMS measurement files

CALSOD supports measurement files that were exported as ASCII text in the System One format from
LinearX’s LMS test system. This can be achieved by selecting the option
[U]tils Menu/[E]xport Data/[F2] APS1 from the main menu in LMS. To read these LMS-created files,
CALSOD’s FILE submodule must be used with Format = SYSTEMONE.

CALSOD has been extended to support the slightly different header labels created by LMS when exporting
data in the System One format. If an unsupported column label for a measurement is included in a file that
should be in the System One format, CALSOD will display an error message to inform you of the problem.
Please study the previous section describing the use of System One files with CALSOD for additional
information.

The LMS software includes the ability to compute the phase response of a driver’s sound pressure and
impedance response functions using the Hilbert Transform. Although the algorithms used in the latest
versions of LMS are quite refined, the user must still be careful how this capability is applied. For example,
if a sound pressure measurement of a driver has been taken in a non-anechoic environment, then LMS’s

332 – CALSOD 3.10 and CALSOD 1.40 User's Manual


gating technique will produce a severe discontinuity around 500 Hz, below which accurate measurements
are not possible. Because the response below this frequency is not well defined, if a Hilbert Transform is
attempted it will have anomalous phase behaviour caused by the inaccurate low-frequency response data.

In such cases, the user will achieve a better result if he sets the magnitude response to be flat below the
discontinuity prior to computing the phase response using the Hilbert Transform. Although still not ideal,
the phase response at high-frequencies will be much more accurate, and it should be remembered that this
region is of critical importance in designing crossover networks.

Newer releases of LMS software now include the capability for splicing together near-field low-frequency
measurements with those taken at the more usual distances of 1.0 or 2.0 metres. This technique will produce
a magnitude response curve that is valid over the full frequency range, and this ensures that the phase
response computed by the Hilbert Transform will be as accurate as possible. Please note that it is still
necessary to select appropriate asymptotic slopes for the low-frequency and high-frequency rolloffs prior to
using the Hilbert Transform, and recent versions of LMS have options to enable you to do this.

There is an example file called EXLMS.C31 that shows how CALSOD can import files that have been
exported from LMS in the Audio Precision System One file format. The files being imported are called
LMS_SPL.DAT, LMS_IMP.DAT, LMS_VRMS.DAT, and LMS_VDBM.DAT. The first two files contain
sound pressure and impedance response data for a loudspeaker driver. The remaining two files contain
examples of filter and equalization response functions that were also measured using LMS. These files were
created from examples in the measurement libraries that are supplied with LMS.

Using IMP and Audiosuite measurement files

CALSOD supports measurement files that have been exported as ASCII text files in various formats by the
IMP and Audiosuite test system from Liberty Instruments. The file formats used by Audiosuite are identical
to those used by IMP, and files from any of these two systems will be referred to as IMP/Audiosuite
measurement files in the following text.

There is an example file called EXLIIMP.C31 that shows how CALSOD can import files that have been
exported from the Liberty Instruments IMP measurement system. The measurement files being imported are
called LIIMPSPL.FRD and LIIMPIMP.ZMA. The files contain sound pressure response data and impedance
response data for a loudspeaker driver, respectively. These files are typical of IMP files that are of the .FRD
and .ZMA file types. Note that only ASCII text files are supported; binary measurement files created by IMP
cannot be read.

Measurement files created by IMP/Audiosuite presently come in three different formats. These are usually
denoted by their default filename extensions: .FRD, .ZMA, and .ZFR. CALSOD can handle IMP/Audiosuite
files of varying length, and it is possible to mix sound pressure and impedance measurements that have been
taken using different frequency ranges. However, you must ensure that both sets of data points cover the full
frequency range that is of interest.

Explicit support for Liberty Audiosuite files is available in the FILE submodule. Two file format descriptors
are available for use in the FILE submodule: ASFRD and ASZMA. These are designed to specify to
CALSOD the type of Audiosuite measurement file that is being imported. Note that only ASCII text files are
supported; binary measurement files created by Audiosuite cannot be read by CALSOD.

If Format = ASFRD is specified in a FILE submodule, then the file format corresponds to Liberty
Instruments’ Audiosuite frequency response data format, which is usually saved using the .FRD filename
extension. The data contained in this file type consist of frequency, dB and phase values corresponding to
the measured sound pressure response of a driver. By explicitly using the ASFRD format descriptor,
CALSOD will automatically process the dB values.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 333


If Format = ASZMA is specified in a FILE submodule, then the file format corresponds to Liberty
Instruments’ Audiosuite impedance response format, which is usually saved using the .ZMA filename
extension. The data contained in this file type consist of frequency, magnitude and phase values
corresponding to the measured impedance response of a driver. By explicitly using the ASZMA format
descriptor, CALSOD will automatically process the magnitude values as not being in a dB format.

There is an example file called EXLIAS.C31 that shows how CALSOD can import files that have been
exported from the Liberty Instruments Audiosuite measurement system. The measurement files being
imported are called LIASSPL.FRD and LIASIMP.ZMA. The files contain sound pressure response data and
impedance response data for a loudspeaker driver, respectively. These files are typical of IMP files that are
of the .FRD and .ZMA file types.

The .FRD file consists of three columns of data: frequency, magnitude in dB, and phase in degrees. This
format is used for saving sound pressure response data.

.FRD file
~~~~~~~~~
(frequency) (dB) (degrees)
20.0 -32.0 165.0
23.0 -28.0 153.0
etc.

The .ZMA file consists of three columns of data: frequency, magnitude, and phase in degrees. This format is
used for saving impedance response data.

.ZMA file
~~~~~~~~~
(frequency) (magnitude) (degrees)
20.0 8.3 165.0
23.0 10.7 153.0

etc.

The .ZFR file consists of five columns of data: frequency, impedance magnitude, impedance phase in
degrees, sound pressure in dB, and sound pressure phase in degrees. This format is used for saving both
impedance response data and sound pressure response data for the same driver in the one file.

.ZFR file
~~~~~~~~~
(frequency) (magnitude) (degrees) (dB) (degrees)
20.0 8.3 165.0 -32.0 165.0
23.0 10.7 153.0 -28.0 153.0

etc.

Although the above file fragments indicate the type of data that are stored in each column using text labels,
the actual IMP/Audiosuite files do not contain this information. As a result, it is not possible for CALSOD
to reliably distinguish between the .FRD and .ZMA files just by processing the file contents. To circumvent
this problem, CALSOD’s FILE submodule requires the user to explicitly specify what IMP/Audiosuite file
type has been used. This is easily accomplished by setting the Format specifier in the FILE submodule to be
IMPFRD, IMPZMA, or IMPZFR as required. It is therefore strongly recommended that the IMP/Audiosuite
user adheres to the suggested file naming conventions for their data in order to prevent any file reading
problems from occurring.

We will now proceed to give some listings of example CALSOD data files that make use of the various
types of IMP/Audiosuite measurement files. These will also be used to illustrate some of the issues that must
be considered in order to ensure that these files are used both easily and reliably. At the time of writing of
this user’s manual we did not have available a working IMP/Audiosuite system, so we are not providing any
sample files on disk that can be read in while studying our examples.

334 – CALSOD 3.10 and CALSOD 1.40 User's Manual


We will start with an example CALSOD data file that uses the .FRD and .ZMA files to set up a simulation
of driver’s sound pressure and impedance response. In the interests of simplicity and conciseness, we will
dispense with the definition of a crossover network. A suitable driver module in a CALSOD data file would
typically take on the following form:

01> CIRCUIT
02> !
03> SPK 1 0 1 0 0 0 POSITIVE
04> !
05> DRIVER 1
06> IMP MEASMNT
07> SOUND PRESSURE
08> SEN 90.0 DB
09> FILE IMPFRD IMPDATA.FRD 0.0 0.0 SECONDS 0.0 DB
10> IMPEDANCE
11> FILE IMPZMA IMPDATA.ZMA 0.0 0.0 SECONDS 1.0 LINEAR
12> !
13> TARGET SPL
14> SEN 90.0 DB

In the above example, we see that we have referred to two measurement files, IMPDATA.FRD and
IMPDATA.ZMA, in lines 09 and 11 of the DRIVER module. There is also a SEN submodule being used in
line 08 to scale the measurement data to a more appropriate sound level. This SEN submodule will often be
required if the measurements taken by the IMP/Audiosuite have not been calibrated. If you are taking only
relative measurements, then you can dispense with the use of the SEN submodule, and rely on scaling your
plots from within CALSOD.

Another common situation might involve the measurement of a woofer’s and a tweeter’s sound pressure
response at the same observation point. The following CALSOD data file illustrates how the measurements
of the characteristics of these two drivers might be included in a typical model.

01> CIRCUIT
02> !
03> SPK 1 0 1 0 0 0 POSITIVE
04> SPK 2 0 1 0 0 0 POSITIVE
05> !
06> DRIVER 1
07> WOOFER
08> SOUND PRESSURE
09> FILE IMPFRD IMPWOOF.FRD 0.0 0.0 SECONDS 0.0 DB
10> IMPEDANCE
11> FILE IMPZMA IMPWOOF.ZMA 0.0 0.0 SECONDS 1.0 LINEAR
12> !
13> DRIVER 2
14> TWEETER
15> SOUND PRESSURE
16> FILE IMPFRD IMPTWEET.FRD 0.0 0.0 SECONDS 0.0 DB
17> IMPEDANCE
18> FILE IMPZMA IMPTWEET.ZMA 0.0 0.0 SECONDS 1.0 LINEAR
19> !
20> TARGET SPL
21> SEN 90.0 DB

You will note that this time we have decided to dispense with any scaling applied via the SEN submodules
in the DRIVER 1 and DRIVER 2 modules. However, it could just as easily been included if we had some
information concerning the sensitivity of the drivers. Note that it is important to consider the sound pressure
levels already covered by any data files, as the SEN submodule simply causes a constant sound pressure
level to be added to the data, and therefore the value that you use may not actually represent the true driver
sensitivity.

Another useful example shows how we would typically use data from a .ZFR file that has been created by
the IMP/Audiosuite. These types of files are somewhat unusual in that they contain both impedance and

CALSOD 3.10 and CALSOD 1.40 User's Manual – 335


sound pressure response data corresponding to each frequency point in the file. The following sample listing
illustrates how a .ZFR file would be used in a DRIVER module to set up the sound pressure and impedance
for the driver.

01> CIRCUIT
02> !
03> SPK 1 0 1 0 0 0 POSITIVE
04> !
05> DRIVER 1
06> IMP MEASMNT
07> SOUND PRESSURE
08> SEN 90.0 DB
09> FILE IMPZFR IMPZDB.ZFR 0.0 0.0 SECONDS 0.0 DB
10> IMPEDANCE
11> FILE IMPZFR IMPZDB.ZFR 0.0 0.0 SECONDS 1.0 LINEAR
12> !
13> TARGET SPL
14> SEN 90.0 DB

You will note that the same filename has been used in lines 09 and 11. When CALSOD reads the data
contained in the file, which is called IMPZDB.ZFR in this example, it will pick out the data that are
appropriate for the particular section the FILE submodule has occurred in. The sound pressure response data
contained in a .ZFR file will be used when the file is included in the SOUND PRESSURE section. The
impedance response data contained in a .ZFR file will be used when the file is included in the IMPEDANCE
section.

Using CLIO and CLIOwin measurement files

There is an example file called EXCLIO.C31 that shows how CALSOD can import files that have been
exported from the CLIO electrical and acoustical test system. The CLIO files are exported in a format that is
very similar to that used by the Audio Precision System One test system. The files being imported are called
CLIO_SPL.DAT and CLIO_IMP.DAT, and they contain sound pressure and impedance response data for a
loudspeaker. These files were created from example measurement files contained on the CLIO Demo Disk.

CALSOD now supports CLIO 4.0 and CLIO 4.5 measurement files as well. Try the example file called
EXCLIO4.C31, which reads in a sound pressure response file called CLIO4SPL.DAT.

CALSOD also supports CLIOwin measurement files. Try the example file called EXCLIOW.C31, which
reads in a sound pressure response file called CLIOWSPL.DAT and an impedance file called
CLIOWIMP.DAT.

To ensure that you can make full use of CALSOD’s file importing capabilities, please read the description
of the FILE submodule in the user’s manual, and study the other examples that have also been provided.

Using AMS-PC measurement files

There is an example file called EXAMSPC.C31 that shows how CALSOD can import files that have been
exported from Kemsonic’s AMS-PC audio measurement system using AMS-PC’s standard binary file
format. The two file types that are presently supported are .PEG and .IMP files. These correspond to sound
pressure and impedance measurements. The two sample files that are being imported are called
ME15200.PEG and ME15200.IMP. These files were kindly supplied by a user of the AMS-PC measurement
system, so they represent actual measured data obtained from a working AMS-PC system.

In its present form, CALSOD’s support for AMS-PC binary files requires that each measurement file
contains data acquired using a frequency resolution of 1/20 of an octave. Although AMS-PC can take
measurements using lower frequency resolutions, these are not supported, and CALSOD will display an
error message if you attempt to use such an AMS-PC file. In any case, at least for the purpose of curve-
fitting, it is preferable to use the 1/20 octave frequency resolution rather than one of the coarser settings.
336 – CALSOD 3.10 and CALSOD 1.40 User's Manual
The modes supported by AMS-PC measurements also enable the user to choose an appropriate frequency
range that is less than the maximum range of 10 Hz to 40000 Hz. For example, a frequency range of 100 Hz
to 10000 Hz can be selected by the user. When reading in an AMS-PC file, CALSOD studies parameters that
are stored in the binary file in order to determine the actual frequency range that has been used for the
measurement. This is done in order to make sure that only valid data is used from the set of values that are
actually stored in the AMS-PC file.

To ensure that you can make full use of CALSOD’s file importing capabilities, please read the description
of the FILE submodule in the user’s manual, and study the other examples that have also been provided.

Using AIRR measurement files

There is an example file called EXAIRR.C31 that shows how CALSOD can import files that have been
exported from the AIRR electrical and acoustical test system. The AIRR files are exported in a format that is
very similar to that used by the Audio Precision System One test system, the main difference being in
AIRR’s use of special header text. The files being imported are called EXAIRRS1.DAT and
EXAIRRS2.DAT, and they contain two different sets of sound pressure data for a loudspeaker. The first file
contains only sound pressure amplitude response data, while the second also contains phase response data.

To ensure that you can make full use of CALSOD’s file importing capabilities, please read the description
of the FILE submodule in the user’s manual, and study the other examples that have also been provided.

Using PC AudioLab measurement files

There is an example file called EXPCLAB.C31 that shows how CALSOD can import files that have been
exported from the PC AudioLab electrical and acoustical test system. In order to get CALSOD to recognized
the exported PC AudioLab data, you need to specify the file type as PCAUDIOLAB in the FILE submodule.
The example files being imported are called EXPCLABS.DAT and EXPCLABI.DAT, and they contain
sound pressure and impedance response data for a loudspeaker. These two files match the format described
in your PC AudioLab user’s manual.

Please note that the PC AudioLab export file format does not distinguish between magnitude response data
corresponding to sound pressure data in dB or impedance data in ohms. If a PC AudioLab file is imported in
CALSOD within a section of a module that corresponds to sound pressure data, then the PC AudioLab file is
assumed to contain data magnitudes that are in dB. If a PC AudioLab file is imported in CALSOD within a
section of a module that corresponds to impedance data, then the PC AudioLab file is assumed to contain
data magnitudes that are in ohms. Please be careful to ensure that these condition are met when using any
files that were exported from PC AudioLab.

To ensure that you can make full use of CALSOD’s file importing capabilities, please read the description
of the FILE submodule in the user’s manual, and study the other examples that have also been provided.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 337


ESTIMATING DRIVER
PARAMETERS FROM
IMPEDANCE MEASUREMENTS

In order to be able to design the low-frequency alignment of a direct radiator loudspeaker system, it is
necessary to determine the Thiele-Small parameters of the driver (Qms, Qes, Qts, Fs, and Vas). A
knowledge of these parameters allows the designer to accurately predict the sensitivity and the low-
frequency performance of the driver when mounted in different types of enclosures.

In this section we will describe two methods that have been implemented in CALSOD to automatically
determine a loudspeaker driver’s Thiele-Small parameters. Two sets of impedance measurements are
needed, and these are taken under conditions where either the mass or the compliance of the driver are
perturbed. These will be referred to as the added-mass and the volume-change methods of Thiele-Small
parameter estimation.

To make the impedance method of Thiele-Small parameter estimation as easy to use as possible, direct
support for measurement data stored in files acquired using common test equipment such as MLSSA, SYSid,
LMS, System One, IMP, Audiosuite, CLIO, CLIOwin, AIRR, AMS-PC, and PC AudioLab has been
implemented. A general purpose file format has also been developed in order to permit users of other test
systems to take advantage of CALSOD’s parameter estimation capabilities. It is recommended that the user
be familiar with the use of the FILE submodule for importing measurements into CALSOD, and that you
have fully familiarized yourself with the contents of the section describing the use of imported
measurements.

Electrical equivalent circuit of driver

The simplified electrical equivalent circuit of a loudspeaker driver is presented below:

Rg Re Le
1──/\/\/\──2──/\/\/\──3──OOOOOO─────────────4
│ │
│ ┌────────┼────────┐
┌───┴───┐ │ │ │
│ /\ │ \ │ O
Eg │/ \ /│ Res / Cmes === Lces O
│ \/ │ \ │ O
└───┬───┘ │ │ │
│ └────────┼────────┘
│ │
0───────────────────────────────────────────┘

The various circuit components are defined as follows, together with a description of the physical quantity
that each element represents:

Eg = Output voltage of amplifier


Rg = Output resistance of amplifier and cables
Re = DC resistance of driver voice coil
Le = Inductance of driver voice coil
Res = Re×Qms/Qes Corresponds to driver suspension resistance
Cmes = Qms/(Ws×Res) Corresponds to driver mass
Lces = 1/(Cmes×Ws²) Corresponds to driver suspension compliance

338 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Lceb = Lces/α Corresponds to enclosure compliance
Ws = 2π×Fs Driver free-air resonance frequency

If the driver was mounted on a baffle or in an enclosure for the impedance measurements, it should be noted
that Fs as measured using this technique corresponds to the free-air resonance frequency when the driver is
loaded by the same air load mass as was present during the original impedance measurements. When the
driver is suspended in free air for the first impedance measurement, and then mounted in an enclosure for
the second impedance measurement, the air load mass is not constant for the two sets of conditions. The
estimated value of Fs therefore corresponds to an air load mass condition that lies between the free air and
baffled cases.

Maximizing the accuracy of parameter estimates

In order to maximize the accuracy of the estimated Thiele-Small parameters, it is suggested that the shift in
driver resonance frequency be at least 30%, although a shift of 50% to 100% is to be preferred. If you use
the enclosure loading method, you must ensure that the cabinet is completely sealed and does not contain
any stuffing material that can influence the stiffness of the air in the enclosure or introduce any additional
losses that will effect the impedance.

To further improve the accuracy of the parameter estimates, there is provision for including the effects of
voice-coil inductance. This can be modelled as a simple series inductor using the IND submodule. For even
better results, a special minimum-phase component can be introduced using the MRX submodule. This
correctly matches the frequency dependent behaviour of the resistive and reactive parts of the voice-coil’s
high-frequency behaviour. This can be an important consideration with some drivers that have a large voice-
coil inductance that contributes significantly to the impedance values near the resonance frequency of the
driver.

As a result of its advanced optimization techniques, CALSOD’s method of Thiele-Small parameter


estimation is fast and reliable, and has a high immunity from noise. It is considerably better than the
conventional three-point method, and the parameter estimates are optimum from the perspective of least
squares error. As part of the estimation process, CALSOD also synthesizes the ideal impedance of the driver
based on the measured data. This idealized impedance model can be compared to the measured impedance
to help identify imperfections that may exist in either the driver or the model itself.

It is also highly desirable to ensure that the measurement environment is relatively free from high-energy,
low-frequency sound. This might be present from air conditioner rumble, traffic noise, or machinery
vibration from nearby industrial complexes. When measurements are being taken, any nearby personnel
should stand clear so as not to unduly affect the air-load placed on the driver under test.

Volume-change method – choosing a test enclosure

In order to utilize the volume-change (or added-compliance) method for estimating a driver’s Thiele-Small
parameters, it will be necessary to have a range of test enclosures of different volumes. These will need to
be selected to suit drivers of different diameters and whose stiffness varies widely. The boxes should be
unlined and sealed air-tight. A clamping fixture may prove useful to hold down the driver, which must be
held with a tight seal to eliminate leakage losses which are a potential source of measurement error.

The required box volume necessary to ensure good accuracy can lie anywhere between one and ten times the
Vas value for the driver. Therefore, it is usually possible to arbitrarily estimate the box volumes by using a
fairly crude guess for the Vas value of the driver’s compliance. A little prior knowledge of the typical values
for other similar drivers can prove to be a good guide.

The walls of the test enclosure should be rigid enough to suppress flexing and vibration at measurement
frequencies in the range from 5 Hz to about 200 Hz. It is usually not possible to suppress higher-order

CALSOD 3.10 and CALSOD 1.40 User's Manual – 339


enclosure structural vibration modes, but they should usually have no effect on the Thiele-Small parameter
estimates.

Volume-change method – a generic data file

If the user defines the electrical equivalent circuit using the format that will be outlined below, then all the
components required in this circuit will be estimated automatically, except for Rg and Re. This makes the
method very easy and convenient to use, as only a small amount of data preparation is required.

An example data file that illustrates the required set up of the CIRCUIT submodule is called TSFITVC.C31.
A listing of this file is shown below.

01> ! ----------------------------------------------------------
02> ! DRIVER IMPEDANCE FIT FOR THIELE-SMALL PARAMETER ESTIMATION
03> ! ----------------------------------------------------------
04> !
05> TITLE 1 ENABLE
06> VOLUME-CHANGE METHOD OF PARAMETER ESTIMATION FOR A WOOFER
07> !
08> EXPERIMENTAL IMPEDANCE
09> FILE CALSOD DRVRIMP1.MDF 0.0 0.0 SECONDS 1.00 LINEAR
10> !
11> EXPERIMENTAL IMPEDANCE
12> FILE CALSOD DRVRIMP2.MDF 0.0 0.0 SECONDS 1.00 LINEAR
13> !
14> CIRCUIT
15> !
16> PEC 0.0 0.0 0.0 0.015 0.023
17> !
18> RES 0.001 1 2 FIXED ! Rg
19> RES 6.000 2 3 FIXED ! Re
20> MRX 4.000E-02 5.600E-01 3 4 VARIABLE ! Le
21> RES 4.000E+01 0 4 VARIABLE ! Res
22> CAP 4.000E-04 0 4 VARIABLE ! Cmes
23> IND 4.000E-02 0 4 0.000E+00 VARIABLE ! Lces
24> !
25> SPK 1 0 1 0 0 0 POSITIVE
26> SPK 2 0 1 0 0 0 POSITIVE
27> SPK 3 0 1 0 0 0 POSITIVE
28> !
29> DRIVER 1
30> IMP FIT 1
31> SOUND PRESSURE
32> SEN 90.0 DB
33> SOF 40.0 0.7071 HIGHPASS
34> IMPEDANCE
35> IMP 40.0 6.0 50.0 0.0200 0.7000 0.500
36> !
37> DRIVER 2
38> IMP FIT 2
39> SOUND PRESSURE
40> SEN 90.0 DB
41> SOF 40.0 0.7071 HIGHPASS
42> IMPEDANCE
43> IMP 40.0 6.0 50.0 0.0200 0.7000 0.500
44> !
45> DRIVER 3
46> T-S MODEL
47> SOUND PRESSURE
48> SEN 90.0 DB
49> SOF 40.0 0.7071 HIGHPASS
50> IMPEDANCE
51> IMP 40.0 6.0 50.0 0.0200 0.7000 0.500
52> !
53> TARGET SPL
54> SEN 90.0 DB

340 – CALSOD 3.10 and CALSOD 1.40 User's Manual


This file can be used as a template for your own driver measurements. In order to use this template, all that
you need to modify is the information defined in the PEC submodule. You will also usually change the
names of the measurement files to suit your own test data.

In order for CALSOD to perform Thiele-Small parameter estimation using the volume-change method, it is
necessary to supply two sets of impedance measurements (this also applies to the added-mass method which
will be described later). These are included in the two EXPERIMENTAL IMPEDANCE modules defined in
lines 08 and 11. For this example, we have supplied two files called DRVRIMP1.MDF and
DRVRIMP2.MDF that contain the measured impedance data. These two files are in the CALSOD file
format, although a wide range of file formats are supported.

Please note that the PEC submodule is used to input the change in enclosure volume or the added mass
corresponding to each set of driver impedance measurements. CALSOD will automatically compute initial
estimates of the components in the electrical equivalent circuit model of the driver for each set of
measurements based on the impedance response data that are provided in the two EXPERIMENTAL
IMPEDANCE modules.

In this particular example, the PEC submodule in line 16 specifies that the effective area of the driver
diaphragm is Sd = 0.0230 m², which is typical of a driver whose nominal diameter is 200 mm. We are using
the volume-change method to create two sets of impedance data, so the PEC module specifies that Vb1 = 0.0
and Vb2 = 0.015 m³ (15 litres). The fact that Vb1 = 0.0 signifies to CALSOD that no enclosure was actually
used for one of the impedance measurements. The values of M1 and M2 are set to zero in order to signify
that the added-mass method is not being used in this particular case.

The TITLE module in line 05 allows you to include a few lines of comments. These will be printed out with
the Thiele-Small parameter estimates, as well as being included in any plots that you may create. It is also
useful to keep the individual title lines for each of the DRIVER modules, as given in lines 30, 38 and 46.
These will make it easier for you to keep track of what characteristics are being plotted out during later
stages of the analysis.

The resistors in lines 18 and 19 that represent Rg and Re are FIXED, and if even if you change them to
VARIABLE they will be reset to FIXED by CALSOD prior to performing any optimization. Both these
component values can generally be quite easily and accurately measured, and therefore it is preferable to
stop them from being estimated during the optimization process. Depending on your particular test set up,
the value of Rg may or may not be significant. Although it is not possible to set Rg exactly equal to zero, a
value of Rg = 0.001 ohms will effectively achieve the same results.

It should also be noted that in some cases accurate measured impedance data down to 5 Hz or less may not
be available because of limitations of the test equipment. However, measurements down to 10 Hz or 15 Hz
should be quite readily achievable. At that point, you may often find that one or other of the measured
impedance curves is still quite far away from the Re asymptote that occurs at very low frequencies. This is
generally not a significant problem for the optimizer to cope with, and the resulting Thiele-Small parameter
estimates should still be quite reliable.

Special features for Thiele-Small parameter estimation

If you look at the generic Thiele-Small parameter estimation file described above, you will see that we have
included three DRIVER modules, each of which contains SEN and SOF submodules in the SOUND
PRESSURE section, as well as an IMP submodule in each IMPEDANCE section.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 341


Because of the special format of the CIRCUIT module when Thiele-Small parameter
estimation is being undertaken, which CALSOD automatically recognizes, the connection
of these three drivers in the three SPK submodules does not behave in the usual manner. In
fact, the circuit calculations are performed as if these three speakers were not actually
connected in the circuit.

CALSOD will also automatically add the amplifier/cable resistance that is being modelled as Rg to the
computed impedance response functions of the DRIVER 1 and DRIVER 2 modules. This ensures that it is
possible to make a direct comparison between the two sets of experimental data and the fitted impedance
models.

Volume-change method – frequency range selection

The impedance data contained in the two measurement files were obtained over the frequency range 5 Hz to
20 kHz. Therefore, before you read in the file TSFITVC.C31, you should set the lower limit of the
calculation frequency range to 5 Hz, and the upper limit to 20 kHz. Because this frequency range is so wide,
it is suggested that you use at least 100 subintervals for the calculations, and you should also make sure that
you use the logarithmic frequency scale. The frequency range for plotting should be set to match the
calculation range in order to display the maximum amount of information.

If you now read in the data file TSFITVC.C31, you will be able to plot out the two sets of experimental
impedance data that were read in from the CALSOD-compatible imported data files using the FILE
submodules. Note that the circuit values that are defined in the data file are used only as place holders, so
they will initially produce an input impedance that is not indicative of anything in particular.

The plot in Figure 119 shows the data points from the two sets of impedance measurements that were
obtained for the two volume-change conditions. The data with the lower impedance peak correspond to the
first set of experimental impedance measurements. At higher frequencies well above the impedance peak
caused by the motional impedance of the driver, the two sets of data merge together. This is a common
occurrence, as any changes in enclosure loading will usually have only a minimal effect on the high-
frequency impedance characteristics, as they are dominated by the voice-coil inductance.

Figure 119: Driver impedance measurements taken under two different enclosure loading
conditions.

When choosing a suitable frequency range prior to running the Thiele-Small parameter optimizer, it is very
important that you set the calculation frequency range so that it includes both of the low-frequency
impedance peaks that are contained in the data provided in the two EXPERIMENTAL IMPEDANCE
modules. You must also ensure that the data range includes the region where the voice-coil inductance
causes the rise in the high-frequency impedance curve. This will allow the component that is modelling the

342 – CALSOD 3.10 and CALSOD 1.40 User's Manual


voice-coil inductance to take part in the optimization and yield a reliable estimate for this particular
parameter.

If you set a frequency range that does not include any high-frequency impedance data with a significant
contribution from voice-coil inductance effects, then CALSOD will automatically set the MRX submodule
to be FIXED during the optimization. The Kmp and Xmp values associated with the MRX submodule will
also be set so that this module has no effect on the input impedance of the equivalent circuit.

If your impedance measurements do not have sufficient data at high frequencies for the optimizer to estimate
the value of the voice-coil inductance component, then CALSOD will automatically switch off the
estimation of this circuit component. However, you must still manually restrict the frequency range for the
analysis to suit the range covered in your measurements.

Volume-change method – optimizing the equivalent circuit

After you have appropriately set the frequency ranges for calculation and plotting to cover the range from
5 Hz to 20 kHz using 100 subintervals, you can read in the data file TSFITVC.C31 and compute all the
response functions. We are now at a stage where we can optimize the electrical equivalent circuit of the
driver in order to determine the Thiele-Small parameters based on the two sets of impedance measurements
taken under different enclosure loading conditions.

From the main menu, select the option that is related to starting the optimization process. You will be
prompted by a number of further options, and you should select the one that performs estimation of the
Thiele-Small parameters. Remember that this option is only supported if the special format of CALSOD
data file is used.

Once the optimizer has been started, after a few iterations it will become evident that the minimum error is
not decreasing any further. You should then press the Esc key to stop the optimization of the first set of
impedance data. The optimizer will then automatically proceed to optimize the curve-fit for the second set of
impedance data. Once again, it should become apparent after a few iterations that the minimum error is no
longer decreasing. You should then press the Esc key to stop the optimization of the second set of
impedance response data. When the optimization process is completed, all the required response functions
are then automatically recalculated.

Volume-change method – plotting fitted response functions

When CALSOD recognizes that you are using the special Thiele-Small parameter estimation format, it
automatically performs a number of additional calculations. After the optimizer has been run and the Thiele-
Small parameters have been estimated, the data in the SEN, SOF and IMP submodules in each DRIVER
module are internally modified to use the driver parameters that have just been determined. All impedance
and sound pressure response functions associated with these DRIVER modules are then automatically
recalculated based on the new set of parameters. It is then possible for the user to display these response
functions using CALSOD’s standard plotting capabilities by selecting the appropriate driver response
functions for display.

The screen snapshot shown below depicts the menu that is displayed when you select the option from the
main menu that will allow you to plot out the various response functions. The three SPK submodules
contain the modified driver data corresponding to the three DRIVER modules that were included in the data
file. The last two response functions in the menu, labelled as “Experimental impedance points (1)” and
“Experimental impedance points (2)”, correspond to the first and second sets of experimental impedance
measurements.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 343


╔══════════════════════════════════════════════════════════╦══════════╗
║ C A L S O D ║4:49:47 am║
║Computer-Aided Loudspeaker Systeme Optimization and Design║1 MAR 2007║
║(C) Copyright by Audiosoft, 1988-2007, All Rights Reserved║95 KB free║
╠══════════════════════════════════════════════════════════╩══════════╣
║Circuit Driver Driver Filter Dri*Filt Driver ║
║Speaker Description Response Response Response Impedance ║
║~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~ ~~~~~~~~~ ║
║1: SPK 1 IMP FIT 1 A B C D ║
║2: SPK 2 IMP FIT 2 E F G H ║
║3: SPK 3 T-S MODEL I J K L ║
║ ║
║ M Total system SPL response in dB ║
║ N Total system power response in dB ║
║ O Input impedance in ohms ║
║ P Target SPL function in dB ║
║ Q Target input impedance in ohms ║
║ R Weighting SPL function in dB ║
║ S Total system SPL - Target SPL ║
║ T Experimental impedance points (1) ║
║ U Experimental impedance points (2) ║
║ ║
║ Select functions (end with <CR> or <ESC> to abort): ║
║ ║
╚═════════════════════════════════════════════════════════════════════╝

When the above menu is being displayed on the screen, in order to compare the fitted impedance response
functions with the experimental measurements, you can proceed as follows. Select the driver impedance
functions corresponding to SPK 1 and SPK 2 (options D and H), as well as the experimental impedance
functions (options T and U). The different sets of response functions will be plotted together, allowing a
simple visual comparison to be made as a check on the effectiveness of the optimizer.

The plot in Figure 120 shows the two sets of experimental data points superimposed on the fitted impedance
response curves. It is evident that very good fits to the impedance data have been obtained in the regions
around the impedance peaks, as well as at higher frequencies. This indicates that the assumed electrical
equivalent circuit provides a good model for the actual driver impedance characteristics, and we can
therefore be confident in the accuracy of the Thiele-Small parameter estimates that have been obtained.

Figure 120: Fitted impedance functions and experimental data points.

The plot in Figure 121 shows the simulated impedance response of the driver based on the estimated values
of the Thiele-Small parameters. This curve corresponds to the impedance plot for the theoretical driver
defined in the DRIVER 3 module. If one of the impedance measurements was carried out without an
enclosure or any added mass, then the impedance curve shown here will be very similar to one of the
measured impedance response curves. This is in fact the case for this example.

344 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 121: Simulated driver impedance based on estimated Thiele-Small parameters.

If desired, it is also possible to plot out the simulated sound pressure response functions for this driver.
Simply select the appropriate option corresponding to the sound pressure response function for SPK 3.

Volume-change method – displaying Thiele-Small parameters

Having successfully completed the optimization of the electrical equivalent circuit using the two sets of
impedance response data, all that remains is to take a look at the resulting Thiele-Small parameters. By
using the specific format in the CIRCUIT submodule as shown in the TSFITCV.DAT data file, CALSOD
recognizes that the user has just carried out a circuit optimization from which the driver’s Thiele-Small
parameters have been computed. The format used to display all of the estimated Thiele-Small parameters for
this driver is shown below.

VOLUME-CHANGE METHOD OF PARAMETER ESTIMATION FOR A WOOFER

ESTIMATED LOUDSPEAKER DRIVER PARAMETERS


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fs = 40.0074 Hz Rg = 0.0010 ohms
Qms = 3.0007 Re = 6.0000 ohms
Qes = 0.3499 Le = 0.8626 mH
Qts = 0.3134 Le Kmp = 16.0364 mohms
Vas = 44.9721 litres Le Xmp = 0.6698
Sd = 0.0230 m^2 Le Kr = 7.9493 mohms
Mms = 26.4345 grams Le Xr = 0.6698
Cms = 0.5987 mm/N Le Ki = 13.9274 mohms
Bl = 10.6745 T.m Le Xi = 0.6698
No = 0.7982 %
SPLref = 91.0392 dB RMSerr1 = 0.0317 ohms
Sens = 92.2886 dB RMSerr2 = 0.0344 ohms
The SEN, SOF, and IMP submodules for this driver are:

DRIVER
T-S MODEL
SOUND PRESSURE
SEN 92.29 DB
SOF 40.01 0.313 HIGHPASS
IMPEDANCE
IMP 40.01 6.00 57.46 1.604E-02 0.6698 0.313

To display the resultant Thiele-Small parameters on the screen, you should select the option from the main
menu that allows you to display driver and circuit parameters. When the submenu appears, you will see a
number of other options, only some of which are related to the display of the Thiele-Small parameters. You
should select the option that enables you to view the driver’s estimated Thiele-Small parameters on the
screen. If desired, by selecting from the available options you can also print out the listing on your printer,
or you can save the results to a file.
CALSOD 3.10 and CALSOD 1.40 User's Manual – 345
All of these parameters have been computed from the component values of the electrical equivalent circuits
that were fitted to the two sets of experimental impedance data, together with the auxiliary data specified in
the PEC submodule.

For the modelling of the voice-coil inductance of the driver, a number of different sets of results are
provided in the results table. Because we have used the MRX submodule in the electrical equivalent circuit,
the values denoted by Le Kmp and Le Xmp have been directly obtained by the optimizer from the
experimental impedance data. The other inductance parameters (consisting of Le, Le Kr, Le Xr, Le Ki, and
Le Xi) are computed from the estimated values of Le Kmp and Le Xmp. The use of these different types of
inductance models is covered in another section of this manual that describes the modelling of the voice-coil
inductance behaviour of loudspeaker drivers.

The parameter labelled as RMSerr1 is equal to the RMS error between the fitted impedance curve and the
first set of measured impedance data, while RMSerr2 corresponds to the fit obtained for the second set of
impedance data. In this example, both of these error terms have low values of around 0.030 ohms, which
indicates that a very good impedance fit has been achieved in both cases. This means that we can be quite
confident of the accuracy of the estimated Thiele-Small parameters for this driver.

The last few lines in the Thiele-Small parameter results table provide submodules that can be used for
simulating the sound pressure and impedance response of this driver when used without any enclosure. Note
that a SEN submodule is included which automatically defines the sensitivity of this driver.

Added-mass method – a generic data file

The previous example showed how a driver’s Thiele-Small parameters could be obtained from two
impedance measurements obtained under different enclosure loading conditions. CALSOD also implements
procedures that can achieve the same results when the added-mass technique is used. Apart from the fact
that the files containing the measured data will be different, except for the case where a measurement was
taken with no added mass or no additional enclosure, all that will need to be varied are the data specified in
the PEC submodule.

To help you become familiar with the use of the added-mass impedance method for determining Thiele-
Small parameters, we have included a sample data file that illustrates the implementation of this particular
technique. The file is called TSFITAM.C31, and it is listed below.

01> ! ----------------------------------------------------------
02> ! DRIVER IMPEDANCE FIT FOR THIELE-SMALL PARAMETER ESTIMATION
03> ! ----------------------------------------------------------
04> !
05> TITLE 1 ENABLE
06> ADDED-MASS METHOD OF PARAMETER ESTIMATION FOR A WOOFER
07> !
08> EXPERIMENTAL IMPEDANCE
09> FILE CALSOD DRVRIMP1.MDF 0.0 0.0 SECONDS 1.00 LINEAR
10> !
11> EXPERIMENTAL IMPEDANCE
12> FILE CALSOD DRVRIMP5.MDF 0.0 0.0 SECONDS 1.00 LINEAR
13> !
14> CIRCUIT
15> !
16> PEC 0.0 50.0E-3 0.0 0.0 0.023
17> !
18> RES 0.001 1 2 FIXED ! Rg
19> RES 6.000 2 3 FIXED ! Re
20> MRX 4.000E-02 5.600E-01 3 4 VARIABLE ! Le
21> RES 4.000E+01 0 4 VARIABLE ! Res
22> CAP 4.000E-04 0 4 VARIABLE ! Cmes
23> IND 4.000E-02 0 4 0.000E+00 VARIABLE ! Lces
24> !
25> SPK 1 0 1 0 0 0 POSITIVE

346 – CALSOD 3.10 and CALSOD 1.40 User's Manual


26> SPK 2 0 1 0 0 0 POSITIVE
27> SPK 3 0 1 0 0 0 POSITIVE
28> !
29> DRIVER 1
30> IMP FIT 1
31> SOUND PRESSURE
32> SEN 90.0 DB
33> SOF 40.0 0.7071 HIGHPASS
34> IMPEDANCE
35> IMP 40.0 6.0 50.0 0.0200 0.7000 0.500
36> !
37> DRIVER 2
38> IMP FIT 2
39> SOUND PRESSURE
40> SEN 90.0 DB
41> SOF 40.0 0.7071 HIGHPASS
42> IMPEDANCE
43> IMP 40.0 6.0 50.0 0.0200 0.7000 0.500
44> !
45> DRIVER 3
46> T-S MODEL
47> SOUND PRESSURE
48> SEN 90.0 DB
49> SOF 40.0 0.7071 HIGHPASS
50> IMPEDANCE
51> IMP 40.0 6.0 50.0 0.0200 0.7000 0.500
52> !
53> TARGET SPL
54> SEN 90.0 DB

In this example, the PEC submodule in line 16 specifies that one impedance measurement was taken with
zero added mass (M1 = 0.0), while the second measurement was taken with an added mass of M2 = 50.0E–
03 kg. As in the earlier example, the effective diaphragm area of the driver is Sd = 0.023 m². Note that we
have specified the values of Vb1 and Vb2 to be zero (Vb1 = Vb2 = 0.0) to indicate that the volume-change
method is not being used.

We have only had to conduct one extra set of impedance measurements corresponding to the 50 g added
mass. The impedance data for this condition are stored in the file DRVRIMP5.MDF. The data for the case
with no added mass corresponds to the file DRVRIMP1.MDF.

Added-mass method – frequency range selection

The impedance data contained in the two measurement files were obtained over the frequency range 5 Hz to
20 kHz. Therefore, before you read in the file TSFITAM.C31, you should set the lower limit of the
calculation frequency range to 5 Hz, and the upper limit to 20 kHz. Because this frequency range is so wide,
it is suggested that you use at least 100 subintervals for the calculations, and you should also make sure that
you use the logarithmic frequency scale. The frequency range for plotting should be set to match the
calculation range in order to display the maximum amount of information.

If you now read in the data file TSFITAM.C31, you will be able to plot out the two sets of experimental
impedance data that were read in from the CALSOD-compatible imported data files using the two FILE
submodules.

The plot in Figure 122 shows the data points from the two sets of impedance measurements that were
obtained for the added-mass conditions. The data with the lower impedance peak correspond to the second
set of experimental impedance measurements. As in the previous example, at higher frequencies well above
the impedance peak caused by the motional impedance of the driver, the two sets of data merge together.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 347


Figure 122: Driver impedance measurements taken under two different added-mass conditions.

When using the added-mass method to determine a driver’s Thiele-Small parameters, you should keep in
mind that the resonance frequency of one of your data sets may get quite low. In this particular example, the
free-air impedance response of the driver peaks at about 40 Hz. When the 50 g added-mass is used, the
resonance frequency drops to about 23 Hz. It is also apparent from the plot that the impedance response at
the 5 Hz frequency is still considerably above the level of the dc resistance. It is therefore necessary for you
to take care to ensure that the lower limit of the analysis frequency range is set to make the most use of the
available data. Although a 5 Hz lower limit is quite adequate, a 15 Hz limit will make the task of the
optimizer much more difficult, as the amount of data for it to work with will be significantly diminished,
and may result in a reduction in accuracy.

Added-mass method – optimizing the equivalent circuit

In order to let the optimizer determine the Thiele-Small parameters, we proceed in the same manner as was
described in the previous example where changes were made to the enclosure loading. After you have
appropriately set the frequency ranges for calculation and plotting to cover the range 5 Hz to 20 kHz with
100 subintervals, you can read in the data file TSFITAM.C31 and compute all the response functions. We
are now at a stage where we can optimize the electrical equivalent circuit of the driver in order to determine
the Thiele-Small parameters based on the two sets of impedance measurements.

From the main menu, select the option that is related to starting the optimization process. You will be
prompted by a number of further options, and you should select the one that performs estimation of the
Thiele-Small parameters. Remember that this option is only supported if the special format of CALSOD
data file is used.

Once the optimizer has been started, after a few iterations it will become evident that the minimum error is
not decreasing any further. You should then press the Esc key to stop the optimization of the first set of
impedance data. The optimizer will then automatically proceed to optimize the curve-fit for the second set of
impedance data. Once again, it should become apparent after a few iterations that the minimum error is no
longer decreasing. You should then press the Esc key to stop the optimization of the second set of
impedance response data. When the optimization process is completed, all the required response functions
are then automatically recalculated.

Added-mass method – plotting fitted response functions

Plotting of the fitted impedance response functions for comparison with the experimental data is
accomplished in the same manner as was described for the volume-change method. The user is referred to
that section to see more detailed instructions concerning the menu choices that need to be made.

348 – CALSOD 3.10 and CALSOD 1.40 User's Manual


The plot in Figure 123 shows the two sets of experimental data points superimposed on the fitted impedance
response curves. Once again, it is evident that very good fits to the impedance data have been obtained, and
we can therefore be confident in the accuracy of the Thiele-Small parameter estimates that have been
computed.

Figure 123: Fitted impedance functions and experimental data points.

The plot in Figure 124 shows the simulated impedance response of the driver based on the estimated values
of the Thiele-Small parameters. This curve corresponds to the impedance for the theoretical driver defined
in the DRIVER 3 module. Because one of the impedance measurements was taken with no added mass (or
additional enclosure loading), then the impedance curve shown here closely corresponds to one of the
measured impedance response curves (the first set of impedance points).

Figure 124: Simulated driver impedance based on estimated Thiele-Small parameters.

If desired, it is also possible to plot out the simulated sound pressure response function for this driver.
Simply select the appropriate option corresponding to the sound pressure response function for SPK 3.

Added-mass method – displaying Thiele-Small parameters

When you have successfully completed the optimization of the electrical equivalent circuit using the two
sets of impedance response data, all that remains is to view the resulting Thiele-Small parameters. By using
the specific format in the CIRCUIT submodule as shown in the TSFITAM.C31 data file, CALSOD
recognizes that the user has just carried out a circuit optimization from which the driver’s Thiele-Small
parameters have been computed. The results of the added-mass parameter estimation process are shown in
the following table.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 349


ADDED-MASS METHOD OF PARAMETER ESTIMATION FOR A WOOFER

ESTIMATED LOUDSPEAKER DRIVER PARAMETERS


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fs = 40.0074 Hz Rg = 0.0010 ohms
Qms = 3.0007 Re = 6.0000 ohms
Qes = 0.3499 Le = 0.8783 mH
Qts = 0.3134 Le Kmp = 16.0392 mohms
Vas = 45.0259 litres Le Xmp = 0.6698
Sd = 0.0230 m^2 Le Kr = 7.9511 mohms
Mms = 26.4029 grams Le Xr = 0.6698
Cms = 0.5994 mm/N Le Ki = 13.9297 mohms
Bl = 10.6682 T.m Le Xi = 0.6698
No = 0.7991 %
SPLref = 91.0444 dB RMSerr1 = 0.0317 ohms
Sens = 92.2938 dB RMSerr2 = 0.0472 ohms
The SEN, SOF, and IMP submodules for this driver are:
DRIVER
T-S MODEL
SOUND PRESSURE
SEN 92.29 DB
SOF 40.01 0.313 HIGHPASS
IMPEDANCE
IMP 40.01 6.00 57.46 1.604E-02 0.6698 0.313

Comparing the results for the added-mass method with those obtained using the volume-change method, it is
apparent that there are no significant differences. The two sets of results are effectively identical, which
indicates that both methods of Thiele-Small parameter estimation are working correctly.

Thiele-Small parameter estimation including Rg effects

Under many test situations, it may not be possible to neglect the value of the series amplifier/cable
resistance Rg, which is included in the electrical equivalent circuit of the driver. In general, because most
power amplifiers have a reasonably high damping factor, the main contribution to Rg will arise from the
resistance of any connecting cables. This will need to be measured and included in the model in order to
help ensure that the Thiele-Small parameters are estimated as accurately as possible.

We have prepared a set of impedance measurements that include a significant contribution from cable
resistance effects. These are contained in the files DRVRIMP3.MDF and DRVRIMP4.MDF, and are used in
conjunction with a sample CALSOD data file called TSFITVCG.C31. Apart from the different filenames for
the experimental impedance data, this file includes a RES submodule with a value of Rg = 0.50 ohms. This
is the measured series resistance of the cables connecting the driver to the amplifier during the measurement
of the impedance data.

After setting the frequency range for analysis and plotting to cover the band from 5 Hz to 20 kHz using 100
subintervals, you can read in the TSFITVCG.C31 file. Once all the response functions are computed, you
can then proceed to run the Thiele-Small parameter optimizer.

When the optimizer has finished, you can display the resulting Thiele-Small parameters, and they should be
similar to those shown in the table below. Comparing the new set of results with those that we have obtained
in previous examples, it is clear that there is no significant difference in the Thiele-Small parameter
estimates.

350 – CALSOD 3.10 and CALSOD 1.40 User's Manual


VOLUME-CHANGE METHOD OF PARAMETER ESTIMATION FOR A WOOFER

ESTIMATED LOUDSPEAKER DRIVER PARAMETERS


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fs = 39.9990 Hz Rg = 0.5000 ohms
Qms = 3.0001 Re = 6.0000 ohms
Qes = 0.3502 Le = 0.8945 mH
Qts = 0.3136 Le Kmp = 15.9526 mohms
Vas = 45.0125 litres Le Xmp = 0.6703
Sd = 0.0230 m^2 Le Kr = 7.8975 mohms
Mms = 26.4219 grams Le Xr = 0.6703
Cms = 0.5992 mm/N Le Ki = 13.8606 mohms
Bl = 10.6659 T.m Le Xi = 0.6703
No = 0.7976 %
SPLref = 91.0363 dB RMSerr1 = 0.0349 ohms
Sens = 92.2857 dB RMSerr2 = 0.0364 ohms
The SEN, SOF, and IMP submodules for this driver are:
DRIVER
T-S MODEL
SOUND PRESSURE
SEN 92.29 DB
SOF 40.00 0.314 HIGHPASS
IMPEDANCE
IMP 40.00 6.00 57.40 1.595E-02 0.6703 0.314

Using experimental data without the FILE submodule

The previous examples made exclusive use of CALSOD’s file importing capabilities when setting up the
two sets of impedance measurements that are required for Thiele-Small parameter estimation. Although this
method is probably very convenient, it is also possible to set up EXPERIMENTAL IMPEDANCE modules
that include the measured data by actually listing them point by point in the CALSOD data file. For an
example illustrating the use of this capability, you can study the file called TSFITVCP.C31. In this file, each
EXPERIMENTAL IMPEDANCE module contains the data from the two sets of measurement files
DRVRIMP1.MDF and DRVRIMP2.MDF.

The main difference between the file TSFITVC.C31 and TSFITVCP.C31 is that the two EXPERIMENTAL
IMPEDANCE modules

EXPERIMENTAL IMPEDANCE
FILE CALSOD DRVRIMP1.MDF 0.0 0.0 SECONDS 1.00 LINEAR
!
EXPERIMENTAL IMPEDANCE
FILE CALSOD DRVRIMP2.MDF 0.0 0.0 SECONDS 1.00 LINEAR

are replaced with the following two modules that contain all the data points

EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5.0 6.6 21
5.4 6.7 22
: : :
20000.0 45.0 54
!
EXPERIMENTAL IMPEDANCE
FREQ MAG PHASE
5.0 6.1 6
5.4 6.1 7
: : :
20000.0 45.0 54

The Thiele-Small parameter estimation process using this data file proceeds in the same manner as with any
of the previous example files that directly imported the measurements using the FILE submodules.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 351


Including cable inductance effects

When using long cable runs to connect the driver under test to the power amplifier, the inductance of the
connecting cable may become significant and start affecting the impedance measurements. Under those
circumstances it may be desirable to include the inductance of the connecting cables in the equivalent circuit
used for determining a driver’s Thiele-Small parameters.

After some suggestions from a CALSOD user, we have now made provision for including the inductance of
the connecting cable in the circuit models that are used to obtain Thiele-Small parameters. The standard
driver equivalent circuits have been modified by adding an MRX submodule, thus allowing either a pure
inductance or some minimum-phase inductance-like behaviour to be modelled in conjunction with the dc
resistance of the cable. If you do not need to model the cable inductance because it is negligible, then you
should use the standard equivalent circuits as described in the user’s manual in order to help ensure
numerical stability during the computations.

The simplified electrical equivalent circuit of a loudspeaker driver including the inductance of the
connecting cable is presented below.

Rg Lg Re Le
1───/\/\/\──2──OOOOOO──3──/\/\/\──4──OOOOOO───5
│ │
│ ┌────────┼────────┐
┌───┴───┐ │ │ │
│ /\ │ \ │ O
Eg │/ \ /│ Res / Cmes === Lces O
│ \/ │ \ │ O
└───┬───┘ │ │ │
│ └────────┼────────┘
│ │
0─────────────────────────────────────────────┘

The Lg component is used to represent any cable inductance that might be present, and this is accomplished
by using an MRX submodule to allow as wide a range of simulation capability as possible. Simple
inductances can of course be easily simulated by just setting the Xmp parameter equal to 1.0, which means
that the Kmp parameter represents the desired inductance value. The series resistance Rg and series
inductance Lg of the connecting cables should be independently measured and included in the model. Just
like the RES submodule representing Rg, the MRX submodule representing Lg must be set to be fixed
during the optimization.

If the cable inductance is significant enough to warrant special treatment, then you will need to measure the
impedance of the cables prior to determining their parameters. You will need to create a simple CIRCUIT
module consisting of a RES and MRX submodule to model the cable impedance. The measured data can be
used as a target impedance to determine the parameters of the RES and MRX submodules that best match
the measured data. These values can then be used to set the equivalent components when estimating Thiele-
Small parameters of drivers using impedance measurements taken with that particular connecting cable.

The typical format of the CIRCUIT module that is required when using the added-mass technique is
illustrated below:

CIRCUIT
!
PEC 0.0 50.0E-3 0.0 0.0 0.023
!
RES 0.001 1 2 FIXED ! Rg
MRX 4.000E-03 0.670E+00 2 3 FIXED ! Lg (Kmp Xmp)
RES 6.000 3 4 FIXED ! Re
MRX 4.000E-02 5.600E-01 4 5 VARIABLE ! Le (Kmp Xmp)
RES 4.000E+01 0 5 VARIABLE ! Res
CAP 4.000E-04 0 5 VARIABLE ! Cmes
IND 4.000E-02 0 5 0.000E+00 VARIABLE ! Lces

352 – CALSOD 3.10 and CALSOD 1.40 User's Manual


!
SPK 1 0 1 0 0 0 POSITIVE
SPK 2 0 1 0 0 0 POSITIVE
SPK 3 0 1 0 0 0 POSITIVE

To give an example of the application of this new circuit, we have included two sample files that cover the
added-mass and volume-change methods of driver Thiele-Small parameter estimation. These two files are
called CBLTSAM.C31 and CBLTSVC.C31, and they rely on impedance measurement files
CBLDRVR1.MDF, CBLDRVR2.MDF, and CBLDRVR5.MDF in order to function. We have used the
“CBL” prefix to denote that these files are related to analyses where cable inductance effects are being
included, although you may call your own files anything you want.

The two sample data files, CBLTSAM.C31 and CBLTSVC.C31, are very similar to the examples presented
in the user’s manual. They differ only in the fact that an MRX submodule has been added to the CIRCUIT
module, necessitating a concomitant change in node numbering.

As in earlier versions of CALSOD with the Thiele-Small parameter estimation capability, if the user defines
the electrical equivalent circuit using the format that will be outlined below, then all the components
required in this circuit will be estimated automatically, except for Rg, Lg, and Re.

To suit the new features, the format of the output tables displaying the estimated Thiele-Small parameters
has been modified to handle the use of the MRX submodule to define the cable inductance corresponding to
Lg. An additional fields have been added to allow the Lg_Kmp and Lg_Xmp parameters associated with the
cable to be displayed. If the cable inductance is not included, then these fields reflect this fact with suitable
values.

If an MRX submodule has been used for modelling the driver voice-coil inductance during the driver
parameter estimation process, then the value of Le is computed based on the effective impedance
contribution of the Le_Kmp and Le_Xmp parameters of the model at a frequency of 10 Hz.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 353


ESTIMATING DRIVER
PARAMETERS FROM
VENTED-BOX IMPEDANCE
DATA

In his original paper, Thiele described techniques for measuring a driver’s characteristic Thiele-Small
parameters (Qms, Qes, Qts, Fs, and Vas) using two sets of measurements, one taken in free air and the other
obtained using a closed box of known volume. Thiele also presented the expressions for determining Vas
and Fs using a single impedance measurement of the driver when mounted in a vented box, with the exact
frequency of box tuning being relatively unimportant to the successful application of this technique.
However, in order to compute the values of Qes, Qms and Qts, it was still necessary to take an impedance
measurement of the driver in free air.

CALSOD uses the non-linear least squares impedance optimizer to determine all the Thiele-Small
parameters, Fs Vas Qes Qms Qts, from a single impedance measurement of the driver when it is mounted in
a vented box of known volume. By specifying the driver’s effective diaphragm area, it is also possible to
compute other parameters such as the driver moving mass Mms, driver compliance Cms, and driver force
factor Bl. If required, the effects of the resistance of connecting cables can also be included, thus ensuring
that all parameters are estimated as accurately as possible. Although the value of the driver voice-coil
resistance Re can also be estimated, for best results this parameter should be independently measured using
an accurate resistance meter.

Because the vented-box impedance method also determines the values of h, α, and QL for the given
enclosure, these parameters can be used in conjunction with the values of driver Fs and Qts to verify the
tuning of the vented-box enclosure. When taken together, these values can be used in SVB and SEN
submodules to compute the actual low-frequency sound pressure response of the vented loudspeaker system,
as well as in an IVB submodule for modelling the impedance of the vented system.

To further improve the accuracy of the parameter estimates, there is provision for including the effects of
voice-coil inductance. This can be modelled as a simple series inductor using the IND submodule. For even
better results, a special minimum-phase component can be introduced using the MRX submodule. This
correctly matches the frequency dependent behaviour of the resistive and reactive parts of the voice-coil’s
high-frequency behaviour. This can be an important consideration with some drivers that have a large voice-
coil inductance that contributes significantly to the impedance values near the higher of the two resonance
frequencies of the driver when it is mounted in a vented box.

As a result of its advanced optimization techniques, CALSOD’s vented-box impedance method for Thiele-
Small parameter estimation is fast and reliable, and has a high immunity from noise. As part of the
estimation process, CALSOD automatically synthesizes the ideal impedance of the driver based on the
measured data. This idealized impedance model can be compared to the measured impedance to help
identify imperfections in the driver/enclosure combination or the model.

The use of the vented-box impedance technique for parameter estimation is particularly advantageous when
a large anechoic chamber is not available for performing accurate low-frequency sound pressure
measurements of loudspeaker systems. Although near-field techniques can be applied to measuring the low-
frequency sound pressure response of a vented system, that particular method is complicated by the fact that
the separate outputs from the driver and vent must be properly summed together to give the true composite

354 – CALSOD 3.10 and CALSOD 1.40 User's Manual


response. Therefore, the impedance measurement of the driver in a vented box provides an indirect but
accurate method for determining the low-frequency sound pressure response of the system. After a vented-
box impedance curve-fit has been carried out, CALSOD will automatically set up and calculate the low-
frequency sound pressure response of the system, making it easy for the designer to check the results
without having to carry out any additional measurements.

It should also be mentioned that the vented-box impedance method implemented here does not require any
phase information to be provided in order for it to work. However, if available, the phase data can help to
provide additional information for checking the accuracy of the impedance models.

To make the vented-box Thiele-Small parameter estimation method as easy to use as possible, direct support
for measurement data stored in files acquired using common test equipment such as MLSSA, SYSid, LMS,
System One, IMP, Audiosuite, CLIO, CLIOwin, AIRR, AMS-PC, and PC AudioLab has been implemented. A
general purpose file format has also been developed in order to permit users of other test systems to take
advantage of CALSOD’s parameter estimation capabilities. It is recommended that the user be familiar with
the use of the FILE submodule for importing measurements into CALSOD, and that you have fully
familiarized yourself with the contents of the section describing the use of imported measurements.

Equivalent circuit of driver in vented box

The simplified electrical equivalent circuit of a vented-box loudspeaker system is presented below:

Rg Re Le Lceb Rel
1──/\/\/\──2──/\/\/\──3──OOOOOO──4──OOOOOO──5──/\/\/\──6
│ │ │
│ ┌────────┼────────┐ │
┌───┴───┐ │ │ │ │
│ /\ │ \ │ O │
Eg │/ \ /│ Res / Cmes === Lces O Cmep ===
│ \/ │ \ │ O │
└───┬───┘ │ │ │ │
│ └────────┼────────┘ │
│ │ │
0────────────────────────────────┴─────────────────────┘

The various components are defined as follows, together with a description of the physical quantity that
each element represents:

Eg = Output voltage of amplifier


Rg = Output resistance of amplifier and cables
Re = DC resistance of driver voice coil
Le = Inductance of driver voice coil
Res = Re×Qms/Qes Corresponds to driver suspension resistance
Cmes = Qms/(Ws×Res) Corresponds to driver mass
Lces = 1/(Cmes×Ws²) Corresponds to driver suspension compliance
Lceb = Lces/α Corresponds to enclosure compliance
Cmep = 1/(Lceb×Wb²) Corresponds to vent mass
Rel = 1/(Wb×Cmep×QL) Corresponds to enclosure leakage resistance
α = Vas/Vb System compliance ratio
Ws = 2π×Fs Driver free-air resonance frequency
Wb = 2π×Fb Port resonance frequency of vented box

It should be noted that Fs as measured using this technique corresponds to the free-air resonance frequency
when the driver is loaded by the same air load mass as when it is mounted in the vented enclosure.

A more complex model can be created by attempting to model the port and enclosure absorption losses (Qp
and Qa) as separate quantities. However, this simple model, which lumps the leakage losses denoted by QL

CALSOD 3.10 and CALSOD 1.40 User's Manual – 355


with the Qp and Qa components, is generally regarded as being sufficiently accurate as long as very lossy
boxes and ports are not being used.

Calculating initial estimates for circuit components

Prior to applying the non-linear impedance optimizer, it is of course necessary to estimate initial values of
all the components in the circuit. This is a relatively simple process and is undertaken once the vented-box
impedance measurement for the driver has been completed. Since the impedance optimizer is not very
sensitive to the exact starting values that are used, as long as the locations of the characteristic twin
impedance peaks are accurately estimated, it is possible to use fairly unrefined initial estimates for most of
the parameters. However, it is not difficult to compute quite good initial estimates.

The value of the voice-coil resistance Re should be measured using a precision resistance meter. Although
this parameter can be estimated during the optimization, it is best if Re is measured independently and then
held fixed during the optimization. This helps to ensure that the other parameters are estimated as accurately
as possible by the optimizer. It should also be noted that in some cases it may not be possible to accurately
measure impedance data at frequencies below 10 Hz because of limitations of the test equipment. As a
result, you may find that the driver’s impedance curve is still quite far away from the Re asymptote that
occurs at very low frequencies (see Figure 125), and this may make it difficult for the optimizer to develop
an accurate estimate for Re.

Figure 125: Characteristic impedance curve of a loudspeaker driver mounted in a vented-box


enclosure noting some frequencies of interest.

The series resistance Rg of the amplifier and connecting cables should also be independently measured and
included in the model, especially if long cable runs are used. It is usually possible to assume that the output
impedance of the amplifier is sufficiently low over the frequency range of interest that its contribution to Rg
may be neglected. This leaves only the connecting cables as the main contributing factor to Rg. In some
cases, the resistance of the cables may approach up to 15% of Re, which can significantly affect the values
of the estimated Thiele-Small parameters if these effects are not incorporated into the model.

A typical impedance curve for a driver mounted in a vented box is shown in Figure 125. We have marked
the three characteristic frequencies FL, FM, and FH on the plot. FL is the frequency of the lowest
impedance resonance peak, FH is the frequency of the highest impedance resonance peak, and FM is the
frequency of the impedance minimum between FL and FH. If phase data are available, then these
frequencies also correspond to the points where the phase curve passes through zero (assuming that there are
no extraneous phase shifts introduced by the measurement equipment), and this fact can be used to
advantage when locating the appropriate corresponding maxima and minimum. Once these three frequencies
have been identified, it is possible to estimate Fb, Fs and α using the following formulas:

356 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Fb = FM Wb = 2π×Fb
Fs = FL×FH/FM Ws = 2π×Fs
(FH²-FM²)(FM²-FL²)
α = ──────────────────
FH²×FL²

Having computed estimates of the values of Fb, Fs, and α, it is possible to compute the values of the
components in the electrical equivalent circuit. The various formulae have been published by Thiele and
Small in their research papers. The only extra information that is needed consists of estimates for Qes and
Qms, and these can be based on data from similar drivers. For example, it is often possible to assume that
Qms = 3.0 and Qes = 0.3 are typical initial estimates for the purpose of these calculations.

Generic data file for Thiele-Small parameter estimation

If the user sets up the electrical equivalent circuit using the specific format that will be outlined below, then
all parameters required in the circuit will be estimated automatically, except for Rg and Re. In order to make
it as easy as possible to use the parameter estimation feature, we have implemented additional functions in
CALSOD that will compute all required initial component estimates from the supplied impedance data.

An example data file that illustrates the required layout of the CIRCUIT submodule is called
VBIMPFIT.C31. A listing of this file is shown below. This file can be used as a template for Thiele-Small
parameter estimation from measurements of your own drivers. All that you will need to modify is the
information defined in the CVB submodule, as well as possibly changing the names of the measurement
files.

01> ! ----------------------------------------------------
02> ! GENERIC MODEL FOR IMPEDANCE FIT OF VENTED-BOX DRIVER
03> ! ----------------------------------------------------
04> !
05> CIRCUIT
06> !
07> RES 0.001 1 2 FIXED ! Rg
08> RES 6.000 2 3 FIXED ! Re
09> IND 1.000E-03 3 4 0.000E+00 VARIABLE ! Le
10> RES 8.000E+01 0 4 VARIABLE ! Res
11> CAP 2.010E-04 0 4 VARIABLE ! Cmes
12> IND 8.020E-02 0 4 0.000E+00 VARIABLE ! Lces
13> IND 3.770E-02 4 5 0.000E+00 VARIABLE ! Lceb
14> RES 1.110E+00 5 6 VARIABLE ! Rel
15> CAP 6.190E-04 0 6 VARIABLE ! Cmep
16> !
17> CVB 20.00E-03 0.200 0.80
18> !
19> SPK 1 0 1 0 0 0 POSITIVE
20> !
21> DRIVER 1
22> V-B DRIVER
23> SOUND PRESSURE
24> SEN 90.0 DB
25> SVB 40.0 0.35 2.0 1.0 7.0
26> IMPEDANCE
27> IVB 40.0 6.0 1.0E-3 1.0 3.0 0.40 2.0 1.0 7.0
28> !
29> TARGET SPL
30> SEN 90.0 DB
31> !
32> EXPERIMENTAL IMPEDANCE
33> FILE CALSOD VBTGTIMP.MDF 0.0 0.0 SECONDS 1.00 LINEAR

Please note that the CVB submodule in line 17 is used to input the net internal volume of the vented
enclosure, as well as the effective diaphragm area of the driver. CALSOD will automatically compute initial

CALSOD 3.10 and CALSOD 1.40 User's Manual – 357


estimates of the components in the electrical equivalent circuit model of the vented box based on the
impedance response data that are provided in the EXPERIMENTAL IMPEDANCE module.

It is worthwhile noting that the resistors in lines 07 and 08 of the data file, which represent Rg and Re, are
fixed. Both these values can generally be quite easily and accurately measured, and therefore it is preferable
to prevent them from being estimated during the optimization procedure, as this will enhance the accuracy
of the estimation procedure. Depending on your particular test set up, the value of Rg may or may not be
significant.

It should also be noted that in some cases accurate measured impedance data down to 5 Hz or less may not
be available because of limitations of the test equipment. However, measurements down to 10 Hz or 15 Hz
should be quite readily achievable. At that point, you may often find that the driver’s impedance curve is
still quite far away from the Re asymptote that occurs at very low frequencies. If you do not ensure that the
RES submodule corresponding to this element is FIXED during the optimization, you may find that this will
effect the estimates of the other parameters. Hence, we strongly suggest that you take an accurate resistance
measurement and use this value in the model to enhance the accuracy of results produced by the non-linear
estimation procedure.

Lines 32 and 33 in the data file define an EXPERIMENTAL IMPEDANCE module using data contained in
a file called VBTGTIMP.MDF. The data in this particular file are in the CALSOD file format. You can
change the various parameters of the FILE submodule in line 33 to suit your particular measurement data.

Although a TITLE module has not been included in this example data file, it is of course possible to do so if
you wish to include a few lines of comments. These will be printed out along with the Thiele-Small
parameter estimates, as well as being displayed in any plots that you may create.

Special features of vented-box parameter estimation

If you look at the generic vented-box parameter estimation file described above, you will see that we have
included a DRIVER 1 module that contains a complete model of a driver in a vented box using SEN, SVB
and IVB submodules. Because of the special format of the CIRCUIT module, which CALSOD
automatically recognizes, the connection of this driver in the SPK submodule does not behave in the usual
manner. In fact, the circuit calculations are performed as if this speaker was not actually connected in the
circuit. However, it has been included for to help with the data analysis requirements.

When CALSOD recognizes that the special Thiele-Small parameter estimation format is being used, after
the optimizer has been run and the Thiele-Small parameters have been estimated, the data in the SEN, SVB
and IVB submodules in the DRIVER 1 module are internally modified to use the newly determined driver
parameters. All impedance and sound pressure response functions for this driver are then automatically
recalculated based on the new set of parameters. It is then possible for the user to display these response
functions by using CALSOD’s standard plotting capabilities by selecting the appropriate driver response
functions for display.

CALSOD will also automatically add the amplifier/cable resistance that is being modelled as Rg to the
computed impedance response function of the DRIVER module. This ensures that it is possible to make a
direct comparison between the experimental data and the fitted impedance model.

Setting up an appropriate frequency range

If you read in the data file VBIMPFIT.C31, you will be able to plot out the input impedance of the entire
circuit, as well as the experimental impedance that was read in from the imported data file using the FILE
submodule. The file VBTGTIMP.MDF contains the impedance response data for a driver mounted in a
vented box and measured over the frequency range from 5 Hz to 20 kHz. Note that the circuit values that are
initially supplied are used only as place holders. Once the optimization is started, all VARIABLE

358 – CALSOD 3.10 and CALSOD 1.40 User's Manual


components will be modified automatically to contain initial estimates that have been determined from the
user-supplied impedance data in the EXPERIMENTAL IMPEDANCE module.

Before you read in the file VBIMPFIT.C31, you should set the lower limit of the calculation frequency
range to 5 Hz, and the upper limit to 20 kHz. Because this frequency range is so wide, it is suggested that
you should use at least 100 subintervals for the calculations. You should also make sure that you use the
logarithmic frequency scale, as this provides a much more useful distribution of data than would be obtained
if a linear frequency scale was used. The frequency range for plotting should be set to match the calculation
range in order to display the full amount of information.

It is very important that you set the calculation frequency range so that it includes both of the low-frequency
impedance peaks that are characteristic of a vented-box impedance curve. You must also ensure that the data
range includes the region where the voice-coil inductance causes the rise in the high-frequency impedance
curve. This will allow a reasonable value of the voice-coil inductance to be estimated. If you set the Le
component in line 9 to be FIXED during the optimization, then the initial value contained in the data file
will not be changed.

After appropriately setting the frequency ranges for calculation and plotting, you can now read in the file
VBIMPFIT.C31 and compute all the response functions. If you wish, you can plot the experimental data
from the vented-box impedance measurement that has been included in the EXPERIMENTAL
IMPEDANCE module. The screen plot should be similar to that shown in the plot in Figure 126.

Figure 126: Driver impedance measurement taken in a vented-box enclosure.

Optimizing the vented-box electrical equivalent circuit

We are now at a stage where we can optimize the electrical equivalent circuit of the driver in a vented-box
enclosure. Before running the optimizer please ensure that your analysis frequency range is set to cover the
range 5 Hz to 20 kHz with 100 subintervals.

After you have read in the data file VBIMPFIT.C31, you can begin the optimization of the equivalent
circuit. From the main menu, select the option that begins the optimization process. You will then be
prompted by a number of further options, and you should select the one that performs estimation of the
Thiele-Small parameters. Once the optimizer has been started, after a few iterations it will become evident
that the minimum error is not decreasing any further. You should then press the Esc key to stop the
optimizer.

Displaying the estimated Thiele-Small parameters

Having successfully completed the optimization of the vented-box electrical equivalent circuit, all that
remains is to view the resulting Thiele-Small parameters. By using the specific format in the CIRCUIT

CALSOD 3.10 and CALSOD 1.40 User's Manual – 359


submodule as shown in the VBIMPFIT.C31 data file, CALSOD recognizes that the user has just carried out
a circuit optimization from which it is desired to compute the driver’s Thiele-Small parameters.

To display the resulting optimized equivalent circuit on the screen, you should select the option from the
main menu that allows you to display driver and circuit parameters. When the submenu appears, select the
option that lists the driver/circuit configuration. You will see a listing of the circuit configuration and
component value information with which you are already quite familiar.

In order to view the driver’s estimated Thiele-Small parameters on the screen, you should select the
appropriate option from the menu. The format of the output that will be displayed will typically be as shown
in the table presented below. It is clear that it is quite easy to display all of the estimated Thiele-Small
parameters for this driver in its vented box. All of these parameters have been computed directly from the
component values of the electrical equivalent circuit, together with the supplied net internal volume of the
vented box and the effective area of the driver (as specified using the CVB submodule). Additional driver
data such as the reference efficiency No, driver force factor Bl, and box tuning frequency Fb are also
presented.

For the modelling of the voice-coil inductance of the driver, a number of different sets of parameters are
provided in the results table. The value denoted by Le is the actual optimized value of the voice-coil
inductance. The values denoted by Le Kmp and Le Xmp correspond to an equivalent value of a frequency
dependent component that can be used to create a more accurate simulation of the high-frequency
impedance behaviour of the driver. In this particular case, however, these values are computed directly from
the Le value that has been determined by the optimizer (hence Le Kmp = Le and Le Xmp = 1.0). The same
approach applies to the other parameters Le Kr, Le Xr, Le Ki, and Le Xi. These are computed directly from
the values of Le Kmp and Le Xmp, which were themselves computed directly from Le. The use of these
different types of models is covered in another section of this manual that describes the modelling of the
voice-coil inductance behaviour of loudspeaker drivers.

RESULTS OF THIELE-SMALL PARAMETER ESTIMATION USING A VENTED BOX


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fs = 40.0432 Hz Rg = 0.0010 ohms
Qms = 3.3979 Re = 6.0000 ohms
Qes = 0.3902 Le = 0.4999 mH
Qts = 0.3500 Le Kmp = 0.4999 mohms
Vas = 39.8942 litres Le Xmp = 1.0000
Sd = 0.0201 m^2 Le Kr = 0.0000 ohms
Mms = 22.7316 grams Le Xr = 1.0000
Cms = 0.6949 mm/N Le Ki = 0.4999 mohms
Bl = 9.3783 T.m Le Xi = 1.0000
No = 0.6367 %
SPLref = 90.0576 dB RMSerr = 0.0480 ohms
Sens = 91.3070 dB
Vb = 20.0000 litres
Fb = 31.9634 Hz
Alpha = 1.9947
h = 0.7982
QL = 6.9524

The SEN, SVB, and IVB submodules for this vented-box enclosure are:
DRIVER
V-B MODEL
SOUND PRESSURE
SEN 91.31 DB
SVB 40.04 0.350 1.995 0.798 6.95
IMPEDANCE
IVB 40.04 6.00 4.999E-04 1.0000 3.398 0.390 1.995 0.798 6.95

The parameter labelled as RMSerr is equal to the RMS error between the fitted impedance curve and the
measured impedance data. The value of RMSerr = 0.048 ohms is quite small, and this indicates that the

360 – CALSOD 3.10 and CALSOD 1.40 User's Manual


vented-box equivalent circuit has achieved a very good impedance fit to the supplied data. This means that
we can be quite confident of the accuracy of the estimated Thiele-Small parameters for this driver.

The last few lines in the above listing provide submodules that can be used for simulating this loudspeaker
in its vented box enclosure. Note that a SEN submodule is included which automatically defines the
sensitivity of this driver.

For this example, we used an IVB submodule to generate an impedance curve that is based on the
characteristics of our electrical equivalent circuit. Hence, we would expect to achieve a very good match
between the actual and estimated parameters. This is in fact the case, as is shown in the table below.

┌───────────┬───────────┬───────────┐
│ Driver │ Estimated │ Actual │
│ Parameter │ Value │ Value │
├───────────┼───────────┼───────────┤
│ Fs (Hz) │ 40.043 │ 40.000 │
│ Fb (Hz) │ 31.963 │ 32.000 │
│ Le (mH) │ 0.500 │ 0.500 │
│ Qms │ 3.398 │ 3.400 │
│ Qes │ 0.390 │ 0.390 │
│ Qts │ 0.350 │ 0.350 │
│ α │ 1.995 │ 2.000 │
│ h │ 0.798 │ 0.800 │
│ QL │ 6.952 │ 7.000 │
└───────────┴───────────┴───────────┘

Plotting the fitted response functions

After the Thiele-Small parameters have been determined by the optimizer, the SEN/SVB/IVB submodules
will have been updated automatically and all the appropriate response functions recalculated. If you select
the option from the main menu that allows you to plot out response functions, you will be able to compare
the results of the vented-box impedance curve-fit with the experimental data. Simply select the system input
impedance function (or the impedance function for the driver model denoted by SPK 1). These two
functions will then be plotted, allowing you to visually compare the results.

The plot in Figure 127 compares the fitted driver impedance to the experimental data. You can see that there
is no noticeable difference between the two curves, which indicates that the optimizer has been quite
successful.

Figure 127: Comparison of fitted driver impedance model and experimental data points.

If you wish, you can also display the simulated sound pressure response of the vented-box system. The
sound pressure response curve for the vented system based on the estimated driver parameters is shown in
the plot of Figure 128. The alignment parameters defined in the DRIVER module in the data file have all

CALSOD 3.10 and CALSOD 1.40 User's Manual – 361


been modified, and they now correspond to the fitted data obtained for the impedance curve. If you have
measured the impedance curve of a driver in a vented box that you have specifically designed for this driver,
this approach allows you to verify the performance of the low-frequency alignment without actually taking
any sound pressure response measurements.

Figure 128: Simulated driver sound pressure response based on curve-fit of experimental
impedance data.

Using actual measured impedance data

We will now carry out Thiele-Small parameter estimation using a vented-box impedance measurement of an
actual driver. The results from our non-linear estimation technique will be compared with those obtained
using a standard technique which involves taking driver impedance measurements in free air and in a closed
box of known volume. This will serve to verify the accuracy and usefulness of the vented-box impedance
method of parameter estimation.

The measured impedance data are contained in the file ZVBMEAS.BOD (obtained using MLSSA), and the
measurements were taken with the driver mounted in a vented box whose net volume was 61.33 litres. The
effective area of the driver diaphragm was taken to be 890 cm². The initial CALSOD data file used for
carrying out the Thiele-Small parameter estimation is called ZVBLEI.C31. The optimization should be
carried out using a frequency range from 10 Hz to 1000 Hz, which corresponds to the valid range of the
measured impedance data. The number of subintervals should be set to 100 to ensure that there is sufficient
frequency resolution at low-frequencies, as this is the area which is most affected by the driver’s Thiele-
Small parameters.

After the data file ZVBLEI.C31 has been read, you can plot out the measured experimental impedance data.
The plot should look like the plot in Figure 129. The two impedance peaks are well defined by the sample
points, and the optimizer will have no problem converging to a solution.

362 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 129: Driver impedance measurement taken in a vented-box enclosure.

Please note that the actual circuit component values contained in the initial data file ZVBLEI.C31 are not
important. CALSOD will automatically determine estimates for all the VARIABLE components directly
from the actual measured impedance data specified in the FILE submodule. It is strongly recommended that
the values corresponding to Rg and Re be accurately measured using an independent method and that their
values remain FIXED during the optimization process. This will help to maximize the accuracy of the
parameter estimates.

After the data file ZVBLEI.C31 has been read, you can run the Thiele-Small parameter optimizer by
selecting the optimization option from the main menu. When the submenu appears, you should then select
the option that performs the parameter estimation. Once a few iterations have been completed, you will see
that there is little or no improvement in the value of the minimum error. This indicates that the optimizer has
converged to a solution, and you can manually stop the optimization process by pressing the Esc key. At this
stage all the relevant response functions will be recalculated using the Thiele-Small parameters obtained
from the optimized component values of the equivalent circuit.

The plot in Figure 130 shows the fitted input impedance superimposed on the experimental data points. It is
clear that a very good fit has been obtained over the full frequency range from 10 Hz to 1000 Hz, as the
model accurately simulates both the magnitude and phase of the vented-box impedance. It is only at high
frequencies above about 300 Hz that the limitations of the simple series-inductance model for the driver’s
impedance become apparent, with the fitted phase response starting to stray away from the measured phase
data. However, the fitted magnitude response still provides a very good match.

Figure 130: Comparison of fitted driver impedance model using a frequency-independent voice-
coil inductor and the experimental data points.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 363


It is also apparent that the impedance maxima and minima have been well matched by the non-linear
impedance optimizer. If you zoom in on the second impedance peak located at about 103 Hz, using a
frequency band from 50 Hz to 200 Hz, you will find that the simulated peak is slightly lower than the
measured data This indicates that the fitted model has a higher amount of damping than is actually present in
the real system.

The simulated sound pressure response curve for the vented system based on the estimated driver parameters
is shown in the plot of Figure 131. The alignment parameters defined in the DRIVER module in the data file
have all been modified, and they now correspond to the fitted data obtained for the measured impedance
curve. Although there is a peak in the sound pressure response at about 100 Hz, this does not effect the
estimation of the Thiele-Small parameters.

Figure 131: Simulated driver sound pressure response based on curve-fit of experimental
impedance data.

The file ZVBLEO.C31 contains the final optimized values of the electrical equivalent circuit. If you wish,
you can read in this file and compare the total input impedance to the measured impedance contained in the
EXPERIMENTAL IMPEDANCE module.

The table below shows the results of the present method compared to the conventional approach. The results
of the present method agree very well with those of the standard technique. The largest discrepancy occurs
in the estimates of Qms (about –40%), but the resulting value of Qts determined from the values of Qms and
Qes is in very close agreement, since the Qts value is dominated by the contribution from Qes.

┌──────────────┬─────────────┬─────────────┐
│ Thiele-Small │ Vented-Box │ Free-Air & │
│ Parameter │ Measurement │ Closed-Box │
│ │ │ Measurement │
├──────────────┼─────────────┼─────────────┤
│ Fs (Hz) │ 43.17 │ 42.63 │
│ Qms │ 2.77 │ 4.89 │
│ Qes │ 0.53 │ 0.52 │
│ Qts │ 0.45 │ 0.47 │
│ Vas (l) │ 149.99 │ 149.04 │
│ Mms (g) │ 101.95 │ 104.03 │
│ Cms (mm/N) │ 0.133 │ 0.134 │
│ Bl (T.M) │ 17.95 │ 18.24 │
│ No (%) │ 2.20 │ 2.17 │
│ SPLref (dB) │ 95.44 │ 95.30 │
└──────────────┴─────────────┴─────────────┘

The differences between the two sets of estimates for Qms are considered to result from the use of the
simplified electrical equivalent circuit for the vented-box system that does not include any specific

364 – CALSOD 3.10 and CALSOD 1.40 User's Manual


allowance for port losses and enclosure absorption losses. It appears that the presence of these additional
losses causes the value of Qms to be estimated as being somewhat lower than its true value.

However, it should be remembered that because the sound pressure response of a vented-box low-frequency
alignment depends mainly on the value of Qts, rather than the individual elements Qms and Qes, any design
calculations using the present set of parameters will not differ significantly from those using the alternative
parameter estimates. In relation to the reference efficiency No of the driver, the difference in the two sets of
estimates for this parameter results in less than 0.2 dB of difference in the predicted sensitivity of the
loudspeaker.

The listing presented below shows the table of results as presented by CALSOD when you select the option
from the main menu that allows you to view the estimated Thiele-Small parameters.

RESULTS OF THIELE-SMALL PARAMETER ESTIMATION USING A VENTED BOX


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fs = 43.1652 Hz Rg = 0.4600 ohms
Qms = 2.7671 Re = 6.2000 ohms
Qes = 0.5320 Le = 2.4404 mH
Qts = 0.4462 Le Kmp = 2.4404 mohms
Vas = 149.9879 litres Le Xmp = 1.0000
Sd = 0.0890 m^2 Le Kr = 0.0000 ohms
Mms = 101.9516 grams Le Xr = 1.0000
Cms = 0.1333 mm/N Le Ki = 2.4404 mohms
Bl = 17.9507 T.m Le Xi = 1.0000
No = 2.1989 %
SPLref = 95.4403 dB RMSerr = 0.6875 ohms
Sens = 96.5472 dB
Vb = 61.3300 litres
Fb = 71.8691 Hz
Alpha = 2.4456
h = 1.6650
QL = 23.3667

The SEN, SVB, and IVB submodules for this vented-box enclosure are:

DRIVER
V-B MODEL
SOUND PRESSURE
SEN 96.55 DB
SVB 43.17 0.446 2.446 1.665 23.37
IMPEDANCE
IVB 43.17 6.20 2.440E-03 1.0000 2.767 0.532 2.446 1.665 23.37

The estimated value of QL = 23.4 is quite high, and is much greater than might be expected for a typical
enclosure of this size. Many authors have suggested that values of QL  7 be used in computer simulations,
and the present value appears to be quite different from such a recommendation. The exact reason for this is
not known at the present time, but large values for QL have also been noted by other workers who have
investigated the use of vented-box impedance measurements for estimating driver Thiele-Small parameters.
A possible explanation is that the losses associated with the enclosure and the port seem to show up more
readily as a reduction in the Qms value than in the value of QL.

Including a frequency dependent inductor in the model

CALSOD now includes a special minimum-phase component that can be used in the CIRCUIT module to
define a frequency-dependent inductor with resistive and reactive impedance behaviour. The name of the
submodule for specifying this component is MRX, and its description is presented elsewhere in this manual.
By using the MRX submodule in place of the IND submodule it is possible to more accurately model the
high-frequency behaviour of the voice-coil inductance.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 365


As an example of the application of this feature, we have created another data file called ZVBMRXI.C31
that contains an MRX submodule in place of the IND submodule in line 9 of file ZVBLEI.C31. The new
data file is listed below:

01> ! ------------------------------------------------------
02> ! INITIAL IMPEDANCE FIT OF DRIVER MEASURED IN VENTED BOX
03> ! ------------------------------------------------------
04> !
05> CIRCUIT
06> !
07> RES 0.460 1 2 FIXED ! Rg
08> RES 6.200 2 3 FIXED ! Re
09> MRX 1.980E-03 1.000E+00 3 4 VARIABLE ! Le (Kmp Xmp)
10> RES 2.880E+01 0 4 VARIABLE ! Res
11> CAP 1.710E-04 0 4 VARIABLE ! Cmes
12> IND 7.320E-02 0 4 0.000E+00 VARIABLE ! Lces
13> IND 2.960E-02 4 5 0.000E+00 VARIABLE ! Lceb
14> RES 1.850E+00 5 6 VARIABLE ! Rel
15> CAP 1.750E-04 0 6 VARIABLE ! Cmep
16> !
17> CVB 61.330E-03 0.0890
18> !
19> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
20> !
21> DRIVER 1
22> V-B DRIVER
23> SOUND PRESSURE
24> SEN 90.0 DB
25> SVB 40.0 0.35 2.0 1.0 7.0
26> IMPEDANCE
27> IVB 40.0 6.0 1.0E-3 1.0 3.0 0.40 2.0 1.0 7.0
28> !
29> TARGET SPL
30> SEN 90.0 DB
31> !
32> EXPERIMENTAL IMPEDANCE
33> FILE MLSSA ZVBMEAS.BOD 0.0 0.0 SECONDS 1.00 LINEAR

The measured impedance data points are shown in the plot in Figure 132. You can display the experimental
impedance data after you have read in the ZVBMRXI.C31 data file.

Figure 132: Driver impedance measurement taken in a vented-box enclosure.

The impedance optimization for this file is carried out in exactly the same manner as for the original
version. After you have set up the analysis frequency range to cover the frequency range from 10 Hz to
1000 Hz with 100 subintervals, you can start the Thiele-Small parameter optimizer. The optimizer will
converge to a solution after a few iterations, and you can manually stop the process by pressing the Esc key.

366 – CALSOD 3.10 and CALSOD 1.40 User's Manual


The plot in Figure 133 shows the fitted input impedance superimposed on the experimental data points. It is
clear that a very good fit has been obtained, and the model accurately simulates both the magnitude and
phase of the vented-box impedance over the entire frequency range. Overall, the quality of the fit that has
been obtained using the MRX submodule is noticeably better than what was achieved using an IND
submodule to model the high-frequency impedance behaviour. In particular, the high-frequency phase
response is now being very accurately matched. There is also a slight improvement in the fit to the
magnitude response in the vicinity of the impedance minimum between the two impedance peaks.

Figure 133: Comparison of fitted driver impedance model using a frequency-dependent voice-coil
inductor and the experimental data points.

The simulated sound pressure response curve for the vented system based on the estimated driver parameters
is shown in the plot of Figure 134. The alignment parameters defined in the DRIVER module in the data file
have all been modified, and they now correspond to the estimated values of the Thiele-Small parameters.
The file containing the optimized impedance curve-fit results is called ZVBMRXO.C31.

Figure 134: Simulated driver sound pressure response based on curve-fit of experimental
impedance data.

The Thiele-Small and other driver parameters resulting from the optimization are presented below, where
the values of Le Kmp and Le Xmp represent the actual Kmp and Xmp parameters of the MRX submodule.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 367


RESULTS OF THIELE-SMALL PARAMETER ESTIMATION USING A VENTED BOX
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fs = 42.8467 Hz Rg = 0.4600 ohms
Qms = 2.8429 Re = 6.2000 ohms
Qes = 0.5451 Le = 1.6409 mH
Qts = 0.4574 Le Kmp = 5.1264 mohms
Vas = 150.6677 litres Le Xmp = 0.8948
Sd = 0.0890 m^2 Le Kr = 0.8435 mohms
Mms = 103.0062 grams Le Xr = 0.8948
Cms = 0.1339 mm/N Le Ki = 5.0565 mohms
Bl = 17.7591 T.m Le Xi = 0.8948
No = 2.1084 %
SPLref = 95.2577 dB RMSerr = 0.5647 ohms
Sens = 96.3647 dB
Vb = 61.3300 litres
Fb = 72.4235 Hz
Alpha = 2.4567
h = 1.6903
QL = 28.6652

The SEN, SVB, and IVB submodules for this vented-box enclosure are:

DRIVER
V-B MODEL
SOUND PRESSURE
SEN 96.36 DB
SVB 42.85 0.457 2.457 1.690 28.67
IMPEDANCE
IVB 42.85 6.20 5.126E-03 0.8948 2.843 0.545 2.457 1.690 28.67

It is seen that the estimates of all the Thiele-Small parameters are only slightly changed from those obtained
when the standard IND submodule was used. We have also achieved a slight reduction in the RMS error
compared to the simple model that used a series inductor to model the voice-coil inductance effects.

Because we have directly used the MRX submodule in the equivalent circuit model, the values of Kmp and
Xmp are those obtained by the optimizer (as indicated by the value of Xmp which is now slightly less than
unity). Note that the value of Le is based on a simple impedance calculation using the estimated values of
Kmp and Xmp at a reasonably high frequency. Therefore, the value of Le may not be the best estimate in the
least squares sense, and should be used with appropriate care. If a more accurate estimate of Le is required,
then you will need to re-optimize the equivalent circuit with an IND component in place of the MRX
component.

In a measurement situation where your impedance data cover a greater range of high frequencies, possibly
extending out to 10 kHz or 20 kHz, we would also expect the use of the MRX submodule to yield a much
better fit to the experimental data. This would be evident as a reduction in the RMS error. If full-range
impedance data are used, we would expect the estimated value of Xmp to lie much closer to Xmp = 0.70,
which seems to be a value that is typical of a large number of direct radiator loudspeaker drivers and their
magnet systems.

Including cable inductance effects

When using long cable runs to connect the driver under test to the power amplifier, the inductance of the
connecting cable may become significant and start affecting the impedance measurements. Under those
circumstances it may be desirable to include the inductance of the connecting cables in the equivalent circuit
used for determining a driver’s Thiele-Small parameters.

The simplified electrical equivalent circuit of a vented-box loudspeaker system, together with components
representing the resistance Rg and inductance Lg of the connecting cables, is presented below.

368 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Rg Lg Re Le Lceb Rel
1──/\/\──2──OOOO──3──/\/\──4──OOOO──5──OOOO──6──/\/\──7
│ │ │
│ ┌────────┼────────┐ │
┌───┴───┐ │ │ │ │
│ /\ │ \ │ O │
Eg │/ \ /│ Res / Cmes === Lces O Cmep ===
│ \/ │ \ │ O │
└───┬───┘ │ │ │ │
│ └────────┼────────┘ │
│ │ │
0───────────────────────────────────┴─────────────────┘

Just as in the example in the previous chapter on driver Thiele-Small parameter estimation, the impedance
of the connecting cable is modelled using a RES and MRX submodule included in the CIRCUIT module
representing the above equivalent circuit. This particular format is recognized by CALSOD as being
specifically for use in the estimation of driver Thiele-Small parameters. Other circuit layouts will not be
recognized even though they might be entirely equivalent electrically.

The typical format of the CIRCUIT module that is required when using the vented-box technique is
illustrated below:

CIRCUIT
!
RES 0.001 1 2 FIXED ! Rg
MRX 0.100E-03 1.000E+00 2 3 FIXED ! Lg (Kmp Xmp)
RES 6.000 3 4 FIXED ! Re
IND 1.000E-03 4 5 0.000E+00 VARIABLE ! Le
RES 8.000E+01 0 5 VARIABLE ! Res
CAP 2.010E-04 0 5 VARIABLE ! Cmes
IND 8.020E-02 0 5 0.000E+00 VARIABLE ! Lces
IND 3.770E-02 5 6 0.000E+00 VARIABLE ! Lceb
RES 1.110E+00 6 7 VARIABLE ! Rel
CAP 6.190E-04 0 7 VARIABLE ! Cmep
!
CVB 20.00E-03 0.200 0.80
!
SPK 1 0 1 0 0 0 POSITIVE

An example data file that illustrates the required layout of the CIRCUIT module is called CBLVBFIT.C31.
The associated measurement file containing the impedance data is called CBLVBTGT.MDF. The
CBLVBFIT.C31 file can be used as a template for Thiele-Small parameter estimation from measurements of
your own drivers. All that you will need to modify is the information defined in the CVB submodule, as well
as possibly changing the names of the measurement files.

The file CABLE.MDF is a typical measurement file containing cable impedance data. The nominal
resistance of the cable is approximately 0.36 ohms, and the cable impedance curve is quite flat up to about
2 kHz. By 10 Hz, however, the cable impedance has almost doubled to about 0.70 ohms, and at 20 kHz the
impedance is about 1.30 ohms. Using the model in the file CABLEIND.C31, the cable impedance data was
curve-fit to determine the values of resistance and inductance that can be used to represent the cable
impedance. It was found that the resistance was Rg = 0.3627 ohms, and the series inductance was Lg
= 10.17 microhenries. A similar curve-fit was carried out using an MRX submodule in place of the simple
IND submodule, and the data file CABLEMRX.C31 was used for this purpose. The results indicated that Rg
= 0.3621 while Lg_Kmp = 10.88 microhms and Lg_Xmp = 0.9939. The fact that Lg_Xmp was very close to
1.0 indicates that the cable impedance is very well approximated by a pure inductance at high frequencies.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 369


MODELLING LINEAR ARRAYS
OF LOUDSPEAKERS WITH
CALSOD 1.40

A linear array of loudspeakers is often used to obtain a directional off-axis frequency response
characteristic. Whereas the radiation pattern of a single loudspeaker is reasonably omnidirectional, usually
up to at least a few kilohertz for small drivers, that of an array is so only at low frequencies. At high
frequencies it becomes much more directional, and the directivity also varies considerably with frequency.

Analysis of a line source shows that the longer the extent of the radiator, the sharper will be the principal
lobe along theα = 0° axis at any given frequency. The lateral directivity is constant and is defined by the
width of the source. Hence, adding elements to increase the height of a linear array of loudspeakers
progressively reduces the vertical beam width and increases the loudness in the forward direction.

We will now proceed to describe the modelling of an 8-driver linear array of equally spaced loudspeakers
with equal levels and equal polarities. The individual loudspeaker centre-to-centre spacing is 0.20 metres.
The overall length of the linear array, as measured from the centres of the outside sources, is 1.4 metres. The
following schematic diagram describes the layout of the loudspeakers denoted by the symbol ▐<, which are
labelled A to H.

Y-axis

│ + α = 60°

─────────────┬── A▐< + α = 30°


│ d/7 │
│ ┼── B▐<
│ d/7 │ + α = 15°
│ ┼── C▐< + α = 10°
│ d/7 │ + α = 5°
┼── D▐<
d = 1.40 m d/7 │ ─────────────────────────────+──── Z-axis
┼── E▐< │
│ d/7 │ │
│ ┼── F▐< └─ 8.0 metres
│ d/7 │
│ ┼── G▐<
│ d/7 │
─────────────┴── H▐<

We will now proceed to examine a number of different electrical connections of the loudspeakers.

8-driver linear array with series/parallel connection

For the combination series/parallel configuration, the circuit connections and node numbers are shown
below. Note that all the loudspeakers are connected with the same polarity.

370 – CALSOD 3.10 and CALSOD 1.40 User's Manual


1───────┬───────┬──────┬───────┐
┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+
│A│ │B│ │E│ │F│
└┬┘- └┬┘- └┬┘- └┬┘-
├───2───┤ ├───3───┤
┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+
│C│ │D│ │G│ │H│
└┬┘- └┬┘- └┬┘- └┬┘-
0───────┴───────┴──────┴───────┘

The data file used to model the above configuration is called LINARRSP.C14, and it is shown below:

01> ! ------------------------------------
02> ! SIMULATION OF AN 8-DRIVER LINE ARRAY
03> ! ------------------------------------
04> !
05> ! Speakers in series/parallel configuration
06> !
07> CIRCUIT
08> !
09> VIN 6.0 DB
10> !
11> SPK 1 1 2 0.0 +0.7 0.0 NEGATIVE
12> SPK 1 1 2 0.0 +0.5 0.0 NEGATIVE
13> SPK 1 0 2 0.0 +0.3 0.0 POSITIVE
14> SPK 1 0 2 0.0 +0.1 0.0 POSITIVE
15> SPK 1 1 3 0.0 -0.1 0.0 NEGATIVE
16> SPK 1 1 3 0.0 -0.3 0.0 NEGATIVE
17> SPK 1 0 3 0.0 -0.5 0.0 POSITIVE
18> SPK 1 0 3 0.0 +0.7 0.0 POSITIVE
19> !
20> TARGET SPL
21> SEN 90.0 DB
22> XYZ 0.0 0.000 8.000 ! On-axis
23> ! XYZ 0.0 0.697 7.970 ! 5 degrees off-axis
24> ! XYZ 0.0 1.389 7.878 ! 10 degrees off-axis
25> ! XYZ 0.0 2.071 7.727 ! 15 degrees off-axis
26> ! XYZ 0.0 4.000 6.928 ! 30 degrees off-axis
27> ! XYZ 0.0 6.928 2.071 ! 60 degrees off-axis
28> !
29> DRIVER 1
30> Wide range
31> SOUND PRESSURE
32> SEN 90.0 DB
33> SCB 150.0 0.35 3.0
34> BUT 10000.0 2 LOWPASS
35> IMPEDANCE
36> ICB 150.0 6.0 0.20E-3 2.8 0.40 3.00

In this example we have connected eight identical drivers, and the driver sound pressure and impedance
response characteristics have been simulated in the DRIVER submodule in lines 29 to 36. The low-
frequency sound pressure has been modelled as a closed-box loudspeaker with a cutoff frequency of 300 Hz.
The high-frequency response is modelled by a second-order Butterworth lowpass filter with a cutoff
frequency of 10 kHz. This should simulate a typical 6-inch driver that might be used in such an application.
The impedance characteristic corresponds to this driver being mounted in a closed box, and the voice-coil
inductance is also simulated.

Please take particular note of the fact that it is necessary to "reverse" the polarity of the speakers that are
connected between nodes 1 and 2, and nodes 1 and 3. It is a requirement when using CALSOD to ensure
that the node numbers in the SPK/RES/CAP/IND submodules go from a small number to a high number,
with the higher numbered node assumed to be at a higher voltage potential than the lower numbered node.
Normally this causes no problems in setting up the data, as the speakers are usually connected to node 0 as
the node of lowest voltage potential. However, in this particular case, some of the speakers have a higher
node number that is actually at a lower potential relative to the smaller node number. Hence there is a need

CALSOD 3.10 and CALSOD 1.40 User's Manual – 371


to use the NEGATIVE connection on some speakers to keep all drivers connected with the same effective
polarity.

At some later stage, you may like to try changing those drivers that use the NEGATIVE connection to use
the POSITIVE connection, and re-analyze the data file. You will find that there will be a large cancellation
of all the responses, yielding a very low summed sound pressure level.

The TARGET SPL submodule is used to specify the location of the observation point (see lines 20 to 27) for
a number of off-axis locations. These are all located at a radius of 8.0 metres from the origin of the
coordinate system shown in a previous sketch, and they correspond to locations on-axis and at 5°, 10°, 15°,
30° and 60° off-axis. For this particular layout the radiation pattern will be symmetrical in the vertical plane,
so we have only included observation points that lie on or above the horizontal XZ-plane.

In order to study the sound pressure response at each of these locations, you must edit and selectively
uncomment the desired XYZ coordinate definition and proceed to run the data file through CALSOD.
Remember to comment out all other XYZ submodules that you do not wish to study.

We have added a VIN 6.0 DB submodule into the CIRCUIT module (see line 9), and this is used to raise the
simulated sound pressure level at the observation point. This counteracts the natural drop in level caused by
the 8.0 metre distance from the speaker array to the observation point.

A suitable frequency range for system response calculations and plots is 20 Hz to 20 kHz. You should use at
least 50 subintervals in order to obtain reasonably smooth plots of magnitude and phase responses and, for
maximum resolution, using 100 subintervals is strongly recommended. Before viewing any plots, it is also
desirable to set the minimum and maximum magnitude limits for sound pressure response plots to be 50 dB
and 100 dB.

You should now proceed to read in the data file LINARRSP.C14 and compute all the system response
functions. Once the system calculations have been completed, you should select the option from the main
menu that allows you to plot out response functions on the screen. When the plot selection menu appears,
you should choose to plot the total sound pressure response, as well as the raw response of one of the
loudspeakers (choose the one corresponding to the letter A). The plot that is displayed shows the total
summed response of the linear loudspeaker array for the on-axis condition. The wide-range response of one
of the individual loudspeaker drivers is also plotted for comparison purposes, so that we can more easily see
the difference in shape of the response curve for the summed response of the speaker array.

Even though we are on-axis, there is still a noticeable rolloff in the high-frequency response of the linear
array above about 2 kHz. This is caused by phase cancellations associated with the path length differences
from each individual loudspeaker to the observation point. This indicates that we are still in the near field of
the linear array at the higher frequencies, as the inverse square law is not being followed accurately in that
region. You can investigate this for yourself by increasing the distance of the observation point from the
system to something like 16 metres or 32 metres. You will find that the high-frequency response flattens out
quite considerably, as well as there being a corresponding drop in the overall sound pressure level.

You can also plot out the impedance for one of the speakers, together with a plot of the total system input
impedance. You can see that for this particular configuration of electrical connections the total input
impedance is half that of an individual driver.

You should now proceed to edit the data file LINARRSP.C14 to activate the XYZ submodule corresponding
to a location 5° off-axis. You will need to comment out the XYZ submodule corresponding to the on-axis
case (see line 22) by placing a ! at the beginning of the line. You can activate the XYZ submodule
corresponding to the 5° off-axis case by deleting the ! at the beginning of line 23. After you have made the
required changes, the TARGET SPL module should look something like the following:

372 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Setup for analysis of response at 5° off-axis

TARGET SPL
SEN 90.0 DB
! XYZ 0.0 0.000 8.000 ! On-axis
XYZ 0.0 0.697 7.970 ! 5 degrees off-axis
! XYZ 0.0 1.389 7.878 ! 10 degrees off-axis
! XYZ 0.0 2.071 7.727 ! 15 degrees off-axis
! XYZ 0.0 4.000 6.928 ! 30 degrees off-axis
! XYZ 0.0 6.928 2.071 ! 60 degrees off-axis

After you have made the required changes, you should save the modified file and exit the editor. You can
now read in the revised version of the data file LINARRSP.C14 and compute all the system response
functions. Just as you did earlier, you should now plot out the total sound pressure response, as well as the
raw response of one of the loudspeakers. This plot shows the total summed response of the linear
loudspeaker array for the 5° off-axis condition. Comparing the total sound pressure response of this plot
with the previous plot, it is evident that the response at high frequencies has started to rolloff much earlier.
This is indicative of the more directional response characteristic of the linear array when compared with a
single driver.

If you wish you can create similar sound pressure response plots for the remaining off-axis locations that are
included in LINARRSP.C14 in commented out form. Examination of these figures would show that, as we
go further off-axis, there is an increased rolloff in the high-frequency response of this particular linear array
of drivers.

8-driver linear array with series connection

For the simple series configuration, the circuit connections and node numbers are shown below. Note that
all loudspeakers are connected with the same polarity.

┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐


1───┤A├─2─┤B├─3─┤C├─4─┤D├─5─┤E├─6─┤F├─7─┤G├─8─┤H├───┐
└─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ │
+ - + - + - + - + - + - + - + - │


0───────────────────────────────────────────────────┘

The data file used to model the above configuration is called LINARRS.C14, and it is shown below:

01> ! ------------------------------------
02> ! SIMULATION OF AN 8-DRIVER LINE ARRAY
03> ! ------------------------------------
04> !
05> ! Speakers in series configuration
06> !
07> CIRCUIT
08> !
09> VIN 18.0 DB
10> !
11> SPK 1 1 2 0.0 +0.7 0.0 NEGATIVE
12> SPK 1 2 3 0.0 +0.5 0.0 NEGATIVE
13> SPK 1 3 4 0.0 +0.3 0.0 NEGATIVE
14> SPK 1 4 5 0.0 +0.1 0.0 NEGATIVE
15> SPK 1 5 6 0.0 -0.1 0.0 NEGATIVE
16> SPK 1 6 7 0.0 -0.3 0.0 NEGATIVE
17> SPK 1 7 8 0.0 -0.5 0.0 NEGATIVE
18> SPK 1 0 8 0.0 -0.7 0.0 POSITIVE
19> !
20> TARGET SPL
21> SEN 90.0 DB
22> XYZ 0.0 0.000 8.000 ! On-axis
23> ! XYZ 0.0 0.697 7.970 ! 5 degrees off-axis
24> ! XYZ 0.0 1.389 7.878 ! 10 degrees off-axis

CALSOD 3.10 and CALSOD 1.40 User's Manual – 373


25> ! XYZ 0.0 2.071 7.727 ! 15 degrees off-axis
26> ! XYZ 0.0 4.000 6.928 ! 30 degrees off-axis
27> ! XYZ 0.0 6.928 2.071 ! 60 degrees off-axis
28> !
29> DRIVER 1
30> Wide range
31> SOUND PRESSURE
32> SEN 90.0 DB
33> SCB 150.0 0.35 3.0
34> BUT 10000.0 2 LOWPASS
35> IMPEDANCE
36> ICB 150.0 6.0 0.20E-3 2.8 0.40 3.00

In this example we have connected eight identical drivers in series, and the driver sound pressure and
impedance response characteristics have been simulated in the DRIVER submodule in lines 29 to 36. Please
take particular note of the fact that it is necessary to "reverse" the polarity of the speakers A to G in SPK
submodules in lines 11 to 17. The reasons for this were described in the previous example.

We have added a VIN 18.0 DB submodule into the CIRCUIT module (see line 9) in order to increase the
simulated sound pressure level at the observation point. This counteracts the natural drop in level caused by
the 8.0 metre distance from the speaker array to the observation point.

As before, a suitable frequency range for system response calculations and plots is 20 Hz to 20 kHz. You
should use at least 50 subintervals in order to obtain reasonably smooth plots of the magnitude and phase
responses. Before viewing any plots, it is also desirable to set the minimum and maximum magnitude limits
for sound pressure response plots to be 50 dB and 100 dB.

You should now proceed to read in the data file LINARRS.C14 and compute all the system response
functions. Once the system calculations have been completed, you should plot the total sound pressure
response as well as the raw response of one of the individual loudspeakers. This plot shows the total
summed response of the linear loudspeaker array for the on-axis condition. The wide-range response of one
of the individual loudspeaker drivers is also plotted for comparison purposes, so that we can more easily see
the difference in shape of the response curve for the summed response of the speaker array.

You can also plot out the impedance for one of the speakers, together with a plot of the total system input
impedance. Because there is a large difference between the impedance of one driver and the total impedance
of all the drivers connected in series, you should switch to a logarithmic scale for plotting the magnitude of
the impedance curves. You can see that the total input impedance is eight times that of an individual driver.

You should now proceed to edit the data file LINARRS.C14 to activate the XYZ submodule corresponding
to a location 5° off-axis. You will need to comment out the XYZ submodule corresponding to the on-axis
case (see line 22) by placing a ! at the beginning of the line. You can activate the XYZ submodule
corresponding to the 5° off-axis case by deleting the ! at the beginning of line 23. After you have made the
required changes, the TARGET SPL module should look something like the listing shown in the previous
section describing the series/parallel configuration of the linear array of loudspeakers.

After you have made the required changes, you should save the modified file and exit the editor. You can
now read in the revised version of LINARRS.C14 and compute all the system response functions. Just as
you did earlier, you should now plot out the total sound pressure response, as well as the raw response of
one of the loudspeakers. This plot shows the total summed response of the linear loudspeaker array for the
5° off-axis condition. As expected, the high-frequency response off-axis is more rolled off than for the on-
axis case.

8-driver linear array with parallel connection

For the simple parallel configuration, the circuit connections and node numbers are shown below. Note that
all loudspeakers are connected with the same polarity.

374 – CALSOD 3.10 and CALSOD 1.40 User's Manual


1────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+
│A│ │B│ │C│ │D│ │E│ │F│ │G│ │H│
└┬┘- └┬┘- └┬┘- └┬┘- └┬┘- └┬┘- └┬┘- └┬┘-
0────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘

The data file used to model the above configuration is called LINARRP.C14, and it is shown below:

01> ! ------------------------------------
02> ! SIMULATION OF AN 8-DRIVER LINE ARRAY
03> ! ------------------------------------
04> !
05> ! Speakers in parallel configuration
06> !
07> CIRCUIT
08> !
09> VIN 0.0 DB
10> !
11> SPK 1 0 1 0.0 +0.7 0.0 POSITIVE
12> SPK 1 0 1 0.0 +0.5 0.0 POSITIVE
13> SPK 1 0 1 0.0 +0.3 0.0 POSITIVE
14> SPK 1 0 1 0.0 +0.1 0.0 POSITIVE
15> SPK 1 0 1 0.0 -0.1 0.0 POSITIVE
16> SPK 1 0 1 0.0 -0.3 0.0 POSITIVE
17> SPK 1 0 1 0.0 -0.5 0.0 POSITIVE
18> SPK 1 0 1 0.0 -0.7 0.0 POSITIVE
19> !
20> TARGET SPL
21> SEN 90.0 DB
22> XYZ 0.0 0.000 8.000 ! On-axis
23> ! XYZ 0.0 0.697 7.970 ! 5 degrees off-axis
24> ! XYZ 0.0 1.389 7.878 ! 10 degrees off-axis
25> ! XYZ 0.0 2.071 7.727 ! 15 degrees off-axis
26> ! XYZ 0.0 4.000 6.928 ! 30 degrees off-axis
27> ! XYZ 0.0 6.928 2.071 ! 60 degrees off-axis
28> !
29> DRIVER 1
30> Wide range
31> SOUND PRESSURE
32> SEN 90.0 DB
33> SCB 150.0 0.35 3.0
34> BUT 10000.0 2 LOWPASS
35> IMPEDANCE
36> ICB 150.0 6.0 0.20E-3 2.8 0.40 3.00

In this example we have connected eight identical drivers in parallel, and the driver sound pressure and
impedance response characteristics have been simulated in the DRIVER submodule in lines 29 to 36.

We have added a VIN submodule into the CIRCUIT module (see line 9), but because the use of
8 loudspeakers counteracts the natural drop in level caused by the 8.0 metre distance from the speaker array
to the observation point, a value of VIN 0.0 DB has been used.

As before, a suitable frequency range for system response calculations and plots is 20 Hz to 20 kHz. You
should use at least 50 subintervals in order to obtain reasonably smooth plots of the magnitude and phase
responses. Before viewing any plots, it is also desirable to set the minimum and maximum magnitude limits
for sound pressure response plots to be 50 dB and 100 dB.

You should now proceed to read in the data file LINARRP.C14 and compute all the system response
functions. Once the system calculations have been completed, you should plot the total sound pressure
response as well as the raw response of one of the individual loudspeakers. This plot shows the total
summed response of the linear loudspeaker array for the on-axis condition. The wide-range response of one
of the individual loudspeaker drivers is also plotted for comparison purposes, so that we can more easily see
the difference in shape of the response curve for the summed response of the speaker array.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 375


You can also plot out the impedance for one of the speakers, together with a plot of the total system input
impedance. You can see that the total input impedance is 1/8 that of an individual driver, which provides an
extremely difficult low-impedance load for any amplifier to drive.

You should now proceed to edit the data file LINARRP.C14 to activate the XYZ submodule corresponding
to a location 5° off-axis. You will need to comment out the XYZ submodule corresponding to the on-axis
case (see line 22) by placing a ! at the beginning of the line. You can activate the XYZ submodule
corresponding to the 5° off-axis case by deleting the ! at the beginning of line 23. After you have made the
required changes, the TARGET SPL module should look something like the listing shown in a previous
section describing the series/parallel configuration of the linear array of loudspeakers.

After you have made the required changes, you should save the modified file and exit the editor. You can
now read in the revised version of LINARRP.C14 and compute all the system response functions. Just as
you did earlier, you should now plot out the total sound pressure response, as well as the raw response of
one of the loudspeakers. This plot shows the total summed response of the linear loudspeaker array for the
5° off-axis condition. As expected, the high-frequency response off-axis is more rolled off than for the on-
axis case.

376 – CALSOD 3.10 and CALSOD 1.40 User's Manual


MODELLING LINEAR ARRAYS
OF LOUDSPEAKERS WITH
CALSOD 3.10

A linear array of loudspeakers is often used to obtain a directional off-axis frequency response
characteristic. Whereas the radiation pattern of a single loudspeaker is reasonably omnidirectional, usually
up to at least a few kilohertz for small drivers, that of an array is so only at low frequencies. At high
frequencies it becomes much more directional, and the directivity also varies considerably with frequency.

Analysis of a line source shows that the longer the extent of the radiator, the sharper will be the principal
lobe along the α = 0° axis at any given frequency. The lateral directivity is constant and is defined by the
width of the source. Hence, adding elements to increase the height of a linear array of loudspeakers
progressively reduces the vertical beam width and increases the loudness in the forward direction.

We will now proceed to describe the modelling of an 8-driver linear array of equally spaced loudspeakers
with equal levels and equal polarities. The individual loudspeaker centre-to-centre spacing is 0.20 metres.
The overall length of the linear array, as measured from the centres of the outside sources, is 1.4 metres. The
following schematic diagram describes the layout of the loudspeakers denoted by the symbol █<, which are
labelled A to H.

Y-axis

─────────────┬── A █<
│ d/7 │
│ ┼── B █< + α = 8°
│ d/7 │ + α = 6°
│ ┼── C █< + α = 4°
│ d/7 │ + α = 2°
┼── D █<
d = 1.40 m d/7 │ ────────────────────────+──── Z-axis
┼── E █< │
│ d/7 │ │
│ ┼── F █< └─ 8.0 metres
│ d/7 │
│ ┼── G █<
│ d/7 │
─────────────┴── H █<

We will now proceed to examine a number of different electrical connections of the loudspeakers.

8-driver linear array with series/parallel connection

For the combination series/parallel configuration, the circuit connections and node numbers are shown
below. Note that all the loudspeakers are connected with the same polarity.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 377


1───────┬───────┬──────┬───────┐
┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+
│A│ │B│ │E│ │F│
└┬┘- └┬┘- └┬┘- └┬┘-
├───2───┤ ├───3───┤
┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+
│C│ │D│ │G│ │H│
└┬┘- └┬┘- └┬┘- └┬┘-
0───────┴───────┴──────┴───────┘

The data file used to model the above configuration is called LARRAYSP.C31, and it is shown below:

01> ! ------------------------------------
02> ! SIMULATION OF AN 8-DRIVER LINE ARRAY
03> ! ------------------------------------
04> !
05> ! Speakers in series/parallel configuration
06> !
07> CIRCUIT
08> !
09> VIN 6.0 DB
10> !
11> SPK 1 1 2 0.0 +0.7 0.0 NEGATIVE
12> SPK 1 1 2 0.0 +0.5 0.0 NEGATIVE
13> SPK 1 0 2 0.0 +0.3 0.0 POSITIVE
14> SPK 1 0 2 0.0 +0.1 0.0 POSITIVE
15> SPK 1 1 3 0.0 -0.1 0.0 NEGATIVE
16> SPK 1 1 3 0.0 -0.3 0.0 NEGATIVE
17> SPK 1 0 3 0.0 -0.5 0.0 POSITIVE
18> SPK 1 0 3 0.0 +0.7 0.0 POSITIVE
19> !
20> TARGET SPL
21> SEN 95.0 DB
22> RAB 8.0 0.0 0.0 1.0 ACTIVE ! On-axis
23> RAB 8.0 2.0 0.0 1.0 INACTIVE ! 2 degrees off-axis
24> RAB 8.0 4.0 0.0 1.0 INACTIVE ! 4 degrees off-axis
25> RAB 8.0 6.0 0.0 1.0 INACTIVE ! 6 degrees off-axis
26> RAB 8.0 8.0 0.0 1.0 INACTIVE ! 8 degrees off-axis
27> !
28> DRIVER 1
29> Wide range
30> SOUND PRESSURE
31> SEN 95.0 DB
32> SCB 150.0 0.35 3.00
33> BUT 10000.0 2 LOWPASS
34> IMPEDANCE
35> ICB 150.0 6.0 0.20E-3 2.8 0.40 3.00

In this example we have connected eight identical drivers, and the driver sound pressure and impedance
response characteristics have been simulated in the DRIVER submodule in lines 28 to 35. The low-
frequency sound pressure has been modelled as a closed-box loudspeaker with a cutoff frequency of 300 Hz.
The high-frequency response is modelled by a second-order Butterworth lowpass filter with a cutoff
frequency of 10 kHz. This should simulate a typical 6-inch driver that might be used in such an application.
The impedance characteristic corresponds to this driver being mounted in a closed box, and the voice-coil
inductance is also simulated.

Please take particular note of the fact that it is necessary to “reverse” the polarity of the speakers that are
connected between nodes 1 and 2, and nodes 1 and 3. It is a requirement when using CALSOD to ensure
that the node numbers in the SPK/RES/CAP/IND submodules go from a small number to a high number,
with the higher numbered node assumed to be at a higher voltage potential than the lower numbered node.
Normally this causes no problems in setting up the data, as the speakers are usually connected to node 0 as
the node of lowest voltage potential. However, in this particular case, some of the speakers have a higher
node number that is actually at a lower potential relative to the smaller node number. Hence there is a need

378 – CALSOD 3.10 and CALSOD 1.40 User's Manual


to use the NEGATIVE connection on some speakers to keep all drivers connected with the same effective
polarity.

At some later stage, you may like to try changing those drivers that use the NEGATIVE connection to use
the POSITIVE connection, and re-analyze the data file. You will find that there will be a large cancellation
of all the responses, yielding a very low summed sound pressure level.

The TARGET SPL submodule is used to specify the locations of the observation points for a number of off-
axis locations. These are all located at a radius of 8.0 metres from the origin of the coordinate system shown
in a previous sketch, and they correspond to an on-axis location and various off-axis locations at 2°, 4°, 6°,
and 8° off-axis. For this particular layout the radiation pattern will be symmetrical in the vertical plane, so
we have only included observation points that lie on or above the horizontal XZ-plane.

We have included a VIN 6.0 DB submodule in the CIRCUIT module (see line 09), and this is used to raise
the simulated sound pressure level at the observation point. This counteracts the natural drop in level caused
by the 8.0 metre distance from the linear array to the observation point.

A suitable frequency range for system response calculations and plots is 100 Hz to 20 kHz. You should use
at least 50 subintervals in order to obtain reasonably smooth plots of magnitude and phase responses and,
for maximum resolution, using 100 subintervals is strongly recommended. Before viewing any plots, it is
also desirable to set the minimum and maximum magnitude limits for sound pressure response plots to be
75 dB and 100 dB.

You should now proceed to read in the data file LARRAYSP.C31 and compute all the system response
functions. Once the system calculations have been completed, you can select the option from the main menu
that allows you to plot out the response functions on the screen. When the plot selection menu appears, you
should choose to plot the total sound pressure response, making sure that you select only this response
function so that CALSOD will plot all the off-axis response curves. If you select more than one sound
pressure response function for plotting, then CALSOD will only display sound pressure response functions
that correspond to the observation point that is specified in the first RAB submodule.

The plot in Figure 135 shows the total summed response of the linear loudspeaker array for the on-axis and
several off-axis conditions. Keeping in mind that the raw response of an individual driver has –3 dB points
at 300 Hz and 10 kHz, there is a noticeable rolloff in the high-frequency response of the linear array above
about 2 kHz. This occurs even for the on-axis case, and at 10 kHz there is considerably less output than what
is obtained from a single driver. The reduction in output is caused by phase cancellations associated with the
path length differences from each individual loudspeaker to the observation point. This indicates that we are
still in the near field of the linear array at the higher frequencies, as the inverse square law is not being
followed accurately in that region. You can investigate this for yourself by increasing the distance of the
observation point from the system to something like 16 metres or 32 metres. You will find that the high-
frequency response flattens out quite considerably, as well as there being a corresponding drop in the overall
sound pressure level.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 379


Figure 135: Sound pressure response of a linear array of speakers with series/parallel electrical
connection for the on-axis case and various off-axis locations.

If you look at the various off-axis response curves in the plot in Figure 135, you will find that the response
at high frequencies rolls off more quickly as the observation points move further off axis. This is indicative
of the more directional response characteristic of the linear array when compared with the behaviour of a
single driver. It is also interesting to note that, for the 2 degrees off-axis case at the 8 metre observation
point, the high-frequency response is actually a little more extended than for the on-axis case.

If you wish, you can also plot out the impedance for one of the speakers, together with a plot of the total
system input impedance. You will find that for this particular series/parallel configuration of electrical
connections the total input impedance is half that of an individual driver.

8-driver linear array with series connection

For the simple series configuration, the circuit connections and node numbers are shown below. Note that
all loudspeakers are connected with the same polarity.

┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐


1───┤A├─2─┤B├─3─┤C├─4─┤D├─5─┤E├─6─┤F├─7─┤G├─8─┤H├───┐
└─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ │
+ - + - + - + - + - + - + - + - │


0───────────────────────────────────────────────────┘

The data file used to model the above configuration is called LARRAYS.C31, and it is shown below:

01> ! ------------------------------------
02> ! SIMULATION OF AN 8-DRIVER LINE ARRAY
03> ! ------------------------------------
04> !
05> ! Speakers in series configuration
06> !
07> CIRCUIT
08> !
09> VIN 18.0 DB
10> !
11> SPK 1 1 2 0.0 +0.7 0.0 NEGATIVE
12> SPK 1 2 3 0.0 +0.5 0.0 NEGATIVE
13> SPK 1 3 4 0.0 +0.3 0.0 NEGATIVE
14> SPK 1 4 5 0.0 +0.1 0.0 NEGATIVE
15> SPK 1 5 6 0.0 -0.1 0.0 NEGATIVE
16> SPK 1 6 7 0.0 -0.3 0.0 NEGATIVE
17> SPK 1 7 8 0.0 -0.5 0.0 NEGATIVE
18> SPK 1 0 8 0.0 -0.7 0.0 POSITIVE
19> !

380 – CALSOD 3.10 and CALSOD 1.40 User's Manual


20> TARGET SPL
21> SEN 95.0 DB
22> RAB 8.0 0.0 0.0 1.0 ACTIVE ! On-axis
23> RAB 8.0 2.0 0.0 1.0 INACTIVE ! 2 degrees off-axis
24> RAB 8.0 4.0 0.0 1.0 INACTIVE ! 4 degrees off-axis
25> RAB 8.0 6.0 0.0 1.0 INACTIVE ! 6 degrees off-axis
26> RAB 8.0 8.0 0.0 1.0 INACTIVE ! 8 degrees off-axis
27> !
28> DRIVER 1
29> Wide range
30> SOUND PRESSURE
31> SEN 95.0 DB
32> SCB 150.0 0.35 3.00
33> BUT 10000.0 2 LOWPASS
34> IMPEDANCE
35> ICB 150.0 6.0 0.20E-3 2.8 0.40 3.00

In this example we have connected eight identical drivers in series, and the driver sound pressure and
impedance response characteristics have been simulated in the DRIVER submodule in lines 28 to 35. Please
take particular note of the fact that it is necessary to “reverse” the polarity of the speakers A to G in SPK
submodules in lines 11 to 17. The reasons for this were described in detail in the previous example, and are
related to the node numbering convention adopted by CALSOD.

We have also included a VIN 18.0 DB submodule in the CIRCUIT module (see line 09) in order to increase
the simulated sound pressure level at the observation point. This counteracts the natural drop in level caused
by the 8.0 metre distance from the linear array to the observation point.

As before, a suitable frequency range for system response calculations and plots is 100 Hz to 20 kHz. You
should use at least 50 subintervals in order to obtain reasonably smooth plots of the magnitude and phase
responses. Before viewing any plots, it is also desirable to set the minimum and maximum magnitude limits
for sound pressure response plots to be 75 dB and 100 dB.

You can now proceed to read in the data file LARRAYS.C31 and compute all the system response
functions. Once the system calculations have been completed, you should plot the total sound pressure
response, making sure that you select only this response function so that CALSOD will plot all the off-axis
response curves.

The plot in Figure 136 shows the total summed response of the linear loudspeaker array for the on-axis
condition, as well as a number of off-axis observation points. As expected, the high-frequency response of
the linear array is more rolled off at high-frequencies than the response of a single driver. As we move more
and more off-axis the high-frequency response becomes progressively more attenuated.

Figure 136: Sound pressure response of a linear array of speakers with series electrical connection
for the on-axis case and various off-axis locations.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 381


You can also plot out the impedance for one of the speakers, together with a plot of the total system input
impedance. Because there is a large difference between the impedance of one driver and the total impedance
of all the drivers connected in series, you should switch to a logarithmic scale for plotting the magnitude of
the impedance curves. You can see that the total input impedance is eight times that of an individual driver.

8-driver linear array with parallel connection

For the simple parallel configuration, the circuit connections and node numbers are shown below. Note that
all loudspeakers are connected with the same polarity.

1────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+ ┌┴┐+
│A│ │B│ │C│ │D│ │E│ │F│ │G│ │H│
└┬┘- └┬┘- └┬┘- └┬┘- └┬┘- └┬┘- └┬┘- └┬┘-
0────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘

The data file used to model the above configuration is called LARRAYP.C31, and it is shown below:

01> ! ------------------------------------
02> ! SIMULATION OF AN 8-DRIVER LINE ARRAY
03> ! ------------------------------------
04> !
05> ! Speakers in parallel configuration
06> !
07> CIRCUIT
08> !
09> VIN 0.0 DB
10> !
11> SPK 1 0 1 0.0 +0.7 0.0 POSITIVE
12> SPK 1 0 1 0.0 +0.5 0.0 POSITIVE
13> SPK 1 0 1 0.0 +0.3 0.0 POSITIVE
14> SPK 1 0 1 0.0 +0.1 0.0 POSITIVE
15> SPK 1 0 1 0.0 -0.1 0.0 POSITIVE
16> SPK 1 0 1 0.0 -0.3 0.0 POSITIVE
17> SPK 1 0 1 0.0 -0.5 0.0 POSITIVE
18> SPK 1 0 1 0.0 -0.7 0.0 POSITIVE
19> !
20> TARGET SPL
21> SEN 95.0 DB
22> RAB 8.0 0.0 0.0 1.0 ACTIVE ! On-axis
23> RAB 8.0 2.0 0.0 1.0 INACTIVE ! 2 degrees off-axis
24> RAB 8.0 4.0 0.0 1.0 INACTIVE ! 4 degrees off-axis
25> RAB 8.0 6.0 0.0 1.0 INACTIVE ! 6 degrees off-axis
26> RAB 8.0 8.0 0.0 1.0 INACTIVE ! 8 degrees off-axis
27> !
28> DRIVER 1
29> Wide range
30> SOUND PRESSURE
31> SEN 95.0 DB
32> SCB 150.0 0.35 3.00
33> BUT 10000.0 2 LOWPASS
34> IMPEDANCE
35> ICB 150.0 6.0 0.20E-3 2.8 0.40 3.00

In this example we have connected eight identical drivers in parallel, and the driver sound pressure and
impedance response characteristics have been simulated in the DRIVER submodule in lines 28 to 35. Each
of the SPK submodules specifies that the driver is connected with POSITIVE polarity, so they are all
effectively working in phase with each other.

We have included a VIN submodule in the CIRCUIT module (see line 09), but because the use of 8
loudspeakers counteracts the natural drop in level caused by the 8.0 metre distance from the array to the
observation point, a value of VIN 0.0 DB has been used.

382 – CALSOD 3.10 and CALSOD 1.40 User's Manual


As before, a suitable frequency range for system response calculations and plots is 100 Hz to 20 kHz. You
should use at least 50 subintervals in order to obtain reasonably smooth plots of the magnitude and phase
responses. Before viewing any plots, it is also desirable to set the minimum and maximum magnitude limits
for sound pressure response plots to be 75 dB and 100 dB.

The plot in Figure 137 shows the total summed response of the linear loudspeaker array for the on-axis
condition, as well as a number of off-axis observation points. As we move further off axis, the high-
frequency sound pressure response of the linear array is more and more attenuated, which illustrates the
directional nature of the linear array.

Figure 137: Sound pressure response of a linear array of speakers with parallel electrical
connection for the on-axis case and various off-axis locations.

You can also plot out the impedance for one of the speakers, together with a plot of the total system input
impedance. You can see that the total input impedance is 1/8 that of an individual driver, which provides an
extremely difficult low-impedance load for any amplifier to drive.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 383


ADVANCED MODELLING
TECHNIQUES

This section will describe some miscellaneous modelling techniques that can be applied using CALSOD and
may be of interest to many designers.

Modelling the baffle diffraction step

In this section we will study an example that simulates the effect of baffle diffraction on the sound pressure
response of a loudspeaker driver mounted on a baffle. For a driver in an enclosure, the effect of baffle
diffraction is to provide a boost or step in the sound pressure response above the frequency where the
wavelength of sound is approximately equal to the effective cabinet width. The asymptotic value of this
boost relative to the unboosted level is 6 dB. A more detailed description of baffle diffraction effects is
provided in the BDS submodule definition.

In our example, we will assume that the effective baffle width W = 0.300 metres. The frequency f
corresponding to this wavelength can be computed from the following formula:

c 343
f = ─── = ───── = 1143 Hz
W 0.300

where the speed of sound in air is assumed to be 343 metres/sec.

The sample data file that incorporates a BDS submodule is called BDS.C14, and a listing of this file is given
below:

01> ! ------------------------------------
02> ! EXAMPLE FILE FOR USING BDS SUBMODULE
03> ! ------------------------------------
04> !
05> DRIVER 1
06> SPKR ALONE
07> SOUND PRESSURE
08> SEN 85.0 DB
09> BUT 120.0 2 HIGHPASS
10> BUT 3000.0 3 LOWPASS
11> !
12> DRIVER 2
13> SPKR & BDS
14> SOUND PRESSURE
15> SEN 85.0 DB
16> BUT 120.0 2 HIGHPASS
17> BUT 3000.0 3 LOWPASS
18> BDS 0.30 METRES BOOST
19> !
20> DRIVER 3
21> BDS ALONE
22> SOUND PRESSURE
23> SEN 85.0 DB
24> BDS 0.30 METRES BOOST
25> !
26> CIRCUIT
27> SPK 1 0 1 0 0 0 POSITIVE
28> SPK 2 0 1 0 0 0 POSITIVE
29> SPK 3 0 1 0 0 0 POSITIVE
30> !
31> TARGET SPL

384 – CALSOD 3.10 and CALSOD 1.40 User's Manual


32> SEN 90.0 DB
33> XYZ 0 0 0

This particular data file simulates the sound pressure response of the loudspeaker driver by cascading a
second-order Butterworth highpass response and a third-order Butterworth lowpass response. The low-
frequency and high-frequency cutoffs are set to 120 Hz and 3000 Hz, respectively, and this choice produces
a bandpass response similar to that of many 200 mm woofers when driven through their crossover networks.
The first DRIVER module is used to set up the response of the speaker alone. The second DRIVER module
is identical to the first, except that a BDS submodule has been added to include the effects of baffle
diffraction for an effective baffle width W = 0.300 metres. The third DRIVER module is used to simulate
the baffle diffraction response function itself, and does not include any simulated driver bandpass response.

The plot in Figure 138 shows the characteristic response step associated with a baffle whose effective width
is 0.300 metres. For frequencies above about 1143 Hz, where the wavelength of sound is equal to the
effective baffle width, the response has been augmented by about 6 dB compared to that obtained under
free-field conditions.

Figure 138: Simulation of effects of baffle diffraction on the sound pressure response of a typical
woofer: response modification due to baffle diffraction for an effective baffle width of
0.300 metres.

To see the effects of baffle diffraction on the response of a typical 200 mm woofer, you should study the
plot in Figure 139. The response of the driver alone is represented by the solid line, while that of the driver
plus the effects of baffle diffraction is drawn using the dashed line. From the plots shown in Figure 138 and
Figure 139, it is clear that baffle diffraction can have significant effects on the sound pressure response of a
driver.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 385


Figure 139: Simulation of effects of baffle diffraction on the sound pressure response of a typical
woofer: sound pressure response with and without the effects of baffle diffraction.

Because CALSOD uses the theoretical solution obtained for a sphere, the step in the response is monotonic,
and does not include the peaks and dips that would be present if the driver were mounted on a real baffle.
However, the general trend in the response, which is boosted by 6 dB at high frequencies, is accurately
reproduced. It can be seen that the transition from free-field to what are effectively infinite-baffle conditions
occurs over a frequency range of about a decade, and the effect of the response step is quite significant.
Notice also that there is a small amount of phase shift associated with the response step, although this is
localized to the transition region between high and low frequencies.

Another sample data file is included to show the effects of baffle diffraction on a tweeter. The name of this
file is BDSWT.C14, and it also includes the woofer model described above. The woofer and tweeter
response functions have been deliberately chosen to be complementary third-order Butterworth functions at
the 3000 Hz crossover frequency, and therefore the combined response will produce a reasonably uniform
response through the crossover region.

The plot in Figure 140 shows the raw response of the tweeter (solid line), as well as the response when
baffle diffraction effects are included (dashed line). It is apparent that the response of the tweeter has been
raised by 6 dB in a very uniform manner over its useful operating range. This contrasts with the effects of
diffraction on the woofer response, which resulted in a less linear response (see Figure 139).

Figure 140: Sound pressure response for a typical tweeter with and without the effects of baffle
diffraction.

The plot in Figure 141 shows the raw response of the woofer and tweeter when the effects of baffle
diffraction are neglected. It is clear that the summed response of these two drivers would be quite linear over

386 – CALSOD 3.10 and CALSOD 1.40 User's Manual


the frequency range 200 Hz to 15 kHz. The plot in Figure 142 shows the responses of the woofer and
tweeter including the effects the of baffle diffraction. It is apparent that the summed response of the two
drivers would be linear over a reduced bandwidth, from about 500 Hz to 15 kHz. This results from the
nonlinear boost of the woofer’s response above 100 Hz by the effects of baffle diffraction (see Figure 139).

Figure 141: Sound pressure responses for a woofer and tweeter without the effects of baffle
diffraction.

Figure 142: Sound pressure responses for a woofer and tweeter including the effects of baffle
diffraction.

Modelling low-frequency room gain effects

When a loudspeaker system is placed in a typical listening room, it is usually in close proximity to room
boundaries such as the floor, walls and ceiling. As a result, the low-frequency output of the system is
boosted compared to other frequencies, and this often referred to as room gain. In his book “High
Performance Loudspeakers”, Colloms has provided a room gain function that can be used to help predict the
low-frequency performance of a loudspeaker system when placed in a typical position in a listening room.

CALSOD includes an RGE submodule to provide a room gain equalization function. Two different options
are available, and they differ in the rate with which the low-frequency boost is applied. To illustrate these
two room gain functions, we have created a simple data file called DEMORGE1.C31 that will allow a
simple comparison plot to be presented. A listing of this file is provided below:

01> ! ----------------------
02> ! ROOM GAIN EQ FUNCTIONS
03> ! ----------------------
04> !

CALSOD 3.10 and CALSOD 1.40 User's Manual – 387


05> DRIVER 1
06> RGE TYPE 1
07> SOUND PRESSURE
08> SEN 90.0 DB
09> RGE 1
10> !
11> DRIVER 2
12> RGE TYPE 2
13> SOUND PRESSURE
14> SEN 90.0 DB
15> RGE 2
16> !
17> TARGET SPL
18> SEN 87.0 DB
19> !
20> CIRCUIT
21> SPK 1 0 1 0 0 0 POSITIVE
22> SPK 2 0 1 0 0 0 POSITIVE

This data file has two DRIVER modules, each of which includes an RGE submodule with a different room
gain function. Before reading in this data file, you should set the analysis and plotting frequency ranges to
be from 5 Hz to 500 Hz, with the number of subintervals set to 50 or more. Once you have done this, you
can proceed to read in the file DEMORGE1.C31 and compute all the response functions. Then select the
option from the main menu that allows you to produce screen plots, and select the sound pressure response
functions for DRIVER 1 and DRIVER 2 for display. These correspond to the RGE 1 and RGE 2 submodules
that were included in lines 09 and 15.

The plot in Figure 143 shows the response of two different room gain functions that can be modelled by the
RGE submodule. It is evident that the RGE 1 room gain function has significantly more boost in the 30 Hz
to 100 Hz region. Both functions asymptote to a final boost of 8 dB at frequencies below about 20 Hz.

Figure 143: Sample of two low-frequency room gain equalization functions.

In order to illustrate the use of the RGE submodule, we have also created a data file that shows the effects of
room gain on the response of a typical maximally flat closed-box low-frequency alignment. The data file is
called DEMORGE2.C31, and a listing is provided below.

The first DRIVER module defines a loudspeaker in a closed-box enclosure which yields a maximally flat
low-frequency alignment in the absence of any room gain. The driver’s resonance frequency and Qts value
are Fs = 35 Hz and Qts = 0.35. The driver is mounted in an enclosure such that the effective value of the
ratio Vas/Vb is assumed to be α = 3.0. This yields a system cutoff frequency of approximately 70 Hz, and
the Q of the alignment is Qtc = 0.70.

The second DRIVER module is identical to the first, except that we have included an RGE submodule to
simulate the effects of room gain on the low-frequency response.

388 – CALSOD 3.10 and CALSOD 1.40 User's Manual


01> ! ------------------------------
02> ! DEMO OF ROOM GAIN EQUALIZATION
03> ! ------------------------------
04> !
05> DRIVER 1
06> CB (NO RGE)
07> SOUND PRESSURE
08> SEN 90.0 DB
09> SCB 35.0 0.35 3.0
10> !
11> DRIVER 2
12> CB + RGE
13> SOUND PRESSURE
14> SEN 90.0 DB
15> SCB 35.0 0.35 3.0
16> RGE 1
17> !
18> DRIVER 3
19> RGE FUNCTN
20> SOUND PRESSURE
21> SEN 90.0 DB
22> RGE 1
23> !
24> DRIVER 4
25> DT CB + RGE
26> SOUND PRESSURE
27> SEN 90.0 DB
28> SCB 35.0 0.35 1.0
29> RGE 1
30> !
31> TARGET SPL
32> SEN 87.0 DB
33> !
34> CIRCUIT
35> SPK 1 0 1 0 0 0 POSITIVE
36> SPK 2 0 1 0 0 0 POSITIVE
37> SPK 3 0 1 0 0 0 POSITIVE
38> SPK 4 0 1 0 0 0 POSITIVE

The third DRIVER module simply contains an RGE submodule, and this can be used to obtain a plot of the
room gain function on its own. This will give you a good idea of the variation in room gain as a function of
frequency. When using this function you should note that the effects of room gain are negligible above
200 Hz, and a maximum of 8 dB of boost is obtained for frequencies below 20 Hz.

After you have set the frequency range for analysis and plotting to extend from 5 Hz to 500 Hz, you can now
read in the data file DEMORGE2.C31. Once all the response functions have been calculated, you should
plot out the sound pressure response functions for all four DRIVER’s that you have defined.

The plot in Figure 144 shows all of the driver response functions. If you compare the sound pressure
responses of the models defined in the first and second DRIVER modules, you will find that the low-
frequency boost introduced by the room gain function results in an extension of the low-frequency
performance of this closed-box system. The –3 dB point is now at about 49 Hz compared to the original
70 Hz. However, there is a small peak of about 1 dB in the low-frequency response at about 100 Hz.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 389


Figure 144: Closed-box sound pressure response with and without room gain equalization.

This peak can be reduced by modifying the low-frequency alignment to be more highly damped by lowering
the system Q factor. This can be easily achieved by reducing the value ofα. The fourth DRIVER module
illustrates the use of this technique to flatten the overall low-frequency response of the system in the
presence of room gain.

Although a closed-box system has been used in this example, it is possible to include the effects of room
gain on other types of low-frequency alignments such as vented-boxes. The results achieved will of course
depend on the cutoff frequency as well as the rolloff rate of the alignment.

Modelling floor reflections

It is possible to use CALSOD to create a simple model of the effects of floor reflections on the sound
pressure response of a low-frequency driver. The approach that we will utilize makes use of an image
loudspeaker and should yield a reasonable first approximation. A typical source/image system is shown in
the diagram below. We denote O as the observation point, and I1 is the image source that arises from the
effects of the floor boundary. The image is assumed to be identical in strength and phase to the source
driver, which is denoted by S1.

Y-axis


O │
+ │
+ S1

Z-axis ──── ═══════════════════════════ FLOOR

+ I1

A sample data file is provided that sets up a system of two low-frequency drivers, where one driver is the
source and the other driver is its image as reflected in the plane of the floor. The data file is called
FLOOR.C14, and a listing is shown below:

01> ! -----------------------------------------
02> ! DATA FILE FOR MODELLING FLOOR REFLECTIONS
03> ! -----------------------------------------
04> !
05> DRIVER 1
06> SOURCE
07> SOUND PRESSURE

390 – CALSOD 3.10 and CALSOD 1.40 User's Manual


08> SEN 89.6 DB
09> SCB 30.0 0.35 3.0
10> !
11> DRIVER 2
12> IMAGE
13> SOUND PRESSURE
14> SEN 89.6 DB
15> SCB 30.0 0.35 3.0
16> BUT 300.0 1 LOWPASS
17> !
18> TARGET SPL
19> SEN 90.0 DB
20> XYZ 0.0 1.0 3.0
21> !
22> CIRCUIT
23> SPK 1 0 1 0.0 0.8 0.0 POSITIVE
24> SPK 2 0 1 0.0 -0.8 0.0 POSITIVE

The frequency-dependent absorption of the floor/carpet can be simulated by including a 300 Hz first-order
lowpass filter in the transfer function model of the image driver (see line 16). This provides 71% absorption
at 300 Hz, as well as an increasing amount of absorption with frequency, providing a reasonable simulation
of the actual conditions found in most listening rooms.

It has been assumed that the woofer (and its image) has a closed-box response function corresponding to a
Butterworth alignment. Other low-frequency alignments can be used by including the relevant submodule
into the data file. The woofer is located 0.8 metres above the floor, with an image placed directly below it.
The observation point is 3.0 metres away from the source, and it is also located 0.2 metres higher than the
source. The sensitivity of the woofer has been adjusted to be 89.6 dB in order to give a sound pressure level
of 80.0 dB at the observation point.

The sound pressure results obtained for this system are shown in the plot of Figure 145. The solid line is the
response of the source woofer alone, the dashed line is the response of the image woofer including the
effects of floor absorption, and the dotted line is the combined response of the source and its image. Note
that the actual positions and amplitudes of the peaks and dips will be affected not only by the position of the
woofer above the floor, but also by the relative location of the listening position. They are also likely to be
affected by the choice of crossover frequency and crossover order, as these parameters will modify the
amplitude and phase response of the source and image systems for each particular design.

Figure 145: Simulation of the effects of floor reflections on the sound pressure response of a
woofer: sound pressure response of source woofer, image woofer and total summed response.

The plot in Figure 146 shows the total power response of the complete system comprised of source and
image woofer. The output of the image woofer makes a noticeable contribution only at frequencies below
300 Hz, and results in close to the full 3 dB boost in power response at very low frequencies below about
50 Hz.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 391


Figure 146: Simulation of the effects of floor reflections on the sound pressure response of a
woofer: combined power response of the source woofer and its image.

Modelling a compound woofer configuration

A compound woofer system, also known as an isobarik enclosure, can be easily modelled using CALSOD’s
standard submodules. In order to do so it is necessary to understand how to modify the Thiele-Small
parameters for an individual driver in order to simulate the compound driver. The following diagram
illustrates one possible compound woofer design and the out of phase electrical connection of the two
drivers that must be used to obtain correct operation of this type of system. The main advantage of a
compound woofer system is that the enclosure volume is half that required for a single driver.

+ ──────┐ ┌─────┐
│ /│ │ │ /│
┌────────────┐ - ██ │ │ + ██ │ SERIES
│ │ ██ │ │ ██ │ CONNECTION
│ │ + ██ │ │ - ██ │
│ │ │ \│ │ │ \│
│ ┌─────┤ │ │ │
│ /│ /│ └───────┘ │
│ ██ │ ██ │ - ────────────────────┘
│ ██ │ ██ │
│ ██ │ ██ │ + ────────┬───────────┐
│ \│ \│ │ │
│ └─────┤ │ /│ │ /│
│ │ - ██ │ + ██ │ PARALLEL
│ │ ██ │ ██ │ CONNECTION
│ │ + ██ │ - ██ │
└────────────┘ │ \│ │ \│
│ │
- ────────┴───────────┘

The compound configuration can be used with vented-box, passive-radiator, or closed-box systems. All of
CALSOD’s submodules for modelling these types of systems can be used to perform simulations of the low-
frequency sound pressure and impedance response of a compound system. The following rules can be used
to specify the Thiele-Small parameters of the compound woofer system based on those of a single driver.

1. The driver resonance frequency Fs for two drivers will be the same as that of a single driver.

2. The Qms, Qes, and Qts values will be the same as that for a single driver.

3. The value of Vas will be half that of a single driver, which leads to a halving of the required box
volume. Note that the value of α = Vas/Vb for the chosen low-frequency alignment will remain
unchanged from the single driver case.

392 – CALSOD 3.10 and CALSOD 1.40 User's Manual


4. When connected in parallel the combined impedance will be half that of a single driver, and when
connected in series the combined impedance will be twice that of a single driver. When setting up
a submodule to simulate the impedance, if you use a parallel connection then you will need to
specify the Re value to be half that for a single driver. If the series connection is used, then you
will need to specify the Re value to be twice that for a single driver.

5. The sensitivity will remain the same for the parallel connection compared to a single driver, and it
will be reduced by 6 dB if the series connection is used.

Based on the above, the box size for a compound woofer system should be calculated using the single driver
Qts and half the single driver Vas.

To illustrate the modelling of a compound woofer system, we have prepared a data file called
COMPND.C14 that includes simulated models for driver in a standard closed box as well as a compound
enclosure with two identical drivers connected electrically in parallel. The driver’s Thiele-Small parameters
are taken to be

Fs = 40.0 Hz Qts = 0.35


Re = 6.0 ohms Qes = 0.39
Vas = 93.0 litres Qms = 3.40
Sens = 95.0 dB Le = 5.00E-3 henries

and the resulting data file is listed below.

01> ! ---------------------------------------------------
02> ! DATA FILE FOR DESIGN OF COMPOUND LOUDSPEAKER SYSTEM
03> ! ---------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> !
09> DRIVER 1
10> Compound
11> SOUND PRESSURE
12> SEN 95.0 DB
13> SCB 40.0 0.35 3.0
14> IMPEDANCE
15> ICB 40.0 3.00 2.50E-3 3.40 0.39 3.0
16> !
17> DRIVER 2
18> Closed-Box
19> SOUND PRESSURE
20> SEN 95.0 DB
21> SCB 40.0 0.35 3.0
22> IMPEDANCE
23> ICB 40.0 6.00 5.00E-3 3.40 0.39 3.0
24> !
25> TARGET SPL
26> SEN 90.0 DB

The first DRIVER module is used to set up the sound pressure and impedance response functions for the
compound enclosure, while the second DRIVER module simulates the driver in a typical closed-box
enclosure. In order to correctly simulate the impedance of the compound enclosure, you will note that the
voice-coil resistance and inductance in line 15 are Re = 3.0 ohms and Le = 2.50E–3 H as a result of the
parallel connection that has been assumed. This is half the value of those same parameters in line 23 for a
single driver. The value of α is the same for both DRIVER modules, and it is up to you to remember that the
box volume Vb' = Vas'/α for the compound system is calculated using Vas' = Vas/2, where Vas is the single
driver equivalent compliance volume.

The plot in Figure 147 shows plots of the sound pressure response for the closed-box and compound
enclosures. As expected, the two response curves are identical. The plot in Figure 148 shows the impedance

CALSOD 3.10 and CALSOD 1.40 User's Manual – 393


response curves, where it is apparent that the compound enclosure has half the impedance of the single
driver mounted in a closed box.

Figure 147: Sound pressure response curves for two woofers connected in parallel and mounted in
a compound enclosure compared to a single driver in a closed-box enclosure.

Figure 148: Impedance response curves for two woofers connected in parallel and mounted in a
compound enclosure compared to a single driver in a closed-box enclosure.

When you are designing the crossover network for the compound system, you should use the same approach
that you would apply if only one driver had been present. The DRIVER module for the compound system
behaves just like any other DRIVER module, and can be connected anywhere in the circuit. Please keep in
mind the polarity of the driver that is actually radiating into the listening room to ensure that you are
calculating the correct response in your simulations.

Modelling a push/pull woofer configuration

A push/pull woofer system consists of two woofers mounted in an enclosure either back-to-back or front-to-
front and driven electrically out of phase with each other. The following diagram illustrates a possible
push/pull woofer system, and includes details of both series and parallel electrical connections that can be
used.

394 – CALSOD 3.10 and CALSOD 1.40 User's Manual


+ ──────┐ ┌─────┐
┌──────────┐ │ /│ │ │ /│
│ │ + ██ │ │ - ██ │ SERIES
│ /│ ██ │ │ ██ │ CONNECTION
│ ██ │ - ██ │ │ + ██ │
│ ██ │ │ \│ │ │ \│
│ ██ │ └───────┘ │
│ \│ - ────────────────────┘
│ │
│ │ + ────────┬───────────┐
│ │\ │ │
│ │ ██ │ /│ │ /│
│ │ ██ + ██ │ - ██ │ PARALLEL
│ │ ██ ██ │ ██ │ CONNECTION
│ │/ - ██ │ + ██ │
│ │ │ \│ │ \│
└──────────┘ │ │
- ────────┴───────────┘

The push/pull configuration can be used with vented, passive-radiator, or closed box systems. All of
CALSOD’s submodules for modelling these types of systems can be used to perform simulations of the low-
frequency response of a push/pull system. The following rules can be used to specify the Thiele-Small
parameters of the push/pull system based on those of a single driver.

1. The driver resonance frequency Fs for two drivers will be the same as that of a single driver.

2. The Qms, Qes, and Qts values will be the same as that for a single driver.

3. The value of Vas will be twice that of a single driver, which leads to a doubling of the required
box volume.

4. When connected in parallel the combined impedance will be half that of a single driver, and when
connected in series the combined impedance will be twice that of a single driver. When setting up
a submodule to simulate the impedance, if you use a parallel connection then you will need to
specify the Re value to be half that for a single driver. If the series connection is used, then you
will need to specify the Re value to be twice that for a single driver.

5. The sensitivity will increase 6 dB for the parallel connection compared to a single driver, and it
will remain unchanged for the series connection.

Based on the above, the box size for a push/pull woofer system should be calculated using the single driver
Qts and twice the single driver Vas.

To illustrate the modelling of a push/pull woofer system, we have prepared a number of example data files
that model the parallel and series electrical connection. These files are called PPWOOFP.C14 and
PPWOOFS.C14, and they include simulated models for a driver in a standard closed box as well as a
push/pull enclosure. The driver’s Thiele-Small parameters are the same as those for the driver used in the
compound system described previously.

The data file for the parallel connection, PPWOOFP.C14, is listed below.

01> ! --------------------------------------------------
02> ! PUSH/PULL LOUDSPEAKER SYSTEM (PARALLEL CONNECTION)
03> ! --------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 0.0 0.0 POSITIVE
07> SPK 2 0 1 0.0 0.0 0.0 POSITIVE
08> !
09> DRIVER 1
10> Push/Pull P

CALSOD 3.10 and CALSOD 1.40 User's Manual – 395


11> SOUND PRESSURE
12> SEN 96.0 DB
13> SCB 40.0 0.35 3.0
14> IMPEDANCE
15> ICB 40.0 3.00 2.50E-3 3.40 0.39 3.0
16> !
17> DRIVER 2
18> Closed-Box
19> SOUND PRESSURE
20> SEN 90.0 DB
21> SCB 40.0 0.35 3.0
22> IMPEDANCE
23> ICB 40.0 6.00 5.00E-3 3.40 0.39 3.0
24> !
25> TARGET SPL
26> SEN 90.0 DB

The first DRIVER module is used to set up the sound pressure and impedance response functions for the
push/pull enclosure, while the second DRIVER module simulates the same driver in a typical closed-box
enclosure. In order to correctly simulate the impedance of the push/pull enclosure, you will note that the
voice-coil resistance and inductance in line 15 are Re = 3.0 ohms and Le = 2.50E–3 H as a result of the
parallel connection that has been assumed. This is half the value of those same parameters in line 23 for a
single driver. Also, line 12 reflects the fact that the sensitivity of this push/pull driver is 6 dB greater than
that for a single driver. The value of α is the same for both DRIVER modules, and it is up to you to
remember that the box volume Vb' = Vas'/α for the push/pull system is calculated using Vas' = 2×Vas,
where Vas is the single driver equivalent compliance volume.

The plot in Figure 149 shows the sound pressure response for the closed-box and push/pull enclosures. As
expected, the push/pull system has the same response shape, but it is raised by 6 dB. The plot in Figure 150
shows the impedance response curves, where it is apparent that this particular push/pull enclosure has half
the impedance of the single driver mounted in a closed box.

Figure 149: Sound pressure response curves for two woofers connected in parallel and mounted in
a push/pull configuration compared to a single driver in a closed-box enclosure.

396 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 150: Impedance response curves for two woofers connected in parallel and mounted in a
push/pull configuration compared to a single driver in a closed-box enclosure.

When you are designing the crossover network for the compound system, you should use the same approach
that you would apply if only one driver had been present. The DRIVER module for the push/pull system
behaves just like any other DRIVER module, and can be connected anywhere in the circuit.

Figure 151 and Figure 152 show the sound pressure and impedance responses obtained for two drivers
connected in series in a push/pull configuration. This corresponds to the model defined in the
PPWOOFS.C14 data file. Also shown are the response functions corresponding to a single driver in a
closed-box enclosure. It is apparent that the sound pressure response of the drivers in the series push/pull
configuration is the same as that of a single driver. However, the impedance of the push/pull configuration is
twice that of a single driver.

Figure 151: Sound pressure response curves for two woofers connected in series and mounted in a
push/pull configuration compared to a single driver in a closed-box enclosure.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 397


Figure 152: Impedance response curves for two woofers connected in series and mounted in a
push/pull configuration compared to a single driver in a closed-box enclosure.

Modelling a standard dual woofer configuration

A standard dual woofer system consists of two woofers mounted in a shared enclosure and driven
electrically in phase with each other. The following diagram illustrates a possible dual woofer system, and
includes details of both series and parallel electrical connections.

+ ──────┐ ┌─────┐
┌──────────┐ │ /│ │ │ /│
│ │ + ██ │ │ + ██ │ SERIES
│ /│ ██ │ │ ██ │ CONNECTION
│ ██ │ - ██ │ │ - ██ │
│ ██ │ │ \│ │ │ \│
│ ██ │ └───────┘ │
│ \│ - ────────────────────┘
│ │
│ │ + ────────┬───────────┐
│ /│ │ │
│ ██ │ │ /│ │ /│
│ ██ │ + ██ │ + ██ │ PARALLEL
│ ██ │ ██ │ ██ │ CONNECTION
│ \│ - ██ │ - ██ │
│ │ │ \│ │ \│
└──────────┘ │ │
- ────────┴───────────┘

The standard dual woofer system can be used with vented, passive-radiator, or closed box systems. All of
CALSOD’s submodules for modelling these types of systems can be used to perform simulations of the low-
frequency response of a push/pull system. The following rules can be used to specify the Thiele-Small
parameters of the push/pull system based on those of a single driver.

1. The driver resonance frequency Fs for two drivers will be the same as that of a single driver.

2. The Qms, Qes, and Qts values will be the same as that for a single driver.

3. The value of Vas will be twice that of a single driver, which leads to a doubling of the required
box volume.

Based on the above, the box size for a dual woofer system should be calculated using the single driver Qts
and twice the single driver Vas.

Unlike the techniques for modelling compound or push/pull woofer systems, the standard dual woofer
system requires you to simply use submodules that are completely unmodified from the single driver case.

398 – CALSOD 3.10 and CALSOD 1.40 User's Manual


The way to do this is to use the same DRIVER module in two different SPK submodules. The data file
DUALP.C14 illustrates a loudspeaker driver connected in a parallel electrical connection in a dual woofer
configuration. A listing of this data file is provided below.

01> ! ----------------------------------------------------
02> ! DUAL WOOFER LOUDSPEAKER SYSTEM (PARALLEL CONNECTION)
03> ! ----------------------------------------------------
04> !
05> CIRCUIT
06> SPK 1 0 1 0.0 +0.25 0.0 POSITIVE
07> SPK 1 0 1 0.0 -0.25 0.0 POSITIVE
08> !
09> DRIVER 1
10> Closed-Box
11> SOUND PRESSURE
12> SEN 90.0 DB
13> SCB 40.0 0.35 3.0
14> IMPEDANCE
15> ICB 40.0 6.00 7.00E-3 0.7071 3.40 0.39 3.0
16> !
17> TARGET SPL
18> SEN 90.0 DB
19> XYZ 0.0 0.0 1.0

In this example, the same driver is used in two SPK submodules in lines 06 and 07, and the two speakers are
connected electrically in parallel. Except for the modelling of the voice-coil inductance behaviour, the
loudspeaker driver parameters and low-frequency alignment are the same as that used for the examples of
the compound and push/pull systems. Instead of a simple inductor, we have made use of CALSOD’s Kmp
and Xmp parameters to better simulate impedance behaviour that is more representative of a real driver.

Although each SPK submodule is treated as a completely independent loudspeaker, it is possible for the two
drivers to actually share one an enclosure rather than having two separate enclosures. If this is desired, then
the enclosure volume must be twice as large as what would be used for a single driver. This follows directly
from the rule which stated that the combined Vas value of drivers in a standard double configuration would
be twice as large as for a single driver. Because CALSOD makes use of non-dimensional parameters to
define the characteristics of the low-frequency alignment, the actual data used in the low-frequency model
does not need to change. This is one of the main benefits of a non-dimensional analysis, as it gives you a
characteristic alignment for a box whose volume can be determined from the driver Vas value and the α
tuning parameter.

The plot in Figure 153 shows the sound pressure response for the two drivers connected in parallel, together
with the response curve for a single driver. As expected, the combined system response has the same
response shape, but it is raised by 6 dB.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 399


Figure 153: Sound pressure response curve for a dual woofer system with the drivers mounted in a
closed-box enclosure and connected in parallel. Also shown is the response of a single driver.

The plot in Figure 154 shows the impedance response curves for the complete system with the drivers
connected in parallel, as well as the impedance curve for one driver alone. Here it is apparent that the
combined impedance response is half that of a single driver mounted in a closed box.

Figure 154: Impedance response curves for a dual woofer system with the drivers mounted in a
closed-box enclosure and connected in parallel. Also shown is the impedance response of a single
driver.

When designing a crossover filter to attenuate the output from the pair of woofers, you can proceed by
simply adding your filter network to the left of the terminals, as shown in the circuit diagrams presented
below. Although only a first-order filter network consisting of a single inductor is shown, you can of course
use higher-order filters as well as Zobel networks.

┌───┐ ┌───┐
+ ──┤ L ├─────┬─────────┐ + ──┤ L ├─────┐ ┌─────┐
└───┘ │ │ └───┘ │ /│ │ │ /│
│ /│ │ /│ + ██ │ │ + ██ │
+ ██ │ + ██ │ ██ │ │ ██ │
██ │ ██ │ - ██ │ │ - ██ │
- ██ │ - ██ │ │ \│ │ │ \│
│ \│ │ \│ │ │ │
│ │ └──────┘ │
- ────────────┴─────────┘ - ─────────────────────────┘

PARALLEL CONNECTION SERIES CONNECTION

400 – CALSOD 3.10 and CALSOD 1.40 User's Manual


For this particular configuration, the output from the two woofers will be the same throughout their entire
operating range. This makes it suitable for use in a D’Appolito M─T─M system, which has a more
controlled on-axis radiation pattern.

There is also another popular method of making use of the parallel connection to improve the low-frequency
response of the system. A typical enclosure layout of the two low-frequency drivers is shown in the diagram
below. The two drivers are connected in parallel, and there is a separate lowpass filter for each driver. One
of the filters is designed to provide significant attenuation above 500 Hz, while the other operates to provide
a standard crossover point for matching with the system’s tweeter. As a result, the low-frequency output is
significantly boosted by the in-phase operation of both woofers at low frequencies, while at high frequencies
only one of the woofers is active.

┌───────────┐
│ ┌─┤
│ │ ▌ + ────────┬─────────────┐
│ └─┤ │ │
│ │ ┌─┴─┐ ┌─┴─┐
│ /│ │L1 │ │L2 │
│ ██ │ └─┬─┘ └─┬─┘
│ W1 ██ │ │ │
│ ██ │ │ /│ │ /│
│ \│ + ██ │ + ██ │
│ │ W1 ██ │ W2 ██ │
│ /│ - ██ │ - ██ │
│ ██ │ │ \│ │ \│
│ W2 ██ │ │ │
│ ██ │ - ────────┴─────────────┘
│ \│
│ │
└───────────┘

To illustrate the modelling of the system described above, we have prepared a data file called DUALFP.C14
that simulates a dual woofer configuration with different filters applied to each driver. A listing of this file is
given below.

01> ! ----------------------------------------------------
02> ! DUAL WOOFER LOUDSPEAKER SYSTEM (PARALLEL CONNECTION)
03> ! ----------------------------------------------------
04> !
05> CIRCUIT
06> IND 0.50E-3 1 3 0.0 FIXED
07> CAP 5.00E-6 0 3 FIXED
08> IND 5.00E-3 1 2 0.0 FIXED
09> SPK 1 0 3 0.0 +0.25 0.0 POSITIVE
10> SPK 1 0 2 0.0 -0.25 0.0 POSITIVE
11> !
12> DRIVER 1
13> Closed-Box
14> SOUND PRESSURE
15> SEN 90.0 DB
16> SCB 40.0 0.35 3.0
17> BUT 7000 2 LOWPASS
18> IMPEDANCE
19> ICB 40.0 6.00 5.00E-3 0.7071 3.40 0.39 3.0
20> !
21> TARGET SPL
22> SEN 90.0 DB
23> XYZ 0.0 0.0 1.0

To make the simulation reasonably realistic, the DRIVER module defines a simple closed-box system whose
sound pressure model includes typical high-frequency rolloff behaviour, and the impedance model includes
the effects of voice-coil inductance. The actual filter network that is defined in this data file is shown below.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 401


1 ───────────────┬─────────────┐
│ │
┌─┴─┐ ┌─┴─┐
│L1 │ │L2 │
└─┬─┘ └─┬─┘
│ │ L1 = 0.50E-3 H
┌──────────3 2
│ │ │ C = 5.00E-6 F
│ │ /│ │ /│
┌┴┐ + ██ │ + ██ │ L2 = 5.00E-3 H
│C│ W1 ██ │ W2 ██ │
└┬┘ - ██ │ - ██ │
│ │ \│ │ \│
│ │ │
0 ────┴──────────┴─────────────┘

The plot in Figure 155 shows various sound pressure response curves for the dual woofer system. The solid
line corresponds to the total summed response of the two drivers. There is a significant boost in the output at
low frequencies around 150 Hz, while at frequencies above 500 Hz the response is relatively flat until the
highpass filter on the first woofer begins to take effect. The curve with the dashed line shows the filtered
response of the first woofer, which is seen to be very flat over its full operating range. The curve with the
dotted line shows the filtered output of the second woofer (the one with the first-order filter), which is
considerably attenuated at frequencies above 300 Hz. As a result, this driver makes less and less
contribution to the combined output with increasing frequency.

Figure 155: Dual woofer configuration with different filter networks connected to each driver:
summed sound pressure response and driver filtered response curves.

The plot in Figure 156 shows the input impedance of the complete system, as well as the closed-box driver
impedance. At low frequencies, the parallel connection of the two drivers results in an impedance that is
half that of a single driver. At frequencies between 500 Hz and 5000 Hz the impedance contributions form
the filter networks results in an input impedance that is very similar to that of a single driver, even though
the drivers are connected in parallel.

402 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Figure 156: Dual woofer configuration with different filter networks connected to each driver:
input impedance of system and closed-box impedance of a single driver.

The plot in Figure 157 shows the voltage responses of the filters at each of the driver terminals. The first-
order and second-order filter networks have –3 dB cutoffs at about 250 Hz and 5000 Hz. Also, it is apparent
that the first-order filter network has a small 2 dB peak in its response at about 140 Hz, and this further
boosts the summed response of the two drivers in this frequency region. The response peak results from the
interaction between the filter inductor and the closed-box driver’s impedance peak at resonance.

Figure 157: Dual woofer configuration with different filter networks connected to each driver:
filter voltage response functions at the terminals of each driver.

Modelling autotransformers

In some cases, the designer may wish to include an autotransformer in the crossover network for the purpose
of providing an improved impedance match between one section of a network and another. The network
yielded by this method may be less expensive and more easily built than the original network. The
autotransformers are assumed here to have a unity coupling, which in practice can be achieved within a few
percent, which is close enough to satisfy the bulk of applications in crossover network design.

Although CALSOD cannot presently model an autotransformer directly, it is possible to include an


autotransformer by means of a well known network transformation (see Network Analysis and Synthesis by
Louis Weinberg) which leads to a simple equivalent circuit. An autotransformer A may be represented by
means of a single tapped coil as presented below:

CALSOD 3.10 and CALSOD 1.40 User's Manual – 403


──────────┐

┌─ ┌─┴─┐
│ │ │
│ │ │N1
│ │ │
N─┤ │ A ├──────
│ │ │
│ │ │N2
│ │ │
└─ └─┬─┘


──────────┴────────

where N1 and N2 are the number of turns in the first and second windings, respectively. If we let the total
number of turns of the coil be N = N1 + N2 and let L be the inductance of a single turn, then the input
inductance is N²L. Hence the autotransformer may be represented by means of an ordinary transformer as
shown in the left portion of the diagram below, and an equivalent representation is given on the right in
terms of a T network of inductances.

M=N×N2×L
┌───┐ ┌───┐ ┌───┐
──────┐ ┌────── ──┤L_a├───┬───┤L_c├──
│ │ └───┘ │ └───┘
┌┴┐ ┌┴┐ ┌─┴─┐ L_a = N×(N - N2)×L
│ │ │ │ │ │
N²×L │ │ │ │N2²×L ≡ │L_b│ L_b = N×N2×L
│ │ │ │ │ │
└┬┘ └┬┘ └─┬─┘ L_c = N2×(N2 - N)×L
└─┬─┘ │
│ │
────────┴──────── ──────────┴──────────

Since N > N2, it is clear that inductor L_c is negative, and therefore the transformed network is not
physically realizable. CALSOD permits you to input a negative value for the inductance L_c, but when a
negative value is encountered the program makes sure that this particular inductor cannot be varied by the
optimizer, which requires that all components have positive values. In other words, when a negative inductor
is encountered in the data file, it is made FIXED by CALSOD, even though it may be specified as being
VARIABLE in the data file.

During the optimization it is possible to keep inductors L_a and L_b as variable, with L_c being fixed
automatically. However, after each optimization it will generally be necessary to recalculate the values of
the inductors in the T network so that the equivalent circuit is still valid. If we assume that L_a and L_b are
valid, then the corresponding value of L_c is recalculated using the following equations:

N
N2 = ─────────────
(1 + L_a/L_b)

L_c = N2×(N2 - N)×L

In general, the new value of L_c will be different from the value that was originally used. Hence it will be
necessary to reoptimize the network with this new value. Usually after two or three such iterations, the new
value of L_c will be the same as the assumed value, which means that a usable solution has been obtained.

However, if the recalculated value of L_c is smaller in magnitude than the initial value, then all you need do
is to add a new inductor L_s in series with L_c such that

L_s = [L_c]new - [L_c]old

and a solution is obtained after one optimization run.

404 – CALSOD 3.10 and CALSOD 1.40 User's Manual


If an inductor L_s is already in series with the negative inductor L_c, then the above procedure is simplified.
Once the optimization is finished, you can recalculate L_c, and the difference obtained between the old and
new values is subtracted from or added to the series inductor. As a result, a solution is obtained after only
one optimization, and the formula to be used is

[L_s]new = [L_s]old + [L_c]new - [L_c]old

In order to incorporate losses into the model of the autotransformer, it is possible to introduce series
resistors R_a and R_b into the arms containing inductors L_a and L_b. If the total series resistance of the
autotransformer is R then these resistors may be made proportional to the equivalent number of turns N_a
and N_b, and their values can be calculated as follows:

N_a = √[N×(N - N2)] R_a = N_a/N × R


N_b = √(N×N2) R_b = N_b/N × R

CALSOD 3.10 and CALSOD 1.40 User's Manual – 405


LIST OF SYMBOLS AND
USEFUL FORMULAS

Definitions of various symbols used throughout the CALSOD User’s Manual

Ceq capacitance used in an impedance equalization network (farads).

Fb resonance frequency of the port or vent in a vented-box enclosure (Hz). Also the resonance
frequency of the passive radiator when mounted in the system enclosure of a passive-radiator
system.

Fp resonance frequency of passive radiator (Hz). Fp is analogous to Fs. The value of Fp corresponds
to the case where the passive radiator diaphragm air-load mass has the value normally imposed
by the system enclosure. The free-air resonance frequency is generally a good first
approximation.

Fs resonance frequency of driver (Hz). The value of Fs corresponds to the case where the
diaphragm air-load mass has the value normally imposed by the system enclosure. The free-air
resonance frequency is generally a good first approximation.

h nondimensional system tuning ratio for vented-box loudspeaker systems, h = Fb/Fs.

j √(-1)

Leq inductance used in an impedance equalization network (henries)

Le inductance of the voice-coil of the driver (henries). This value can be estimated using the
following formula:

½
( │Z│² - Re² )
Le = ───────────────
2πF

where │Z│ is the magnitude of the voice-coil impedance at a frequency F, taken at a point on the
driver’s impedance curve that is well above the level of the voice-coil dc resistance Re.

Qes driver Q at Fs considering driver electrical resistance only. If Qts, Zmax and Re for the driver are
known then Qes may be calculated as follows:

Res = Zmax - Re
Rem = 1/(1/Res + 1/Re)
Qes = Qts×Re/Rem

Qmp passive-radiator Q at Fb resulting from suspension losses. To approximate the lossless case put
Qmp equal to a large number, say 1000.

Qms driver Q at Fs considering driver mechanical (non-electrical) losses only. If Qts, Zmax and Re
for the driver are known then Qms may be calculated as follows:

406 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Res = Zmax - Re
Rem = 1/(1/Res + 1/Re)
Qms = Qts×Res/Rem

QL enclosure Q at Fb resulting from leakage losses. A typical value for this parameter is QL = 7. In a
vented-box system QL is used to approximate all the leakage, absorption and port losses that are
present. In a passive-radiator system QL is used to model all the leakage and absorption losses
that are present.

Qts total driver Q at Fs resulting from all driver resistances. Qts may be calculated as follows:

Qts = 1/(1/Qes + 1/Qms)

Qvc nondimensional parameter for including the effects of the voice-coil inductance into the model of
the sound pressure response function. The value of Qvc may be calculated as follows:

Qvc = 2π×Fs×Le/Re

If the inductance behaviour is to be omitted then set Qvc = 0.

Rem electrical equivalent of the parallel combination of the mechanical resistance and voice-coil
resistance of a loudspeaker driver (ohms). If Res and Re are known then Rem may be calculated
as follows:

Rem = 1/(1/Res + 1/Re)

Req resistance used in an impedance equalization network (ohms).

Res electrical equivalent of the mechanical resistance of a loudspeaker driver (ohms). The value of
Res may be calculated as follows:

Res = Zmax - Re

Re dc resistance of the voice-coil of the driver (ohms).

Sd effective surface area of driver diaphragm.

Sn normalized frequency variable used in transfer functions, and defined as Sn = jF/Fo = jW/Wo.

Vap volume of air having same acoustic compliance as passive radiator suspension.

Vas volume of air having same acoustic compliance as driver suspension.

Vb net internal volume of enclosure.

Vd peak volume displacement of the driver, Vd = Xmax×Sd.

Xmax peak linear displacement of driver diaphragm.

Zmax maximum value of the magnitude of the impedance at resonance (ohms). Zmax defines the
maximum height of the impedance peak that occurs at Fo. If an impedance curve is not available
then Zmax can be estimated as follows:

Zmax = Re×(1 + Qms/Qes)

α nondimensional system compliance ratio, α = Vas/Vb. In order to model a loudspeaker driver in


free air set α = 0.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 407


δ nondimensional passive radiator compliance ratio, = Vap/Vb.

408 – CALSOD 3.10 and CALSOD 1.40 User's Manual


GLOSSARY

Descriptions of technical terms used in loudspeaker design

Active crossover network

An active crossover network uses active components such as operational amplifiers, although passive
components such as resistors and capacitors are often also present. It consists of low-level filter
sections, provision for gain control and equalization stages, and a power amplifier for each filter/driver
combination.

Active loudspeaker system

Active loudspeaker systems employ line-level filter sections (crossovers) and other signal processing
electronics that feed power amplifiers dedicated to driving loudspeaker components operating in
specific frequency ranges. In multiway loudspeaker systems this requires a separate power amplifier for
each individual loudspeaker driver.

Bandpass loudspeaker system

Bandpass loudspeaker systems consist of two boxes or cavities. The system is a modified vented-box or
passive-radiator enclosure of volume Vb2, in which an additional enclosure of volume Vb1 has been
placed over the rear of the drive unit so that sound is radiated only from the port or passive radiator. In
some variants of this design, the enclosure containing the driver also has a port or passive-radiator
providing acoustic output.

Closed-box loudspeaker system

Closed-box loudspeaker systems consist of an enclosure or box which is completely closed and airtight
except for a single aperture in which the loudspeaker driver is mounted. If the compliance of the air
volume inside the box is less than the compliance of the woofer suspension by a factor of three or more,
the closed-box loudspeaker is known as an air- or acoustic-suspension speaker.

Conjugate impedance network

This is a collection of network components that serves to equalize the input impedance of a
loudspeaker system so as to achieve a uniform resistive characteristic. This makes the loudspeaker
system an easier load for the power amplifier to drive.

Crossover network

A crossover network divides the frequency range into two or more parts using a combination of passive
or active filter networks. It then directs the appropriate frequency range to the driver most suitable for
its reproduction. In many cases it must also equalize the loudspeaker impedance and amplitude
response.

Curve-fit optimizer

The CALSOD curve-fit optimizer automatically varies parameters in MPE and IMP submodules in
order to achieve a high-quality curve-fit that accurately represents the driver being modelled.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 409


Curve-fitting

Curve-fitting consists of finding a set of composing transfer functions which approximate the measured
magnitude and phase of the impedance and sound pressure transfer functions of a given loudspeaker
driver. It is a trial-and-error process of combining simple transfer function building blocks to create
transfer function models of the loudspeaker’s behaviour. At each stage of the approximation the model
is compared with the raw data points, and various parameters are added or modified in order to improve
the curve-fit.

Diffraction

The frequency-dependent bending of sound waves as they flow around or through an obstacle.
Different shapes of obstacle will produce different diffraction effects, which manifest themselves as
peaks and dips in the sound pressure response.

Directivity

The frequency-dependent directionality of a loudspeaker driver or system.

Driver

This is a commonly used alternative term for a loudspeaker driver. In the context of the CALSOD
program and its data files, the term driver is used to denote the transfer function model of the
impedance and sound pressure response of a particular individual loudspeaker driver. The term speaker
is then used in the CIRCUIT module to denote the application of the driver transfer function model.

Impedance equalization network

The impedance response of most loudspeaker drivers possesses a peak due to the low-frequency
resonance of the driver, and it also tends to rise at high-frequencies due to the inductance of the voice-
coil. An impedance equalization network is a circuit that is designed to flatten the impedance response
of the driver, making it appear more like a constant resistance.

Impedance response

The impedance response of a loudspeaker driver or system corresponds to the variation of the
magnitude and phase of the complex impedance as a function of frequency.

Loudspeaker system

A loudspeaker system consists of one or more individual loudspeaker drivers and their associated
crossover networks. The term is also used in relation to the low-frequency alignment of the woofer by
combining it with terms such as vented-box or closed-box. If the system is comprised of more than on
driver it is often described as being a multiway loudspeaker system.

Minimum-phase function

In a minimum-phase function the phase at zero frequency minus the phase at infinite frequency has the
minimum value that can possibly be associated with the specified magnitude function. The phase of any
non-minimum-phase function is equal to the sum of the phase of the corresponding minimum-phase
function and the phase of an allpass function. If a function is minimum-phase then its phase response
may be determined from the magnitude function, and vice versa.

410 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Moving-coil loudspeaker

This loudspeaker type consists of a diaphragm attached to a voice-coil assembly that lies within the
magnetic field of the magnet assembly, and a spider or suspension supplying stiffness to the system.
The voice-coil will move when a current is passed through its windings, thus causing the diaphragm to
vibrate.

Optimization

When designing a filter network to achieve a specified performance criterion it is often necessary to
vary the component values in order to achieve the desired result. It is possible to apply mathematical
procedures to automatically vary the component values. Such a process is called numerical
optimization. CALSOD’s can also optimize the MPE and IMP submodules when curve-fitting a
driver’s sound pressure and impedance response characteristics.

Passive crossover network

This is the most common type of crossover network used in loudspeaker system design. The network is
made up of passive components such as resistors, capacitors and inductors, hence its name. The
network is connected between the power amplifier and the drivers of the loudspeaker system.

Passive-radiator loudspeaker system

The passive-radiator loudspeaker system is a direct-radiator system using an enclosure which has two
openings. One opening takes the driver, and the other contains a suspended diaphragm which may
resemble a driver but which has no voice coil or magnet assembly. The second diaphragm is commonly
known as a drone cone, passive radiator, or auxiliary bass radiator. The operation of the passive-
radiator system is very similar to that of a vented-box system, the main difference being the presence of
a compliant suspension in the passive radiator which is not present with a vent. At low frequencies the
passive radiator moves in response to pressure fluctuations inside the enclosure, and contributes to the
acoustic output of the system.

Room gain

Boosting of the low-frequency response of a loudspeaker system caused by the close proximity of room
boundaries. The magnitude of this effect is dependent on the placement of the loudspeaker relative to
room boundaries such as the walls, floor and ceiling.

Sensitivity

A measure of the amount of input signal a loudspeaker requires in order to produce a standard output
level. A loudspeaker’s sensitivity is usually defined as the SPL produced at a distance of 1 metre at
1 watt of signal input. Because the loudspeaker presents a frequency dependent impedance, the power
level is usually calculated on the basis of the voltage applied to the loudspeaker being referred to an
8 ohm load resistor (P = V²/8).

Speaker

This is a commonly used short-form of the term loudspeaker driver. In the context of the CALSOD
program and its data files, the term speaker is used to denote the application of the particular driver
transfer function model in the CIRCUIT module.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 411


Sound pressure response

The sound pressure response is the magnitude and phase of the sound pressure produced by the
loudspeaker driver or system.

System transfer functions

The system transfer functions are the sound pressure and impedance responses that characterize the
behaviour of a loudspeaker system when subjected to a drive voltage. The term is synonymous with
system responses, and describes the relationships between what is fed into a device and what comes
out.

Target impedance function

When optimizing network components to achieve a desired impedance characteristic, usually a constant
resistance, it is necessary to specify an impedance function for the optimizer to try to achieve. This is
known as the target impedance function.

Target sound pressure function

When designing crossover filters to suit individual drive units it is necessary to consider the overall
electroacoustic response of the network and drive units together. When analyzing individual drive
units, the idea is to make this conform as closely as possible to some known filter function that gives
adequate attenuation in the stopband together with a smooth transition through the crossover region.
The response/frequency relation to be aimed at is referred to as the target function. This approach can
be extended to the summed response of multiple drivers.

Transfer function approximations

In order to analyze individual loudspeaker drivers and combine them into a multiway loudspeaker
system it is necessary to be able to create models of the behaviour of the sound pressure and impedance
response of the individual drivers. These models simulate the magnitude and phase response, and are
known as transfer function approximations of the loudspeaker drivers.

Vented-box loudspeaker system

The vented-box loudspeaker system is a direct-radiator system using an enclosure with a low-frequency
driver and an aperture called a vent or port. The vent allows air to move in and out of the enclosure in
response to the pressure variations within the enclosure. The vent is usually formed as a tunnel or duct
which extends inwards from the aperture. At low frequencies the motion of the air in the vent
contributes substantially to the system output. A vented-box system may also be called a bass-reflex or
phase-inverter loudspeaker system.

Weighting function

The weighting function is used to adjust the relative importance of particular frequency points during
the optimization procedure. Normally the weighting applied at each frequency point is unity. To
increase the significance of the contribution of a frequency point to the overall error function it is
necessary to give the point a weighting greater than unity, and vice versa. In this way it is possible to
trade off response irregularities in one frequency band for those in another.

412 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Zobel network

This is the name that is often given to the circuit consisting of a resistor and capacitor that is commonly
connected across the terminals of a loudspeaker driver. Its purpose is to equalize the impedance rise at
high-frequencies that is caused by the voice-coil inductance, resulting in an impedance that closely
approaches that of a constant resistance.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 413


BIBLIOGRAPHY

List of references for further reading

Of all the technical publications on loudspeaker system design that are presented here, the books are
particularly useful since they present an assorted wealth of collected information. Also, many of the journal
articles published by the Audio Engineering Society (AES) that are referenced in this bibliography are
contained within AES publications [1]–[4]. For further details on available AES publications write to:
Audio Engineering Society Inc., 60 East 42nd Street, Room 2520, New York, NY 10165, USA.

[1] R.E. Cooke (Editor), “Loudspeakers Volume 1 – An anthology of articles on loudspeakers from the
pages of the Journal of the Audio Engineering Society, Vol. 1–Vol. 25 (1953–1977),” Second
Edition, 1980.

[2] R.E. Cooke (Editor), “Loudspeakers Volume 2 – An anthology of articles on loudspeakers from the
pages of the Journal of the Audio Engineering Society, Vol. 26–Vol. 31 (1978–1983),” First
Edition, 1984.

[3] M.R. Gander (Editor), “Loudspeakers Volume 3: Systems and Crossover Networks”. An anthology
of articles on loudspeakers from the pages of the Journal of the Audio Engineering Society, 1984–
1991.

[4] M.R. Gander (Editor), “Loudspeakers Volume 4: Transducers, Measurement and Evaluation.” An
anthology of articles on loudspeakers from the pages of the Journal of the Audio Engineering
Society, 1984–1991.

[5] K. Singhal and J. Vlach, “Computer Methods for Circuit Analysis and Design” (Van Nostrand
Reinhold, New York, 1983, ISBN: 0-442-28108-0).

[6] R.M. Bullock III and R. White, “Bullock on Boxes,” (Audio Amateur Press, 1991, ISBN: 0-9624-
1915-X).

[7] H.F. Olson, “Acoustical Engineering” (Republished by Professional Audio Journals, PO Box 31718,
Philadelphia, PA 19147-7718, USA, 1991, Library of Congress Catalog Card No. 91-075297). See
Section 1.11 Refraction and Diffraction and Section 6.8 Loudspeaker Baffles.

[8] J.E. Benson, “Theory and Design of Loudspeaker Enclosures” (Synergetic Audio Concepts, 1993,
244 pp., ISBN 0-9638-9290-8). (For further details write to: Old Colony Sound Lab, Post Office
Box 876, Peterborough, NH 03458, USA.)

[9] D. Lancaster, “Active Filter Cookbook,” 2nd Edition (Synergetics Press, 1995, ISBN: 1-882193-31-
8).

[10] V. Dickason, “The Loudspeaker Design Cookbook,” 5th edition (Audio Amateur Press,
Peterborough, New Hampshire, 1995, ISBN: 1-882580-10-9). (This book deals with the design of
closed-box, vented-box, passive-radiator, bandpass, and transmission-line systems, as well as
describing crossover network design techniques and practical construction tips. For further details
write to: Old Colony Sound Lab, Post Office Box 876, Peterborough, NH 03458, USA.)

[11] J.C. Whitaker, Editor in Chief, “The Electronics Handbook” (CRC Press in cooperation with IEEE
Press, 1996, ISBN: 0-8493-8345-5).

414 – CALSOD 3.10 and CALSOD 1.40 User's Manual


[12] J.M. Eargle, “Loudspeaker Handbook” (John Wiley and Sons, 1997, ISBN: 0-412-09721-4).

[13] D.B. Weems, “Designing, Building, and Testing Your Own Speaker System With Projects,” 4th
Edition (McGraw-Hill, 1997, ISBN: 0-07-069428-1).

[14] J. Borwick (Editor), “Loudspeaker and Headphone Handbook” (1998, ISBN: 0-2405-1371-1).

[15] J. D’Appolito, “Testing Loudspeakers,” First Edition (Audio Amateur Press, 1998, ISBN: 1-
882580-17-6).

[16] J.L. Murphy, “Introduction to Loudspeaker Design,” First Edition (True Audio, 1998, ISBN: 0-
9663773-2-X).

[17] M. Colloms, “High Performance Loudspeakers,” 5th Edition (John Wiley & Sons, Reprinted with
corrections February 1999, ISBN: 0-471-97089-1).

[18] G.G. Muller, R. Black and T.E. Davis, “The diffraction produced by cylindrical and cubical
obstacles and by circular and square plates,” Journal of the Acoustical Society of America, July
1938, Vol. 10, pp. 6–13.

[19] “Loudspeaker Acoustics – Horn Design,” Electronics, June 1941, pp. 58.

[20] D.J. Plach, “Design Factors in Horn-Type Speakers,” J. Audio Eng. Soc., Vol. 1, pp. 276–281, 1953
October.

[21] S.J. White, “High-Efficiency Three-Way Speaker System,” J. Audio Eng. Soc., July 1955, Vol. 3,
No. 3, pp. 155–159.

[22] R.V. Waterhouse, “Interference patterns in reverberant sound fields,” J. Acoust. Soc. Am., Vol. 27,
p. 247, 1955.

[23] R.V. Waterhouse, “Output of a sound source in a reverberation chamber and other reflecting
environments,” J. Acoust. Soc. Am., Vol. 30, p. 4, 1958.

[24] J.B. Keller, “Geometrical theory of diffraction,” Journal of the Optical Society of America, Vol. 52,
No. 2, February 1962, pp. 116–130.

[25] R.V. Waterhouse and R.V. Cook, “Interference patterns in reverberant sound fields II,” J. Acoust.
Soc. Am., Vol. 37, p. 424, 1965.

[26] A.R. Bailey, “A Non-resonant Loudspeaker Enclosure,” Wireless World, October 1965, pp. 483–
486.

[27] V. Brociner, “Power Bandwidth, Frequency Response, and Music Spectra,” J. Audio Eng. Soc., Vol.
13, No. 4, October 1965, pp. 319–322.

[28] J.R. Ogilvie and A.R. Bailey, “Non-Resonant Loudspeaker Enclosure,” Letters to the editor,
Wireless World, November 1965, pp. 553–554.

[29] E.A. Harman, D.A. Barlow, and A.R. Bailey, “Loudspeaker Enclosures,” Letters to the editor,
Wireless World, December 1965, p. 614–615.

[30] J.K. Hilliard, “Development of Horn-Type Moving Coil Driver Unit,” J. Audio Eng. Soc., Vol. 14,
No. 4, 1966, p. 252.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 415


[31] J.E. Volkmann, “360 degree Conical Wavefront Loudspeaker for the New York World’s Fair,” A.R.
Morgan, and H.F. Olson, J. Audio Eng. Soc., Vol. 16, No. 2, 1968, p. 130.

[32] J.E. Volkmann, “One Kilowatt Cylindrical Wavefront Loudspeaker for the New York World’s
Fair,” J. Audio Eng. Soc., Vol. 16, No. 2, 1968, p. 136.

[33] H.F. Olson, “Direct radiator loudspeaker enclosures,” J. Audio Eng. Soc., January 1969, Vol. 17,
No. 1, pp. 22–29. (Shows diffraction effects of 12 different enclosure shapes.)

[34] Wright, Articles on TL speaker design, Hi-Fi News and Record Review, July 1970 and August
1970.

[35] J.R. Ashley and L.M. Henne, “Operational Amplifier Implementation of Ideal Electronic Crossover
Networks,” J. Audio Eng. Soc., Vol. 19, pp. 7–11 (1971 January).

[36] R.H. Small, “Constant-Voltage Crossover Network Design,” Proc. I.R.E.E. Australia, Vol. 31, pp.
66–73 (1970 March); also J. Audio Eng. Soc., Vol. 19, pp. 12–19 (1971 January).

[37] A.N. Thiele, “Loudspeakers in Vented Boxes: Part I,” J. Audio Eng. Soc., Vol. 19, pp. 382 ff. (1971
May). Also Proc. of the IRE Australia, pp. 487–501 (1961 August).

[38] A.N. Thiele, “Loudspeakers in Vented Boxes: Part II,” J. Audio Eng. Soc., Vol. 19, pp. 471 ff.
(1971 June).

[39] J.R. Ashley and A.L. Kaminsky, “Active and Passive Filters as Loudspeaker Crossover Networks,”
J. Audio Eng. Soc., Vol. 19, pp. 494–501 (1971 June).

[40] A.P. Smith, “Electronic Crossover Networks and Their Contribution to Improved Loudspeaker
Transient Response,” J. Audio Eng. Soc., Vol. 19, pp. 674–679 (1971 September).

[41] J. Merhaut, “Horn-Loaded Electrostatic Loudspeaker,” J. Audio Eng. Soc., Vol. 19, No. 10, 1971, p.
840.

[42] A.R. Bailey, “The Transmission-line Loudspeaker Enclosure,” Wireless World, May 1972, pp. 215–
217.

[43] T.S. Paige and M.A.K. Hamid, “Horn-Type Electrothermal Loudspeakers,” IEEE Trans. on Audio
and Electroacoustics, Vol. AU-20, No. 3, Aug 1972, pp. 218–222.

[44] R.H. Small, “Closed-Box Loudspeaker Systems Part I: Analysis,” J. Audio Eng. Soc., Vol. 20, pp.
798–808 (1972 December).

[45] D.B. Keele, Jr., “Sensitivity of Thiele’s Vented Loudspeaker Enclosure Alignments to Parameter
Variations,” J. Audio Eng. Soc., Vol. 21, pp. 246–255 (1973 May).

[46] R.H. Small, “Vented-Box Loudspeaker Systems Part I: Small-Signal Analysis,” J. Audio Eng. Soc.,
Vol. 21, pp. 363–372 (1973 June).

[47] R.H. Small, “Vented-Box Loudspeaker Systems Part II: Large-Signal Analysis,” J. Audio Eng. Soc.,
Vol. 21, pp. 438–444 (1973 July/August).

[48] R.J. Newman, “A Loudspeaker System Design Utilizing a Sixth-Order Butterworth Response
Characteristic,” J. Audio Eng. Society, Vol. 21, No. 6, July/August 1973, pp. 450–456.

416 – CALSOD 3.10 and CALSOD 1.40 User's Manual


[49] R.H. Small, “Vented-Box Loudspeaker Systems Part III: Synthesis,” J. Audio Eng. Soc., Vol. 21,
pp. 549–554 (1973 September).

[50] R.H. Small, “Vented-Box Loudspeaker Systems Part IV: Appendices,” J. Audio Eng. Soc., Vol. 21,
pp. 635–639 (1973 October).

[51] A.R. Bailey, “Non-Resonant Loudspeaker Enclosure Design, High Fidelity Designs,” Wireless
World, 1974, pp. 87–90.

[52] J. Dinsdale, “Horn Loudspeaker Design,” Wireless World, March 1974, pp. 19–24. Note: In his
paper, Parow mentions there are errors in the tables of tractrix horn lengths.

[53] J. Dinsdale, “Horn Loudspeaker Design – Part 2,” Wireless World, May 1974, pp. 133–138.

[54] J. Dinsdale, “Horn Loudspeaker Design – Part 3,” Wireless World, June 1974, pp. 186–190.

[55] T. Hevreng and J. Dinsdale’s reply, “Horn Loudspeaker Design,” Letters to the Editor, Wireless
World, June 1974, pp. 180.

[56] R.F. Allison, “The Influence of Room Boundaries on Loudspeaker Power Output,” J. Audio Eng.
Soc., Vol. 22, pp. 314–320 (1974 June).

[57] R.H. Small, “Passive-Radiator Loudspeaker Systems Part I: Analysis,” J. Audio Eng. Soc., Vol. 22,
pp. 592–601 (1974 October).

[58] R.H. Small, “Passive-Radiator Loudspeaker Systems Part II: Synthesis,” J. Audio Eng. Soc., Vol.
22, pp. 683–689 (1974 November).

[59] D.B. Keele, Jr., “A New Set of Sixth-Order Vented-Box Loudspeaker System Alignments,” J. Audio
Eng. Society, Vol. 23, No. 5, June 1975, pp. 354–360.

[60] A.N. Thiele, “Optimum Passive Loudspeaker Dividing Networks,” Proc. I.R.E.E. Australia, Vol. 36,
pp. 220–224 (1975 July).

[61] J.E. Benson, “An Introduction to the Design of Filtered Loudspeaker Systems,” J. Audio Eng. Soc.,
Vol. 23, pp. 536–545 (1975 September).

[62] J.M. Lovda and S. Muchow, “Bi-Amplification – Power vs. Program Material vs. Crossover
Frequency,” Audio, September 1975, pp. 20–28.

[63] J.K. Hilliard, “Historical review of horns used for audience-type sound reproduction,” J. Acoust.
Soc. Am., Vol. 59, No. 1, January 1976, pp. 1–8.

[64] S.H. Linkwitz, “Active Crossover Networks for Noncoincident Drivers,” J. Audio Eng. Soc., Vol.
24, pp. 2–8 (1976 January/February).

[65] L.J.S. Bradbury, “The use of fibrous materials in loudspeaker enclosures,” J. Audio Eng. Soc., Vol.
24, No. 3, March 1976, p. 162. Comments J. Audio Eng. Soc., Vol. 25, No. 3, March 1977, p. 121.

[66] D.B. Keele, Jr., “An efficiency constant comparison between low-frequency horns and direct-
radiators,” AES Preprint 1127, 54th Convention, May 4–7 1976.

[67] A.N. Thiele, “Air-Cored Inductors for Audio,” J. Audio Eng. Soc., Vol. 24, pp. 374–378 (1976
June).

CALSOD 3.10 and CALSOD 1.40 User's Manual – 417


[68] A.N. Thiele, “Air-Cored Inductors for Audio – A Postscript,” J. Audio Eng. Soc., Vol. 24, pp. 830–
832 (1976 December).

[69] A.G. Webster, “Acoustical Impedance, and the Theory of Horns and of the Phonograph,” J. Audio
Eng. Soc., January/February 1977, Vol. 25, No. 1/2, pp. 24–28. (Reprint of 1919 article.)

[70] E. Baekgaard, “A Novel Approach to Linear Phase Loudspeakers Using Passive Crossover
Networks,” J. Audio Eng. Soc., Vol. 25, pp. 284–294 (1977 May). See also W.M. Leach and W.J.J.
Hoge, “Comments on A Novel Approach to Linear Phase Loudspeakers Using Passive Crossover
Networks,” J. Audio Eng. Soc., Vol. 26, pp. 650–654 (1978 September)

[71] C.R. Hanna and J. Slepian, “The Function and Design of Horns For Loudspeakers,” J. Audio Eng.
Soc., September 1977, Vol. 25, No. 9, pp. 573–585. (Reprint of 1924 article.)

[72] E.J. Volker, “Listening conditions in an almost direct sound field,” AES Preprint 1314, 59th
Convention, 1978.

[73] E.C. Wente and A.L. Thuras, “A High-Efficiency Receiver for a Horn-Type Loudspeaker of Large
Power Capacity,” J. Audio Eng. Soc., March 1978, Vol. 26, No. 3, p. 139. (Reprint of 1928 article.)

[74] S.H. Linkwitz, “Passive Crossover Networks for Noncoincident Drivers,” J. Audio Eng. Soc., Vol.
26, pp. 149–150 (1978 March).

[75] “Discussion: The Function and Design of Horns For Loudspeakers,” J. Audio Eng. Soc., March
1978, Vol. 26, No. 3, pp. 131–138. (Reprint of 1924 article.)

[76] J. Blauert and P. Laws, “Group Delay Distortions in Electroacoustical Systems,” Journal of the
Acoustical Society of America, Volume 63, Number 5, pp. 1478–1483 (May 1978).

[77] S. Linkwitz, “Loudspeaker System Design – Part 2,” Wireless World, June 1978, p. 67. Reprinted in
Speaker Builder, Issue 3, 1980.

[78] S.J. Linkwitz, “Loudspeaker System Design,” Wireless World, Vol 84, May 1978 p.52, June 1978
p. 67, and December 1978 pp. 79–83.

[79] J.E. Benson, “Synthesis of High-Pass Filtered Loudspeaker Systems: Part 1 – Isolated Filters
Driving Second-Order (Closed-Box) Systems.” J. Audio Eng. Society, Vol. 27, No. 7/8, July/August
1979, pp. 548–561.

[80] J.E. Benson, “Synthesis of High-Pass Filtered Loudspeaker Systems: Part 1a – A Supplementary
Note on QB2, SC3, and SC4 Alignments,” J. Audio Eng. Society, Vol. 27, No. 9, September 1979,
pp. 667–672.

[81] C.A. Henricksen and M.S. Ureda, “The Manta-Ray Horns,” J. Audio Eng. Soc., Vol. 26, No. 9,
1978, p. 629.

[82] J.E. Benson, “Synthesis of High-Pass Filtered Loudspeaker Systems: Part 2 – Isolated Filters
Driving Fourth-Order (Reflex) Systems.” J. Audio Eng. Society, Vol. 27, No. 10, October 1979, pp.
769–779.

[83] J.K. Hilliard, “A Study of Theatre Loud Speakers and the Resultant Development of the Shearer
Two-Way Horn System,” J. Audio Eng. Soc., November. 1978, Vol. 26, No. 11, pp. 843–850.
(Reprint of 1936 article)

418 – CALSOD 3.10 and CALSOD 1.40 User's Manual


[84] G.J. Adams, “Computer-Aided Loudspeaker System Design Part 1: Synthesis Using Optimization
Techniques,” J. Audio Eng. Soc., Vol. 26, pp. 826–837 (1978 November).

[85] G.J. Adams, “Computer-Aided Loudspeaker System Design Part 2: Determination of System Power
Ratings and Some Design Examples Using Optimization Techniques,” J. Audio Eng. Soc., Vol. 26,
pp. 922–929 (1978 December).

[86] S. Linkwitz, “Loudspeaker System Design,” Wireless World, December 1978, pp. 79–83. Reprinted
in Speaker Builder, Issue 3, 1980.

[87] P.W. Klipsch, “A Low-Frequency Horn of Small Dimensions,” J. Audio Eng. Soc., March 1979,
Vol. 27, No. 3, p.141–148. (Reprint of article from J. Acoust. Soc. Am, Vol. 13, pp. 137–144, 1941
October.)

[88] L.R. Fincham, “A Bandpass Loudspeaker Enclosure,” Preprint 1512, AES 63rd Convention, Los
Angeles, May 15–18 1979.

[89] J.N. White, “Loudspeaker Athletics,” J. Audio Eng. Soc., Vol. 27, pp. 891–898 (1979 November).

[90] W. Marshall Leach, Jr., “On the Specification of Moving-Coil Drivers for Low-Frequency Horn-
Loaded Loudspeakers,” J. Audio Eng. Soc., 1979 December, Vol. 27, No. 12, pp. 950–959.

[91] Robert C. Kral, “Diffraction – the true story,” Speaker Builder, 1/80, pp. 28–33.

[92] J.R. Ashley “Group and phase delay requirements for loudspeaker systems,” ICASSP (International
Conference on Acoustics, Speech, and Signal Processing), 1980 April, pp. 1030–1033.

[93] W.M. Leach, Jr., “The spatial alignment of loudspeaker drivers on a baffle – effects on system
amplitude and phase responses,” ICASSP 1980 April, pp. 494–497.

[94] D. Pries, “Measures and perception of phase distortion in electroacosutic systems,” ICASSP 1980
April, pp. 490–493.

[95] J.R. Bost, “A New Piezoelectric Driver Enhances Horn Performance,” J. Audio Eng. Soc., 1980
April, Vol. 28, No. 4, pp. 244–249.

[96] S. Linkwitz, “Loudspeaker System Design,” Wireless World, May 1978, p. 52. Reprinted in Speaker
Builder, Issue 2, 1980.

[97] W.M. Leach, Jr., “Loudspeaker Driver Phase Response: The Neglected Factor in Crossover
Network Design,” J. Audio Eng. Soc., Vol. 28, pp. 410–421 (1980 June).

[98] H. Suzuki, S. Morita and T. Shindo, “On the Perception of Phase Distortion,” J. Audio Eng. Soc.,
Vol. 28, No. 9, pp. 570–574 (September 1980).

[99] P. Garde, “All-Pass Crossover Systems,” J. Audio Eng. Soc., Vol. 28, pp. 575–584 (1980
September).

[100] D.G. Fink, “Time Offset and Crossover Design,” J. Audio Eng. Soc., Vol. 28, pp. 601–611 (1980
September).

[101] D.R. von Recklinghausen, “Dynamic Equalization for Loudspeakers,” J. Audio Eng. Society, Vol.
28, No. 11, November 1980, pp. 770–775.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 419


[102] M.R. Gander, “Moving-Coil Loudspeaker Topology as an Indicator of Linear Excursion
Capability,” J. Audio Eng. Soc., Vol. 29, pp. 10–26 (1981 January/February).

[103] R.W. Guelke and A.E. Bunn, “Transmission Line Theory Applied to Sound Wave Propagation in
Tubes With Compliant Walls,” Acustica, Vol. 48, 1981, pp. 101–106.

[104] R. Lee, “Is Linear Phase Worthwhile?,” Preprint 1732, AES 68th Convention, Hamburg, March 17–
20, 1981.

[105] W.M. Leach, Jr., “Active Equalization of Closed-Box Loudspeaker Systems,” J. Audio Eng.
Society, Vol. 29, No. 6, June 1981, pp. 405–407.

[106] G. Margolis and R.H. Small, “Personal Calculator Programs For Approximate Vented-Box and
Closed-Box Loudspeaker System Design,” J. Audio Eng. Society, Vol. 29, No. 6, June 1981, pp.
421–441.

[107] T. Salava, “Measurement of Input Impedance of Loudspeaker Horns,” J. Audio Eng. Soc., Vol. 29,
No.6, 1981, p. 416.

[108] K.E. Stahl, “Synthesis of Loudspeaker Mechanical Parameters by Electrical Means: A New Method
for Controlling Low-Frequency Loudspeaker Behaviour,” J. Audio Eng. Society, Vol. 29, No. 9,
September 1981, pp. 587–596.

[109] P. Gonda, “An Improved Second-order Butterworth Loudspeaker Dividing Network: The Offset
B2,” J. of Electrical and Electronics Eng., IE Australia, & IREE Australia, Vol. 1, No. 3, pp. 224–
231 (1981 September).

[110] G. Galo, “Transmission Line loudspeakers,” 1, 2/82, Speaker Builder.

[111] J. Dinsdale, “Horn Loudspeaker Design,” Letters to the Editor, Wireless World, May 1982, pp. 60.

[112] R.M. Bullock III, “Loudspeaker-Crossover Systems: An Optimal Crossover Choice,” J. Audio Eng.
Soc., Vol. 30, pp. 486–495 (1982 July/August).

[113] G.J. Adams and S.P. Roe, “Computer-Aided Design of Loudspeaker Crossover Networks,” J. Audio
Eng. Soc., Vol. 30, pp. 496–503 (1982 July/August)

[114] R.A.R. Bywater and H.J. Weibell, “Alignment of Filter-Assisted Vented-Box Loudspeaker Systems
with Enclosure Losses,” J. Audio Eng. Society, Vol. 30, No. 5, May 1982, pp. 306–317.
Corrections: J. Audio Eng. Society, Vol. 30, No. 9, September 1982, p. 621.

[115] S.P. Lipshitz, M. Pocock, and J. Vanderkooy, “On the Audibility of Midrange Phase Distortion in
Audio Systems,” J. Audio Eng. Soc., Vol. 30, pp. 580–595 (1982 September).

[116] D.B. Keele, Jr., “Direct Low-Frequency Driver Synthesis from System Specifications,” J. Audio
Eng. Soc., Vol. 30, pp. 800–814 (1982 November). See also T.L. Clarke, “Comments on Direct
Low-Frequency Driver Synthesis from System Specifications,” J. Audio Eng. Soc., Vol. 32, pp. 543–
544 (1984 July/August).

[117] N. Kyounu, S. Sakai, S. Morita, T. Yamabuchi, and Y. Kagawa, “Acoustic Radiation of a Horn
Loudspeaker by the Finite Element Method – Acoustic Characteristics of a Horn Loudspeaker with
an Elastic Diaphragm,” J. Audio Eng. Soc., Vol. 30, No. 12, 1982 December, pp. 896–905.

[118] V. Staggs, “Transient-Response Equalization of Sealed-Box Loudspeakers,” J. Audio Eng. Society,


Vol. 30, No. 12, December 1982, pp. 906–911.

420 – CALSOD 3.10 and CALSOD 1.40 User's Manual


[119] A. Orlowski, “A new look at horn speakers,” Hi-Fi News & Record Review, January 1983, pp. 39–
43.

[120] T. Atwell, “The Missing Octaves,” Hi-Fi News & Record Review, February 1983, pp. 31–33.

[121] R.A. Greiner and M. Schoessow, “Electronic Equalization of Closed-Box Loudspeakers,” J. Audio
Eng. Society, Vol. 31, No. 3, March 1983, pp. 125–134. Comments on this paper: J. Audio Eng.
Society, Vol. 31, No. 11, November 1983, p. 862.

[122] C.P. Janse and A.J.M. Kaizer, “Time-Frequency Distributions of Loudspeakers: The Application of
the Wigner Distribution,” J. Audio Eng. Society, Vol. 31, No. 4, April 1983, p. 198.

[123] G. Penkow, “Power and Real Signals in Audio Systems,” J. Audio Eng. Society, Vol. 31, No. 6,
June 1983, pp. 423–429.

[124] R.M. Bullock III, “Satisfying Loudspeaker Crossover Restraints With Conventional Networks – Old
and New Designs,” J. Audio Eng. Soc., Vol. 31, pp. 489–499, (1983 July/August).

[125] D.B. Keele, Jr., “A loudspeaker horn that covers a flat rectangular area from an oblique angle,” AES
Preprint 2052, 74th Convention, October 8–12 1983.

[126] D.A. Bohn, “A Fourth-Order State Variable Filter for Linkwitz-Riley Active Crossover Designs,”
Preprint 2011, AES 74th Convention, New York, October 8–12 1983.

[127] E. Zaustinsky, “Is Sophisticated Loudspeaker Crossover Design Possible Without Sophisticated
Measurements?,” Preprint 2032, AES 74th Convention, New York, October 8–12 1983.

[128] D.G. Meyer, “Computer Simulation of Loudspeaker Directivity,” J. Audio Eng. Soc., Vol. 32, pp.
294–315 (1984 May).

[129] M.E. Engebretson, “Low-Frequency Sound Reproduction,” J. Audio Eng. Soc., Vol. 32, pp. 340–
346, (1984 May). See also J.B. Lee, “Comments on Low-Frequency Sound Reproduction,” J. Audio
Eng. Soc., Vol. 33, pp. 249–252 (1985 April), including Engebretson’s reply.

[130] K.O. Ballagh, “Optimum Loudspeaker Placement Near Reflecting Planes,” J. Audio Eng. Soc., Vol.
31, pp. 931–935, (1983 December). See also R.F. Allison, “Comments on Optimum Loudspeaker
Placement Near Reflecting Planes,” J. Audio Eng. Soc., Vol. 32, p. 677 (1984 September).

[131] R.M. Bullock III, “Passive Three-Way All-Pass Crossover Networks,” J. Audio Eng. Soc., Vol. 32,
pp. 626–639 (1984 September).

[132] R. Evans, “Construction project: Active crossover for subwoofers,” Electronics Australia,
September 1984, pp. 58–66.

[133] H. Mayr, “Signal Power Spectrum Aspects in Loudspeaker Design,” J. Audio Eng. Soc., Vol. 32,
pp. 673–676 (1984 September). See also J.M. Woodgate, “Comments on Signal Power Spectrum
Aspects in Loudspeaker Design,” J. Audio Eng. Soc., Vol. 33, p. 249 (1985 April), and Mayr’s
reply, J. Audio Eng. Soc., Vol. 33, p. 249 (1985 April).

[134] B. Thurmond, “Horn layout simplified,” AES Preprint 2167, 76th Convention, October 8–11 1984.

[135] C.P. Janse and A.J.M. Kaizer, “The Wigner Distribution: A Valuable Tool for Investigating
Transient Distortion,” J. Audio Eng. Society, Vol. 32, No. 11, November 1984, p. 868.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 421


[136] J. Vanderkooy and S.P. Lipshitz, “Is Phase Linearization of Loudspeaker Crossover Networks
Possible by Time Offset and Equalization?,” J. Audio Eng. Soc., Vol. 32, pp. 946–955 (1984
December).

[137] L.R. Fincham, “The subjective importance of uniform group delay at low frequencies,” J. Audio
Eng. Soc., Vol. 33, No. 6, 1985 June, pp. 436–439.

[138] G. Penkov and B. Traianov, “Closed-Box Loudspeaker System Equalization and Power
Requirements,” J. Audio Eng. Society, Vol. 33, No. 6, June 1985, pp. 447–451.

[139] M.W. Ferralli and J. White, “Wide dispersion frequency invariant acoustic lens,” AES Preprint
2267, 79th Convention, October 12–16 1985.

[140] E. Geddes and D. Clark, “Computer Simulation of Horn Loaded Compression Drivers,” AES
Preprint 2286, 79th Convention, October 12–16 1985.

[141] E.J. Czerwinski, M.D. Buck, and A. Duncan, “Spruce moose: a slightly bent horn,” AES Preprint
2311, 79th Convention, October 12–16 1985.

[142] M.A. Milosevic and M.V. Gmitrovic, “Optimization procedure for computer designing a horn
loudspeaker,” AES Preprint 2360, 79th Convention, October 12–16 1985.

[143] E.J. Volker, “Room modes and deep tone Reproduction in control rooms for music monitoring,”
Preprint 2354, AES 80th Convention, 1986.

[144] R.P. de Wit, A.J.M. Kaizer, and F.J. Op de Beek, “Numerical Optimization of the Crossover Filters
in a Multiway Loudspeaker System,” J. Audio Eng. Soc., Vol. 34, pp. 115–123 (1986 March).

[145] P.L. Schuck, “Design of Optimized Loudspeaker Crossover Networks Using a Personal Computer,”
J. Audio Eng. Soc., Vol. 34, pp. 124–142 (1986 March). Corrections ibid.: Vol. 34, p. 563 (1986
July/August); Vol. 35, pp. 667–668 (1987 September).

[146] F.E. Toole, “Loudspeaker Measurements and Their Relationship to Listener Preference: Part 1,” J.
Audio Eng. Soc., Vol. 34, pp. 227–235 (1986 April).

[147] J. Vanderkooy and S.P. Lipshitz, “Power Response of Loudspeakers With Noncoincident Drivers –
The Influence of Crossover Design,” J. Audio Eng. Soc., Vol. 34, pp. 236–244 (1986 April).

[148] J. Merhaut, “Impulse Measurement of Horn-Type Loudspeaker Drivers,” J. Audio Eng. Soc., Vol.
34, No. 4, 1986, p. 245.

[149] R.M. Bullock III, “A New Three-Way All-Pass Crossover Network Design,” J. Audio Eng. Soc.,
Vol. 34, pp. 315–322 (1986 May).

[150] F.E. Toole, “Loudspeaker Measurements and Their Relationship to Listener Preference: Part 2,” J.
Audio Eng. Soc., Vol. 34, pp. 323–348 (1986 May).

[151] R. Chinn, “Crossover Basics,” Stereo Review, September 1986, pp. 64–66.

[152] R.M. Bews and M.J. Hawksford, “Application of the geometric theory of diffraction (GTD) to
diffraction at the edges of loudspeaker baffles,” J. Audio Eng. Soc., Vol. 34, No. 10, 1986 October,
pp. 771–779.

[153] S.P. Lipshitz and J. Vanderkooy, “In-Phase Crossover Network Design,” J. Audio Eng. Soc., Vol.
34, pp. 889–894 (1986 November).

422 – CALSOD 3.10 and CALSOD 1.40 User's Manual


[154] E. Zaustinsky, “Are Equalized Closed-Boxes Preferable to Vented-Boxes,” Preprint 2415, 81st AES
Convention, 1986 November 12–16, Los Angeles, California.

[155] R.M. Bullock, “A Transmission-Line Woofer Model,” Preprint No. 2384, 81st Audio Engineering
Society Convention, 1986 November 12–16, Los Angeles, California, U.S.A.

[156] D. Carlson and D. Gunness, “Loudspeaker manifolds for high-level concert sound reinforcement,”
AES Preprint 2387, 81st Convention, November 12–16, 1986.

[157] P. Lunden, “An omnidirectional sound source,” AES Preprint 2431, 82nd Convention, March 10–13
1987.

[158] J. Merhaut, More on “Impulse Measurement of Horn-Type Loudspeaker Drivers,” J. Audio Eng.
Soc., Vol. 35, No. 3, 1987, p. 144.

[159] D. Weems, “Experiments with Tapered Lines,” 2/87 p.18, Speaker Builder.

[160] M. Ohkawa and H. Yoshii, “Horn speaker having continuously changing cross section,” AES
Preprint 2664, 2nd Regional Convention, Tokyo, June 17–19 1987.

[161] B. Stuart, “The Case For Active Speaker Systems,” Audio, September 1987, pp. 64–70.

[162] R.M. Harris, “Horn Loading Revisited,” Elektor in Australian Electronics Monthly, October 1987,
pp. 38–44.

[163] L.D. Fielder and E.M. Benjamin, “Subwoofer performance for accurate reproduction of music,”
AES Preprint 2537, 83rd Convention, October 16–19, 1987.

[164] W. Marshall Leach, Jr., “Electroacoustic System Realizations for the Linkwitz-Riley Crossover
Networks,” J. Audio Eng. Soc., Vol. 35, pp. 792–800 (1987 October).

[165] E.R. Geddes, “Acoustic waveguide theory,” AES Preprint 2547, 83rd Convention, October 16–19
1987.

[166] R.J. Wilson, G.J. Adams and J.B. Scott, “Application of digital filters to loudspeaker crossover
networks,” Preprint 2600, AES 84th Convention, 1988 March 1–4.

[167] J. Kergomard, “General equivalent electrical circuits for acoustic horns,” AES Preprint 2575, 84th
Convention, March 1–4 1988.

[168] A.H. Benade, “Equivalent circuits for conical waveguides,” J. Acoust. Soc. Am, Vol. 83, No. 5,
May 1988, pp. 1764–1769.

[169] R.J. Kaufman, “Simple Construction Projects – Build an Active Filter,” Audio, pp. 44–47 (1988
July).

[170] J. Cockroft, “The Unline: Designing Shorter Transmission Lines,” 4/88, p.28, Speaker Builder.

[171] W. Waldman, “Simulation and Optimization of Multiway Loudspeaker Systems Using a Personal
Computer,” J. Audio Eng. Soc., Vol. 36, No. 9, pp. 651–663 (1988 September).

[172] D.A. Bohn, “An 8th-Order State-Variable Filter for Linkwitz-Riley Active Crossover Designs,”
Preprint 2697, AES 85th Convention, Los Angeles, November 3–6 1988.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 423


[173] P.L. Schuck and Greg Klowak, “Digital FIR filters for loudspeaker crossover networks,” Preprint
2702, AES 85th Convention, 1988 November 3–6.

[174] Author unknown, “Linkwitz-Riley Crossovers,” Rane Note 107, date unknown, Rane Corporation.

[175] D. Bohn, “Linkwitz-Riley active crossovers up to 8th-order: an overview,” RaneNote 119, 1989,
Rane Corporation.

[176] I. Martikainen, A. Varla and T. Partanen, “Design of a high power active control room monitor,”
AES 86th Convention, Hamburg, March 7–10 1989, Preprint 2755.

[177] J. Kuriyama, T. Tokko, S. Suzuki and Y. Hashiguchi, “A compact digital signal processing system
consisting of DSP modules,” Preprint 2771, AES 86th Convention, 1989 March 7–10.

[178] E.R. Geddes, “An Introduction to Band-Pass Loudspeaker Systems,” J. Audio Eng. Soc., Vol. 37,
pp. 308–342 (1989 May). See also E.R. Geddes, “Correction to An Introduction to Band-Pass
Loudspeaker Systems,” J. Audio Eng. Soc., Vol. 42, p. 152 (1994 March).

[179] J. Backmann, “Computation of diffraction for loudspeaker enclosures,” J. Audio Eng. Soc., Vol. 37,
No. 5, 1989 May, pp. 353–382.

[180] W.M. Leach, “Electroacoustic analogous circuit models for filled enclosures,” J. Audio Eng. Soc.,
July/August 1989.

[181] P. Hillman, “Symmetrical Speaker System with Dual Transmission Lines,” 5/89, p. 10, Speaker
Builder.

[182] G.S. Letts, “A Study of Transmission Line Loudspeakers,” Thesis, University of Sydney School of
Electrical Engineering, Australia.

[183] R.M. Bullock III, “A Unified Model for Closed-Boxes, Vented-Boxes and Passive-Radiators with
Losses,” 87th AES Convention, Preprint No. 2841, October 18–21 1989.

[184] J. Vanderkooy, “A simple theory of cabinet edge diffraction,” Preprint 2896, AES 88th Convention,
1990 March 13–16.

[185] N. Kyomo, “Digital filter application for an in-phase and linear-phase loudspeaker system,” Preprint
2897, AES 88th Convention, 1990 March 13–16.

[186] G.J. Krauss, “On the audibility of group distortion at low frequencies,” AES Preprint 2894, 88th
Convention, March 13–16, 1990.

[187] R. Greenfield and M. Hawksford, “The audibility of loudspeaker phase distortion,” AES Preprint
2927, 88th Convention, March 13–16, 1990.

[188] W.M. Leach, Jr., “A Generalized Active Equalizer for Closed-Box Loudspeaker Systems,” J. Audio
Eng. Society, Vol. 38, No. 3, March 1990, pp. 142–145.

[189] J.R. Wright, “An Empirical Model for Loudspeaker Motor Impedance,” J. Audio Eng. Soc., Vol. 38,
pp. 749–754 (1990 October).

[190] H.F. Olson, “Acoustical Engineering” (Republished by Professional Audio Journals, PO Box 31718,
Philadelphia, PA 19147-7718, USA, published 1991). See Section 1.11 Refraction and Diffraction
and Section 6.8 Loudspeaker Baffles.

424 – CALSOD 3.10 and CALSOD 1.40 User's Manual


[191] M. Ureda, “Apparent apex part II: the three dimensional case,” AES Preprint 3040, 90th
Convention, February 19–22, 1991.

[192] R. Delgado, K. Geist, and J. Hunter, “Tractrix Horns: Improved Imaging and Phasing,” Audio,
March 1991, pp. 36–40.

[193] R. Wilson, “Equalization of loudspeaker drive units considering both on- and off-axis responses,” J.
Audio Eng. Soc., Vol. 39, No. 3, 1991 March, pp. 127–139.

[194] W.M. Leach, Jr., “Computer-aided electroacoustic design with SPICE,” J. Audio Eng. Soc., Vol. 39,
No. 7/8, July/August 1991, pp. 551–563.

[195] R.E. Gonzalez, “A dual-baffle loudspeaker enclosure for balanced reverberant sound,” Preprint
3203, AES 91st Convention, 1991 October 4–8.

[196] D. Mapes-Riordan, “Horn Modelling with Conical and Cylindrical Transmission Line Elements,”
AES Preprint 3194, 91st Convention, October 4–8, 1991.

[197] M. Ureda, “Apparent apex part III: the three dimensional case,” AES Preprint 3166, 91st
Convention, October 4–8, 1991.

[198] N. Kyouno, Y. Ooshuga, N. Yashima and S. Himori, “Digital filter application for an in-phase and
linear-phase loudspeaker system: realization of a two-way loudspeaker system,” Preprint 3204, AES
91st Convention, 1991 October 4–8.

[199] R. Greenfield and M. Hawksford, “Efficient filter design for loudspeaker equalization,” J. Audio
Eng. Soc., Vol. 39, No. 10, 1991 October, pp. 739–751.

[200] R.J. Spear and A. F. Thornhill, “Fibrous Effects on Acoustical TLs,” 5/91, p.11, Speaker Builder.

[201] J. Backman, “A Computational Model of Transmission Line Loudspeakers,” Preprint No. 3326,
92nd Audio Engineering Society Convention, 1992 March 24–27, Vienna, Austria.

[202] R. Schmitt and W. Klippel, “Modeling of the Nonlinear Behaviour of a Horn Loaded Compression
Driver System,” AES Preprint 3256, 92nd Convention, March 24–27, 1992.

[203] P. Pribyl and D. Holan, “Impulse Meaasurement of Acoustic Impedance of Horns,” AES Preprint
3270, 92nd Convention, March 24–27, 1992.

[204] R. Genereux, “Adaptive filters for loudspeakers and rooms,” Preprint 3375, AES 93rd Convention,
1992 October 1–4.

[205] S. Linkwitz, “Development of a Compact Dipole Loudspeaker,” Preprint 3431, 93rd AES
Convention, 1992, October 1–4, San Francisco.

[206] W. Woszczyk and G. Soulodre, “The audibility of spectral precedence,” AES Preprint 3353, 93rd
Convention, October 1–4, 1992. (Describes research testing the audibility of simulated group delay
distortion.)

[207] J.G. Ables, C.E. Jacka and J.D. Bunton, “A powerful new VLSI processor for digital audio,”
Preprint 3438, AES 93rd Convention, 1992 October 1–4.

[208] W. Waldman, “Non-Linear Least Squares Estimation of Thiele-Small Parameters from Impedance
Measurements,” AES Preprint 3511, 94th Convention, Berlin, March 16–19, 1993.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 425


[209] J. Backman, “A Computational Model of Horn Loudspeakers,” AES Preprint 3512, 94th
Convention, Berlin, March 16–19, 1993.

[210] D. Ehrhardt, “Electro acoustical simulations by using SPICE,” AES 94 th Convention, Berlin, March
16–19 1993, Preprint 3544.

[211] M.S. Ureda, “Directivity Phase Response of Horns,” AES Preprint 3593, 94 th Convention, March
16–19, 1993.

[212] O. Salmensaari, J. Borenius and J. Backmann, “Improving the listening conditions in sound control
rooms by mounting the loudspeakers in a large baffle,” Preprint 3571, AES 94th Convention, 1993
March 16–19.

[213] J. Mourjopoulos, Comments on “Efficient filter design for loudspeaker equalization,” Letters to the
Editor, including authors’ reply, J. Audio Eng. Soc., Vol. 41, No. 5, 1993 May, pp. 364–366.

[214] G.R. Putland, “Every One-Parameter Acoustic Field Obeys Webster’s Horn Equation,” J. Audio
Eng. Soc., Vol. 41, No. 6, 1993, p. 435.

[215] E.R. Geddes, “Acoustic Waveguide Theory Revisited,” J. Audio Eng. Soc., Vol. 41, No. 6, 1993, p.
452.

[216] P.D. Bauman, A.B. Adamson, and E.R. Geddes, “Acoustic Waveguides – In Practice,” J. Audio
Eng. Soc., Vol. 41, No. 6, 1993, p. 462.

[217] D.J. Henwood, “The Boundary Element Method and Horn Design,” J. Audio Eng. Soc., Vol. 41,
No. 6, 1993 June, pp. 485–496.

[218] G. Leembruggen and J. Scott, “Loudspeaker impedance non-linearity and bi-wiring,” AES 4th
Australian Regional Convention, Melbourne, August 24–26 1993, Preprint 3693.

[219] D.J. Murphy, “Simple SPICE models for the analysis of moving coil loudspeakers,” AES 4th
Australian Regional Convention, Melbourne, August 24–26 1993, Preprint 3690.

[220] D.J. Murphy, “An axisymmetric model of a moving-coil loudspeaker,” AES 4th Australian Regional
Convention, Melbourne, August 24–26 1993, Preprint 3691.

[221] D.J. Murphy, “Axisymmetric model of a moving-coil loudspeaker,” J. Audio Eng. Soc., Vol. 41, No.
9, September 1993, pp. 679–690.

[222] A. Rimell and M.O. Hawksford, “Digital-crossover design strategy for drive units with impaired and
noncoincident polar characteristics,” Preprint 3750, AES 95th Convention, 1993 October 7–10.

[223] J.P. Macauley, “Big bass, small box,” Electronics World and Wireless World, February 1994, pp.
107–111.

[224] S. Rasmussen and K. Rasmussen, “On loudspeaker cabinet diffraction,” J. Audio Eng. Soc., Vol. 42,
No. 3, 1994 March, pp. 147–150.

[225] M.S. Ureda, “The Convolution Method for Horn Array Directivity Prediction,” AES Preprint 3790,
96th Convention, February 26–March 1, 1994.

[226] D. Ruser, “Beam Width Change of Transducer Array Directional Patterns,” AES Preprint 3829,
96th Convention, February 26–March 1, 1994.

426 – CALSOD 3.10 and CALSOD 1.40 User's Manual


[227] P. Newell, “Round the horn,” Studio Sound, March 1994, p. 59.

[228] R.A. Greiner and D. Melton, “Observations on the audibility of acoustic polarity,” J. Audio Eng.
Soc., Vol. 42, No.4, 1994 April, pp. 245–253.

[229] C.J. Struck and S.F. Temme, “Simulated Free Field Measurements,” J. Audio Eng. Soc., Vol. 42,
pp. 467–482 (1994 June).

[230] J.T. Post and E.L. Hixson, Comments on “Horn Modelling with Conical and Cylindrical
Transmission Line Elements,” Letters to the Editor (including author’s reply), J. Audio Eng. Soc.,
Vol. 42, No. 6, 1994 June, pp. 497–498.

[231] W.M. Leach, Jr., “SPICE models for Vacuum-tube amplifiers,” J. Audio Eng. Soc., Vol. 43, No. 3,
March 1995, pp. 117–126.

[232] J.P. Macauley, “Bigger bass, smaller box,” Electronics World and Wireless World, June 1995, pp.
469–475.

[233] K. Parow, “Designing horn loudspeakers,” Electronics and Wireless World, January 1996, pp. 12–
16.

[234] M.M. Boone and O. Ouweltjes, “Design of a Loudspeaker System with a Low-Frequency
Cardioidlike Radiation Pattern,” J. Audio Eng. Soc., Vol. 45, No. 9, 1997 September, pp. 702–707.

[235] D. Self, “Speaker impedance matters,” Electronics World, November 1997, pp. 920–927.

[236] D.L. Smith, “Discrete-Element Line Arrays – Their Modelling and Optimization,” J. Audio Eng.
Soc., Vol. 45, No. 11, 1997 November, pp. 949–964. E.R. Geddes, Comments on , “Discrete-
Element Line Arrays – Their Modelling and Optimization,” J. Audio Eng. Soc., Vol. 46, No. 9,
1998 September, p. 779.

[237] T. Paget, “Time-alignment of loudspeakers,” Silicon Chip, September 1998, pp. 28–31.

CALSOD 3.10 and CALSOD 1.40 User's Manual – 427


INDEX

A B
Active crossover network, 409 Baffle diffraction
design equations, 160 BDS submodule, 48, 384
Active filters SPL boost or loss, 48, 384
design examples, 282, 283 Bandpass loudspeaker system, 409
fourth-order filters, 164 design simulation, 301, 303
IOA submodule, 93 double-ported, 85, 121, 303
second-order filters, 162 IBP submodule, 77
third-order filters, 163 IDP submodule, 85
Active loudspeaker system, 409 impedance response, 77
filter assisted, 126 SBP submodule, 114
Air path delay SDP submodule, 121
APD submodule, 46 sealed rear chamber, 77, 114
compensation for, 46 sound pressure response, 114
Air-cored inductors Bessel filter
DCR formula, 92 BES submodule, 50
design program, 5 BSL submodule, 52
Allpass filters fourth-order, 162
BUT submodule, 53 highpass, 50, 52
LKR submodule, 102 lowpass, 50, 52
Analysis and optimization second-order, 161
adjusting the sensitivity, 158 Bibliography, 414
choice of frequencies, 158 Bitmap image printing, 19, 24, 150
design process, 156 Breakup modes
filter response, 157 modelling, 201
fixing components, 159 Butterworth crossover
frequency dependent component, 105, 107 off-axis behaviour, 247
initial component values, 157 Butterworth filter
initial filter topologies, 157 active second-order, 162
multiway loudspeaker system, 157 active third-order, 163
noncoincident drivers, 238 allpass, 53
number of frequency points, 158 BUT submodule, 53
parasitic elements, 75, 92, 159, 236 FIL submodule, 66
restarting optimization, 158 first-order, 53, 160
target response, 157 fourth-order, 53, 162
weighting function, 146 highpass, 53, 66
Analysis parameters lowpass, 53, 66
default set-up, 152 second-order, 53, 161
frequency range, 150 third-order, 53, 161
number of subintervals, 150
Arrays of loudspeakers C
directivity, 370
linear arrays, 377 Capacitor
Autotransformers CAP submodule, 54
modelling, 403 Circuit
CIRCUIT module, 55
Circuit speaker
menu heading, 15

428 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Closed-box loudspeaker system, 409 simple demo file, 149
B4 alignment, 126 DCR value, 75
design simulation, 295 Design point
filter assisted, 126 RAB submodule, 110
ICB submodule, 80 Diffraction, 410
ICQ submodule, 82 BDS submodule, 48, 384
impedance response, 80, 82 SPL boost or loss, 48, 384
SCB submodule, 118 Directivity, 410
SCQ submodule, 120 circular piston, 60
sound pressure response, 118, 120 DOSBox, 3
Compound woofer system Double-ported bandpass system
modelling, 392 impedance model, 85
Conjugate impedance network, 409 sound pressure model, 121
optimization, 275 Dri*Filt response
Constant-voltage filter menu heading, 15
FIL submodule, 66 Driver, 410
Crossover network, 409 Driver description
active filters, 282 menu heading, 15
active highpass filter, 287 Driver impedance
active lowpass filter, 285 inductance, 168
active two-way filter, 290 menu heading, 15
CIRCUIT module, 55 Driver model
design equations, 160 electrical equivalent circuit, 338
highpass active filter, 283 Driver response
highpass filter, 222 menu heading, 15
lowpass active filter, 282 Driver sensitivity
lowpass filter, 219 specifying, 123
optimization, 219, 222, 282, 285, 287, 290 Dual woofer systems
three-way crossover, 264 compound woofers, 392
two-way crossover, 225, 233 isobarik enclosure, 392
Curve-fit push/pull woofers, 394
driver parameter estimation, 338 standard configuration, 398
parameter estimation, 354
vented-box impedance, 56, 354 E
Curve-fit optimizer, 409
Curve-fitting, 410 Editor
driver transfer functions, 155 data editor, 35
impedance data, 186, 209 Effective piston diameter
impedance optimization, 170, 186 EPD submodule, 60
imported data files, 323 PEC submodule, 107
optimization, 209, 210 Equipment requirements
reduced frequency range, 190 computer system, 1
sound pressure data, 196, 199, 210 Estimation
sound pressure optimization, 199 Thiele-Small parameters, 56, 338
Thiele-Small parameters, 186 Experimental data
impedance, 61, 317
imported files, 67, 316
D
sound pressure, 64, 317
Data files
creating, 35 F
editing, 36, 37
editing commands, 39 File associations
FILE submodule, 67 setting up, 6
imported data, 67

CALSOD 3.10 and CALSOD 1.40 User's Manual – 429


File formats I
AIRR, 67, 337
AMS-PC, 67, 336 Image loudspeakers
Audiosuite, 67, 333 modelling floor reflections, 390
CALSOD, 67 Impedance curve-fit
CLIO, 67, 336 estimating driver parameters, 338
CLIOwin, 67, 336 vented-box system, 56
FILE submodule, 67 Impedance equalization
IMP, 67, 333 conjugate networks, 275
LMS, 67, 332 design formulas, 171
MLSSA, 67, 325 inductance rise, 172
PC AudioLab, 67, 337 optimization, 271
SYSid, 67, 327 resonance peak, 171
System One, 67, 331 Zobel network, 172
Filter network formulas Impedance equalization network, 410
active fourth-order filters, 164 Impedance matching
active second-order filters, 162 autotransformer, 403
active third-order filters, 163 Impedance response, 410
first-order filters, 160 bandpass loudspeaker, 77
fourth-order filters, 161 closed-box loudspeaker, 80, 82
second-order filters, 160 constant resistance, 84
third-order filters, 161 curve-fitting, 186, 209
Filter response double-ported bandpass, 85
menu heading, 15 driver inductance, 168
Floor reflections frequency dependent inductance, 89, 168, 177,
modelling, 390 182, 184
Formulas, 406 frequency dependent resistance, 89, 177, 182,
Frequency dependent component 184
MRX, 107 general component, 87
MRX submodule, 105 IBP submodule, 77
ICB submodule, 80
ICQ submodule, 82
G ICR submodule, 84
Glossary, 409 IGC submodule, 87
Graphics mode IMP submodule, 89
configuring, 149 IPQ submodule, 94
selecting from menu, 21 IPR submodule, 96
Super VGA, 21 IVB submodule, 98
IVQ submodule, 100
optimization, 186, 209
H passive-radiator loudspeaker, 94, 96
Highpass filters SYSid measurements, 329
BES submodule, 50 vented-box loudspeaker, 98, 100
BSL submodule, 52 voice-coil inductance, 168
BUT submodule, 53 Importing files
design examples, 214 AIRR format, 67, 337
FIL submodule, 66 AMS-PC format, 67, 336
LKR submodule, 102 Audiosuite format, 67, 333
optimization, 222 CALSOD format, 67, 316
tweeter filter network, 216 CLIO format, 67, 336
CLIOwin format, 67, 336
curve-fitting, 323
driver parameter estimation, 338
examples, 316

430 – CALSOD 3.10 and CALSOD 1.40 User's Manual


IMP format, 67, 333 LKR submodule, 102
impedance data, 317 lowpass, 102
LMS format, 67, 332 second-order, 161
MLSSA format, 325 List of symbols, 406
off-axis measurements, 317 Lossy enclosure models
PC AudioLab format, 67, 337 closed-box impedance, 82
sound pressure data, 317 closed-box sound pressure, 120
SYSid format, 67, 327 double-ported bandpass impedance, 85
System One format, 67, 331 double-ported bandpass sound pressure, 121
using a disk cache, 321 passive-radiator impedance, 94
using a ram disk, 321 passive-radiator sound pressure, 130
Inductor vented-box impedance, 100
DCR value, 75, 92, 236 vented-box sound pressure, 137
design program, 5 Loudspeaker driver
frequency dependent, 168 DRIVER module, 58
IAC submodule, 75 modelling the impedance, 173
IND submodule, 92 modelling the sound pressure, 192
MRX submodule, 105 SPK submodule, 127
series resistance, 75, 92, 236 Loudspeaker system, 410
voice-coil impedance, 168 summed acoustic response, 225, 264
Input voltage three-way, 264
VIN submodule, 144 two-way, 225
Installation tips Low-frequency alignment
file associations, 6 bandpass system, 85, 114, 121, 301, 303
MS-DOS 5 and 6 users, 7 closed-box system, 118, 120, 295
Installing CALSOD comparison of designs, 305
DOSBox users, 3 design examples, 293
example data files, 5 lossy designs, 311
file associations, 6 passive-radiator system, 130, 132, 297
installation tips, 7 vent design, 313
MS-DOS users, 4 vented-box system, 134, 137, 293, 306
switches, 7 Lowpass filters
using from floppy disk, 8 BES submodule, 50
Windows 7 users, 2 BSL submodule, 52
Windows Vista users, 2 BUT submodule, 53
Windows XP users, 2 design examples, 214
IrfanView FIL submodule, 66
Bitmap image printing, 25 LKR submodule, 102
optimization, 219, 285, 287
L woofer filter network, 214

Line colors
M
configuring, 22
Line source Main menu, 14
linear array, 370, 377 begin optimization procedure, 30
Linkwitz-Riley crossover change active directory, 33
off-axis behaviour, 251 change frequency range, 18
Linkwitz-Riley filter change optimizer parameters, 18
active fourth-order, 164 change plotting parameters, 19
active second-order, 163 change printer set-up, 19
allpass, 102 change target SPL coordinates, 33
FIL submodule, 66 change target SPL sensitivity, 33
fourth-order, 162 default Windows printer, 19
highpass, 102 directory of files, 18

CALSOD 3.10 and CALSOD 1.40 User's Manual – 431


exit program, 34 SCC, 119
invoke editor, 14 SCQ, 120
list component values, 26 SDP, 121
list response tables, 17 SEN, 123
plot system responses, 15 SOF, 126
read in new data file, 32 SPK, 127
recalculate system transfer functions, 34 SPQ, 130
run MS-DOS shell, 34 SPR, 132
Minimum-phase equalization SVB, 134
impedance curve-fits, 181, 185 SVQ, 137
sound pressure curve-fits, 198 TARGET IMPEDANCE, 139
Minimum-phase function, 410 TARGET SPL, 140
Modules TFN, 141
description of, 41 TITLE, 143
Modules and submodules VIN, 144
allowable combinations, 43 WEIGHTING, 146
APD, 46 XYZ, 148
BDS, 48 Moving-coil loudspeaker, 411
BES, 50
BSL, 52 O
BUT, 53
CAP, 54 Observation point
CIRCUIT, 55 displaying off-axis angles, 29
CVB, 56 FILE submodule, 67
DRIVER, 58 imported data, 316
EPD, 60 RAB submodule, 110
EXPERIMENTAL IMPEDANCE, 61 Off-axis radiation
EXPERIMENTAL SPL, 64 displaying off-axis angles, 29
FIL, 66 EPD submodule, 60
FILE, 67 imported data, 316
HLR, 74 modelling, 203
IAC, 75 SPK submodule, 127
IBP, 77 Open circuit
ICB, 80 OCC submodule, 106
ICQ, 82 Operational amplifier
ICR, 84 IOA submodule, 93
IDP, 85 Optimization, 411
IGC, 87 adding parasitic values, 236
IMP, 89 conjugate networks, 275
IND, 92 deleting component values, 233
IOA, 93 fixing component values, 234
IPQ, 94 impedance curve-fit, 186
IPR, 96 impedance equalization, 271, 275
IVB, 98 imported data files, 316
IVQ, 100 multiple observation points, 254
LKR, 102 noncoincident drivers, 238
MPE, 103 setting audible beep, 25, 26
MRX, 105 sound pressure curve-fit, 199
OCC, 106 summed acoustic response, 225, 264
RAB, 110 Thiele-Small parameters, 186, 338, 345, 349,
RES, 112 354, 359
RGE, 113 three-way system, 264
SBP, 114 two-way system, 225
SCB, 118 weighting function, 146

432 – CALSOD 3.10 and CALSOD 1.40 User's Manual


Optimizing curve-fits Plot labels
estimating driver parameters, 338, 354 TITLE module, 143
impedance functions, 170 Plots
sound pressure functions, 199 combined SPL and impedance, 152
Optimizing highpass filters Plotting parameters
active filters, 287 combined SPL and impedance, 152
analysis parameters, 222 default set-up, 152
optimization, 223 displaying residual error, 25
optimized response, 223 displaying target coordinates, 25
optimized values, 224 displaying Vin, 25
passive filters, 222 frequency range, 152
Optimizing lowpass filters grid lines, 151
active filters, 285 magnitude limits, 151
analysis parameters, 219 setting up, 150
optimization, 220 tick marks, 151
optimized response, 221 Port design for vented boxes
optimized values, 222 design equations, 313
passive filters, 214 Printer selection
plotting parameters, 219 setting up, 150
Optimizing two-way filters Printers
active filters, 290 configuring, 21, 24, 150
passive filters, 214 Propagation delay
APD submodule, 46
P compensation for, 46
Push/pull woofer system
Parameter estimation modelling, 394
added-mass method, 338, 346
frequency range selection, 342, 347
R
maximizing accuracy, 339
test enclosure, 339 Reference efficiency
vented-box impedance method, 354 equation, 123
volume-change method, 338, 340 SEN submodule, 123
Parasitic resistance Resistor
inductor DCR, 75, 92, 236 frequency dependent, 168
Passive crossover network, 411 RES submodule, 112
design equations, 160 Room gain, 411
Passive-radiator loudspeaker system, 411 Room gain equalization
design simulation, 297 modelling example, 387
impedance response, 94, 96 RGE submodule, 113
IPQ submodule, 94 Running CALSOD
IPR submodule, 96 command line options, 7
sound pressure response, 130, 132 DOSBox command line, 4
SPQ submodule, 130 MS-DOS command line, 5
SPR submodule, 132
Path length differences S
modelling, 128
PBRUSH.EXE Scale factors
Bitmap image printing, 19, 24 allowable values, 41
Phase response Screen colors
method of calculation, 241 configuring, 22
Piezo-electric transducer Sensitivity, 411
impedance modelling, 87 specifying, 123
Piston approximation Short circuit
EPD submodule, 60 SCC submodule, 119

CALSOD 3.10 and CALSOD 1.40 User's Manual – 433


Sloping baffle starting the editor, 36
specifying driver locations, 245 undo, 36
Sound pressure level user-defined editor, 38
SEN submodule, 123 windows, 35
Sound pressure response, 412 Thiele-Small parameters
curve-fitting, 196, 199, 210 cable inductance effects, 352, 368
optimization, 199, 210 cable resistance effects, 350
Speaker, 411 estimation of, 56, 180, 183, 338
DRIVER submodule, 58 from impedance curve-fit, 89, 186
SPK submodule, 127 from vented-box impedance, 354
Submodules Three-way systems
description of, 41 performance considerations, 266
description of mnemonics, 42 Transfer function
Summed acoustic response TFN submodule, 141
Butterworth filters, 254 Transfer function approximations, 412
Linkwitz-Riley filters, 255 Two-way filters
multiple observation points, 254 optimization, 290
noncoincident drivers, 238
optimization, 157, 225, 229, 231, 233 U
optimization of multiway systems, 264
RAB submodule, 110 USB printers
SPK submodule, 127 printing screen dumps, 19, 24, 150
TARGET SPL module, 140
three-way systems, 266 V
XYZ submodule, 148
Super VGA graphics mode Vent design, 313
selecting from menu, 21 Vented-box impedance
SWG driver parameter estimation, 354
formula for DCR, 92 electrical equivalent circuit, 56, 355
Switches Vented-box loudspeaker system, 412
command line options, 7 alignment tables, 134
System transfer functions, 412 B6 alignment, 126, 299
design simulation, 293, 306
filter assisted, 126, 299
T impedance response, 98, 100
Target function IVB submodule, 98
TARGET IMPEDANCE module, 139 IVQ submodule, 100
TARGET SPL module, 140 sound pressure response, 134, 137
Target impedance function, 412 SVB submodule, 134
Target sound pressure function, 412 SVQ submodule, 137
Text colors system losses, 306
configuring, 22 vent design, 313
Text editor, 35 Virtual machine, 3
block, 35 Voice-coil
built-in features, 35 empirical impedance model, 168, 169
commands, 39 frequency dependent inductance, 89, 168, 177,
configuring, 24 182, 184
editing a file, 37 frequency dependent resistance, 89, 177, 182,
exiting, 38 184
file selection, 36 Voice-coil inductance
invoke editor, 14 Kmp Xmp model, 169
pulldown menus, 37 Kr Xr Ki Xi model, 168
quick reference guide, 39
speed keys, 38

434 – CALSOD 3.10 and CALSOD 1.40 User's Manual


W Windows XP Mode, 3

Weighting function, 412


WEIGHTING module, 146 Y
Windows Year 2000
file associations, 6 compliance statement, 1
Windows printers
Bitmap image printing, 19, 24, 150
Z
Zobel network, 413
design formula, 172
optimization, 271

CALSOD 3.10 and CALSOD 1.40 User's Manual – 435

You might also like