Hornresp

Hi Finn,

As explained in my earlier Post #10347, the Hornresp simulation model algorithms run into tens of thousands of lines of code. Unfortunately it is not just a simple matter of applying a few key equations:

https://www.diyaudio.com/forums/subwoofers/119854-hornresp-1035.html#post6037726

In essence, Hornresp analyses the complete electro-mechano-acoustical lumped-element equivalent circuit of a loudspeaker. The most complete reference book covering the theory behind Hornresp is "High Quality Horn Loudspeaker Systems" by Bjørn Kolbrek and Thomas Dunker.

Being able to see the hundreds of equations / formulas / algorithms used by Hornresp in a list, without fully understanding the theory underpinning them and the context in which they are being applied, would be of little value.

Kind regards,

David


Okay I have some questions for that! :).


So I think that additionaly to using the analogius circuit from 16.6.1. a) the circuit from 16.3.5 is used to model the frequency dependend inductance and resistance of the driver ?



When calculating M_MD, I suppose you use something different than M_MD = M_MS - 0.575 SD^1.5
I get a little different values calculating M_MD with that formular.


So here is the biq question: Is there any other analogies you use to modell other Parts of the driver?


For explanation I am trying to build a program where I would like to model the acoustical side via the finite element method and the mechanical and electrical circuits vie lumped parameter analogies. And hornresp is very good to check how good that program works. So knowing more about the formulas used would help me a lot. Thank you!
 
the circuit from 16.3.5 is used to model the frequency dependend inductance and resistance of the driver ?

The circuit shown Figure 16.3.6 is used if the Semi-Inductance Model is selected.

When calculating M_MD, I suppose you use something different than M_MD = M_MS - 0.575 SD^1.5

Yes, but your formula is close enough.

Is there any other analogies you use to modell other Parts of the driver?

No.
 
Last edited:
To make the results of your two designs identical, add the end correction of 1.34 cm to L45 in your ML design, so that L45 = 16.34 cm, and double-click on QL = 7 in your OP design in edit mode and move the QL slider to maximum (lossless).

Dave (et al),
Thanks for the guidance. I made both those changes and of course the results are now identical.

The next question, of course, is "what's the better sim?" The effect of the end correction is very minimal, but the change from QL=7 to lossless is pretty substantial.

In this case, I'm trying to sim a "typical" MLTL type port, by which I mean it's basically just a round tube that's considerably smaller in diameter than the line, that's only a few inches long, and is stuck into the side or bottom of the main line with the opening somewhere in the interior of the main line or at the very end.

What factors determine what the appropriate quality factor QL is for a particular situation?

It seems likely that you chose QL=7 as the default for the Offset Port speaker model bacause it's a good guess at what would best sim a port of the type I just described. Is that correct? And hence that I'll likely get more realistic result using the OP model with QL=7 than using the Mass Loaded model, regardless of whether or not the vent is actually offset from the end, or is actually at the end. Is that correct?

Thanks,
Eric
 
"what's the better sim?"

For the system you are considering, the one done using the OP model.

It seems likely that you chose QL=7 as the default for the Offset Port speaker model because it's a good guess at what would best sim a port of the type I just described. Is that correct?

Correct.

QL = 7 is the generally-accepted value normally used to allow for losses in vented-box enclosure designs.

And hence that I'll likely get more realistic result using the OP model with QL=7 than using the Mass Loaded model, regardless of whether or not the vent is actually offset from the end, or is actually at the end. Is that correct?

Correct.

When the OP model is used, Hornresp knows that a vented box enclosure is being modelled and so automatically includes the port tube internal end correction and enclosure losses. When the ML OD model is used, Hornresp thinks that the design is an offset driver multiple segment horn and analyses it as such.

The user needs to decide on the most appropriate model to use for any given design.
 
When the OP model is used, Hornresp knows that a vented box enclosure is being modelled and so automatically includes the port tube internal end correction and enclosure losses.

Is it the abruptness of the transitions from the line to the port that is the primary source of the "enclosure losses"?


When the ML OD model is used, Hornresp thinks that the design is an offset driver multiple segment horn and analyses it as such.

And by "as such" do you mean that it analyses as "lossless" in that case?

Presumably, a typical multi-segment horn has smoother transitions between segments. Is that what distinguishes it from a "vented" enclosure with QL=7?

As far as I can tell, in HR I can only adjust QL in vented enclosures, it that correct? Or do I just not know where to find it? If it can be adjusted, are there rules of thumb for QL in types of enclosures other than vented boxes?

Thanks,
Eric
 
Problem with losses in vents or ports is that is that it's a bit non-linear.

Not only depending on the size, shape, bends etc.
But also on the position in the cabinet as well as amount of airflow (SPL)

That being said, T/S parameters are also only valid for low signal level (0.1V sine wave according AES).
Although a lot of manufactures don't seem to respect these standards anyway.
 
And by "as such" do you mean that it analyses as "lossless" in that case?
As far as I can tell, in HR I can only adjust QL in vented enclosures, it that correct?

All Hornresp assumptions and features are documented in the Help file. Search for what you are looking for using the File > Find tool.
 

Attachments

  • Attach_1.png
    Attach_1.png
    95.5 KB · Views: 51
Hello David,

A small bug report, Hornresp version 53.20 :

Create a new file, such as abc.dat. The file will be filled by one record (fig. 1):

1639141005481.png




Open input wizard (F7) and then close it by a click on the upper right X.

Then you get this prompt:

---------------------------
Hornresp
---------------------------
Run-time error '94':

Invalid use of Null
---------------------------
OK
---------------------------


… and Hornresp vanishes.

The close apparently added a second but incomplete record (fig. 2):

1639141037477.png


You don't have to open a new file, any valid .dat file will be affected. This record will also cause a runtime error whenever you "scroll" forward towards the end of the file.

Trimming that record away works fine (record length = 734), but you need a (good) editor to do that. I was using UltraEdit.

I dare suggest to build in a little logic to auto-remove such bad records, by detecting the top block of spaces. There may be users around having such records in their files. (just a black thought of mine :) )

Hope this info helps,
Andre
 

Attachments

  • 1639140914555.png
    1639140914555.png
    2.5 KB · Views: 31
  • 1639140980519.png
    1639140980519.png
    967 bytes · Views: 26
A small bug report, Hornresp version 53.20 :

Hi Andre,

Many thanks for reporting this bug, and for providing such comprehensive information. I have found the problem - it will be fixed in the next update. Trying to auto-remove bad records could be a bit tricky - it is probably safer to leave things as they are, particularly as record corruption is not normally an issue.

Kind regards,

David
 
Hornresp Update 5320-211211

Hi Everyone,

BUG FIX 1

For designs without stepped segments, area slider value changes made in the tapped and paraflex horn wizards were not being correctly transferred back to the main input parameters window when the Save button was clicked. The post linked below refers.

https://www.diyaudio.com/community/threads/how-good-is-hornresp.379576/page-2#post-6870526

This bug has now been fixed.

BUG FIX 2

The bug detailed in Post #12592 has now been fixed.

My thanks to Andre for reporting the problem.

Kind regards,

David