ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
161595
Argon (17.07.2009 09:31, просмотров: 3049)
Знающие, поделитесь практикой расчета и реализации БИХ фильтров для целочисленного риалтайма! Рассчитываю фильтр с 32-битными входными и выходными данными. Не могу сообразить как правильно пользоваться квантованием коэффициентов в Matlab (оно там как-то через задний проход, чтоли). Поэтому делаю по-своему: 1. В Matlab рассчитываю коэффициенты максимально приближенные друг к другу. 2. Выбираю для них коэффициент 2^n для преобразования в 32-битный целочисленный формат. 3. В Mathcad (по привычке) создаю эмуляцию фильтра. Реализация DF1 или DF2. 4. Оптимизирую коэффициенты для реализации умножения 32-битных чисел с накоплением в 64-битном (ARM7TDMI) Имею такую проблему: все отлично работает для входных данных > 2^18, для меньших, соотвественно, не работает. Для избежания этой проблемы прямой вариант - увеличить разрядность элементов линии задержки с 32 до 64 бит. Но тогда придется умножать 64 бит на 32 бит, что не оптимально для процессора. Риалтайм не получится. Что посоветуете?