SAF
Loading...
Searching...
No Matches
hades_synthesis_data Struct Reference

Main structure for hades synthesis. More...

#include <saf_hades_internal.h>

Data Fields

HADES_BEAMFORMER_TYPE beamOption
 see HADES_BEAMFORMER_TYPE
 
int enableCM
 Flag: whether the spatial covariance matching is enabled (1) or disabled (0)
 
hades_binaural_configbinConfig
 Internal copy of user configuration.
 
int refIndices [2]
 Indices into [0 nMics-1], defining the reference sensors.
 
HADES_HRTF_INTERP_OPTIONS interpOption
 HRIR interpolation option, see HADES_HRTF_INTERP_OPTIONS.
 
float * eq
 Gain factor per band; nBands x 1.
 
float * streamBalance
 Stream balance per band (0:fully diffuse, 1:balanced, 2:fully direct); nBands x 1.
 
float synAvgCoeff
 Mixing matrix averaging coefficent [0..1].
 
HADES_FILTERBANKS fbOpt
 Filterbank option, see HADES_FILTERBANKS.
 
int nBands
 Number of bands in the time-frequency transform domain.
 
int hopsize
 hopsize in samples
 
int blocksize
 blocksize in samples
 
int nGrid
 Number of grid/scanning directions.
 
int nMics
 Number of microphones.
 
float_complex * H_array
 Array IRs in the frequency domain; FLAT: nBands x nMics x nGrid.
 
float * grid_dirs_deg
 Array grid dirs in degrees; FLAT: nGrid x 2.
 
float ** grid_dirs_xyz
 Grid dirs as Cartesian coordinates of unit length; nGrid x 3.
 
int timeSlots
 Number of time frames in the time-frequency transform domain.
 
float * freqVector
 Frequency vector (band centre frequencies); nBands x 1.
 
float_complex * DCM_array
 Diffuse coherence matrix for the array; FLAT: nBands x nMics x nMics.
 
float_complex * W
 Diffuse integration weighting matrix; FLAT: nGrid x nGrid.
 
void * hFB_dec
 Filterbank handle.
 
float_complex * H_bin
 To spatialise the source beamformers; FLAT: nBands x NUM_EARS x nGrid.
 
float_complex * DCM_bin_norm
 Diffuse coherence matrix for the HRTF set, normalised with 1/trace(DCM_bin); FLAT: nBands x nMics x nMics.
 
float * diffEQ
 EQ curve to bring the overall diffuse-field magnitude response of the array to that of the HRTFs instead; nBands x 1.
 
void * hPinv
 Handle for computing the Moore-Penrose pseudo inverse.
 
void * hLinSolve
 Handle for solving linear equations (Ax=b)
 
void * hCDF
 Handle for solving the covariance matching problem.
 
float_complex * As
 Array steering vector for DoA; FLAT: nMics x 1.
 
float_complex * As_l
 Array steering vector relative to left reference sensor; FLAT: nMics x 1.
 
float_complex * As_r
 Array steering vector relative to right reference sensor; FLAT: nMics x 1.
 
float_complex * Q_diff
 Mixing matrix for the diffuse stream; FLAT: NUM_EARS x nMics.
 
float_complex * Q_dir
 Mixing matrix for the direct stream; FLAT: NUM_EARS x nMics.
 
float_complex * Q
 Mixing matrix for the direct and diffuse streams combined (based on the diffuseness value); FLAT: NUM_EARS x nMics.
 
float_complex * Cy
 Target binaural spatial covariance matrix; FLAT: NUM_EARS x NUM_EARS.
 
float_complex * new_M
 New mixing matrix (not yet temporally averaged); FLAT: NUM_EARS x nMics.
 
float_complex ** M
 Mixing matrix per band; nBands x FLAT: (NUM_EARS x nMics)
 
float_complex *** outTF
 nBands x NUM_EARS x timeSlots
 
float ** outTD
 output time-domain buffer; NUM_EARS x blocksize
 

Detailed Description

Main structure for hades synthesis.

Definition at line 111 of file saf_hades_internal.h.

Field Documentation

◆ As

float_complex* hades_synthesis_data::As

Array steering vector for DoA; FLAT: nMics x 1.

Definition at line 152 of file saf_hades_internal.h.

◆ As_l

float_complex* hades_synthesis_data::As_l

Array steering vector relative to left reference sensor; FLAT: nMics x 1.

Definition at line 153 of file saf_hades_internal.h.

◆ As_r

float_complex* hades_synthesis_data::As_r

Array steering vector relative to right reference sensor; FLAT: nMics x 1.

Definition at line 154 of file saf_hades_internal.h.

◆ beamOption

HADES_BEAMFORMER_TYPE hades_synthesis_data::beamOption

see HADES_BEAMFORMER_TYPE

Definition at line 114 of file saf_hades_internal.h.

◆ binConfig

hades_binaural_config* hades_synthesis_data::binConfig

Internal copy of user configuration.

Definition at line 116 of file saf_hades_internal.h.

◆ blocksize

int hades_synthesis_data::blocksize

blocksize in samples

Definition at line 129 of file saf_hades_internal.h.

◆ Cy

float_complex* hades_synthesis_data::Cy

Target binaural spatial covariance matrix; FLAT: NUM_EARS x NUM_EARS.

Definition at line 158 of file saf_hades_internal.h.

◆ DCM_array

float_complex* hades_synthesis_data::DCM_array

Diffuse coherence matrix for the array; FLAT: nBands x nMics x nMics.

Definition at line 137 of file saf_hades_internal.h.

◆ DCM_bin_norm

float_complex* hades_synthesis_data::DCM_bin_norm

Diffuse coherence matrix for the HRTF set, normalised with 1/trace(DCM_bin); FLAT: nBands x nMics x nMics.

Definition at line 145 of file saf_hades_internal.h.

◆ diffEQ

float* hades_synthesis_data::diffEQ

EQ curve to bring the overall diffuse-field magnitude response of the array to that of the HRTFs instead; nBands x 1.

Definition at line 146 of file saf_hades_internal.h.

◆ enableCM

int hades_synthesis_data::enableCM

Flag: whether the spatial covariance matching is enabled (1) or disabled (0)

Definition at line 115 of file saf_hades_internal.h.

◆ eq

float* hades_synthesis_data::eq

Gain factor per band; nBands x 1.

Definition at line 121 of file saf_hades_internal.h.

◆ fbOpt

HADES_FILTERBANKS hades_synthesis_data::fbOpt

Filterbank option, see HADES_FILTERBANKS.

Definition at line 126 of file saf_hades_internal.h.

◆ freqVector

float* hades_synthesis_data::freqVector

Frequency vector (band centre frequencies); nBands x 1.

Definition at line 136 of file saf_hades_internal.h.

◆ grid_dirs_deg

float* hades_synthesis_data::grid_dirs_deg

Array grid dirs in degrees; FLAT: nGrid x 2.

Definition at line 133 of file saf_hades_internal.h.

◆ grid_dirs_xyz

float** hades_synthesis_data::grid_dirs_xyz

Grid dirs as Cartesian coordinates of unit length; nGrid x 3.

Definition at line 134 of file saf_hades_internal.h.

◆ H_array

float_complex* hades_synthesis_data::H_array

Array IRs in the frequency domain; FLAT: nBands x nMics x nGrid.

Definition at line 132 of file saf_hades_internal.h.

◆ H_bin

float_complex* hades_synthesis_data::H_bin

To spatialise the source beamformers; FLAT: nBands x NUM_EARS x nGrid.

Definition at line 144 of file saf_hades_internal.h.

◆ hCDF

void* hades_synthesis_data::hCDF

Handle for solving the covariance matching problem.

Definition at line 151 of file saf_hades_internal.h.

◆ hFB_dec

void* hades_synthesis_data::hFB_dec

Filterbank handle.

Definition at line 141 of file saf_hades_internal.h.

◆ hLinSolve

void* hades_synthesis_data::hLinSolve

Handle for solving linear equations (Ax=b)

Definition at line 150 of file saf_hades_internal.h.

◆ hopsize

int hades_synthesis_data::hopsize

hopsize in samples

Definition at line 128 of file saf_hades_internal.h.

◆ hPinv

void* hades_synthesis_data::hPinv

Handle for computing the Moore-Penrose pseudo inverse.

Definition at line 149 of file saf_hades_internal.h.

◆ interpOption

HADES_HRTF_INTERP_OPTIONS hades_synthesis_data::interpOption

HRIR interpolation option, see HADES_HRTF_INTERP_OPTIONS.

Definition at line 118 of file saf_hades_internal.h.

◆ M

float_complex** hades_synthesis_data::M

Mixing matrix per band; nBands x FLAT: (NUM_EARS x nMics)

Definition at line 160 of file saf_hades_internal.h.

◆ nBands

int hades_synthesis_data::nBands

Number of bands in the time-frequency transform domain.

Definition at line 127 of file saf_hades_internal.h.

◆ new_M

float_complex* hades_synthesis_data::new_M

New mixing matrix (not yet temporally averaged); FLAT: NUM_EARS x nMics.

Definition at line 159 of file saf_hades_internal.h.

◆ nGrid

int hades_synthesis_data::nGrid

Number of grid/scanning directions.

Definition at line 130 of file saf_hades_internal.h.

◆ nMics

int hades_synthesis_data::nMics

Number of microphones.

Definition at line 131 of file saf_hades_internal.h.

◆ outTD

float** hades_synthesis_data::outTD

output time-domain buffer; NUM_EARS x blocksize

Definition at line 164 of file saf_hades_internal.h.

◆ outTF

float_complex*** hades_synthesis_data::outTF

nBands x NUM_EARS x timeSlots

Definition at line 163 of file saf_hades_internal.h.

◆ Q

float_complex* hades_synthesis_data::Q

Mixing matrix for the direct and diffuse streams combined (based on the diffuseness value); FLAT: NUM_EARS x nMics.

Definition at line 157 of file saf_hades_internal.h.

◆ Q_diff

float_complex* hades_synthesis_data::Q_diff

Mixing matrix for the diffuse stream; FLAT: NUM_EARS x nMics.

Definition at line 155 of file saf_hades_internal.h.

◆ Q_dir

float_complex* hades_synthesis_data::Q_dir

Mixing matrix for the direct stream; FLAT: NUM_EARS x nMics.

Definition at line 156 of file saf_hades_internal.h.

◆ refIndices

int hades_synthesis_data::refIndices[2]

Indices into [0 nMics-1], defining the reference sensors.

Definition at line 117 of file saf_hades_internal.h.

◆ streamBalance

float* hades_synthesis_data::streamBalance

Stream balance per band (0:fully diffuse, 1:balanced, 2:fully direct); nBands x 1.

Definition at line 122 of file saf_hades_internal.h.

◆ synAvgCoeff

float hades_synthesis_data::synAvgCoeff

Mixing matrix averaging coefficent [0..1].

Definition at line 123 of file saf_hades_internal.h.

◆ timeSlots

int hades_synthesis_data::timeSlots

Number of time frames in the time-frequency transform domain.

Definition at line 135 of file saf_hades_internal.h.

◆ W

float_complex* hades_synthesis_data::W

Diffuse integration weighting matrix; FLAT: nGrid x nGrid.

Definition at line 138 of file saf_hades_internal.h.


The documentation for this struct was generated from the following file: