A new version of our Sound Field Synthesis Toolbox for Matlab/Octave is available. This release is a major update including the following highlights:
- Fix the calculation of zeros of the spherical Bessel function for high orders as needed for NFC-HOA. After the recent paper by N. Hahn and S. Spors we managed to get rid of numerical instabilities for orders higher than 80 by using a similar implementation as provided by scipy. To demonstrate the advantage of the new implementation we have a look at the NFC-HOA part of Fig. 3.14 from Wierstorf (2014).The first version of the figure shows the sound pressure of a cosine shaped impulse synthesized as a plane wave by NFC-HOA. NFC-HOA was realized with an order of 256 for a continuous (approximated by 500 sources) distribution of secondary sources and for one with 64 secondary sources. You can clearly see some numerical noise on the signal. In the area where the signal is not shown, but replaced by the two labels “numercially unstable” the signal starts to oscillate with very high amplitudes.
The second version of the figure presents exactly the same numerical simulation, but now applying the version 2.4 with the new implementation of sphbesselh_zeros(), for which numerical problems are no longer an issue for the applied order of 256.
- Switch the addressing of time from samples to seconds, e.g. to get the sound pressure of a broadband impulse point source placed at (0,2,0) m and synthesized by 2.5D NFC-HOA sound after 5 ms:
conf = SFS_config;
sound_field_imp_nfchoa([-2 2],[-2 2],0,[0 2 0],'ps',0.005,conf)
- Local Wave Field Synthesis (LWFS) using spatial bandwidth-limitation may be used to reduce spatial aliasing artifacts in a prioritized region. It will be presented at WASPAA 2017, that this leads to a perceivable reduction of coloration.
The details of the Time-Domain Implementation of this LWFS technique where presented at EUSIPCO 2017.
- Add max-rE, Tukey and Kaiser weighting to the modal window. The Tukey and Kaiser windows can be parameterized and allow an investigation of the influence of the modal window on the sound field as done for a recent talk a the Acoustics’17. The max-rE weighting is popular within the Ambisonics community. To see the windows in action have a look at the new section in the documentation on modal weighting.
- improve references in SFS_config()
- update structure of configuration for LWFS methods
- fix off-center dummy head positions for HRTFs
- add elevation to head orientation for binaural synthesis
- fix sphbesselh_zeros() for high orders
- fix symmetric ifft for Octave
- add inverse Legendre transform
- fix integral weights for spherical secondary sources
- add 3D ps and pw driving functions for NFC-HOA
- add 'reference_circle' as new default for focused sources in 2.5D
- add max-rE and tukey modal weighting windows
- add time-domain implementation of LWFS using spatial bandwidth-limitation
- add circular expansion functions
- fix incorporation of tapering weights for LWFS
- remove x0 from interpolate_ir() call
- fix interpolate_ir() for special cases
- switch handling of time from samples to seconds
- add freq_response_line_source()
- add freq_response_point_source()
- add time_response_line_source()