Алгоритмы, необходимые для фильтрации шума, вызванного вибрацией - PullRequest
3 голосов
/ 27 сентября 2010

Например, вы измеряете данные, поступающие с какого-либо устройства, это может быть масса объекта, движущегося по мосту. Поскольку оно движется, масса даст данные, которые будут вибрировать с некоторой амплитудой в зависимости от массы объекта. Чем больше масса, тем больше вибрации. Существуют ли какие-либо методы для фильтрации такого рода шума из этих данных? Может быть, использовать некоторые формулы колебаний? Понятия не имею, какие формулы или алгоритмы (фильтры) можно использовать здесь. Пожалуйста, предложите что-нибудь. РЕДАКТИРОВАТЬ 2: Лучшая картина, я просто рисую ее для лучшего понимания: alt text

Не очень хорошая картинка. Из этого графика вы можете видеть, что частота одинакова каждый время, но амплитуда периодически меняется. Нечто подобное есть у меня, когда на движущейся дороге нет объектов. (конвейерная лента). вибрирует около нулевого значения. Когда объект движется, у меня появляются те же волны с изменяющейся амплитудой. График может показать, что может быть некоторая сила, действующая на систему и которая вызывает вынужденные колебания. Поэтому я заинтересован в устранении такого шума. Я не знаю, какая сила вызывает такие побуждения. Вскоре, я надеюсь, что получу некоторые данные о неподвижной дороге с и без объекта на ней для сравнения с движущейся дорожной коробкой.

Ответы [ 9 ]

2 голосов
/ 30 сентября 2010

То, что у вас есть на последнем графике, - это, в основном, амплитудно-модулированное колебание, исходящее от такой функции, как:

 f[x] := 10 * (4 + Sin[x]) * Sin[80 * x]

Константы были выбраны в соответствии с вашим графиком (используя только правило большого пальца)

График этой функции:

alt text

Это не «шум» (хотя, возможно, присутствует и некоторый шум), но его можно легко отфильтровать.

Давайте посмотрим ваши данные для статических и движущихся полезных нагрузок ....

Редактировать

На основе вашего ответа на несколько комментариев и на основе моегопредыдущий опыт работы с весовыми устройствами:

  1. Вы взаимодействуете с физическим миром, а не просто получаете данные от мыши и клавиатуры.Очень важно, чтобы вы понимали устройство, как оно работает и как оно разработано.
  2. Вам нужна процедура калибровки.Вы должны использовать несколько основных весов, чтобы убедиться, что устройство работает правильно и линейно во всей шкале, и что статический случай измеряется намного лучше, чем ваши динамические потребности.
  3. Вы не сможетепредсказывайте, сможете ли вы проводить измерения с несколькими грузами на конвейере, пока не проведете несколько экспериментов, и очень внимательно посмотрите на полученные графики
  4. Вы должны быть уверены, что нагрузка, размещенная в любом месте на конвейере, показывает одинаковые показания.Или, по крайней мере, вы должны быть в состоянии соотнести чтение и положение.

Как я уже говорил, вам нужно много информации, и, похоже, она недоступна.Я всегда работал в команде с инженерами, разрабатывающими устройство.

Не стесняйтесь добавлять больше информации ...

1 голос
/ 28 сентября 2010

Если частота меняется в зависимости от массы, и вы пытаетесь измерить массу, почему бы не измерить частоту колебаний и не использовать ее в качестве основного показателя?

В противном случае вам нужен режекторный фильтр, который можно настраивать -вычислите частоту «шума» и настройте режекторный фильтр на это.

Другая книга, которую стоит попробовать, - Лион Понимание цифровой обработки сигналов

1 голос
/ 27 сентября 2010

Взгляните на эту книгу:

Руководство ученого и инженера по цифровой обработке сигналов

Вы можете скачать ее бесплатно.В частности, проверьте главы 14 и 15.

1 голос
/ 27 сентября 2010

Вы пробовали фильтры с низкочастотными характеристиками?Существуют различные подходы к сглаживанию данных (например, Савицкого-Голея, Гаусса, скользящего среднего), но часто уже достаточно простого медианного фильтра по N-точкам.

Это действительно зависит от того, что вы ищете.

0 голосов
/ 28 сентября 2010

Фильтрация шумовых цифровых сигналов прямолинейна, как отмечалось ранее. Есть много ссылок. Однако вы четко не указали свои цели, поэтому мы не можем указать вам правильное направление. Вы ищете единичное измерение одного объекта на мосту? [Тогда посмотрите другие ответы].

Вы отслеживаете трафик на этом мосту и взвешиваете каждую сущность, когда она проходит? Затем вам нужно определить, когда объекты находятся на датчике, а когда нет. Как правило, до тех пор, пока минимальный уровень шума датчика значительно ниже измеряемого сигнала, это может быть достигнуто простой установкой порога.

Вы пытаетесь измерить вибрации моста, вызванные другими транспортными средствами? В этом случае вам понадобится либо более дорогой датчик, если у вас возникли проблемы с этим, либо более четкая задача измерения.

0 голосов
/ 28 сентября 2010

Если вы можете охарактеризовать частотные спектры нежелательного вибрационного шума, вы можете синтезировать набор (близких) минимальных фазовых меток или полосовых режекторных фильтров, чтобы позволить вам получить желаемый сигнал на желаемом SОтношение / N с минимальной задержкой или размером набора данных.

0 голосов
/ 27 сентября 2010

Вы должны быть в состоянии применять те же принципы, что и микрофоны с шумоподавлением : вывести два датчика наружу, затем вычесть сигнал вторичного датчика (дальше от источника хорошего сигнала) из первичного датчика (ближе) к хорошему источнику сигнала) сигнал.

Очевидно, что это работает лучше всего, если «шум» достигнет обоих датчиков достаточно равномерно, тогда как «сигнал» достигнет основного датчика гораздо сильнее.

Для таких вещей, как звук, это довольно легко сделать в самом датчике, что делает ваше программное обеспечение намного проще и более производительным. В зависимости от того, что вы измеряете, это может быть проще сделать с несколькими наборами оборудования и выполнить отмену в программном обеспечении.

0 голосов
/ 27 сентября 2010

Если у вас есть представление о диапазоне частот, вы можете сделать простое среднее, если период измерения достаточно длинный, чтобы дать вам уровень точности, которого вы хотите достичь.Чем больше усредненных значений данных по длинам волн, тем меньше отношение вносимой ошибки от частичной длины волны.

Я бы предложил сначала смоделировать / смоделировать это в программном обеспечении, таком как Matlab.

Данные, которые вам необходимо учитывать:

Ожидаемый диапазон частот вибрации.хотите достичь ожидаемого диапазона массы, который вы хотите измерить Функция массы к амплитуде вибрации

0 голосов
/ 27 сентября 2010

Чтобы сгладить сигнал, я бы усреднил предыдущие 2 * n выборки, где n - максимальная ожидаемая длина волны колебаний.

Это должно привести к устранению большей части шума.

...