Hornresp

Hornresp Update 4030-170126

Hi Everyone,

BUG FIX

Coding changes made when the Resize Wizard tool was added inadvertently disabled some of the functionality in the Undo / Redo feature. Details of the action being undone / redone were no longer shown. This functionality has now been restored. Attachments 1 and 2 refer.

CHANGE 1

While working on fixing the above bug the opportunity was also taken to further refine and improve the operation of the Undo / Redo feature.

CHANGE 2

Moving the mouse pointer over the Eg label or text box now shows the power delivered to a nominal 8 ohm load, and also to Rg + Re. The power values are displayed in the status bar panel at the bottom of the Input Parameters window. Attachment 3 refers.

Kind regards,

David
 

Attachments

  • Attach_1.png
    Attach_1.png
    58.7 KB · Views: 241
  • Attach_2.png
    Attach_2.png
    58.5 KB · Views: 245
  • Attach_3.png
    Attach_3.png
    55.1 KB · Views: 244
CHANGE 2

Moving the mouse pointer over the Eg label or text box now shows the power delivered to a nominal 8 ohm load, and also to Rg + Re. The power values are displayed in the status bar panel at the bottom of the Input Parameters window. Attachment 3 refers.

I like that. I like that a lot. It's only a couple extra clicks to get to the driver power window (which also shows more info) but this is really helpful for a quick look at watts.
 
I have a feeling this has been asked before but is it possible to add functionality to see below 10 hz? Even if it's only in the Loudspeaker Wizard it would be immensely helpful. I can currently toggle between 10 and 100 hz as a graph low limit but it would be nice if the low limit could be extended to 1 hz.

For my current studies I'm going to have to use Akabak at some point anyway, so if this isn't possible I'll be ok.
 
I have a feeling this has been asked before but is it possible to add functionality to see below 10 hz?

Hi just a guy,

You are quite correct, the functionality has been requested previously. Unfortunately it would require just too much work to implement in a consistent fashion, as everything in Hornresp to date has been based around a frequency range of 10Hz to 20kHz.

It is of course possible to manually sample main chart results down to 1Hz.

Kind regards,

David
 

Attachments

  • Attach_1.png
    Attach_1.png
    29.1 KB · Views: 223
Last edited:
Or to use the new Resize tool to scale the design down by a factor of 10, so that 10Hz will equal 1Hz in the original design.

Brilliant - thanks Bjørn!

Using this technique would then also allow the user to sample down to an effective frequency of 0.1Hz, if so desired. This should be low enough for anyone :).

(To scale the design down by a factor of 10, use a 'Resize factor' of 0.1 as shown in the attachment).

Kind regards,

David
 

Attachments

  • Attach_1.png
    Attach_1.png
    18.6 KB · Views: 182
Thanks but I'm unsure of whether that's going to work for a few reasons.

1. It resizes the driver and I'm not exactly sure what it's doing, I'd have to better understand what it's doing to the driver.
2. This tool is supposed to give you the same response curve as the original but scaled in frequency. This isn't going to work (I don't think) because my target response curve is going to be an exaggerated EBS curve and I don't think I can obtain that curve with a tuning 10x higher than the tuning I want, so I'm unsure if it will be able to scale the target curve at all.
3. I'm going to have to figure out how all the other factors (like velocity) scale as well, otherwise I'm not sure what use the resized sim would be to me.

Thanks for the suggestion and I'll try to figure it out but Akabak might be quicker and easier.
 
Thanks but I'm unsure of whether that's going to work for a few reasons.

After thinking about it for a bit I'm pretty sure I can use the resize tool to do most of what I need. It will be a multi step iterative process but that's fine.

The one last thing I would need to do the whole project in Hornresp would be to be able to check velocity at any segment marker. Currently Hornresp is only set up to display velocity at the horn throat or the horn mouth. I need to check it at the middle of the horn.

For example, if the horn throat is S1 and the mouth is S5, I would need to be able to check velocity at S2, S3 and S4.

Is it possible to allow for this? Akabak can do it. I can do this last step in Akabak so it's not a problem if it's not possible.
 
Maybe a bug?

Hello David. I may have discovered a bug.


Just installed the latest version of the software and I had a small Vrc of 0.01cm^3. I changed it to 2000 cm^3.

Bug2.png


Then I setup to use the design with driver for a horn I get this warning:

Bug.png

I saved the file and restarted Hornresp. The Vrc was then changed to 100cm^3 To big for a dome tweeter but still within the parameters in the prompt.

Still not working.
 
Currently Hornresp is only set up to display velocity at the horn throat or the horn mouth. I need to check it at the middle of the horn.

For example, if the horn throat is S1 and the mouth is S5, I would need to be able to check velocity at S2, S3 and S4.

Is it possible to allow for this? Akabak can do it. I can do this last step in Akabak so it's not a problem if it's not possible.

Hi just a guy,

It's certainly possible to calculate the values, but would complicate things significantly. Another one for AkAbak, it would seem.

Kind regards,

David
 
I may have discovered a bug.

Hi Mark,

Strictly speaking it's not a bug, but rather a limitation on the input values acceptable to Hornresp. The actual calculated value for Vrc using the given input parameter values is 0.0029 litres. When formatted to two decimal places the value rounds to 0.00, which is why the error message is triggered. To get around the problem, in the next update if the calculated value of Vrc is less than 0.01 it will be automatically set to 0.01. The difference between the 0.01 value used and the actual smaller original calculated value will have a negligible effect on the overall results.

Many thanks for the feedback.

Kind regards,

David
 
Resize wizard functionality comments - the wizard does what it's supposed to do but it gave me some issues that I had to figure out.

1. Once a parameter set is "locked in" (baseline design will use currently shown parameter values), no subsequent change to any of the parameters will be considered by the resize wizard if you run it more than just the initial first resize.

The "baseline design" comment is clear enough, I suppose, but I didn't even realize every subsequent time I ran the resize wizard that it was still using the initial parameters inputs so my resizing wasn't working despite having entered my desired resize factor into the wizard.

This could be made more clear in a number of ways. The resize wizard could be inactive for subsequent resize attempts after the initial resize, since any subsequent resize won't function properly anyway. Or it could just give a warning on each subsequent resize attempt that it is still using the baseline parameters. Or the best solution would be to not lock in baseline parameters at all, so subsequent resizes would be fully functional.

2. Some of my models would not resize as much as I wanted. Some of my files would give error "Resize factor can not be less than 1.01" and error "Resize factor can not be greater than 4.99. Both a low limit and a high limit for the affected files.

I was able to figure the cause of the lower limit error.

When you have a segment length (and I assume any parameter value) that is already so small that it can't be divided by the resize factor the sim refuses to run (which is perfectly acceptable) and throws out the lower limit error. I had to think a few minutes before figuring out the cause and there's something that could be done about that.

The error could state the reason why it can't be scaled further than the limits the error mentions. OR better yet the program could guide you through what is required to get rid of the error.

Hornresp already does this for other things, giving red flags right on the input window screen. In this case, after hitting OK on the resize wizard, if there's a problem, the problem parameter box could be highlighted and a description of the problem could be written in red in the CAUTION warning space beside VTC and ATC.

This issue happened for me when I tried to run a sim that had one segment with a length of 0.01 cm (a transition segment between segments with an abrupt change in csa) and I tried to resize the design to 0.1 (10x smaller). The program can't divide 0.01 by 10 so it refuses to run the sim but doesn't give any clue what the problem is.

I was not able to figure out the reason for the upper limit on this sim (Resize factor can not be greater than 4.99) but I didn't think about the possible cause much since I want to make this sim smaller, not larger.
 
Last edited:
Hi Mark,

Strictly speaking it's not a bug, but rather a limitation on the input values acceptable to Hornresp. The actual calculated value for Vrc using the given input parameter values is 0.0029 litres. When formatted to two decimal places the value rounds to 0.00, which is why the error message is triggered. To get around the problem, in the next update if the calculated value of Vrc is less than 0.01 it will be automatically set to 0.01. The difference between the 0.01 value used and the actual smaller original calculated value will have a negligible effect on the overall results.

Many thanks for the feedback.

Kind regards,

David

Ye Olde Simulation.png

I can do it and have done it before.
 
It's very easy to use the resize wizard to scale everything so there's no low frequency limit in the sims. There are just a few things to look out for.

There can't be any parameter that can't be divided by the resize factor. So if you have L12=0.01 cm and you resize it to 0.1 (10x smaller) the sim cannot run. In the following sim you see I've had to change one parameter to 1 cm because the sim would not run when it was 0.01 cm.

This is a random resizing example. The original inputs and schematic are on top, the resized version below, sized to 10x "smaller".

I've been saying smaller but meaning 10x lower frequency response, this is much more correct.

An externally hosted image should be here but it was not working when we last tested it.


A lot of relationships between the original and the resized version are readily evident. These relationships are all related to a specific scaling factor, in this example the scaling factor is 0.1x the original frequency response.

The resized enclosure is 1000x smaller by volume.
All enclosure and driver dimensions are scaled such that the shapes are exactly the same.
All segment areas (S1 etc) are 100x smaller in the resized version.
All length measurements (L12 etc) are 10x smaller in the resized version.
Sd is 100x less in the resized version.
Cms is one order of magnitude smaller in the resized version.
Mms is 1000x smaller in the resized version.
Bl is 10x less in the resized version and ...
Rms is 100x less in the resized version.
Driver xmax is equal in both versions.

So we know exactly how everything is being scaled and knowing that we could do it manually if desired.

Congrats to Bjorn for knowing these relationships and scaling formulas, this is a useful little tool.

There's a few other very important things to note too.

As the next image shows the frequency response and excursion are exactly the same but shifted down by 10x.
Velocity is 10x higher in the resized version.
Group delay is 10x less in the resized version.

An externally hosted image should be here but it was not working when we last tested it.


Diaphragm pressure is 10x higher in the resized version.

An externally hosted image should be here but it was not working when we last tested it.


And that's all the comparisons I've thought to make at this time.

So all you have to do to simulate frequencies below 10 hz, and assuming 1 hz is a reasonable low limit, is start with a design (use the t/s of the driver you actually want to use) and resize your design to 0.1 in the resize wizard. Now 10 hz on the graph = 1 hz, 100 hz =1 khz, etc.

Open your design in the Loudspeaker Wizard and now you can play with it below 10 hz, in this example I've taken the original design and resized it and tuned it down to 6 hz.

An externally hosted image should be here but it was not working when we last tested it.


Just remember when looking through the graphs you need to know the sizing formula relationships and make sure you realize that stuff like velocity, group delay and other things are off by a factor of the scaling factor.

When you are done (or anytime really) you can resize it back up to it's original size. There's no need to do this as long as you understand the resizing formula relationships but it's there if you need it.

Neat little tool and it solves all of my current problems except being able to view velocity at any segment marker.