Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IFFT для TMS320F2x
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
c_alex
Здравствуйте.

Надо реализовать FFT/IFFT на 512 точек для TMS321F28015, на C я это сделал только вот время выполнение где-то в 3 раза больше чем у FFT из библиотеки от TI.
Вопрос: Можно ли модифицировать эту библиотеку чтоб расчитывать и IFFT?

Если кто-то уже сделал FFT/IFFT для таких камней поделитесь пожалуйста.

Заранее спасибо.
fontp
Цитата(c_alex @ Oct 29 2007, 15:56) *
Здравствуйте.

Надо реализовать FFT/IFFT на 512 точек для TMS321F28015, на C я это сделал только вот время выполнение где-то в 3 раза больше чем у FFT из библиотеки от TI.
Вопрос: Можно ли модифицировать эту библиотеку чтоб расчитывать и IFFT?

Если кто-то уже сделал FFT/IFFT для таких камней поделитесь пожалуйста.

Заранее спасибо.


Вы что-то не договариваете.
Между FFT и IFFT нет практически никакой разницы. Знак экспоненты комплексно сопряжённый и нормировка другая. Очевидно, что если взять комплексно сопряжённые данные и позаботиться чтобы числа были в диапазоне - то FFT даст IFFT

А практически можно ли это использовать зависит от деталей реализации - для действительных данных пишутся специальные программы, да и с диапазоном могут быть заморочки. Для комплексных чисел можно приспособить
Что там конкретно в библитеке для 28-го ТМС не знаю
c_alex
На счет недоговорок, мне надо написать прогу для OFDM-модема, так что наверное надо использовать комплексные числа(для вычисления фаз).
Да я знаю что между FFT и IFFT не большая разница, но вот из-за этой разницы у меня что-то не выходит. Я поменял коэфициенты "twiddle factor" для IFFT, расчет правельный только если используються не более 32-х точек (из 512) а остальные обнулены.
Degun
Цитата(c_alex @ Oct 29 2007, 15:56) *
Надо реализовать FFT/IFFT на 512 точек для TMS321F28015, на C я это сделал только вот время выполнение где-то в 3 раза больше чем у FFT из библиотеки от TI.

А почему нельзя использовать FFT из библиотеки от TI?
c_alex
Цитата(Degun @ Nov 6 2007, 21:14) *
А почему нельзя использовать FFT из библиотеки от TI?

Дело в том что для TMS320F28x в библиотеке есть только FFT а мне нужен и IFFT.
shasik
Цитата(c_alex @ Oct 29 2007, 14:56) *
Вопрос: Можно ли модифицировать эту библиотеку чтоб расчитывать и IFFT?


Есть такой некислый способ для вычисления обратного БПФ:
1. Вычисляем БПФ
2. Делим все что получилось на N, где N - длина сигнала
3. Переписываем все в обратном порядке. Маленькое но: нулевой элемент остается на своем месте, т.е. перестановка идет по принципу k ==> (N-k) mod N.
И все.

Оценка количества операций: количество операций на БПФ + N операций делений (читай: умножения на 1/N) + (N-1) операций перестановок, т.е. ну, никак не в 3 раза больше.
Удачи!

ЗЫ: а почему в алгоритме от TI (признаюсь, я его не смотрел) не поменять таблицу поворачивающих множителей на такую же только соответствующую обратному БПФ. В этом случае, придется только поделить на N. Не знаю как у TI, но у Motorola'ы в их библиотеках один из аргументов процедуры FFT является адрес таблицы с sin/cos. Думаю, у TI то же самое, так, что проблем особых не вижу.
c_alex
Цитата(shasik @ Nov 8 2007, 19:39) *
ЗЫ: а почему в алгоритме от TI (признаюсь, я его не смотрел) не поменять таблицу поворачивающих множителей на такую же только соответствующую обратному БПФ. В этом случае, придется только поделить на N. Не знаю как у TI, но у Motorola'ы в их библиотеках один из аргументов процедуры FFT является адрес таблицы с sin/cos. Думаю, у TI то же самое, так, что проблем особых не вижу.


В алгоритме от TI, на сколько я понял, алгоритм для расчет углов 0,45,90 и 135 отличается от основного (расматриваются как частные случаи и не используеться поворачивающие множители из таблицы), так что просто поменять таблицу поворачивающих множителей не получеться надо еще и в коде покопаться.
А за предложенный способ спасибо, попробывал работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.