|
Если оба входных отсчета равны 0x8000, их сумма равна 0x10000 (единица в CARRY, который теперь выполняет роль знакового бита). Это корректно обрабатывается как отрицательное число -2^16. У меня ерунда была наоборот при переходе синуса через 0.
А для того, чтобы иметь запас в аккумуляторе (там на самом деле достаточно одного бита) я просто умножаю коэффициенты фильтра не на 2^16, а на 2^15.
E-mail: info@telesys.ru