2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5  След.
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение10.08.2014, 06:55 
Заслуженный участник
Аватара пользователя


11/03/08
9837
Москва
Это очень крупнокалиберное орудие. Но не для этой цели. Этот метод (разложение Гильберта-Хуанга или другой вариант декомпозиции по эмпирическим модам) скорее для задачи, когда сигнал состоит из суммы нескольких узкополосных, частота и амплитуда которых меняются во времени.
В данной задаче, благодаря тому, что частота интересующего сигнала известна (и даже находится в кратном соотношении с частотой оцифровки) я бы применил простейший в реализации, но достаточный метод - усреднял бы по периодам.
Ну и ещё раз повторю - не всё, что мы поймали некоторым методом, есть сигнал, ино и артефакт обработки.

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


12/01/10
87
Еще раз спасибо за содержательные советы. Они мне помогли на практике.

А теперь - провокационный вопрос.

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

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


16/02/11
3788
Бурашево
Вот тут http://strts-online.narod.ru/srt в разделе "Лабораторные работы" есть программка для выполнения лабораторной работы №2, которая моделирует то, что вам нужно. Попоробуйте для начала и убедитесь, что узкополоный фильтр в ответ только на шум выдаст гармонику. Что такое "сила резонанса" непонятно.

А вообще то, о чём Вы пишете является цифровым фильтром 2-го пордяка с комплексно-сопряжёнными полюсами. Может рассматриваться самостоятельно, может в качестве модели колебательного контура. И в том и другом случае мы имеем дело с простейшим полосовым фильтром.

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


12/01/10
87
profrotter в сообщении #901656 писал(а):
Вот тут http://strts-online.narod.ru/srt в разделе "Лабораторные работы" есть программка для выполнения лабораторной работы №2, которая моделирует то, что вам нужно. Попоробуйте для начала и убедитесь, что узкополоный фильтр в ответ только на шум выдаст гармонику. Что такое "сила резонанса" непонятно.

А вообще то, о чём Вы пишете является цифровым фильтром 2-го пордяка с комплексно-сопряжёнными полюсами. Может рассматриваться самостоятельно, может в качестве модели колебательного контура. И в том и другом случае мы имеем дело с простейшим полосовым фильтром.


Ага, посмотрел, поигрался.

Вообще, если я правильно понимаю, амплитуда на классическом колебательном контуре не может расти до бесконечности потому, что либо сопротивление конденсатора не позволяет, либо сопротивление катушки. Ну и еще всякие там потери.

А если все эти сопротивления не включать в мат. модель, а оставить только автоколебания? Почему нельзя математически "раскачивать" амплитуду до бесконечности? Ведь фильтр 2-го порядка этого не подразумевает?...

P.S. Под "силой резонанса" я понимал скорость роста амплитуды при резонансе. Типа чем мощней гармоника на входе, тем быстрей происходит раскачка.

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


23/12/07
1763
sup в сообщении #893912 писал(а):
Куда более интересным оказался этот же вопрос об амплитуде в случае равномерно распределенного шума

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

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


22/11/10
1183
Разница лишь в "формуле". Я не уверен, что для произвольного распределения можно дать "простую" формулу (не просто короткую запись из буковок, а реально простую в вычислении).
Вот для равномерного шума ее предъявить можно. Она оказалась несколько неожиданной. Можете сами убедиться. Что касается меня, то я ее сначала "угадал", а уже потом постарался обосновать.

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


11/03/08
9837
Москва
Ну, это Вы неустойчивый фильтр сделать предлагаете. В цифровом виде просто, но бесполезно.
В реале не получится не из-за наличия сопротивлений, а потому, что контур сгорит (ну, или конденсатор пробьёт).

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


12/01/10
87
Да это понятно, но речь идет о цифровом фильтре! В компьютер поступает сигнал, надо раскачать присутствующую в нем га рм они ку.

С помощью какого алгоритма можно это сделать, если частота гармоники известна?

-- Пт авг 29, 2014 20:08:18 --

И главное: почему в цифровом виде бесполезно? Повторяю: мне надо узнать амплитуду зашумленной гармоники.

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


23/12/07
1763
oleg777, вообще, в таких задачах обычно важно определиться с тем, что именно вам нужно оценить (например, амплитуду или квадрат амплитуды, или интеграл от сигнала или еще что), какие требования к методу (оценка "на лету" или "в оффлайне", то есть, после того, как сигнал уже полностью получен), какие критерии эффектиновности оценки (максимальное соотношение "сигнал/шум", максимальная вероятность, минимальная среднеквадратическая ошибка и т.п.) кроме того, нельзя забывать про требование робастности метода - то есть, чтобы он не сильно ухудшался, если вдруг вы на самом деле ошиблись, и сигнал "немножко негармонический", или "немножко не с той частотой, что ожидали".

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

 Профиль  
                  
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение29.08.2014, 22:32 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
oleg777 в сообщении #901835 писал(а):
почему в цифровом виде бесполезно?
Потому что при реализации неустойчивого цифрового фильтра рано или поздно возникнет переполнение рязрядной сетки вычислителя.

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


12/01/10
87
profrotter в сообщении #901898 писал(а):
oleg777 в сообщении #901835 писал(а):
почему в цифровом виде бесполезно?
Потому что при реализации неустойчивого цифрового фильтра рано или поздно возникнет переполнение рязрядной сетки вычислителя.



Чего я и добиваюсь :) !!!

-- Сб авг 30, 2014 05:23:50 --

_hum_ в сообщении #901880 писал(а):
oleg777, вообще, в таких задачах обычно важно определиться с тем, что именно вам нужно оценить (например, амплитуду или квадрат амплитуды, или интеграл от сигнала или еще что), какие требования к методу (оценка "на лету" или "в оффлайне", то есть, после того, как сигнал уже полностью получен), какие критерии эффектиновности оценки (максимальное соотношение "сигнал/шум", максимальная вероятность, минимальная среднеквадратическая ошибка и т.п.) кроме того, нельзя забывать про требование робастности метода - то есть, чтобы он не сильно ухудшался, если вдруг вы на самом деле ошиблись, и сигнал "немножко негармонический", или "немножко не с той частотой, что ожидали".

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



Оценить требуется амплитуду. Или квадрат амплитуды. Робастность - это важно.

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

Яркая

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


11/03/08
9837
Москва
oleg777 в сообщении #901959 писал(а):
profrotter в сообщении #901898
писал(а):
oleg777 в сообщении #901835
писал(а):
почему в цифровом виде бесполезно? Потому что при реализации неустойчивого цифрового фильтра рано или поздно возникнет переполнение рязрядной сетки вычислителя.


Чего я и добиваюсь :) !!!


Герой старой карикатуры, выключавший телевизор выстрелом из ружья, хотя бы нервы себе успокаивал.
Неустойчивый фильтр такого рода будет возбуждаться гармоникой нужной частоты - но и белым шумом, благо там искомая частота представлена наряду с прочими.
Медленнее - но будет, и понять по времени наступления переполнения (=неработоспособность фильтра) трудно, тут ещё и амплитуды влияют.
Я присоединяюсь к рекомендации сперва понять, что нужно и что имеется в наличии.
Для точно известной частоты - синхронное накопление, для известного диапазона - фильтр (БИХ- или КИХ-фильтр, у каждого свои достоинства и недостатки), есть ниши у "гусеницы" или Гильберта-Хуанга, авторегрессии или Берга.
Но "не бывает попутного ветра тому, кто не знает, куда плыть"

-- 30 авг 2014, 07:56 --

oleg777 в сообщении #901959 писал(а):
Я говорил, что вопрос - провокационный. Мне важно понять, умеет ли человечество в принципе выделять гармонику из шума с помощью раскачки сигналом цифрового осциллятора.


Умеет.
Поздравляю, Вы изобрели БИХ-фильтр.
Правда, им уже не менее века (в экономических расчётах, в методиках поиска экономических циклов, небезызвестные "гарвардские барометры"; в чисто технических задачах таким фильтрам меньше, лет 60 или около того). Ещё немного - и Вы узнаете о критериях качества фильтров, среди которых - устойчивость. Сами дойдёте, или хотя бы Рабинера и Гоулда полистаете.
А почему не используют неустойчивые - потому, что при реализации "в лоб" они при переполнении перестают работать, а если усложнить и добавить отслеживание переполнений и сброс фильтра при них, то работать будет, но (сюрприз! сюрприз!) хуже, чем обычный устойчивый фильтр. Будет давать ложные срабатывания на белый шум, а на сигнал искомой частоты будет реагировать со слишком большой задержкой (нет, само по себе переполнение наступит, может, и ранее, чем при обычном фильтре, но с учётом обработки прерывания по переполнению времени уйёт куда больше).

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


12/01/10
87
Вот именно, я изобрел БИХ-фильтр. В этом и заключалась провокация.

Я так понимаю, БИХ-фильтры представляют собой очень широкий класс фильтров. Поэтому, когда говорят об их неустойчивости, подразумевают какие-то их достаточно простые подклассы, да?

Мой алгоритм базируется на графе. В каждой вершине графа в каждый момент дискретного времени сидит число, которое в следующий момент распределяется между другими вершинами по определенному закону. Расписать это дело в виде канонической формулы для БИХ пока не получается, т.к . там многоэтажная комбинаторика. Да я и не спешу с этим, если честно, все варианты гоняю.

В двух словах о результатах.

Достоинства: определяет амплитуду сигнала с почти бесконечной точностью при любом шуме. С устойчивостью все в порядке, переполнение регистров практически недостижимо.

Недостатки: долго считает. Чувствителен к априорному знанию частоты. Именно поиск истинного значения частоты и жрет время.

Что Вы на это скажете (в предположении, что я не вру (а я не вру))? Это здорово?

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


11/03/08
9837
Москва
Не Станиславский и не Ярославский - но не верю!
Для начала - вот у Вас сигнал, равный сумме синусоиды и белого шума. Белый шум можно представить себе, как сумму всех мыслимых частот, включая искомую. Вы утверждаете, что при любой амплитуде шума у Вас будет правильное значение амплитуды сигнала?
Более подробная критика требует более полного описания сути Вашего алгоритма.

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


12/01/10
87
"Не верю" - это здорово. Это обнадеживает.

Описание алгоритма и программки для тестирования могу только выслать по почте, если скажете, на какой адрес. Мой адрес - oleg314@mail.ru .

Если интересно, конечно :)

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

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



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

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


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

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