Page 2 of 2

Re: Фильтрация сигнала с датчика вибрации на электродвигател

PostPosted: 18 Apr 2017, 18:16
by nerwik
Только почему то, когда частота установлена ровно 50, сигнал нормально фильтруется - амплитуда равняется амплитуде без шума. Но если сделать частоту к примеру 49,475 или 48, в таком духе, то выходной сигнал сильно искажается (при амплитуде входного - 1, у выходного амплитуда скачет 0,08, 0,17 и т.д.). То же касается если установить частоту равной 100 ровно, сигнал получается без искажений. Стоит сделать не целым - опять амплитуда далекая от правды.

Re: Фильтрация сигнала с датчика вибрации на электродвигател

PostPosted: 18 Apr 2017, 22:29
by Юрий
nerwik wrote:Только почему то, когда частота установлена ровно 50, сигнал нормально фильтруется - амплитуда равняется амплитуде без шума. Но если сделать частоту к примеру 49,475 или 48, в таком духе, то выходной сигнал сильно искажается (при амплитуде входного - 1, у выходного амплитуда скачет 0,08, 0,17 и т.д.). То же касается если установить частоту равной 100 ровно, сигнал получается без искажений. Стоит сделать не целым - опять амплитуда далекая от правды.

Что имеется ввиду под термином "частота"? Это частота какого то процесса в исследуемом объекте или частота синхронной фильтрации? На то она и синхронная фильтрация, что должна иметь ту же частоту, что и частота исследуемого процесса. В этом случае все другие не кратные частоты будут размазываться и уменьшать свою долю в общем сигнале. Для достижения равенства частот процесса и фильтрации обычно используются отметчики. При этом, если процесс имеет не стабильную скорость, то и в этом случае при наличии отметчика можно получить очень хорошие результаты. Но для этого каждую выборку (интервал между отметками) надо дополнительно обработать так, чтобы все выборки были с одинаковым количеством точек. Это можно сделать с помощью функции Interpolate 1D.vi из палитры Математика. Но об этом писалось ранее.

Re: Фильтрация сигнала с датчика вибрации на электродвигател

PostPosted: 19 Apr 2017, 11:21
by nerwik
Юрий wrote:Что имеется ввиду под термином "частота"? Это частота какого то процесса в исследуемом объекте или частота синхронной фильтрации? На то она и синхронная фильтрация, что должна иметь ту же частоту, что и частота исследуемого процесса. В этом случае все другие не кратные частоты будут размазываться и уменьшать свою долю в общем сигнале. Для достижения равенства частот процесса и фильтрации обычно используются отметчики. При этом, если процесс имеет не стабильную скорость, то и в этом случае при наличии отметчика можно получить очень хорошие результаты. Но для этого каждую выборку (интервал между отметками) надо дополнительно обработать так, чтобы все выборки были с одинаковым количеством точек. Это можно сделать с помощью функции Interpolate 1D.vi из палитры Математика. Но об этом писалось ранее.


Частота - частота вращения двигателя. Сигнал фильтруется с датчика вибрации, частота первой гармоники у которого равна частоте вращения двигателя.
На испытательной установке частота вращения номинальная - 2950 об/мин (50 Гц). Она непостоянна - измеренное значение колеблется 50 +/-1,5 Гц.
Я прикрепил VI, у меня в зависимости от текущей измеренной частоты, значение количества точек в периоде и количество периодов постоянно пересчитываются и подаются на вход SubVI-я Синхрофильтра. То есть, частота синхр. фильтрации у меня получается постоянно равна измеренной в данный момент частоте вращения двигателя.
Но на моем VI-е видно, что при установке значения частоты равным 50 ровно, амплитуда и фаза отфильтрованного одного периода синусоидального сигнала (датчик вибрации - он с шумом) идеально повторяют входной сигнал с датчика вибрации (если убрать шум с него это хорошо видно). Но достаточно поменять амплитуду хотя бы на одну десятую, то есть чтобы она не равнялась ровно 50, как сигнал с выхода фильтра тут же становится далеким от нужного.
Причем странно то, что на некоторых других частотах, если их поймать, выходная синусоида также становится правильной, какой нужно, но стоит немного отклонить частоту (вручную пока) сигнал с фильтра опять становится ненормальным. Причем, если подать на осциллограф оба сигнала - и входной и фильтрованный, то видно, что и фаза тоже поменялась.
Также на частотах 100 и 25 ровно видно, что сигнал фильтруется правильно, но при любом отклонении от этих круглых значений, начинается непонятно что.
То есть программа не сможет правильно фильтровать реальный сигнал, ведь частота там не ровно 50, а колеблется.
Я не могу понять в чем может быть проблема, ведь в теории все вроде так.

Re: Фильтрация сигнала с датчика вибрации на электродвигател

PostPosted: 19 Apr 2017, 23:28
by Юрий
Проблема на стадии модели. Что то там с тахометром или акселерометром не так. Сведи шум к нулю и посмотри что они разбегаются при частотах не кратных 50 Гц. К сожалению нет времени разбираться в этом, хотя и интересно понять в чём проблема, а, может, мы не до конца правильно их понимаем. Я лично экспресс функциями не пользуюсь. По самим измерениям могу сказать, что использование тахометра как аналогового датчика скорости (уровень сигнала пропорционален скорости) для синхронной фильтрации не годится. Датчики, выдающие синусоиду, типа сельсинов ещё куда не шло.