Цитата(Zelepuk @ Oct 29 2012, 12:24)

Спасибо, от несинусоидальности сигналов погрешность сильно будет зависеть?
Успех описанного мной корреляционного метода зависит не от правильности формы сигнала, а от того, насколько подобны по форме сигналы обоих каналов. Чем больше степень подобия и уже сигнал, тем лучше. Дело в том, что этот метод по своей сути есть наложение со сдвигом одного сигнала на другой, а кореляция (или скалярное произведение) есть мера такого сходства. Такая величина сдвига, при которой достигается максимальное наложение, и есть сдвиг фазы по определению, поскольку под сдвигом фазвы мы, как раз, подразумеваем существование такого сдвига, который делает обе картинки одинаковыми.
Тем не менее, это метод "робастый", т.е. работает даже при нарушении исходных посылок. Например, входной сигнал (на некое устройство) может быть чистым меандром (прямоугольными импульсами), а выходе сигнал может "испортиться" - острые фронты сгладиться или возле них возникнуть вигли. Все равно, и в этом случае, данный метод вполне приемлем для определения того, насколько устройство сдвигает фазу.
Метод удовлетворительно работает и в том случае, если сравнению подлежат синусоида и меандр. А это означает, что фазу синусоиды можно измерить, сравнением не с синусоидой, а с меадром (переходы между +1 и -1). А это еще большая экономия памяти (!), поскольку нет необходимости генерировать меадр в массиве, да и операция умножения в этом случае исключается, заменяясь на сложение или вычитание.