3.5.2. Параллельные КИХ-фильтры
Два КИХ-фильтра с импульсными откликами
и
, соединенные параллельно, эквивалентны одному фильтру с импульсным откликом
. (3.64)
Легко видеть, что справедливо и обратное: любой фильтр с импульсным откликом
можно представить в виде параллельного соединения фильтров с импульсными откликами
и
. В общем случае естественно ожидать, что опорная область для
будет объединением опорных областей для
и
, однако она может быть и меньше, если два фильтра
и
гасят друг друга. К сожалению, такое разложение редко приводит к сокращению объема вычислений; фактически объем вычислений может увеличиться.
Однако сокращения объема вычислений можно добиться, если наложить на
и
некоторые ограничения, например если потребовать, чтобы
и
были разделимыми фильтрами. Разделимые фильтры отличаются высокой эффективностью реализации, но с их помощью можно точно аппроксимировать только разделимые импульсные отклики. Однако при параллельном соединении двух разделимых фильтров образуется неразделимый фильтр. Это дает возможность аппроксимации неразделимых переходных характеристик с помощью легко реализуемых фильтров. Эта идея была первоначально предложена Трейтелем и Шэнксом [14], которые назвали такие фильтры многоступенчатыми разделимыми фильтрами.
Напомним (гл. 1), что разделимый фильтр - это такой фильтр, импульсный отклик которого можно представить в виде произведения функций горизонтальных и вертикальных индексов. Так, функция
(3.65)
является импульсным откликом разделимой системы. Частотный отклик такого фильтра равен прямому произведению двух одномерных частотных откликов:
. (3.66)
Этот фильтр можно реализовать путем свертки каждой строки входной последовательности с
, а затем каждого столбца результата с
. Если импульсный отклик
содержит
отсчетов, соответствующих
-точечной последовательности
и
-точечной последовательности
, то вычисление каждого выходного отсчета потребует операций умножения и сложения для вычисления сверток столбцов. Общее число операций
намного меньше числа операций
, которые потребовались бы, если бы
не была разделимой функцией.
В качестве обобщения рассмотрим фильтр, представляющий собой параллельное соединение нескольких разделимых фильтров, как это показано на рис. 3.9. Импульсный отклик такого фильтра имеет виду
, (3.67)
а частотный отклик - вид
, (3.68)
где
- число разделимых фильтров, объединяемых таким образом. Если каждая последовательность
имеет длину
точек, а каждая последовательность
-
точек, то вычисление одного выходного отсчета потребует
операций умножения и сложения. Такие фильтры дают экономию при реализации, если при прочих равных условиях
. (3.69)
Разделимым фильтрам соответствует частный случай
.

Рис. 3.9. Многоступенчатый разделимый КИХ-фильтр с
разделимыми ступенями.
Задача синтеза заключается в нахождении таких
,
для
, чтобы отклик фильтра аппроксимировал идеальный отклик при умеренных значениях
(если
становится сравнимым с
или
, реализация неэффективна). Трейтель и Шэнкс выполняли аппроксимацию в пространственной области; другими словами, они аппроксимировали
-точечный требуемый импульсный отклик
откликом
вида (3.67).
Рассматриваемая аппроксимация сводится к разложению
по собственным векторам. Предположив (без потери общности), что
и что столбцы
линейно независимы, мы можем записать
, (3.70)
где
- собственные значения (вещественные и положительные) матрицы
. (3.71)
Последовательности
представляют собой нормированные собственные вектор-строки, соответствующие
, а
- нормализованные собственные вектор-столбцы матрицы
. (3.72)
Матрица
размером
имеет
, собственных значений. Матрица
размером
имеет
собственных значений, из которых только
- ненулевые. Ненулевые собственные значения равны собственным значениям матрицы
. Собственная вектор-строка из
и собственный вектор-столбец из
, которые принадлежат одному и тому же собственному значению, объединены в (3.70) в пару. При реализации фильтра для некоторого уменьшения числа арифметических операций коэффициенты
можно отнести к
или
. Указанное разложение будет точным, если
, но в этом случае отсутствует выигрыш в числе операций.
Пусть собственные значения
записаны в порядке убывания, так что
является наибольшим, и
. Все повторяющиеся собственные значения должны быть записаны отдельно. Если
- сумма квадратов элементов
, a
- сумма квадратов элементов множества, определяющего ошибку и образованного как разность между требуемым откликом и откликом, получаемым при аппроксимации фильтра
-ветвями, то нормированная ошибка описывается формулой
. (3.73)
Имеется несколько возможностей обобщения этого результата. Можно рассмотреть разложения, в которых не все
и
имеют одну длину или для определения свободных параметров фильтра используются критерии ошибки в частотной области. Можно также распространить эту методику на синтез многоступенчатых разделимых БИХ-фильтров. Насколько известно авторам, эти возможности пока не реализованы.
Пример 1
В качестве очень простого примера рассмотрим двумерный отклик вида
;
;
;
, (3.74)
который можно записать в форме матрицы
. (3.75)
Построим разделимую аппроксимацию этого фильтра. Соответствующие матрицы
и
имеют вид
,
. (3.76)
Собственные значения
,
должны удовлетворять одному из двух уравнений
или
. (3.77)
Отсюда
и
. Собственные вектор-строки и вектор-столбцы удовлетворяют соотношениям
, (3.78а)
, (3.78б)
, (3.78в)
. (3.78г)
Решая эти уравнения при условии, что собственные векторы нормализованы и имеют единичную длину, получим
, (3.79а)
, (3.79б)
, (3.79в)
. (3.79г)
Аппроксимируя затем
функцией
, получим коэффициенты разделимого фильтра
(3.80)
с нормированной ошибкой
. (3.81)
Прибавление
даст точную реализацию заданного отклика.
Аппроксимация
-точечного разделимого фильтра не дает выигрыша в количестве требуемых арифметических операций. Однако фильтры большего порядка не поддаются ручному расчету.