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

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

Отправлено ip657 14 августа 2006 г. 17:02

Доброго времени суток !

Я пытаюсь разобраться как работает фильтр баттерворта 1-го порядка.
Использую Matlab и компоненты DspBuilder (что это такое могу пояснить, если необходимо)

Фильтр целочисленный
Для определенности: структура фильтра - Direct form I
ФВЧ частота дискр = 256000 Гц, f_-3дБ = 18000

Коэффициенты - 16 бит (b0=32767, b1=-32767; a1=21000)
Входные значения 13 бит

Разрядность линий задержек - 18 бит

при умножении и коэффициенты и входные значения подвергаются sign extension до 18 бит

Никак не могу понять как формируется линия обратной связи
В примерах, которые мне удалось найти выходного значение основного сумматора ограничивается до
разрядности линий задержек. Причем обычно - это старшие биты.

У меня же фильтр начинает корректно работать если брать эти 18 старших бит со сдвигом в 4 бита вправо.
т.е. если выходная разрядность сумматора 18+18+1=37 бит [36..0], то мне приходится делать так:
feedback[17..0] = adder_out[32..15]

Никак не могу понять почему именно 4 бита ?

Заранее спасибо за ответы.

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

Ответы


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

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

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание