Issues with Sampling Electret Microphone Signal at 44.1 kHz

Hi all,

I am fairly new to the world of electronics and I am currently working on a project where I want to measure microphone signals and save them to an SD card (in .txt format). I am working with the Adafruit Feather M0 Adalogger (product: Adafruit Feather M0 Adalogger : ID 2796 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits) and the electret microphone with the MAX4466 (product: Electret Microphone Amplifier - MAX4466 with Adjustable Gain : ID 1063 : $6.95 : Adafruit Industries, Unique & fun DIY electronics and kits). I have connected 3 such electret microphones to the board on pins A0, A1 and A2, respectively. The VCC and GND of the microphones are also connected to the board (to the 3.3V power pin). My goal is to sample the microphone signal at 44100 Hz since I would like to capture the frequencies in the audible range 20 Hz - 20 kHz (in compliance with the Nyquist theorem). According to the microcontroller datasheet, the ADC should be capable of converting up to 350 000 samples per second, thus being able to achieve the desired sampling frequency of 44.1 kHz.

I have connected the components, made sure everything functions properly and I have written the code - which you can find below - using the Arduino IDE. However, I am currently facing 2 issues that I don't seem to be able to resolve. First one is regarding the magnitude of the signal being sent by the microphones, while the second one is achieving the desired sampling rate.

  1. If my understanding is correct, the analog input of the microphone to the board should be (for the case of 12-bit resolution) a value ranging between 0 and 4095, corresponding to the 'level' of the voltage outputted by the microphone. So, the numbers coming from the analogRead() of the pins A0 to A2 will be the 'level' of the microphone voltage? However, since the microphone signal is biased at half the supply voltage (since microphones can also capture negative pressures) I first need to subtract said bias. So, for a 12-bit resolution signal, the middle 'level' will be 2048, refering to half the supply voltage. Then, since I am supplying the microphones with 3.3V (I checked the VCC to the mic, it is indeed 3.3V), in order to obtain the actual voltage outputted from the microphone, I need to multiply the mic signal to the board - with the biased removed - by the voltage resolution step, which in turn is calculated by dividing the supply voltage by the amount of 'levels' in which the ADC can partition it? I did this, however the results (which I anticipate should be in mV based on my code) seem off to me. Let me start with the microphone sensitivity, which in the data sheet is stated to be -44 dB, which gives a transfer factor of 6.3096 mV/Pa. If my understanding is correct, what this means is that for a sound wave of 1 Pa the microphone will output a signal of 6.3096 mV? Then, I can obtain the measured sound pressure by dividing the calculated microphone signal voltage by the transfer factor? Assuming that this is true, the obtained measurements will indicate that the microphone is capturing at times pressure of up to 4-5 Pa (and some measurements indicate as much as 8 Pa). Of course, it was not complety silent in my room while taking these measurements, there were sounds from outside that could have been captured, also from the fans of my computer, or even from moving the microphone boards along the desk, or me breathing, but I don't think that their sound pressure should be anywhere near those magnitudes? I should also say that I am quite inexperienced in the field of sound engineering, so I might be completely misunderstanding the data, but that is why I would also like to ask for your opinion. As a side note, I should say that I looked as the mic readings prior to removing the bias from the microphone signals, and they did output values around 2048, which is what should be expected from microphone measurements in silence (for 12-bit resolution).

  2. My second issue is with the sampling frequency. For a sampling frequency of 44 100 Hz, I need to take a sample (measure the microphone signal) every 22.67573696 microseconds. Since I am using the micros() function of the Arduino IDE, I decided to put the sampling period to 22 microseconds, equating to sampling frequency of approximately 45 454.5 Hz. As such, if I record with the microphone for 22 seconds, I should obtain 1 000 000 samples from each microphone. However, when I open the file to which the microcontroller has saved the microphone data, it has less than 1500 rows - or less than 1500 samples per microphone - for a 22 second recording, a far cry from the expected amount of samples. I have also tried to move the part of the code that writes to the file on the SD card outside of the sample() function to the void loop(), but this resulted in no changes. As a side note, I am working with a 32 GB SDHC Class 10 SD Card.

As a final note, I have also tried working with the TMRpcm library, however I get the error that my device (Feather M0) is not compatible with the library due to its different architecture.

// include the relevant libraries
#include <SPI.h>
#include <SD.h>

// the microphone pins
int Microphone1Pin = A0;
int Microphone2Pin = A1;
int Microphone3Pin = A2;

// the SD card CS Pin
const int SD_chipSelect = 4;

// define the ADC sampling period
const int period = 22; // [microseconds] - the sampling frequency will in this case be 45 454 Hz

// define the variable that will hold the value of the last time instance the period was completed
unsigned long last_period = 0;

// declare the varibles used in the code
int Microphone1Signal;
int Microphone2Signal;
int Microphone3Signal;

float Microphone1Voltage;
float Microphone2Voltage;
float Microphone3Voltage;

float Microphone1Signal_unbiased;
float Microphone2Signal_unbiased;
float Microphone3Signal_unbiased;

const int microphone_bias = 2048; // the ADC is 12-bit, meaning there are 4096 'levels', so half the supply voltage will sit as the 4096/2 'level'

void setup() {
  // put your setup code here, to run once:

  // set baud rate to 115 200
  Serial.begin(115200);

// define the pins that will receive the inputs - the microphone signal
  pinMode(Microphone1Pin, INPUT);
  pinMode(Microphone2Pin, INPUT);
  pinMode(Microphone3Pin, INPUT);

  // see if the card is present and can be initialized:
  if (!SD.begin(SD_chipSelect)) {
    Serial.println("Card failed, or not present");
    // don't do anything more:
    while (1);
  }
  Serial.println("card initialized.");
}

void loop() {
  // put your main code here, to run repeatedly:

  // set the ADC resolution to 12-bits
  analogReadResolution(12);

  // check if a single period has passed
  if (micros() - last_period > period) {
    last_period += period;
    sample();
  }
}

void sample() {
  // read the microphone signals from the analog pins
  Microphone1Signal = analogRead(Microphone1Pin);
  Microphone2Signal = analogRead(Microphone2Pin);
  Microphone3Signal = analogRead(Microphone3Pin);

  // Subtract the microphone output bias (half the supply voltage) to get positive and negative values
  Microphone1Signal_unbiased = Microphone1Signal - microphone_bias;
  Microphone2Signal_unbiased = Microphone2Signal - microphone_bias;
  Microphone3Signal_unbiased = Microphone3Signal - microphone_bias;

  // convert the analog readings to voltages in mV
  Microphone1Voltage = Microphone1Signal_unbiased * 3300L / 4095; // 3300 mV is 3.3V, which is the operational voltage of the microphones
  Microphone2Voltage = Microphone2Signal_unbiased * 3300L / 4095; // 3300 mV is 3.3V, which is the operational voltage of the microphones
  Microphone3Voltage = Microphone3Signal_unbiased * 3300L / 4095; // 3300 mV is 3.3V, which is the operational voltage of the microphones
 
  // print the microphone signals in the serial port
  String separation_string = ", ";
  Serial.print(Microphone1Voltage);
  Serial.print(separation_string);
  Serial.print(Microphone2Voltage);
  Serial.print(separation_string);
  Serial.println(Microphone3Voltage);

  // save the data to a file on the SD card
  File dataFile = SD.open("datalog.txt", FILE_WRITE); // open the file
  String data_separation = ",";
  if (dataFile) {
    dataFile.print(Microphone1Voltage);
    dataFile.print(data_separation);
    dataFile.print(Microphone2Voltage);
    dataFile.print(data_separation);
    dataFile.println(Microphone3Voltage);
    dataFile.close();
  }
  // if the file is not open, return an error message
  else {
    Serial.println("Error encountered in opening the file datalog.txt");
  }
}

That's reasonable for a microphone before amplification, but you have an amplifier. BTW - That's typically an RMS voltage. 1Pa is 94dB SPL... LOUD!

Do you really need voltage? Typically, an audio file (such as WAV) contains the "raw" sample values. But, 12-bit audio is "odd" so if you want a standard 16-bit audio file you'll have to multiply (or bit-shift).

...I don't know about the speed issue. You can try taking-out the timing and running it as fast as possible for one second to see how many samples you get.

How about using a teensy 4.0 which has a hardware I2S-audio-port and a microphne-module with a I2S-interface which already does the ADC inside the microphone?

https://www.pjrc.com/store/teensy40.html

best regards Stefan

There are a few issues I can see.
1:

It depends on your requirement. Just because the signals you are working with fall within the audio spectrum doesnt impose a requirement to sample at a particular rate. Also Nyquist only applies for strictly band limited signals.
The soprano's vocal range (using scientific pitch notation) is from approximately middle C (C4) = 261 Hz to "high A" (A5) = 880 Hz in choral music, or to "soprano C" (C6, two octaves above middle C) = 1046 Hz or higher in operatic music.
The bandwidth of an analogue telephone is located between the lower limit frequency of 300 Hz and the upper limit frequency of 3,400 hertz (a bandwidth of 3.1 kilohertz), which is high enough quality to transmit a voice that can be understood.
Even allowing for harmonics, unless you are recording studio quality music there is no need to sample at such high rates.

2: Also you are sampling in a 10 bit range (which boils down to 8 bits for rms over one half cycle) which will impose seirous limits on the quality and dynamic range.
As a reference point, the dynamic range of human hearing, the difference between the softest sound we can perceive and the loudest, is about 120 dB. or a factor of 1:1000000

3:
You have not shown the values you are reading back so no way of knowing what your equipment is showing

4: your serial prints take time. 115200 baud = ABOUT 11000 char/sec
so your

print the microphone signals in the serial port

can take around 1msec.
I dont know how long a

dataFile.print

takes.

Finally, you are doing an integer subtraction

and I'm not expert enough to say what that will do; followed by

A few issues to resolve!

Hi guys,

Thank you for the help! I really appreciate you taking the time!

DVDdoug: That's reasonable for a microphone before amplification, but you have an amplifier. BTW - That's typically an RMS voltage. 1Pa is 94dB SPL... LOUD!

Indeed, I overlooked the amplification, my bad there.

DVDdoug: Do you really need voltage? Typically, an audio file (such as WAV) contains the "raw" sample values. But, 12-bit audio is "odd" so if you want a standard 16-bit audio file you'll have to multiply (or bit-shift)

As for the voltage, what I was doing is to save the microhone readings directly to a .txt file (the forum doesn't allow me to upload the file since I am a new user) , however I now think it might be better to save them in binary format (I assume this is the "raw" sample value?). Maybe write them into a .wav file? If I am not mistaken the .wav file contains raw data (in binary form) and includes a header (as discussed here). However I am not sure how to write the microphone signals in binary form.

StefanL38: How about using a teensy 4.0 which has a hardware I2S-audio-port and a microphne-module with a I2S -interface which already does the ADC inside the microphone?

I am intending on mounting the microphone flush, and the fact that the electret microphone protrudes quite a bit from the board makes this task a lot easier.

johnerrington: You have not shown the values you are reading back so no way of knowing what your equipment is showing

I can't upload a file since I am a new user. However, I have uploaded the content of the datalog file as code that you can find below.

johnerrington: your serial prints take time

Regarding, the issues with the writing speed to the SD card, I indeed now suspect that it might have to do with the fact that the some functions (particularly the print ones) might take longer to execute than the sampling period I have defined of 22 microseconds. I will try to check it now.

Cheers!

28.21,36.26,29.82
-6.45,-9.67,-4.84
25.79,18.53,24.18
5.64,9.67,5.64
1.61,4.03,-6.45
8.86,15.31,27.40
55.60,42.71,42.71
4.84,16.92,-29.82
-0.81,-0.81,-29.82
14.51,1.61,-21.76
5.64,16.92,28.21
32.23,12.89,13.70
45.93,43.52,23.37
13.70,14.51,20.95
3.22,2.42,-18.53
16.92,-16.92,16.12
-21.76,-0.81,11.28
17.73,20.95,17.73
53.19,77.36,36.26
-22.56,-20.15,11.28
-12.89,23.37,10.48
13.70,-16.92,-11.28
15.31,16.12,5.64
11.28,5.64,6.45
21.76,39.49,34.65
26.59,6.45,9.67
-5.64,16.92,13.70
-6.45,9.67,4.84
7.25,8.86,14.51
6.45,-17.73,9.67
37.88,39.49,38.68
-13.70,7.25,9.67
16.12,12.89,8.86
-2.42,7.25,17.73
1.61,1.61,-20.95
23.37,12.09,-10.48
25.79,47.55,27.40
7.25,1.61,-45.13
-7.25,12.09,5.64
-4.03,8.06,4.84
17.73,8.06,11.28
13.70,12.09,11.28
30.62,22.56,26.59
33.85,20.15,22.56
8.06,7.25,-1.61
2.42,20.15,-3.22
-7.25,8.06,12.89
2.42,12.09,-5.64
30.62,46.74,52.38
-0.81,8.06,12.89
10.48,8.06,4.84
-4.03,9.67,15.31
16.92,7.25,15.31
7.25,-4.84,10.48
12.09,31.43,20.15
8.06,-0.81,5.64
12.09,6.45,13.70
2.42,10.48,12.09
-20.95,8.86,4.03
1.61,16.92,12.09
40.29,34.65,57.22
-0.81,-11.28,33.85
-7.25,-0.81,20.95
-12.09,2.42,18.53
19.34,28.21,22.56
15.31,12.09,-2.42
36.26,37.88,40.29
-4.03,5.64,43.52
-4.03,5.64,3.22
-3.22,15.31,25.79
-11.28,6.45,2.42
-17.73,-11.28,7.25
47.55,41.10,35.46
-26.59,4.84,18.53
7.25,6.45,12.09
10.48,27.40,0.81
-3.22,12.09,14.51
-1.61,4.03,5.64
39.49,51.58,41.90
-0.81,9.67,17.73
5.64,-2.42,0.81
-8.86,-5.64,4.03
6.45,8.86,8.86
-0.81,2.42,6.45
33.85,37.88,12.09
15.31,21.76,8.86
12.09,13.70,12.09
4.84,3.22,10.48
0.00,7.25,6.45
0.81,2.42,8.86
39.49,40.29,40.29
14.51,4.84,3.22
2.42,5.64,12.89
-6.45,1.61,5.64
-4.03,11.28,15.31
-12.89,0.00,1.61
31.43,41.10,39.49
2.42,0.00,9.67
23.37,10.48,5.64
-5.64,4.03,7.25
-9.67,26.59,5.64
1.61,7.25,5.64
17.73,41.10,35.46
8.06,8.86,16.12
-6.45,2.42,8.06
8.06,3.22,8.86
10.48,8.86,12.89
5.64,3.22,9.67
34.65,44.32,40.29
3.22,8.86,8.06
3.22,4.84,6.45
12.09,-10.48,14.51
12.89,8.06,10.48
8.06,65.27,11.28
49.96,73.33,45.93
-24.98,10.48,7.25
4.84,5.64,10.48
1.61,8.06,13.70
5.64,-10.48,8.86
0.81,12.09,9.67
44.32,52.38,38.68
16.12,-6.45,4.03
-8.06,10.48,6.45
-8.86,2.42,-12.89
7.25,10.48,15.31
1.61,2.42,5.64
32.23,46.74,40.29
4.03,3.22,7.25
-7.25,0.81,7.25
14.51,1.61,13.70
4.03,8.86,12.89
-4.03,5.64,11.28
33.85,31.43,31.43
-12.89,4.03,14.51
10.48,13.70,14.51
-7.25,4.84,7.25
0.00,3.22,9.67
-2.42,4.84,8.86
50.77,50.77,53.19
17.73,1.61,-0.81
-10.48,-1.61,5.64
-4.03,-4.03,3.22
-1.61,0.00,4.84
5.64,-14.51,-8.06
36.26,51.58,39.49
3.22,5.64,14.51
-20.15,-12.09,-19.34
31.43,27.40,29.01
20.15,25.79,23.37
-17.73,-2.42,5.64
12.89,34.65,38.68
23.37,21.76,20.15
13.70,-2.42,8.06
-24.98,-12.89,-8.06
-1.61,5.64,14.51
8.06,5.64,4.84
42.71,68.50,47.55
29.01,39.49,39.49
30.62,61.25,34.65
16.12,-0.81,4.84
-61.25,-53.19,-49.16
-1.61,15.31,12.09
46.74,41.10,31.43
-53.99,-10.48,-24.98
33.04,29.82,19.34
9.67,10.48,7.25
-16.12,58.83,8.06
1.61,-6.45,-8.86
23.37,41.10,29.01
8.86,6.45,34.65
-9.67,11.28,24.18
112.82,141.03,122.49
31.43,37.07,32.23
-19.34,3.22,-16.12
74.95,91.87,83.00
-12.89,-4.03,-10.48
-41.10,-61.25,-66.08
-43.52,-29.01,-14.51
-1.61,8.86,13.70
58.02,35.46,31.43
20.95,29.82,29.01
-33.85,-7.25,-12.89
-4.03,16.92,-3.22
6.45,10.48,16.12
-12.09,2.42,0.00
-5.64,-21.76,20.95
11.28,27.40,44.32
16.92,43.52,27.40
-6.45,-4.84,-5.64
-8.06,18.53,13.70
10.48,10.48,16.92
16.12,31.43,24.18
22.56,33.85,34.65
-9.67,4.03,0.81
-7.25,6.45,4.03
24.18,19.34,19.34
-4.03,8.06,16.92
24.18,37.07,-2.42
88.64,103.96,76.56
24.98,33.04,51.58
15.31,20.15,29.01
-17.73,0.81,-18.53
-4.84,-12.89,-6.45
-18.53,11.28,9.67
8.06,-0.81,24.98
-1.61,-4.03,-20.95
-3.22,2.42,-0.81
6.45,-4.03,-1.61
14.51,12.89,8.86
-3.22,4.03,8.06
22.56,38.68,40.29
6.45,8.06,7.25
2.42,6.45,5.64
2.42,12.09,10.48
10.48,7.25,9.67
-8.06,1.61,4.84
33.85,41.10,40.29
-4.84,1.61,6.45
0.00,-0.81,2.42
7.25,3.22,5.64
-5.64,0.00,8.86
27.40,8.06,9.67
46.74,41.10,44.32
-3.22,5.64,12.09
-4.84,0.00,8.06
7.25,1.61,12.89
4.84,5.64,7.25
-4.03,12.89,9.67
37.88,33.85,34.65
0.00,3.22,8.06
-3.22,3.22,8.86
4.84,7.25,8.06
-8.06,4.03,9.67
-6.45,1.61,6.45
28.21,47.55,62.05
12.89,0.00,4.03
-15.31,4.03,6.45
-3.22,6.45,8.06
15.31,7.25,16.12
-5.64,4.03,6.45
33.85,29.01,39.49
7.25,5.64,9.67
-12.89,-4.03,5.64
18.53,4.03,8.86
-12.09,9.67,8.06
8.86,5.64,11.28
42.71,33.04,17.73
4.84,16.12,3.22
-16.92,6.45,8.86
-3.22,5.64,10.48
-8.06,3.22,7.25
13.70,-0.81,4.03
30.62,43.52,39.49
8.06,9.67,0.00
12.09,4.84,8.06
-3.22,5.64,8.06
0.81,1.61,4.03
-0.81,8.86,11.28
45.13,40.29,38.68
-8.86,-3.22,5.64
0.00,2.42,2.42
-11.28,22.56,-0.81
-8.86,4.84,10.48
-5.64,1.61,-1.61
37.88,32.23,37.88
8.86,14.51,12.09
-13.70,1.61,5.64
-5.64,-20.95,5.64
8.86,5.64,7.25
1.61,8.06,13.70
39.49,41.10,34.65
4.84,1.61,34.65
-9.67,3.22,10.48
15.31,12.09,8.06
-3.22,0.00,3.22
0.00,-1.61,0.00
26.59,40.29,41.90
16.12,8.86,8.86
-6.45,1.61,10.48
-10.48,0.00,4.84
11.28,4.03,11.28
-16.12,15.31,13.70
29.82,42.71,39.49
-1.61,7.25,4.03
9.67,6.45,9.67
-4.03,0.81,1.61
-1.61,26.59,20.15
12.89,7.25,11.28
12.89,27.40,28.21
3.22,3.22,7.25
13.70,9.67,12.89
4.03,4.03,12.89
-8.86,-1.61,-4.84
20.15,17.73,18.53
29.01,41.90,35.46
-9.67,2.42,9.67
4.03,6.45,12.09
-12.09,4.03,8.86
15.31,7.25,12.89
3.22,9.67,8.06
41.10,38.68,35.46
-15.31,3.22,1.61
15.31,3.22,7.25
-1.61,6.45,3.22
-3.22,5.64,4.84
-3.22,8.86,11.28
24.98,43.52,37.07
4.03,8.06,5.64
-5.64,9.67,18.53
11.28,9.67,3.22
-12.09,-4.84,-2.42
9.67,6.45,11.28
32.23,41.10,38.68
4.84,12.89,10.48
1.61,11.28,8.86
0.00,-3.22,4.03
8.06,8.86,10.48
1.61,5.64,7.25
21.76,42.71,37.88
-4.03,7.25,-0.81
8.06,-6.45,7.25
-17.73,1.61,5.64
21.76,14.51,10.48
8.86,0.81,8.06
28.21,42.71,40.29
4.84,16.92,14.51
24.98,20.15,12.89
-12.09,8.06,3.22
-20.15,-14.51,-8.86
8.06,4.84,-0.81
37.88,43.52,46.74
-11.28,-3.22,-4.03
8.06,8.86,14.51
16.12,21.76,17.73
3.22,1.61,4.84
-0.81,22.56,11.28
33.85,20.95,37.07
-5.64,10.48,-0.81
16.92,11.28,9.67
0.00,16.92,12.89
4.84,20.95,5.64
-2.42,0.00,8.86
49.96,45.13,43.52
0.81,5.64,11.28
-11.28,-1.61,3.22
-5.64,0.00,6.45
2.42,1.61,8.06
-22.56,-33.85,-1.61
41.10,52.38,41.10
-2.42,-2.42,8.06
0.81,12.89,13.70
1.61,5.64,9.67
3.22,0.00,1.61
2.42,10.48,12.09
25.79,41.90,40.29
1.61,0.81,8.86
8.06,13.70,16.12
-17.73,2.42,2.42
29.82,3.22,10.48
-1.61,9.67,8.06
43.52,40.29,34.65
-4.84,6.45,8.06
15.31,8.06,4.03
5.64,8.86,5.64
18.53,4.03,12.89
-1.61,3.22,4.03
30.62,37.88,37.88
-0.81,-1.61,2.42
-8.86,16.92,224.84
72.53,-9.67,-17.73
-20.95,-72.53,82.20
32.23,-6.45,4.84
1.61,-15.31,15.31
18.53,-18.53,19.34
-16.92,-23.37,-16.12
-23.37,-6.45,8.06
12.09,-33.04,11.28
16.12,8.06,8.06
33.04,75.75,41.10
24.18,12.89,11.28
-10.48,-17.73,1.61
-8.86,3.22,5.64
-2.42,5.64,32.23
10.48,3.22,9.67
23.37,38.68,40.29
8.86,17.73,13.70
12.89,1.61,6.45
-6.45,5.64,8.06
-11.28,6.45,17.73
3.22,5.64,11.28
38.68,51.58,49.16
-3.22,0.00,0.81
14.51,6.45,14.51
-33.04,2.42,13.70
8.86,-2.42,-2.42
-15.31,-6.45,-1.61
28.21,44.32,34.65
19.34,25.79,19.34
-1.61,13.70,11.28
-7.25,5.64,8.06
5.64,12.89,-13.70
-4.03,-2.42,11.28
37.07,41.10,39.49
4.84,-0.81,4.03
7.25,8.86,12.89
-6.45,-0.81,4.03
-8.06,2.42,8.86
-8.06,-4.03,1.61
36.26,41.10,24.98
-0.81,12.89,18.53
24.18,8.06,12.09
-4.84,-4.03,3.22
-12.09,6.45,9.67
-7.25,-2.42,-3.22
16.92,59.63,34.65
20.15,2.42,5.64
-1.61,6.45,12.89
-1.61,-8.06,6.45
8.06,6.45,13.70
8.86,4.84,9.67
24.18,41.90,41.90
2.42,4.84,8.86
-4.84,-1.61,6.45
14.51,3.22,10.48
0.00,-3.22,0.00
-7.25,-1.61,3.22
33.85,45.93,37.07
15.31,4.03,11.28
-4.84,0.00,1.61
-0.81,5.64,6.45
-10.48,4.03,10.48
12.09,4.84,7.25
35.46,36.26,37.07
7.25,5.64,13.70
3.22,-3.22,0.81
-5.64,0.81,0.00
4.03,7.25,8.86
12.89,10.48,14.51
38.68,44.32,43.52
4.03,4.84,8.06
-4.84,-3.22,1.61
0.00,0.81,2.42
19.34,6.45,11.28
-2.42,0.81,3.22
30.62,40.29,33.85
10.48,8.06,8.86
5.64,10.48,9.67
-10.48,-15.31,12.09
-4.03,6.45,13.70
-6.45,7.25,5.64
33.85,33.85,39.49
-15.31,-2.42,6.45
-5.64,0.81,5.64
-7.25,4.03,0.81
-8.06,27.40,9.67
14.51,6.45,-0.81
20.95,12.09,16.12
-1.61,-4.03,1.61
2.42,3.22,8.86
-7.25,1.61,7.25
-0.81,-0.81,0.81
6.45,8.86,8.06
20.95,20.15,10.48
1.61,3.22,7.25
-20.95,3.22,6.45
0.00,1.61,5.64
0.00,7.25,1.61
8.86,-4.03,1.61
16.12,13.70,14.51
-22.56,0.81,5.64
8.06,4.84,9.67
-11.28,-2.42,2.42
-14.51,6.45,4.84
2.42,-2.42,1.61
2.42,21.76,22.56
-14.51,4.03,6.45
3.22,0.00,8.86
0.00,5.64,4.84
-15.31,-8.06,-3.22
-12.89,0.00,7.25
11.28,8.86,13.70
-2.42,6.45,11.28
-6.45,4.84,8.06
2.42,11.28,4.03
-4.84,6.45,8.06
27.40,40.29,41.10
8.06,9.67,11.28
-3.22,4.84,5.64
4.84,3.22,4.84
1.61,11.28,12.89
-0.81,11.28,11.28
24.18,41.10,37.88
4.03,-0.81,-3.22
-10.48,0.00,4.84
8.06,6.45,8.86
1.61,5.64,4.03
10.48,0.81,7.25
16.92,33.04,33.85
1.61,4.03,11.28
-7.25,0.00,6.45
12.89,4.84,8.06
3.22,-4.03,4.03
-5.64,-0.81,4.84
24.18,35.46,37.88
-1.61,5.64,5.64
4.84,3.22,8.06
1.61,4.03,12.09
2.42,2.42,3.22
1.61,5.64,11.28
32.23,40.29,40.29
0.81,8.86,11.28
2.42,8.86,13.70
6.45,0.00,7.25
-6.45,2.42,0.81
1.61,4.03,7.25
12.09,29.01,30.62
7.25,8.06,11.28
-6.45,2.42,4.03
2.42,2.42,3.22
4.03,4.84,9.67
2.42,0.00,4.03
40.29,41.90,46.74
5.64,0.81,5.64
-4.84,-0.81,7.25
-6.45,12.09,12.89
-5.64,8.06,10.48
-8.06,-6.45,-1.61
8.06,27.40,31.43
6.45,16.12,16.12
-2.42,13.70,12.09
-2.42,-2.42,2.42
-5.64,2.42,0.00
-4.84,3.22,8.06
42.71,43.52,41.10
-7.25,1.61,9.67
1.61,7.25,7.25
-4.84,-8.06,0.81
6.45,6.45,12.09
-6.45,8.86,7.25
26.59,45.13,38.68
0.00,4.03,7.25
-5.64,8.86,7.25
5.64,11.28,10.48
-3.22,4.84,6.45
12.09,4.84,8.06
42.71,45.13,42.71
4.03,9.67,6.45
0.00,0.00,7.25
-1.61,0.81,3.22
2.42,4.03,10.48
6.45,6.45,4.84
32.23,40.29,41.90
13.70,9.67,11.28
-10.48,0.81,8.86
-5.64,4.03,6.45
4.84,5.64,8.06
8.86,5.64,7.25
32.23,40.29,42.71
-17.73,-1.61,2.42
1.61,2.42,7.25
-7.25,4.03,8.86
0.00,8.06,17.73
12.09,11.28,16.12
27.40,36.26,39.49
16.12,5.64,7.25
1.61,4.03,8.06
-15.31,5.64,6.45
-7.25,5.64,5.64
10.48,9.67,14.51
28.21,32.23,30.62
5.64,9.67,14.51
8.86,10.48,12.09
-9.67,-2.42,0.81
4.03,4.84,7.25
-9.67,-3.22,3.22
39.49,33.85,37.07
4.84,4.84,13.70
-4.84,3.22,8.06
4.03,14.51,13.70
4.84,-0.81,4.03
-7.25,3.22,5.64
45.93,37.07,37.07
13.70,8.06,12.09
0.81,1.61,7.25
-4.84,3.22,1.61
0.00,2.42,5.64
0.81,4.03,12.09
33.04,37.07,33.85
3.22,8.06,10.48
6.45,3.22,6.45
6.45,7.25,7.25
-9.67,-3.22,4.84
12.89,10.48,9.67
22.56,39.49,34.65
-1.61,6.45,8.06
-1.61,0.00,6.45
0.00,13.70,9.67
8.86,2.42,10.48
-12.89,1.61,7.25
19.34,34.65,37.07
9.67,4.84,9.67
-4.03,12.09,13.70
-9.67,-6.45,-4.84
-4.84,4.84,7.25
9.67,-3.22,1.61
34.65,35.46,40.29
10.48,7.25,4.84
5.64,5.64,10.48
-5.64,7.25,12.09
4.84,-0.81,0.00
3.22,5.64,7.25
39.49,45.93,41.10
4.84,-9.67,-0.81
4.03,9.67,13.70
12.09,12.09,11.28
-3.22,3.22,5.64
-14.51,7.25,5.64
56.41,33.85,37.07
4.84,7.25,8.06
-1.61,-1.61,2.42
-1.61,8.06,9.67
13.70,3.22,9.67
-1.61,8.06,10.48
32.23,43.52,38.68
7.25,9.67,13.70
3.22,8.06,13.70
8.86,0.00,3.22
-5.64,3.22,6.45
9.67,10.48,9.67
29.01,35.46,35.46
1.61,-0.81,12.09
2.42,-2.42,0.81
-0.81,4.03,7.25
-1.61,13.70,12.89
-2.42,7.25,11.28
37.07,41.10,39.49
-5.64,-2.42,6.45
0.81,2.42,6.45
11.28,4.84,4.03
4.03,1.61,4.03
11.28,10.48,12.89
20.95,37.07,37.88
4.03,6.45,11.28
2.42,8.86,8.86
-3.22,10.48,11.28
-2.42,5.64,9.67
1.61,-4.84,3.22
33.04,41.10,42.71
11.28,6.45,9.67
2.42,8.86,9.67
-21.76,-8.86,0.00
-5.64,2.42,7.25
6.45,1.61,4.03
16.92,31.43,26.59
0.00,4.84,8.86
12.09,-1.61,7.25
2.42,6.45,8.06
-2.42,5.64,8.86
-4.03,7.25,8.86
35.46,41.90,41.10
0.81,4.03,10.48
-1.61,8.06,7.25
-9.67,6.45,8.06
3.22,10.48,9.67
-22.56,5.64,4.03
20.15,32.23,30.62
3.22,9.67,7.25
-6.45,3.22,8.86
10.48,4.84,11.28
-4.03,4.03,2.42
22.56,28.21,27.40
15.31,37.88,37.07
8.86,9.67,12.09
0.00,4.84,9.67
-8.06,0.81,4.84
4.03,6.45,11.28
8.86,4.84,9.67
43.52,42.71,40.29
-12.09,-1.61,6.45
8.86,3.22,12.89
2.42,9.67,13.70
-4.84,2.42,10.48
-8.06,7.25,9.67
44.32,35.46,33.85
-8.86,6.45,7.25
0.00,14.51,15.31
6.45,9.67,11.28
0.81,1.61,4.84
-13.70,0.81,8.06
12.89,36.26,34.65
0.81,8.06,10.48
9.67,4.84,6.45
-4.03,6.45,12.09
5.64,5.64,8.86
8.86,12.89,13.70
28.21,41.10,41.10
4.03,0.81,3.22
-15.31,7.25,4.84
-7.25,8.86,10.48
15.31,12.09,7.25
-5.64,-0.81,1.61
33.85,49.96,40.29
0.81,12.89,16.12
4.84,17.73,14.51
4.84,2.42,8.06
9.67,5.64,9.67
6.45,12.89,14.51
35.46,45.93,45.13
1.61,12.09,12.09
-2.42,-0.81,2.42
8.06,0.00,8.86
0.00,4.84,4.03
-5.64,4.03,8.86
31.43,38.68,37.07
9.67,6.45,7.25
10.48,4.84,9.67
13.70,11.28,6.45
-1.61,8.06,4.84
-11.28,-6.45,-1.61
29.01,50.77,43.52
-3.22,-1.61,5.64
5.64,12.89,12.09
-2.42,8.06,12.09
0.00,6.45,8.86
9.67,12.89,8.86
33.85,39.49,37.88
12.09,8.06,8.86
3.22,4.84,10.48
0.81,5.64,8.06
0.00,8.06,7.25
-12.09,-1.61,0.81
33.85,45.93,49.96
3.22,-0.81,7.25
-12.09,3.22,8.86
0.00,4.84,7.25
9.67,7.25,9.67
6.45,4.03,5.64
27.40,38.68,35.46
-16.12,0.00,5.64
8.06,7.25,6.45
4.84,-3.22,-1.61
-9.67,-3.22,1.61
-11.28,-1.61,2.42
29.01,34.65,32.23
-4.03,11.28,12.89
-2.42,0.00,4.03
-8.86,1.61,4.03
3.22,7.25,8.86
-10.48,3.22,0.81
36.26,41.10,45.93
13.70,5.64,6.45
-6.45,2.42,0.81
-3.22,11.28,11.28
-5.64,-4.03,0.00
0.00,4.03,4.03
37.07,33.85,33.04
-1.61,11.28,15.31
3.22,5.64,7.25
8.06,2.42,8.06
8.06,4.84,5.64
3.22,-1.61,4.84
32.23,40.29,36.26
11.28,6.45,11.28
1.61,0.00,8.86
-3.22,2.42,3.22
-12.09,2.42,8.06
2.42,1.61,6.45
24.18,43.52,41.90
8.86,4.03,8.86
2.42,4.84,8.06
-16.12,6.45,10.48
-1.61,5.64,9.67
7.25,0.00,4.84
34.65,44.32,42.71
-8.06,6.45,12.09
4.84,8.06,13.70
8.06,5.64,9.67
-16.92,3.22,7.25
0.81,1.61,6.45
33.04,41.90,42.71
18.53,13.70,13.70
-5.64,9.67,6.45
2.42,0.81,5.64
0.00,8.86,8.86
8.86,4.03,11.28
20.95,38.68,39.49
-3.22,-0.81,2.42
-7.25,-0.81,4.03
-3.22,-1.61,5.64
1.61,8.06,12.09
10.48,3.22,7.25
29.01,46.74,45.93
-1.61,4.03,8.86
-2.42,-2.42,1.61
-5.64,4.03,8.86
0.00,7.25,5.64
0.00,-1.61,4.84
35.46,35.46,37.07
-12.09,8.06,12.89
0.81,8.06,10.48
-1.61,4.03,4.84
7.25,0.00,6.45
-4.03,0.81,-1.61
20.95,41.10,35.46
18.53,11.28,8.06
-2.42,8.86,8.06
2.42,7.25,8.86
0.81,0.00,1.61
1.61,4.84,8.86
38.68,37.07,39.49
0.81,6.45,1.61
-1.61,2.42,1.61
12.09,8.86,17.73
4.03,6.45,6.45
6.45,8.86,5.64
43.52,44.32,35.46
0.00,-0.81,4.03
5.64,12.09,16.12
-13.70,1.61,9.67
-4.03,0.81,1.61
9.67,5.64,5.64
26.59,33.85,35.46
5.64,13.70,11.28
3.22,1.61,3.22
-4.84,6.45,12.89
11.28,0.00,1.61
8.06,4.84,5.64
29.01,45.13,45.93
0.00,8.06,8.86
1.61,-4.03,1.61
8.86,10.48,12.09
-4.03,4.03,4.03
2.42,3.22,9.67
32.23,38.68,39.49
-12.89,1.61,3.22
2.42,1.61,4.03
11.28,13.70,13.70
5.64,0.81,4.03
-9.67,6.45,10.48
53.19,44.32,42.71
4.84,1.61,9.67
3.22,4.03,6.45
3.22,5.64,9.67
0.81,8.06,9.67
13.70,4.03,10.48
33.85,43.52,37.88
-7.25,4.84,11.28
16.92,7.25,13.70
-7.25,4.03,6.45
-8.06,-2.42,-2.42
6.45,4.84,9.67
43.52,40.29,41.10
-11.28,6.45,10.48
3.22,4.84,3.22
8.86,5.64,4.84
-0.81,5.64,8.06
-7.25,6.45,7.25
30.62,37.88,37.88
6.45,4.84,7.25
2.42,5.64,6.45
-3.22,1.61,5.64
1.61,-3.22,0.81
-8.06,1.61,7.25
33.04,43.52,38.68
4.84,5.64,7.25
6.45,4.84,8.86
0.00,8.06,8.06
0.81,3.22,6.45
5.64,5.64,5.64
33.04,38.68,38.68
2.42,4.84,4.03
7.25,8.06,11.28
-5.64,-0.81,8.06
7.25,0.81,2.42
-5.64,5.64,11.28
37.88,42.71,40.29
-5.64,3.22,10.48
1.61,7.25,5.64
-1.61,-0.81,10.48
-2.42,-4.03,2.42
-7.25,-0.81,4.03
31.43,42.71,43.52
12.89,9.67,8.86
-8.06,2.42,7.25
2.42,2.42,4.84
-1.61,0.00,10.48
0.81,11.28,12.09
37.88,45.13,43.52
6.45,4.84,12.09
2.42,3.22,8.06
6.45,5.64,7.25
-2.42,0.81,1.61
-4.84,6.45,7.25
15.31,33.04,34.65
12.89,4.84,10.48
-16.92,1.61,7.25
-0.81,6.45,9.67
7.25,5.64,12.09
-5.64,0.00,11.28
12.89,39.49,39.49
13.70,9.67,12.09
-2.42,0.81,0.00
5.64,2.42,4.03
0.00,9.67,8.06
-2.42,0.00,9.67
22.56,35.46,37.07
-4.03,4.03,5.64
-3.22,9.67,9.67
8.06,1.61,5.64
1.61,0.81,8.06
0.81,4.03,4.03
35.46,40.29,37.88
-15.31,4.03,1.61
4.84,3.22,6.45
15.31,4.03,4.03
-2.42,10.48,8.86
24.18,6.45,12.09
37.07,40.29,39.49
1.61,10.48,10.48
-8.06,13.70,7.25
-4.03,6.45,4.84
1.61,0.00,4.84
4.03,2.42,6.45
34.65,35.46,37.07
10.48,9.67,16.92
-7.25,3.22,5.64
-1.61,-0.81,3.22
5.64,-8.06,0.00
-5.64,-1.61,4.03
8.06,15.31,18.53
11.28,4.03,7.25
0.81,3.22,3.22
0.81,-3.22,-0.81
-14.51,-5.64,-1.61
4.03,1.61,7.25
0.00,8.86,7.25
-1.61,-6.45,-2.42
-8.86,1.61,4.03
7.25,4.84,4.84
-12.89,2.42,10.48
4.84,-9.67,-11.28
-0.81,8.06,-6.45
2.42,-12.89,-25.79
-4.03,1.61,49.96
-10.48,-4.03,4.84
-6.45,-7.25,1.61
-2.42,3.22,7.25
11.28,9.67,11.28
-8.06,4.84,8.86
0.81,7.25,8.86
-5.64,-4.84,2.42
17.73,0.81,5.64
-5.64,6.45,13.70
24.18,24.18,26.59
8.06,14.51,12.09
8.86,3.22,3.22
3.22,0.00,6.45
7.25,5.64,10.48
-0.81,2.42,8.06
5.64,17.73,15.31
-1.61,-0.81,1.61
6.45,5.64,6.45
-1.61,4.84,4.03
-8.06,-3.22,4.03
4.03,4.84,8.86
-0.81,13.70,18.53
8.86,0.81,4.03
-4.03,0.00,3.22
-8.86,0.00,2.42
-4.84,8.06,10.48
-6.45,3.22,1.61
6.45,14.51,17.73
-3.22,1.61,4.84
-8.06,4.84,8.06
8.06,-0.81,1.61
-8.06,2.42,4.84
-1.61,4.03,4.03
17.73,12.89,16.92
6.45,0.81,6.45
-14.51,-2.42,0.00
-3.22,1.61,4.84
16.92,16.12,12.09
32.23,37.07,36.26
1.61,0.81,8.86
-0.81,-0.81,6.45
13.70,5.64,7.25
-16.12,0.00,6.45
10.48,4.03,10.48
27.40,33.04,32.23
0.81,1.61,3.22
12.09,4.84,12.89
1.61,8.86,12.09
7.25,9.67,10.48
-2.42,0.00,-0.81
16.92,41.90,41.10
-8.06,9.67,12.09
7.25,5.64,6.45
4.84,8.86,12.89
-4.84,0.00,8.06
-4.03,5.64,4.03
36.26,39.49,36.26
-9.67,8.86,14.51
7.25,16.12,20.95
9.67,8.86,13.70
9.67,8.06,8.06
2.42,8.86,11.28
23.37,41.10,37.88
12.89,2.42,8.86
10.48,4.84,7.25
-12.09,0.81,3.22
-0.81,0.81,4.03
-16.92,5.64,12.09
45.93,37.88,40.29
-5.64,8.06,4.84
-22.56,-2.42,0.81
3.22,2.42,3.22
-0.81,4.03,9.67
2.42,2.42,5.64
35.46,49.16,39.49
6.45,9.67,12.89
-8.86,2.42,12.89
4.03,8.86,8.06
0.00,4.03,8.86
-4.03,-0.81,4.84
26.59,37.88,37.88
-8.86,4.03,4.84
-2.42,3.22,6.45
-2.42,4.84,11.28
-0.81,6.45,11.28
1.61,4.03,4.03
25.79,41.90,36.26
3.22,10.48,8.06
-12.89,-4.84,1.61
-11.28,8.86,4.84
-9.67,-0.81,1.61
16.92,4.84,8.86
33.85,37.88,24.18
20.15,4.03,11.28
-16.92,8.06,5.64
-2.42,2.42,8.06
-2.42,-2.42,5.64
8.06,9.67,11.28
45.93,45.93,44.32
-7.25,-1.61,1.61
8.06,-2.42,6.45
-9.67,8.06,8.86
5.64,8.86,11.28
-4.84,-1.61,5.64
25.79,33.85,37.88
0.81,4.03,15.31
-0.81,6.45,11.28
-2.42,-2.42,4.03
-3.22,4.03,10.48
-2.42,7.25,6.45
41.10,43.52,38.68
7.25,5.64,6.45
-5.64,-1.61,0.81
-0.81,-0.81,5.64
6.45,4.84,5.64
-1.61,2.42,7.25
29.82,33.85,36.26
-1.61,6.45,12.89
1.61,4.03,4.84
16.12,6.45,12.89
5.64,5.64,7.25
-9.67,3.22,6.45
22.56,37.07,34.65
3.22,5.64,9.67
4.03,7.25,11.28
-4.84,2.42,4.84
11.28,14.51,12.09
-9.67,-3.22,8.86
25.79,39.49,37.88
-4.84,8.06,10.48
8.86,1.61,10.48
-9.67,4.03,4.84
11.28,3.22,10.48
2.42,4.84,2.42
30.62,40.29,41.90
-7.25,-3.22,-2.42
9.67,11.28,9.67
4.84,4.03,15.31
11.28,11.28,10.48
-2.42,-5.64,5.64
45.13,38.68,37.07
-7.25,0.00,4.84
-1.61,11.28,15.31
-4.03,-0.81,4.03
12.89,5.64,16.12
4.03,13.70,12.89
33.04,48.35,38.68
5.64,17.73,29.01
-8.06,-2.42,4.84
3.22,29.82,8.06
-1.61,9.67,14.51
12.89,-4.03,5.64
38.68,34.65,37.88
0.00,12.89,12.89
4.84,6.45,12.09
6.45,4.03,8.06
-13.70,0.00,5.64
-0.81,0.00,3.22
22.56,40.29,45.13
-18.53,1.61,53.99
6.45,9.67,12.89
-2.42,4.03,0.00
0.00,-2.42,3.22
-0.81,5.64,5.64
41.10,38.68,38.68
4.84,2.42,7.25
-3.22,-5.64,3.22
1.61,4.84,11.28
-4.84,1.61,6.45
5.64,8.86,9.67
30.62,42.71,35.46
10.48,4.03,8.06
2.42,4.03,8.06
-8.86,-0.81,1.61
0.81,-0.81,11.28
12.89,-7.25,-12.89
32.23,44.32,48.35
10.48,-11.28,12.09
4.84,4.84,10.48
-2.42,4.84,5.64
-12.09,-4.84,-2.42
4.03,2.42,12.09
25.79,44.32,45.93
-8.06,7.25,7.25
14.51,6.45,5.64
2.42,3.22,8.86
7.25,4.84,4.03
2.42,-2.42,3.22
32.23,40.29,40.29
5.64,8.86,5.64
-8.06,-4.03,2.42
1.61,1.61,11.28
-1.61,8.86,7.25
13.70,3.22,8.06
27.40,40.29,37.88
12.89,10.48,10.48
-4.03,-4.03,4.03
0.81,0.81,10.48
-7.25,4.84,3.22
-0.81,1.61,4.03
28.21,40.29,37.88
4.84,10.48,8.86
-0.81,-5.64,8.06
-6.45,-5.64,4.03
1.61,4.03,7.25
7.25,2.42,8.86
28.21,34.65,35.46
-4.03,11.28,10.48
-4.84,1.61,6.45
-0.81,0.81,3.22
0.81,8.06,7.25
-4.84,0.00,-0.81
25.79,38.68,32.23
8.06,4.84,3.22
-3.22,0.00,2.42
-11.28,-5.64,-1.61
4.84,7.25,9.67
6.45,10.48,10.48
26.59,44.32,44.32
-2.42,4.03,7.25
-3.22,14.51,16.92
-3.22,-12.09,0.81
-3.22,10.48,3.22
-0.81,3.22,10.48
24.18,32.23,32.23
1.61,2.42,8.86
22.56,22.56,22.56
0.00,0.81,8.06
-16.92,-2.42,-8.06
3.22,12.09,10.48
31.43,40.29,37.07
-3.22,4.84,14.51
4.84,5.64,0.81
-4.84,2.42,2.42
16.12,8.06,8.06
2.42,-5.64,8.86
33.85,36.26,32.23
12.09,3.22,7.25
-0.81,6.45,8.86
-11.28,4.84,8.86
-4.03,1.61,4.84
-4.84,4.03,10.48
40.29,43.52,42.71
-1.61,5.64,9.67
4.84,15.31,20.95
0.81,5.64,5.64
6.45,6.45,5.64
10.48,7.25,12.89
29.01,40.29,37.88
-5.64,6.45,8.06
3.22,12.09,11.28
3.22,0.81,3.22
-8.86,4.03,5.64
8.06,4.03,7.25
41.10,43.52,41.10
-8.06,0.00,9.67
-8.06,0.00,4.84
-11.28,-0.81,0.00
-3.22,8.06,12.09
4.03,4.03,4.84
31.43,45.13,46.74
2.42,6.45,6.45
6.45,2.42,9.67
3.22,12.89,14.51
8.06,0.00,7.25
-6.45,0.81,3.22
19.34,36.26,34.65
2.42,11.28,11.28
-0.81,1.61,10.48
0.00,6.45,8.06
-5.64,-0.81,0.81
2.42,6.45,7.25
19.34,40.29,37.88
-4.84,4.84,8.86
8.06,2.42,6.45
11.28,8.86,7.25
0.81,-2.42,5.64
4.84,7.25,11.28
29.82,38.68,38.68
-8.86,10.48,11.28
10.48,4.84,7.25
-6.45,8.06,6.45
-8.86,4.84,4.03
1.61,6.45,7.25
41.90,41.90,45.13
13.70,14.51,20.95
0.81,4.84,8.86
0.00,0.81,6.45
3.22,9.67,10.48
11.28,6.45,6.45
16.12,34.65,39.49
8.06,14.51,17.73
-6.45,-2.42,1.61
20.15,3.22,8.86
-4.03,4.03,8.86
9.67,6.45,10.48
23.37,35.46,29.82
-8.06,-12.09,3.22
0.00,4.03,6.45
-1.61,-0.81,6.45
-14.51,4.03,8.06
1.61,0.81,0.81
32.23,39.49,39.49
1.61,5.64,9.67
3.22,0.00,9.67
0.81,4.84,11.28
12.89,6.45,7.25
-8.86,-0.81,8.06
34.65,40.29,36.26
-4.84,0.00,5.64
-0.81,8.06,12.09
6.45,5.64,11.28
10.48,11.28,12.89
7.25,4.84,8.06
33.85,37.88,37.88
-2.42,-3.22,7.25
-0.81,4.03,6.45
12.89,4.03,1.61
-8.86,8.86,10.48
-5.64,6.45,11.28
28.21,33.04,29.82
0.00,6.45,10.48
4.84,2.42,4.84
-2.42,8.06,5.64
-3.22,4.03,11.28
-8.86,-1.61,2.42
33.85,44.32,41.10
5.64,0.81,4.03
-4.03,0.81,8.86
4.84,9.67,8.86
10.48,4.84,4.03
-1.61,2.42,5.64
36.26,35.46,35.46
14.51,2.42,9.67
-7.25,7.25,8.06
6.45,4.03,7.25
-10.48,-0.81,0.00
6.45,1.61,6.45
33.85,47.55,41.90
-8.06,-1.61,4.84
-3.22,-1.61,6.45
4.03,3.22,5.64
-11.28,-4.84,7.25
0.81,-4.03,-0.81
25.79,37.07,37.88
-3.22,10.48,12.89
7.25,6.45,7.25
4.84,0.81,4.84
-8.06,-8.06,4.84
16.12,11.28,11.28
41.10,41.10,42.71
-0.81,9.67,8.86
1.61,2.42,8.06
0.00,-4.84,3.22
17.73,7.25,9.67
-8.86,6.45,7.25
26.59,36.26,42.71
4.03,9.67,8.06
1.61,-1.61,4.03
-1.61,-4.03,8.86
-12.09,15.31,12.09
3.22,1.61,-1.61
53.99,47.55,38.68
-8.86,15.31,7.25
-3.22,8.86,-5.64
-3.22,3.22,10.48
-8.06,-1.61,5.64
2.42,8.06,4.84
42.71,41.10,38.68
6.45,0.00,1.61
0.00,1.61,8.06
2.42,11.28,9.67
9.67,3.22,5.64
-8.06,0.00,6.45
33.04,41.10,37.88
-1.61,1.61,9.67
-12.89,-0.81,4.84
-3.22,7.25,9.67
-8.06,-2.42,6.45
0.81,10.48,12.89
31.43,34.65,30.62
8.06,6.45,7.25
8.06,-4.84,0.00
-9.67,10.48,12.09
-3.22,4.84,8.86
-13.70,4.03,3.22
37.07,43.52,37.88
2.42,6.45,8.06
-17.73,2.42,7.25
20.15,11.28,12.09
-4.84,9.67,12.09
-2.42,11.28,3.22
28.21,55.60,10.48
10.48,8.86,0.81
5.64,-29.01,-52.38
-21.76,-72.53,-49.96
0.00,-99.12,-117.66
-41.90,-126.52,-104.76
10.48,-171.65,-143.44
-49.96,-236.12,-208.72
-50.77,-257.07,-230.48
-45.93,-292.53,-258.68
-55.60,-320.73,-288.50
-57.22,-354.58,-321.54
-24.18,-350.55,-333.63
-62.05,-426.30,-393.26
-37.07,-436.78,-402.12
-65.27,-443.22,-411.79
-39.49,-429.52,-418.24
-32.23,-415.02,-417.44
-31.43,-388.42,-388.42
-39.49,-428.72,-429.52
-62.86,-454.51,-437.58
-53.19,-460.95,-429.52
-44.32,-435.16,-418.24
-65.27,-429.52,-404.54
-8.86,-398.10,-365.86
-39.49,-449.67,-410.99
-20.95,-477.07,-441.61
-20.15,-452.89,-423.08
-24.18,-446.45,-404.54
-12.89,-398.90,-365.05
0.00,-385.20,-329.60
-6.45,-433.55,-377.14
-28.21,-448.86,-397.29
-30.62,-482.71,-430.33
-30.62,-491.58,-432.75
-40.29,-521.39,-456.12
4.03,-493.19,-431.14
-22.56,-535.09,-467.40
-20.95,-544.76,-474.65
-58.83,-558.46,-487.55
-45.93,-576.19,-499.63
-80.59,-590.70,-510.11
-71.72,-591.50,-504.47
-82.20,-590.70,-498.02
-62.86,-541.54,-481.90
-69.30,-531.06,-459.34
-64.47,-520.59,-444.03
-33.85,-497.22,-450.48
0.81,-463.37,-417.44
-25.79,-494.80,-433.55
-20.15,-494.80,-435.16
-16.92,-500.44,-433.55
-25.79,-510.92,-444.84
-17.73,-530.26,-452.09
-21.76,-564.91,-485.93
-49.16,-614.87,-517.36
-40.29,-630.18,-527.03
-58.83,-639.85,-535.09
-53.99,-628.57,-535.09
-53.19,-645.49,-553.63
-33.04,-680.95,-551.21
-45.93,-676.92,-596.34
-47.55,-659.19,-571.36
-44.32,-647.11,-619.71
-31.43,-633.41,-520.59
1.61,-575.38,-456.92
-55.60,-617.29,-502.05
-23.37,-620.51,-488.35
-38.68,-644.69,-486.74
-45.13,-640.66,-480.29
-21.76,-643.88,-485.93
-7.25,-634.21,-459.34
-20.15,-660.00,-502.05
-30.62,-680.95,-501.25
-33.85,-682.56,-498.83
-50.77,-709.16,-518.97
-63.66,-714.80,-540.73
-37.07,-678.53,-518.97
-58.83,-657.58,-506.89
-67.69,-630.99,-470.62
-65.27,-601.17,-440.81
-54.80,-593.92,-445.64
-50.77,-572.16,-424.69
-1.61,-523.00,-398.10
-33.85,-562.49,-444.03
-31.43,-568.13,-460.15
-34.65,-601.98,-477.88
-45.93,-610.84,-493.19
-21.76,-618.10,-498.02
1.61,-585.05,-469.01
-45.93,-648.72,-522.20
-30.62,-629.38,-516.56
-44.32,-653.55,-530.26
-46.74,-662.42,-535.90
-60.44,-680.15,-543.15
-50.77,-637.44,-536.70
-65.27,-695.46,-558.46
-81.39,-686.59,-572.16
-66.89,-675.31,-538.32
-63.66,-688.21,-560.07
-61.25,-708.35,-581.83
-0.81,-660.00,-549.60
-49.96,-714.80,-595.53
-29.82,-704.32,-582.64
-37.07,-718.83,-587.47
-33.04,-714.80,-587.47

I would agree. You can't do much in 22us, and anything that overruns 22us means you've lost a sample. I haven't timed them, but anything that involves writing to an SD card, and anything that involves Serial.print, may well overrun your 22us. A lot depends on the speed of the SD card.

There is another thing: switching the ADC between different analogue input ports takes a surprisingly long time. Last time I did a similar exercise I seem to think it took around 10us, so suddenly you've only got 12us to play with (or 2us if you switch the ADC twice each time).

I honestly think you haven't got enough horsepower in your Arduino to sample three analog input ports at 44.1kHz, write that lot to an SD card and Serial.print stuff out.

However, I would do this in steps. Make it interrupt-driven, so the sampling can interrupt your background tasks, and try it with just one channel. Set up a really slow sample rate to begin with, and gradually crank it up to get some idea of how fast you can write to the SD card and to Serial.print.

Then try sampling two channels and see what happens. I think you'll find the glitch-free sampling rate is very much lower than for a single channel.

In general, build this in tiny steps, testing as you go.

Sound will run into a housing pretty easy and an I2S-microphone does all the sampling-details for you you.
Just pickup a digitized datastream and store it away.

A Teensy 4.0 has 600Mhz and hardware I2S-support = much more capabable

best regards Stefan

1 Like

For quality audio its vital to avoid any jitter in the timing of ADC conversions - even 1% jitter will lead to very audible artifacts as the ear is a sensitive spectrum analyzer :slight_smile:

This means you really want to trigger conversions using a hardware clock, not in software or via interrupts, which are subject to timing jitter.

1 Like