Цитата(ivan219 @ Oct 29 2012, 15:54)

Делаем ДПФ или Герцель на оба сигнала после чего в комплексной форме делим спектры друг на друга получаем Im, Re.
Фаза = ta(Im / Re).
По памяти и ресурсам Герцель самый экономичный и гибкий но есть проблема с точностью если алгоритм будет работать на МК
Если синусоида в сигнале одна, то еще проще - в ДПФ умножать не на синус-косинус, а на меандр, т.е. на ±1 с частотой синусоиды.
Результат будет такой же и лучше, чем с Герцелем.
Можно спектры не делить, а перевести в полярную форму и вычесть фазы.