|
Усреднение периодической величины |
|
|
|
Nov 24 2011, 18:47
|
Группа: Участник
Сообщений: 8
Регистрация: 16-09-09
Пользователь №: 52 413

|
Доброго дня, форумчане!
У меня есть периодическая величина, значение которой нужно усреднить средним арифметическим (X1+X2+..+Хn)/n - в простейшем случае (Х1+Х2)/2. Величина - это угол сдвига фаз, меняющийся от 0 до 359 градусов. Измерение ведется путем захвата таймером интервала времени между фронтами прямоугольных импульсов. При условии синфазности сигналов (должно измеряться значение 0 градусов), появляется неразрешимая пока мною проблема: из-за джиттера, являющегося следствием шума на входе, начинается гонка фронтов сигналов, при этом я получаю захваченные таймером интервалы, соответствующие углу в градусах, к примеру в такой последовательности: 1, 359, 1, 359.... Если попытаться усреднить эту последовательность, то получится значение 180 градусов, вместо ожидаемого нуля. Вариант перехода к формату -180->0->+180 уже рассматривался, и он имеет такую же проблему при усреднении, возникающую в окрестностях 180 градусов (-179,+179 после усреднения дает 0 вместо 180). Алгоритм нужен для целочисленного МК, желательно простой арифметическо-логический. Какие есть варианты решения этой проблемы?
|
|
|
|
|
 |
Ответов
|
Nov 24 2011, 21:28
|
Группа: Участник
Сообщений: 8
Регистрация: 16-09-09
Пользователь №: 52 413

|
Цитата Во-первых, "кастинг" должен быть именно с аккумулятором. Во-вторых, сравнивать нужно модуль, то есть abs(acc/n - X), либо abs(acc-X*n). Обычно проще и быстрее умножать, чем делить. Про это понял. Цитата В-третьих, нужно контролировать диапазон аккумулятора, чтобы он был диапазоне 0..360*n. Иначе корректировать на -360*n, либо на +360*n. А эту фразу нет. Вы имеете ввиду, что после каждого прибавления (и увеличения n на единицу) в аккумуляторе должно быть число не больше чем 360*n ? Цитата А если после каждого добавление аккума алгоритм считает среднее значение от акка, то так будет даже проще. Защита от переполнения не понадобится. Этого, к сожалению, достичь нельзя, нет ресурсов для деления на любое число, а потому рассчитываю n как степень двойки, подбираю разрядность аккума для худшего случая, и после накопления 2^n отсчетов делю аккум сдвигами.
|
|
|
|
Сообщений в этой теме
Brains Усреднение периодической величины Nov 24 2011, 18:47 GetSmart Вообще-то угол - это величина из двумерного простр... Nov 24 2011, 19:30 Brains ЦитатаПеред прибавлением очередного значения к сум... Nov 24 2011, 20:10 GetSmart Цитата(Brains @ Nov 25 2011, 01:10) GetSm... Nov 24 2011, 20:38 MKS Можно от угла перейти к декартовым координатам (x,... Nov 24 2011, 20:27 Brains ЦитатаМожно от угла перейти к декартовым координат... Nov 24 2011, 21:09 GetSmart Цитата(Brains @ Nov 25 2011, 02:09) Понят... Nov 24 2011, 21:16 GetSmart Цитата(Brains @ Nov 25 2011, 02:28) Про э... Nov 25 2011, 21:28 fontp QUOTE (Brains @ Nov 24 2011, 21:47) Вариа... Nov 25 2011, 07:54 GetSmart Цитата(fontp @ Nov 25 2011, 12:54) Можно ... Nov 25 2011, 09:53  fontp QUOTE (GetSmart @ Nov 25 2011, 12:53) Вор... Nov 25 2011, 13:16   GetSmart Цитата(fontp @ Nov 25 2011, 18:16) Это та... Nov 25 2011, 13:49    fontp QUOTE (GetSmart @ Nov 25 2011, 16:49) Я т... Nov 25 2011, 14:26     GetSmart Цитата(fontp @ Nov 25 2011, 19:26) Где вы... Nov 25 2011, 14:30    fontp QUOTE (GetSmart @ Nov 25 2011, 16:49) А с... Nov 25 2011, 14:35     GetSmart Цитата(fontp @ Nov 25 2011, 19:35) Если э... Nov 25 2011, 14:54 Alexey Lukin Есть способ лучше: построить гистограмму углов, сг... Nov 25 2011, 08:17 Alexey Lukin Сложность свёртки с окном Ханна — 7 умножени... Nov 25 2011, 15:28 AndrewN QUOTE (Brains @ Nov 24 2011, 22:47) У мен... Nov 25 2011, 17:19 Alexey Lukin Цитата(AndrewN @ Nov 25 2011, 21:19) Форм... Nov 25 2011, 17:31  AndrewN QUOTE (Alexey Lukin @ Nov 25 2011, 21:31)... Nov 25 2011, 17:37 AndrewN QUOTE (Brains @ Nov 24 2011, 21:47) Алгор... Nov 25 2011, 20:09 Alexey Lukin Цитата(AndrewN @ Nov 26 2011, 00:09) Оста... Nov 25 2011, 22:43 Brains Спасибо всем участникам обсуждения темы!
В об... Nov 26 2011, 08:39 qxov Можно перемножить два сигнала и считать скважность... Nov 28 2011, 08:49
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|