SAF
Loading...
Searching...
No Matches
saf_hoa.c File Reference

Public source for the higher-order Ambisonics module (SAF_HOA_MODULE) More...

#include "saf_hoa.h"
#include "saf_hoa_internal.h"

Go to the source code of this file.

Functions

void convertHOAChannelConvention (float *insig, int order, int signalLength, HOA_CH_ORDER inConvention, HOA_CH_ORDER outConvention)
 Converts an Ambisonic signal from one channel ordering convention to another.
 
void convertHOANormConvention (float *insig, int order, int signalLength, HOA_NORM inConvention, HOA_NORM outConvention)
 Converts an Ambisonic signal from one normalisation convention to another.
 
void getRSH (int N, float *dirs_deg, int nDirs, float *Y)
 Computes real-valued spherical harmonics [1] for each given direction on the unit sphere.
 
void getRSH_recur (int N, float *dirs_deg, int nDirs, float *Y)
 Computes real-valued spherical harmonics [1] for each given direction on the unit sphere.
 
void getMaxREweights (int order, int diagMtxFlag, float *a_n)
 Computes the weights required to manipulate a hyper-cardioid beam-pattern, such that it has maximum energy in the given look-direction.
 
void truncationEQ (float *w_n, int order_truncated, int order_target, double *kr, int nBands, float softThreshold, float *gain)
 Filter that equalises the high frequency roll-off due to SH truncation and tapering; as described in [1].
 
void getLoudspeakerDecoderMtx (float *ls_dirs_deg, int nLS, LOUDSPEAKER_AMBI_DECODER_METHODS method, int order, int enableMaxReWeighting, float *decMtx)
 Computes an ambisonic decoding matrix of a specific order, for a given loudspeaker layout.
 
void getBinauralAmbiDecoderMtx (float_complex *hrtfs, float *hrtf_dirs_deg, int N_dirs, int N_bands, BINAURAL_AMBI_DECODER_METHODS method, int order, float *freqVector, float *itd_s, float *weights, int enableDiffCovMatching, int enableMaxReWeighting, float_complex *decMtx)
 Computes binaural ambisonic decoding matrices (one per frequency) at a specific order, for a given HRTF set.
 
void getBinauralAmbiDecoderFilters (float_complex *hrtfs, float *hrtf_dirs_deg, int N_dirs, int fftSize, float fs, BINAURAL_AMBI_DECODER_METHODS method, int order, float *itd_s, float *weights, int enableDiffCovMatching, int enableMaxReWeighting, float *decFilters)
 Computes binaural ambisonic decoding filters for a given HRTF set.
 
void applyDiffCovMatching (float_complex *hrtfs, float *hrtf_dirs_deg, int N_dirs, int N_bands, int order, float *weights, float_complex *decMtx)
 Imposes a diffuse-field covariance constraint on a given binaural decoding matrix, as described in [1].
 

Detailed Description

Public source for the higher-order Ambisonics module (SAF_HOA_MODULE)

A collection of Ambisonics related functions. Many of which are derived from the MATLAB library found in [1].

See also
[1] https://github.com/polarch/Higher-Order-Ambisonics Copyright (c) 2015, Archontis Politis, BSD-3-Clause License
Author
Leo McCormack
Date
19.03.2018
License
ISC

Definition in file saf_hoa.c.