SpicyTL 1.7

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 “01-SpicyTL-Default.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 (more information here).

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)
ang: radiation angle ( sr)
D_port: diameter of the port (cm)
L_port: lenght of the port (cm)

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. From release 1.5, disconnected and unused blocks can be left on the main sheet.

The blocks 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 includes the local parameters “dist” and “ang” which defines respectively the measurement distance of the SPL in meters and the radiation angle in  sr .

The labels on the top of the block are test points to measure 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. It is not really an amplifier, but rather a function generator suitable for testing the system. The block now contains a convenient tool that allows the loudspeaker impedance curve to be visualised very quickly without the need to write expressions in the LTspice post-processor; the procedure is explained further down in the appropriate section.

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, speaker3, speaker4

This is the equivalent circuit of the electrical, mechanical and acoustic components of the loudspeaker. It includes the acoustic air load on the loudspeaker membrane. The parameters are globally defined in the main circuit. It is possible to design a system with four identical loudspeakers, 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.

port

The ‘port’ block allows the effect of an opening along the TL to be simulated. Placed next to a “vol” block, it allows a bass-reflex box to be modelled very quickly.

The parameters to be entered are the diameter of the tube, the length of the tube, the total internal volume of the box and the cabinet Q factor:

D_port=10 L_port=10 Vbox=30 Qbox=5

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 one of the test points ‘x_’. The value in millivolts corresponds to the rms value of the excursion in millimetres of the respective loudspeaker. If necessary, change the vertical axis display: position the mouse on the left vertical axis of the graph and right-click. Select 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 simulation of the impedance curve can now be done using the instrument built into the ‘amplifier’ block; to use the instrument, the block must be rotated 180° and connected to the loudspeaker via the ‘impedance TEST’ connection. After running the simulation, the probe placed on the positive wire (not the node) of the loudspeaker returns the impedance curve. As this is a voltage measurement, the value is returned in volts rather than ohms. 

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

Damping material parameters

In SpicyTL, it is possible to adjust various parameters that describe the physical properties of air and materials. From version 1.4, it is also possible to define the behaviour of the damping material at varying frequencies very accurately, thanks to the combined effect of the parameters DENS and K1.

The first parameter represents the density of the absorbing material in Kg/m³ while the second (K_1 for foam and K_2 for fibre) defines the slope of the roll-off at high frequencies.

The following graphs show the effect of the individual parameters and their combined effect (DENS 25, 30, 35 kg/m³ and K_1 200, 300, 400).

DENS
K_1
DENS+K_1

Andrea Rubino