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

Я работаю с комплектом для разработки ESP32-C3. Я использую внутренний АЦП на этом чипе для чтения с аналогового микрофона. Я инициализирую АЦП следующим образом:

adc_continuous_config_t dig_cfg = {
    .sample_freq_hz = 20000,
    // ...
};
ESP_ERROR_CHECK(adc_continuous_config(handle, &dig_cfg));

Если я уменьшу частоту выборки, скажем, до 1000 Гц, будет ли каждая выборка представлять в среднем 20 выборок из моего предыдущего потока (где частота выборки была 20 000 Гц)? Или это больше похоже на то, что я получу только один из каждых 20 образцов из исходного потока?

Причина, по которой я спрашиваю, заключается в том, что я надеюсь выполнить своего рода фильтр нижних частот, изменив частоту дискретизации АЦП, и мне интересно, что происходит внутри аппаратного обеспечения АЦП, когда я изменяю частоту дискретизации.

, 👍-1

Обсуждение

Это действительно зависит от аппаратного обеспечения внутри процессора. Некоторые производители микросхем, такие как NXP, имеют настраиваемые схемы АЦП, в которых аппаратное обеспечение может усреднять несколько выборок для каждого сообщаемого значения. Другие не могут. Вам действительно нужно погрузиться в спецификации / конфигурацию процессора. Также исследуйте количество значащих битов. Тот факт, что АЦП имеет 8 бит, не обязательно означает, что он имеет 8-битное разрешение., @st2000

Большинство людей предпочли бы выполнять фильтрацию в цифровой области: у вас так много гибкости для проектирования фильтров…, @Edgar Bonet


1 ответ


Лучший ответ:

1

Возможно, нет. АЦП на Arduino Uno (я знаю, что это другой процессор) использует «выборку и удержание». техника. Это означает, что АЦП производит выборку входного напряжения в определенный момент времени, копируя его в конденсатор выборки и хранения. Затем он последовательно сравнивает его с пороговым напряжением выше или ниже, чтобы сгенерировать отдельные биты результирующего числа. У меня есть некоторые подробности о Uno ADC здесь.

Вероятно, это делается для того, чтобы при выборке быстро меняющегося сигнала (например, звука) производилась выборка момента времени, а не сравнение сигнала, изменяющегося во времени.

Я не могу найти технические подробности для метода выборки АЦП ESP32, но вполне вероятно, что более низкая частота выборки просто приведет к выборке меньшего количества точек данных, а не к среднему значению. Это может привести к крайне неточным результатам.

Возможно, вы захотите просмотреть Частоту Найквиста, чтобы понять причины выбора определенной частоты дискретизации.

Если вам нужно среднее значение, подача сигнала в RC-фильтр подходящего размера может быть хорошим способом найти среднее напряжение.

,