АЦП в условиях значительных шумов
- kolobokus
- Встал на лапы
- Сообщения: 116
- Зарегистрирован: Пн дек 29, 2014 19:51:49
- Откуда: Санкт-Петербург
АЦП в условиях значительных шумов
Требуется получить результат АЦП встроенным 10-разрядным преобразователем микроконтроллера
в условиях действия почти "белого" шума, с амплитудой 1-2 мзр. Преобразуемый сигнал - DC.
Время на получение результата - до 200 мс. Требуется получить не менее чем 10 разрядный результат
без "пляски" младшего разряда.
Если ограничиться имеющимися 10 разрядами, то помимо самого простого метода цифровой фильтрации
- вычисления среднего арифметического значения по множеству последовательных измерений,
можно попробовать применить оверсемплинг с децимацией для виртуального повышения разрядности
имеющегося АЦП, скажем до 12 разрядов, с последующим усреднением и приведением к 10 разрядам.
Вопрос в том, стоит ли это делать для достижения обозначенной мной цели (10 разрядов без "пляски")???
в условиях действия почти "белого" шума, с амплитудой 1-2 мзр. Преобразуемый сигнал - DC.
Время на получение результата - до 200 мс. Требуется получить не менее чем 10 разрядный результат
без "пляски" младшего разряда.
Если ограничиться имеющимися 10 разрядами, то помимо самого простого метода цифровой фильтрации
- вычисления среднего арифметического значения по множеству последовательных измерений,
можно попробовать применить оверсемплинг с децимацией для виртуального повышения разрядности
имеющегося АЦП, скажем до 12 разрядов, с последующим усреднением и приведением к 10 разрядам.
Вопрос в том, стоит ли это делать для достижения обозначенной мной цели (10 разрядов без "пляски")???
- Реклама
Re: АЦП в условиях значительных шумов
Совсем без пляски, это врят ли, но ослабить пляску оверсемплинг поможет. Если задача повышения разрядности не стоит, то самое незатейливое усреднения большого количества замеров уже показывает неплохие результаты. Если измеряемая величина меняется медленно, то можно еще окно за собой тащить. В том смысле, что не отбрасывать суммы после нахождения среднего, а сохранять в кольцевом массиве с последующим нахождением среднего от свеженакопленной суммы замеров и всех предыдущих сохраненных сумм.
Re: АЦП в условиях значительных шумов
экспоненциальный ФНЧ тоже неплохо работает, в отличии от бегущего среднего не нужно накапливать предыдущие данные, и легко наращивается порядок фильтра
http://en.wikipedia.org/wiki/Low-pass_f ... ealization
y := y[i-1] + α * (x - y[i-1])
http://en.wikipedia.org/wiki/Low-pass_f ... ealization
y := y[i-1] + α * (x - y[i-1])
Код: Выделить всё
// 1st-order exp.LPF, alpha=0..256
inline s32 lpf1_s32(const s32 cur, const s32 prev, const u8 alpha){ return (prev * 256 + alpha * (cur - prev)) / 256; }
Re: АЦП в условиях значительных шумов
против дрожания младшего разряда хорошо работает "люфт" ширина люфта ставится в зависимости от средней амплитуды помех
но лучше использовать вместо атмел или пик ти у них ацп куда качественнее сделан и помех существенно меньше при измерении.
но лучше использовать вместо атмел или пик ти у них ацп куда качественнее сделан и помех существенно меньше при измерении.
Физика - это вам не математика, тут думать надо.
Марк Биньяминович Бирк директор Еврейской Школы
Марк Биньяминович Бирк директор Еврейской Школы
Re: АЦП в условиях значительных шумов
но лучше использовать вместо атмел или пик ти у них ацп куда качественнее сделан
- Реклама
Re: АЦП в условиях значительных шумов
polyname
бред. Если руки кривые, виноват кто угодно, только не я...
вы отрицаете что разные АЦП имеют разное качество при одинаковой разрядности?
вы отрицаете что разные АЦП имеют разное качество при одинаковой разрядности?
Физика - это вам не математика, тут думать надо.
Марк Биньяминович Бирк директор Еврейской Школы
Марк Биньяминович Бирк директор Еврейской Школы
Re: АЦП в условиях значительных шумов
я такой разницы не заметил. Даже без фильтрации на AVR удавалось добиться отсутствия шума. А с цифровой фильтрацией - и подавно.
В AVR плохая опора - лучше использовать внешнюю или VCC. С АЦП особых проблем не было.
В AVR плохая опора - лучше использовать внешнюю или VCC. С АЦП особых проблем не было.
- kolobokus
- Встал на лапы
- Сообщения: 116
- Зарегистрирован: Пн дек 29, 2014 19:51:49
- Откуда: Санкт-Петербург
Re: АЦП в условиях значительных шумов
Опора у меня внешняя, а вот питание adc общее с цифрой (разводка не позволяет их разделить), но для оверсэмплинга это даже плюс (имхо). Преобразование в режиме idle. Сигнал меняется настолько медленно, что окно скользящего среднего тащить не имеет смысла. А вот окно, вырезающее середину, отбрасывая края, наверное попробую, Впрочем, сочетать сразу несколько методов трудно.
Я затрудняюсь определить разницу между средним арифметическим по многим выборкам и оверсемплингом без повышения разрядности. Целесообразно ли использовать в моей ситуации оба метода и будет ли между ними разница в результатах при одинаковых количествах измерений?
Спасибо за советы.
Я затрудняюсь определить разницу между средним арифметическим по многим выборкам и оверсемплингом без повышения разрядности. Целесообразно ли использовать в моей ситуации оба метода и будет ли между ними разница в результатах при одинаковых количествах измерений?
Спасибо за советы.
Re: АЦП в условиях значительных шумов
Как-то я без оптимизма смотрю на кучу арифметических действий с тридцатидвухбитными значениями применительно к AVR.polyname писал(а):экспоненциальный ФНЧ тоже неплохо работает,
А это вообще не одно ли и то же? Я как-то вообще для себя упростил эту всю теоретическую подоплеку и тупо беру 4 в степени N семплов, складываю и сдвигаю вправо до нужной разрядности.kolobokus писал(а):Я затрудняюсь определить разницу между средним арифметическим по многим выборкам и оверсемплингом без повышения разрядности.
Re: АЦП в условиях значительных шумов
несколько сдвигов, сложений, вычитаний и умножение. В пределах 1..2 десятков мкс. Даже на полной скорости, в прерывании успеет. Можно переписать для 16-бит.Как-то я без оптимизма смотрю на кучу арифметических действий с тридцатидвухбитными значениями применительно к AVR.
- kolobokus
- Встал на лапы
- Сообщения: 116
- Зарегистрирован: Пн дек 29, 2014 19:51:49
- Откуда: Санкт-Петербург
Re: АЦП в условиях значительных шумов
Буду исходить из результатов практики. Не помогут простые способы - замутю что-нибудь этакое...
В одной статье попался совет, сначала повысить разрядность, если недостаточно, а после усреднить. Так как эти приемы относятся к контролю очень медленных изменений величин, то я ими и подумал воспользоваться. Разрядности мне и такой (10) хватает, так что была мысль повысить ее повторными считываниями, с тем, чтобы потом отсечь прыгающие младшие разряды и снова вернуться к исходной разрядности, но уже без дерганья.
Только вот эта идея напоминает чем-то Perpetum Mobile.
Может ее эффективность не превышает простое усреднение. Попробую.
В одной статье попался совет, сначала повысить разрядность, если недостаточно, а после усреднить. Так как эти приемы относятся к контролю очень медленных изменений величин, то я ими и подумал воспользоваться. Разрядности мне и такой (10) хватает, так что была мысль повысить ее повторными считываниями, с тем, чтобы потом отсечь прыгающие младшие разряды и снова вернуться к исходной разрядности, но уже без дерганья.
Только вот эта идея напоминает чем-то Perpetum Mobile.
Может ее эффективность не превышает простое усреднение. Попробую.
Что такое электроника?
Кажется, это то, что было перед фотоникой!
Кажется, это то, что было перед фотоникой!
- КРАМ
- Друг Кота
- Сообщения: 25292
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: АЦП в условиях значительных шумов
Любая цифровая фильтрация подразумевает, что АЦ преобразование удовлетворяет теореме Котельникова как для сигнала, ТАК И ДЛЯ ШУМОВ.kolobokus писал(а):Буду исходить из результатов практики. Не помогут простые способы - замутю что-нибудь этакое...
То есть для эффективной фильтрации в МК необходимо обеспечить обрезание спектра входных шумов до уровня динамического диапазона АЦП (для 10 разрядного - это -60дБ, для 12-разрядного - -72 дБ) выше половины частоты семплирования. Этот фильтр называется антиалиасинговым...
Иначе применение ЛЮБЫХ цифровых фильтров будет неэффективно.
- kolobokus
- Встал на лапы
- Сообщения: 116
- Зарегистрирован: Пн дек 29, 2014 19:51:49
- Откуда: Санкт-Петербург
Re: АЦП в условиях значительных шумов
Спасибо, КРАМ, за напоминание. Но я по входу поставил мощный аналоговый фильтр. Он-то и берет на себя основную функцию шумодава. Остаток буду убирать цифрой.
Что такое электроника?
Кажется, это то, что было перед фотоникой!
Кажется, это то, что было перед фотоникой!
- kolobokus
- Встал на лапы
- Сообщения: 116
- Зарегистрирован: Пн дек 29, 2014 19:51:49
- Откуда: Санкт-Петербург
Re: АЦП в условиях значительных шумов
В одной статье по АЦП я натолкнулся на совет делать период преобразования кратным 20ms, для борьбы с сетевыми наводками.
Мне показался этот совет некорректным. Ведь если абсолютно точно синхронизировать периоды (а это проблематично, ИМХО), то появиться смещение в результате, а если приблизительно - то медленные биения, с которыми бороться сложнее.
Так есть ли смысл приближать кратность периода АЦП к периоду сети для уменьшения влияния сетевых наводок?
Мне показался этот совет некорректным. Ведь если абсолютно точно синхронизировать периоды (а это проблематично, ИМХО), то появиться смещение в результате, а если приблизительно - то медленные биения, с которыми бороться сложнее.
Так есть ли смысл приближать кратность периода АЦП к периоду сети для уменьшения влияния сетевых наводок?
Что такое электроника?
Кажется, это то, что было перед фотоникой!
Кажется, это то, что было перед фотоникой!
- КРАМ
- Друг Кота
- Сообщения: 25292
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: АЦП в условиях значительных шумов
Частота сети очень стабильна в смысле ее подавления нулем АЧХ КИХ ФНЧ.
Поэтому подобный способ фильтрации 50 Гц и всех кратных ей высших гармоник очень эффективен.
Даже невысокий порядок фильтра дает очень неплохое подавление.
Расстройка частоты сети относительно частоты нуля у фильтра даст несколько худшее подавление и только...
Проверено неоднократно.
Совсем недавно я таким образом подавил до величины младшего разряда 12-разрядного АЦП наводку на измеряемую емкость сетевого провода (система охраны бытовой техники в магазине через шнур питания)...

Поэтому подобный способ фильтрации 50 Гц и всех кратных ей высших гармоник очень эффективен.
Даже невысокий порядок фильтра дает очень неплохое подавление.
Расстройка частоты сети относительно частоты нуля у фильтра даст несколько худшее подавление и только...
Проверено неоднократно.
Совсем недавно я таким образом подавил до величины младшего разряда 12-разрядного АЦП наводку на измеряемую емкость сетевого провода (система охраны бытовой техники в магазине через шнур питания)...
- kolobokus
- Встал на лапы
- Сообщения: 116
- Зарегистрирован: Пн дек 29, 2014 19:51:49
- Откуда: Санкт-Петербург
Re: АЦП в условиях значительных шумов
Пока мне не удалось сколь заметно улучшить ситуацию, задав период преобразований равным 20 ms. Возможно, дело в неудачной разводке.
А есть ли в несложных методах борьбы с шумами нечто, подобное гистерезису триггера Шмидта? Или это и есть - усекание младших разрядов?
А есть ли в несложных методах борьбы с шумами нечто, подобное гистерезису триггера Шмидта? Или это и есть - усекание младших разрядов?
Что такое электроника?
Кажется, это то, что было перед фотоникой!
Кажется, это то, что было перед фотоникой!
Re: АЦП в условиях значительных шумов
сделай синхронизацию выборки по сетевому 50гц стробу от сети питающёй БП,
получишь ту же самую 20мс синхронизацию но без биений (которые и дают основной шум)
получишь ту же самую 20мс синхронизацию но без биений (которые и дают основной шум)
Физика - это вам не математика, тут думать надо.
Марк Биньяминович Бирк директор Еврейской Школы
Марк Биньяминович Бирк директор Еврейской Школы
- КРАМ
- Друг Кота
- Сообщения: 25292
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: АЦП в условиях значительных шумов
Сорри, я невнимательно прочел исходный вопрос...
Не выборки должны быть кратны, а ДЛИНА БУФЕРА скользящего окна.
То есть частота выборок должна быть более чем вдвое выше частоты сети и кратна ей. С учетом реально существующих в сети гармоник вполне достаточно семплировать сигнал частотой 800 Гц (16 выборок за 20 мс).
Синхронизация с сетью с точностью до фазы не требуется.
Попытка решить проблему биений путем синхронизации лишь уберет сами биения, но не уберет ОШИБКУ, связанную с наводкой сети. Наводка превратится в постоянную составляющую...
Не выборки должны быть кратны, а ДЛИНА БУФЕРА скользящего окна.
То есть частота выборок должна быть более чем вдвое выше частоты сети и кратна ей. С учетом реально существующих в сети гармоник вполне достаточно семплировать сигнал частотой 800 Гц (16 выборок за 20 мс).
Синхронизация с сетью с точностью до фазы не требуется.
Попытка решить проблему биений путем синхронизации лишь уберет сами биения, но не уберет ОШИБКУ, связанную с наводкой сети. Наводка превратится в постоянную составляющую...
- kolobokus
- Встал на лапы
- Сообщения: 116
- Зарегистрирован: Пн дек 29, 2014 19:51:49
- Откуда: Санкт-Петербург
Re: АЦП в условиях значительных шумов
Думаю, с предположением об основном вкладе в "дребезг" младших разрядов АЦП сетевой наводки в моем случае, я поспешил.Kotofil писал(а):сделай синхронизацию выборки по сетевому 50гц стробу от сети питающёй БП,
получишь ту же самую 20мс синхронизацию но без биений (которые и дают основной шум)
Дело в том, что сейчас устройство еще не встроено, а работает у меня на столе. И питается от качественного преобразователя с
последующим линейным стабилизатором. Провода короткие. Скорее - причина в разводке платы (дешевая китайская ардуина Mini USB Nano).
В ней питание VCC и AVCC объединено, даже без дросселя.
Что такое электроника?
Кажется, это то, что было перед фотоникой!
Кажется, это то, что было перед фотоникой!
Re: АЦП в условиях значительных шумов
А что сама ардуина еще делает? Просто я раз наблюдал, как динамическая индикация такой "дребезг" в питающее напряжение вносит, что качественные показатели с АЦП получить становится проблематично.


