реклама на сайте
подробности

 
 
> IFFT для TMS320F2x
c_alex
сообщение Oct 29 2007, 12:56
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 18-05-07
Пользователь №: 27 816



Здравствуйте.

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

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

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
fontp
сообщение Oct 29 2007, 15:09
Сообщение #2


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



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

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

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

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


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

А практически можно ли это использовать зависит от деталей реализации - для действительных данных пишутся специальные программы, да и с диапазоном могут быть заморочки. Для комплексных чисел можно приспособить
Что там конкретно в библитеке для 28-го ТМС не знаю
Go to the top of the page
 
+Quote Post
c_alex
сообщение Nov 6 2007, 09:35
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 18-05-07
Пользователь №: 27 816



На счет недоговорок, мне надо написать прогу для OFDM-модема, так что наверное надо использовать комплексные числа(для вычисления фаз).
Да я знаю что между FFT и IFFT не большая разница, но вот из-за этой разницы у меня что-то не выходит. Я поменял коэфициенты "twiddle factor" для IFFT, расчет правельный только если используються не более 32-х точек (из 512) а остальные обнулены.
Go to the top of the page
 
+Quote Post
Degun
сообщение Nov 6 2007, 19:14
Сообщение #4


Частый гость
**

Группа: Новичок
Сообщений: 84
Регистрация: 4-09-07
Из: Москва
Пользователь №: 30 277



Цитата(c_alex @ Oct 29 2007, 15:56) *
Надо реализовать FFT/IFFT на 512 точек для TMS321F28015, на C я это сделал только вот время выполнение где-то в 3 раза больше чем у FFT из библиотеки от TI.

А почему нельзя использовать FFT из библиотеки от TI?
Go to the top of the page
 
+Quote Post
c_alex
сообщение Nov 7 2007, 07:40
Сообщение #5





Группа: Новичок
Сообщений: 5
Регистрация: 18-05-07
Пользователь №: 27 816



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

Дело в том что для TMS320F28x в библиотеке есть только FFT а мне нужен и IFFT.
Go to the top of the page
 
+Quote Post
shasik
сообщение Nov 8 2007, 17:39
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 3-09-05
Из: Беларусь, Новополоцк
Пользователь №: 8 188



Цитата(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 то же самое, так, что проблем особых не вижу.
Go to the top of the page
 
+Quote Post
c_alex
сообщение Nov 13 2007, 10:22
Сообщение #7





Группа: Новичок
Сообщений: 5
Регистрация: 18-05-07
Пользователь №: 27 816



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


В алгоритме от TI, на сколько я понял, алгоритм для расчет углов 0,45,90 и 135 отличается от основного (расматриваются как частные случаи и не используеться поворачивающие множители из таблицы), так что просто поменять таблицу поворачивающих множителей не получеться надо еще и в коде покопаться.
А за предложенный способ спасибо, попробывал работает.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 07:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016