Мне кажется, что проблем с фазой нет.
Имеется весьма простой подход к этой задаче. Удобно перейти к формулировке в
. Тогда задача выглядит так
,
где
- зашумленный сигнал
- образец
- вектор с независимыми компонентами, случайно распределенными по Гауссу.
Совместное распределение этих компонент зависит только от "радиуса", а посему инвариантно относительно поворотов. Значит если
- ортогональная матрица, то
Подбираем
так, чтобы
имело только одну ненулевую компоненту, а именно
. Теперь уже ясно, что у вектора
информативна только первая компонента. Оставшиеся компоненты содержат только независимый гауссов шум. Их величина никак не может нам помочь в определении
. Таким образом задача свелась к анализу одного единственного равенства
Ну а теперь уже ясно, что следует положить
, поскольку матожидание шума равно 0.
Разумеется, вся матрица
нам не нужна. Всего лишь одна строка. С точностью до множителя это в точности вектор
. Отсюда и возникает формула
А что делать, когда образец состоит из двух компонент, и, следовательно, требуется определить две амплитуды?
Да то же самое. Пусть у нас образцы
,
. Без потери общности можно считать, что
. В противном случае можно рассмотреть
. Итак, пусть образцы "ортогональны". Тогда опять таки рассматривая подходящий поворот, можно получить два независимых соотношения на искомые амплитуды. Как следствие получаем формулы
Теперь уже можно решить вопрос с фазой. Достаточно рассмотреть два образца
и
. Находим их амплитуды и дело в шляпе.
(Оффтоп)
С практической точки зрения есть проблемы "ухода" частоты. Поскольку нам частота известна лишь приблизительно, надо найти ту частоту, на которой отклик максимальный. Возможно будет полезно нарезать сигнал на куски и на каждом искать свой оптимум. Но, это уже надо экспериментировать.