oversampling на stm32
oversampling на stm32
Привет.нужно повысить разрешение ацп на stm32f407 с помощью передискретизации. допустим повышаю частоту дискретизации в 16 раз,фильтр какого порядка нужно использовать для усреднения выборок?подскажите,кто знает,пожалуйста
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: oversampling на stm32
Частоту укажи, на которой хочешь снимать данные и на какой запускать АЦП. Со скольки до скольки бит надеешься точность повысить? Зачем нужно повышать точность?
Но скорее всего ответ будет
1. RC цепочка на входе, где R - единицы килоом, С - сотни пикофарад.
2. Операционный усилитель на входе.
Но скорее всего ответ будет
1. RC цепочка на входе, где R - единицы килоом, С - сотни пикофарад.
2. Операционный усилитель на входе.
Re: oversampling на stm32
По моему нужно сложить все 16 измерений и результат считать за окончательное измерение. Уж какого это порядка фильтр я не знаю.
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: oversampling на stm32
Galizin писал(а):По моему нужно сложить все 16 измерений и результат считать за окончательное измерение.
Это самый примитивный вариант.
Треугольный или косинусоидальный фильтр.
Re: oversampling на stm32
Мне кажется, что автор темы имел в виду что-то вот такое...
В общем, у Atmel-а есть документик
http://www.atmel.com/Images/doc8003.pdf
Смотреть Table 3-1 на странице 8.
Это не для stm, но идея одна везде.
А применение RC цепочки уменьшит шум, который как раз и нужен в этом случае. Если мне не изменяет память, то как раз у stm-ок было где-то специально генерирование шума, чтобы усреднение на АЦП давало лучшие результаты.
В общем, у Atmel-а есть документик
http://www.atmel.com/Images/doc8003.pdf
Смотреть Table 3-1 на странице 8.
Это не для stm, но идея одна везде.
А применение RC цепочки уменьшит шум, который как раз и нужен в этом случае. Если мне не изменяет память, то как раз у stm-ок было где-то специально генерирование шума, чтобы усреднение на АЦП давало лучшие результаты.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: oversampling на stm32
Вообще хочу повысить разрешение ацп с 12 до 16 бит,частота взятия отсчетов 307200гц.отсчеты вроде как можно усреднить фильтром.частота повышена в 256 раз,нужно вот усреднить каждые 256 отсчетов в один
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: oversampling на stm32
castiel92 писал(а):повысить разрешение ацп с 12 до 16 бит
К сожалению это малореально. Максимум можно 2 бита дополнительных получить, но никак не 4.
Вот документик AN2834: How to get the best ADC accuracy in STM32Fx Series and STM32L1 Series devices
Там есть и про добавление шума, и про другие варианты. Но это все сложно настраиваемо. Предусилитель с изменяемым коэффициэнтом усиления надежнее.
- Neekeetos
- Держит паяльник хвостом
- Сообщения: 993
- Зарегистрирован: Пн сен 18, 2006 11:16:05
- Откуда: Тула
- Контактная информация:
Re: oversampling на stm32
castiel92 писал(а):Вообще хочу повысить разрешение ацп с 12 до 16 бит,частота взятия отсчетов 307200гц.отсчеты вроде как можно усреднить фильтром.частота повышена в 256 раз,нужно вот усреднить каждые 256 отсчетов в один
Все спокойно получается на ф4, там хороший шумный ацп, поэтому никаких добавочных сигналов не требуется. Нужно только не забыть сделать время выборки ацп минимум 7,5 или 13,5 тактов иначе будет большая нелинейность. Еще крайне желательно поставить прямо ко входу ацп конденсатор а землю, примерно 500пф. Я так понимаю сигнал постоянка поэтому в качестве фильтра советую взять flattop, это оконная функция, на постоянке работает как хороший фнч, рассчитать его на 256 отсчетов, соотв порядок фильтра будет тоже 256.
Информация по RLC mini находится >тут<
Re: oversampling на stm32
А при чём тут усилитель с изменяемым коэффициентом усиления, если надо увеличить количество отсчётов в измерении? Речь не идёт об измерении малых напряжений при неизменном опорном напряжении, много большем измеряемой величины.balmer писал(а):Предусилитель с изменяемым коэффициэнтом усиления надежнее.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: oversampling на stm32
Kavka писал(а):А при чём тут усилитель с изменяемым коэффициентом усиления, если надо увеличить количество отсчётов
Дело в том, что задачу не озвучил создатель темы, поэтому каждому думается разное. Мне например как один из вариантов сразу представляется оцифровка сигналов малой амплитуды. Впрочем лучше у создателя темы спросить. какова собственно говоря конечная цель.
Re: oversampling на stm32
"повысить разрешение ацп с 12 до 16 бит".
"К сожалению это малореально".
Как это малореально?
Очень даже реально.
Improving STM32F101xx and STM32F103xx ADC resolution by oversampling (AN2668)
http://www.st.com/web/en/catalog/tools/ ... pe=keyword
"К сожалению это малореально".
Как это малореально?
Очень даже реально.
Improving STM32F101xx and STM32F103xx ADC resolution by oversampling (AN2668)
http://www.st.com/web/en/catalog/tools/ ... pe=keyword
- Сэр Мурр
- Модератор
- Сообщения: 11169
- Зарегистрирован: Чт окт 27, 2005 18:50:07
- Откуда: из мест не столь отдалённых
Re: oversampling на stm32
Путём суммирования и усреднения результата можно получить сколь угодно бОльшую разрядность, но это совершенно не эквивалентно ТОЧНОСТИ измерения.
Если бы это было бы так просто, то не разрабатывали бы 24-разрядные АЦП.
Если бы это было бы так просто, то не разрабатывали бы 24-разрядные АЦП.
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: oversampling на stm32
rioi писал(а):Очень даже реально.
Попробуйте сначала в железе.
На всяких DemoBoard точно будет косяк, там такая разводка, что много проводников от пинов параллельно идут.
Да и если будешь делать плату - то много где можно ошибиться. Например подключить LCD дисплей у которого внутри StepUp преобразователь без фильтрации. Или там аналоговую и цифровую землю неправильно развести. Или недалеко от аналогового проводника будет цифровой. Способов ошибиться, чтобы шумели нижние пару бит у ADC 12-ти битного масса.
Re: oversampling на stm32
rioi писал(а):"повысить разрешение ацп с 12 до 16 бит".
Improving STM32F101xx and STM32F103xx ADC resolution by oversampling (AN2668)
http://www.st.com/web/en/catalog/tools/ ... pe=keyword
Спасибо!
Очень интересно, использовал оверсэмплинг, но не знал, что крому уменьшить шумы можно и поднять разрешение...
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: oversampling на stm32
а почему не взять микроконтроллер с 16 бит АЦП, например STM32F373C8
http://www.st.com/web/catalog/mmc/FM141 ... 0/PF253253
http://www.st.com/web/catalog/mmc/FM141 ... 0/PF253253