С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 11

Преобразование фурье для вещественных чисел

22.01.2015, 14:01. Показов 3291. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть массив вещественных чисел. На выходе нужно получить массив комплексных через быстрое преобразование фурье. Или массив вещественных. Но лучше комплексных. Я представляю себе алгоритм, когда на входе подаётся массив комплексных чисел, а вот с вещественными почему то затык. Библиотеки вроде fftw или alglib использовать не хотелось бы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.01.2015, 14:01
Ответы с готовыми решениями:

Найти коэффиценты разложения в ряд Фурье, используя быстрое преобразование Фурье (БПФ)
Прошу помочь мне в нелеггкой задачке нужно для заданной на периоде 2∏ функции f(x) найти коэффициенты разложения в ряд Фурье, используя...

Преобразование Фурье для wave файлов
Есть парочка вопросов. Подскажите,пожалуйста!!! 1. Если мы обрабатываем wave файл , то параметрами для FFT преобразования будут: размер...

Преобразование Фурье для модельной функции
clear;clc; t=0:1/1000:2; % 2 - длина сигнала, 1000 - дискретизация --------> шаг = 0.001 x=sin(2*pi*125*t)+cos(2*pi*452*t); %...

8
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
22.01.2015, 14:08
Так а в чем затык? Есть тьма готового кода как для комплексных так и для вещественных как в гугле так и на форуме.
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
22.01.2015, 15:06
Мой совет - Используйте для комплексных.
А после преобразования вычисляйте модули
как sqrt(Re*Re+Im*Im)
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.01.2015, 15:11
Цитата Сообщение от AphinaShi Посмотреть сообщение
Или массив вещественных. Но лучше комплексных.
не лучше а единственно правильно, преобразование работает с комплексными числами
разночтение может быть что вещественных нужно два массива, для действительной и мнимой части
а комплексных Си не поддерживает, нужно или стороннюю библиотеку или свою структуру/класс и массив этих структур
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 11
22.01.2015, 16:02  [ТС]
Немного перефразирую - а как преобразовать double в complex?
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.01.2015, 16:18
Цитата Сообщение от AphinaShi Посмотреть сообщение
- а как преобразовать double в complex?
никак
это разные сущности
у комплексных чисел есть реальная и мнимая часть
грубо говоря в одном complex два double
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
22.01.2015, 16:39
Цитата Сообщение от AphinaShi Посмотреть сообщение
как преобразовать double в complex?
C++
1
complex c( value, 0 );
Перед передачей массива комплексных чисел в функцию БПФ, мнимая часть устанавливается в 0.
1
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 11
22.01.2015, 16:41  [ТС]
это разные сущности
у комплексных чисел есть реальная и мнимая часть
грубо говоря в одном complex два double
Это я понимаю. Но вот есть класс complex в c++.
C++
1
2
3
4
5
6
7
template<>
   class complex<double> {
public:
   complex(
      double _RealVal = 0, 
      double _ImagVal = 0
   );
Если исходное double значение использовать как реальную часть, а мнимую равную 0.0, и такой массив использовать в fft функции, это будет сильным извращением?
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.01.2015, 16:45
Цитата Сообщение от AphinaShi Посмотреть сообщение
Это я понимаю.
но из твоего вопроса это не следовало
ток что прошу прошения за очевидность
Цитата Сообщение от AphinaShi Посмотреть сообщение
Если исходное double значение использовать как реальную часть, а мнимую равную 0.0, и такой массив использовать в fft функции, это будет сильным извращением?
castaway, уже ответил
Цитата Сообщение от castaway Посмотреть сообщение
Перед передачей массива комплексных чисел в функцию БПФ, мнимая часть устанавливается в 0.
оно и понятно, грубо говоря в отсчетах нет реактивной составляющей, то бишь мнимой части
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.01.2015, 16:45
Помогаю со студенческими работами здесь

Найти преобразование Фурье для заданного сигнала
Необходимо найти пребразование Фурье для заданного сигнала.. вот что у меня получилось.. объясните пожалуйста в чем у меня...

Быстрое преобразование Фурье для матрицы 4х4
Здравствуйте! Нам дали задание по БПФ, но я уже второй день не могу понять саму тему. Представить схему прямого и обратного БПФ для...

Преобразование Фурье для вещественного вектора произвольной длины
пытаюсь выполнить преобразование фурье для функции(вектора) с вещественными 2730 числами . на выходе хочу получить тоже вещественный...

Реализовать медианное дискретное преобразование Фурье для прямоугольного сигнала
Добрый день, очень прошу у вас помощи. Необходимо реализовать медианное дискретное преобразование Фурье для прямоугольного сигнала. Очень...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru