Acoustic Horn Design – The Easy Way (Ath4)

A nice candidate for a ring plug -

1685870624573.png
 
A nice candidate for a ring plug -
I ordered a pair (Radian 760NeoPB). These are strange drivers, hardly usable for anything else, IMHO, due to the extremely wide exit angle (60°). But when used directly from the phase plug with a more typical waveguide, they seem almost perfect. I say almost because the phase plug terminates at ~33mm (1.3") diameter. A little smaller would be even better.
 
In this post I'd like to share some early results, comparing simulation to actual measurements.. I also have a question about an inconsistency in the ATH report.

--

After playing around with ATH a bit, I decided it was time to find out how well an ATH simulation holds up in practice. Although I've recently discovered that the R-OSSE functionality works really well, in the past - when I didn't have access to advanced simulation software like ATH - I always tried to break up the design process into the smallest possible steps. With fewer degrees of freedom, it's easier to narrow down cause-and-effect relationships. Therefore, the waveguide of the Dutch & Dutch 8c was first optimized in an infinite baffle, and only after that did I work on optimizing its interaction with the actual speaker baffle. I decided to take the same approach in validating ATH.

The waveguide we'll be looking at here, I designed about a month ago, presumably with ATH version 4.8.3 beta.

Code:
Throat.Profile = 1
Throat.Diameter = 25.4         ; [mm]
Throat.Angle = 7             ; [deg]
Coverage.Angle = 41            ; [deg]
Length = 130                ; [mm]

Term.s = 1.1
Term.n = 3.2
Term.q = 0.995

This is the ATH report I generated at the time:

1686147310128.png


Yesterday I measured the WG in what is generally referred to as an infinite baffle. The mic distance was 1 meter.

1686147643093.jpeg

These are the normalized results of the gated measurements, from 0 to 90 degrees in 15-degree steps. Please ignore the irregularity below about 2500 Hz in the 90 degrees measurement. It's caused by the relatively early and not perfectly gated-out reflection that results from diffraction at the closest edge of the not-quite-so-infinite baffle.

1686147719880.png

There are some small differences, but overall I'd say the measured response tracks the simulation very well. Great!

Now the funny thing. I simulated the same waveguide again with ATH 4.9.0 pre-230518, and now the report looks like this:

1686149835898.png
1686149835767-png.1181224


Everything seems to look the same, except for the directivity. It seems to be 3 dB higher across the board in the report I made today. I'm afraid I've overwritten the original config file I used to make the earlier report. Has the way directivity is calculated been changed, or did I change something in the config file?

This is the complete config file:

Code:
; Device width x height = 439.60 x 439.60 mm (17.307 x 17.307")
; Device length =         130.00 mm (5.118")


Throat.Profile = 1
Throat.Diameter = 25.4         ; [mm]
Throat.Angle = 7             ; [deg]
Coverage.Angle = 41            ; [deg]
Length = 130                ; [mm]

Term.s = 1.1
Term.n = 3.2
Term.q = 0.995


; -------------------------------------------------------

Mesh.AngularSegments = 100
Mesh.LengthSegments = 40

ABEC.SimProfile = 0 ; CircSym
ABEC.SimType = 1 ; Infinite Baffle
ABEC.f1 = 250 ; [Hz]
ABEC.f2 = 20000 ; [Hz]
ABEC.NumFrequencies = 100
ABEC.MeshFrequency = 40000 ; [Hz]

ABEC.Polars:SPL = {
  MapAngleRange = 0, 90, 19
  NormAngle = 0    ; [deg]
  Distance = 3      ; [m]
  ; Offset = 0       ; [mm]
}

; -------------------------------------------------------

GridExport: = {
  ExportSlices=1
  ExportProfiles=1
}


Output.SubDir = "demos"
Output.STL = 0 ; bug, can't output https://www.diyaudio.com/community/threads/acoustic-horn-design-the-easy-way-ath4.338806/page-635#post-7365338
Output.ABECProject = 1



Report = {
 Title = "BOVRIE2_Old_report"
 NormAngle = 0
 Width = 1024
 Height = 768
 SPL_Range = 50
 MaxRadius = 90
 PolarData = "SPL"
}
 
Last edited:
  • Like
Reactions: Skiivari
That happens between versions. For example, the rollback feature was eliminated for free standing so you can't use it between versions. I place a commented line in my config file to help me remember which version I originally designed a waveguide like this...

; ath_490_230531.exe 46_8inch_DE250.cfg
; ath_483.exe 46_8inch_DE250.cfg

Then I keep the executable files named like this...

ath_483.exe
ath_490_122.exe
ath_490_230531.exe
etc.

The STL files may look different when generated between different versions. Mine do because I try to use the newly added features of later version executables. Although, I haven't tried designing in an older version and generating in a newer version.

Others may have a more efficient way of doing things. However, I do like formatting the version comment line so I can copy and paste into the command line prompt "ath_490_230531.exe 46_8inch_DE250.cfg" without needing to type it out.
 
Last edited:
Thanks for sharing the data, the results look quite nice.

Yeah, we had a side discussion here recently about how is the DI defined for half-space conditions. Basically, a source radiating equally in all directions in a half space should have DI = 3 dB, according to the common definition (there's no right or wrong, it's just a matter of consensus). So I changed this in the latest versions and the DI curve is now shifted by 3 dB as a result (what was 0 dB is now 3 dB). Also, the values at high frequencies now agree to what you would get in a free field, which makes a better sense after all.
 
Last edited:
As for the backward compatibility, also some might have noticed that it's now possible to define an OSSE horn simply like this:

Code:
OSSE = {
  r0 = 19    ; Throat.Diameter/2
  a0 = 41.0  ; Throat.Angle
  a = 71.25  ; Coverage.Angle
  k = 1.3    ; OS.k
  L = 19     ; Length
  s = 1.12   ; Term.s
  n = 2.467  ; Term.n
  q = 0.999  ; Term.q
}

So there are the OSSE and R-OSSE profiles now (as described on my website), both using a similar notation.
(The parameter 'q' meaning different things in both but I won't change that...)

I see no need for the old rollback feature anymore. If you still want or need it, just use the old version...
 
Last edited:
I generated two DI reports, one for ATH 490.122 and one for ATH 490.230531 in ABEC.SimType = 2 (free space) rather than 1 (infinite baffle). I see a small change in high frequency simulation as a result of the update.

Also, the values at high frequencies now agree to what you would measure in a free field, which makes a better sense after all.

Extremely small but since I generated the reports I thought I'd post them in case anyone else was curious about the update.
 

Attachments

  • 46_8inch_DE111_DI_122.png
    46_8inch_DE111_DI_122.png
    22.8 KB · Views: 70
  • 46_8inch_DE111_DI_230531.png
    46_8inch_DE111_DI_230531.png
    23.8 KB · Views: 83