Подбор линий задержек

From
Aleksey V. Vaneev (2:5003/15.1)
To
All
Date
2002-06-17T17:56:34Z
Area
RU.ALGORITHMS
В общем, есть такая задача. Даны пары чисел (выборки): delta T и y. Они определяют время возникновения абстрактного импульса мощности y>0. Существует примерно несколько тысяч таких пар, причем delta T >= 0 и задается относительно предыдущей пары:

 dT    y
----------
0.0   1.0
0.1   1.0
0.1   0.9
0.1   0.8
0.1   0.81

В общем, в таком ключе.

Изначально делается предположение, что такая последовательность была сгенерирована несколькими линиями задержки с затухающей обратной связью (это из области DSP). Если я ничего не путаю, вид рекурсивного уравнения таков:
y(t) = x(t-D0) + g*y(t-D), где D0, D и g - константы. Функция x(t) определена так: x(0)=1, при всех остальных t, x=0. g задана: (0; 1]. D0>=0, D>0. y(t) для t<0 равен 0. x(t) для t<0 также равен 0.

Вот и стоит задача: нужно выбрать набор вышеуказанных рекурсивных уравнений, который бы, будучи запущенным параллельно, максимально приближенно давал бы исходную выборку импульсов.

К примеру результат (коррелирует с вышеуказанной таблицей-примером):
1-я линия задержки: D0=0, D=0.2, g=0.9
2-я линия задержки: D0=0.1, D=0.2, g=0.8
Если их запустить параллельно, то точь-в-точь получится исходная таблица.

Надеюсь, что понятно изложил. Конечно, требуемое количество линий задержек ограничено, поэтому, наверное, нужно применить условие плотности получаемого набора, то есть разброс значений dT в вычисленной с помощью набора линий задержек выборке должен быть минимальным. Еще можно допустиь определенную погрешность в g - например, +-10%. Время желательно считать точным.

Также очень желательна была бы возможность добавить еще одно или два измерения в исходную таблицу. Например: lb - баланс низких частот (0; 1], hb - баланс высоких частот (0; 1]. А рекурсивное уравнение преобразовалось бы в следующее:
y(t) = filter(x(t-D0) + g*y(t-D), lb, hb).

Насколько я понимаю, все разжевано до предела, но никаких идей по реализации этого алгоритма не приходит на ум...

Помогите, пожалуйста, кто чем сможет. ;)

 e-mail: picoder@sbis.komi.ru

--- GoldED+/W32 1.1.5-20020105
 * Origin: We're all God's people (2:5003/15.1)