spatialaudio / sfa-numpy

NumPy/Python toolbox for sound field analysis
MIT License
53 stars 14 forks source link

polar angle = 'Elevation'? #15

Closed chris-hld closed 6 years ago

chris-hld commented 6 years ago

https://github.com/spatialaudio/sfa-numpy/blob/1f798b9d89f6af1349f5b4fc013f671f273d136d/micarray/modal/angular.py#L201

Could you please clarify the term elevation here? I know that Rafaely uses this term for the polar angle / colatitude, however, pretty much everybody else uses elevation for latitude.

In other words, where is the north pole?

trettberg commented 6 years ago

At 0. You're right, 'colatitude' would be more proper.

chris-hld commented 6 years ago

Perfect, thanks!

trettberg commented 6 years ago

Reopened. This is indeed a case of bad naming and/or documentation.

chris-hld commented 6 years ago

The AES69-2015 and therefore SOFA specifies theta as elevation https://www.sofaconventions.org/mediawiki/index.php/SOFA_specifications, ISO 80000-2:2009 as polar angle. However, the AES standard says:

The applied spherical coordinate system does not correspond to ISO 80000-2:2009, which defines the spherical coordinate system with the ‘zenith’ angle \delta measured from the positive z-axis. The zenith is the complement of elevation, that is \theta = 90° − \delta. AES69 implements the elevation \theta (and not the zenith \delta) that is typically used in virtual audio applications and perceptual studies.

This is such a mess... I (personally) would say, if something is not elevated (=0), it is in front of me. Maybe using the term 'polar angle' is more precise in this case?

trettberg commented 6 years ago

SciPy seems to use [0, 2pi) x [0, pi] coordinates exclusively, so I'd go with that. Unfortunately naming conventions are all over.

"polar angle" is already used for the unit circle in modal.angular.grid_equal_polar_angle and modal.angular.cht_matrix.

"zenith" or "colatitude" seem to be unambiguous names for the [0, pi] angle. Would colat be a reasonable parameter name?

chris-hld commented 6 years ago

Yes, I think this is reasonable.