¿Cómo puedo aumentar la resolución ADC de mi procesador?

8

Tengo una MCU Atmel SAM4S con un ADC interno de 12 bits. Me gustaría lograr una resolución de 16 bits a una frecuencia de muestreo de 500 Hz. La entrada al ADC es de baja frecuencia (contenido de frecuencia máxima de aproximadamente 20 Hz) y bajo ruido (menos de un RMS lsb de 12 bits).

¿Cómo puedo lograr una resolución de 16 bits con el ADC de este procesador?

Patricio
fuente

Respuestas:

6

Puede aumentar la resolución efectiva al sobremuestrear intencionalmente la señal de entrada. Aquí hay un breve resumen de la idea de una nota de aplicación sobre el tema proporcionado por Atmel:

La teoría detrás de 'Sobremuestreo y diezmado' es bastante compleja, pero usar el método es bastante fácil. La técnica requiere una mayor cantidad de muestras. Estas muestras adicionales se pueden lograr sobremuestreando la señal. Para cada bit adicional de resolución, n, la señal debe ser sobremuestreada cuatro veces. La frecuencia con la que muestrear la señal de entrada viene dada por la ecuación 3-1. Para obtener la mejor representación posible de una señal de entrada analógica, es necesario sobremuestrear tanto la señal, ya que una mayor cantidad de muestras dará una mejor representación de la señal de entrada, cuando se promedia.

La nota de solicitud completa se puede obtener aquí: http://www.atmel.com/images/doc8003.pdf .

En su caso específico, necesitaría muestrear a aproximadamente 8KHz para obtener el equivalente de 16 bits de resolución de su ADC de 12 bits.

Así es como llegué a este número:

f_oversample_rate = f_current_sample_rate * (4 * (desired_bits - current_bits))
f_oversample_rate = 500Hz * (4 * (16 - 12))
f_oversample_rate = 500Hz * (4 * 4)
f_oversample_rate = 500Hz * 16
f_oversample_rate = 8KHz
skrrgwasme
fuente
¿Esto requiere algo de ruido para funcionar? Se nos ha dado un valor máximo para el ruido, que sería suficiente, pero no mínimo.
2
@SimonJenkins Sí, lo hace. La Sección 3.2 de las notas de la aplicación cubre el ruido, y especifica que el nivel de ruido debe ser un mínimo de 1 LSB, pero un poco más de 0.5LSB es el mínimo difícil porque eso será suficiente para alternar el LSB. Si su sistema no cumple con esa especificación, puede agregar ruido artificial con tramado .
skrrgwasme