Войти
ПрограммированиеФорумФизика

Сгенерить шум, дающий константную свёртку с заданным ядром (2 стр)

Страницы: 1 2
#15
(Правка: 14:57) 14:11, 16 окт. 2019

Suslik
Если сделать Фурье спектр константным поделив на 1/K фильтра, то на выходе получится дельта функция. Остается вопрос на что ее домножить(свертка с дельта функцией является откликом системы), чтобы получить нужный результат. В данном случаи тебе надо какое-то прямоугольное окно (https://en.wikipedia.org/wiki/Window_function)
В результате в спектральной области формула сигнала будет ((1/K)*(window_function))

PS: то что тебе надо чтобы посчитать 1/K называется inverse filter (https://stackoverflow.com/questions/2080835/deriving-the-inverse-… lution-kernel)

#16
14:19, 16 окт. 2019

Suslik
> но особенность в том, что без ограничения общности K(w) != 0 во всех точках
Это да, у всех фильтров с конечным шаблоном Фурье-представление почти везде ненулевое.
Так что все сводится к выбору нормы, в которой тебе надо приближаться к нулю.

В общем, я бы начал с

[cht]\[F(w)=\frac\eta{C+|K(w)|}\][/cht]    или    [cht]\[F(w)=\frac\eta{\sqrt{C^2+K(w)^2}},\][/cht]

где [cht]\eta[/cht] — нормально распределенная случайная величина.

#17
20:17, 16 окт. 2019
Suslik
Кажется, у тебя завёлся свой собственный innuendo.
#18
(Правка: 3:33) 3:29, 17 окт. 2019

thevlad
> PS: то что тебе надо чтобы посчитать 1/K называется inverse filter
> (https://stackoverflow.com/questions/2080835/deriving-the-inverse-…
> lution-kernel)
воо, это уже интересно. ключевые слова для поиска.

}:+()___ [Smile]
> В общем, я бы начал с
я пробовал подобные варианты. но они все дают приближённый вариант и обладают параметрами. я думал, может быть, есть стандартный способ гарантировать точное равенство без параметров?

Alexander K
> Кажется, у тебя завёлся свой собственный innuendo.
его в соседнем треде порвало, когда выяснилось, что он напрочь основы матана не знает, по поводу которого так любит умничать. теперь он бегает за мной по всем тредам и умничает ещё больше.

#19
3:44, 17 окт. 2019

короче, thevlad правильную ссылку привёл. выводы:
- то, что мне нужно, решается через т.н. inverse filter (просто считаем свёртку белого шума с ним).
- точного символного решения для inverse filter не существует, однако, существуют аппроксимации с аккуратной обработкой нуля. несколько примеров привёл }:+()___ [Smile]
- одно из стандартных решений этой проблемы называется weiner deconvolution: https://en.wikipedia.org/wiki/Wiener_deconvolution и используется, например, чтобы отблюррить то, что было сблюррено.
- другой подход к проблеме — итеративные решения, которые за несколько итераций сходятся к решению.

#20
9:34, 17 окт. 2019


сусле резюмировал, сомнению не подлежит. аминь.

>то, что мне нужно, решается через т.н. inverse filter

на пятое упоминание обратного фильтра от разных людей сусел уверовал в обратный фильтр, аминь

#21
9:37, 17 окт. 2019

Alexander K
> Кажется, у тебя завёлся свой собственный innuendo.
>
ты про меня чтоли? да он мне нахрен не сдался. просто в разделе Физика мало пишут, а тут этот поумничать захотел. Причем всякий шлак льет, а молодые уши развесили, как будто мало книжек написано. И этот шлак местами раздражает. Каким боком только вот эта тема к физике соотноситься - ну это только сусел знает, и спорить с ним бесполезно

#22
21:03, 17 окт. 2019

Есть  исходное изображение X.
Есть фильтр F.
Нужно найти Y такой чтобы <X+Y,F>=0

<X+Y,F> = <X,F>+<Y,F>=0
<X,F> = - <Y,F>
-<<X,F>,F^-1> =Y
У X оставь только те частоты которые в F нули. или 10% не нулевых.


Можно найти для F обратный приближающий фильтр Q(чуть более F).
так чтоб  (<дельта функция,F>,Q>-дельта функция)^2 было минимально. (там просто ришить матрицу).

Дальше итерациями:
Y0 = <X0,Q>
D0 = <Y0,F>
Y1 = Y0-<D0,Q>
D1 = <Y1,F>
Y2 = Y1-<D1,Q>
....

#23
21:36, 17 окт. 2019

susageP
> Есть  исходное изображение X.
> Есть фильтр F.
> Нужно найти Y такой чтобы <X+Y,F>=0
>
>
А тебе ни кажется что какой то длинный длинный путь когда из твоего же уравнения следует что X=-Y, и ни каких траханий с 1/F ?

Страницы: 1 2
ПрограммированиеФорумФизика