QUOTE (sidy @ Jul 3 2013, 15:37)

Назрела необходимость перейти к вычислениям с фиксированной точкой. В связи с этим возник еще один вопрос: как преобразовать мои коэффициенты
ACoef[3]={1, -1.911197067426073, 0.914975834801434};
BCoef[3]={1, 2, 1};
к целочисленным.
Как я понял я должен умножить их на 2^k, где k целые числа; я попробовал промаштабировать исходные коэффициенты умножив на 32767, получил новые коэффициенты, но работа фильтра с новыми коэффициентами существенно изменилась - исчез фазовый сдвиг (90 гр.) и фильтр потерял свои "фильтрующие" свойства. Вопрос: что я сделал неправильно? (Разрядность АЦП 12 бит, разрядность MCU 32 бита).
А как Вы представите 2 с фиксированой запятой 1.15 fixed-point
В 1.15 fixed-point представимы только числа от -1 до 1
Разделите на 2 и числитель и знаменатель и тогда уже... то есть умножайте на 16384
На самом деле в Matlab Filter Design можно включить режим конечной разрядности и он сам посчитает целочисленные ( 1.N fixed-point ) коэфф.,
и покажет частотные и фазовые характеристики с эффектами разрядности