2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2, 3, 4, 5  След.
 
 Выделение частоты с помощью интегратора
Сообщение30.07.2015, 21:15 
Требуется решить следующую практическую задачу.

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

Кроме того, мощность искомого сигнала гуляет, поэтому увидеть его на спектре (который АЧХ) практически невозможно. То есть сигнал появляется на короткое время и затухает. Время жизни сигнала - мало, поэтому пичок на спектре неотличим от тех зубцов, что гуляют по спектру.

Следовательно, нужно применять алгоритм, накапливающий гармонический сигнал данной частоты (диапазона).

Я сделал такой алгоритм и он хорошо работает. Но сегодня один мужик сказал мне, что для этой цели существует интегрирующее звено и я, наверное, "изобрел" что-то вроде этого. У меня есть подозрение, что мой алгоритм работает быстрее :)

Хотелось бы разобраться:

1. Действительно ли интеграторы (не электрические, а алгоритмы, цифровые то есть) применяются как узкополосные фильтры.

2. Если применяются, то насколько они быстрые. Как правило, главный тормоз в вычислениях - необходимость решать большие матрицы. Скажем, БПФ тем и быстрее, чем ПФ, что там не надо умножать матрицы. Вот и хотелось бы спросить, как там в алгоритме для интегрирующего звена насчет матричного анализа.
Это, собственно, и есть главный вопрос. Буду благодарен за ссылки на хорошие статьи / книжки по этому поводу.

P.S. Просьба к админам не считать эту тему похожей на мою тему годичной давности. И мой алгоритм уже куда круче (он уже не сводится к БИХ-фильтру), и вопрос у меня теперь другой.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 21:24 
Аватара пользователя
Интегратор вовсе не узкополосный фильтр. Есть специальные узкополосный фильтры.
Короткий узкополосный сигнал можно увидеть в спектре бпф просто длинную бпф надо взять согласованную сдлительностью сигнала.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 21:33 
levtsn в сообщении #1041518 писал(а):
Интегратор вовсе не узкополосный фильтр. Есть специальные узкополосный фильтры.


Ага, это так.

levtsn в сообщении #1041518 писал(а):
Короткий узкополосный сигнал можно увидеть в спектре бпф просто длинную бпф надо взять согласованную с длительностью сигнала.


Увы, не помогает. У меня задача расчета БПФ - очень мощная. А длительность сигнала гуляет непредсказуемым образом. Знаете, как это бывает - вдруг появился шумок и сразу пропал. А то вдруг надолго заколбасило, но не сильно :) Остается одно - накапливать. Вопрос - как.

Собственно, вопрос: пользуются ли цифровым интегратором для оценки усредненной мощности слабой, пульсирующей гармоники? И если пользуются, то каков порядок матриц, которые приходится перемножать?

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 22:09 
Аватара пользователя
А частота сигнала известна? Соответственно, узкополосный фильтр.
Интегратор это НЧ-фильтр.
В принципе, были системы, в которых стоял фильтр (или батарея фильтров), выпрямитель или квадратор, а затем НЧ-фильтр (иногда просто интегрирующее звено). Скажем, так работали первые анализаторы электроэнцефалограмм.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 22:18 
Евгений Машеров в сообщении #1041532 писал(а):
А частота сигнала известна? Соответственно, узкополосный фильтр.
Интегратор это НЧ-фильтр.
В принципе, были системы, в которых стоял фильтр (или батарея фильтров), выпрямитель или квадратор, а затем НЧ-фильтр (иногда просто интегрирующее звено). Скажем, так работали первые анализаторы электроэнцефалограмм.



Частота известна приблизительно. Собственно, ее можно "подкрутить", сжимая или растягивая сигнал на входе фильтра и глядя на спектр.

Поэтому - вопрос: что такое низкая частота? Наверное, это значит, что частота сигнала - достаточно низкая по отношению к частоте съема сигнала (частоте дискретизации)?

Собственно, искомая частота - несколько тысяч Гц, датчик - тупой, десятки Гц.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 22:28 
Аватара пользователя
Изобретаемая Вами вещь давно изобретена и называется "синхронный детектор". Бывают цифровые и аналоговые. Интегратор там тоже может присутствовать.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 22:33 
amon в сообщении #1041544 писал(а):
Изобретаемая Вами вещь давно изобретена и называется "синхронный детектор". Бывают цифровые и аналоговые. Интегратор там тоже может присутствовать.


Спасибо, посмотрю. Мой вопрос - применительно к цифровому синхронному детектору: где прочитать про этот алгоритм и матрицы какого порядка там надо перемножать? То есть каково быстродействие алгоритма? Я хочу оценить, будет ли это работать в онлайне, то есть одновременно с поступлением сигнала?

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 22:42 
Аватара пользователя
oleg777 в сообщении #1041546 писал(а):
каково быстродействие алгоритма?
Где почитать сходу не скажу. Завтра буду в своей лавке - спрошу. Помню, что то, что делали на коленке году в 2004, на килогерцах работало.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 23:47 
Аватара пользователя
Для синхронного детектора желательно точно знать частоту. Он, собственно,переводит частоту f в нулевую, сдвигая спектр.
Если известны границы частоты искомого сигнала $f_{min}$ и $f_{max}$, то я бы пропустил исходный через узкополосный фильтр с такими границами, затем что получилось возвёл в квадрат или взял абсолютную величину, тогда у нас будет сумма постоянной составляющей и сигнала с частотой 2f. Последующий НЧ-фдолжноильтр должен убрать этот высокочастотный сигнал (то есть у него отсекаться выше некоторой частоты, меньшей 2f).И тогда искомый сигнал будет проявляться, как постоянный с длительностью, как у искомого сигнала.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение30.07.2015, 23:53 
Аватара пользователя
Можно сделать несколько каналов если частота точно не известна. Кстати говоря синхронный детектор и фильтры не требуют много операций на отсчёт,то намного проще Фурье.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение31.07.2015, 09:07 
Аватара пользователя
Ну, собственно, простейший синхронный детектор это генератор известной частоты, затем на сигнал этой частоты входной сигнал умножается (в двух каналах, в обоих умножается на данную частоту, но в одном опорный сигнал сдвинут по фазе на 90 градусов; в противном случае можем потерять исходный, если в квадратуре с опорным), получаем (для искомой частоты) сумму константы и сигнала удвоенной частоты. Затем оба произведения пропускаются через НЧ-фильтр. Искомой частоте будет соответствовать константа в одном из каналов, а скорее в обоих (их целесообразно рассматривать, как действительную и мнимую части сигнала, и оценивать амплитуду). Частоты, близкие искомой, будут превращаться в низкочастотный сигнал, также пропускаемый НЧ-фильтром. Степень селекции будет определяться характеристиками фильтра.
Для более конкретных советов надо бы знать, какова частота и вариация частоты искомого сигнала.

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение31.07.2015, 10:45 
oleg777 в сообщении #1041515 писал(а):
Я сделал такой алгоритм и он хорошо работает.

считаете частоту появления спектров определенной формы?

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение31.07.2015, 18:42 
Евгений Машеров

Частота - 1000 Гц с небольшим, частота дискретизации, то есть подачи сигнала в компьютер - 10 Гц.

Меня, собственно, волнует скорость обработки с помощью той или иной схемы. А точнее - надо ли строить матрицы и каких порядков. У меня есть класс (см. http://mathenglish.ru/dmatrix/) и проги с его использованием, поэтому я всегда могу сравнить быстродействие разных алгоритмов в одном компьютере.

А предложенная Вами схема будет накапливать "энергию" хаотично пульсирующего сигнала?
Ведь вот в чем проблема: если строить спектр по небольшому кол-ву наблюдений сигнала, очередной его всплеск проскочит слишком быстро. Если по большому кол-ву наблюдений - всплеск вообще не будет виден. Значит, всплески надо накапливать, чтобы соответствующий пик на спектре все время рос.

-- Пт июл 31, 2015 18:50:10 --

upgrade в сообщении #1041672 писал(а):
oleg777 в сообщении #1041515 писал(а):
Я сделал такой алгоритм и он хорошо работает.

считаете частоту появления спектров определенной формы?


Нет, не угадали. Сам алгоритм накапливает энергию на данной частоте. То есть на его выходе амплитуда соответствующей синусоиды постоянно растет, что видно на спектре. Базируется все на итерациях с графом из большого количества вершин. В одну вершину подается сигнал, с удаленной от нее вершины - снимается.

Почему я и пристаю все время насчет умножения матриц в классических фильтрах. Хочу понять, всегда ли оно присутствует. У меня-то его нет...

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение31.07.2015, 20:27 
Аватара пользователя
А вот тут я чего-то не понял. При частоте опроса 10Гц ничего, кроме сигнала с частотой менее 5Гц мы не увидим (вернее, увидеть-то сможем, но не то...)

 
 
 
 Re: Выделение частоты с помощью интегратора
Сообщение31.07.2015, 21:36 
Ой, это я глупость написал, все смешалось в голове. Грубый датчик передает информацию о биениях
вала на 3-4 Гц, вот его я и вижу с помощью 10 Гц.

А на 1000 это я сейчас с алгоритмом упражняюсь. Такие частоты у нас тоже живут, но их смотрят уже другими датчиками, но их очень трудно выловить по причине их хаотичной пульсации. Вот про них и идет речь.

Прошу прощения, что внес сумятицу.

 
 
 [ Сообщений: 69 ]  На страницу 1, 2, 3, 4, 5  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group