Центрирование 3D БПФ

снова у меня есть вопрос относительно центрирования результата БПФ. В данном случае в 3D-пространстве с библиотекой FFTW. На данный момент я реализовал концепцию, показанную на картинке ниже. Он показывает разделенное частотное пространство. Каждый субкуб (1-8) представляет собой восьмую часть всего пространства. Цель состоит в том, чтобы переместить низкие частоты в центр этого куба 2x2x2, где встречаются все восемь подкубов. После этого шага перемещения я просто перемещаю начало координат в центр куба.

Центрирование результата трехмерного пространственного БПФ

В настоящее время это делается непосредственно после прямого fft и непосредственно перед ifft, но я не уверен, что этот метод правильный, так как я получаю странные результаты, когда применяю фильтр. Без фильтрации я получаю OUTPUT = INPUT как и ожидалось.

После нескольких часов поиска я не смог найти ни одного примера, который бы центрировал результат fft. Соответствующий 2D-метод работает. Есть ли общий способ борьбы с этим, так как для фильтрации низких частот мне нужны низкие частоты в центре и высокие по краям (что не дается fftw по умолчанию).

Привет

Волк


person DerHandwerk    schedule 18.05.2012    source источник


Ответы (1)


Это описано в FAQ FFTW, см. http://www.fftw.org/faq/section3.html#centerorigin. Что вам нужно сделать, так это умножить каждый элемент на: (-1)^(i+j+k), где i, j и k — индексы элементов.

person Bojan Nikolic    schedule 28.11.2012