Я продолжаю ковырять синтезированные сэмплы и наблюдаю следующее явление: в левом и правом канале (стерео) разность фаз и отношение амплитуд гармоник близки к постоянной, но иногда с ними случается странное - разность фаз плавно изменяется на 2*Pi, в результате чего возвращается в исходное значение, конечно, но само ее такое поведение мне не понятно. На картинках красным изображена разность фаз (ось Y в радианах), синим - отношение амплитуд, по оси X - отсчеты 44.1 кГц.
Метод получения:
1. Входной сигнал d = [dl, dr], где dl и dr - вектора (все остальные вычисления тоже работают с векторами) значений отсчетов левого и правого каналов.
2. Для dl и dr получаем квадратуры первой гармоники:
CODE
il' = dl * sin(2*pi*f0*t);
ql' = dl * cos(2*pi*f0*t);
il = 2*filter(H, il');
ql = 2*filter(H, ql']);
аналогично получаем ir и qr.
3. Получаем амплитуды: al = sqrt(il.^2 + ql.^2) и фазы: pl = atan2(il, ql). Аналогично ar и pr.
4. Строим al/ar и pl-pr.
При построении фаз использовалась функция матлаба unwrap() для того, чтобы избежать резких скачков при переходе от 2*Pi к 0.
Характер таких переходов зависит от силы удара по струне и жесткости молоточка (параметрs задаются в эталонном синтезаторе), все приведенные катринки полученны для ноты C4.
На реальных записях я такого не наблюдаю, там разность фаз примерно одинакова.
У этого эффекта есть объяснения?