Почему мой фильтр, созданный с помощью инструмента проектирования фильтров Matlab, не работает с числами с фиксированной точкой? - PullRequest
0 голосов
/ 15 апреля 2019

Я использовал инструмент Matlab Filter Design для создания банка фильтров нижних частот. Я экспортировал банк в модель Simulink. С двойной точностью все работает отлично. Но если я преобразую фильтр в арифметику с фиксированной запятой с помощью инструмента «Конструкция фильтра», выходной сигнал будет просто шумом или нулем.

Изначально я хотел создать VHDL-фильтр для аудиосигнала int16. Но eigther fi (1,16,0) или другая конфигурация с фиксированной запятой работает.

настройки с фиксированной точкой

настройки тестового стенда и входного сигнала

выходной сигнал

1 Ответ

0 голосов
/ 15 апреля 2019

Многие типичные конфигурации БИХ-фильтров требуют большей точности и большего динамического диапазона для промежуточных и обратных элементов, чем для входа и выхода.В зависимости от типа фильтра количество необходимых дополнительных битов может быть приблизительно пропорционально отношению между частотой дискретизации и частотой среза фильтра или крутизной полосы перехода.Для отладки вы можете попытаться распечатать эти промежуточные термины для проверки и убедиться, что они не переполнены и не переполнены.

...