Какой FIR-фильтр больше подходит для компенсации узкополосного сигнала с помощью каскадного интегрально-гребенчатого (CIC) фильтра , чтобы компенсировать частотную характеристику CIC?
filter-design
Аугусто Зебадуа
источник
источник
Ответы:
На ваш вопрос нет однозначного ответа: как и в случае с любой конструкцией фильтра, это зависит от ваших требований. Как довольно хорошо описано на странице Википедии , фильтры CIC (cascaded-integrator-comb) состоят из нескольких пар ступеней интегратора и гребенки (отсюда и название). Каждый каскад интегратора имеет совокупный импульсный отклик, который эквивалентен фильтру вагон-автобуса (то есть с прямоугольным частотным откликом). Частотная (амплитудная) характеристика вагона имеет форму, напоминающую функцию sinc, поэтому общая структура CIC будет иметь амплитудную характеристику, которая выглядит как функция sinc, взятая для некоторой степени , где N - число ступеней гребенки интегратора.N N
Однако не так много ручек для настройки в зависимости от требований конкретного приложения. Вы можете настроить отношение прореживания / интерполяции структуры CIC, задержку гребенки и количество ступеней, но вы все еще застряли с синусоидальной частотной характеристикой, которая не особенно идеальна, так как она не ровная по основная доля и имеет относительно высокие боковые лепестки. Таким образом, для CIC обычно следует другой фильтр, который «очищает» общий ответ.
Суть в том, что вам нужно от любого компенсирующего фильтра, который вы установите после CIC, будет определяться вашим приложением. Что действительно важно, так это реакция всего каскада, который вы бы ограничивали в зависимости от потребностей вашего приложения. Там нет конкретного фильтра, который "наиболее подходит".
источник
Был похожий вопрос, https://dsp.stackexchange.com/a/1551/306 , и ниже приводится часть ответа из другого поста.
Как правило, чтобы компенсировать фильтр CIC, обратная реакция фильтра CIC может использоваться для генерации фильтра компенсации. CIC имеет ответ 2
Где D - это задержка дифференцирования, M - скорость прореживания, а N - порядок фильтров (количество каскадных фильтров). Обратное можно указать как
Получив частотный отклик компенсационного фильтра, мы можем просто выбрать желаемую длину КИХ-фильтра. Длина РПИ зависит от приложения. Очевидно, что чем дольше КИХ-фильтр, тем лучше компенсация.
Ниже приведены графики этой прямой компенсации.
Ниже приведен код Python для создания частотных характеристик и графиков.
импорт numpy как np от numpy импорт sin, abs, pi import pylab
1 Альтера, «Понимание компенсационных фильтров CIC»
2 Р. Лайонс, «Понимание цифровой обработки сигналов», 2-е изд., Прентис Холл, Аппер-Седл-Ривер, Нью-Джерси, 2004
источник
ISOP (интерполированный полином второго порядка) часто используются для компенсации падения полосы пропускания CIC.
Ответ Matlab этого фильтра можно показать с помощью:
Выбор альфы для ваших требований является сложной частью. В худшем случае симуляция грубой силы преформы преобразуется с 0 до 0,5 с шагом 0,001, находя альфа, что приводит к лучшей компенсации спада. Определение наилучшей компенсации понижения как минимальной ошибки на границе полосы пропускания.
Для эффективности этот фильтр обычно размещается на более низкой скорости передачи данных, перед CIC для интерполяции и после CIC для прореживания.
источник