怎樣用verilog設計實現64點基4的FFT時間抽取演算法

2021-04-19 21:54:56 字數 1308 閱讀 6316

1樓:j夾

設計實現64點基4的fft時間抽取演算法品質的

怎樣用verilog設計實現64點基4的fft時間抽取演算法

2樓:嘉喂心

很簡單,首先將64點分為4組分別儲存在4塊ram中,入口按照亂序進,每次取回0,16,3,48等等

下一輪迭代取0,4,8,12 再下一輪取0,1,2,3得到結果.其中需答要用cordic計算旋轉因子.

注意的是最終結果是時域的順序,如果需要得到頻域的順序,仍需要轉序

網上好多關於用fpga實現fft的資料,但我一直不大明白,就是fft演算法中基的選取問題,有基2的,基4的,基8的

3樓:匿名使用者

基跟你選擇的

點數沒有關係,同樣點數的fft、基2最慢、基8當然要比基版2快,基2就是抽取權2個數做蝶變,基8是抽取8個數做蝶變,這樣理解當然就是抽取8個點要快,這個你應當看看fft的演算法原理。fpga做fft一般都是用ip核做,比較簡單,基2還是基4自己選擇就可以了。基4必須是2的偶次方,比如說你要是算128點,128是2的7次方,就不能用基4,軟體會自動選擇基2.

你在看看fpga的ip核吧!

在matlab中程式設計實現:n=2^l的按時間抽取和頻率抽取的的fft演算法。

4樓:匿名使用者

根據有限長序列離散傅利葉變換公式計算:

f1=50;   %10hz

f2=100;  %100hz

%抽樣頻率

fs=1000; %100hz

%抽樣點數n

l=10;

n=2^l;

%抽樣脈衝序列

n = 0:n-1;

t = n./fs;

% f2 乙個版週期的取樣數

m = floor(fs/f2);

%被取樣訊號

權x = cos(2*pi*f1.*t)+sin(2*pi*f2.*t);

%取樣序列

subplot(311);

stem(t(1:2*m),x(1:2*m));

hold off;

%傅利葉變換

%根據有限長序列的離散傅利葉變換公式計算dftn = 0:n-1;

k = 0:n-1;

f = x * exp(-j*2*pi/n).^(n'*k);

subplot(312);

plot(n,abs(f));

subplot(313);

plot(k,angle(f));

怎樣用記事本實現自動執行autorun

去機子上找幾個對照著寫 把txt改成inf 放在自啟動目錄下。改登錄檔也可以實現的!autorun自動執行檔案怎麼寫 是光碟引導檔案 他表示你雙擊磁碟時指向那個程式簡易的內容為。autorun open ico 0 open就不用說了,是開啟指定檔案,這裡的指定檔案必須在磁碟根目錄,ico是磁碟圖示...

怎樣用arduino實現脈衝計數器

用arduino實現脈衝計數器程式設計如下 define pina 2 volatile long count 0 void setup void loop void blinka 需要給你完成乙份嗎。如何用arduino做乙個三位數的手動計數器 用arduino實現脈衝計數器程式設計如下 defi...

非常急!!怎樣用Alt 數字實現以下功能

誄 35796 嫘 23256 鱧 40162 綦 32166 髂 39618 麇 40583 愨 24747 罨 32616 在qq聊天視窗中按住alt,輸入這些數字,就能出現你想要的漢字了。與乙個字的內碼有關,比如 喆 對應兩位的ascii碼為86 b4 十六進製制 而將86b4 hex 轉換成...