Страница 1 из 1

oversampling на stm32

Добавлено: Вт окт 08, 2013 20:45:38
castiel92
Привет.нужно повысить разрешение ацп на stm32f407 с помощью передискретизации. допустим повышаю частоту дискретизации в 16 раз,фильтр какого порядка нужно использовать для усреднения выборок?подскажите,кто знает,пожалуйста

Re: oversampling на stm32

Добавлено: Ср окт 09, 2013 11:41:32
balmer
Частоту укажи, на которой хочешь снимать данные и на какой запускать АЦП. Со скольки до скольки бит надеешься точность повысить? Зачем нужно повышать точность?

Но скорее всего ответ будет
1. RC цепочка на входе, где R - единицы килоом, С - сотни пикофарад.
2. Операционный усилитель на входе.

Re: oversampling на stm32

Добавлено: Ср окт 09, 2013 16:35:50
Galizin
По моему нужно сложить все 16 измерений и результат считать за окончательное измерение. Уж какого это порядка фильтр я не знаю.

Re: oversampling на stm32

Добавлено: Ср окт 09, 2013 17:15:58
balmer
Galizin писал(а):По моему нужно сложить все 16 измерений и результат считать за окончательное измерение.


Это самый примитивный вариант.
Треугольный или косинусоидальный фильтр.

Re: oversampling на stm32

Добавлено: Ср окт 09, 2013 18:22:23
Kavka
Мне кажется, что автор темы имел в виду что-то вот такое...
В общем, у Atmel-а есть документик
http://www.atmel.com/Images/doc8003.pdf
Смотреть Table 3-1 на странице 8.
Это не для stm, но идея одна везде.
А применение RC цепочки уменьшит шум, который как раз и нужен в этом случае. Если мне не изменяет память, то как раз у stm-ок было где-то специально генерирование шума, чтобы усреднение на АЦП давало лучшие результаты.

Re: oversampling на stm32

Добавлено: Чт окт 10, 2013 09:01:50
castiel92
Вообще хочу повысить разрешение ацп с 12 до 16 бит,частота взятия отсчетов 307200гц.отсчеты вроде как можно усреднить фильтром.частота повышена в 256 раз,нужно вот усреднить каждые 256 отсчетов в один

Re: oversampling на stm32

Добавлено: Чт окт 10, 2013 10:23:56
balmer
castiel92 писал(а):повысить разрешение ацп с 12 до 16 бит


К сожалению это малореально. Максимум можно 2 бита дополнительных получить, но никак не 4.

Вот документик AN2834: How to get the best ADC accuracy in STM32Fx Series and STM32L1 Series devices

Там есть и про добавление шума, и про другие варианты. Но это все сложно настраиваемо. Предусилитель с изменяемым коэффициэнтом усиления надежнее.

Re: oversampling на stm32

Добавлено: Чт окт 10, 2013 12:30:03
Neekeetos
castiel92 писал(а):Вообще хочу повысить разрешение ацп с 12 до 16 бит,частота взятия отсчетов 307200гц.отсчеты вроде как можно усреднить фильтром.частота повышена в 256 раз,нужно вот усреднить каждые 256 отсчетов в один

Все спокойно получается на ф4, там хороший шумный ацп, поэтому никаких добавочных сигналов не требуется. Нужно только не забыть сделать время выборки ацп минимум 7,5 или 13,5 тактов иначе будет большая нелинейность. Еще крайне желательно поставить прямо ко входу ацп конденсатор а землю, примерно 500пф. Я так понимаю сигнал постоянка поэтому в качестве фильтра советую взять flattop, это оконная функция, на постоянке работает как хороший фнч, рассчитать его на 256 отсчетов, соотв порядок фильтра будет тоже 256.

Re: oversampling на stm32

Добавлено: Чт окт 10, 2013 14:28:13
Kavka
balmer писал(а):Предусилитель с изменяемым коэффициэнтом усиления надежнее.
А при чём тут усилитель с изменяемым коэффициентом усиления, если надо увеличить количество отсчётов в измерении? Речь не идёт об измерении малых напряжений при неизменном опорном напряжении, много большем измеряемой величины.

Re: oversampling на stm32

Добавлено: Чт окт 10, 2013 17:48:08
balmer
Kavka писал(а):А при чём тут усилитель с изменяемым коэффициентом усиления, если надо увеличить количество отсчётов


Дело в том, что задачу не озвучил создатель темы, поэтому каждому думается разное. Мне например как один из вариантов сразу представляется оцифровка сигналов малой амплитуды. Впрочем лучше у создателя темы спросить. какова собственно говоря конечная цель.

Re: oversampling на stm32

Добавлено: Сб ноя 09, 2013 21:17:14
rioi
"повысить разрешение ацп с 12 до 16 бит".
"К сожалению это малореально".

Как это малореально?
Очень даже реально.

Improving STM32F101xx and STM32F103xx ADC resolution by oversampling (AN2668)
http://www.st.com/web/en/catalog/tools/ ... pe=keyword

Re: oversampling на stm32

Добавлено: Пн ноя 11, 2013 07:14:23
Сэр Мурр
Путём суммирования и усреднения результата можно получить сколь угодно бОльшую разрядность, но это совершенно не эквивалентно ТОЧНОСТИ измерения.
Если бы это было бы так просто, то не разрабатывали бы 24-разрядные АЦП.

Re: oversampling на stm32

Добавлено: Пн ноя 11, 2013 14:24:53
balmer
rioi писал(а):Очень даже реально.


Попробуйте сначала в железе.
На всяких DemoBoard точно будет косяк, там такая разводка, что много проводников от пинов параллельно идут.
Да и если будешь делать плату - то много где можно ошибиться. Например подключить LCD дисплей у которого внутри StepUp преобразователь без фильтрации. Или там аналоговую и цифровую землю неправильно развести. Или недалеко от аналогового проводника будет цифровой. Способов ошибиться, чтобы шумели нижние пару бит у ADC 12-ти битного масса.

Re: oversampling на stm32

Добавлено: Пн фев 01, 2016 15:49:02
simq
rioi писал(а):"повысить разрешение ацп с 12 до 16 бит".
Improving STM32F101xx and STM32F103xx ADC resolution by oversampling (AN2668)
http://www.st.com/web/en/catalog/tools/ ... pe=keyword


Спасибо!
Очень интересно, использовал оверсэмплинг, но не знал, что крому уменьшить шумы можно и поднять разрешение...

Re: oversampling на stm32

Добавлено: Пн фев 01, 2016 17:08:15
oleg110592
а почему не взять микроконтроллер с 16 бит АЦП, например STM32F373C8
http://www.st.com/web/catalog/mmc/FM141 ... 0/PF253253