metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-12-04 10:45 am

Внезапно: oversampling и увеличение точности

Ошибся в вычислении требуемой точности АЦП для измерения давления, получил что для MPX4115 нужно АЦП 12 бит или же линейное смещение и усиление чтобы получить нужную точность на 10 битах(PIC и ATmega оба имеют такие встроенные АЦП).
Ну пошел копаться, как люди делают - оказывается, есть хитрый метод выдушить из 10-битного АЦП большую точность, за счет, во первых, усреднения, во-вторых, наличия шума на входе.
Идея в следующем: на каждый дополнительный бит точности нужно взять с АЦП 4 отсчета, просуммировать их и откинуть 1 младший бит. Т.е. для 1 бита - 4 отсчета, для 2 - 16 отсчетов, итд.

За счет наличия шума у АЦП будут плавать показания, но т.к. реальный сигнал сидит где-то ближе к одному из выходных значений (N;N+1) в пределах разрешающей способности АЦП, то статичестическое распределение снятых показаний будет отражать реальное значение сигнала с точностью выше, чем разрешающая способность АЦП.

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

[identity profile] teewoon.livejournal.com 2010-12-04 11:39 am (UTC)(link)
Зачем пытаться измерить с 12-битной точностью весь диапазон давления? Наверняка атмосферное колеблется по входу ацп с размахом десятых-сотых долей вольта вокруг некой точки. Если сузить с помощью Fref- & Fref+ диапазон, то может и 10 бит хватит с избытком?

[identity profile] metaclass.livejournal.com 2010-12-04 12:04 pm (UTC)(link)
Да, +-Fref хватит. В принципе, тогда даже усиление включать наверно не понадобится.

[personal profile] ex0_planet 2010-12-04 12:07 pm (UTC)(link)
Остается только вопрос о точности задания опоры и погрешностей схемы сдвига уровня, хехе :-)

[identity profile] metaclass.livejournal.com 2010-12-04 12:16 pm (UTC)(link)
Его все равно калибровать, в общем-то и пофиг на ошибки.

[identity profile] teewoon.livejournal.com 2010-12-04 12:20 pm (UTC)(link)
Vdd тоже плавает =)

[identity profile] metaclass.livejournal.com 2010-12-04 12:41 pm (UTC)(link)
У датчика оно же в качестве опорного, т.е. АЦП и датчик друг друга скомпенсируют в некотором роде.

[identity profile] teewoon.livejournal.com 2010-12-04 01:07 pm (UTC)(link)
Тогда из 3х 1% резисторов сделать делитель от Vdd до Vss - они тоже будут плавать, пропорционально.

[identity profile] teewoon.livejournal.com 2010-12-04 12:20 pm (UTC)(link)
Обшибся, Vref