ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 ноября
752111 Топик полностью
fk0, легенда (25.04.2017 11:17, просмотров: 182) ответил Nikolay_Po на Вот это:
Во-первых это нерекурсивный фильтр -- с чего здесь ошибке умножаться? Она больше чем на -60 здесь нигде не умножается. Во-вторых там в каталоге fast целочисленная реализация, вроде. В 16 битах рекурсивный фильтр вообще сложно сделать, IMHO. Я бы делал на 32 и расчитывал, что на входе/выходе 16 бит, а остальное как бы после точки. Коэффициенты фильтра можно и нужно подобрать так, чтоб они целочисленные были, (почти)равны 2^N и т.п. -- это несколько ускорит и уменьшит погрешности. Потом с плавающей точкой тоже всё не просто. Никогда не забуду, как на pic18 (hitech-c STD именно, не PRO-версия и не picc18!) алгоритм реализованный влоб с плавающей точкой заработал быстрее, как "оптимизированная" целочисленная версия. В целочисленной разрядность -- 32 бита потребовалось. А у хайтека плавающая точка 24-бита и очень хорошо оптимизированная руками в ассемблере.
[ZX]