2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

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



Начать новую тему Ответить на тему На страницу 1, 2, 3, 4, 5  След.
 
 Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 11:34 


12/01/10
87
От устройства в компьютер поступает сигнал. Про этот сигнал известно, что он содержит гармонику известной частоты и гауссовский шум большей, чем гармоника, мощности.

Реальная производственная задача: почистить сигнал от шума (с целью оценки мощности гармонической составляющей).

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

Вопрос: каким стандартным алгоритмом убирают шум с сигнала?

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 14:03 
Аватара пользователя


21/01/09
3926
Дивногорск
Я делаю так. Из каждого промежутка длиной Т (период синусоиды) зашумленного сигнала нахожу синусоиду разложением в ряд Фурье. Потом нахожу среднее среди всех найденных синусоид. При достаточном их количестве шума практически не остаётся.

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 14:15 


12/01/10
87
Александрович в сообщении #893658 писал(а):
Я делаю так. Из каждого промежутка длиной Т (период синусоиды) зашумленного сигнала нахожу синусоиду разложением в ряд Фурье. Потом нахожу среднее среди всех найденных синусоид. При достаточном их количестве шума практически не остаётся.


Спасибо. У меня мощность шума относится к мощности гармоники как 9:1. У Вас для такого шума проканывает?

И еще: а если гармоника не одна?

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 15:05 
Аватара пользователя


21/01/09
3926
Дивногорск
oleg777 в сообщении #893662 писал(а):
У меня мощность шума относится к мощности гармоники как 9:1.

Я не совсем понимаю что вы называете мощностью шума и гармоники. В 3 раза уровень шума выше чем амплитуда гармоники?

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 15:13 


12/01/10
87
Александрович в сообщении #893671 писал(а):
oleg777 в сообщении #893662 писал(а):
У меня мощность шума относится к мощности гармоники как 9:1.

Я не совсем понимаю что вы называете мощностью шума и гармоники. В 3 раза уровень шума выше чем амплитуда гармоники?


Да, только не в 3, а в 9. Мой самодельный фильтр отделяет этот шум, после чего я считаю спектр и вижу на нем гармонику.

Вопрос в том, существуют ли стандартные фильтры для отделения мух.

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 15:21 
Заслуженный участник
Аватара пользователя


11/03/08
9952
Москва
Способ №0. Никак не чистить. Посчитать спектр, найти мощность на пике и среднюю мощность вне пика, исходя из последней, оценить добавку к мощности синусоиды от наличия шума и ввести поправку.
Способ №1. Узкополосный фильтр для (известной) частоты сигнала. Может завышать, поскольку есть составляющая шума, совпадающая по частоте с сигналом.
Способ №2. Комплексная демодуляция. Умножаем исходный сигнал на синус и (в другом канале) косинус интересующей частоты, получаем постоянную составляющую, соответствующую амплитуде сигнала нужной частоты (соотношение по каналам зависит от фазового сдвига) плюс шум и высокочастотную добавку, которые убираются усреднением.

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 15:33 
Аватара пользователя


21/01/09
3926
Дивногорск
Если частота известна можно просто нарезать сигнал на периоды и найти среднее колебание. При 100 периодах интенсивность шума уменьшится в 10 раз.

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 15:52 


12/01/10
87
Евгений Машеров в сообщении #893673 писал(а):
Способ №0. Никак не чистить. Посчитать спектр, найти мощность на пике и среднюю мощность вне пика, исходя из последней, оценить добавку к мощности синусоиды от наличия шума и ввести поправку.
Способ №1. Узкополосный фильтр для (известной) частоты сигнала. Может завышать, поскольку есть составляющая шума, совпадающая по частоте с сигналом.
Способ №2. Комплексная демодуляция. Умножаем исходный сигнал на синус и (в другом канале) косинус интересующей частоты, получаем постоянную составляющую, соответствующую амплитуде сигнала нужной частоты (соотношение по каналам зависит от фазового сдвига) плюс шум и высокочастотную добавку, которые убираются усреднением.


Спасибо!

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

А вот по прочим двум - не подскажете ли хорошую, проверенную литературу в интернете?

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 17:13 
Заслуженный участник
Аватара пользователя


11/03/08
9952
Москва
9:1 это отношение мощностей или амплитуд?

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 18:56 


12/01/10
87
Евгений Машеров в сообщении #893700 писал(а):
9:1 это отношение мощностей или амплитуд?


Это отношение корня из дисперсии шума к амплитуде синусоиды. Я просто обозначил порядок. Вы же понимаете, мощность шума - неопределенная штука, зависит от частоты дискретизации. Фрактал, блин

А что?

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 20:49 
Заслуженный участник
Аватара пользователя


11/03/08
9952
Москва
Да вот настроение помоделировать. Такое чувство, что "способ №0" вполне рабочий. Фурье на сколько точек считается? И частота сигнала на зубец гребёнки частот попадает? Или оказывается между?

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 21:18 


12/01/10
87
Евгений Машеров в сообщении #893775 писал(а):
Да вот настроение помоделировать. Такое чувство, что "способ №0" вполне рабочий. Фурье на сколько точек считается? И частота сигнала на зубец гребёнки частот попадает? Или оказывается между?


Фурье считается на 2 в степени. Обычно смотрю на 4096.

Смотрю частоту 50гц. Все хор у меня с БПФ, тщательно написано.

По способу N0 хорошо вижу гармонику. При 1:9 она теряется на спектре. Применяю свой фильтр. Он делает из шума гармонический сигнал, на фоне которого видна входящая гармоника. В этом суть моего фильтра: он преобразует шум в гармонический сигнал, спектр которого определяется параметрами фильтра.

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 21:44 
Заслуженный участник
Аватара пользователя


11/03/08
9952
Москва
А частота оцифровки?

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение06.08.2014, 21:54 


12/01/10
87
1000 Гц

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение07.08.2014, 08:56 
Заслуженный участник
Аватара пользователя


11/03/08
9952
Москва

(Оффтоп)

"Вызывает интерес и такой ещё разрез"


Если суммарная мощность белого шума в 81 ($9^2$) раз выше синусоиды - то при разложении по 2048 точкам спектра пик, соответствующий синусоиде, будет в 25 раз выше шумовых. И даже если заложиться на то, что частота не точно 50Гц (ну, или частота оцифровки немного дрейфует) и пик попал между "зубьев", что также привело к появлению боковых лепестков, и пики 40% от максимального, а среди шумовых есть разной, случайно меняющейся амплитуды, и максимальный втрое больше среднего - всё равно получается отчётливый пик. Если он не виден - либо ошибка в программе, либо соотношение мощностей куда хуже.
Узкополосный фильтр гармонику выделит, да, причём даже если её нет. В том смысле, что белый шум на входе даст на выходе фильтра синусоиду (с колебаниями амплитуды и фазы, но отчётливую синусоиду). Это может быть полезный эффект (скажем, в электромузыкальных инструментах или алгоритмах передачи речи, когда оценивается фильтр, эквивалентный речевому тракту говорящего, и передаются лишь его параметры, а потом на его вход подаётся возбуждающий сигнал) или вредный (эффект Слуцкого-Юла в экономике, когда обработкой экономических рядов с целью увидеть и прогнозировать экономические циклы, эквивалентной узкополосному фильтру - реально употреблялось сглаживание, соответствующее НЧ-фильтру, и дифференцирование, работавшее, как ВЧ-фильтр, вместо получался полосовой - нашли два с лишним десятка циклов, которым ничего в реале не соответствовало, чистый артефакт обработки). Но в любом случае это артефакт, и это надо принимать во внимание.
Ну и ещё один способ.
№3. Когерентное накопление.
Период интересующего колебания известен, берём $k=1000/50=20$ точек и находим среднее по сериям из 20 точек.
$Y_{(i \mod k)}=\frac k n \sum\limits_{i=1}^{i=n} x_{(i \mod k)}$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу 1, 2, 3, 4, 5  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group