Нахождение коэффициентов фильтра при кодировании информации

После рассмотрения общих операций над фильтрами возникает следующий вопрос: «Как находить коэффициенты фильтров?» Полный ответ на этот вопрос весьма непрост и выходит за рамки нашего изложения (см., например, [Akansu, Haddad 92]). Пусть имеется два прямых фильтра и два обратных фильтра, которые состоят из N отсчетов (число N предполагается четным). Обозначим их коэффициенты. Четыре вектора являются импульсными откликами четырех фильтров. Вот простейшие правила, позволяющие выбрать численные значения для этих векторов.
Нормализация: Вектор имеет единичную длину.

Ортогональность: Для любого целого числа, удовлетворяющего неравенству, вектор, состоящий из первых элементов, должен быть ортогонален вектору, составленному из последних 2i элементов того же вектора. Вектор состоит из компонентов вектора, записанных в обратном порядке. Вектор является копией, но с обратными знаками у компонент на нечетных позициях (первой, третьей и т.д.). Формально, а правила записываются в виде соотношений.

Для задания коэффициентов для каждого из фильтров необходимо знать коэффициенты. Поэтому следует задать N уравнений для нахождения этих величин. Однако правила 1 и 2 дают только N/2 уравнений. Значит, необходимо добавить новые условия для однозначного определения чисел.

Вот некоторые примеры таких условий: Фильтр пропускания низких частот: Мы хотим, чтобы фильтр пропускал только низкие частоты, поэтому имеет смысл потребовать, чтобы частотный отклик был равен нулю для самой высокой частоты.
Минимальный фильтр фазы: Это условие означает, что нули комплексной функции должны лежать на единичной окружности комплексной плоскости или вне ее.
Контролируемая колинеарность: Линейность фазового отклика можно контролировать с помощью нахождения минимума суммы.

-----------------------------