|
|
  |
Определение задержки, Задержка между 100Гц сигналами |
|
|
|
Sep 18 2013, 15:39
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 1-06-08
Пользователь №: 37 967

|
Здравствуйте. Есть следующая задача: 1. Имеются два сигнала амплитуда которых может менятся. 2. Форма сигналов предсталяет выпрямленную синусоиду 50Гц. В конечном результате получаем 100Гц сигнал по обоим каналам. 3. Имеется по 100 точек АЦП с каждого канала за 20мсек.
При помощи какого алгоритма получить (угол, фазу, задержку) между этими сигналами.
Точность до 10 эл. град.
Заранее спасибо.
Сообщение отредактировал LSerg - Sep 18 2013, 15:41
|
|
|
|
|
Sep 18 2013, 17:13
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
по Фурье, перемножить сигналы с sin(100Гц) и cos(100Гц), просуммировать взять арктангенс их отношения. чтобы тригонометрию не считать, синусы/косинусы можно одним умножением сделать Yn+1 = K*Yn - Yn-1 ; K = 2*cos(i) арктангенс тоже в ряд, для 10 градусов более чем достаточно , в целочисленный вид только привести: double FastArcTan(double x){ return M_PI_4*x - x*(fabs(x) - 1)*(0.2447 + 0.0663*fabs(x));} Цитата Найти максимумы и посчитать между ними число отсчетов. тогда уж минимумы, для выпрямленной синусоиды они куда более резкие чем максимумы.
|
|
|
|
|
Sep 18 2013, 17:14
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 1-06-08
Пользователь №: 37 967

|
Предложение хорошее, но не хотелось полагаться на две точки. Возможны помехи. Не знаю как правильно сформулировать вопрос. Хочется применить что-то типа скалярного произведения, но не пойуму как определить угол (положительный или отрицательный)
|
|
|
|
|
Sep 18 2013, 17:33
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 1-06-08
Пользователь №: 37 967

|
Цитата(Corner @ Sep 18 2013, 20:26)  Перемнож оба сигнала и проинтегрируй. Знак - запаздывание/опережение. Модуль - величина. Если сигналы в квадратуре (90 градусов), то на выходе 0. Если нужно перемножить два исходных сигнала, то они всегда положительны? На счет sin и cos хочу заменить на функции Уолша, чтобы уйти от умножения и деления, но в голове картинка не складывается. Может есть теория с картинками.
Сообщение отредактировал LSerg - Sep 18 2013, 17:34
|
|
|
|
|
Sep 18 2013, 17:51
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 1-06-08
Пользователь №: 37 967

|
Цитата(Corner @ Sep 18 2013, 20:45)  Нет, надо умножать со знаком!!! Как определить знак, если опорное (min) равно нулю и входной сигнал всегда больше опорного? (Входной сигнал не знакопеременный)
Сообщение отредактировал LSerg - Sep 18 2013, 18:04
|
|
|
|
|
Sep 20 2013, 18:54
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 1-06-08
Пользователь №: 37 967

|
Всем спасибо. Тема закрыта.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|