Acoustic Horn Design – The Easy Way (Ath4)

Member
Joined 2004
Paid Member
Here's an improved report functionality for circular symmetry with R-OSSE, including the back side:

https://at-horns.eu/ext/ath-4.9.0-pre-230113.zip

Copy the attached gpl file into lib\scripts and use it this way:

Report = {
Title = ST260-ROSSE-5
Width = 1600
Height = 900
GnuplotCode = rcirc-mono.gpl
MaxRadius = 150
MaxAnglePM = 180

}

ST260_ROSSE.png
back-test.png
 

Attachments

  • rcirc-mono.zip
    1.3 KB · Views: 59
  • Like
Reactions: 1 users
By "right" I mean there are no obvious flaws when looking at a full polar data, no matter how one gets there
The issue is that there are no ideal crossovers (which is why I went out of my way to minimize them.) It's all about which tradeoffs to make and that can be very time consuming and tedious, even with a great set of measurements (which is essential.) I spent many years developing software for this task and I was always tweaking it for a better result.
 
AKABAK has the same options as ABEC, a demo mode or a student licence for strictly non commercial use. ABEC projects can be imported, the last one complained about a fatal error but still loaded when I clicked apply. I just had to set the source to be driven and choose the driving weight for constant acceleration which is divide by jw. The meshes can be imported directly and with a basic template saved with the orientation and observations set as you want them that is fairly quick.

The observation scripts don't import very well, but with the point and click options in AKABAK setting it up as you want is a little easier than remembering the text commands in the script. Of course if the pre prepared script runs just fine in ABEC then that is the easier option.
When I solve an imported ABEC3 project from AKABAK, will the FRD export function work?

Phase information is corrupted since move to Win11 and I cannot downgrade without quite the hustle.
 
Warning: very preliminary stuff ahead! Input for a brainstorm session.

I parsed the vips file generated by ABEC. Inside are the frequencies, angles and something that can be used to calculate the SPL. Let's call it X. X is complex and represents something like the frequency dependent amplitude and phase. If that is the case, than the convolution theorem says that the inverse FFT is the impulse response. So I calculated ifft(X), took the 'abs' (data was still complex ??), took the 'log' to enhance the low level signals and plotted the result.

The time axis still has frequency numbers; i didn't bother to convert that
The angle is the angle in degrees.

something.png

There is something in the data, but how to interpret this is a bit of a mistery. I hope some smart people can do some smart things :)
 
Those are frequency responses of the device but only the magnitudes, so it's not a complete information (unlike the impulse response but that's hard to read directly). So the question is if there's something that could emerge in an IR polar map, that would be easier to notice. Maybe not.

I'll try to get IRs from the simulated data.
 
Last edited:

TNT

Member
Joined 2003
Paid Member
The #11,405 was that from real data?

What I ment about integration time was that when the simulator does a magnitude estimate (at a certain frequency and angle / distance) - is that something like a top value for just one cycle or is it in time, a more "ongoing" simulation (of the generator and the WG) of reality where if one where to measure it, one had to define an integration time / or perhaps a time window.

//
 
Last edited:
I think that the simulator calculates a complex transfer function for each frequency.

Sorta. I think it is a complex pressure per frequency which is a transfer function.

Code:
Data_Format = Complex
            Data_LevelType = Peak
            Data_Domain = Frequency
            Data_AbscUnit = Hz
            Data_BaseUnit =
            Data_IsContPhase = false
            Data_Legend = "Polar, Pressure, 501, 0 (far-field) (0.0)"
            Param_Coord_Type = Spherical
            Param_Coord_x1 = 1
            Param_Coord_x2 = 0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,
155,160,165,170,175,180
            Param_Coord_x3 = 0
            Param_Param = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37
            Graph_Caption = "PM_SPL"
            Graph_Type = Contour
            Graph_New = true
            Graph_BodeType = LeveldB
            Graph_zAxis_Range = "-45, 5"
            Graph_zAxis_Units =
            Graph_Param_AsYAxis = x2
            Param_Identifier = "ABECDobservation.txt+2005"
            Graph_Group = "ABEC-observation.txt $$$observation.txt$$$"
            headerEnd = 25533

Btw, I just found the documentation of the binary vips file. I reverse engineered that the hard way last year...
 
I think that the simulator calculates a complex transfer function for each frequency. From enough points it should be possible to calculate the corresponding impulse response (via IFFT) in any detail, it's only not that straightforward as Tom showed.
In VACS you can convert the responses to IR's by choosing the Fourier Response option in Processing Tab.
 
  • Like
Reactions: 1 user
When I solve an imported ABEC3 project from AKABAK, will the FRD export function work?

Phase information is corrupted since move to Win11 and I cannot downgrade without quite the hustle.
I don't know as I haven't tried. The option to export the spectrum that is used in ABEC is not there in AKABAK, but I think you can just redirect the output to VACS into a file like in the screenshot attached.

The time delay can be removed from responses directly in VACS, or Vituix can generate a minimum phase response just by ticking a box. Both options will give clean phase traces to make further experimenting easier.
 

Attachments

  • VACS output.png
    VACS output.png
    13 KB · Views: 51
Last edited:

TNT

Member
Joined 2003
Paid Member
An IR calculated from just magnitude (FFT) data must be an average over time as in an instant, all frequencies cant be generated. So there is an integration time to be considered. Now, I'am in no way a Fourier denier but I feel that the duration of the frequency domain integration time, i.e. the length of the analyses stimuli must be adequately short to be relevant. I mean, if one sample noise for 3 seconds and finds out that during these 3 second, the summed energy points to a FR perfectly flat and do a quick Fourier in your head and state - perfect IR - it is true but I wouldn't necessarily expect a nice sounding music reproducer.

From an ear-brain perspective, what should the integration time be for a frequency domain measurement that would be valid for FFT into an IR that mean something for a human? I'm sure its frequency dependant... wesayso uses 6 cycles for his EQ adventures...

//
 
Last edited: