Mobilemedved писал(а):
...Вот как раз данная операция (2) мне непонятна. Я ее проделал в Екселе, получил нечто такое. В качестве сигнала с АЦП служили значения cos из п(1) сдвинутые на шару по времени. Непонятно какую пользу я извлек от этих действий
Отвечаю. sin и cos идут с высокой частотой (порядка 10 кГц, в зависимости от применяемой катушки). После перемножения входного сигнала в статическом режиме на cos и sin получаем постоянную составляющую (которая говорит об амплитуде сигнала и сдвиге фаз) и удвоенную частоту. Так вот сразу после этого умножения можно и нужно поставить фильтр низкой частоты (ФНЧ), который выделит только постоянную составляющую. В случае движения цели это будет не постоянная составляющая, а видеосигнал со спектром от единиц Гц до примерно 10...20 Гц (в зависимости от скорости цели). Я рекомендую сразу после "умножения" выборки суммировать в окнах штук по 220...240, это никак существенно не повлияет на последующую обработку (какой бы она не была), кроме как понизит объем обрабатываемых данных. Действительно при частоте дискретизации 48 кГц, сложение выборок в окне по 220 шт реализует фильтр с АЧХ вида sin(f)/f, причем первый "ноль" АЧХ данного ФНЧ будет 200 Гц, а сигналы в полосе 0...100 Гц будут проходит практически без искажений.
Вспоминаем тригонометрию 9-ого класса!
Пусть S(t) = A * cos(2*pi*f*t + fi) - полезный сигнал в статическом режиме (цель находится в поле катушки и неподвижна).
A - амплитуда сигнала цели
fi - фаза сигнала цели
Умножаем сигнал S(t) на "cos":
S(t) * cos(2*pi*f*t) = 0.5 * A * (cos (fi) + cos (4*pi*f*t + fi))
Т.е. получаем, постоянную составляющую re = 0.5 * A * cos(fi), которая характеризует фазу (ТО, ЧТО НАМ НАДО) и удвоенную частоту, которую нужно подавлять ибо она нам только "мешает".
По аналогии, при умножении сигнала S(t) на "sin" наша задача выделить im = 0.5 * A * sin(fi).
Теперь как вычислить fi? Кто программирует на языке Си и не только, есть очень удобная функция, fi = atan2(im, re).
Как вычислить A? A = sqrt(re*re + im*im).
Ну и еще раз, отвечаю Petrucho.
Почему sin*cos "расползается по постоянке"? Потому, что один из них не cos или не sin.
Чтобы понять потренируемся на пальцах.
Вспоминаем cos(f) * sin(f) = 0.5 * sin(2 *f) - "постоянки" действительно не должно быть, а
cos(f) * cos(f) = 0.5 * (1 + sin(2 * f)) - "постоянка" есть и равна 0.5.
Постоянки нет только в том случае, если разница фаз перемножаемых синусоид +pi/2 или -pi/2.
Нормально там все в Экселе...