Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Representation of sound fields and driving functions as circular and spherical harmonics #63

Open
wants to merge 90 commits into
base: master
Choose a base branch
from

Conversation

fietew
Copy link
Member

@fietew fietew commented Feb 10, 2016

Background

Data based Sound Field Synthesis has not been covered in the Sound Field Synthesis Toolbox, so far, as most of the implemented algorithms are based on mathematical models of the desired sound field. The expansion of sound fields into circular or spherical basis functions is common approach to describe arbitrary sound fields. It is also implicitly used in Near-Field-Compensated Higher Order Ambisonics.

Scheme

scheme

The image illustrates the current implementations in master (blue) and the additional implementations in harmonics (red) for the spherical case. Same holds for the circular case. The graph shows, how to get from a parameterization, i.e x_s, to the desired sound field S or the synthesized sound field P. D denotes the driving function.

TODO List

Circular/Spherical Expansion of Sound Fields

  • decompose point sources, line sources and plane waves into circular and/or spherical basis functions
  • scatter sound fields by cylinders or spheres
  • time-reverse sound fields by applying time-reversal to the expansion coefficients
  • adapt sound_field_< >exp functions to support recently introduced non-regular grids

Driving Functions in spatial domain

  • 2D, 2.5D, 3D WFS of spherical expansion
    SFS_monochromatic/driving_functions_mono/driving_function_mono_wfs_sphexp.m
  • 2D, 2.5D, 3D WFS of circular expansion
    SFS_monochromatic/driving_functions_mono/driving_function_mono_wfs_circexp.m
  • 2D, 2.5D, 3D NFC-HOA of spherical expansion
    SFS_monochromatic/driving_functions_mono/driving_function_mono_nfchoa_sphexp.m
  • 2D, 2.5D, 3D NFC-HOA of circular expansion
    SFS_monochromatic/driving_functions_mono/driving_function_mono_nfchoa_circexp.m

Driving Functions in spatio-spectral domain

  • move kx driving functions to seperate directory SFS_monochromatic/kx/
  • circular harmonics transforms of driving functions SFS_monochromatic/cht/
  • spherical harmonics transforms of driving functions SFS_monochromatic/sht/

Testing/Validation functions

  • conversion from circular/spherical expansion to spatial sound field
  • synthesis of sound fields expressed in circular/spherical harmonics test_sfs_exp

Misc.

  • switch to recently introduced mandatory conf struct
  • replace 2 space indent with 4 space
  • fix function calls

Fiete Winter added 30 commits March 27, 2014 11:25
…ressure level compared to pressure of virtual source
@hagenw
Copy link
Member

hagenw commented Jul 12, 2016

Can you please make sure that you use always 4 spaces as tab in for loops etc. and also that you have no spaces between , and arguments in function calls:
f(a, b, c) => f(a,b,c).
This would be nice to maintain consistency across all functions in the Toolbox.

@fietew
Copy link
Member Author

fietew commented Jul 18, 2016

I added it to the TODO list

@hagenw
Copy link
Member

hagenw commented Feb 15, 2019

If I remember correctly, we included some (or most?) of your proposals by other pull requests.
What is the current status and plan for this pull request?

@fietew
Copy link
Member Author

fietew commented Feb 18, 2019

I would suggest to wait for the upcoming discussions on the DAGA poster for SFS Toolbox. Then I will have a more holistic view on what is already implemented and what might be taken from this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants