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