[an error occurred while processing this directive]
Посчитал наконец-то.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено -=ВН=- 08 апреля 2004 г. 18:04
В ответ на: Блин, да делал я сравнения конечно. Когда писал. отправлено -=ВН=- 08 апреля 2004 г. 12:35

Сначала о чем речь. FFT с прореживанием по времени, по основанию 4, входные данные комплексные, 16-ти разрядные, в естественном порядке.
Выходные тоже в естественном порядке. Дигит-реверс встроен в последнюю ступень. Используется блочная плавающая запятая. И вычисление блочной экспоненты для след. ступени и нормализация данных встроены в бабочки. В TI-шной библиотеке я такого Фурье не нашел.
Сравнение затруднительно. Но у TI есть бенчмарки на битреверс, а в библиотеке есть функция bexp, вычисляющая бл. экспоненту, но не делающая нормализацию. И есть функция компл. FFT по основанию 4 с указанием числа циклов, за которые она выполняется.
В общем из 3-х этих функций можно скомбинировать аналог моей. Правда нормализации в комбинации не будет, но бог с ней.
По моей функции. Использовались 3 типа бабочек.
1. Без умножения, из бабочек этого типа целиком состоит первая ступень, т.е. N/4 бабочек, на второй ступени таких бабочек N/16, на третьей N/64 и т.д. 11 циклов бабочка выполняется.
2. Бабочки с умножением. Используются, начиная со второй ступени, в которой их 3*N/16, на третьей 15*N/64 и т.д. 15 циклов на бабочку.
3. Бабочки последней ступени. Отличаются от бабочек типа 2 встроенным дигит реверсом. Бабочки этого типа можно было бы еще на разбить - с умножением и без. Но т.к. безумножительная бабочка всего одна, то этого не делал. 18 циклов на бабочку.
Накладные расходы. На первой ступени их 9. На второй ступени-9*4, на третьей -9*16, на четвертой 9*64 и т.д. На последней 18.
Накладные расходы между ступенями по 6 циклов, это переходы, к-ды B, то есть, с delay-slot'ами.
Ну и прятание регистров на входе в функцию и их восстановление на выходе вместе с командой перехода на основную программу 48 циклов с сумме.
Пытался написать общую формулу, но она какая-то громоздкая получается. Поэтому просто напишу для фиксир. N=256. Тем более, что бенчмарки для этой же цифры приводятся.
Всего циклов:
48+ : прятание-восстановление регистров
+6+9+11*64+ :первая ступень
+6+4*9+11*16+15*48+ :вторая
+6+16*9+11*4+15*60+ :третья
+6+18+18*64 : последняя.
Итого 3975 цикла.
Еще раз - это с бл. ПЗ и диг. реверсом вместе.
По TI:
Компл. БПФ по основ. 4 размером N:


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru