A Normalized Stereographic Projection for Spherical Horns

I will continue now with a topic that seems not obviously related to horns. During my research about the spherical wave horn the first goal was to stretch the round profile into an elliptical one. More about this in a forthcoming post. Although it should be a good idea to break the symmetry, most horns on the market still have a flat mouth. If we have a look at the ellipse we have a major and a minor axis. The minor axis is generally orientated in the vertical axis of the horn mouth, thus having less mouth diameter than the horizontal axis. The same holds for any rectangle flat mouth horn and if we find a datasheet we generally observe that for low frequencies the vertical control is not the same as for the horizontal plane. The LF beaming starts earlier for the vertical direction because of less mouth diameter. Next to the mouth diameter, the horn length is another important property with respect to loading. But to achieve a better loading for a more balanced pattern control the horn length must become longer for the walls near to the minor axis and shorter near to the major axis. For a long time I had no reasonable idea how to do such a transformation until I came across with a projection procedure that is used to generate a world map. This procedure is called stereographic projection (Ref. 1, Ref. 2)

Wait a minute! What has the stereographic projection to do with horns? Well, from time to time some kind of intuition could be helpful 😉 One of the underlying assumptions of the spherical wave horn is that the propagating wave front is used for the horn construction. For a round horn, if we cut the wave front at the mouth plane we receive the surface cap of a sphere. If we think vice versa the round mouth ring fits perfectly on a corresponding sphere with sufficiently long radius. If we stretch the round mouth into an elliptical one and imagine further the elliptical mouth plane as a two dimensional ring are we able to place this ellipse onto the sphere touching it completely along it’s circumference? The answer is clearly no. The ellipse only touches the sphere at two points. Imagine further that you have a deform able material and you press down the outer parts of the ellipse towards the sphere to make it touching completely the surface with all parts. The resulting structure is three dimensional with the points near to the minor axis moving forward and the remaining points near to the major axis move back with respect to the horn axis. This is exactly what was intended and the fact that the horn mouth itself is lying on a spherical surface was very fascinating for me – a spherical wave horn with a spherically bent mouth!

But what is exactly going on by applying a stereographic projection, it’s math and what is needed so that it can be used for horns? At the first view the whole procedure looks more complicated than it really is. What we recognize very quickly from the following picture is that we find several of these nice rectangular triangles, so our math should not be so hard to understand:

The initial requirement behind this procedure is to generate a two dimensional map of our planet. The earth is assumed to be perfectly round with the well known earth radius r. We easily recognize the center C and the north pole N and the south pole S. The intended map is aligned on top of the north pole and touches it only at this single point. If we choose our first example point P on the planet and let us assume that P is located in Germany then the projection P' is the corresponding point on the map. It can be calculated as follows. From the north pole as reference offset find the rotational angle \delta from which the sides a, b and c can be calculated:
\tag{1}a = r \cdot \sin(\delta)
\tag{2}b = r \cdot \cos(\delta)
\tag{3}c = 2 \cdot r \cdot \tan \left(\frac{\delta}{2}\right)
The projection center or offset is the south pole S. From here a vector through point P is constructed with length \overline{SP}. Extending this vector beyond P touches the map in the desired projected point on the map at P^' with length \overline{SP'}
\tag{4}\overline{SP} = \sqrt{(r+b)^2 + a^2}
\tag{5}\overline{SP'} = \sqrt{(2 \cdot r)^2 + c^2}

On the world map all points P_i^' are projected on the corresponding longitude (straight line through the origin) and latitude (concentric rings).

The stereographic projection has an intrinsic length distortion s(\delta). While the arc length for a fractional rotation around \delta is constant the corresponding projected length on the map plane is stretched for increasing \delta and is given by the differential coefficient of the normalized function c/r.

\tag{6}s = \frac{\partial}{\partial \delta} \left(\frac{c}{r}\right) = \frac{\partial}{\partial \delta} \left(2 \cdot \tan\left(\delta/2\right)\right) = \frac{1}{\cos^2\left(\delta/2\right)}
Some characteristic values of the amount of distortion can be gathered from the following table:

\delta c/r s
0.000 1.000
15° 0.263 1.017
30° 0.536 1.072
45° 0.828 1.172
60° 1.155 1.333
75° 1.535 1.589
90° 2.000 2.000

The amount of distortion increases dramatically beyond 90° what is the reason why this procedure is limited to 90°. But the length distortion is only one aspect we have to bear in mind. Another aspect can be assessed by placing a horn with the mouth plane aligned to the map plane and by using an inverse stereographic projection. This will project from all points from the plane to the spherical surface. It becomes clearly obvious that the procedure cannot be used without a modification or what I will call it: a normalization. Without normalization all points on the plane will entirely be shifted towards the south pole. If we declare the axis from north to south pole as horn axis, the whole horn would be compressed length wise. The trick or normalization is now to use the round horn as reference and shifting it’s mouth plane by a reasonable amount towards the south pole becoming a secant. The origin of the projection radius is placed along the horn axis that it intersects the mouth of the round horn at P_0:

There is a new parameter h the height of the circle segment that can be used to calculate the projection center C for a given radius and mouth diameter. For all equivalent points P_0 around the round mouth plane the normalized stereographic projection is similar to a unity transformation as the points do not change at all! To repeat it in other words, without any stretching applied the normalized projection will not change a perfectly round horn profile. We also clearly recognize the following behavior for all points that are different from the round mouth circle. If P_1 reflects the major axis it moves towards the horn throat and if P_2 is the minor axis it moves away from the horn throat by the projection. More generally speaking, all points that have an radius larger than r_{mouth} (round) move towards the horn throat and all points that have a radius smaller than r_{mouth} (round) move away from the horn throat. By applying the modified procedure also the length distortion s_n is reduced:
\tag{7}c_n = 2 \cdot \left(r-h\right) \cdot \tan \left(\frac{\delta}{2}\right)
\tag{8}h = r \cdot \left(1-\cos \delta_0\right)
\tag{9}c_n = \left( r + r \cdot \cos\delta_0 \right) \cdot \tan \left(\frac{\delta}{2}\right)
\tag{10}\frac{c_n}{r} = \left( 1 + \cos\delta_0 \right) \cdot \tan \left(\frac{\delta}{2}\right)
\tag{11}s_n = \frac{\partial}{\partial \delta} \left(\frac{c_n}{r}\right) = \dfrac{\left(1+\cos\delta_0\right)\sec^2\left(\frac{\delta}{2}\right)}{2}
The following table shows an example for P_0(\delta_0=30^\circ).

\delta c_n/r s_n s_n-s_0
0.000 0.933 -0.067
15° 0.246 0.949 -0.051
30° 0.500 1.000 0.000
45° 0.773 1.093 0.093
60° 1.077 1.244 0.244
75° 1.432 1.482 0.482
90° 1.866 1.866 0.866

The normalization introduces something like a mid point at s_0. Absolute errors are of course also dependent from the projection radius r with decreasing errors for increasing r. Just by an optical inspection comparing the distance \overline{P_0P_1} with the arc length from P_0 to P_1' we hardly see much difference and the procedure should work well for horns.

How the stereographic projection is implemented within my spread sheets will now be described in detail. The parameter definitions can be seen in this picture:In order to avoid confusions some of the parameters need a more distinct definition besides the graphical information:
y = \overline{MP_1} ; b = \overline{CM} ; z_e = \overline{CQ} ; y_e = \overline{QP_1'} ; l_{xyz} = \overline{SP_1} ; l_{xyz}' = \overline{SP_1'}.
The calculation workflow always starts at the throat by stepping the horn axis which will be declared here as z. At every different z-value the corresponding round horn radius y is derived from the horn formulas. Additionally, a pre-defined stretching factor can be applied which itself is also dependent from z with the boundary conditions no smoothing at throat and maximum stretching at mouth or maximum roll-back. The transition was chosen to be smooth by a steady mathematical function f_{stretch}(z). The most important initial definition with respect to the stereographic projection is to choose a reasonable length for the projection radius r_p. For the spherical wave horn a good starting point is to use the horn construction vector generally denoted as r_0. Once r_p is defined and held constant for the whole workflow h, C and S can be calculated:
\tag{12}b = \sqrt{r_p^2-y^2}
\tag{13}h = r_p-b
\tag{14}C = z+h-r_p
\tag{15}S = z+h-2 \cdot r_p
The spread sheet calculator is intended to export a point cloud. Therefore, we have to continue with Cartesian coordinates. Within the spread sheet at every given z-value the ellipse Cartesian coordinates will be calculated from polar coordinates by rotating \phi (rotational angle in the ellipse plane) from 0 \rightarrow 2\pi:
\tag{16}e_x = \left|\cos(\phi)\right| \cdot r_{major} \cdot sgn(\cos(\phi))
\tag{17}e_y = \left|\sin(\phi)\right| \cdot r_{minor} \cdot sgn(\sin(\phi))
\tag{18}e_z = z
For each given point on the ellipse the projection is applied but only if this option is activated. We then have to calculate the length from the horn axis to a given point on the ellipse:
\tag{19}l_{xy} = \sqrt{\left(e_x ^ 2 + e_y ^ 2\right)}
With l_{xy} we are able to calculate the length of the vector from the projection center S to the current ellipse point:
\tag{20}l_{xyz} = \sqrt{l_{xy}^ 2 + (b + r_p)^2}
The current projection angle is defined by:
\tag{21}\delta_e = 2 \cdot \arctan\left(\frac{l_{xy}}{b+r_p}\right)
With \delta_e the rotational dependent parts of z and y can be calculated,
\tag{22}y_e(\delta) = \sin(\delta_e) \cdot r_p
\tag{23}z_e(\delta) = \cos(\delta_e) \cdot r_p
and we need the length from projection center to projected point on the sphere,
\tag{24}l_{xyz}' = \sqrt{y_e^ 2 + (z_e + r_p)^2}
to build the quotient of both vectors as normalization factor which will be used to calculate the new projection Cartesian coordinates:
\tag{25}f = \frac{l_{xyz}'}{l_{xyz}}
\tag{26}e_{xp} = e_x \cdot f
\tag{27}e_{yp} = e_y \cdot f
\tag{28}e_{zp} = S_z + r_p + z_e
The length of r_p has a lower limit which either depends on the round horn radius and when stretching applied from the major axis. There exists one length which I call a coherent projection radius r_{pc}. It is defined when the projection center is at the same point as the horn throat and for the spherical wave horn it is given by:
\tag{29}r_{pc} = \sqrt{y_m^2 + l_{swh}^2}
Here, y_m is the mouth radius and l_{swh} the horn length.

Let us use such an coherent projection radius length for a spherical wave horn with cut-off of 400 Hz and a throat diameter of 17.5 mm. The resulting horn length is 26.0 cm and the mouth radius y_m is 18.1 cm. Stereographic projection parameters are r_p = 31.6 cm, C = 0.0 cm, S = -31.6 cm, \delta_{round} = 34.8°, h = 5.7 cm. To get an ellipse s stretch factor f_s = 1.5 was applied. The ellipse main axes are major e_x = 25.7 cm and minor e_y = 12.3 cm.

\delta s l_{arc} \overline{e_{xy} y_m} \Delta
e_y 24.1° 0.952 5.0 cm 5.8 cm -0.8 cm
y_m 34.8° 1.000
e_x 48.0° 1.091 7.3 cm 7.6 cm -0.3 cm

In summary we see an overall slight compression of the horn profile but the maximum difference is below 1 cm. As the transition from throat to mouth is smooth and a steady function this should not harm much. A direct comparison to the flat mouth profile is difficult at this stage as the profiles are considerably different from each other, although they are related by the proposed projection. But I think that legitimate hope is that the curved mouth opening should lead to a sound improvement.

In addition to all the numbers and facts presented, I have to say that I really like the new form visually. So I want to finish this post to share some pictures and let them speak for themselves on an example of a projected spherical wave horn.

The effect of the stereographic projection on a previously flat ellipse mouth plane:

The new projected spherical wave horn profile (cut-off=400Hz and stretch factor of 1.5):

There are already considerations on how to further refine or modify the process. For example, one possibility would be to use an ellipse as the projection surface instead of the sphere. However, mathematics would be even more complicated.