Цитата(Ruslan1 @ Nov 3 2012, 15:19)

Если это принципиально (точность 16 бит, причем не статистически, а гарантированно)- то меняйте АЦП.
К сожалению, я пока не знаю, насколько принципиальна точность 16 бит - это покажут фактические тесты. Если от АЦП не получится 16 бит, то требуется получить хотя-бы что-то близкое к этому показателю.
Упрощенная схема всей цепочки сейчас выглядит так:
Ключевые условия задачи:
1) Выдавать на Cortex ARM M3 данные со всех каналов АЦП с частотой 500 Гц
2) напрямую Cortex невозможно подключить к АЦП, потому как у него нет времени конфигурировать SPI соединение, ждать результатов оцифровки и тп, поэтому используется буфер на базе Atmega 168.
3) АЦП, датчик, и буфер на Atmega168 уже выбраны - под них написан код, они подходят по гарабаритам, питанию и тп.
С одной стороны, если семплировать каждый канал с частотой больше, чем 500Гц, в Atmega168 прийдется реализовывать цифровой фильтр и пересчитывать на выходную частоту 500Гц для Cortex, т.е. Atmega168 возьмет еще на себя функции DSP, а не простого буфера, что я не планировал и не знаю пока, насколько это реализуемо по ресурсам.
С другой стороны, ставить частоту среза аналогового фильтра меньше чем 200, в самом крайнем случае 150 Гц уже критично для работы системы в целом.
Поэтому вопрос пока все тот же - как подобрать аналоговый фильтр? Я читал, что обычно строят каскад на операционниках и пассивных фильтрах, отталкиваясь от частоты среза, частоты семплирования, нелинейных искажений в области среза, точности АЦП, но к сожалению понимаю этот процесс пока примерно. Или как-то по другому? Как я понимаю, RC-цепочки тут не хватит.