FFW швидкої фільтрації на Заході - Matlab вихідний код

L

luigirosa

Guest
FFW швидкою фільтрації на Заході

http://www.advancedsourcecode.com/ffw.asp

У FFW пакету є FFT-алгоритм для швидкого 2D пакунки з використанням збігу додати метод.Дублювання додати метод заснований на фундаментальних техніку в DSP: розкладання сигналу на прості компоненти,
обробляти кожен з компонентів в деяких корисний шлях, а recombine оброблених компонентів в остаточний сигнал.Це можливо, оскільки сверточних оператора лінійної.У FFW пакет працює аналогічно функції fftfilt (Matlab обробки зображень інструментів), але в більш глибокому чином: всі можливі для довжин векторів розглядаються і не тільки в довжину, які мають повноваження двох.Це вкрай необхідно, оскільки FFTW пакет (для більш докладної інформації відвідайте http://www.fftw.org) включає codelets оптимізовано для інших фіксованих розмірів.Codelets здійснюється автоматично за допомогою генератора FFTW codelet: Ви можете додати свої власні codelets і знову обчислити виконання рази для кожного БПФ.Виконання час:

FFT речових векторів 1D
FFT складних 1D векторів
IFFT складних 1D векторів
були розраховані за допомогою скрипта papiclock.m від довжини N = 1 до довжини N = 2048.Ці часи були визначається за допомогою PAPI по Matlab (тут або на http://icl.cs.utk.edu/papi).А 2D FFT (див. Matlab команду fft2) розпадається на кілька 1D FFTs: в FFT оператора для N-мірної масиву може фактично поділяються на кілька 1-мірних FFTs з monodimensional масивів.У FFW автоматично вибирає алгоритм, який є кращим вибором (перший аспект, другий аспект і оптимальної довжини для дублювання додати метод), і розраховує 2D пакунки.

У FFW пакет може бути легко використаний для поліпшення швидкості вистави:
2D пакунки (Matlab функція conv2)
2D фільтрація (Matlab функція фільтр2)
2D крос-кореляції (Matlab функція xcorr2)
Нормованих крос-кореляції (Matlab функція normxcorr2)Яким FFW пакет працює?
Для того, щоб знайти найкращі параметри збігаються додати метод вичерпний пошук по 2D матриць були б неможливі.Обчислювальна вартість FFT2 оператора робиться розкладання її на обчислювальні витрати на дві серії FFTs на monodimensional масивів.Наприклад, якщо ви хочете вирахувати FFT2 обчислювальних витрат, використовуючи матрицю М Н Х в якості вкладу, вам буде виконувати наступні суми: N * вартість (FFT (М)) M * вартість (FFT (N)), де вартість ( FFT (X)) є обчислювальна вартість FFT оператора, використовуючи як вхідний вектор яких довжина Х. обчислювальних вартість FFT для реального вектора є, в загальному, відрізняється від вартості FFT для комплексної векторної.З цієї причини більш ніж на один вибір: можна вибрати першого аспекту, за якими ви можете звернутися до БПФ оператора.Аналогічні міркування можуть бути зроблені IFFT оператор.

Після мінімальних обчислювальних витрат були знайдені, більш тонка настройка можлива: в FFW алгоритму складає майже вичерпний пошук, використовуючи оптимізований алгоритм.На доведення варіант потребує багато часу, але він рекомендований для високого вистави FFT основі фільтрації.Звичайно, цей варіант має сенс тільки тоді, коли Вам необхідно зробити кілька пакунки продукції.

Якщо обидва вхідних образи реальних FFW використовує алгоритм 'сімметріческого' варіант при використанні IFFT оператор.Оптимізована для FFW параметри алгоритму залежить тільки від розмірів вхідних матриць і їхніх значень (реальних чи комплекс).Якщо один і той же фільтр буде застосовуватися до декількох зображення, його FFT2 вартість може бути визначена тільки один раз,
зберігши обчислювальних часу.У цьому випадку (той же фільтр застосовується для декількох зображень) визначення параметрів оптимізовано не повинен брати до уваги обчислювальних вартість таких операцій, оскільки це робиться тільки один раз.FFW алгоритму також може працювати в домені часу: цей вибір є необхідним для невеликих фільтра ядро, використовуючи стандартні conv2 Вбудований в Matlab функції.

http://www.advancedsourcecode.com/ffw.asp

 

Welcome to EDABoard.com

Sponsor

Back
Top