Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/41: Рейтинг темы: голосов - 41, средняя оценка - 5.00
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343

Как использовать оконное преобразование 2D FFT в MATLAB

02.08.2020, 11:26. Показов 7751. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Постановка задачи:
Когда, я считаю обратное двумерное БПФ для 2D сигнала я беру 2D картинку (изображение с нормированными вещественными данными от 0 до 255) и применяя обратное преобразование нахожу соответствующую ей частотную картинку. Эта задача мной реализована и вопросов там нет. Но я хочу сделать так: взять 4 разные 2D картинки и посчитать 4 соответствующие им частотные картинки (по методике, как я делаю обычно), а итоговый результат представить в виде коллажа, в котором частотная картина от первой картинке будет в левом верхнем углу итогового результата, от второй - в левом нижнем углу, от третьей - в правом верхнем углу, от четвертой - в правом нижнем углу. Я так делаю, и меня все бы устраивало бы если не необходимость считать полноразмерные частотные характеристики для всех 4х входных картинок. Проблема в том, что если мне надо 1000 таких картинок, то время счета сильно увеличивается.

Вопрос в том, а нельзя ли использовать какую-то технику? Например, оконное преобразование, чтобы сразу решать задачу для каждой четвертинки но размером в четвертинку? Т.е. пусть я буду считать (в моем примере) 4 раза, но БПФ будет оперировать с данными тоже в 4 раза меньшими по объему.

Или есть у этой задачи вообще решение, когда мне не надо считать 4 четвертинки, а применив какую-то методику или оператор посчитать все за один раз? Оконное преобразование тут мне поможет?

Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.08.2020, 11:26
Ответы с готовыми решениями:

Оконное преобразование Фурье + FFT
проблема: вообще не знаю mathlab. нужно построить сигнал(cos3t^2) умножить его: 1. На одно большое окно(Хэмминга) 2. На несколько...

Как использовать функцию fft?
есть f: массив частот сигнала, с размером , с частотами , где fs - частота дискретизации, Как использовать функцию fft? ...

Параллелизация FFT на Matlab
Доброго времени суток! Прошу помощи по такому вопросу: Есть матрица NxM, нужно посчитать Фурье в полосах вдоль одного из направлений....

8
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
03.08.2020, 10:37
vittiv, не до конца всё понял, ну да ладно. Вы при БПФ (или ОБПФ) используете какую-то функцию или сами напрямую рассчитываете?
0
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
03.08.2020, 15:42  [ТС]
Извините, что сложно объясняю. Попробую на простом примере:

Я решаю обратную (инверсную или её ещё надвают некорректную) задачу нахождения действительной и мнимой составляющей АЧХ для заданного сигнала итеррационным методом. Это обычная задача. Например, пусть 2D сигнал это чёрное поле размером 100х100 точек с одной точкой с координатой (x1,y1) не по центру. Результатом работы алгоритма ОБПФ будут черные и белые полосы под некоторым углом. Так я считаю 4 раза. При этом для каждого раза будут свои координаты xi, yi. Я получу 4 картинки АЧХ со своими наклонами. Затем я беру разные четвертинки и соединяю в один результат. Получается коллаж из 4х ранее посчитанных результатов.
Вопрос: а есть ли возможность не считать 4 раза? А один раз но например применяя окно... ведь в моей задаче надо делить на 10000 частей. И размер каждого сигнала тоже большой. По указанной выше методике считать мне месяцы надо. Может есть способ обойти эту сложность?
Спасибо за помощь.
0
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
03.08.2020, 15:52
vittiv, т.е. условно будет 1000 2D массивов, от каждого нужно взять ОБПФ, результат записывается в определенное место финального коллажа?
0
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
03.08.2020, 17:25  [ТС]
Да. Такой коллаж будет искомый решением. Но чтобы его получить мне надо сделать 1000 вычислений. У меня есть предположение что мне надо или данные на входе представить в каком-то коллажном виде или применить какой-то оконный метод.
0
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
04.08.2020, 11:11
vittiv, ну посчитать 1000 раз БПФ, я думаю, это не критично. Другое дело в размере выходного коллажа. Вы уверены, что результат не превысит допустимые размеры для матрицы?
0
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
04.08.2020, 11:17  [ТС]
Коллаж будет такого же размера. Если 4 счета, то я четвертинки складываю. Если 10000 то 1/100 тые. Время счета 1 картинки 20 мину. 10000 штук я буду считать 200000 минут... или 138 дней. И 10 ТБт данных надо перелопатить. Поэтому этот вопрос актуален.
0
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
04.08.2020, 12:05
Цитата Сообщение от vittiv Посмотреть сообщение
Время счета 1 картинки 20 мину.
Это время FFT?
0
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
04.08.2020, 13:01  [ТС]
Да.. у меня итерации.. их 10. Т.е. по 2 минуты на 30000х30000. Итого 20 минут.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.08.2020, 13:01
Помогаю со студенческими работами здесь

Matlab vs FFTW. FFT
Приветствую. Делаю программу, отображающую спектр wav-файла. Столкнулся с кое-каким непониманием: при вычислении БПФ в матлабе получаются...

Использование FFT в matlab
Здравсвтвуйте. Cтолкнулся со след проблемой.вычисляется fft в след коде log2fftlen = 9; icpx_width = 16; x=0:(fftlen-1); ...

Настройка блока FFT MatLab
Требуется собрать схему(см.скрин 1). Получилось собрать схему(см.скрин 2), сама схема собралась автоматически через power_fft. Задание...

Быстрое преобразование Фурье fft - построение спектра амплитуд
Всем привет. Я выполнил быстрое преобразование Фурье сигнала, заданного по точкам в текстовом файле. Не могу построить амплитудный спектр...

FFT (Быстрое преобразование Фурье) с использованием библиотек ippp от Intel
Здравствуйте. Столкнулся недавно с проблемой, суть которой заключается в том, что нужно написать программу для БПФ, которая работала бы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru