HoaMatrixEncoder:
Filter:
atk-sc3/Classes (extension) | Libraries > Ambisonic Toolkit > Matrix & Kernel > HOA

HoaMatrixEncoder
ExtensionExtension

Higher Order Ambisonic (HOA) matrix encoders

Description

Generate matrix encoders required by the Ambisonic Toolkit's Higher Order Ambisonic (HOA) encoder, HoaEncodeMatrix.

Matrix encoding is offered via three different methods:

As implemented here, beamforming offers familiar angular encoding with the added opportunity to apply matching beaming weights for reciprocal decoding / encoding signal processing.

Mode matching is suitable for designing encoders from various spatial sampling distributions.

Format exchange encoding offers interfacing with other Ambisonic formats and systems.

Class Methods

.newDirection

Encode a single beam into a Higher Order Ambisonic signal (HOA).

Arguments:

theta

Azimuth, in radians.

phi

Elevation, in radians.

beamShape

Keyword argument for beam shape.

nil == \basic.

See discussion here.

order

Ambisonic order.

Discussion:

Gain is matched to pressure. See discussion here

.newDirections

Encode multipe beams into a Higher Order Ambisonic signal (HOA).

Arguments:

directions

An array of directions. Specify in radians.

Rank 1 arrays return pantophonic, while rank 2 arrays return periphonic. E.g.,

beamShape

Keyword argument for beam shape.

nil == \basic.

See discussion here.

match

Keyword argument for gain matching. See discussion here.

order

Ambisonic order.

.newModeMatch

Encode a Higher Order Ambisonic signal (HOA) via the mode matching method.

Arguments:

directions

An array of directions. Specify in radians.

Rank 1 arrays return pantophonic, while rank 2 arrays return periphonic. E.g.,

beamShape

Keyword argument for beam shape. See discussion here.

match

Keyword argument for gain matching. See discussion here.

order

Ambisonic order.

Discussion:

Also known as Pseudoinverse Encoding, aka Pinv.

NOTE: Comprehensive modal discarding is not applied. More evely distributed directions are required to produce a stable encoder.

.newSphericalDesign

Encode multiple beams evenly distributed in a SphericalDesign as a Higher Order Ambisonic signal (HOA).

Arguments:

design

SphericalDesign instance

beamShape

Keyword argument for beam shape. See discussion here.

order

Ambisonic order.

Discussion:

A-format encoding, aka spherical (re-)composition, is offered by *newSphericalDesign.

Gain is matched to maximum beam amplitude.

NOTE: Matching spherical decomposition is provided by HoaMatrixDecoder: *newSphericalDesign.

.newFormat

An Ambisonic format exchange encoder. Encodes from a variety of formats to ACN-N3D.

Arguments:

format

An array of kewords designating component ordering and normalisation.

E.g., source input format ACN-SN3D is expressed [ \acn, \sn3d ]. See discussion below.

order

Ambisonic order.

Discussion:

A variety of component ordering and normalisation schemes are supported. Please review the discussion found here: HoaMatrixDecoder: *newFormat

Matrix & File

Instance Methods

Information

Matrix

File handling

Examples

TBD