[an error occurred while processing this directive]
|
ведь идея СIC фильтра не менее проста, чем гениальна
В простейшем случае имеем быструю реализацию скользящей суммы.
Если сигнальчик сперва проинтегрировать дискретно
Y(Z) = X(Z)/(1-Z)
а потом продифференцировать на сетке в M раз грубее
P(Z) = Y(Z)*(1-Z**M)
то получится как раз скользящая "лаптем длиной М-1" сумма
P(i)=X(i-M+2)+X(i-M+3)+...+X(i)
А если проинтегрировать N раз, а потом продифференцировать N раз
то и вообще имеем отличное сглаживание, по частоте как sinc в степени N
Кто-то скажет, что всё это мгновенно переполнится, поскольку неустойчиво. Гениальность идеи заключалась как раз в том, что старшие разряды нам и не надо - мы заранее знаем разрядность результата. Это наверно был самый первый теоретико-числовой алгоритм
Короче, могу намылить программку на С. Хорошая, делал как для себя ;)
Берите модельку ;-)
E-mail: info@telesys.ru