Как вы справляетесь с нервозностью? Вы сглаживаете данные. Вместо того чтобы рассматривать последовательность значений датчика как ваши значения, вы усредняете их на постоянной основе, и новая сформированная последовательность становится значениями, которые вы используете. Это перемещает каждое дрожащее значение ближе к скользящей средней. Усреднение обязательно избавляет от быстрых изменений в смежных значениях ... и именно поэтому люди используют терминологию Низкая (частота) Проходная фильтрация, поскольку данные, которые первоначально могли сильно различаться для выборки (или единицы времени), теперь изменяются медленнее.
Например, вместо использования значений 10 6 7 11 7 10 вы можете усреднить их многими способами. Например, мы можем вычислить следующее значение из равного веса скользящего среднего (т. Е. Вашей последней обработанной точки данных) со следующей точкой необработанных данных. Используя 50-50 для вышеприведенных чисел, мы получили бы 10, 8, 7,5, 9,25, 8,125, 9,0675. Эта новая последовательность, наши обработанные данные, будет использоваться вместо зашумленных данных. И мы могли бы использовать смесь, отличную от 50-50, конечно.
В качестве аналогии представьте, что вы сообщаете, где находится определенный человек, используя только ваше зрение. У вас есть хороший вид на более широкий пейзаж, но человек поглощен туманом. Вы увидите части тела, которые привлекают ваше внимание: движущаяся левая рука, правая нога, блестящие очки и т. Д., Которые дрожат, НО каждое значение довольно близко к истинному центру масс. Если мы запустим какое-то усреднение, мы получим значения, которые приближаются к центру масс этой цели, когда она движется сквозь туман, и в действительности более точные, чем значения, которые мы (датчик) сообщили, которые были зашумлены туман.
Теперь кажется, что мы теряем потенциально интересные данные, чтобы получить скучную кривую. Это имеет смысл, хотя. Если мы пытаемся воссоздать точную картину человека в тумане, первая задача - получить хорошее плавное приближение центра масс. К этому мы можем затем добавить данные от дополнительного датчика / процесса измерения. Например, другой человек может быть близко к этой цели. Этот человек может дать очень точное описание движений тела, но может быть в густом тумане и вообще не знать, где заканчивается цель. Это дополнительная позиция к тому, что мы впервые получили - вторые данные дают детали точно, без ощущения приблизительного местоположения. Две части данных будут сшиты вместе. Мы пропустили бы первый набор (как ваша проблема, представленная здесь), чтобы получить общее местоположение, лишенное шума. Мы хотели бы передать второй набор данных, чтобы получить детали без нежелательного вводящего в заблуждение вклада в общую позицию. Мы используем высококачественные глобальные данные и высококачественные локальные данные, каждый набор которых оптимизирован взаимодополняющим образом и защищен от повреждения другого набора (через 2 фильтрации).
В частности, мы смешали бы данные гироскопа - данные, которые точны в локальных деталях «деревьев», но теряются в лесу (дрейфы), - в данные, обсуждаемые здесь (из акселерометра), который видит лес хорошо, но не деревья.
Подводя итог, мы получаем низкочастотные данные от датчиков, которые дрожат, но остаются близко к «центру масс».Мы объединяем это базовое сглаженное значение с данными, которые точны в деталях, но смещаются, поэтому этот второй набор фильтруется верхними частотами.Мы получаем лучшее из обоих миров, когда обрабатываем каждую группу данных, чтобы очистить их от некорректных аспектов.Для акселерометра мы эффективно сглаживаем / пропускаем данные, выполняя некоторое изменение скользящего среднего по его измеренным значениям.Если бы мы обрабатывали данные гироскопа, мы делали бы математику, которая эффективно сохраняла бы детали (принимает дельты), отвергая при этом накопленную ошибку, которая в конечном итоге росла и повреждала гладкую кривую акселерометра.Как?По сути, мы используем фактические гироскопические значения (не средние), но используем небольшое количество выборок (дельт) куска при получении наших общих окончательных чистых значений.Использование небольшого количества дельт сохраняет общую среднюю кривую в основном вдоль тех же средних значений, которые отслеживаются ступенью нижних частот (усредненными данными акселерометра), которая составляет основную часть каждой конечной точки данных.