|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
|
Как использовать оконное преобразование 2D FFT в MATLAB02.08.2020, 11:26. Показов 7751. Ответов 8
Метки нет (Все метки)
Постановка задачи:
Когда, я считаю обратное двумерное БПФ для 2D сигнала я беру 2D картинку (изображение с нормированными вещественными данными от 0 до 255) и применяя обратное преобразование нахожу соответствующую ей частотную картинку. Эта задача мной реализована и вопросов там нет. Но я хочу сделать так: взять 4 разные 2D картинки и посчитать 4 соответствующие им частотные картинки (по методике, как я делаю обычно), а итоговый результат представить в виде коллажа, в котором частотная картина от первой картинке будет в левом верхнем углу итогового результата, от второй - в левом нижнем углу, от третьей - в правом верхнем углу, от четвертой - в правом нижнем углу. Я так делаю, и меня все бы устраивало бы если не необходимость считать полноразмерные частотные характеристики для всех 4х входных картинок. Проблема в том, что если мне надо 1000 таких картинок, то время счета сильно увеличивается. Вопрос в том, а нельзя ли использовать какую-то технику? Например, оконное преобразование, чтобы сразу решать задачу для каждой четвертинки но размером в четвертинку? Т.е. пусть я буду считать (в моем примере) 4 раза, но БПФ будет оперировать с данными тоже в 4 раза меньшими по объему. Или есть у этой задачи вообще решение, когда мне не надо считать 4 четвертинки, а применив какую-то методику или оператор посчитать все за один раз? Оконное преобразование тут мне поможет? Заранее спасибо.
0
|
|
| 02.08.2020, 11:26 | |
|
Ответы с готовыми решениями:
8
Оконное преобразование Фурье + FFT Как использовать функцию fft? Параллелизация FFT на Matlab |
|
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 | |
|
0
|
|
|
9 / 1 / 0
Регистрация: 08.09.2019
Сообщений: 343
|
|
| 04.08.2020, 13:01 [ТС] | |
|
Да.. у меня итерации.. их 10. Т.е. по 2 минуты на 30000х30000. Итого 20 минут.
0
|
|
| 04.08.2020, 13:01 | |
|
Помогаю со студенческими работами здесь
9
Matlab vs FFTW. FFT Использование FFT в matlab Настройка блока FFT MatLab Быстрое преобразование Фурье fft - построение спектра амплитуд FFT (Быстрое преобразование Фурье) с использованием библиотек ippp от Intel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|