Задача такая - у меня АЦП может работать только на минимальной частоте 1000 Гц.
мне нужны кратные частоты: 125, 250 и 500.
Получить их можно проведя децимацию, предварительно перед которой
отфильтровав все что выше чстоты найквиста.
т.е. для получения данных на частоте 500,
я запускаю измерения на 1000 Гц,
фильтрую все что выше 250
и беру каждый второй отсчет.
Не стал заморачиваться с фильтрами - смотрю они уже есть в армовсеом коде
(те у кого STM в папке SMSIS)
у меня процессор СС3200 - не нашел примеров именно для него,
пока взял библиотечку у STM - она подходит к техасу (ф-я void arm_fir_decimate_fast_q31(///)).
Есть несколько вопросов, у меня может быть от 1-го канала до 8-ми,
вот как их всех одновременно фильтровать?
Код, который делает АРМ я так понимаю УЖЕ оптимизирован
по скорости, объему и прочему, сокращено количество циклов и всяких MAC операций.
как сделать "нормальную" фильтрацию одновременно всех 8-ми каналов,
и сколько навскидку времени уйдет на вызов функции фильтрации
т.е. переписать саму функцию фильтрации, чтобы использовать только 1 функцию
вместо идкущих подряд 8 и что то другое.
у кого какие мысли?