Wie kann ich die ADC-Auflösung meines Prozessors erhöhen?

8

Ich habe eine Atmel SAM4S MCU mit einem internen 12-Bit-ADC. Ich möchte eine 16-Bit-Auflösung bei einer Abtastrate von 500 Hz erreichen. Der Eingang zum ADC ist ziemlich niederfrequent (maximal 20 Hz maximaler Frequenzinhalt) und rauscharm (weniger als ein 12-Bit-lsb-RMS).

Wie kann ich mit dem ADC dieses Prozessors eine 16-Bit-Auflösung erreichen?

Patrick
quelle

Antworten:

6

Sie können die effektive Auflösung erhöhen, indem Sie das Eingangssignal absichtlich überabtasten. Hier ist eine kurze Zusammenfassung der Idee aus einem Anwendungsbericht zum Thema von Atmel:

Die Theorie hinter "Überabtastung und Dezimierung" ist ziemlich komplex, aber die Verwendung der Methode ist ziemlich einfach. Die Technik erfordert eine höhere Anzahl von Proben. Diese zusätzlichen Abtastwerte können durch Überabtastung des Signals erreicht werden. Für jedes zusätzliche Auflösungsbit n muss das Signal viermal überabgetastet werden. Mit welcher Frequenz das Eingangssignal abgetastet werden soll, ergibt sich aus Gleichung 3-1. Um die bestmögliche Darstellung eines analogen Eingangssignals zu erhalten, muss das Signal so stark überabgetastet werden, da eine größere Anzahl von Abtastwerten im Durchschnitt eine bessere Darstellung des Eingangssignals ergibt.

Den vollständigen Anwendungshinweis finden Sie hier: http://www.atmel.com/images/doc8003.pdf .

In Ihrem speziellen Fall müssten Sie mit etwa 8 kHz abtasten, um eine Auflösung von 16 Bit aus Ihrem 12-Bit-ADC zu erhalten.

So bin ich zu dieser Nummer gekommen:

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
quelle
Benötigt dies etwas Lärm, um zu arbeiten? Wir haben einen Maximalwert für das Rauschen erhalten, der ausreichen würde, aber kein Minimum.
2
@ SimonJenkins Ja, das tut es. In Abschnitt 3.2 der Anwendungshinweise wird das Rauschen behandelt, und es wird festgelegt, dass der Rauschpegel mindestens 1 LSB betragen sollte , jedoch etwas mehr als 0,5 LSB das harte Minimum sind, da dies ausreicht, um das LSB umzuschalten. Wenn Ihr System diese Spezifikation nicht erfüllt, können Sie beim Dithering künstliches Rauschen hinzufügen .
skrrgwasme