2014 dxdy logo

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

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


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


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

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

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

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

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



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


12/01/10
87
З.Ы.

Цитата:
Белый шум можно представить себе, как сумму всех мыслимых частот, включая искомую.


Ну, использование такого представления - дело вкуса. По мне так сумма всех частот и шум - разные вещи. Шум - вполне реальная, наблюдаемая сущность. Сумма н.о.р.с.в. Кроме того, шум может быть негауссовский, например, с произвольным к-том Херста. С этим делом приходится сталкиваться "on earth", извиняюсь за феню.

А какое отношение к реальности имеет представление о "белизне" шума? Мне кажется, оно малость устаревшее.

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


11/03/08
9837
Москва
БИХ-фильтр линейная функция
$y_t=\Sigma^n_{i=1} a_i y_{t-i}+\Sigma^n_{j=0} b_j x_{t-j}$
Поэтому если в шуме была некая компонента, она будет и на выходе. Распределение случайных коэффициентов может быть и негауссовым, неважно, но синусоида искомой частоты там быть может.
Написал по приведенному адресу, "будем посмотреть".

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


16/02/11
3788
Бурашево
oleg777 в сообщении #903063 писал(а):
Достоинства: определяет амплитуду сигнала с почти бесконечной точностью при любом шуме
Только через труп неравенства Крамера-Рао.

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


11/03/08
9837
Москва
Посмотрел, хотя и недостаточно глубоко.
Проще всего Ваш подход выразить через матрицу. Это позволит избавиться от "комбинаторики". Если величины на вершинах графа обозначить через $x_i$, а коэффициенты передачи из i в j собрать в матрицу А, то элементарный шаг будет $x_t=Ax_{t-1}+e$, где e - вектор, один из элементов которого равен входному сигналу, остальные нули.
Линейное, да. То есть при росте амплитуды наложенного на сигнал шума будет расти и выход, и оценка амплитуды сигнала, то есть будет систематическая ошибка.

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


12/01/10
87
Вы имеете в виду скачок шума в процессе конкретного испытания?

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


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

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


12/01/10
87
Что-то здесь не так, на практике-то отфильтрованный сигнал очень даже расходится.

Каков критерий сходимости для процесса $x_t=Ax_{t-1}+e$ (в случае нуля на входе и в случае прибавления случайного e)? Я давно к лин. алгебре не обращался, институт 20 лет назад закончил :)

И почему матрица - стохастическая? Она вроде очень даже детерминированная, состоит из чисел 0 и 0.5.

А что значит "сигнал, по форме соответствующего собственному вектору А"? Собственный вектор - это, вроде, многомерная константа, какой же это сигнал?

-- Чт сен 04, 2014 14:07:07 --

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


А насчет этого я в курсе. Просто тут надо заранее иметь таблицу соответствия: при какой амплитуде гармоники на входе какая получается оценка на выходе (при одной и той же дисперсии шума). Главное, чтобы это соответствие было взаимно-однозначным и, желательно, даже линейным, что как раз получается.

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


11/03/08
9837
Москва
Стохастическая матрица - матрица, сумма элементов в каждой строке (столбце) равна 1, и элементы неотрицательны.

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


12/01/10
87
Позор на мою седую голову! Теперь запомню этот термин...

-- Чт сен 04, 2014 17:03:54 --

Угу, доходит понемногу до жирафа.

А разве не все собств. числа должны быть меньше 1? А какому условию должен удовлетворять вектор e?

Что-то мне кажется, что на практике на выходе происходит раскачка из-за присутствия синусоиды на входе.

-- Чт сен 04, 2014 17:27:58 --

Хотя нет, наверное, дело в единице или в каких-то условиях на вектор e. Это уже мысли вслух :)

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


11/03/08
9837
Москва
В общем, Ваш алгоритм является частным случаем такого:
$x_t=A(x_{t-1}+e_t)$
где А - некоторая стохастическая матрица (стохастическая она не потому, что случайна, а потому, что описывает вероятности переходов Марковского процесса), один из элементов вектора e равен входному сигналу, остальные нули.
Можно развернуть выражение
$x_t=Ae_t+A^2e_{t-1}+A^3e_{t-2}+\ldots+A^{n+1}e_{t-n}+\ldots$
Если записать $A=X^{-1} \Lambda X$, где лямбда это диагональная матрица собственных значений (в общем случае надо и "жордановы ящики" рассматривать, но ограничусь случаем простых с.з.), то
$x_t=X^{-1}(\Lambda u_t+\Lambda^2u_{t-1}+\Lambda^3u_{t-2}+\ldots+\Lambda^{n+1}u_{t-n}+\ldots)$
где
$u=Xe$
При этом известно, что одно собственное значение у такой матрицы равно 1 (то есть в любой степени будет 1), и могут быть равные единице по модулю комплексные (которые при возведении в степень дадут комплексную синусоиду)
Первое даст нарастание амплитуды выхода даже при отсутствии синусоидальной компоненты во входном сигнале, просто накоплением суммы (примерно пропорционально корню из времени накопления), второе может выявить синусоидальный сигнал, совпадающий по частоте с этой комплексной синусоидой. Но этот эффект будет маскироваться первым. Лучше без первого обойтись, и работать прямо с синусоидой (и косинусоидой, разумеется, а то потеряем сигнал, оказавшийся в квадратуре; или сразу с комплексной величиной) нужной частоты (её можно генерировать рекурсивно). В зависимости от реализации получаем корреляционный метод, комплексную демодуляцию или алгоритм Герцеля (это которым в телефонном сигнале выделяют частоты DTMF), или ещё что-то.

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


11/03/08
9837
Москва
В сухом остатке - у Вас осциллятор, причём не самый лучший (с паразитными частотами). С этой точки зрения примитивнейший $v_t=av_{t-1}+bv_{t-2}$, где подбором a и b определяются частота и декремент затухания, лучше тем, что частота одна. Или $z_t=e^{i\omega t}$, z - комплексное, считается, как правило, рекурсивно.
Далее два варианта - входной сигнал подаётся на вход осциллятора, как возбуждающий. Тут целесообразно ввести затухание. Чем оно ниже, тем более чувствителен детектор к наличию соответствующей частоты, но имеет место длительное последействие даже при прекращении входного сигнала ("звон"). При высоком затухании детектор малочувствителен, но лучше по временным характеристикам (вообще, есть "принцип неопределённости", имеющий к физическому косвенное отношение, но имеющий; чем лучше разрешение по частоте, тем хуже по времени). На этом пути мы получаем БИХ-фильтры, увеличивая их порядок, достигаем желаемого значения характеристик (крутизны частотного среза, времени установления), вернее, желаемого компромисса.
Второй вариант - осциллятор незатухающий, а его выход смешивается со входным сигналом в каком-то нелинейном преобразовании (перемножении - комплексная демодуляция или корреляция) или используется при управлении накоплением сигнала, как задающая частота.

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


12/01/10
87
В общем, Вы задали мне направления для повторения линейной алгебры и прочего, спасибо. Чем я и займусь.

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


16/02/11
3788
Бурашево
Тут не линейная алгебра нужна, а теория случайных процессов. Примерно суть алгоритма выделения гармонического сигнала в следующем. Пусть $\xi(t)=s(t)+n(t)$ - аддитивная смесь независимых стационарных гармонического сигнала $s(t)=A\cos(\omega t+\varphi)$ и шума $n(t)$. Корреляционная функция процесса будет представлять собой сумму корреляционной функции гармонического сигнала и шума: $R_{\xi}(\tau)=R_{s}(\tau)+R_{n}(\tau)$. Корреляционная функция гармонического сигнала сама гармоническая $R_s(\tau)=\frac{A^2}{2}\cos(\omega t)$. Если интервал корреляции шума конечен, то формируя сигнал, соответствующий коореляционной функции $R_{\xi}(\tau)$, начиная с некоторого момента времени можно наблюдать сам "очищенный" гармонический сигнал. Однако аппаратное формирование корреляционной функции требует эргодичности процессов - это раз, и бесконечного времени наблюдения - это два. Второе, разумеется недостижимо и обязательно скажется при низком качестве обрабатываемой смеси.

Всё сказанное можно наблюдать с помощью той же программы из сообщения #901656. Выбираем сигнал генератора "гармонический сигнал+шум", задаём амплитуду 1мВ, СКО 2мВ смотрим на реализацию процесса (гармоника визуально почти замаскирована) и корреляционную функцию (на входе). Корреляционная функция слабокоррелированноого шума $R_n(\tau)$ локализована в районе нуля и наблюдается высоким узким пиком. Вне этой области наблюдается хороший гармонический сигнал:
Изображение

Изображение

Теперь ставим СКО 10мВ вот он и пробился шумок, которого в "идеале" при беконечном времени наблюдения не должно быть, в результат:
Изображение

Изображение


Обратите внимание требуется не гауссовость шума, а убывание его корреляционной функции (оно же влечёт стационарность). А для реализации ещё и эргодичность.

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


07/08/14
4231
если спектр шума без сигнала известен, то надо его вычесть из спектра с сигналом - останется полезный сигнал.

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


16/02/11
3788
Бурашево

(upgrade)

upgrade в сообщении #914338 писал(а):
если спектр шума без сигнала известен, то надо его вычесть из спектра с сигналом - останется полезный сигнал.
Глубоко копаете. Я скажу проще: если реализация шума известна, то её надо вычесть из смеси сигнал+шум. Останется только полезный сигнал. Но это, увы, никому ничем не может помочь.

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

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



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

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


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

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