2 Бахурин Сергей
В своей статье http://www.dsplib.ru/content/cic/cic.html Вы достаточно подробно описали структуру построения и характеристики CIC фильтров и указали на их привлекательность с точки зрения простоты реализации (ввиду отсутствия операций умножения). В связи с этим обстоятельством у меня вопрос: насколько такой фильтр будет выигрывать по скорости обработки у обычного КИХ фильтра при программной реализации (или же выигрыша по скорости не будет, а все удобство заключается лишь в малой утилизации кристалла ПЛИС), который реализуется с помощью обычной операции свертки, при прочих равных условиях? Есть ли у Вас какие-нибудь конкретные цифры? Можно, конечно, взять вашу DLL и поэкспериментировать самому, но хотелось бы сначала узнать мнение самого автора. В данный момент у меня остро стоит вопрос получения более высокого быстродействия в задачах программной интерполяции/децимации. Спасибо.
Сравнение производительности фильтров CIC и FIR
Re: Сравнение производительности фильтров CIC и FIR
В скорости они выйграют по любому. А вот качество страдает. После CIC фильтра нужно ставить ещё и коректирующий FIR фильтр.
Re: Сравнение производительности фильтров CIC и FIR
По поводу корректора прочитал, думаю это не проблема, все-таки интересуют конкретные цифры, стоит ли вообще связываться, так как в моей задаче коэффициент децимации может достигать 3000.ivan219 писал(а):В скорости они выйграют по любому. А вот качество страдает. После CIC фильтра нужно ставить ещё и коректирующий FIR фильтр.
- Бахурин Сергей
- Администратор
- Сообщения: 1114
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Сравнение производительности фильтров CIC и FIR
ну для того чтобы принять объективное решение надо исходить из следующих соображений: На чем программная реализация? Разрядность представления (фиксированная или плавающая точка, разрядность)? Наличие - отсутствие мат сопроцессора, позволяющего выполнять умножение за такт?
На мой взгляд на современном компьютере с мат сопроцессором поставить просто ких проще чем cic+корректор. Если FPGA то cic дает существенный выигрыш. Если процессор с фиксированной точкой или без мат сопроцессора, то cic тоже неплох, но в отличии от FPGA надо следить за переполнением сетки это чревато неустойчивостью + все равно ставить корректор. Честно говоря с к-том децимации 3000 не пробовал никогда. 3000 довольно большой к-т децимации там могут всякие эффекты полезть. Лучше предварительно потратить день два промоделить все как следует.
На мой взгляд на современном компьютере с мат сопроцессором поставить просто ких проще чем cic+корректор. Если FPGA то cic дает существенный выигрыш. Если процессор с фиксированной точкой или без мат сопроцессора, то cic тоже неплох, но в отличии от FPGA надо следить за переполнением сетки это чревато неустойчивостью + все равно ставить корректор. Честно говоря с к-том децимации 3000 не пробовал никогда. 3000 довольно большой к-т децимации там могут всякие эффекты полезть. Лучше предварительно потратить день два промоделить все как следует.
Re: Сравнение производительности фильтров CIC и FIR
Реализация выполнена на х86 в арифметике с плавающей точкой с использованием инструкций SSE 4.x, причем реализация КИХ структуры в целочисленной арифметике по скорости обработки уступала модели с плавающей точкой. Почему так получается - не могу сказать.Бахурин Сергей писал(а):ну для того чтобы принять объективное решение надо исходить из следующих соображений: На чем программная реализация? Разрядность представления (фиксированная или плавающая точка, разрядность)? Наличие - отсутствие мат сопроцессора, позволяющего выполнять умножение за такт?
На мой взгляд на современном компьютере с мат сопроцессором поставить просто ких проще чем cic+корректор. Если FPGA то cic дает существенный выигрыш. Если процессор с фиксированной точкой или без мат сопроцессора, то cic тоже неплох, но в отличии от FPGA надо следить за переполнением сетки это чревато неустойчивостью + все равно ставить корректор. Честно говоря с к-том децимации 3000 не пробовал никогда. 3000 довольно большой к-т децимации там могут всякие эффекты полезть. Лучше предварительно потратить день два промоделить все как следует.
Видимо, все-таки, не стоит заморачиваться с CIC, а оставить полифазный фильтр с FIR. Еще раз спасибо.