Mechanical - Moosevellous/Trace GitHub Wiki
Predicts the down-duct attenuation from solid ducts (lined or unlined) according to 2 methods. Reynolds method uses empirically derived formula to estimate the attenuation given the input parameters. The ASHRAE method selects the closest dimensions from the tables of data provided in their documentation.
Function GetReynoldsDuct(freq As String, H As Double, w As Double, thickness As Double, L As Double)
Note that all parameters are input as millimetres, except for Length, which is input as metres.
The insertion loss is calculated using the formula:
IL = (3.281 * b(i)) * ((0.305 * PonA) ^ c(i)) * ((0.039 * thickness) ^ d(i)) * L
where the PonA
is the ratio of perimeter to area of the duct and values of b
, c
and d
are defined as:
constant | 63 | 125 | 250 | 500 | 1k | 2k | 4k | 8k |
---|---|---|---|---|---|---|---|---|
b | 0.0133 | 0.0574 | 0.271 | 1.0147 | 1.77 | 1.392 | 1.518 | 1.581 |
c | 1.959 | 1.41 | 0.824 | 0.5 | 0.695 | 0.802 | 0.451 | 0.219 |
d | 0.917 | 0.941 | 1.079 | 1.087 | 0 | 0 | 0 | 0 |
For 250Hz octave band and below, additional attenuation is calculated using:
Attn = 0.066 * ((0.305 * PonA) ^ 0.8) * L
for 500Hz octave band and above, if PonA>=10
Attn = 55.8 * ((0.305 * PonA) ^ -0.25) * (f ^ -0.85) * L
for 500Hz octave band and above, if PonA<10
Attn = 5.38 * ((0.305 * PonA) ^ 0.73) * (f ^ -0.58) * L
The value returned is then the sum of the insertion loss and additional attenuation. The maximum allowable value returned is -40dB.
Function GetASHRAEDuct(freq As String, H As Long, w As Long, DuctType As String, Length As Double)
Sound attenuation of sheet metal ducts are outlined in ASHRAE handbook, Chapter 48 ”Noise and Vibration Control”. The handbook provides the insertion loss values of a given duct size at each frequency and is given by:
- Dimensions of duct – width and height (in mm)
- Length of duct (in m)
The insertion loss values are provided in the following tables:
1. Unlined rectangular sheet metal ducts
Duct size, mm | 63Hz | 125Hz | 250Hz | >250Hz |
---|---|---|---|---|
150 x 150 | 0.98 | 0.66 | 0.33 | 0.33 |
305 x 305 | 1.15 | 0.66 | 0.33 | 0.20 |
305 x 610 | 1.31 | 0.66 | 0.33 | 0.16 |
610 x 610 | 0.82 | 0.66 | 0.33 | 0.10 |
1220 x 1220 | 0.49 | 0.33 | 0.23 | 0.07 |
1830 x 1830 | 0.33 | 0.33 | 0.16 | 0.07 |
2. Rectangular sheet metal ducts with 25mm fibreglass lining
Duct size, mm | 125Hz | 250Hz | 500Hz | 1000Hz | 2000Hz | 4000Hz | |
---|---|---|---|---|---|---|---|
150 | 150 | 2.0 | 4.9 | 8.9 | 19.0 | 24.3 | 14.1 |
150 | 250 | 1.6 | 3.9 | 7.9 | 16.7 | 20.0 | 12.1 |
200 | 200 | 1.6 | 3.9 | 7.5 | 16.4 | 19.0 | 11.8 |
150 | 300 | 1.6 | 3.9 | 7.5 | 16.4 | 19.0 | 11.8 |
200 | 300 | 1.3 | 3.3 | 6.9 | 14.8 | 16.1 | 10.5 |
250 | 250 | 1.3 | 3.3 | 6.9 | 14.4 | 15.4 | 10.2 |
150 | 460 | 1.6 | 3.3 | 7.2 | 15.4 | 17.1 | 10.8 |
300 | 300 | 1.3 | 2.6 | 6.2 | 13.1 | 13.5 | 9.2 |
200 | 460 | 1.3 | 3.0 | 6.6 | 14.1 | 14.8 | 9.8 |
250 | 410 | 1.3 | 2.6 | 6.2 | 13.1 | 13.1 | 8.9 |
200 | 610 | 1.3 | 2.6 | 6.2 | 13.1 | 13.5 | 9.2 |
250 | 510 | 1.0 | 2.6 | 5.9 | 12.5 | 12.1 | 8.5 |
300 | 460 | 1.0 | 2.3 | 5.6 | 12.1 | 11.5 | 8.2 |
380 | 380 | 1.0 | 2.3 | 5.6 | 11.8 | 10.8 | 7.9 |
300 | 610 | 1.0 | 2.0 | 5.6 | 11.5 | 10.5 | 7.5 |
250 | 760 | 1.0 | 2.3 | 5.6 | 11.8 | 10.8 | 7.9 |
460 | 460 | 1.0 | 2.0 | 5.2 | 10.8 | 9.5 | 7.2 |
380 | 560 | 1.0 | 2.0 | 5.2 | 10.8 | 9.5 | 7.2 |
300 | 910 | 1.0 | 2.0 | 5.2 | 10.8 | 9.5 | 7.2 |
380 | 760 | 1.0 | 1.6 | 4.9 | 10.2 | 8.5 | 6.6 |
460 | 710 | 0.7 | 1.6 | 4.6 | 9.8 | 7.9 | 6.2 |
610 | 610 | 0.7 | 1.6 | 4.6 | 9.2 | 7.2 | 5.9 |
460 | 910 | 0.7 | 1.6 | 4.6 | 9.2 | 7.2 | 5.9 |
380 | 1140 | 0.7 | 1.6 | 4.6 | 9.5 | 7.9 | 6.2 |
610 | 910 | 0.7 | 1.3 | 3.9 | 8.5 | 6.2 | 5.2 |
760 | 760 | 0.7 | 1.3 | 3.9 | 8.2 | 5.9 | 5.2 |
460 | 1370 | 0.7 | 1.3 | 4.3 | 8.9 | 6.6 | 5.6 |
610 | 1220 | 0.7 | 1.3 | 3.9 | 7.9 | 5.6 | 4.9 |
910 | 910 | 0.7 | 1.0 | 3.6 | 7.5 | 5.2 | 4.6 |
760 | 1140 | 0.7 | 1.0 | 3.6 | 7.5 | 5.2 | 4.6 |
610 | 1830 | 0.7 | 1.0 | 3.6 | 7.5 | 5.2 | 4.6 |
1070 | 1070 | 0.7 | 1.0 | 3.3 | 6.9 | 4.6 | 4.3 |
760 | 1520 | 0.7 | 1.0 | 3.6 | 7.2 | 4.6 | 4.3 |
910 | 1370 | 0.3 | 1.0 | 3.3 | 6.9 | 4.3 | 3.9 |
1220 | 1220 | 0.3 | 1.0 | 3.3 | 6.6 | 3.9 | 3.9 |
910 | 1830 | 0.3 | 1.0 | 3.3 | 6.6 | 3.9 | 3.9 |
910 | 1830 | 0.3 | 0.7 | 3.0 | 6.2 | 3.6 | 3.6 |
760 | 2290 | 0.3 | 1.0 | 3.3 | 6.9 | 4.3 | 3.9 |
1070 | 1630 | 0.3 | 1.0 | 3.0 | 6.2 | 3.9 | 3.6 |
1220 | 1830 | 0.3 | 0.7 | 3.0 | 5.9 | 3.3 | 3.3 |
1070 | 2130 | 0.3 | 0.7 | 3.0 | 5.9 | 3.6 | 3.6 |
1020 | 2440 | 0.3 | 0.7 | 2.6 | 5.6 | 3.3 | 3.3 |
1070 | 3200 | 0.3 | 0.7 | 3.0 | 5.6 | 3.3 | 3.3 |
1020 | 3660 | 0.3 | 0.7 | 2.6 | 5.2 | 3.0 | 3.0 |
3. Rectangular sheet metal ducts with 50mm fibreglass lining
Duct size, mm | 125 | 250 | 500 | 1000 | 2000 | 4000 | |
---|---|---|---|---|---|---|---|
150 | 150 | 2.6 | 9.5 | 16.1 | 23.6 | 24.3 | 14.1 |
150 | 250 | 2.3 | 7.9 | 14.4 | 21.0 | 20.0 | 12.1 |
200 | 200 | 2.0 | 7.5 | 13.8 | 20.3 | 19.0 | 11.8 |
150 | 300 | 2.0 | 7.5 | 13.8 | 20.3 | 19.0 | 11.8 |
200 | 300 | 2.0 | 6.2 | 12.8 | 18.4 | 16.1 | 10.5 |
250 | 250 | 2.0 | 6.2 | 12.5 | 18.0 | 15.4 | 10.2 |
150 | 460 | 2.0 | 6.9 | 13.1 | 19.0 | 17.1 | 10.8 |
300 | 300 | 1.6 | 5.2 | 11.5 | 16.4 | 13.5 | 9.2 |
200 | 460 | 1.6 | 5.9 | 12.1 | 17.7 | 14.8 | 9.8 |
250 | 410 | 1.6 | 5.2 | 11.2 | 16.4 | 13.1 | 8.9 |
200 | 610 | 1.6 | 5.2 | 11.5 | 16.4 | 13.5 | 9.2 |
250 | 510 | 1.3 | 4.9 | 10.8 | 15.7 | 12.1 | 8.5 |
300 | 460 | 1.3 | 4.6 | 10.5 | 15.1 | 11.5 | 8.2 |
380 | 380 | 1.3 | 4.3 | 10.2 | 14.8 | 10.8 | 7.9 |
300 | 610 | 1.3 | 4.3 | 9.8 | 14.1 | 10.5 | 7.5 |
250 | 760 | 1.3 | 4.3 | 10.2 | 14.8 | 10.8 | 7.9 |
460 | 460 | 1.3 | 3.9 | 9.5 | 13.5 | 9.5 | 7.2 |
380 | 560 | 1.3 | 3.9 | 9.5 | 13.5 | 9.5 | 7.2 |
300 | 910 | 1.3 | 3.9 | 9.5 | 13.5 | 9.5 | 7.2 |
380 | 760 | 1.0 | 3.6 | 8.9 | 12.8 | 8.5 | 6.6 |
460 | 710 | 1.0 | 3.3 | 8.5 | 12.1 | 7.9 | 6.2 |
610 | 610 | 1.0 | 3.0 | 8.2 | 11.5 | 7.2 | 5.9 |
460 | 910 | 1.0 | 3.0 | 8.2 | 11.5 | 7.2 | 5.9 |
380 | 1140 | 1.0 | 3.3 | 8.5 | 11.8 | 7.9 | 6.2 |
610 | 910 | 1.0 | 2.6 | 7.5 | 10.5 | 6.2 | 5.2 |
760 | 760 | 0.7 | 2.6 | 7.2 | 10.2 | 5.9 | 5.2 |
460 | 1370 | 1.0 | 2.6 | 7.5 | 10.8 | 6.6 | 5.6 |
610 | 1220 | 0.7 | 2.3 | 7.2 | 9.8 | 5.6 | 4.9 |
910 | 910 | 0.7 | 2.3 | 6.6 | 9.5 | 5.2 | 4.6 |
760 | 1140 | 0.7 | 2.3 | 6.6 | 9.5 | 5.2 | 4.6 |
610 | 1830 | 0.7 | 2.3 | 6.6 | 9.5 | 5.2 | 4.6 |
1070 | 1070 | 0.7 | 2.0 | 6.2 | 8.5 | 4.6 | 4.3 |
760 | 1520 | 0.7 | 2.0 | 6.2 | 8.9 | 4.6 | 4.3 |
910 | 1370 | 0.7 | 2.0 | 6.2 | 8.5 | 4.3 | 3.9 |
1220 | 1220 | 0.7 | 1.6 | 5.9 | 8.2 | 3.9 | 3.9 |
910 | 1830 | 0.7 | 1.6 | 5.9 | 8.2 | 3.9 | 3.9 |
910 | 1830 | 0.7 | 1.6 | 5.6 | 7.5 | 3.6 | 3.6 |
760 | 2290 | 0.7 | 1.6 | 5.9 | 8.5 | 4.3 | 3.9 |
1070 | 1630 | 0.7 | 1.6 | 5.6 | 7.9 | 3.9 | 3.6 |
1220 | 1830 | 0.7 | 1.3 | 5.2 | 7.5 | 3.3 | 3.3 |
1070 | 2130 | 0.7 | 1.6 | 5.2 | 7.5 | 3.6 | 3.6 |
1020 | 2440 | 0.3 | 1.3 | 4.9 | 6.9 | 3.3 | 3.3 |
1070 | 3200 | 0.3 | 1.3 | 5.2 | 7.2 | 3.3 | 3.3 |
1020 | 3660 | 0.1 | 1.3 | 4.9 | 6.6 | 3.0 | 3.0 |
4. Unlined straight round ducts
Diameter, mm | 63 | 125 | 250 | 500 | 1000 | 2000 | 4000 |
---|---|---|---|---|---|---|---|
180 | 0.1 | 0.1 | 0.16 | 0.16 | 0.33 | 0.33 | 0.33 |
380 | 0.1 | 0.1 | 0.1 | 0.16 | 0.23 | 0.23 | 0.23 |
760 | 0.07 | 0.07 | 0.07 | 0.1 | 0.16 | 0.16 | 0.16 |
1520 | 0.03 | 0.03 | 0.03 | 0.07 | 0.07 | 0.07 | 0.07 |
5. Acoustically lined round ducts with 25mm lining
Diameter, mm | 63 | 125 | 250 | 500 | 1000 | 2000 | 4000 | 8000 |
---|---|---|---|---|---|---|---|---|
150 | 1.25 | 1.94 | 3.05 | 5.02 | 7.12 | 7.58 | 6.69 | 4.13 |
205 | 1.05 | 1.77 | 2.92 | 4.92 | 7.19 | 7.12 | 6.00 | 3.87 |
255 | 0.89 | 1.64 | 2.79 | 4.86 | 7.22 | 6.69 | 5.38 | 3.67 |
305 | 0.75 | 1.51 | 2.66 | 4.76 | 7.15 | 6.27 | 4.86 | 3.44 |
355 | 0.62 | 1.38 | 2.53 | 4.69 | 7.02 | 5.87 | 4.40 | 3.28 |
405 | 0.52 | 1.25 | 2.4 | 4.59 | 6.82 | 5.48 | 3.97 | 3.12 |
460 | 0.43 | 1.15 | 2.26 | 4.49 | 6.59 | 5.12 | 3.61 | 2.95 |
510 | 0.36 | 1.02 | 2.13 | 4.4 | 6.30 | 4.00 | 3.28 | 2.85 |
560 | 0.26 | 0.92 | 2 | 4.3 | 5.97 | 4.40 | 3.02 | 2.72 |
610 | 0.23 | 0.82 | 1.87 | 4.2 | 5.61 | 4.07 | 2.79 | 2.62 |
660 | 0.16 | 0.72 | 1.74 | 4.07 | 5.22 | 3.74 | 2.59 | 2.53 |
710 | 0.1 | 0.62 | 1.61 | 3.94 | 4.79 | 3.41 | 2.43 | 2.43 |
760 | 0.07 | 0.52 | 1.47 | 3.81 | 4.36 | 3.12 | 2.26 | 2.33 |
815 | 0.03 | 0.46 | 1.338 | 3.67 | 3.94 | 2.85 | 2.17 | 2.26 |
865 | 0 | 0.36 | 1.25 | 3.51 | 3.51 | 2.59 | 2.07 | 2.17 |
915 | 0 | 0.26 | 1.15 | 3.35 | 3.05 | 2.33 | 1.97 | 2.10 |
965 | 0 | 0.2 | 1.02 | 3.15 | 2.62 | 2.10 | 1.90 | 2.00 |
1015 | 0 | 0.1 | 0.92 | 2.99 | 2.23 | 1.87 | 1.80 | 1.90 |
1070 | 0 | 0.03 | 0.82 | 2.76 | 1.84 | 1.64 | 1.74 | 1.80 |
1120 | 0 | 0 | 0.75 | 2.56 | 1.48 | 1.44 | 1.67 | 1.71 |
1170 | 0 | 0 | 0.66 | 2.33 | 1.15 | 1.28 | 1.57 | 1.57 |
1220 | 0 | 0 | 0.59 | 2.07 | 0.85 | 1.12 | 1.48 | 1.44 |
1270 | 0 | 0 | 0.49 | 1.8 | 0.62 | 0.95 | 1.35 | 1.31 |
1320 | 0 | 0 | 0.46 | 1.51 | 0.43 | 0.82 | 1.21 | 1.12 |
1370 | 0 | 0 | 0.39 | 1.21 | 0.30 | 0.72 | 1.02 | 0.95 |
1420 | 0 | 0 | 0.33 | 0.9 | 0.26 | 0.59 | 0.82 | 0.72 |
1475 | 0 | 0 | 0.3 | 0.56 | 0.26 | 0.42 | 0.59 | 0.49 |
1525 | 0 | 0 | 0.26 | 0.52 | 0.33 | 0.46 | 0.30 | 0.23 |
6. Acoustically lined round ducts with 50mm lining
Diameter, mm | 63 | 125 | 250 | 500 | 1000 | 2000 | 4000 | 8000 |
---|---|---|---|---|---|---|---|---|
150 | 1.84 | 2.62 | 4.49 | 7.38 | 7.12 | 7.58 | 6.69 | 4.13 |
205 | 1.67 | 2.46 | 4.36 | 7.32 | 7.19 | 7.12 | 6.00 | 3.87 |
255 | 1.51 | 2.33 | 4.23 | 7.22 | 7.22 | 6.69 | 5.38 | 3.67 |
305 | 1.38 | 2.2 | 4.1 | 7.15 | 7.15 | 6.27 | 4.86 | 3.44 |
355 | 1.25 | 2.07 | 3.9 | 7.05 | 7.02 | 5.87 | 4.40 | 3.28 |
405 | 1.15 | 1.94 | 3.84 | 6.96 | 6.82 | 5.48 | 3.97 | 3.12 |
460 | 1.05 | 1.84 | 3.71 | 6.89 | 6.59 | 5.12 | 3.61 | 2.95 |
510 | 0.95 | 1.71 | 3.58 | 6.79 | 6.30 | 4.76 | 3.28 | 2.85 |
560 | 0.89 | 1.61 | 3.44 | 6.66 | 5.97 | 4.40 | 3.02 | 2.72 |
610 | 0.82 | 1.51 | 3.31 | 6.56 | 5.61 | 4.07 | 2.79 | 2.62 |
660 | 0.79 | 1.41 | 3.18 | 6.43 | 5.22 | 3.74 | 2.59 | 2.53 |
710 | 0.72 | 1.31 | 3.05 | 6.33 | 4.79 | 3.41 | 2.43 | 2.43 |
760 | 0.69 | 1.21 | 2.95 | 6.17 | 4.36 | 3.12 | 2.26 | 2.33 |
815 | 0.66 | 1.12 | 2.82 | 6.04 | 3.94 | 2.85 | 2.17 | 2.26 |
865 | 0.62 | 1.05 | 2.69 | 5.87 | 3.51 | 2.59 | 2.07 | 2.17 |
915 | 0.59 | 0.95 | 2.59 | 5.71 | 3.05 | 2.33 | 1.97 | 2.10 |
965 | 0.56 | 0.89 | 2.49 | 5.54 | 2.62 | 2.10 | 1.90 | 2.00 |
1015 | 0.52 | 0.79 | 2.4 | 5.35 | 2.23 | 1.87 | 1.80 | 1.90 |
1070 | 0.49 | 0.72 | 2.3 | 5.15 | 1.84 | 1.64 | 1.74 | 1.80 |
1120 | 0.43 | 0.66 | 2.2 | 4.92 | 1.48 | 1.44 | 1.67 | 1.71 |
1170 | 0.39 | 0.56 | 2.1 | 4.69 | 1.15 | 1.28 | 1.57 | 1.57 |
1220 | 0.36 | 0.49 | 2.03 | 4.46 | 0.85 | 1.12 | 1.48 | 1.44 |
1270 | 0.3 | 0.9 | 1.97 | 4.2 | 0.62 | 0.95 | 1.35 | 1.31 |
1320 | 0.23 | 0.33 | 1.9 | 3.9 | 0.43 | 0.82 | 1.21 | 1.12 |
1370 | 0.16 | 0.26 | 1.84 | 3.61 | 0.30 | 0.72 | 1.02 | 0.95 |
1420 | 0.07 | 0.16 | 1.8 | 3.28 | 0.26 | 0.59 | 0.82 | 0.72 |
1475 | 0 | 0.1 | 1.74 | 2.95 | 0.26 | 0.52 | 0.59 | 0.49 |
1525 | 0 | 0 | 1.74 | 2.59 | 0.33 | 0.46 | 0.30 | 0.23 |
Looks up the values from the ASHRAE tables for flexible ducts, see below. No interpolation is made, prefixed lengths can be selected from a dropdown list.
Flexible Duct Insertion Loss
*Diameter | Length | 63 | 125 | 250 | 500 | 1000 | 2000 | 4000 |
---|---|---|---|---|---|---|---|---|
100 | 0.9 | 2 | 3 | 3 | 8 | 9 | 11 | 7 |
100 | 1.8 | 3 | 6 | 6 | 16 | 19 | 21 | 14 |
100 | 2.7 | 5 | 8 | 9 | 23 | 28 | 32 | 20 |
100 | 3.7 | 6 | 11 | 12 | 31 | 37 | 42 | 27 |
125 | 0.9 | 2 | 3 | 4 | 8 | 10 | 10 | 7 |
125 | 1.8 | 4 | 6 | 7 | 16 | 19 | 21 | 13 |
125 | 2.7 | 5 | 9 | 11 | 24 | 29 | 31 | 20 |
125 | 3.7 | 7 | 12 | 14 | 32 | 38 | 41 | 26 |
150 | 0.9 | 2 | 3 | 4 | 8 | 10 | 10 | 7 |
150 | 1.8 | 4 | 6 | 9 | 17 | 19 | 20 | 13 |
150 | 2.7 | 6 | 9 | 13 | 25 | 29 | 30 | 20 |
150 | 3.7 | 8 | 12 | 17 | 33 | 38 | 40 | 26 |
175 | 0.9 | 2 | 3 | 5 | 8 | 9 | 10 | 6 |
175 | 1.8 | 4 | 6 | 10 | 17 | 19 | 19 | 13 |
175 | 2.7 | 6 | 9 | 14 | 5 | 28 | 29 | 19 |
175 | 3.7 | 9 | 12 | 19 | 33 | 37 | 38 | 25 |
200 | 0.9 | 2 | 3 | 5 | 8 | 9 | 9 | 6 |
200 | 1.8 | 4 | 6 | 11 | 17 | 19 | 19 | 12 |
200 | 2.7 | 6 | 8 | 16 | 25 | 28 | 28 | 18 |
200 | 3.7 | 8 | 11 | 21 | 33 | 37 | 37 | 24 |
225 | 0.9 | 2 | 3 | 6 | 8 | 9 | 9 | 6 |
225 | 1.8 | 4 | 6 | 11 | 17 | 19 | 19 | 12 |
225 | 2.7 | 6 | 8 | 17 | 25 | 28 | 27 | 17 |
225 | 3.7 | 8 | 11 | 22 | 33 | 37 | 36 | 22 |
250 | 0.9 | 2 | 3 | 6 | 8 | 9 | 9 | 5 |
250 | 1.8 | 4 | 5 | 11 | 16 | 18 | 17 | 11 |
250 | 2.7 | 6 | 8 | 17 | 24 | 27 | 26 | 16 |
250 | 3.7 | 8 | 10 | 22 | 32 | 36 | 34 | 21 |
300 | 0.9 | 2 | 2 | 5 | 8 | 9 | 8 | 5 |
300 | 1.8 | 3 | 5 | 10 | 15 | 17 | 16 | 9 |
300 | 2.7 | 5 | 7 | 15 | 23 | 26 | 23 | 14 |
300 | 3.7 | 7 | 9 | 20 | 30 | 34 | 31 | 18 |
350 | 0.9 | 1 | 2 | 4 | 7 | 8 | 7 | 4 |
350 | 1.8 | 3 | 4 | 8 | 14 | 16 | 14 | 7 |
350 | 2.7 | 4 | 5 | 12 | 20 | 23 | 20 | 11 |
350 | 3.7 | 5 | 7 | 16 | 27 | 31 | 27 | 14 |
400 | 0.9 | 1 | 1 | 2 | 6 | 7 | 6 | 2 |
400 | 1.8 | 1 | 2 | 5 | 12 | 14 | 12 | 5 |
400 | 2.7 | 2 | 3 | 7 | 17 | 21 | 17 | 7 |
400 | 3.7 | 2 | 4 | 9 | 23 | 28 | 23 | 9 |
Function GetERL(TerminationType As String, freq As String, DuctArea As Double)
End Reflection Loss (ERL) happens as sound waves in the low end of the frequency spectrum exit a duct into a room, some of that sound energy gets reflected back into the duct.
The formula for End Reflection Loss is given in the ASHRAE handbook, Chapter 48 ”Noise and Vibration Control”:
GetERL = -10*log10(1 + ((A1 * c0) / (f * dia * Pi)) ^ A2)
There are two types of duct terminations defined in the handbook:
- Flush
- Free Space
The duct termination changes the coefficients A1 and A2, as follows:
Flush | Free | |
---|---|---|
A1 | 0.7 | 1 |
A2 | 2 | 2 |
Note that the variable freq
is converted to a value using the Trace function freqStr2Num(freq)
Function GetElbowLoss(fstr As String, W As Double, elbowShape As String, DuctLining As String, VaneType As String)
When sound traveling in a duct encounters a junction, the sound power contained in the main duct is distributed between the branches associated with the junction. The dominant component of this distribution is associated with the energy division between ducts which is determined by the ratio of cross-sectional areas. The following table lists some example values.
SBi/∑SBi | Attenuation, dB | SBi/∑SBi | Attenuation, dB | |
---|---|---|---|---|
1 | 0 | 0.1 | 10 | |
0.8 | 1 | 0.08 | 11 | |
0.63 | 2 | 0.063 | 12 | |
0.5 | 3 | 0.05 | 13 | |
0.4 | 4 | 0.04 | 14 | |
0.32 | 5 | 0.032 | 15 | |
0.25 | 6 | 0.025 | 16 | |
0.2 | 7 | 0.02 | 17 | |
0.16 | 8 | 0.016 | 18 | |
0.12 | 9 | 0.012 | 19 |
Silencers are special ducts with perforated sound absorptive linings, containing elements to channel the air. These elements are known as 'splitters' or 'pods'. Silencers are designed to reduce noise travelling down ducts, but may also be used to reduce sound transmitted between spaces, also known as crosstalk.
The splitters or pods reduce the cross-sectional area (open area) of the duct, thereby inducing a static pressure on the system. Silencers typically come in both rectangular and circular cross sections, varying lengths, and varying open face areas. A smaller open area results in a larger static pressure on the system, and vice versa.
The Silencer
function in Trace can either provide the insertion loss for a silencer given a known model code, or can test all silencer models to find those which meet a given noise target. All silencer data is taken from the Fantech silencer database. This data is stored in
- ...Trace_directory\DATA\Silencers.txt
This file contains a list of octave band insertion losses for a number of silencers, as well as the model number, length, and free area (percentage). Refer to https://www.fantech.com.au/attenuator.aspx for the default data set. Additional rows of data may be added to the text file from any source, provided it follows the same layout.
In order to search for a known silencer model:
- Type the part of the model number which is known (RS, RT, 15C etc...)
- Hit enter or click the 'Search' button. The list will then be searched for matching text strings.
- Select a model within the search results. The insertion loss, free area %, and the length are shown.
- Click 'Insert' to add the silencer to the spreadsheet.
The solver function takes the following inputs:
Function SolveForSilencer(SilRng As String, targetRng As String, NRGoal As Boolean, NoiseGoal As Double)
In order to use the ‘find suitable silencer’ function:
- Define the 'silencer range' as any cell in the calculation row where the silencer is to be inserted.
- Set the 'target range' to any cell in the row where noise criteria has been calculated (usually the final line in the calculation).
- Select either the 'Overall dBA' or 'NR' to define the Noise Goal.
- Click 'Search'. The function will then search for a suitable silencer by testing the list of options against the Noise Goal.
- Select a model within the search results. The insertion loss, free area %, and the length are shown.
- Click 'Insert' to add the silencer to the spreadsheet.
Inserts the transmission loss from louvres in text file:
- ...Trace_directory\Louvres.txt
The values are into the sheet, including a comment containing the length and open area of the louvre.
Function DuctDirLoss2(freq As String, angle As Double, diameter As Double)
This function is based on Directivity Loss at Duct Termination which used empirically measured data to determine directivity from cylindrical ducts of various sizes.
Sound emanating from a duct will vary according to frequency, duct diameter, and angle. Generally speaking as the angle from the normal line of the duct increases, the sound level decreases. The following figure shows how the angles are defined:
The values used in the function are shown in the following table:
Directivity loss vs angle and frequency for various duct diameters
Diameter | Angle | 63 | 125 | 250 | 500 | 1000 | 2000 | 4000 | 8000 |
---|---|---|---|---|---|---|---|---|---|
305 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
305 | 15 | 0 | 0 | 0 | 0 | 0 | 0 | -4 | -1 |
305 | 30 | 0 | 0 | 0 | -1 | -2 | 0 | -6 | -3 |
305 | 45 | -1 | -1 | -1 | -2 | -4 | -4 | -10 | -8 |
305 | 50 | -1 | -2 | -2 | -3 | -7 | -8 | -13 | -12 |
305 | 75 | 0 | -1 | -2 | -4 | -9 | -11 | -15 | -15 |
305 | 90 | -2 | -3 | -4 | -6 | -12 | -16 | -22 | -23 |
305 | 105 | -1 | -2 | -4 | -6 | -13 | -19 | -26 | -28 |
305 | 120 | -3 | -4 | -6 | -9 | -16 | -22 | -30 | -31 |
305 | 135 | -2 | -3 | -5 | -8 | -15 | -22 | -30 | -32 |
305 | 150 | -3 | -4 | -6 | -8 | -17 | -22 | -31 | -31 |
305 | 165 | -5 | -5 | -7 | -10 | -18 | -24 | -33 | -34 |
610 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
610 | -15 | -1 | 0 | -1 | -1 | -2 | -5 | -6 | -6 |
610 | 30 | -1 | 0 | -1 | -3 | -5 | -5 | -8 | -9 |
610 | 45 | -2 | -1 | -2 | -6 | -8 | -10 | -11 | -12 |
610 | 50 | -2 | -1 | -4 | -8 | -10 | -13 | -15 | -18 |
610 | 75 | -2 | -2 | -6 | -10 | -14 | -19 | -22 | -25 |
610 | 90 | -2 | -3 | -7 | -12 | -16 | -22 | -27 | -31 |
610 | 105 | -2 | -3 | -7 | -13 | -18 | -24 | -29 | -33 |
610 | 120 | -3 | -3 | -9 | -14 | -19 | -24 | -31 | -36 |
610 | 135 | -5 | -3 | -10 | -14 | -19 | -26 | -32 | -36 |
610 | 150 | -5 | -4 | -10 | -14 | -20 | -27 | -34 | -38 |
610 | 165 | -5 | -4 | -10 | -15 | -20 | -28 | -34 | -39 |
914 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
914 | 15 | 0 | -1 | -1 | -1 | -3 | -1 | -1 | -3 |
914 | 30 | 0 | -2 | -2 | -3 | -6 | -7 | -2 | -7 |
914 | 45 | 0 | -2 | -4 | -4 | -8 | -12 | -7 | -13 |
914 | 50 | 0 | -3 | -7 | -8 | -11 | -14 | -11 | -19 |
914 | 75 | -1 | -3 | -9 | -11 | -14 | -18 | -15 | -24 |
914 | 90 | -2 | -5 | -12 | -14 | -18 | -22 | -22 | -31 |
914 | 105 | -4 | -6 | -14 | -16 | -20 | -23 | -25 | -34 |
914 | 120 | -4 | -6 | -14 | -16 | -20 | -23 | -25 | -34 |
914 | 135 | -5 | -9 | -17 | -19 | -20 | -25 | -27 | -36 |
914 | 150 | -5 | -10 | -20 | -20 | -20 | -26 | -28 | -37 |
914 | 165 | -6 | -11 | -20 | -20 | -22 | -27 | -29 | -38 |
Based on Noise Control in Building Services, the directivity depends on the frequency and width or height of the louvre/grille at zero degrees. Then the at different angles is found in the second table.
LouvreGrilleDirectivity_SRL(fStr,WidthOrHeight,Angle)
Table 1 - Louvres
Width or Height | 63 | 125 | 250 | 500 | 1k | 2k | 4k | 8k |
---|---|---|---|---|---|---|---|---|
0.5 | 2 | 2.5 | 3 | 3.5 | 4 | 4.5 | 4.5 | 4.5 |
1 | 2.5 | 3 | 3.5 | 4 | 4.5 | 4.5 | 4.5 | 4.5 |
1.5 | 3 | 3.5 | 4 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
2 | 3 | 3.5 | 4 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
2.5 | 3.5 | 4 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
3.5 | 3.5 | 4 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
4.5 | 4 | 4 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
5.5 | 4 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
6 | 4 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
7.5 | 4 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
9 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
10.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
12 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
15 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 | 4.5 |
Table 2 - Directivity Angle theta (degrees)
0 | 20 | 40 | 60 | 80 | 100 | 120 | 140 |
---|---|---|---|---|---|---|---|
2 | 2 | 1.5 | 1.5 | 1 | 1 | 0.5 | 0 |
2.5 | 2.5 | 2 | 1.5 | 1 | 0.5 | 0 | -1 |
3 | 3 | 2 | 1.5 | 0.5 | -0.5 | -1.5 | -3 |
3.5 | 3 | 2.5 | 1 | -0.5 | -2 | -4.5 | -7.5 |
4 | 3.5 | 2.5 | 1 | -2 | -6.5 | -12 | -15 |
4.5 | 4 | 3 | 0 | -15 | -20 | -20 | -20 |
Calculates loss through a plenum, according to ASHRAE method.
Function PlenumLoss_ASHRAE(fstr As String, L As Long, W As Long, H As Long, DuctInL As Single, DuctInW As Single, DuctOutL As Single, DuctOutW As Single, Q As Integer, r_h As Long, r_v As Long, PlenumLiningType As String, UnlinedType As String, WallEffect As String, applyElbowEffect As Boolean, Optional OneThirdsMode As Boolean)
The method is quite complex and includes several lookup tables within the reference document. Implementation has been in one third octave bands, which resolve down to octave bands. The general structure of the calculation is:
- For one-third octave bands:
- Convert input units into metres
- Calculate cutoff frequency
f_co
- Calculate Surface Area
Stotal
and VolumePlenumVolume
- Calculate distance from inlet to outlet
R
- Calculate Area Coefficient
A_f
- Apply Offset Angle Effect
AngleEffect
- Apply Wall Effect
W_e
- Calculate the Plenum Transmission Loss above and below the critical frequency
- Calculate the transmission loss for Octave Bands, based on the One-third Octave Bands
The cutoff frequency is the frequency above which plane waves no longer propagate in a duct. It is a function of diameter of the round duct or the larger cross-sectional dimension of rectangular duct and is given by:
f_co= SpeedofSound / 2 * Largest dimension of the duct
(for rectangular ducts)
or
f_co= 0.586*(SpeedofSound / diameter of the duct
(for round ducts)
From Table 15 of ASHRAE:
Band, Hz | 50 | 63 | 80 | 100 | 125 | 160 | 200 | 250 | 315 | 400 | 500 | 630 | 800 | 1000 | 1250 | 1600 | 2000 | 2500 | 3150 | 4000 | 5000 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
> fco | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 6 | 3 | 3 | 2 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 |
≤ fco | 2 | 3 | 6 | 5 | 3 | 0 | -2 | -3 | -1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
The offset angle effect is calculated using a lookup table by comparing the offset angle between the inlet and the outlet of the plenum and the frequency of consideration. The lookup table varies for f ≤ f_co and f ≥ f_co. The function below returns the values from a lookup table.
Function PlenumOAE(f_input As Double, f_co As Double, Angle_input As Single)
The lookup tables are as follows:
Band, Hz | 50 | 63 | 80 | 100 | 125 | 160 | 200 | 250 | 315 | 400 | 500 | 630 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0.0 degrees | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | N/A |
15.0 degrees | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 4 | 2 | 1 | N/A |
22.5 degrees | 0 | 0 | -1 | 0 | 0 | -1 | -1 | 2 | 6 | 4 | 3 | N/A |
30.0 degrees | 0 | 0 | -3 | -2 | -2 | -2 | -2 | 3 | 8 | 6 | 6 | N/A |
37.5 degrees | 0 | 0 | -4 | -3 | -4 | -3 | -3 | 5 | 10 | 9 | 10 | N/A |
45.0 degrees | 0 | 0 | -6 | -6 | -6 | -4 | -5 | 7 | 14 | 13 | 15 | N/A |
Band, Hz | 160 | 200 | 250 | 315 | 400 | 500 | 630 | 800 | 1000 | 1.25k | 1.6k | 2k | 2.5k | 3.15k | 4k | 5k |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0.0 degrees | N/A | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
15.0 degrees | N/A | 1 | 2 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
22.5 degrees | N/A | 4 | 4 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 3 |
30.0 degrees | N/A | 9 | 8 | 3 | 3 | 2 | 3 | 2 | 4 | 4 | 1 | 4 | 3 | 4 | 5 | 6 |
37.5 degrees | N/A | 14 | 13 | 4 | 4 | 4 | 5 | 3 | 6 | 6 | 2 | 7 | 5 | 6 | 8 | 10 |
45.0 degrees | N/A | 20 | 19 | 5 | 6 | 5 | 7 | 3 | 9 | 9 | 3 | 10 | 8 | 9 | 12 | 15 |
The area coefficient Function PlenumAreaCoefficient(f_input As Double, Vol As Single)
The values are taken from Table 13 of ASHRAE.
Band, Hz | 50 | 63 | 80 | 100 | 125 | 160 | 200 | 250 | 315 | 400 | 500 |
---|---|---|---|---|---|---|---|---|---|---|---|
<1.5m3 plenum volume | 1.4 | 1.0 | 1.1 | 2.3 | 2.4 | 2.0 | 1.0 | 2.2 | 0.7 | 0.7 | 1.1 |
>=1.5m3 plenum volume | 0.3 | 0.3 | 0.3 | 0.3 | 0.4 | 0.4 | 0.3 | 0.4 | 0.3 | 0.2 | 0.2 |
The wall effect considers low frequency characteristics of Plenum Transmission Loss(50Hz to 500Hz). The function is:
Function PlenumWallEffect(f As Double, WallType As Integer)
The values are taken from Table 13 of ASHRAE.
Band, Hz | 50 | 63 | 80 | 100 | 125 | 160 | 200 | 250 | 315 | 400 | 500 |
---|---|---|---|---|---|---|---|---|---|---|---|
25mm, 40kg/m3 (fabric facing) | 1 | 1 | 2 | 2 | 2 | 3 | 4 | 5 | 6 | 8 | 9 |
50mm, 40kg/m3 (fabric facing) | 1 | 2 | 2 | 2 | 3 | 4 | 10 | 9 | 12 | 13 | 13 |
100mm, 40kg/m3 (perf facing) | 0 | 3 | 3 | 4 | 6 | 11 | 16 | 13 | 14 | 13 | 12 |
200mm, 40kg/m3 (perf facing) | 1 | 7 | 9 | 12 | 12 | 11 | 15 | 12 | 14 | 14 | 13 |
100mm (tuned, no media) | 0 | 1 | 2 | 1 | 1 | 0 | 4 | 1 | 5 | 7 | 8 |
100mm, 40kg/m3 (double solid metal) | 0 | 3 | 7 | 6 | 4 | 2 | 3 | 1 | 2 | 1 | 0 |
Below the cutoff frequency:
PlenumLossOneThirdOctave_ASHRAE = _
-1 * Application.WorksheetFunction.Min((A_f * Stotal) _
+ W_e + AngleEffect, 20) 'limit to 20dB, output is negative
Above the cutoff frequency:
PlenumLossOneThirdOctave_ASHRAE = -1 * (b * (((OutletArea * Q / _
(4 * Application.WorksheetFunction.Pi() * (R ^ 2))) _
+ AbsorptionArea(A_index)) ^ n) + AngleEffect)
where
b = 3.505
n = -0.359
If required, the conversion to octaves is done with the following formula:
PlenumLoss_ASHRAE = 10 * Application.WorksheetFunction.Log10((1 / 3) * ((10 ^ (Loss1 / 10)) + (10 ^ (Loss2 / 10)) + (10 ^ (Loss3 / 10))))
Function GetDuctBreakout(freq As String, H As Single, w As Single, L As Single, MaterialDensity As Single, DuctWallThickness As Single)
This function uses the NEBB method to calculate sound breakout from a duct, based on the duct dimensions and duct wall properties.
For rectangular ducts, the transmission loss for breakout is divided into regions by frequency: a region where plane mode transmission within the duct is dominant; and a region where multimode transmission is dominant as shown here:
If plane mode predominates, TLout is:
TLout = 10 * Application.WorksheetFunction.Log10((f * (SurfaceMass ^ 2)) / (w + H)) + 17
While in multi-mode, TLout is:
TLout = 20 * Application.WorksheetFunction.Log10(f * SurfaceMass) – 45
However, TLout must be no greater than 45 dB:
If TLout > 45 Then TLout = 45
In addition, when the fundamental wall resonance is below the frequency range of interest or the minimum transmission loss is dependent on duct dimensions, minimum TLout is:
TLoutMin = 10 * Application.WorksheetFunction.Log10(2 * L * 1000 * ((1 / w) + (1 / H)))
Function GetDuctBreakIn(freq As String, H As Single, w As Single, L As Single, MaterialDensity As Single, DuctWallThickness As Single)
Break-in is a phenomenon that covers the transmission of sound energy into a duct through the duct walls from the space outside the duct.

The break-in transmission loss is divided in two regions separated by the frequency for the lowest acoustic cross-mode in the duct or the cutoff frequency.
If the frequency ≤ cutoff frequency, TLin is the larger value of the following equation:
TLin_a = TLout - 4 - (10 * Application.WorksheetFunction.Log(a / b)) + (20 * Application.WorksheetFunction.Log(f / f1))
TLin_b = 10 * Application.WorksheetFunction.Log((L * 1000) * ((1 / a) + (1 / b)))
In case, the frequency > cutoff frequency, TLin is:
TLin1 = TLout - 3
The sound power being transmitted from the exterior of the duct will depend on the type of sound field present in the space.
Calculates regenerated noise from Dampers using the following methods:
- NEBB
- ASHRAE
The NEBB method calls the following function:
DamperRegen_NEBB(fstr As String, FlowRate As Double, PressureLoss As Double, DuctHeight As Double, DuctWidth As Double, MultiBlade As Boolean, Optional mCubedPerSecond As Boolean)
The ASHRAE method looks up spectra from the source document for different air velocities.
Calculates regenerated noise from Elbows/Bends using the following methods:
- NEBB
- ASHRAE
The NEBB method calls one of the following functions:
Function ElbowWithVanesRegen_NEBB(fstr As String, FlowRate As Double, dP As Double, DuctWidth As Double, DuctHeight As Double, CordLength As Double, numVanes As Integer, Optional mCubedPerSecond As Boolean)
Function ElbowOrJunctionRegen_NEBB(fstr As String, FlowRate As Double, IsMainCircular As Boolean, DuctWidth As Double, DuctHeight As Double, BranchFlowRate As Double, IsBranchCircular As Boolean, DuctBranchWidth As Double, DuctBranchHeight As Double, Radius As Double, IsTurbulent As Boolean, JunctionType As Integer, BranchRegen As Boolean, Optional mCubedPerSecond As Boolean)
Calculates regenerated noise from splitter-silencers from two manufacturers.