Лайонс Р. Цифровая обработка сигналов. Второе издание. Пер. с англ. (2006) (1095937), страница 78
Текст из файла (страница 78)
Это очень неэффективно! К счастью, существуют специальные фильтры преобразования частоты дискретизации, которые называются цифровыми полифазными фильтрами и которые позволяют повысить эффективность фильтрации. Рассмотрим полифазные фильтры, а затем обсудим особый фильтр, известный как последовательный интегратор-гребенчатый фильтр (ИГФ = С1С вЂ” сазаи!е(1(пгерагог-сот6), использование которого эффективно при аппаратурной реализации преобразования частоты дискретизации. 10.4. Полифазные фильтры Допустим, нам требуется интерполирующий КИХ-фильтр с линейной ФЧХ, имеющий 12 ответвлений. Первоначальный план состоит в том, что мы будем подавать последовательность х;„г(п) с добавленными нулевыми отсчетами, пока-. занную на рисунке 10.8 (а), на этот фильтр, коэффициенты которого показаны на рисунке 10.8 (Ь), чтобы получить требуемую последовательность х„(п).
(Этот фильтр, коэффициенты которого образуют последовательность 6()г), часто называют КИХ-фильтром-прототипом. Это вызвано тем, что мы собираемся позже модифицировать его.) Обратите внимание на то, что во времени, которое на рисунке 10.8 (а) увеличивается вправо, коэффициенты фильтра используются в обратном порядке, как показано на рисунке 10.8 (Ь).
Такая фильтрация требует 12 умножений на каждый выходной отсчет х„(п ), при том, что девять произведений всегда будут равны нулю. Но оказывается, что нам не нужно выполнять все 12 умножений. 0 1 2 3 4 6 6 7 6 91011121314 (и') (ь) Рис. 10.8. Интерполяция в 4 раза с помощью КИХ ФНЧ с 12 ответвлениями: (а) входные отсчеты фильтра; (Ь) коэффициенты фильтра, используемые для вычисления х„„(п') Чтобы показать это на примере, предположим, вернувшись к нашему случаю интерполяции с М - 4, что мы решили использовать ФНЧ с 12 ответвлениями, коэффициенты которого показаны на рисунке 10.8 (Ь).
Задача интерполирующего фильтра нижних частот состоит в вычислении свертки коэффициентов с последовательностью хьк(п). Рисунок 10.9 (а) показывает, как коэффициенты фильтра 392 Глава 10. П еоб азование частотыдиск етизвции накладываются на часть отсчетов хвв(п ) при вычислении первого отсчета последовательности х (п), х„(0). Коэффициенты фильтра показаны символами О По точкам, которые на рисунке 10.9 (а) представляют последовательность х;„,(и), мы видим, что, хотя среди коэффициентов девять отмечены символом П и три -символомИ,толькотрикоэффициента,отмеченныесимволомИ,даютненулевые произведения, вносящие вклад в сумму х„(0). Это коэффициенты КИХ-фильтра Ь(3), Ь(7) и Ь(11).
Суть здесь в том, что нам не нужно выполнять умножения, когда участвующий в нем отсчет х;„,(п ) равен нулю. Чтобы получить х„(0), нам необходимо выполнить только 3 умножения. Чтобы уяснить идею полифазного фильтра, вспомним, что для вычисления х„(0) мы используем коэффициенты фильтра-прототипа, отмеченные значками И. Когда мы сдвинем импульсную характеристику вправо на один отсчет, мы будем использовать для вычисления х„(1) коэффициенты, отмеченные на рисунке 10.9 (Ь) кружочками, т.к.
ненулевые отсчеты последовательности хек(п ) попадут под них. Эти кружочки представляют коэффициенты Ь(0), Ь(4) и Ь(8). Время (е) (ь> (с) Рис. 10.9. Коэффициенты фильтра, используемые для вычисления разных отсче- тов последовательности к„„(п') Таким же образом, когда мы сдвинем импульсную характеристику вправо еще на один отсчет для вычисления х„(2), мы будем использовать коэффициенты, показанные на рисунке 10.9 (с) ромбиками. Наконец, мы сдвинем импульсную характеристику вправо еще раз и используем коэффициенты, показанные на рисунке 10.9 (д) треугольниками, для вычисления хяем(3). Еще один сдвиг импульсной характеристики вправо приведет снова к использованию коэффициентов, отмеченных значком И, для вычисления х„„, (4).
Теперь легко понять предлагаемую схему — имеются М = 4 разных набора коэффициентов, использованных для вычисления отсчетов х„(п ) по отсчетам хе(4(п). Каждый раз, когда необходимо вычислить новый отсчет х„(п ) мы продвигаемся циклически на один шаг по четырем наборам коэффициентов и выполняем вычисления следующим образом: 10.4. Поли азные ильт ы 333 и так далее. Привлекательной чертой этого механизма является то, что нам в действительности вообще не нужно формировать последовательность хпк(п ), и мы не выполняем никаких ненужных вычислений. Это и есть полифазная фильтрация.
Эта последовательность вычислений показывает нам не только, что нужно фильтровать, но н как это нужно делать. Мы можем реализовать наш метод полифазной интерполирующей фильтрации с помощью банка из четырех субфильтров, показанного на рисунке 10.10. Эта схема называется коммутаторной моделью полифазных интерполнрующих фильтров. В ней имеется переключатель, который совершает полный оборот на каждый поступающий отсчет хоц(п). Таким способом вычисляются четыре отсчета х„(п ) на каждый входной отсчет х ц(п). В общем случае, если необходима ингерполяцня с коэффициентом М, нам нужно иметь М субфильтров.
На рисунке 10.11 приведена структура полифазного фильтра, использующая минимум памяти, которая содержит три переклочателя, вращающихся синхронно против часовой стрелки и подключающих последовательно четыре набора коэффициентов на каждый новый отсчет х ц(п). Как и раньше, в этом случае вычисляются четыре новых отсчета х„(п ) на каждый отсчет х ц(п). Преимуществом этой схемы является минимизация количества регистров для сохранения задержанных отсчетов хоц(п). Если полифазный фильтр реализует коэффициент интерполяции М, то используются М наборов коэффициентов. Мы можем обосновать приведенные блок-схемы полифазных КИХ-фильтров с помощью уравнений в г-области. Начнем с описания полифазного КИХ-фильтра вида: О(г) - Ь(0) + Ь(4)г, г + Ь(8)г;„-г+ + 1Ь(1) + Ь(5)гц т + Ь(9)г.
-г]г + 1Ь(2) + Ь(б)г;„т + Ь(10)гы г]г ог г + + 1Ь(3) + Ь(7)г -1+ Ь(11)гги-2]гош-.З (10-5) х (О) = Ь(3)х ц(2) + Ь(7)х ц(1) + Ь(11)х ц(0) х„(1) = Ь(0)х ц(3) + Ь(4)х ц(2) + Ь(8)х ц(1) х„(2) = Ь(1)х ц(3) + Ь(5)х ц(2) + Ь(9)х ц(1) х„, (3) - Ь(2)хоц(3) + Ь(б)хоц(2) + Ь(10)хоц(1) х„(4) = Ь(3)х ц(3) + Ь(7)х ц(2) + Ь(11)х ц(1) х (5) = Ь(0)хоц(4) + Ь(4)тоц(3) + Ь(8)хоц(2) х„ „,(Б) = Ь(1)х,ц(4) + Ь(5)хоц(3) + Ь(9)хоц(2) хо (7) - Ь(2)хоц(4) + Ь(6)хоц(3) + Ь(10)хо14(2) -использует коэффициенты, отмеченные значком И использует коэффициенты, отмеченные значком О ° -использует коэффициенты, отмеченные значком 0 использует коэффициенты, отмеченные значком Л ° -использует коэффициенты, отмеченныезначком И -использует коэффициенты, отмеченные значком О -использует коэффициенты, отмеченные значком 0 использует коэффициенты, отмеченные значком Л 394 Глава 10.
П еоб азоввние частоты диск етизации где г;„т — единичная задержка на частоте дискретизации входного сигнала, а г,и,-1 — единичная задержка на частоте дискретизации выходного сигнала, реализуемаяспомощьюпереключателя. Посколькуг;„-4-г г-4иг;„-г-г й-б,мыможем написать: Н(г) = Ь(0) + Ь(4)гоиг 4+ Ь(6)моиг ~+ + ~Ь(1)+Ь(5)г;4+Ь(9)г г а)гой т+ + [Ь(2) + Ь(Б)г и~ 4 + Ь(10)гоиг 8 )оиг ~ + Ю) + Ь(2)гоиг '+ Ь(11)гоиг )гоий = Ь(0) + Ь(4)г „-4+ Ь(В) -8+ + Ь(1)г,иг ~ + Ь(5)г и,-~ + Ь(9)г,„, ~+ + Ь(2)гоио г +Ь(Б)гоиг-б + Ь(10)г о — 10+ +ЬЯг,„~ ~ +Ь(7)г г-т+Ь(11)г „, ~~- 11 =,Я Ь(Ь)г (10-6) й-О что представляет собой классическую передаточную функцию КИХ-фильтра с 12 ответвлениями.
Уравнение (10.5) называется пслифазным разлсзсением уравнения (10.6). х„~(о') Рис. 10.10. Структура полифазного интерполирующего фильтра с коэффициен- том 4, реализованного в виде банка субфильтров 10.4. /7оли азные ильг ы Рис. 10.11. Структура полифазного фильтра с минимальной памятью, использующая коммутируемые коэффициенты. Рассматривая пример, приведенный на рисунке 10.9, следует иметь ввиду сле- дующее: 1.
Для коэффициента интерполяции М большинство людей предпочитают иметь КИХ-прототип с количеством ответвлений, кратным М, что облегчает реализацию. Интерполирующие КИХ-фильтры, о которых мы говорили, вносят ослабление сигнала, равное коэффициенту интерполяции М. Чтобы компенсировать эти потери, мы можем увеличить коэффициенты фильтра в М раз или умножить выходную последовательность х„(п ) на М. 2.
В примере на рисунке 10.9 использован фильтр-прототип с четным количеством ответвлений, но можно также использовать интерполирующие фильтры-прототипы с нечетным количеством ответвлений 141. Например, для реализации коэффициента интерполяции 5 можно использовать КИХ-прототип длиной в 15 ответвлений.
3. Поскольку наборы коэффициентов на рисунке 10.11 не обязательно должны быть симметричными, мы не можем уменьшить количество операций, используя сложенную структуру КИХ-фильтра, которую мы обсуждаем в разделе 13.7. Основываясь на структуре, показанной на рисунке 10.10, мы можем построить полифазный фильтр с прореживанием в 4 раза, используя переключатель на вхо- де схемы, как на рисунке 10.12.
Переключатель проходит циклически по четырем позициям (.0 = 4), подавая четыре отсчета входной последовательности х 14(л) на субфильтры, затем выходные сигналы четырех субфильтров суммируются и дают один отсчет выходной последовательности х„(п ). Заметьте, что субфиль- тры здесь точно те же, что и в схеме интерполирующего фильтра на рисунке 10.10. Достоинством полифазного прореживающего фильтра является то, что выполня- ются только действительно необходимые вычисления. Это значит, что в процессе прореживания никакие вычисленные отсчеты не отбрасываются.