Цитата(chirik @ Oct 9 2011, 12:40)

Я пытался создать символ файла FFT_2048.vhd в Quartus 11 он не создает, пишет что не поддерживает пользовательский тип complex_data_bus.
Error (10017): Can't create symbol/include/instantiation/component file for entity "FFT_2048" because port "EXT_DATA_i" are not currently supported by the Quartus II symbol/include/instantiation/component file generator
Вы, очевидно, пытаетесь вставить модуль в графическую схему. В этом случае придется написать "обертку" у которой в качестве входов и выходов будут std_logic/std_logic_vector и которая подключит эти сигналы стандартных типов к сигналам с пользовательским типом (complex_data_bus, например).
Цитата(chirik @ Oct 9 2011, 12:40)

А может мне кто ни будь подсказать как этот fft модуль использовать в другом проекте ?
Увы, на данный момент его еще рано использовать в другом проекте. К сожалению, пока БПФ остается не завершенным. Использовать Вы его сможете, только если доделаете его сами.
Цитата(Костян @ Sep 28 2011, 16:26)

Почему для W используется разрядность всего 12 бит , тогда как данные 17 ?
Из каких соображений разрядность W взята меньше, чем входных данных ?
Цитата(almost @ Sep 29 2011, 11:18)

По всей видимости, чтобы за грубить результаты вычислений, при этом экономя память.
Цитата(almost @ Sep 29 2011, 13:50)

Это исследование необходимо для понимания (т.е. в образовательных целях=)) на что влияет разрядность W.
Для 16 бит, чтобы вычислять БПФ с максимальной точностью, необходимо иметь поворачивающие множители с разрядностью 16 бит.
Если для 16-ти разрядных данных взять 16-ти разрядные коэффициенты, то это не даст максимальную точность вычислений. Разрядность данных, причем не входных, а внутренних, для хранения промежуточных результатов, должна быть больше, чем коэффициентов. Т.е. если для 16-ти разрядных коэффициентов разрядность данных взять, к примеру, 18, то точность вычислений будет выше, чем для 16-ти разрядных данных.
Когда разрядность данных == разрядности коэффициентов, то при умножении на коэффициенты с малыми значениями будет "ощутимое" количество раз происходить обнуление результата.
Например, возьмем 5-ти разрядные коэффициенты и данные. Тогда за 1.0 у нас будет 8 (01000b). 00001b будет соответствовать 0.125. Если 0.875 * 0.125, то в арифметике с плавающей точкой получим 0.109375, но в арифметике с фиксированной точкой получим 0: (00111b * 00001b) >> 4.
Так что точность вычислений складывается из многих факторов. Потери точности также зависят и от того каким именно образом делать вычисления.