Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Повышение точности АЦП в AVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Proton
Читал статью http://atmel.ru/Articles/Atmel30.htm, там в частности сказано

--содержат АЦП с разрядностью 10 бит, мультиплексор на 10 каналов и источник опорного напряжения. Заявленная эффективная разрешающая способность микроконтроллера с использованием функций калибровки равна 9.5 бит, а при использовании метода передискретизации с количеством 4000 отсчетов на каждое измеряемое значение позволяет получить эффективное число разрядов до 16.5 бит.

Не совсем понятно что это за метод, я так думаю нужно строить гистограмму и считать мат. ожидание или просто среднеарифметическое.
Может кто пользовался таким способом, стоит ли оно того?
jimmi
sad.gif
muravei
А меня интересует обратное. В Даташите написано , что если требуется только 8бит , то тактовая АЦП может быть увеличена, но не написано на скокаsmile.gif
bzx
Цитата(Proton @ Aug 25 2005, 17:32)
Не совсем понятно что это за метод,
*

Этот вопрос задай автору статьи, email автора в шапке статьи.
BVU
Цитата(Proton @ Aug 25 2005, 18:32)
Читал статью http://atmel.ru/Articles/Atmel30.htm, там в частности сказано

--содержат АЦП с разрядностью 10 бит, мультиплексор на 10 каналов и источник опорного напряжения. Заявленная эффективная разрешающая способность микроконтроллера с использованием функций калибровки равна 9.5 бит, а при использовании метода передискретизации с количеством 4000 отсчетов на каждое измеряемое значение позволяет получить эффективное число разрядов до 16.5 бит.
 
Не совсем понятно что это за метод, я так думаю нужно строить гистограмму и считать мат. ожидание или просто среднеарифметическое. 
Может кто пользовался таким способом, стоит ли оно того?
*


Основная погрешность всегда приходиться на самый младший бит, поэтому к целому добавляется 0.5, а 4000 отсчетов приводиться здесь, как статистика максимальной точности (ну хочется им каким-то показателем похвастаться). Вы же реально не собираетесь делать измерение 4000 раз одной величины. Это подойдет лишь для измерений 'квази статических' и медленных сигналов, если их изменение хотя бы на пару порядков (по времени) больше 'комплекса выборки' (4000 отсчетов). И вообще плюньте на это и забудте. На практике чтобы измерить все малоамплитудные сигналы сначала усиливают, оцыфровывают, а затем идет округление (загрубление результата на 'пляшущие' разряды в пределах требуемых допусков). Тут уже можно учитывать и уровень помех, шумов различного происхождения и многих других параметров которые паразитно накладываются на реальный сигнал.
IgorKossak
На практике столкнулся с тем, что описал BVU.

При увеличении количества выборок и последующем усреднении (т. н. цифровая фильтрация) существенного увеличения точности не происходит, т. к. приходится отбрасывать "пляшущие" разряды.

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

Поэтому, там где точность нужна 10 бит и выше, от внутреннего АЦП (в Атмеловских МК) пришлось отказаться.
moonrock
to muravei

Я сам не так давно поднимал такой вопрос. В общем сам и проверил. До 20-30 кГц 9 бит получить можно, затем начинаются проблемы. А заключаются они в том, что АЦП упорно пропускает определенные значения (не помню как это правильно называется).
Jurdens
А если взять десять предметов и выложить их в длину и потом померять
и поделить на 10 -вот тогда получится.
суммирование - интегрирование
Для сигналов используем предварительное аналоговое интегрирование
на небольшом участке сигнала и полученный интеграл оцифровываем.
(это только рассуждения - делать не пробовал)
kpv
Цитата(IgorKossak @ Aug 26 2005, 11:41)
При увеличении количества выборок и последующем усреднении (т. н. цифровая фильтрация) существенного увеличения точности не происходит, т. к. приходится отбрасывать "пляшущие" разряды.

наш спец по ЦОС предупреждает - усреднение это только первый шаг цифровой фильтрации. Применяйте фильтры "посложнее" - результат будет близок к ожидаемому.
Фильтрацию тоже с умом надо применять. Наиболее часто встречающаяся неприятность - если на входе есть сигнал в полосе выше частоты дискретизации - это сигнал "отразится" на спектре и всё увеличение частоты пойдёт сами знаете куда....
bzx
Цитата(kpv @ Aug 29 2005, 13:45)
если на входе есть сигнал в полосе выше частоты дискретизации - это сигнал "отразится" на спектре и всё увеличение частоты пойдёт сами знаете куда....
*

Не так. Для нормальной работы: Fсигнала<=2*Fдискретизации.
BVU
Цитата(moonrock @ Aug 27 2005, 01:47)
to muravei

Я сам не так давно поднимал такой вопрос. В общем сам и проверил. До 20-30 кГц 9 бит получить можно, затем начинаются проблемы. А заключаются они в том, что АЦП упорно пропускает определенные значения (не помню как это правильно называется).
*


Это происходит лишь тогда, когда Вы делаете оцифровку сигнала по таймеру с заданным периодом времени, поэтому скорость Вашего преобразования начинает отставать от частоты выборки. А называется это теорема/критерий Найквиста о дескритизации (в радиотехнике - критерий Котельникова). И то и другое правильно и подтверждает одно и то же. На практике входному сигналу аналогово ограничивают его частотную полосу и после оцифровки если делается спектральная обработка (БПФ) частоты получаемые выше частоты среза аналогового фильтра отбрасываются, т.к. это внесенные частоты цифрового преобразования. Математичаски они тоже могут быть подавлены... но это уже другая история.
kpv
Цитата(bzx @ Aug 29 2005, 14:11)
Не так. Для нормальной работы: Fсигнала<=2*Fдискретизации.
*


вот-вот, тем более. smile.gif
во избежание такого - необходимо фильтрами "давить" до АЦП.
я с этим ЦОС не воюю, поэтому поправляйте меня, что не так. только основы знаю
BVU
Цитата(Jurdens @ Aug 29 2005, 14:02)
А если взять десять предметов  и выложить их в длину и потом померять
и поделить на 10 -вот тогда получится.
суммирование - интегрирование
Для сигналов используем предварительное аналоговое интегрирование
на небольшом участке сигнала и полученный интеграл оцифровываем.
(это только рассуждения - делать не пробовал)
*


Ваш пример не совсем годиться при работе с реальными сигналами, так как один квант времени - одна оцифровка значения. С уже оцифроваными значениями сигнала можно изощрятся как угодно, если процесс не требует реального времени или приближения к нему.
jimmi
sad.gif
Make_Pic
Цитата(moonrock @ Aug 27 2005, 00:47)
to muravei

Я сам не так давно поднимал такой вопрос. В общем сам и проверил. До 20-30 кГц 9 бит получить можно, затем начинаются проблемы. А заключаются они в том, что АЦП упорно пропускает определенные значения (не помню как это правильно называется).
*

Сначала я так-же делал, но почитав науку, вчастности аплкуху от Цынгала, я добавил в сигнал шум (точнее добавил усиление, в том числе усилил и шумы) на входе АЦП и все покатило. При измерении линейкой руки трясутся от количества принятого wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.