You can't?By the way, does anybody know what causes the even PR/port output slope to suddently plummet at about 300 Hz?
I cannot replicate it with hornresp simulations.
I would see that as the ratio between length of the line and position(s) of the driver vs PR.
Which changes the standing waves aka modes in the line.
That can be simulated in Hornresp.
However, we do run into the limits of Hornresp a bit.
Because Hornresp simulates point sources (as well as ports) for the acoustic model.
In reality that's not the case. So practical behavior is always (a bit) different.
Depending on the ratio between Sd and the length of the line.
The only way to do this, is with FEM/BEM analysis (and hoping the underlying math is okay)
no, because even for a simple tube you need to include the end correction factors, which add some length proportionally to the tube diameter.Logically Leff should approach the Lact instead shouldn't it?
I did a quick test:
9 liter enclosure, port surface 12,6 cm2 (4 cm diameter), 10 cm port length and a NFR of 0,01 (so practically a straight tube).
Hornresp calculates a helmholtz resonance frequency of 56,8 Hz
The salvatti/devantier/button formula results in 54 Hz (- 4,9%).
And including my correction factor based on L/Dmin ratios of built speakers I get 59 Hz (+3,9 %).
These tolerances are so microscopic compared to the accuracy of usual data sheet TSP sets or the TSP changes at different sound levels or an enclosure volume calculation that I suggest to consider them sufficiently reliable.
Also, as I said previously the desire for absoulte accuracy of bass reflex tuning is rather ridiculous if you consider what the room does to your perfectly aligned bass response.
and sorry for being so snarky... ;-)
I'm actually happy that I did the test and how accurate "my" excel-sheet seems to be!
Ah, yeah for sure 🙂
I bumped on this as the excel gives effective length and diameter to use in a simulator, and the error would be there then: As the Leff in spreadsheet already includes end correction it should be set to zero in the simulator then? or set to one?
Simulators typically have field for actual length and end correction, effective length is hidden.
ps. tweaking the tuning, I'm looking at impedance. While room modes affect the response inside a room it's not an issue outside party. Impedance affects how the system heats up for example, after all it's gonna run full tilt for hours and with ~2000W power handling there is gonna be some heat. While my inexperience doesn't warrant for optimizing to anything particular, I'm still looking at this stuff. In the end, small errors do not matter, it's that the excel with NFR gives quite much different results that I get with VituixCAD and regular ports I'm bit sceptical and likely have errors somewhere and the above is one I think. There is many applications for ports, from small bookshelf speakers to bigger ones, so trying to navigate here 🙂 thanks!
I bumped on this as the excel gives effective length and diameter to use in a simulator, and the error would be there then: As the Leff in spreadsheet already includes end correction it should be set to zero in the simulator then? or set to one?
Simulators typically have field for actual length and end correction, effective length is hidden.
ps. tweaking the tuning, I'm looking at impedance. While room modes affect the response inside a room it's not an issue outside party. Impedance affects how the system heats up for example, after all it's gonna run full tilt for hours and with ~2000W power handling there is gonna be some heat. While my inexperience doesn't warrant for optimizing to anything particular, I'm still looking at this stuff. In the end, small errors do not matter, it's that the excel with NFR gives quite much different results that I get with VituixCAD and regular ports I'm bit sceptical and likely have errors somewhere and the above is one I think. There is many applications for ports, from small bookshelf speakers to bigger ones, so trying to navigate here 🙂 thanks!
Last edited:
well it provides those dimensions and calculates the tuning frequency based on them.the excel gives effective length and diameter to use in a simulator.
for use in a simulator: depends on the simulator, I guess. I might just have to hide those fields to avoid any confusion.
for a simulator that considers end correction factors, such as Hornresp: take the actual tube length and the effective surface area as calculated by the excel sheet.
for a simulator that does not consider end correction factors (if there are any?): take the effective tube lenght and the effective area.
But I would not use any of these values, but just adjust the helmholtz resonance tuning in your simulator and in the excel-sheet to match and you are done.
no need to copy any dimensions from one tool to the other.
If you want to know the strouhal number for the port exit, use the port exit surface Amax from the excel sheet and adjust the port lenght in your simulator to match the tuning frequency. the port will be considerably longer. That step will help to understand how useful a flared port is!
If you use hornresp you can just switch to the strouhal number graph.
For any other simulator you may need to take the port air velocity and use this method for strouhal number calculation.
EDIT:
There are some plans in my mind to include further functions in the excel-sheet, such as a NFR number proposal, a possibility to select desired maximum output SPL and get a sensible port dimension and geometry, a simple port geometry graph output ....
But that still needs some work!
Last edited:
Yeah I need two ports for one box, for various reasons, and all this stuff is just for one port, so I'm juggling with one port and checking with simulator whats the tuning with two 😀 Anyway, plenty of chance for error, thanks for helping.
You will find a way to do it, I suppose.I need two ports for various reasons
But generally the easiest method would be to calculate one big port and then just "split it in half" and make two out of them.
the length does not change but each port has half the cross section surface areas.
There will be a slight end correction error, but again, I think it's neglible.
(just think of one port with an infinitely thin "imaginary" separating longitudinal wall. then take those separated halves and move them apart: there you have your two ports!)
Or you just reduce all port surface areas in your simulator to 50% and use the resulting tuning frequency as target for the excel sheet.
The resulting port is the one that you need twice for your initial speaker tuning, including the correct evaluation of end correction factors.
EDIT: how quick do you plan to start building you speaker?
I will be on a bike trip for the next 10 or so days, but after that I can try to provide more information about the optimum NFR and strouhal number limits.
Last edited:
yeah multiple ways to do it, and it's me having misunderstandings here trying to find my way.
Plan is to use one port blocked with low level hifi listening to get nice "real" system bandwidth down to 20s, and then higher tuning for the party with both ports open, so I need to keep eye on both. Although, I'm already quite familiar whats the difference with one or two ports having played with it for few evenings it's nice to check with few simulators one way or the other to catch any errors 🙂 Using actual length with effective area from the spreadsheet as you suggest removed my error in vituixCAD enclosure tool!🙂 although end correction in the simulator is now not used it should be set to something. But given its already guite close I'm fine, thanks!
ps. nothing wrong with errors as performance is then measured after building the system. I'm trying to weed out errors and misunderstanding now before building it as it's quite expensive both in time and money to make new ports with a big prototype, especially if it's way off, so that completely new plan is needed. Hence trying to weed out errors here before building anything.
Plan is to use one port blocked with low level hifi listening to get nice "real" system bandwidth down to 20s, and then higher tuning for the party with both ports open, so I need to keep eye on both. Although, I'm already quite familiar whats the difference with one or two ports having played with it for few evenings it's nice to check with few simulators one way or the other to catch any errors 🙂 Using actual length with effective area from the spreadsheet as you suggest removed my error in vituixCAD enclosure tool!🙂 although end correction in the simulator is now not used it should be set to something. But given its already guite close I'm fine, thanks!
ps. nothing wrong with errors as performance is then measured after building the system. I'm trying to weed out errors and misunderstanding now before building it as it's quite expensive both in time and money to make new ports with a big prototype, especially if it's way off, so that completely new plan is needed. Hence trying to weed out errors here before building anything.
Last edited:
I am sure vituixcad includes the end correction factors in the simulation! It probably just doesn't show up.although end correction in the simulator is now not used
Using hornresp you can see the end correction value used for the calculation when hovering the mouse over the port lenght (actual length!) field.
Lpt is the geometric length of the physical tube port.
The end correction value is added to the actual tube lenght to calculate the effective weigth of the oscillating air in/at the port.
It's nothing you should be worried about, unless you do not have the classic case of a flush port protruding into the enclosure.
And again - don't worry about the exact tuning.
Instead worry about moving your listening chair for half a meter.
THAT indeed does change the frequency response!
Last edited:
By the way, does anybody know what causes the even PR/port output slope to suddently plummet at about 300 Hz?
I cannot replicate it with hornresp simulations.
Is this related to enclosure dimensions? or distance between driver and PR/port (which is not the same for PR and port, by the way)?
It has the shape of a cavity cancellation dip (as seen in room response plots) and the addition of damping in the cavity filling it in supports this. Cannot be certain though without more information.
Sorry bad communication from me, for sure VituixCAD uses end correction and has field for it, but I'm not sure what should I set it for in case of NFR port so I just used end correction value 0.85, and it gives close enough correlation with the tuning frequency calculated by the spreadsheet and I'm good.
To recap, if I calculate a port with the spreadsheet with some NFR value, it's not clear what should I enter to a box simulator if I want to double check the plan. As you said I could just use any (even arbitrary) values to get the same tuning in simulator, but this doesn't provide error checking. Error checking might not be even necessary, I trust you and the spreadsheet, it's just I do not trust myself 😀 Just trying to make system without nasty surprises and want to double check the plans are fine. It's quite nice that the NFR can reduce port length for same tuning, but too much reduction (compared to vituixcad sim) got me suspicious.
For first time users, like me, it would be helpful to have fields in the spreadsheet that show values one could use in a simulator like hornresp, or in VituixCAD. Which value of port length and area and end correction value to use for ~equivalent results. So if you ever have proper reason to update the spreadsheet you could include this information to prevent ppl making mistakes 😀
To recap, if I calculate a port with the spreadsheet with some NFR value, it's not clear what should I enter to a box simulator if I want to double check the plan. As you said I could just use any (even arbitrary) values to get the same tuning in simulator, but this doesn't provide error checking. Error checking might not be even necessary, I trust you and the spreadsheet, it's just I do not trust myself 😀 Just trying to make system without nasty surprises and want to double check the plans are fine. It's quite nice that the NFR can reduce port length for same tuning, but too much reduction (compared to vituixcad sim) got me suspicious.
For first time users, like me, it would be helpful to have fields in the spreadsheet that show values one could use in a simulator like hornresp, or in VituixCAD. Which value of port length and area and end correction value to use for ~equivalent results. So if you ever have proper reason to update the spreadsheet you could include this information to prevent ppl making mistakes 😀
Last edited:
you cannot check that - unfortunately - because I know of no simulator that provides a similar possibility to include flared ports (but maybe there is one?).what should I enter to a box simulator if I want to double check the plan.
I'm afraid checking the tuning by using the actual lenght and the effective port surface is not much safer than just simply comparing the tuning frequencies.
But I agree it may be sensible to make two clearly identifiable fields that provide values for cross-checking.
Generally, for flared ports the influence of mounting variants is very small, because of the low acceleration, low velocity and low displacement of air at the port ends.
The narrow port section with high air velocities is responsible for the loading and tuning, so compared to simple tube ports the difference between a flush mounted or freely protruding port is very small.
For a flared port geometry defined using the excel sheet you don't need to include any end correction factors. It will behave just very similarly in any mounting situation.
Flared port ends very close to an adjacent enclosure wall (distance near or below port mouth radius) will lead to a very slightly lower tuning, because of "virtual extension" of port.
See the capped port here. But also here the tuning just changed veeery slightly, because the slow air has low influence for the loading/tuning.
Last edited:
You will be seriously shocked about this.These tolerances are so microscopic compared to the accuracy of usual data sheet TSP sets or the TSP changes at different sound levels or an enclosure volume calculation that I suggest to consider them sufficiently reliable.
Last week I got a couple of drivers Klippel tested for some potential upcoming projects.
It can be all over the place.
In fact, even the Kms(x) and BL(x) data can look okay, but the more long term performance (DIS), can be total garbage.
In this case a subwoofer that claims to have 8mm excursion, but the surround can't handle it
All that begin said, it's a very tricky chicken-egg story.
Because the error of the tuning freq goes on TOP of all these other things.
Making the results even less predictable.
If we take a step back and look it from the bigger picture.
For me personally, it's to much of a compromise for any "high-end no-compromise" (whatever that means) project.
Or in other words, we just simply have to accept the fact that low-end could be unpredictable otherwise.
That doesn't have to be the end of the world.
In just means that we sometimes have to go back-and-fort tweaking and tuning things, instead of sitting in our lazy chairs simulating stuff.
In the end of the day it's not a matter if a system simulates well, but if it gave us a satisfying practical result.
All of these things are tools, not goals.
Could not agree more !!!In just means that we sometimes have to go back-and-fort tweaking and tuning things, instead of sitting in our lazy chairs simulating stuff.
In the end of the day it's not a matter if a system simulates well, but if it gave us a satisfying practical result.
All of these things are tools, not goals.
I love Hornresp; I've used it to design and specify the prototype for every type sub I've built.
However, once I build the proto box, it's all about measuring, low signal and stress signal.
With ported designs, I always leave a way to at least alter the proto's port length, if not port area too (which is usually not easy at all, and so far I've not had to do)
I personally don't feel the variance between my final box and the starting sim is worth bothering over. The starting Hornresp sim has always been close enough to get me into the ballpark.....I don't ask it to locate home plate. 😀
I can already show another example as well.
Pay close attention to the parameters here, in particular the shift in Fs, as well as Qms and Rms.
These are the small signal, vs warm signal parameters.
So still at excursion = 0mm
We are going from 69Hz (nice) to a whopping 51Hz!!!
A Qt of 0.5 to 0.37
A none of these line up with the datasheet 🙁
Because they measure those parameters at some none-standard voltage 😡
So here is the one million dollar question.
What on earth are we gonna use as a starting point for our simulations?
Not even considering the large signal behavior.
Pay close attention to the parameters here, in particular the shift in Fs, as well as Qms and Rms.
These are the small signal, vs warm signal parameters.
So still at excursion = 0mm
We are going from 69Hz (nice) to a whopping 51Hz!!!
A Qt of 0.5 to 0.37
A none of these line up with the datasheet 🙁
Because they measure those parameters at some none-standard voltage 😡
So here is the one million dollar question.
What on earth are we gonna use as a starting point for our simulations?
Not even considering the large signal behavior.
Last edited:
And that is exactly the point! 🙂The starting Hornresp sim has always been close enough to get me into the ballpark.....
Also one of the reasons why I often prefer closed systems.
They are far more predictable and require less iterations, often none at all.
I consider horn systems the other side of the spectrum.
Can sound great, but require a lot of work to nail down exactly right.
Or some people are just fine and accept whatever results will just practically come out of it.
Which is the part that I call expectations.
In the end of the day it's a question about predictability and expectations.
If our expectations (= requirements) are low we also don't need a lot of predictability.
Anyway, that quickly becomes a very philosophical subject.
Considering this I feel a lot more relaxed with any +/- compression of port output at different spl levels!We are going from 69Hz (nice) to a whopping 51Hz!!!
A Qt of 0.5 to 0.37
After all the whole speaker tuning changes with level anyways ... 😊
lol, well it's mostly just very interesting to know where those limits are!Considering this I feel a lot more relaxed with any +/- compression of port output at different spl levels!
After all the whole speaker tuning changes with level anyways ... 😊
Which is why all your effort is such a gold mine! 🙂
Because now we actually KNOW how far off we are, instead of just having to wildly guess.
I already mentioned this before, but just as a fun exercise, simulate the system with just only 82% BL and next 75% BL.
.... Bye bye, beautiful system response
stv, ok how would you design a port for a speaker, what's your procedure?
I'm currently trying it in this order:

What I did there is I fitted the NFR spreadsheet to the traditional sim.
Ok I need two smaller ports instead of one gigantic, so I cut the area in half for two ports and set number of ports for two in VituixCAD. I had to elongate the port to 58cm to get same tuning of 33Hz. Now swap vituixcad back to one port to get tuning for one port. Then transfer that into the spreadsheet: port diameter 21.1cm, actual length 58cm and start shrinking the actual length to match tuning. Port length reduces to 28cm, whopping +50% reduction!

Ok fine, but here I'm bit confused how should I continue optimizing the system for two ports? After all I'd like to get maximal output from the system.
Looking at port minimum cross section in the spreadsheet for both examples the two ports version would have about 266cm2 combined whereas big port has about ~380cm2. This likely affects the performance making the two ports perform worse, to compress earlier? So instead of tweaking the actual length for the two port version to match tuning, I'd better to open them up by reducing the NFR and elongate the actual length?
If I drop NFR to 0,34 and elongate the two ports 3cm I get similar tuning and combined area as the bigger port.

Difference between one big port and two small ones is now in diameter / length ratio and smaller NFR. What is the difference in performance now? Is compression the same for one big port and two small ones now the same? What about distortion? What I did not calculate here is the strouhal numbers
I'm currently trying it in this order:
- in traditional port designer like in VituixCAD enclosure tool I use the maximal port area that I think I can manage and find out the port length for tuning I'd like to have. In this case 33Hz driver Fs, 30cm diameter port (split in two I can print with my 3D printer, which sets the handy max size). And length endsup 50cm, which is too long to fit without angling so let's shrink it.
- using NFR spreadsheet: input enclosure volume, port area and length from the vituixcad sim. Tuning in spreadsheet is way low, so let's start reducing actual length. Experimentally I find 30cm actual length (NFR = 0,5) gives same tuning as vituixcad. That's whopping 40% reduction in port length!

What I did there is I fitted the NFR spreadsheet to the traditional sim.
Ok I need two smaller ports instead of one gigantic, so I cut the area in half for two ports and set number of ports for two in VituixCAD. I had to elongate the port to 58cm to get same tuning of 33Hz. Now swap vituixcad back to one port to get tuning for one port. Then transfer that into the spreadsheet: port diameter 21.1cm, actual length 58cm and start shrinking the actual length to match tuning. Port length reduces to 28cm, whopping +50% reduction!

Ok fine, but here I'm bit confused how should I continue optimizing the system for two ports? After all I'd like to get maximal output from the system.
Looking at port minimum cross section in the spreadsheet for both examples the two ports version would have about 266cm2 combined whereas big port has about ~380cm2. This likely affects the performance making the two ports perform worse, to compress earlier? So instead of tweaking the actual length for the two port version to match tuning, I'd better to open them up by reducing the NFR and elongate the actual length?
If I drop NFR to 0,34 and elongate the two ports 3cm I get similar tuning and combined area as the bigger port.

Difference between one big port and two small ones is now in diameter / length ratio and smaller NFR. What is the difference in performance now? Is compression the same for one big port and two small ones now the same? What about distortion? What I did not calculate here is the strouhal numbers
Last edited:
Just in general, the losses and other issues with small(er) ports are always bigger, rarely better.Difference between one big port and two small ones is now in diameter / length ratio and smaller NFR. What is the difference in performance now? Is compression the same for one big port and two small ones now the same? What about distortion? What I did not calculate here is the strouhal numbers
So it never scales equally.
May I ask why you want two ports instead of one?
Multiple reasons for two ports in my project:
It's (one of two) high power subs for big stereo system for a friend and attempt is to tackle two applications, just regular hifi use with modest SPL but also for occasional party outside, so roughly 120db SPL capacity target in mind. Plan is to block one port for the hifi use to get very wide bandwidth response from the system and have both open for party for more output. At least this is the idea for now.
Another reason is that it is big subwoofer, single driver, and I want the roundings for ports as per results in this thread. These are kind of difficult to manufacture with wood and square port so would like to 3D print them. And to do printing in one (or two, cut length wise) piece with desktop printer I need to split into two smaller ports.
Third reason is the box is particular size and shape to get the mid-top sitting on it to correct height both listening sitting (hifi) and standing (party). Longest dimension of the box drops the lowest below 200Hz so quite close to passband, and I can eliminate this by putting the driver middle of the long dimension. If I use only one port it introduces asymmetry to the dimension and I'm not sure where the correct place to cancel the first mode is then so it's just handy to have two ports for symmetry. Smaller port mouths also reduce other harmonics coming through.
So, trying to get good output capacity and good sound from it. Two vs. single port, well, not sure which one would be better optimization until trying it. Two ports seems more logical to me before testing this it out. This is my first high output system so I just don't know better yet. I have closed box woofers in my own system as I don't need 120db capacity 😀
It's (one of two) high power subs for big stereo system for a friend and attempt is to tackle two applications, just regular hifi use with modest SPL but also for occasional party outside, so roughly 120db SPL capacity target in mind. Plan is to block one port for the hifi use to get very wide bandwidth response from the system and have both open for party for more output. At least this is the idea for now.
Another reason is that it is big subwoofer, single driver, and I want the roundings for ports as per results in this thread. These are kind of difficult to manufacture with wood and square port so would like to 3D print them. And to do printing in one (or two, cut length wise) piece with desktop printer I need to split into two smaller ports.
Third reason is the box is particular size and shape to get the mid-top sitting on it to correct height both listening sitting (hifi) and standing (party). Longest dimension of the box drops the lowest below 200Hz so quite close to passband, and I can eliminate this by putting the driver middle of the long dimension. If I use only one port it introduces asymmetry to the dimension and I'm not sure where the correct place to cancel the first mode is then so it's just handy to have two ports for symmetry. Smaller port mouths also reduce other harmonics coming through.
So, trying to get good output capacity and good sound from it. Two vs. single port, well, not sure which one would be better optimization until trying it. Two ports seems more logical to me before testing this it out. This is my first high output system so I just don't know better yet. I have closed box woofers in my own system as I don't need 120db capacity 😀
Last edited:
- Home
- Loudspeakers
- Multi-Way
- Investigating port resonance absorbers and port geometries