ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
518364 Топик полностью
fk0, легенда (27.05.2014 18:19, просмотров: 90) ответил Мущщина на Эт у тебя мозги вразнос пойдут. А фильтр на месте останется :-) Не пиши того, о чем понятия не имеешь. Во-первых, для БИХ-фильтров, реализованных на арифметике с фиксированной запятой, примененние насыщения - это наиболее простой, безобидный и
Не пиши сам чуши и не вводи массы в заблуждение. Если по-твоему с насыщением так мол замечательно, то пойдём методом индукции отсекать по одному биту. И, следовательно, однобитный БПФ и фильтры замечательно бы работали. Но де-факто это не так. Насыщение имеет смысл в каких-то крайних случаях, а не как метод борьбы с недостаточной разрядностью. И скорей на выходе из процедур -- для передачи, хранения и т.п. уже обработанных данных. С насыщением все алгоритмы выдают некорректный результат -- вот факт. И автору темы явно не хватает разрядности в промежуточных вычислениях и насыщение ему не в помощь. Можно предложить только вручную закодировать 48-бит например. Хотя лучше не маяться дурью и найти нормальную реализацию плавающей точки. Хохма в том, что оно может работать быстрей, чем fixed point. Вот, практический пример, на pic18 так получилось. Ибо float -- 24 бита (из них 8 экспонента, т.е. де-факто в умножениях только 16 мантиссы участвует), а fixed в 32 еле влазило (и операций в 2 раза больше сходу). И libm на ассемблере ручками оптимизировано, а компилер генерит не лучший код (для fixed). Для 8-битников ситуация типовая. Для 32-битных уже fixed будет быстрее.
[ZX]