2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3, 4, 5  След.
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение10.08.2014, 06:55 
Аватара пользователя
Это очень крупнокалиберное орудие. Но не для этой цели. Этот метод (разложение Гильберта-Хуанга или другой вариант декомпозиции по эмпирическим модам) скорее для задачи, когда сигнал состоит из суммы нескольких узкополосных, частота и амплитуда которых меняются во времени.
В данной задаче, благодаря тому, что частота интересующего сигнала известна (и даже находится в кратном соотношении с частотой оцифровки) я бы применил простейший в реализации, но достаточный метод - усреднял бы по периодам.
Ну и ещё раз повторю - не всё, что мы поймали некоторым методом, есть сигнал, ино и артефакт обработки.

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение29.08.2014, 11:44 
Еще раз спасибо за содержательные советы. Они мне помогли на практике.

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

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

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение29.08.2014, 14:01 
Аватара пользователя
Вот тут http://strts-online.narod.ru/srt в разделе "Лабораторные работы" есть программка для выполнения лабораторной работы №2, которая моделирует то, что вам нужно. Попоробуйте для начала и убедитесь, что узкополоный фильтр в ответ только на шум выдаст гармонику. Что такое "сила резонанса" непонятно.

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

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

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


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

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

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

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

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение29.08.2014, 17:58 
sup в сообщении #893912 писал(а):
Куда более интересным оказался этот же вопрос об амплитуде в случае равномерно распределенного шума

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

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение29.08.2014, 18:20 
Разница лишь в "формуле". Я не уверен, что для произвольного распределения можно дать "простую" формулу (не просто короткую запись из буковок, а реально простую в вычислении).
Вот для равномерного шума ее предъявить можно. Она оказалась несколько неожиданной. Можете сами убедиться. Что касается меня, то я ее сначала "угадал", а уже потом постарался обосновать.

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение29.08.2014, 18:25 
Аватара пользователя
Ну, это Вы неустойчивый фильтр сделать предлагаете. В цифровом виде просто, но бесполезно.
В реале не получится не из-за наличия сопротивлений, а потому, что контур сгорит (ну, или конденсатор пробьёт).

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение29.08.2014, 19:54 
Да это понятно, но речь идет о цифровом фильтре! В компьютер поступает сигнал, надо раскачать присутствующую в нем га рм они ку.

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

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

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

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

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

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение29.08.2014, 22:32 
Аватара пользователя
oleg777 в сообщении #901835 писал(а):
почему в цифровом виде бесполезно?
Потому что при реализации неустойчивого цифрового фильтра рано или поздно возникнет переполнение рязрядной сетки вычислителя.

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение30.08.2014, 05:10 
profrotter в сообщении #901898 писал(а):
oleg777 в сообщении #901835 писал(а):
почему в цифровом виде бесполезно?
Потому что при реализации неустойчивого цифрового фильтра рано или поздно возникнет переполнение рязрядной сетки вычислителя.



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

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

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

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



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

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

Яркая

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение30.08.2014, 07:47 
Аватара пользователя
oleg777 в сообщении #901959 писал(а):
profrotter в сообщении #901898
писал(а):
oleg777 в сообщении #901835
писал(а):
почему в цифровом виде бесполезно? Потому что при реализации неустойчивого цифрового фильтра рано или поздно возникнет переполнение рязрядной сетки вычислителя.


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


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

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

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


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

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение02.09.2014, 19:16 
Вот именно, я изобрел БИХ-фильтр. В этом и заключалась провокация.

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

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

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

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

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

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

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение02.09.2014, 19:57 
Аватара пользователя
Не Станиславский и не Ярославский - но не верю!
Для начала - вот у Вас сигнал, равный сумме синусоиды и белого шума. Белый шум можно представить себе, как сумму всех мыслимых частот, включая искомую. Вы утверждаете, что при любой амплитуде шума у Вас будет правильное значение амплитуды сигнала?
Более подробная критика требует более полного описания сути Вашего алгоритма.

 
 
 
 Re: Как почистить сигнал от гауссовского шума?
Сообщение02.09.2014, 21:32 
"Не верю" - это здорово. Это обнадеживает.

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

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

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


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