Maker Portal

View Original

Loudspeaker Analysis and Experiments: Part I


See this content in the original post

See this content in the original post

In this tutorial, a loudspeaker will be analyzed by calculating the Thiele-Small parameters from impedance measurements using an inexpensive USB data acquisition system (minimum sampling rate of 44.1 kHz). The methods used in this project will educate the user on multiple engineering topics ranging from: data acquisition, electronics, acoustics, signal processing, and computer programming.

1. Magnet, 2. Voice Coil (Inductive Coil), 3. Suspension, 4. Diaphragm


See this content in the original post

A few crutial Thiele-Small pararmeters are cited below based on the Thiele and Small papers:

See this content in the original post

The parameters above give information about the speaker’s performance and limitations, which define some physical characteristics of the loudspeaker. These characteristics are difficult to quantify once the loudspeaker is assembled, so we are forced to approximate the following physical characteristics using experiments:

See this content in the original post

A few notes on the definitions above: r represents a parameter calculated at the loudspeaker’s resonance frequency. Additionally, e represents a parameter in the electrical domain; m represents a parameter in the mechanical domain, and a represents the acoustic domain. From this point onward, I will use each parameter to define another parameter using specific equation derived by Thiele and Small.


See this content in the original post

This is a fairly involved experiment in that it requires the following core parts: a computer, a USB acquisition device (at least 44.1 kHz sampling rate), a loudspeaker driver, and small calibration weights. These components will allow us to fully characterize the loudspeaker using the Thiele-Small parameters. Below is the full parts list used in my method of calculating the parameters:

Behringer U-Control UCA202 Ultra-Low Latency 2 In/2 Out USB Audio Interface with Digital Output

  1. Boss Audio 80 Watt Loudspeaker - $10.79 [Amazon]

  2. Behringer UCA202 USB Audio Interface - $29.99 [Amazon]

  3. Calibration Weights - $6.99 [Amazon]

  4. Audio Amplifier 15 Watt - $8.99 [Amazon]

  5. Speaker Wire - $8.49 [Amazon]

  6. Multimeter with AC Voltmeter - $37.97 [Amazon]

  7. Alligator Clips - $6.39 [Amazon]

  8. Jumper Wires - $6.49 [Amazon]

  9. Resistor Kit - $7.99 [Amazon]

  10. Breadboard - $7.99 [Amazon]

  11. 3.5 mm cable - $5.10 [Amazon]


See this content in the original post

The first step in the process is to measure the speaker’s electrical resistance, which should always be less than the nominal resistance. Start by measuring the resistance of the leads on your multimeter, then subtract that from the resistance measured across the terminals of the speaker. I measured the resistance to be 3.3 Ohms:

See this content in the original post

See this content in the original post

The wiring for this experiment is somewhat involved, however, the root of the wiring method is based on a voltage divider with the speaker acting as the second resistor. The full diagram is shown below:

The process flow for the wiring above is as follows:

  1. A smartphone app called ‘Audio Function Generator’ is used to generate a sine wave sweep or constant frequency into the amplifier’s 3.5 mm input

  2. The amplified signal is wired across the voltage divider

  3. The voltage across the amplified signal is inputted into the Behringer USB acquisition device

  4. The voltage across the loudspeaker terminals is inputted into the Behringer USB acquisition device

  5. The USB stereo input is read by Python on a computer (Raspberry Pi in my case)

Using the wiring method above, we will be able to approximate the resonance frequency of the driver where the impedance is maximum. We will also be able to find parameters relating to the electrical and mechanical properties of the driver.

See this content in the original post

See this content in the original post

We’ll be using the Behringer UCA202 USB audio interface to sample voltage readings at 44.1 kHz on a Raspberry Pi. The general setup for finding the resonance frequency starts by wiring the loudspeaker in series with a resistor to measure voltage across the speaker. And since the voltage varies when we excite the speaker using a sinusoidal function, we need to approximate the impedance across the loudspeaker. The voltage divider equation can be rewritten specifically for our scenario:

See this content in the original post

An impedance plot of the loudspeaker that I used is shown below for a frequency sweep from 20 Hz - 20,000 Hz. I sampled the impedance over 180 seconds. It was done in three pieces and then stitched together. I used the ranges of 20 Hz - 120 Hz, 120 Hz - 2,000 Hz, and 2,000 Hz - 20,000 Hz. This was done to avoid diminishing the peak and the transition zone between high and low frequencies. I used a sampling period of 1 second, which resulted in a frequency resolution of 1 Hz.

See this content in the original post

See this content in the original post

There are multiple ways of identifying the actual resonance frequency of a loudspeaker. Many manufacturers will put the impedance response curve on their datasheet, and fewer will include the phase measurement, which is often correlated to the derivative of the impedance. This means that if we plot both the impedance response and the phase, we should see a phase zero-crossing around the resonance frequency.

The response curves for phase and impedance can be seen below calculated for the loudspeaker used in this project (44.1kHz, 10 sec recording, 20 Hz - 220 Hz sweep):

The full code to replicate the figures above is also given below

See this content in the original post

The code above and all the codes for this project can be found on the project’s GitHub page:

See this content in the original post

Therefore, for the case of our loudspeaker - we can say that its resonance frequency is about 86 Hz. And by using the actual RMS values of steady frequency inputs, I have another plot that shows just how close this is to the likely resonance:

The manual method shown directly above can be used to approximate the resonance, however, I will use the quicker and nearly as accurate FFT method. And in the next entry, we will be doing multiple measurements of resonance at different mass loadings - so the manual method would really time quite a bit of time.

See this content in the original post

See this content in the original post

In this first entry into the loudspeaker analysis series, I discussed the Thiele-Small parameters and the notion of impedance and resonance. The complex nature of loudspeakers makes this series an educational and diverse topic in engineering. I explored how to find the resonance frequency of a speaker driver and how to use both phase and magnitude to approximate the frequency of the resonance and the magnitude of the impedance at resonance. Both of these values will become instrumental in characterizing loudspeakers and audio systems for use in real-world applications.

In the next entry, I discuss how to find the remaining mechanical and electrical properties of a loudspeaker and the applications that they open up in terms of design in acoustic environments.


See More in Acoustics and Engineering:

See this content in the original post