[an error occurred while processing this directive]
Вопрос по Matlab FDAtool - синтез БИХ-фильтра, проблема с реализацией
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено man55 15 апреля 2005 г. 07:04

В-общем считаю одно биквадратное звено, БИХ-фильтр ФВЧ 2 порядка, Fs=48000, Fсреза=1000 Гц.
Результат, который дает матлаб -
a[]={0.5, -0.907684, 0.415497}
b[]={0.5 -1 0.5}
масштабный коэффициент 0.911
квантизируем, оптимизируем, загоняем в TMS 5502

реализация фильтра самописаная на асме, все коэффициенты и конечный результат в 16-битах, все промежуточные - полностью 40-битный аккумулятор

не работает, как надо !!!

а вот если например смасштабировать сначала входной поток в 100 раз меньше (умножить на 0.01), прогнать через фильтр, потом смасштабировать обратно ( *100), тогда все работает !!!

при этом та же функция используется для ПФ (Fs=48000, полоса 2 Гц, центр частота 2400) - все работает идеально

есть подозрение, что грабли в том, что матлаб некорректно оптимизирует/квантизирует коэффициенты, о чем выдает предупреждение вида "Warning 13 overflow in coeffs"

хотя опять же во втором фильтре (ПФ) - то же предупреждение, только уже "Warning 17 overflow in coeffs" и он при этом работает

подскажите, где копать - запарился я уже

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru