Цитата(Alexashka @ Jan 9 2016, 00:15)

Может чего не понял (всю тему читать лень), но такие махинации со сдвигами (особенно если Х0 длиннее 8 бит, а контроллер не поддерживаем сдвиг на нужное число разрядов за раз) займут хучу тактов. Я бы делал проще сначала Х0 умножаем на 172, а потом откидываем один правый байт (т.е делим на 256), итого получаем коэффициент 0,671875

т.е тот же самый, что и в Вашей формуле (Х0>>1+X0>>3+X0>>5+X0>>6).
Да вы немного не поняли, это только один коэффициент, так раскладываются все ну смотря какой фильтр, допустим 7 штук, потом раскрываем скобки,
потом упрощаем вынося за скобки, допустим вынесли за скобки >>2 И потом >>1.
Оставшееся раскладываем по сдвигам и записываем как
темр=все с 1 сдвигом
темр=все с 2 сдвигами
и т д
а потом
темр=темр + (что за скобкой1) >>2
темр=темр + (что за скобкой2) >>1
И наконец
темр=темр+целая часть
Хотя можно и немного по другому, записать
Итого все на сдвигах, да в том то и прикол что для приемлемой точности более 7 сдвигов то и не нужно
Там когда график строишь сразу округляешь чтобы поменьше сдвигов было, график то конечно похуже но на практите это даж не заметно
особо, а кода меньше и выполняется быстрее, я бы сказал красивое решение )
Цитата(Alexashka @ Jan 9 2016, 00:15)

Может чего не понял (всю тему читать лень), но такие махинации со сдвигами (особенно если Х0 длиннее 8 бит, а контроллер не поддерживаем сдвиг на нужное число разрядов за раз) займут куеву хучу тактов. Я бы делал проще сначала Х0 умножаем на 172, а потом откидываем один правый байт (т.е делим на 256), итого получаем коэффициент 0,671875

т.е тот же самый, что и в Вашей формуле (Х0>>1+X0>>3+X0>>5+X0>>6).
Хотя и Ваш вариант нада попробовать )))) и сравнить ))))