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)
Прибавление
даст
точную реализацию заданного отклика.
Аппроксимация
-точечного разделимого фильтра
не дает выигрыша в количестве требуемых арифметических операций. Однако фильтры
большего порядка не поддаются ручному расчету.