Улучшение точности, программное
- Войдите на сайт для отправки комментариев
Сб, 01/07/2017 - 14:21
Есть устройство имеющее мгновенную точность выдаваемых данных в районе 1%, нужно на порядок больше.
Какие программные алгоритмы можно использовать, кроме дата_среднее?
чисто практически подумай, как можно ниже 1% прыгнуть - всё, что точнее 1% должно считаться ошибкой измерения.
Есть устройство имеющее мгновенную точность выдаваемых данных в районе 1%, нужно на порядок больше.
Какие программные алгоритмы можно использовать, кроме дата_среднее?
В общем случае это принципиально невозможно.
В подавляющем большинстве частных случаев - тоже.
hint: среднее не есть более точное.
Не хочется надувать щеки, и тренировать пальцы. Но если предположить что величина меняется непрерывно без скачков и изломов, а так же производная этой величины ну и так далее. То решайте ее методом найменьших квадратов. А вот если величина у вас похожа на игральный кубик, то это как измерять точно температуру среднюю по больнице.
без скачков и изломов
qwone, давай не будем плодить странных сущностей - есть величина измерения и погрешность. точка
qwone, давай не будем плодить странных сущностей - есть величина измерения и погрешность. точка
вот только как измерили скорость света, размеры и вес атомов и молекул .
если всё так, как в твоей реальности, то достаточно было бы от фонаря сказать, что эта булка хлеба весит примерно 1кг, далее сделать что-то ещё(ты знаешь, что) и... вуаля! булка хлеба измерена методом предположения с точностью 100500%% !
Ну а что делать. Может быть булка была измерена во влажной среде, и напиталась влагой. Или наоборот в пустыне и подсохла. Или в местности где гравитация пониже. Так как кантер используюет гравитацию, а масса это мера инерции. А может булку меряли в слонах, и вес булки в слонах получился О. Значит у булки нет веса.
Не хочется надувать щеки, и тренировать пальцы. Но если предположить что величина меняется непрерывно без скачков и изломов, а так же производная этой величины ну и так далее. То решайте ее методом найменьших квадратов. А вот если величина у вас похожа на игральный кубик, то это как измерять точно температуру среднюю по больнице.
Вдите ли, qwone, сама по себе величина может меняться, как ей заблагорассудится, но мы не можем иметь дело с самой величиной, а можем - исключительно с результатом ее измерения (а квантовая механика также подвергает сомнению существование величин как таковых без измерительного воздействия). А любое измерение производится с определенной погрешностью, и только в привязке к этой погрешности и можно говорить о точности.
Таким образом: увеличение точности есть ни что иное, как соответствующее уменьшение погрешности. А для того, чтобы сделать заключение, существуют ли способы уменьшения погрешности, необходимо знать, минимум, тип погрешности и источник ее возникновения. Т.е. прежде всего физику.
А всякие приемы аппрксимации и инетерполяции к ументьшению погрешности не имеют никакого отношения. Т.е. математикой без физики здесь делать нечего.
Для конкретного ответа вопрос также должен быть поставлен конкретно, с указанием измеряемых сущностей, применяемого оборудования и методов измерения и обработки получаемых данных. В противном случае всё это звиздёж ниочем.
а квантовая механика также подвергает сомнению существование величин как таковых без измерительного воздействия
Ну не совсем так. Просто эти величины находятся в квантовой суперпозиции, т.е. могут одновременно иметь любые значения. И только после измерения принимают какое-то определённое значение.
Конкретизирую, измеряем ток, величина тока 1 ампер, величина колебания тока 10 миллиампер, усреднение (256 ИЗМЕРЕНИЙ) уменьшает эту величину до 2 -3 ма, а хочется еще меньше
Конкретизирую, измеряем ток, величина тока 1 ампер, величина колебания тока 10 миллиампер, усреднение (256 ИЗМЕРЕНИЙ) уменьшает эту величину до 2 -3 ма, а хочется еще меньше
неполные данные: какая заводская точность амперметра?
*если исходные данные у тебя плавают в пределах точности прибора, то ты не можешь знать - что это: погрешность прибора или на самом деле данные изменяются.
**ещё раз для тупых - если было бы возможно то, что ты желаешь, то к любому китайскому мультиметру можно было бы подключить программную увеличалку точности.
а квантовая механика
тушите свет! :)
Конкретизирую, измеряем ток, величина тока 1 ампер, величина колебания тока 10 миллиампер, усреднение (256 ИЗМЕРЕНИЙ) уменьшает эту величину до 2 -3 ма, а хочется еще меньше
Конкретизируют совсем не так.
Измеряете вы ток, а в результате усреднения получаете средний ток, что совершенно не то же самое. Т.е. путем математической операции Вы из одной величины получаете совершенно другую.
Еще раз по буквам: не ту же самую, но уточненную, а другую.
Привер: половину дороги автомобиль проехал со скоростью 40 км/ч, а вторую половину - со скоростью 60 км/ч. Какова средняя скорость автомобиля.
Так вот, у автомобиля была средняя скорость 48 км/ч, а скорость имеет два значения (40 и 60 км/ч), причем ни одно из них не равно средней скорости.
Поэтому для "конкретизации" следовало бы уточнить, что Вы имеете, и что хотите получить.
Ну а после того, как Вы это для себя определите, вспомните Клапауция и подумайте об ошибке измерения: какова ее природа, каков вклад в нее вносят случайная и систематическая составляющая, какую из них можно уменьшить и как и т.д. В результате Вы должны получить оценку максимально возможного приращения точности.
автор имел возможно "точность усреднения".
когда например величина напряжения 5.0В, а одно измерение показывает 5,4В, другое 4.6В и т.д.
накопленная точность усредненная на 50 измерениях - будет ближе к 5.0В - разве нет?
Точность измерения gps как происходит расскажите мне?
автор имел возможно...
я запретил хрустальные шары ещё в позапрошлом году.
Вы уверены, что у Вас достаточно точный хрустальный шар?
гыыы почти одновременно:)
Вы уверены, что у Вас достаточно точный хрустальный шар?
гыыы почти одновременно:)
Как повысить точность показаний хрустального шара. Надо взять много хрустальных шаров и ... сложить пирамиду.
Вы уверены, что у Вас достаточно точный хрустальный шар?
гыыы почти одновременно:)
Как повысить точность показаний хрустального шара. Надо взять много хрустальных шаров и ... сложить
пирамидушар.автор имел возможно "точность усреднения".
когда например величина напряжения 5.0В, а одно измерение показывает 5,4В, другое 4.6В и т.д.
накопленная точность усредненная на 50 измерениях - будет ближе к 5.0В - разве нет?
Точность измерения gps как происходит расскажите мне?
Точность усреднения всегда абсолютна (т.е. не допускает никакой погрешности в принципе).
Если, например, у нас есть два числоа: 2.31 и 1.64, то их среднее арифметическое будет 1.975 точно. Погрешность вычисления среднего при этом равна 0.
Если мы при этом захотим округлить полученное число до 1.98, то погрешность округления составит 0.005, а погрешность усреднения при этм все равно останется равной 0.
Ну не дает усреднение погрешности!
Как повысить точность показаний хрустального шара. Надо взять много хрустальных шаров и ... сложить пирамиду.
Как вариант, снять показания одновременно с нескольких датчиков и усреднить, возможно отбросив экстремумы.
А если вспомнить, что всё распределено по гауссу и результаты измерения тоже, то построив гауссиан можно найти его центр и приблизится к требуемой точности на недосягаемую иным методом величину.
Я могу поверить, что предложенное может в какой-то мере скомпенсировать случайную ошибку (которая и распределена по Гауссу),но что делать с систематической?
В качестве измерителя лучший преобразователь всех времён и народов - INA219, паспортная точность 0,5%
Поясняю, ток подвержен флуктуациям от различного рода воздействий, нужно отслеживать тренд уменьшения тока на некую величину,именно уменьшения, допустимый период анализа 1 секунда, ничего лучшего как вычислять среднее и его анализировать я не придумал, но думаю это ошибочное решение, уверен, что есть методы матанализа решающие эту задачу с большей точностью
В качестве измерителя лучший преобразователь всех времён и народов - INA219, паспортная точность 0,5%
Поясняю, ток подвержен флуктуациям от различного рода воздействий, нужно отслеживать тренд уменьшения тока на некую величину,именно уменьшения, допустимый период анализа 1 секунда, ничего лучшего как вычислять среднее и его анализировать я не придумал, но думаю это ошибочное решение, уверен, что есть методы матанализа решающие эту задачу с большей точностью
ua6em, еще раз: никакие математические меоды не могут в общем случае как-либо улучшить результаты измерений. На какое-либо улучшение можно рассчитывать лишь в некоторых конкретных случаях (естественно, делеко не во всех). Вы пишеие "ток подвержен флуктуациям от различного рода воздействий", но не уточняете, какова природе этих воздействий, как они сказываются на величину тока и т.д. Кроме того, "ток подвержен флуктуациям" - это хорошо. Но какова величина этого тока, Вы не знаете, а знаете только о результате измерения этой величины. А результат измерения, так же, как и ток, тоже подвержен флуктуациям различной природы. И если у Вас есть только результаты измерений, а Вам хочется иметь величину тока, то с этим тоже что=то надо делать. И пока Вы будете пытаться поставить задачу не конкретно, а в общем виде, ответ будет один; "В общем случае это невозможно".
И еще: в данноом случае Вам нужен не матанализ, а теория измерений. Начните с того, что погуглите по этому названию. Хотя бы будете представлять, на что нужно обращать внимание.
В качестве измерителя лучший преобразователь всех времён и народов - INA219, паспортная точность 0,5%
Ну роль лучшего уже перешла к INA226, там 16 битный АЦП, и умеет измерять ток как в плюсовом так и в минусовом плече :)
автор имел возможно "точность усреднения".
когда например величина напряжения 5.0В, а одно измерение показывает 5,4В, другое 4.6В и т.д.
накопленная точность усредненная на 50 измерениях - будет ближе к 5.0В - разве нет?
Воможно, что в момент t1 напряжение было 5.4в, а в момент t2 - 4.6в, а вольтметр измерил их очень точно.
Утверждение "напряжение равно 5в", мягко говоря, неверное.
Ну роль лучшего уже перешла к INA226, там 16 битный АЦП, и умеет измерять ток как в плюсовом так и в минусовом плече :)
Согласен!!! Цена правда не гуманная, но на пробу при теоретическом улучшении точности измерения в пять раз самое оно!!! Интересно, кто-то библиотеки под оный уже реализовал?
еще раз: никакие математические меоды не могут в общем случае как-либо улучшить результаты измерений. На какое-либо улучшение можно рассчитывать лишь в некоторых конкретных случаях (естественно, делеко не во всех). Вы пишеие "ток подвержен флуктуациям от различного рода воздействий", но не уточняете, какова природе этих воздействий, как они сказываются на величину тока и т.д. Кроме того, "ток подвержен флуктуациям" - это хорошо. Но какова величина этого тока, Вы не знаете, а знаете только о результате измерения этой величины. А результат измерения, так же, как и ток, тоже подвержен флуктуациям различной природы. И если у Вас есть только результаты измерений, а Вам хочется иметь величину тока, то с этим тоже что=то надо делать. И пока Вы будете пытаться поставить задачу не конкретно, а в общем виде, ответ будет один; "В общем случае это невозможно".
И еще: в данноом случае Вам нужен не матанализ, а теория измерений. Начните с того, что погуглите по этому названию. Хотя бы будете представлять, на что нужно обращать внимание.
МНЕ хочется иметь возможность измерять тренд изменения этого тока и если он имеет свойство к уменьшению на заданную величину - более 1%, то отрабатывает программа корректировки тока )))
Само абсолютное значение вообще без разницы
К примеру делаем 100 замеров разбиваем полученные значения на 10 групп и анализируем эти группы
не хорарную же астрологию подключать )))
Смею надеяться математические методы обработки массива данных существуют
а что, если ток каждые сто замеров будет уменьшаться на 0,5%? корректировку производить не надо?
а что, если ток каждые сто замеров будет уменьшаться на 0,5%? корректировку производить не надо?
надо молиться, что бы не уменьшался.
Ну роль лучшего уже перешла к INA226, там 16 битный АЦП, и умеет измерять ток как в плюсовом так и в минусовом плече :)
Согласен!!! Цена правда не гуманная, но на пробу при теоретическом улучшении точности измерения в пять раз самое оно!!! Интересно, кто-то библиотеки под оный уже реализовал?
Усреднение единственный метод повышения точности, а пролемы с негаусовскими помехами вообще не дело АЦП, помехи должно быть отфильтрованы по входу, по теореме Котельникова. В некоторых датчиках со встроеными АЦП (цифровыми) фильтруется сетевая 50Гц как наиболее вероятная, а не все возможные. Т.е. измеряем как можно чаще и усредняем.
Усреднение лучше рассматривать как низкочастотное фильтрование, а они -фильтра- бывают с конечной и бесконечной импульсной характеристикой. КИХ лучше, но считать больше
Интересно, кто-то библиотеки под оный уже реализовал?
Судя по второй строчке в этом коде такая библиотека существует :) По поводу усреднения - я согласен с Клапуцием. Это самообман, невозможно вытянуть точность выше, чем она есть физически. Другое дело, что иногда на это есть необходимость, например если вычисляемый ток -переменный). Но в любом случае это решает разработчик конкретного устройства для каждого конкретного параметра. Вы же например выходя на улицу, и смотря на термометр ожидаете увидеть температуру в данную секунду, а не среднюю за прошедшие сутки ? :)
Для переменного тока значения усредняются по другому, там среднее-квадратичное (RMS).
Пример с температурой. Действительно средняя за сутки мало интересна, то если мне нужно взглянув на термометр пару раз с интервалом в 1 минуту определить (как и автору) растёт она или падает, трэнд, и с какой скоростью, то градусник с точностью 1 градус мне такую возможность не предоставит. А вот померив 1000 раз в секунду в двух точках я запросто определю. Термистора с постоянной времени 10-15 сек за глаза хватит.
Для переменного тока значения усредняются по другому, там среднее-квадратичное (RMS).
Пример с температурой. Действительно средняя за сутки мало интересна, то если мне нужно взглянув на термометр пару раз с интервалом в 1 минуту определить (как и автору) растёт она или падает, трэнд, и с какой скоростью, то градусник с точностью 1 градус мне такую возможность не предоставит. А вот померив 1000 раз в секунду в двух точках я запросто определю. Термистора с постоянной времени 10-15 сек за глаза хватит.
Ну, измерили температуоу 1000 раз, получили 1000 идентичных значений (с точностью до градуса), что дальше?
Хватит ваньку включать, сказано же термистор, где вы видели на ардуино 1000 одинаковых значений с АЦП? Там процессор дизеринг обеспечит, +- 3 младших бита. Точность LM35 той же - 0.5 градуса. Если темп. падает 0.1 градуса в минуту, а я зимой на прогулку иду и не знаю, надо ли рукавицы или шарф брать, то за два часа она на 12 градусов упадёт, вот и ответ. Загрузил ардуину под 100 кспс, и вуаля, тренд с разрешением 0.001.
а что, если ток каждые сто замеров будет уменьшаться на 0,5%? корректировку производить не надо?
Выходное устройство - последовательный колебательный контур, мной выбран критерий уменьшения тока на 1,2%, большее значение - подстраиваем частоту, ЦПЧ так сказать )))
Для переменного тока значения усредняются по другому, там среднее-квадратичное (RMS).
RMS пробовал, не подходит
Хватит ваньку включать, сказано же термистор, где вы видели на ардуино 1000 одинаковых значений с АЦП? Там процессор дизеринг обеспечит, +- 3 младших бита. Точность LM35 той же - 0.5 градуса. Если темп. падает 0.1 градуса в минуту, а я зимой на прогулку иду и не знаю, надо ли рукавицы или шарф брать, то за два часа она на 12 градусов упадёт, вот и ответ. Загрузил ардуину под 100 кспс, и вуаля, тренд с разрешением 0.001.
Об этом и речь, Вы точно подметили, что мне надо, именно улучшение точности тренда )))
Математика простая - КИХ ФНЧ. Делайте домашнюю работу. С фильтрами, цифровыми, главное мерять чётко по расписанию, ардуиновские миллисек() не подходят. Фри ранинг АЦП как вариант, но тогда трудно отфильтровать сетевые 50Гц. Проще АЦП запускать по таймеру.
Математика простая - КИХ ФНЧ. Делайте домашнюю работу. С фильтрами, цифровыми, главное мерять чётко по расписанию, ардуиновские миллисек() не подходят. Фри ранинг АЦП как вариант, но тогда трудно отфильтровать сетевые 50Гц. Проще АЦП запускать по таймеру.
Это как я бы Вам о эфирном теле и его свойствах рассказывал, всё просто, когда в теме )))
Это ответ на вопрос из топика. Если он не понятен, то задача вам не по зубам.
Это ответ на вопрос из топика. Если он не понятен, то задача вам не по зубам.
да я уже понял что не )))
интересно, хоть кто-то на этом форуме аналогичное на ардуино реализовывал? или хотя бы на C )))
Это как я бы Вам о эфирном теле и его свойствах рассказывал, всё просто, когда в теме )))
От оно как... В эфирном теле - эфирный дух?
Похоже на сегодня хватит работать, какая уж тут работа, при эфирном-то теле?
... пойду чакры протирать... пусть сення будет перцовка. И отбивнушки... пусть даже в льезоне.
Я тестил Уно, получил 17-бит при усреднении на 1 сек. Могу сказать, что точность получилась выше чем у китайского НХ711 который позиционируется как 24-бита, а реально около 15-ти.
Заказал себе ADS1232 ещё, посмотрю что за хлам придёт. Ничё они там не придумали в этих 24-бита, КИХ впихнули и дурят народ. Кто знает как -делает на ардуине, кто не знает - покупает АЦП отдельный или с датчиком тока интегрированным.
Это как я бы Вам о эфирном теле и его свойствах рассказывал, всё просто, когда в теме )))
От оно как... В эфирном теле - эфирный дух?
Похоже на сегодня хватит работать, какая уж тут работа, при эфирном-то теле?
... пойду чакры протирать... пусть сення будет перцовка. И отбивнушки... пусть даже в льезоне.
чакры в переводе на русский - вихрь, в зоне вихря регистрируются вполне реальные физические процессы, как-то снижение температуры и омического сопротивления ))) ps по ним приборы определения этих точек и работают
китайцы говорят о порядка 7-ми стах точек акупунктуры (энергетических вихрях), реально их больше
Да, кстати, патенты в СССР просто так не выдавали
или этот, главное - один сеанс и здоров, да против алкоголизма иголки не помогут с такой эффективностью, разве что на что-то другое переключить, но там чревато резкой потерей веса, да и супруга насторожиться )))
Может лучше рецепт супчика полевого выдашь, реально вкуснейшая вещь, знаю, что три крупы надо, смалец+топлёное масло на пережарку, а вот остальное???
Хватит ваньку включать, сказано же термистор, где вы видели на ардуино 1000 одинаковых значений с АЦП?
Где видел - да в консольном окне.
Если напряжение на входе стабильно, в сонсоли будет либо повторять одно стабильное значение, либо будет "мигание" двух соседних значений.
Разумеется, при правильно собранной схеме.
Там процессор дизеринг обеспечит, +- 3 младших бита.
Ищите ошибку в схеме подключения. 3 значащих разряда - это очень много. Вероятнее всего, это - помеха. А если помеха (а не белый шум), значит распределение там с Гауссом не будет иметь ничего общего и все методы, применимые для обработки случайной ошибки, идут лесом.
Точность LM35 той же - 0.5 градуса. Если темп. падает 0.1 градуса в минуту, а я зимой на прогулку иду и не знаю, надо ли рукавицы или шарф брать, то за два часа она на 12 градусов упадёт, вот и ответ. Загрузил ардуину под 100 кспс, и вуаля, тренд с разрешением 0.001.
Разрешение 0.001 при систематической ошибке 0.5 - хороший способ самообмана, не имеющий к реальной точности никакого отношения.
Кстати, "100 кспс" - это не так много, для сниженияч случайной ошибки (на секундочку представляем, что это именно белый шум, а не наводка) в 1000 раз нужно сделать 1000000 измерений.
Да и не так просто напрячь Ардуину на "100 кспс". Вот, например, MCP3008 теоретически обеспечивает 200 ksps, но для этого длина пакета должна быть 18 бит. На МК, естественно, длина пакета должна быть кратна байту, т.е. приходится обмениваться пакетами по 24 бита. Да и частоту SPI 3.6 МГц AVR не поддерживает. Ближайшая низшая 2 МГц. Соответственно, вместо теоретических 200 реально получаем максимум 83 ksps.
А для встроенного АЦП как раз и получится приведенные Вами 3 недостоверных разряда. Беда в том, что ошибку в этом случае нельзя считать случайной, а потому неправомерно обрабатывать статистическии методами.
Разрешение 0.001 при систематической ошибке 0.5 - хороший способ самообмана, не имеющий к реальной точности никакого отношения.
Кстати, "100 кспс" - это не так много, для сниженияч случайной ошибки (на секундочку представляем, что это именно белый шум, а не наводка) в 1000 раз нужно сделать 1000000 измерений.
Да и не так просто напрячь Ардуину на "100 кспс". Вот, например, MCP3008 теоретически обеспечивает 200 ksps, но для этого длина пакета должна быть 18 бит. На МК, естественно, длина пакета должна быть кратна байту, т.е. приходится обмениваться пакетами по 24 бита. Да и частоту SPI 3.6 МГц AVR не поддерживает. Ближайшая низшая 2 МГц. Соответственно, вместо теоретических 200 реально получаем максимум 83 ksps.
А для встроенного АЦП как раз и получится приведенные Вами 3 недостоверных разряда. Беда в том, что ошибку в этом случае нельзя считать случайной, а потому неправомерно обрабатывать статистическии методами.
Здесь путаница, по контексту автору нужна разрешающая способность в битах, а не точность. Если градусник покажет на +-3 выше/ниже - по барабану, если нужен дрифт то разрешение в битах и требуется.
3 бита я так в среднем, там при 1МГц по дата шиту 4.5, шумов больше шем достаточно. Есть все основания полагать что он Гаусовский, пока не доказано обратное.
По моему скромному мнению, внешний АЦП для ардуино имеет мало смысла. SAR, типа MCP3008 и иже с ним не намного лучше встроенного, а затраты ЦПУ на ком-линк с ним больше чем на обработку данных со встроенного АЦП. Т.е. правильно обрабатывать данные собственного АЦП получается проще и дешевле. Если сигма-дельта АЦП, то они избавляют проц. от ненужной обработки, но цена за оригинал 10$+ аналог-девайса отбивает желание творить. Китайские же подделки опять ничем не лучше чем встроеный АЦП с процессингом до 17-бит.
Китайские же подделки опять ничем не лучше чем встроеный АЦП с процессингом до 17-бит.
Надеяться, что INA219 оригинал не приходится?
Здесь путаница, по контексту автору нужна разрешающая способность в битах, а не точность. Если градусник покажет на +-3 выше/ниже - по барабану, если нужен дрифт то разрешение в битах и требуется.
Вот это для меня неочевидно.
Если, скажем, вес 6-го разряда больше веса 0-го не в 128, а, скажем, в 130 раз (а это называется систематическуой ошибкой - не следует думать, что у всех разрядов она пропорциональна), то при монотонно меняющемся напряжении на входе получим немонотонную числовыю последовательность. Думаю, это совсем не то, что нужно ТС.
3 бита я так в среднем, там при 1МГц по дата шиту 4.5, шумов больше шем достаточно.
Ну да - теперь понятно. Просто у каждого своим подходы: если меня не устаривает время измерения 112 мкс, я беру внешний АЦП, а не пытаюсь использовать внутренний с мегньшей разрядностью.
Есть все основания полагать что он Гаусовский, пока не доказано обратное.
Отнюдь.
Если доказано, что ошибка именно случайная, то - да.
А если систематическая - увы.
Так что сперва нужно доказать, что ошибка случайная.
Практика показывает, что конструктор прибора стремится сделать так, чтобы оба типа ошибки имели один порядок. Следовательно, как только мы пытаемяся статистическими методамы уменьшить случайную ошибку, на первое место сразу выходит не подлежащая компенсации систематическая.
По моему скромному мнению, внешний АЦП для ардуино имеет мало смысла.
Думаю, каждый волен иметь свое собственное скромное мнение.
SAR, типа MCP3008 и иже с ним не намного лучше встроенного, а затраты ЦПУ на ком-линк с ним больше чем на обработку данных со встроенного АЦП. Т.е. правильно обрабатывать данные собственного АЦП получается проще и дешевле.
Ну да, сначала разгоняем АЦП ценой потери младших разрядов без уверенности, что в них оказывается именно шум, а не систематичекая погрешность, а потом боремся с полученной ошибкой статистическими методами, обратно увеличивая суммарное время измерения, но уже без гарантии востановления точности неразогнанного АЦП.
Китайские же подделки опять ничем не лучше чем встроеный АЦП с процессингом до 17-бит.
Если у Вас вагон времени - делайте процессинг хоть до 32 разрядов, достоверными все равно будут не более 10, и то при условии, что Вы не разгоняли АЦП.