Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


3.5. Синтез КИХ-фильтров для специальных способов реализации

Мы уже отмечали во введении к этой главе, что вопросы синтеза и реализации многомерных фильтров тесно связаны между собой. В то время как любой КИХ-фильтр, если только известен его импульсный отклик, можно реализовать с помощью либо прямой свертки, либо ДПФ, другие (часто весьма эффективные) способы реализации обычно ограничивают класс реализуемых фильтров и требуют специальных алгоритмов синтеза. В этом разделе мы рассмотрим некоторые из этих специальных алгоритмов синтеза и реализации.

Простейшим из методов реализации является каскадное соединение фильтров. Для тех, кто имеет опыт работы с одномерными фильтрами, отнесение каскадной структуры к специальным способам реализации может показаться странным, однако следует напомнить, что многомерные полиномы обычно не разлагаются на множители. Так что каскадирование многомерных фильтров - это, действительно, весьма специальный способ реализации!

3.5.1. Каскадные КИХ-фильтры

Рассмотрим одномерный физически реализуемый КИХ-фильтр  длины  с частотным откликом

.                                              (3.58)

Поскольку  - полином -й степени от переменной , его можно разложить на множители. Обозначим первый шаг факторизации полинома  через

,                                                            (3.59)

где сами  и  - полиномы от переменной  степени, меньшей чем . Тогда можно сказать, что исходный фильтр эквивалентен двум КИХ-фильтрам с откликами  и , соединенными последовательно. Если протяженность  составляет  отсчетов, то протяженность  составит  отсчетов.

Для сравнения прямого и каскадного способов реализации фильтра вспомним, что прямая реализация требует одного умножения каждого отсчета импульсного отклика на один выходной отсчет или всего  умножений на один выходной отсчет. В случае каскадной реализации число умножений на один выходной отсчет составит  [это число можно уменьшить на 1, если  или  выбрать так, чтобы коэффициент при первом члене равнялся 1]. В одномерном случае каскадный и прямой способы реализации требуют одного и того же числа арифметических операций.

В двумерном случае дело обстоит по-другому. Рассмотрим факторизуемый двумерный КИХ-фильтр, частотный отклик которого можно записать в виде

.                          (3.60)

Если  - -точечный массив, a  - -точечный массив, то мы получим -точечную опорную область. Реализация  в виде прямой свертки потребует  умножений на один выходной отсчет, в то время как при каскадной реализации фильтра в соответствии с выражением (3.60) понадобится лишь  умножений. Выигрыш может достигать 50%. В тех случаях, когда возможна дальнейшая факторизация или мы имеем дело с сигналами более высокого порядка, выигрыш может быть еще больше. Частотный отклик вида (3.60) имеет лишь  степеней свободы. Поскольку произвольный частотный отклик размера  имеет  степеней свободы, неудивительно, что частотные отклики не всегда разлагаются на множители. Многомерные полиномы, фактически разлагаемые на множители, представляют собой частный вырожденный случай.

Чтобы синтезировать фильтр в каскадной форме, необходимо сначала выразить частотный отклик в виде произведения сомножителей

.   (3.61)

После этого коэффициенты фильтра  можно выбрать из условия минимальности функционала ошибки, например взвешенной нормы ошибки

,                                   (3.62)

которая похожа на нормы ошибки, рассмотренные в предыдущем разделе. Поскольку ошибка является нелинейной функцией неизвестных коэффициентов, минимизацию  обычно выполняют итерационно. Коэффициенты на -й итерации определяются через коэффициенты на -й итерации следующим образом:

.                          (3.63)

Начальный выбор коэффициентов фильтра в известной степени произволен, хотя желательно чтобы он был как можно более точным.

Другой итерационный метод синтеза каскадных фильтров заключается в том, что на каждой итерации фиксируются все каскады, кроме одного, и оптимизируется оставшийся каскад. На следующей итерации полученные таким образом коэффициенты фиксируются, и оптимизируется другой каскад. Хотя эта процедура проста, она не обеспечивает сходимости и может сходиться к локальному минимуму.

 



<< ПредыдущаяОглавлениеСледующая >>