I am developing a low-cost audio level acquisition module based on the ADS1015 for converting analog audio signals (from microphone preamplifier circuit) into digital signals for processing by STM32F303CBT6. The audio signal characteristics are as follows:
Frequency range: 20Hz - 8kHz (voice band)
Input level: -2.5V to +2.5V (differential input)
Target sampling rate: 16kHz (per channel)
Current Problem
High frequency noise interference
When the 3300SPS mode of ADS1015 is enabled, FFT analysis shows periodic spikes above 6kHz (see Figure 1), even if the input short circuit (AINP=AINN) still exists
Comparative test: This phenomenon is not possible under the same configuration using TI ADS1115
Sampling rate bottleneck
4 differential inputs need to be read simultaneously (switched through the I²C multiplexer), and the measured maximum stable sampling rate is only 3.2kHz (much lower than the manual nominal 3.3kSPS)
Data loss phenomenon: When continuously reading, about 5% of the samples have MSB bit errors