Developer information

2025-03-14

Firmare version 2.1

The spcmic contains 84 MEMS microphones, a thermometer and a 3-axis accelerometer. The microphones contain a delta-sigma modulator running at 3.25 MHz, derived from a crystal oscillator inside the spcmic. This signal is decimated to an intermediate sample rate of 101.6 kHz. The gain and frequency response of the microphones is individually calibrated, and the calibration data is stored in a flash memory inside the microphone. The calibration correction is applied at this intermediate sample rate, before the signal is resampled at a standard user-selected sample rate (44.1 kHz – 96 kHz). The sample clock of the resampler is generated by a software-defined PLL, which is locked to the USB frame sync.

The output signal has a depth of 24 bits, and is calibrated so that full scale output corresponds to 130 dB SPL, which is the acoustic overload point of the microphones. The least significant bit of the audio signal is used to transmit the readings from the thermometer and accelerometer. This corresponds to a signal level of –8.5 dB SPL, which can safely be ignored by applications that don’t require this information. The values transmitted in the LSB are 16 bit signed integers. One bit is transmitted per channel, the least significant bit first. The encoding is as follows:

Channel Content
1-16 Product id. Constant value = 2
16-32 Temperature. Unit = 1/256 °C
33-48 X accelleration. Unit = 1/256 g
49-63 Y accelleration. Unit = 1/256 g
64-79 Z accelleration. Unit = 1/256 g
80-84 Reserved

When the microphone is mounted in its normal orientation, the accelleration will be approximately (0, 256, 0). The positive X direction backwards, Y is up and Z is right.

The spcmic is compatible with the USB audio class 2.0 protocol, which has built-in support in all modern operating systems. To distinguish between multiple spcmics connected to the same computer, the device name includes the device’s serial number.

The Windows audio stack currently doesn’t support devices with more than 8 channels, so the Windows distribution of our software inlcudes an ASIO driver.

The total latency of of the spcmic, due to filtering and data packet buffering, is approximately 0.5 ms.

The spatial response of the spcmic, which is necessary to create beamformers for it, can be downloaded in the following file:

spcmic-response.mat

This is a Matlab file containing the following variables:

Variable Content Dimensions
B Spatial response nfreq, ndir, nch
k Wavenumber [1/m] nfreq
q Source direction, unit vectors ndir, 3

The file contains the complex response amplitudes in ndir = 648 directions, nfreq = 99 frequencies from 0 Hz to 20 kHz for nch = 84 channels. The response data is derived from calculations at low frequencies and measurements at high frequencies. The excitation signal is a point source at a distance of 2.0 meters from the center of the array, in the directions specified by the q vectors. The phase and amplitude of the source is adjusted for a unitary free-field response at the center of the array.

0
    0
    Your Cart
    Your cart is emptyReturn to Shop