SpicyTL

Introduction

SpicyTL is a simulation model, based on the electrical circuit theory, which predicts the electro-acoustic behavior of transmission line loaded loudspeaker systems. It is the evolution of the AIRDAMP model, whose development, and the principles that allow its operation, is illustrated in the article Progettare una linea di trasmissione utilizzando SPICE (Designing a Transmission Line with SPICE), published in issues 408, 409 and 410 (April, May and June 2019) of AUDIOreviewCompared to the latter, SpicyTL has a modular structure composed of several acoustic “blocks” and is able to simulate also tapered and expanding TL’s.  

The acoustic connections between the various blocks are made on a horizontal line while amplifier and loudspeaker are connected vertically. 

The model, particularly suitable to design TL damped with polyurethane foam, allows to simulate frequency response, phase response, group delay, electrical impedance, speaker cone excursion and air velocity at the TL output.

The circuit simulation program used is Linear Technology’s LTspice.

Forum (English language).

Preliminary Operations

Download the LTspice freeware software at the following address:

https://www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html

Install LTspice.

Open the “SpicyTL.asc” model.

I recommend to activate the grid display: select Tools>Control Panel>Drafting Options in the top left menu and tick Show schematic grid points. The option is saved and you do not need to do it again.

Global Parameters

The global parameters, which potentially transfer to all SpicyTL sub-circuits (blocks), are located in the main circuit. These include the loudspeaker parameters, which are therefore also valid for other speakers that may be present in the system.
Another global parameter is the internal width of the TL, “Line_width”, which is used to automatically calculate the length of any corner bends.
Finally we have the parameters that describe some physical properties of the air and the absorbing materials used.

Where not otherwise specified, the quantities are expressed with the units of measurement of the International System.

Local Parameters

They are inserted by right-clicking on the block (sub-circuit) you want to configure and are valid only for that block. The values must be entered in the “PARAMS:” line and replace the default values. A block that is copied after entering the parameters holds the previously entered parameters.

The local parameters are:

S_0: area of the initial section of a segment (cm²);
S_1: area of the final section of a segment (cm²);
SL: area of the section of a straight segment; area of the initial (and final) section of a 90° bend; area of the central section of a 180° bend (cm²);
S_in: area of the initial section of a 180° fold (cm²);
S_out: area of the final section of a 180° fold (cm²);
S_foam: area of the section occupied by the foam (cm²);
S_end: area of the opening (cm²);
Lenght: length of a segment (m);
offset: distance between the center axis of the speaker and the beginning of the TL (m);
Panel_THK: thickness of the inner panel at a fold (mm);
Vol: volume of the coupling chamber (L);
output: sinusoidal sweep width (default: 2.83 volts rms);
RG: amplifier output resistance (default 0.1 ohm);
dist: SPL measurement distance (m)

Adding a Block

Click the Component button on the toolbar and select the SpicyTL working directory from the Top Directory drop down menu. Select the desired block and place it in the main sheet by left clicking with the mouse. The block can be moved, dragged, copied or deleted like any other component using the appropriate LTspice tools. The blocks must be placed side by side horizontally starting from the test_point; once placed, they connect automatically. Unused blocks must be removed from the main worksheet. The blocks currently available in SpicyTL are described below.

test_point

It is the fundamental block of SpicyTL: it contains all the measuring instruments and should never be removed from the main circuit. It only includes the local parameter “dist” which defines the measurement distance of the SPL in meters.

The labels on the top of the block serve as test points for measuring the SPL of individual speakers, the opening or the entire system. The display must be set to Decibel.

The labels on the bottom provide the cone excursion of the individual speakers (in mm, rms value) and the air velocity at the opening (m/s). The display must be set to Linear.

integratedTL

This block allows you to simulate the behavior of a straight, tapered or expanding TL. It includes a loudspeaker that can be mounted at the beginning of the TL or moved as desired along the TL by defining an offset value. It is a very practical tool to make a first simulation and provides immediately usable results. The local parameters (default values) are as follows:

S_0=100 S_1=100 S_foam=0 Offset=0 Lenght=1 Vol=0

The “Vol” parameter allows to simulate in a simple and effective way the presence of a possible coupling chamber between woofer and TL. The “Lenght” parameter defines the total length of the TL, including any driver offset.

The integratedTL block must be terminated with an opening (“open_end” block) or a closed panel (“closed_end” block) and must be connected to an amplifier.

amplifier

It is a purely electrical block and contains no acoustic components.

The local parameters are:

output=2.83 RG=0.1

offset_foam

Represents the TL segment between the center axis of the speaker and the beginning of the TL. It can be constant section, tapered or expanding. If you are not using the “integratedTL” block, this is generally the first component to connect to the test_point; alternatively, if the TL to simulate has no offset value, you can connect a speaker directly.

The local parameters are:

S_0=100 S_1=100 Lenght=0.20 S_foam=0

speaker1, speaker2

It is the equivalent circuit of the electrical, mechanical and acoustic components of the loudspeaker. It includes the acoustic load of the air on the loudspeaker diaphragm. The parameters are defined globally in the main circuit. It is possible to design a system with two identical speakers, “speaker1” and “speaker2”, but with different positions along the TL.

straight_foam

It represents a segment of straight TL.

The local parameters are:

SL=100 Lenght=1 S_foam=0

SL=100 Lenght=1 S_foam=0

tapered_foam

Represents a decreasing section TL segment.

The local parameters are:

S_0=100 S_1=80 Lenght=1 S_foam=0

expanding_foam

Represents an increasing section TL segment.

The local parameters are:

S_0=80 S_1=100 Lenght=1 S_foam=0

The “tapered_foam” and “expanding_foam” blocks are circuitally identical and can simulate straight, increasing or decreasing TL segments. The block symbols, on the other hand, are diversified to make it easier to identify the configuration of the transmission line.

volume

When placed next to a speaker, it allows to quickly evaluate the effect of a coupling chamber. If no other acoustic blocks are added in addition to the driver, it can effectively simulate the load of a closed box.

The only local parameter is volume, expressed in litres:

Vol=0

Unlike other acoustic blocks it is modeled by a concentrated parameter circuit and therefore cannot provide information on reflections inside the box.

90bend

It represents a 90° bend in the TL. The section change in the fold is calculated from the input section area (“SL”) and the global parameter “line_width”; the latter is also used to automatically calculate the segment length. The thickness of the inner panel in mm can be added to the total length.
In block “90bend” the input section area is equal to the output section area.

The local parameters are:

SL=100 S_foam=0 Panel_THK=0

180bend

It represents a 180° bend in the TL. The section change in the fold is calculated from the input section area (“S_in”), the middle section area (“SL”), the output section area (“S_out”) and the global parameter “line_width”; the latter, as in the “90bend” block, is also used to automatically calculate the segment length. The thickness of the inner panel can be added to the total length.

The local parameters are:

S_in=100 SL=100 S_out=100 S_foam=0 panel_THK=0

open_end

The “open_end” block corrects the acoustic length of the TL and applies the acoustic load to the opening. It also detects the volume velocity at the opening and sends the data to the “Test-point” block for SPL and air velocity measurement.

The only local parameter is the area of the opening:

S_end=100

closed_end

The “closed_end” block closes the TL with a panel. It is also useful to simulate a closed box with particular geometries taking into account the internal reflections on the longest side.

There are no local parameters to enter.

Run a Simulation

Click on the Run command to open the graphic display window (probe). I recommend to enable the Cartesian grid display: right-click on the graph and select View; in the submenu check Grid. The option is saved.

The frequency response of the system is automatically displayed.

After each parameter change, press the Run command again.

SPL Simulation

Place the probe on the desired “SPL_” test point. If necessary, change the display of the vertical axis: position the mouse on the left vertical axis of the graph and right-click. Select the Bode representation in the drop-down menu and tick Decibel.

Cone Excursion Simulation

Place the probe on the test point “x_W1” or “x_W2”. The value in millivolts corresponds to the rms value of the excursion in millimeters. If necessary, change the vertical axis display: position the mouse on the left vertical axis of the graph and right-click. Select the Bode representation in the drop-down menu and tick Linear.

Air Velocity at Opening Simulation

Place the probe on the test point “PORT_SPEED”. The value in volts corresponds to the air velocity in m/s.
The vertical axis display must be set to Bode and Linear.

Impedance Simulation

After running a simulation with the Run command, it is necessary to find the name assigned by LTspice to the points (nodes) where we are going to detect the amplifier output (voltage and current). In order to do this, we need to drag the amplifier downwards slightly; the connection wires with the loudspeaker are revealed and resized automatically. Deactivate the drag command by right-clicking and place the cursor (voltmeter probe) on the positive wire. Click and note down the name of the track that appears, e.g. V(n001). Then move the cursor to the “+” output of the amplifier: the probe becomes an ammeter and by clicking, another trace appears. Note the name, e.g. Ix(x4:+). We can now delete the voltage and current traces we have just generated and type in the correct expression for displaying impedance: right-click on the box and select “Add Traces”. In the line “Expression(s) to add:” we type (in this case): V(n001)/-Ix(x4:+)

The display of the vertical axis must be set to Bode and Linear.

Andrea Rubino