з фіксованою точкою Конвеєрний процесор БПФ точності на кожному етапі

S

sunilverma

Guest
Привіт всім
Я розробив з фіксованою комою 128-конвеєрних точки БПФ процесора, а також визначається точністю для кожного етапу, по 1 / N масштабування eith введення samles діапазоні (-2, 2) я отримав, що є поступове збільшення точності дробової частини т.
2,8, 3,8, 3,9, 3,9, 3,10, 3,10
, Де ціле цифра показує ціле точності в бітах а так само частка цифри.
, А в разі 1/sqrt (N) масштабування я отримав точності
4,7, 4,7 4,7 ,............
тобто 11 біт точності для кожної стадії, тому немає зростання в стадії точності в цьому випадку.
ці результати на 45 дБ цільових SNR 0 дБ papr
хтось може мені допомогти?
Спасибо заранее.

 
Чи можете ви дати мені Plz код для БПФ фіксованій точці.я зробив нерухомої точки fft.but при порівнянні з MATLAB результаті багато шумів присутній у продукції.я робив тестування для 32-точкового ШПФ.может у Plz дивитися Дата і люб'язно відповісти мені ..Чи це правильним чи ні.я робив у конвеєрних чином ..зробив код для 2-точкового ШПФ і його примірник.Я доклав код і waveform.plz мені допомогти.

Бібліотека IEEE;
Використання ieee.std_logic_1164.all;
Використання ieee.std_logic_signed.all;
Entity fft_2 є
порт (
CLK: в std_logic;
WRE: у std_logic_vector (15 downto 0);
Вім: у std_logic_vector (15 downto 0);
є: у std_logic_vector (15 downto 0);
Мета: у std_logic_vector (15 downto 0);
BRE: у std_logic_vector (15 downto 0);
Бім: у std_logic_vector (15 downto 0);
xre: з std_logic_vector (15 downto 0);
XIM: з std_logic_vector (15 downto 0);
yre: з std_logic_vector (15 downto 0);
YIM: з std_logic_vector (15 downto 0)
);
Кінець fft_2;
Архітектура twopointfft з fft_2 чи
CRE сигнал: std_logic_vector (31 downto 0);
МГК сигнал: std_logic_vector (31 downto 0);
сигнал губок: std_logic_vector (31 downto 0);
Dre сигнал: std_logic_vector (31 downto 0);
перш ніж сигнал: std_logic_vector (31 downto 0);
сигнал EIM: std_logic_vector (31 downto 0);
сигнал ere1: std_logic_vector (15 downto 0);
сигнал eim1: std_logic_vector (15 downto 0);Починати
Процес (CLK)
Починати

Якщо (CLK = '1 'і clk'event), то
CRE <= * BRE WRE;
МГК <= * BRE Вім;
тьмяний <= * WRE бім;
Dre <= бім * Вім;
перш ніж <= ство - Dre;
EIM <= МГК тьмяно,
ere1 <= перш ніж (31 downto 16);
eim1 <= EIM (31 downto 16);
xre <= є ere1;
XIM <= мета eim1;
yre <= є - ere1;
YIM <= мета - eim1;
End If;
"Завершити процес";
Кінець twopointfft;
це два БПФ я зробив ..
Вибачте, але Ви повинні увійти, щоб переглянути це вкладення

 

Welcome to EDABoard.com

Sponsor

Back
Top