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

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

1樓:嘉喂心

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

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

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

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

2樓:j夾

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

網上好多關於用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));

怎樣用設計稿紙,怎樣用word設計稿紙?

如何用word製作稿紙?怎樣用excel做稿紙 word就有稿紙,excel做稿紙列印也會不好排的 將excel列印出來即可!excel沒有這個功能吧,要不用txt?word有稿紙吧?用word怎樣設計發文稿紙首頁 怎麼用word製作文稿紙 如何用word製作稿紙?怎樣用word製作信紙 如何用wo...

怎樣用與非門實現或門的邏輯功能怎樣用與非門實現或門的邏輯功能有圖有

與非門與或門之間存在可以相互轉換的關係。分析或閘電路邏輯關係,列出邏輯表示式,從邏輯表示式上轉換,根據轉換後的邏輯表示式繪製電路圖。如 a b c a b c a b c abc 圖中 表示非。拓展 1 與非門是數位電路的一種基本邏輯電路。若當輸入均為高電平 1 則輸出為低電平 0 若輸入中至少有一...

怎樣用VB語言設計抽號機,怎樣用VB語言設計一個抽號機

不重複的抽號機 我幫你實現 怎麼用vb做抽號機 private sub command1 click randomize text1.text int 1 999 1 rnd 999 end sub 如何用vb製作隨機學號抽取器?這個需要應用以下幾個步驟 寫一個獲取隨機學號函式。將這個函式繫結在某個...