Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кто работал с Быстрым Фурье (FFT)? Странный спектр получается.

1.8K
03 мая 2004 года
Andreww
81 / / 02.01.2004
Вопрос немного "оффтопик", но так как я на Билдере сижу то и написать сюда решил.

Я пытаюсь использовать алгоритм БПФ (скачал с algolist.manual.ru) в своей проге. В двух словах: линза делает преобраование Фурье, мне надо смоделировать картинку в фокальной плоскости. С помощью алгоритма БПФ (не только с algolist.manual.ru, но и других) все получается с точностью до наоборот: вместо максимума в центре и затуханию к краям апертуры, получаются два максимума на краях и ноль в центре. (Фурье образ для плоской волны имеет вид sin(x)/x - то есть макс в х=0, и затухание к краям).
Не подскажете случайно где и как это можно исправить чтоб получить то что наблюдается в эксперименте?

Я пробовал пересортировать массив но это наверно неправильный подход, хотя-бы потому что картинка изначально не симметричная - самый большой максимум (настолько большой что на его фоне других не видно) размещается слева (при отрицателных х) на апретуре, хотя логично было б чтоб было 2 одинаковых по величине максимуа по краям, тогда можно пересортировать и получить что-то правдоподобное. А так даже не знаю.
Заранее спасибо за любую помощь!
26K
25 февраля 2007 года
Marty
5 / / 25.02.2007
Цитата: Andreww

С помощью алгоритма БПФ (не только с algolist.manual.ru, но и других) все получается с точностью до наоборот: вместо максимума в центре и затуханию к краям апертуры, получаются два максимума на краях и ноль в центре....

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



Результат фурье преобразования получается следующий. Самое левое (большое значение) - это постоянная составляющая (частота 0Гц). Далее спектр симметричен относительно точки ceil((N-1)/2.), где N - длина преобразования. Причем до середины частота отсчетов спектра растет. Вот и получается, что график как бы "вывернут наизнанку" относительно "почти середины", а максимум, соответствующий нулевой частоте оказался в самой левой точке. Если проиндексировать полученный массив спектра по частотам, то получим такую картину:
0, 1, 2, ..., (N-1)/2, -(N-1)/2, -(N-1)/2 + 1, ..., -1

Т.е. если есть желание пересортировать, то нужно учитывать именно эту закономерность.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог