Рисунок 1: Неконвейерный интерполятор CIC Хогенауэра. В середине повышающая дискретизация с нулевой вставкой с коэффициентом преобразования от низкой частоты дискретизации, используемой каскадами гребенки (левая половина), к высокой частоте дискретизации, используемой каскадами интегратора (правая половина).
CIC-фильтры были изобретены Юджином Б. Хогенауэром в 1979 году [3] (опубликовано в 1981 году) и представляют собой класс КИХ-фильтров, используемых при многоскоростной цифровой обработке сигналов .
В отличие от большинства КИХ-фильтров, он имеет понижающую или повышающую дискретизацию в середине структуры, которая преобразует высокую частоту дискретизации, используемую каскадами интегратора, и низкую частоту дискретизации, используемую каскадами гребенки. [1]
количество образцов на этап (обычно 1, но иногда 2), и
порядок: количество пар гребенки-интегратора.
Числитель получается в результате умножения этапов гребенки с отрицательной прямой связью (каждый из них представляет собой просто умножение на в z-области).
Знаменатель получается в результате умножения этапов интегратора (каждый из них представляет собой просто умножение на в z-области).
Интегратор-гребенка — это простая скользящая средняя.
Интегратор-гребенчатый фильтр представляет собой эффективную реализацию простого КИХ-фильтра скользящего среднего 1- го порядка с опущенным делением. [примечание 1] Чтобы убедиться в этом, рассмотрим, как можно рекурсивно реализовать простой фильтр скользящего среднего, добавляя новейшую выборку к предыдущему результату и вычитая самую старую выборку :
Второе равенство соответствует гребенчатому фильтру ( ) , который интегрируется ( ).
Каскадный интегратор-гребень дает скользящее среднее более высокого порядка.
Структуры CIC высшего порядка получаются путем каскадирования идентичных простых фильтров скользящего среднего с последующей перестановкой секций так, чтобы сначала размещались все интеграторы (дециматор) или сначала гребенки (интерполятор). Такая перестановка возможна, поскольку и гребенки, и интеграторы, и вся структура представляют собой линейные нестационарные (LTI) системы .
В интерполяционном CIC его повышающая дискретизация (которая обычно предшествует интерполяционному фильтру) проходит через гребенчатые секции с использованием идентификатора Нобла, уменьшая количество необходимых элементов задержки в . Аналогично, в прореживающем CIC его понижающий модуль (который обычно следует за прореживающим фильтром) перемещается перед гребенчатыми секциями.
Используйте только задержку, сложение и вычитание.
Никакого дорогостоящего умножения.
Битовый рост , из-за эквивалентности со скользящей средней. [4]
Форма главного лепестка фильтра меняется очень мало при изменении коэффициента децимации. [5]
Частотная характеристика
CIC-фильтры 1-го, 2-го, 3-го порядка (RM=8) нормализуют АЧХ. Верхний график — линейное усиление, нижний график — дБ .
В z-области каждый интегратор вносит один полюс в DC ( ) и один ноль в начале координат ( ). Каждая гребенка вносит полюса в начало координат и нули, которые равномерно распределены по единичному кругу z-домена , но ее первый ноль в DC компенсируется с каждым полюсом интегратора. CIC-фильтры N -го порядка имеют в N раз больше полюсов и нулей в тех же местах, что и фильтры 1- го порядка.
Таким образом, частотная характеристика CIC 1- го порядка представляет собой грубый фильтр нижних частот . Обычно усиление нормализуется путем понижения так, чтобы постоянный ток имел пик единичного усиления. Основные лепестки уменьшаются по мере достижения следующего нуля, а за ними следует серия последовательных лепестков, которые имеют все меньшие и меньшие пики, разделенные последующими нулями. В целом это приблизительно соответствует синхрочастоте .
Форма CIC N -го порядка соответствует умножению этой формы sinc на себя N раз, что приводит к последовательному увеличению затухания. Таким образом, фильтры CIC N- го порядка называются фильтрами sinc N. Первый боковой лепесток ослаблен на ~13N дБ.
Возможный диапазон ответов CIC-фильтра ограничен этой формой. Больших значений подавления в полосе задерживания можно достичь за счет увеличения порядка, но это увеличивает затухание в полосе пропускания и требует увеличения разрядности интеграторной и гребенчатой секций. По этой причине многие реальные требования к фильтрации не могут быть удовлетворены только с помощью CIC-фильтра.
Компенсация формы
КИХ-фильтр короткой или средней длины или фильтр с бесконечной импульсной характеристикой (БИХ) могут компенсировать падающий наклон формы фильтра CIC. [5] Несколько скоростей интерполяции и прореживания могут повторно использовать один и тот же набор компенсационных коэффициентов FIR, поскольку форма основного лепестка CIC меняется очень мало при изменении коэффициента прореживания. [5] Рисунок 11(б)
Сравнение с другими КИХ-фильтрами
Фильтры CIC используются в основном при многоскоростной обработке. Между тем, КИХ-фильтры в целом используются в широком спектре приложений и могут использоваться при многоскоростной обработке в сочетании с интерполятором или дециматором.
CIC-фильтры имеют частотные характеристики нижних частот, [1] в то время как FIR-фильтры могут иметь частотные характеристики нижних , верхних или полосовых частот.
Фильтры CIC используют только сложение и вычитание. [1] КИХ-фильтры используют сложение и вычитание, но большинство КИХ-фильтров также требуют умножения.
CIC-фильтры имеют определенный спад частоты [1] , в то время как КИХ-фильтры нижних частот могут иметь сколь угодно резкий спад частоты.
CIC-фильтры, как правило, гораздо более экономичны, чем обычные FIR-фильтры, [1] но здесь приходится идти на компромиссы.
В тех случаях, когда требуется лишь небольшая интерполяция или прореживание, КИХ-фильтры обычно имеют преимущество. Однако, когда скорости изменяются в 10 или более раз, для достижения полезной полосы задерживания сглаживания КИХ-фильтра требуется множество отводов КИХ.
При больших изменениях скорости CIC имеет значительное преимущество перед FIR-фильтром с точки зрения архитектурной и вычислительной эффективности . [1]
Кроме того, фильтры CIC обычно можно переконфигурировать для разных скоростей, не меняя ничего, кроме секции прореживания/интерполяции, при условии, что разрядность интеграторов и гребенчатых секций соответствует определенным математическим критериям, основанным на максимально возможном изменении скорости.
Фильтр CIC использует только математические вычисления с фиксированной запятой, тогда как фильтры FIR могут использовать математические вычисления с фиксированной или плавающей запятой . [1]
Это необходимо, поскольку, будучи рекурсивно реализованным FIR-фильтром, CIC-фильтр опирается на точное подавление полюсов из секций интегратора нулями из гребенчатых секций. Хотя причины этого не совсем очевидны, неотъемлемой характеристикой архитектуры CIC является то, что если в интеграторах происходят переполнения фиксированной длины , они исправляются в гребенчатых секциях. [1]
Примечания
^ Деление на константу можно добавить до или после фильтра, чтобы получить среднее значение. Если это степень двойки, то это деление можно легко реализовать с помощью недорогого двоичного сдвига вправо или просто рассматривая входные или выходные числа как двоичные числа с фиксированной точкой .
Рекомендации
^ abcdefghi Хогенауэр, Юджин Б. (апрель 1981 г.). «Экономичный класс цифровых фильтров для прореживания и интерполяции». Транзакции IEEE по акустике, речи и обработке сигналов . 29 (2): 155–162. дои :10.1109/ТАССП.1981.1163535.
^
Донадио, Мэтью (2000) Введение в фильтр CIC «Хогенауэр представил важный класс цифровых фильтров, называемый «Каскадный интегратор-гребень», или для краткости «CIC» (также иногда называемый «фильтрами Хогенауэра»).
^ Лайонс, Ричард Г. (20 февраля 2012 г.). «История фильтров CIC: нерассказанная история». DSPRelated.com . Архивировано из оригинала 29 марта 2023 г. Проверено 24 августа 2023 г.
^ Хогенауэр 1981, формула. 11
^ abc Ричард, Лион (26 марта 2020 г.). «Руководство для начинающих по каскадным интеграторно-гребенчатым (CIC) фильтрам». DSPRelated.com . Архивировано из оригинала 28 июня 2023 г. Проверено 25 августа 2023 г.