template<unsigned MIC_COUNT, class TDecimator, class TPdmRx, class TSampleFilter, class TOutputHandler>
class mic_array::MicArray

Represents the microphone array component of an application.

Template Parameters
  • MIC_COUNT – Number of microphones.

  • TDecimator – Type for the decimator.

  • TPdmRx – Type for the PDM rx service used.

  • TSampleFilter – Type for the output filter used.

  • TOutputHandler – Type for the output handler used.

Public Functions

inline MicArray()

Construct a MicArray.

inline MicArray(TPdmRx pdm_rx, TSampleFilter sample_filter, TOutputHandler output_handler)

Construct a MicArray.

  • pdm_rx

  • sample_filter

  • output_handler

inline MicArray(TPdmRx pdm_rx, TOutputHandler output_handler)

Construct a MicArray

  • pdm_rx

  • output_handler

void ThreadEntry()

Entry point for the decimation thread.

Public Members

TPdmRx PdmRx

The PDM rx service.

This is used for capturing PDM data from a port.

TDecimator Decimator

The Decimator.

This two-stage decimator is used to convert and down-sample the PDM stream into a PCM stream.

TSampleFilter SampleFilter

The output filter.

This is used to perform sample-by-sample filtering of the output from the second stage decimator.

TOutputHandler OutputHandler

The output handler.

This is used to transmit samples or frames to subsequent stages of the processing pipeline.

Public Static Attributes

static constexpr unsigned MicCount = MIC_COUNT

Number of microphone channels.