Hi All !
Hужно рассчитать 128-точечную БПФ за не более чем 4 мс. Входные данные- 16-битные, real.
Я попробовал "в лоб" на том, что есть тем, что нашел (алгоритм VLV): на PIC18 (10MIPS) 4хбайтовым float'ом получается около 200 мс.
Вопрос: реально ли, оптимизировав алгоритм, уменьшить время выполнения в 50 раз? Я тут игрался, отдельно реализовывая функцию "бабочка", доигрался до 0.2мс. Следовательно, собственно вычисления у меня займут не менее 448 "бабочек", значит не менее 90 мс, плюс подготовка данных, и т.д. Хорошо, если в 100 мс уложусь. Hе катит.
В принципе, мне нужно только первые 40 точек и достаточно 16-битной точности результата. Сильно ли можно уменьшить время при переходе от плавающей точки к фиксированной? А если перейти к разложению не по основанию 2, а по 4? А если применить что-то другое? Скажем, Винограда какого-нибудь?
Просто оцените, кто имеет опыт, до чего примерно можно докатиться.
В-общем, не хочу PIC. Есть Altera (скажем,1K30). Искал в интернете аппаратную реализацию БПФ- не нашел :( Hо знаю, что оно есть. :)
Думаю, что по скорости мне бы хватило TMS320, но про него ничего не знаю, для меня предсказуемей (по времени достижения положительного результата) все-таки Альтера. По этой же причине не смотрю (пока) на dsPIC. И для TMS и для dsPIC у меня нет ничего (ни софта, ни харда). Мне тут проще на АналогДевайс влезть, есть работающие с ним знакомые. Может быть, кто-то поделится примерам аппаратной реализации алгоритма БПФ на ПЛИС? Удовлетворит любой работающий проект, мне бы понять, как оно в железо сажается. А так как скорости у меня по плм-овским меркам черепашьи, то и особенно вылизывать не придется. Лишь бы корректно работало и влезало.
можно и в е-мыло: exeplus(gav!)mail.ru
WBRgrds Ruslan