Перейти к содержанию

Как округлять выход FIR?

Здравствуйте sm.gif Пытаюсь победить коргенераторовский fir у xilinx, но кое чего не понятно. Вообщем возможно есть так же не понимание принципа работы самого фильтра, так что... одно другому не мешает. Сгенерил полосовой фильтр в коргене (fir complier). Набор коэффициентов сгенерил в матлаб. Характеристики фильтра:
входлные данные - 8бит, беззнаковые;
коэффициенты - 16бит знаковые;
выходные данные - полная разрядность (без округления) 33бита.
Я сгенерил в матлабе входной файл (размах от 0 до 255). Однако на выходе 8 старших бит - пустые (знаковые). Если теперь я захочу округлить в коргене выходные данные, то корген будет брать старшие биты и опускать младшие (независимо от того какой вид округления я поставлю). Т.о. на выходе я получу совсем низкий уровень сигнала, даже меньше чем на входе, хотя сигнал находится в полосе пропускания, нестабильность коэф. передачи там не более 0.5дБ.
Сейчас я делаю следующим образом - если мне, например надо 11 бит на выходе, я округляю результат до 18 бит. Из них я беру младшие 11 бит(10 бит + знаковый). Но не уверен, что это правильно.
Изменено пользователем Грендайзер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Разрядность выхода фильтра генерится такой, чтобы ни при каких входных данных переполнения не было, при этом произвольный синус даже максимальной амплитуды в полосе пропускания до максимума не дотянет. Амплитуду выхода при одной гармонике можно легко оценить и посмотреть в том же МатЛабе. Распространенная практика - делать масштабирование на выходе фильтра самому, в зависимости от уровня и типа сигнала на входе. С выхода корки выводится полная разрядность, затем идет усечение до нужной разрядности с выбором позиции старшего бита. Кроме того, можно задействовать округление.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Грендайзер @ Sep 19 2017, 12:40) <{POST_SNAPBACK}>
Т.е. предложенный мной способ вполне приелем?


Да, вполне. Но не стоит забывать, что при более сложном сигнале возможен выход за выбранную разрядную сетку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация