A spatially-localised active-intensity (SLAI) based direction-of- arrival estimator (SLDoA)
More...
|
void | sldoa_create (void **const phSld) |
| Creates an instance of the sldoa.
|
|
void | sldoa_destroy (void **const phSld) |
| Destroys an instance of the sldoa.
|
|
void | sldoa_init (void *const hSld, float sampleRate) |
| Initialises an instance of sldoa with default settings.
|
|
void | sldoa_initCodec (void *const hSld) |
| Intialises the codec variables, based on current global/user parameters.
|
|
void | sldoa_analysis (void *const hSld, const float *const *inputs, int nInputs, int nSamples, int isPlaying) |
| Applies the spatially-localised active-intensity based direction-of-arrival estimator (SLDoA) onto the input signals [1,2].
|
|
void | sldoa_setMasterOrder (void *const hSld, int newValue) |
| Sets the maximum input/analysis order (see SH_ORDERS enum)
|
|
void | sldoa_refreshSettings (void *const hSld) |
| Sets all intialisation flags to 1; re-initialising all settings/variables as sldoa is currently configured, at next available opportunity.
|
|
void | sldoa_setMaxFreq (void *const hSld, float newFreq) |
| Sets the maximum analysis frequency, in Hz.
|
|
void | sldoa_setMinFreq (void *const hSld, float newFreq) |
| Sets the minimum analysis frequency, in Hz.
|
|
void | sldoa_setAvg (void *const hSld, float newAvg) |
| Sets the DoA averaging coefficient, 0..1.
|
|
void | sldoa_setSourcePreset (void *const hSld, int newPresetID) |
| Sets an input preset, the microphone/hyrophone array used to capture the input signals (see MIC_PRESETS enum)
|
|
void | sldoa_setAnaOrder (void *const hSld, int newValue, int bandIdx) |
| Sets the input/analysis order for one specific frequency band.
|
|
void | sldoa_setAnaOrderAllBands (void *const hSld, int newValue) |
| Sets the input/analysis order for all frequency bands.
|
|
void | sldoa_setChOrder (void *const hSld, int newOrder) |
| Sets the Ambisonic channel ordering convention to decode with, in order to match the convention employed by the input signals (see CH_ORDER enum)
|
|
void | sldoa_setNormType (void *const hSld, int newType) |
| Sets the Ambisonic normalisation convention to decode with, in order to match with the convention employed by the input signals (see NORM_TYPES enum)
|
|
int | sldoa_getFrameSize (void) |
| Returns the processing framesize (i.e., number of samples processed with every _process() call )
|
|
CODEC_STATUS | sldoa_getCodecStatus (void *const hSld) |
| Returns current codec status (see CODEC_STATUS enum)
|
|
float | sldoa_getProgressBar0_1 (void *const hSld) |
| (Optional) Returns current intialisation/processing progress, between 0..1
|
|
void | sldoa_getProgressBarText (void *const hSld, char *text) |
| (Optional) Returns current intialisation/processing progress text
|
|
int | sldoa_getMasterOrder (void *const hSld) |
| Returns the current maximum analysis/input order (see SH_ORDERS enum)
|
|
int | sldoa_getSamplingRate (void *const hSld) |
| Returns the current sampling rate, in Hz.
|
|
float | sldoa_getMaxFreq (void *const hSld) |
| Returns the maximum analysis frequency, in Hz.
|
|
float | sldoa_getMinFreq (void *const hSld) |
| Returns the minimum analysis frequency, in Hz.
|
|
float | sldoa_getAvg (void *const hSld) |
| Returns the current DoA averaging coefficient value, 0..1.
|
|
void | sldoa_getDisplayData (void *const hSld, float **azi_deg, float **elev_deg, float **colourScale, float **alphaScale, int **pNsectorsPerBand, int *maxNumSectors, int *startBand, int *endBand) |
| Returns the analysis output data.
|
|
int | sldoa_getAnaOrder (void *const hSld, int bandIdx) |
| Returns the input/analysis order for one specific frequency band.
|
|
int | sldoa_getAnaOrderAllBands (void *const hSld) |
| Returns the input/analysis order for the first frequency band.
|
|
void | sldoa_getAnaOrderHandle (void *const hSld, float **pX_vector, int **pY_values, int *pNpoints) |
| Returns the input/analysis order for all frequency bands.
|
|
int | sldoa_getNumberOfBands (void) |
| Returns the number frequency bands employed by sldoa.
|
|
int | sldoa_getNSHrequired (void *const hSld) |
| Returns the number of spherical harmonic signals required by the current analysis order: (current_order + 1)^2.
|
|
int | sldoa_getChOrder (void *const hSld) |
| Returns the Ambisonic channel ordering convention currently being used to decode with, which should match the convention employed by the input signals (see CH_ORDER enum)
|
|
int | sldoa_getNormType (void *const hSld) |
| Returns the Ambisonic normalisation convention currently being usedto decode with, which should match the convention employed by the input signals.
|
|
int | sldoa_getProcessingDelay () |
| Returns the processing delay in samples (may be used for delay compensation features)
|
|
A spatially-localised active-intensity (SLAI) based direction-of- arrival estimator (SLDoA)
VBAP gain patterns are imposed on the spherical harmonic signals, such that the DoA can be estimated in a spatially-constrained region; thus mitigating the effect of interferes and reflections arriving from other directions. The DoA is estimated per sector for each frequency band.
The algorithms within sldoa were developed in collaboration with Symeon Delikaris-Manias and Angelo Farina, and are explained in more detail in [1,2]
- See also
- [1] McCormack, L., Delikaris-Manias, S., Politis, A., Pavlidi, D., Farina, A., Pinardi, D. and Pulkki, V., 2019. Applications of Spatially Localized Active-Intensity Vectors for Sound-Field Visualization. Journal of the Audio Engineering Society, 67(11), pp.840-854.
-
[2] McCormack, L., Delikaris-Manias, S., Farina, A., Pinardi, D., and Pulkki, V., "Real-time conversion of sensor array signals into
spherical harmonic signals with applications to spatially localised
sub-band sound-field analysis," in Audio Engineering Society Convention 144, Audio Engineering Society, 2018.
- Author
- Leo McCormack
- Date
- 18.10.2017
- License
- ISC
Definition in file sldoa.c.