Как я могу увеличить разрешение АЦП моего процессора?

8

У меня есть Atmel SAM4S MCU с 12-битным внутренним АЦП. Я хотел бы добиться 16-битного разрешения при частоте дискретизации 500 Гц. Входной сигнал для АЦП довольно низкочастотный (около 20 Гц с максимальной частотой) и малошумящий (менее одного 12-битного среднеквадратичного значения).

Как я могу достичь 16-битного разрешения с помощью АЦП этого процессора?

Патрик
источник

Ответы:

6

Вы можете увеличить эффективное разрешение путем преднамеренной передискретизации входного сигнала. Вот краткое изложение идеи из заметки приложения по теме, предоставленной Atmel:

Теория «передискретизации и децимации» довольно сложна, но использовать метод довольно просто. Техника требует большего количества образцов. Эти дополнительные выборки могут быть достигнуты путем передискретизации сигнала. Для каждого дополнительного бита разрешения n сигнал должен быть передискретизирован четыре раза. С какой частотой дискретизировать входной сигнал, определяется уравнением 3-1. Чтобы получить наилучшее возможное представление аналогового входного сигнала, необходимо провести слишком большую выборку сигнала, поскольку большее количество выборок даст лучшее представление входного сигнала при усреднении.

Полное примечание к заявке можно получить здесь: http://www.atmel.com/images/doc8003.pdf .

В вашем конкретном случае вам потребуется сэмплировать на частоте около 8 кГц, чтобы получить эквивалент 16-битного разрешения вашего 12-битного АЦП.

Вот как я пришел к этому номеру:

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
источник
Требуется ли шум для работы? Нам дали максимальное значение для шума, которого было бы достаточно, но не минимум.
2
@SimonJenkins Да, это так. Раздел 3.2 примечаний по применению охватывает шум, и в нем указывается, что уровень шума должен составлять не менее 1 LSB, но чуть более 0,5LSB является жестким минимумом, поскольку этого будет достаточно для переключения LSB. Если ваша система не соответствует этим требованиям, вы можете добавить искусственный шум с размыванием .
skrrgwasme