[an error occurred while processing this directive]
|
Как корректно посчитать 32bit fixed-point IIR в FDAtool?
Ставлю галку Квантование и все галки оптимизации (в том числе - чтоб не переполнялись коэфф. и <=1). Полученный фильтр в float (моделирую на компе) прекрасно пашет, при переходе на s32 - переполнение внутри фильтра. На float-модели замерил диапазон значений внутри фильтра при заданном сигнале - оказалось диапазон ~= +-7, отмасштабировал вх./вых. s32 фильтра на 8 - заработал, но при другом сигнале - другой диапазон!
Линию задержки обнулить не забыл ;)
Так как все-таки так рассчитать IIR32, чтоб нигде в нем не было перехода за 32 бита? (ну или хотя бы чтоб данные в линии задержки не превышали 32)?
TMS320VC5502. Надо ФВЧ - вырезать постоянку (и 100Гц) на ~50дБ, FS=48кГц. Нижняя частота полосы пропускания = не хотелось бы ниже 200Гц, поэтому КИХ получается довольно громоздким - жалко тактов ;)
В общем - как рассчитать IIR так чтоб все числа не превышали некого диапазона?