Цитата(Zelepuk @ Mar 24 2011, 10:26)

Но как найти глубину этих буферов? Есть критерии?
Буфер должен содержать данные, необходимые для расчета следующего выходного отсчета КИХ-фильтра, следовательно его размер должен быть никак не меньше порядка КИХ-фильтра, плюс к тому необходим некоторый запас - ведь в буфер с одной стороны поступают данные от АЦП - например по прерываниям от АЦП, и надо чтобы данные от АЦП не наползали на данные , которые Вы считываете при выполнении КИХ - фильтрации. Какой запас - зависит от скоростей обработки и входного потока. Если Вы обрабатываете данные - вычисляете следующий отсчет - в той же процедуре обработки прерывания, которая считывает данные из АЦП, то никакого запаса не надо, лишь бы процедура успевала закончиться до прихода следующего прерывания от АЦП. В Вашем случае Вам целесообразно в процедуре обработки прерывания выполнять сразу и децимацию - например при дцеимации в 8 раз просто пропускать 7 отсчетов и вычислять восьмой с помощью КИХ-фильтра, сохраняя выходные отсчеты в выходном кольцевом буфере - там поток будет в 8 раз меньше чем входной поток данных.